PDA

Просмотр полной версии : Унифицированная система АЛСН



Эрендир
10.07.2014, 16:37
Унифицированная система АЛСН представляет собой скриптовую библиотеку с набором скриптов необходимых для реализации единого способа получения кодов показания светофоров, абстрагированного от типа сигналки

В комплект входят:

класс-интерфейс для реализации в сигналке
класс-интерфейс для создания РЦ
класс движка АЛСН для применения на подвижном составе


Движок АЛСН поддерживает:

Частоты кодирования сигнала в РЦ
Кодирование/не кодирование съездов
Вывод КЖ+Б (для УКБМ)


В будущем планируется так же добавить движок КЛУБ

Следующие системы сигнализации реализуют универсальный провайдер АЛСН:

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, 22:38
вопрос глупый, но резонный, ибо я по скриптам пока, что тындымский конь:mocking:. как правильно привязать систему АЛСН к локомотиву, подробнее возможно? :blush2:

Эрендир
12.07.2014, 09:29
MasterPM724ltjt103, эта тема для тех, кто в курсе как привязать. Всё написано в pdf файле.

Эрендир
28.12.2014, 13:48
Вышло небольшое обновление библиотеки (Hotfix 1). Подробности в шапке темы

SHEP Rom
28.12.2014, 22:30
Давайте вместе стремиться к унификации в ТРС.
Идея правильная и замечательная. Но данная система к унификации мало относится, так как дефолт она не понимает никак. А он был, есть и будет..., хочет этого кто-то или нет. Закрывать на него глаза, я считаю глупостью (понимая при этом, что это кусок дополнительной работы). имхо, когда где.

TRam_
28.12.2014, 23:05
SHEP Rom, как дефолт относится к кодируемости путей?

SHEP Rom
28.12.2014, 23:25
как дефолт относится к кодируемости путей?
Как показания Ж, К, и З, если не ухвачено ничего иного из скриптованого в этой системе, т.е. тупо показания сигналов. То же и с локомотивным.
Если на карте есть что-то большее, да ради Бога ...

TRam_
29.12.2014, 00:48
Как показания Ж, К, и З, если не ухвачено ничего иного из скриптованого в этой системе, т.е. тупо показания сигналовтупо показания сигналов есть на светофоре. И есть старый HUD который предназначен для повторения этих показаний. А новый предназначен именно для указания кодирования.

kemal
06.01.2016, 19:14
Пока разбирались со станцией стыкования, возник вопрос какой частотой кодировать "общую" часть. Гугл подсказал, что возможно применение двухчастотного кодирования. В спецификации сказано, что частоты кодирования - битовые флаги, но применение их одновременно запрещено. Может снять это ограничение?

Эрендир
06.01.2016, 19:39
Две частоты одновременно разве могут быть? Если и есть, то скорее всего вместе с током переключаются. А так, вроде бы везде 25 должно быть.

kemal
06.01.2016, 19:58
Почему бы и нет? В тональных РЦ и поболее всего будет.
Переключать вместе с родом тока в КС можно, конечно... Но для этого же целую маршрутизацию писать надо. А двухчастотники - вполне себе хороший компромисс.
25 везде - тоже, конечно, можно. Но как тогда на постоянниках ездить?

Serega_82
06.01.2016, 20:05
kemal, частота меняется с родом тока. Для двухсистемников и тепловозов-существуют места перевода с частоты на частоту (обычно в начале пути, для контроля светофора впереди). По крайней мере по Рязани-2, так сделано.

MasterPM724ltjt103
06.01.2016, 20:13
исходя из этого, возможно ли как-то эмулировать смену рода тока на определённой станции в контактной сети по участкам станции или в рамках определённого маршрута через пульт диспетчеризации и заставить меняться от этого кодировку АЛС для локомотива, а так же попутно заставить в определённом маршруте диспетчеризации маршрутный указатель показывать букву Э в зависимости от рода тока в КС если эта эмуляция возможна?

Эрендир
06.01.2016, 20:24
MasterPM724ltjt103, это вопрос не для этой темы.


kemal, можешь попробовать поставить оба флага на тестовом объекте. Вроде бы, моя реализация АЛСН такое проглотит. Но за другие реализации это сказать невозможно. С другой стороны, вообще маловероятно что другие реализации будут.

Рома
19.01.2016, 18:35
Эрендир, а расстояние до светофора этот движок не ищет?

Эрендир
20.01.2016, 06:25
Рома, нет, поскольку это движок АЛСН, а не клуб, он не ищёт расстояние. Но если очень нужно, то, в принципе, могу добавить возможность извлекать расстояние.

