The Rail Library contains seven blocks for defining the rail process logic in the library:
|Generates trains, places them on the tracks in the rail yard and injects the train into the train process flowchart. Is usually used as the starting point of the railway process flow.
|The block that controls the train movement. A train can only move while inside a TrainMoveTo block.
|Couples two trains and makes them one single train. The two trains to be coupled must enter TrainCouple at different input ports (and maybe at different times), and have two ends “touching” each other.
|Decouples a given number of cars from the incoming train and creates a new train from those cars, which exits the block via the output port outDecoupled.
|Takes the train agent and places it on the railway track. Together with TrainExit, this block is used to model part of the train movement on a higher abstraction level, namely without detailed physical level rail traffic modeling.
|Removes the train from the railway network and passes the train agent on to the regular process flowchart where it can go through delays, queues, decisions, etc. Together with TrainEnter, this block is used to model part of the train movement on a higher abstraction level, namely without detailed physical level rail traffic modeling.
|RailSettings is a detached block that offers the lower-level interface for the rail yard management based on Java functions and callback technique. You can use those callbacks, for example, to collect statistics on the rail car movement throughout the whole rail yard.
How can we improve this article?