Показать сообщение отдельно
Старый 01.01.2017, 23:28   #74
shalex
Местный
 
Регистрация: 08.07.2015
Адрес: МО
Сообщений: 2,865
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 3 раз(а) в 2 сообщениях
Сказал(а) спасибо: 4,665
Поблагодарили 3,280 раз(а) в 1,176 сообщениях
Все 'Спасибо' этого пользователя. :
0 за это сообщение
1 Всего
Репутация: репутация неоспорима (3291)
По умолчанию

Кажется получилось по другому. Сделал на пост-обработчиках(follow-up) для расписаний (schedules). Почему то в пунктах назначений (destination) нет таких обработчиков. Пришлось разбивать одно расписание на несколько частей, каждая из частей запускает следующую часть через follow-up. Для целей тестирования последняя часть запускает первую и все повторяется, пока не остановишь

Логика такая:

При расцепке выполняется две операции:
- сама расцепка
- блок, где остается состав, закрывается (out of operation).

Когда надо провести сцепку, то выполняется серия действий (actions):
- сброс датчиков, на которых стоит состав без лока (иначе лок отказывается ехать на блок)
- открытие этого закрытого блока (open)
- резервирование этого же блока (reserve)
В итоге, визуально, вроде заметно только последнее состояние- блок занят под маршрут

Далее лок идет согласно расписанию(schedule), на блок с составом и там с ним сцепляется.
Длина состава подобрана так, что крайнему вагону не хватает буквально 5 см до концевого датчика, от которого и срабатывает остановка на блоке. Канеш, момент сцепки выглядит не на 100% хорошо, т.к. поезд в реале откатывался бы назад на 6 метров

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

Последний раз редактировалось shalex; 02.01.2017 в 14:21.
shalex вне форума  
Вверх
4 пользователя(ей) сказали cпасибо: