problem with my Coordinated task sequence

problem with my Coordinated task sequence

hh_2105
Enthusiast Enthusiast
399 Views
9 Replies
Message 1 of 10

problem with my Coordinated task sequence

hh_2105
Enthusiast
Enthusiast

[ FlexSim 21.1.5 ]

SimModel_MCCWarehouseAutomation_autosave.fsm,

My organization is still new to flexsim. I am facing a bit of challenge understanding interface between process flow and 3d model my model is to be able to do the following, when Transfer Area 1 or 2 is empty operator is suppose to fill in an empty trolley on the transfer area. subsequently there is a source (from queue 1) pulling in 2 bins in a normal distribution every 10 seconds. then the operator is suppose to transfer 2 bins from warehouse to transfer area. the agv will then collect the trolley+2bins to be delivered to queue1. i am having difficulty to request operator r to transport 2 bins from warehouse with a single process flow as the current process flow only transport 1 bin. since there will be more queue that will be added with different pulling request to queue 1 i am quite clueless how i could repeat the process flow rather than doing it one by one. i am open to any suggestions provided as flexsim interface and function is still relatively new to me. thank you!

0 Likes
Accepted solutions (1)
400 Views
9 Replies
Replies (9)
Message 2 of 10

moehlmann_fe
Advocate
Advocate
Accepted solution

You do not actually pull two bins in the Process Flow. And if you do, you need to use a subflow to load each item in the resulting array label.

To make the model scale more easily you can:

- Use groups:
You can bind the number of created tokens in a source to the amount of objects in a group. This can for example be used to create one initial token for each of the transfer areas. Similarly, an Event-Triggered Source or Wait for Event activity can listen to events for a whole group. You can then assign the "Event Object" to a label, so you know which object fired the event.

- Use Object Process Flows:
The queues demanding the items can be modeled well by using an Object Process Flow. This essentially runs an independent copy of the flow for each attached object. The instance object is always accessible in the flow through the variable current.

I have build some example logic structures in your model.

simmodel-mccwarehouseautomation-fm.fsm

0 Likes
Message 3 of 10

hh_2105
Enthusiast
Enthusiast

Thank you Felix, the model provided was really helpful for me to progress.

As for object process flow in the model, there is only 1 queue hence using the variable "current" is able to handle the simulation. Say for example i have multiple queues (e.g 5 different Queue with a different pulling rate, what variable may i use aside from current to differentiate the pulling of the different queue. Is declaring new different variable for the other Queue the way? How may i do so if thats the case.

0 Likes
Message 4 of 10

moehlmann_fe
Advocate
Advocate

Any information unique to the instance objects should be stored on those objects in some way if possible.

For example, you can store the value that should be used in the source distribution on a label.

simmodel-mccwarehouseautomation-fm_1.fsm

0 Likes
Message 5 of 10

hh_2105
Enthusiast
Enthusiast

draft simmodel R1.fsm

Initially this current SimModel when running it was fine, but after saving and running the model again the operator are behaving weirdly and was different from the initial simulation ran although nothing was change.

1718764359025.png


in the initial simulation, the operator made the red path, however after saving and running the model the operators are making the blue path instead. any idea where I may have gone wrong?

0 Likes
Message 6 of 10

moehlmann_fe
Advocate
Advocate

I do not see this happen in the model you uploaded. The only issue I could find is that the query to acquire an assembly operator is wrong. It should be

WHERE value.zone = puller.queue.zone

value: The thing you want to acquire
puller: The thing trying to acquire something - in an Acquire Resource activity, this is always the token

0 Likes
Message 7 of 10

hh_2105
Enthusiast
Enthusiast

Thank you Felix. Ive now encountered a few more issues:


1) SimCrash when i declare count as current.Slots

for each delivery queue, i have added label slots so that they are able to receive 2 delivery instead of current 1 delivery. but when i ran it always crashes after.

1718958904615.png

1718958822513.png

2) my condition should be Group("TransferArea").subnodes.length==0 but it wont accept the condition

this condition is to illustrate if any of the queue in TransferAreaGroup have 0 items in its queue it should send the token to 1, however i am only able to do this for a single specific queue instead of a group of queues.
1718959194849.png3) also when performing step 2 above im trying to find a way for the main process flow to detect if step 2 is being carried out, if it is process flow should avoid continuing its source token


1718959286192.png

Do you have recommendations on how I could progress?


draft simmodel R4.fsm

0 Likes
Message 8 of 10

moehlmann_fe
Advocate
Advocate

1)

Setting the "Count" of a resource that links to an actual object in the model will create copies of that objects to match the count. In this case these copies are also instances of the Process Flow, which will create another copy because the resource is supposed exist twice...you might see where this is going -> infinite loop -> crash.

To allow a queue to receive multiple items at the same time just use a 'local' (instanced) zone.

2) and 3)

I'd suggest to place the empty transfer areas onto a list. You can then have two parallel processes that both try to refill them.

Process 1 is based on what you currently have in the main Process Flow. Tokens try to pull a trolley from the "Empty" list. Then try to pull an empty queue. Then acquire an operator to move the trolley to the queue.

Process 2 would be what you currently have in the Queue Process Flow, but instead of the Decide activity at the end, try to pull an empty queue. If there is one the AGV brings the trolley there, if not it brings it to Queue6.

draft-simmodel-r4_1.fsm

0 Likes
Message 9 of 10

hh_2105
Enthusiast
Enthusiast

Error: A token is leaving (possibly by proxy) without entering zone ""Zone: Max Slots at Delivery Point" in process flow "Object"

sim model link

Hi, I have managed to simulate the scenario that was mention in my previous comment, however i keep encountering the above mentioned error while using "Zone", why is this so?

0 Likes
Message 10 of 10

moehlmann_fe
Advocate
Advocate
Make sure that the token that leaves the Split activity through connector 1 also enters the Join activity through the first connector. The connector ranking determines which token is kept and which is deleted. This currently causes the token that entered the zone to be deleted and the other one to continue.
0 Likes