I'm having lots of problems in programming my plant as a PLC does.
Imagine this plant: a source of empty pallets linked to a buffer line linked to a big network (of lines and SingleProcs) linked to a drain.
I'd like to send one empty pallets out of the buffer line only when one SingleProc finishes its work (just to load the finished entity) but it must flow through an exact path of lines and it must be just ONE.
Is there a quick method to program this behaviour without programming the majority of the network nodes? (For example creating a list of all the lines that the empty pallet must pass through if SingleProc 1 needs one, if # 2 needs,.....and assigning the empty pallet its target SingleProc when the command "SingleProc 1 needs a pallet" starts)
Solved! Go to Solution.
if you could model your pallets as tansporter, then you could use the automatic routing function of Plant Simulation. You only need to connect the track-segments with connectors (should also work with lines), the pallet then finds its destination by itself.
You can program this in a "PLC style". you can write a pogram, that is called cyclically by a generator. In this program you can check your sensors and start the action.
Some things you need to take into account. How to detect the completion of a operation:
- look in the example in the observer of the SingleProcs, I have defined a user defined attribute completed, you can wait on the change from resWorking=true to resWorking=false, if the machine is occupied, the MU "knows" if the processing is finished (attribute finished) --> if the machine stops working and the MU is finished --> the process is finished
To avoid multiple pallets on the way, you can use a flag (in my example boxOnTour). Set it to true, if you release a Pallet and to false, if you destroy it in the drain.
In the cental control (PLC) you wait for the condition to move the pallet (machine completed + no pallet on the way) --> set a destination for the pallet, move the pallet and reset the attributes
The loading of the box you can make with a sensorControl, set a sensor near to the machine, activate "only if destination" and set the machine as destination. Then you need only one sensorControl for unloading all machines (see track.sensorControl).
freelance simulation specialist