RailWorks Objects

Overview

Name Description Image

Source Train

The Source Train object creates, with the help of the Process Flow activity Create Train, the trains that can be used in the simulation.

Rails and Curvedrails

Rails are the objects that represent the paths used by the trains to travel on the created system.

Rail System

The object Rail System is responsible for organizing the rails in groups and applying custom properties for each group.

Rail Control Point

You can add the Rail Control Point object at any part of the rail, this object signals that there is a task to be fulfilled at that position.

Station

One of the objects that can be connected to the Rail Control Point is the Station, its functionality is to make the train interact with the default FlexSim objects.

Locomotive

Locomotives are responsible for dictating the train power and speed.

Wagon

Wagons are responsible for keeping values like the weight of the train load.

Rail Crane

The RailCrane is also used for loading and unloading Flowitens from our Wagons, but different from the Station, it has an animation where the Flowitem is moved with the crane.

GIS Portal

GIS Portal is responsible for connecting the Rail object with the GIS Map.

Source Train

The Source Train object creates, with the help of the Process Flow , the trains that can be used in the simulation. The Source Train itself does not create the train, but it needs to be used alongside the Process Flow task that creates the train.

Source Train

Rail

Custom Triggers

The Source Train object has the following custom triggers:

Name Description
onCreate Fires when a train is created using the Souce Train object that fired the trigger.

Rails and CurvedRails

Rails are the objects that represent the paths used by the trains to travel on the created system. They come in two types: rail and curved rail. Each Rail/Curved Rail represents a sector on the rail system, meaning that each object will hold only one locomotive at a time.

To connect a rail to another rail simply drag its end to the beginning of another rail, their Connect Points will connect to each other instantly and the system will recognize this connection as a possible path. In order to make a train move within the rails, you must tell it what its destiny is via the Process Flow activity Move Train.

Rail Object

Rail

CurvedRail Object

CurvedRail

Rail Panel

Rail GUI

The following properties are on the Rail panel:

Rail Speed Limit: Sets the speed limit for the selected rail.
Virtual Distance: Sets if virtual distance will be used and the virtual distance for the selected rail.

CurvedRail Panel

CurvedRail GUI

The following properties are on the CurvedRail panel:

Curve Angle: Sets the angle for the selected CurvedRail.
Radius: Sets the radius for the selected CurvedRail.

Custom Triggers

The Rail object has the following custom triggers:

Name Description
onEntry Fires when a Locomotive or Wagon enters the Rail.
onExit Fires when a Locomotive or Wagon leaves the Rail.

Rail System

The object Rail System is responsible for organizing the rails in groups and applying custom properties for each group, such as the rail speed limit and the algorithm used for path decision. On the creation of the first rail of the model, a Rail System is created automatically.

Rail System

RailSystem

RailSystem Panel

RailSystem GUI

The following properties are on the RailSystem panel:

Timetable Logging: Sets if the timetable will be created and populated for the current simulation. See more about the RailwayTimetable tool.

Rail Control Point

You can add the Rail Control Point object at any part of the rail, this object signals that there is a task to be fulfilled at that position. The train is always trying to figure out what its next destiny is, if the next destination is the Rail Control Point it activates that task.

The configuration of what type of task it holds is done on the current Rail Control Point, and the other objects involved in this task should be connected to the Rail Control Point as well. All the communication between the Rail Control Point and the object doing the task is made through message exchange.

Rail Control Point

RailControlPoint

Custom Triggers

The RailControlPoint object has the following custom triggers:

Name Description
onArrival Fires when a Locomotive or Wagon arrives at the Control Point.
onPass Fires when a Locomotive passes through a Control Point object, extending the effects to its coupled wagons. It is possible to define new values for the Train speed table.
onContinue Fires when a Locomotive departs from a previous Control Point stop, extending the effects to its coupled wagons.

Station

One of the objects that can be connected to the Rail Control Point is the Station, its functionality is to make the train interact with the default FlexSim objects, it can load or unload the wagons by consuming or creating Flowitens depending on the task, and assigning its value to the Wagon object, or even refuel the train.

Station

Station

Station Panel

Station GUI

The following properties are on the Station panel:

Max Weight: Sets the max weight for the selected Station.
Units Per FlowItem: Sets the "Units Per FlowItem" rate. That means that one flow item will be X units in the Station.
Start Weight: Sets the starting weight for the selected Station.
FlowItem Class: Sets the type of FlowItem that the Station will produce.

Custom Triggers

The Station object has the following custom triggers:

Name Description
onFuel Fires when the station is fueling a Locomotive or Wagon.
onLoad Fires when the Station is loading something into a Locomotive or Wagon.
onUnload Fires when the Station is unloading something into a Locomotive or Wagon.

Locomotive and Wagon

The train is divided into a few Task Executers as Flowitens, you can have two types of Task Executers, the Locomotive and the Wagon, Locomotives are responsible for dictating the train power and speed, while Wagons are responsible for keeping values like the weight of its load.

Freight Locomotive

Locomotive

Passenger Locomotive

Locomotive

Ore Wagon

Wagon

Passenger Wagon

Wagon

Hopper Wagon

Wagon

Platform Wagon

Wagon

Tank Wagon

Wagon

Rail Crane

The RailCrane is also used for loading and unloading Flowitens from our Wagons, but different from the Station, it has an animation where the Flowitem is moved with the crane. This object is responsible for the communication between the RailWorks library objects and the default FlexSim objects, it connects the train on the rail with a Queue by default.

Rail Crane

RailCrane

RailCrane Panel

RailCrane GUI

The following properties are on the RailCrane panel:

Movement By: Sets the type of calculation to the movement, that can be "Speed" or "Time".
Load Time: Sets the Load Time for the selected RailCrane.
Unload Time: Sets the Unload Time for the selected RailCrane.
SpeedXY: Sets the speed in the XY axis.
SpeedZ: Sets the speed in the Z axis.
Speed rZ: Sets the speed for the rotation on the Z axis.

Custom Triggers

The Station object has the following custom triggers:

Name Description
onLoad Fires when the RailCrane is loading something into a Locomotive or Wagon.
onUnload Fires when the RailCrane is unloading something into a Locomotive or Wagon.

GIS Portal

The GIS Portal object works as a connector for the Rail and the GIS Map functionality within FlexSim, with a simple connection with the Rail and the GIS Map's Point object.

It creates a TaskExecuter connected to de GIS Map and configure everything to send the train to another point, once the travel is finished it also erases the unnused objects and sets the train on the destination Rail so it can continue to travel/work with RailWorks's library activities.

GIS Portal

GISPortal

GIS Portal as a Sign

GISPortal

GIS Portal Panel

This object does not need a custom properties panel since it functions within basic FixedResource's functionality. It is expected that all the control of the ports can be configured with the built in options. All you have to do is connect (A) to a GISMap Point and connect (A) with another GISPortal to set it as a destination.

Using the Send to Port field configuration you can control to which GIS Map point your train will be sent.