Цитата:
Она может сортировать пути на главные и боковые, приемные и приёмо-отправочные, для грузовых и пассажирских?
|
Это должен указывать в ней пользователь, при настройке системы. А так как типов и групп путей довольно много, решил обозначать типы путей числами - так называемыми "приоритетами". Причём для каждой конкретной станции можно объявить свой собственный набор категорий путей. Например маршрут 0 приоритета ведёт на главный путь, 1 - под пассажирскую платформу нашего направления, 2 - под пассажирскую платформу встречного, а 2 маршрута на приёмно-отправочные пути 5 го приоритета... И пассажирскому составу задаётся команда "построить маршрут на пути приоритетов от 1 до 2", в результате поезд станет на боковой путь, если "нашего направления" свободен то на него, а если занят - то "на путь встречного направления".
Или грузовой, которому задана команда"построить маршрут на проход приоритета 5 или главного", пойдёт по главному, если перегон направлен в его сторону, и станет на приёмно-отправочный, если на перегоне встречный.
Цитата:
Например, по ст. Кировская поезд 614 должен прибыть в 16.20 на первый путь и ждать пока (с минутной остановкой на втором пути) в 16.32 его не обгонит 870-й. В это же время на следующем разъезде Новофёдоровка прибывает 6745-й, который нужно поставить на второй путь, пока встречный 870-й не проследует по первому без остановки, после чего ему надо задать маршрут на второй путь Кировской. И нельзя оправить 614, ибо он ждёт разъезда с 6745-м.
|
Автоматом система такую ситуацию не воспроизведёт, а вот если настроить - вполне. Маршруты ведь могут не только перебираться по очереди, как в случае предыдущей команды, но и напрямую задаваться, на строго заданные пути в строго заданное время.
Цитата:
А если в это время ещё и грузовой будет тащиться, ему тоже надо задать свободный боковой для стоянки под обгон пассажирских
|
а вот тут всё интереснее. Необходимо "объяснить" грузовому, как ему поступать. Если делать это с помощью команд, то можно создать переменную "разрешение отправления грузового по станции *** в нечётном направлении" и переводить эту переменную с помощью правил в определённый момент времени например в 2, когда грузовой должен стать на боковой путь и ждать, и возвращать в 1, когда ему можно отправиться. А в самом грузовом, в задании, использовать команду "if else" (
http://forum.trainzup.net/showthread.php?t=2098&page=1) по проверке этой переменной, и в блоке "if переменная = 1" добавить "приём на путь приоритета 5" + "движение до красного под светофор"+"ожидать пока переменная равна 1" + "собрать маршрут на отправление приоритета 0"+ "движение до следующей станции и переход к следующей команде за 3 км до неё", а в "else" "собрать маршрут приоритета 0"+"собрать маршрут на отправление приоритета 0"+"движение до следующей станции" . То есть грузовой будет реагировать на то, мешает ли он движению, и если да, то будет становиться на боковой путь этой станции.
Естественно zxPath не может самостоятельно ни строить расписания, ни определять принадлежность путей, ни готовить варианты развития событий для конкретной станции, но если пользователь укажет ей, в каких случаях на какие пути (или категории путей) требуется принимать поезд, и как реагировать поезду на заданные ситуации (например на то, что требуется встать на обгон пассажирским или скрещение, а не лезть на перегон) она и не такое может. Главное - фантазия и довольно кропотливый труд. Особенно с настройкой стрелок, т.к. для прокладки маршрутов необходимо чтобы и левер стоял позади точки сплайна, и путевых столбиков и прочих траксайдов между ним и точкой сплайна небыло, и чтоб разрывов путей нигде небыло. А на карте "Крым" первого и последнего многовато.