Starikoff писал(а):Видимо, недоработка управляющего ПО. В момент переключения фаз, таймер не сбрасывается, а вот само время горения сигнала меняется, отсюда и рассинхрон. Если бы я писал эту логику, то применял бы изменения со следующего рабочего цикла, а не моментально.
Я тут вижу два варианта.
1. Недоработка ПО, как Вы говорите. Может заключаться в банальной ошибке - в последовательности команд, когда новое значение времени сигнала присваиваться таймеру уже после включения сигнала и это время начинает отображаться только при следующем включении этого же сигнала (при том, что оно опять могло измениться). Достаточно присвоить таймеру время сигнала, до включения самого сигнала, чтобы всё соответствовало.
2. Программа работы светофора находится не в самом светофоре (или будке рядом), а где-то на одном сервере и команды светофору посылаются оттуда, он только принимает новое время для каждого сигнала по каждому направлению и выполняет их. Система настолько "простая", что только на это и способна и таймер это новое значение времени не принимает, а работает абсолютно автономно. То есть таймер отсчитывает, сколько времени горел один сигнал, а в следующем цикле показывает его на табло. Так и получается неверное значение, когда приходит новое время, светофор его выполняет, а таймер показывает предыдущее.
И тот и другой вариант только фантазии, потому что как устроена эта система я не знаю.