PDA

Просмотр полной версии : Стрелки и организация их работы.


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
на однопутном участке, если поезд отправляется с бокового пути, то он "поймёт", что у него есть встречный только по тому, что после сборки маршрута отправления у него останется выходной красный (проходные то погашены). Но маршруту легче от того, что он "понял" и остался стоять на боковом не станет - стрелки от себя то он уже заблокировал. И встречному маршрут на занятый боковой стоит, а не на главный. Как эту проблему решить?

У меня эти проблемы давно решены. Если встречный имеет приоритет 1, а стоящий на боковом - 2, то они прекрасно расходятся сами. Если они одинаковых приоритетов, то стоящему на боковом пути поезду я задаю команду "ждать срабатывания триггера", и указываю имя триггера, который сработает при нахождении встречного поезда уже на станции. В этом случае никакой преждевременной сборки маршрута отправления поперёк маршрута прибытия не происходит. Так же у меня постороен процесс отправки поезда, поставленного под обгон.;)

NickLon
17.12.2008, 22:23
У меня эти проблемы давно решены. Если встречный имеет приоритет 1, а стоящий на боковом - 2, то они прекрасно расходятся сами.
Для Path Controll, по-моему, приоритетов не существует. Единственное, что могло бы в корне спасти ситуацию, это невозможность сборки маршрута на перегон при наличии на нём встречного поезда... Скорее, даже не наличие поезда, а наличие погасшего проходного светофора. Попутно ведь должно быть можно собирать маршрут и отправляться. Это таким же образом, как и невозможно собрать маршрут на занятый БУ. Но погасшие проходные - это российская фича (я так думаю), а Path Controll выдумали буржуины.:D
Если они одинаковых приоритетов, то стоящему на боковом пути поезду я задаю команду "ждать срабатывания триггера", и указываю имя триггера, который сработает при нахождении встречного поезда уже на станции. В этом случае никакой преждевременной сборки маршрута отправления поперёк маршрута прибытия не происходит. Так же у меня постороен процесс отправки поезда, поставленного под обгон.;)
Команда "ждать срабатывания тригера" будет отрабатываться всегда, независимо от того есть встречный поезд или нет. Тогда он будет стоять до тех пор, пока не пройдёт таки встречный когда-нибудь.
Сейчас скачал с 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
Ждать N времени, Wait for trogger и т.д это всё не катит! У меня не два трамвая, а несколько магистральных составов, которым нужно в кратчайшее время быть в пункте назначения, и обернуться с порожняком, опять же в кратчайшее время.

Ну, я своё мнение никому не навязываю, если до конца года получится выложить мою карту и сессиию, то там 12 составов, в том числе с оборотом порожняка, ожиданием прибытия встречного и постановкой под обгон пассажирским.:(

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

А можно поподробней? Я что-то не нашёл у себя Ordered Rule. Это не дефолтное правило? И самое главное - эта комбинация блокирует стрелки или нет? А поподробней - сначала Ordered Rule, потом чуть правее от него и под ним стоит Trigger Check, и потом, ещё ниже его и правее Switch junkthon, верно?
Да, и ещё, а почему за 5 БУ?

genesis
18.12.2008, 23:53
Да это известно, конечно. Но на разъезде манёвры не произодятся. Если блокировать входную горловину станции, с которой отправляются собранные составы, то эти составы никогда не соберутся.
При чем здесь маневры? Кажется я остался не понят. Я говорю про поездные маршруты, ведь, как известно, любому поезду, подъезжающему к станции собирают маршрут следования по ней. Этим заведует ДСП или ДНЦ, но в данной ситуации не суть важно.

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

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

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

NickLon
19.12.2008, 11:45
Ну, понятно, что ничего белее лучшего и совершенного, чем я уже реализовал пока нет. Тогда более конкретный вопрос. Как известно, Path Controll блокирует стрелки, пока по ним не пройдёт поезд (кстати, надо ещё выяснить какой именно, тот, который заблокировал стрелки или любой?), а есть ли способ разблокировать стрелки без прохождения по ним состава? Ну вот, например (движение с маневрами подразумевается). Маршрут прибытия на станцию собирается уже непосредственно перед проходом поездом пред-предвходного. Для того, чтобы можно было манёвры по горловине совершать. Но в этом случае, отправляться на перегон, навстречу пребывающему можно только с главного пути, так как маршрут отправления с него можно не блокировать, т.к. он уже по умолчанию собран. Вот и получается, что с бокового я не отправлюсь, потому как поезд встречный ещё не прошёл маркер за пред-предвходным. Вот о чём я!
Ну вот, может быть elros чем-нибудь обрадует.

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

Здравствуйте.
Я так и делаю, но ничего не получается
У меня нет правила "Ordered rule" может из-за него.

подскажите

Добрый
04.05.2009, 09:10
Trigger Rule > Switch Junston. Втрое правило сдвинуть вправо, тогда оно будет выполняться при срабатываниии триггера, прописанного в Trigger Rule.

VTL
05.05.2009, 21:29
Спасибо огромное:drinks:

Помохарь
11.05.2009, 04:35
Народ! Используйте z6. Если ее правильно настроить всё работает как в жизни, Главное приоритеты расставлять во время :-)

w208
11.05.2009, 19:23
Народ! Используйте z6. Если ее правильно настроить всё работает как в жизни, Главное приоритеты расставлять во время :-)

Приорететы поездов?
Я думаю при использовании Z6, вообще не нужны ни тригеры, ни правила, ни приорететы, все и так прекрасно работает

Помохарь
11.05.2009, 21:36
Приоритеты нужны оязательно. Например маневровые сигналы открываются только для маневрового .Пассажирский если стоит перед повторительным, не отправиться при негорящем, А при прибытии на станцию остановиться перед негорящим повторительным.(он не горит при запрещающем показании основного сигнала) Скорость движения также диктуется поезду в зависимости от его приоритета и показания проследумого светофора.