Страница 3 из 11

Re: Калужско-Рижская Линия Московского Метро и 81-717

СообщениеДобавлено: 29.10.2016, 19:44
ista011
Осталось из крупного только прикрутить к стандартным скриптам сигнализации (модели свои) АЛС-АРС (АРС только на составе и с ней там всё хорошо) с автостопами. После чего всякая мелочь останется.

Добавлено спустя 6 часов 27 минут 27 секунд:
Если есть у кого мысли по поводу передачи сигналов со светофоров составу я не буду против их услышать, логику работы АРС я знаю, материалов по ней у меня много.

Re: Калужско-Рижская Линия Московского Метро и 81-717

СообщениеДобавлено: 30.10.2016, 11:40
Skif
Учтено ли, что при приближении к впереди идущему траффику последовательно снижается разрешительная скорость по блок-участкам АРС ?

Re: Калужско-Рижская Линия Московского Метро и 81-717

СообщениеДобавлено: 30.10.2016, 12:59
i2GR
Что передавать то надо?
Далеко не у всех есть инфа по АЛС-АРС

Re: Калужско-Рижская Линия Московского Метро и 81-717

СообщениеДобавлено: 30.10.2016, 14:02
ista011
Да просто сам принцип как это в РВ реализуется. Так же как и по составу? Мне надо передавать два сигнала скорости: текущая разрешенная и следующая. Также надо передать сигнал направления передать, т. е. по правильному ли пути едем.

Re: Калужско-Рижская Линия Московского Метро и 81-717

СообщениеДобавлено: 30.10.2016, 17:23
i2GR
Общий принцип отправки описан в мануалах.
Из OnConsistPass скрипом светофора делается вызов Call("SendConsistMessage", 15, "sometext")
В "sometext" зашифровываются необходимые данные.
В скрипте ПС этот текст попадает в качестве аргумента функции OnCustomSignalMessage(message)

Re: Калужско-Рижская Линия Московского Метро и 81-717

СообщениеДобавлено: 30.10.2016, 18:04
Света
ista011 писал(а):Мне надо передавать два сигнала скорости: текущая разрешенная и следующая. Также надо передать сигнал направления передать, т. е. по правильному ли пути едем.

Если под "текущая разрешенная" подразумевается ограничение на треке, то его не обязательно передавать светофором, достаточно в скрипте локомотива сделать вызов
Код: Выделить всё
Speed = Call("GetCurrentSpeedLimit")

А значение "следующей" светофор не сможет передать (если, конечно, не предпринять кое-какие хитрости или не ввести эти значения в него напрямую). Проще из скрипта локомотива сделать запрос
Код: Выделить всё
Call("GetNextSpeedLimit", 0)

Что касается правильности пути, то я вижу такие варианты:
1. Устанавливать на путь маркеры (четный и нечетный), периодично отсылающие жестко зашитый код, по которому локомотив будет "знать", какой путь;
2. Вводить метку в поле данных светофора. Определение пути будет производиться по сообщениях светофора;
3. Если светофоры имеют нумерацию, то можно использовать информацию о их ID.

Re: Калужско-Рижская Линия Московского Метро и 81-717

СообщениеДобавлено: 30.10.2016, 22:11
i2GR
Speed = Call("GetSpeed") Call("GetCurrentSpeedLimit") :nenay:

Re: Калужско-Рижская Линия Московского Метро и 81-717

СообщениеДобавлено: 30.10.2016, 22:20
ista011
А как напрямую вводить значения в светофор, может ли светофор получить текущее показание? Тогда я могу просто это показание отослать предыдущему светофору и все. Мне же не тупо следующая разрешённая нужна, а с учётом занятости блок-участка.

Re: Калужско-Рижская Линия Московского Метро и 81-717

