i have 8 workers working on a single proc.each worker when finishes the work ,it comes to a buffer ,carry the part and work at the station.similarly when other worker is free he comes to the buffer ,carry the part and work there.Problem is how i can write a method on the exit cntrl of buffer so that which ever worker is free he comes to the buffer on its own and carry the part...i have tried a lot of things but not getting satisfactiry results...i just want to model a situation where whihcever worker is free he comes to the store ,takes the part and so on..
You can use a buffer with exit strategy "Carry part away" to get the worker carry the part to a station and work on it. But I think you need to sketch the system a bit more clearly. If there is a fixed combination of storage space and work station, then you can use separate buffers.
i am using carry part away but the problem is in the mutarget,i can only feed one destination there.but the destination changes each time.i am not able to write a method for MU target where mu target changes to the workplaces where the worker finished the job.
So, as soon as the worker has finished a job, there is a new one waiting? You can use an exit control at the workstation to push a new MU from the storagebuffer. For the buffer you then should implement an exit control (front-triggered) that first sets the destination, then applies the move command. Once you attempt to move the MU, the service request is made. I did not test it now, but I am 98% sure that this would work.
I had a similar problem
And I did something like this...
-- What is the type on the carier, that need to be carried away
PartName := @.cont.name;
-- Set the destination according to the object type and where it is supose to go
-- Look in a table to find the needed destination
@.Destination := str_to_obj(to_str(DestTable["Line Address", PartName]));