The Protection-Switch-Asymmetric logical device provides a software based solution for a 1:1 redundancy switch. As the name suggests, the device is asymmetric, it differentiates between a primary and a backup signal chain. In simple terms, the device switches to backup when there is a fault at the primary chain and it switches back to primary when the primary chain becomes healthy again.
In practice, things are a bit more sophisticated. Beside the primary chain fault there are other conditions which are to be taken into account, also there are a number of delay parameters which make the protection switch behave in a useful way.
Fault monitoring
The logical device monitors the fault states of a couple of devices, deriving from this the information whether to switch over. Actually the device supports five fault flags for each chain which are logically ORed to obtain the chain fault.
Inhibit signals
The device never switches to a chain which states a fault. Beside this, the device can monitor an additional fault flag for each chain which is interpreted as an inhibit signal. If this flag is true, the device will not switch to this chain, even if the opposite chain states a fault.
Delay pararameters
The Protection-Switch-Asymmetric logical device provides three delay parameters which control the device's behaviour in different situations.
All delay values may be set to zero resulting in an immediate reaction of the device.
Switchover conditions
With protection enabled, the device switches from primary to backup if the backup chain shows no fault and no inhibit condition, but the primary chain signals a fault and this condition stays true for at least 'switch delay' seconds.
The device switches back from backup to primary if the primary chain shows no fault and no inhibit condition, but the backup chain signals a fault and this condition stays true for at least 'recovery delay' seconds.
The device also switches back from backup to primary if the primary chain shows no fault and no inhibit condition, regardless of the state of the backup chain with this condition being true for at least 'switch back delay' seconds.
Device window pages
The following table shows which device window pages are available with this individual device type. Tool-bar functions not mentioned here are described at the general description of device windows .
--- This page controls the operational parameters of the device.
--- The faults page. *
--- The device info page.
--- The maintenance page. The configuration parameters described below are set at this page.Configuration parameters
At the maintenance page of the device window there are a couple of configuration parameter which must be set to interconnect the redundancy switch with the devices it shall monitor and control.
| parameter | description |
|---|---|
| faultPri1Id ... faultPri5Id | The message IDs for the fault flags to be monitored for the primary chain. The device recognizes device summary fault flags ('XXXXX.fault') and individual fault flags ('XXXXX.faults.yy') as well. |
| inhibitPriId | The message ID of a fault flag to watch if the protection shall be inhibited switching back to primary. |
| faultBak1Id ... faultBak5Id | The message IDs for the fault flags to be monitored for the backup chain. The device recognizes device summary fault flags ('XXXXX.fault') and individual fault flags ('XXXXX.faults.yy') as well. |
| inhibitBakId | The message ID of a fault flag to watch if the protection shall be inhibited switching to backup. |
| switchFaultId | The message ID of the fault flag indicating a problem with the chain select switch. Usually this is 'ZZZ.fault', if 'ZZZ' is the device name of the switch. |
| switchId | The message ID to send the switch over command to. Usually this is 'ZZZ. position' if 'ZZZ' is the name of the switch device. |
| switchPriVal | The command to be sent to 'switchId' if the protection switch wants to select the primary chain. Usually this is one of 'ON', 'OFF', 'A' or 'B'. |
| switchBakVal | The command to be sent to 'switchId' if the protection switch wants to select the backup chain. Usually this is one of 'ON', 'OFF', 'A' or 'B'. |
| locdetectId | The message ID to monitor in order to detect the actual primary/backup state. This may be (in case of a simple switch) the same as switchId, but if switchId for example triggers a macro to perform a more complex switchover procedure you may monitor another parameter to detect if the primary or the backup chain is selected. |
| locdetectPriVal | The value expected from the parameter addressed by locdetectId for the primary chain |
| locdetectBakVal | The value expected from the parameter addressed by locdetectId for the backup chain |
Variables defined by this device driver
| name | type | flags | range |
|---|---|---|---|
| info.driver | TEXT | R/O | StringRange R/O |
| info.type | TEXT | R/O | StringRange R/O |
| info.frame | TEXT | R/O | StringRange R/O |
| config.faultPri1Id | TEXT | SAVE SETUP | StringRange |
| config.faultPri2Id | TEXT | SAVE SETUP | StringRange |
| config.faultPri3Id | TEXT | SAVE SETUP | StringRange |
| config.faultPri4Id | TEXT | SAVE SETUP | StringRange |
| config.faultPri5Id | TEXT | SAVE SETUP | StringRange |
| config.inhibitPriId | TEXT | SAVE SETUP | StringRange |
| config.faultBak1Id | TEXT | SAVE SETUP | StringRange |
| config.faultBak2Id | TEXT | SAVE SETUP | StringRange |
| config.faultBak3Id | TEXT | SAVE SETUP | StringRange |
| config.faultBak4Id | TEXT | SAVE SETUP | StringRange |
| config.faultBak5Id | TEXT | SAVE SETUP | StringRange |
| config.inhibitBakId | TEXT | SAVE SETUP | StringRange |
| config.switchFaultId | TEXT | SAVE SETUP | StringRange |
| config.switchId | TEXT | SAVE SETUP | StringRange |
| config.switchPriVal | TEXT | SAVE SETUP | StringRange |
| config.switchBakVal | TEXT | SAVE SETUP | StringRange |
| config.locdetectId | TEXT | SAVE SETUP | StringRange |
| config.locdetectPriVal | TEXT | SAVE SETUP | StringRange |
| config.locdetectBakVal | TEXT | SAVE SETUP | StringRange |
| location | CHOICE | EnumRange (PRIMARY BACKUP) | |
| protection | CHOICE | SAVE | EnumRange (OFF ON) |
| switchDelay | FLOAT | SAVE | DoubleRange (0.0 .. 300.0) |
| recovDelay | FLOAT | SAVE | DoubleRange (0.0 .. 300.0) |
| switchBackDelay | FLOAT | SAVE | DoubleRange (0.0 .. 3600.0) |
| reset | TEXT | NOPRESET | StringRange |
| sbReload | TEXT | NOPRESET | StringRange |
| sbNow | TEXT | NOPRESET | StringRange |
| primaryFault | BOOLEAN | R/O | BooleanRange R/O (true false) |
| backupFault | BOOLEAN | R/O | BooleanRange R/O (true false) |
| switchFault | BOOLEAN | R/O | BooleanRange R/O (true false) |
| switched | BOOLEAN | R/O | BooleanRange R/O (true false) |
| switchBackCountDown | TEXT | R/O | StringRange R/O |
| faults.01 | ALARM | R/O | AlarmFlagRange R/O (Primary fault) |
| faults.02 | ALARM | R/O | AlarmFlagRange R/O (Backup fault) |
| faults.03 | ALARM | R/O | AlarmFlagRange R/O (Path select switch) |
| faults.04 | ALARM | R/O | AlarmFlagRange R/O (Protection) |