Home | OPC Servers and iFix Drivers | Universal OPC Server | Custom Work | Contact Info

UOS Redundency Support

Summary
UOS has two levels of redundancy, Channel and Device. Redundancy is referred to as Backup Channel and Backup Device in the UOS PowerTool. How the two levels are used depends on your I/O network and device architecture.
The UOS PowerTool provides the option to configure a backup channel for each primary channel. For serial communications, the Primary Channel may be COM1 and the Backup Channel COM2 on your computer. For TCP/IP ethernet communications, the Primary and Backup Channels must have a different IP address. They may also have a different Port number, however a different port number is optional.
The UOS PowerTool also provides the option to configure a backup device for each primary device. A good example of this would be two temperature transmitters on the same RS-485 multi-drop I/O network. Each transmitter would be assigned a unique address. One would be defined as the primary device and the other as the backup device. If communications with the primary failed, UOS would automatically switch to the backup temperature transmitter.
UOS has two methods of switching between primary and backup channels and devices, automatic and manual.
 
Automatic Switching
Channel backup only configured (no backup devices configured)
UOS automatically switches from the Primary Channel to the Backup Channel when all retries have expired. What are retries? Retries are the number of times that UOS will try to communicate with a device before declaring a failure. Declaring the failure causes the switch. A failure can be caused by the communications network (cable failure, hub, etc) or by the device (defective hardware). Channel backup usually requires a physical network architecture that allows access to all devices from redundant networks (channels).
Device backup only configured (no backup channel configured)
UOS automatically switches from the failed Primary Device to the Backup Device when all retries have expired. If a failure occurs on the backup device, UOS will switch back to the primary device and try again. The switch occurs only on the failed device.
Channel and device backup configured
UOS automatically switches from the primary channel to the backup channel and from the failed primary device to the associated backup device when all retries have expired. Notice that when a backup channel and backup devices are configured, it is not possible to detect which one caused the communication failure so both are switched (the channel and the failed device). If a failure occurs on the backup channel, UOS will switch back to the primary channel (the device being accessed at the time of the failure will also be switched) and try again.
 
Manual (Logic) Switching
An OPC Client can switch between primary and backup channels and devices based on user defined logic by using the <Object>:!Switch item.
Where: <Object> is the channel or device that you want to switch.
Assume you have a device named DEV1 and the primary device is assigned an address of 1 and the backup device is assigned an address of 2. To manually switch from DEV1 address 1 to DEV1 address 2 write a 1 or 0 to DEV1:!Switch. Now DEV1 address 2 (the backup device) becomes the active device. Write a 1 or 0 again to switch back to DEV1 address 1.
 
Checking for active channel and device
An OPC Client can check for the active channel or device by using special UOS properties. Property Addresses have the following format:
 

<Object>:#<Property>

Where:

 
<Object> is the name of the channel or device that you want to access the properties of. This name should match the name assigned in the UOS PowerTool.
<Property> is the name of the property which you wish to access.
 
Properties associated with backup are shown in the table below:
 

Property

Valid Object

C=Channel

D=Device

B=DataBlock

Data Type Returned

Description

PortInUse C String (Text) Returns the current active serial port (channel) name. Use for serial communications only.
AddressInUse D String (Text) Returns the current active device address. Use for serial and TCP/IP communications.
IpAddressInUse C String (Text) Returns the current active IP address in use. Use for TCP/IP communications only.
  
Using Logic Switching
There are other special UOS properties that may be useful in making a decision to switch to a backup channel or device. They are shown in the table below.
 

Property

Valid Object

C=Channel

D=Device

B=DataBlock

Data Type Returned

Description

MsgTransmitCount C, D, B Analog Counter that increments for each request message sent to a device. Write any value to the property to reset the count.
MsgReceiveCount C, D, B Analog Counter that increments for each message received that either matched a valid response message format or a valid error message format. Write any value to the property to reset the count.
MsgGoodMatchCount C, D, B Analog Counter that increments for each message received that matched a valid response message format A "GoodMatch" means that UOS checked all message objects and found them to match the expected message format. All constants and lengths are verified. A message can cause the MsgGoodMatchCount to increment and also have a bad checksum which will cause the MsgChecksumErrorCount to increment. Write any value to the property to reset the count.
MsgErrorMatchCount C, D, B Analog Counter that increments for each message received that matched a valid error message format. Write any value to the property to reset the count.
MsgNoMatchCount C, D, B Analog Counter that increments for each message received that does not match a valid response or error message format. The MsgReceiveCount counter will not be incremented in this case. Write any value to the property to reset the count.
MsgTimeoutCount C, D, B Analog Counter that increments each time a message is sent and no response is received. No other counters are incremented.

Write any value to the property to reset the count.

MsgRetryCount C, D, B Analog Counter that increments each time UOS retries a message. A message is retried when:

1. No response is received for a request or

2. A valid error response is received (MsgErrorMatchCount is also incremented) or

3. A message is received that does not match a valid response or error message format (MsgNoMatchCount is also incremented) or

4. A checksum error is detected in a received message (MsgChecksumErrorCount is also incremented) or

5. A parse error is detected in a received message (MsgParseErrorCount is also incremented)

Write any value to the property to reset the count.

MsgChecksumErrorCount C, D, B Analog Counter that increments for each message received that contained an invalid checksum. MsgGoodMatchCount or the MsgErrorMatchCount will also be incremented. Write any value to the property to reset the count.
MsgParseErrorCount C, D, B Analog Counter that increments for each message received that did not parse correctly. MsgGoodMatchCount or the MsgErrorMatchCount will also be incremented. Write any value to the property to reset the count.
ResetStats C, D, B Digital Reset all of the above statistics to zero by writing any value to this field.
 
UOS contains many properties not included in the above table. Please contact Digital Systems, Inc. to check for a property you may need.
 

 

© 2011 Dimension Software, Inc. All Rights Reserved.