Skip to main content

Flying Saw

This library is used when a linear axis is to be synchronized with a master position.
For example, a slave axis that is in rest is accelerated in such a way that it moves synchronously with the master at a predetermined position.

TB_SyncLin

TB_SyncLin

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.

Empfohlene Task: EVENT

Verwendete Bibliotheken: ARITHMETIC_xxbd00 or greater TECH_TYPES_xxbd05 or greater TECH_TOOLS_xxbd01 or greater

Eingänge

Marking:Data type:Description:
x_EnableBOOLTRUE: Enabling of the module.
x_StartBOOLIf 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_SEPBOOLIf 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_MAPDINTMaster 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_yPosAddDINTFollowing Axis Period. Path of the axis deducted from di_yPos with a positive edge at x_SEP.

Ausgänge

Marking:Data type:Description:
x_ActiveBOOLTRUE: Module is active, and the specified setpoint velocity is converted and output to di_Vel.
x_MotionBOOLTRUE: Movement execution is started. The axis is coupled to the master value.
x_SyncBOOLTRUE: The axis moves in sync with the master. Processing of the product can begin with this signal.
x_StopBOOLTRUE: Axis at standstill.
x_ErrorBOOLTRUE: Technology module has detected an error.
di_VelDINTSetpoint velocity of the axis in 1/100th user units/Ts. Ts is the cycle time of the setpoint event task.
di_AccDINTSetpoint acceleration of the axis in 1/100th user units/Ts². Ts is the cycle time of the setpoint event task.
i_ResultINTMessage number of the module.
s_ResTxtSTRINGMessage text of the module.

Ein-/Ausgänge

Marking:Data type:Description:
di_xPosDINTCurrent 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_yPosDINTCurrent mechanical axis position in user units. Must be set to the actual mechanical position once before the module is used.
_SyncDatTB_SYNC_TYPEInitialization parameter of the TB_SyncRot_Init module.
Representation in FBD

TB_SyncLin

TB_SyncLin

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.

Empfohlene Task: EVENT

Verwendete Bibliotheken: ARITHMETIC_xxbd00 or greater TECH_TYPES_xxbd05 or greater TECH_TOOLS_xxbd01 or greater

Eingänge

Marking:Data type:Description:
x_EnableBOOLTRUE: Enabling of the module.
x_StartBOOLIf 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_SEPBOOLIf 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_MAPDINTMaster 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_yPosAddDINTFollowing Axis Period. Path of the axis deducted from di_yPos with a positive edge at x_SEP.

Ausgänge

Marking:Data type:Description:
x_ActiveBOOLTRUE: Module is active, and the specified setpoint velocity is converted and output to di_Vel.
x_MotionBOOLTRUE: Movement execution is started. The axis is coupled to the master value.
x_SyncBOOLTRUE: The axis moves in sync with the master. Processing of the product can begin with this signal.
x_StopBOOLTRUE: Axis at standstill.
x_ErrorBOOLTRUE: Technology module has detected an error.
di_VelDINTSetpoint velocity of the axis in 1/100th user units/Ts. Ts is the cycle time of the setpoint event task.
di_AccDINTSetpoint acceleration of the axis in 1/100th user units/Ts². Ts is the cycle time of the setpoint event task.
i_ResultINTMessage number of the module.
s_ResTxtSTRINGMessage text of the module.

Ein-/Ausgänge

Marking:Data type:Description:
di_xPosDINTCurrent 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_yPosDINTCurrent mechanical axis position in user units. Must be set to the actual mechanical position once before the module is used.
_SyncDatTB_SYNC_TYPEInitialization parameter of the TB_SyncRot_Init module.
Representation in FBD

TB_SyncLin_Init

TB_SyncLin_Init

The parameters created for the TB_SyncLin technology module are checked, converted and stored in the _SyncDat structure variable.

Note:
The data points of the laws of motion are loaded the first time the module is called. Thus the processing time is greater for the first call.

It is possible to change the parameters at any time during operation, i.e. even while the _SyncLin function module is active and is generating setpoint values. The new parameters are accepted at the beginning of a new cycle (after a rising edge at x_SEP).

Empfohlene Task: Cyclic

Verwendete Bibliotheken: TECH_TYPES_xxbd05 or higher

Eingänge

Marking:Data type:Description:
x_EnableBOOLTRUE: Enabling of the module.
di_X_SyncDINTPosition of the master axis in user units at which the axis is in sync regarding angle and velocity.
di_Y_SyncDINTPosition of the axis in user units at which the angle and velocity of the axis are in sync with the master axis.
di_Y_StopDINTPosition of the axis in user units that is approached after the last cycle (x_Start = FALSE).
di_Y_MinDINT...Position of the axis in user units that is approached after the last cycle (x_Start = FALSE).
di_Y_MaxDINT...Position of the axis in user units that is approached after the last cycle (x_Start = FALSE).
di_X_SensorDINTPosition of a (optional) sensor in user master units. The first positive edge at the x_Start input sets the master position di_xPos to di_X_Sensor.If no sensors are present, the position di_xPos so is determined in such a way that the axis syncs up immediately. For this the parameter must be set to DINT#16#8000_0000.Then the function block calculates the shortest possible sensor distance.The shortest sensor distance depends on the x_Sync, y_Sync and y_Stop (after restarting this is the start position) settings (and the actual position values y_pos and x_Pos of the TB_SyncRot).
di_SX_MinStartDINTMinimum distance of the master axis in user units before the sync-up may occur. >=0: The X_SENSOR position is repeatedly shifted by MAP in the X_SYNC direction until the distance is less than SX_MinStart + MAP. -1: Function inactive. This function serves to reduce the amount of waste. If it can be determined that material is already found in the machine and the product lengths are constant, it makes sense to use this. If X_SENSOR is 1.5 m from the knife, for example, and this function is not being used, 1.5 m of the material is traversed until synchronization occurs precisely at the mark di_SX_MinStart can be used to avoid this waste.
di_SX_StartDINTPath of the master axis in user units while the axis syncs up. If the input remains open, the sync-up occurs with minimum acceleration. The greater the distance of the axis to the synchronization position di_Y_Sync, the longer the master path.
ui_SX_SyncUINTSynchronization path of axis in user units. If the axis is in sync, it covers ui_SY_Sync, while the master axis covers ui_SX_Sync.
ui_SY_SyncUINTSynchronization path of master axis in user units. If the axis is in sync, it covers ui_SY_Sync, while the master axis covers ui_SX_Sync.
us_k_SyncUSINTSynchronization correction in percent. 100% = in sync (ui_SY_Sync/ui_SX_Sync), > 100%: axis moving faster, < 100%: axis moving slower. Note: Changes are accepted at the Synchronous End Point (SEP) and take effect immediately. This could lead to an impact.
i_T_CycleINTCycle time of setpoint event task in ms. 1, 2, 4 and 8 ms are possible here.