Рома
20.01.2016, 10:02
Но если очень нужно, то, в принципе, могу добавить возможность извлекать расстояние.
Было бы очень неплохо, т.к. имена станций и светофоров можно получить, а расстояние нет

Mastercar2011
09.06.2016, 13:03
Рома, нет, поскольку это движок АЛСН, а не клуб, он не ищёт расстояние. Но если очень нужно, то, в принципе, могу добавить возможность извлекать расстояние.
Обновление в данном направление не было?

Эрендир
09.06.2016, 18:05
Mastercar2011, не было

TRam_
24.07.2016, 15:27
По поводу работы движка АЛСН - возможно ли, чтобы для проследования стрелок учитывалась галочка выходного светофора который "по направлению движения", а не "тылом". В случае входных ситуация обратная - учитываются галочка ближайшего (или прямого или обратного) входного.

Эрендир
24.07.2016, 15:50
TRam_, если честно, то ничего не понял, особенно про выход. При входном маршруте учитывается выходной, который лицом.

Vaultmann
16.03.2017, 14:16
Эрендир, заметил один момент - при движении по некодированному участку, после проезда светофора с красным огнем, АЛСН перескакивает с белого на красный.

Эрендир
16.03.2017, 16:25
Vaultmann, какая версия библиотеки?

Vaultmann
16.03.2017, 18:05
Обновил с ДЛС - проблема ушла... Спасибо!

FormenTRZ
17.03.2017, 15:51
Но если очень нужно, то, в принципе, могу добавить возможность извлекать расстояние.
Было бы очень неплохо, т.к. имена станций и светофоров можно получить, а расстояние нет

Эрендир, а когда можно ожидать модифицированный АЛСН КЛУБ, а то приходится держать на лобовом стекле 2 вида провайдеров.

Эрендир
17.03.2017, 16:48
а когда можно ожидать модифицированный АЛСН КЛУБ, а то приходится держать на лобовом стекле 2 вида провайдеров.
Не уверен, что верно понял вопрос.

FormenTRZ
17.03.2017, 17:06
Эрендир,
Цитата Сообщение от Эрендир Посмотреть сообщение
Рома, нет, поскольку это движок АЛСН, а не клуб, он не ищёт расстояние. Но если очень нужно, то, в принципе, могу добавить возможность извлекать расстояние.
Обновление в данном направление не было?

Имел ввиду вот этот вопрос.
Можно ли реализовать в АЛСН строки с сообщением расстояния до стрелки и названия станции

Эрендир
17.03.2017, 17:20
FormenTRZ, не думаю, что я буду подобное встраивать в движок АЛСН. Ему это не нужно. Вот когда дойдут руки до САУТ или КЛУБ. Но когда это будет, я не могу сказать. К сожалению, Дима Zima ничего такого не моделит.

B.U.G.O.R.
13.12.2017, 17:22
Есть ли какая-то единая инструкция для привязки данного скрипта "для чайников"? Пытаюсь тут победить это, но пока как-то совсем нихрена не понятно.

---------- Сообщение добавлено в 18:22 ---------- Предыдущее сообщение размещено в 15:01 ----------

Скрипт alsn.gs принимает участие в этом? Или тут только внутренности основного скрипта нужны?

Pineapplez
13.12.2017, 17:27
B.U.G.O.R., попробуй посмотреть как это устроено у локомотивов, которые уже используют этот скрипт.

B.U.G.O.R.
13.12.2017, 20: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();

Вот такой формат объявления переменной может только в определенных контейнерах быть?

kemal
13.12.2017, 20:20
Не club, а CLUB (gs чувствителен к регистру).
Не скрипт, а экземпляр класса. Посмотри выше, где эта переменная объявляется. Соответственно, как её назовёшь, такой она и будет.

B.U.G.O.R.
13.12.2017, 20:25
ЧУВАКИ, Я ЭТО СДЕЛАЛ! Теперь ВЛ10к будет с этим скриптом АЛСН! Карочи, я хочу попробовать дальше поразбираться в этих скриптах, попробовать сделать из ВЛ10к конфетку, ну а потом выложу.

B.U.G.O.R.
14.12.2017, 22:40
Реализация АЛС-ЕН не сделана? Как я смог понять из оного.

Рома
15.12.2017, 07:47
B.U.G.O.R., Сделана. АЛСН может передавать количество свободных БУ впереди.

TRam_
15.12.2017, 10:47
Но нужно в светофорах её галочку ставить, вроде.



New