пмс логика расстановки сигналов

Вопросы разработки OpenTTD, обсуждение новых сборок и патчей, решение проблем новых версий.

Модераторы: Smoky555, Группа модераторов

пмс логика расстановки сигналов

Сообщение Nedji » Сб мар 15, 2008 00:04

почитав информацию по пмс-у решил написать мануал, начнем по порядку

в пмс-е реализована интересная логика основанная на поиске пути
заменяющие пре сигналы
стандартная тупиковая станция при этом выглядит так

=====\
=====-\-< (односторонний пмс с чертой)
=====-/->
=====/

логика(как я понял из теории и практики):
поезд подходя семафору пытается построить путь на станцию, при этом занятые платформы(с находящимся на них составом или изза бага) он игнорирует, если путь построить не удалось то состав стоит

пришедший на станцию состав загрузившись автоматически проделывает тоже самое(без семафора)

станционная линия считается цельным обьектом, поэтому пока состав не покинул ее сигнал не меняется

еще один плюс пмс-а это двусторонняя трехколейка
реализуется она за счет разных типов сигналов пмс-а

сигнал без черточки не блокирует проезд поезда в обратную сторону
сигнал с черточкой наоборот блокирует проезд поезда в обратну сторону

трехколейка строится следующим образом
--|>j<------|>j<------|>j<--- > и < сигналы без черты работающие
--->j<------->j<------->j<--- на пропуск в сторону стрелки, |> и <|
--->j<|------>j<|------>j<|-- сигналы с чертой, j обычный переход
между 2 ветками
ро-ро
...../-=====-\
<-/--=====--\-< на входах и выходах односторонний пмс с чертой
>-\--=====--/-> у станции пмс без черты смотрящие на станцию
.....\-=====-/

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

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

также на ро-ро поезд блокируется при реверсе, так что советую отключить его на станция, веселее будет ;) , а лечится простым реверсом
Nedji
Диспетчер
Диспетчер
 
Сообщения: 168
Зарегистрирован: Пт авг 24, 2007 17:49

Сообщение Fornet » Сб мар 15, 2008 01:00

Учитель, имхо, из тебя не выйдет. Но понять можно. Описал ты это дело скорее с точки зрения практики, а для понимания все же надо теорию. Но это, как я на текущий момент понимаю, доступно только самим разработчикам, так что фиг с ним.
Ты рассказал про станции в основном. А как быть с крупными развязками? А почему поезд, разворачиваясь в обычном блоке, вдруг занимает путь и впадает в висяк? И каким же образом он выбирает, занимать ли ему путь в следующем СБ или нет? А есть ли для поезда вообще термин СБ, если при развороте в обычном СБ он вдруг резервирует путь?
Аватара пользователя
Fornet
Диспетчер
Диспетчер
 
Сообщения: 166
Зарегистрирован: Вс сен 30, 2007 21:08
Откуда: Шадринcк

Сообщение Nedji » Сб мар 15, 2008 04:50

крупные развязки поидее строятся по тем же принципам, главное понять как каждый из типов пмс работает... и немного фантазии чтоб это все смастерить :)
Nedji
Диспетчер
Диспетчер
 
Сообщения: 168
Зарегистрирован: Пт авг 24, 2007 17:49

Сообщение Fornet » Сб мар 15, 2008 17:46

Nedji писал(а):главное понять как каждый из типов пмс работает


Вот вот. И я про тоже. А для этого надо сначала понять YAPP вообще. Ну допустим, с односторонними сигналами все ясно: с кирпичом - проезд в одну сторону, без оного - хоть куда. А все остальное - тьма жуткая.
Аватара пользователя
Fornet
Диспетчер
Диспетчер
 
Сообщения: 166
Зарегистрирован: Вс сен 30, 2007 21:08
Откуда: Шадринcк

Сообщение Q » Вс мар 16, 2008 11:41

А FAQ по этой байде все не пишуть. сырая вдать еще
Если красный зажигают, значит это кому-нибудь нужно
Аватара пользователя
Q
Диспетчер
Диспетчер
 
Сообщения: 174
Зарегистрирован: Вс апр 03, 2005 23:07
Откуда: Москва, Солнцево

Сообщение bohdan4ik » Вс мар 16, 2008 13:27