Ausgänge

Marking:Data type:Description:
x_OkBOOLTRUE: Valid initialization values present in _SyncDat.
x_ErrorBOOLTRUE: The module has identified an error. See i_Result and s_ResTxt.
i_ResultINTMessage number of the module. Values < 0 are errors (x_Error = TRUE).
s_ResTxtSTRINGPlain text output of the message number.

Ein-/Ausgänge

Marking:Data type:Description:
_SyncDatTB_SYNC_TYPEInternal parameters for the TB_SyncRot technology module.
Representation in FBD

TB_SyncLin_Init

TB_SyncLin_Init

The parameters created for the TB_SyncLin technology module are checked, converted and stored in the _SyncDat structure variable.

Note:
The data points of the laws of motion are loaded the first time the module is called. Thus the processing time is greater for the first call.

It is possible to change the parameters at any time during operation, i.e. even while the _SyncLin function module is active and is generating setpoint values. The new parameters are accepted at the beginning of a new cycle (after a rising edge at x_SEP).

Empfohlene Task: Cyclic

Verwendete Bibliotheken: TECH_TYPES_xxbd05 or higher

Eingänge

Marking:Data type:Description:
x_EnableBOOLTRUE: Enabling of the module.
di_X_SyncDINTPosition of the master axis in user units at which the axis is in sync regarding angle and velocity.
di_Y_SyncDINTPosition of the axis in user units at which the angle and velocity of the axis are in sync with the master axis.
di_Y_StopDINTPosition of the axis in user units that is approached after the last cycle (x_Start = FALSE).
di_Y_MinDINT...Position of the axis in user units that is approached after the last cycle (x_Start = FALSE).
di_Y_MaxDINT...Position of the axis in user units that is approached after the last cycle (x_Start = FALSE).
di_X_SensorDINTPosition of a (optional) sensor in user master units. The first positive edge at the x_Start input sets the master position di_xPos to di_X_Sensor.If no sensors are present, the position di_xPos so is determined in such a way that the axis syncs up immediately. For this the parameter must be set to DINT#16#8000_0000.Then the function block calculates the shortest possible sensor distance.The shortest sensor distance depends on the x_Sync, y_Sync and y_Stop (after restarting this is the start position) settings (and the actual position values y_pos and x_Pos of the TB_SyncRot).
di_SX_MinStartDINTMinimum distance of the master axis in user units before the sync-up may occur. >=0: The X_SENSOR position is repeatedly shifted by MAP in the X_SYNC direction until the distance is less than SX_MinStart + MAP. -1: Function inactive. This function serves to reduce the amount of waste. If it can be determined that material is already found in the machine and the product lengths are constant, it makes sense to use this. If X_SENSOR is 1.5 m from the knife, for example, and this function is not being used, 1.5 m of the material is traversed until synchronization occurs precisely at the mark di_SX_MinStart can be used to avoid this waste.
di_SX_StartDINTPath of the master axis in user units while the axis syncs up. If the input remains open, the sync-up occurs with minimum acceleration. The greater the distance of the axis to the synchronization position di_Y_Sync, the longer the master path.
ui_SX_SyncUINTSynchronization path of axis in user units. If the axis is in sync, it covers ui_SY_Sync, while the master axis covers ui_SX_Sync.
ui_SY_SyncUINTSynchronization path of master axis in user units. If the axis is in sync, it covers ui_SY_Sync, while the master axis covers ui_SX_Sync.
us_k_SyncUSINTSynchronization correction in percent. 100% = in sync (ui_SY_Sync/ui_SX_Sync), > 100%: axis moving faster, < 100%: axis moving slower. Note: Changes are accepted at the Synchronous End Point (SEP) and take effect immediately. This could lead to an impact.
i_T_CycleINTCycle time of setpoint event task in ms. 1, 2, 4 and 8 ms are possible here.

Ausgänge

Marking:Data type:Description:
x_OkBOOLTRUE: Valid initialization values present in _SyncDat.
x_ErrorBOOLTRUE: The module has identified an error. See i_Result and s_ResTxt.
i_ResultINTMessage number of the module. Values < 0 are errors (x_Error = TRUE).
s_ResTxtSTRINGPlain text output of the message number.

Ein-/Ausgänge

Marking:Data type:Description:
_SyncDatTB_SYNC_TYPEInternal parameters for the TB_SyncRot technology module.
Representation in FBD