question

joey avatar image
0 Likes"
joey asked Joseph Gillespie commented

Check the item pull.

Hello everyone, I need help. I created a model22.fsm. I want you to check "ProcessFlow" in the square "OUT" the logic in the "OUT" square, the transporter will pull the item from "Plane OUT", but when the item comes in "Plane5", the transporter will change to pull the item "Plane5" I want to know if the model I have with this logic is correct?

Thank you.

FlexSim 19.0.4
pull
22.fsm (58.8 KiB)
· 2
5 |100000

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

Joseph Gillespie avatar image Joseph Gillespie commented ·

@joey

Whether or not it's correct depends on what you want it to do exactly. The way that you have your model set up is all of the queues push all of their items to ItemList1. The result is that your transporters are always transporting the items that have been in ItemList1 the longest, regardless of which queue they are in. What would you like the "Transporter2"s to do?

0 Likes 0 ·
joey avatar image joey Joseph Gillespie commented ·

Hi @Joseph Gillespie You mean the "Transporter2" this thing, right?

It acts like "Transporter1, Transporter3"

The logic that I want in the square "OUT" is that the transporter will pull the item from the queue 1-4 of the nearest queue. If there is an item in "Plane5", it will choose to pull from "Plane5" immediately.

How should I fix the model?

0 Likes 0 ·
1.png (22.0 KiB)

1 Answer

Joseph Gillespie avatar image
0 Likes"
Joseph Gillespie answered Joseph Gillespie commented

@joey

Here's your model updated to work as you described: 22answer.fsm

All I had to do to get it working was add a Queue label to the items in each queue (1-4 for queues 1-4, 5 for Queue total and 6 for Queue total2), move around a few process flow activities, and then change the queries in the "Pull from List" activities to pull from the correct queues and to pull from the closest queues if pulling from queues 1-4.


22answer.fsm (58.9 KiB)
· 8
5 |100000

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

joey avatar image joey commented ·

@Joseph Gillespie Wow, the model works very well. But I doubt what is set to pull the list of the nearest queue is this, right? "ORDER BY distane"

And I want to add a little more logic I noticed why in "Plane out" is empty, why the transporter does not send the item to the empty queue in "Plane out".

0 Likes 0 ·
3.png (2.8 KiB)
5.png (104.3 KiB)
Joseph Gillespie avatar image Joseph Gillespie joey commented ·

@joey

Yes, the "ORDER BY distance" causes it to pull items that are closest to the transporters. By default it does this in ascending order, or from the closest to the farthest items.

As for why items are not unloaded onto "Plane Out" when there is space, it is because you set it up that way. When one of the queues becomes full, this code is executed:

if (current.subnodes.length==getvarnum(current,"maxcontent"))
	current.Emptying=1;

The label "Emptying" is set to 1. The "In Transporters" do not transport items to queues that have "Emptying" set to 1 as you specified in the "To Queues1-4" box. "Emptying" is only set back to 0 when this code is executed:

if (current.subnodes.length==1)
{
	current.Type=0;
	current.Emptying=0;
}

In summary, when a queue in "Plane Out" becomes full, it cannot be refilled until it is completely empty. That is how you set it up earlier.

0 Likes 0 ·
joey avatar image joey Joseph Gillespie commented ·

HI @Joseph Gillespie Yes, I want it when the queue in "Plane Out" is full, it is not possible to top-up until the end. But the problem I want to solve is that when the queue in "Plane OUT" is less than the set value, the transporter will return to send the item that is queued in "Plane OUT". Can this problem be solved if please advise me too? What should I do? Thank you for your help.

0 Likes 0 ·
Show more comments
joey avatar image joey commented ·
@Joseph Gillespie

I wonder which label you created. "Value" What does it do? Value of two things, how is the debt different if I set it to 1 All four logical queues will change?

Thanks.

0 Likes 0 ·
1.png (52.4 KiB)
Joseph Gillespie avatar image Joseph Gillespie joey commented ·

@joey

I added the "Queue" label so that I could pull the correct items off of ItemList1. Since you are having all the queues push their items to ItemList1, they all get mixed up together. If I just pull from ItemList1 with no query, the transporters will pick up items from random queues. The "Queue" label tells you which queue each item on the list is in. If I want to pull an item from Queue1, Queue2, Queue3, or Queue4, I just have to put this query:

WHERE Queue < 5

This will give me only items from Queue 1, Queue2, Queue3, or Queue4. If I want to pull an item from Queue total, which I gave a Queue label with a value of 5, I can use this query:

WHERE Queue = 5

Does that make sense?

0 Likes 0 ·
Joseph Gillespie avatar image Joseph Gillespie Joseph Gillespie commented ·

So if you change the value of "Queue" for Queue 1-4, it doesn't matter as long as you have some way of indicating that you only want to pull items from those queues and not "Queue total" or "Queue total2".

0 Likes 0 ·