Информация: Уважаемые посетители! В течение нескольких месяцев на форуме существовала проблема с регистрацией новых пользователей, о которой администрации стало известно недавно. Если вы ранее пытались зарегистрироваться на форуме, но не получили на ваш e-mail письмо с ссылкой для подтверждения регистрации, просим вас зарегистрироваться повторно. Приносим извинения за доставленные неудобства. Если вы все еще испытываете проблемы с регистрацией на форуме, обратитесь за помощью на e-mail: mr.angelo@railroadsim.net

Аватара пользователя
Света
 
Сообщения: 838
Зарегистрирован: 18.06.2016, 19:38
Играю в: Train Simulator 2018
Роль: Разработчик
Имя: Пандора
Блог: Просмотр блога (21)
Архивы
- Сентябрь 2020
+ Май 2020
+ Декабрь 2019
+ Ноябрь 2019
+ Октябрь 2019
+ Сентябрь 2019
+ Август 2019
+ Октябрь 2018
+ Август 2018
+ Май 2018
+ Март 2018
+ Август 2017
+ Июль 2017
Поиск в блогах

1 из 52 из 53 из 54 из 55 из 5

Светофорная сигнализация С65 (DSB240319). Часть 11. Матрицы.

Постоянная ссылка Света 20.05.2020, 13:29

Речь пойдет о маршрутных указателях (МУ) и указателях направления (УН). Эти красивые дисплейчики введены в комплект сигналки в версиях выше 240319.0.10.1b. Матрицы - потому что в этих указателях использован матричный принцип вывода информации. А ещё потому, что движок форума не позволяет мне делать длинные заголовки. Дальше по тексту я буду называть матрицами одно- или двухсимвольные указатели, отдельностоящие, или установленные на светофоре. Если это неправильное название и у Вас от этого подергивается левый глаз - извините, но мне так проще.
Для того, чтобы разобраться с установкой и (главное!) настройкой матриц, надо определиться с терминами и понятиями. Самый важный пункт, который надо усвоить для правильной настройки матрицы - это понятие "до" и "после". Что имеется ввиду? Попробую объяснить. Вот скриншот:
Как можно увидеть на этом скриншоте, имеется 2 пути, обозначенных как "П" и "11Л". "П" - это правый, "Л", соответственно - левый. Это для наглядности. Если смотреть по ходу движения, то эти пути находятся ДО выходных светофоров "Н1" и "Н2", ПОСЛЕ входного "Н". Какое это имеет значение? Дело в том, что матрицы управляются следующими по ходу движения светофорами. Соответственно, если матрица расположена перед тем же светофором, что и путь, обозначение которого надо вывести, то это будет "до", а если матрица находится перед светофором, а путь, обозначение которого надо вывести, - за этим светофором, то это уже будет "после". Чтобы матрица правильно работала, ей надо будет указать, где находится требуемый путь.
Следующее понятие - режим работы. Матрицы работают не всегда, они могут зажигаться только если светофор открыт в поездном или маневровом режиме. Поэтому мне показалось уместным сделать возможность указывать матрице, когда именно ей следует включаться: в поездном режиме, в маневровом или в обоих случаях.
Разряд. Поскольку матрица может состоять из двух указателей, предусмотрено 2 знакоместа для обозначения пути. Также есть третье знакоместо - для символа направления. Суммарно получается 3 знакоместа, где первое называется левым (l, left), второе - правым (r, right) (символьные знакоместа), третье - направлением (d, direct). Это означает, что структура обозначения пути имеет вид "lrd". То есть, если мы назвали путь, например, "В2/", то символ "В" будет помещен в разряд "l", символ "2" будет помещен в разряд "r", а символ "/" будет помещен в разряд "d". Для чего это нужно? Это сделано для того, чтобы можно было по своему желанию назначать любую матрицу на вывод любого символа из обозначения пути.
Паттерн. Это именно то, что задает режим работы матрицы и указывает ей, откуда брать информацию для отображения. Что такое паттерн? В простом виде - это 3 буквы, указывающие матрице, что делать. Первая буква - это разряд. Как описано выше, это может быть 3 варианта - левый (l) или правый (r) символ, либо направление (d). Вторая буква - это позиция пути ("до" или "после" светофора). Если "до" - это буква "b" (before), если "после" - "a" (after). Третья буква - это режим работы светофора, при котором матрица должна активироваться. Если в поездном режиме - "t" (train), если в маневровом - "s" (shunt), если в обеих случаях - "a" (all). Соответственно, если нам надо на одиносимвольную матрицу вывести первый символ обозначения пути, расположенного за светофором, в поездном режиме - паттерн будет "lat". Для двухсимвольных матриц паттерн складывается. То есть, если надо вывести второй (правый) символ и направление пути, расположенного за светофором, символ в маневровом, а направление - в маневровом и поездном режимах, паттерн будет "rasdaa". Если эта матрица должна работать только в поездном режиме - паттерн будет "ratdat". Если матрица находится перед тем же светофором, что и путь - паттерн будет "rbsdba" для первого случая и "rbtdbt" - для второго. Если надо вывести не первый, а второй символ - указываем не "r", а "l", соответственно получаем "lasdaa" ("latdat") или "lbsdba" ("lbtdbt").

