Код:
PROGRAM PLC_PRG
VAR
date1: DATE;
date2: DATE;
dt1:DWORD;
dt2: DWORD;
T_dd : TIME := T#1m26s400ms;
T_hh : TIME := T#3s600ms;
day : DWORD := 86400;
hour : DWORD := 3600;
END_VAR
--------------
date1 := D#2010-12-7 - T_dd*365 ;
date2 := D#2010-12-7 - T_hh*24 ;
dt1 :=DateSub(D#2010-12-11,D#2010-11-11,day);
dt2 :=DateSub(D#2010-12-11,D#2010-12-10,hour);
-----------------------------------------------------------------
FUNCTION DateSub : DWORD
VAR_INPUT
First: DATE;
Last: DATE;
interval : DWORD;
END_VAR
----------------
IF First>Last THEN
DateSub := (DATE_TO_DWORD( First) - DATE_TO_DWORD( Last))/interval ;
ELSE
DateSub := (DATE_TO_DWORD( Last) - DATE_TO_DWORD( First))/interval ;
END_IF;
---------------------------------------------------------------
И если я понимаю - как забивают гвозди, не нужны откровения про существование молотка с синей ручкой (типа 'dateadd'). Можно и кирпичом, если чё.