TB_SyncLin

Representation in FBD

General Information

The module generates setpoint positions for a linear axis that is to move in sync with a master. The movement starts from a rest state. The acceleration is such that the axis at the specified position moves in sync with the master.

The axis ends synchronous movement with the x_SEP signal. The master position is reduced by di_MAP, and the axis position by di_FAP. The compensation movement is calculated based on the new positions.

If the axis is not at Y_STOP, starting occurs from the current position. This can result in the axis behaving differently at the initial start. Upon stopping, positioning to the configured Y_STOP is carried out.

When the input x_Enable = TRUE, the module is activated. Successful activation is indicated when x_Active = TRUE.

The first sync-up occurs with x_Start. The position of the master axis (di_xPos) is set to di_X_Sensor when x_Start = TRUE. The axis syncs up based on the specified parameters. If x_Start = FALSE during operation, the axis stops at Y_STOP. Additional MAPs are deducted as long as the master axis is moving. Upon the next start (x_Start is TRUE once again), the sync-up occurs directly with the next possible master position. Empty cycles can be implemented in this way.

Note:
Before the module can be executed, all relevant parameters must be initialized with the TB_SyncLin_Init module.

Note:
If di_SX_MinStart is used, a valid MAP must be created in advance.

Note:
The axis traverses in sync until x_SEP = TRUE. The return travel is now calculated. This procedure lasts two cycles, during which the axis continues synchronized traversal. Synchronous movement then stops, and return travel is carried out in such a way that the sync-up can occur with the next synchronization point.

Recommended task: EVENT
Libraries used: ARITHMETIC_xxbd00 or greater
TECH_TYPES_xxbd05 or greater
TECH_TOOLS_xxbd01 or greater

Functionality

InOut Parameter

Marking: Data type: Description:
di_xPos DINT Current master position in user units. Set to the position di_X_Sensor (see TB_SyncRot_Init) if x_Start is TRUE the first time after enabling.
di_yPos DINT Current mechanical axis position in user units. Must be set to the actual mechanical position once before the module is used.
_SyncDat TB_SYNC_TYPE Initialization parameter of the TB_SyncRot_Init module.

Input Parameter

Marking: Data type: Description:
x_Enable BOOL TRUE: Enabling of the module.
x_Start BOOL If x_Start is TRUE the first time (after enabling), the master position di_xPos is set to the di_X_Sensor position (see TB_SyncRot_Init) and the setpoint values are calculated and output at di_yPos . If x_Start = FALSE, the axis ends the current cycle and stops at the configured rest position. The master position is decreased by one MAP as soon as it is greater than di_X_Sync (see TB_SyncRot_Init). If x_Start is TRUE once again, the sync-up occurs directly with the next possible synchronization position di_X_Sync.
x_SEP BOOL If x_Start is TRUE the first time (after enabling), the master position di_xPos is set to the di_X_Sensor position (see TB_SyncRot_Init) and the setpoint values are calculated and output at di_yPos . If x_Start = FALSE, the axis ends the current cycle and stops at the configured rest position. The master position is decreased by one MAP as soon as it is greater than di_X_Sync (see TB_SyncRot_Init). If x_Start is TRUE once again, the sync-up occurs directly with the next possible synchronization position di_X_Sync.
di_MAP DINT Master Axis Period. Path of the master deducted from di_xPos with a positive edge at x_SEP. To prevent the "-40 MAP Undersized" Message, you can calculate the shortest possible MAP with following formula: di_MAP > di_SEP - di_Y_Sync. So this means, the product length (MAP) must be greater then defined length of synchronous movement. Because the MAP is set together of synchronous movment + movement to the next sync. point (compensation). Take care, with this calculation, you need some more distance for doing the compensation movement.
di_yPosAdd DINT Following Axis Period. Path of the axis deducted from di_yPos with a positive edge at x_SEP.

Output Parameter

Marking: Data type: Description:
x_Active BOOL TRUE: Module is active, and the specified setpoint velocity is converted and output to di_Vel.
x_Motion BOOL TRUE: Movement execution is started. The axis is coupled to the master value.
x_Sync BOOL TRUE: The axis moves in sync with the master. Processing of the product can begin with this signal.
x_Stop BOOL TRUE: Axis at standstill.
x_Error BOOL TRUE: Technology module has detected an error.
di_Vel DINT Setpoint velocity of the axis in 1/100th user units/Ts. Ts is the cycle time of the setpoint event task.
di_Acc DINT Setpoint acceleration of the axis in 1/100th user units/Ts². Ts is the cycle time of the setpoint event task.
i_Result INT Message number of the module.
s_ResTxt STRING Message text of the module.
i_Result s_ResTxt Description:
999 No Technology License No technology license. Use PLC with technology license.
-70 invalid MAP! No valid MAP available. The MAP must be between 0 and 21474835.
-60 no SEP detected! Axis has reached end of movement range without the SEP being detected.
-40 MAP undersized! The MAP is too small.
-30 SEP before sync. detected! An SEP was detected before the axis is in sync.
-20 Sensor to close to sync position The start path for sync-up is too short. Remedy: Change sensor position or shorten start (di_SX_Start at TB_SyncRot_Init).
-10 Position exeeds limits! Position of the axis outside the traversal range limits.
-1 No valid Init-Parameters! The initialization data is invalid. Remedy: Execute TB_SyncRot_Init with valid parameters.
0 TB_SyncRot disabled Module is not active.
10 TB_SyncRot enabled Module is enabled and is waiting for start.
15 TB_SyncRot restart Module is enabled and is waiting for start for restart.
21 TB_SyncRot start cycle First sync-up from the rest position.
31 TB_SyncRot continuous cycle Module in cyclical operation.
41 TB_SyncRot stop cycle Stopping at the rest position.
42 TB_SyncLin stop cycle Stopping in hte rest position (without velocity plateau)