User Tools

Site Tools


registers

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
registers [2021/12/09 16:37]
emozolyak [Log tab settings]
registers [2022/01/14 14:37] (current)
127.0.0.1 ↷ Links adapted because of a move operation
Line 1: Line 1:
-{{ ::menu-icon-registers.png?nolink&40|}}+{{ network:menu-icon-registers.png?nolink&40|}}
 ====== Working with registers ====== ====== Working with registers ======
 ===== General information ===== ===== General information =====
Line 10: Line 10:
 Register settings in WebHMI arranged in 6 tabs, which will be explained later in details: Register settings in WebHMI arranged in 6 tabs, which will be explained later in details:
  
-{{ ::reg_settings_tabs.png?direct&600 |}}+{{ network:reg_settings_tabs.png?direct&600 |}}
  
   ***Basic info** tab - specifies key addtibutes like name of the register, its connection, memory address etc.    ***Basic info** tab - specifies key addtibutes like name of the register, its connection, memory address etc. 
Line 24: Line 24:
 To create a register, go to the //Setup//-> //Registers// menu and click the Add New Register button (or '+' sign in the connection name end). To create a register, go to the //Setup//-> //Registers// menu and click the Add New Register button (or '+' sign in the connection name end).
  
-{{ ::add_register_methods.png?direct&600 |}}+{{ network:add_register_methods.png?direct&600 |}}
  
 ===== Basic tab ===== ===== Basic tab =====
  
-{{ ::basic_tab_overview.png?direct&600 |}}+{{ network:basic_tab_overview.png?direct&600 |}}
  
   ***Connection** the registers belongs to    ***Connection** the registers belongs to 
Line 35: Line 35:
   ***Description** - description field for the register   ***Description** - description field for the register
 <wrap em>As of 4.1 fw version, the description is also shown right on the register tree when hovering mouse pointer over the registers' title </wrap> <wrap em>As of 4.1 fw version, the description is also shown right on the register tree when hovering mouse pointer over the registers' title </wrap>
-{{ ::title_hint.png?direct&600 |}}+{{ network:title_hint.png?direct&600 |}}
  
   ***Category** - the name of the group to which the register will be included.   ***Category** - the name of the group to which the register will be included.
Line 43: Line 43:
 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. 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.
  
-{{ :rename_cat_inline.gif?direct |}}+{{ network:rename_cat_inline.gif?direct |}}
  
   ***Priority** - polling priority. This option is used in conjunction with the Strict scan function. Registers with high priority will be polled first, registers with priority normal in the second turn. If part of the registers with normal priority does not fit during the scan, this part is polled in the next scan, etc. Registers from internal connections are polled last (after registers on external connections) regardless of this setting, since they are read quickly on the local bus of the WebHMI device. If you do not need read current register in normal operation mode you can select "Read on demand" priority. In this case register will be read only when operator will request it manually.   ***Priority** - polling priority. This option is used in conjunction with the Strict scan function. Registers with high priority will be polled first, registers with priority normal in the second turn. If part of the registers with normal priority does not fit during the scan, this part is polled in the next scan, etc. Registers from internal connections are polled last (after registers on external connections) regardless of this setting, since they are read quickly on the local bus of the WebHMI device. If you do not need read current register in normal operation mode you can select "Read on demand" priority. In this case register will be read only when operator will request it manually.
Line 56: Line 56:
 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. 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. 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.
-{{ ::rw_mode_.png?direct&600 |}}+{{ network:rw_mode_.png?direct&600 |}}
  
 === Save and Apply === === Save and Apply ===
Line 62: Line 62:
 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. 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.
  
-{{ ::save_apply.png?direct&400 |}}+{{ network:save_apply.png?direct&400 |}}
  
  
Line 71: Line 71:
 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.  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. 
  
-{{ ::value_tab_new.png?direct&600 |}}+{{ network:value_tab_new.png?direct&600 |}}
  
 ==== Data type ==== ==== Data type ====
Line 79: Line 79:
   *Double word - reading in double words. For double words there is an option to change normal word order to reverse:   *Double word - reading in double words. For double words there is an option to change normal word order to reverse:
  
