I am an erasmus student in the Technische Universität Hamburg-Harburg where I am doing my master thesis. One of the parts of the thesis consists on simulate a gear box assembly line which produces 2 types of products.
- A gear box with 2 stages---> Gear box type 2
- A gear box with 3 stages---> Gear box type 3
The line is composed by 6 workstations and 2 workers and in distributed in a line layout. Each worker has 3 workstations assigned. The "worker 1" has assigned the 3 first workstations, so he carries out all the operations assigned to workstation 1, workstation 2 and workstation 3 and then he puts the part in a buffer where operator 2 takes the piece and start his work in the workstation 4, workstation 5 and workstation 6. Then, operator 2 puts the piece in a table where another operator which is not included in the simulation, prepares the
pieces for their shipment
We know that the 16,67% of our orders are from gear box type 2 whereas the rest of the orders, 83,33%, are from gear box part 3, so I have ordered the source that the orders arrive with these percentages.
The main problem is the following. Both gearbox types have the almost the same operations for their completion, they have to move from workstation 1 to 6 but the gear box type 3 has 5 more operations than gear box type 2, so what I want is that the model recognize the type of gear box that the source create, then depending on the type it has to carry out the specific operations in each workstation.
I've been reading a manual but I am no able to do what I've explained. From what I have read I should create a table which include the 2 types of gearbox and then in a colum a subtable with each workstation, then inside each workstation I should create another subtable with each worksteps or operations that the operators must follow and their times. Then I have to program it with a model. I am not able to do that, so I would be very grateful if someone could help me.
The other problem that I have is in the source. In the reality operators have to do the operations of a workstation, move to another workstation, and then to the last one they have assigned, put the piece in the buffer/table and return to the first workstation they have assigned to start a new cycle. Well, let's imagine that operator 1 is working on the workstation 1 and the source releases an order, what happens is that operator 1, instead going to workstation 2 to follow with the sequence, goes to the table to catch the order that the source has released. To avoid this what I've done is to change the time the source releases an order to 5 minutes but this is not correct because in the reality. What is correct in the reality is that always an order is waiting for the operator. How can I change solve this problem?
Probably my problems are very simple but I've never used Plant Simulation before so I am completely a beginner and I don't have too much time to solve this.
Thanks in advance!
PD: I attach my file if anyone wants to check it out. It is done with version11
"...that the model recognize the type of gear box that the source create,"
Assign different names in the table of the source- than you can use the names of the MUs for regognize the types.
You can use the exit strategy: MU attribute --> name to select different successors tor the two different types.
For avoid the early call of the worker by the new part you can wait, until the worker has completed his job. E.g. exit control in the buffer: wait until the worker is back in the workerpool:
waituntil workerPool.occupied prio 1;
Thanks for answer!
What I need is that the model recognizes the type of the pieces that is released and also I want that the operator go with that piece to the workstations and execute the respecives operations in function of the gear box type he has taken. I need more information because I don't know how to do that.
The thing is that I don't know how assign to each gearbox type, the workstations they have assigned as well as the operations that must be done in each workstation in function of the gear box type we have. And that's the problem!!
No matter if the order is from gear box type 2 or 3, the workstation's sequence is the same (from workstation 1 to workstation 6), what changes is the operations that must be done in each workstation in function of the gearbox type.
So the question is, how can I say to the model:
1. indenty the type of gearbox is released,
2. Take that piece to the workstation 1
3, Execute the specific operations assigned to this workstation for this specyfic gearbox type
Then the operator has to move to the next workstation and execute the operations corresponding for this workstation.
An example would be:
The source releases a gear box type 2 order, then operator takes it and go to the workstation 1, There he executes all the necessary operations and go to workstation 2 where he does the same and so on.
I don't know how to build that, and I think I am not explaining well but It is a little bit difficult to explain that in a message
The things that change are:
- The demand: we have an annual demand of 42.000 units, 35.000 are from gear box type 3, only 7.000 are from gear box type 2.
- The number of operations to get a gearbox.
The type 2 needs 3 operations in the first workstation, 5 operations in the second workstation, 4 operations in the third workstation, 4 operations in the fourth workstation, 3 operations in the fifht workstation and 3 operations in the last workstation .
Type 3 needs exactly the same operations that the type 2, but in the third workstation it needs an adicional operation as well as in the fourth workstation where it needs 4 adicional operations.
- Due to the different number of operations, the times required to get a gear box type 2 is diferrent than the time to get a gear box type 3.
you can define the processing time for the stations as List(type). So you can define in a table for each MU-type the processing time
Yes, what you say is true, but what I want is to introduce the times for each of the operations or worksteps that must be done in the workstation (the sum of all the operations will be the processing time at this workstation that you have mentioned) in function of the type of gearbox that is going to be assembled, not the total processing time of each gear box type.
I want to do it so, because in that way, we can see the effect of changing the time of one specific operation. But I don't know how...
you could define for each station a table (column-heads: name of the gearbox, in the column the times for the process steps)
In the entrancecontrol (before actions) you can calculate the sum of the proctimes and set it as ProcTime of the station:
procTime_station1 is the name of the table.
Thank you! I think that it could work, but now, how can I tell the program that it should take the times of the first column for the gear box type 1 and the times of the second column for the gear box type 2?
I mean, when an operator takes a part, to assemble gearbox type 1 and goes to the workstation, how does the program know which column of times must use?
Another question, this code should be introduced in the tool "Method"??
Sorry about my ignorance.
" this code should be introduced in the tool "Method"??"
yes, and the method you must assign to the entrance control of the station (tab Controls). You must also activate the option "before actions".
The method access the MU with @, @.name is the name of the MU, that triggers the control.
If you write the name of the MU in the column-head, than you can use the MU name as a key in the table. So the method finds the right column automatically.
procTime_Station1 in the program is the name of the table with the times, this you have to adjust for each station.