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

Материал из WebHMI Wiki
Перейти к: навигация, поиск
(Новая страница: «== Dxxx - Data registers == <table border="1" cellspacing="0"> <tr><td>Register</td><td>Описание</td><td>Units</td><td>Data type</td><td>Read/Write</td></…»)
 
(не показано 25 промежуточных версий этого же участника)
Строка 1: Строка 1:
 +
<languages/>
 
The following internal registers are available in WebHMI (for version 1.5 and higher):
 
The following internal registers are available in WebHMI (for version 1.5 and higher):
  
Строка 30: Строка 31:
 
The data in these registers are NOT stored after the reboot.
 
The data in these registers are NOT stored after the reboot.
  
Пользователю доступны 2000 байт в оперативной памяти. Адрес регистра - это адрес начала фрагмента в блоке памяти.
+
The user can access 2000 bytes of RAM. The register address is the address of the beginning of the fragment in the memory block.
  
В зависимости от выбранного типа данных на один регистр приходится разное количество байт. Так, можно обращаться к регистру с адресом D12 как к байту. В этом случае будет обращение к одному байту в памяти. Если обратится к регистру с адресом D12 как к слову (Word) то физически будет обращение к двум байтам с адресами D12 и D13 из которых будет составлено слово. Таким образом можно обращаться к отдельным байтам в нужном слове или двойном слове. Система не проверяет адреса регистров на пересечения или наложения. Этот контроль должен быть выполнен пользователем.
+
Depending on the selected data type, a different number of bytes is required per register. So, you can access the register with address D12 as byte. In this case, there will be a reference to one byte in memory. If you access the register with the address D12 as a word (Word), then physically there will be access to two bytes with addresses D12 and D13 of which the word will be composed. In this way, you can access the individual bytes in the desired word or double word. The system does not check the register addresses for intersections or overlays. This control must be performed by the user.
  
 
== DSxxx - Data static registers ==
 
== DSxxx - Data static 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>Register</td><td>Description</td><td>Units</td><td>Data type</td><td>Read/Write</td></tr>
<tr><td>DS0</td><td>Энергонезависимый регистр для нужд пользователей.</td><td></td><td>Byte, Word, Double Word</td><td>Read/Write</td></tr>
+
<tr><td>DS0</td><td>Non-volatile register for user needs.</td><td></td><td>Byte, Word, Double Word</td><td>Read/Write</td></tr>
 
<tr><td colspan="7" align="center">...</td></tr>
 
<tr><td colspan="7" align="center">...</td></tr>
<tr><td>DS1999</td><td>Энергонезависимый регистр для нужд пользователей.</td><td></td><td>Byte, Word, Double Word</td><td>Read/Write</td></tr>
+
<tr><td>DS1999</td><td>Non-volatile register for user needs.</td><td></td><td>Byte, Word, Double Word</td><td>Read/Write</td></tr>
 
</table>
 
</table>
Данные в этих регистрах после перезагрузки СОХРАНЯЮТСЯ. Пользователю доступны 2000 байт в энергонезависимой памяти. Адрес регистра - это адрес начала фрагмента в блоке памяти.
+
The data in these registers are stored after rebooting. The user can access 2000 bytes in non-volatile memory. The register address is the address of the beginning of the fragment in the memory block.
  
В зависимости от выбранного типа данных на один регистр приходится разное количество байт. Так, можно обращаться к регистру с адресом DS12 как к байту. В этом случае будет обращение к одному байту в памяти. Если обратится к регистру с адресом DS12 как к слову (Word) то физически будет обращение к двум байтам с адресами DS12 и DS13 из которых и будет составлено слово. Таким образом можно обращаться к отдельным байтам в нужном слове или двойном слове. Система не проверяет адреса регистров на пересечения или наложения. Этот контроль должен быть выполнен пользователем.
+
Depending on the selected data type, a different number of bytes is required per register. So, you can access the register with the DS12 address as a byte. In this case, there will be a reference to one byte in memory. If you access the register with DS12 as the word (Word), then physically it will access two bytes with DS12 and DS13 addresses of which the word will be composed. In this way, you can access the individual bytes in the desired word or double word. The system does not check the register addresses for intersections or overlays. This control must be performed by the user.
  
Энергонезависимая память реализована в аппаратной платформа ревизии V5.34 и выше.
+
Nonvolatile memory is implemented in the hardware revision platform V5.34 and higher.
  
 
== Tx - Time registers ==
 
== Tx - Time 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>Register</td><td>Description</td><td>Units</td><td> Data type</td><td>Read/Write</td></tr>
<tr><td>T0</td><td>Текущее время</td><td>Секунды</td><td>[[https://ru.wikipedia.org/wiki/UNIX-время UnixTime]]</td><td>Read/-</td></tr>
+
<tr><td>T0</td><td>Current time</td><td>Seconds</td><td>[[https://ru.wikipedia.org/wiki/UNIX-время UnixTime]]</td><td>Read/-</td></tr>
<tr><td>T1</td><td>Время, затраченное на обмен данными со всеми регистрами в предыдущем цикле.</td><td>Милисекунды</td><td>Double Word, Unsigned Int</td><td>Read/-</td></tr>
+
<tr><td>T1</td><td>The time taken to exchange data with all the registers in the previous cycle.</td><td>Милисекунды</td><td>Double Word, Unsigned Int</td><td>Read/-</td></tr>
<tr><td>T2</td><td>Время, затраченное на обмен данными, обработку всех событий, сценариев, записью в базу данных, записью новых значений в устройства в предыдущем цикле. Фактически, это полный цикл без учета паузы между циклами.</td><td>Милисекунды</td><td>Double Word, Unsigned Int</td><td>Read/-</td></tr>
+
<tr><td>T2</td><td>Time spent on data exchange, processing of all events, scripts, writing to the database, writing new values ​​to the devices in the previous cycle. In fact, this is a complete cycle without taking into account the pause between cycles.</td><td>Милисекунды</td><td>Double Word, Unsigned Int</td><td>Read/-</td></tr>
<tr><td>T3</td><td>Полное фактическое время предыдущего цикла с учетом паузы между циклами.</td><td>Милисекунды</td><td>Double Word, Unsigned Int</td><td>Read/-</td></tr>
+
<tr><td>T3</td><td>The total actual time of the previous cycle, taking into account the pause between cycles.</td><td>Milliseconds</td><td>Double Word, Unsigned Int</td><td>Read/-</td></tr>
 
</table>
 
</table>
  
 
== Hx  - Hardware-related registers ==
 
== Hx  - Hardware-related registers ==
Регистры для чтения состояния оборудования на борту WebHMI
+
Registers for reading WebHMI on-board hardware status
 
<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>Register</td><td>Description</td><td>Units</td><td>Data type</td><td>Read/Write</td></tr>
<tr><td>H0</td><td>Флаг валидности значения температуры. 1 = значение достоверное, 0 = значение не достоверно</td><td></td><td>Bit</td><td>Read/-</td></tr>
+
<tr><td>H0</td><td>Flag is the validity of the temperature value. 1 = value is reliable, 0 = value is not reliable</td><td></td><td>Bit</td><td>Read/-</td></tr>
<tr><td>H1</td><td>Флаг валидности регистров контролера питания, 1 = значения достоверное, 0 = значения не достоверны</td><td></td><td>Bit</td><td>Read/-</td></tr>
+
<tr><td>H1</td><td>Validation flag of power controller registers, 1 = valid values, 0 = values ​​are not reliable</td><td></td><td>Bit</td><td>Read/-</td></tr>
<tr><td>H2</td><td>Температура на кристалле RTC</td><td>Градусы Цельсия</td><td>Double word, float 32</td><td>Read/-</td></tr>
+
<tr><td>H2</td><td>RTC IC Temperature</td><td>Celsius degrees</td><td>Double word, float 32</td><td>Read/-</td></tr>
<tr><td>H3</td><td>Входное напряжение</td><td>Вольты</td><td>Double word, float 32</td><td>Read/-</td></tr>
+
<tr><td>H3</td><td>Input voltage </td><td>Вольты</td><td>Double word, float 32</td><td>Read/-</td></tr>
<tr><td>H4</td><td>Напряжение на батарее</td><td>Вольты</td><td>Double word, float 32</td><td>Read/-</td></tr>
+
<tr><td>H4</td><td>Battery voltage</td><td>Вольты</td><td>Double word, float 32</td><td>Read/-</td></tr>
<tr><td>H5</td><td>“Power OK” - питание в норме</td><td></td><td>Bit</td><td>Read/-</td></tr>
+
<tr><td>H5</td><td>“Power OK” - power is good.</td><td></td><td>Bit</td><td>Read/-</td></tr>
<tr><td>H6</td><td>"Battery Low" - батарея разряжен. 1 означает, что на батарее напряжение достигло минимального но еще рабочего напряжения, WebHMI завершит работу штатным образом.</td><td></td><td>Bit</td><td>Read/-</td></tr>
+
<tr><td>H6</td><td>"Battery Low" - the battery is discharged. 1 means that the battery voltage reached a minimal but still operational voltage, WebHMI will complete its work in a regular manner.</td><td></td><td>Bit</td><td>Read/-</td></tr>
<tr><td>H7</td><td>Battery Critical. Напряжение на батарее достигло минимального значения, и если в течении 10 сек не появится входное напряжение то контролер обесточит WebHMI.</td><td></td><td>Bit</td><td>Read/-</td></tr>
+
<tr><td>H7</td><td>Battery Critical.The voltage on the battery has reached a minimum value, and if the input voltage does not appear within 10 seconds, the controller will de-energize WebHMI.</td><td></td><td>Bit</td><td>Read/-</td></tr>
<tr><td>H8</td><td>System OK. 1 означает что система загрузилась и работает.</td><td></td><td>Bit</td><td>Read/-</td></tr>
+
<tr><td>H8</td><td>System OK. 1 means the system has booted up and running.</td><td></td><td>Bit</td><td>Read/-</td></tr>
<tr><td>H9</td><td>“External Power Supply”. Работаем на 24В. 1 означает что система работает от внешнего питания.</td><td></td><td>Bit</td><td>Read/-</td></tr>
+
<tr><td>H9</td><td>“External Power Supply”. Working from 24V.
<tr><td>H10</td><td>“Internal Power Supply”. Работаем от аккумулятора. 1 означает что система работает от аккумулятора.</td><td></td><td>Bit</td><td>Read/-</td></tr>
+
1 means that the system is powered by external power.</td><td></td><td>Bit</td><td>Read/-</td></tr>
<tr><td>H11</td><td>"Reset enabled" - включен таймер на подачу сигнала RESET. 1 означает что система собирается перезагрузиться.</td><td></td><td>Bit</td><td>Read/-</td></tr>
+
<tr><td>H10</td><td>“Internal Power Supply”. Working from battery. 1 means the system is running on battery power.</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>
+
<tr><td>H11</td><td>"Reset enabled" - The timer for the RESET signal is switched on. 1 means the system is about to reboot.</td><td></td><td>Bit</td><td>Read/-</td></tr>
 +
<tr><td>H12</td><td>“Power OFF enabled”. 1 means the system is going to shut down.</td><td></td><td>Bit</td><td>Read/-</td></tr>
 
</table>
 
</table>
  
 
== B0 - Sound alert register ==
 
== B0 - Sound alert register ==
<p>С помощью этого регистра можно издавать звуки встроенной в WebHMI пищалкой. В регистр нужно записать значение от 1 до 8. WebHMI издаст соответствующее количество звуковых сигналов. После того как сигналы прозвучат WebHMI перестанет издавать звук. Для повтороного звукового сигнала следует еще раз записать нужное число в этот регистр. </p>
+
<p>With the help of this register you can make sounds of the built-in WebHMI buzzer. A value of 1 to 8 must be written to the register. WebHMI will issue a corresponding number of beeps. After the signals sound, WebHMI stops making a sound. To repeat the sound signal, you need to write down the desired number again in this register.  
<p>Запись в этот регистр можно организовать с помощью сценариев. Так, например, можно издавать писк при обрыве связи или при наступлении аварийой ситуации. </p>
+
You can write to this register using scripts. So, for example, you can make a squeaking when the connection breaks down or when an emergency situation occurs. </p>
<p>При чтении из этого регистра всегда будет возвращаться 0.</p>
+
<p>When reading from this register, 0 will always return.</p>
  
 
== DOx - Digital Output registers ==
 
== DOx - Digital Output registers ==
<p>Регистры внешних сухих контактов. При запиписи в регистр соответствующий сухой контакт будет замкнут.</p>
+
<p>Registers of external solid-state relays (SSRs). When writing to the register, the corresponding SSR will be closed.</p>
<p>С помощью сухих контактов можно организовать управление внешнимим устройствами или же передать сигналы но внешние системы. Например, можно подключить охранную или пожарную системы и передавать им сигналы тревоги.</p>
+
<p>With the help of SSR it is possible to organize control of external devices or to transmit signals to external systems. For example, you can connect a security or fire system and send them alarm signals.</p>
 
<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>Register</td><td>Description</td><td>Ubits</td><td>Data type</td><td>Read/Write</td></tr>
<tr><td>DO0</td><td>Сухой контакт номер 1</td><td></td><td>Bit</td><td>Read/Write</td></tr>
+
<tr><td>DO0</td><td>SSR number 1</td><td></td><td>Bit</td><td>Read/Write</td></tr>
<tr><td>DO1</td><td>Сухой контакт номер 2</td><td></td><td>Bit</td><td>Read/Write</td></tr>
+
<tr><td>DO1</td><td>SSR number 2</td><td></td><td>Bit</td><td>Read/Write</td></tr>
 
</table>
 
</table>
  
 
== Ixxx - Intervals ==
 
== Ixxx - Intervals ==
<p>Регистры интервалов. Обычно применяются в условиях событий. Например, если нужно получить событие, которое срабатывает каждые 10 секунд, то можно сравнивать значение регистра I10 c нулем (I10 == 0).
+
<p>Interval registers. Usually used in the event conditions. For example, if you want to receive an event that fires every 10 seconds, you can compare the value of I10 with zero (I10 == 0).  
Если нужен интервал 2 минуты то нужно использовать регистр I120.</p>
+
If you need an interval of 2 minutes then you need to use the I120 register.</p>
 
<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>Register</td><td>Description</td><td>Units</td><td>Data type</td><td>Read/Write</td></tr>
<tr><td>I1</td><td>Остаток деления текущего времени на 1</td><td>Секунды</td><td>Double Word, Unsigned Int</td><td>Read/-</td></tr>
+
<tr><td>I1</td><td>The remainder of the current time division by 1</td><td>Seconds</td><td>Double Word, Unsigned Int</td><td>Read/-</td></tr>
<tr><td>I2</td><td>Остаток деления текущего времени на 2</td><td>Секунды</td><td>Double Word, Unsigned Int</td><td>Read/-</td></tr>
+
<tr><td>I2</td><td>The remainder of the current time division by 2</td><td>Seconds</td><td>Double Word, Unsigned Int</td><td>Read/-</td></tr>
<tr><td>I3</td><td>Остаток деления текущего времени на 3</td><td>Секунды</td><td>Double Word, Unsigned Int</td><td>Read/-</td></tr>
+
<tr><td>I3</td><td>The remainder of the current time division by 3</td><td>Seconds</td><td>Double Word, Unsigned Int</td><td>Read/-</td></tr>
 
<tr><td colspan="7" align="center">...</td></tr>
 
<tr><td colspan="7" align="center">...</td></tr>
 
</table>
 
</table>
  
 
== Rxxx - Random values ==
 
== Rxxx - Random values ==
<p>Генератор случайных чисел. Rxxx = rand() % xxx.</p>
+
<p>Random number generator. Rxxx = rand() % xxx.</p>
<p>Значение регистра с номером xxx это остаток от деления случайного числа на xxx (адрес регистра).</p>
+
<p>The value of the register with the number xxx is the remainder of the division of the random number by xxx (register address).</p>
<p>Пример: R123 будет возвращать случайные числа в диапазоне от 0 до 122 включительно.</p>
+
<p>Example: R123 will return random numbers in the range from 0 to 122 inclusive.</p>
 
<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>Register</td><td>Description</td><td>Units</td><td>Data type/td><td>Read/Write</td></tr>
<tr><td>R2</td><td>Случайное целое в интервале от 0 до 1 (включительно).</td><td></td><td>Double Word, Unsigned Int</td><td>Read/-</td></tr>
+
<tr><td>R2</td><td>Random integer in the range from 0 to 1 (inclusive).</td><td></td><td>Double Word, Unsigned Int</td><td>Read/-</td></tr>
<tr><td>R3</td><td>Случайное целое в интервале от 0 до 2 (включительно).</td><td></td><td>Double Word, Unsigned Int</td><td>Read/-</td></tr>
+
<tr><td>R3</td><td>Random integer in the range from 0 to 2 (inclusive).</td><td></td><td>Double Word, Unsigned Int</td><td>Read/-</td></tr>
<tr><td>R4</td><td>Случайное целое в интервале от 0 до 3 (включительно).</td><td></td><td>Double Word, Unsigned Int</td><td>Read/-</td></tr>
+
<tr><td>R4</td><td>Random integer in the range from 0 to 3(inclusive)..</td><td></td><td>Double Word, Unsigned Int</td><td>Read/-</td></tr>
 
<tr><td colspan="7" align="center">...</td></tr>
 
<tr><td colspan="7" align="center">...</td></tr>
 
</table>
 
</table>
  
 
== Lx - Linux-related registers ==
 
== Lx - Linux-related registers ==
<p>Некоторые наиболее важные метрики операцинной системы.</p>
+
<p>Some most important metrics of the operating system. </p>
 
<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>Register</td><td>Description</td><td>Units</td><td>Data type</td><td>Read/Write</td></tr>
<tr><td>L0</td><td>Свободная память</td><td>KiB</td><td>Word, Unsigned Int</td><td>Read/-</td></tr>
+
<tr><td>L0</td><td>Free memory</td><td>KiB</td><td>Word, Unsigned Int</td><td>Read/-</td></tr>
<tr><td>L1</td><td>Свободная память плюс память занятая буферами ОС</td><td>KiB</td><td>Word, Unsigned Int</td><td>Read/-</td></tr>
+
<tr><td>L1</td><td>Free memory plus memory occupied by OS buffers</td><td>KiB</td><td>Word, Unsigned Int</td><td>Read/-</td></tr>
 
<tr><td>L2</td><td>1 minute [[http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages load average]]</td><td></td><td>Double Word, Float 32</td><td>Read/-</td></tr>
 
<tr><td>L2</td><td>1 minute [[http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages load average]]</td><td></td><td>Double Word, Float 32</td><td>Read/-</td></tr>
 
<tr><td>L3</td><td>5 minutes [[http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages load average]]</td><td></td><td>Double Word, Float 32</td><td>Read/-</td></tr>
 
<tr><td>L3</td><td>5 minutes [[http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages load average]]</td><td></td><td>Double Word, Float 32</td><td>Read/-</td></tr>
Строка 124: Строка 126:
  
 
== Exxx.xxx - Event registers ==
 
== Exxx.xxx - Event registers ==
<p>Регистры из условий. Если условие Х, у которого id = Y, сейчас выполняется, то можно читать некоторые его значения из регистров вида EY.xxx. Только чтение.</p>
+
<p>Registers of events. If the event X, for which id = Y, is now being executed, then some of its values ​​from registers of the form EY.xxx can be read. Only reading.</p>
<p>Читать можно те значения, которые добавлены в таблицу отчета. Для удобства, каждое такое значение подписано прямо в редакторе условий.</p>
+
<p>You can read the values ​​that are added to the report table. For convenience, each such value is signed directly in the condition editor.</p>
[[Файл:Event_registers.png|800px]]
+
[[Файл:Event_registers.png|1000px]]
<p>На этом экране видны регистры E1.0, E1.1, E1.2. Когда условие выполняется то в них будут содержаться соответствующие значения из отчета с id = 1. В данном примере в регистре E1.0 будет время начала выполнения условия в формате [[https://ru.wikipedia.org/wiki/UNIX-время UnixTime]], в E1.1 время его завершения либо 0 если оно еще не завершилось, в E1.2 - значение из регистра "Рецепт" на момент начала события.</p>
+
<p>On this screen threre are registers E1.0, E1.1, E1.2. When the event is now on, the register will store respective values from the report with id = 1. In this example the E1.0 register will store event start time  [[https://ru.wikipedia.org/wiki/UNIX-время UnixTime]], E1.1 - event end time or 0 if event not finished yet, E1.2 - the value from register "Recipe" at the moment of event start.</p>
  
 
== ESxxx - Event State ==
 
== ESxxx - Event State ==
<p>Регистры состояния условий.</p>
+
<p>Event state registers.</p>
<p>Например, единица в регистре ES2 означает что событие с id=2 сейчас выполняется. Если в регистре ES2 ноль то это это значит что условие не выполняется.</p>
+
<p>For example, value "1" in the ES2 register means that the event with id = 2 is now running. If the register ES2 = "0", then event is not active.</p>
 
<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>Register</td><td>Description</td><td>Units</td><td>Data type</td><td>Read/Write</td></tr>
<tr><td>ES1</td><td>Состояние условия с id=1</td><td></td><td>Bit</td><td>Read/-</td></tr>
+
<tr><td>ES1</td><td> Event state with id=1</td><td></td><td>Bit</td><td>Read/-</td></tr>
<tr><td>ES2</td><td>Состояние условия с id=2</td><td></td><td>Bit</td><td>Read/-</td></tr>
+
<tr><td>ES2</td><td> Event state withid=2</td><td></td><td>Bit</td><td>Read/-</td></tr>
<tr><td>ES3</td><td>Состояние условия с id=3</td><td></td><td>Bit</td><td>Read/-</td></tr>
+
<tr><td>ES3</td><td> Event state with id=3</td><td></td><td>Bit</td><td>Read/-</td></tr>
 
<tr><td colspan="7" align="center">...</td></tr>
 
<tr><td colspan="7" align="center">...</td></tr>
 
</table>
 
</table>
  
 
== ELxxx - Event Length ==
 
== ELxxx - Event Length ==
<p>Регистры длительности событий.</p>
+
<p>Event length registers.</p>
<p>Например, в регистре EL2 будет содержаться длительность в секундах выполнения события с id=2 при условии что это событие сейчас выполняется. Если в регистре EL2 ноль то это это значит что условие не выполняется или его длительность меньше 1 секунды.</p>
+
<p>For example, the EL2 register will contain the duration in seconds of the event with id = 2, provided that this event is currently running. If the register EL2 is zero, then this means that the condition is not met or its duration is less than 1 second.</p>
 
<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>Register</td><td>Description</td><td>Units</td><td>Data type</td><td>Read/Write</td></tr>
<tr><td>EL1</td><td>Длительность события с id=1</td><td>Секунды</td><td>Double Word</td><td>Read/-</td></tr>
+
<tr><td>EL1</td><td>Duration of the event with id=1</td><td>Секунды</td><td>Double Word</td><td>Read/-</td></tr>
<tr><td>EL2</td><td>Длительность события с id=2</td><td>Секунды</td><td>Double Word</td><td>Read/-</td></tr>
+
<tr><td>EL2</td><td>Duration of the event with id=2</td><td>Секунды</td><td>Double Word</td><td>Read/-</td></tr>
<tr><td>EL3</td><td>Длительность события с id=3</td><td>Секунды</td><td>Double Word</td><td>Read/-</td></tr>
+
<tr><td>EL3</td><td>Duration of the event with id=3</td><td>Секунды</td><td>Double Word</td><td>Read/-</td></tr>
 
<tr><td colspan="7" align="center">...</td></tr>
 
<tr><td colspan="7" align="center">...</td></tr>
 
</table>
 
</table>
  
 
== Sxxx - String ==
 
== Sxxx - String ==
Начиная с версии 1.11.0.3478 в WebHMI добавился новый тип данных - строки. Строки доступны как внутренние регистры Sxxx. Всего доступно 200 таких регистров S1...S200.
+
Since version 1.11.0.3478 in WebHMI, a new data type has been added-strings. The strings are available as internal Sxxx registers. A total of 200 such registers are available S1 ... S200.
 
<table border="1" cellspacing="0">
 
<table border="1" cellspacing="0">
<tr><td>Регистр</td><td>Описание</td><td>Тип данных</td><td>Read/Write</td></tr>
+
<tr><td>Register</td><td>Description</td><td>Data type</td><td>Read/Write</td></tr>
<tr><td>S1</td><td>Переменная типа строка 1</td><td>String</td><td>Read/Write</td></tr>
+
<tr><td>S1</td><td>String variable 1</td><td>String</td><td>Read/Write</td></tr>
<tr><td>S2</td><td>Переменная типа строка 2</td><td>String</td><td>Read/Write</td></tr>
+
<tr><td>S2</td><td>String variable 2</td><td>String</td><td>Read/Write</td></tr>
<tr><td>S3</td><td>Переменная типа строка 3</td><td>String</td><td>Read/Write</td></tr>
+
<tr><td>S3</td><td>String variable 3</td><td>String</td><td>Read/Write</td></tr>
 
<tr><td colspan="7" align="center">...</td></tr>
 
<tr><td colspan="7" align="center">...</td></tr>
<tr><td>S200</td><td>Переменная типа строка 200</td><td>String</td><td>Read/Write</td></tr>
+
<tr><td>S200</td><td>String variable 200</td><td>String</td><td>Read/Write</td></tr>
 
</table>
 
</table>
  
 
== TRxxx - Title of recipe ==
 
== TRxxx - Title of recipe ==
Начиная с версии 2.7 в WebHMI добавился новый тип внутренних регистров TRxx.  
+
Since version 2.7 in WebHMI, a new type of internal registers TRxx has been added. They contain the names of recipes with the specified ID.
В них содержатся названия рецептов с указанным ID.
+
 
<table border="1" cellspacing="0">
 
<table border="1" cellspacing="0">
<tr><td>Регистр</td><td>Описание</td><td>Тип данных</td><td>Read/Write</td></tr>
+
<tr><td>Register</td><td>Description</td><td>Data type</td><td>Read/Write</td></tr>
<tr><td>TR1</td><td>Название рецепа с ID=1</td><td>String</td><td>Read/Write</td></tr>
+
<tr><td>TR1</td><td>Title of recipe with ID=1</td><td>String</td><td>Read/Write</td></tr>
<tr><td>TR2</td><td>Название рецепа с ID=2</td><td>String</td><td>Read/Write</td></tr>
+
<tr><td>TR2</td><td>Title of recipe with ID=2</td><td>String</td><td>Read/Write</td></tr>
<tr><td>TR3</td><td>Название рецепа с ID=3</td><td>String</td><td>Read/Write</td></tr>
+
<tr><td>TR3</td><td>Title of recipe with ID=3</td><td>String</td><td>Read/Write</td></tr>
 
<tr><td colspan="7" align="center">...</td></tr>
 
<tr><td colspan="7" align="center">...</td></tr>
 
</table>
 
</table>
Строка 175: Строка 176:
  
 
== WCxxx - Weather Condition registers ==
 
== WCxxx - Weather Condition registers ==
<p>Текущая метеоинформация. Группа регистров, предоставляющих погодную информацию на текущий момент в месте установки WebHMI. Данные обновляются примерно каждые два часа. Для работы сервиса требуется интернет-подключение, учетная запись в Level2 и подписка на метеопрогноз. Регистры доступны начиная с версии 2.5.2400.</p>
+
<p>Current meteorological information. A group of registers that provide current weather information at the WebHMI installation site. The data is updated approximately every two hours. The service requires an Internet connection, an account in Level2 and a subscription to the weather forecast. Registers are available since version 2.5.2400.</p>
 
<table border="1" cellspacing="0">
 
<table border="1" cellspacing="0">
<tr><td>Регистр</td><td>Описание</td><td>Тип данных</td><td>Read/Write</td></tr>
+
<tr><td>Register</td><td>Description</td><td>Data type</td><td>Read/Write</td></tr>
<tr><td>WC0</td><td>Время, для которого получены данные.</td><td>Double Word, Unixtime</td><td>Read/-</td></tr>
+
<tr><td>WC0</td><td>Timestamp of the data received.</td><td>Double Word, Unixtime</td><td>Read/-</td></tr>
<tr><td>WC1</td><td>Температура воздуха, градусы Цельсия.</td><td>Double Word, Float</td><td>Read/-</td></tr>
+
<tr><td>WC1</td><td> Air temperature, Celsius degrees.</td><td>Double Word, Float</td><td>Read/-</td></tr>
<tr><td>WC2</td><td>Давление, hPa.</td><td>Word, Int</td><td>Read/-</td></tr>
+
<tr><td>WC2</td><td>Pressure, hPa.</td><td>Word, Int</td><td>Read/-</td></tr>
<tr><td>WC3</td><td>Относительная влажность, %.</td><td>Word, Int</td><td>Read/-</td></tr>
+
<tr><td>WC3</td><td>Relative humidity, %.</td><td>Word, Int</td><td>Read/-</td></tr>
<tr><td>WC4</td><td>Скорость ветра, м/с.</td><td>Double Word, Float</td><td>Read/-</td></tr>
+
<tr><td>WC4</td><td>Wind speed, м/с.</td><td>Double Word, Float</td><td>Read/-</td></tr>
<tr><td>WC5</td><td>Направление, откуда дует ветер, метрологические градусы.</td><td>Double Word, Float</td><td>Read/-</td></tr>
+
<tr><td>WC5</td><td>The direction from where the wind blows, the metrological degrees.</td><td>Double Word, Float</td><td>Read/-</td></tr>
<tr><td>WC6</td><td>Облачность, %.</td><td>Word, Int</td><td>Read/-</td></tr>
+
<tr><td>WC6</td><td> Cloudiness, %.</td><td>Word, Int</td><td>Read/-</td></tr>
<tr><td>WC7</td><td>Количество осадков (дождь), мм.</td><td>Double Word, Float</td><td>Read/-</td></tr>
+
<tr><td>WC7</td><td>Precipitation(rain), mm.</td><td>Double Word, Float</td><td>Read/-</td></tr>
<tr><td>WC8</td><td>Количество осадков (снег), мм.</td><td>Double Word, Float</td><td>Read/-</td></tr>
+
<tr><td>WC8</td><td>Precipitation (snow), mm.</td><td>Double Word, Float</td><td>Read/-</td></tr>
<tr><td>WC9</td><td>Текстовое описание текущей погоды</td><td>String</td><td>Read/-</td></tr>
+
<tr><td>WC9</td><td>Textual description of the current weather</td><td>String</td><td>Read/-</td></tr>
 
</table>
 
</table>
<p>Текстовое описание текущей погоды может быть: Clear, Clouds, Rain, Snow, Thunderstorm, Mist.</p>
+
<p>Textual description of the current weather can be on of these: Clear, Clouds, Rain, Snow, Thunderstorm, Mist.</p>
  
 
== WFxxx - Weather Forecast registers ==
 
== WFxxx - Weather Forecast registers ==
<p>Прогноз погоды на ближайшие сутки с интервалом 3 часа. Доступен прогноз на семь 3-х часовых интервалов вперед. Данные обновляются примерно каждые два часа. Для работы сервиса требуется интернет-подключение, учетная запись в Level2 и подписка на метеопрогноз. Регистры доступны начиная с версии 2.5.2400.</p>
+
<p>Weather forecast for the next day with an interval of 3 hours. The forecast is available for seven 3-hour intervals ahead. The data is updated approximately every two hours. The service requires an Internet connection, an account in Level2 and a subscription to the weather forecast. Registers are available since version 2.5.2400.</p>
<p>Регистры аналогичны регистрам WCxxx. Адреса регистров строятся таким образом: [номер интервала] * 10 + [адрес регистра WCxxx].</p>
+
<p>The registers are the same as the WCxxx registers. Addresses of registers are constructed in this way: [interval number] * 10 + [register address WCxxx].</p>
  
<p>Пример: <br>
+
<p>Example: <br>
WF1 = Температура воздуха в следующем 3-х часовом интервале.<br>
+
WF1 = Air temperature in the next 3 hours interval.<br>
WF21 = Температура воздуха примерно через 6 часов.<br>
+
WF21 = Air temperature in the next 6 hours interval.<br>
WF31 = Температура воздуха примерно через 9 часов.<br>
+
WF31 = Air temperature in the next 9 hours interval.<br>
 
И т.д.
 
И т.д.
 
</p>
 
</p>
  
<p>Для более точного понимания на какое время строится прогноз, можно использовать метки времени в регистрах WFx0.</p>
+
<p>For a more accurate understanding of how long a forecast is built, you can use timestamps in the WFx0 registers.</p>
  
 
<table border="1" cellspacing="0">
 
<table border="1" cellspacing="0">
<tr><td>Регистр</td><td>Описание</td><td>Тип данных</td><td>Read/Write</td></tr>
+
<tr><td>Register</td><td>Description</td><td>Data type</td><td>Read/Write</td></tr>
<tr><td>WF0</td><td>Интервал 1. Время, для которого получены данные.</td><td>Double Word, Unixtime</td><td>Read/-</td></tr>
+
<tr><td>WF0</td><td>Interval 1. The time for which the data was received.</td><td>Double Word, Unixtime</td><td>Read/-</td></tr>
<tr><td>WF1</td><td>Интервал 1. Температура воздуха, градусы Цельсия.</td><td>Double Word, Float</td><td>Read/-</td></tr>
+
<tr><td>WF1</td><td>Interval 1. Air temperature, degrees Celsius.</td><td>Double Word, Float</td><td>Read/-</td></tr>
<tr><td>WF2</td><td>Интервал 1. Давление, hPa.</td><td>Word, Int</td><td>Read/-</td></tr>
+
<tr><td>WF2</td><td>Interval 1. Pressure, hPa</td><td>Word, Int</td><td>Read/-</td></tr>
<tr><td>WF3</td><td>Интервал 1. Относительная влажность, %.</td><td>Word, Int</td><td>Read/-</td></tr>
+
<tr><td>WF3</td><td>Interval 1. Relative humidity, %.</td><td>Word, Int</td><td>Read/-</td></tr>
<tr><td>WF4</td><td>Интервал 1. Скорость ветра, м/с.</td><td>Double Word, Float</td><td>Read/-</td></tr>
+
<tr><td>WF4</td><td>Interval 1. Wind speed, m/s.</td><td>Double Word, Float</td><td>Read/-</td></tr>
<tr><td>WF5</td><td>Интервал 1. Направление, откуда дует ветер, метрологические градусы.</td><td>Double Word, Float</td><td>Read/-</td></tr>
+
<tr><td>WF5</td><td>Interval 1. The direction from where the wind is blowing, meteorological degrees.</td><td>Double Word, Float</td><td>Read/-</td></tr>
<tr><td>WF6</td><td>Интервал 1. Облачность, %.</td><td>Word, Int</td><td>Read/-</td></tr>
+
<tr><td>WF6</td><td>Interval 1. Cloudiness, %.</td><td>Word, Int</td><td>Read/-</td></tr>
<tr><td>WF7</td><td>Интервал 1. Количество осадков (дождь), мм.</td><td>Double Word, Float</td><td>Read/-</td></tr>
+
<tr><td>WF7</td><td>Interval 1. Precipitation (rain), mm.</td><td>Double Word, Float</td><td>Read/-</td></tr>
<tr><td>WF8</td><td>Интервал 1. Количество осадков (снег), мм.</td><td>Double Word, Float</td><td>Read/-</td></tr>
+
<tr><td>WF8</td><td>Interval 1. Precipitation (snow), mm.</td><td>Double Word, Float</td><td>Read/-</td></tr>
<tr><td>WF9</td><td>Интервал 1. Текстовое описание текущей погоды</td><td>String</td><td>Read/-</td></tr>
+
<tr><td>WF9</td><td>Interval 1. Textual description of the current weather</td><td>String</td><td>Read/-</td></tr>
<tr><td>WF10</td><td>Интервал 2. Время, для которого получены данные.</td><td>Double Word, Unixtime</td><td>Read/-</td></tr>
+
<tr><td>WF10</td><td>Interval 2. The time for which the data was received.</td><td>Double Word, Unixtime</td><td>Read/-</td></tr>
<tr><td>WF11</td><td>Интервал 2. Температура воздуха, градусы Цельсия.</td><td>Double Word, Float</td><td>Read/-</td></tr>
+
<tr><td>WF11</td><td>Interval 2. Air temperature, degrees Celsius.</td><td>Double Word, Float</td><td>Read/-</td></tr>
<tr><td>WF12</td><td>Интервал 2. Давление, hPa.</td><td>Word, Int</td><td>Read/-</td></tr>
+
<tr><td>WF12</td><td>Interval 2. Pressure, hPa.</td><td>Word, Int</td><td>Read/-</td></tr>
<tr><td>WF13</td><td>Интервал 2. Относительная влажность, %.</td><td>Word, Int</td><td>Read/-</td></tr>
+
<tr><td>WF13</td><td>Interval 2. Relative humidity, %.</td><td>Word, Int</td><td>Read/-</td></tr>
<tr><td>WF14</td><td>Интервал 2. Скорость ветра, м/с.</td><td>Double Word, Float</td><td>Read/-</td></tr>
+
<tr><td>WF14</td><td>Interval 2. Wind speed, м/с.</td><td>Double Word, Float</td><td>Read/-</td></tr>
<tr><td>WF15</td><td>Интервал 2. Направление, откуда дует ветер, метрологические градусы.</td><td>Double Word, Float</td><td>Read/-</td></tr>
+
<tr><td>WF15</td><td>Interval 2. The direction from where the wind is blowing, meteorological degrees.</td><td>Double Word, Float</td><td>Read/-</td></tr>
<tr><td>WF16</td><td>Интервал 2. Облачность, %.</td><td>Word, Int</td><td>Read/-</td></tr>
+
<tr><td>WF16</td><td>Interval 2. Cloudiness, %.</td><td>Word, Int</td><td>Read/-</td></tr>
<tr><td>WF17</td><td>Интервал 2. Количество осадков (дождь), мм.</td><td>Double Word, Float</td><td>Read/-</td></tr>
+
<tr><td>WF17</td><td>Interval 2. Precipitation (rain), mm.</td><td>Double Word, Float</td><td>Read/-</td></tr>
<tr><td>WF18</td><td>Интервал 2. Количество осадков (снег), мм.</td><td>Double Word, Float</td><td>Read/-</td></tr>
+
<tr><td>WF18</td><td>Interval 2. Precipitation (snow), mm.</td><td>Double Word, Float</td><td>Read/-</td></tr>
<tr><td>WF19</td><td>Интервал 2. Текстовое описание текущей погоды</td><td>String</td><td>Read/-</td></tr>
+
<tr><td>WF19</td><td>Interval 2. Textual description of the current weather</td><td>String</td><td>Read/-</td></tr>
 
<tr><td>...</td><td>...</td><td>...</td><td>...</td></tr>
 
<tr><td>...</td><td>...</td><td>...</td><td>...</td></tr>
<tr><td>WF60</td><td>Интервал 7. Время, для которого получены данные.</td><td>Double Word, Unixtime</td><td>Read/-</td></tr>
+
<tr><td>WF60</td><td>Interval 7. The time for which the data was received.</td><td>Double Word, Unixtime</td><td>Read/-</td></tr>
<tr><td>WF61</td><td>Интервал 7. Температура воздуха, градусы Цельсия.</td><td>Double Word, Float</td><td>Read/-</td></tr>
+
<tr><td>WF61</td><td>Interval 7. Air temperature, degrees Celsius.</td><td>Double Word, Float</td><td>Read/-</td></tr>
<tr><td>WF62</td><td>Интервал 7. Давление, hPa.</td><td>Word, Int</td><td>Read/-</td></tr>
+
<tr><td>WF62</td><td>Interval 7. Pressure, hPa.</td><td>Word, Int</td><td>Read/-</td></tr>
<tr><td>WF63</td><td>Интервал 7. Относительная влажность, %.</td><td>Word, Int</td><td>Read/-</td></tr>
+
<tr><td>WF63</td><td>Interval 7. Relative humidity, %.</td><td>Word, Int</td><td>Read/-</td></tr>
<tr><td>WF64</td><td>Интервал 7. Скорость ветра, м/с.</td><td>Double Word, Float</td><td>Read/-</td></tr>
+
<tr><td>WF64</td><td>Interval 7. Wind speed, м/с.</td><td>Double Word, Float</td><td>Read/-</td></tr>
<tr><td>WF65</td><td>Интервал 7. Направление, откуда дует ветер, метрологические градусы.</td><td>Double Word, Float</td><td>Read/-</td></tr>
+
<tr><td>WF65</td><td>Interval 7. The direction from where the wind is blowing, meteorological degrees.</td><td>Double Word, Float</td><td>Read/-</td></tr>
<tr><td>WF66</td><td>Интервал 7. Облачность, %.</td><td>Word, Int</td><td>Read/-</td></tr>
+
<tr><td>WF66</td><td>Interval 7. Cloudiness, %.</td><td>Word, Int</td><td>Read/-</td></tr>
<tr><td>WF67</td><td>Интервал 7. Количество осадков (дождь), мм.</td><td>Double Word, Float</td><td>Read/-</td></tr>
+
<tr><td>WF67</td><td>Interval 7. Precipitation (rain), mm.</td><td>Double Word, Float</td><td>Read/-</td></tr>
<tr><td>WF68</td><td>Интервал 7. Количество осадков (снег), мм.</td><td>Double Word, Float</td><td>Read/-</td></tr>
+
<tr><td>WF68</td><td>Interval 7. Precipitation (snow), mm.</td><td>Double Word, Float</td><td>Read/-</td></tr>
<tr><td>WF69</td><td>Интервал 7. Текстовое описание текущей погоды</td><td>String</td><td>Read/-</td></tr>
+
<tr><td>WF69</td><td>Interval 7. Textual description of the current weather</td><td>String</td><td>Read/-</td></tr>
 
</table>
 
</table>
<p>Текстовое описание текущей погоды может быть: Clear, Clouds, Rain, Snow, Thunderstorm, Mist.</p>
+
<p>Textual description of the current weather can be: Clear, Clouds, Rain, Snow, Thunderstorm, Mist.</p>
  
 
== WSxxx - Sunset/Sunrize registers ==
 
== WSxxx - Sunset/Sunrize registers ==
<p>Время восхода и заката солнца в текущих сутках. Для работы сервиса требуется интернет-подключение, учетная запись в Level2 и подписка на метеопрогноз. Регистры доступны начиная с версии 2.5.2400.</p>
+
<p>The time of sunrise and sunset in the current day. The service requires an Internet connection, an account in Level2 and a subscription to the weather forecast. Registers are available since version 2.5.2400.</p>
 
<table border="1" cellspacing="0">
 
<table border="1" cellspacing="0">
<tr><td>Регистр</td><td>Описание</td><td>Тип данных</td><td>Read/Write</td></tr>
+
<tr><td>Register</td><td>Description</td><td>Data type</td><td>Read/Write</td></tr>
<tr><td>WS0</td><td>Время рассветра.</td><td>Double Word, Unixtime</td><td>Read/-</td></tr>
+
<tr><td>WS0</td><td>Sunrise time.</td><td>Double Word, Unixtime</td><td>Read/-</td></tr>
<tr><td>WS1</td><td>Время заката.</td><td>Double Word, Unixtime</td><td>Read/-</td></tr>
+
<tr><td>WS1</td><td>Sunset time.</td><td>Double Word, Unixtime</td><td>Read/-</td></tr>
 
</table>
 
</table>
<p>Текстовое описание текущей погоды может быть: Clear, Clouds, Rain, Snow, Thunderstorm, Mist.</p>
+
<p>A textual description of the current weather can be: Clear, Clouds, Rain, Snow, Thunderstorm, Mist.</p>

Текущая версия на 10:10, 13 июля 2017

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

The following internal registers are available in WebHMI (for version 1.5 and higher):

Cx - Communication registers

The presence of communication errors on different connections

RegisterDescriptionUnitsData typeRead/Write
C0The presence of communication errors in any of the connections. 0 means there is no communication error. A positive number indicates the connection number in which there is a communication error.Connection numberWord, Unsigned IntRead/-
C1The presence of a communication error in connection with ID = 1. 0 means there are no errors. A positive number means a register ID that can not be read.Register numberWord, Unsigned IntRead/-
C2The presence of a communication error in connection with ID = 2. 0 means there are no errors. A positive number means a register ID that can not be read.Register numberWord, Unsigned IntRead/-
............

CDxxx - Connection Disabled registers

Connection status - enabled / disabled. This register allows you to see whether the exchange is disabled for a specific connection. If the exchange is disabled, the system will return 1. If the exchange is not disabled, it will return 0. Recording to these registers allows you to enable / disable the exchange on the desired connection. To disable the exchange, you need to write 1 to the appropriate register.

RegisterDescriptionData typeRead/Write
CD1Exchange turned on connection with ID = 1.BitRead/Write
CD2Exchange turned on connection with ID = 2.BitRead/Write
CD3Exchange turned on connection with ID = 3.BitRead/Write
.........

Dxxx - Data registers

RegisterОписаниеUnitsData typeRead/Write
D0A common register for user needs.Bit, Byte, Word, Double WordRead/Write
...
D1999A common register for user needs.Bit, Byte, Word, Double WordRead/Write

The data in these registers are NOT stored after the reboot.

The user can access 2000 bytes of RAM. The register address is the address of the beginning of the fragment in the memory block.

Depending on the selected data type, a different number of bytes is required per register. So, you can access the register with address D12 as byte. In this case, there will be a reference to one byte in memory. If you access the register with the address D12 as a word (Word), then physically there will be access to two bytes with addresses D12 and D13 of which the word will be composed. In this way, you can access the individual bytes in the desired word or double word. The system does not check the register addresses for intersections or overlays. This control must be performed by the user.

DSxxx - Data static registers

RegisterDescriptionUnitsData typeRead/Write
DS0Non-volatile register for user needs.Byte, Word, Double WordRead/Write
...
DS1999Non-volatile register for user needs.Byte, Word, Double WordRead/Write

The data in these registers are stored after rebooting. The user can access 2000 bytes in non-volatile memory. The register address is the address of the beginning of the fragment in the memory block.

Depending on the selected data type, a different number of bytes is required per register. So, you can access the register with the DS12 address as a byte. In this case, there will be a reference to one byte in memory. If you access the register with DS12 as the word (Word), then physically it will access two bytes with DS12 and DS13 addresses of which the word will be composed. In this way, you can access the individual bytes in the desired word or double word. The system does not check the register addresses for intersections or overlays. This control must be performed by the user.

Nonvolatile memory is implemented in the hardware revision platform V5.34 and higher.

Tx - Time registers

RegisterDescriptionUnits Data typeRead/Write
T0Current timeSeconds[UnixTime]Read/-
T1The time taken to exchange data with all the registers in the previous cycle.МилисекундыDouble Word, Unsigned IntRead/-
T2Time spent on data exchange, processing of all events, scripts, writing to the database, writing new values ​​to the devices in the previous cycle. In fact, this is a complete cycle without taking into account the pause between cycles.МилисекундыDouble Word, Unsigned IntRead/-
T3The total actual time of the previous cycle, taking into account the pause between cycles.MillisecondsDouble Word, Unsigned IntRead/-

Hx - Hardware-related registers

Registers for reading WebHMI on-board hardware status

RegisterDescriptionUnitsData typeRead/Write
H0Flag is the validity of the temperature value. 1 = value is reliable, 0 = value is not reliableBitRead/-
H1Validation flag of power controller registers, 1 = valid values, 0 = values ​​are not reliableBitRead/-
H2RTC IC TemperatureCelsius degreesDouble word, float 32Read/-
H3Input voltage ВольтыDouble word, float 32Read/-
H4Battery voltageВольтыDouble word, float 32Read/-
H5“Power OK” - power is good.BitRead/-
H6"Battery Low" - the battery is discharged. 1 means that the battery voltage reached a minimal but still operational voltage, WebHMI will complete its work in a regular manner.BitRead/-
H7Battery Critical.The voltage on the battery has reached a minimum value, and if the input voltage does not appear within 10 seconds, the controller will de-energize WebHMI.BitRead/-
H8System OK. 1 means the system has booted up and running.BitRead/-
H9“External Power Supply”. Working from 24V. 1 means that the system is powered by external power.BitRead/-
H10“Internal Power Supply”. Working from battery. 1 means the system is running on battery power.BitRead/-
H11"Reset enabled" - The timer for the RESET signal is switched on. 1 means the system is about to reboot.BitRead/-
H12“Power OFF enabled”. 1 means the system is going to shut down.BitRead/-

B0 - Sound alert register

With the help of this register you can make sounds of the built-in WebHMI buzzer. A value of 1 to 8 must be written to the register. WebHMI will issue a corresponding number of beeps. After the signals sound, WebHMI stops making a sound. To repeat the sound signal, you need to write down the desired number again in this register. You can write to this register using scripts. So, for example, you can make a squeaking when the connection breaks down or when an emergency situation occurs.

When reading from this register, 0 will always return.

DOx - Digital Output registers

Registers of external solid-state relays (SSRs). When writing to the register, the corresponding SSR will be closed.

With the help of SSR it is possible to organize control of external devices or to transmit signals to external systems. For example, you can connect a security or fire system and send them alarm signals.

RegisterDescriptionUbitsData typeRead/Write
DO0SSR number 1BitRead/Write
DO1SSR number 2BitRead/Write

Ixxx - Intervals

Interval registers. Usually used in the event conditions. For example, if you want to receive an event that fires every 10 seconds, you can compare the value of I10 with zero (I10 == 0). If you need an interval of 2 minutes then you need to use the I120 register.

RegisterDescriptionUnitsData typeRead/Write
I1The remainder of the current time division by 1SecondsDouble Word, Unsigned IntRead/-
I2The remainder of the current time division by 2SecondsDouble Word, Unsigned IntRead/-
I3The remainder of the current time division by 3SecondsDouble Word, Unsigned IntRead/-
...

Rxxx - Random values

Random number generator. Rxxx = rand() % xxx.

The value of the register with the number xxx is the remainder of the division of the random number by xxx (register address).

Example: R123 will return random numbers in the range from 0 to 122 inclusive.

RegisterDescriptionUnitsData type/td>Read/Write
R2Random integer in the range from 0 to 1 (inclusive).Double Word, Unsigned IntRead/-
R3Random integer in the range from 0 to 2 (inclusive).Double Word, Unsigned IntRead/-
R4Random integer in the range from 0 to 3(inclusive)..Double Word, Unsigned IntRead/-
...

Lx - Linux-related registers

Some most important metrics of the operating system.

RegisterDescriptionUnitsData typeRead/Write
L0Free memoryKiBWord, Unsigned IntRead/-
L1Free memory plus memory occupied by OS buffersKiBWord, Unsigned IntRead/-
L21 minute [load average]Double Word, Float 32Read/-
L35 minutes [load average]Double Word, Float 32Read/-
L415 minutes [load average]Double Word, Float 32Read/-

Exxx.xxx - Event registers

Registers of events. If the event X, for which id = Y, is now being executed, then some of its values ​​from registers of the form EY.xxx can be read. Only reading.

You can read the values ​​that are added to the report table. For convenience, each such value is signed directly in the condition editor.

Event registers.png

On this screen threre are registers E1.0, E1.1, E1.2. When the event is now on, the register will store respective values from the report with id = 1. In this example the E1.0 register will store event start time [UnixTime], E1.1 - event end time or 0 if event not finished yet, E1.2 - the value from register "Recipe" at the moment of event start.

ESxxx - Event State

Event state registers.

For example, value "1" in the ES2 register means that the event with id = 2 is now running. If the register ES2 = "0", then event is not active.

RegisterDescriptionUnitsData typeRead/Write
ES1 Event state with id=1BitRead/-
ES2 Event state withid=2BitRead/-
ES3 Event state with id=3BitRead/-
...

ELxxx - Event Length

Event length registers.

For example, the EL2 register will contain the duration in seconds of the event with id = 2, provided that this event is currently running. If the register EL2 is zero, then this means that the condition is not met or its duration is less than 1 second.

RegisterDescriptionUnitsData typeRead/Write
EL1Duration of the event with id=1СекундыDouble WordRead/-
EL2Duration of the event with id=2СекундыDouble WordRead/-
EL3Duration of the event with id=3СекундыDouble WordRead/-
...

Sxxx - String

Since version 1.11.0.3478 in WebHMI, a new data type has been added-strings. The strings are available as internal Sxxx registers. A total of 200 such registers are available S1 ... S200.

RegisterDescriptionData typeRead/Write
S1String variable 1StringRead/Write
S2String variable 2StringRead/Write
S3String variable 3StringRead/Write
...
S200String variable 200StringRead/Write

TRxxx - Title of recipe

Since version 2.7 in WebHMI, a new type of internal registers TRxx has been added. They contain the names of recipes with the specified ID.

RegisterDescriptionData typeRead/Write
TR1Title of recipe with ID=1StringRead/Write
TR2Title of recipe with ID=2StringRead/Write
TR3Title of recipe with ID=3StringRead/Write
...


WCxxx - Weather Condition registers

Current meteorological information. A group of registers that provide current weather information at the WebHMI installation site. The data is updated approximately every two hours. The service requires an Internet connection, an account in Level2 and a subscription to the weather forecast. Registers are available since version 2.5.2400.

RegisterDescriptionData typeRead/Write
WC0Timestamp of the data received.Double Word, UnixtimeRead/-
WC1 Air temperature, Celsius degrees.Double Word, FloatRead/-
WC2Pressure, hPa.Word, IntRead/-
WC3Relative humidity, %.Word, IntRead/-
WC4Wind speed, м/с.Double Word, FloatRead/-
WC5The direction from where the wind blows, the metrological degrees.Double Word, FloatRead/-
WC6 Cloudiness, %.Word, IntRead/-
WC7Precipitation(rain), mm.Double Word, FloatRead/-
WC8Precipitation (snow), mm.Double Word, FloatRead/-
WC9Textual description of the current weatherStringRead/-

Textual description of the current weather can be on of these: Clear, Clouds, Rain, Snow, Thunderstorm, Mist.

WFxxx - Weather Forecast registers

Weather forecast for the next day with an interval of 3 hours. The forecast is available for seven 3-hour intervals ahead. The data is updated approximately every two hours. The service requires an Internet connection, an account in Level2 and a subscription to the weather forecast. Registers are available since version 2.5.2400.

The registers are the same as the WCxxx registers. Addresses of registers are constructed in this way: [interval number] * 10 + [register address WCxxx].

Example:
WF1 = Air temperature in the next 3 hours interval.
WF21 = Air temperature in the next 6 hours interval.
WF31 = Air temperature in the next 9 hours interval.
И т.д.

For a more accurate understanding of how long a forecast is built, you can use timestamps in the WFx0 registers.

RegisterDescriptionData typeRead/Write
WF0Interval 1. The time for which the data was received.Double Word, UnixtimeRead/-
WF1Interval 1. Air temperature, degrees Celsius.Double Word, FloatRead/-
WF2Interval 1. Pressure, hPaWord, IntRead/-
WF3Interval 1. Relative humidity, %.Word, IntRead/-
WF4Interval 1. Wind speed, m/s.Double Word, FloatRead/-
WF5Interval 1. The direction from where the wind is blowing, meteorological degrees.Double Word, FloatRead/-
WF6Interval 1. Cloudiness, %.Word, IntRead/-
WF7Interval 1. Precipitation (rain), mm.Double Word, FloatRead/-
WF8Interval 1. Precipitation (snow), mm.Double Word, FloatRead/-
WF9Interval 1. Textual description of the current weatherStringRead/-
WF10Interval 2. The time for which the data was received.Double Word, UnixtimeRead/-
WF11Interval 2. Air temperature, degrees Celsius.Double Word, FloatRead/-
WF12Interval 2. Pressure, hPa.Word, IntRead/-
WF13Interval 2. Relative humidity, %.Word, IntRead/-
WF14Interval 2. Wind speed, м/с.Double Word, FloatRead/-
WF15Interval 2. The direction from where the wind is blowing, meteorological degrees.Double Word, FloatRead/-
WF16Interval 2. Cloudiness, %.Word, IntRead/-
WF17Interval 2. Precipitation (rain), mm.Double Word, FloatRead/-
WF18Interval 2. Precipitation (snow), mm.Double Word, FloatRead/-
WF19Interval 2. Textual description of the current weatherStringRead/-
............
WF60Interval 7. The time for which the data was received.Double Word, UnixtimeRead/-
WF61Interval 7. Air temperature, degrees Celsius.Double Word, FloatRead/-
WF62Interval 7. Pressure, hPa.Word, IntRead/-
WF63Interval 7. Relative humidity, %.Word, IntRead/-
WF64Interval 7. Wind speed, м/с.Double Word, FloatRead/-
WF65Interval 7. The direction from where the wind is blowing, meteorological degrees.Double Word, FloatRead/-
WF66Interval 7. Cloudiness, %.Word, IntRead/-
WF67Interval 7. Precipitation (rain), mm.Double Word, FloatRead/-
WF68Interval 7. Precipitation (snow), mm.Double Word, FloatRead/-
WF69Interval 7. Textual description of the current weatherStringRead/-

Textual description of the current weather can be: Clear, Clouds, Rain, Snow, Thunderstorm, Mist.

WSxxx - Sunset/Sunrize registers

The time of sunrise and sunset in the current day. The service requires an Internet connection, an account in Level2 and a subscription to the weather forecast. Registers are available since version 2.5.2400.

RegisterDescriptionData typeRead/Write
WS0Sunrise time.Double Word, UnixtimeRead/-
WS1Sunset time.Double Word, UnixtimeRead/-

A textual description of the current weather can be: Clear, Clouds, Rain, Snow, Thunderstorm, Mist.