-{{::revers_order_for_dw.png?direct&500|}}+{{network:revers_order_for_dw.png?direct&500|}}
  
   *Unix time - format used in PHP, is set as Y-m-d H:i:s, e.g., to display the date as day - month - year (DD-MM-YYYY), you set format string like this d-m-Y.     *Unix time - format used in PHP, is set as Y-m-d H:i:s, e.g., to display the date as day - month - year (DD-MM-YYYY), you set format string like this d-m-Y.  
Line 99: Line 99:
 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.  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. 
  
-{{::bit_mask_1.png?direct&600|}}+{{network:bit_mask_1.png?direct&600|}}
  
 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.  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. 
Line 107: Line 107:
 ==== Delta format ==== ==== Delta format ====
 Allows you to convert register data into increment or derivative.  Allows you to convert register data into increment or derivative. 
-{{::delta_format.png?direct&600|}}+{{network:delta_format.png?direct&600|}}
  
 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. 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.
Line 115: Line 115:
  
 ==== Dictionary ==== ==== Dictionary ====
-{{ :menu-icon-dictionaries.png?nolink&40|}}+{{ network:menu-icon-dictionaries.png?nolink&40|}}
  
 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. 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.
  
-{{ :dict_menu_entry_fw40.png?direct&600 |}}+{{ network:dict_menu_entry_fw40.png?direct&600 |}}
  
-{{ ::dict_example.png?direct&600 |}}+{{ network:dict_example.png?direct&600 |}}
  
 <WRAP center round info 60%> <WRAP center round info 60%>
Line 148: Line 148:
 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: 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:
  
-{{ ::setup_only_graph_data.png?direct&600 |}}+{{ network:setup_only_graph_data.png?direct&600 |}}
  
 This method suitable for slowly changing parameters like temperature, pressure, humidity etc. which are the most typical parameters in a system monitored with WebHMI.  This method suitable for slowly changing parameters like temperature, pressure, humidity etc. which are the most typical parameters in a system monitored with WebHMI. 
Line 157: Line 157:
   *it can be a source of data for graphs   *it can be a source of data for graphs
   *has special analytic tool to view when and how register changed. After selecting the option 'Enable Log', you can track register changes in the menu item Analytics / Registers Log.    *has special analytic tool to view when and how register changed. After selecting the option 'Enable Log', you can track register changes in the menu item Analytics / Registers Log. 
-{{ ::reg_value_link.png?direct&200 |}}+{{ network:reg_value_link.png?direct&200 |}}
  
 == Adjusting logging intensity == == Adjusting logging intensity ==
  
-{{ ::log_fields2.png?direct |}}+{{ network:log_fields2.png?direct |}}
   ***Change tolerance** -'Tolerance' (absolute value or %) is the difference between new and previous register value, , if exceeded, its value will be written to the log. If the field is left blank, the record will occur upon any change. The recording frequency will be determined by the settings of the following items.   ***Change tolerance** -'Tolerance' (absolute value or %) is the difference between new and previous register value, , if exceeded, its value will be written to the log. If the field is left blank, the record will occur upon any change. The recording frequency will be determined by the settings of the following items.
   ***Min log interval** - serves as a filter for data, limiting recording frequency to this interval, so that time between two records will not exceed this interval   ***Min log interval** - serves as a filter for data, limiting recording frequency to this interval, so that time between two records will not exceed this interval
Line 187: Line 187:
 Selection allows to send register value as a resource meter. There are special tools in [[resource_local_tool |WebHMI]] & [[level2:setup_resource_meters_and_resources_consumption_analysis  | Level2]] cloud system to generatate resource consumption reports.  Selection allows to send register value as a resource meter. There are special tools in [[resource_local_tool |WebHMI]] & [[level2:setup_resource_meters_and_resources_consumption_analysis  | Level2]] cloud system to generatate resource consumption reports. 
  
-{{ ::resource_property.png?nolink |}}+{{ network:resource_property.png?nolink |}}
  
 ===== States tab ===== ===== States tab =====
Line 210: Line 210:
 Here an example of static settings, min. and max. are constants: Here an example of static settings, min. and max. are constants:
  
