07.08.2008, 13:06 | #1 |
Новичок
|
Стрелки и организация их работы.
Добрый день! Поискал на форуме необходимую инфу по стрелкам и не нашел, поэтому создаю данную тему.
В общем возник вопрос следующий. Катался туту в дефолтной сессии и заметил, что на некоторых картах в режиме машиниста не видно стрелок(красной и зеленой), указывающих направление движения на стрелке (прошу прощения за тафталогию). Так же интересует каким образом можно реализовать автоматическое переключение стрелки при подъезде к ней опредленного состава. Подозреваю, что можно с помощью тригера. Скажем ситуация такая: при подъезде к станции (я на грузовом), на галвном пути стоит пассажирский и мне надо чтобы стрелка переключилась на боковой путь, соответственно открылся входной. Как это автоматизировать? заранее спасибо. |
01.01.2007, 12:00 | |
Яndex
Спонсор
Регистрация: 01.01.2007
Сообщения: 500
Реклама показывается изредка по случайному принципу |
РЕКЛАМА
|
07.08.2008, 13:22 | #2 |
Матёрый пользователь
Регистрация: 18.02.2008
Сообщений: 8,717
Вы сказали Спасибо: 1,424
Поблагодарили 2,377 раз(а) в 1,330 сообщениях
|
по первому сразу ответ - смотри правило "sartup options" и там галочку "ingame info" убери
|
09.09.2008, 10:06 | #3 |
Матёрый пользователь
Регистрация: 27.07.2007
Адрес: Москва
Сообщений: 1,734
Вы сказали Спасибо: 1,138
Поблагодарили 1,611 раз(а) в 475 сообщениях
|
по поводу переключения стрелки: у тебя должен стоять на путях триггер (зеленый), он должен стоять за 5 блок участков, далее в правилах Add>Ordered Rule (подчиненные правила выполняются последовательно), Add>Trigger Check, выделяешь его,сдвигаешь вправо, жмешь Edit, ставишь название триггера и указываешь опции(например срабатывать только один раз и т.д.), далее Add>Switch junkthon, его тоже сдигаешь вбок, открываешь, указываешь левер и нужное его положение
P.S. Аглицкий не к черту у меня, простите... Вообще, самое правильное, посмотреть на сессии в встроенном маршруте Мариасс Пасс, они там сделаны по юзерски, ибо не Ауран делал... ну и перенять их опыт... |
09.09.2008, 20:54 | #4 |
Матёрый пользователь
Регистрация: 12.04.2008
Сообщений: 938
Вы сказали Спасибо: 5
Поблагодарили 16 раз(а) в 15 сообщениях
|
Есть бестриггерный вариант (попроще, но если много стрелок, может не сработать).
1) положить маркеры приоритета (фиолетовые) - пр. 1- на путь с пассажирским, пр. 2 - на путь, куда должен следовать грузовой. Вот они и не будут ездить по одному пути; 2) на боковом пути положить красный маркер и дать грузовому команду следовать к нему (Drive to). Только для этого ручное управление не подойдёт, если рулить самому - только вариант elrosa.
__________________
Среди тех, кто учит жить, преобладают теоретики... |
09.09.2008, 21:19 | #5 |
Матёрый пользователь
|
Ну я щас скажу: скачиваем js-TRF Path Control.....
|
10.09.2008, 15:53 | #6 |
Матёрый пользователь
Регистрация: 27.07.2007
Адрес: Москва
Сообщений: 1,734
Вы сказали Спасибо: 1,138
Поблагодарили 1,611 раз(а) в 475 сообщениях
|
to genesis, да, тоже вариант
|
17.12.2008, 15:35 | #7 |
Матёрый пользователь
|
Решил поднять темку.
elros, вот этим вариантом и пользуюсь. Но! Есть всякого рода шероховатости. Например, на однопутном участке, если поезд отправляется с бокового пути, то он "поймёт", что у него есть встречный только по тому, что после сборки маршрута отправления у него останется выходной красный (проходные то погашены). Но маршруту легче от того, что он "понял" и остался стоять на боковом не станет - стрелки от себя то он уже заблокировал. И встречному маршрут на занятый боковой стоит, а не на главный. Как эту проблему решить? И второе. Предыдущую проблему пока корявенько но решил следующим способом. Когда по станции А в нечётном направлении состав проходит входную горловину (а идёт он по главному пути всегда - что уже корявенько), он блокирует входную горловину по главному пути следующей станции, станции Б. При этом выходную горловину станции А не блокирует - там по умолчанию с главного собран маршрут. Если в чётном направлении со станции Б поезд уже вышел, то выходной составу по станции А будет красным, он остановится. Вместе с тем, в четном направлении составы всегда идёт по боковому пути (опять корявенько), и когда проходят средину станции, то пытаются собрать себе выходной маршрут. Для встречного - это входной маршрут, который блокируется в момент - см.выше. Это более-менее работает, когда 2 поезда хотят разъехаться. А если 3? |
17.12.2008, 19:39 | #8 |
Матёрый пользователь
Регистрация: 27.07.2007
Адрес: Москва
Сообщений: 1,734
Вы сказали Спасибо: 1,138
Поблагодарили 1,611 раз(а) в 475 сообщениях
|
NickLon, многое зависит от сигналки, которой пользуешься, по первому пункту - можно попробовать замутить следущую конструкцию: в командах блокирующему составу дать команду - ждать N времени, стрелка не блокируется. Но, гораздо проще и надежней привязать переключение стрелки к встречному поезду, только триггер для него должен стоять подальше после стрелки, что бы она под ним не переключилась, я думаю, что и во 2-ом пункте подобные варианты присутствуют(щас голова слабо варит, на работе). Да, и еще,надо бы почитать поподробней про правило Paralel list(ну или как-то так), там очень сложные конструкции можно выстроить, но рабочих примеров применения я не видел.
Последний раз редактировалось elros; 17.12.2008 в 19:44. |
17.12.2008, 19:58 | #9 | |
Матёрый пользователь
Регистрация: 12.04.2008
Сообщений: 938
Вы сказали Спасибо: 5
Поблагодарили 16 раз(а) в 15 сообщениях
|
Цитата:
__________________
Среди тех, кто учит жить, преобладают теоретики... |
|
17.12.2008, 22:23 | #10 | ||
Матёрый пользователь
|
Цитата:
Цитата:
Сейчас скачал с Aurana ещё правила. Посмотрю, названия и описания многообещающие: CheckTrackSide и SheduleAtTrackmark. Как я понял из описания, первый проверяет занятость маршрута, второй вставляет или (!!!) удаляет команды из списка команд. Вот только у кого он этими командами жонглирует? Если у себя - то безполезно. А если у втречного, дескать, слышь ты, главный занят чеши-ка по боковому, а про главный - забудь. Тогда в совокупности с другими правилами можно максимально приблизиться к реалистичности ДСП. |
||
17.12.2008, 23:15 | #11 |
Матёрый пользователь
|
elros, что-то я тебя не понял. Наверное, ты действительно на работе и там у тя "голова слабо варит" :-). Ждать N времени, Wait for trogger и т.д это всё не катит! У меня не два трамвая, а несколько магистральных составов, которым нужно в кратчайшее время быть в пункте назначения, и обернуться с порожняком, опять же в кратчайшее время.
Чтоб несколько уяснить ситуёвину, заново опишу алгоритм. Исходные: три станции A, B и C. Из станций А и С навстречу друг другу вышли два поезда, поезд 1 и поезд 2. (Что-то мне это напоминает детский мультик, который я смотрел..эээ, а, локомотивы всё равно столько не живут) Все три станции имеют два боковых (три пути, то есть, на каждой). как им разойтись на станции B? У меня реализовано пока так. Когда по станции А поезд 1 прошёл входную горловину, он тут же блокирует входную (для него входную, для поезда 2 - выходную) горловину станции B по главному пути. Поезд 2 идёт заведомо с отклонением, то есть по 3-му пути, независимо от того, идёт ли на него поезд 1, или там аж до... перегоны свободны. Когда он проходит средину станции B того самого 3-го пути, на который он ушел с отклонением, он пытается собрать маршрут от B до A. Поскольку есть встречный поезд и он уже заблокировал горловину, собрать маршрут отправления не удастся - остановится на красный выходной. Вот это и есть трамвайная реализация. |
18.12.2008, 17:33 | #12 |
Матёрый пользователь
|
Я не понимаю в чем проблема. Отправляется поезд с разъезда - командой Set Path собирает маршрут отправления и прибытия (причем там есть опция ждать установки или ехать, поставив маршрут в очередь).
Когда маршрут установлен, встречный свой собрать уже не может. Где подвох то, что у всех проблемы? |
18.12.2008, 17:52 | #13 |
Матёрый пользователь
Регистрация: 12.04.2008
Сообщений: 938
Вы сказали Спасибо: 5
Поблагодарили 16 раз(а) в 15 сообщениях
|
Ну, я своё мнение никому не навязываю, если до конца года получится выложить мою карту и сессиию, то там 12 составов, в том числе с оборотом порожняка, ожиданием прибытия встречного и постановкой под обгон пассажирским.
__________________
Среди тех, кто учит жить, преобладают теоретики... |
18.12.2008, 23:22 | #14 | |||
Матёрый пользователь
|
Цитата:
Да и я бы не сказал, что это прям проблема. Просто предположил, что возможно у кого-то алгоритм есть более совершенен чем мой и я просто чего-то недогоняю. А так, сессия длится около 18 часов. Это по расчетам, до тех пор, когда повторится ситуация, которая уже была. Там магистральные локомотивы не ждуть наполнения состава углем, который они привезли: они берут тот, который уже загружен. В общем, воцарилась бы идилия, если б было правило, которое вставляло команды как SheduleAtTrackMark, но только ПО УСЛОВИЮ! Вот условий я не видел ни в одном правиле, нигде. Разве что только "наехал на триггер". Ну вот, например, я могу собрать маршрут встречному на боковой, если сам уже залез на главный. А если втречного нет? Откуда я знаю? А по проезду триггера в любом случае соберу и тем самым закрою себе выход. А заведомо на боковой в чётном направлении, например, это у меня реализовано. Цитата:
Цитата:
Да, и ещё, а почему за 5 БУ? |
|||
18.12.2008, 23:53 | #15 | |
Матёрый пользователь
|
Цитата:
Грубо говоря есть станция. Для нее конфигурируются маршруты приема и отправления с путей. Транзитные же маршруты получаются сбором 2х маршрутов - прибытия на путь и отправления с него. Использовать просто. При отправлении с предыдущей станции поезд устанавливает маршрут прибытия на следующую, ожидая его сборки (разумеется я веду речь про однопутный перегон, в двухпутном же варианте можно и не ждать; считается что маршрут отправления уже поставлен в очередь, см далее почему), и маршрут отправления со следующей, не ожидая его сборки. И так далее для каждой станции. Исполняется это так: поезд прибывает на станцию, и, если маршрут отправления собран, то горит зеленый, и он спокойно следует далее. Иначе же горит красный, маршрут не готов, а значит он пересекает уже установленный другим поездом. И он ждет, пока установится его маршрут. |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|
Что это? |