Страница 30 из 52

Русская сигнализация для Railworks

СообщениеДобавлено: 18.03.2013, 09:27
i2GR
Версия 0.7a2 от 14.03.2017 (альфа под тест альфы ЧС2)
rwp с тестовым маршрутом
zip только пак

Zip-Архив надо скачать (на g.диске будет пиктограмма сверху страницы). и распаковать в ".../railworks/Assets/RailroadSim/RailSignals/", предварительно все оттуда удалив.

Мануал
(в паке, естественно, также присутствует в папке Manuals/RailroadSim, файл RSv07)
Изображение

Изменения по сравнению с версией 0.6
Исправления обнаруженных ошибок.
Изменения структуры сообщений по сравнению с Rail Signals v0.6 для реализации локомотивной сигнализации
Изменение назначения полей Approach Control, (Limited Yellow ни на что не влияет) с корректировкой скриптов.
Новые маркеры Rail Signals Marker Shift с двумя и тремя линками.

Обратная связь
I. При проблемах в работе сигнализации просьба свои вопросы адресовать с приложением скриншотов и видео.
II. В большинстве же случаев, связанных с процессом работы лучше сразу делиться картой и сценарием, чтобы можно было воспроизвести глюк и быстро понять, что происходит и как исправить.

Пара полезных ссылок для начинающих и не только
О системе нумерации светофоров
ИСИ
РУ-30-80 (вещь старая, но полезная, показывающая насколько мы далеки от идеала)
Дополнение к РУ-30-80
Перевод 3.01 Signal Setup And Scripting

Re: Русская сигнализация для Railworks

СообщениеДобавлено: 12.08.2016, 22:13
i2GR
Moss®
сделал отдельный архив папки Elements с конфигами без световых эффектов совсем. Ссылка в шапке

Света
передавать изначально избыточный пакет данных

Резонно. Но теоретически можно передать информацию, что отключать, а что нет, один раз при инициализации.

Плюс сам визуализатор будет брать на себя часть системных ресурсов.

Резонно. Но Core i7 в помощь. >:D

универсальный скрипт

Для многолинковых светофоров он практически универсальный и сейчас.

Меня б конечно больше устроил вариант в редакторе, который Sanek_KRSK озвучивал. Просто и удобно. Чем такой огород городить.

Re: Русская сигнализация для Railworks

СообщениеДобавлено: 12.08.2016, 22:17
Moss®
Игорь, спасибо за Elements_No_Lights. Теперь всё отлично!
Переход с 0.5 на 0.6 теперь без бутылок. Проверил RWtools-ом.

Re: Русская сигнализация для Railworks

СообщениеДобавлено: 12.08.2016, 23:10
Света
i2GR писал(а):теоретически можно передать информацию, что отключать, а что нет, один раз при инициализации.
Как вариант, да. Но тогда автоматически добавляются условия-проверки на каждую опцию. Это заменит шило на мыло. Ну, хотя, некоторую экономию выиграть на этом можно.

Для многолинковых светофоров он практически универсальный и сейчас
Внутри одной группы? Для группы однотипных светофоров да. А я имею ввиду скрипт, который должен охватить абсолютно все аспекты. И подходить к любому случайно выбранному светофору.

Re: Русская сигнализация для Railworks

