Считать в секундах:Округлять до минут:Код:tick(CLK := TIME_TO_DWORD(TIME()) MOD 1000 > 500); (* R_TRIG один на всех *) runningTimeSeconds := runningTimeSeconds + BOOL_TO_DINT(tick.Q AND deviceON);Код:minutes := LREAL_TO_DINT(DINT_TO_REAL(seconds) / 60.0);У ПЛК160 часы кривее, чем у самого задрипанного сторублёвого будильника. Я просто полагаю, что их нет. Даже не ставлю. Когда впервые столкнулся — долго удивлялся, как у контроллера могут быть настолько паршивые часы. И это при том, что TIME() вроде равномерно идёт.Время вообще стало плавать. То 11:45 то 11:54 в журнале.




Ответить с цитированием