FB_BACnet_BinaryOutput_RAW
Anwendung
Mit Hilfe des Funktionsbausteins FB_BACnet_BinaryOutput_RAW kann lesend und schreibend auf ein BACnet-Objekt vom Typ BinaryOutput zugegriffen werden.
Im Unterschied zur Standard- bzw. _EX-Variante des Bausteins, wird das Flag der Property Status_Flags / overridden, die Property Feedback_Value und der Wert der Property Reliablitity durch Funktionsbaustein-Eingänge bereitgestellt und aus dem PLC-Programm auf das BACnet Objekt abgebildet. Die Zustand der Property Present_Value wird durch das PLC-Programm auf die Hardware bzw. auf das Sub-Bussystem gemappt. Dies geschieht sonst direkt durch die IO-Hardware. So kann z.B. der Ausgangswert an ein Sub-Bussystems in PLC-Code von einem BACnet-Objekt abgebildet werden (Signalumsetzung auf Sub-Bussysteme oder virtuellen Datenpunkte von BACnet, siehe Beispiel).
VAR_INPUT
bEnablePV : BOOL;
bNullPV : BOOL;
bPV : BOOL;
bFeedback : BOOL;
bRawOverridden : BOOL;
bNoOutput : BOOL;
bOpenLoop : BOOL;
bShortedLoop : BOOL;
bCommFailure : BOOL;
bOtherFault : BOOL;
bEnablePV: TRUE = Schreibfreigabe des Property-Werts; FALSE = Eintrag im BACnet Objekt nicht verändern (bNullPV und fPV werden unwirksam).
bNullPV: TRUE = Eintrag der Property löschen (NULL); anstelle des Werts von bPV; FALSE = Wert von bPV als Property Wert schreiben.
b PV: Wert der in die Property Present_Value geschrieben werden soll, wenn bEnablePV = TRUE und bNullPV = FALSE sind. Das Schreiben der Prozessdaten erfolgt bei Änderung.
bFeedback: Signalrückmeldung an das BACnet Objekt. Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt BinaryOutput und Property Feedback_Value.
bRawOverridden: TRUE setzt das Flag overridden der Property Status_Flags. Damit wird nach BACnet signalisiert, dass der Wert der Property Present_Value von der Hardware-Ausgabe entkoppelt wurde (z.B. durch eine manuelle Vorortbedienung). Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt BinaryOutput und Property Status_Flags.
bNoOutput, 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 (bNoOutput höchste und bOtherFault niedrigste Priorität). Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt BinaryOutput und Property Reliability.
VAR_OUPUT
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;
bRawOut : BOOL;
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.
bPresentValue: Aktueller Wert des BACnet-Objekts (siehe auch BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt BinaryOutput und Property Present_Value).
bOverridden, bOutOfService, bFault, bInAlarm: Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt BinaryOutput und Property Status_Flags.
bOtherFault: Siehe BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt BinaryOutput und Property Reliability.
bAckedTrans_ToOffNormal, bAckedTrans_ToFault, bAckedTrans_ToNormal: Flags der Property Acked_Transitions (siehe auch BACnet-Spezifikation DIN EN ISO 16484-5 zum BACnet-Objekt BinaryOutput und Property Acked_Transitions).
bError: Ein Fehler steht an.
nErrorId: siehe globale Konstanten BACnet_Globals.
bRawOut: Rohwertausgang des Objekts. Der Ausgang wird mit dem Prozessdatum "RawIoBinaryBoolValue" des BACnet-Objekts verknüpft. Der Wert von bRawOut resultiert aus der Property Present_Value mit Verrechnung der Property Polarity.
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 BinaryOutput-Objekts nach EIB gezeigt:
Dieses Beispiel setzt die Bibliothek "TcEIB.lib" voraus. Siehe Dokumentation zur Klemme KL6301 für weitere Informationen zu EIB.
Gezeigt wird zudem die Umsetzung einer Vorortbedienung mit Hilfe eines Vorwahlschalters (digitaler Eingang) und eines Steuerschalters (digitaler Eingang).