FB_BACnetLoopSeq1202

BACnet Sequenz-Regler. Im Vergleich zum FB_BACnetLoopSeq1201 lässt dieser Baustein das Beschreiben folgender BACnet-Properties aus der SPS heraus nicht zu:

FB_BACnetLoopSeq1202 1:

Funktionsbeschreibung

Dieser Baustein bildet den Baustein FB_BA_SeqCtrl als Loop-Objekt im BACnet ab. Das Loop-Objekt auf der BACnet-Seite hat dabei im Wesentlichen die Aufgabe, Parameter und Werte aus der PLC heraus darzustellen und in die PLC zu übertragen. Die Reglerlogik liegt allein in der PLC im internen FB_BA_SeqCtrl. Es ist möglich, die wichtigsten Parameter von beiden Seiten - PLC und BACnet - zu verändern 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.

Wie bei dem "normalen" Sequenzregler vom Typ FB_BA_SeqCtrl, welcher eine reine PLC-Lösung darstellt, funktioniert die BACnet-Version ebenfalls nur mit einem Sequenz-Link-Baustein FB_BA_SeqLink.

PLC-Variable

Bemerkung

BACnet-Property (Property ID)

bEnActn

Freigabe zum Beschreiben des ReglerWirksinns

 

bActn

Property-Wert ReglerWirksinn
bActn=TRUE, BACnet direct → ReglerWirksinn: E=X-W (Kühlen)
bActn=FALSE, BACnet reverse → ReglerWirksinn: E=W-X (Heizen)

Action (2)

bEnPropConst

Freigabe zum Beschreiben der Proportionalitätskonstante (K-Faktor)

 

rPropConst

Property-Wert Proportionalitätskonstante (K-Faktor)

ProporttionalConstant (93)

bEnIntgConst

Freigabe zum Beschreiben der Integrationszeit (I-Anteil)

 

rIntgConst

Property-Wert Integrationszeit [s] (I-Anteil)

IntegralConstant (49)

bEnDervConst

Freigabe zum Beschreiben der Vorhaltezeit (D-Anteil)

 

rDervConst

Property-Wert Vorhaltezeit [s] (D-Anteil)

DerivativeConstant (26)

bEnEvtEn

Freigabe zum Beschreiben des Bitmusters EventEnable

 

stEvtEn

Property-Wert Bitmuster EventEnable

EventEnable (35)

bEnErrLmt

Freigabe zum Beschreiben des Meldewerts "Maximalwert Regelabweichung"

 

rErrLmt

Property-Wert Meldewert "Maximalwert Regelabweichung"

ErrorLimit (34)

bEnTiDly

Freigabe zum Beschreiben der Meldeverzögerung [s]

 

udiTiDly

Property-Wert Meldeverzögerung [s]

TimeDelay (113)

Ein-Ausgänge

VAR_INPUT

usiMyNum     : USINT;
bEn          : BOOL;
bEnActn      : BOOL;
bActn        : BOOL;
bEnPropConst : BOOL;
rPropConst   : REAL;
bEnIntgConst : BOOL;
rIntgConst   : REAL;
bEnDervConst : BOOL;
rDervConst   : REAL;
bEnEvtEn     : BOOL;
stEvtEn      : ST_BACnet_EventTransitionBits;
bEnErrLmt    : BOOL;
rErrLmt      : REAL;
bEnTiDly     : BOOL;
udiTiDly     : UDINT;
lrYSeqInit   : LREAL;
bSync        : BOOL;
lrSync       : LREAL;
lrNz         : LREAL;
udiDampConst : UDINT;
udiMinToMax  : UDINT;
udiMaxToMin  : UDINT;
uiCycCl      : UINT;

usiMyNum: Ordnungszahl des Sequenzreglers

bEn: Regleraktivierung

bEnActn / bActn: Freigabe/Property-Wert ReglerWirksinn: „direct“ oder „reverse“

