FB_BACnet_Command_EX

FB_BACnet_Command_EX 1:

Anwendung

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

VAR_INPUT

bEnablePV      : BOOL;
nPV            : UDINT;
bRetrigger     : BOOL;

bEnablePV: Gibt den Wert des Eingangs nPV frei. Sobald der Eingang auf TRUE gesetzt wird, erfolgt das Schreiben in die Property Present_Value des zugehörigen BACnet-Objekts mit dem Wert des Eingangs nPV.
Wird bEnablePV auf FALSE gesetzt, dann werden die Prozessdaten der gemappten Property Present_Value auf 0 geschrieben und damit deaktiviert.

nPV: Wert der Property Present_Value der geschrieben werden soll. Liegt der Wert außerhalb des Wertebereicht (siehe BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt Command und Property Present_Value), dann wird das zugehörige Prozessdatum deaktiviert, d.h. das Schreiben auf die Property ist deaktiviert.
Das Schreiben eines gültigen Wertes löst die Ausführung der zugehörigen Kommando-Liste des BACnet-Objekts aus. Geschrieben wird der Wert der Property Present_Value immer dann, wenn eine Änderung des Prozessdatums erfolgt (d.h. Änderung des Wertes von nPV bei gesetztem bEnablePV oder Signalswechsel FALSE --> TRUE am Eingang bRetrigger bei gesetztem bEnablePV).

bRetrigger: Bei steigender Flanke an diesem Eingang wird das Schreiben und damit die Ausführung des entsprechenden Kommandos des BACnet-Objekts Command wiederholt. Der Signalwechsel von FALSE --> TRUE entspricht einer Änderung des Prozessdatums der Property Present_Value von x → 0 → x.

VAR_OUPUT

bReady         : BOOL;
nPresentValue  : UDINT;
bAllWritesOk   : BOOL;
bInProcess     : BOOL;
tObjectID      : T_BACnet_ObjectIdentifier:=16#FFFFFFFF;
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 Command und Property Present_Value).

bAllWritesOk: Die zuletzt angeforderte Kommando-Liste wurde erfolgreich abgearbeitet (siehe auch BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt Command und Property All_Writes_Successful).

bInProcess: Die selektierte Kommando-Liste wird abgearbeitet (siehe auch BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt Command und Property In_Process).

tObjectID: Objekt ID des BACnet Objekts (Objekt Type und Objekt Instanz).

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.