XFC_TimeOfPosition
XFC_TimeOfPosition berechnet den Zeitpunkt, zu dem eine Achse an einer vorgegebenen Position sein wird bzw. gewesen ist.
Die Funktion extrapoliert den Zeitpunkt bezogen auf die aktuelle Position und Dynamik. Eine genaue Extrapolation ist nur über einen kurzen Zeitraum möglich, da sich die Dynamik der Achse ändern kann.
Der Funktionsbaustein benötigt genau einen Aufruf, um das Ergebnis bereitzustellen. Er kann also ähnlich wie eine Funktion verwendet werden, gibt aber neben der Zeit eventuell auch einen Fehler zurück. Dieser Fehler muss ausgewertet werden, um sicherzustellen, dass die berechnete Zeit DcTime gültig ist.
Eingänge
VAR_INPUT
Position : LREAL;
Options : ST_NcTimeConversionOptions;
END_VAR
Position | Absolute Achsposition | |
Options | Datenstruktur mit Optionen für die Extrapolation der Position. | |
Options. | SubIndex | Für Achsen mit mehr als einem Encoder kann in SubIndex der Index (0..9) des Encoders angegeben werden, auf den sich die Position bezieht. |
Options. | InterpolationOptions | 0: Die Extrapolation der Position wird mit der aktuellen Geschwindigkeit durchgeführt, ohne die aktuelle Beschleunigung zu berücksichtigen. |
Options. | CompensationTime | zusätzliche Kompensationszeit |
Ausgänge
VAR_OUTPUT
DcTime : T_DCTIME32;
Error : BOOL;
ErrorID : UDINT;
END_VAR
DcTime | Distributed Clock System Time zu der die Position erreicht sein wird bzw. zu der sie erreicht wurde. |
Error | Wird im Fehlerfall TRUE. |
ErrorID | Liefert bei einem gesetzten Error-Ausgang die Fehlernummer |
Ein/Ausgänge
VAR_IN_OUT
Axis : AXIS_REF;
END_VAR
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.