Просмотр полной версии : Унифицированная система АЛСН
Унифицированная система АЛСН представляет собой скриптовую библиотеку с набором скриптов необходимых для реализации единого способа получения кодов показания светофоров, абстрагированного от типа сигналки
В комплект входят:
класс-интерфейс для реализации в сигналке
класс-интерфейс для создания РЦ
класс движка АЛСН для применения на подвижном составе
Движок АЛСН поддерживает:
Частоты кодирования сигнала в РЦ
Кодирование/не кодирование съездов
Вывод КЖ+Б (для УКБМ)
В будущем планируется так же добавить движок КЛУБ
Следующие системы сигнализации реализуют универсальный провайдер АЛСН:
z7 (https://trainzup.com/?p=4699) (обновление с DLS)
sU (https://forum.trainzup.net/showthread.php?t=2115) (последняя версия)
Следующие локомотивы используют универсальный провайдер:
2ТЭ121 (https://forum.trainzup.net/showthread.php?t=3282) (требуется обновление с ДЛС)
Серия ДМ62 (https://forum.trainzup.net/showthread.php?t=3282) (требуется обновление с ДЛС)
Ссылки:
Библиотека скриптов: :click-me: (https://yadi.sk/d/0_pZ88azWLxLk)
Описание классов: :click-me: (http://yadi.sk/d/XmYZE6oiGYouS)
К библиотеке прилагается АЛСН HUD
HotFix 1 (28 декабря 2014)
Добавлено затухание сигнала на расстоянии 5 км от сигнальной точки
Добавлены помехи на расстоянии близком к расстоянию затухания
Исправлена ошибка из-за которой при включённой опции "Любая частота" сигнал принимался даже при отсутствии кодирования
Теперь худ отображается после загрузки сохранённой сессии
Худ больше не показывает сигнал, если кодирование отключено
В худе наименование типа сигнальной точки заменено на указание частоты кодирования
Давайте вместе стремиться к унификации в ТРС.
MasterPM724ltjt103
11.07.2014, 23:38
вопрос глупый, но резонный, ибо я по скриптам пока, что тындымский конь:mocking:. как правильно привязать систему АЛСН к локомотиву, подробнее возможно? :blush2:
MasterPM724ltjt103, эта тема для тех, кто в курсе как привязать. Всё написано в pdf файле.
Вышло небольшое обновление библиотеки (Hotfix 1). Подробности в шапке темы
SHEP Rom
28.12.2014, 23:30
Давайте вместе стремиться к унификации в ТРС.
Идея правильная и замечательная. Но данная система к унификации мало относится, так как дефолт она не понимает никак. А он был, есть и будет..., хочет этого кто-то или нет. Закрывать на него глаза, я считаю глупостью (понимая при этом, что это кусок дополнительной работы). имхо, когда где.
SHEP Rom, как дефолт относится к кодируемости путей?
SHEP Rom
29.12.2014, 00:25
как дефолт относится к кодируемости путей?
Как показания Ж, К, и З, если не ухвачено ничего иного из скриптованого в этой системе, т.е. тупо показания сигналов. То же и с локомотивным.
Если на карте есть что-то большее, да ради Бога ...
Как показания Ж, К, и З, если не ухвачено ничего иного из скриптованого в этой системе, т.е. тупо показания сигналовтупо показания сигналов есть на светофоре. И есть старый HUD который предназначен для повторения этих показаний. А новый предназначен именно для указания кодирования.
Пока разбирались со станцией стыкования, возник вопрос какой частотой кодировать "общую" часть. Гугл подсказал, что возможно применение двухчастотного кодирования. В спецификации сказано, что частоты кодирования - битовые флаги, но применение их одновременно запрещено. Может снять это ограничение?
Две частоты одновременно разве могут быть? Если и есть, то скорее всего вместе с током переключаются. А так, вроде бы везде 25 должно быть.
Почему бы и нет? В тональных РЦ и поболее всего будет.
Переключать вместе с родом тока в КС можно, конечно... Но для этого же целую маршрутизацию писать надо. А двухчастотники - вполне себе хороший компромисс.
25 везде - тоже, конечно, можно. Но как тогда на постоянниках ездить?
Serega_82
06.01.2016, 21:05
kemal, частота меняется с родом тока. Для двухсистемников и тепловозов-существуют места перевода с частоты на частоту (обычно в начале пути, для контроля светофора впереди). По крайней мере по Рязани-2, так сделано.
MasterPM724ltjt103
06.01.2016, 21:13
исходя из этого, возможно ли как-то эмулировать смену рода тока на определённой станции в контактной сети по участкам станции или в рамках определённого маршрута через пульт диспетчеризации и заставить меняться от этого кодировку АЛС для локомотива, а так же попутно заставить в определённом маршруте диспетчеризации маршрутный указатель показывать букву Э в зависимости от рода тока в КС если эта эмуляция возможна?
MasterPM724ltjt103, это вопрос не для этой темы.
kemal, можешь попробовать поставить оба флага на тестовом объекте. Вроде бы, моя реализация АЛСН такое проглотит. Но за другие реализации это сказать невозможно. С другой стороны, вообще маловероятно что другие реализации будут.
Эрендир, а расстояние до светофора этот движок не ищет?
Рома, нет, поскольку это движок АЛСН, а не клуб, он не ищёт расстояние. Но если очень нужно, то, в принципе, могу добавить возможность извлекать расстояние.
Но если очень нужно, то, в принципе, могу добавить возможность извлекать расстояние.
Было бы очень неплохо, т.к. имена станций и светофоров можно получить, а расстояние нет
Mastercar2011
09.06.2016, 14:03
Рома, нет, поскольку это движок АЛСН, а не клуб, он не ищёт расстояние. Но если очень нужно, то, в принципе, могу добавить возможность извлекать расстояние.
Обновление в данном направление не было?
По поводу работы движка АЛСН - возможно ли, чтобы для проследования стрелок учитывалась галочка выходного светофора который "по направлению движения", а не "тылом". В случае входных ситуация обратная - учитываются галочка ближайшего (или прямого или обратного) входного.
TRam_, если честно, то ничего не понял, особенно про выход. При входном маршруте учитывается выходной, который лицом.
Vaultmann
16.03.2017, 15:16
Эрендир, заметил один момент - при движении по некодированному участку, после проезда светофора с красным огнем, АЛСН перескакивает с белого на красный.
Vaultmann, какая версия библиотеки?
Vaultmann
16.03.2017, 19:05
Обновил с ДЛС - проблема ушла... Спасибо!
FormenTRZ
17.03.2017, 16:51
Но если очень нужно, то, в принципе, могу добавить возможность извлекать расстояние.
Было бы очень неплохо, т.к. имена станций и светофоров можно получить, а расстояние нет
Эрендир, а когда можно ожидать модифицированный АЛСН КЛУБ, а то приходится держать на лобовом стекле 2 вида провайдеров.
а когда можно ожидать модифицированный АЛСН КЛУБ, а то приходится держать на лобовом стекле 2 вида провайдеров.
Не уверен, что верно понял вопрос.
FormenTRZ
17.03.2017, 18:06
Эрендир,
Цитата Сообщение от Эрендир Посмотреть сообщение
Рома, нет, поскольку это движок АЛСН, а не клуб, он не ищёт расстояние. Но если очень нужно, то, в принципе, могу добавить возможность извлекать расстояние.
Обновление в данном направление не было?
Имел ввиду вот этот вопрос.
Можно ли реализовать в АЛСН строки с сообщением расстояния до стрелки и названия станции
FormenTRZ, не думаю, что я буду подобное встраивать в движок АЛСН. Ему это не нужно. Вот когда дойдут руки до САУТ или КЛУБ. Но когда это будет, я не могу сказать. К сожалению, Дима Zima ничего такого не моделит.
B.U.G.O.R.
13.12.2017, 18:22
Есть ли какая-то единая инструкция для привязки данного скрипта "для чайников"? Пытаюсь тут победить это, но пока как-то совсем нихрена не понятно.
---------- Сообщение добавлено в 18:22 ---------- Предыдущее сообщение размещено в 15:01 ----------
Скрипт alsn.gs принимает участие в этом? Или тут только внутренности основного скрипта нужны?
Pineapplez
13.12.2017, 18:27
B.U.G.O.R., попробуй посмотреть как это устроено у локомотивов, которые уже используют этот скрипт.
B.U.G.O.R.
13.12.2017, 21:19
Чувак, я как бы догадался до этого, я уже все тачки перешерстил, которые используют это, но я все равно ничерта не могу въехать. Ну, я тут кой-чего уже понял, но у меня по-прежнему ничего не работает.
---------- Сообщение добавлено в 19:23 ---------- Предыдущее сообщение размещено в 18:40 ----------
Карочи, я сделал сдеюущее:
Написал вот эти строки:
if(is == 16){ALSSig = 4;SetMeshVisible("alsbv_4",1,0.15f);}else{SetMeshVisible("alsbv_4",0,0.15f);}
if(is == 8){ALSSig = 3;SetMeshVisible("alsbv_3",1,0.15f);}else{SetMeshVisible("alsbv_3",0,0.15f);}
if(is == 4){ALSSig = 2;SetMeshVisible("alsbv_2",1,0.15f);}else{SetMeshVisible("alsbv_2",0,0.15f);}
if(is == 2){ALSSig = 1;SetMeshVisible("alsbv_1",1,0.15f);}else{SetMeshVisible("alsbv_1",0,0.15f);}
if(is == 1){ALSSig = 0;SetMeshVisible("alsbv_0",1,0.15f);}else{SetMeshVisible("alsbv_0",0,0.15f);}
}
В место, где прежде были аналогичные.
Далее, логически я понимаю, что надо где-то объявить переменную is. Я это сделал:
int is = alsn.SearchNextSignal();
Плюс, добавил эти строки:
alsn.FrequencyDisabled = true;
В самом начале я включил все эти скрипты:
include "alsn.gs"
include "alsn_engine.gs"
Ставил эти строки:
Locomotive sloco = alsn.GetLocomotive();
alsn.Init(loco, 0);
В public void attach.
Но он жалуется на всякие разные ошибки, при чем изначально он жаловался на
Locomotive sloco = alsn.GetLocomotive();
я ее убил, и теперь он начал жаловаться на строчку, которая ваще была изначальной в скрипте.
Хотя бы направление мне дайте, что делать далее с этим.
---------- Сообщение добавлено в 20:07 ---------- Предыдущее сообщение размещено в 19:23 ----------
Вот эта строка:
int is = alsn.SearchNextSignal();
значит, что я объявляю некую переменную is, которая равна значению SearchNextSignal в скрипте alsn, правильно? Т.е. то, что стоит перед точкой, это отсылка на скрипт, если данная переменная не внутри этого скрипта. Я правильно понял? Но каким образом идет определение по этому названию на нужный скрипт, ведь название самого скрипта не такое? К примеру, в той же кабине ВЛ10к, которую я кручу, изначально условием на зажигание того или сигнала на КЛУБе является запрос переменной, которая задается в скрипте klub_u7.gs, но сам запрос выглядит так:
SetMeshVisible("alsbv_7",KLUB.ALS4Z,0);//З4
Т.е. просто klub. Собственно, как скрипты понимают, что 'club' это именно то, что внутри "klub_u7.gs"?
---------- Сообщение добавлено в 21:19 ---------- Предыдущее сообщение размещено в 20:07 ----------
int is = alsn.SearchNextSignal();
Вот такой формат объявления переменной может только в определенных контейнерах быть?
Не club, а CLUB (gs чувствителен к регистру).
Не скрипт, а экземпляр класса. Посмотри выше, где эта переменная объявляется. Соответственно, как её назовёшь, такой она и будет.
B.U.G.O.R.
13.12.2017, 21:25
ЧУВАКИ, Я ЭТО СДЕЛАЛ! Теперь ВЛ10к будет с этим скриптом АЛСН! Карочи, я хочу попробовать дальше поразбираться в этих скриптах, попробовать сделать из ВЛ10к конфетку, ну а потом выложу.
B.U.G.O.R.
14.12.2017, 23:40
Реализация АЛС-ЕН не сделана? Как я смог понять из оного.
B.U.G.O.R., Сделана. АЛСН может передавать количество свободных БУ впереди.
Но нужно в светофорах её галочку ставить, вроде.
Powered by vBulletin™ Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot