Registers

Registers are named variables that all GENESIS64 clients can use. If you have used registers inside DataWorX32, then the features of Unified Data Manager registers are a subset of the features available for registers in DataWorX32. Unified Data Manager doesn't support the use of Unified Data Manager registers through OPC, as an alias or redundancy register, or allow automation through Visual Basic. The most significant difference between Unified Data Manager and DataWorX32 registers is that Unified Data Manager registers are not real OPC tags, and Unified Data Manager registers can be accessed only with GenClient and the appropriate plug-in. The Unified Data Manager is also missing special registers for data aliasing, switching and redundancy. For specific uses of registers, refer to Data Prefetch, Data Aggregation, and Bridging.

 

A register has three separate sets of properties that you can specify:

To Create a Register Item:

  1. Start the Workbench, then expand your project. Next, expand the Platform Services node to show the Unified Data Manager provider.

  2. Right-click the Registers node in the navigation tree and select Add Register, as shown in the figure below.

Add Register from the Project Explorer

 

-OR-

 

Select the Registers node in the Project Explorer, then click on the Add Register button, shown below, in the Edit section of the Home ribbon in the Workbench.

 

Add Register Button

  1. This opens the Register properties window, shown below, beneath the Project Details section in the Workbench. Enter a unique name in the Register Name field. Each register must have a unique name composed of only numbers, letters, and the underscore "_" character. UDM verifies the names are unique, prompting you to change the name this is not the case. The Register Name field does not accept spaces. Spaces are disabled intentionally because the register names used by OPC clients as tag names do not accept spaces.

Register Properties

  1. Select the Data Type (Native, Float, Double, Boolean, Byte, Word, DWord, Character, Short, Long, or String) from the pulldown menu.

  2. Enter a description in the Description text entry field (optional).

  3. Set the Propagation Style from the pulldown menu to determine when the register value can be modified by the data source.

    The update is from the data source and is independent of the Writable setting. You can set this as 'Enabled' or 'Disabled', or allow updates based on the value in a particular tag using the 'Enabled on Tag' setting (as shown above). 'Disabled on Tag' changes the condition to "Register WILL propagate if the Tag has a value of 0, FALSE, or BadQuality."

  4. Enable or disable the The register is writable (READ/WRITE) checkbox in order to make the register READ-only or READ/WRITE.

  5. You can also opt to Release tags when not in use via the next checkbox. Note that if you are using this Register for Data Bridging, leaving the checkbox checked will only allow data bridging while the tag is actively used by the system (in displays or alarms).

  6. In the Input Tag section, set the Input Type to OPC Data Tag, or to None which is the definition of a global variable. You can then set the Input Tag in the text entry field or click on the button to open the data browser and navigate to your selected tag.

  7. Define the Requested Data Type for the data, in one of the following datatypes: Native, Float, Double, Bool (Boolean), Word, DWord, Char (Character), Long, Short, and String.

  8. Set the Scan Rate (50 milliseconds is the default) for polling the OPC data source for changes and any input Delay you require, in milliseconds.

  9. In the Output Tag section, enter the output tag location in the text entry field or click on the button to open the data browser and navigate to your selected tag. You can also set the time to Refresh output every by seconds.

  10. Client writes directly to output (bypassing internal buffer) - This is mostly meant for a use case where both the Register input and Register output tags connect to the same external tag and the Register is used as a cache between clients and that external tag. When a client writes to the Register and this option is off, then the write updates the Register’s internal buffer so that all clients see the updated value; and at the same time the Register writes the value to the external tag. When this option is on, the Register’s internal buffer is not updated, but the write to the external tag proceeds as usual. So all the clients still see the original value, until the external tag sends the new (written, or other) value back as a regular data update.

  11. Click the Apply button to enforce your changes.

The Register Properties defines how the data from the input source is stored in the register for later use. You can define the data type for the data, in one of the following datatypes: Native, Float, Double, Bool (Boolean), Word, DWord, Char (Character), Long, Short, and String. For example, if the data source is a Boolean and you store it in a data type such as Float, then the data is converted from a logical 1 or 0 into a decimal representation such as 1.00... and 0.00...

 

A register has one input (or source) to define its content. For the UDM, the most widely used source is an OPC tag. An input may be assigned to None to create a global variable. The initial value is selectable.

Register Outputs

One of the key functions of registers in the Unified Data Manager is to provide a mechanism for defining variables and making them available to all GENESIS64 clients. The Global Variable name is simply the register's name. It can be given values through OPC tags, constants, or even VBA. OPC server data-bridging is accomplished by assigning the input of a register to one data point, and assigning the output to different data points. An output may be assigned to an item of an OPC server, and the register writes values to the server.

 

A register may be designated as READ-only. The register will still write to its outputs, but the value can only come from an input, such as another OPC server or an expression, not from an OPC client. If this is the case, clients may only view its contents.

 

When a Register exists, the input and output tags are subscribed to. When a release tag is selected, the input and output are selected only when the register is in use by a client. This is useful to save license points.

 

See Also:

Unified Data Manager

Unified Data Browser

Data Prefetch

Data Aggregation

Bridging