Возможно и сырая, но работает неплохо)
bohdan4ik
Начальник станции
Начальник станции
 
Сообщения: 100
Зарегистрирован: Вс ноя 04, 2007 04:37

Сообщение Nedji » Вс мар 16, 2008 18:10

собственно написано все чтобы иметь какоето представление, а то пока на форуме не почитал не доперло что не надо в тупиковых станциях перед станцией сигналы ставить
Nedji
Диспетчер
Диспетчер
 
Сообщения: 168
Зарегистрирован: Пт авг 24, 2007 17:49

Сообщение Sky-Clad » Вс мар 16, 2008 21:12

Ну не знаю, лично я эксперементальным путём понял кое какие вещи. Единственное что я не могу понять, что на одних станциях перед выездом с платформы ставишь PBS сигнал без горизонтальной полосы на отправление со станции (простите, ну не могу я по некоторым причинам назавать его ПМС :D ), всё ездиет, все довольны (С) а на других при практически том же путевом развитии блокируется вообще всё, все въезжают и никто не выезжает. Разницы нет и в то же время есть.

А ещё мне удалось построить в одной клетке два PBS сигнала в разные стороны, но вот пока практического применения этому безобразию я не нашёл.
Аватара пользователя
Sky-Clad
Директор
Директор
 
Сообщения: 314
Зарегистрирован: Чт июн 28, 2007 18:06

Сообщение Nedji » Чт апр 03, 2008 02:05

если станция не проходная то попробуй вообще перед станцией не ставить, весь прикол пмс-а в том что он резирвирует до следующего сигнала(исключение обратная сторона пмс без черты) или точки назначения, таким образом разместив пмс вход и выход(лучше с чертой) перед станцией получаем рабочую станцию(у меня за всю игру ни одной аварии)
что касается двустороннего сигнала то это лишнее
а вобще выложи скрины, я попробую на них обьяснить
Nedji
Диспетчер
Диспетчер
 
Сообщения: 168
Зарегистрирован: Пт авг 24, 2007 17:49

Сообщение Sky-Clad » Чт апр 03, 2008 19:55

Дык я уже так сделал - всё работает и на станциях действительно нет аварий, зато они возникают на перегонах или на подъездах к станциям и всё это из-за того (кратко провёл сравнительный анализ проездов запрещающих сигналов с записью в формуляр :D ), что поезда, находясь в ожидании пути через какое то время разворачиваются задом и так стоят довольно таки продолжительное время, не обращая внимания на то, что путь уже свободен. Это именно перед PBS такая фигня, при простых проходных они не сталкиваются. А так как PBS позволяет находиться двум поездам в одном сигнальном блоке, именно на этом уровне происходит сбой, по каким то причинам они, крутясь-вертясь какое то время решают, что путь свободен и просто напросто едут по пересечённым маршрутам. Природу этого и борьбу с этим я лично понять никак не могу.
В сборке 12345 я играю, ставя продолжительность времени на максимум. Прикольно :) Играю три недели с 1920 года добрался пока до 1928 :D Но суть в том, что я построил свой мир и играю на нём практически даже туда иной раз не заглядывая, то есть я сам по себе, игра сама по себе без паузы :) Но суть в том, что этих машинистов нельзя просто оставить без присмотра! Они просто убивают друг друга! Я уже устал выслеживать где и при каких обстоятельствах это происходит... И в основном из-за пробок.
Такие дела вот :)
Аватара пользователя
Sky-Clad
Директор
Директор
 
Сообщения: 314
Зарегистрирован: Чт июн 28, 2007 18:06

Сообщение Nedji » Чт апр 03, 2008 22:26

проблемы изза сырости, например в пмс блоке нельзя делать точек пути(они являются конечным маршрутом и поезд доходя до точки просто едет дальше по обычной логике, тоже самое и с обычными сигналами, к тому же пмс не всегда дружит с реверсом, так что либо решат эту проблему либо както заблокируют реверс, 3х путка у меня достаточно хорошо справлялась со всеми проблемами, но я на всей карте не использовал ни одного обычного или пре сигнала, только пмс

так что ищи правильную комбинацию ;)
Nedji
Диспетчер
Диспетчер
 
Сообщения: 168
Зарегистрирован: Пт авг 24, 2007 17:49


Вернуться в Разработка OpenTTD

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5