Локальные переменные и псевдонимы в infinity hmi. создание библиотечных элементов
Цель работы: получение навыков использования локальных переменных и псевдонимов для создания боле сложной динамики для графических объектов при разработке мнемосхем на базе Infinity HMI.
Основные сведения
При создании сложных мнемосхем требуется использовать большое количество сигналов ОРС сервера в выражениях, формулах и просто для задания динамики графическим объектам. Часть из этих сигналов носит вспомогательный характер, служит для промежуточных вычислений и не обязательно является отображением реально существующих сигналов, несущих информацию о ходе протекания технологического процесса. Часть сигналов многократно используются в экранных формах и для назначения динамики многим графическим объектам. Для облегчения разработки подобных мнемосхем служат локальные переменные и псевдонимы.
Локальная переменная – эта переменная, область видимости которой ограничена экранной формой, в которой она объявлена. Значения локальных переменных не могут передаваться в другие экранные формы и управляющие элементы ActiveX.
Псевдонимы (альтернативные имена) позволяют представить строку, являющейся частью или целым именем тега, посредством другой (обычно более короткой) строки.
Имя локальной переменной должно начинаться и заканчиваться двумя волнистыми линиями (тильдами): ~~Имя локальной переменной~~. Имя локальной переменной не может содержать символы ~, ?, *, +. Регистр является значимым.
При вводе псевдонима при добавлении и изменении источников данных имя псевдонима следует заключать в двойные угловые скобки:<<Имя псевдонима>>. Также как и для локальных переменных, регистр в данном случае имеет значение.
Программа работы
Работа с локальными переменными
1. Запустите ОРС сервер Infinity и загрузите в него созданную вами в предыдущих лабораторных работах конфигурацию. Запустите Infinity HMI и откройте мнемосхему сравнения двух чисел, созданную в предыдущей лабораторной работе. Используем локальную переменную для хранения промежуточного результата вычисления.
2. Перейдите в режим редактирования выражения для сравнения двух сигналов и вместо источника данных (переменная Сравнение)введите локальную переменную ~~local~~.
3. Также измените условное выражение для объекта «Значение параметра», связанного с ОРС тэгом Результат.Сделать это можно или вручную заменив ОРС тэг{{Infinity.OPCServer\Teach.Сравнение}} на переменную ~~local~~, или при помощи кнопок «Определить», затем «Выражения» и «Локальные переменные». Список всех локальных переменных данной экранной формы можно просмотреть, нажав кнопку , или через меню «Динамика»/«Редактирование локальных переменных». Запустите мнемосхему и убедитесь в ее работоспособности.
Работа с псевдонимами
4. Создайте новую мнемосхему в Infinity HMI. Загрузите библиотеку символов Library_symbols.xml при помощи кнопки на панели инструментов «Рисование». Выберите категорию «Насосы» и графический объект «Насос (с динамикой)». Щелкните по нему два раза, вызвав свойства объекта.
5. Данный объект состоит из трех картинок, каждой из которых поставлен в соответствие псевдоним с заданной динамикой. Просмотреть псевдонимы можно нажав кнопку или через меню «Динамика»/«Редактирование псевдонимов…».
6. Создайте кнопку для управления насосом и привяжите ее к сигналу ОРС сервера Control,или создайте другой сигнал. Выделите насос и войдите в режим редактирования псевдонимов. В появившемся окне замените в каждой строке, имя переменной <<Pump>> на путь к сигналу Control ОРС сервера Infinity.Войдите в режим исполнения мнемосхемы и проверьте ее работу. При нажатии на кнопку насос должен менять свой цвет (зеленый – включен, желтый – отключен).
Рис. 8. Схема электрической цепи |
8. Создадим динамический объект «Лампа». Нарисуйте два перечеркнутых круга с различной заливкой (например, серый и желтый). При помощи инструмента сгруппируйте их в один объект. Добавьте каждому эллипсу динамической действие «Скрыть/блокировать» и в окне задания переменной укажите псевдоним x=<<light>>. Для одного круга настройке динамической действия как «скрыть/блокировать, если False», а для другого «скрыть/блокировать, если True». Аналогично описанному выше способу создайте динамический объект «Ключ (с динамикой)».
9.Создайте свою библиотеку символов при помощи меню «Файл»/«Создать» в окне библиотеки символов . Переименуйте созданную по умолчанию категорию Layer1 в «Элементы электрической цепи». Сохраните созданные объекты в выбранную категорию. Для этого выделите на мнемосхеме графические элементы «Лампа» и «Ключ», откройте окно библиотеки символов и используйте меню «Правка»/«Добавить выделенные объекты». Задайте для библиотечных элементов соответствующие имена. Сохраните изменения.
10. Доделайте мнемосхему самостоятельно и продемонстрируйте результат ее работы преподавателю.
11. Сохраните созданные вами мнемосхемы, конфигурацию ОРС сервера и отключите сервер ввода-вывода Infinity.
Содержание отчета
Отчет должен содержать цели лабораторной работы, мнемосхемы разработанных проектов, перечень и описание свойств графических объектов, использованных в мнемосхеме, перечень и описание созданных сигналов дерева конфигурации ОРС сервера, локальных переменных и псевдонимов, выводы по работе и ответы на контрольные вопросы.
4.4. Контрольные вопросы
1. Что такое псевдонимы?
2. В чем преимущества применения в мнемосхемах псевдонимов и локальных переменных?
3. Какова область влияния локальной переменной?
4. Как будет выглядеть обращение к сигналу ОРС сервера Infinity Work.Control, если в мнемосхеме задан псевдоним <<Path>> определенный как Infinity.OPCServer\Work?
5. Могут ли псевдонимы быть операндами вычислительных выражений?
ЛАБОРАТОРНАЯ РАБОТА №5