Jonathan avatar image
Jonathan asked Jason Lightfoot commented

Simulate different number of operators without experimenter

My model is a conveyor with 4 stations on top. Each stations center is to its own operator.

The process times for my flow items are pulled from a global table. The process times are different depending on how many operators are working and what part type they are working on.

What I would like is to use a table or something similar to choose the number of operators that are working. Without using experimenter as this is for a particular presentation.

The scenarios are 2, 3, or 4 operators. I would also like if the unused operator (and possibly station) could be hidden as well.

My current, working, way of doing this is having all three scenarios built in 3 separate parts of my build space and running from the same schedule simultaneously, which has its own pro's and con's. The main drawbacks are my computer specs.

I am to eventually model a large portion of our plant with this model included to help us determine process flow and scheduling, so I can't keep using the 3 separate models.

I have only recently completed the core training course so please be descriptive and ask questions if I am not clear. Thank you.

I am unable to share my model file. Apologies in advance.

FlexSim 20.2.3
flexsim 20.2.3multiple operatorsstationsscenarios
· 2
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Jeff Nordgren avatar image Jeff Nordgren commented ·

Hi @Jonathan S3, was Aida Chaikh's answer helpful? If so, please click the red "Accept" button on their answer. Or if you still have questions, add a comment and we'll continue the conversation.

If we haven't heard back from you within 3 business days we'll auto-accept an answer, but you can always unaccept and comment back to reopen your question.

0 Likes 0 ·
Jason Lightfoot avatar image Jason Lightfoot ♦ commented ·
Why wasn't the experimenter and parameter table used for this? You just set the model to the scenario each time you want it configured differently for an interactive run.
0 Likes 0 ·

1 Answer

Aida Chaikh avatar image
Aida Chaikh answered Jonathan commented

Hello @Jonathan S3,

I have attached a model with 2 processors and a global table. In this global table there are processor's time and num of operators that each processor needs. To change the number of operator there is a code in the user events that it changes this value in the instant 0 of the simulation.

I hope it helps!

· 1
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Jonathan avatar image Jonathan commented ·

Thank you. This wasn't exactly what I was looking for but it did help me figure out a way to do what I needed. So you didn't give me what I wanted but you gave me what I needed, which was a bit more helpful in the end!

I needed to be able to turn a station on a conveyor and its associated operator essentially on or off, and allow product to flow across that section of conveyor as if the station and operator weren't there.

What I ended up doing was writing a switch statement for the stations to "return 0" for their 'Process Condition - Always Process' statement if I set a value to 0 in a global table. I also added this code to the 'Use Operator' value so the assigned operator wouldn't walk over there on arrival.

Currently the operators on arrival start animation still triggers but the operator doesn't travel to the station and the flow item moves across the station as if it weren't there. This enables my dashboard throughput statistics to accurately reflect my number of active stations and total line throughput, and I will be able to set this table value in experimenter to run my different scenarios.

Here's my switch statement to return a global table cell value for the stations Process Condition - Always Process statement for others reference:

To explain:

Global table "ProgressiveScenario" is [1][1] and I put 2, 3, or 4 based on how many stations I want operational.

The switch statement sets a value, offset, based on that case and returns a cell value in another global table called "BuilderTimes" which is either 0 or 1.

BuilderTimes also lists my process times for each station dependent on which operator scenario I'm running and which part type they're working on.

To get process times I have a similar switch statement in process time and it returns that table value as the mean value of a statistical distribution statement. This way I get a bit of variance as operators are not robots so they do things a little different every time.

0 Likes 0 ·
1603895640127.png (25.7 KiB)

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.