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 usiMyNum am Sequenzreglerbaustein) entsprechende Feldelement. An den Bausteinen angelegt wird immer die komplette Struktur mit allen Feldelementen.

ST_BA_SeqLink / ST_BA_SeqLinkData 1:

Die Strukturen haben den folgenden Aufbau:

TYPE ST_BA_SeqLink :
STRUCT
  arrSeqLinkData : ARRAY[1..cMaxSeqCtrl] OF ST_BA_SeqLinkData;
  bSeqActv       : BOOL;
  usiCurSeq      : USINT;
  byDummy        : ARRAY[1..2] OF BYTE; 
END_STRUCT
END_TYPE

bSeqActv: Die Sequenzregelung ist freigegeben und aktiv.

usiCurSeq: Vom FB_BA_SeqLink: Vorgabe aktueller Sequenzregler

byDummy: Unbenutzte Füllvariablen zur Herstellung einer 4-Byte-Anordnung. Diese Anordnung ist dann wichtig, wenn diese Struktur Teil eines Datenaustauschs zwischen Controllern unterschiedlicher Architektur (ARM/I486) ist.

TYPE ST_BA_SeqLinkData:
STRUCT
  lrY         : LREAL;
  lrYMin      : LREAL;
  lrYMax      : LREAL;
  lrW         : LREAL;
  bActn       : BOOL;
  bOp         : BOOL;
  bPresence   : BOOL;
  bErrDouble  : BOOL;
  usiCurSeq   : USINT;
  byDummy     : ARRAY[1..3] OF BYTE;
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 usiMyNum.

usiCurSeq: Vom FB_BA_SeqLink: Vorgabe aktueller Sequenzregler

byDummy: Unbenutzte Füllvariablen zur Herstellung einer 4-Byte-Anordnung. Diese Anordnung ist dann wichtig, wenn diese Struktur Teil eines Datenaustauschs zwischen Controllern unterschiedlicher Architektur (ARM/I486) ist.

Bemerkung zum Prüfbit:

Jeder Sequenzcontroller setzt in der für ihn gültigen seiner Struktur das bPresence-Flag. Ist dieses jedoch schon gesetzt, so muss usiMyNum zwangsläufig doppelt vergeben worden sein, greifen doch 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

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