Обозначение пути.
Для того, чтобы присвоить какому-нибудь пути обозначение, применяется атрибут "WM". Для присвоения надо в правом окошке identity светофора вписать этот атрибут и само обозначение (традиционным способом, т.е., чтобы вывести число от 1 до 9, вписываем его, от 10 до 19 включительно - вписываем числа 0...9 с зажатой кнопкой shift, чтобы ввести литеру, нажимаем кнопку с ней, переключившись на латиницу ("А" - "f", "Б" - "," и т.д.)). Выглядит это так:
Изображение Изображение
Введенный текст: +WM_G/, +DY1, WM_G/
Это обозначение - "П/". Символ подчеркивания указывает на то, что на это знакоместо ничего не назначено, соответственно, разряд матрицы, настроенный на показ этого знакоместа, будет погашен.
Атрибут "DY1", показанный во втором случае - для примера, чтобы продемонстрировать ситуацию, когда светофору задано несколько атрибутов.

Для маршрутно-разделительного и повторительного перед групповым светофоров обозначение пути отличается - атрибут имеет вид не "WM", a "+W". Это вынужденная мера, к сожалению, без этого не обойтись. Поэтому будьте внимательны при вводе атрибутов!

Назначение паттернов.
Для того, чтобы указать матрице, что вписанный текст - это именно паттерн, а не что-то другое, применяется атрибут "PT" (для светофоров, оборудованных матрицей) или "+P" (для отдельностоящих матричных указателей). Выглядит это так:
Изображение Изображение
Введенный текст: +PTDATRAT, b1+platrat.
Эти настройки задают такой режим: для светофора - левая матрица показывает направление пути после светофора в поездном режиме, правая показывает символ правого (второго) знакоместа обозначения пути после светофора в поездном режиме; для отдельностоящего указателя - название "И1", левая матрица показывает символ левого (первого), правая показывает символ правого (второго) знакомест обозначения пути после светофора в поездном режиме.

Вот пример, как это работает.
Здесь я использую ту же схему расстановки и настройки, что использовалась выше. Итак, вот входной светофор Н, за ним - 2 маркированные пути "Л11" и "П". Матрицы установлены так, что эти пути находятся ПОСЛЕ управляющего светофора, соответственно, в паттернах их настроек я использую литеру "а":
Изображение
На скриншоте показано, как это работает, когда путь собран прямо, без отклонения.

А на этом скриншоте - стрелка переведена направо:
Изображение

Если светофор оборудован матрицей, то это выглядит так:
Изображение Изображение
Как можно догадаться, на скриншоте с отклонением матрица светофора погашена из-за того, что первый символ правого пути не задан.

Вот как распределились символы в этом случае:
Изображение

Если светофор оборудован двумя матрицами, то его паттерн уже двойной:
Изображение

Цвет матричных указателей никак не зависит от режима их работы и не влияет ни на что.
Матричные указатели активируются только в том случае, если перед ними есть подвижной состав. Из-за некоторых особенностей движка, бывает, что при загрузке сценария бот не регистрируется - в этом случае матричный указатель не активируется. Также это может произойти, если игрок захватит локомотив в режиме свободного сценария, пролетев перед этим большое расстояние - матрица может остаться погашеной, даже если путь открыт. Это нормальная работа матрицы, вернее, ненормальная, но исправить это нельзя. В дальнейшем, если возникнет острая необходимость, я научу матрицы работать независимо от присутствия подвижного состава (через атрибут).
Начиная с версии 240319.0.11.0b, отдельностоящие матричные указатели умеют работать с атрибутом "+aчисло". Этот атрибут меняет логику активации матрицы - если его ввести, то матрица уже не будет ждать с моря погоды сигнала подготовки маршрута, а будет мониторить присутствие ПС. Как только ПС приблизится на расстояние, меньшее, чем задано после атрибута, матрица активируется (разумеется, если следующий светофор открыт в соответствующем режиме).

