Reference Manual

Turbo PMAC/PMAC2 Software Reference
Turbo PMAC On-line Command Specification 324
operation, so can be done without disrupting machine operation. (However, during the approximately 5
milliseconds it takes to execute the FSAVE command, no other background tasks, including safety
checks, are performed. Foreground tasks such as servo loop closure are performed during the FSAVE
process.) It is intended to permit the quick storage of machine-state information for proper start-up after a
quick, or especially an unexpected, power-down.
After a power-up/reset, the values stored with the FSAVE command are not copied back into the active
registers in RAM until an FREAD command is issued to the Turbo PMAC. On power-up/reset, Turbo
PMAC automatically copies the last values for these variables stored with a full SAVE command to the
main bank of flash memory. A subsequent FREAD command will overwrite these values with the last
values stored with an FSAVE command.
After every 256
th
FSAVE command, one of the two flash-memory sectors for this function is filled, and
Turbo PMAC must clear the other sector to enable further FSAVE commands, an operation that takes 1
2 seconds. This does not keep any other Turbo PMAC tasks from operating, but if another FSAVE
command is executed during this time, it will be rejected with an error (reporting ERR021 if I6 is set to 1
or 3), and bit 6 of global status word Y:$000006 is set to 1. Operation of the flash memory past 100,000
clear cycles cannot be guaranteed, so there should be no more than 25,000,000 FSAVE commands issued
over the lifetime of the machine.
If the saving operation fails due to a bad flash sector, the command will be rejected with an error
(reporting ERR022 if I6 is set to 1 or 3), and bit 7 of global status word Y:$000006 will be set to 1.
The FSAVE command works on all flash-memory ICs being used in manufacturing as of the
implementation of the command in 2005. However, it may not work on older Turbo PMACs. Bits 1 and
2 of I4904 must both be set to 1 (i.e. the last hex digit of I4904 must be $6 or $7) to permit operation of
the FASVE command. If the command is issued to a Turbo PMAC with an older flash-memory IC, the
command will be rejected with an error (reporting ERR020 if I6 is set to 1 or 3.)
FSAVECLEAR
Function: Clear FSAVE flash-memory sectors
Scope: Global
Syntax: FSAVECLEAR
FSAVCLR
The FSAVECLEAR command causes Turbo PMAC to clear both of the sectors of flash memory reserved
for the FSAVE fast save” function. If an FREAD command is then issued before another FSAVE
command is used to save real data into these flash sectors, all of the variable values will be set to 0.
GATHER
Function: Begin data gathering.
Scope: Global
Syntax: GATHER [TRIGGER]
GAT [TRIG]
This command causes data gathering to commence according to the configuration defined in I-variables
I5000 I5051. If TRIGGER is not used in the command, gathering will start on the next servo cycle. If
TRIGGER is used, gathering will start on the first servo cycle after machine input MI2 goes true.