question

charles-l avatar image
0 Likes"
charles-l asked charles-l commented

Processor is not passing destination label to list

Operators are controlled by process flow and are supposed to travel to the destination they inherit from a parent token. A Crew of operators is meant to load 23 boxes to a a group of processors (Chambers) continuously. The Processors process 23 boxes at a time, and should not start until all 23 boxes are loaded by the Crew. Three operators from the Crew are required for the load, and two operators are required for the unload.

I was able to model the desired behavior in Model 2 see attached. In Model 1, when I increased the crew size and number of Processors (Chambers) I experienced an error in the Unload Chamber process flow container.

The following error in my model is triggered:

time: 8914.611860 exception: FlexScript exception: Retrieving destination label property on node that does not exist at MODEL:/Tools/ProcessFlow/Chamber_Crew_Logic/Assign Labels: Destination~2>labels/1/2

The token's destination label in Process Flow is NULL/No path even though I set the Processor (Chamber 1) to push a flow items label to an Item List. This label can then be used in process flow to route the operators. I am not sure why the behavior happens in Model 1 but does not happen in Model 2. I could really use some help debugging, I've been staring at this for hours now.Model_1.fsmModel_2.fsm

FlexSim 24.0.1
labelmultiple operatorsitem listprocess flow debug
model-1.fsm (4.0 MiB)
model-2.fsm (4.0 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
0 Likes"
Felix Möhlmann answered charles-l commented

In model 1 the Decides are not set up properly. They send all tokens through the first connector and thus all three operators unload the same item into the processor. If you look at the processor's statistics after it received the first batch, you see that it has an input of 69 and output of 46.

1706857289211.png

The scheduled process finish events stay when the an item is moved out of a processor prematurely (like when unloading it to the object again). As a result each item has three seperate finish events associated with it and will also be pushed to the list three times. This can then lead to the item not existing anymore when it is pulled a second time.

The error message already gives you a good hint that this is happening, as it tells you that the node (item) on which the label "destination" was supposed to read does not exist.


1706857289211.png (23.8 KiB)
· 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.

charles-l avatar image charles-l commented ·
Thank you so much Felix. You've helped tremendously with my modeling efforts.
0 Likes 0 ·