7 |
hIf both of the other PLCs are already online, the initializing PLC reads the %R (only) initialization data from the other PLC with the higher serial bus address. It then sets its own data to match as shown above.
Word type data that will be included in the initialization data exchanged among the PLCs at startup, such as timer and counter accumulators, should be located at the top of the configured %R memory space. This is because the last portion (top) of the configured %R initialization data is copied last. Locating changeable data at the top of the %R data assures that the most recent values will be included when the data is copied.
The third initializing PLC also reads any %M (bit) initialization data from both of the online PLCs , and compares the two sets of data. If they don't match, the initializing PLC sets the Miscompare status reference (%M12232) to 1.
HWhen the PLC completes its data initialization, the GMR software clears the Inhibit status flag (%M12231). At that point, the application program can monitor the startup status flags, as suggested on the next page, before continuing startup.
HWhen the application program has computed a set of outputs, it must enable sending outputs to Genius blocks.
HThe application program enables outputs to the I/O blocks by turning on control bit %M12257 (the Continue bit). As the example shows, it is important to have this occur at the end of the program, so the outputs have been solved at least once before being enabled.
Monitoring Startup Status
The application program should include logic to cause it to begin executing when the Inhibit flag is cleared to 0. Depending on the needs of the application, the application program can begin by checking the startup status flags to determine whether, or how, to proceed with the rest of the logic. See page
The GMR software provides several initialization flags. It can also monitor the application program %M data for miscompares, and make program execution conditional upon voting of the data. See below.
The following flags are of particular interest immediately following startup:
%M12237 COLDST: If this reference has been set to 1, it means the PLC detected no other PLC(s) online when it started up. The application program must initialize its own %M and %R initialization data.
%M12232 MISCMP#: If set to 1, this flag indicates that when the PLC started up, the other two PLCs were already online and running their application programs. When the PLC compared the %M initialization data from the other PLCs, it found a discrepancy.
%M12234 SYSFLT# : If set to 1, this flag indicates that when the PLC started up, it experienced a problem trying to communicate with one of the bus controllers or a Genius I/O block.
Enabling Outputs At Startup
Following initialization, the application program begins to execute. As a result of one or more sweeps through the logic, output data is generated. However, outputs remain disabled, and the output data is not sent on the bus.
GeniustModular Redundancy Flexible Triple Modular Redundant (TMR) System |
| |
| User's Manual ± March 1995 |
|