Скрипт матричного указателя умеет выводить логи. Если какой-то отдельностоящий указатель неадекватно себя ведет и не желает делать то, что должен, в окне его выпадашки надо вписать атрибут "+d1", а в корне игры создать папку Log. После перезапуска сценария указатель создаст в этой папке лог с названием "S65_Indicator TD_'имя'.txt". Если возникли проблемы с матрицей на светофоре, то надо активировать режим ведения логов в самом светофоре. Матрицы оборудованы достаточно серьезной системой вылавливания ошибок настройки, поэтому, если что-то пошло не так, лог в большинстве случаев укажет на конкретную причину.

Устаревший способ работы с матричными указателями.
В версиях сигналки до 240319.0.10.1b включительно применялся способ, когда выводимый символ вписывался в окошко char выпадашки светофора. Для обеспечения обратной совместимости этот способ оставлен. Если имеется светофор с односимвольным указателем, с вписанными в выпадашке символами, то, если следующий за ним светофор не прислал информации о пути, будет использован символ из выпадашки. В этом случае светофору надо назначить паттерн, с первыми буквами "la", поскольку символ из выпадашки перезаписывается в первое знакоместо. Это работает только с символьными указателями! Если светофор оборудован указателем направления, этот указатель или выведет символ ошибки, или останется погашеным.
Новый способ обозначения путей имеет приоритет перед старым, поэтому, если путь обозначен по-новому, символы в окнах char выпадашки можно не вычищать.

Связанные статьи:
Светофорная сигнализация С65 (DSB240319). Предисловие.
Светофорная сигнализация С65 (DSB240319). Часть 1. Опять "ТАВ"?
Светофорная сигнализация С65 (DSB240319). Часть 2. МРС.
Светофорная сигнализация С65 (DSB240319). Часть 3. АЛСН.
Светофорная сигнализация С65 (DSB240319). Часть 4. Светофоры 1.
Светофорная сигнализация С65 (DSB240319). Часть 5. Светофоры 2.
Светофорная сигнализация С65 (DSB240319). Часть 6. Изостыки.
Светофорная сигнализация С65 (DSB240319). Часть 7. АЛСН (приемный блок).
Светофорная сигнализация С65 (DSB240319). Часть 8. Маркеры SOM.
Светофорная сигнализация С65 (DSB240319). Часть 9. Маркеры MRSD.
Светофорная сигнализация С65 (DSB240319). Часть 10. Маркеры DS.
Последний раз редактировалось Света 20.09.2020, 12:49, всего редактировалось 3 раз(а).

Никогда не опускай руки, ведь впереди тебя ждет еще так много поводов опустить руки, а ты уже опустил руки.
2 комментариев 147950 просмотров
Комментарии

Re: Светофорная сигнализация С65 (DSB240319). Часть 11. Матрицы.

Постоянная ссылка BooYa 20.05.2020, 14:10

Как я понимаю, "before" - это для групповых светофоров, и будет разжёвано в мануале про групповые, что и куда писать?
Аватара пользователя
BooYa
 
Сообщения: 3225
Зарегистрирован: 24.01.2010, 16:30
Откуда: Екатеринбург
Играю в: Train Simulator 2018
Роль: Разработчик
Имя: Андрей
Блог: Просмотр блога (0)

Re: Светофорная сигнализация С65 (DSB240319). Часть 11. Матрицы.

Постоянная ссылка Света 20.05.2020, 14:36

В том числе для групповых (да и затачивалось это под них), но эти же механики работают и для "обычных" светофоров. Например, в том случае, что мы обсуждали, когда стрелочная улица очень длинная/сложная, а УН надо установить между стрелками, то проще читать обозначение из светофора, который за этой улицей, а в этом случае будет работать "before".
Что касается групповых - да, по ним будет свой мануал. По самим светофорам и их обвязке.
Никогда не опускай руки, ведь впереди тебя ждет еще так много поводов опустить руки, а ты уже опустил руки.
Аватара пользователя
Света
 
Сообщения: 838
Зарегистрирован: 18.06.2016, 19:38
Играю в: Train Simulator 2018
Роль: Разработчик
Имя: Пандора
Блог: Просмотр блога (21)

Кто сейчас на конференции

Зарегистрированные пользователи: Bing [Bot], DmitryKz, sin, Yandex [Bot]