СообщениеДобавлено: 30.10.2016, 22:59
Света
i2GR писал(а):Speed = Call("GetSpeed") Call("GetCurrentSpeedLimit") :nenay:
Да, моя ошибка, прошу прощения :blush2:
может ли светофор получить текущее показание?
Может. Но это показание - параметр, введенный в свойство пути, и мне не приходилось слышать, что его можно оперативно изменять.
Мне же не тупо следующая разрешённая нужна, а с учётом занятости блок-участка.
Разве что светофор будет сам корректировать это число, учитывая занятость БУ и передавать локомотиву. Но тогда в случае превышения это не будет ошибкой игрока. Получается, что такое ограничение будет как бы рекомендательного характера.
Или же использовать вызов
Код: Выделить всё
Call("*:GetNextRestrictiveSignal")

Имея информацию о следующем ограничении скорости на треке, расстояние до него, ограничительном сигнале светофора, расстояние до него (все данные в пределах 10 км), можно пробовать вычислить нужные данные. Но опять-таки, разрешенная скорость не будет системной и её превышение не будет засчитано.

Re: Калужско-Рижская Линия Московского Метро и 81-717

СообщениеДобавлено: 31.10.2016, 01:43
ista011
Тогда какой вообще тогда практический смысл в АРЛ-АЛС в РВ? Может не делать её тогда, а тупо выводить текущее ограничение следующее с пометкой "АРС-АРС в РВ ненужна"? По моему АРС полюбому будет мешать, а превышение на пару км\ч это не серьёзно. АРС пищит на текущем лимите и действует на лимит + 2 км\ч. Кстати на более современной технике оба действа смещены на 2 км\ч вниз, т.е. на лимите уже тормоз применится.

Добавлено спустя 2 минуты 18 секунд:
Плюс учтите, что и в метро всё расставлено как в РВ: ограничение относится к участку пути, а АРС-АЛС корректирует его для состава на составе относительно предыдущего состава и разрешенной на участке пути скорости.

Добавлено спустя 1 минуту 3 секунды:
А на то, что РВ не будет считать это ошибкой... Ну и пусть не считает. Это проблемы РВ, а не наши.

Re: Калужско-Рижская Линия Московского Метро и 81-717

СообщениеДобавлено: 31.10.2016, 02:04
i2GR
i2GR писал(а):Что передавать то надо?
Далеко не у всех есть инфа по АЛС-АРС

Все пять пунктов про это из википедии сделать можно в той или иной степени.
А так сейчас это конкретные ответы на непоставленные вопросы.

Re: Калужско-Рижская Линия Московского Метро и 81-717

СообщениеДобавлено: 31.10.2016, 10:21
Skif
Разрешительную скорость СЛЕДУЮЩЕГО участка выводит далеко не каждая система АРС. МАРС и БАРС, например, используемые на Минском метро (и ДАУ-АРС, кстати, тож) - не используют, отображают только ТЕКУЩУЮ. Так что вполне допустимо, полагаю, ограничиться выводом только текущего ограничения - а оно в случае свободного блок-участка соответствует лимиту скорости на данной секции, устанавливаемому в сценарии, и ступенчато снижается по блок-участкам АРС, если впереди препятствие.

Re: Калужско-Рижская Линия Московского Метро и 81-717

СообщениеДобавлено: 31.10.2016, 14:02
ista011
Ладно, убедили, мне нужна только АРС 1\5, я просто хотел 2\6 запилить

Re: Калужско-Рижская Линия Московского Метро и 81-717

СообщениеДобавлено: 06.02.2017, 20:31
ista011
АЛАРМ! Скрипт вагона не трогал, трогал только конфиги вагона. Трогал как надо. Запускаю маршрут, и РВ виснет.

[Script Manager 18:58:31] Trace cScriptState.cpp : 229 = error running function: C stack overflow

КАК, вот КАК конфигом (?!) можно перегрузить стэк?!

Re: Калужско-Рижская Линия Московского Метро и 81-717

СообщениеДобавлено: 06.02.2017, 20:53
Света
Если удалить из конфига контрол, к которому обращается скрипт, будет минимум краш, возможно и вылет.
Будет ли при этом переполнение стэка - не скажу, логмейтом пользуюсь очень редко.
Предполагаю, что может быть и переполнение, если обращение к контролу идет из вложенной функции, которая вызывается, но из-за краша не может нормально завершиться. Или если есть рекурсия.