Аннотация. В статье приводится обзор
инструментов создания графической части панели оператора Kinco Automation. Рассмотрено создание мнемосхемы
средствами встроенного графического редактора Kinco Dtools. Описан функционал компонентов «Индикация
бита», «Битовый переключатель», «Обработка числа», «Многопозиционное управление»,
«Многопозиционный переключатель», «Многопозиционный индикатор». Данная статья
открывает тематику обзора библиотек среды Kinco Dtools.
Введение
Для оператора мнемосхема является важнейшим
источником информации о характере и структуре технологического процесса,
текущем состоянии системы в целом и отдельных её частей, наличие нештатных и
аварийных сигналов[1]. На мнемосхемах могут отображаются
дискретные и аналоговые переменные, элементы управления — кнопки,
переключатели, тумблеры, и.т.д. При создании проекта HMI[2], разработчику должны быть доступны
готовые инструменты реализации мнемосхем, элементов индикации и управления.
Процесс настройки этих инструментов должен быть ясен и понятен.
Возможности
среды Kinco
Dtools
позволяют реализовать сложные мнемосхемы с элементами индикации и управления. Мнемосхема
технологического процесса может быть реализована, как во встроенном графическом
редакторе Kinco
Dtools, так и в
стороннем графическом редакторе, например, Adobe Photoshop. Созданные в стороннем графическом
редакторе мнемосхемы могут быть добавлены в проект панели оператора ввиде
изображений. Изображения могут иметь следующие форматы: jpeg, bmp, png, gif. Элементы индикации и управления
могут быть реализованы с помощью библиотек среды Kinco Dtools. Ниже
приводится инструменты среды Kinco Dtools,
которые разработчик может использовать при создании проекта.
Обзор
готовых инструментов для конфигурации интерфейса панели оператора Kinco
«Графический
редактор Kinco Dtools». Графически редактор находится во
вкладке «Рисование». Через эту вкладку разработчик может добавить фигуры
(прямоугольник, сектор, линия, и.т.д.), текст на экраны проекта и загрузить
сторонние графическое изображение в проект. На рис.1 приводится вид вкладки
«Рисование».
Рис.2 — Пример реализации мнемосхемы №1
Рис.3 — Пример реализации мнемосхемы №2
Рис.4 — Пример реализации мнемосхемы №3
«Индикация
бита». Данный
компонент служит для индикации состояния битовых переменных. Управление
состоянием бита через этот компонент не предусмотрено. Среди возможностей
данного компонента можно выделить разные варианты индикации. Данный компонент предусматривает
следующие варианты индикации состояния:
1)
по состоянию бита изменяется изображение (бит равен 0, индикатор имеет красный
цвет, когда бит равен 1, индикатор принимает зелёный цвет);
2)
по состоянию бита изменяется изображение, мигание индикатора привязано к
состоянию бита (бит равен 0, индикатор имеет красный цвет, пока бит равен
0, индикатор мигает, когда бит равен 1, индикатор принимает зелёный
цвет, мигание останавливается);
3)
по состоянию бита не изменяется изображение, мигание индикатора привязано к
состоянию бита (бит равен 0, индикатор имеет красный цвет, пока бит
равен 0 индикатор мигает, когда бит равен 1, индикатор остается красным,
мигание останавливается).
Настройка
функций индикатора с привязкой к состоянию бита находится во вкладке «Индикатор
состояния бита». Также же во вкладке можно задать интервал частоту мигания
индикатора (рис.5). Текст с привязкой к состоянию бита задаётся во вкладке «Текст».
Во вкладке «Графика» можно выбрать изображение из библиотеки готовых
графических изображений Kinco
Dtools с
привязкой к состоянию бита (рис.6).
Рис.5 — Настройки компонента «Индикация бита»
Рис.6 — Библиотеки готовых графических
изображений Kinco Dtools
«Битовый
переключатель». Компонент
служит для изменения состояния битовых переменных. С помощью этого
компонента разработчик может реализовать кнопки или тумблеры. В компоненте предусмотрены
следующие типы управления:
1)
установить
значение бита равным 1 (при нажатии на кнопку, бит установится равным 1,
обратный перевод в состояние 0 невозможен);
2)
установить
значение бита равным 0 (при нажатии на кнопку, бит установится равным 0,
перевод в состояние 1 невозможен);
3)
переключение
(при нажатии на кнопку, бит переходит из состояния 0 в состояние 1, при
повторном нажатии кнопки бит переходит из состояния 1 в состояние 0);
4)
сброс
(при нажатии и удержании кнопки, бит переходит в состояние 1, при снятии
удержания кнопки, бит возвращается в состояние 0);
5)
установить
0 или 1 в импульсном режиме (при нажатии кнопки подается импульс заданной
ширины, после прохождения импульса, бит возвращается в исходное состояние 0 или
1).
Настройка
типов управления находится во вкладке «Переключатель состояний бита» (рис.7).
Так же во вкладке можно задать ширину импульса (если выбран импульсный тип
управления). Среди интересных возможностей можно выделить функционал вкладки «Настройка
управления». В этой вкладке можно задать запуск макроса по нажатию на кнопку
(рис.8). Запуск макроса по нажатию на кнопку может быть реализован в
компонентах, где доступна вкладка «Настройка управления».
Рис.7 — Настройки компонента «Битовый переключатель»
Рис.8 — Настройки компонента «Битовый переключатель» (запуск
макроса)
«Обработка
числа». Данный компонент
служит для ввода и вывода значений в целочисленные регистры (регистры “слово”).
Функционал компонент может быть
сконфигурирован только на вывод значения или на ввод и вывод значения. Для того
что бы компонент был сконфигурирован на ввод и вывод значения необходимо
поставить галку во вкладке «Основные атрибуты» (рис.9). Во вкладке «Числовые
данные» разработчик может выбрать тип данных, задать отображение целой и
дробной части (количество знаков после запятой), задать границы изменения и
привязать выход за границы к изменяю цвета (рис.10).
Рис.10 — Настройки компонента «Обработка числа»
В
табл.1 приводятся типы данных, которые разработчик может задать в компоненте «Обработка
числа».
Таблица 1 — Типы
данных, компонент «Обработка числа»
Тип данных | Описание |
16-битный со знаком (signed int) | Служит для отображения целочисленных данных (со знаком) с возможностью конфигурации запятой (визуальная запятая). Диапазон изменения:16-битный (WORD): от -32768 до 32767; 32-битный (DWORD): от -2147483648 до 2147483647 |
16-битный без знака (unsigned int) | Служит для отображения целочисленных данных (без знака) с возможностью конфигурации запятой (визуальная запятая). Диапазон изменения:16-битный (WORD): от 0 до 65535; 32-битный (DWORD): от 0 до 4994967295 |
Шестнадцатеричный (HEX) | Служит для отображения целочисленных данных в шестнадцатеричном формате с возможностью конфигурации запятой (визуальная запятая). Диапазон изменения: 16-битный (WORD): от 0 до 65535; 32-битный (DWORD): от 0 до 4994967295 |
Бинарный (BIN) | Служит для отображения целочисленных данных в двоичном формате с возможностью конфигурации запятой. Диапазон изменения:16-битный (WORD): от 0 до 65535; 32-битный (DWORD): от 0 до 4994967295 |
Пароль (Password) | Служит для отображения данных в формате “***”. Диапазон изменения регулируется границами, заданными во вкладке «Числовые данные». |
Число с плавающей точкой (Float) | Преобразует 32-битные данные в формат целочисленных данных с запятой. Диапазон изменения аналогичен диапазону регистров типа DWORD. |
Двойное (Double) | Преобразует 64-битные данные в формат целочисленных данных с запятой. Диапазон изменения аналогичен диапазону 4WORD (четыре регистра слово). |
Границы
изменения значения в окне «Обработка числа» могут быть заданы, как без
возможности корректировки нижнего и верхнего предела в среде выполнения, так и
с возможностью изменения нижнего и верхнего предела в среде выполнения через назначенные регистры (рис.9,
переменная нижнего предела, переменная верхнего предела).
«Многопозиционное управление». Данный компонент служит для
изменения значений в целочисленных регистрах (регистры “слово”). Например, с
помощью компонента можно реализовать кнопки “прибавить”/ “вычесть” значение из
числа (рис.11). во вкладке «Установка состояния битовой группы» задается
функционал кнопки — операция,
которая происходит по нажатию на кнопку (прибавить, вычесть, установить
значение, и.т.д), значение на которое увеличивается (уменьшается) число, границы
изменения и тип данных.
На рис.12 приводится пример
настройки кнопки “прибавить”: по нажатию на кнопку число в регистре слово
увеличивается на значение 1, верхняя граница значений 100. Диапазон изменения
числа от 0 до 100. Для кнопки “вычесть” заданы схожие настройки: значение, на
которое уменьшается число в регистре, т.е. и нижняя граница, т.е. 0. На
рис.13 приводится вид окна индикации после нажатии кнопки “прибавить”.
Рис.12 — Настройки компонента «Многопозиционное управление»
Рис.13 — Вид окна индикации после нажатия кнопки прибавить
(компонент «Многопозиционное управление»)
«Многопозиционный
переключатель». Данный
компонент служит для изменения значений в целочисленных регистрах (регистры “слово”).
С помощью компонента можно реализовать кнопку переключения состояний регистра “слово”. Функционал многопозиционного переключателя
схож с функционалом компонента «Многопозиционное управление», однако есть
отличия. Например, с помощью многопозиционного переключателя так же можно
реализовать кнопки “прибавить”/“вычесть” (рис.14). При этом есть возможность
привязать состояние многопозиционного переключателя (0-4) к записи в регистр произвольных
значений (0,11,25,33,37). В компоненте «Многопозиционное управление» значение
изменяется на фиксированный интервал в фиксированном диапазоне. К каждому
состоянию многопозиционного переключателя может быть привязано графическое
изображение. Максимальное количество состояний может быть задано до 769.
Так же стоит отметить, что с помощью многопозиционного переключателя можно настроить список. Для каждого состояния из списка может быть сконфигурирован текст (вкладка “Текст”). Список можно сделать “выпадающим”. Цвет фона и цвет выделения позиции списка может быть задан разработчиком. На рис.15 приводится пример реализации выпадающего списка с помощью компонента «Многопозиционный переключатель».
Рис.14 — Настройки компонента «Многопозиционный переключатель»
Рис.15 — Пример реализации выпадающего списка с
помощью компонента «Многопозиционный
переключатель»
«Многопозиционный индикатор». Данный компонент служит для индикации состояния регистра “слово”. «Многопозиционный индикатор» служит исключительно для индикации состояния. Возможность управления данными в компоненте отсутствует. Среди интересных функций можно выделить привязку индикации к группе регистров (слово/бит). На рис.16 приводится настройки, согласно которым состояние многопозиционного индикатора изменится если один из битов 0х100, 0х120,0х130 примет состояние 1 (логическая операция ИЛИ).
Заключение
В
статье приводится обзор готовых инструментов для конфигурации интерфейса панели
оператора Kinco.
Инструменты обладают добротным функционалом и просты в настройке. Приведенный
перечень инструментов не является исчерпывающим — описаны только самые востребованные инструменты.
Д.С. Лысенко, инженер АСУ ТП
ООО «Cиcтeмы
Koнтpoля», г. Москва,
тел.: +7 (495) 120‑36-61,
e‑mail: info@systemcontrol.ru,