TSX CAY 33 module does not offer circular interpolation. However it is possible to approximate any trajectory by a succession of segments.
Example of a 2 axis system trajectory:
An XMOVE command corresponds to each elementary segment of the trajectory.
NOTE: Each elementary XMOVE command must only be performed once. It is therefore necessary that the program to be executed is either
-
in Grafcet: in one step, on activation or deactivation of this step,
-
in structured text or contact language : on the rising edge of a bit.
A report on function execution is provided by the module using the NEXT and DONE bits.
TSX CAY 33 possess a mechanism which is used to sequence movement commands.
The interpolator has a buffer memory (or stack) which can receive 3 movement commands in addition to what 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. In the following example we shall use the variable Axis_3 of type T_INTERPO_STD associated with channel 3 of the TSX CAY 33 module
Sequencing mechanism
When the stack is empty and a G1 type movement has been requested, it does not start if the module has not received the following movement.
Sequencing between 2 movement commands is as follows :
-
instantaneously if the first movement is non-stop,
-
as soon as the moving part is in the target window, or after time delay TSTOP has expired (which is defined in the stop control on parameter adjustment screen) if the first movement is with a stop.
For the sequencing to be instantaneous, the instruction execution time must be more than the duration of the task in which the XMOVE commands have been programmed.
Refusal of an XMOVE command is indicated by the following data:
-
CMD_NOK bit (%Ir.m.3.6) which indicates a refusal,
-
CMD_FLT (%MWr.m.3.7) word which indicates the cause of the refusal. Reading this word requires a READ_STS instruction.
Constraints on XMOVE Movements
The following XMOVE movements cause command refusal (CMD_NOK), stop the moving part and reset the buffer memory to zero.
-
sequencing a G05 or G92 after a G01,
-
absence of an instruction after a G01,
-
receiving a command with a SPACE parameter affecting an axis which is not stationary, while it is not being affected by a previous XMOVE command (this is where an XMOVE is with an axis whose last movement was an SMOVE G1).
Bits Associated with a Sequencing Mechanism
The following bits are associated with the sequencing mechanism:
Bit
|
Description
|
NEXT (%Ir.m.3.0)
|
Indicates to the program application that channel 3 is ready to receive the following XMOVE command.
|
DONE (%Ir.m.3.1)
|
Indicates the command in progress has finished being executed and there are no new commands in the buffer memory.
|
TH_PNT (%Ir.m.3.10)
|
Indicates that the setpoint value has been reached on the axes affected by the XMOVE.
|
AT_PNT (%Ir.m.3.9)
|
At the end of a movement with a stop, this indicates that for all the axes affected by the movement the moving part is in the target window.
|
NOTE: Either the NEXT bit, or the DONE bit must be tested before executing an XMOVE command. A new command must only be sent to the module if the buffer memory associated with the axis to be guided is not full.
The SYNC_N_RUN (%Ir.m.3.8) word periodically provides the number of the step in progress, in order to carry out movement sequencing.