Работа с регистрами — различия между версиями
(не показано 68 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
+ | <languages/> | ||
+ | <translate> | ||
+ | == Общие сведения == <!--T:1--> | ||
− | + | <!--T:2--> | |
− | + | ||
<p>В контексте задач автоматизации сбора данных, управления оборудованием и диспетчеризации под “Регистрами” понимают данные с которыми работают средства и системы автоматизации. Они могут описывать какие-то внешние параметры технологических процессов (значение температуры, давления, расхода, состояния исполнительных механизмов и т.п.) или внутренние состояния самих устройств (параметры работы регуляторов, фильтров и пр.).</p> | <p>В контексте задач автоматизации сбора данных, управления оборудованием и диспетчеризации под “Регистрами” понимают данные с которыми работают средства и системы автоматизации. Они могут описывать какие-то внешние параметры технологических процессов (значение температуры, давления, расхода, состояния исполнительных механизмов и т.п.) или внутренние состояния самих устройств (параметры работы регуляторов, фильтров и пр.).</p> | ||
+ | |||
+ | <!--T:3--> | ||
<p>Регистры в проекте WEBHMI соответствуют аналогичным понятиям в системах автоматизации - "тег", "переменная" и указывают на то с какими данными из сопряженных устройств мы собираемся работать (читать/записывать), кроме того, они имеют дополнительные атрибуты, управляющие тем, как будут отображаться и обрабатываться системой данные этих регистров. Регистры могут быть двух типов - '''внутренние''' (из внутренней памяти WEBHMI) и '''внешние''' (содержащие данные от подключенных устройств). Настройки регистров позволяют задавать: </p> | <p>Регистры в проекте WEBHMI соответствуют аналогичным понятиям в системах автоматизации - "тег", "переменная" и указывают на то с какими данными из сопряженных устройств мы собираемся работать (читать/записывать), кроме того, они имеют дополнительные атрибуты, управляющие тем, как будут отображаться и обрабатываться системой данные этих регистров. Регистры могут быть двух типов - '''внутренние''' (из внутренней памяти WEBHMI) и '''внешние''' (содержащие данные от подключенных устройств). Настройки регистров позволяют задавать: </p> | ||
+ | |||
+ | <!--T:4--> | ||
* Имя регистра, соединение, адрес в сети соединения, временно отключать регистр, т.е. исключать его из списка опрашиваемых данных. | * Имя регистра, соединение, адрес в сети соединения, временно отключать регистр, т.е. исключать его из списка опрашиваемых данных. | ||
* Тип данных (бит, байт, слово и т.д.), формат (целый, с плав. точкой, знаковый и т.д. ), ед. измерения, задание масштабных и смещающих коэффициентов, границы допустимых значений, границы значений, вводимых оператором , количество знаков после запятой, сопоставление словаря (для регистра с данными типа перечисления, когда каждому номеру записанному в регистре соответствует пункт словаря) | * Тип данных (бит, байт, слово и т.д.), формат (целый, с плав. точкой, знаковый и т.д. ), ед. измерения, задание масштабных и смещающих коэффициентов, границы допустимых значений, границы значений, вводимых оператором , количество знаков после запятой, сопоставление словаря (для регистра с данными типа перечисления, когда каждому номеру записанному в регистре соответствует пункт словаря) | ||
Строка 9: | Строка 15: | ||
* задавать 4 состояния сигнализации (цветовой) регистра - отключен, норма, предупреждение, авария. При этом визуальные элементы (текст, пиктограммы) и данные в логе меняют цвет соответственно текущему состоянию.<br> | * задавать 4 состояния сигнализации (цветовой) регистра - отключен, норма, предупреждение, авария. При этом визуальные элементы (текст, пиктограммы) и данные в логе меняют цвет соответственно текущему состоянию.<br> | ||
− | == Создание регистра, базовые настройки == | + | == Создание регистра, базовые настройки == <!--T:5--> |
− | Для создания регистра необходимо зайти в меню '''Setup --> Registers''' и нажать кнопку '''Add new register | + | Для создания регистра необходимо зайти в меню '''Конфигурация / Регистры (Setup --> Registers)''' и нажать кнопку '''Новый регистр (Add new register)'''. |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | <!--T:6--> | |
+ | [[Файл:Create reg.png|750px]] | ||
− | Вкладка '''Value''' меню | + | <!--T:7--> |
− | [[Файл: | + | После этого в появившейся вкладке Basic info указывается: <br> |
+ | |||
+ | <!--T:8--> | ||
+ | :'''Название (Title)''' Название регистра | ||
+ | :'''Соединение (PLC)''' Соединение, из которого опрашиваются данные регистра | ||
+ | :'''Адрес (Register address)''' Адрес в пространстве адресов данного соединения. При вводе работает проверка правильности задания адреса. Форматы задания адресов описаны [[http://wiki.webhmi.com.ua/index.php/Поддерживаемые_протоколы здесь]]. | ||
+ | :Описание (Description) - комментарий для регистра | ||
+ | :'''Категория (Category)''' - название группу, в которую будет входить регистр. | ||
+ | :'''Приоритет (Priority)''' - Приоритет опроса. Данная опция используется совместно с функцией Strict scan (Меню Settings). Регистры с высоким приоритетом будут опрашиватьcя в первую очередь, регистры с приоритетом normal во вторую. Если часть регистров с приоритетом normal не поместилась в время скана, эта часть опрашивается в следующем скане и т.д. Регистры от внутренних соединений опрашиваются в последнюю очередь (после регистров на внешних соединениях) вне зависимости от этой настройки поскольку они читаются быстро по локальной шине устройства WebHMI. | ||
+ | :'''Имя для программ (script alias)''' - данное имя можно использовать в скриптах lua. | ||
+ | ::опция '''Отключить (Disable)''' - Отключение опроса для данного регистра. | ||
+ | :'''Интервал опроса (Communication interval override)''' - Переопределение времени опроса для данного регистра от заданного по умолчанию (Меню Settings). Регулируется с шагом от 500 мс. до 1 часа. | ||
+ | :''' Отправлять текущее значение в сиcтему Level2 (Send real time data to WebHMI cloud)''' - Указывает, необходимо ли отправлять данные на облачный сайт разработчика webhmicloud.com для использования в системе верхнего уровня. | ||
+ | [[Файл:Create reg basic.png|750px]] | ||
+ | |||
+ | == Настройка типа и формата данных регистра == <!--T:9--> | ||
+ | |||
+ | <!--T:10--> | ||
+ | Вкладка '''Значение (Value)''' меню редактировоания регистра служит для настройки типа и формата данных регистра. Данные настройки влияют на то, как считанные двоичные данные из регистров подключенного устройства интерпретируются для отображения или записи. <br> | ||
+ | [[Файл:Regs value 1.png|750px|часть 1]]<br> | ||
Описание настроек на верхнем рисунке (начало): | Описание настроек на верхнем рисунке (начало): | ||
− | ::'''Register Data Type''' - Тип данных: | + | ::'''Тип данных (Register Data Type)''' - Тип данных: |
::*Bit - Битовое значение, | ::*Bit - Битовое значение, | ||
::*Byte - размер данных байт | ::*Byte - размер данных байт | ||
::*Word - размер данных слово | ::*Word - размер данных слово | ||
+ | ::*Double Word - размер данных двойное слово | ||
::*Unix time - формат времени принятый в PHP, форматирование задается в виде Y-m-d H:i:s, например, для отображения даты в формате день - мес. - год (ДД-ММ-ГГГГ), необходимо указать d-m-Y. | ::*Unix time - формат времени принятый в PHP, форматирование задается в виде Y-m-d H:i:s, например, для отображения даты в формате день - мес. - год (ДД-ММ-ГГГГ), необходимо указать d-m-Y. | ||
− | ::'''Value format''' - Задает формат считанным данным. | + | Для чтения двойных слов в обратном порядке (некоторые устройства работают в таком формате ) предусмотрен опция "Reverse word order". |
− | ::* Целое (integer)- | + | ::'''Формат данных (Value format)''' - Задает формат считанным данным. |
+ | ::* Целое (integer)- без знака unsigned или со знаком signed. | ||
::* C фиксированной плавающей точкой (fixed point float) со знаком (диапазон -1..+1) и без знака (0...1) (signed / unsigned) | ::* C фиксированной плавающей точкой (fixed point float) со знаком (диапазон -1..+1) и без знака (0...1) (signed / unsigned) | ||
::* В дополнительном коде (Two's complement) | ::* В дополнительном коде (Two's complement) | ||
::* В формате с плавающей точкой со знаком (signed floating point), в стандарте IEEE754 - 24 бит(такой формат используется, например, в устройствах ОВЕН), 32 бит (ПЛК uLogix Allen-Bradley, Delta Electronics и др. ), 32 бит с обратным порядком слов (Reverse Word Order) | ::* В формате с плавающей точкой со знаком (signed floating point), в стандарте IEEE754 - 24 бит(такой формат используется, например, в устройствах ОВЕН), 32 бит (ПЛК uLogix Allen-Bradley, Delta Electronics и др. ), 32 бит с обратным порядком слов (Reverse Word Order) | ||
− | ::''' | + | ::'''Битовая маска (Bit mask)''' - при установке битовой маски в регистр попадет значение, соответсвтующее весам выбранных двоичных разрядов. |
− | + | ||
Описание настроек на нижнем рисунке (Продолжение): | Описание настроек на нижнем рисунке (Продолжение): | ||
− | ::'''Value Calculations''' - Масштабирование со смещением данных в регистре. Используется для приведения шкал считываемых данных например из АЦП в инженерные единицы. Данные преобразуются по формуле: | + | ::'''Интерпретация значения (Delta format) ''' - позволяет превратить данные регистра в приращение или производную. В первом случае (delta value) регистр будет равен разнице текущего вычитанного значения и предыдущего. Во втором (Delta value/Delta time)- тоже, деленное на время между опросами, т.е. производную по времени. |
− | + | ::'''Display as time duration''' - Показать число в секундах в формате длительности временного промежутка (часы, дни и т.д.). Формат полезен, например, при отображении длительности событий. | |
− | + | ::'''Словарь значений (Dictionary)''' - Словарь. Содержит перечисление пар "значение, слово" , при выборе словаря для регистра считанные из устройства значения сопоставляются с данными словаря и при совпадении в регистре будет находится соотвествующее значению слово. При несовпадении - регистр будет содержать само значение. Словари создаются и редактируюется в меню '''Setup --> Dictionary''' | |
− | + | ::'''Единицы измерения (Units of measurement)''' - указание инженерных единиц для данных регистра. Указанная в поле строка будет отображаться после текстовой строки со значением регистра на приборной панели. <br> | |
+ | ::'''Преобразование значения (Value Calculations)''' - Масштабирование со смещением данных в регистре. Используется для приведения шкал считываемых данных например из АЦП в инженерные единицы. Данные преобразуются по формуле: | ||
+ | :: ''Итоговое значение = [Считанное в регистр значение] х Множитель + Смещение'' | ||
+ | :: '''Multiplicator''' - Множитель | ||
+ | :: '''Shift Value''' = Смещение | ||
:: '''Precision''' = Количество знаков после запятой для значений с плав. точкой. | :: '''Precision''' = Количество знаков после запятой для значений с плав. точкой. | ||
− | :: '''Min/Max Allowed Value For Operator''' - Данные поля позволяют ограничить мин. и макс. возможное значение для регистра, который может меняться пользователем с приборной панели. | + | :: '''Мин./Макс. значение для ввода Min/Max Allowed Value For Operator''' - Данные поля позволяют ограничить мин. и макс. возможное значение для регистра, который может меняться пользователем с приборной панели. |
− | :: '''Min/Max Reasonable Value''' - Данные поля позволяют обозначить зону недостоверных значений регистра, таким образом можно судить о неисправности датчика. При чтении значения вне зоны, в регистр будет записан ноль, который в свою очередь можно определить как "отключенное состояние" - см. ниже по тексту. | + | :: '''Мини./Макс. достоверное значение (Min/Max Reasonable Value)''' - Данные поля позволяют обозначить зону недостоверных значений регистра, таким образом можно судить о неисправности датчика. При чтении значения вне зоны, в регистр будет записан ноль, который в свою очередь можно определить как "отключенное состояние" - см. ниже по тексту. |
− | + | ||
− | == Настройка записи регистра в лог и на графики == | + | == Настройка записи регистра в лог и на графики == <!--T:11--> |
− | < | + | |
− | === Запись регистров в лог === | + | <!--T:12--> |
− | < | + | Регистры имеют настройки , позволяющие записывать их по определнным правилам в лог и на графики. |
− | + | ||
− | + | === Запись регистров в лог === <!--T:13--> | |
− | + | ||
− | + | <!--T:14--> | |
− | <p>Настройка вывода информации в логе приведена в разделе [ | + | После выбора опции "Включить журналирование" ("Enable Log") в настройках регистра, его изменени можно будет отслеживать в пункте меню '''Аналитика / Журнал регистров Maintenance'''. |
+ | Настройки журналирования : | ||
+ | ::'''Цвет (Color for trends and graphs)''' - выбор цвета отображения данных регистра на трендах и графиках. | ||
+ | ::'''Порог изменения (Change tolerance)''' - "Допуск" (в абсолютном значении или в %) на отклонение значения регистра от текущего , при превышении которого он запишется в лог. Если поле оставить пустым, запись произойдет при любом изменении. Частота записи при этом будет определяться настройками последующих пунктов. | ||
+ | ::'''Минимальный интервал записи (Min log interval)''' - Служит для прореживания данных, ограничивет частоту записей на величину в сек., указанных в поле ввода. | ||
+ | ::'''Максимальный интервал записи (Max log interval)''' - Если регистр не менял значение, либо изменения находились внутри "допуска", тогда эта настройка позволяет тем не менее записать регистр в лог по истечении указанного в поле ввода интервала в сек. | ||
+ | ::'''Минимальный разрыв на графиках (Max graph interval)''' - Данные лога могут быть источником для исторических графиков (Graphs) (см. настройки регистра для записи на график ниже), тогда если не было данных в течение указанного интервала, на графике будет соответсвующий разрыв. | ||
+ | :: опция "Отправлять журнал в систему Level2"разрешают отправку данных журнала в уровень level2 | ||
+ | <p>Настройка вывода информации в логе приведена в разделе [http://wiki.webhmi.com.ua/index.php/%D0%96%D1%83%D1%80%D0%BD%D0%B0%D0%BB_%D1%80%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%BE%D0%B2 Системная информация и логи] </p> | ||
+ | |||
+ | <!--T:15--> | ||
<br> | <br> | ||
[[Файл:Log en chkbox2.jpg|750px]] | [[Файл:Log en chkbox2.jpg|750px]] | ||
− | === Запись регистров на графики === | + | === Запись регистров на графики === <!--T:16--> |
− | < | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | <!--T:17--> | |
+ | <p>После выбора опции "Save data for graphs" в настройках регистра, появится возможность указать частоту записи на графики и выбрать цвет отображения данных регистра на графиках. | ||
+ | Также появится опция передачи данных лога на облачный сайт разработчика. </p> | ||
− | < | + | <!--T:18--> |
− | + | * '''Интервал времени (Time interval)''' - Частота записи на графики, возможны варианты: 1 hour (1 час), 15,5,2,1 мин., Use data from log (использовать данные из лога). <br> | |
<br> | <br> | ||
− | + | [[Файл:Save data grph.jpg|750px]] | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | [[Файл:Save data | + | |
− | + | ||
− | + | ||
− | + | ||
<br> | <br> | ||
− | + | Для сохранения изменений по регистру служит кнопка '''Save'''. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | == Настройка состояний == | + | == Настройка состояний == <!--T:19--> |
− | Вкладка '''States''' меню редактирования регистров позволяет задавать 4 состояния цветовой сигнализации | + | <!--T:20--> |
− | :* '''Disabled state''' - "отключен", данные в регистре говорят о том что механизм выключен, датчик отключен (или обрыв, например для сигнала 4..20мА меньше 4мА), нет рабочего давления и т.п. Цвет сигнализации по умолчанию - серый | + | Вкладка '''States''' меню редактирования регистров позволяет задавать 4 состояния цветовой сигнализации соответсnвующим определенным значениям считанным из регистра: |
− | :* '''Normal state''' - "норма", значение | + | :* '''Отключен (Disabled state)''' - "отключен", данные в регистре говорят о том что механизм выключен, датчик отключен (или обрыв, например для сигнала 4..20мА меньше 4мА), нет рабочего давления и т.п. Цвет сигнализации по умолчанию - серый |
− | :* '''Warning state'''- "предупреждение", параметр приближается к опасной границе. Цвет сигнализации по умолчанию - желтый | + | :* '''Нормальное (Normal state)''' - "норма", значение соответствующее нормальной работе. Цвет сигнализации по умолчанию - зеленый |
− | :* '''Alert state''' - "авария" - аварийное состояние параметра. Цвет сигнализации по умолчанию - красный | + | :* '''Предупреждение (Warning state)'''- "предупреждение", параметр приближается к опасной границе. Цвет сигнализации по умолчанию - желтый |
+ | :* '''Авария (Alert state)''' - "авария" - аварийное состояние параметра. Цвет сигнализации по умолчанию - красный | ||
При отключенных состояниях значение регистра на приборной панели будет отображаться черным цветом.<br> | При отключенных состояниях значение регистра на приборной панели будет отображаться черным цветом.<br> | ||
− | [[Файл:Reg states.png| | + | [[Файл:Reg states.png|800px]]<br><br> |
− | < | + | |
+ | <!--T:21--> | ||
+ | Настройка границ значений для каждого из состояний может быть '''статической''' и '''динамической'''. | ||
:При '''статической''' (по умолчанию) настройке интервал значений состояния регистра определяется по формуле: ''Min <= (значение регистра ) < Max''. При этом ''Min. Max.'' являются константами | :При '''статической''' (по умолчанию) настройке интервал значений состояния регистра определяется по формуле: ''Min <= (значение регистра ) < Max''. При этом ''Min. Max.'' являются константами | ||
− | :При '''динамической''' настройке ''Min. Max.'' также являются | + | :При '''динамической''' настройке ''Min. Max.'' также являются параметрами, заданными в виде других регистров, и таким образом, например, в зависимости от рецептуры производимого продукта, будут меняться зоны предупреждений и аварийных состояний. |
− | Пример динамической настройки предупреждающего ( | + | Пример динамической настройки предупреждающего (Disabled state) состояния:<br> |
− | [[Файл:Dynamic reg state.png| | + | [[Файл:Dynamic reg state.png|800px]]<br> |
− | Здесь ''' | + | Здесь '''Сдвиг минимума''' и '''Сдвиг максимума''' - смещения от нижней и верхней границ зоны состояния предупреждения используемые в формуле (задаваемые с помощью Минимальное значение (Register Min), Максимальное значение (Register Max), приводимой для удобства здесь же в интерфейсе. |
+ | |||
+ | == Работа со списком соединений и регистров == <!--T:22--> | ||
+ | Список регистров двухуровневый, при сворачивании списка отображается только список соединений. | ||
+ | При выборе курсором соединения справа от него появляется сheckbox для выбора или отмены выбора всех регистров в соединении.<br> | ||
+ | [[Файл:Reg list.png|800px]] | ||
+ | <p>Формат списка регистров: | ||
+ | : '''ID''' - уникальный номер регистра в проекте. | ||
+ | : '''Название (Title)''' - Название,регистра / соединения | ||
+ | : '''Интервал (Interval)''' - интервал опроса данного регистра | ||
+ | : '''Адрес (Address)''' - адрес регистра согласно используемого протокола (для соединения - сетевой адрес) | ||
+ | : '''Переменная (Script alias)''' - имя переменной для исользования в скриптах lua | ||
+ | : '''Тип (Type)''' - тип данных регистра (для соединения - тип протокола) | ||
+ | : '''Статус (State)''' - включен или отключен опрос этого регистра (соединения) драйвером. Нажав на эту пиктогаму можно вкючить или отключить опос по данному соединению или регистру. Слева от знака состояния - признак приоритетности опроса (прочерк - обычный, стрелка вверх - высокий, R - чтение по запросу) | ||
+ | : '''Значение (Value)''' - отображение текущего состояние регистра, удобная функция для отладки - сразу же видно корректность настройки и наличие соединения | ||
+ | : Кнопки действий '''Edit, Delete, Clone''' - соответственно Редактирование, Удаление, Копирование регистра (соединения). | ||
+ | |||
+ | == Групповые операции == <!--T:23--> | ||
+ | В списке регистров и соединений можно проводить групповые операции - их импорт, экспорт, включение/отключение и переназначение соединения для выбранной группы регистров. <br> | ||
+ | [[Файл:Bulk operation.png|800px]]<br> | ||
+ | Меню '''Гупповые операции (bulk actions)''' для выбранной группы регистров позволяет: | ||
+ | *Отключить ('''Disable''') или Включить ('''Enable''') | ||
+ | *Удалить ('''Delete''') | ||
+ | *Назначить другое соединение ('''Change''' '''connection''') | ||
+ | [[Файл:Change conn.png|400px|Окно назначения соединения для группы регистров]] | ||
+ | * Экспортировать регистры ('''Export registers''') - данная операция экспортирует список регистров в csv файл, который можно впоследствии удобно отредактировать в табличном процессоре (Open Office, Google sheets и др.), используя возможности автоматизации операций табличного процессора. Пример открытия экспортированного файла в приложении Google sheets (При открытии файла в табличном процессоре типа MS или Open Office необходимо указывать формат разделителей - запятые, кодировка UTF-8.): | ||
+ | [[Файл:Csv in google.png | 800 px| Пример экспорта файла со списком регистров]]<br> | ||
+ | Колонки таблицы соответствуют свойствам регистров, которое описаны выше по тексту в этом рзаделе. Таким образом, можно: | ||
+ | ::a) переопределить любое свойство для всего существующего списка или его части, выделив группу регистров по некоему признаку, использовать возможности автоподстановки, формулы и т.д., а затем c помощью функции импорта, внести необходимые изменения в проект WebHMI. | ||
+ | ::б) создать свой список (использовать существующую таблицу тегов из проекта ПЛК и т.п.) и импортировать его в проект. | ||
+ | ::в) хранить готовые списки для устройств и повторно использовать их | ||
+ | Диалоговое окно импорта регистров: <br> | ||
+ | [[Файл:Import regs window.png | 400 px | Окно импорта регистров ]] <br> | ||
+ | :: '''Move to connection''' - позволяет использовать номер (ID) соединения из файла csv либо поместить регистры в уже существующее соединение. | ||
+ | :: '''Overwrite existent registers ''' - в случае выбора опции, если при импорте списка в проекте уже есть регистры с данным ID, они перезапишутся, в противном случае - регистры с совпадающими ID из списка получат новые ID. | ||
+ | </translate> |
Текущая версия на 17:38, 13 июля 2017
Содержание
Общие сведения
В контексте задач автоматизации сбора данных, управления оборудованием и диспетчеризации под “Регистрами” понимают данные с которыми работают средства и системы автоматизации. Они могут описывать какие-то внешние параметры технологических процессов (значение температуры, давления, расхода, состояния исполнительных механизмов и т.п.) или внутренние состояния самих устройств (параметры работы регуляторов, фильтров и пр.).
Регистры в проекте WEBHMI соответствуют аналогичным понятиям в системах автоматизации - "тег", "переменная" и указывают на то с какими данными из сопряженных устройств мы собираемся работать (читать/записывать), кроме того, они имеют дополнительные атрибуты, управляющие тем, как будут отображаться и обрабатываться системой данные этих регистров. Регистры могут быть двух типов - внутренние (из внутренней памяти WEBHMI) и внешние (содержащие данные от подключенных устройств). Настройки регистров позволяют задавать:
- Имя регистра, соединение, адрес в сети соединения, временно отключать регистр, т.е. исключать его из списка опрашиваемых данных.
- Тип данных (бит, байт, слово и т.д.), формат (целый, с плав. точкой, знаковый и т.д. ), ед. измерения, задание масштабных и смещающих коэффициентов, границы допустимых значений, границы значений, вводимых оператором , количество знаков после запятой, сопоставление словаря (для регистра с данными типа перечисления, когда каждому номеру записанному в регистре соответствует пункт словаря)
- настраивать запись регистр в лог и на графики
- задавать 4 состояния сигнализации (цветовой) регистра - отключен, норма, предупреждение, авария. При этом визуальные элементы (текст, пиктограммы) и данные в логе меняют цвет соответственно текущему состоянию.
Создание регистра, базовые настройки
Для создания регистра необходимо зайти в меню Конфигурация / Регистры (Setup --> Registers) и нажать кнопку Новый регистр (Add new register).
После этого в появившейся вкладке Basic info указывается:
- Название (Title) Название регистра
- Соединение (PLC) Соединение, из которого опрашиваются данные регистра
- Адрес (Register address) Адрес в пространстве адресов данного соединения. При вводе работает проверка правильности задания адреса. Форматы задания адресов описаны [здесь].
- Описание (Description) - комментарий для регистра
- Категория (Category) - название группу, в которую будет входить регистр.
- Приоритет (Priority) - Приоритет опроса. Данная опция используется совместно с функцией Strict scan (Меню Settings). Регистры с высоким приоритетом будут опрашиватьcя в первую очередь, регистры с приоритетом normal во вторую. Если часть регистров с приоритетом normal не поместилась в время скана, эта часть опрашивается в следующем скане и т.д. Регистры от внутренних соединений опрашиваются в последнюю очередь (после регистров на внешних соединениях) вне зависимости от этой настройки поскольку они читаются быстро по локальной шине устройства WebHMI.
- Имя для программ (script alias) - данное имя можно использовать в скриптах lua.
- опция Отключить (Disable) - Отключение опроса для данного регистра.
- Интервал опроса (Communication interval override) - Переопределение времени опроса для данного регистра от заданного по умолчанию (Меню Settings). Регулируется с шагом от 500 мс. до 1 часа.
- Отправлять текущее значение в сиcтему Level2 (Send real time data to WebHMI cloud) - Указывает, необходимо ли отправлять данные на облачный сайт разработчика webhmicloud.com для использования в системе верхнего уровня.
Настройка типа и формата данных регистра
Вкладка Значение (Value) меню редактировоания регистра служит для настройки типа и формата данных регистра. Данные настройки влияют на то, как считанные двоичные данные из регистров подключенного устройства интерпретируются для отображения или записи.
Описание настроек на верхнем рисунке (начало):
- Тип данных (Register Data Type) - Тип данных:
- Bit - Битовое значение,
- Byte - размер данных байт
- Word - размер данных слово
- Double Word - размер данных двойное слово
- Unix time - формат времени принятый в PHP, форматирование задается в виде Y-m-d H:i:s, например, для отображения даты в формате день - мес. - год (ДД-ММ-ГГГГ), необходимо указать d-m-Y.
- Тип данных (Register Data Type) - Тип данных:
Для чтения двойных слов в обратном порядке (некоторые устройства работают в таком формате ) предусмотрен опция "Reverse word order".
- Формат данных (Value format) - Задает формат считанным данным.
- Целое (integer)- без знака unsigned или со знаком signed.
- 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)
- Битовая маска (Bit mask) - при установке битовой маски в регистр попадет значение, соответсвтующее весам выбранных двоичных разрядов.
- Формат данных (Value format) - Задает формат считанным данным.
Описание настроек на нижнем рисунке (Продолжение):
- Интерпретация значения (Delta format) - позволяет превратить данные регистра в приращение или производную. В первом случае (delta value) регистр будет равен разнице текущего вычитанного значения и предыдущего. Во втором (Delta value/Delta time)- тоже, деленное на время между опросами, т.е. производную по времени.
- Display as time duration - Показать число в секундах в формате длительности временного промежутка (часы, дни и т.д.). Формат полезен, например, при отображении длительности событий.
- Словарь значений (Dictionary) - Словарь. Содержит перечисление пар "значение, слово" , при выборе словаря для регистра считанные из устройства значения сопоставляются с данными словаря и при совпадении в регистре будет находится соотвествующее значению слово. При несовпадении - регистр будет содержать само значение. Словари создаются и редактируюется в меню Setup --> Dictionary
- Единицы измерения (Units of measurement) - указание инженерных единиц для данных регистра. Указанная в поле строка будет отображаться после текстовой строки со значением регистра на приборной панели.
- Преобразование значения (Value Calculations) - Масштабирование со смещением данных в регистре. Используется для приведения шкал считываемых данных например из АЦП в инженерные единицы. Данные преобразуются по формуле:
- Итоговое значение = [Считанное в регистр значение] х Множитель + Смещение
- Multiplicator - Множитель
- Shift Value = Смещение
- Precision = Количество знаков после запятой для значений с плав. точкой.
- Мин./Макс. значение для ввода Min/Max Allowed Value For Operator - Данные поля позволяют ограничить мин. и макс. возможное значение для регистра, который может меняться пользователем с приборной панели.
- Мини./Макс. достоверное значение (Min/Max Reasonable Value) - Данные поля позволяют обозначить зону недостоверных значений регистра, таким образом можно судить о неисправности датчика. При чтении значения вне зоны, в регистр будет записан ноль, который в свою очередь можно определить как "отключенное состояние" - см. ниже по тексту.
Настройка записи регистра в лог и на графики
Регистры имеют настройки , позволяющие записывать их по определнным правилам в лог и на графики.
Запись регистров в лог
После выбора опции "Включить журналирование" ("Enable Log") в настройках регистра, его изменени можно будет отслеживать в пункте меню Аналитика / Журнал регистров Maintenance. Настройки журналирования :
- Цвет (Color for trends and graphs) - выбор цвета отображения данных регистра на трендах и графиках.
- Порог изменения (Change tolerance) - "Допуск" (в абсолютном значении или в %) на отклонение значения регистра от текущего , при превышении которого он запишется в лог. Если поле оставить пустым, запись произойдет при любом изменении. Частота записи при этом будет определяться настройками последующих пунктов.
- Минимальный интервал записи (Min log interval) - Служит для прореживания данных, ограничивет частоту записей на величину в сек., указанных в поле ввода.
- Максимальный интервал записи (Max log interval) - Если регистр не менял значение, либо изменения находились внутри "допуска", тогда эта настройка позволяет тем не менее записать регистр в лог по истечении указанного в поле ввода интервала в сек.
- Минимальный разрыв на графиках (Max graph interval) - Данные лога могут быть источником для исторических графиков (Graphs) (см. настройки регистра для записи на график ниже), тогда если не было данных в течение указанного интервала, на графике будет соответсвующий разрыв.
- опция "Отправлять журнал в систему Level2"разрешают отправку данных журнала в уровень level2
Настройка вывода информации в логе приведена в разделе Системная информация и логи
Запись регистров на графики
После выбора опции "Save data for graphs" в настройках регистра, появится возможность указать частоту записи на графики и выбрать цвет отображения данных регистра на графиках. Также появится опция передачи данных лога на облачный сайт разработчика.
- Интервал времени (Time interval) - Частота записи на графики, возможны варианты: 1 hour (1 час), 15,5,2,1 мин., Use data from log (использовать данные из лога).
Для сохранения изменений по регистру служит кнопка Save.
Настройка состояний
Вкладка States меню редактирования регистров позволяет задавать 4 состояния цветовой сигнализации соответсnвующим определенным значениям считанным из регистра:
- Отключен (Disabled state) - "отключен", данные в регистре говорят о том что механизм выключен, датчик отключен (или обрыв, например для сигнала 4..20мА меньше 4мА), нет рабочего давления и т.п. Цвет сигнализации по умолчанию - серый
- Нормальное (Normal state) - "норма", значение соответствующее нормальной работе. Цвет сигнализации по умолчанию - зеленый
- Предупреждение (Warning state)- "предупреждение", параметр приближается к опасной границе. Цвет сигнализации по умолчанию - желтый
- Авария (Alert state) - "авария" - аварийное состояние параметра. Цвет сигнализации по умолчанию - красный
При отключенных состояниях значение регистра на приборной панели будет отображаться черным цветом.
Настройка границ значений для каждого из состояний может быть статической и динамической.
- При статической (по умолчанию) настройке интервал значений состояния регистра определяется по формуле: Min <= (значение регистра ) < Max. При этом Min. Max. являются константами
- При динамической настройке Min. Max. также являются параметрами, заданными в виде других регистров, и таким образом, например, в зависимости от рецептуры производимого продукта, будут меняться зоны предупреждений и аварийных состояний.
Пример динамической настройки предупреждающего (Disabled state) состояния:
Здесь Сдвиг минимума и Сдвиг максимума - смещения от нижней и верхней границ зоны состояния предупреждения используемые в формуле (задаваемые с помощью Минимальное значение (Register Min), Максимальное значение (Register Max), приводимой для удобства здесь же в интерфейсе.
Работа со списком соединений и регистров
Список регистров двухуровневый, при сворачивании списка отображается только список соединений.
При выборе курсором соединения справа от него появляется сheckbox для выбора или отмены выбора всех регистров в соединении.
Формат списка регистров:
- ID - уникальный номер регистра в проекте.
- Название (Title) - Название,регистра / соединения
- Интервал (Interval) - интервал опроса данного регистра
- Адрес (Address) - адрес регистра согласно используемого протокола (для соединения - сетевой адрес)
- Переменная (Script alias) - имя переменной для исользования в скриптах lua
- Тип (Type) - тип данных регистра (для соединения - тип протокола)
- Статус (State) - включен или отключен опрос этого регистра (соединения) драйвером. Нажав на эту пиктогаму можно вкючить или отключить опос по данному соединению или регистру. Слева от знака состояния - признак приоритетности опроса (прочерк - обычный, стрелка вверх - высокий, R - чтение по запросу)
- Значение (Value) - отображение текущего состояние регистра, удобная функция для отладки - сразу же видно корректность настройки и наличие соединения
- Кнопки действий Edit, Delete, Clone - соответственно Редактирование, Удаление, Копирование регистра (соединения).
Групповые операции
В списке регистров и соединений можно проводить групповые операции - их импорт, экспорт, включение/отключение и переназначение соединения для выбранной группы регистров.
Меню Гупповые операции (bulk actions) для выбранной группы регистров позволяет:
- Отключить (Disable) или Включить (Enable)
- Удалить (Delete)
- Назначить другое соединение (Change connection)
- Экспортировать регистры (Export registers) - данная операция экспортирует список регистров в csv файл, который можно впоследствии удобно отредактировать в табличном процессоре (Open Office, Google sheets и др.), используя возможности автоматизации операций табличного процессора. Пример открытия экспортированного файла в приложении Google sheets (При открытии файла в табличном процессоре типа MS или Open Office необходимо указывать формат разделителей - запятые, кодировка UTF-8.):
Колонки таблицы соответствуют свойствам регистров, которое описаны выше по тексту в этом рзаделе. Таким образом, можно:
- a) переопределить любое свойство для всего существующего списка или его части, выделив группу регистров по некоему признаку, использовать возможности автоподстановки, формулы и т.д., а затем c помощью функции импорта, внести необходимые изменения в проект WebHMI.
- б) создать свой список (использовать существующую таблицу тегов из проекта ПЛК и т.п.) и импортировать его в проект.
- в) хранить готовые списки для устройств и повторно использовать их
Диалоговое окно импорта регистров:
- Move to connection - позволяет использовать номер (ID) соединения из файла csv либо поместить регистры в уже существующее соединение.
- Overwrite existent registers - в случае выбора опции, если при импорте списка в проекте уже есть регистры с данным ID, они перезапишутся, в противном случае - регистры с совпадающими ID из списка получат новые ID.