пн-чт 09:00-18:00, пт 09:00-17:00
+7 (812) 648-03-47
+7 (812) 648-03-47 +7 (495) 108-12-75

sales@rusavtomatika.com

Режим работы:

пн-чт 09:00-18:00, пт 09:00-17:00

Адрес:

199178, Санкт-Петербург,
Малый пр. В. О. 57 корп. 3

Карта проезда

Подробнее

Каталог

Макросы в EasyBuilder pro. Начало.

13.04.2020

Скачать

  • Вы можете скачать готовые проекты с примерами макросов в этом разделе: Macro Sample
  • Подробное руководство по макросам читайте в главе 18 в документации по Easybuilder Pro: EBPro_Manual_All_In_One_6.03.02.pdf

Макрос - последовательность команд, алгоритм действий панели оператора, который можно использовать для выполнения задач не предусмотренных основным функционалом EasyBuilder.

Примерный список задач, для которых может понадобиться использование макроса:

  1. Таймер обратного отсчета для запуска/остановки технологических и других процессов.
  2. Преобразование данных из одних единиц измерения в другие: напряжение в температуру, ток в давление, Фаренгейты в Цельсии и т.д.
  3. Управление пользовательским интерфейсом: рисовать графики, открывать/закрывать окна, скрывать/отображать объекты, управлять анимацией.
  4. Собственный протокол передачи данных, которого еще нет в библиотеке из более чем 300 драйверов EasyBuilder. Например, можно подключить GSM-модем и управлять приемом/отправкой СМС-сообщений.
  5. Взаимодействие с внутренней базой данных рецептов SQLite: загрузка и сохранение данных в настраиваемом формате, выборка данных по SQL-запросу. Это может быть, например, база данных рецептов приготовления блюд в кухонной печи.
  6. Взаимодействие с внешней базой данных MySQL, или MS SQL Server: загрузка и сохранение данных в настраиваемом формате, выборка/выгрузка данных с помощью SQL. Это может быть, например, база данных предприятия, или склада. Панель может считывать штрих-коды, QR-коды, RFID-метки и загружать их в базу данных, или делать выборку данных по считанным кодам.

После приведенных практических примеров, обобщим - какие задачи выполняют макросы:

С помощью макросов можно автоматизировать процессы передачи, преобразования, сохранения и загрузки информации. Они могут выполнять сложные алгоритмы, не уступающие, или даже превосходящие возможности ПЛК. Поэтому, при разработке проекта для панели оператора Weintek у разработчика есть возможность не нагружать ПЛК сложными алгоритмами, оставив ему роль выполнения критичных ко времени операций, а использовать возможности панели по-максимуму. Таким образом, большую часть задач системы управления можно перенести в панель оператора и использовать более простые исполнительные устройства (ПЛК), или даже непрограммируемые модули ввода-вывода.

Макрос в EasyBuilder, это не только алгоритм, это еще и инструменты обеспечивающие работу этого алгоритма. Для каждого макроса создается таймер автоматического вызова и отдельный поток, в котором будет выполняться алгоритм только этого макроса. Таким образом, объекты-макросы в EasyBuilder работают параллельно и независимо друг от друга, предоставляя разработчику основные преимущества мультизадачной операционной системы.

Размер макросов в панелях Weintek

На размер макросов нет явного ограничения. Некоторые наши клиенты используют макросы длиной в 10000 строк.
Однако, есть ограничения на размер проекта, в зависимости от серии панелей Weintek. Таким образом, размер проекта со всеми макросами не может превышать эту величину.
Максимальный размер файла проекта (exob) смотрите в таблице Таблица сравнения серий
Количество макросов не может превышать 1000 шт.

Список макросов

Каждый проект EasyBuilder содержит собственный набор макросов. Вызвать список можно из меню на вкладке “Проект”:

Здесь можно создавать, удалять и редактировать макросы проекта. Если есть макросы, которые вы хотите использовать в нескольких проектах, функциями Импорт/Экспорт их можно сохранять/загружать через отдельные файлы.

В списке, кроме имени объекта-макроса, отображается его идентификатор [ID] и атрибуты {I,P,S}. Атрибуты макроса имеют следующее значение:

  1. “I” - будет вызываться каждый раз при загрузке панели.
  2. “P” - задействует таймер для периодического вызова.
  3. “S” - может блокироваться битом адресного пространства.

Чтобы создать новый макрос, или изменить имеющийся, нажмите соответствующую кнопку - “Создать”, или ”Редактировать”, откроется редактор макросов.

