В данном блоге я подробно расскажу, как буду пытаться реализовать БИЛ-В и БИЛ-ПОМ для системы КЛУБ-У.
При создании русской сигнализации, мы тестируем передачу от светофора передачу сообщения с 4 параметрами.
Остальные параметры прийдётся снимать с пути, с локомотива, а также надо найти некоторые функции, незивестные обычным пользователям, но используемые в RW активно.
Что же необходимо для БИЛ-В?
1) Необходимы показания АЛСН, т.е. АЛСН БИЛ-В очень похож на привычный АЛСН, установленные давно ещё в локомотивы: Б, К , КЖ, Ж, и ноу-хау 1-ый, 2-ой, 3-ий, 4-ый З, что означает впереди свободно 1, 2, 3 или 4 блок-участка соответственно.
РЕАЛИЗАЦИЯ: в сообщение от светофора это будет идти как 1-й параметр.
2) Индикатор движения прямо или по отклонению. Это оповещение задаётся в коде параметра АЛСН (см. предыдущий пункт).
РЕАЛИЗАЦИЯ: Необходимые данные будут получаться из 1-о параметра описанного в п. 1.
3) Текущая скорость состава.
РЕАЛИЗАЦИЯ: Получение текущей скорости легкореализуемая задача.
4) Максимальная скорость состава.
РЕАЛИЗАЦИЯ: Будем получать как 2-ой параметр с светофора (GetTrackSpeedLimit).
5) Расстояние до цели (в м). Это информационное сообщение будет служить нам для получения расстояния в метрах до ближайшего светофора, если участок будет без сигнализации, то окно будет пустым.
РЕАЛИЗАЦИЯ: Будем получать как 3-ий параметр со светофора.
6) В информационной строке будут показываться режимы (при работе с кнопками К+<числовая комбинация>) и в остальное время будет светится надпись "светофор", сигнализирующая о ближайшем светофоре ( прошлый пункт расстояние до него).
РЕАЛИЗАЦИЯ: Реализация строки "светофор", не составляет особых проблем, а вот индикация разных режимов работы - тут прийдётся попотеть
7) В это же информационной строке при индикации надписи "светофор" чуть правее (в самом конце строки) будет выводиться его символьный идентификатор ( со сменной номерной таблички).
РЕАЛИЗАЦИЯ: Будем получать как 4-ый параметр со светофора.
Ну вот выше в нескольких пунктах описал все 4 параметра получаемые со светофора и для чего нужен каждый.
8) АЛС - частота несущей канала, используемая в данной системе, частот несколько для АЛСН: 25, 50 и 75 Гц. АЛС-ЕН: 175 Гц. Мы будем использовать АЛСН, 50 Гц, так в данный момент невозможно например определять какой у нас участок электрифицированный или нет, на переменном или постоянном токе. Так что по default будет 50 Гц
9) Ускорение.
РЕАЛИЗАЦИЯ: по имеющимся снимаемых параметрам с локомотива ускорение возможно высчитывать каждую секунду и выводить на БИЛ-В.
10) Коэффициент торможения.
РЕАЛИЗАЦИЯ: по имеющимся снимаемых параметрам с локомотива коэффициент торможения возможно высчитывать каждый фрейм и выводить на БИЛ-В.
11) Давление в тормозной магистрали.
РЕАЛИЗАЦИЯ: В движке заложена переменная, хранящее текущее значение давления в ТМ, легкореализуемая задача.
12) Давление в уравнительной магистрали.
РЕАЛИЗАЦИЯ: В движке заложена переменная, хранящее текущее значение давления в УР, легкореализуемая задача.
13) Индикатор "Внимание", можно привязать к предупреждающим сигналам, для информирования машиниста.
14) Индикатор "Запрет отпуска тормозов". Он индицируется совместно с САУТ, реализация данной функции под вопросом.
15) Движение вперёд/назад. Легкореализуемая функция.
Теперь приведу список в данный момент функций нереализуемых (из-за неимения соответствующих функций и переменных в открытом доступе, где хранятся необходимые данные):
16) Координата. В жизни при наличии ЭК (электронных карт), по сути задаётся координата для старта и по GPS навигации меняются координаты, причём когда едем вперёд координаты +1, назад -1, т.е. по сути задаётся стартовая точка отсчёта, в режиме без ЭК по сути МОЖЕТ представлять из себя счётчик километража, что в принципе неплохая вещь и вот эту функцию в отличие от координат нам бы пригодилась.
Только извлечь её непросто без помощи потрошителей библиотек RW, а в принципе она имеется, вот это тому прямое доказательство:
Попробуйте зайдите в сценарий поиграйте, и выйдите из сценария, будет указан в итоговой статистике километраж и он будет выдаваться, хоть Вы проехали 100 км, хоть 100 м. Найдена функция, которая которая выводит подсчёт пройденных м по трассе. UPD: Решние по данному вопросу найдено, осталось только протестировать!
17) Ближайшая станция. Под ближайшей станцией подразумевается та точка пути, маркер которой имеет зелёный, жёлтый или оранжевый цвет. Это значение тоже хранится в переменной, ибо когда едем по какой-нибудь карте, то идёт считывание значение с label ближайшего маркера указанных выше цветов.
Можно попробовать найти, если не найдём, эта вещь НЕРЕАЛИЗУЕМА.
18) Текущее время. Тоже имеется переменная для хранения текущего времени, которое устанавливается в сценарии. Найдена функция, правда неизвестно имеются ли аргументы, суть её в том, что она позволяет показывать количество минут прошедших от полуночи, именно она связана с выводом времени на панели, вызываемой по F4. UPD: Решние по данному вопросу найдено, осталось только протестировать!
19) Время по графику. При сценарии на пассажирские перевозки по сценарию, обычно имеется время по графику до n-ой точки, тоже хранится в переменной, если найдём то реализуем, если нет, то эта вещь НЕРЕАЛИЗУЕМА.
По 17-19 пунктам:
Думаю стоит попробовать найти эти переменные, они скорее всего вспомогательные и не закрытые, только бы найти и считать с них значения.
Теперь опишу пункты, которые под вопросом, но тут зависит от реализации:
20) П и М - поездной и маневровые режимы. Как их переключать? Пока вопрос, в синалке чётко даже не разграничить эти режимы, поэтому это под вопросом.
21) № пути. Тоже под вопросом, хотя есть "кривая" возможность реализации данной функции.
22) k20 - движение под запрещающий со скоростью не более 20 км/ч с готовностью остановиться, если возникнет препятствие или по команде ДСП. Это по сути К+пригласительный, только необязательно этот режим вызывать при входном, должно работать при светофоре любого типа. UPD: Решение по данному вопросу найдено!
23) Подтяг - разрешение движения поезда со скоростью не более 30 км/ч к координате, находящейся на расстоянии 560 м от прицельного торможения. UPD: Решение по данному вопросу найдено!
24) Отпр - безостановочный проезд поезда по боковому пути при белом огне АЛСН со скоростью не более 50 км/ч - UPD: Решение по данному вопросу найдено!
25) ОС - отмена ограничения скорости. Это вообще не представляю реализацию.
26) РМП- режим маневровый/поездной, активность этой кнопки будет зависеть от того, сможем ли реализовать п. 20. Позволят ли возможности сигналки создать 2 этих режима, скорее всего нет и сделаю как простую безделушку для переключения.
27) F - переключение несущей частоты АЛСН, решил сделать 50 Гц постоянным, думаю кнопку сделаю не активной.
28) ВК - выключение красного на БИЛ-В. Реализация без проблем.
Все остальные вещи: 4 кнопки (П, И, К, Л без проблем с ограниченной функциональностью можно организовать, впрочем как цифровой ввод 0-9 и 4 кнопки работы с введёнными значениями).
Так что половина под вопросом, остальное более или менее решаемо без геморроя, по сути функционал будет 50%, если не удасться найти вещи указанные во второй части списка.
Всем спасибо за внимание