Hinweise zur Dokumentation

Diese Beschreibung wendet sich ausschließlich an ausgebildetes Fachpersonal der Steuerungs- und Automatisierungstechnik, das mit den geltenden nationalen Normen vertraut ist.
Zur Installation und Inbetriebnahme der Komponenten ist die Beachtung der nachfolgenden Hinweise und Erklärungen unbedingt notwendig.

Das Fachpersonal hat sicherzustellen, dass die Anwendung bzw. der Einsatz der beschriebenen Produkte alle Sicherheitsanforderungen, einschließlich sämtlicher anwendbaren Gesetze, Vorschriften, Bestimmungen und Normen erfüllt.

Disclaimer

Diese Dokumentation wurde sorgfältig erstellt. Die beschriebenen Produkte werden jedoch ständig weiter entwickelt.
Deshalb ist die Dokumentation nicht in jedem Fall vollständig auf die Übereinstimmung mit den beschriebenen Leistungsdaten, Normen oder sonstigen Merkmalen geprüft.
Falls sie technische oder redaktionelle Fehler enthält, behalten wir uns das Recht vor, Änderungen jederzeit und ohne Ankündigung vorzunehmen.
Aus den Angaben, Abbildungen und Beschreibungen in dieser Dokumentation können keine Ansprüche auf Änderung bereits gelieferter Produkte geltend gemacht werden.

Marken

Beckhoff®, TwinCAT®, EtherCAT®, Safety over EtherCAT®, TwinSAFE®, XFC® und XTS® sind eingetragene und lizenzierte Marken der Beckhoff Automation GmbH.
Die Verwendung anderer in dieser Dokumentation enthaltenen Marken oder Kennzeichen durch Dritte kann zu einer Verletzung von Rechten der Inhaber der entsprechenden Bezeichnungen führen.

Patente

Die EtherCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen und Patente:
EP1590927, EP1789857, DE102004044764, DE102007017835
mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern.

Die TwinCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen und Patente:
EP0851348, US6167425 mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern.

Copyright

© Beckhoff Automation GmbH & Co. KG, Deutschland.
Weitergabe sowie Vervielfältigung dieses Dokuments, Verwertung und Mitteilung seines Inhalts sind verboten, soweit nicht ausdrücklich gestattet.
Zuwiderhandlungen verpflichten zu Schadenersatz. Alle Rechte für den Fall der Patent-, Gebrauchsmuster- oder Geschmacksmustereintragung vorbehalten.


Übersicht TcMC2 XFC

TwinCAT PLC Library: TcNci XFC

Übersicht

Die Bibliothek TcNci XFC erleichtert den Umgang mit zeitgenauer Erfassung von relativen Bahnwegen und die bahngenaue Ausgabe von Digitalsignalen in Verbindung mit der EtherCAT XFC Klemme EL2262 (Oversampling-Klemme).

Voraussetzung ist eine hochgenaue Totzeitkompensation der Achsen, die ab TwinCAT 2.11 für EtherCAT- und Sercos-Antriebe zur Verfügung steht.

Es kann dann jederzeit ein genauer Zusammenhang zwischen Zeit und relativer Bahnposition hergestellt werden.

Dafür stellt die Bibliothek Funktionsbausteine zur Berechnung und Ausgabe bereit.


Totzeitkompensation

Voraussetzung für die hochgenaue Umrechnung von Positionen in Zeiten und umgekehrt ist eine exakte Totzeitkompensation der Achsen. Ab TwinCAT 2.11 steht eine solche Totzeitkompensation für EtherCAT- und Sercos-Achsen zur Verfügung, die weitest gehend automatisch arbeitet. Dennoch kann eine manuelle Konfiguration notwendig werden, um beispielsweise antriebsinterne Totzeiten auszugleichen.

Unterstützung der Distributed Clocks

Die Unterstützung der Distributed Clocks muss bei EtherCAT-Antrieben zunächst aktiviert werden. Dazu wird der Dialog EtherCAT Advanced Settings des Antriebs aufgerufen

Durch Aktivieren des Schalters Include DC Shift Times werden Zeitinformationen in den Info-Daten des Antriebs zur Verfügung gestellt und später mit der NC-Achse verknüpft.

DcInputShift ist die Zeit, die benötigt wird um Statusinformationen, wie z. B. die Istposition eines Antriebs in die Steuerung, zu übertragen. Also die Zeit zwischen der Erfassung und der Auswertung dieser Daten. DcOutputShift ist die entsprechende Zeit für die Ausgabe der Prozessdaten an den Antrieb, d.h. für den Zeitverzug zwischen Berechnung und Wirkung dieser Daten.

