Delta RMC151 User Manual
Page 591
6 Communication
Writing to the RMC - General
If you selected to not use a Sync Register, the Output Data is written to the RMC when
any value in the Output Data changes.
If you selected to use a Sync Register, the Output Data is sent to the RMC at each
Requested Packet Interval, but the RMC ignores it until the SyncOut register changes. The
first item in the Output Data array is the SyncOut register, followed by the registers that
will be sent to the Incoming Data location in the RMC. Use the following procedure to
write to the RMC with a Sync Register:
1. Wait Until the Sync In and Sync Out Registers Match
If they do not match, then this means that another write is in progress.
2. Write to the Output Data
Write the desired to the Output Data array.
3. Change the Sync Out Register
The easiest way to do this is to add one to it. However, you must take care to handle
overflowing this register (the Sync register is a REAL). One method is to add one and
then MOD it with some large number, such as 10000. This will make the register count
from 0 to 9,999, and then wrap back down to 0 without an error.
4. Wait Until the Sync In and Sync Out Registers Match
This indicates that the RMC has received the data and processed it.
See Using an EtherNet/IP I/O Connection for further details.
Sending Commands to the RMC
If you are writing to the Command Area, either directly or via the Indirect Data Map,
Delta recommends using a Sync Register and following the procedure below to send
commands to the RMC. The Output Data is sent to the RMC each RPI, but the RMC
ignores it until the SyncOut register changes. The first item in the Output Data array is
the SyncOut register, followed by the registers that will be sent to the Incoming Cyclic
I/O Data location in the RMC.
1. Wait Until the Sync In and Sync Out Registers Match
If they do not match, then this means that another write is in progress.
2. Clear Old Commands from the Command Registers
Clear old commands from the command registers in the Output Data. Otherwise, when
the Sync Out register is changed, the commands would be re-issued. One method of
clearing the old commands is to fill the Output Data array with zeroes (except the
SyncOut value).
3. Write to the Command Registers
Write the Command registers and all required command parameters to the Output
Data for all commands you want to issue. You can issue up to one command per axis.
Leave the Command register set to 0 for each axis that will not receive a command.
For example, if a portion of the Output Data is going to the Command Area for Axis
0, and you wish to issue a Move Absolute Command (20) to Axis 0 with a position of
6.7, a Speed of 3, and Accel and Decel of 50, you would write the following:
Value
20 (for a move Absolute Command)
6.7 (Position)
3 (Speed)
50 (Accel)
50 (Decel)
0 (Direction)
Use the online help for each command to find out how many parameters a
command has and what they mean. Make sure to write to all the parameters that
the command uses. You do not need to write to command parameters that are not
used by the command.
deltamotion.com
571