Hot Standby Programming Differences
Original instructions
Overview
In general, programming a Quantum Hot Standby controller with Control Expert is very similar to programming any other standalone Quantum controller using Control Expert. Most of your programming skills in other development environments and for other devices are applicable for the Quantum Hot Standby.
However, there are some important considerations:
Application Task Types
In a Quantum Hot Standby system, the Standby controller must remain ready to assume the role of the Primary controller. This requires that both controllers run identical applications, and that the Standby controller is provided with current application data and state information from the Primary controller once per scan. The transfer of the Primary controller data and state information to the Standby controller is achieved by using MAST tasks.
Exclusive Use of MAST Tasks
The transfer of Primary PLC system and user application data to the Standby PLC is synchronized in each MAST task cycle. Refer to Second Step of Execution Time Measurement.
WARNING
UNINTENDED EQUIPMENT OPERATION
Do not use programming methods based on data that are not synchronized in each MAST task cycle.
Failure to follow these instructions can result in death, serious injury, or equipment damage.
The following programming methods are examples that must not be used in a Hot Standby application:
They can impact the performance of the MAST tasks and cause discrepancies between Primary and Standby output values in the event of a Switchover.
Be careful when using explicit messages and time stamping:
Only MAST tasks support data synchronization between the Primary and Standby controllers.
How Hot Standby MAST Tasks Differ
Hot Standby MAST tasks are different from the normal MAST tasks from Standalone Quantum PLCs. In a Quantum Hot Standby PLC, the execution of a MAST task involves extra steps necessary to support redundancy.
These additional steps provide the following:
MAST Tasks Comparison
An example of a Standalone MAST task follows:
The Hot Standby version of the MAST task introduces an additional step for the “Hot Standby System Functions”, the transmission of the database from the CPU to the Copro.
An example of a Hot Standby version of the MAST task follows:
The time required to transfer the database to the Copro, and for the Copro to communicate this information to the Standby, scales linearly with the size of the database. For more information on Hot Standby MAST tasks actions and durations, refer to Database Exchange and Adjusting MAST Task Properties.
Debugging
Debugging your Hot Standby application program is now a two-stage process:
  1. The application on a single Hot Standby PLC as if it were a standalone application. This allows the use all of the debugging features available in Control Expert, such as watch-points, etc.
  2. Debug your application when it has been uploaded to two Hot Standby PLCs in a working redundant system, but in a non-production environment. On this platform, evaluate performance specific to Hot Standby redundancy. Only a subset of Control Expert debug features can be used during this stage.
NOTE: See Debugging Your Hot Standby Application for further details.
Primary, Standby or Offline Execution
In a Quantum Hot Standby system, your application is executed differently depending on whether it is running on the Primary PLC or on the Standby PLC. The full application program is executed on the Primary controller, while the Standby only runs the first section of the MAST task.
According to the user configuration, the Offline PLC can execute:
This is important because some system behaviors must be commanded in the first section of the MAST tack. For example, the Standby PLC's Reverse Transfer Registers (%SW62 -%SW65) can contain custom diagnostic information for use by the full program on the Primary PLC.