question

mark zhen avatar image
-1 Like"
mark zhen asked mark zhen action

agv problems

agv.fsm我想知道為什麼我的汽車越來越多,如何改善橫向運動
FlexSim 20.0.10
flexsim 20.0.10#agv
agv.fsm (99.6 KiB)
· 4
5 |100000

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

Joerg Vogel avatar image Joerg Vogel commented ·

You create in your process flow "X" a new taskexecuter object. Objects behave a bit different, when you create them by source code or a create activity. They stay in your model on reset!

0 Likes 0 ·
mark zhen avatar image mark zhen Joerg Vogel commented ·
我怎麼解決這個問題
0 Likes 0 ·
Joerg Vogel avatar image Joerg Vogel mark zhen commented ·

"comment to prevent losing question on list of answers". I have deleted my comment, but I wanted that your question stays visibile on the list of questions on this "answers" internet site. Currently there is a bug on this internet page, if someone is deleting a post or a comment, the question is not visible anymore in the list of currently active questions. But If I shorten only the content then the order of questions is only updated and is not getting invisible.

0 Likes 0 ·
Show more comments

1 Answer

·
Eric M avatar image
0 Likes"
Eric M answered Eric M commented

霈倫 Like Jörg said, your process flow is creating a new task executer (car) every time an object leaves the queue which is why you are getting so many. To fix this, you can delete the "create object" and "destroy object" events in process flow. Also delete all of the extra task executers (cars) that you don't need in the 3d view.

Next, you will want to create 2 global lists, one for each queue which you can do in the toolbox by selecting the green + > global list > item list. In each of the queue's output settings, select the box "use transport" and use list as shown below:

You will then add those lists in your process flow and pull from them to make the task executers move. See this model for more details. agv (1).fsm

Also, for more complex AGV systems, the built in AGV process flow is really useful. You can learn more here: https://docs.flexsim.com/en/21.1/Tutorials/TaskLogic/Tutorial4AGVs/4-2AGVsUsingProcessFlow/


1620407737515.png (24.8 KiB)
agv-1.fsm (82.9 KiB)
· 3
5 |100000

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

mark zhen avatar image mark zhen commented ·
謝謝!!但是我還有一個問題,就是我左邊的架子是否已滿,我想在右邊建立另一個架子,我該怎麼辦?我要使用相同的Q !!!
0 Likes 0 ·
mark zhen avatar image mark zhen mark zhen commented ·
我想假設左側只能填充10,然後更改為右側
0 Likes 0 ·
Eric M avatar image Eric M mark zhen commented ·

Max quantity on the floor storage can be set by double clicking on it to open properties, clicking the "flow" tab, then setting "maximum content." A "decide" activity can be added to the process flow to determine which floor storage to go to. The code I used for the conditional decide was Model.find("Queue3").as(Object).outObjects[1].subnodes.length < 10 which basically means find Queue 3, find it's first output port (outObjects[1]) which is FloorStorage1, then find how many items are stored in FloorStorage1 (subnodes.length). If this value is less than 10, it will send it to the first port. If this value is eqaul to 10, then it will be sent to the second port.

agv (1).fsm

0 Likes 0 ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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