Внутренние регистры WebHMI
В версии WebHMI 1.5 доступны такие внутренние регистры.
Содержание
Dxxx - Data registers
Регистр | Описание | Единицы измерения | Тип данных | Read/Write | ||
D0 | Обычный регистр для нужнд пользователей. | Word | Read/Write | |||
... | ||||||
D255 | Обычный регистр для нужнд пользователей. | Word | Read/Write |
Данные в этих регистрах после перезагрузки не сохраняются.
T0 - Time register
Регистр | Описание | Единицы измерения | Тип данных | Read/Write |
T0 | Текущее время | Секунды | [UnixTime] | Read/- |
Регистры для чтения состояния оборудования на борту WebHMI
Регистр | Описание | Единицы измерения | Тип данных | Read/Write |
H0 | Флаг валидности значения температуры. 1 = значение достоверное, 0 = значение не достоверно | Bit | Read/- | |
H1 | Флаг валидности регистров контролера питания, 1 = значения достоверное, 0 = значения не достоверны | Bit | Read/- | |
H2 | Температура на кристалле RTC | Градусы Цельсия | Double word, float 32 | Read/- |
H3 | Входное напряжение | Вольты | Double word, float 32 | Read/- |
H4 | Напряжение на батарее | Вольты | Double word, float 32 | Read/- |
H5 | “Power OK” - питание в норме | Bit | Read/- | |
H6 | "Battery Low" - батарея разряжен. 1 означает, что на батарее напряжение достигло минимального но еще рабочего напряжения, WebHMI завершит работу штатным образом. | Bit | Read/- | |
H7 | Battery Critical. Напряжение на батарее достигло минимального значения, и если в течении 10 сек не появится входное напряжение то контролер обесточит WebHMI. | Bit | Read/- | |
H8 | System OK. 1 означает что система загрузилась и работает. | Bit | Read/- | |
H9 | “External Power Supply”. Работаем на 24В. 1 означает что система работает от внешнего питания. | Bit | Read/- | |
H10 | “Internal Power Supply”. Работаем от аккумулятора. 1 означает что система работает от аккумулятора. | Bit | Read/- | |
H11 | "Reset enabled" - включен таймер на подачу сигнала RESET. 1 означает что система собирается перезагрузиться. | Bit | Read/- | |
H12 | “Power OFF enabled”. 1 означает что система собирается выключиться. | Bit | Read/- |
Ixxx - Intervals
Регистры интервалов. Обычно применяются в условиях событий. Например, если нужно получить событие, которое срабатывает каждые 10 секунд, то можно сравнивать значение регистра I10 c нулем (I10 == 0). Если нужен интервал 2 минуты то нужно использовать регистр I120.
Регистр | Описание | Единицы измерения | Тип данных | Read/Write | ||
I1 | Остаток деления текущего времени на 1 | Секунды | Double Word, Unsigned Int | Read/- | ||
I2 | Остаток деления текущего времени на 2 | Секунды | Double Word, Unsigned Int | Read/- | ||
I3 | Остаток деления текущего времени на 3 | Секунды | Double Word, Unsigned Int | Read/- | ||
... |
Rxxx - Random values
Генератор случайных чисел. Rxxx = rand() % xxx.
Значение регистра с номером xxx это остаток от деления случайного числа на xxx (адрес регистра).
Пример: R123 будет возвращать случайные числа в диапазоне от 0 до 122 включительно.
Регистр | Описание | Единицы измерения | Тип данных | Read/Write | ||
R2 | Случайное целое в интервале от 0 до 1 (включительно). | Double Word, Unsigned Int | Read/- | |||
R3 | Случайное целое в интервале от 0 до 2 (включительно). | Double Word, Unsigned Int | Read/- | |||
R4 | Случайное целое в интервале от 0 до 3 (включительно). | Double Word, Unsigned Int | Read/- | |||
... |
Некоторые наиболее важные метрики операцинной системы.
Регистр | Описание | Единицы измерения | Тип данных | Read/Write |
L0 | Свободная память | KiB | Word, Unsigned Int | Read/- |
L1 | Свободная память плюс память занятая буферами ОС | KiB | Word, Unsigned Int | Read/- |
L2 | 1 minute [load average] | Double Word, Float 32 | Read/- | |
L3 | 5 minutes [load average] | Double Word, Float 32 | Read/- | |
L4 | 15 minutes [load average] | Double Word, Float 32 | Read/- |
Exxx.xxx - Event registers
Регистры из условий. Если условие Х, у которого id = Y, сейчас выполняется, то можно читать некоторые его значения из регистров вида EY.xxx. Только чтение.
Читать можно те значения, которые добавлены в таблицу отчета. Для удобства, каждое такое значение подписано прямо в редакторе условий.
На этом экране видны регистры E1.0, E1.1, E1.2. Когда условие выполняется то в них будут содержаться соответствующие значения из отчета с id = 1. В данном примере в регистре E1.0 будет время начала выполнения условия в формате [UnixTime], в E1.1 время его завершения либо 0 если оно еще не завершилось, в E1.2 - значение из регистра "Рецепт" на момент начала события.
ESxxx - Event State
Регистры состояния условий.
Например, единица в регистре ES2 означает что событие с id=2 сейчас выполняется. Если в регистре ES2 ноль то это это значит что условие не выполняется.
Регистр | Описание | Единицы измерения | Тип данных | Read/Write | ||
ES1 | Состояние условия с id=1 | Bit | Read/- | |||
ES2 | Состояние условия с id=2 | Bit | Read/- | |||
ES3 | Состояние условия с id=3 | Bit | Read/- | |||
... |
ELxxx - Event Length
Регистры длительности событий.
Например, в регистре EL2 будет содержаться длительность в секундах выполнения события с id=2 при условии что это событие сейчас выполняется. Если в регистре EL2 ноль то это это значит что условие не выполняется или его длительность меньше 1 секунды.
Регистр | Описание | Единицы измерения | Тип данных | Read/Write | ||
EL1 | Длительность события с id=1 | Секунды | Double Word | Read/- | ||
EL2 | Длительность события с id=2 | Секунды | Double Word | Read/- | ||
EL3 | Длительность события с id=3 | Секунды | Double Word | Read/- | ||
... |