Bibliotheksbeschreibung | Rexroth IndraLogic 07VRS
2
SysLibCallback.lib
FUNCTION Callback : DWORD
VAR_INPUT
dwEvent:DWORD;
dwFilter:DWORD;
dwOwner:DWORD;
END_VAR
Input-Variable
iPOUIndex
Event
TYPE RTS_EVENT :
(
EVENT_ALL,
(* General events *)
EVENT_START,
EVENT_STOP,
EVENT_BEFORE_RESET,
EVENT_AFTER_RESET,
EVENT_SHUTDOWN,
(* Exceptions generated by runtime *)
EVENT_EXCPT_CYCLETIME_OVERFLOW,
EVENT_EXCPT_WATCHDOG,
EVENT_EXCPT_HARDWARE_WATCHDOG,
(* Hardware watchdog expired. Global software error *)
EVENT_EXCPT_FIELDBUS,
EVENT_EXCPT_IOUPDATE,
Diese Bibliothek enthält die Funktionen SysCallbackRegister und SysCallba‐
ckUnregister, die dazu dienen, definierte Callback-Funktionen für Laufzeiter‐
eignisse zu aktivieren.
Änderungen für SysLibSockets23.lib sind hervorgehoben.
Beide Funktionen sind vom Typ BOOL und liefern jeweils TRUE, wenn die an‐
gegebene Callback-Funktion registriert bzw. deregistriert werden kann.
Der Prototyp der Callback-Funktion muss wie folgt aussehen:
Programm:
(* Event *)
(* Filter *)
(* Source *)
für RISC und Motorola 68K Zielsysteme:
Der Name der Callback-Funktion muss mit "callback" beginnen!
Die Bibliotheksfunktionen SysCallbackRegister und SysCallbackUnregister
verwenden jeweils die folgenden Übergabeparameter beim Ansprechen der zu
registrierenden/deregistrierenden Callback-Funktion:
Datentyp
Beschreibung
INT
POU Index der zu (de)registrierenden Callback Funktion.
Dieser wird vorher mit Hilfe des Operators
INDEXOF(<Funktionsname>) ermittelt.
RTS_EVENT
Das Laufzeit-Ereignis, für das die Callback-Funktion verwendet wer‐
den soll, wird durch einen Wert der Enumeration RTS_EVENT be‐
schrieben, die ebenfalls in der Bibliothek enthalten ist (siehe unten)
Hinweis:
In SysLibCallback23.lib werden nicht alle der unten angeführten
Events unterstützt!
Die Enumeration RTS_EVENT ist folgendermaßen definiert:
Programm:
(* Cycle time overflow *)
(* Software watchdog OF IEC-task expired *)
(* Fieldbus error occurred *)
(* IO-update error *)
Electric Drives
| Bosch Rexroth AG
and Controls
5/106
SysLibCallback.lib