Запись данных в ОРС север
10. Запустите конфигуратор сервера и создайте в дереве сигналов в своей папке Work следующие сигналы:
Таблица 2
Имя сигнала | Тип |
Control | Boolean |
Value | Byte |
Добавьте обоим сигналам на закладке «Сигнал» стандартные свойства: Качество, равное 216; Значение, равное 0; Метка времени и Права доступа. Сохраните изменения и перезапустите модули ОРС сервера.
11.В рабочей области Infinity HMIсоздайте динамический объект «Кнопка» при помощи кнопки на панели «Динамика».
12. В открывшемся окне в качестве действия, которое будет выполняться при нажатии данной кнопки, выберите «Передать значение»; Клавиша мыши – «Левая»; тип нажатия – «С фиксацией». Значение (если нажато) – 1, если отпущено – 0 (см. рис. 4).
Рис. 4. Настройка динамического объекта «Кнопка»
13. Для визуализации состояния сигнала Control создайте объект, к которому примените динамику «Цвет» (см.п.3 и 4).
14. Войдите в режим исполнения проекта. Если все сделано правильно, то при нажатии на кнопку цвет созданного в п. 13 объекта будет меняться. Вернитесь в режим редактирования.
15. Создайте динамический объект «Значение параметра» и в качестве источника данных задайте тэг Value.На панели «Тип параметра» задайте «Ввод данных». Подтвердите изменения.
16. Войдите в режим исполнения проекта. Введите в окно «Значение параметра» любое число из диапазона от 0 до 255 (поскольку тип данных для Value задан как байт). Изменение сигнала Valueпроверьте с помощью тестового ОРС клиента.
Задание на самостоятельную работу
Создайте мнемосхему, имитирующую работу секундомера (циферблат с вращающейся секундной стрелкой), который запускается при нажатии кнопки. Результат продемонстрируйте преподавателю.
Сохраните созданные вами мнемосхемы, конфигурацию ОРС сервера и отключите сервер ввода-вывода Infinity.
Содержание отчета
Отчет должен содержать цели лабораторной работы, мнемосхемы разработанных проектов, перечень и описание свойств графических объектов, использованных в мнемосхеме, перечень и описание созданных сигналов дерева конфигурации ОРС сервера, выводы по работе и ответы на контрольные вопросы.
2.4. Контрольные вопросы
1. Какие задачи решает человеко-машинный интерфейс SCADA систем?
2. По какому протоколу обмена взаимодействует Infinity HMI с ОРС сервером?
3. Может ли Infinity HMI взаимодействовать с ОРС серверами других производителей?
4. Перечислите динамические объекты Infinity HMI.
5. Опишите последовательность действия для привязки сигнала ОРС сервера к графическому объекту на мнемосхеме.
Лабораторная работа №3
ИСПОЛЬЗОВАНИЕ ВЫЧИСЛИТЕЛЬНЫХ ОПЕРАЦИЙ ПРИ СОЗДАНИИ МНЕМОСХЕМ В ПАКЕТЕ INFINITY HMI
Цель работы: получение навыков использования арифметических, логических, функциональных и др. операций над сигналами ОРС сервера при разработке мнемосхем на базе Infinity HMI.
Основные сведения
При разработке мнемосхем часто необходимо выполнить какие-либо операции над сигналами, поступающими из ОРС сервера. Основная часть вычислительных процедур, как правило, реализована в ОРС сервере, а часть может быть реализована в самой мнемосхеме.
Процедуры вычисления (или операции) в Infinity HMI представляют собой строку, начинающуюся с символов «x=». Пробелы между операндами и знаками операций в выражении игнорируются. В качестве операндов выражения могут выступать имена тегов, константы, локальные переменные и псевдонимы.
В выражениях могут быть использованы операции следующих категорий:
- арифметические: сложение (+), умножение (*), вычитание (-), деление (/) и деление по модулю (%).Операнды арифметических операций могут иметь любой числовой тип. Операция сложения может быть применена также к строкам. Пример: х= {{Infinity.OPCServer\Work.Value}} +5.
- сравнения (условные): меньше (<), больше (>), меньше либо равно (<=), больше либо равно (>=), равно (==), не равно (!=).Пример: х={{Infinity.OPCServer\ Work.Value}} >= {{Infinity.OPCServer\ Work.Control}}.
- логические (булевские): И (&&), ИЛИ (||), НЕ (!).Логические операции выполняются над операндами булевского типа, результаты их выполнения также имеют булевский тип. Пример: х={{Infinity.OPCServer\ Work.Value}} && 15.
-
Рис. 5. |
- функции: условие (if). тригонометрические (sin, cos, tan, asin, acos, atan), квадратный корень (sqrt), возведение в степень (pow) вычисление минимума (min), максимума (max) и др. Пример: х=if ({{Infinity.OPCServer\ Work.Control}}==1, 100,0). В случае если условие истинно, в х будет записано число 100, если ложно - 0.
Результат вычисления выражения может иметь один из следующих типов: целое число, булевское значение, вещественное число или строка символов.
Если результат выражения не может быть вычислен (например, log(0)=INF), то на экранной форме в режиме исполнения результат выражения отобразится звездочками на сером фоне (см. рис. 5).
Программа работы