Die Zeitinformationen werden dynamisch vom System bereitgestellt und werden von der NC zur Totzeitkompensation einer Achse verwendet.

Für Sercos-Achsen werden die Zeiten DcInputShift und DcOutputShift von der Sercos-Karte zur Verfügung gestellt und müssen nicht konfiguriert werden. Beim Verknüpfen eines Antriebs mit einer NC-Achse werden diese Zeiten ebenfalls verknüpft.

Kompensation der Encoder-Totzeit

Die Totzeitkompensation für die Datenerfassungsseite wird zunächst auf dem Reiter Time Compensation des Achs-Encoders aktiviert. Dadurch wird die vom System bereit gestellte Totzeit aus DcInputShift zur Kompensationsberechnung verwendet.

In besonderen Fällen, wenn es beispielsweise durch die verwendete Hardware zu zusätzlichen Totzeiten kommt, kann es notwendig werden, weitere Zeiten zu konfigurieren. Der Wert Encoder Delay in Cycles gibt zusätzliche Verzögerungen um ganze I/O-Zyklen an. Diese Zeit ist demnach keine feste Größe, sondern ändert sich mit der Zykluszeit. Additional Encoder Delay dagegen ist ein fester Zeitwert in µs, der durch die verwendete Hardware verursacht wird.

Kompensation der Antriebs-Totzeit

Auch die Totzeit in Ausgaberichtung kann kompensiert werden. Dazu wird die Kompensation auf dem Reiter Time Compensation des Drives der NC-Achse aktiviert. Die vom System bereit gestellte Zeit DcOutputShift wird dadurch zur Kompensationsberechnung verwendet.

Auch hier können in besonderen Fällen weitere Zeiten konfiguriert werden. Der Wert Task Delay in Cycles wird durch die Einstellung der Taskkonfiguration verursacht. Abhängig vom eingestellten Timing der Tasks kann sich die Totzeit um einen Zyklus verlängern. Drive Delay in Cycles gibt zusätzliche Verzögerungen um ganze I/O-Zyklen an, die durch den Antrieb verursacht werden. Additional Drive Delay ist ein fester Zeitwert in µs, der ebenfalls durch die verwendete Hardware verursacht wird.

Auswirkung der Totzeitkompensation

Durch die Totzeitkompensation werden alle zyklisch mit der SPS ausgetauschten Daten der NC (NcToPlc) auf den aktuellen Zeitpunkt umgerechnet. Insbesondere Istposition, Sollposition und Schleppfehler der Achse beziehen sich auf den gerade aktuellen Zeitpunkt und spiegeln die physikalische Position der Achse zu diesem Zeitpunkt wider. Sie können damit durch die SPS für weitere hochgenaue Zeit- und Positionsberechnungen herangezogen werden. (Siehe insbesondere die Basisfunktionen XFC_GetCurDcTaskTime , XFC_TimeOfPosition und XFC_PositionAtTime.)


XFC_PositionAtTime

XFC_PathPositionAtTime

XFC_PathPositionAtTime berechnet einen relativen Bahnweg, zu einem gegebenen Zeitpunkt bezogen auf die aktuelle Bahnposition.

Die Funktion extrapoliert den Bahnweg bezogen auf die aktuelle 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 dem relativen Bahnweg eventuell auch einen Fehler zurück. Dieser Fehler muss ausgewertet werden um sicherzustellen, dass die berechnete Bahnweg gültig ist.

Eingänge

VAR_INPUT
    DcTime 	: T_DCTIME32;
    Options 	: ST_NcTimeConversionOptions;
END_VAR
GrpId | Gruppen-Id der Nci-Gruppe. Hierüber wird die angefragte Nci-Gruppe eindeutig im System identifiziert.
DcTime | Distributed Clock System Time. DcTime enthält die unteren 32 Bit der vollständigen DcTime und deckt damit einen Zeitbereich von +/- 2 Sekunden um den aktuellen Zeitpunkt ab. Um einen möglichst genauen Bahnweg zu berechnen, sollte die Zeit sehr nahe an der aktuellen Zeit liegen, also möglichst nur wenige SPS- bzw. NC-Zyklen in der Zukunft oder in der Vergangenheit.
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
    Position	: LREAL;
    Error 	: BOOL;
    ErrorID 	: UDINT;
END_VAR
PathPosition | Extrapolierter relativer Bahnweg, bis zum vorgegebenen Zeitpunkt DcTime.
Error | Wird im Fehlerfall TRUE.
ErrorID | Liefert bei einem gesetzten Error-Ausgang die Fehlernummer und damit insbesondere den Hinweis, dass die angefragte Zeitpunkt zu weit in der Vergangenheit oder in der Zukunft liegt.


XFC_TimeOfPosition

XFC_TimeOfPathPosition

XFC_TimeOfPathPosition berechnet den Zeitpunkt, zu dem eine Nci-Gruppe einen vorgegebenen relativen Bahnweg zurückgelegt hatte bzw. haben wird.

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 Nci-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 Zeit DcTime gültig ist.

Eingänge

VAR_INPUT
    Position	: LREAL;
    Options 	: ST_NcTimeConversionOptions;
END_VAR
GrpId | Gruppen-Id der Nci-Gruppe. Hierüber wird die angefragte Nci-Gruppe eindeutig im System identifiziert.
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
    DcTime 	: T_DCTIME32;
    Error 	: BOOL;
    ErrorID 	: UDINT;
END_VAR
DcTime | Distributed Clock System Time zu der der relative Bahnweg PathPosition zurückgelegt sein wird bzw. zu der dieser durchfahren 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 und damit insbesondere den Hinweis, dass der angefragte relative Bahnweg zu weit in der Vergangenheit oder in der Zukunft liegt.


XFC_TimeToPosition

XFC_TimeToPathPosition

XFC_TimeToPathPosition berechnet die Zeitdauer innerhalb derer eine Nci-Fruppe einen relativen Bahnweg zurückgelegt hat bzw. 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
    Position	: 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 und hat somit die Auflösung der Distributed Clock System Time.
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 und damit insbesondere den Hinweis, dass die angefragte Position zu weit in der Vergangenheit oder in der Zukunft liegt.


XFC_PositionCam

XFC_PathPositionCam

XFC_PathPositionCam realisiert eine Bahnnocke, die einen digitalen Ausgang Bahnabhängig ein- und ausschaltet.

Die Output-Datenstruktur enthält neben dem Schaltzustand des digitalen Ausgangs genaue Zeitinformationen über die nächsten Schaltvorgänge. Diese Information kann in in ein Array geschrieben werden, das dann per PATH_OUTPUT_REF_MULTIEDGE die eigentliche Ausgabe an einer XFC-Ausgangsklemme mit einem nachgeschalteten Funktionsbaustein realisiert (XFC_EL2262_MultiEdge).

Eingänge

VAR_INPUT
    GrpId	 		: UDINT;
    HValue	 		: DINT;
    FirstPathId 		: UDINT;
    LastPathId 		: UDINT;
    FirstBlockNo 		: UDINT;
    LastBlockNo 		: UDINT;
    FirstOnPathPosition 	: LREAL;
    LastOnPathPosition 	: LREAL;
    OnCompensation 		: LREAL;
    OffCompensation		: LREAL;
    Options 			: ST_CamSwitchOptions;
END_VAR
GrpId | Gruppen-Id der Nci-Gruppe. Hierüber wird die angefragte Nci-Gruppe eindeutig im System identifiziert.
HValue | H-Parameterwert der mit dem Schaltzustand TRUE korrespondiert.
FirstPathId | Eindeutige, kontinuierlich über den Bahnverlauf steigende Id die zum relativen Bahnweg bis zum Einschalten der Nocke gehört.
LastPathId | Eindeutige, kontinuierlich über den Bahnverlauf steigende Id die zum relativen Bahnweg bis zum Ausschalten der Nocke gehört.
FirstOnPathPosition | Relativer Bahnweg bis zum Einschalten der Nocke.
LastOnPathPosition | Relativer Bahnweg bis zum Ausschalten der Nocke.
OnCompensation | Kompensationszeit für die steigende Flanke der Nocke in [s]. Der Schaltzeitpunkt wird bei negativen Werten von OnCompensation vorgezogen und sonst verzögert. Der hier parametrierte Wert OnCompensation hat Vorrang vor TRACK_REF.
OffCompensation | Kompensationszeit für die fallende Flanke der Nocke in [s]. Der Schaltzeitpunkt wird bei negativen Werten von OffCompensation vorgezogen und sonst verzögert. Der hier parametrierte Wert OffCompensation hat Vorrang vor TRACK_REF.
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 		: PATH_OUTPUT_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


