FB_BA_RolBldActr
The function block FB_BA_RolBldActr is used to position a roller blind via two outputs: Up and Down. The roller blind can be driven to any desired position with the positioning telegram stSunBld. In addition, the positioning telegram stSunBld also contains manual commands with which the roller blind can be moved individually to certain positions. These manual commands are controlled by the function block FB_BA_SunBldSwi.
The current height position is not read by an additional encoder, but is determined internally by the runtime of the roller blind.
The two different runtime parameters nTiUp(runtime roller blind up [ms]) and nTiDwn (runtime roller blind down [ms]) take account of the different travel characteristics.
The function block fundamentally controls the roller blind via the information from the positioning telegram stSunBld. If automatic mode is active (bManMod=FALSE), the current position is always approached, and changes are immediately taken into account. In manual mode (bManMod=TRUE) the commands bManUp and bManDwn control the roller blind.
Referencing
Safe referencing refers to a situation when the roller blind is upwards-controlled for longer than its complete travel-up time. The position is then always "0". Since a roller blind positioning without encoder is always error-prone by nature, it is important to reference automatically as often as possible: every time the position "0" is to be approached, the roller blind first moves up normally with continuous position calculation. Once the calculated position value 0% is reached, the output bUp continues to be held for the complete travel-up time + 5 s.
The referencing process can be interrupted by a manual "down" command or by repositioning.
After a plant restart, the function block executes a reference run.
Inputs
VAR_INPUT
bEn : BOOL;
stSunBld : ST_BA_Sunblind;
nTiUp : UDINT;
nTiDwn : UDINT;
END_VAR
Name | Type | Description |
---|---|---|
bEn | BOOL | Enable input for the function block. As long as this input is TRUE, the actuator function block accepts and executes commands as described above. A FALSE signal on this input resets the control outputs bUp and bDwn and the function block remains in a state of rest. |
stSunBld | Positioning telegram | |
nTiUp | UDINT | Complete time for driving up [ms] |
nTiDwn | UDINT | Complete time for driving down [ms] |
Outputs
VAR_OUTPUT
bUp : BOOL;
bDwn : BOOL;
fActlPos : REAL;
bRef : BOOL;
nRefTi : UDINT;
bBusy : BOOL;
bErr : BOOL;
sErrDescr : T_MAXSTRING
END_VAR
Name | Type | Description |
---|---|---|
bUp | BOOL | Roller blind control output up |
bDwn | BOOL | Roller blind control output down |
fActlPos | READ | Current position in percent. |
bRef | BOOL | The roller blind is in referencing mode, i.e. the output bUp is set for the complete travel-up time + 5s. Only a manual "down" command can move the roller blind in the opposite direction and terminate this mode. |
nRefTi | UDINT | Referencing countdown display [s] |
bBusy | BOOL | A positioning or a referencing procedure is in progress. |
bErr | BOOL | In case of a fault, e.g. if warning stages are active, this output is set to TRUE. |
sErrDescr | T_MAXSTRING | Contains the error description. |
Error description |
---|
01: Error: The total travel-up or travel-down time (nTiUp / nTiDwn) is zero. |
Requirements
Development environment | Required PLC library |
---|---|
TwinCAT from v3.1.4024.22 | Tc3_BA2 from v5.2.5.0 |