Внутренние регистры WebHMI — различия между версиями

Материал из WebHMI Wiki
Перейти к: навигация, поиск
(Lx - Linux-related registers)
Строка 1: Строка 1:
 
В версии WebHMI 1.5 доступны такие внутренние регистры:
 
В версии WebHMI 1.5 доступны такие внутренние регистры:
  
== Dxxx - Data Registers ==
+
== Dxxx - Data registers ==
 
<table border="1" cellspacing="0">
 
<table border="1" cellspacing="0">
 
<tr><td>Регистр</td><td>Описание</td><td>Единицы измерения</td><td>Тип данных</td><td>Read/Write</td></tr>
 
<tr><td>Регистр</td><td>Описание</td><td>Единицы измерения</td><td>Тип данных</td><td>Read/Write</td></tr>
Строка 10: Строка 10:
 
Данные в этих регистрах после перезагрузки не сохраняются.
 
Данные в этих регистрах после перезагрузки не сохраняются.
  
== T0 - Time Register ==
+
== T0 - Time register ==
 
<table border="1" cellspacing="0">
 
<table border="1" cellspacing="0">
 
<tr><td>Регистр</td><td>Описание</td><td>Единицы измерения</td><td>Тип данных</td><td>Read/Write</td></tr>
 
<tr><td>Регистр</td><td>Описание</td><td>Единицы измерения</td><td>Тип данных</td><td>Read/Write</td></tr>
Строка 34: Строка 34:
 
<tr><td>H12</td><td>“Power OFF enabled”. 1 означает что система собирается выключиться.</td><td></td><td>Bit</td><td>Read/-</td></tr>
 
<tr><td>H12</td><td>“Power OFF enabled”. 1 означает что система собирается выключиться.</td><td></td><td>Bit</td><td>Read/-</td></tr>
 
</table>
 
</table>
 
  
 
== Ixxx - Intervals ==
 
== Ixxx - Intervals ==
Строка 47: Строка 46:
 
</table>
 
</table>
  
== Rxxx - Random Values ==
+
== Rxxx - Random values ==
 
<p>Генератор случайных чисел. Rxxx = rand() % xxx.</p>
 
<p>Генератор случайных чисел. Rxxx = rand() % xxx.</p>
 
<p>Значение регистра с номером xxx это остаток от деления случайного числа на xxx (адрес регистра).</p>
 
<p>Значение регистра с номером xxx это остаток от деления случайного числа на xxx (адрес регистра).</p>
Строка 69: Строка 68:
 
<tr><td>L4</td><td>Свободная память плюс память занятая буферами ОС</td><td>KiB</td><td>Word, Unsigned Int</td><td>Read/-</td></tr>
 
<tr><td>L4</td><td>Свободная память плюс память занятая буферами ОС</td><td>KiB</td><td>Word, Unsigned Int</td><td>Read/-</td></tr>
 
</table>
 
</table>
 +
 +
 +
== Exxx.xxx - Event registers ==
 +
<p>Регистры из условий. Если условие Х, у которого id = Y, сейчас выполняется, то можно читать некоторые его значения из регистров вида EY.xxx. Только чтение.</p>
 +
<p>Читать можно те значения, которые добавлены в таблицу отчета. Для удобства, каждое такое значение подписано прямо в редакторе условий.</p>
 +
[[Файл:Event_registers.png|600px]]
 +
<p>На этом экране видны регистры E1.0, E1.1, E1.2. Когда условие выполняется то в них будут содержаться соответствующие значения из отчета с id = 1. В данном примере в регистре E1.0 будет время начала выполнения условия в формате UnixTime, в E1.1 время его завершения либо 0 если оно еще не завершилось, в E1.2 - значение из регистра "Рецепт" на момент начала события.</p>

Версия 20:45, 5 октября 2014

В версии WebHMI 1.5 доступны такие внутренние регистры:

Dxxx - Data registers

РегистрОписаниеЕдиницы измеренияТип данныхRead/Write
D0Обычный регистр для нужнд пользователей.WordRead/Write
...
D255Обычный регистр для нужнд пользователей.WordRead/Write

Данные в этих регистрах после перезагрузки не сохраняются.

T0 - Time register