XFC_EL2262

XFC_EL2262 _PathMultiEdge

XFC_EL2262_PathMultiEdge wickelt die Ausgabe von digitalen Nocken mit der XFC-Oversampling-Klemme EL2262 ab.

Anmerkungen:

Die maximale Frequenz ist von der Zykluszeit abhängig. Der minimale Abstand zwischen zwei steigenden Signalflanken beträgt (2*SPS-Zykluszeit) / Oversampling-Faktor. Der minimale Abstand zwischen steigenden und fallenden Flanke beträgt SPS-Zykluszeit / Oversampling-Faktor. Die Schaltgenauigkeit wird durch den eingestellten Oversampling-Faktor der Klemme bestimmt.

Eingänge

VAR_INPUT
    OversamplingFactor 	: UINT;
    OutputOneCycleDelayed 	: BOOL; (* TRUE if EL2262 is updated with the NC SAF task at the beginning of the next cycle *)
    ForceWhenLate	 	: BOOL; (* forces the output even when the timestamp is missed *)
    Channel		 	: INT;  (* select 0 or 1 for Output0 or Output1 *)
END_VAR
OversamplingFactor | Oversampling Faktor der EL2262 Klemme
OutputOneCycleDelayed | OutputOneCycleDelayed ist TRUE, falls die Ausgabe des Prozessabbildes aufgrund des eingestellten Timings um einen Zyklus verzögert ist. OutputOneCycleDelayed ist abhängig vom Timing der Ausgabetask, an welche die EL2262 gebunden ist.
ForceWhenLate | Für den Fall dass sich die Zeitinformation von Zyklus zu Zyklus leicht ändert, kann es passieren, dass eine Schaltflanke nicht ausgegeben werden kann. ForceWhenLate erzwingt in einer solchen Situation ein best mögliches Schalten. Der Ausgang PrecisionReduced wird in diesem Fall TRUE und kann zur Diagnose verwendet werden. (Zum Beispiel kann im Falle eines erhöhten Jitters in einer Achsposition die Ausgabe einer Schaltflanke nicht exakt auf einen Ausgabezyklus bestimmt werden.)
Channel | Legt den Ausgabekanal der EL2262 fest, wobei 0 = Output0 und 1 = Output1 entspricht.

Ausgänge

VAR_OUTPUT
    Error 			: BOOL;
    ErrorID 			: UDINT;
    ErrorOnOutputMissed	: BOOL;
    ErrorOffOutputMissed	: BOOL;
    PrecisionOnReduced		: BOOL;
    PrecisionOffReduced	: BOOL;
    LastOutputLevel		: BOOL;
END_VAR
Error | Wird im Fehlerfall TRUE.
ErrorID | Liefert bei einem gesetzten Error-Ausgang eine Fehlernummer.
ErrorOnOutputMissed | zeigt an, dass eine steigendeSchaltflanke nicht auf einen Zyklus genau bestimmt werden kann und daher nicht ausgegeben werden kann. Um die Schaltflanke best möglich auszugeben kann der Eingang ForceWhenLate gesetzt werden.
ErrorOffOutputMissed | zeigt an, dass eine fallende Schaltflanke nicht auf einen Zyklus genau bestimmt werden kann und daher nicht ausgegeben werden kann. Um die Schaltflanke best möglich auszugeben kann der Eingang ForceWhenLate gesetzt werden.
OnPrecisionReduced | zeigt an, dass eine steigende Schaltflanke nicht auf einen Zyklus genau bestimmt werden kann. Die Schaltflanke wurde aber best möglich ausgegeben.
OffPrecisionReduced | zeigt an, dass eine fallende Schaltflanke nicht auf einen Zyklus genau bestimmt werden kann. Die Schaltflanke wurde aber best möglich ausgegeben.
LastOutputLevel | Zeigt an welchen Signalzustand der Kanal der EL2262 nach dem folgenden Update haben wird.

Ein/Ausgänge

VAR_IN_OUT
    Output 			: PATH_OUTPUT_REF_MULTIEDGE;
    TrackOptions 		: TRACK_REF;
    EL2262 			: EL2262_IoInterface;
END_VAR
Output | Die Datenstruktur Output enthält einen Verweis auf ein Array von berechneten Zuständen des digitalen Ausgangs und die zugehörigen Zeitstempel für die Ausgabe an einer digitalen XFC Ausgangsklemme
TrackOptions | Die Datenstruktur TrackOptions enthält die Parametrierung der Nockenspur.
EL2262 | Prozessabbild der Klemme


OUTPUT_REF

Datentyp PATH_OUTPUT_REF

Der Datentyp PATH_OUTPUT_REF enthält Daten zur Beschreibung des Zustandes eines digitalen Ausgangs. Neben dem Schaltzustand werden Zeitstempel und eindeutige Id's für Zustandswechsel mitgeführt.

TYPE OUTPUT_REF :
STRUCT
    Level 			: BOOL; 		(* current level of the digital output *)

    NextStateChangeId	 	: UDINT;
    NextStateChangeValid 	: BOOL; 		(* time value NextStateChange is valid *)
    NextStateChange 		: T_DCTIME32; 	(* time of next state change - current level will be inverted *)

    NextOnTimeId	 	: UDINT;
    NextOnTimePositiveValid 	: BOOL; 		(* time value NextOnTime is valid *)
    NextOnTimeValid 		: BOOL; 		(* time value NextOnTime is valid *)
    NextOnTime 		: T_DCTIME32; 	(* time when the digital output is turned ON next time *)

    NextOffTimeId	 	: UDINT;
    NextOffTimePositiveValid 	: BOOL; 		(* time value NextOffTime is valid *)
    NextOffTimeValid 		: BOOL; 		(* time value NextOffTime is valid *)
    NextOffTime 		: T_DCTIME32; 	(* time when the digital output is turned OFF next time *)
END_STRUCT
END_TYPE

Level | Aktueller Schaltzustand des digitalen Ausgangs
NextStateChangeId | Eindeutige, kontinuierlich über den Bahnverlauf steigende Id des nächsten Zustandswechsels
NextStateChangeValid | NextStateChangeValid ist TRUE, wenn der Zeitstempel NextStateChange gültig ist.
NextStateChange | Zeitpunkt des nächsten Zustandswechsels (Distributed Clock TimeStamp)
NextOnTimeId | Eindeutige, kontinuierlich über den Bahnverlauf steigende Id der nächsten positiven Schaltflanke
NextOnTimePositiveValid | NextOnTimePositiveValid ist TRUE, wenn der Zeitstempel NextOnTime Gültig ist eindeutig für ein Ereignis in der Zukunft gilt.
NextOnTimeValid | NextOnTimeValid ist TRUE, wenn der Zeitstempel NextOnTime gültig ist.
NextOnTime | Zeitpunkt der nächsten positiven Schaltflanke (Distributed Clock TimeStamp)
NextOffTimeId | Eindeutige, kontinuierlich über den Bahnverlauf steigende Id der nächsten negativen Schaltflanke
NextOffTimePositiveValid | NextOffTimePositiveValid ist TRUE, wenn der Zeitstempel NextOffTime Gültig ist eindeutig für ein Ereignis in der Zukunft gilt.
NextOffTimeValid | NextOffTimeValid ist TRUE, wenn der Zeitstempel NextOffTime gültig ist.
NextOffTime | Zeitpunkt der nächsten negativen Schaltflanke (Distributed Clock TimeStamp)


OUTPUT_REF

Datentyp OUTPUT_REF_MULTIEDGE

Der Datentyp OUTPUT_REF_MULTIEDGE enthält Daten zur Beschreibung des Zustandes mehrerer digitalen Ausgänge, die im Format eines Arrays von Typ PATH_OUTPUT_REF vorliegen.

TYPE OUTPUT_REF :
STRUCT
    Reset			: BOOL;
    Preset			: BOOL;
    NoOfEntries		: UINT; 				(* Number of digital cam informations *)

    pOutput_Ref	 	: POINTER TO PATH_OUTPUT_REF; 	(* Pointer to Array [1..NoOfEntries] of PATH_OUTPUT_REF *)
END_STRUCT
END_TYPE

Reset | Setzt den Ausgang der XFC-Ausgangs-Klemme unabhängig von den parametrierten Zustandswechseln auf FALSE
Preset | Setzt den Ausgang der XFC-Ausgangs-Klemme unabhängig von den parametrierten Zustandswechseln auf TRUE
NoOfEntries | Anzahl der übergebenen digitalen Nockeninformationen
pOutput_Ref | Pointer auf ein ARRAY [1..NoOfEntries] OF PATH_OUTPUT_REF