Winder functions
In this library are different functions implemented, which are necessary for a winding machine
TB_Acc_Mode
During an acceleration process of the machine this funtionblock add offset values of current and speed. A linear ramp function generator ist implented for this functionality.
Empfohlene Task: EVENT
Verwendete Bibliotheken: none
Eingänge
| Marking: | Data type: | Description: |
|---|---|---|
| x_Enable | BOOL | TRUE: Enabling of the module. |
| x_Act_CycCalc | BOOL | Activate the calculation of the Offset Value depending on the Winder Diameter. |
| x_Start_Acc | BOOL | Start an Acceleration Process. |
| i_Ticks_Up | INT | System ticks for Ramping up. |
| i_Ticks_Down | INT | System ticks for ramping down. |
| di_Offset_I | DINT | Current Offset during acceleration, while Winder is Zero. |
| di_Offset_V | DINT | Speed Offset during acceleration, while Winder is Zero. |
| ud_Act_DiaWin | UDINT | Actual Winder Diameter. |
| ud_Max_DiaWin | UDINT | Minimal Winder Diameter. |
| ud_Min_DiaWin | UDINT | Maximal Winder Diameter. |
Ausgänge
| Marking: | Data type: | Description: |
|---|---|---|
| x_Busy | BOOL | FB is busy. |
| x_Error | BOOL | FB Error. |
| i_Error | INT | Error number. |
| di_Out_V | DINT | Output of the Speed Offset. |
| di_Out_I | DINT | Output of the Current Offset. |
| s_ErrTxt | STRING | Error in a written form. |
Ein-/Ausgänge
| none |
TB_Acc_Mode
During an acceleration process of the machine this funtionblock add offset values of current and speed. A linear ramp function generator ist implented for this functionality.
Empfohlene Task: EVENT
Verwendete Bibliotheken: none
Eingänge
| Marking: | Data type: | Description: |
|---|---|---|
| x_Enable | BOOL | TRUE: Enabling of the module. |
| x_Act_CycCalc | BOOL | Activate the calculation of the Offset Value depending on the Winder Diameter. |
| x_Start_Acc | BOOL | Start an Acceleration Process. |
| i_Ticks_Up | INT | System ticks for Ramping up. |
| i_Ticks_Down | INT | System ticks for ramping down. |
| di_Offset_I | DINT | Current Offset during acceleration, while Winder is Zero. |
| di_Offset_V | DINT | Speed Offset during acceleration, while Winder is Zero. |
| ud_Act_DiaWin | UDINT | Actual Winder Diameter. |
| ud_Max_DiaWin | UDINT | Minimal Winder Diameter. |
| ud_Min_DiaWin | UDINT | Maximal Winder Diameter. |
Ausgänge
| Marking: | Data type: | Description: |
|---|---|---|
| x_Busy | BOOL | FB is busy. |
| x_Error | BOOL | FB Error. |
| i_Error | INT | Error number. |
| di_Out_V | DINT | Output of the Speed Offset. |
| di_Out_I | DINT | Output of the Current Offset. |
| s_ErrTxt | STRING | Error in a written form. |
Ein-/Ausgänge
| none |
TB_Calc_Diameter
????????.
Empfohlene Task: EVENT
Verwendete Bibliotheken: none
Eingänge
| Marking: | Data type: | Description: |
|---|---|---|
| x_EN | BOOL | ?...? |
| x_EXECUTE | BOOL | ?...? |
| r_WIN_DIAMETER_START | REAL | ?...? |
| ud_POS_WIN_INC | UDINT | ?...? |
| ud_POS_REF_INC | UDINT | ?...? |
Ausgänge
| Marking: | Data type: | Description: |
|---|---|---|
| x_ERR | BOOL | ?...? |
| ud_WIN_DIAMETER | UDINT | ?...? |
| w_ERR_INF | WORD | ?...? |
Ein-/Ausgänge
| Marking: | Data type: | Description: |
|---|---|---|
| _STRUCT_WINDER | _STRUCT_WINDER | ?..? |
TB_Calc_Diameter
????????.
Empfohlene Task: EVENT
Verwendete Bibliotheken: none
Eingänge
| Marking: | Data type: | Description: |
|---|---|---|
| x_EN | BOOL | ?...? |
| x_EXECUTE | BOOL | ?...? |
| r_WIN_DIAMETER_START | REAL | ?...? |
| ud_POS_WIN_INC | UDINT | ?...? |
| ud_POS_REF_INC | UDINT | ?...? |
Ausgänge
| Marking: | Data type: | Description: |
|---|---|---|
| x_ERR | BOOL | ?...? |
| ud_WIN_DIAMETER | UDINT | ?...? |
| w_ERR_INF | WORD | ?...? |
Ein-/Ausgänge
| Marking: | Data type: | Description: |
|---|---|---|
| _STRUCT_WINDER | _STRUCT_WINDER | ?..? |
TB_Detect_Rd
The function block detects the position and delivers a puls per each round of motor. The detection starts when the fb is enabled. As startposition is the actual position set at the moment when the is enabled.
If the motors stops it has to be send to the fb via the input "x_Stand_Still".
Empfohlene Task: EVENT
Verwendete Bibliotheken: none
Eingänge
| Marking: | Data type: | Description: |
|---|---|---|
| x_Enable | BOOL | FALSE: disable the fb TRUE: enable the fb and set the actual position as start position for a complete turn. |
| x_Direction | BOOL | FALSE: drive turns in positive direction (positive speed) TRUE: drive turns in negative direction (negative speed). |
| x_Stand_Still | BOOL | FALSE: drive moves TRUE: drive moves not (speed = 0). |
| ud_Inc_Res | UDINT | increments for a complete turn, for example 65535. |
| ud_Actual_Pos | UDINT | Actual position value of the drive (for example from 0 to 65535). |
Ausgänge
| Marking: | Data type: | Description: |
|---|---|---|
| x_Error | BOOL | LH-edge: a complete turn of the motor was detected. |
| x_Round_Trig | BOOL | FALSE: fb has no error TRUE: fb has error, for more informations see "w_Error_Info". |
| w_Error_info | WORD | bitcoded detaillled description of the errors, see table. |
| ud_Round_Pos | UDINT | rest of the way to a complete turn. |
Ein-/Ausgänge
| none |

