Periodic Data Exchanges
The Hot Standby CPUs perform two periodic data exchanges:
Before each MAST cycle, the primary CPU transmits to the standby CPU application variables, system status and I/O data.
Periodically, both CPUs exchange the contents of the
T_M_ECPU_HSBYDDT.
Data Transmitted Each MAST Cycle
Before each MAST task, the primary controller transmits data to the standby controller in two ways. The primary controller uses:
The Hot Standby link to send application variables, system status, and I/O data.
The Ethernet RIO link to send application variables and system status.
When communication is lost on the Hot Standby link, the standby controller does not receive updated I/O data and application variables. If communication is lost for three (3) seconds or more, the standby controller enters wait state.
Your application
needs to regularly check the data synchronization of the MAST, FAST, and SAFE (for safety controllers) tasks through the
Hot Standby link. You can do this using the MAST_SYNCHRONIZED, FAST_SYNCHRONIZED and SAFE_SYNCHRONIZED bits in the T_M_ECPU_HSBY DDT.
Transfer of the Hot Standby DDT
The exchange of the T_M_ECPU_HSBY DDT is
a 2-way data exchange made while both controllers are running. This exchange is made over both the Hot Standby link
and the Ethernet RIO link.
The exchange occurs every 5 ms over the Hot Standby link, and every 10 ms over the EIO link. The exchange occurs regardless of the Hot Standby state of the controllers (primary, standby, wait, or stop). This exchange includes up to 64 words of variable items where the attribute is editable and has been selected.
Identifying Exchanged Data
Only data items with the attribute set to are included in the data exchange. This attribute is editable for some data variables, but is automatically set for other variables:
Variable type |
default setting |
Editable? |
|---|---|---|
State RAM |
Yes |
No |
Located variables |
Yes |
No |
Unlocated variables |
Yes |
Yes |
Device DDT (managed) |
Yes |
No |
Device DDT (unmanaged) |
Yes |
Yes |
You can specify which unmanaged DDDT variables are included in the data exchange by setting the flag to .
When you create a variable
and set its flag to , that variable appears in the LOCAL_HSBY_STS area of the instantiated T_M_ECPU_HSBY DDDT, under the REGISTER element. The REGISTER element can contain up to 32 DWORDs (64 WORDs of data).
The maximum amount of data that can be exchanged depends on your choice of controller. If the amount of data in your Hot Standby system exceeds the maximum amount the controller can transmit, you can:
Use a controller with a higher data transfer capacity.
De-select the attribute for some unmanaged DDDT variables.
Re-design your Hot Standby network so that the amount of Hot Standby data to be exchanged does not exceed controller capacity.
Associating Variables with Tasks
Each data item is associated with a task. When you create a new data item in the , you need to associate it with a task:
A MAST task is required by the Hot Standby system, and can be assigned to data items related to the Hot Standby controller and RIO drops (both Quantum and M580).
FAST tasks are optional for all Hot Standby controllers, and can be assigned only to M580 (e)X80 drops.
NOTE: In an M580 Hot Standby system, variables related to Quantum RIO drops cannot be assigned to a FAST task.Safe data are automatically associated only with the SAFE task.
Preconditions for Data Exchange: Primary and Standby Controllers
The Hot Standby data exchange is made while one Hot Standby controller remains the primary and the other is the standby. Both the primary controller and a standby controller can continue in their roles as long as the Hot Standby link remains operational.
A single break in the Ethernet RIO main ring will not cause an interruption of Ethernet RIO communication between the primary and standby controllers. The controllers continue to function as primary and standby respectively. The primary controller continues to exchange data with the standby over both the Hot Standby and the Ethernet RIO links.
Two breaks in the Ethernet RIO main ring (depending on their location) can cause a loss of Ethernet RIO communication between the primary and standby controllers. However, even if the two controllers are isolated from each other on the Ethernet RIO ring, they can still communicate over the Hot Standby link. If both controllers continue to communicate with RIO drops, the controllers continue to function as primary and standby respectively. The primary controller continues to exchange data with the standby over the Hot Standby link.
Effects of Online Modifications to Hot Standby Data
When you modify the configuration of – or application in – the primary controller, those changes are not applied to the configuration of the standby controller. The exchange of Hot Standby application variables from the primary to the standby is affected, as follows:
Data objects added to the primary controller configuration do not exist in the standby controller. In this case, the new data objects are not exchanged and:
The
DATA_LAYOUT_MISMATCHDDT element is set.The
DATA_DISCARDEDDDT element indicates the quantity, in kB (rounded upwards), of data sent by the primary controller but rejected by the standby controller.
Data objects deleted from the primary controller configuration continue to exist in the standby controller. No updates can be exchanged for these data objects. In this case, the standby controller applies the previous value for this data and:
The
DATA_LAYOUT_MISMATCHDDT element is set.The
DATA_NOT_UPDATEDDDT element indicates the quantity, in kB (rounded upwards), of data that is retained by the standby controller but not updated.
Unchanged data objects remain common to both the primary controller and the standby controller, and continue to be included in the data exchange.
The data structure of the primary controller and standby controller will be equalized on next application transfer.

