С первым вопросом разобрался, теперь осталось понять по какой причине не срабатывает данный код.
Sys_DateTime := Z;
GetTime (SystemTime:=Sys_Time , TimeDate:= Sys_DateTime);

IF (Sys_DateTime.Day = 1 OR Sys_DateTime.Day = 28) AND Sys_DateTime.Hour = 15 AND Sys_DateTime.Minute = 27 THEN
out3 := TRUE;
out4 := TRUE;
ELSE
out3 := FALSE;
out4 := FALSE;
END_IF;

IF (Sys_DateTime.Day = 1 OR Sys_DateTime.Day = 28) AND Sys_DateTime.Hour = 15 AND Sys_DateTime.Minute = 28 THEN
out1 := TRUE;
out2 := TRUE;
ELSE
out1 := FALSE;
out2 := FALSE;
END_IF;