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_HSBY DDT.
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:
-
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 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:
-
Use a CPU with a higher data transfer capacity.
-
De-select the Exchange On STBY 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 CPU capacity.
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:
-
A MAST task is required by the Hot Standby system, and can be assigned to data items related to the Hot Standby CPU and RIO drops (both Quantum and M580).
-
FAST tasks are optional for all Hot Standby CPUs, 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 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:
-
Data objects added to the primary PAC configuration do not exist in the standby PAC. In this case, the new data objects are not exchanged and:
-
The DATA_LAYOUT_MISMATCH DDT element is set.
-
The DATA_DISCARDED DDT element indicates the quantity, in kB (rounded upwards), of data sent by the primary PAC but rejected by the standby PAC.
-
Data objects deleted from the primary PAC configuration continue to exist in the standby PAC. No updates can be exchanged for these data objects. In this case, the standby PAC applies the previous value for this data and:
-
The DATA_LAYOUT_MISMATCH DDT element is set.
-
The DATA_NOT_UPDATED DDT element indicates the quantity, in kB (rounded upwards), of data that is retained by the standby PAC but not updated.
-
Unchanged data objects remain common to both the primary PAC and the standby PAC, and continue to be included in the data exchange.
The data structure of the primary PAC and standby PAC will be equalized on next application transfer.