Добрый день. Подскажите в чем я глючу, пожалуйста. Следующий код работает только один раз. Далее ПЛК приходится сбрасывать.

shake,sh_on,sh_off:TP;

case sysstate of
0:

if IN1 then sysstate:=1; end_if;

1:
shake(in:=true, PT:=shon*3+shpause*3);
IF shake.Q THEN
clLINE:=sh_off.Q;
clSOPLO:=sh_off.Q;
clCAMERA:=sh_off.Q;
clRESET:=sh_off.Q;

sh_on(IN:=NOT sh_off.Q,PT:=shon);
sh_off(IN:=NOT sh_on.Q,PT:=shpause);
ELSE
shake.IN:=FALSE;
sh_on.IN:=FALSE;
sh_off.IN:=FALSE;
sysstate:=0;
END_IF;
END_CASE;

in1 - вход-кнопка.