РегистрОписаниеЕдиницы измеренияТип данныхRead/Write
T0Текущее времяСекундыUnixTimeRead/-

Hx - Hardware-related registers

Регистры для чтения состояния оборудования на борту WebHMI

РегистрОписаниеЕдиницы измеренияТип данныхRead/Write
H0Флаг валидности значения температуры. 1 = значение достоверное, 0 = значение не достоверноBitRead/-
H1Флаг валидности регистров контролера питания, 1 = значения достоверное, 0 = значения не достоверныBitRead/-
H2Температура на кристалле RTCГрадусы ЦельсияDouble word, float 32Read/-
H3Входное напряжениеВольтыDouble word, float 32Read/-
H4Напряжение на батарееВольтыDouble word, float 32Read/-
H5“Power OK” - питание в нормеBitRead/-
H6"Battery Low" - батарея разряжен. 1 означает, что на батарее напряжение достигло минимального но еще рабочего напряжения, WebHMI завершит работу штатным образом.BitRead/-
H7Battery Critical. Напряжение на батарее достигло минимального значения, и если в течении 10 сек не появится входное напряжение то контролер обесточит WebHMI.BitRead/-
H8System OK. 1 означает что система загрузилась и работает.BitRead/-
H9“External Power Supply”. Работаем на 24В. 1 означает что система работает от внешнего питания.BitRead/-
H10“Internal Power Supply”. Работаем от аккумулятора. 1 означает что система работает от аккумулятора.BitRead/-
H11"Reset enabled" - включен таймер на подачу сигнала RESET. 1 означает что система собирается перезагрузиться.BitRead/-
H12“Power OFF enabled”. 1 означает что система собирается выключиться.BitRead/-

Ixxx - Intervals

Регистры интервалов. Обычно применяются в условиях событий. Например, если нужно получить событие, которое срабатывает каждые 10 секунд, то можно сравнивать значение регистра I10 c нулем (I10 == 0). Если нужен интервал 2 минуты то нужно использовать регистр I120.

РегистрОписаниеЕдиницы измеренияТип данныхRead/Write
I1Остаток деления текущего времени на 1СекундыDouble Word, Unsigned IntRead/-
I2Остаток деления текущего времени на 2СекундыDouble Word, Unsigned IntRead/-
I3Остаток деления текущего времени на 3СекундыDouble Word, Unsigned IntRead/-
...

Rxxx - Random values

Генератор случайных чисел. Rxxx = rand() % xxx.

Значение регистра с номером xxx это остаток от деления случайного числа на xxx (адрес регистра).

Пример: R123 будет возвращать случайные числа в диапазоне от 0 до 122 включительно.

РегистрОписаниеЕдиницы измеренияТип данныхRead/Write
R2Случайное целое в интервале от 0 до 1 (включительно).Double Word, Unsigned IntRead/-
R3Случайное целое в интервале от 0 до 2 (включительно).Double Word, Unsigned IntRead/-
R4Случайное целое в интервале от 0 до 3 (включительно).Double Word, Unsigned IntRead/-
...

Lx - Linux-related registers

Некоторые наиболее важные метрики операцинной системы.

РегистрОписаниеЕдиницы измеренияТип данныхRead/-
L0Свободная памятьKiBWord, Unsigned IntRead/-
L11 minute [load average]Double Word, Float 32Read/-
L25 minutes [load average]Double Word, Float 32Read/-
L315 minutes [load average]Double Word, Float 32Read/-
L4Свободная память плюс память занятая буферами ОСKiBWord, Unsigned IntRead/-


Exxx.xxx - Event registers

Регистры из условий. Если условие Х, у которого id = Y, сейчас выполняется, то можно читать некоторые его значения из регистров вида EY.xxx. Только чтение.

Читать можно те значения, которые добавлены в таблицу отчета. Для удобства, каждое такое значение подписано прямо в редакторе условий.

Event registers.png

На этом экране видны регистры E1.0, E1.1, E1.2. Когда условие выполняется то в них будут содержаться соответствующие значения из отчета с id = 1. В данном примере в регистре E1.0 будет время начала выполнения условия в формате UnixTime, в E1.1 время его завершения либо 0 если оно еще не завершилось, в E1.2 - значение из регистра "Рецепт" на момент начала события.