I am currently working on a small project and would like to optimize the loading strategy of my cross sliding car object (see the attached screenshot).
The primary goal of my project is, that the cross sliding car is loading one MU from "Waiting_Pos" and than loading another MU from "Waiting_Pos1" before transfering both to either one object with the name"Transfer(x)" or to two different objects with the name "Transfer(x)".
Second goal: To make it even more difficult, the car can also just transfer one MU to a station "Transfer", if the other object "Waiting_Pos(x)" is not occupied. In other words, if it makes no sense for the car to wait for the loading of a second MU from another object "Waiting_Pos(x), it should go straigth to an object with the name "Transfer(x) to unload the MU there.
In general, is it feasible two load MUs from two different objects and transfer them to one or two different objects? And if yes, has somebody an idea, how to start? I greatly appreciate every suggestion/ hint.
Best regards & thank you in advance!
Solved! Go to Solution.
Yes, this is something you can model with the Transporter. I have done something similar modeling a pallet shuttle that picks up a pallet at one of two conveyor segments and then delivers it to one of two other conveyor segments.
Having a multi-load Transporter does not add much complexity to the model.
My suggested approach is to place sensors at the end of each of the Wait_Pos objects. When an MU reaches the sensor, the car object is dispatched and routed to the loading location. Once loaded the car will be routed to one of the Transfer objects for unloading.
So you'll need to add a method for dispatching the car and another method for routing the car. The routing method will control the car by setting the Stopped attribute to true (start) or false (stop) and also setting the travel direction using the Backwards attribute.
You'll probably want to add some sensors to the track to mark the car loading and unloading locations.
I hope you find this helpful.
thanks for you suggestion! I did already start to create a model, taking your suggestions into account.
But I do have one question regarding the attribute backwards. How do I define the positions on the track, where the method decides, if the attribute backwards of the car is set to true or false.
For example: Waiting_Pos 1 calls the car to load an MU. If the car is between Wait_Pos and Wait_Pos1 the attribute backwards should be set on false. If the car is between Wait_Pos1 and Transfer, it should be set on true. Can I somehow use the positions of the sensors?
Thanks a lot!
Yes, you can use the sensor positions.
If you place sensors on the car's track at Wait_Pos and Wait_Pos1 and also each of the transfer locations, you could compare the car's front edge with the sensor position.
For example, if the car is to load at WaitPos which is marked by a sensor with ID = 1, then
if theCar.FrontPos > Track.SensorID(1).Position
theCar.Backwards := true
theCar.Backwards := false
just out of curiosity, did you achieve the result with the CrossSlidingCar library or did you build "your own" cross-sliding-car with the basic object "Transporter"?