TrainEnter

Помещает поступающую в объект заявку-поезд на заданный путь
указанной железнодорожной сети и вставляет заявку типа Train
в диаграмму
процесса поезда. Новый поезд помещается на путь, и Вы должны убедиться,
что на
этом
пути есть свободное место для всех вагонов (при создании поезд должен
полностью находиться на одном пути). Вам нужно задать, где будет
помещен поезд (точка раcположения его первого вагона
задается как расстояние от начала пути),
а также направление поезда относительно пути.
Обычно используется в связке с объектом TrainExit
для моделирования каких-то процессов (например, части движения поезда) на более высоком уровне
абстракции, а не на детальном, физическом уровне.
Вот лишь два варианта использования связки объектов TrainEnter - TrainExit:
- Перед въездом на путь поезд должен дождаться определенных
ресурсов. В этом случае диаграмма процесса может иметь следующий вид:
вначале объект TrainSource
(с выбранной опцией Оставить как заявку (потребует объекта TrainEnter в дальнейшем) ) в параметре После создания), который создает поезд, но не помещает его на
путь железнодорожного узла; затем - объект Seize,
захватывающий необходимые ресурсы; и уже затем - объект TrainEnter, который
и добавляет поезд на указанный путь железнодорожного узла.
- В модели есть несколько железнодорожных узлов, моделируемых различными объектами RailYardсоответственно.
И поезда могут перемещаться из одного
железнодорожного узла в другой, но мы не хотим соединять эти
узлы
графически, поскольку физические детали этого перемещения нас
не интересуют
(например, мы не хотим рисовать слишком длинный участок железонй
дороги) - мы можем просто задать это перемещение с помощью обычной
задержки,
использовав объект Основной библиотеки Delay. В
этом случае мы можем извлечь поезд из одной железнодорожной сети с
помощью объекта TrainExit,
затем пустить заявку-поезд через последовательность объектов Основной
библиотеки (в данном случае - через объект Delay), а
затем поместить поезд уже в другую железнодорожную сеть с помощью
объекта TrainEnter.

Параметры класса
- Класс
поезда
- Класс поездов, поступающих в этот объект. Он должен быть
унаследован от класса Train, который, в
свою очередь, унаследован от Entity.
Если через объект проходят поезда какого-то определенного
класса, то рекомендуем Вам
указать
его здесь, чтобы иметь возможность напрямую обращаться к собственным
полям
этого класса в динамических параметрах, таких, как Действие при
выходе.
Синтаксис: T extends Train
Значение по
умолчанию: Train
- Класс
вагона
- Класс вагонов, создаваемых этим объектом. Он должен быть
унаследован от класса RailCar (обратите
внимание, что класс RailCar НЕ является
подклассом класса Entity), и
поэтому, в отличие от поездов, не может обрабатываться блоками
диаграммы процесса). Если Вы создаете вагоны какого-то своего класса,
то рекомендуем Вам указать
его здесь, чтобы иметь возможность напрямую обращаться к собственным
полям
этого класса в динамических параметрах, таких, как Действие при
выходе.
Также в этом случае Вам будет нужно вызвать конструктор этого класса в
поле параметра Новый
вагон.
Синтаксис:
RC extends RailCar
Значение по
умолчанию: RailCar
Порты
- InPort in
-
Входной порт.
- OutPortPush out
-
Выходной порт.
Параметры
- Объект RailYard
-
Здесь нужно указать имя объекта типа RailYard, задающего
конфигурацию ж/д узла, на котором будут появляться новые поезда.
Синтаксис: RailYard railYard
- Путь (ломаная)
[динамический]
- Ломаная, задающая путь, куда будет помещен созданный поезд
(все вагоны при этом должны полностью находиться на этом пути).
Синтаксис: ShapePolyLine track
Значение
по умолчанию: null
- Смещение первого вагона, м. [динамический]
- Расстояние от начальной точки пути до
переднего торца первого вагона поезда. Если Вам удобнее измерять
смещение от конечной точки пути, то Вы можете использовать локальную
переменную tracklength.
Синтаксис: double offset
Значение
по умолчанию: tracklength - 10
Локальная
переменная: double
tracklength – длина пути
- Направление на пути
- Задает, как направлен поезд относительно направления пути:
Вперед (первый вагон
ближе к концу пути) – поезд направлен так же,
как и путь
Назад (первый вагон
ближе к началу пути) – поезд направлен
в противоположную сторону
Синтаксис: boolean orientation
Значение
по умолчанию: Вперед (первый вагон ближе к
концу пути)
- true
- Действие при выходе
[динамический]
- Здесь Вы можете задать код, который будет выполняться в тот
момент, когда поезд будет покидать этот объект.
Синтаксис: void onExit
Локальная переменная:
T train
– поезд
Функции
int
count() - Возвращает количество поездов, покинувших объект.