Друзья! Я уже писал здесь о том, что в Z7 на выходных светофорах иногда не загорается показание «Один зелёный и один белый огни». Я выяснил, что эта проблема наблюдается, если состояние невидимого проходного светофора
z7_pro3_momc3_als на перегоне, следующего за выходным светофором, 7 (один жёлтый и один зелёный) или 12 (один зелёный). В случае, если состояние проходного другое (скажем, 4 (один жёлтый огонь)), то выходной исправно приобретает состояние 37 (один зелёный и один белый). Проблема именно в том, если проходной светофор имеет одно из "зелёных" показаний — 7 или 12. Я не знаю языка, но по контексту я понял, что в случае, если АБ 3-значная, то код меняет состояние светофора с 7 на 12. И проблема возникает в том случае, если "подлинное" состояние светофора именно 12 (когда за ним идёт 7 или 12). Пошарив в скрипте
z7a_lmdf.cfg (Объект z7_maincontroller), я обнаружил, что светофор меняет состояние на 37 только из состояния 7. А из состояния 12 замена на 37 не прописана. В скрипте я нашёл 4 места, содержащих вот такие строчки:
- Код: Выделить всё
if( (ret==7) and mrals!=-1){
ret=37;
Я, хоть и не знаю язык, понимаю, что здесь прописана замена состояния 7 на состояние 37 в случае, если ID маркера MRALS не равно -1.
Изменив это выражение на нижеследующее во всех четырёх местах, я получил исправно зажигающееся показание З-Б:
- Код: Выделить всё
if( (ret==7 or ret==12) and mrals!=-1){
ret=37;
То есть происходит замена показания 7 или 12 на 37, если ID маркера MRALS не равно -1.
Прошу прощения, если вышеизложенный потоп сознания несколько труден для восприятия, но это самый простой способ, которым я смог выразить свою мысль. Благодарю за внимание.

Эксплуатационное локомотивное депо имени Ильича. ТЧЭ-18 Московской железной дороги.