TrainDecouple

Отцепляет заданное количество вагонов от поступающего поезда и создает новый поезд из отцепленных вагонов.
Изначально поступивший поезд (но уже без отцепленных вагонов) покидает объект через выходной порт out, а состав, собранный из отцепленных вагонов - через порт outDecoupled.
Объект корректно обрабатывает даже ситуации, когда отцепляется 0
вагонов, в этом случае первоначально поступивший в объект поезд просто
продолжает свое движение через порт out.
Если же от состава отцепляются все вагоны, то первоначально поступивший
в объект поезд продолжает свое движение через порт outDecoupled.
В собранный этим объектом поезд копируются свойства
первоначально поступившего поезда (скорость, ускорение и
т.д.). Местоположение вагонов во время отцепления не меняется.
Отцепление производится за нулевое модельное время, поэтому если Вы
хотите учесть в модели задержку, связанную с выполнением отцепления, то
добавьте в диаграмму процесса объект задержки Delay (сразу после объекта TrainDecouple).
Параметры класса
- Класс поезда
- Класс поезда, проходящего сквозь объект. Он должен быть
унаследован от класса Train, который, в свою очередь, унаследован от Entity. Если Вы используете для поездов собственный класс, то рекомендуем Вам указать
его здесь, чтобы иметь возможность напрямую обращаться к собственным полям
этого класса в динамических параметрах, таких, как Действие при входе.
Синтаксис: T extends Train
Значение по умолчанию: Train
Порты
- InPort in
-
Входной порт.
- OutPortPush out
-
Выходной порт для поступившего в объект состава (но уже без отцепленных вагонов).
- OutPortPush outDecoupled
-
Выходной порт для состава, собранного из отцепленных вагонов.
Параметры
- Отцеплять
- Параметр определяет, какие вагоны следует отцепить от состава:
Первые вагоны – заданное количество вагонов будет отцепляться от "головы" поезда (начиная с первого вагона).
Последние вагоны – заданное количество вагонов будет отцеплено от "хвоста" поезда (начиная с последнего вагона).
Синтаксис: boolean decoupleFirstCars
Значение по умолчанию: Первые вагоны (true)
- Кол-во вагонов для отцепления
[динамический]
- Количество вагонов, которое должно быть отцеплено от состава.
Значение должно находиться в интервале от 0 до общего количества
вагонов в поезде.
Если отцепляется 0 вагонов, то первоначально поступивший в объект поезд просто продолжает свое движение через порт out.
Если же от состава отцепляются все вагоны, то первоначально поступивший в объект поезд продолжает свое движение через порт outDecoupled.
Синтаксис: int nCars
Локальная переменная: T
train
– состав
Значение по умолчанию: 1
- Новый поезд
[динамический]
- Выражение, которое используется объектом для создания нового поезда. По умолчанию задан конструктор, создающий экземпляр класса Train.
Если Вам нужно, чтобы функциональность создаваемого поезда отличалась
от предлагаемой по умолчанию, то Вы можете задать свой класс поезда,
унаследовать его от класса Train и задать здесь конструктор уже этого класса, например, new MyTrain().
Синтаксис: Train newTrain
Значение по умолчанию: new Train()
- Действие при входе
[динамический]
- Здесь Вы можете задать код, который будет выполняться в момент поступления состава в этот объект.
Синтаксис: void onEnter
Локальная переменная: T train
– состав
- Действие при выходе
[динамический]
- Здесь Вы можете задать код, который будет выполняться в тот
момент, когда состав без отцепленных вагонов покинет объект через порт out.
Синтаксис: void onExit
Локальная переменная: T train
– состав
- Действие при выходе (для отцепленных вагонов)
[динамический]
- Здесь Вы можете задать код, который будет выполняться в тот
момент, когда поезд, составленный из отцепленных вагонов, покинет объект через порт outDecoupled.
Синтаксис: void onExitDecoupled
Локальная переменная: T train
– состав