XFC_TimeToPathPosition

XFC_TimeToPathPosition 1:

XFC_TimeToPathPosition berechnet die Zeitdauer, innerhalb der eine Nci-Gruppe einen relativen Bahnweg zurückgelegt hat bzw. die seit diesem vergangen ist.

Die Funktion extrapoliert den Zeitpunkt bezogen auf die aktuelle Bahnposition und Dynamik. Eine genaue Extrapolation ist nur über einen kurzen Zeitraum möglich, da sich die Dynamik der Gruppe ä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 Zeitdauer gültig ist.

Eingänge

VAR_INPUT
    GrpId        : UDINT;
    PathId       : UDINT;
    PathPosition : LREAL;
    Options      : ST_NcTimeConversionOptions;
END_VAR

GrpId

Gruppen-Id der Nci-Gruppe. Hierüber wird die angefragte Nci-Gruppe eindeutig im System identifiziert.

PathId

Eindeutige, kontinuierlich über den Bahnverlauf steigende Id die zum relativen Bahnweg gehört.

PathPosition

Relativer Bahnweg

Options

Datenstruktur mit Optionen für die Extrapolation des relativen Bahnweges.

Options.

SubIndex

nicht implementiert

Options.

InterpolationOptions

0: Die Extrapolation des relativen Bahnweges wird mit der aktuellen Bahngeschwindigkeit durchgeführt, ohne die aktuelle Bahnbeschleunigung zu berücksichtigen.
1: Die Bahnbeschleunigung der Achse wird in die Extrapolation des relativen Bahnweges einbezogen.

Options.

CompensationTime

zusätzliche Kompensationszeit.

Ausgänge

VAR_OUTPUT
    Duration       : DINT; 
    TimeOfPosition : T_DCTIME32; 
    Error          : BOOL;
    ErrorID        : UDINT;  
END_VAR

Duration

Zeitdauer in Nanosekunden, nach der der relative Bahnweg zurückgelegt sein wird (> 0) bzw. die seit diesem vergangen ist (< 0).
Duration ist ein Differenzwert aus zwei Variablen des Typs T_DCTIME32

TimeOfPosition

Distributed Clock System Time zu der der relative Bahnweg zurückgelegt sein wird bzw. 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

Wird im Fehlerfall TRUE.

ErrorID

Liefert bei einem gesetzten Error-Ausgang die Fehlernummer