Работа с регистрами — различия между версиями
Строка 15: | Строка 15: | ||
:'''Register address''' Адрес в пространстве адресов данного соединения (ПЛК) | :'''Register address''' Адрес в пространстве адресов данного соединения (ПЛК) | ||
[[Файл:Create reg.png|750px]]<br> | [[Файл:Create reg.png|750px]]<br> | ||
+ | |||
<p>Для примера (не подключая никаких внешних усройств) можно использовать внунтренний регистр интервалов ''I10'', значение которого (остаток от деления текущего времени в сек. на 10) меняется с каждой сек. от 0 до 9. Присвоим ему имя "Интервал 10 сек.". Результат базовой настройки:</p> | <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><br> | [[Файл:Saved reg in list.png|750px]] <br><br> | ||
+ | |||
<p>Формат списка регистров: | <p>Формат списка регистров: | ||
: '''ID''' - уникальный номер регистра в проекте. | : '''ID''' - уникальный номер регистра в проекте. | ||
Строка 63: | Строка 66: | ||
*'''Max log interval''' - Если регистр не менял значение, либо изменения находились внутри "допуска", тогда эта настройка позволяет тем не менее записать регистр в лог по истечении указанного в поле ввода интервала в сек. | *'''Max log interval''' - Если регистр не менял значение, либо изменения находились внутри "допуска", тогда эта настройка позволяет тем не менее записать регистр в лог по истечении указанного в поле ввода интервала в сек. | ||
*'''Max graph interval''' - Данные лога могут быть источником для исторических графиков (Graphs) (см. настройки регистра для записи на график ниже), тогда если не было данных в течение указанного интервала, на графике будет соответсвующий разрыв. | *'''Max graph interval''' - Данные лога могут быть источником для исторических графиков (Graphs) (см. настройки регистра для записи на график ниже), тогда если не было данных в течение указанного интервала, на графике будет соответсвующий разрыв. | ||
+ | |||
<p>Настройка вывода информации в логе приведена в разделе [[Меню_настроек|Системная информация и логи]] </p> | <p>Настройка вывода информации в логе приведена в разделе [[Меню_настроек|Системная информация и логи]] </p> | ||
+ | |||
<br> | <br> | ||
[[Файл:Log en chkbox2.jpg|750px]] | [[Файл:Log en chkbox2.jpg|750px]] | ||
=== Запись регистров на графики === | === Запись регистров на графики === | ||
+ | |||
<p>После выбора опции "Save data for graphs" в настройках регистра, появится возможность указать частоту записи на графики и выбрать цвет отображения данных регистра на графиках. Появятся 2 дополнительные настройки:</p> | <p>После выбора опции "Save data for graphs" в настройках регистра, появится возможность указать частоту записи на графики и выбрать цвет отображения данных регистра на графиках. Появятся 2 дополнительные настройки:</p> | ||
− | * | + | |
− | * | + | * '''Time interval''' - Частота записи на графики, возможны варианты: 1 hour (1 час), 15,5,2,1 мин., Use data from log (использовать данные из лога). <br> |
+ | * '''Color for graphs''' - Указывается цвет в формате RGB --> #00(R)00(G)00(B), например для выбора синего цвета - #0000ff. Либо можно выбрать из палитры спправа от поля ввода. <br> | ||
<br> | <br> | ||
[[Файл:Save data grph.jpg|750px]] | [[Файл:Save data grph.jpg|750px]] | ||
Строка 78: | Строка 85: | ||
=== Примеры === | === Примеры === | ||
− | + | Допустим, имеется внутренний интервальный регистр ''I10'', меняющий свои значения от 0 до 9 каждые 10 сек. Лог с настройками по умолчанию, т.е. когда установили опцию '''Enable log''' при незаполненных остальных настройках, сохранит все значения по нарастанию:</p> <br> | |
[[Файл:Log 12345.png|750px]] | [[Файл:Log 12345.png|750px]] | ||
<br> | <br> | ||
Строка 84: | Строка 91: | ||
[[Файл:Log tol 2.png|750px]] | [[Файл:Log tol 2.png|750px]] | ||
<br><br> | <br><br> | ||
− | + | ||
+ | Т.е. значения пишутся при изменении более чем на 2. | ||
<br> | <br> | ||
− | + | ||
+ | Проредить данные по частоте записи можно установив '''Min log interval''' = 2, записывая таким образом данные не чаще чем 2 сек. Результат изменений:<br> | ||
[[Файл:Log interleave 2sec.png|750px]]</p> | [[Файл:Log interleave 2sec.png|750px]]</p> | ||
<br> | <br> | ||
Чтобы проверить работу настройки '''Max log interval''', можно установить '''Tolerance''' = 10 (тогда все значения будут "отбрасываться", так как они не в "допуске"), но благодаря установке '''Max log interval''' = 10, по истечении 10 сек. тем не менее значение регистра будет записано в лог. <br> | Чтобы проверить работу настройки '''Max log interval''', можно установить '''Tolerance''' = 10 (тогда все значения будут "отбрасываться", так как они не в "допуске"), но благодаря установке '''Max log interval''' = 10, по истечении 10 сек. тем не менее значение регистра будет записано в лог. <br> | ||
[[Файл:Log max 10 sec.png|750px]] | [[Файл:Log max 10 sec.png|750px]] | ||
− | + | ||
− | + | ||
<br> | <br> | ||
− | <p>Для примера настройки записи регистра ''I10'' на исторический график по данным лога, воспользуйтесь предыдущим примером c установкой '''Tolerance''' = 2. Настройки лога: </p> | + | |
+ | Поскольку период изменения регистра ''I10'' равен как раз 10 сек., в логе находится всегда одно значение 1с.</p> | ||
+ | |||
+ | |||
+ | |||
+ | Для примера настройки записи регистра ''I10'' на исторический график по данным лога, воспользуйтесь предыдущим примером c установкой '''Tolerance''' = 2. Настройки лога: </p> | ||
[[Файл:Save data for graph.png|750px]] | [[Файл:Save data for graph.png|750px]] | ||
<br> | <br> | ||
Строка 102: | Строка 115: | ||
[[Файл:Graph setup.png|750px]] | [[Файл:Graph setup.png|750px]] | ||
<br><br> | <br><br> | ||
− | + | ||
+ | Результат настроек на графике: | ||
+ | |||
<br> | <br> | ||
[[Файл:Graph result.png|750px]] | [[Файл:Graph result.png|750px]] | ||
Строка 115: | Строка 130: | ||
При отключенных состояниях значение регистра на приборной панели будет отображаться черным цветом.<br> | При отключенных состояниях значение регистра на приборной панели будет отображаться черным цветом.<br> | ||
[[Файл:Reg states.png|750px]]<br><br> | [[Файл:Reg states.png|750px]]<br><br> | ||
− | + | ||
+ | Настройка границ значений для каждого из состояний может быть '''статической''' и '''динамической'''. | ||
:При '''статической''' (по умолчанию) настройке интервал значений состояния регистра определяется по формуле: ''Min <= (значение регистра ) < Max''. При этом ''Min. Max.'' являются константами | :При '''статической''' (по умолчанию) настройке интервал значений состояния регистра определяется по формуле: ''Min <= (значение регистра ) < Max''. При этом ''Min. Max.'' являются константами | ||
:При '''динамической''' настройке ''Min. Max.'' также являются константами, но заданными относительно значений других регистров, и таким образом, например, в зависимости от рецептуры производимого продукта, будут меняться зоны предупреждений и аварийных состояний. | :При '''динамической''' настройке ''Min. Max.'' также являются константами, но заданными относительно значений других регистров, и таким образом, например, в зависимости от рецептуры производимого продукта, будут меняться зоны предупреждений и аварийных состояний. |
Версия 05:53, 14 июля 2015
Содержание
Общие сведения
В контексте задач автоматизации сбора данных, управления оборудованием и диспетчеризации под “Регистрами” понимают данные с которыми работают средства и системы автоматизации. Они могут описывать какие-то внешние параметры технологических процессов (значение температуры, давления, расхода, состояния исполнительных механизмов и т.п.) или внутренние состояния самих устройств (параметры работы регуляторов, фильтров и пр.).
Регистры в проекте WEBHMI соответствуют аналогичным понятиям в системах автоматизации - "тег", "переменная" и указывают на то с какими данными из сопряженных устройств мы собираемся работать (читать/записывать), кроме того, они имеют дополнительные атрибуты, управляющие тем, как будут отображаться и обрабатываться системой данные этих регистров. Регистры могут быть двух типов - внутренние (из внутренней памяти WEBHMI) и внешние (содержащие данные от подключенных устройств). Настройки регистров позволяют задавать:
- Имя регистра, соединение, адрес в сети соединения, временно отключать регистр, т.е. исключать его из списка опрашиваемых данных.
- Тип данных (бит, байт, слово и т.д.), формат (целый, с плав. точкой, знаковый и т.д. ), ед. измерения, задание масштабных и смещающих коэффициентов, границы допустимых значений, границы значений, вводимых оператором , количество знаков после запятой, сопоставление словаря (для регистра с данными типа перечисления, когда каждому номеру записанному в регистре соответствует пункт словаря)
- настраивать запись регистр в лог и на графики
- задавать 4 состояния сигнализации (цветовой) регистра - отключен, норма, предупреждение, авария. При этом визуальные элементы (текст, пиктограммы) и данные в логе меняют цвет соответственно текущему состоянию.
Создание регистра, базовые настройки
Для создания регистра необходимо зайти в меню Setup --> Registers и нажать кнопку Add new register. После этого в появившейся вкладке Basic info указать:
- Title Название регистра
- PLC Соединение (ПЛК), через которое опрашиваются данные регистра
- Register address Адрес в пространстве адресов данного соединения (ПЛК)
Для примера (не подключая никаких внешних усройств) можно использовать внунтренний регистр интервалов I10, значение которого (остаток от деления текущего времени в сек. на 10) меняется с каждой сек. от 0 до 9. Присвоим ему имя "Интервал 10 сек.". Результат базовой настройки:
После нажатия кнопки Save , поскольку не был определен тип данных, система предложит указать тип на вкладке Value, для I10 нужно указать Word и снова нажать Save - мы вернемся к списку всех регистров:
Формат списка регистров:
- ID - уникальный номер регистра в проекте.
- Title, PLC, Address - введенные ранее поля Название,содениение (ПЛК), Адрес.
- Type - тип данных регистра
- State - включен или отключен опрос этого регистра драйвером.
- Value - отображение текущего состояние регистра, удобная функция для отладки - сразу же видно корректность настройки и наличие соединения.
- Кнопки Edit, Delete, Clone - соотвественно Редактирование, Удаление, Копирование регистра.
Настройка типа и формата данных регистра
Вкладка Value меню редактирвоания регистра служит для настройки типа и формата данных регистра. Данные настройки влияют на то, как считанные двоичные данные из регистров подключенного устройства интерпретируются для отображения или записи.
Описание настроек на верхнем рисунке (начало):
- 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 - указание инженерных единиц для данных регистра. Указанная в поле строка будет отображаться после текстовой строки со значением регистра на приборной панели.
- Register Data Type - Тип данных:
Описание настроек на нижнем рисунке (Продолжение):
- Value Calculations - Масштабирование со смещением данных в регистре. Используется для приведения шкал считываемых данных например из АЦП в инженерные единицы. Данные преобразуются по формуле:
- Итоговое значение = [Считанное в регистр значение] х Множитель + Смещение
- Multiplicator - Множитель
- Shift Value = Смещение
- Precision = Количество знаков после запятой для значений с плав. точкой.
- Min/Max Allowed Value For Operator - Данные поля позволяют ограничить мин. и макс. возможное значение для регистра, который может меняться пользователем с приборной панели.
- Min/Max Reasonable Value - Данные поля позволяют обозначить зону недостоверных значений регистра, таким образом можно судить о неисправности датчика. При чтении значения вне зоны, в регистр будет записан ноль, который в свою очередь можно определить как "отключенное состояние" - см. ниже по тексту.
- Value Calculations - Масштабирование со смещением данных в регистре. Используется для приведения шкал считываемых данных например из АЦП в инженерные единицы. Данные преобразуются по формуле:
Настройка записи регистра в лог и на графики
<p>Регистры имеют настройки , позволяющие записывать их по определнным правилам в лог и на графики.Запись регистров в лог
После выбора опции "Enable Log" в настройках регистра, в пункте меню Maintenance появится новый пункт - "Registers Log" и появятся 4 настройки:
- Change tolerance - "Допуск" (в абсолютном значении или в %) на отклонение значения регистра от текущего , при превышении которого он запишется в лог. Если поле оставить пустым, запись произойдет при любом изменении. Частота записи при этом будет определяться настройками последующих пунктов.
- Min log interval - Служит для прореживания данных, ограничивет частоту записей на величину в сек., указанных в поле ввода.
- Max log interval - Если регистр не менял значение, либо изменения находились внутри "допуска", тогда эта настройка позволяет тем не менее записать регистр в лог по истечении указанного в поле ввода интервала в сек.
- Max graph interval - Данные лога могут быть источником для исторических графиков (Graphs) (см. настройки регистра для записи на график ниже), тогда если не было данных в течение указанного интервала, на графике будет соответсвующий разрыв.
Настройка вывода информации в логе приведена в разделе Системная информация и логи
Запись регистров на графики
После выбора опции "Save data for graphs" в настройках регистра, появится возможность указать частоту записи на графики и выбрать цвет отображения данных регистра на графиках. Появятся 2 дополнительные настройки:
- Time interval - Частота записи на графики, возможны варианты: 1 hour (1 час), 15,5,2,1 мин., Use data from log (использовать данные из лога).
- Color for graphs - Указывается цвет в формате RGB --> #00(R)00(G)00(B), например для выбора синего цвета - #0000ff. Либо можно выбрать из палитры спправа от поля ввода.
Для сохранения изменений служит кнопка Save.
Примеры
Допустим, имеется внутренний интервальный регистр I10, меняющий свои значения от 0 до 9 каждые 10 сек. Лог с настройками по умолчанию, т.е. когда установили опцию Enable log при незаполненных остальных настройках, сохранит все значения по нарастанию:</p>
Если теперь установить значение Tolerance = 2, тогда лог станет выглядеть так:
Т.е. значения пишутся при изменении более чем на 2.
Проредить данные по частоте записи можно установив Min log interval = 2, записывая таким образом данные не чаще чем 2 сек. Результат изменений:
</p>
Чтобы проверить работу настройки Max log interval, можно установить Tolerance = 10 (тогда все значения будут "отбрасываться", так как они не в "допуске"), но благодаря установке Max log interval = 10, по истечении 10 сек. тем не менее значение регистра будет записано в лог.
Поскольку период изменения регистра I10 равен как раз 10 сек., в логе находится всегда одно значение 1с.</p>
Для примера настройки записи регистра I10 на исторический график по данным лога, воспользуйтесь предыдущим примером c установкой Tolerance = 2. Настройки лога: </p>
Необходимо указывать значение Max graph interval, иначе на графике точки значений не будут соединены между собой линией.
Настройки графика:
Результат настроек на графике:
Настройка состояний
Вкладка States меню редактирования регистров позволяет задавать 4 состояния цветовой сигнализации соответсвенно определенным значениям считанным из регистра:
- Disabled state - "отключен", данные в регистре говорят о том что механизм выключен, датчик отключен (или обрыв, например для сигнала 4..20мА меньше 4мА), нет рабочего давления и т.п. Цвет сигнализации по умолчанию - серый
- Normal state - "норма", значение соответвующее нормальной работе. Цвет сигнализации по умолчанию - зеленый
- Warning state- "предупреждение", параметр приближается к опасной границе. Цвет сигнализации по умолчанию - желтый
- Alert state - "авария" - аварийное состояние параметра. Цвет сигнализации по умолчанию - красный
При отключенных состояниях значение регистра на приборной панели будет отображаться черным цветом.
Настройка границ значений для каждого из состояний может быть статической и динамической.
- При статической (по умолчанию) настройке интервал значений состояния регистра определяется по формуле: Min <= (значение регистра ) < Max. При этом Min. Max. являются константами
- При динамической настройке Min. Max. также являются константами, но заданными относительно значений других регистров, и таким образом, например, в зависимости от рецептуры производимого продукта, будут меняться зоны предупреждений и аварийных состояний.
Пример динамической настройки предупреждающего (Warning state) состояния:
Здесь Delta Min и Max - смещения от нижней и верхней границ зоны состояния предупреждения используемые в формуле, приводимой для удобства здесь же в интерфейсе. Настройки состояний Disable, Normal, Alert одинаковы изображенному выше на рис. Warning state.