В редакторе макросов можно изменить всё что касается конкретного объекта-макроса: его имя, атрибуты запуска и непосредственно код. Здесь же происходит проверка кода на наличие синтаксических ошибок, после внесения изменений следует нажать кнопку “Сохранить и скомпилировать”.

Запуск макроса

Иногда бывает, что новички, знакомясь с написанием макросов в EasyBuilder, сталкиваются с тем, что макрос не выполняет никаких действий. При этом на поверку оказывается, что макрос и не был запущен, а разработчик и не подумал его запускать, решив, что достаточно создать макрос и написать код. Перед тем как писать макрос, желательно заранее понимать, как он будет использоваться проектом, то есть как и когда он будет запускаться. От этого необходимо отталкиваться при написании кода.

Рассмотрим способы вызова макроса EasyBuilder доступные разработчику. Необходимо отметить, что все эти способы можно комбинировать и использовать одновременно, но, вызов макроса может быть заблокирован в случае, если предыдущий вызов еще не завершился.

Девять способов вызова макроса:

Способ 1 - Однократный вызов при старте панели.

Это один из атрибутов объекта-макроса, выбирается в редакторе.

Полезный вариант для макросов инициализации, если нужно что-то загрузить в ПЛК, или выгрузить из энергонезависимой памяти. Еще один пример использования - макрос с вечным циклом. Макрос, который никогда не завершается, достаточно запустить один раз.

Способ 2 - Автоматический периодический вызов.

Это один из атрибутов объекта-макроса.

Макрос будет вызываться по таймеру с заданной периодичностью. Важно учитывать, что вызываемая функция должна завершаться до ее повторного вызова, иначе вызов будет блокироваться. Удобный вариант для процессов, требующих непрерывной обработки данных.

Используя блокировку макроса, можно запускать и приостанавливать вызовы в нужный момент. Блокировка — это еще один атрибут объекта-макроса.

Способ 3 - Функциональная кнопка.

Одной из функций объекта “Функциональная кнопка” может быть вызов макроса. Вызов будет происходить каждый раз при нажатии кнопки пользователем. В атрибутах выбираем “Выполнить макрос” и имя макроса из выпадающего списка.

Способ 4 - Комбинированная кнопка.

Может выполнять последовательность действий, в том числе вызов макросов.

Способ 5 - Битовая кнопка.

Эта кнопка используется для изменения состояния бита, но также она может вызвать макрос при срабатывании.

Срабатывать кнопка может не только от нажатия пользователем, она может быть скрытым элементом и срабатывать от других условий.

Способ 6 - Битовый переключатель.

Этот объект реагирует только на нажатие. Вызов макроса можно привязать к конкретному изменению состояния бита.

Способ 7 - Вызов по триггеру.

Часто бывает необходимо управлять вызовом макроса через адресное пространство панели. Используйте ПЛК-триггеры для вызова макроса битом регистра панели, или ПЛК.

Режим триггера “Всегда активно если ON” будет запускать макрос каждые 500 миллисекунд при высоком уровне бита.

Способ 8 - Вызов из активного экрана.

В атрибутах окна на панелях всех серий, за исключением iP-серии, можно выбрать варианты запуска макросов на случай открытия, или закрытия окна, а также для циклического запуска. Период циклического запуска макроса фиксированный - 500 миллисекунд.

На панелях iP-серии этот функционал также может быть реализован, но другим способом. Для циклического вызова можно использовать собственный таймер объекта-макроса, а для вызова при открытии/закрытии окна можно использовать битовую кнопку с соответствующим атрибутом.

Способ 9 - Вызов из другого макроса.

Существует два способа вызова макроса из другого макроса: синхронный и асинхронный. Разница в том, что при синхронном вызове вызывающий макрос будет ждать завершения вызываемого макроса, прежде чем продолжить выполнение алгоритма. При асинхронном вызове вызывающий макрос продолжит выполнение алгоритма параллельно с вызываемым. Используйте функции SYNC_TRIG_MACRO и ASYNC_TRIG_MACRO соответственно для синхронного и асинхронного вызова.

Продолжение следует...

Следующая статья: Макрос-терморегулятор

Скачать

  • Вы можете скачать готовые проекты с примерами макросов в этом разделе:
    Macro_Sample
  • Подробное руководство по макросам читайте в главе 18 в документации по Easybuilder Pro:
    EBPro_Manual_All_In_One_6.03.02.pdf