FB_BACnet_Accumulator_RAW_R6

FB_BACnet_Accumulator_RAW_R6 1:

Anwendung

Mit Hilfe des Funktionsbausteins kann lesend und schreibend auf ein BACnet-Objekt vom Typ Accumulator (ACC) zugegriffen werden.

Im Unterschied zur Standard- bzw. _EX-Variante des Bausteins, wird der aktuelle Zählerwert (Present_Value) und der Zustand der Property Reliablitity durch Funktionsbaustein-Eingänge bereitgestellt und nicht durch die IO-Hardware direkt. So kann z.B. der Zustand eines Zähleingangs 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

nPV               : UDINT;
nReliability      : WORD;
bOutOfServiceOut  : BOOL;

nPV: Wert der in die Property Present_Value direkt geschrieben wird.

nReliability: Eingang setzt den entsprechenden Zustand der Property Reliability. Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt Accumulator und Property Reliability.

bOutOfServiceOut: TRUE setzt den Zustand des Objekts auf out_of_service. Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt Accumulator und Property Status_Flags.

VAR_OUPUT

bReady         : BOOL;
nPresentValue  : UDINT;
nMaxPV         : UDINT;
bOverridden    : BOOL;
bOutOfService  : BOOL;
bFault         : BOOL;
bInAlarm       : BOOL;
bOverRange     : BOOL;
bUnderRange    : BOOL;
bNoSensor      : BOOL;
bOpenLoop      : BOOL;
bShortedLoop   : BOOL;
bOtherFault    : BOOL;
eEventState    : E_BACNETEVENTSTATE;
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 Accumulator und Property Present_Value).

nMaxPV: Aktueller Wert der Property Max_Pres_Value des BACnet-Objekts (siehe auch BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt Accumulator und Property Max_Pres_Value).

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

bOverRange, bUnderRange, bNoSensor, bOpenLoop, bShortedLoop, bOtherFault: Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt Accumulator und Property Reliability.

eEventState: Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt Accumulator und Property Event_State.

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 digitalen Impulssignals auf ein BACnet Objekt vom Typ Accumulator gezeigt.

FB_BACnet_Accumulator_RAW_R6 2:
Bild-1: Beispiel für die Umsetzung eines Impulssignals in das BACnet Objekt Accumulator im PLC Programm.

Dabei wird seitens BACnet Objekt der Zählwert am Eingang nPV erfasst. Ein Überlauf des UDINT Wertes erfolgt bei eingestelltem Maximalwert oder datentypbedingt. Als weitere Information dient der Eingang diPulseOk. Dieser Eingang gibt an, dass die impulsgenerierende Seite (z.B. ein exterener Zähler) bereit ist.