User Tools

Site Tools


webhmi_internal_registers

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
webhmi_internal_registers [2019/07/17 08:01] akuzmukwebhmi_internal_registers [2021/07/22 15:26] – [WebHMI Internal Registers] emozolyak
Line 1: Line 1:
 ====== WebHMI Internal Registers ====== ====== WebHMI Internal Registers ======
 +{{ ::ic_icon.png?direct&100|}}
 Through internal register it is possible to access user memory areas, WebHMI hardware related data etc.  Through internal register it is possible to access user memory areas, WebHMI hardware related data etc. 
 The following internal registers are available in WebHMI: The following internal registers are available in WebHMI:
 +
 +
 ===== User data registers ===== ===== User data registers =====
 ==== Dxxx - Data registers ==== ==== Dxxx - Data registers ====
Line 11: Line 14:
 |D1999 |A common register for user needs.  |   | Bit, Byte, Word, Double Word| Read/Write| |D1999 |A common register for user needs.  |   | Bit, Byte, Word, Double Word| Read/Write|
  
-The data in these registers are NOT stored after the reboot before firmware version 3.5. Since version 3.5 they are non-volatile. System saves their value every 15 minutes or on any project change or correct shutdown event. If you poweroff Raspberry PI or manually shutdown virtual machine from VirtualBox UI these registers could loose latest values changes.+ 
 +Prior firmware v3.5 following rules apply: 
 + 
 +The data in these registers are NOT stored after the reboot before firmware version 3.5.
  
 The user can access 2000 bytes of RAM. The register address is the address of the beginning of the fragment in the memory block. 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. 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.
 +
 +Since version 3.5 following rules apply:
 +
 +These registers are non-volatile. System saves their value every 15 minutes or on any project change or correct shutdown event. If you poweroff Raspberry PI or manually shutdown virtual machine from VirtualBox UI these registers could loose latest values changes.
 +
 +There is no limit on these registers. You can add as much registers as you need. 
 +
 +Addresses are no longer used in system. Each register has its own memory block and register's address means nothing except help for users to identify the register. You can add multiple registers with the same address and use them as different registers. For example you can add 2 registers with address D10 and WebHMI with threat them as different registers with their own values.
 +
 ==== DSxxx - Data static registers ==== ==== DSxxx - Data static registers ====
  
Line 96: Line 111:
 Example: R123 will return random numbers in the range from 0 to 122 inclusive. Example: R123 will return random numbers in the range from 0 to 122 inclusive.
  
-^Register ^Description ^Units ^Data type ^Read/Write^+^Register ^Description ^Data type ^Read/Write^
 |R2 |Random integer in the range from 0 to 1 (inclusive). |Double Word, Unsigned Int |Read/-| |R2 |Random integer in the range from 0 to 1 (inclusive). |Double Word, Unsigned Int |Read/-|
 |R3 |Random integer in the range from 0 to 2 (inclusive). |Double Word, Unsigned Int |Read/-| |R3 |Random integer in the range from 0 to 2 (inclusive). |Double Word, Unsigned Int |Read/-|
Line 189: Line 204:
 WF1 = Air temperature in the next 3 hours interval. WF1 = Air temperature in the next 3 hours interval.
 WF21 = Air temperature in the next 6 hours interval. WF21 = Air temperature in the next 6 hours interval.
-WF31 = Air temperature in the next 9 hours interval+WF31 = Air temperature in the next 9 hours interval, etc.
-И т.д.+
  
 For a more accurate understanding of how long a forecast is built, you can use timestamps in the WFx0 registers. For a more accurate understanding of how long a forecast is built, you can use timestamps in the WFx0 registers.
Line 235: Line 249:
 |WS1 |Sunset time. |Double Word, Unixtime |Read/-| |WS1 |Sunset time. |Double Word, Unixtime |Read/-|
  
-A textual description of the current weather can be: Clear, Clouds, Rain, Snow, Thunderstorm, Mist.+
webhmi_internal_registers.txt · Last modified: 2023/12/04 12:30 by atolstov

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki