TB_CamSwitch

Darstellung in FBD

Allgemeine Informationen

Mit dem Baustein kann eine Nocke erzeugt werden, mit der ein Ereignis an einer Nockenposition ausgelöst wird. Die Nocke kann zeitlich vorgesteuert werden um Totzeiten zu kompensieren.

In Kombination mit dem FB TB_MasterEngine kann die Totzeitkompensation auch während der Beschleunigungs- und Bremsphase exakt berechnet werden. Bei Verwendung einer realen Achse kann nur eine Geschwindigkeitskompensation angewandt werden.

Empfohlene Task: Event
Verwendete Bibliotheken:
Verwendete zusätzliche Datentypen: ...
Verwendet Static-Variablen: ...

Allgemeine Beschreibung

Ein-/Ausgänge

nicht vorhanden

Eingänge

Bezeichnung: Datentyp: Anfangswert: Wertebereich: Beschreibung:
x_Enable BOOL ... ... TRUE: Freigabe des Bausteins.
x_Start BOOL ... ... TRUE: Start der Nockengenerierung. Mit der positiven Flanke wird die Position di_Pos auf die Position di_StartPos gesetzt.
x_Ready BOOL ... ... TRUE: Aktor ist bereit. Soll eine Nocke ausgegeben werden (x_CamOut=TRUE) so muss der Eingang TRUE sein. Ansonsten wird ein Fehler ausgegeben.
di_Vel DINT ... ... Ist-Geschwindigkeit des Gebers in Anwendereinheiten/Ts.
di_StartPos DINT ... ... Start- oder Referenzposition des Gebers. Mit x_Start=TRUE wird x_Pos auf diese Position gesetzt.
di_CamPos DINT ... ... Position des Gebers, an der die Nocke wirken soll. Diese Position abzüglich dem Weg ud_Travel, der während der Totzeit verfahren werden wird, ergibt die Position, an der die Nocke schaltet.
di_Period DINT ... ... Periode der Position in Anwendereinheiten. Immer wenn die Nocke schaltet, wird die Position di_Pos um di_Period zurückgesetzt.
di_Delay_ms DINT ... ... Totzeit in ms. Hier werden alle Verzögerungszeiten des Systems zusammengefasst. Es sind maximal Zeiten bis 5000 ms möglich, wird ein größerer Wert angeschlossen, wird dieser intern auf 5000 ms begrenzt.
ud_TimeAcc_ms UDINT ... ... Restliche Beschleunigungszeit in ms aus dem Baustein TB_MasterEngine bei Verwendung des virtuellen Masters. Sonst offen lassen.
di_VelSet_s DINT ... ... Sollgeschwindigkeit in Anwendereinheiten/s aus dem Baustein TB_MasterEngine bei Verwendung des virtuellen Masters. Sonst offen lassen.
di_VelAct_s DINT ... ... Istgeschwindigkeit in Anwendereinheiten/s. Dieser Wert muss für die Totzeitkompensation angeschlossen werden. Die Istgeschwindigkeit ist entweder von einem reellen oder virtuellen Master (FB TB_MasterEngine).

Ausgänge

Bezeichnung: Datentyp: Beschreibung:
x_Active BOOL TRUE: Baustein ist aktiv.
x_Running BOOL TRUE: Nockenberechnung ist aktiv.
x_Running wird FALSE, wenn x_Start=FALSE und die NockenPos der letzten Nocke erreicht wurde.
Dieser Ausgang kann verwendet werden, um festzustellen, ob alle zu bearbeitenden Nocken fertig sind.
Um einen Prozess anzuhalten, wird x_Start=FALSE gesetzt. Sind alle Nocken abgearbeitet wird x_Running=FALSE. Nun kann die Achse gestoppt werden.
x_CamOut BOOL Nockenausgang. ud_CamOut ist für einen Zyklus TRUE.
di_Pos DINT Position des Gebers in Anwendereinheiten.
ud_Travel UDINT Weg des Gebers während der Verzögerungszeit di_Delay_ms. Dieser Weg hängt von der Geschwindigkeit des Gebers ab und wird zyklisch neu berechnet.
x_Error BOOL TRUE: Fehler erkannt.
i_Error INT Fehlernummer des Bausteins. Siehe Fehlertabelle.
w_ErrorId Beschreibung
0 Kein Fehler
-1 Aktor nicht bereit. Dieser Fehler tritt auf, wenn die Nocke schalten soll, aber der Eingang x_Ready=FALSE ist.
-2 Überlauf. Dieser Fehler tritt auf, wenn StartPos weiter als eine Periode nach CamPos liegt.
-3 Die Nockenposition der letzten Nocke wurde nicht erreicht. Dieser Fehler tritt auf, wenn x_Start=FALSE und die Zeit u_Delay_ms abgelaufen ist, ohne dass die Nockenposition erreicht wurde, weil di_Vel zu klein oder 0 war.