question

Eamon O avatar image
0 Likes"
Eamon O asked Jason Lightfoot answered

Referencing or creating internal lists in Object Process Flow

I'm trying to reference an internal list in an object process flow, but it instead references the singular original list in the window, not a "per object" list like I want. See the "debug contents" label applied to tokens for the decision directly below it. Screenshot and model below:

1666394353639.png

List Managing Test r2.fsm

Context: we want to use bi-directional conveyors to take product through intersecting routes. I'm doing this using two lists per conveyor: a Global List "Queue," and an internal "Reservations" List. When product exits stations, it stops and pushes itself to each "Queue" list for the conveyor in its route, sending itself to its puller in route order. Conveyors manage these Queue Requests, pulling pallets when they can take them. Whenever product gets pushed to its Queue or exits the conveyor (thus completing its reservation for its route) the conveyor assess the first entry in Queue and pulls it into its personal Reservations List if Reservations is empty, otherwise it checks to see if the target direction of the first in Queue matches the target directions of the product in its Reservations. If it matches, it pulls it into Reservations, otherwise it waits for Reservations to empty. This last bit is where I'm stuck. I can't peek at the first entry in Reservations (named Content in model) per conveyor successfully.

I'd also accept a constructor for internal lists, but right now the only list contructor I can find creates references to pre-existing global lists.

If I need to, I can manually create Global Lists for all the Conveyor Reservation Lists too, but I'm hoping we can figure this out for scalability.

Thanks in advance!

FlexSim 22.2.2
bi-directional conveyorinternal lists
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

Jason Lightfoot avatar image
0 Likes"
Jason Lightfoot answered

Instead of testing the list entries in a Decide activity just use a Pull activity to pull from the list leaving the entries on the list with a minimum quantity of 1 and a timeout that sends to port 2 if unsuccessful. That way you don't need to worry about the list instance.

You can always partition a global list by the instance too - so there are lots of options.

5 |100000

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