Показать сообщение отдельно
Старый 09.04.2020, 16:04   #27
vicente
Заблокирован
 
Регистрация: 06.10.2007
Сообщений: 1,765
Вы сказали Спасибо: 899
Поблагодарили 1,213 раз(а) в 730 сообщениях
vicente стоит на развилке (репутация по умолчанию)
По умолчанию

Не знаю, доберусь ли я до перевода даже руководства по командам для Timetable - там два десятка страниц печатного текста. Тем более, что сам я ещё далеко вначале - делаю пока пассажирское пригородное расписание - то есть отцепки-прицепки не тестировал.
Поэтому буду потихоньку обсуждать команды. Может, кому пригодится.
Итак, описаная мной проблема:
У меня есть конечная станция двух пригородных маршрутов с одной платформой. За платформой есть отстойный тупик (два, на самом деле, со стрелкой, ограждённые светофорами). Есть поезд, который прибывает на платформу с двухпутного перегона, высаживает пассажиров и отправляется в отстойник. Там он ожидает пока на платформу прибывает ещё один поезд, другого маршрута, тот производит посадку-высадку и отправляется в обратный путь. Ожидающий поезд после этого возвращается на платформу, производит посадку и должен отправляться. В это время на подходе к станции - ещё один поезд того, второго маршрута. Таким образом, во входной горловине происходит обычное классическое скрещение.
Проблема в том, что этот отстаивающийся поезд состоит на самом деле из 4-х сервисов:
1) 6160 (я им даю номера поездов) - сам поезд, делающий свой маршрут до этой конечной станции - в поле #dispose - $forms=0-6160
2) 0-6160 - с платформы в отстойник. У него другой Path . В принципе, можно делать один Path до отстойника, но так как у меня в отстойнике разъезд, я предпочел разделить их. В поле #dispose - $triggers=0-6161
3) 0-6161 - подача из отстойника на платформу под следующий поезд - 6161. В поле #dispose - $forms=6161.

Так вот, когда этот самый "многострадальный" пригородный на платформе, к станции подъезжает ещё один пригородный - 6058. Из-за особенностей сигнализации, она позволяет автодиспетчеру "собрать" маршрут на занятый путь (на платформу). Нужно поставить приоритет поезду 6161 перед поездом 6058, чтобы скрещение произошло на входном сигнале на станцию (по расписанию 6058 даже не останавливается у входного, но если ему заперт маршрут, он остановится там, а 6161 не сможет отправится - так как маршрут на стрелках - "не его"). Делается это с помощью команды $wait=<train>. Команда эта может быть вписана либо в поле локации (локация здесь и далее - название станции) или в поле #note. Разница в том, что первый способ гарантирует скрещение в указанном месте, а второй - на первой по пути обоих сервисов "совместной" секции пути. Естественно, по ситуации и светофорам. О чем я? Я поставил $wait в поле предпоследней остановки - о.п., находящимся на перегоне перед предвходным. То есть между сигналами "4" и "2". Это ничего не меняет. Скрещение будет всё равно на входном, потому что именно он ограждает первую со стороны 6058 стрелку, по которой проходит и Path 6161. Несмотря ни на что, даже после установки $wait=6161 в указанном месте, скрещение не срабатывало, 6058 упорно прокладывал себе маршрут на занятый 6161-м путь и оба сервиса "застрявали" на "вечном красном". Причина, оказалось, в том, что 6058 успевал "проложить" себе маршрут в горловине до того, как 6161 "появился" из 0-6161! То есть, сама по себе "голая" команда $wait не действует, если сервис на момент, когда другой сервис воздействует на ограничивающий стрелку светофор не стартовал в расписании. Разработчик это учёл и добавил в программу "индикаторы", можно назвать их "уточнения". Они вносятся сразу после команды через косую черту.
Для команды $wait таких уточнений 4:
/maxdelay
/notstarted
/owndelay и
/atstart
Для моей задачи нужен второй "индикатор" - /notstarted. Когда он установлен, при приближении сервиса к точке скрещения, симулятор "проверяет" должен ли указанный сервис "появиться" в продолжение процесса расписания, и если да - останавливает поезд для скрещения - то есть, не собирает ему маршрут на нужной стрелке.
Я установил $wait=6161/notstarted в локации перед входным на станцию и всё заработало так, как мне нужно.

Последний раз редактировалось vicente; 09.04.2020 в 16:11.
vicente вне форума   Ответить с цитированием
Старый 01.01.2007, 12:00  
Яndex
Спонсор
 
 
Регистрация: 01.01.2007
Сообщения: 500


Реклама показывается изредка по случайному принципу
По умолчанию РЕКЛАМА