Форум Trainsim

Форум Trainsim (http://www.trainsim.ru/forum/index.php)
-   TrainZ - Маршруты и сценарии (http://www.trainsim.ru/forum/forumdisplay.php?f=24)
-   -   Стрелки и организация их работы. (http://www.trainsim.ru/forum/showthread.php?t=3039)

Andru 07.08.2008 13:06

Стрелки и организация их работы.
 
Добрый день! Поискал на форуме необходимую инфу по стрелкам и не нашел, поэтому создаю данную тему.

В общем возник вопрос следующий. Катался туту в дефолтной сессии и заметил, что на некоторых картах в режиме машиниста не видно стрелок(красной и зеленой), указывающих направление движения на стрелке (прошу прощения за тафталогию).

Так же интересует каким образом можно реализовать автоматическое переключение стрелки при подъезде к ней опредленного состава. Подозреваю, что можно с помощью тригера.

Скажем ситуация такая: при подъезде к станции (я на грузовом), на галвном пути стоит пассажирский и мне надо чтобы стрелка переключилась на боковой путь, соответственно открылся входной. Как это автоматизировать?

заранее спасибо.

TRam_ 07.08.2008 13:22

по первому сразу ответ - смотри правило "sartup options" и там галочку "ingame info" убери

elros 09.09.2008 10:06

по поводу переключения стрелки: у тебя должен стоять на путях триггер (зеленый), он должен стоять за 5 блок участков, далее в правилах Add>Ordered Rule (подчиненные правила выполняются последовательно), Add>Trigger Check, выделяешь его,сдвигаешь вправо, жмешь Edit, ставишь название триггера и указываешь опции(например срабатывать только один раз и т.д.), далее Add>Switch junkthon, его тоже сдигаешь вбок, открываешь, указываешь левер и нужное его положение
P.S. Аглицкий не к черту у меня, простите... Вообще, самое правильное, посмотреть на сессии в встроенном маршруте Мариасс Пасс, они там сделаны по юзерски, ибо не Ауран делал... ну и перенять их опыт...

Добрый 09.09.2008 20:54

Есть бестриггерный вариант (попроще, но если много стрелок, может не сработать).
1) положить маркеры приоритета (фиолетовые) - пр. 1- на путь с пассажирским, пр. 2 - на путь, куда должен следовать грузовой. Вот они и не будут ездить по одному пути;
2) на боковом пути положить красный маркер и дать грузовому команду следовать к нему (Drive to).
Только для этого ручное управление не подойдёт, если рулить самому - только вариант elrosa.:o

genesis 09.09.2008 21:19

Ну я щас скажу: скачиваем js-TRF Path Control.....:D

elros 10.09.2008 15:53

to genesis, да, тоже вариант:)

NickLon 17.12.2008 15:35

Решил поднять темку.
elros, вот этим вариантом и пользуюсь. Но! Есть всякого рода шероховатости. Например, на однопутном участке, если поезд отправляется с бокового пути, то он "поймёт", что у него есть встречный только по тому, что после сборки маршрута отправления у него останется выходной красный (проходные то погашены). Но маршруту легче от того, что он "понял" и остался стоять на боковом не станет - стрелки от себя то он уже заблокировал. И встречному маршрут на занятый боковой стоит, а не на главный. Как эту проблему решить?
И второе. Предыдущую проблему пока корявенько но решил следующим способом. Когда по станции А в нечётном направлении состав проходит входную горловину (а идёт он по главному пути всегда - что уже корявенько), он блокирует входную горловину по главному пути следующей станции, станции Б. При этом выходную горловину станции А не блокирует - там по умолчанию с главного собран маршрут. Если в чётном направлении со станции Б поезд уже вышел, то выходной составу по станции А будет красным, он остановится. Вместе с тем, в четном направлении составы всегда идёт по боковому пути (опять корявенько), и когда проходят средину станции, то пытаются собрать себе выходной маршрут. Для встречного - это входной маршрут, который блокируется в момент - см.выше. Это более-менее работает, когда 2 поезда хотят разъехаться. А если 3?

elros 17.12.2008 19:39

NickLon, многое зависит от сигналки, которой пользуешься, по первому пункту - можно попробовать замутить следущую конструкцию: в командах блокирующему составу дать команду - ждать N времени, стрелка не блокируется. Но, гораздо проще и надежней привязать переключение стрелки к встречному поезду, только триггер для него должен стоять подальше после стрелки, что бы она под ним не переключилась, я думаю, что и во 2-ом пункте подобные варианты присутствуют(щас голова слабо варит, на работе). Да, и еще,надо бы почитать поподробней про правило Paralel list(ну или как-то так:)), там очень сложные конструкции можно выстроить, но рабочих примеров применения я не видел.

