Я люблю ставить панели оператора фирмы Weintek. За 10 лет работы никогда не подводили. Быстрая и красивая графика, продуманная логика рецептуры и т.д.
Главная фишка панелей - это макросы. Можно сделать полноценный ПЛК с экраном, но обязательно нужно учитывать некоторые нюансы.
Макрос - последовательность команд, алгоритм действий панели оператора, который можно использовать для выполнения задач не предусмотренных основным функционалом EasyBuilder.
Примерный список задач, для которых может понадобиться использование макроса:
- Таймер обратного отсчета для запуска/остановки технологических и других процессов.
- Преобразование данных из одних единиц измерения в другие: напряжение в температуру, ток в давление, Фаренгейты в Цельсии и т.д.
- Управление пользовательским интерфейсом: рисовать графики, открывать/закрывать окна, скрывать/отображать объекты, управлять анимацией.
- Собственный протокол передачи данных, которого еще нет в библиотеке из более чем 300 драйверов EasyBuilder. Например, можно подключить GSM-модем и управлять приемом/отправкой СМС-сообщений.
- Взаимодействие с внутренней базой данных рецептов SQLite: загрузка и сохранение данных в настраиваемом формате, выборка данных по SQL-запросу. Это может быть, например, база данных рецептов приготовления блюд в кухонной печи.
- Взаимодействие с внешней базой данных MySQL, или MS SQL Server: загрузка и сохранение данных в настраиваемом формате, выборка/выгрузка данных с помощью SQL. Это может быть, например, база данных предприятия, или склада. Панель может считывать штрих-коды, QR-коды, RFID-метки и загружать их в базу данных, или делать выборку данных по считанным кодам.
Список макросов
Каждый проект EasyBuilder содержит собственный набор макросов. Вызвать список можно из меню на вкладке “Проект”:
Здесь можно создавать, удалять и редактировать макросы проекта. Если есть макросы, которые вы хотите использовать в нескольких проектах, функциями Импорт/Экспорт их можно сохранять/загружать через отдельные файлы.
В списке, кроме имени объекта-макроса, отображается его идентификатор [ID] и атрибуты {I,P,S}. Атрибуты макроса имеют следующее значение:
- “I” - будет вызываться каждый раз при загрузке панели.
- “P” - задействует таймер для периодического вызова.
- “S” - может блокироваться битом адресного пространства.
Чтобы создать новый макрос, или изменить имеющийся, нажмите соответствующую кнопку - “Создать”, или ”Редактировать”, откроется редактор макросов.
В редакторе макросов можно изменить всё что касается конкретного объекта-макроса: его имя, атрибуты запуска и непосредственно код. Здесь же происходит проверка кода на наличие синтаксических ошибок, после внесения изменений следует нажать кнопку “Сохранить и скомпилировать”.
Существует много способов вызова макросов.
Способы вызова макросов
1 - Однократный вызов при старте панели.
Полезный вариант для макросов инициализации, если нужно что-то загрузить в ПЛК, или выгрузить из энергонезависимой памяти. Еще один пример использования - макрос с вечным циклом. Макрос, который никогда не завершается, достаточно запустить один раз.
2 - Автоматический периодический вызов.
Это один из атрибутов объекта-макроса.
Используя блокировку макроса, можно запускать и приостанавливать вызовы в нужный момент. Блокировка — это еще один атрибут объекта-макроса.
3 - Функциональная кнопка.
Одной из функций объекта “Функциональная кнопка” может быть вызов макроса. Вызов будет происходить каждый раз при нажатии кнопки пользователем. В атрибутах выбираем “Выполнить макрос” и имя макроса из выпадающего списка.
4 - Комбинированная кнопка.
Может выполнять последовательность действий, в том числе вызов макросов.
5 - Битовая кнопка.
Эта кнопка используется для изменения состояния бита, но также она может вызвать макрос при срабатывании.
Срабатывать кнопка может не только от нажатия пользователем, она может быть скрытым элементом и срабатывать от других условий.
6 - Битовый переключатель.
Этот объект реагирует только на нажатие. Вызов макроса можно привязать к конкретному изменению состояния бита.
7 - Вызов по триггеру.
Часто бывает необходимо управлять вызовом макроса через адресное пространство панели. Используйте ПЛК-триггеры для вызова макроса битом регистра панели, или ПЛК.
Режим триггера “Всегда активно если ON” будет запускать макрос каждые 500 миллисекунд при высоком уровне бита.
8 - Вызов из активного экрана.
В атрибутах окна на панелях всех серий, за исключением iP-серии, можно выбрать варианты запуска макросов на случай открытия, или закрытия окна, а также для циклического запуска. Период циклического запуска макроса фиксированный - 500 миллисекунд.
На панелях iP-серии этот функционал также может быть реализован, но другим способом. Для циклического вызова можно использовать собственный таймер объекта-макроса, а для вызова при открытии/закрытии окна можно использовать битовую кнопку с соответствующим атрибутом.
9 - Вызов из другого макроса.
Существует два способа вызова макроса из другого макроса: синхронный и асинхронный. Разница в том, что при синхронном вызове вызывающий макрос будет ждать завершения вызываемого макроса, прежде чем продолжить выполнение алгоритма. При асинхронном вызове вызывающий макрос продолжит выполнение алгоритма параллельно с вызываемым. Используйте функции SYNC_TRIG_MACRO и ASYNC_TRIG_MACRO соответственно для синхронного и асинхронного вызова.
Пример: Связь с регулятором ОВЕН ТРМ138
Для заказчика нужно было удаленно отслеживать за 8 канальным регулятором температуры. Хотелось именно панель оператора, без ПК. Вот там как раз делал простую логику для срабатываний аварий и т.п. и т.д.
На этом я заканчиваю, пока-пока.
Источник https://www.rusavtomatika.com/articles/macros-easybuilder-pro-1/