FB_BACnet_BinaryInput_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-Eingang bereitgestellt und nicht durch die Klemmen-Hardware. So können z.B. Digitaleingangsinformationen die im SPS-Code generiert werden als BinaryInput-Objekt nach BACnet abgebildet werden (Signalumsetzung von Subbussystemen oder virtuellen Datenpunkten etc.).
Verwendung
Mit Hilfe des Funktionsbausteins "FB_BACnet_BinaryInput_RAW" kann lesend auf ein BACnet-Objekt vom Typ BinaryInput (BI) zugegriffen werden. Das BACnet-Objekt wurde dazu unter einem lokalen BACnet-Server angelegt.
VAR_INPUT
bRawIn : BOOL; (* ~(BACnet_RawIoBinaryBoolValue : : ) *)
bRawIn: Rohwerteingang des Objekts. Der Eingang wird mit dem Prozessdatum "RawIoBinaryBoolValue" des BACnet-Objekts verknüpft. Der Wert aus "bRawIn" wird auf die Property Present_Value abgebildet (vorausgesetzt der Objektzustand ist nicht out_of_service).
VAR_OUTPUT
bReady : BOOL;
bPresentValue : BOOL;
bOverridden : BOOL;
bOutOfService : BOOL;
bFault : BOOL;
bInAlarm : BOOL;
bAckedTrans_ToOffNormal : BOOL;
bAckedTrans_ToFault : BOOL;
bAckedTrans_ToNormal : BOOL;
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 System Manager nicht richtig verknüpft.
bPresentValue: Aktueller Wert des BACnet-Objekts (siehe auch BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt BinaryInput und Property Present_Value).
bOverridden, bOutOfService, bFault, bInAlarm: Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt BinaryInput 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 BinaryInput 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).
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 Bit-Werts aus EIB in die Property Present_Value eines BinaryInput-Objekts gezeigt:
Dieses Beispiel setzt die Bibliothek "TcKL6301.lib" voraus. Siehe Dokumentation zur Klemme KL6301 für weitere Informationen zu EIB.