question

Amit Kulkarni avatar image
0 Likes"
Amit Kulkarni asked Amit Kulkarni commented

Pull from list based on conditional decide

In this simple model an operator is performing a case picking operation from a pallet on the conveyor. The number of cases that can be picked varies between 1-10. Currently all the cases on the pallet are picked because of this conditional decide activity that checks for the list output.


1645199182779.png

If I change the condition to

getstat(getactivity(processFlow, "List"), "Output", STAT_CURRENT, current) == 5

only one case is picked and the model stops.

I have also tries using the Queue content as a condition to decide if there are any more items to pick, but I think I am not implementing it correctly.

What is the correct condition to achieve the said behavior ? I know I am very close on this one!

CasePicking_From _Conveyor_v2.fsm

FlexSim 22.0.1
pull from listconditional pull
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

Mischa Spelt avatar image
0 Likes"
Mischa Spelt answered Amit Kulkarni commented

Instead of checking if there are more cases to pick using a Decide, you can use the Max Wait Timer functionality of the Pull activity instead.

Set it to wait for zero time, and if the pull fails, release the token through an alternative port:

1645200811775.png

1645200782286.png



1645200782286.png (41.0 KiB)
1645200811775.png (28.3 KiB)
· 11
5 |100000

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

Amit Kulkarni avatar image Amit Kulkarni commented ·

Thanks for your answer! Interesting approach! However it seems in my model the token does not enter the pull activity as in yours. Did I miss anything?

CasePicking_From _Conveyor_v3.fsm

0 Likes 0 ·
shanice.c avatar image shanice.c Amit Kulkarni commented ·

Hello, I think it's because the token in your Source is create earlier than the first pallet onArrival the DP1, the token which acquire operator was destroyed because it couldn't pull anything. You could try to use "Event Triggered Source", or set the token's first creation timing at least later than the first pallet onArrival DP1.

1645359701534.png1645360086963.png

0 Likes 0 ·
1645359701534.png (34.4 KiB)
1645360086963.png (23.2 KiB)
Jason Lightfoot avatar image Jason Lightfoot ♦♦ shanice.c commented ·
Yes, or create a single token that then repeats this loop but with a wait for event activity to detect the pallet arrival.
0 Likes 0 ·
Show more comments