Попробую с маркером, заложив упрощенный код из OSS, ведь эта или подобная головка нам еще как потребуется в перспективе...
Получается так: примерно в середине первого БУ ставим маневровый маркер, который передает в сторону станции код DISTANCE.STOP, если он !enabled (не входит в маршрут), следующий проходной передает NORMAL.SAP или что там у Тимаса по !enabled (нужно смотреть, возможно есть особая комбинация, не зря же там галка "1 проходной") и участок за ним свободен.
Головка, приняв от маркера DISTANCE.STOP мигает, если участок за ней свободен.
Ситуации:
Отправление поездным порядком - маркер enabled маршрутом сервиса и код не передает, голова не мигает.
Отправление поездным порядком по удалению - пока трафик не доехал до маркера - маркер enabled, участок за головкой занят, после проезда маркера занят участок за маркером, после ухода трафика маркер enabled от следующего сервиса = голова не горит.
Маневровая работа - маршрут проложен за выходной, но не до середины БУ (точка реверса), маркер !enabled, участки свободны, первый проходной передает нужный код по !enabled, маркер выдает DISTANCE.STOP = голова мигает, пока за неё не заехали.
Возможно есть более простое решение, еще идеи есть?
Добавлено через 21 минуту
Проверил проще, сценарий: переставить состав с одного бокового на другой, с выездом за входной.
Если предусмотрено, то выходной выдал бы белый, нет - он желтый.
Входной пустил по двум желтым.
Тогда лучше добавить описанный выше маркер, не хочу я чужую сигнализацию переписывать, хуже будет, это как в чужой огород со своим уставом, правлю только явные косяки типа трех линков подряд, скорости по RES и на этом всё.
Никто и ничто не запрещает на новых участках, добавляемых актуализациями, внедрять сигнализацию OSS со специально предусмотренными для этого переходными точками, или как в этой ситуации специальные маркеры и головки.
Добавлено через 29 минут
Ну вот и первая "электроплитка" в маршруте (надо покрасить).
Завтра научу её любить
Родину маневровую работу.