User's Manual

PMAC User Manual
36 Talking to PMAC
Typically, this re-initialization procedure is necessary only if the card has been locked up due to errant
software or parameter settings, and communications are impossible to establish. The most common
instances of this type are PLC programs with accidentally repeating SEND or CMD statements (try
sending a <CTRL-D> before re-initializing), or a fast servo time with too many motors activated.
PMAC Re-initialization Actions: Flash CPU
If the jumper E51 is ON when a PMAC with the Flash CPU executes its reset cycle, PMAC enters a
special re-initialization mode that permits the downloading of new firmware. In this mode, the PMAC
can communicate only over the PC/STD bus port, or over the serial port at a baud rate of 38,400,
regardless of the setting of the baud rate jumpers. Only a very basic bootstrap firmware is executing in
this mode.
In this bootstrap mode, there are very few command options. PMAC will respond to any of the status-bit
query commands (?, ??, or ???) with the response BOOTSTRAP PROM. This permits the host to know
whether PMAC is in this mode or not. PMAC will respond to the VERSION query command with the
number of the bootstrap firmware (e.g. 1.01) which will probably be different than the operational
firmware version.
Normal Re-initialization
To bypass the download operation in this mode, send a <CONTROL-R> character to PMAC. This puts
PMAC in the normal operational mode with the existing firmware. Factory default values for I-variables,
conversion table settings, and bus addresses for DPRAM and VME are copied from the firmware section
of flash memory into active memory. The saved values of these values are not used, but they are still kept
in the user section of flash memory.
For any change in the operational firmware, the compiled PLCs will have to be re-compiled with the
LIST LINK file for the new firmware version. It is important to delete all compiled PLCs (DELETE
PLCC n) before attempting to change the operational firmware version. Compiled PLC programs
running under a firmware version other than that which they were compiled for can have unpredictable
consequences.
To download new operational firmware to the PMAC, send a <CONTROL-O> character to PMAC over
the serial port. The bootstrap firmware interprets this as a signal to prepare for downloading of new
operational firmware. All subsequent bytes received over the serial port will be considered as binary-
coded bytes of machine-code firmware, and will be written into the flash memory.
Note:
Before attempting to upgrade PMAC operational firmware, make sure all of
PMAC configuration has been stored to disk. If the new firmware provides a
different user memory map, PMAC will clear memory on power-up after new
firmware has been loaded. Even if this is not the case, the easiest way to establish
a new firmware checksum reference value is to send the $$$*** command,
which clears the buffers.
The host computer should wait at least five seconds after the <CONTROL-O> command before starting to
download the operational firmware. This delay ensures that the flash memory is ready to be written to.
After downloading, the PMAC should be powered down. No other communications should be attempted
with PMAC at this time.
After turning off power to PMAC, the E51 jumper should be removed. When power is re-applied to
PMAC, it should operate normally with the new firmware. The user settings stored in other segments of
the flash memory with the SAVE command are not affected by the downloading of new firmware (unless
the new firmware has a different user memory map).