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

Материал из WebHMI Wiki
Перейти к: навигация, поиск
Строка 5: Строка 5:
 
<p>Регистры в проекте WEBHMI соответствуют аналогичным понятиям в системах автоматизации - "тег", "переменная" и указывают на то с какими данными из сопряженных устройств мы собираемся работать (читать/записывать), кроме того, они имеют дополнительные атрибуты, управляющие тем, как будут отображаться и обрабатываться  системой данные этих регистров. Регистры могут быть двух типов - '''внутренние''' (из внутренней памяти WEBHMI) и '''внешние''' (содержащие данные от подключенных устройств). Настройки регистров позволяют задавать: </p>
 
<p>Регистры в проекте WEBHMI соответствуют аналогичным понятиям в системах автоматизации - "тег", "переменная" и указывают на то с какими данными из сопряженных устройств мы собираемся работать (читать/записывать), кроме того, они имеют дополнительные атрибуты, управляющие тем, как будут отображаться и обрабатываться  системой данные этих регистров. Регистры могут быть двух типов - '''внутренние''' (из внутренней памяти WEBHMI) и '''внешние''' (содержащие данные от подключенных устройств). Настройки регистров позволяют задавать: </p>
 
* Имя регистра, соединение, адрес в сети соединения, временно отключать регистр, т.е. исключать его из списка опрашиваемых данных.
 
* Имя регистра, соединение, адрес в сети соединения, временно отключать регистр, т.е. исключать его из списка опрашиваемых данных.
* Размер данных (бит, байт, слово и т.д.), формат (целый, с плав. точкой, знаковый и т.д. ), ед. измерения, задание масштабных и смещающих коэффициентов, границы допустимых значений, границы значений, вводимых оператором , количество знаков после запятой, сопоставление словаря (для регистра с данными типа перечисления, когда каждому номеру записанному в регистре соответствует пункт словаря)
+
* Тип данных (бит, байт, слово и т.д.), формат (целый, с плав. точкой, знаковый и т.д. ), ед. измерения, задание масштабных и смещающих коэффициентов, границы допустимых значений, границы значений, вводимых оператором , количество знаков после запятой, сопоставление словаря (для регистра с данными типа перечисления, когда каждому номеру записанному в регистре соответствует пункт словаря)
 
* настраивать запись регистр в лог и на графики  
 
* настраивать запись регистр в лог и на графики  
 
* задавать 4 состояния сигнализации (цветовой) регистра - отключен, норма, предупреждение, авария. При этом визуальные элементы (текст, пиктограммы) и данные в логе меняют цвет соответственно текущему состоянию.<br>
 
* задавать 4 состояния сигнализации (цветовой) регистра - отключен, норма, предупреждение, авария. При этом визуальные элементы (текст, пиктограммы) и данные в логе меняют цвет соответственно текущему состоянию.<br>
Строка 11: Строка 11:
 
== Создание регистра, базовые настройки ==
 
== Создание регистра, базовые настройки ==
 
Для создания регистра необходимо зайти в меню '''Setup --> Registers''' и нажать кнопку '''Add new register'''. После этого в появившейся вкладке Basic info указать: <br>
 
Для создания регистра необходимо зайти в меню '''Setup --> Registers''' и нажать кнопку '''Add new register'''. После этого в появившейся вкладке Basic info указать: <br>
* '''Title''' Название регистра
+
:'''Title''' Название регистра
* '''PLC''' Соединение (ПЛК), через которое опрашиваются данные регистра
+
:'''PLC''' Соединение (ПЛК), через которое опрашиваются данные регистра
* '''Register address''' Адрес в пространстве адресов данного соединения (ПЛК)  
+
:'''Register address''' Адрес в пространстве адресов данного соединения (ПЛК)  
 
[[Файл:Create reg.png|750px]]<br>
 
[[Файл:Create reg.png|750px]]<br>
Для примера (не подключая некаких внешних усройств) можно использовать внунтренний регистр интервалов ''I10'', значение которого (остаток от деления текущего времени в сек. на 10) меняется с каждой сек. от 0 до 9. Присвоим ему имя "Интервал 10 сек.". Результат базовой настройки:<br>
+
<p>Для примера (не подключая никаких внешних усройств) можно использовать внунтренний регистр интервалов ''I10'', значение которого (остаток от деления текущего времени в сек. на 10) меняется с каждой сек. от 0 до 9. Присвоим ему имя "Интервал 10 сек.". Результат базовой настройки:</p>
 
[[Файл:Create reg basic.png|750px]] <br>
 
[[Файл:Create reg basic.png|750px]] <br>
 
После нажатия кнопки Save , поскольку не был определен тип данных, система предложит указать тип на вкладке '''Value''', для ''I10'' нужно указать Word и снова нажать '''Save''' -  мы вернемся к списку всех регистров: <br>
 
После нажатия кнопки Save , поскольку не был определен тип данных, система предложит указать тип на вкладке '''Value''', для ''I10'' нужно указать Word и снова нажать '''Save''' -  мы вернемся к списку всех регистров: <br>
 
[[Файл:Saved reg in list.png|750px]] <br>
 
[[Файл:Saved reg in list.png|750px]] <br>
 
Формат списка регистров:
 
Формат списка регистров:
* '''ID''' - уникальный номер регистра в проекте.  
+
: '''ID''' - уникальный номер регистра в проекте.  
* '''Title, PLC, Address ''' - введенные ранее поля Название,содениение (ПЛК), Адрес.
+
: '''Title, PLC, Address ''' - введенные ранее поля Название,содениение (ПЛК), Адрес.
* '''Type''' - тип данных регистра
+
: '''Type''' - тип данных регистра
* '''State''' - включен или отключен опрос этого регистра драйвером.
+
: '''State''' - включен или отключен опрос этого регистра драйвером.
* '''Value''' - отображение текущего состояние регистра, удобная функция для отладки - сразу же видно корректность настройки и наличие соединения.
+
: '''Value''' - отображение текущего состояние регистра, удобная функция для отладки - сразу же видно корректность настройки и наличие соединения.
* Кнопки '''Edit, Delete, Clone''' - соотвественно Редактирование, Удаление, Копирование регистра.
+
: Кнопки '''Edit, Delete, Clone''' - соотвественно Редактирование, Удаление, Копирование регистра.
 +
 
 +
== Настройка типа и формата данных регистра ==
 +
 
 +
Вкладка '''Value''' меню редактирвоания регистра служит для настройки типа и формата данных регистра. Данные настройки влияют на то, как считанные двоичные данные из регистров подключенного устройства интерпретируются для отображения или записи. <br>
 +
[[Файл:Value tab 1.png|750px|часть 1]]<br>
 +
Описание настроек на верхнем рисунке (начало):
 +
::'''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''' = Количество знаков после запятой для значений с плав. точкой.
 +
[[Файл:Value tab 2.png|750px| часть 2 ]]
 
== Настройка записи регистра в лог и на графики ==
 
== Настройка записи регистра в лог и на графики ==
  
 
== Настройка состояний ==
 
== Настройка состояний ==

Версия 22:10, 7 января 2015

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

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

Регистры в проекте 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 = Количество знаков после запятой для значений с плав. точкой.

часть 2

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

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