Delta RMC151 User Manual

Page 591

Advertising
background image

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

Advertising
This manual is related to the following products: