Страница 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")
Re: Калужско-Рижская Линия Московского Метро и 81-717
Добавлено:
30.10.2016, 22:20
ista011
А как напрямую вводить значения в светофор, может ли светофор получить текущее показание? Тогда я могу просто это показание отослать предыдущему светофору и все. Мне же не тупо следующая разрешённая нужна, а с учётом занятости блок-участка.
Re: Калужско-Рижская Линия Московского Метро и 81-717
Добавлено:
30.10.2016, 22:59
Света
i2GR писал(а):Speed =
Call("GetSpeed") Call("GetCurrentSpeedLimit")
Да, моя ошибка, прошу прощения
может ли светофор получить текущее показание?
Может. Но это показание - параметр, введенный в свойство пути, и мне не приходилось слышать, что его можно оперативно изменять.
Мне же не тупо следующая разрешённая нужна, а с учётом занятости блок-участка.
Разве что светофор будет сам корректировать это число, учитывая занятость БУ и передавать локомотиву. Но тогда в случае превышения это не будет ошибкой игрока. Получается, что такое ограничение будет как бы рекомендательного характера.
Или же использовать вызов
- Код: Выделить всё
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
Света
Если удалить из конфига контрол, к которому обращается скрипт, будет минимум краш, возможно и вылет.
Будет ли при этом переполнение стэка - не скажу, логмейтом пользуюсь очень редко.
Предполагаю, что может быть и переполнение, если обращение к контролу идет из вложенной функции, которая вызывается, но из-за краша не может нормально завершиться. Или если есть рекурсия.