Добрый 17.12.2008 19:58

[QUOTE=NickLon;59639]на однопутном участке, если поезд отправляется с бокового пути, то он "поймёт", что у него есть встречный только по тому, что после сборки маршрута отправления у него останется выходной красный (проходные то погашены). Но маршруту легче от того, что он "понял" и остался стоять на боковом не станет - стрелки от себя то он уже заблокировал. И встречному маршрут на занятый боковой стоит, а не на главный. Как эту проблему решить?
[/QUOTE]
У меня эти проблемы давно решены. Если встречный имеет приоритет 1, а стоящий на боковом - 2, то они прекрасно расходятся сами. Если они одинаковых приоритетов, то стоящему на боковом пути поезду я задаю команду "ждать срабатывания триггера", и указываю имя триггера, который сработает при нахождении встречного поезда уже на станции. В этом случае никакой преждевременной сборки маршрута отправления поперёк маршрута прибытия не происходит. Так же у меня постороен процесс отправки поезда, поставленного под обгон.;)

NickLon 17.12.2008 22:23

[QUOTE=Добрый;59684]У меня эти проблемы давно решены. Если встречный имеет приоритет 1, а стоящий на боковом - 2, то они прекрасно расходятся сами. [/QUOTE]
Для Path Controll, по-моему, приоритетов не существует. Единственное, что могло бы в корне спасти ситуацию, это невозможность сборки маршрута на перегон при наличии на нём встречного поезда... Скорее, даже не наличие поезда, а наличие погасшего проходного светофора. Попутно ведь должно быть можно собирать маршрут и отправляться. Это таким же образом, как и невозможно собрать маршрут на занятый БУ. Но погасшие проходные - это российская фича (я так думаю), а Path Controll выдумали буржуины.:D
[QUOTE]Если они одинаковых приоритетов, то стоящему на боковом пути поезду я задаю команду "ждать срабатывания триггера", и указываю имя триггера, который сработает при нахождении встречного поезда уже на станции. В этом случае никакой преждевременной сборки маршрута отправления поперёк маршрута прибытия не происходит. Так же у меня постороен процесс отправки поезда, поставленного под обгон.;)[/QUOTE]
Команда "ждать срабатывания тригера" будет отрабатываться всегда, независимо от того есть встречный поезд или нет. Тогда он будет стоять до тех пор, пока не пройдёт таки встречный когда-нибудь.
Сейчас скачал с Aurana ещё правила. Посмотрю, названия и описания многообещающие: CheckTrackSide и SheduleAtTrackmark. Как я понял из описания, первый проверяет занятость маршрута, второй вставляет или (!!!) удаляет команды из списка команд. Вот только у кого он этими командами жонглирует? Если у себя - то безполезно. А если у втречного, дескать, слышь ты, главный занят чеши-ка по боковому, а про главный - забудь. Тогда в совокупности с другими правилами можно максимально приблизиться к реалистичности ДСП. :)

NickLon 17.12.2008 23:15

elros, что-то я тебя не понял. Наверное, ты действительно на работе и там у тя "голова слабо варит" :-). Ждать N времени, Wait for trogger и т.д это всё не катит! У меня не два трамвая, а несколько магистральных составов, которым нужно в кратчайшее время быть в пункте назначения, и обернуться с порожняком, опять же в кратчайшее время.
Чтоб несколько уяснить ситуёвину, заново опишу алгоритм.
Исходные: три станции A, B и C. Из станций А и С навстречу друг другу вышли два поезда, поезд 1 и поезд 2. (Что-то мне это напоминает детский мультик, который я смотрел..эээ, а, локомотивы всё равно столько не живут:D) Все три станции имеют два боковых (три пути, то есть, на каждой). как им разойтись на станции B? У меня реализовано пока так. Когда по станции А поезд 1 прошёл входную горловину, он тут же блокирует входную (для него входную, для поезда 2 - выходную) горловину станции B по главному пути. Поезд 2 идёт заведомо с отклонением, то есть по 3-му пути, независимо от того, идёт ли на него поезд 1, или там аж до... перегоны свободны. Когда он проходит средину станции B того самого 3-го пути, на который он ушел с отклонением, он пытается собрать маршрут от B до A. Поскольку есть встречный поезд и он уже заблокировал горловину, собрать маршрут отправления не удастся - остановится на красный выходной. Вот это и есть трамвайная реализация.

genesis 18.12.2008 17:33

Я не понимаю в чем проблема. Отправляется поезд с разъезда - командой Set Path собирает маршрут отправления и прибытия (причем там есть опция ждать установки или ехать, поставив маршрут в очередь).
Когда маршрут установлен, встречный свой собрать уже не может. Где подвох то, что у всех проблемы?

