Работа с регистрами

Материал из WebHMI Wiki
Версия от 22:24, 7 января 2015; Evgeniy.mozoliak (обсуждение | вклад) (Настройка типа и формата данных регистра)

Перейти к: навигация, поиск

Общие сведения

В контексте задач автоматизации сбора данных, управления оборудованием и диспетчеризации под “Регистрами” понимают данные с которыми работают средства и системы автоматизации. Они могут описывать какие-то внешние параметры технологических процессов (значение температуры, давления, расхода, состояния исполнительных механизмов и т.п.) или внутренние состояния самих устройств (параметры работы регуляторов, фильтров и пр.).

Регистры в проекте WEBHMI соответствуют аналогичным понятиям в системах автоматизации - "тег", "переменная" и указывают на то с какими данными из сопряженных устройств мы собираемся работать (читать/записывать), кроме того, они имеют дополнительные атрибуты, управляющие тем, как будут отображаться и обрабатываться системой данные этих регистров. Регистры могут быть двух типов - внутренние (из внутренней памяти WEBHMI) и внешние (содержащие данные от подключенных устройств). Настройки регистров позволяют задавать:

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

Создание регистра, базовые настройки

Для создания регистра необходимо зайти в меню Setup --> Registers и нажать кнопку Add new register. После этого в появившейся вкладке Basic info указать:

Title Название регистра
PLC Соединение (ПЛК), через которое опрашиваются данные регистра
Register address Адрес в пространстве адресов данного соединения (ПЛК)

Create reg.png

Для примера (не подключая никаких внешних усройств) можно использовать внунтренний регистр интервалов I10, значение которого (остаток от деления текущего времени в сек. на 10) меняется с каждой сек. от 0 до 9. Присвоим ему имя "Интервал 10 сек.". Результат базовой настройки:

Create reg basic.png
После нажатия кнопки Save , поскольку не был определен тип данных, система предложит указать тип на вкладке Value, для I10 нужно указать Word и снова нажать Save - мы вернемся к списку всех регистров:
Saved reg in list.png
Формат списка регистров:

ID - уникальный номер регистра в проекте.
Title, PLC, Address - введенные ранее поля Название,содениение (ПЛК), Адрес.
Type - тип данных регистра
State - включен или отключен опрос этого регистра драйвером.
Value - отображение текущего состояние регистра, удобная функция для отладки - сразу же видно корректность настройки и наличие соединения.
Кнопки Edit, Delete, Clone - соотвественно Редактирование, Удаление, Копирование регистра.

Настройка типа и формата данных регистра

Вкладка Value меню редактирвоания регистра служит для настройки типа и формата данных регистра. Данные настройки влияют на то, как считанные двоичные данные из регистров подключенного устройства интерпретируются для отображения или записи.
часть 1
Описание настроек на верхнем рисунке (начало):

Register Data Type - Тип данных:
  • Bit - Битовое значение,
  • Byte - размер данных байт
  • Word - размер данных слово
  • Unix time - формат времени принятый в PHP, форматирование задается в виде Y-m-d H:i:s, например, для отображения даты в формате день - мес. - год (ДД-ММ-ГГГГ), необходимо указать d-m-Y.
Value format - Задает формат считанным данным.
  • Целое (integer)- со знаком или без знака (signed / unsigned)
  • C фиксированной плавающей точкой (fixed point float) со знаком (диапазон -1..+1) и без знака (0...1) (signed / unsigned)
  • В дополнительном коде (Two's complement)
  • В формате с плавающей точкой со знаком (signed floating point), в стандарте IEEE754 - 24 бит(такой формат используется, например, в устройствах ОВЕН), 32 бит (ПЛК uLogix Allen-Bradley, Delta Electronics и др. ), 32 бит с обратным порядком слов (Reverse Word Order)
Dictionary - Словарь. Содержит перечисление пар "значение, слово" , при выборе словаря для регистра считанные из устройства значения сопоставляются с данными словаря и при совпадении в регистре будет находится соотвествующее значению слово. При несовпадении - регистр будет содержать само значение. Словари создаются и редактируюется в меню Setup --> Dictionary
Units of measurement - указание инженерных единиц для данных регистра. Указанная в поле строка будет отображаться после текстовой строки со значением регистра на приборной панели.

Описание настроек на нижнем рисунке (Продолжение):

Value Calculations - Масштабирование со смещением данных в регистре. Используется для приведения шкал считываемых данных например из АЦП в инженерные единицы. Данные преобразуются по формуле:
Итоговое значение = [Считанное в регистр значение] х Множитель + Смещение
Multiplicator - Множитель
Shift Value = Смещение
Precision = Количество знаков после запятой для значений с плав. точкой.
Min/Max Allowed Value For Operator - Данные поля позволяют ограничить мин. и макс. возможное значение для регистра, который может меняться пользователем с приборной панели.
Min/Max Reasonable Value - Данные поля позволяют обозначить зону недостоверных значений регистра, таким образом можно судить о неисправности датчика. При чтении значения вне зоны, в регистр будет записан ноль, который в свою очередь можно определить как "отключенное состояние" - см. ниже по тексту.

часть 2

Настройка записи регистра в лог и на графики

Настройка состояний