Добрый день. Подскажите как решить задачу. Делаю дома управление светом. Необходимо чтобы при нажатии на выключатель кнопку 1 раз свет включался, 2 раз выключался. Так же на один выключатель который будет в коридоре сделать выключение всех групп света.Код HTML:FUNCTION_BLOCK prim1 VAR_INPUT in: BOOL; (*кнопка*) off:BOOL; (*на этот вход подается выход off_all для отключения всех групп освещения*) END_VAR VAR_OUTPUT Q: BOOL; (*лампочка*) off_all:BOOL; (*выход для выключения всех лампочек*) END_VAR VAR step: BYTE; R_TRIG1: R_TRIG; TON1: TON; pt: TIME := t#3s; END_VAR ---------------------------- TON1(IN:=in , PT:=pt , Q=> , ET=> ); (*таймер для отключения всего освещения*) R_TRIG1(CLK:=in , Q=> );(*нужен для включения/выключения лампочки в коридоре*) CASE step OF 0: (*шаг включение лампочки*) IF R_TRIG1.Q THEN Q:=TRUE; step:=1; END_IF 1: (*шаг отключения лампочки*) IF R_TRIG1.Q THEN Q:=FALSE; step:=0; END_IF END_CASE (*для отключения всего освещения*) off_all:=TON1.Q;(*если кнопку держали 3 секунды отключаем все группы освещения*) IF off THEN (*пришел сигнал на оключение всех групп освещения*) Q:=FALSE; step:=0; END_IF




Ответить с цитированием
