ConvertDcTimeToPos

ConvertDcTimeToPos 1:

Dieser Funktionsblock konvertiert eine 32-Bit-„Distributed Clock System Time“-Variable vom Typ T_DCTIME32 in eine zugehörige NC-Achsposition (d.h. diejenige NC-Achsposition, die genau zu diesem Zeitpunkt vorgelegen hat bzw. vorliegen wird).

ConvertDcTimeToPos 2: Eingänge

VAR_INPUT
    nAxisId : UDINT;
    nSubIdx : UDINT;
    dcTime  : T_DCTIME32;(* 32 bit distributed clock time *)
END_VAR

Name

Typ

Beschreibung

nAxisId

UDINT

ID der NC-Achse

nSubIdx

UDINT

Diese 32-Bit-Eingangsgröße beinhaltet zwei verschiedene Informationen und unterteilt sich somit in zwei 16-Bit-Werte:

  • Das LowWord (die niederwertigsten 16 Bit) beinhaltet den Sub-Index zum relativen Adressieren eines Encoder-Unterelementes an einer Achse. Der Sub-Index wird von Null an gezählt. Für den typischen Fall einer Achse mit genau einem Encoder ist der Sub-Index Null richtig.
  • Das HighWord (die höchstwertigen 16 Bit) beinhaltet ein Steuerwort (Bitmaske), das die Art der Positionsberechnung beeinflusst (z.B. den Inter- bzw. Extrapolationstyp). Die Bitmaske 0x0001 bedeutet, dass die Soll-Beschleunigung der Achse mit in die Berechnung einbezogen werden soll.

dcTime

T_DCTIME32

32-Bit-„Distributed Clock System Time“-Variable. Diese Eingangsgröße wird in die korrespondierende NC-Achsposition umgerechnet.

ConvertDcTimeToPos 3:

Diese 32-Bit-Zeit darf nur im zeitlichen Nahbereich von ± 2.147 Sekunden um die aktuelle Systemzeit verwendet werden, da sie nur hier eindeutig ist. Innerhalb des Funktionsblocks kann diese Voraussetzung nicht überprüft werden.

ConvertDcTimeToPos 4: Ausgänge

VAR_OUTPUT
    fPosition : LREAL;
    iErr      : UDINT;
END_VAR

Name

Typ

Beschreibung

fPosition

LREAL

Liefert die zur dcTime korrespondierende NC-Achsposition. Hierbei handelt es sich um eine um die Skalierung und Offset verrechnete NC-Achsposition mit z.B. der physikalischen Einheit Grad oder mm.

iErr 

UDINT

Liefert im Fehlerfall eine Fehlernummer, z.B. Fehler 0x4012 (Achs-ID ist nicht erlaubt bzw. Achse ist im System nicht vorhanden).

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS- Bibliotheken

TwinCAT v3.1.0

PC oder CX (x86, x64, Arm®)

Tc2_EtherCAT