The RedundantDIObject provides you with the ability to configure a single object with connections to two different data sources (proxy objects or DIDevice objects). In the event of a failure of the active data source, this object automatically switches to the standby data source.
This capability allows clients to configure redundant connections to a field device.
Click one of the following Help topics to navigate to information about that topic.
The RedundantDIObject is a DeviceIntegration object that makes redundant connections to a field device possible. If one of the source objects is unable to provide connection to the field device, the RedundantDIObject automatically switches to the other source object for continued data acquisition.
The RedundantDIObject determines that a data source is in Bad state when:
When the active data source is in a Bad state, a switchover attempt is made to the standby data source.
There is a one-to-two relationship between an instance of a RedundantDIObject and a pair of source DeviceIntegration objects.
The RedundantDIObject supports the following operations on I/O points from field devices:
Most ApplicationObjects in the ArchestrA environment write only the last data received in a scan cycle. DeviceIntegrationObjects, including the RedundantDIObject, operate differently. They queue all data received in a scan cycle and write them all in the order received.
If the quality of an attribute changes, but a new value is not received from the data provider, the current time is used to update the time stamp of the attribute.
The two source DIObjects do not have to be the same type. But they must support the same type of DAGroups and must have the same item address space.
Important! The RedundantDIObject checks the state of its source DIObjects on every scan cycle.
During configuration, one DIObject is set as the Primary DI source and the other is set as Backup DI source. These are just the starting points. During runtime, the terms Active and Standby apply, the configured Primary object initially being the Active object (if able to provide connection to the field device) and the configured Backup object initially being the Standby. If the connection to the Active object fails, then the Standby becomes the Active one and the other becomes the Standby. This switching between Active and Standby objects can be repeated multiple times depending on the configured switch attributes.
For complete redundancy coverage, the RedundantDIObject must be configured to have the DAGroups that are common to both source DIObjects. When the connection fails to the Active DIObject, all items are unsubscribed from the Active DIObject and new subscriptions are made to the Standby DIObject. If either DIObject has unique DAGroups, it is important that the RedundantDIObject should not be configured to use those uncommon DAGroups.
RedundantDIObjects belong to a family of objects called DINetwork objects.
For more information about this object and its place in the ArchestrA redundancy infrastructure as well as general information on objects, including relationships, deployment, and alarm distribution, see the Integrated Development Environment (IDE) documentation. You can access the IDE Help (IDE.chm) from within the IDE by clicking Help Topics on the Help menu.
This configuration section describes the object editor options for configuration and the associated attributes.
This object Help file does not include information about extensibility options that are common to all objects. For information on configuration options for the Object Information, Scripts, Attributes, and Graphics tabs, see the Configuration Help. To access this Help file, click the Configuration Help link, which is located in the fixed header area that appears at the top of this Help file window.
Use the General tab to configure and tune the behavior of the RedundantDIObject.
Options are as follows. For more information about the attribute associated with each option, click the attribute link in parentheses.
Primary DI Source (DISourcePrimary)
The name of the Primary DIObject for establishing I/O connectivity with the field device. Use the drop-down button to display a list of object instances whose object type is either DINetwork or DIDevice. The name of the Primary DI Source must be different from the Backup DI Source.
Backup DI Source (DISourceBackup)
The name of the Backup DIObject for establishing I/O connectivity with the field device should the Primary DIObject fails. Use the drop-down button to display a list of object instances whose object type is either DINetwork or DIDevice. The name of the Backup DI Source must be different from the Primary DI Source.
Detect connection alarm (ConnectionAlarm.Alarmed)
Enables a connection alarm, which is raised if the connection is lost to both Active and Standby DIObject sources or when the SwitchCnt attribute reaches the Switch attempts value. Default is disabled.
Connection alarm priority (ConnectionAlarm.Priority)
Sets connection alarm priority. Valid values are 1 through 999, with 1 being the most urgent. Default value is disabled, 500 if the Detect connection alarm option is enabled.
Switch attempts (SwitchMax)
The maximum number of switches allowed between Active and Standby DIObjects. Default value is unlimited (-1). Only integer values are valid. Minimum value is -1 (unlimited switches), zero means switch is not allowed, and all other integer values represent the total number of switches allowed. The attribute that tracks the number of switches between Active and Standby DIObjects is SwitchCnt. When SwitchCnt reaches the value of SwitchMax, the ConnectionAlarm is set, and no more switches are allowed until SwitchCnt is reset.
Switch reset security (SwitchReset)
Sets the security classification for the capability to reset to zero the SwitchCnt attribute, which represents the number of times the RedundantDIObject has switched from Active to Standby DIObject data sources. It also resets the switchover alarm to false.
Detect switchover alarm (SwitchoverAlarm.Alarmed)
Enables an alarm if the connection is switched from the Active DIObject to the Standby DIObject. Default is disabled.
Switchover alarm priority (SwitchoverAlarm.Priority)
Sets switchover alarm priority. Valid values are 1 through 999, with 1 being the most urgent. Default is disabled, 500 if the Detect switchover alarm option is enabled.
Force failover security (ForceFailoverCmd)
Sets the security classification for the capability to cause a failover operation, the process of switching between the Active and Standby DIObjects. Default setting is Operate.
Use the Scan Group tab to configure one or more scan groups. A scan group, or device group, contains items that will be polled according to a specified update interval.
The update interval for each scan group is inherited from the scan groups configured in the source DIObjects.
The item references for each attribute are not copied. Instead item references are resolved by the Primary and Backup DIObject data sources. If aliases are used, both source DIObjects must support the same set of alias names.
Note You must configure at least one scan group before you can deploy the RedundantDIObject.
Click the Copy Common Scan Groups button to display the dialog box displayed below. This dialog box shows the scan groups configured in the Primary DIObject (Configured in primary) and the Backup DIObject (Configured in backup), and those scan groups shared by the two DIObjects (Identically named). Click OK to add the scan groups in the Identically named box to the Available scan groups list on the Scan Group tab.

