Работа с регистрами — различия между версиями

Материал из WebHMI Wiki
Перейти к: навигация, поиск
(Работа со списком регистров)
 
(не показано 37 промежуточных версий 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-->
 
* Имя регистра, соединение, адрес в сети соединения, временно отключать регистр, т.е. исключать его из списка опрашиваемых данных.
 
* Имя регистра, соединение, адрес в сети соединения, временно отключать регистр, т.е. исключать его из списка опрашиваемых данных.
 
* Тип данных (бит, байт, слово и т.д.), формат (целый, с плав. точкой, знаковый и т.д. ), ед. измерения, задание масштабных и смещающих коэффициентов, границы допустимых значений, границы значений, вводимых оператором , количество знаков после запятой, сопоставление словаря (для регистра с данными типа перечисления, когда каждому номеру записанному в регистре соответствует пункт словаря)
 
* Тип данных (бит, байт, слово и т.д.), формат (целый, с плав. точкой, знаковый и т.д. ), ед. измерения, задание масштабных и смещающих коэффициентов, границы допустимых значений, границы значений, вводимых оператором , количество знаков после запятой, сопоставление словаря (для регистра с данными типа перечисления, когда каждому номеру записанному в регистре соответствует пункт словаря)
Строка 11: Строка 15:
 
* задавать 4 состояния сигнализации (цветовой) регистра - отключен, норма, предупреждение, авария. При этом визуальные элементы (текст, пиктограммы) и данные в логе меняют цвет соответственно текущему состоянию.<br>
 
* задавать 4 состояния сигнализации (цветовой) регистра - отключен, норма, предупреждение, авария. При этом визуальные элементы (текст, пиктограммы) и данные в логе меняют цвет соответственно текущему состоянию.<br>
  
== Создание регистра, базовые настройки ==
+
== Создание регистра, базовые настройки == <!--T:5-->
Для создания регистра необходимо зайти в меню '''Setup --> Registers''' и нажать кнопку '''Add new register'''.
+
Для создания регистра необходимо зайти в меню '''Конфигурация / Регистры (Setup --> Registers)''' и нажать кнопку '''Новый регистр (Add new register)'''.
[[Файл:Create reg.png|750px]]<br> <br>
+
 
 +
<!--T:6-->
 +
[[Файл:Create reg.png|750px]]
 +
 
 +
<!--T:7-->
 
После этого в появившейся вкладке Basic info указывается: <br>
 
После этого в появившейся вкладке 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]]
 
[[Файл:Create reg basic.png|750px]]
:'''Title''' Название регистра
 
:'''PLC''' Соединение, из которого опрашиваются данные регистра
 
