question

Ghadir S avatar image
0 Likes"
Ghadir S asked Felix Möhlmann commented

How to use TimeTable along Down Behaviors in ProcessFlow

Hi,

So, I created 3 differents shift/group (each contains 4 operators and work 8h/day). I set a schedule for each shift with TimeTable & Down Behavior. I also created a group which contains all operators and added to Resource Operator.

However, when I launch the simulation, the system doesn't work properly and after a while, I get some errors.

Can anyone analysis my model and tell me what I'm doing wrong please ?

I should also mention that without any timetable or schedule, the model works perfectly.

LigneP3_V5.fsm

FlexSim 21.2.4
processflowtimetabledown behaviorresource operator
lignep3-v5.fsm (7.1 MiB)
5 |100000

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

1 Answer

Felix Möhlmann avatar image
1 Like"
Felix Möhlmann answered Felix Möhlmann commented

The state of an object doesn't stop a token from acquiring it as a resource. As long as it is in the group it can be acquired.

One way to deal with this is to use the query field to filter for actually available operators. First, you have to define a new field in the advanced properties of the Process Flow resource. This could be a label that denotes whether the operator is currently busy or not. In the attached example I simply check if the operator has an active task sequence. If not, the IsIdle field will have a value of 1.

1681223246054.png

In the acquire activity, I use this to filter for available operators. Since a request will not automatically reevaluated when the operator finishes a task sequence, I opted to have the tokens enter a Wait for Event activity which sends them back to the Acquire activity whenever a resource is released or a group member becomes available (finishes a task sequence).

1681223298546.png

Lastly I also changed your Process Flow to use task sequences instead of individual tasks. This means the operators will not interrupt their current task for a break. If you do want partial tasks to be possible (one operator starting a manual processor and passing to another operator) you will have to use preemption activities. (Have a separate token listen for the On Stop event of the time table for the respective operator and then preempt the token away from the current flow to acquire a new operator.)

1681223570775.png

lignep3-v5-fm.fsm


1681223246054.png (10.0 KiB)
1681223298546.png (7.8 KiB)
1681223570775.png (4.4 KiB)
lignep3-v5-fm.fsm (7.1 MiB)
· 4
5 |100000

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