Herunterladen Inhalt Inhalt Diese Seite drucken

Bosch rexroth IndraWorks 15VRS Anwendungsbeschreibung Seite 346

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

Werbung

334/395
Gebäudeautomatisierung
FUNCTION_BLOCK FB_CB_CONF_COV_NOTIFICATION IMPLEMENTS BACnet.IBACnetEventConsumer
VAR_INPUT
ResetOutputs
: BOOL := FALSE;
END_VAR
VAR_OUTPUT
EvtCnt
: UINT := 0; // call count
LastEvtValid
: BOOL := FALSE;
LastCovNotifyInfo
: BACnet.CmpBACnet.IEC_BACNET_COV_NOTIF_INFO;
LastPropertyValue
: BACnet.CmpBACnet.IEC_BACNET_PROPERTY_VALUE;
LastRealValue
: REAL := 0;
END_VAR
VAR
ResetOutputs_old
: BOOL := FALSE;
prEvtConfCovNotify
: POINTER TO BACnet.CmpBACnet.EVT_BACNET_CONFCOVNOTIFICATION;
END_VAR
Bosch Rexroth AG R911393282_Ausgabe 05
Beim Abonnieren wird angegeben, für welchen Zeitraum das Abonnement
gelten soll. Mit der Vorgabe des Werts "0" am Funktionsbaustein-Eingang
lifetime, ist es möglich, den Zeitraum für das Abonnement auf unendlich
Laufzeit zu konfigurieren. Ob eine unendliche Laufzeit sinnvoll ist, muss ap‐
plikationsabhängig entscheiden werden. Ein Aspekt ist beispielsweise eine
zyklische Überprüfung, ob BACnet Objekt noch existiert. In unten gezeigten
Beispiel gilt das Abonnement für 3600 Sekunden. Spätestens nach dieser
Zeit muss das Abonnement erneuert werden.
Im CASE Schritt "finish" kann ausgewählt werden, ob der Ablauf wieder
erneut ausgeführt werden soll, oder ob er beendet werden soll. Die Wieder‐
holung des Ablaufs wird über die Variable "bAgain" gesteuert. Wichtig ist,
dass die Programmteile außerhalb der CASE Schleifen immer durchlaufen
werden. Außerhalb der CASE Schleifen werden die eingehenden Nachrich‐
ten empfangen und quittiert. Über die Variable "FB_SendCOVnotificati-
on.iState" kann die Abarbeitung überwacht werden.
Voraussetzung:
Es existiert ein BACnet Server mit einem BACnet Objekt BACnet_Ana-
, das einen Wert liefert, der für den BACnet Client für das abon‐
log_Value
nieren der COV Notifikation verwendet wird.
1. Erstellen Sie ein neues Projekt, das einen BACnet Server enthält, der
als BACnet Client verwendet wird.
Siehe
Kap. 13.2.4 "BACnet/IP Client konfigurieren" auf Seite
2. erstellen Sie die Enumeration TestState, wie folgt:
Programm:
TYPE TestState :
(
once := 0,
// is passed through only once
init,
// initialization
start,
// start settings
run,
// Test run
finish,
// Conclusion settings
end,
// End
error,
// by error
stop
// stopped
);
END_TYPE
3. Erstellen Sie für die COV Notifikation den Funktionsbaustein
FB_CB_CONF_COV_NOTIFICATION:
Programm:
IndraWorks 15VRS Feldbusse
364.

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis