FB_BACnetMO1202

BACnet Multistate-Output

FB_BACnetMO1202 1:

Funktionsbeschreibung

Dieser Baustein generiert ein BACnet-Multistate-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 "kleine" 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

 

udiValPrioA

Zu schreibender Wert

Priority-Array (87)

usiPrioA

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)

bEnTiDly

Freigabe zum Beschreiben der Meldeverzögerung [s]

 

udiTiDly

Property-Wert Meldeverzögerung [s]

TimeDelay (113)

bEnNotiCla

Freigabe zum Beschreiben der Meldeklasse

 

udiNotiCla

Property-Wert Meldeklasse

NotificationClass (17)

Ein-Ausgänge

VAR_INPUT

bEnPrioA    : BOOL;
udiValPrioA : UDINT;
usiPrioA    : USINT;
bEnFdb      : BOOL;
udiFdbVal   : UDINT;
bEnEvtEn    : BOOL;
stEvtEn     : ST_BACnet_EventTransitionBits;
bEnTiDly    : BOOL;
udiTiDly    : UDINT;
bEnNotiCla  : BOOL;
udiNotiCla  : UDINT;

bEnPrioA: Freigabe zum Beschreiben

udiValPrioA: Wert, der in das Priority-Array auf die Priorität usiPrioA geschrieben wird.

usiPrioA: Auswahl der zu beschreibenden Priorität (1..16)

bEnFdbVal / udiFdbVal: 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 udiFdbVal 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 udiFdbVal gleich dem Present-Value gesetzt, und es kann so niemals zu einer Rückmeldediskrepanz kommen.

bEnEvtEn / stEvtEn: Freigabe/Property-Wert Bitmuster EventEnable

bEnTiDly / udiTiDly: Freigabe/Property-Wert Meldeverzögerung [s]

bEnNotiCla / udiNotiCla: Freigabe/Property-Wert Meldeklasse

VAR_OUTPUT

udiPrVal       : UDINT;
bStaInAlm      : BOOL;
bStaFlt        : BOOL;
bStaOvrrd      : BOOL;
bStaOoServ     : BOOL;
udiActvPrio    : UDINT;
udiNumOfSta    : UDINT;
dwObjId        : DWORD;
bErr           : BOOL;
udiErrId       : UDINT;
udiErrArg      : UDINT;

udiPrVal: Aktueller Wert des Multistate-Output-Objekts - direkt aus dem BACnet eingelesen. Dieser Wert bedarf u.U. einer nachfolgenden Logik, wenn er mit einer Hardware verknüpft werden soll (Anzeigetafel, etc.).

bStaInAlm: Zeigt den Zustand des Statusflags „InAlarm“ des Multistate-Output-Objekts an.

bStaFlt: Zeigt den Zustand des Statusflags „Fault“ des Multistate-Output-Objekts an.

bStaOvrrd: Zeigt den Zustand des Statusflags „Overridden“ des Multistate-Output-Objekts an.

bStaOoServ: Zeigt den Zustand des Statusflags „OutOfService“ des Multistate-Output-Objekts an.

udiActvPrio: Zeigt an, welche Priorität die aktive ist.

udiNumOfSta: Zeigt die eingestellte Anzahl der Status an (NumberOfStates, Property Id 74).

dwObjId: BACnet-Objekt-ID des Multistate-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