Reference Manual

Turbo PMAC/PMAC2 Software Reference
Turbo PMAC Program Command Specification 454
MACROSLVWRITE
Function: Write (copy) Type 1 MACRO auxiliary parameter value
Type: Uncompiled PLC 1 31 only
Syntax: MACROSLVWRITE{node #},{slave variable},{PMAC variable}
MSW{node #},{slave variable},{PMAC variable}
where:
{node #} is a constant in the range 0 to 63 representing the number of the node on the Turbo PMAC
matching the slave node to be accessed, where the node number specification is:
{node #} = 0 15 specifies MACRO IC 0 nodes 0 15, which correspond to slave nodes 0
15 of the same master number as MACRO IC 0;
{node #} = 16 31 specifies MACRO IC 1 (Ultralites with Option 1A only) nodes 0 15,
which correspond to slave nodes 0 15 of the same master number as MACRO IC 1;
{node #} = 32 47 specifies MACRO IC 2 (Ultralites with Option 1B only) nodes 0 15,
which correspond to slave nodes 0 15 of the same master number as MACRO IC 2;
{node #} = 48 63 specifies MACRO IC 3 (Ultralites with Option 1C only) nodes 0 15,
which correspond to slave nodes 0 15 of the same master number as MACRO IC 3;
{slave variable} is the name of the MI-variable or C-command on the slave station whose
value is to be set;
{PMAC variable} is the name of the variable on the PMAC from which the value of the slave
station variable is to be copied
This command causes Turbo PMAC to copy the value of the specified variable on Turbo PMAC to the
specified variable of the MACRO slave station matching the specified node number on the Turbo PMAC,
using the MACRO Type 1 master-to-slave auxiliary protocol.
The variable on the Turbo PMAC can be any of the I, P, Q, or M-variables on the card.
In order for the Turbo PMAC to be able to execute this command, the following conditions must be true:
The MACRO IC used must be set up as a master or the synchronizing ring master
(I6840/6890/6940/6990 = $xx90 or $xx30);
MACRO IC 0 node 15 auxiliary register copy function must be disabled (I70 bit 15 = 0);
MACRO IC 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 I78 servo cycles, Turbo PMAC
will report ERR008. Bit 5 of global status register X:$000006 is set to report such a MACRO auxiliary
communications error. Register X:$0031EE 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.
When Turbo PMAC executes this command in a PLC, it ends the present scan of that PLC. Execution of
the PLC resumes on the next line of the PLC in the next scan.
If this command is issued to a Turbo PMAC when no buffer is open, it will be executed as an on-line
command.
Examples:
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)