question

kl avatar image
0 Likes"
kl asked Jason Lightfoot commented

Process flow logic with AGV

hi~ I'm currently working on the model that I use arrival schedule to create objects on 4 different source, and also give them labels according to the source number the objects are in.

1696428513691.png

In the process flow, I push token into list to get its labels, and hope to pull out the same label ( I use the query "WHERE token.from == token.item.MyLabel1" in the list) to sent the item to the place I designated using the table I created.

1696428867761.png

However, the token is not working properly now, hope to get some suggestion to fix it~ thank you!

My model: test.fsm

FlexSim 18.1.2
agvglobal tableprocesss flow
1696428513691.png (39.1 KiB)
1696428867761.png (16.0 KiB)
test.fsm (56.5 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.

Jason Lightfoot avatar image Jason Lightfoot ♦♦ commented ·

Hi @kl, was Kavika F's answer helpful? If so, please click the "Accept" button at the bottom of their answer. Or if you still have questions, add a comment and we'll continue the conversation.

If we haven't heard back from you within 3 business days we'll auto-accept an answer, but you can always comment back to reopen your question.

0 Likes 0 ·

1 Answer

Kavika F avatar image
0 Likes"
Kavika F answered

Hey @kl, first thing you should do is fix your model's errors. All your queues are throwing errors because they have no "Send to Port". If you want to use Process Flow to send queue content places, then simply have the Send to Port method be "First Available" with no output port connections - the item will stay in the queue until picked up by some other logic.

Looking at your table, it seems like the same Queues are always sending to the same Sinks. This would be easiest solved if you made a simple A-Connection from the Queue to the Sink you want. Then you can S-Connect (center connect) the Task Executer to the different Queues and have them use a transporter so it carries the content of the queue to the sink.


With regards to your query: the reason it's not working is because a Pull from List query will look at the associated list's table for columns to query. So when you say token.from or token.item.MyLabel1, it doesn't know what those are. If you're pushing items themselves onto the list, then I would add a column with the item's queue name and then maybe pull all the items with that queue name off the list. Your query may look something like

WHERE QueueName = token.QueueName

where QueueName is a column name and token.QueueName is the name of a queue you assign to the token on that particular pass.

This is just one way to go about it.

5 |100000

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