Ethernet – Delta RMC151 User Manual
Page 425
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