XFC_PositionCam
XFC_PositionCam realisiert eine Positionsnocke, die einen digitalen Ausgang positionsabhängig ein- und ausschaltet.
Im Gegensatz zum digitalen Nockenschaltwerk MC_DigitalCamSwitch schaltet der Funktionsbaustein genau eine Nocke auf einer digitalen Ausgangsspur. Der Baustein ist damit einfacher parametrierbar, kann aber nicht eingesetzt werden, wenn mehrere Nocken auf einer Ausgangsspur notwendig sind.
Die Output-Datenstruktur enthält neben dem Schaltzustand des digitalen Ausgangs genaue Zeitinformationen über die nächsten Schaltvorgänge. Mit dieser Information kann die eigentliche Ausgabe an einer XFC-Ausgangsklemme mit einem nachgeschalteten Funktionsbaustein erfolgen (XFC_EL2252 oder XFC_EL2262).
Eingänge
VAR_INPUT
FirstOnPosition : LREAL;
LastOnPosition : LREAL;
Modulo : BOOL;
ModuloFactor : LREAL := 360;
OnCompensation : LREAL;
OffCompensation : LREAL;
Options : ST_CamSwitchOptions;
END_VAR
FirstOnPosition | Erste Position ab der die Nocke eingeschaltet ist. | |
LastOnPosition | Letzte Position bis zu der die Nocke eingeschaltet ist. Die Nockenfunktion ist invertiert, wenn LastOnPosition < FirstOnPosition | |
Modulo | Wenn Modulo TRUE ist, werden alle Positionen modulo interpretiert. Die Nockenfunktion wird dadurch zyklisch wiederholt. Zur Berechnung des Modulo-Zyklus wird der Parameter ModuloFactor verwendet. | |
ModuloFactor | ModuloFactor gibt die Länge eines Modulo-Zyklus in der Positionseinheit der Achse an und wird nur verwendet, wenn Modulo TRUE ist. | |
OnCompensation | Kompensationszeit für die steigende Flanke der Nocke in [s]. Der Schaltzeitpunkt wird bei negativen Werten vonOnCompensation vorgezogen und sonst verzögert. | |
OffCompensation | Kompensationszeit für die fallende Flanke der Nocke in [s]. Der Schaltzeitpunkt wird bei negativen Werten vonOffCompensation vorgezogen und sonst verzögert. | |
Options | Optionale Parameter | |
Options. | EncoderIndex | Wenn mehr als ein Encoder mit der Achse Verbunden ist, kann der Encoder-Index [0..9] hier festgelegt werden. Der erste Encoder hat den Index 0. |
Options. | UseAcceleration | UseAcceleration kann TRUE gesetzt werden, um die Beschleunigung der Achse in die Positions-Berechnungen mit einzubeziehen. UseAcceleration kann von Vorteil sein, wenn die Sollwerte der Beschleunigung verwendet werden können. Bei Encoder-Achsen, die ein verrauschtes Positionssignal liefern, ist UseAcceleration eventuell von Nachteil, da auch die Beschleunigung fehlerhaft ist. |
Ein/Ausgänge
VAR_IN_OUT
Output : OUTPUT_REF;
Axis : AXIS_REF;
END_VAR
Output | Die Datenstruktur Output enthält den berechneten Zustand des digitalen Ausgangs und die zugehörigen Zeitstempel für die Ausgabe an einer digitalen XFC Ausgangsklemme |
Axis | Achsdatenstruktur |
Die Achsdatenstruktur vom Typ AXIS_REF adressiert eine Achse eindeutig im System. Sie enthält unter anderem den aktuellen Status der Achse, wie Position, Geschwindigkeit oder Fehlerzustand.