TB_Detect_Rd
The function block detects the position and delivers a puls per each round of motor. The detection starts when the fb is enabled. As startposition is the actual position set at the moment when the is enabled.
If the motors stops it has to be send to the fb via the input "x_Stand_Still".
Empfohlene Task: EVENT
Verwendete Bibliotheken: none
Eingänge
| Marking: | Data type: | Description: |
|---|---|---|
| x_Enable | BOOL | FALSE: disable the fb TRUE: enable the fb and set the actual position as start position for a complete turn. |
| x_Direction | BOOL | FALSE: drive turns in positive direction (positive speed) TRUE: drive turns in negative direction (negative speed). |
| x_Stand_Still | BOOL | FALSE: drive moves TRUE: drive moves not (speed = 0). |
| ud_Inc_Res | UDINT | increments for a complete turn, for example 65535. |
| ud_Actual_Pos | UDINT | Actual position value of the drive (for example from 0 to 65535). |
Ausgänge
| Marking: | Data type: | Description: |
|---|---|---|
| x_Error | BOOL | LH-edge: a complete turn of the motor was detected. |
| x_Round_Trig | BOOL | FALSE: fb has no error TRUE: fb has error, for more informations see "w_Error_Info". |
| w_Error_info | WORD | bitcoded detaillled description of the errors, see table. |
| ud_Round_Pos | UDINT | rest of the way to a complete turn. |
Ein-/Ausgänge
| none |

TB_J_Comp
...
Empfohlene Task: Event
Verwendete Bibliotheken: -
Eingänge
| Marking: | Data type: | Default: | Data range: | Description: |
|---|---|---|---|---|
| ... | ... | |||
| ... | ... |
Ein-/Ausgänge
| none |
TB_J_Comp
...
Empfohlene Task: Event
Verwendete Bibliotheken: -
Eingänge
| Marking: | Data type: | Default: | Data range: | Description: |
|---|---|---|---|---|
| ... | ... | |||
| ... | ... |
Ein-/Ausgänge
| none |
TB_KS_Factor
This FB results in the Ks factor depending on the actual diameter. There are two methods implemented for calculating the Ks factor. One option is the step function and the other is an exponential function. The prefered method can be set in "i_TypeExp".
Empfohlene Task: CYCLIC
Verwendete Bibliotheken: BM_TYPES_XXbd01 or higher
Eingänge
| Marking: | Data type: | Description: |
|---|---|---|
| x_Enable | BOOL | Enable FB. |
| x_Execute | BOOL | Execute the fb once. |
| i_TypeExp | INT | set the type of KS output signal. 0: Output is step function. 1: Output is e-function. |
| ud_Diameter_Act | UDINT | actual diameter of the winder [1/10mm] . |
| r_Multiplier_Exp | REAL | multiplier for exponential function. see general describtion. |
| r_Denominator_Exp | REAL | Denominator for exponential function. see general describtion. |
| r_Ramp_Kp | REAL | Kp for step type output of Ks. 0: deactivates P-Controller. >0: Gain factor P-Controller. |
| a_Steps_KS_Value | REAL_8_BMARRAY | Ks value of each step. |
| a_Steps_KS_Range | UDINT_16_BMARRAY | Limits of each step for the Ks change. |
Ausgänge
| Marking: | Data type: | Description: |
|---|---|---|
| x_Error | BOOL | Error at FB. |
| w_Error_Info | WORD | detailed error describtion. See table below. |
| r_KS_Faktor | REAL | KS factor. |
Ein-/Ausgänge
| none |

