beautypg.com

Ethernet – Delta RMC151 User Manual

Page 425

background image

6 Communication

until they are before issuing the next command. Otherwise, a command is still being

received, and the synchronization will be lost by not waiting.

3. When the controller is ready (ACK = Axis0Req), the user will toggle Axis0Req, and

write a single block of 10 registers to the Axis 0 Command registers, including the

command, command parameters, and Axis0Req stuffed in at logical bit 8. Since this

is typically a FLOAT write, the user will add 256.0 to the command if Axis0Req is set,

or 0.0 if it is not set.

4. Before looking at the Axis 0 Status Bits register or otherwise assuming that the

command has been received, the user must ensure that the Axis 0 ACK bit is equal to

Axis0Req again.

5. Repeat steps 2-4 for issuing additional commands.

Example 2: Commanding Two Axes from the PLC (single ACK/REQ pair):

1. On startup, the user writes 0.0 to the Axis 0 Command register, and clears an internal

coil in the PLC, which we'll call AxisCmdReq. Now the REQ and ACK bits are set to

zero.

2. When it is time to write a new command to either axis, the user compares the Axis0

ACK bit with AxisCmdReq. If they are not equal, he will wait until they are before

issuing the next command. Otherwise, a command is still being received (on either

axis), and the synchronization will be lost by not waiting.

3. When the controller is ready (Axis0 ACK = AxisCmdReq), the user will toggle

AxisCmdReq, and write two commands (10 regs each) to the Axis 0 and Axis 1

command registers, including the command, command parameters, and AxisCmdReq

stuffed in at logical bit 8 of the Axis 0 command (regardless of which axis the

command is to). It is important that all 20 registers be written regardless of which of

the 2 axes is receiving a command (write zeros to any axis that is not to receive a

command).

4. Before looking at EITHER axis's Status Bits register or otherwise assuming that the

command has been received, the user must ensure that the Axis0 ACK bit is equal to

AxisCmdReq again.

5. Repeat steps 2-4 for issuing additional commands.

Example 3: Commanding Two Axes from the PLC (one ACK/REQ per axis):

1. On startup, the user writes 0.0 to the Axis 0 and Axis 1 command registers, and clears

internal coils in the PLC called Axis0Req and Axis1Req. Now the REQ and ACK bits

for each axis are set to zero.

2. When it is time to write a new command to an axis, the user compares the ACK bit for

the axis/axes to be commanded with the corresponding AxisnReq bit(s). If they are

not equal, he will wait until they are before issuing the next command. Otherwise, a

command is still being received, and the synchronization will be lost by not waiting. If

commands need to be issued simultaneously to both axes, both axes' ACK/REQ bits

should be required to be equal.

3. When the controller is ready (ACK = REQ for the necessary axis/axes), the user will

toggle AxisnReq for each axis receiving a new command, and write the command(s)

(10 registers each) to the command register for that axis, including the command,

command parameters, and AxisnReq stuffed in at logical bit 8 of each Command

register.

4. Before looking at any given axis's Status Bits register or otherwise assuming that a

command on the axis has been received, the user must ensure that the ACK bit in the

status register for that axis is equal to Axis0Req or Axis1Req.

5. Repeat steps 2-4 for issuing additional commands.

6.8. Ethernet

deltamotion.com

405

This manual is related to the following products: