Herunterladen Inhalt Inhalt Diese Seite drucken

Dienste Ohne Implementierung Von Standard-Aktionen; Beispiele Zur Implementierung Von Service Indication Hooks; Implementierungsbeispiel "Createobject" Service Hook - Bosch rexroth IndraWorks 15VRS Anwendungsbeschreibung

Feldbusse
Vorschau ausblenden Andere Handbücher für rexroth IndraWorks 15VRS:
Inhaltsverzeichnis

Werbung

378/395
Gebäudeautomatisierung

Dienste ohne Implementierung von Standard-Aktionen

Beispiele zur Implementierung von Service Indication Hooks

BACnetServer.RegisterHook(CmpBACnet.IEC_BACNET_CB_TYPE.CB_CREATE_OBJECT, CallbackFB);
METHOD BACnetEventCallback : BOOL
VAR_INPUT
(*If only one event is possibly called, the following Ids can be ignored.
If there are more at least the EventId should be checked, to get the right type of pParameter.
ID of the occured Event. Contains the class and the event.*)
EventId
: DWORD;
(*Id of the parameter structure (see pParameter)*)
usParamId
: WORD;
(*Version of the parameter structure (see pParameter)*)
usVersion
: WORD;
(*Pointer to the event specific parameter, that is specified by Id (see GVL EVENTID in CmpBACnet)*)
pParameter : POINTER TO BYTE;
END_VAR
VAR
pCreateObj : POINTER TO CmpBACnet.EVT_BACNET_CREATEOBJECT;
destInstNumber : CmpBACnet.IEC_BACNET_DWORD;
objSpec
: CmpBACnet.IEC_BACNET_OBJECT_SPECIFIER;
Bosch Rexroth AG R911393282_Ausgabe 05
Diese Service Indication Hooks können verwendet werden, um die auf eine
SubscribeCOVProperty-Anfrage zurückgelieferte Information zu empfan‐
gen.
Beispielsweise wird nach einer Subskription eines bestimmten Propertys des
Objekts eines Geräts der COVNotification Service Hook aufgerufen, um
über eine Änderung des Propertys zu informieren.
Die folgenden Dienste haben keine Standard-Aktion implementiert. Die Appli‐
kation muss eigene Routinen zum Anfrage-Handling implementieren, falls ein
Service unterstützt werden soll:
DeviceCommunicationControl Service Hook
ReinitializeDevice Service Hook
TimeSynchronization Service Hook
UtcTimeSynchronization Service Hook
Die hier gelisteten Service Hooks müssen gegebenenfalls von der Anwende‐
rapplikation implementiert werden (abhängig von der Anwenderapplikation
und ihren Spezifikationen bezüglich des BACnet-Standards).

Implementierungsbeispiel "CreateObject" Service Hook

Das folgende Beispiel zeigt, wie ein CreateObject Service Hook imple‐
mentiert werden kann.
Zuerst muss der Service Hook im Programm-Code eingetragen werden.
Dies erfolgt durch Deklaration des Funktionsbausteins CallbackFB, der die
Schnittstelle IBACnetEventConsumer mit der Funktion RegisterHook
des BACnetServer-FBs implementiert.
Eintragen des Funktionsbausteins, der für das lokale BACnetServer-Gerät im
Projektexplorer eingefügt ist:
Sobald eine CreateObject-Service-Anfrage vom BACnetServer aufgefangen
wird, wird die Funktion des Funktionsbausteins "BACnetEventCallback" auf‐
gerufen (definiert durch die Schnittstelle IBACnetEventConsumer).
Das folgende Beispiel zeigt die Deklaration der BACnetEventCallback-
Funktion des Funktionsbausteins CallbackFB.
Deklarationsteil:
Programm:
IndraWorks 15VRS Feldbusse

Quicklinks ausblenden:

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis