FB_BACnetBO1205
BACnet Binary-Output
Funktionsbeschreibung
Dieser Baustein generiert ein BACnet-Binary-Output-Objekt und stellt innerhalb der PLC Schreibe- und Lesevariablen für das Objekt zur Verfügung.
Bei diesem Baustein handelt es sich vom Funktionsumfang her um die "größte" Version.
Alternativ stehen folgende Versionen zur Verfügung:
Es ist möglich, die Parameter, welche von der PLC aus beschreibbar sind, auch von der BACnet-Seite her zu beschreiben, wobei die letzte Änderung immer die gültige ist. Die Übertragung dieser Parameter erfolgt aus der PLC heraus per ADS und in die PLC hinein per zyklischem Interface. PLC-seitig haben alle Parameter zusätzlich einen Enable-Eingang: Ist der betreffende Enable-Eingang erstmalig gesetzt (steigende Flanke), so wird der am Parameter-Eingang stehende Wert in jedem Fall übertragen, im weiteren Verlauf – bei gesetztem Enable – nur noch bei Werteänderung, um so den ADS-Verkehr zu mindern. Ist der Enable-Eingang nicht gesetzt, so erfolgt keine Übertragung.
PLC-Variable | Bemerkung | BACnet-Property (Property ID) |
---|---|---|
bEnPrioA | Freigabe zum Beschreiben des Priority-Arrays auf die Priorität, welche unter usiPrioA eingetragen ist |
|
bValPrioA | Zu schreibender Wert | Priority-Array (87) |
usiPrioA | Auswahl der zu beschreibenden Priorität (1..16) im Priority-Array |
|
bEnPrioB | Freigabe zum Beschreiben des Priority-Arrays auf die Priorität, welche unter usiPrioB eingetragen ist |
|
bValPrioB | Zu schreibender Wert | Priority-Array (87) |
usiPrioB | Auswahl der zu beschreibenden Priorität (1..16) im Priority-Array |
|
bEnPrioC | Freigabe zum Beschreiben des Priority-Arrays auf die Priorität, welche unter usiPrioC eingetragen ist |
|
bValPrioC | Zu schreibender Wert | Priority-Array (87) |
usiPrioC | Auswahl der zu beschreibenden Priorität (1..16) im Priority-Array |
|
bEnPrioD | Freigabe zum Beschreiben des Priority-Arrays auf die Priorität, welche unter usiPrioD eingetragen ist |
|
bValPrioD | Zu schreibender Wert | Priority-Array (87) |
usiPrioD | Auswahl der zu beschreibenden Priorität (1..16) im Priority-Array |
|
bEnEvtEn | Freigabe zum Beschreiben des Bitmusters EventEnable |
|
stEvtEn | Property-Wert Bitmuster EventEnable | EventEnable (35) |
Ein-Ausgänge
VAR_INPUT
bEnPrioA : BOOL;
bValPrioA : BOOL;
usiPrioA : USINT;
bEnPrioB : BOOL;
bValPrioB : BOOL;
usiPrioB : USINT;
bEnPrioC : BOOL;
bValPrioC : BOOL;
usiPrioC : USINT;
bEnPrioD : BOOL;
bValPrioD : BOOL;
usiPrioD : USINT;
bOvrrd : BOOL;
bEnFdbVal : BOOL;
bFdbVal : BOOL;
bEnEvtEn : BOOL;
stEvtEn : ST_BACnet_EventTransitionBits;
bEnPrioA: Freigabe zum Beschreiben
bValPrioA: Wert, der in das Priority-Array auf die Priorität usiPrioA geschrieben wird.
usiPrioA: Auswahl der zu beschreibenden Priorität (1..16)
bEnPrioB: Freigabe zum Beschreiben
bValPrioB: Wert, der in das Priority-Array auf die Priorität usiPrioB geschrieben wird.
usiPrioB: Auswahl der zu beschreibenden Priorität (1..16)
bEnPrioC: Freigabe zum Beschreiben
bValPrioC: Wert, der in das Priority-Array auf die Priorität usiPrioC geschrieben wird.
usiPrioC: Auswahl der zu beschreibenden Priorität (1..16)
bEnPrioD: Freigabe zum Beschreiben
bValPrioD: Wert, der in das Priority-Array auf die Priorität usiPrioD geschrieben wird.
usiPrioD: Auswahl der zu beschreibenden Priorität (1..16)
bOvrrd: An diesem Eingang kann das Eingangssignal einer lokale Vorrangbedienung z. B. von einem KM2652 angelegt werden. Steht dieser Eingang dann auf "TRUE", so wird das im BACnet angezeigt.
bEnFdbVal / bFdbVal: Freigabe/Property-Wert Feedback-Value. Dieser Wert wird aus der PLC heraus auf das Property FeedbackValue (Property Id 40) geschrieben, jedoch nicht per ADS, sondern per zyklischem Interface.
Es dient einer Rückmelde-Überwachung: Ist bEnFdbVal auf TRUE gesetzt, so muss an bFdbVal innerhalb der Zeit, die im BACnet unter TIME-Delay (Property Id 113) eingetragen ist, den gleichen Wert haben, wie der Ausgang Present-Value. Ansonsten wird im EventState (Property Id 36) durch den Eintrag "offnormal" eine Rückmelde-Diskrepanz angezeigt. Ist bEnFdbVal auf FALSE gesetzt, so wird intern bFdbVal gleich dem Present-Value gesetzt, und es kann so niemals zu einer Rückmeldediskrepanz kommen.
bEnEvtEn / stEvtEn: Freigabe/Property-Wert Bitmuster EventEnable
VAR_OUTPUT
bPrVal : BOOL;
bStaInAlm : BOOL;
bStaFlt : BOOL;
bStaOvrrd : BOOL;
bStaOoServ : BOOL;
udiActvPrio : UDINT;
dwObjId : DWORD;
bErr : BOOL;
udiErrId : UDINT;
udiErrArg : UDINT;
bPrVal: Aktueller Wert des Binary-Output-Objekts - direkt aus dem BACnet eingelesen
bStaInAlm: Zeigt den Zustand des Statusflags „InAlarm“ des Binary-Output-Objekts an.
bStaFlt: Zeigt den Zustand des Statusflags „Fault“ des Binary-Output-Objekts an.
bStaOvrrd: Zeigt den Zustand des Statusflags „Overridden“ des Binary-Output-Objekts an.
bStaOoServ: Zeigt den Zustand des Statusflags „OutOfService“ des Binary-Output-Objekts an.
udiActvPrio: Zeigt an, welche Priorität die aktive ist.
dwObjId: BACnet-Objekt-ID des Binary-Output-Objekts
bErr: Zeigt allgemein einen Fehler im Baustein an. Die Ursache kann in BACnet, im ADS-Datenaustausch oder auch an falscher Parametrierung liegen.
udiErrId / udiErrArg: Enthält die Fehlernummer und das Fehlerargument. Siehe Fehlercodes.
VAR_IN_OUT
stComnMsg : ST_BA_ComnMsg;
fbDvc : FB_BACnet_Device;
stComnMsg: Referenz auf die Verbindungsstruktur zum Melde-Sammelbaustein FB_BA_ComMsg.
fbDvc: Referenz auf den Baustein des BACnet-Device-Objekts
Voraussetzungen
Entwicklungsumgebung | Zielsystem | erforderliche Bibliothek | erforderliches Supplement |
---|---|---|---|
TwinCAT 2.11 R3/x64 | PC/CX | TcBA-Bibliothek ab V1.0.0 | TS8040 | TwinCAT Building Automation ab V1.0.0 |