FB_BA_SunBldPrioSwi4

FB_BA_SunBldPrioSwi4 1:

Der Funktionsbaustein dient zur Prioritätssteuerung für bis zu 4 Positioniertelegramme (stSunBld_Prio1 ... stSunBld_Prio4) des Typs ST_BA_SunBld.

Struktur des Jalousie-Positioniertelegramms ST_BA_Sunbld.

TYPE ST_BA_SunBld:
STRUCT
     rPos        : REAL;
     rAngl       : REAL;
     bManUp      : BOOL;
     bManDwn     : BOOL;
     bManMod     : BOOL;
     bActv       : BOOL;
END_STRUCT
END_TYPE

An diesem Baustein lassen sich bis zu 4 Positioniertelegramme verschiedener Steuerbausteine anlegen. Dabei hat das Telegramm an stSunBld_Prio1 die höchste und das an stSunBld_Prio4 die niedrigste Priorität. Das aktive Telegramm der höchsten Priorität wird am Ausgang stSunBld ausgegeben. "Aktiv" bedeutet, dass innerhalb der Struktur des Positioniertelegramms die Variable bActv gesetzt ist.

Dieser Baustein ist so zu programmieren, dass immer eines der angelegten Telegramme aktiv ist. Falls kein Telegramm aktiv ist, wird am Ausgang ein Leertelegramm ausgegeben, d.h. rPos=0, rAngl=0, bManUp=FALSE, bManDwn=FALSE, bManMod=FALSE, bActv=FALSE. Da der Jalousiebaustein FB_BA_SunBldActr bzw. der Rollladenbaustein FB_BA_RolBldActr seinerseits nicht auf den Merker bActv achtet, würde dieses Telegramm als Fahrbefehl auf Position "0", also vollständig geöffnet, gewertet werden. Das Fehlen eines aktiven Telegramms stellt damit kein Sicherheitsrisiko für die Jalousie dar.

VAR_INPUT

stSunBld_Prio1  : ST_BA_SunBld;
stSunBld_Prio2  : ST_BA_SunBld;
stSunBld_Prio3  : ST_BA_SunBld;
stSunBld_Prio4  : ST_BA_SunBld;

stSunBld_Prio1..stSunBld_Prio4: Zur Auswahl stehende Positioniertelegramme. Dabei hat stSunBld_Prio1 die höchste und stSunBld_Prio4 die niedrigste Priorität.

VAR_OUTPUT

stSunBld    : ST_BA_SunBld;
udiActvPrio : UDINT;

stSunBld: Resultierendes Positioniertelegramm.
udiActvPrio:
Aktives Positioniertelegramm. Ist keines aktiv, so wird "0" ausgegeben.

Voraussetzungen

Entwicklungsumgebung

Erforderliche SPS-Bibliothek

TwinCAT ab v3.1.4024.7

Tc3_BA ab v1.1.6.0