FB_BA_RolBldActr

Dieser Baustein dient zur Positionierung einer Rollladen-Jalousie über zwei Ausgänge: Hoch- und Herunterfahren. Über das Positioniertelegramm stSunBld kann die Jalousie auf eine beliebige Position gesteuert werden. Darüber hinaus beinhaltet das Positioniertelegramm stSunBld auch Handbefehle, mit denen die Jalousie individuell auf bestimmte Positionen bewegt werden kann. Diese Handbefehle werden von dem Baustein FB_BA_SunBldSwi angesteuert.

Der Baustein besitzt intern eine feste Umschaltverriegelung (Ausgang bUp zu Ausgang bDwn) von 500ms.

FB_BA_RolBldActr 1:

Dieser Baustein muss in jedem SPS-Zyklus aufgerufen werden, da die SPS-Zykluszeit in die Berechnung der Positionen mit einfließt.

FB_BA_RolBldActr 2:

Funktionsbeschreibung

Struktur des Jalousie-Positioniertelegramms stSunBld.

TYPE ST_BA_SunBld:
STRUCT
     lrPos        : LREAL;
     lrAngl       : LREAL;
     bManUp       : BOOL;
     bManDwn      : BOOL;
     bManMod      : BOOL;
     bActv        : BOOL;
END_STRUCT
END_TYPE

Die aktuelle Höhenposition und der Lamellenwinkel werden dabei nicht durch einen zusätzlichen Encoder eingelesen, sondern intern durch die Laufzeit der Jalousie ermittelt.
Durch die beiden unterschiedlichen Laufzeitparameter udiTiUp (Laufzeit Jalousie hoch [ms]) und udiTiDwn (Laufzeit Jalousie herunter [ms]) wird den unterschiedlichen Fahrcharakteristiken Rechnung getragen.

Der Baustein steuert die Jalousie grundsätzlich über die Informationen, aus dem Positioniertelegramm stSunBld. Ist der Automatikmodus aktiv (bManMod=FALSE), so wird immer die aktuelle Position angefahren, wobei Änderungen sofort berücksichtigt werden. Im Handbetrieb (bManMod=TRUE) steuern die Befehle bManUp und bManDwn die Jalousie.

Referenzieren

Ein sicheres Referenzieren ist gegeben, wenn die Jalousie länger als ihre komplette Hochlaufzeit nach oben hin angesteuert wird. Die Position ist dann auf jeden Fall "0" . Da eine Jalousiepositionierung ohne Encoder naturgemäß immer fehlerbehaftet ist, ist es wichtig möglichst oft automatisch zu referenzieren: jedes mal, wenn die Position "0" angefahren werden soll, fährt die Jalousie zunächst ganz normal mit kontinuierlicher Positionsberechnung nach oben. Erreicht sie den errechneten Positionswert 0%, so wird der Ausgang bUp noch einmal für die weiterhin gehalten und zwar noch einmal für die komplette Hochlaufzeit + 5s.
Aus Gründen der Flexibilität gibt es nun zwei Möglichkeiten, den Referenziervorgang zu unterbrechen: Bis zum Erreichen der errechneten 0%-Position wird eine Positionsänderung immer noch angenommen und ausgeführt, nach Erreichen dieser 0%-Position kann die Jalousie noch mit dem Handbefehl "herunterfahren" anders bewegt werden. Diese beiden sinnvollen Einschränkungen machen es nötig, dass der Nutzer selbst dafür Sorge trägt, die Jalousie so oft wie möglich sicher referenzieren zu lassen.

Beim Neustart der Anlage referenziert der Baustein in jedem Fall. Die abgeschlossene Initial-Referenzierung wird durch ein TRUE-Signal an Ausgang bInitRefCmpl angezeigt. Auch die Initial-Referenzierung kann durch einen Handbefehl "herunterfahren" vorzeitig abgeschlossen werden.

Ein-/Ausgänge

VAR_INPUT

bEn        : BOOL;
stSunBld   : ST_BA_Sunblind;
udiTiUp    : UDINT;
udiTiDwn   : UDINT;

bEn: Freigabeeingang für den Baustein. Solange dieser Eingang auf TRUE steht, nimmt der Aktorbaustein Befehle entgegen und arbeitet, wie oben beschrieben. Ein FALSE-Signal an diesen Eingang setzt die Steuerausgänge bUp und bDwn zurück und der Funktionsbaustein verharrt in einem Ruhezustand.

stSunBld: Positioniertelegramm, siehe ST_BA_SunBld

udiTiUp: Komplette Hochfahrzeit [ms]

udiTiDwn: Komplette Zeit zum Herunterfahren in ms

VAR_OUTPUT

bUp            : BOOL;
bDwn           : BOOL;
lrActlPos      : LREAL;
udiRefTi       : UDINT;
bInitRefCompl  : BOOL;
bRef           : BOOL;
bBusy          : BOOL;
bErr           : BOOL;
udiErrId       : UDINT;
udiErrArg      : UDINT;

bUp: Steuerausgang Jalousie hoch

bDwn: Steuerausgang Jalousie herunter

lrActlPos: Aktuelle Position in Prozent

udiRefTi: Referenzier-Countdown-Anzeige [s]

bInitRefCompl: Initial-Referenziervorgang abgeschlossen.

bRef: Die Jalousie befindet sich in der Referenzierung, d.h. für die die komplette Hochlaufzeit + 5s wird der Ausgang bUp gesetzt. Nur ein Handbefehl "herunter" kann die Jalousie in Gegenrichtung bewegen und diesen Modus beenden.

bBusy: Ein Positionier- oder Referenziervorgang findet statt.

bErr: Dieser Ausgang wird auf TRUE geschaltet, wenn die eingetragenen Parameter fehlerhaft sind.

udiErrId / udiErrArg: Enthält die Fehlernummer und das Fehlerargument. Siehe Fehlercodes.

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