Правильный вариант, когда в ветке else стоит:
Т.е. на каждом цикле когда OnOff = false ФБ будет t := get_time() для того, чтобы в тот момент, когда OnOff станет true, нормально отработала первая пауза.Код:else t := get_time();
Дискуссия возникла из-за недопонимания того, что в беззнаковой арифметике Xmax = 0 - 1,
а значит пауза отработает правильно даже при обнулении get_time() через 4294967296 мс (или примерно через 50 суток).
Если оставить t := T#0s, то в момент когда переполнится get_time() и будет выполняться State = 3 - произойдет реверс без паузы.
Попробуйте быстро выключить и включить OnOff во время вращения назад - произойдет реверс без паузы, а это опасно в большинстве случаев.





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