FB_BACnet_MultiStateInput_RAW

FB_BACnet_MultiStateInput_RAW 1:

Anwendung

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

Im Unterschied zur Standard- bzw. _EX-Variante des Bausteins, wird der Rohwert und der Zustand der Property Reliablitity durch Funktionsbaustein-Eingänge bereitgestellt und nicht durch die IO-Hardware direkt. So kann z.B. ein mehrstufiger Zustand aus einem Sub-Bussystems in SPS-Code auf ein BACnet-Objekt abgebildet werden (Signalumsetzung von Sub-Bussystemen oder virtuellen Datenpunkten nach BACnet, siehe Beispiel).

VAR_INPUT

nRawIn               : DWORD;
bNoSensor            : BOOL;
bOverRange           : BOOL;
bUnderRange          : BOOL;
bOpenLoop            : BOOL;
bShortedLoop         : BOOL;
bCommFailure         : BOOL;
bOtherFault          : BOOL;

nRawIn: Rohwerteingang des Objekts im Wertebereich 1 .. Number_Of_States. Der Eingang wird mit dem Prozessdatum "PresentValue" des BACnet-Objekts verknüpft. Der Wert aus nRawIn wird direkt in die Property Present_Value geschrieben (vorausgesetzt der Objektzustand ist nicht out_of_service).

bNoSensor, bOverRange, bUnderRange, 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 (bNoSensor höchste und bOtherFault niedrigste Priorität). Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt MultiStateInput 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;

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 MultiStateInput und Property Present_Value).

bOverridden, bOutOfService, bFault, bInAlarm: Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt MultiStateInput 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 MultiStateInput und Property Acked_Transitions).

nNbrOfStates: Meldet die verfügbare Anzahl von Werten, die das Present_Value des MultiStateInput-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.

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 eines ganzzahligen Werts aus EIB in die Property Present_Value eines MultiStateInput-Objekts gezeigt:

FB_BACnet_MultiStateInput_RAW 2:
Bild-1: Beispiel für die Umsetzung eines ganzzahligen Werts aus EIB in die Property Present_Value im PLC Programm.

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