FB_BACnet_MultiStateOutput_RAW

FB_BACnet_MultiStateOutput_RAW 1:

Anwendung

Mit Hilfe des Funktionsbausteins FB_BACnet_MultiStateOutput_RAW kann lesend und schreibend auf ein BACnet-Objekt vom Typ MultiStateOutput zugegriffen werden.

Im Unterschied zur Standard- bzw. _EX-Variante des Bausteins, wird das Flag der Property Status_Flags / overridden, die Property Feedback_Value und der Wert der Property Reliablitity durch Funktionsbaustein-Eingänge bereitgestellt und aus dem PLC-Programm auf das BACnet Objekt abgebildet. Der Zustand der Property Present_Value wird durch das PLC-Programm auf die Hardware bzw. auf das Sub-Bussystem gemappt. Dies geschieht sonst direkt durch die IO-Hardware. So kann z.B. der Ausgangswert an ein Sub-Bussystems in PLC-Code von einem BACnet-Objekt abgebildet werden (Signalumsetzung auf Sub-Bussysteme oder virtuellen Datenpunkte von BACnet, siehe Beispiel).

VAR_INPUT

bEnablePV            : BOOL;
bNullPV              : BOOL;
nPV                  : UDINT;
nFeedback            : DWORD;
bNoOutput            : BOOL;
bOpenLoop            : BOOL;
bShortedLoop         : BOOL;
bCommFailure         : BOOL;
bOtherFault          : BOOL;

bEnable: TRUE = Das Prozessdatum wird aktiviert; der Wert, der sich aus bNull bzw. nState ergibt, wird in das entsprechende BACnet Object geschrieben, FALSE = Prozessdatum wird deaktiviert

bNull: TRUE = Null-Schreiben des BACnet Objekts (z.B. Löschen einer Priorität), FALSE = Wert aus nState schreiben

nPV: Wert der in das BACnet Object geschreiben wird, wenn bEnable = TRUE und bNull = FALSE sind. Multi-State im Bereich [1 .. Number_Of_States].

nFeedback: Signalrückmeldung an das BACnet Objekt. Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt MultiStateOutput und Property Feedback_Value.

bNoOutput, bOpenLoop, bShortedLoop, bCommFailure, bOtherFault: TRUE am Eingang setzt den entsprechenden Zustand der Property Reliability. Die Priorität fällt mit der Reihenfolge der Eingänge (bNoOutput höchste und bOtherFault niedrigste Priorität). Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt MultiStateOutput und Property Reliability.

VAR_OUPUT

bReady                   : BOOL;
nPresentValue            : UDINT;
bOverridden              : BOOL;
bOutOfService            : BOOL;
bFault                   : BOOL;
bInAlarm                 : BOOL;
bAckedTrans_ToOffNormal  : BOOL;
bAckedTrans_ToFault      : BOOL;
bAckedTrans_ToNormal     : BOOL;
nNbrOfStates             : UDINT;
bError                   : BOOL;
nErrorId                 : UINT;
nRawOut                  : DWORD;

bReady: Meldung der allgemeinen Bereitschaft. Ist dieser Ausgang gesetzt, so sind die übrigen Status-Ausgänge gültig (PresentValue, Overridden ...). Ist der Ausgang FALSE, dann meldet der zugehörige Funktionsbaustein FB_BACnet_Device nicht "Operational" oder die Baustein-Instanz wurde im TwinCAT System Manager nicht richtig verknüpft.

nPresentValue: Aktueller Wert des BACnet-Objekts (siehe auch BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt MultiStateOutput und Property Present_Value).

bOverridden, bOutOfService, bFault, bInAlarm: Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt MultiStateOutput und Property Status_Flags.

bAckedTrans_ToOffNormal, bAckedTrans_ToFault, bAckedTrans_ToNormal: Flags der Property Acked_Transitions (siehe auch BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt MultiStateOutput und Property Acked_Transitions).

nNbrOfStates: Meldet die verfügbare Anzahl von Werten, die das Present_Value des MultiStateOutput-Objekts annehmen kann (1...nNbrOfStates). Ist nNbrOfStates gleich 0, dann gibt es keinen gültigen "State" den das Objekt annehmen kann (Present_Value ist 0).

bError: Ein Fehler steht an.

nErrorId: siehe globale Konstanten BACnet_Globals.

nRawOut: Rohwertausgang des Objekts. Der Ausgang wird mit dem Prozessdatum "PresentValue" des BACnet-Objekts verknüpft.

VAR_IN_OUT

Device               : FB_BACnet_Device;

Device: Angabe der Instanz des lokalen, zugehörigen BACnet-Server Bausteins. Pro BACnet-Adapter ist ein BACnet-Server möglich. Siehe FB_BACnet_Adapter und FB_BACnet_Device für weitere Informationen.

Beispiel

Im folgenden Beispiel wird die Umsetzung der Property Present_Value eines MultiStateOutput-Objekts nach EIB gezeigt:

FB_BACnet_MultiStateOutput_RAW 2:
Bild-1: Beispiel für die Umsetzung der Property Present_Value nach EIB im PLC Programm.

Dieses Beispiel setzt die Bibliothek "TcEIB.lib" voraus. Siehe Dokumentation zur Klemme KL6301 für weitere Informationen zu EIB.