:'''Register address''' Адрес в пространстве адресов данного соединения. При вводе работает проверка правильности задания адреса. Форматы задания адресов описаны [[http://wiki.webhmi.com.ua/index.php/Поддерживаемые_протоколы здесь]].
 
:'''Priority''' - Приоритет опроса. Данная опция используется совместно с функцией Strict scan (Меню Settings). Регистры с высоким приоритетом будут опрашиватьcя в первую очередь, регистры с приоритетом normal во вторую. Если часть регистров с приоритетом normal не поместилась в время скана, эта часть опрашивается в следующем скане и т.д. Регистры от внутренних соединений опрашиваются в последнюю очередь (после регистров на внешних соединениях) вне зависимости от этой настройки поскольку они читаются быстро по локальной шине устройства WebHMI.
 
:'''Disable''' - Отключение опроса для данного регистра. 
 
:'''Communication interval override ''' -  Переопределение времени опроса для данного регистра от заданного по умолчанию (Меню Settings). Регулируется с шагом от 1 сек. до 1 часа. 
 
:'''Send real time data to WebHMI cloud''' -  Указывает, необходимо ли отправлять данные на облачный сайт разработчика webhmicloud.com для использования в системе верхнего уровня.
 
  
== Настройка типа и формата данных регистра ==
+
== Настройка типа и формата данных регистра == <!--T:9-->
  
Вкладка '''Value''' меню редактирвоания регистра служит для настройки типа и формата данных регистра. Данные настройки влияют на то, как считанные двоичные данные из регистров подключенного устройства интерпретируются для отображения или записи. <br>
+
<!--T:10-->
 +
Вкладка '''Значение (Value)''' меню редактировоания регистра служит для настройки типа и формата данных регистра. Данные настройки влияют на то, как считанные двоичные данные из регистров подключенного устройства интерпретируются для отображения или записи. <br>
 
[[Файл:Regs value 1.png|750px|часть 1]]<br>  
 
[[Файл:Regs value 1.png|750px|часть 1]]<br>  
 
Описание настроек на верхнем рисунке (начало):  
 
Описание настроек на верхнем рисунке (начало):  
::'''Register Data Type''' - Тип данных:
+
::'''Тип данных (Register Data Type)''' - Тип данных:
 
::*Bit - Битовое значение,  
 
::*Bit - Битовое значение,  
 
::*Byte - размер данных байт
 
::*Byte - размер данных байт
Строка 36: Строка 50:
 
::*Unix time - формат времени принятый в PHP, форматирование задается в виде Y-m-d H:i:s, например, для отображения даты в формате день - мес. - год (ДД-ММ-ГГГГ), необходимо указать d-m-Y.
 
::*Unix time - формат времени принятый в PHP, форматирование задается в виде Y-m-d H:i:s, например, для отображения даты в формате день - мес. - год (ДД-ММ-ГГГГ), необходимо указать d-m-Y.
 
Для чтения двойных слов в обратном порядке (некоторые устройства работают в таком формате ) предусмотрен опция "Reverse word order".
 
Для чтения двойных слов в обратном порядке (некоторые устройства работают в таком формате ) предусмотрен опция "Reverse word order".
::'''Value format''' - Задает формат считанным данным.  
+
::'''Формат данных (Value format)''' - Задает формат считанным данным.  
 
::* Целое (integer)- без знака unsigned или со знаком signed.  
 
::* Целое (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''' - при установке битовой маски в регистр попадет значение, соответсвтующее весам выбранных двоичных разрядов.  
+
::'''Битовая маска (Bit mask)''' - при установке битовой маски в регистр попадет значение, соответсвтующее весам выбранных двоичных разрядов.  
 
Описание настроек на нижнем рисунке (Продолжение):
 
Описание настроек на нижнем рисунке (Продолжение):
::'''Delta format ''' - позволяет превратить данные регистра в приращение или производную. В первом случае (delta value) регистр будет равен разнице текущего вычитанного значения и предыдущего. Во втором (Delta value/Delta time)- тоже, деленное на время между опросами, т.е. производную по времени.  
+
::'''Интерпретация значения (Delta format) ''' - позволяет превратить данные регистра в приращение или производную. В первом случае (delta value) регистр будет равен разнице текущего вычитанного значения и предыдущего. Во втором (Delta value/Delta time)- тоже, деленное на время между опросами, т.е. производную по времени.  
 
::'''Display as time duration''' - Показать число в секундах в формате длительности временного промежутка (часы, дни и т.д.). Формат полезен, например, при отображении длительности событий.
 
::'''Display as time duration''' - Показать число в секундах в формате длительности временного промежутка (часы, дни и т.д.). Формат полезен, например, при отображении длительности событий.
::'''Dictionary''' - Словарь. Содержит перечисление пар "значение, слово" , при выборе словаря для регистра считанные из устройства значения сопоставляются  с данными словаря и при совпадении в регистре будет находится соотвествующее значению слово. При несовпадении - регистр будет содержать само значение. Словари создаются и редактируюется в меню '''Setup --> Dictionary'''
+
::'''Словарь значений (Dictionary)''' - Словарь. Содержит перечисление пар "значение, слово" , при выборе словаря для регистра считанные из устройства значения сопоставляются  с данными словаря и при совпадении в регистре будет находится соотвествующее значению слово. При несовпадении - регистр будет содержать само значение. Словари создаются и редактируюется в меню '''Setup --> Dictionary'''
::'''Units of measurement''' - указание инженерных единиц для данных регистра. Указанная в поле строка будет отображаться после текстовой строки со значением регистра на приборной панели. <br>
+
::'''Единицы измерения (Units of measurement)''' - указание инженерных единиц для данных регистра. Указанная в поле строка будет отображаться после текстовой строки со значением регистра на приборной панели. <br>
[[Файл:Value tab 2.png|750px| часть 2 ]]
+
::'''Преобразование значения (Value Calculations)''' - Масштабирование со смещением данных в регистре. Используется для приведения шкал считываемых данных например из АЦП в инженерные единицы. Данные преобразуются по формуле:
 
+
::'''Value Calculations''' - Масштабирование со смещением данных в регистре. Используется для приведения шкал считываемых данных например из АЦП в инженерные единицы. Данные преобразуются по формуле:
+
 
:: ''Итоговое значение = [Считанное в регистр значение] х Множитель + Смещение''
 
:: ''Итоговое значение = [Считанное в регистр значение] х Множитель + Смещение''
 
:: '''Multiplicator''' - Множитель  
 
:: '''Multiplicator''' - Множитель  
 
:: '''Shift Value''' = Смещение
 
:: '''Shift Value''' = Смещение
 
:: '''Precision''' = Количество знаков после запятой для значений с плав. точкой.  
 
:: '''Precision''' = Количество знаков после запятой для значений с плав. точкой.  
[[Файл:Credible values.png|750px]]
+
:: '''Мин./Макс. значение для ввода 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-->
  
После выбора опции "Enable Log" в настройках регистра, в пункте меню '''Maintenance''' появится новый пункт - "Registers Log" и появятся 4 настройки:
+
<!--T:14-->
 
+
После выбора опции "Включить журналирование" ("Enable Log") в настройках регистра, его изменени можно будет отслеживать в пункте меню '''Аналитика / Журнал регистров Maintenance'''.
*'''Change tolerance''' - "Допуск" (в абсолютном значении или в %) на отклонение значения регистра от текущего , при превышении которого он запишется в лог. Если поле оставить пустым, запись произойдет при любом изменении. Частота записи при этом будет определяться настройками последующих пунктов.  
+
Настройки журналирования :
*'''Min log interval''' - Служит для прореживания данных, ограничивет частоту записей на величину в сек., указанных в поле ввода.
+
::'''Цвет (Color for trends and graphs)''' - выбор цвета отображения данных регистра на трендах и графиках.
*'''Max log interval''' - Если регистр не менял значение, либо изменения находились внутри "допуска", тогда эта настройка позволяет тем не менее записать регистр в лог по истечении указанного в поле ввода интервала в сек.
+
::'''Порог изменения (Change tolerance)''' - "Допуск" (в абсолютном значении или в %) на отклонение значения регистра от текущего , при превышении которого он запишется в лог. Если поле оставить пустым, запись произойдет при любом изменении. Частота записи при этом будет определяться настройками последующих пунктов.  
*'''Max graph interval''' - Данные лога могут быть источником для исторических графиков (Graphs) (см. настройки регистра для записи на график ниже), тогда если не было данных в течение указанного интервала, на графике будет соответсвующий разрыв.  
+
::'''Минимальный интервал записи (Min log interval)''' - Служит для прореживания данных, ограничивет частоту записей на величину в сек., указанных в поле ввода.
 
+
::'''Максимальный интервал записи (Max log interval)''' - Если регистр не менял значение, либо изменения находились внутри "допуска", тогда эта настройка позволяет тем не менее записать регистр в лог по истечении указанного в поле ввода интервала в сек.
<p>Настройка вывода информации в логе приведена в разделе [[Меню_настроек|Системная информация и логи]] </p>
+
::'''Минимальный разрыв на графиках (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-->
  
<p>После выбора опции "Save data for graphs" в настройках регистра, появится возможность указать частоту записи на графики и выбрать цвет отображения данных регистра на графиках. Появятся 2 дополнительные настройки:</p>
+
<!--T:17-->
 +
<p>После выбора опции "Save data for graphs" в настройках регистра, появится возможность указать частоту записи на графики и выбрать цвет отображения данных регистра на графиках.  
 +
Также появится опция передачи данных лога на облачный сайт разработчика.  </p>
  
* '''Time interval''' - Частота записи на графики, возможны варианты: 1 hour (1 час), 15,5,2,1 мин., Use data from log (использовать данные из лога). <br>
+
<!--T:18-->
* '''Color for graphs''' - Указывается цвет в формате RGB --> #00(R)00(G)00(B), например для выбора синего цвета - #0000ff. Либо можно выбрать из палитры спправа от поля ввода. <br>
+
* '''Интервал времени (Time interval)''' - Частота записи на графики, возможны варианты: 1 hour (1 час), 15,5,2,1 мин., Use data from log (использовать данные из лога). <br>
 
<br>
 
<br>
 
[[Файл:Save data grph.jpg|750px]]
 
[[Файл:Save data grph.jpg|750px]]
 
<br>
 
<br>
Для сохранения изменений служит кнопка '''Save'''.
+
Для сохранения изменений по регистру служит кнопка '''Save'''.
 
+
=== Примеры ===
+
 
+
Допустим, имеется внутренний интервальный регистр ''I10'', меняющий свои значения от 0 до 9 каждые 10 сек.  Лог с настройками по умолчанию, т.е. когда установили опцию '''Enable log''' при незаполненных остальных настройках, сохранит все значения по нарастанию:<br>
+
[[Файл:Log 12345.png|750px]]
+
<br>
+
Если теперь установить значение '''Tolerance''' = 2, тогда лог станет выглядеть так: <br>
+
[[Файл:Log tol 2.png|750px]]
+
<br><br>
+
 
+
Т.е. значения пишутся при изменении более чем на 2.
+
<br>
+
 
+
Проредить данные по частоте записи можно установив '''Min log interval''' = 2, записывая таким образом данные не чаще чем 2 сек. Результат изменений:<br>
+
[[Файл:Log interleave 2sec.png|750px]]
+
 
+
<br>
+
Чтобы проверить работу настройки '''Max log interval''', можно установить '''Tolerance''' = 10 (тогда все значения будут "отбрасываться", так как они не в "допуске"), но благодаря установке '''Max log interval''' = 10, по истечении 10 сек. тем не менее значение регистра будет записано в лог. <br>
+
[[Файл:Log max 10 sec.png|750px]]
+
 
+
<br>
+
 
+
Поскольку период изменения регистра ''I10'' равен как раз 10 сек., в логе находится всегда одно значение 1с.
+
 
+
 
+
 
+
Для примера настройки записи регистра ''I10'' на исторический график по данным лога, воспользуйтесь предыдущим примером c установкой '''Tolerance''' = 2. Настройки лога:
+
 
+
[[Файл:Save data for graph.png|750px]]
+
<br>
+
Необходимо указывать значение '''Max graph interval''', иначе на графике точки значений не будут соединены между собой линией.
+
Настройки графика:
+
<br>
+
[[Файл:Graph setup.png|750px]]
+
<br><br>
+
 
+
Результат настроек на графике:
+
 
+
<br>
+
[[Файл:Graph result.png|750px]]
+
  
== Настройка состояний ==
+
== Настройка состояний == <!--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|750px]]<br><br>
+
[[Файл:Reg states.png|800px]]<br><br>
  
 +
<!--T:21-->
 
Настройка границ значений для каждого из состояний может быть '''статической''' и '''динамической'''.
 
Настройка границ значений для каждого из состояний может быть '''статической''' и '''динамической'''.
 
:При '''статической''' (по умолчанию) настройке интервал значений состояния регистра определяется по формуле: ''Min <= (значение регистра ) < Max''. При этом ''Min. Max.'' являются константами
 
:При '''статической''' (по умолчанию) настройке интервал значений состояния регистра определяется по формуле: ''Min <= (значение регистра ) < Max''. При этом ''Min. Max.'' являются константами
:При '''динамической''' настройке ''Min. Max.'' также являются константами, но заданными относительно значений других регистров, и таким образом, например, в зависимости от рецептуры производимого продукта, будут меняться зоны предупреждений и аварийных состояний.
+
:При '''динамической''' настройке ''Min. Max.'' также являются параметрами, заданными в виде других регистров, и таким образом, например, в зависимости от рецептуры производимого продукта, будут меняться зоны предупреждений и аварийных состояний.
Пример динамической настройки предупреждающего (Warning state) состояния:<br>
+
Пример динамической настройки предупреждающего (Disabled state) состояния:<br>
[[Файл:Dynamic reg state.png|750px]]<br>
+
[[Файл:Dynamic reg state.png|800px]]<br>
 +
Здесь '''Сдвиг минимума''' и '''Сдвиг максимума''' - смещения от нижней и верхней границ зоны состояния предупреждения используемые в формуле (задаваемые с помощью Минимальное значение (Register Min), Максимальное значение (Register Max), приводимой для удобства здесь же в интерфейсе.
  
Здесь '''Delta Min''' и '''Max''' - смещения от нижней и верхней границ зоны состояния предупреждения используемые в формуле, приводимой для удобства здесь же в интерфейсе. Настройки состояний '''Disable, Normal, Alert''' одинаковы изображенному выше на рис. '''Warning state'''.
+
== Работа со списком соединений и регистров == <!--T:22-->
== Работа со списком регистров ==
+
 
Список регистров двухуровневый, при сворачивании списка отображается только список соединений.  
 
Список регистров двухуровневый, при сворачивании списка отображается только список соединений.  
 
При выборе курсором соединения справа от него появляется сheckbox для выбора или отмены выбора всех регистров в соединении.<br>
 
При выборе курсором соединения справа от него появляется сheckbox для выбора или отмены выбора всех регистров в соединении.<br>
Строка 150: Строка 129:
 
<p>Формат списка регистров:
 
<p>Формат списка регистров:
 
: '''ID''' - уникальный номер регистра в проекте.  
 
: '''ID''' - уникальный номер регистра в проекте.  
: '''Title''' - Название,регистра / соединения
+
: '''Название (Title)''' - Название,регистра / соединения
: '''Interval''' - интервал опроса данного регистра  
+
: '''Интервал (Interval)''' - интервал опроса данного регистра  
: '''Address''' - адрес регистра согласно используемого протокола  (для соединения - сетевой адрес)
+
: '''Адрес (Address)''' - адрес регистра согласно используемого протокола  (для соединения - сетевой адрес)
: '''Type''' - тип данных регистра (для соединения - тип протокола)
+
: '''Переменная (Script alias)''' - имя переменной для исользования в скриптах lua
: '''State''' - включен или отключен опрос этого регистра (соединения) драйвером. Слева от знака состояния - признак приоритетности опроса (прочерк - обычный, стрелка вверх - высокий)
+
: '''Тип (Type)''' - тип данных регистра (для соединения - тип протокола)
: '''Value''' - отображение текущего состояние регистра, удобная функция для отладки - сразу же видно корректность настройки и наличие соединения
+
: '''Статус (State)''' - включен или отключен опрос этого регистра (соединения) драйвером. Нажав на эту пиктогаму можно вкючить или отключить опос по данному соединению или регистру. Слева от знака состояния - признак приоритетности опроса (прочерк - обычный, стрелка вверх - высокий, R - чтение по запросу)
: Кнопки '''Edit, Delete, Clone''' - соответственно Редактирование, Удаление, Копирование регистра (соединения).
+
: '''Значение (Value)''' - отображение текущего состояние регистра, удобная функция для отладки - сразу же видно корректность настройки и наличие соединения
 +
: Кнопки действий '''Edit, Delete, Clone''' - соответственно Редактирование, Удаление, Копирование регистра (соединения).
  
== Групповые операции ==
+
== Групповые операции == <!--T:23-->
В списке регистров можно проводить групповые операции - их импорт, экспорт, включение/отключение и переназначение соединения для выбранной группы регистров.  
+
В списке регистров и соединений можно проводить групповые операции - их импорт, экспорт, включение/отключение и переназначение соединения для выбранной группы регистров. <br>
[[Файл:Bulk operation.png|750px]]
+
[[Файл: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

Другие языки:
English • ‎русский

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

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

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

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

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

Для создания регистра необходимо зайти в меню Конфигурация / Регистры (Setup --> Registers) и нажать кнопку Новый регистр (Add new register).

Create reg.png

После этого в появившейся вкладке 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 для использования в системе верхнего уровня.

Create reg basic.png

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

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

Тип данных (Register Data Type) - Тип данных:
  • Bit - Битовое значение,
  • Byte - размер данных байт
  • Word - размер данных слово
  • Double Word - размер данных двойное слово
  • Unix time - формат времени принятый в PHP, форматирование задается в виде Y-m-d H:i:s, например, для отображения даты в формате день - мес. - год (ДД-ММ-ГГГГ), необходимо указать d-m-Y.

Для чтения двойных слов в обратном порядке (некоторые устройства работают в таком формате ) предусмотрен опция "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) - при установке битовой маски в регистр попадет значение, соответсвтующее весам выбранных двоичных разрядов.

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

Интерпретация значения (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

Настройка вывода информации в логе приведена в разделе Системная информация и логи


Log en chkbox2.jpg

Запись регистров на графики

После выбора опции "Save data for graphs" в настройках регистра, появится возможность указать частоту записи на графики и выбрать цвет отображения данных регистра на графиках. Также появится опция передачи данных лога на облачный сайт разработчика.

  • Интервал времени (Time interval) - Частота записи на графики, возможны варианты: 1 hour (1 час), 15,5,2,1 мин., Use data from log (использовать данные из лога).


Save data grph.jpg
Для сохранения изменений по регистру служит кнопка Save.

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

Вкладка States меню редактирования регистров позволяет задавать 4 состояния цветовой сигнализации соответсnвующим определенным значениям считанным из регистра:

  • Отключен (Disabled state) - "отключен", данные в регистре говорят о том что механизм выключен, датчик отключен (или обрыв, например для сигнала 4..20мА меньше 4мА), нет рабочего давления и т.п. Цвет сигнализации по умолчанию - серый
  • Нормальное (Normal state) - "норма", значение соответствующее нормальной работе. Цвет сигнализации по умолчанию - зеленый
  • Предупреждение (Warning state)- "предупреждение", параметр приближается к опасной границе. Цвет сигнализации по умолчанию - желтый
  • Авария (Alert state) - "авария" - аварийное состояние параметра. Цвет сигнализации по умолчанию - красный

При отключенных состояниях значение регистра на приборной панели будет отображаться черным цветом.
Reg states.png

Настройка границ значений для каждого из состояний может быть статической и динамической.

При статической (по умолчанию) настройке интервал значений состояния регистра определяется по формуле: Min <= (значение регистра ) < Max. При этом Min. Max. являются константами
При динамической настройке Min. Max. также являются параметрами, заданными в виде других регистров, и таким образом, например, в зависимости от рецептуры производимого продукта, будут меняться зоны предупреждений и аварийных состояний.

Пример динамической настройки предупреждающего (Disabled state) состояния:
Dynamic reg state.png
Здесь Сдвиг минимума и Сдвиг максимума - смещения от нижней и верхней границ зоны состояния предупреждения используемые в формуле (задаваемые с помощью Минимальное значение (Register Min), Максимальное значение (Register Max), приводимой для удобства здесь же в интерфейсе.

Работа со списком соединений и регистров

Список регистров двухуровневый, при сворачивании списка отображается только список соединений. При выборе курсором соединения справа от него появляется сheckbox для выбора или отмены выбора всех регистров в соединении.
Reg list.png

Формат списка регистров:

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

Групповые операции

В списке регистров и соединений можно проводить групповые операции - их импорт, экспорт, включение/отключение и переназначение соединения для выбранной группы регистров.
Bulk operation.png
Меню Гупповые операции (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.