Задание. Связь плк с пк организована по локальной сети предприятия. Необходимо получать состояние работы оборудования и выводить его на экран монитора. Агрегатов подключено 16 шт. Рассчитать наработанное время за 12 ч. смену для каждого агрегата отдельно и при пересменке передавать это время в скаду с фиксацией в журнал, для дальнейшего просмотра начальства. Что было сделано мной - Ну с получением состояния и выводом проблем не возникло. А вот время наработки до сих пор не могу победить. Сначала сделал циклический таймер. Который отсчитав 60 с. прибавлял к переменной 1. Далее путем расчета переводил это время в часы и минуты. Но проблема в том что при пересменке в журнале выходило не 12 ч (это если агрегат отработал полную смену) а 11ч 59м. Начальству это режет глаз. Попробовал воспользоваться системным временем. Сравнивая секунды так же добавлял единицу к переменной. При пересменке например в 7:00 или 19:00 эту переменную обнулял. Но данный вариант еще хуже. Время вообще стало плавать. То 11:45 то 11:54 в журнале. Что еще сделано- добавил корректировку времени со скады каждый час. Помогите организовать точный расчет времени если это возможно на данных контроллерах. И еще из за чего может отключаться контроллер. Просто останавливается выполнение программы. Индикатор работа не горит. Происходит это не постоянно, но в самый неподходящий момент.