А если еще и дни нужны из переменной TIME,
1. Без OSCAT
Код:
FUNCTION myTIME_TO_STR : STRING
VAR_INPUT
ttt: TIME;
END_VAR
VAR
a: DWORD;
ss: DWORD;
mm: DWORD;
hh: DWORD;
dd: DWORD;
END_VAR
a:=TIME_TO_DWORD(ttt)/1000;
dd:=a/86400;
myTIME_TO_STR:=CONCAT(DWORD_TO_STRING(dd), ':');
hh:=(a MOD 86400)/3600;
myTIME_TO_STR:=CONCAT(myTIME_TO_STR,DWORD_TO_STRING(hh)); myTIME_TO_STR:=CONCAT(myTIME_TO_STR, ':');
mm:=(a MOD 3600)/60;
myTIME_TO_STR:=CONCAT(myTIME_TO_STR, DWORD_TO_STRING(mm)); myTIME_TO_STR:=CONCAT(myTIME_TO_STR, ':');
ss:=a MOD 60;
myTIME_TO_STR:=CONCAT(myTIME_TO_STR, DWORD_TO_STRING(ss));
2. С ведущими нулями (нужна OSCAT)
Код:
VAR_INPUT
ttt: TIME;
END_VAR
VAR
a: DWORD;
ss: STRING;
mm: STRING;
hh: STRING;
dd: STRING;
END_VAR
a:=TIME_TO_DWORD(ttt)/1000;
dd:=DWORD_TO_STRF((a/86400),2);
myTIME_TO_STRF:=CONCAT(dd, ':');
hh:=DWORD_TO_STRF(((a MOD 86400)/3600),2);
myTIME_TO_STRF:=CONCAT(myTIME_TO_STRF, hh); myTIME_TO_STRF:=CONCAT(myTIME_TO_STRF, ':');
mm:=DWORD_TO_STRF(((a MOD 3600)/60),2);
myTIME_TO_STRF:=CONCAT(myTIME_TO_STRF, mm); myTIME_TO_STRF:=CONCAT(myTIME_TO_STRF, ':');
ss:=DWORD_TO_STRF((a MOD 60),2);
myTIME_TO_STRF:=CONCAT(myTIME_TO_STRF, ss);