Найти тему
ООО "КоСПА"

Виджеты для интерфейса оператора АСУ ТП

Оглавление

Программное обеспечение Crew Editor для создания интерфейсов оператора (HMI) панелей оператора EW100AA, панельных контроллеров EW100AB\AC и SCADA систем давно имеет в своем инструментарии функцию создания комплексных пользовательских объектов. Эта функция позволяет пользователю объединять статические и динамические элементы, сохраняя их как единый объект Template (шаблон). Любая модификация шаблона повлечет автоматическое изменение всех размещенных копий в проекте, что существенно сокращает время на разработку и внесение изменений.

Релиз среды разработки CREW 3.0
Релиз среды разработки CREW 3.0

Виджеты в CREW

Обновление 3.0 Crew Editor добавило новую функцию комплексных пользовательских объектов (Widgets). Пользовательский виджет – групповой графический объект, который может многократно использоваться и размещаться на разных страницах проекта. При этом каждый экземпляр имеет идентичный функционал шаблона, но ссылается и работает с разными данными.

В качестве примера рассмотрим ситуацию, когда нужно отображать состояние и задавать параметры одинаковых исполнительных механизмов: например, нескольких приводов электродвигателей. Использование пользовательского виджета в подобных ситуациях позволяет унифицировать данные и сократить время разработки и отладки проекта АРМ установки АСУ ТП.

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

Создание пользовательского виджета

В начале на обычной экранной странице мы располагаем необходимые объекты в соответствии с нашим дизайном. Это могут быть надписи, поля ввода и отображения, кнопки и индикаторы, барографы, картинки и другие графические элементы. После размещения всех элементов их необходимо выделить и выбрать создание шаблона (Create New Template).

Создание шаблона Widget Template
Создание шаблона Widget Template

После этого созданный шаблон будет сохранен в разделе Templates и будет доступен для использования как элемент стандартной библиотеки. В случае необходимости шаблон может быть отредактирован в самом разделе Templates.

Созданный шаблон открыт для редактирования из библиотеки Templates
Созданный шаблон открыт для редактирования из библиотеки Templates

После создания у объекта появится специальное свойство TemplateTags, в нем формируется структура внутренних переменных шаблона, которая потом в каждой копии привязывается к реальным переменным проекта.

Создание структуры внутренних переменных TemplateTags
Создание структуры внутренних переменных TemplateTags

В вкладке Template Tags пользователь добавляет внутренние переменные с присвоением символьных имен. Внутренние переменные шаблона можно удалять и менять порядок их расположения.

Окно создания внутренних переменных
Окно создания внутренних переменных

В примере созданы следующие внутренние параметры: NameMotor (Имя двигателя); Power(Питание), Ready(Готовность), Alarm(Аварии), Speed(Скорость), Voltage(Напряжение), Current(Ток).

После создания внутренних переменных производим их привязку к свойствам объектов шаблона. Для этого выбираем нужный объект для привязки.

Выбор внутренней переменной объекта
Выбор внутренней переменной объекта
Окно выбора переменной графического элемента
Окно выбора переменной графического элемента

Во вкладке Choose Tag сначала выбирается папка «Template Tags» из которой выбирается нужная переменная. В данной папке находится список внутренних переменных созданные раннее.

Соответствие графических элементов шаблона и внутренних переменных структуры реализовано согласно следующему изображению.

Соответствие объектов и внутренних переменных в примере
Соответствие объектов и внутренних переменных в примере

Виджет готов и можно приступать к размещению экземпляров на экранах в проекте и привязке внешних переменных.

Настройка экземпляра виджета на рабочем экране
Настройка экземпляра виджета на рабочем экране

Использование шаблонов (Template) и виджетов (Widget) существенно сокращает время на разработку проектов, снижает количество ошибок и соответственно время необходимого на пуско-наладку, а также упрощает обслуживание проекта во время жизненного цикла оборудования.