question

Gabriel illescas Cavazos avatar image
0 Likes"
Gabriel illescas Cavazos asked Joerg Vogel edited

How can we use the command moveobject share an example

FlexSim 17.0.2
agv
· 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.

Joerg Vogel avatar image Joerg Vogel commented ·

If you are asking a more specific question, that you want to know how to move a flowitem from a fixed resource object to a taskexecuter that travels in an AGV module path network and transports items, you get probably a better suited answer. Yes, you placed all the information in your question, but you encrypted that in the topics and the question itself, don't you?

The answer to that is a bit more complicated than the simple moveobject command structure, because you want that a flowitem moves at the right moment to the AGV and the AGV transfers the item to a destination. The standard behaviour would be that the taskexecuter travels in the path network from a control point to the next control point without actually stoping at them. At the time that there is work ahead of a control point, the AGV gets the next suited tasksequence to transfer the right item. In such manner the AGV moves to a control point right in front of this control point in the direction of its travel and loads the flowitem. The behavior is described in the manual tutorials of the AGV module. You must adjust the procedure, that the AGV is looking for work at a control point not exactly at the load station itself instead the AGV looks for work at a well placed control point that's distance is short before the load control point. Otherwise the AGV has to travel a whole loop again. All this is done without the actual use of the command moveobject, because moveobject won't initiate anything other than just change the object container for example from a queue to a taskexecuter. If there should be something triggered like a transport you still have to tell Flexsim how to do this. For example there is a trigger in a control point that checks on arrival that the traveler (taskexecuter) is empty, doesn't work on a tasksequence and is suited to transport a flowitem, then you can use the command moveobject to transfer the item. Then there are two possible scenarios. 1. the taskexecuter is already traveling around on the network, then you check on the destination control point if the arriving taskexecuter has loaded the item to unload there and you transfer the item by the command moveobject again. 2. The taskexecuter stops at a control point then you have to dispatch a tasksequence to the tasksexecuter to let him travel to the destination object and unload the previously moved item. But both scenarios tweak the standard procedure and some features of Flexsim won't work. For example the automatic statistic feature might not recognize that the taskexecuter is traveling loaded.

Each time you force Flexsim to behave as you wish and not as it is intended to use, the Flexsim engine might behave strangely and the statistical results don't match as the animation looks like.

You wish that the a discrete event simulation program behaves as you want to. In most cases a program expects structures to accomplish tasks that is given by the programmers. Flexsim behaves a bit as you wish that it should behave. But then you have to use ProcessFlow, learn the basics from the different tutorials and combine methods yourself.

1 Like 1 ·
Jacob Gillespie avatar image
4 Likes"
Jacob Gillespie answered Jacob Gillespie edited

moveobject(obj object, obj location)

This moves object into location.

Let's say there is a queue and an operator.

Running this code will move Operator1 into Queue1:

moveobject(model().find("Operator1"), model().find("Queue1"));


before.png (10.8 KiB)
after.png (9.5 KiB)
5 |100000

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

Jeff Nordgren avatar image
0 Likes"
Jeff Nordgren answered

@Gabriel illescas Cavazos,

There is an example on how to use the moveobject() command in the answer to this question.

5 |100000

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