Что конкретно не получается? Вот куски кода:
FUNCTION_BLOCK ExtractTime
(*Извлекает часы, минуты,секунды и миллисекунды из TIME*)
VAR_INPUT
TM: TIME;
END_VAR
VAR_OUTPUT
H,M,Sec,ms :UINT;
END_VAR
VAR
TW: DWORD;
END_VAR
TW := TIME_TO_DWORD(TM);
ms := DWORD_TO_INT(TW MOD 1000);
TW := TW /1000;
Sec := DWORD_TO_INT(TW MOD 60);
TW := TW/60;
M := DWORD_TO_INT(TW MOD 60);
H := DWORD_TO_INT(TW / 60);PROGRAM ClimateReg
VAR
etTime: ExtractTime;
END_VAR
etTime(TM:=tTime-TPTime.ET);...
ShowDint (ScreenNumber, 8, 1, '%02u', ClimateReg.etTime.H);
ShowDint (ScreenNumber, 11, 1, '%02u', ClimateReg.etTime.M);
ShowDint (ScreenNumber, 14, 1, '%02u', ClimateReg.etTime.Sec);