PHP код:
PROGRAM PLC_PRG
VAR
RTC: Real_Time_Clock; // FB из библиотеки SPK Tools 1.3.0
Year, Month, Day, Hour, Minute, Second: UINT;
DT_STRING: STRING;
START: BOOL:= FALSE;
StartTime: DATE_AND_TIME;
NOW: DATE_AND_TIME;
WorkTime: TIME;
END_VAR
IF NOT START THEN // первый запуск
RTC(
Year=> Year,
Month=> Month,
Day=> Day,
Hour=> Hour,
Minute=> Minute,
Second=> Second,
w_str_time=> ,
w_str_dateM=> );
DT_STRING:= 'DT#';
DT_STRING:= CONCAT(DT_STRING, UINT_TO_STRING(Year));
DT_STRING:= CONCAT(DT_STRING, '-');
DT_STRING:= CONCAT(DT_STRING, UINT_TO_STRING(Month));
DT_STRING:= CONCAT(DT_STRING, '-');
DT_STRING:= CONCAT(DT_STRING, UINT_TO_STRING(Day));
DT_STRING:= CONCAT(DT_STRING, '-');
DT_STRING:= CONCAT(DT_STRING, UINT_TO_STRING(Hour));
DT_STRING:= CONCAT(DT_STRING, ':');
DT_STRING:= CONCAT(DT_STRING, UINT_TO_STRING(Minute));
DT_STRING:= CONCAT(DT_STRING, ':');
DT_STRING:= CONCAT(DT_STRING, UINT_TO_STRING(Second));
StartTime:= STRING_TO_DT(DT_STRING);
START:= TRUE;
END_IF;
RTC(
Year=> Year,
Month=> Month,
Day=> Day,
Hour=> Hour,
Minute=> Minute,
Second=> Second,
w_str_time=> ,
w_str_dateM=> );
DT_STRING:= 'DT#';
DT_STRING:= CONCAT(DT_STRING, UINT_TO_STRING(Year));
DT_STRING:= CONCAT(DT_STRING, '-');
DT_STRING:= CONCAT(DT_STRING, UINT_TO_STRING(Month));
DT_STRING:= CONCAT(DT_STRING, '-');
DT_STRING:= CONCAT(DT_STRING, UINT_TO_STRING(Day));
DT_STRING:= CONCAT(DT_STRING, '-');
DT_STRING:= CONCAT(DT_STRING, UINT_TO_STRING(Hour));
DT_STRING:= CONCAT(DT_STRING, ':');
DT_STRING:= CONCAT(DT_STRING, UINT_TO_STRING(Minute));
DT_STRING:= CONCAT(DT_STRING, ':');
DT_STRING:= CONCAT(DT_STRING, UINT_TO_STRING(Second));
NOW:= STRING_TO_DT(DT_STRING);
WorkTime:= NOW - StartTime;
В визуализации отображаю переменные StartTime и WorkTime.