ST_BA_SeqLink / ST_BA_SeqLinkData
Struktur des Daten- und Befehlsaustausches zwischen dem Steuerbaustein FB_BA_SeqLink und den Sequenzreglern FB_BA_SeqCtrl.
Diese Struktur ist pro Sequenzregelung einmal anzulegen:
stSeqLink : ST_BA_SeqLink;
Innerhalb dieser Struktur ist automatisch eine weitere Feldstruktur deklariert, über die der Sequenz-Link-Baustein auf der einen Seite und die einzelnen Sequenzregler auf der anderen alle relevanten Daten miteinander austauschen. Jeder Sequenzregler schreibt dabei seine Daten in das seiner Ordnungszahl (Eintrag am Eingang diMyNum am Sequenzreglerbaustein) entsprechende Feldelement. An den Bausteinen angelegt wird immer die komplette Struktur mit allen Feldelementen.
Die Strukturen haben den folgenden Aufbau:
TYPE ST_BA_SeqLink :
STRUCT
arrSeqLinkData : ARRAY[1..16] OF ST_BA_SeqLinkData;
diCurCtrl : DINT;
bSeqActv : BOOL;
END_STRUCT
END_TYPE
arrSeqLinkData: Parameter der einzelnen Sequenzregler. Beschreibung der Struktur ST_BA_SeqLinkData siehe unten.
diCurCtrl: vom FB_BA_SeqLink: Vorgabe aktueller Sequenzregler.
bSeqActv: Die Sequenzregelung ist freigegeben und aktiv.
TYPE ST_BA_SeqLinkData:
STRUCT
lrY : LREAL;
lrYMin : LREAL;
lrYMax : LREAL;
lrW : LREAL;
bActn : BOOL;
bOp : BOOL;
bPresence : BOOL;
bErrDouble : BOOL;
diCurCtrl : DINT;
END_STRUCT
END_TYPE
lrY: vom FB_BA_SeqCtrl: Übermittlung aktueller Stellwert.
lrYMin: vom FB_BA_SeqCtrl: Übermittlung minimaler Stellwert.
lrYMax: vom FB_BA_SeqCtrl: Übermittlung maximaler Stellwert.
lrW: vom FB_BA_SeqCtrl: Übermittlung aktueller Sollwert.
bActn: vom FB_BA_SeqCtrl: Übermittlung Wirksinn invers (bActn = FALSE: Heizbetrieb - bActn = TRUE: Kühlbetrieb).
bOp: vom FB_BA_SeqCtrl:Sequenzregler ist freigegeben, d.h. sein Eingang bEn ist auf TRUE gesetzt.
bPresence: vom FB_BA_SeqCtrl: Prüfbit, s.u.
bErrDouble: vom FB_BA_SeqCtrl: Fehler beim Prüfen der Nummern: Es existieren mindestens 2 Sequenzregler gleicher Ordnungszahl diMyNum.
diCurCtrl: vom FB_BA_SeqLink: Vorgabe aktueller Sequenzregler.
Bemerkung zum Prüfbit:
Jeder Sequenzcontroller setzt in der für ihn gültigen Struktur das bPresence-Flag. Ist dieses jedoch schon gesetzt, so muss diMyNum zwangsläufig doppelt vergeben worden sein und es greifen zwei Sequenzregler auf dieselbe Struktur zu. Der Sequenz-Link-Baustein setzt alle Prüfbits nach Auswertung wieder zurück, so dass dieser Test zyklisch erfolgt. Dadurch kann ein Fehler automatisch per online-change behoben, bzw. auch neue Sequenzregler hinzugefügt werden.
Voraussetzungen
Entwicklungsumgebung | Erforderliche Bibliothek | Erforderliche Function |
---|---|---|
TwinCAT3.1 4022.16 | Tc3_BA_Common ab V1.0.4.3 | TF8040 | TwinCAT Building Automation ab V1.0.5.0 |