bEnPropConst / rPropConst: Freigabe/Property-Wert Proportionalitätskonstante (K-Faktor)

bEnIntgConst / rIntgConst: Freigabe/Property-Wert Integrationszeit [s] (I-Anteil)

bEnDervConst / rDervConst: Freigabe/Property-Wert Vorhaltezeit [s] (D-Anteil)

bEnEvtEn / stEvtEn: Freigabe/Property-Wert Bitmuster EventEnable

bEnErrLmt / rErrLmt: Freigabe/Property-Wert Meldewert Maximalausgabe

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

lrYSeqInit: Start-Synchronisationswert. Ist dieser Regler derjenige, der bei Aktivierung der Regelsequenz als erster freigegeben wird, so wird dieser Regler mit diesem Wert am Ausgang gestartet.

bSync: Setzen des Ausgangs auf lrSync.

lrSync: Synchronisationswert, auf den die Stellgröße bei einer steigenden Flanke am Eingang bSync gesetzt wird.

lrNz: Neutrale Zone

udiDampConst: Dämpfungszeit des D-Anteiles [s]

udiMinToMax: Steigungsbegrenzung des Reglerausgangs für Anstieg: udiMinToMax [s] bezogen auf eine Änderung von lrMinOut auf rMaxOut.

udiMaxToMin: Steigungsbegrenzung des Reglerausgangs für Abfall: udiMaxToMin [s] bezogen auf eine Änderung von lrMaxOut auf rMinOut.

uiCycCl: Aufrufzyklus des Bausteins als Vielfaches der Zykluszeit. Ein Nulleintrag wird automatisch als uiCycleCall =1 gewertet.
Beispiel: tTaskCycleTime = 20ms, uiCtrlCycleCall =10 -> Der Regelalgorithmus wird alle 200ms aufgerufen. Damit werden aber auch nur alle 200ms die Ausgänge aktualisiert.

VAR_OUTPUT

rPrVal          : REAL;
rX              : REAL;
rW              : REAL;
bStaSeqCtrlActv : BOOL;
bStaActn        : BOOL;
rStaYMin        : REAL;
rStaYMax        : REAL;
bStaOvrrd       : BOOL;
bStaOoServ      : BOOL;
bStaFlt         : BOOL;
bStaInAlm       : BOOL;
bOpLp           : BOOL;
bOthFlt         : BOOL;
stStaFlg        : ST_BACnet_StatusFlags;
dwObjId         : DWORD;
bErr            : BOOL;
udiErrId        : UDINT;
udiErrArg       : UDINT;

rPrVal: Stellwert - Reglerausgang

rX: Aktuell gültiger Istwert aus dem BACnet gelesen.

rW: Aktuell gültiger Sollwert aus dem BACnet gelesen.

bStaSeqCtrlActv: Sequenzregler ist freigegeben und betriebsbereit (nicht im Fehlerzustand).

bStaActn: Zeigt den Zustand des Wirksinns an.

bStaYMin: Zeigt den unteren Wert der Regler-Ausgangsbegrenzung an.

bStaYMax: Zeigt den oberen Wert der Regler-Ausgangsbegrenzung an.

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

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

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

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

bOpLp: Zeigt den Zustand „OpenLoop“ des Loop-Objekt-Properties “Reliability” (Zuverlässigkeit) an.

bOthFlt: Zeigt den Zustand „OtherFault“ des Loop-Objekt-Properties “Reliability” (Zuverlässigkeit) an.

stStaFlg: Ausgabestruktur des BACnet-Status

dwObjId: BACnet-Objekt-ID des Loop-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;
stSeqLink : ST_BA_SeqLink;
fbDvc     : FB_BACnet_Device;

stComnMsg: Referenz auf die Verbindungsstruktur zum Melde-Sammelbaustein FB_BA_ComMsg.

stSeqLink: Daten- und Befehlsstruktur zwischen den einzelnen Sequenzreglern und dem Steuerbaustein FB_BA_SeqLink.

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