TB_KS_Factor
This FB results in the Ks factor depending on the actual diameter. There are two methods implemented for calculating the Ks factor. One option is the step function and the other is an exponential function. The prefered method can be set in "i_TypeExp".
Empfohlene Task: CYCLIC
Verwendete Bibliotheken: BM_TYPES_XXbd01 or higher
Eingänge
| Marking: | Data type: | Description: |
|---|---|---|
| x_Enable | BOOL | Enable FB. |
| x_Execute | BOOL | Execute the fb once. |
| i_TypeExp | INT | set the type of KS output signal. 0: Output is step function. 1: Output is e-function. |
| ud_Diameter_Act | UDINT | actual diameter of the winder [1/10mm] . |
| r_Multiplier_Exp | REAL | multiplier for exponential function. see general describtion. |
| r_Denominator_Exp | REAL | Denominator for exponential function. see general describtion. |
| r_Ramp_Kp | REAL | Kp for step type output of Ks. 0: deactivates P-Controller. >0: Gain factor P-Controller. |
| a_Steps_KS_Value | REAL_8_BMARRAY | Ks value of each step. |
| a_Steps_KS_Range | UDINT_16_BMARRAY | Limits of each step for the Ks change. |
Ausgänge
| Marking: | Data type: | Description: |
|---|---|---|
| x_Error | BOOL | Error at FB. |
| w_Error_Info | WORD | detailed error describtion. See table below. |
| r_KS_Faktor | REAL | KS factor. |
Ein-/Ausgänge
| none |

TB_PID_Limit_WR
???.
Empfohlene Task: EVENT
Verwendete Bibliotheken: none
Eingänge
| Marking: | Data type: | Description: |
|---|---|---|
| x_EX | BOOL | ???. |
| x_DONE_WR | BOOL | ???. |
| x_DONE_RD | BOOL | ???. |
| x_RESET | BOOL | ???. |
| r_VALUE_RD | REAL | ???. |
Ausgänge
| Marking: | Data type: | Description: |
|---|---|---|
| x_EX_WR | BOOL | ???. |
| x_EX_RD | BOOL | ???. |
| x_ERR | BOOL | ???. |
| i_PARA_INDEX_WR | INT | ???. |
| i_PARA_SUBINDEX_WR | INT | ???. |
| i_PARA_INDEX_RD | INT | ???. |
| i_PARA_SUBINDEX_RD | INT | ???. |
| r_VALUE_WR | REAL | ???. |
| w_ERR_INF | WORD | ???. |
Ein-/Ausgänge
| none |
TB_PID_Limit_WR
???.
Empfohlene Task: EVENT
Verwendete Bibliotheken: none
Eingänge
| Marking: | Data type: | Description: |
|---|---|---|
| x_EX | BOOL | ???. |
| x_DONE_WR | BOOL | ???. |
| x_DONE_RD | BOOL | ???. |
| x_RESET | BOOL | ???. |
| r_VALUE_RD | REAL | ???. |
Ausgänge
| Marking: | Data type: | Description: |
|---|---|---|
| x_EX_WR | BOOL | ???. |
| x_EX_RD | BOOL | ???. |
| x_ERR | BOOL | ???. |
| i_PARA_INDEX_WR | INT | ???. |
| i_PARA_SUBINDEX_WR | INT | ???. |
| i_PARA_INDEX_RD | INT | ???. |
| i_PARA_SUBINDEX_RD | INT | ???. |
| r_VALUE_WR | REAL | ???. |
| w_ERR_INF | WORD | ???. |
Ein-/Ausgänge
| none |
TB_Tension_Reduc
This function block gives out the tension and the torque depending on the actual diameter. At one mode of operation the tension is constant during the whole diameter change. At the other mode of operation the tension reduces in an hyperbolic way during a rising diameter value. The unit of the end tension is percent. The matching torque is calculated from the tension.
Attention: The function block doesn't make a plausibbility check of the actual diameter.
Empfohlene Task: CYCLIC
Verwendete Bibliotheken: none
Eingänge
| Marking: | Data type: | Description: |
|---|---|---|
| x_Enable | BOOL | TRUE: Enable FB. |
| x_Execute | BOOL | LH-edge: starts a calculation of traction and torque one time. Before this calculation the fb will be check up the diameter for plausibility. The first x_enable LH-edge suppresses the plausibility check up. |
| x_Reset_Error | BOOL | LH-edge: reset all error messages and the internal mismeasure counter. ATTENTION: The first calculation after an error reset ignores the plausibility check up of the diameter. In this case a value jump of the result can occur. |
| ud_Diameter_Min | UDINT | minimal winder diameter. |
| ud_Diameter_Max | UDINT | maximal winder diameter. |
| ud_Diameter_Act | UDINT | actual winder diameter. |
| ud_Tension_End | UDINT | End tension in percent in relation to the start tension (ud_Tension_Start) range: 1% <= ud_Tension_End <= 100%. |
| ud_Tension_Start | UDINT | Final tension which the FB put out at minimal diameter (ud_Diameter_Min) range: 1N <= ud_Tension_Start <= 2000N. |
Ausgänge
| Marking: | Data type: | Description: |
|---|---|---|
| x_Error | BOOL | TRUE: error in calculation or at the parameterization of the inputs --> for detailled information see w_Error_Info. |
| w_Error_Info | WORD | Detailed error description, bitcoded, please see main page. |
| ud_Torque_Target | UDINT | calculated torque. |
| ud_Tension_Target | UDINT | calculated traction. |
Ein-/Ausgänge
| none |

