Код:
output := power - power * 0.3 * BOOL_TO_REAL(dim); (* -30% когда dim = TRUE *)
С выше приведённым BLINK_SEQ можно так:
Код:
PROGRAM PLC_PRG
VAR
blinker: BLINK_SEQ;
power, output: REAL;
END_VAR
VAR CONSTANT
(* Два коротких, один длинный *)
testSequence: ARRAY[0..15] OF TIME := T#200ms, T#200ms, T#200ms, T#200ms, T#500ms;
END_VAR
blinker(ENABLED := TIME_TO_DWORD(TIME()) MOD 3000 > 100, SEQ := testSequence); (* Раз в три секунды *)
output := power - power * 0.3 * BOOL_TO_REAL(blinker.OUT); (* Мигание в тушение на 30% *)