Немного подправил Proteus, чтобы меньше зависал. Но это тормоза самой программы.
Proteus не использует все свободные ресурсы компьютера, даже если он показывает 100%, то это его какие-то внутренние ресурсы.
Поэтому ускорить симуляцию можно не столько переходом на более мощный компьютер, сколько оптимизацией симуляции и анимации.
Пересмотрел еще раз прошивку, чуть подчистил, но это все в области не касающейся последнего новшества с концевиком. Тем не менее, обновите.
Посмотрел Ваши настройки (завел их по умолчанию) - тоже все нормально. Запустил с ними Proteus - все работает.
То есть, ничего особо не нашел.
Причиной "недоезда" может быть неудачный выбор шага отслеживания. Например, если выбрать 18 минут, то последний шаг будет рассчитан за 12 минут до времени завершения отслеживания. И финальный расчет будет пропущен. В программе была ошибка, из-за которой мог быть пропущен и расчет, точно попадающий во время завершения. Исправил, но вопрос остался. Или следить за установкой шага (должен быть таким, чтобы 480 делилось на него без остатка), или изменить принцип расчета, или разрешить программе сделать последний расчет даже после завершения времени слежения...
Следует понимать, что при наступлении времени старта первый расчет всегда даст нулевое положение. Панель начнет движение только когда наступит первый шаг. И то при условии, что шаг не очень мелкий (не менее 4 минут).
Также, уже ранее писал, если время проведения какой-то операции будет пропущено, то эта операция останется невыполненной. Например. Время перехода в положение 60 - 20-30. До этого времени панель находится в последней расчетной точке (в идеале - 120). Но Вы перевели часы вперед и программа не зафиксировала 20-30. Панель останется в положении 120, пока не наступит следующее событие (переход в стартовое положение).