Да, понятно.
Но дело не в этом. В любом случае при подходе поезда с перегона обратностоящий DISTANCE-маркер бывает в "!BLOCK_CLEAR" хоть какое-то время:
А маневровые типа SHUNTING не всегда срабатывают на это по условию:
Бывали белые вместо синих. Я ж еду на этом паровозе, всё вижу, как они горят.
--------------
Просто в скрипте невозможно сделать, говоря электронным языком, какой-нибудь "запоминающий регистр" (ага, К155ТМ2 в релейный шкаф засунуть

) для сохранения некоторого состояния сигналов. При изменении состояния одного маркера заново отрабатываются скрипты всех светофоров "с нуля", и при этом все переменные сбрасываются.
"Я так думаю"