(* датчик протечки *)
Water0 := MK110in.3;
Sys_DateTime := Z;
GetTime (SystemTime:=Sys_Time , TimeDate:= Sys_DateTime);
(* 1-ого и 15 числа каждого месяца в 3 часа ночи закрываю кран на 1 минуту и открываю вновь *)
IF (Sys_DateTime.Day = 1 OR Sys_DateTime.Day = 15) AND Sys_DateTime.Hour = 3 AND Sys_DateTime.Minute = 1 THEN
TestLock := TRUE;
ELSE
TestLock := FALSE;
END_IF;
TONLock( IN := Water0, PT := t_idle1);
IF TONLock.Q THEN (* Фильтр на датчик протечки от случайных помех *)
AlertWater := TRUE;
END_IF;
Pompa := TONLock.Q;
GLock := AlertWater OR TestLock OR cmdGLock;
ePompa_ON( CLK:= Pompa);
IF ePompa_ON.Q THEN
eText := CONCAT( PrintDateTime(), 'Pompa=ON' );
AlertLog( TextLog := eText );
END_IF;
ePompa_OFF( CLK:= Pompa);
IF ePompa_OFF.Q THEN
eText := CONCAT( PrintDateTime(), 'Pompa=OFF' );
AlertLog( TextLog := eText );
END_IF;
eGLock_ON( CLK := GLock );
IF eGlock_ON.Q THEN
eText := CONCAT( PrintDateTime(), 'GLock=ON' );
AlertLog( TextLog := eText );
END_IF;
eGLock_OFF( CLK := GLock );
IF eGlock_OFF.Q THEN
eText := CONCAT( PrintDateTime(), 'GLock=OFF' );
AlertLog( TextLog := eText );
END_IF;
IF TONLock.Q THEN
Control[8].Alert := TRUE;
Control[8].Msg := 'Обнаружена утечка воды в котельной!';
ELSE
Control[8].Alert := FALSE;
Control[8].Msg := '';
END_IF;