In the world of industrial automation, Registers are understood as units of data that are attributes of automation equipment. They can describe some external parameters of technological processes (the value of temperature, pressure, flow, state of actuators, etc.) or internal states of the devices themselves (parameters of regulators, filters, alarms etc.).
Registers in the WEBHMI project correspond to similar concepts in automation systems - 'tag', 'variable' and indicate what data from the respective devices we are going to work on (read / write), in addition, they have additional attributes controlling how they will be displayed and processed by the system settings of these registers. The registers can be of two types -
Register settings in WebHMI arranged in 6 tabs, which will be explained later in details:
To create a register, go to the Setup→ Registers menu and click the Add New Register button (or '+' sign in the connection name end).
As of 4.1 fw version, there is inline category renaming option
The ability to set categories for objects has existed in WebHMI for a long time and is a convenient tool for structuring a project. As a rule, if you enter the correct name for a category right away, it remains unchanged. However, it turned out that renaming categories is not a very simple matter, especially when you need to do a lot of renaming – for this you had to create another category and transfer the necessary objects to it. (in this case, the project was also reinitialized). Now this can be done by simply clicking on the edit icon in the category name.
Starting from 4.1 fw there are extra functions:
There is now a convenient function for assigning register access mode – “read / write”, “read-only”, “write-only”. There are devices for some registers of which only writing is possible, for example, the control word of some frequency converters, refrigeration controllers, etc. For these devices a custom protocol. Read-only mode is also useful for distributed systems with shared data. For example, this situation can arise when using the MQTT protocol, when the user can inadvertently override the data of another device.
When editing a project, it is often necessary to make several edits in different places in the project. Before, each small change was accompanied by re-initialization of the system, which in turn caused a heavy load on the processor in large projects. Now, there is a tool that allows you to make many edits and then apply them in one go, which ultimately speeds up the time to complete these operations.
Value tab of the register edit page is used to set the type and format of register data. These settings affect how the read binary data from the registers of the connected device are interpreted for display or recording.
The possible options are:
Specifies the format of the read data. Possible options are:
Bit mask allows to conviniently check the state of individual bits in a source register. When setting the bitmask to the register, the value from the register will be compared with the sum of corresponding weights 2^p (p - bit position, starting from 0) of the selected bits.
In the above picture 2 highest bits are selected, so when there is a value greater or equal to 128 (2^7) + 64 (2^6) = 192 in the source register, WebHMI's copy of this register will have 3. Usually this feature is used to check only one bit, so WebHMI register has either 0 or 1 value clearly indicating if certain bit in the source register is reset or set.
But sometimes it is neccessary to write a defined mask (group of bits) to the end device. In this case remember how the number in WebHMI register is obtain. E.g. to set 7th and 6th bit (started from 0) in the source register, 3 value has to be written in WebHMI register. Or if 7th and zero bits were checked in the mask, 129 would have to be written to set these bits.
In the first case (delta value), the register will be equal to the difference of the current subtracted value and the previous one. In the second (Delta value / Delta time) - delta value, divided by the time between polls, i.e. Derivative with respect to time.
Show the number in seconds in the format of the length of the time interval (hours, days, etc.). The format is useful, for example, when displaying the duration of events.
Contains the enumeration of pairs 'value, text word(s)', when you select a dictionary for the register, the values read from the device are compared with the data of the dictionary and, if the word matches, the word corresponding to the value will be found. If there is a mismatch, the register will contain the value itself. The dictionaries are created and edited in the menu Setup → Dictionary.
If third element in a row is set (e.g.
1, ON, client:dashboards.divider.on), Level2 cloud system can interpret it like a tag and use its own dictionary with multilanguage support.
Indication of engineering units for the register data. The string specified in the field will be displayed after the text string with the register value on dashboards.
Show the result of the formula: result = value_read х multiplier + shift value Scaling value with offset in the register to convert raw value from ADC to engineering units. The result is shown with the set precision.
These fields allow you to limit the min. and max. possible value for the register, which can be changed by the user from the dashboard.
These fields allow to designate a zone of unreliable values of the register, thus it is possible to judge the sensor failure. When reading the value outside the zone, a nil will be written to the register, which in turn can be defined as a 'failed state'.
Contains settings affecting how register values are saved in a database.
Simplest way is to set up register write at regular intervals of time and view them on graphs. Then it is enough to enable this option, select color and choose time intervals:
This method suitable for slowly changing parameters like temperature, pressure, humidity etc. which are the most typical parameters in a system monitored with WebHMI. But sometimes there is a need to track values more precisely, e.g. to view signal transitions, rising or falling edges of the discrete signals etc. Then there is an option to use log data.
In this section 'Log' means a separate part of a database which saves register values and:
WARNING! Leaving 'Change tolerance' field empty will cause register write at ANY change. There is always some noise in ADC signal, so every WebHMI scan there will be writes to database. If there are many such registers this will affect system perfomance. Use log settings carefully and adequate to register type
Send log data to Level2 system - allows sending log and graph data to level2
After you set up log options for the register, a special tool will be available. Plese refer to the following article.
Allows you to set 4 color alarm states for the corresponding specific values read from the register:
With states defined, the dashboard elements having colorize opion set, will relfect register value with corresponding color.
When no states are defined or the value is outside of the defined ranges for states, it will be displayed in black (and dashboard element linked with this register too).
The value range can be defined in two ways -
Here an example of static settings, min. and max. are constants:
With dynamic state settings end points of range are floating (Delta values are constants which are added or subtracted to dynamic margins):
All states have identical settings.
The list of registers is multi-level, when you minimize the list with the > signs, only the list of connections and categories is displayed.
Format of the register list:
When the cursor hovers over the connection name, a checkbox appears to the right of it for selecting or deselecting registers in this connection. Only the visible register will be selected, which are not folded in the categories. To select all register you have to expand all categories inside the connection.
There are some group operations inside Tools sub-menu for selected register - see below.
Add device entry is for adding a built-in device profile. Please refer to this.
Import registers makes reverse to export operation with csv - file containing prepared list of register.
Makes respective action over the selected set of registers.
The order of reading connections can differ from the order in which they are shown in Connection / Register list. Some serial devices may not “like” co-existing with certain devices in adjacent polls. With this tool you can sort the devices in the polling list.
The communication will work from the list's top to the bottom.
With this tool you can make a overview of current memory map of the internal WebHMI registers.
Sometimes after intensive work with bulk import and export operation due to errors made during edition some register might be placed into wrong addresses and cause overlapping. (shown red in the above picture)
Another possible use for map is to quickly find some internal register in a list, using browser hotkey F3 or Crtl-F. And quickly follow the link to view register's settings.
Please refer to this article.