Important! Only scan groups shared by the Primary and Backup DIObjects should be configured in the RedundantDIObject. If you include non-shared groups, the RedundantDIObject will be placed in Warning state. If you configure non-shared groups in the RedundantDIObject first, you can add them to either DIObject source at a later time. You then must validate the RedundantDIObject to change it from Warning state to Good state. A special case is the unnamed Scan Group that is preconfigured in all DAS DIDevice Objects and in the InTouchProxy object. The unnamed Scan Group is represented in the RedundantDIObject editor as <Default>.
To configure additional scan groups, click the Add ("+" sign) button to start filling in a new group. To delete a row from a list, select the row and then click the Delete ("X" sign) button.
To add attributes to the Associated attributes list, select a scan group and click either the Copy Attributes from Primary or Copy Attributes from Backup button. All configured attributes from the respective DIObject sources (corresponding to the selected Scan Group) are added to the Associated attributes list (only attribute names).
To configure additional attributes for a scan group, use the Add ("+" sign) and Delete ("X" sign) buttons. The maximum number of attributes that can be preconfigured is 5,000 per Scan Group. You do not have to add attributes to a scan group; you can simply define the scan group and reference the device items directly from the client. Scan group attributes are simply named placeholders for values coming from the associated field device items. To reference attributes or items in a scan group that you create, you must include the scan group name in the reference.
Valid characters for scan group and attribute names include all alphabetic characters (A-Z, a-z), and/or numeric digits (0-9), and/or the following special characters: the underscore (_), the dollar sign ($), and the pound sign (#). Spaces are not allowed.
Run-time object attributes allow you to monitor scan group errors and other diagnostic information.
Options are as follows. For more information about the attribute associated with each option, click the attribute link in parentheses.
Available scan groups:
This list contains all of the defined scan groups.
Scan Group (ScanGroupList)
The list of names of all configured scan groups (special case is the unnamed Scan Group which is represented by a blank space). When a set is made with new values, it should contain a unique name for the scan group, from which data will be received. Group names should be unique across ScanGroupList, BlockReadList and BlockWriteList.
Ping Item (PingItems)
The item quality of this item is checked on each scan to determine the Scan Group status.
Associated attributes for <scan group name>:
This list contains all of the attributes that are configured for the selected scan group.
Attribute (<Scan Group Name.>ItemList)
The tag name of an item in the field device.
Use the Block Read tab to configure one or more block read groups. A block read group is a set of items for which values will be read from the field device in a single transaction. Each block read group configured within this object can be named <Block Name.>.
Note Transaction timeouts and access paths for block read groups are inherited from the block read groups configured in the source DIObjects. The item references for each attribute are not copied. Instead item references are resolved by the Primary and Backup DIObject data sources. If aliases are used, both source DIObjects must support the same set of alias names.
Instead of the I/O points being on advise, as with a scan group, the attributes are updated once per transaction with the values from the item references. A block read transaction must be initiated from a user or script via the TransactionTrigger attribute.
In the case of a block read failure or transaction timeout, the RedundantDIObject would forcefully complete the transaction and set the data quality of incomplete items to BAD.
Click the Copy Common Block Reads button to display the dialog box displayed below. This dialog box shows the block read groups configured in the Primary DIObject (Configured in primary) and the Backup DIObject (Configured in backup), and those block read groups shared by the two DIObjects (Identically named). Click OK to add the block read groups in the Identically named box to the Available block reads list on the Block Read tab.

Important! Only block read groups shared by the Primary and Backup DIObjects should be configured in the RedundantDIObject. If you include non-shared groups, the RedundantDIObject will be placed in Warning state. If you configure non-shared groups in the RedundantDIObject first, you can add them to either DIObject source at a later time. You then must validate the RedundantDIObject to change it from Warning state to Good state.
To configure additional block read groups, click the Add ("+" sign) button to start filling in a new group. To delete a row from a list, select the row and then click the Delete ("X" sign) button.
To add attributes to the Associated attributes list, select a block read group and click either the Copy Attributes from Primary or Copy Attributes from Backup button. All configured attributes from the respective DIObject sources (specific to the selected Block Read) are added to the Associated attributes list.
To configure additional attributes for a block read group, use the Add ("+" sign) and Delete ("X" sign) buttons.
Valid characters for block read group and attribute names include all alphabetic characters (A-Z, a-z), and/or numeric digits (0-9), and/or the following special characters: the underscore (_), the dollar sign ($), and the pound sign (#). Spaces are not allowed.
Run-time object attributes allow you to monitor transaction errors and other diagnostic information.
Note Although block reads are intended to be individual transactions, the actual communication with the field device is dependent on the number and type of attributes, and it may be necessary to send and receive multiple messages to and from the field device. As a result, the values exposed after a block read operation might have been obtained at different times. You must carefully design the logic in the field device to make sure that the values do not change until the full read operation is completed.
Options are as follows. For more information about the attribute associated with each option, click the attribute link in parentheses.
Available block read groups:
This list contains all of the defined block read groups.
Block Read (BlockReadList)
The list of names of all configured block read groups. When a set is made with new values, it should contain a unique name for the block read group, from which data will be received. Group names should be unique across ScanGroupList, BlockReadList, and BlockWriteList.
Associated attributes for <block read group name>:
This list contains all of the attributes that are configured for the selected block read group.
Attribute (<Block Name.>ItemList)
The tag name of an item in the field device.
Use the Block Write tab to configure one or more block write groups. A block write group is a set of items for which values will be written to the field device in a single transaction. Each block write group configured for this object can be named <Block Name.>.
Note Transaction timeouts and access paths for block write groups are inherited from the block write groups configured in the source DIObjects. The item references for each attribute are not copied. Instead item references are resolved by the Primary and Backup DIObject data sources. If aliases are used, both source DIObjects must support the same set of alias names.
Only values that are new for the attribute since the last transaction are written to the field device. A block write transaction must be initiated from a user or script via the TransactionTrigger attribute. You cannot trigger another transaction if the previous transaction has not completed.
Partial writes are supported. However, the system does not offer roll-back functionality. In the case of a block write failure or transaction timeout, some values may have been successfully sent, but there is no way to undo the value changes. For items that have not yet been written to, the data quality is set to BAD.
Click the Copy Common Block Writes button to display the dialog box displayed below. This dialog box shows the block write groups configured in the Primary DIObject (Configured in primary) and the Backup DIObject (Configured in backup), and those block write groups shared by the two DIObjects (Identically named). Click OK to add the block write groups in the Identically named box to the Available block writes list on the Block Write tab.

Important! Only block write groups shared by the Primary and Backup DIObjects can be configured in the RedundantDIObject. If you include non-shared groups, the RedundantDIObject will be placed in Warning state, and you cannot deploy the object. If you configure non-shared groups in the RedundantDIObject first, you can add them to either DIObject source at a later time. You then must validate the RedundantDIObject to change it from Warning state to Good state.
To configure additional block write groups, click the Add ("+" sign) button to start filling in a new group. To delete a row from a list, select the row and then click the Delete ("X" sign) button.
To add attributes to the Associated attributes list, select a block write group and click either the Copy Attributes from Primary or Copy Attributes from Backup button. All configured attributes from the respective DIObject sources (specific to the selected Block Write) are added to the Associated attributes list.
To configure additional attributes for a block write group, use the Add ("+" sign) and Delete ("X" sign) buttons.
Valid characters for block write group and attribute names include all alphabetic characters (A-Z, a-z), and/or numeric digits (0-9), and/or the following special characters: the underscore (_), the dollar sign ($), and the pound sign (#). Spaces are not allowed.
Run-time object attributes allow you to monitor transaction errors and other diagnostic information.
Note Although block writes are intended to be individual transactions, the actual communication with the field device is dependent on the number and type of attributes, and it may be necessary to send and receive multiple messages to and from the field device. In the case of a block write operation, the logic in the field device must not use the written values until the full write operation is completed.
Options are as follows. For more information about the attribute associated with each option, click the attribute link in parentheses.
Available block write groups:
This list contains all of the defined block write groups.
Block Write (BlockWriteList)
The list of names of all configured block write groups. When a set is made with new values, it should contain a unique name for the block write group, from which data will be received. Group names should be unique across ScanGroupList, BlockReadList and BlockWriteList.
Associated attributes for <block write group name>:
This list contains all of the attributes that are configured for the selected block write group.
Attribute (<Block Name.>ItemList)
The tag name of an item in the field device.
Run-time behavior pertains to the running state of a deployed object. Once deployed and operating, the RedundantDIObject can assume one of the following states:
The following table describes the RedundantDIObject’s attributes. These attributes are provided to optimize the performance of the RedundantDIObject and should be reserved for advanced users.
Attributes that are common to all objects are not included in the following attribute table. For information on common attributes, see the Configuration Help. To access this Help file, click the Configuration Help link, which is located in the fixed header area that appears at the top of this Help file window.
Hidden attributes are not included in the following attribute table. Hidden attribute names are prefixed with an underscore ( _ ) and may be visible within certain applications, such as the Object Viewer. Hidden attributes are generally used for internal ArchestrA functionality, and should be ignored.
Table Legend:
The Config column specifies whether the attribute can be configured using an option in the object editor.
The RT Access column describes how the attribute value can be accessed at run time. Values for this column include:
The following attributes are available for all Objects. If alarm aggregation is enabled on the Area, the following attributes aggregate their respective alarm status values for the Area, for all sub-Areas, contained objects, and their descendants assigned to the Area. If alarm aggregation is disabled, these attributes remain at their default values. Alarm aggregation attributes behave similarly to alarm aggregation of individual attributes.
© 2014 Invensys Systems, Inc. All Rights Reserved.
Invensys is a Schneider Electric company
10/17/14