Redundant Item

Redundant Item objects are used to collate the inputs of redundant instances of I/O Items to ensure data values are not lost in the event of loss of service. Multiple redundant instances of I/O items are linked to a Redundant Item using standard references applied by drag and drop. If the source for one of the I/O items fails, one of the other I/O item provides backup and the Redundant Item does not miss any data.

The 'Redundant Item' considers the values of all its referenced I/O items (in alphanumeric order) and takes the value with the best quality. If all referenced qualities are bad, the criteria for determining which value to display is determined by the BadStatePriority selection on the object. VQT data for the Redundant Item can be historized like any other I/O Item.

Redundant Item objects are created in the I/O Model.

Use Cases

  • Device, OPC and Connector redundancy.

Quick Configuration

  1. Select the Parent object and right-click, then select Admin  New  Data Processing  Redundant Item.

  2. Enter a unique object name in the Create Redundant Item wizard, then click Create..

  3. Drag and drop, for this example, two I/O Items into the Redundant Item object to create two references (Ref1 and Ref2).

  4. Click Ok to create the references.

  5. In the object properties panel of the Redundant Item, select an option from the BadStatePriority property menu. This determines what criteria will be used to decide which of the referenced items will be used to update the value on the Redundant Item if all have a bad object state. Click Apply to save any changes.

  6. For visualization, right click on the Redundant Item object and Add-item(s)-to…​  Realtime Grid, also drag and drop both I/O Items to compare them with the Redundant Item object. The value of the Redundant Item is the value of the first I/O Item that it’s linked with Ref1.

  7. Disable the I/O Item corresponding to the Ref1 and click on the I/O Item, by pressing F9. Now the Redundant Item takes the value of the Ref2.

Object Properties


Object Name

The user-modifiable object name. This name overrides the name which has been supplied by the external system. It must be unique within the collection of objects of the parent object.

Object Description

This is the user-modifiable object description. This text overrides the description which has been supplied by the external system.

System Alias

The system alias is an additional name for an object, which can be used as a shortcut for identification and has to be unique in the system.

Display Alias

Alternate label for objects to be used for easier identification in the displays.

Engineering Unit

The Engineering Unit or unit of measurement is a definite magnitude of a physical quantity, defined and adopted by convention or by law, that is used as a standard for measurement of the same physical quantity.

Decimal Places

The maximum number of decimal digits that will be displayed to the right of the decimal point.

Current Source

The source whose data updates are being considered right now.

Allow Logging

Allow the item to log information.

Redundancy Latency

If the value of a referenced item is older than this time period (in milliseconds), it will be ignored.

Bad State Priority

Defines the priority of selecting the currently active reference when all are bad or stale.

  • Reference Order: First reference in alphabetically ordered reference list.

  • Best Quality: Reference with best quality, independent from timestamp.

  • Latest Timestamp: Reference with latest timestamp, independent from quality.

Discrete States

Contains the mapping table for state conversion.


File attachments stored in MongoDB file store.

Limit Settings

Define limits for EU range and alarming.

Low EU Range

Low EU Range.

High EU Range

High EU Range.

Low Limit

Alarming low limit.

High Limit

Alarming high limit.

Auxiliary State Management

Configurable settings for auxiliary state management.


Specifies how auxiliary state changes are handled.

  • Inherit: Inherit the setting from the parent object. In case of no parent object, the "Persist" mode is used.

  • Persist: All object auxiliary states are indicated and persisted to the archive.

  • Volatile: Auxiliary state changes are volatile and not persisted.

  • Inhibit: Inhibit all auxiliary state changes.

Custom Options

Compound to hold various structures to customize the object and to be read and written to by Lua-Script code or external interfaces.

Custom String

A generic string buffer to be used programmatically for custom purposes.

Custom Properties

This is an extensible set of named strings which can be used programmatically for custom purposes.

Property Name

A custom property name which can be used programmatically.

Property Value

The value of the custom property which can be read and written programmatically.

Custom Tables

This is an extensible set of named tables which can be used programmatically for custom purposes.

Table Name

A custom table name which can be used programmatically.

Table Data

Handles an entire table organized in columns and rows. The data can easily (cut, copy and paste) be exchanged with table-oriented data of other software products, e.g. MS Excel.