Sequencing Movement Commands
(Original Document)
Producing a Trajectory
A trajectory is produced by programming a succession of elementary movement instructions (SMOVE function).
Each elementary SMOVE command must only be performed once. It must be programmed:
A report on function execution is provided by the module using the NEXT and DONE bits.
Buffer Memory
The TSX CAY module features a mechanism which is used to sequence movement commands.
Each axis of the TSX CAY module has a buffer memory, which can receive 2 movement commands, in addition to the one it is in the process of executing. Thus when a movement in progress has finished, it proceeds directly to the first command present in the buffer memory.
Command sequence:
Sequencing 2 Commands
Sequencing between 2 movement commands is as follows :
For the sequencing to be instantaneous, the execution time for the instruction in progress must be longer than the master task period.
NOTE: A new command must only be sent to the module if the buffer memory associated with the axis to be controlled is not full.
Bits Associated with a Sequencing Mechanism
The bits associated with the sequencing mechanism are as follows:
Addressing
Description
NEXT (%Ir.m.c.0)
Indicates to the user program that the module is ready to receive the next movement command.
DONE (%Ir.m.c.1)
Indicates the command in progress has finished being executed and there are no new commands in the buffer memory.
TH_PNT (%Ir.m.c.10)
Indicates that the position target value has been reached.
AT_PNT (%Ir.m.c.9)
Indicates that the moving part has reached the target point:
  • by an INC command in manual mode,
  • by a movement command with stop in automatic mode,
For a movement with stop, this bit is set to 1 as soon as the moving part enters the target window.
This bit is not set to 1, following a JOG command, reference point or STOP during a movement.
NOTE: The program must always test the NEXT bit, or the DONE bit before executing an SMOVE command, except in the case of a G32 command which can be immediately followed by another command.
The SYNC_N_RUN (%IWr.m.c.8) word periodically supplies information on the number of steps in progress, in order to carry out movement sequencing.
Example
The diagram below is a timing diagram for a sequence:
For a movement with stop: DONE is set to 1 when NOMOTION is set to 1 and when there is available buffer memory.
For a movement without stop: DONE is set to 1 when TH_PNT is set to 1 and when there is available buffer memory.
NOTE: This simplified diagram does not take following error into account.