The FlexSim Brazil RailWorks module consists of premade custom objects, designed to represent a real environment for the Rail problem modeling, with less configuration. Our approach is to unite 3D modeling with the Process Flow functionality, allowing object configuration and visualization through the native 3D FlexSim solution, and the rail system events to be triggered by the Process Flow, using not only defaults FlexSim Process Flow activities, but also new ones developed by our team.
Our solution simplifies the modeling process of the paths with the rails objects, the user must create the rails and connect them via proximity, that alone creates the path network on our path detection system. With this approach, you only need to indicate the positions which the train must move to, via process flow, and it will start moving.
Train movement, transporting material, loading material, unloading material, fueling trains on a station, coupling and decoupling trains, creating yards structures for storing and sorting trains, you can model all those processes with the RailWorks library.
FlexSim's solution for the rail system has two major differences from other market solutions. The first one would be that the RailWorks has two specific objects that represent the tasks present on a rail system (load/unload, refuel), while other solutions use more generic tasks to represent the process problem, this leads to more incomplete results. We consider every aspect during the task, like the possible amount to be unloaded or loaded, train weight, train volume, the time to complete the task, and so on, supported by the flexibility and task management of Process Flow.
Another huge difference is the way train movement usually works, on other solutions you either point the destination to each movement sector, making it take short steps towards its destiny, or you just make the train move forward, in this way the train will only go ahead considering the current switches states. With RailWorks, we provide two options to the path algorithm, one considering the shortest route to where the train must go, with the given possibilities at the running time, considering only your final destination, not each sector of the route. And the other one focusing on treating deadlocks, ensuring that your model will not have a train collision experience.
Our path algorithm works in two steps, the first one called “path creation" is done while modeling, the second one called “path selection" is called every time a locomotive enters a new rail. The path creation algorithm saves on a rail node all the rails that it can reach in the created system, this algorithm is called every time you connect two rails on modeling time. The path selection seeks for the information inside the path node created previously, looking for the path with fewer rails, knowing the path it points the next rail to the Locomotive, so it can continue to move.