Код:
FUNCTION dayOfWeek : UDINT; // (c) PeterA
VAR_INPUT
year: udint;
mounth: udint;
day:udint;
END_VAR
VAR
MM: ARRAY [1..12] OF udint := [5,1,1,4,6,2,4,0,3,5,1,3];
END_VAR
IF udint_to_bool(year MOD 4 ) THEN
MM[1]:= 5; MM[2]:= 1;
ELSE
MM[1]:= 4; MM[2]:= 0;
END_IF
dayOfWeek:= (year+year/4+ MM[mounth] + day) MOD 7;
end_function