7
7-15GFK-0787B Chapter 7 Programming Information
Programming for Startup
The PLC Subsystem chapter of this book describes the sequence of actions that occur
when the PLCs in a GMR system are started up.
The GMR software in the PLCs only allows one PLC to come online at a time. First, a
PLC determines its ID by reading the serial bus addresses of the GMR Bus
Controllers (PLC A = 31, PLC B = 30, PLC C = 29). It then sets the corresponding
PLC Identification status bit (see page 7-11): %M12225 for PLC A or %M12226 for
PLC B, or %M12227 for PLC C.
While a PLC is initializing, the GMR software sets the Inhibit status flag (%M12231).
This Inhibit flag should be used to prevent the application program from executing
until initialization is complete. Example ladder logic that provides this functionality
is shown on page 7-18. In addition, the PLC’s outputs are disabled. If outputs do not
disable successfully, the GMR software halts the PLC.
If the initializing PLC is PLC C, the GMR software automatically commands any discrete
Genius blocks configured for Hot Standby operation to accept outputs from the PLC at
serial bus address 29. If this function fails to complete successfully, the GMR software sets
the System status flag (%M12234) to 1.
During initialization, a PLC also communicates with the GMR I/O blocks and with Bus
Controllers in other PLCs. If any of these communications fails, status bit %M12234,
which indicates System Failure at Powerup, is turned on. The application program can
use this bit as a permissive for continuing and annunciation.
As each PLC starts up, it checks to see whether another PLC is already online and
sending outputs.
if not, the PLC sets the “Cold Start” flag (%M12237). The application program can use
this flag to initialize the application program data.
If one other PLC is already online, the initializing PLC reads that PLC’s initialization
data (%M and %R). It then sets its own %M and %R initialization data areas to
match. This is shown by the following simplified example:
PLC A starts up
A counter in PLC A starts
1 2 3 4 5 6 7 8 9 10 11
PLC B starts up and
initializes its counter
with PLC A
The counter in PLC B starts
6 7 8 9 10 11
Time