FB_BACnet_AnalogOutput_RAW

Der folgende Funktionsbaustein wird für die Verbindung von einem BACnet-Objekt des lokalen BACnet-Servers verwendet. Die Verknüpfung des Funktionsbausteins zu dem entsprechenden BACnet-Objekt erfolgt mit Hilfe von Prozessdaten.

Die Prozessdaten können manuell in dem BACnet-Objekt erstellt und von Hand verknüpft werden oder mittels PLC-Automapping automatisch erzeugt werden. Die für das PLC-Automapping nötigen Kommentare ( (* ~ (BACnet... | ??? | ??? ) *) ) sind bereits in der Deklaration des Funktionsbausteins enthalten.

Im Gegensatz zu der Standardvariante des Bausteins wird der Rohwert durch einen Funktionsbaustein-Ausgang im SPS-Programm bereitgestellt und nicht auf die Klemmen-Hardware abgebildet. So können z.B. Analogausgangsinformationen im SPS-Code weiterverarbeitet werden (Signalumsetzung in Subbussysteme oder virtueller Ausgangsdatenpunkt etc.).

FB_BACnet_AnalogOutput_RAW 1:

Verwendung

Mit Hilfe des Funktionsbausteins "FB_BACnet_AnalogOutput_RAW" kann lesend und schreibend auf ein BACnet-Objekt vom Typ AnalogOutput (AO) zugegriffen werden. Das BACnet-Objekt wurde dazu unter einem lokalen BACnet-Server angelegt.

FB_BACnet_AnalogOutput_RAW 2:
Bild-1: Beispiel eines BACnet-Objekts unterhalb eines lokalen BACnet-Servers.

VAR_INPUT

bEnablePV    : BOOL;
fPV          : REAL;

bEnablePV: Gibt den Wert des Eingangs "fPV" frei. Sobald der Eingang auf TRUE gesetzt wird, erfolgt ein Eintrag im Priority_Array des zugehörigen BACnet-Objekts mit dem Wert des Eingangs "fPV". Dies entspricht einem Schreibzugriff auf das kommandierbare Property Present_Value mit eingestellter Priorität (Default: 12 bei Verwendung des PLC-Automappings bzw. 16 bei manueller Verknüpfung im System Manager).

fPV: Wert der in das Priority_Array der kommandierbaren Property Present_Value geschrieben werden soll. Die Priorität ergibt sich aus dem Mapping und Konfiguration der Prozessdaten des BACnet-Objekts im System Manager (siehe auch Bild-2 und 3). Das Schreiben wird mit TRUE-Setzen des Eingangs "bEnablePV" freigegeben. Das Schreiben der Prozessdaten erfolgt nach Freigabe immer zyklisch.

FB_BACnet_AnalogOutput_RAW 3:
Bild-2: Beispiel eines BACnet-Objekts mit Prozessdaten für das Schreiben der kommandierbaren Property Present_Value.
FB_BACnet_AnalogOutput_RAW 4:
Bild-3: Beispiel der Prozessdatenkonfiguration eines BACnet-Objektes im System Manager. Priorität 12 und 16 werden als mappbare Prozessdaten angelegt (siehe Ergebnis in Bild-2).

VAR_OUTPUT

bReady                  : BOOL;
fPresentValue           : REAL;
bOverridden             : BOOL;
bOutOfService           : BOOL;
bFault                  : BOOL;
bInAlarm                : BOOL;
bAckedTrans_ToOffNormal : BOOL;
bAckedTrans_ToFault     : BOOL;
bAckedTrans_ToNormal    : BOOL;
bError                  : BOOL;
nErrorId                : UINT;
nRawOut                 : INT; (* ~(BACnet_RawIoAnalogSignedValue : : ) *)

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 System Manager nicht richtig verknüpft.

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

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

bError: Ein Fehler steht an.

nErrorId: Fehlernummer
0 = kein Fehler
2 = fehlerhaftes Prozessdatenmapping erkannt (Mapping im System Manager prüfen; evtl. SPS-Projekt komplett übersetzen und erneut laden)
3 = der zugehörige BACnet-Server ist nicht bereit (bOperational = FALSE an Instanz des FB_BACnet_Device)
Die Fehlernummern können als Baustein-Konstanten über die FB-Instanz abgefragt werden (FB_BACnet_???.nERR_xxx).

nRawOut: Rohwertausgang des Objekts im Wertebereich -32768...32767. Der Ausgang wird mit dem Prozessdatum "RawIoAnalogSignedValue" des BACnet-Objekts verknüpft. Der Wert der Property Present_Value wird mit der Property Resolution zu "nRawOut" verrechnet (vorausgesetzt der Objektzustand ist nicht out_of_service).

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 AnalogOutput-Objekts nach EIB gezeigt:

FB_BACnet_AnalogOutput_RAW 5:
Bild-4: Beispiel für die Umsetzung der Property Present_Value nach EIB im PLC Programm. Dieses Beispiel setzt die Bibliothek "TcKL6301.lib" voraus. Siehe Dokumentation zur Klemme KL6301 für weitere Informationen zu EIB.