What is the most default way (involving least custom implementation) that I can adjust the quantity of a type of machine (in a location)?
For example, if I want to use this quantity in the experiment manager, how can I set it as an input variable?
I thought of using a parallelproc and adjusting the x or y dimension, but if the activity needs individual services (like workers) then this does not work because these apply to the proc.
Thanks in advance!
Solved! Go to Solution.
What you could do, is create individual objects in a script, based on a variable. Basically, you need to use two commands: createObject and connect. It is also wise to register the thus created objects in a table, so that you can easily delete them.
Here is a code snippet:
for i:=1 to NumberOfObjects loop obj:=.MaterialFlow.SingleProc.createObject(current,i*20,0) .MaterialFlow.Connector.connect(MyInfeed,obj) .MaterialFlow.Connector.connect(obj,MyOutfeed) MyObjectsTable.appendRow(obj); next
Thank you for your answer.
I thought about this approach, but I hoped that there was a default feature to replicate a proccessor 'in place'. I will accept this answer soon unless someone else can achieve this without code.
Actually, there is a second option.
You could create a model with the maximum amount of SingleProcs or other objects at the outset. In the ExperimentManager you should then disable one or more of these objects (e.g. set EntranceLocked=true). No code required, just the "maxmimum" model.
Thank you both for taking the time to respond to my question.
simulator, Im not sure about the accuracy of scaling the cycle time and the concern about services that I mentioned, and I cant see it happening in the model you attached.
In summary, it seem like there is no elegant way to achieve this, but the two alternatives proposed by Nomden will both work.