I´d like to share this assembly solution I created to simulate a production system operations are realized directly over a moving belt conveyor.
Basic approachs (like the one below) that breaks the line and uses singleproc between each segment was not ok for me. It does not represent the mandatory synchronism between each portion of the line and the cicle time in which the main part moves over each workspace.
I tried the use of the "Cycle" object, to ensure synchronism, but then the concept of the Line with speed and worspaces can´t be considered.
So I use other approach that really reduced the model's representation gap.
To represent the assembly line like the one described, I developed a solution using a Line object with virtual sensors.
I designed the line and the sensors in a way that a pair of sensors limit each work space. The workspace was designed as a new frame containing at least a mainBuffer, a SingleProc and a Outbuffer. In some cases, other object to control sub processes and moving raw parts can be putted together.
The relation between the main part that moves in the main line and the process execution taking place in the workplaces subframes is achieved by using the concept of virtual work orders, like explained bellow:
When the front of a main part arrives the sensors that marks the beginning of a work place, the sensor control duplicates it and place the new MU on the mainBuffer of the subframe. (Actually, I figured out the duplicating a MU in a method called by a sensor do not correctly duplicate all statistical data, so I work around this problem by making the main part move to the workplace main buffer, the duplicating it and finnaly moving it back to the line in the same position as before)
The process time of the real workplace is indicated as the process time of the mainProc, as well as failures times.
The main part continues to move through the main line until its rear eventually reaches the sensors that represent the physical operation limit for that workplace. When it happens, the simulation verifies if the process on the virtual production order related to that main part is done. If this is not the case, the Line is stopped and that work place is marked as blocking, until the process is finished.
Once the simulation enters this stopped line state, it will start a loop to evaluate each workplace, waiting for all of them to be “not blocking” again, so that the line can start moving again.
Once the process is finished on the workplace subframe, the main MU located on the line is substituded by the one that has been processed, so that statistical data are not lost.
The workplace, sensors and mainProc processing times are dinamically configured by the init method, that looks into a specific configuration table.
It would be great to have your comments over the solution!