В продолжение темы таймеров на ST...
Для отсчёта времени в предлагаемых таймерах используется запоминание времени начала отсчёта и вычитание этого значения из текущего времени.
Возникает вопрос - как поведёт себя таймер при переполнении 32 разрядной переменной, т.е. когда Get_Time() вернёт значение меньшее, чем значение начала отсчёта?
Вопрос по причине необходимости сделать энергонезависимый таймер для многостадийной установки - при включении питания будет время стадии инициализации, потом может добавится время ожидания запроса работы и только после этого нужно досчитать остаток времени стадии, прерванной отключением электричества.
Т.е. придётся вручную нарисовать на ST таймер TON с подстановкой в него уже пройденного времени, основываясь на Get_Time.
Что будет при переполнении 32 разрядной переменной после 49d17h02m47s295ms? Будет сбой работы таймера или разность текущего и стартового времени будет корректной?





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