Wicklerfunktionen
In dieser Bibliothek sind Funktionen implementiert, die zum Betrieb einer Wickler Maschine beitragen.
TB_Acc_Mode
Mit diesem Baustein kann während eines Beschleunigungvorgangs ein Offsetwert für Strom und Drehzahl aufaddiert werden. Hierfür ist ein linearer Rampengenerator hinterlegt.
Empfohlene Task: EVENT
Verwendete Bibliotheken: Keine
Eingänge
| Bezeichnung: | Datentyp: | Beschreibung: |
|---|---|---|
| x_Enable | BOOL | TRUE: Freigabe des Bausteins. |
| x_Act_CycCalc | BOOL | Funktion aktivieren: zyklische Berechnung Offset in Abhängigkeit des Wickeldurchmessers. |
| x_Start_Acc | BOOL | Beschleunigungsvorgang starten. |
| i_Ticks_Up | INT | System Ticks hochrampen. |
| i_Ticks_Down | INT | System Ticks herunterrampen. |
| di_Offset_I | DINT | Stromoffset während Beschleunigungsvorgang. |
| di_Offset_V | DINT | Drehzahloffset während Beschleunigungsvorgang. |
| ud_Act_DiaWin | UDINT | Durchmesser Wickel aktuell. |
| ud_Max_DiaWin | UDINT | Durchmesser Wickel maximal. |
| ud_Min_DiaWin | UDINT | Durchmesser Wickel minimal. |
Ausgänge
| Bezeichnung: | Datentyp: | Beschreibung: |
|---|---|---|
| x_Busy | BOOL | Baustein ist beschäftigt. |
| x_Error | BOOL | Baustein hat Fehler. |
| i_Error | INT | Fehlernummer. |
| di_Out_V | DINT | berechneter Offset Drehzahl. |
| di_Out_I | DINT | berechneter Offset Strom. |
| s_ErrTxt | STRING | Fehler in Klartext. |
TB_Calc_Diameter
??........??
Empfohlene Task: EVENT
Verwendete Bibliotheken: Keine
Eingänge
| Bezeichnung: | Datentyp: | Beschreibung: |
|---|---|---|
| x_EN | BOOL | ?....? |
| x_EXECUTE | BOOL | ?....? |
| r_WIN_DIAMETER_START | REAL | ?...? |
| ud_POS_WIN_INC | UDINT | ?...? |
| ud_POS_REF_INC | UDINT | ?...? |
Ausgänge
| Bezeichnung: | Datentyp: | Beschreibung: |
|---|---|---|
| x_ERR | BOOL | ?...? |
| ud_WIN_DIAMETER | UDINT | ?...? |
| w_ERR_INF | WORD | ?...? |
Ein-/Ausgänge
| Bezeichnung: | Datentyp: | Beschreibung: |
|---|---|---|
| _STRUCT_WINDER | _STRUCT_WINDER | ?....? |
TB_Detect_Rd
Dieser Baustein gibt einen Puls heraus, wenn er eine vollständige Umdrehung eines Motors erkannt hat. Die Detektierung wird gestartet sobald der Baustein eingeschaltet wird. Als Startpunkt wird die aktuelle Position im Moment des Einschaltens übernommen.
Ein Stillstand (Drehzahl = 0) des Motors muss über den Eingang "x_Stand_Still" an den Baustein gemeldet werden.
Empfohlene Task: EVENT
Verwendete Bibliotheken: Keine
Eingänge
| Bezeichnung: | Datentyp: | Beschreibung: |
|---|---|---|
| x_Enable | BOOL | FALSE: Baustein ausschalten TRUE: Baustein einschalten und aktuelle Position als Startposition für eine vollständige Umdrehung übernommen. |
| x_Direction | BOOL | FALSE: Der Antrieb bewegt sich in positiver Drehrichtung (positive Geschwindigkeit) TRUE: Der Antrieb bewegt sich in negativer Drehrichtung (negative Geschwindigkeit). |
| x_Stand_Still | BOOL | FALSE: Antrieb führt Bewegung aus TRUE: Antrieb führt keine Bewegung aus (Drehzahl = 0). |
| ud_Inc_Res | UDINT | Inkremente einer vollständigen Umdrehung, zum Beispiel 65536. |
| ud_Actual_Pos | UDINT | Positionsistwert der Achse (zum Beispiel 0 bis 65535). |
Ausgänge
| Bezeichnung: | Datentyp: | Beschreibung: |
|---|---|---|
| x_Round_Trig | BOOL | LH-Flanke: eine vollständige Umdrehung des Antriebs wurde detektiert. |
| x_Error | BOOL | FALSE: Baustein hat keinen Fehler TRUE: Baustein hat Fehler, detailliertere Informationen siehe "w_Error_Info". |
| w_Error_Info | WORD | Bitcodierte detaillierte Fehlerbeschreibung, siehe Tabelle. |
| ud_Round_Pos | UDINT | restlicher Weg bis zur vollständigen Umdrehung. |

TB_J_Comp
DieserFunktionsbaustein wird eingesetzt, um zwischen den Betriebsarten eines BmaXX5000 Reglers zu wechseln.
Empfohlene Task: Zyklisch
Verwendete Bibliotheken: MOTION_CONTROL xxbdXX
Eingänge
| Bezeichnung: | Datentyp: | Anfangswert: | Wertebereich: | Beschreibung: |
|---|---|---|---|---|
| ... | ... | |||
| ... | ... |
TB_KS_Factor
Dieser Funktionsbaustein gibt den Ks-Faktor in Abhängigkeit vom aktuellen Durchmesser aus. Es sind zwei Methoden für die Berechnung des Ks-Faktors implementiert. Eine Möglichkeit besteht in der Stufen-Funktion und die andere kann durch eine e-Funktion berechnet werden. Die bevorzugte Methode kann durch die Variable "i_TypeExp" ausgewählt werden.
Beschreibungallgemein
Dieser Funktionsbaustein gibt den Ks-Faktor in Abhängigkeit vom aktuellen Durchmesser aus. Es sind zwei Methoden für die Berechnung des Ks-Faktors implementiert. Eine Möglichkeit besteht in der Stufen-Funktion und die andere kann durch eine e-Funktion berechnet werden. Die bevorzugte Methode kann durch die Variable "i_TypeExp" ausgewählt werden.
Die Stufenform ermöglicht es 8 verschieden Durchmesserwerte einzustellen. Die Einstellmöglichkeiten sind beispielhaft aufgelistet.
Anpassung des Durchmessers (Max. 1600 mm to Min. 100 mm)
a_Steps_KS_Range[0] := 16000 [1/10 mm]
a_Steps_KS_Range[1] := 15000 [1/10 mm]
a_Steps_KS_Range[2] := 14000 [1/10 mm]
...
a_Steps_KS_Range[8] := 1000 [1/10 mm]
Anpassung des Ks-Faktor:
a_Steps_KS_Value[0] := 150000.0 [-]
a_Steps_KS_Value[1] := 120000.0 [-]
...
a_Steps_KS_Value[8] := 3000.0 [-]
Der Durchmesserbereich des Wickel sollte sich innerhalb der zu parametrierenden Grenzen bewegen (a_Steps_KS_Range[0] >= ud_Diameter_Act >= a_Steps_KS_Range[8]). Sollte nichtsdestotrotz der aktuelle Durchmesser diesen Bereich verlassen wird am Ks-Ausgang der Wert des minimalen, bzw des maximalen Bereichs ausgegeben (siehe vorhergehendes Schaubild). Ebenfalls wird am Baustein-Ausgang eine Fehlermeldung ausgegeben, die jedoch keinerlei Einschränkung auf die Benutzung hat.
Um bei einem Bereichswechsel einen Sprung des Ks-Faktors zu vermeiden kann der Ausgang wahlweise über einen P-Regler verzögert werden. Durch den Eingang r_Ramp_Kp wird die Verstärkung parametriert. Eine 0 an diesem Eingang deaktiviert diese Funktionalität und gibt den Ks-Wert ohne Verzögerung aus.
Um eine dynamischere Anpassung des Ks-Faktors zu erreichen kann eine e-Funktion parametriert werden. Die Ausgabe des Ks-Faktors erfolgt anhand folgender Formel:
Bei dieser Funktion wird der berechnete Ks-Wert direkt an den Ausgang weitergeleitet.
Empfohlene Task: Zyklisch
Verwendete Bibliotheken: BM_TYPES_XXbd01 oder höher
Eingänge
| Bezeichnung: | Datentyp: | Beschreibung: |
|---|---|---|
| x_Enable | BOOL | Baustein aktivieren. |
| x_Execute | BOOL | Abarbeitungszyklus starten. |
| i_TypeExp | INT | Art der Ausgabeform einstellbar. 0: Stufenfunktion. 1: e-Funktion. |
| ud_Diameter_Act | UDINT | aktueller Durchmesser des Wickel [1/10mm]. |
| r_Multiplier_Exp | REAL | Multiplikator für Exponentialfunktion. |
| r_Denominator_Exp | REAL | Nenner für Exponentialfunktion. |
| r_Ramp_Kp | REAL | Kp für Stufenausgabe des Ks, Ausgabe erfolgt anhand P-Regelung. 0:deaktiviert P-Regler. >0:Verstärkung P-Regler. |
| a_Steps_KS_Value | REAL_8_BMARRAY | KS Wert der jeweiligen Stufe. |
| a_Steps_KS_Range | UDINT_16_BMARRAY | Grenzen der jeweiligen Stufen innerhalb derer der jeweilige KS-Faktor ausgegeben wird. |
Ausgänge
| Bezeichnung: | Datentyp: | Beschreibung: |
|---|---|---|
| x_Error | BOOL | Baustein hat Fehler. |
| w_Error_Info | WORD | detaillierte Fehlerbeschreibung. Siehe Tabelle |
| r_KS_Faktor | REAL | KS-Faktor. |

TB_PID_Limit_WR
????
Empfohlene Task: Event
Verwendete Bibliotheken: Keine
Eingänge
| Bezeichnung: | Datentyp: | Beschreibung: |
|---|---|---|
| x_EX | BOOL | ???. |
| x_DONE_WR | BOOL | ???. |
| x_DONE_RD | BOOL | ???. |
| x_RESET | BOOL | ???. |
| r_VALUE_RD | REAL | ???. |
Ausgänge
| Bezeichnung: | Datentyp: | Beschreibung: |
|---|---|---|
| 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 | ???. |
TB_Tension_Reduc
Dieser Baustein gibt die Zugkraft und das Drehmoment in Abhängigkeit des aktuellen Durchmesser aus. Dabei bleibt in einem Betriebsmodus die Zugkraft über die Durchmesseränderung konstant. In einem Anderen gibt es die Möglichkeit die Zugkraft hyperbolisch mit steigendem Durchmesser zu verringern. Dabei erfolgt die Eingabe der Endzugkraft prozentual in Abhängigkeit der Startzugkraft. Das entsprechende Drehmoment resultiert aus der berrechneten Zugkraft.
Beschreibungallgemein
Dieser Baustein gibt die Zugkraft und das Drehmoment in Abhängigkeit des aktuellen Durchmesser aus. Dabei bleibt in einem Betriebsmodus die Zugkraft über die Durchmesseränderung konstant. In einem Anderen gibt es die Möglichkeit die Zugkraft hyperbolisch mit steigendem Durchmesser zu verringern. Dabei erfolgt die Eingabe der Endzugkraft prozentual in Abhängigkeit der Startzugkraft. Das entsprechende Drehmoment resultiert aus der berrechneten Zugkraft.
Achtung: Eine Plausibilitätsprüfung des aktuellen Durchmesser muss außerhalb der Bausteins erfolgen.
Beispiel 1: Kurvenverläufe bei konstanter Zugkraft:
ud_Tension_Start = 200 [N]
ud_Tension_End = 100 [%]
ud_Diameter_Min = 1000 [1/10 mm]
ud_Diameter_Max = 16000 [1/10 mm]
ud_Tension_Target =
ud_Torque_Target =
Beispiel 2: Kurvenverläufe bei hyperbolischer Reduktion der Zugkraft:
ud_Tension_Start = 200 [N]
ud_Tension_End = 80 [%]
ud_Diameter_Min = 1000 [1/10 mm]
ud_Diameter_Max = 16000 [1/10 mm]
ud_Tension_Target =
ud_Torque_Target =
Empfohlene Task: Zyklisch
Verwendete Bibliotheken: Keine
Eingänge
| Bezeichnung: | Datentyp: | Beschreibung: |
|---|---|---|
| x_Enable | BOOL | TRUE: Baustein einschalten FALSE: Baustein ausschalten. |
| x_Execute | BOOL | LH-Flanke: startet eine einmalige Berechnung der geforderten Zugkraft. Zuvor wird der Durchmesser auf Plausibilität geprüft. Die erste Flanke nach x_Enable = TRUE unterdrückt die Plausibilitätsprüfung. |
| x_Reset_Error | BOOL | LH-Flanke: setzt alle Fehlermeldungen sowie den internen Zähler für Fehlmessungen zurück. ACHTUNG: Die erste Berechnung nach dem Fehlerreset ignoriert die Plausibilitätsprüfung. In diesem Fall können Berechnungs- Sprünge auftreten. |
| ud_Diameter_Min | UDINT | minimaler Durchmesser des Wickel. |
| ud_Diameter_Max | UDINT | maximaler Durchmesser des Wickel. |
| ud_Diameter_Act | UDINT | aktueller Durchmesser des Wickel. |
| ud_Tension_End | UDINT | Endzugkraft in Prozent, bezogen auf die Anfangszugkraft (ud_Tension_Start). Bereich: 1% <= ud_Tension_End <= 100%. |
| ud_Tension_Start | UDINT | die beim Durchmesser ud_Diameter_Min gefahrene Startzugkraft. Bereich: 1N <= ud_Tension_Start <= 2000N. |
Ausgänge
| Bezeichnung: | Datentyp: | Beschreibung: |
|---|---|---|
| x_Error | BOOL | TRUE: Fehler in der Berechnung, oder bei der Eingangsparametrierung --> für detaillierte Beschreibung siehe w_Error_Info. |
| w_Error_Info | WORD | Bitcodierte detaillierte Fehlerbeschreibung. |
| ud_Torque_Target | UDINT | berechnetes Motordrehmoment. |
| ud_Tension_Target | UDINT | berechnete Zugkraft. |

TB_Wind_Up
???.
Empfohlene Task: EVENT
Verwendete Bibliotheken: Keine
Eingänge
| Bezeichnung: | Datentyp: | Beschreibung: |
|---|---|---|
| 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
| Bezeichnung: | Datentyp: | Beschreibung: |
|---|---|---|
| x_IN_ZUG | BOOL | ???. |
| x_ERR | BOOL | ???. |
| w_ERR_INF | WORD | ???. |
| di_SET_SPEED_RPM | DINT | ???. |