TB_Tension_Reduc
This function block gives out the tension and the torque depending on the actual diameter. At one mode of operation the tension is constant during the whole diameter change. At the other mode of operation the tension reduces in an hyperbolic way during a rising diameter value. The unit of the end tension is percent. The matching torque is calculated from the tension.
Attention: The function block doesn't make a plausibbility check of the actual diameter.
Empfohlene Task: CYCLIC
Verwendete Bibliotheken: none
Eingänge
| Marking: | Data type: | Description: |
|---|---|---|
| x_Enable | BOOL | TRUE: Enable FB. |
| x_Execute | BOOL | LH-edge: starts a calculation of traction and torque one time. Before this calculation the fb will be check up the diameter for plausibility. The first x_enable LH-edge suppresses the plausibility check up. |
| x_Reset_Error | BOOL | LH-edge: reset all error messages and the internal mismeasure counter. ATTENTION: The first calculation after an error reset ignores the plausibility check up of the diameter. In this case a value jump of the result can occur. |
| ud_Diameter_Min | UDINT | minimal winder diameter. |
| ud_Diameter_Max | UDINT | maximal winder diameter. |
| ud_Diameter_Act | UDINT | actual winder diameter. |
| ud_Tension_End | UDINT | End tension in percent in relation to the start tension (ud_Tension_Start) range: 1% <= ud_Tension_End <= 100%. |
| ud_Tension_Start | UDINT | Final tension which the FB put out at minimal diameter (ud_Diameter_Min) range: 1N <= ud_Tension_Start <= 2000N. |
Ausgänge
| Marking: | Data type: | Description: |
|---|---|---|
| x_Error | BOOL | TRUE: error in calculation or at the parameterization of the inputs --> for detailled information see w_Error_Info. |
| w_Error_Info | WORD | Detailed error description, bitcoded, please see main page. |
| ud_Torque_Target | UDINT | calculated torque. |
| ud_Tension_Target | UDINT | calculated traction. |
Ein-/Ausgänge
| none |

TB_Wind_Up
???.
Empfohlene Task: EVENT
Verwendete Bibliotheken: none
Eingänge
| Marking: | Data type: | Description: |
|---|---|---|
| x_EN | BOOL | ???. |
| x_SPEED_NULL | BOOL | ???. |
| x_MOMENTEN_GRENZE | BOOL | ???. |
| ud_ANWICKEL_SPEED_RPM | UDINT | ???. |
| ud_OFFSET_SPEED_RPM | UDINT | ???. |
| t_ZEIT_n0_Mmax | TIME | ???. |
| t_MAX_ANWICKELZEIT | TIME | ???. |
Ausgänge
| Marking: | Data type: | Description: |
|---|---|---|
| x_IN_ZUG | BOOL | ???. |
| x_ERR | BOOL | ???. |
| w_ERR_INF | WORD | ???. |
| di_SET_SPEED_RPM | DINT | ???. |
Ein-/Ausgänge
| none |
TB_Wind_Up
???.
Empfohlene Task: EVENT
Verwendete Bibliotheken: none
Eingänge
| Marking: | Data type: | Description: |
|---|---|---|
| x_EN | BOOL | ???. |
| x_SPEED_NULL | BOOL | ???. |
| x_MOMENTEN_GRENZE | BOOL | ???. |
| ud_ANWICKEL_SPEED_RPM | UDINT | ???. |
| ud_OFFSET_SPEED_RPM | UDINT | ???. |
| t_ZEIT_n0_Mmax | TIME | ???. |
| t_MAX_ANWICKELZEIT | TIME | ???. |
Ausgänge
| Marking: | Data type: | Description: |
|---|---|---|
| x_IN_ZUG | BOOL | ???. |
| x_ERR | BOOL | ???. |
| w_ERR_INF | WORD | ???. |
| di_SET_SPEED_RPM | DINT | ???. |
Ein-/Ausgänge
| none |