Exchanging M580 Hot Standby Data
Original instructions
Periodic Data Exchanges
The Hot Standby CPUs perform two periodic data exchanges:
Data Transmitted Each MAST Cycle
Before each MAST task, the primary CPU transmits data to the standby CPU in two ways. The primary CPU uses:
When communication is lost on the Hot Standby link, the standby CPU does not receive updated I/O data and application variables. If communication is lost for three (3) seconds or more, the standby CPU enters wait state.
Your application needs to regularly check the data synchronization of the MAST, FAST, and SAFE (for safety PACs) 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.
NOTE: Due to I/O data size and transfer time constraints, I/O data is not exchanged by the primary CPU with the standby CPU over the Ethernet RIO link.
Transfer of the Hot Standby DDT
The exchange of the T_M_ECPU_HSBY DDT is a 2-way data exchange made while both CPUs 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 CPUs (primary, standby, wait, or stop). This exchange includes up to 64 words of variable items where the Exchange On STBY attribute is editable and has been selected.
Identifying Exchanged Data
Only data items with the Exchanged On STBY attribute set to YES are included in the data exchange. This attribute is editable for some data variables, but is automatically set for other variables:
Variable type
Exchange On STBY 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 Exchange On STBY flag to NO.
When you create a variable and set its Exchange On STBY flag to YES, 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 CPU. If the amount of data in your Hot Standby system exceeds the maximum amount the CPU can transmit, you can:
Associating Variables with Tasks
Each data item is associated with a task. When you create a new data item in the Data Editor, you need to associate it with a task:
Preconditions for Data Exchange: Primary and Standby CPUs
The Hot Standby data exchange is made while one Hot Standby CPU remains the primary and the other is the standby. Both the primary CPU and a standby CPU 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 CPUs. The CPUs continue to function as primary and standby respectively. The primary CPU 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 CPUs. However, even if the two CPUs are isolated from each other on the Ethernet RIO ring, they can still communicate over the Hot Standby link. If both CPUs continue to communicate with RIO drops, the CPUs continue to function as primary and standby respectively. The primary CPU 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 PAC, those changes are not applied to the configuration of the standby PAC. The exchange of Hot Standby application variables from the primary to the standby is affected, as follows:
The data structure of the primary PAC and standby PAC will be equalized on next application transfer.