Добрый 18.12.2008 17:52

[QUOTE=NickLon;59723]Ждать N времени, Wait for trogger и т.д это всё не катит! У меня не два трамвая, а несколько магистральных составов, которым нужно в кратчайшее время быть в пункте назначения, и обернуться с порожняком, опять же в кратчайшее время.
[/QUOTE]
Ну, я своё мнение никому не навязываю, если до конца года получится выложить мою карту и сессиию, то там 12 составов, в том числе с оборотом порожняка, ожиданием прибытия встречного и постановкой под обгон пассажирским.:(

NickLon 18.12.2008 23:22

[QUOTE=genesis;59821]Я не понимаю в чем проблема. Отправляется поезд с разъезда - командой Set Path собирает маршрут отправления и прибытия (причем там есть опция ждать установки или ехать, поставив маршрут в очередь).
Когда маршрут установлен, встречный свой собрать уже не может. Где подвох то, что у всех проблемы?[/QUOTE]
Да это известно, конечно. Но на разъезде манёвры не произодятся. Если блокировать входную горловину станции, с которой отправляются собранные составы, то эти составы никогда не соберутся.
Да и я бы не сказал, что это прям проблема. Просто предположил, что возможно у кого-то алгоритм есть более совершенен чем мой и я просто чего-то недогоняю. А так, сессия длится около 18 часов. Это по расчетам, до тех пор, когда повторится ситуация, которая уже была. Там магистральные локомотивы не ждуть наполнения состава углем, который они привезли: они берут тот, который уже загружен.
В общем, воцарилась бы идилия, если б было правило, которое вставляло команды как SheduleAtTrackMark, но только ПО УСЛОВИЮ! Вот условий я не видел ни в одном правиле, нигде. Разве что только "наехал на триггер". Ну вот, например, я могу собрать маршрут встречному на боковой, если сам уже залез на главный. А если втречного нет? Откуда я знаю? А по проезду триггера в любом случае соберу и тем самым закрою себе выход. А заведомо на боковой в чётном направлении, например, это у меня реализовано.
[QUOTE=Добрый;59825]Ну, я своё мнение никому не навязываю, если до конца года получится выложить мою карту и сессиию, то там 12 составов, в том числе с оборотом порожняка, ожиданием прибытия встречного и постановкой под обгон пассажирским.:([/QUOTE]
Да при чём здесь навязавыение мнения? Здесь идёт обмен им, а не навязывание! :) А вот обгон пассажирским, при наличии ещё одного встречного я бы посмотрел ;-)
[QUOTE=elros;42985]по поводу переключения стрелки: у тебя должен стоять на путях триггер (зеленый), он должен стоять за 5 блок участков, далее в правилах Add>Ordered Rule (подчиненные правила выполняются последовательно), Add>Trigger Check, выделяешь его,сдвигаешь вправо, жмешь Edit, ставишь название триггера и указываешь опции(например срабатывать только один раз и т.д.), далее Add>Switch junkthon, его тоже сдигаешь вбок, открываешь, указываешь левер и нужное его положение
[/QUOTE]
А можно поподробней? Я что-то не нашёл у себя Ordered Rule. Это не дефолтное правило? И самое главное - эта комбинация блокирует стрелки или нет? А поподробней - сначала Ordered Rule, потом чуть правее от него и под ним стоит Trigger Check, и потом, ещё ниже его и правее Switch junkthon, верно?
Да, и ещё, а почему за 5 БУ?

genesis 18.12.2008 23:53

[QUOTE=NickLon;59851]Да это известно, конечно. Но на разъезде манёвры не произодятся. Если блокировать входную горловину станции, с которой отправляются собранные составы, то эти составы никогда не соберутся.[/QUOTE]
При чем здесь маневры? Кажется я остался не понят. Я говорю про поездные маршруты, ведь, как известно, любому поезду, подъезжающему к станции собирают маршрут следования по ней. Этим заведует ДСП или ДНЦ, но в данной ситуации не суть важно.

Грубо говоря есть станция. Для нее конфигурируются маршруты приема и отправления с путей. Транзитные же маршруты получаются сбором 2х маршрутов - прибытия на путь и отправления с него.

Использовать просто. При отправлении с предыдущей станции поезд устанавливает маршрут прибытия на следующую, ожидая его сборки [COLOR="Silver"](разумеется я веду речь про однопутный перегон, в двухпутном же варианте можно и не ждать; считается что маршрут отправления уже поставлен в очередь, см далее почему)[/COLOR], и маршрут отправления со следующей, не ожидая его сборки. И так далее для каждой станции.

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


Текущее время: 11:47. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim