В
OpenRails 1.1.1.3487 провёл тест с аспектом
state = -1; (SIGASP_SUB_STOP

).
Использовал для управления входным с 3Ж через "двухголовый"
маршрутный светофор, у которого во 2-м подобъекте такой скрипт:
state = 0;
if ( block_state() != BLOCK_CLEAR )
state = -1;
Сам
входной 3Ж:
if ( ( next_N == 0 ) && ( next_sig_mr ( SIGFN_NORMAL ) == -1 ) )
{ state =3; draw_state = 4; } // 3Ж
Работает!

Только одно правило - для зажигания трёх жёлтых путь сервиса должен заходить за этот маршрутный сигнал (даже если там стоит поезд), иначе его состояние не читается, и на входном будет 2Ж.