FB_BA_SeqCtrl

PID-Sequenzregler als Bestandteil einer Sequenz.
Mit Erhalt der Freigabe bEn = TRUE wird dem übergeordneten Kontrollbaustein FB_BA_SequenceLinkBase mitgeteilt, dass der Sequenzregler betriebsbereit für die Sequenzsteuerung ist.
Der Datenaustausch zwischen den Sequenzreglern FB_BA_SeqCtrl und dem Kontrollbaustein FB_BA_SequenceLinkBase geschieht über die Struktur stSeqLink.
Ausgabewert fPresentValue
Der Funktionsbaustein ermittelt abhängig von den Freigaben bEn und stSequenceLink.bEnSeqLink, dem Wirksinn eActionPgm / eActionRm und der Sequenznummer nActvSeqCtrl / nMyNum den daraus resultierenden Wert am Ausgang fPresentValue.
bEn | stSequenceLink.bEnSeqLink | eActionPgm/eActionRm | nActvSeqCtrl/nMyNum | fPresentValue |
---|---|---|---|---|
TRUE | FALSE | E_BA_Action.eReverse |
| fMaxOutputPgm / fMaxOutputRm |
TRUE | FALSE | E_BA_Action.eDirect |
| fMinOutputPgm / fMinOutputRm |
FALSE | FALSE |
|
| 0 |
TRUE | TRUE | E_BA_Action.eReverse | nActvSeqCtrl > nMyNum | fMinOutputPgm / fMinOutputRm |
TRUE | TRUE | E_BA_Action.eReverse | nActvSeqCtrl < nMyNum | fMaxOutputPgm / fMaxOutputRm |
TRUE | TRUE | E_BA_Action.eDirect | nActvSeqCtrl < nMyNum | fMinOutputPgm / fMinOutputRm |
TRUE | TRUE | E_BA_Action.eDirect | nActvSeqCtrl > nMyNum | fMaxOutputPgm / fMaxOutputRm |
TRUE | TRUE |
| nActvSeqCtrl = nMyNum | FB_BA_Loop.fPresentValue |
Fehlererkennung
Die unten aufgeführten Fehlermeldungen werden durch den FB_BA_SeqCtrl erkannt.
Das x in den Textmeldungen steht für eine nummerische Angabe eines Sequenzreglers.
Die Fehlermeldungen werden in der Entwicklungsumgebung von Tc3 in dem Fenster "Fehlerliste" ausgegeben. Dieses kann unter dem Menüpunkt Ansicht aktiviert werden.
Die Fehlertexte werden über die Properties ErrorParamMaxSeqCtrl und ErrorSeqNumMultiple ausgegeben.
![]() | Globaler Parameter Tc3_BA2.BA_Param.nMaxSeqCtrl < 1 Diese Meldung ist die einzige, welche die Sequenzsteuerung deaktiviert. |
Deutsch | Englisch |
---|---|
Globaler Parameter Tc3_BA2.BA_Param.nMaxSeqCtrl < 1 | Global parameter Tc3_BA2.BA_Param.nMaxSeqCtrl < 1 |
Sequenznummer nMyNum = x mehrfach vergeben | Sequence number nMyNum = x assigned multiple times |
Syntax
FUNCTION_BLOCK FB_BA_SeqCtrl EXTENDS FB_BA_Loop
VAR_INPUT
nMyNum : UDINT;
END_VAR
VAR_OUTPUT
fE : REAL;
bSeqActv : BOOL;
nActvSeqCtrl : UDINT;
bIsActvSeqCtrl : BOOL;
bErr : BOOL;
END_VAR
VAR_IN_OUT
stSeqLink : ST_BA_SeqLink;
END_VAR
Eingänge
Name | Typ | Beschreibung |
---|---|---|
nMyNum | UDINT | Meine Nummer in der Sequenz. Diese Zahl darf nur einmal in einer Sequenzsteuerung vorhanden sein. Eine interne Limitierung lässt nur Werte von 1 - XBA_Param.nMaxSeqCtrl zu. |
Ausgänge
Name | Typ | Beschreibung |
---|---|---|
fE | REAL | Zeigt die Regelabweichung des Sequenzreglers an. Diese ist abhängig vom Wirksinn des Sequenzreglers. E_BA_Action.eDirect -> fE = fX-fW E_BA_Action.eReverse -> fE = fW-fX |
bSeqActv | BOOL | Der Sequenzregler ist in der Regelsequenz eingebunden. |
nActvSeqCtrl | UDINT | Nummer des aktiven Sequenzreglers. |
bIsActvSeqCtrl | BOOL | Zeigt an, dass der Sequenzregler der aktive in der Sequenzregelung ist. Das Property IsActvSeqCtrl zeigt diese Meldung ebenfalls an. |
bErr | BOOL | Zeigt an, dass ein Fehler erkannt wurde. Detailliertere Informationen zeigen die Properties ErrorParamMaxSeqCtrl und SeqNumMultiple. Unter Fehlererkennung sind weitere Erläuterungen zur Fehleranalyse zu finden. |
/
Ein- Ausgänge
Name | Typ | Beschreibung |
---|---|---|
stSeqLink | Daten- und Befehlsstruktur zwischen den einzelnen Sequenzreglern FB_BA_SeqCtrl und dem Steuerbaustein FB_BA_SequenceLinkBase. |
Eigenschaften
Name | Typ | Zugriff | Beschreibung |
---|---|---|---|
ActvSeqCtrl | UDINT | Get | Das Property zeigt die Nummer des aktiven Sequenzcontrollers an. |
ErrorParamMaxSeqCtrl | Get | Das Property zeigt im Fehlerfall den folgenden Text an: "Global parameter Tc3_BA2.BA_Param.nMaxSeqCtrl < 1", siehe BA_Param.nMaxSeqCtrl. Der globale Parameter muss auf jeden Fall angepasst werden, weil aufgrund der falschen Parametrierung die Sequenz stoppt. | |
SeqNumMultiple | Get | Das Property zeigt im Fehlerfall den folgenden Text an: "Sequence number nMyNum = x assigned multiple times". Eine Prüfung der angezeigten Sequenznummer ist erforderlich, weil diese mehrfach in der Sequenz vergeben wurde. | |
IsActvSeqCtrl | BOOL | Get | Der Sequenzregler ist der aktive in der Sequenzsteuerung. |
Voraussetzungen
Entwicklungsumgebung | Erforderliche SPS-Bibliothek |
---|---|
TwinCAT ab v3.1.4024.56 | Tc3_XBA ab v5.6.1.0 |