СообщениеДобавлено: 13.08.2016, 00:17
Moss®
Что-то после перехода с 0.5 на 0.6 все маневровые перестали реагировать на TAB. Жму TAB - вообще ничего не происходит, нет даже сообщения (ЗАПРЕЩЕНО или РАЗРЕШЕНО). Пробовал переставить на новые, например мачтовые К-Б на карликовые К-Б. Такая же ситуация. Они оживают теперь только, если за ними стрелку передёрнуть (в сценарии свободной поездки). А в сценариях стандартных вообще без эмоций, стоят как терминаторы с красными глазами.
Что-то я расстроился. Возвращаюсь пока обратно на 0.5 :(

Re: Русская сигнализация для Railworks

СообщениеДобавлено: 13.08.2016, 09:35
Red_Bull
Да,я тоже с такой проблемой столкнулся,а переходить на 0,5 версию ,я её удалил,и rwp файла установки не осталось,жаль :beak: !

Re: Русская сигнализация для Railworks

СообщениеДобавлено: 13.08.2016, 09:47
Linx
вы ответа автора подождите, чем метания организовывать, елы-палы

Re: Русская сигнализация для Railworks

СообщениеДобавлено: 13.08.2016, 12:40
i2GR
А я уже писал.
Это известное необъяснимое явление.
Суть в том, что от лока как будто не приходит запрос на открытие. Из двух соседних светофоров с одним и тем же скриптом один по ТАВу откроется, второй - нет. При этом "проблемный" прекрасно откроются от маркера.

Иногда лечится удалением в ноль сигналки физически с диска, неоднократной чисткой кэша до и после запуска карты с бутылками и последующей установкой сигналки обратно. Точную последовательность выявить не удалось. Одновременно на одной карте может вылечиться а на другой нет. Из чего и напрашивается вывод, что причина связана с состоянием карты.

Re: Русская сигнализация для Railworks

СообщениеДобавлено: 13.08.2016, 14:06
Света
i2GR писал(а):от лока как будто не приходит запрос на открытие.
Это ведь легко проверить.

Вообще такое поведение очень смахивает на ошибку в порядке обработки подпрограмм (функций). Если есть понимающие схемотехнику цифровых схем, то как аналогию, можно вспомнить "гонки импульсов". Когда схемотехнически безупречный прибор сбоит из-за того, что на один логический вход импульс приходит на пару нсек раньше/позже, чем на другой.
Скорее всего, в момент срабатывания функции OnSignalMessage (либо DetermineSignalState или её аналога) до того, как она полностью отработает, извне происходит более приоритетный вызов, модифицирующий общие данные.
i2GR писал(а):Одновременно на одной карте может вылечиться а на другой нет. Из чего и напрашивается вывод, что причина связана с состоянием карты.
Лишнее подтверждение моему предположению. Архитектура связей маршрута в первую очередь будет влиять на порядок обработки вызовов, имеющих одинаковый приоритет.

Как с этим бороться? Уменьшать глубину вложенных вызовов, максимально сокращать время выполнения всех базовых функций, выносить неосновные условия и вызовы в отдельные пользовательские функции с низким приоритетом, упрощать протокол обмена с другими скриптовыми объектами, блокировать отправку избыточных сообщений.

Re: Русская сигнализация для Railworks

СообщениеДобавлено: 13.08.2016, 14:42
Skif
Добавлю: написать собственный обработчик прерываний и не вызывать обработку в строгом порядке.

У меня скрипт локомотива написан по похожему "схемотехническому" принципу работы - так как и сам я по образованию инженер-программист МК. В итоге мне пришлось отказаться полностью от функции OCVC - точнее, использовать ее только для анимации рычагов в кабине. Зато схема работает у локомотива безупречно, без костылей для вырубания кучи цепочек, когда снимается питание аккумуляторной батареи.

В общем, стоит прошерстить скрипт на предмет функций, которые теоретически могут полезть в обработку, пока не завершена обработка предыдущей. А это запросто, если одновременно выполняется несколько процессов. В таком случае, в приоритетных процессах нужно сделать проверку окончания выполнения через флаг - и использовать его при обработке прерываний от других процессов. У меня такая фигня с начальной инициализацией локомотива при старте была - пока не вынес всю инициализацию из Setup в отдельную функцию, однократно вызываемую при старте скрипта.
Это, кстати, и к вопросу о том, как вырубить дизель при старте тепловоза. У моей машины, когда она холодная, дизель не работает не то, что при посадке в кабину - а уже в редакторе карты или сценария.

Re: Русская сигнализация для Railworks

СообщениеДобавлено: 13.08.2016, 15:43
i2GR
ну ОК.
Осталось только сделать нелегкий выбор: работа сигналки а-ля дефолт или худо-бедно все фишки которые есть сейчас

ЗЫ Причем тут прерывания, OCVC, и прочие Setup-ы, если не срабатывает даже из дефолтных пластиковых локов?

Re: Русская сигнализация для Railworks

СообщениеДобавлено: 13.08.2016, 17:14
Света
i2GR
Зачем так кардинально? В дефолте достаточно ошибок, которые так же провоцируют баги. К примеру, поверхностный обзор сигналки от Thomson показывает, что сообщение "REQUEST_TO_SPAD", вместо того, чтобы обработаться первым на его пути светофором (чего вполне достаточно), в некоторых случаях спокойно пересылается дальше, заставляя другие светофоры на него реагировать. Как следствие, вместо одного сообщения вперед по маршруту, возникает целая симфония сообщений разного содержания и направления, так как прореагировавший светофор запускает свои сообщения, которые заставляют реагировать следующие светофоры...
Я могу привести достаточно много примеров локомотивных скриптов, которые убивали производительность. Или раскидывали сообщения пачками направо и налево, хотя в этом не было никакой необходимости.
Всего только один пример.
В одном DMU каждый кадр (!) отсылалось сообщение, содержащее состояние дверей - открыто или закрыто. Следующий вагон, получив это сообщение, также отсылал в обе стороны (!) состояние своих дверей и плюс к тому пересылал это сообщение и дальше, и назад (!). В результате каждый вагон постоянно отправлял свои данные, получал чужие - отправлял и их, получал назад свои, пересылал по-новой свои, и получался такой себе "фон" сообщений, когда процессору просто не оставалось возможности работать с другими задачами, так как он обслуживал это закольцованное домино.
Самое обидное, что даже такая система не позволяла правильно реагировать первому вагону на открытые двери, если его остановить за пределами платформы. Система давала сбой.
В исправленном виде локомотив во время стоянки раз в секунду отправляет запрос в хвост состава. Этот запрос проходит до последнего вагона и больше никуда не пересылается. Все вагоны, получив этот запрос, шлют в ответ в противоположном направлении отчет о состоянии дверей. Всего один ответ.
Как следствие, у 8-вагонного состава раз в секунду рассылается 9 сообщений пока он стоит - в отличие от нескольких сот сообщений в секунду постоянно + ретрансляции.

После этого я никак не могу рассматривать дефолт и лежащие рядом поделки как эталон. Неужели у кого-то ещё осталось мнение, что дефолт - это правильно и надежно?

Причем тут прерывания, OCVC, и прочие Setup-ы, если не срабатывает даже из дефолтных пластиковых локов?
При том, что не имеет значение, какой локомотив отправил сообщение, важно, какую цепь процессов это сообщение проинициировало.
Осталось только сделать нелегкий выбор: работа сигналки а-ля дефолт или худо-бедно все фишки которые есть сейчас
Я выбираю исправленный дефолт с фишками, которые есть сейчас :blush:

Re: Русская сигнализация для Railworks

СообщениеДобавлено: 13.08.2016, 18:41
Sanek_KRSK
Короче как я понял, все с сигналкой плохо, но есть небольшая надежда.)) Скорее-бы уже новый движок появился.

Re: Русская сигнализация для Railworks

СообщениеДобавлено: 14.08.2016, 09:01
Andrej174
Привет Игорь сможешь помочь по сигналке?

Re: Русская сигнализация для Railworks

СообщениеДобавлено: 16.08.2016, 21:29
Andrej174
У каго нибудь работает сигналка?у меня только белые загорается жмёшь хотьодин раз на таб хоть два раза и не что не меняется что такое с ней стала(

Re: Русская сигнализация для Railworks

СообщениеДобавлено: 17.08.2016, 09:25
le Sandro
Где не работает? на каком роуте? какая версия сигналки?
Задаете вопрос, давайте больше инфы. Тут телепатов нет.