-{{ ::dis_state_example_.png?direct&600 |}}+{{ network:dis_state_example_.png?direct&600 |}}
  
 With dynamic state settings end points of range are floating (//Delta// values are constants which are added or subtracted to dynamic margins): With dynamic state settings end points of range are floating (//Delta// values are constants which are added or subtracted to dynamic margins):
  
-{{ ::dyn_alert_state_.png?direct&600 |}}+{{ network:dyn_alert_state_.png?direct&600 |}}
  
 All states have identical settings. All states have identical settings.
Line 226: Line 226:
 To overview places where the register is used.  To overview places where the register is used. 
  
-{{ ::x-ref.png?direct&600 |}}+{{ network:x-ref.png?direct&600 |}}
  
 ====== Managing register list ====== ====== Managing register list ======
Line 233: Line 233:
 The list of registers is multi-level, when you minimize the list with the **>** signs, only the list of connections  and categories is displayed.  The list of registers is multi-level, when you minimize the list with the **>** signs, only the list of connections  and categories is displayed. 
  
-{{ list_overview2.png?direct&800 }}+{{ network:list_overview2.png?direct&800 }}
  
 Format of the register list: Format of the register list:
Line 240: Line 240:
   ***Title** - Name of the connection / register or the category.    ***Title** - Name of the connection / register or the category. 
  
-{{ ::category_example.png?direct&500 |}}+{{ network:category_example.png?direct&500 |}}
  
   ***Interval** - polling interval for the register   ***Interval** - polling interval for the register
Line 261: Line 261:
 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.  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. 
  
-{{ ::selection_options_.png?direct&600 |}}+{{ network:selection_options_.png?direct&600 |}}
  
 There are some group operations inside **Tools** sub-menu for selected register - see below.  There are some group operations inside **Tools** sub-menu for selected register - see below. 
  
-{{ ::tools_drop_down_.png?direct&600 |}}+{{ network:tools_drop_down_.png?direct&600 |}}
   ***Import registers** - import registers from an external *.csv file    ***Import registers** - import registers from an external *.csv file 
   ***Export registers** - export selected register in a *.csv file to have a template or make some bulk modification using convenient spreadsheet editor   ***Export registers** - export selected register in a *.csv file to have a template or make some bulk modification using convenient spreadsheet editor
Line 277: Line 277:
 **Import registers** makes reverse to export operation with csv - file containing prepared list of register. **Import registers** makes reverse to export operation with csv - file containing prepared list of register.
  
-{{ ::import_register_dialog_.png?direct&600 |}}+{{ network:import_register_dialog_.png?direct&600 |}}
  
   ***Move to connection** - Allows you to use the connection ID (ID) from the csv file OR put registers in an existing connection.   ***Move to connection** - Allows you to use the connection ID (ID) from the csv file OR put registers in an existing connection.
-{{  ::move_to_conn_list.png?direct |}}+{{  network:move_to_conn_list.png?direct |}}
   ***Overwrite existent registers** - If the option is selected, if there are already registers with the given ID when importing the list in the project, they will be overwritten, otherwise registers with matching IDs from the list will receive new IDs.   ***Overwrite existent registers** - If the option is selected, if there are already registers with the given ID when importing the list in the project, they will be overwritten, otherwise registers with matching IDs from the list will receive new IDs.
  
Line 287: Line 287:
 These operations are also made on selections sets. These operations are also made on selections sets.
  
-{{ ::bulk_only_selected.png?direct&200 |}}+{{ network:bulk_only_selected.png?direct&200 |}}
  
 === Edit === === Edit ===
 With this you can edit same properties over the register selection set.  With this you can edit same properties over the register selection set. 
  
-{{ ::bulk_edit_basic.png?direct&600 |}}+{{ network:bulk_edit_basic.png?direct&600 |}}
  
 === Disable, Enable, Delete === === Disable, Enable, Delete ===
Line 301: Line 301:
 Move selected register to another connection or category. Move selected register to another connection or category.
  
-{{ ::change_category_.png?direct&600 |}}+{{ network:change_category_.png?direct&600 |}}
  
  
Line 309: Line 309:
 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 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.
  
-{{ ::setup_plc_order.png?direct&600 |}}+{{ network:setup_plc_order.png?direct&600 |}}
  
 The communication will work from the list's top to the bottom. The communication will work from the list's top to the bottom.
Line 316: Line 316:
 With this tool you can make a overview of current memory map of the internal WebHMI registers.  With this tool you can make a overview of current memory map of the internal WebHMI registers. 
  
-{{ register_map.png?direct&600 }}+{{ network:register_map.png?direct&600 }}
  
 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) 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)