XFC_TimeToPosition
Der Funktionsbaustein XFC_TimeToPosition berechnet die Zeitdauer, innerhalb derer eine Achse eine Position erreichen wird, bzw. die Zeitdauer, die vergangen ist, seit die Achse diese Position passiert hat.
Der Funktionsbaustein 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.
Er 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 Zeitdauer gültig ist.
Eingänge
VAR_INPUT
Position : LREAL;
Options : ST_NcTimeConversionOptions;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Position | LREAL | Absolute Achsposition |
Options | Datenstruktur mit Optionen für die Extrapolation der Position. |
/
Ein-/Ausgänge
VAR_IN_OUT
Axis : AXIS_REF;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Axis | 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. |
Ausgänge
VAR_OUTPUT
Duration : DINT;
TimeOfPosition : T_DCTIME32;
Error : BOOL;
ErrorID : UDINT;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Duration | DINT | Zeitdauer in Nanosekunden, nach der die Position erreicht sein wird (> 0) bzw. seit dem die Position passiert wurde (< 0). Duration ist ein Differenzwert aus zwei Variablen des Typs T_DCTIME32 Distributed Clock System Time. |
TimeOfPosition | T_DCTIME32 | Distributed Clock System Time zu der die Position erreicht sein wird bzw. zu der sie erreicht wurde. DcTime enthält die unteren 32 Bit der vollständigen DcTime und deckt damit einen Zeitbereich von +/- 2 Sekunden um den aktuellen Zeitpunkt ab. |
Error | BOOL | Wird im Fehlerfall TRUE. |
ErrorID | UDINT | Liefert bei einem gesetzten Error-Ausgang die Fehlernummer. |