Reference Manual
PMAC 2 Software Reference
PMAC On-Line Command Specification 269
• {PMAC variable} is the name of the variable on the PMAC from which the value of
the slave station variable is to be copied
Remarks
This command causes PMAC to copy the value of the specified variable on PMAC to the
specified variable of the MACRO slave station matching the specified node number on the
PMAC, using the MACRO Type 1 master-to-slave auxiliary protocol.
The variable on the PMAC can be any of the I, P, Q, or M-variables on the card.
If this command is issued to the PMAC while a PLC buffer is open, it will be stored in the
buffer as a PLC command, not executed as an on-line command.
In order for the PMAC to be able to execute this command, the following conditions must be
true:
• The PMAC must be set up as a master or the synchronizing ring master (I995= $xx90 or
$xx30);
• The node 15 auxiliary register copy function must be disabled (I1000 bit 15 = 0);
• Node 15 must not be used for any other function.
If the slave node returns an error message or it does not respond within I1003 servo cycles,
PMAC will report ERR008. Bit 5 of global status register X:$0003 is set to report such a
MACRO auxiliary communications error. Register X:$0798 holds the error value. It is set to
$010000 for a timeout error, or $xxxxFE if the slave node reports an error, where xxxx is the
16-bit error code reported by the slave node.
Example
MSW0,MI910,P35 ; Copies value of PMAC P35 into MACRO station node 0 variable MI910
MSW4,C4,P0 ; Causes MACRO station with active node 4 to execute Command #4,
; saving its setup variable values to non-volatile memory (P0 is a dummy
; variable here)
MFLUSH
Function
Clear pending synchronous M-variable assignments
Scope
Coordinate-system specific
Syntax
MFLUSH
Remarks
This command permits the user to clear synchronous M-variable assignment commands that
have been put on the stack for intended execution with a subsequent move (without executing
the commands). As an on-line command, it is useful for making sure pending outputs are not
executed after a program has been stopped.
Example
/ ; Stop execution of a program
MFLUSH ; Clear M-variable stack
B1R ; Start another program; formerly pending M-variables will not execute
See Also
Program commands M{constant}=={expression},
M{constant}&={expression},
M{constant}|={expression},
M{constant}^={expression}