ATTENTIONThis FlexSim Community Forum is read-only. Please post any new questions, ideas, or discussions to our new community (we call it Answers) at https://answers.flexsim.com/. Our new Question & Answer site brings a modern, mobile-friendly interface and more focus on getting answers quickly. There are a few differences between how our new Q&A community works vs. a classic, threaded-conversation-style forum like the one below, so be sure to read our Answers Best Practices. |
flexsim.com |
#1
|
|||
|
|||
Using TE FlowItems to Transport other FlowItems
Hi,
I am trying to make a model to do the following: I'm trying create a flowitems (people), to follow a route and upon arrival at the node NN4, only at this time, when the person reaches the node NN4, the contents of the virtual rack, recycling, but only 1 box is recycled each time the person arrives. That the person the person loading the box on the rack and unloading the box in the queue 13, leaving the other boxes as virtual until you pass another person. Add my model. Thank's !! |
#3
|
||||
|
||||
Juan,
First, it would be helpful if you would fill out the about you section of your profile. It makes people want to help you more. Second, I have looked at your model and I do not understand your question at all. If you could answer the following questions it would help: 1. Why are you building this model? 2. When the person gets to NN4 what do you want them to do? 3. How are you trying to get the people to do this? 4. What triggers are you using? Please try to use short sentences to answer the questions. It was very hard to understand you initial post because of the punctuation and I think shorter sentences would solve this. Brandon
__________________
thats not normal. |
#4
|
|||
|
|||
thanks, I already completed part of my profile.
1. I am trying to learn to work with virtual content 2. Just at that moment, I want it to be recycled ONLY 1 box ( Initially the boxes are inside the rack). Then, that person ,load the box, and unload this in the queue13. 4. on node 4, I use: on arrival --> senddelayedmessage(rackvirtual, 1, current, 2, rackgetbayofitem(rackvirtual, item), rackgetlevelofitem(rackvirtual, item)); on rack: - on message and - custom draw code. I try to use short sentences to answer. I hope that now I have explained better, and you can help me. Thank's Brandon. Quote:
|
#5
|
||||
|
||||
Juan,
Sorry, but I still don't know what you are trying to do. Virtual content to me means that you would use a number value instead of actual flowitems. And I don't understand what you mean by recycle an item. Currently your model doesn't flow at all. You have people going from Queue2 to Sink 9 via the port connection. However, you have created your own task sequence that never gets the person loaded into the sink. Instead you try to unload it into the rack and then tell it to travel to the sink. There is no reason at all that that would work. First, the FRUNLOAD task needs to unload the flowitem into the object that it was intended to go to, not to some other object which you do. Second, The FRUNLOAD task should be the last task in the task sequence for a TE flowitem sent to a sink because the item would be destroyed before it could finish anything else. If you wanted the TE flowitem to pick up an item from the rack and drop it off in the queue then you would have to check for a released item or release an item when the TE flowitem leaves Queue2 if there was an item available then you would want to include some additional tasks to travell to NN4, FRLoad the item released, travel to Queue13, and finall FRUnload the item. You would also need to make sure that the use transport button was checked on the rack and that it was not creating a task sequence. Another way to do this would be to have the TE flowitem have a break task that would check a dispatcher for a task sequence. Then you could have the rack use the standard use transport functionality. You would need to connect the rack to a dispatcher, the same disatcher you are checking in the break task, instead of a TE. Brandon
__________________
thats not normal. |
#6
|
|||
|
|||
Hi Brandom,
I tried to build a new model similar to what I get. As you can see, this new model, initially there are 8 boxes (virtuals) in the rack. in this model to pass 10 units of time, the boxes are converted into "real objects" (read boxes). In the model, when the "virtual" boxes convert "real" objects, it is at this point that the task execute moves node 4, to be loaded. What I am trying to do is: 1. Initially, the same, 8 boxes will be virtual. 2. I generate (8 persons) 8 flowitems ( with a source). The persons will follow the circuit (nodes). 3. At the time the person arrives at a node NN4 is when I want to convert ONE BOX a "real" object of the eight boxes. Then, crane load the box and unloaded to the person. S the same for the 8 4. the person will travel to the queue and unload the box and wiil go to synk. thanks Brandon, for trying to help me. Quote:
|
#7
|
||||
|
||||
Juan,
Great! I understand what you are trying to do. I have created a model that uses the TE FlowItem as a transport for items in a rack and a queue. In the model you will notice that there is an Operator Source that is connected directly to the Sink. There are four network nodes in the model, each one is connected to a dfferent object. The TE FlowItems naturally would flow from the Source to the Sink via the NN1 to NN4 route. On Reset and every 186 seconds 8 flowitems are created by the Item Source and placed in the Rack. The flow in the Rack is set to not release the items and the Use Transport code is custom code that simply returns zero. There is some code in the message trigger that will change the color of the item to match the operator and to release the item. When there are items in the Rack that have not been selected for transport the Use Transport code modifies the task sequence of the TE FlowItems. The code changes the color of the item to Blue and the color of the TE FlowItem to green. It tells the TE FlowItem to travel to the rack load the item and then take it to the Queue and unload it. If there are no items in the Rack but there are items in the Queue the Use Transport code will modify the task sequence of the TE FlowItem to transport the items from the Queue to the Sink. The colors will be orange instead of blue and red instead of green. The Queue is set the same as the Rack. All of the code has been commented so that you can easily determine what I have done. All of the code resides in the following triggers: Operator Source: Use Transport - Creates the Task Sequences and changes the colors Rack: Flow - Set to the don't release option Use Transport - Returns zero so that nothing happens - taken care of by the Operator Source Message - Release the item and change its color Queue: Flow - Set to the don't release option Use Transport - Returns zero so that nothing happens - taken care of by the Operator Source Message - Release the item and change its color I hope that this will answer your questions. If you still have more please feel free to ask. Good Luck, Brandon
__________________
thats not normal. |
The Following 2 Users Say Thank You to Brandon Peterson For This Useful Post: | ||
Phil BoBo (08-21-2009) |
#8
|
|||
|
|||
Hi, Brandon
thank you very much for your example. There are still some things I would like to change. 1. Initially, the boxes must be virtual: In your example I can see the 8 boxes, initially are not "virtual." In my model, initially these 8 cases, they are "virtual". triggers rack: Custom Draw Code: / ** * Draw virtual content / rackdrawvirtualcontent (current, 0.5, 0.8, 1, 0,255,0, 1); 2. My biggest problem is: In this model that when one of the boxes will become "real object" (red box), is when a person comes to pick up the box. I want just the opposite. I was trying that the person (flowitem) initially through the nodes and when the person passes through the node NN2 (your model), just at that moment one of the "virtual boxes" it convert to "real object", leaving other boxes as virtual until pass another person. Specifying: Leaving the person does not depend on whether the box is real or not, the person makes his travel defined by the nodes and to rarrival the node NN2 (in your model), when it should become a ONE box. For example, people will come every 15 seconds. steps: a) Initially, there are 8 boxes in the rack (virtual content) b) 15 seconds to leave the first person to node2. c) When the person arrival at node 2, one of the eight boxes becomes real object (red box). d) the person loading the box. e) the discharge into the queue. f) the person will (sink) 30 seconds to the other person gonna ... I thought put into the triggers of NN2: On arrival: senddelayedmessage (rack, 10 current, 2, rackgetbayofitem (rack, item) rackgetlevelofitem (rack, item)); But it does not work. Brandon, thanks for your interest. |
#10
|
||||
|
||||
Juan,
Attached is Brandon's model modified with some code from your model so that it uses virtual content instead of regular items. Most of the code is in the Operator Source's Request Transport From field. The code that I added is the code that checks virtual content of the rack rather than actual content. If you wait until the operator has arrived at the node to turn the item into a real flowitem, then it is too late. The attached model calls rackrestoreitem() from the Operator Source's code where the task sequence originates. This way, you don't dispatch more operators than there are flowitems in the rack. You will run into problems if you send an operator to get an item that doesn't exist. Technically you could turn the virtual content into a real flowitem in the message that gets sent when the operator arrives at that node, but then you would have to cook up a really complicated scheme to know which virtual content items have been picked to go yet or not. You can't add a label to a piece of virtual content. You would have to keep an entire table of which virtual content items have been picked. That would get messy fast. The reason I did it this way is because this is how Flexsim CT works. Yard blocks in Flexsim CT are racks with virtual content and the virtual content is turned into real objects (containers) at the time when a task sequence is created that uses that object, such as a crane or truck moving that container to another place. Hopefully this helps you understand what is going on enough to get it to work for what you want. If you want any changes beyond what are here, you want more work than the Flexsim Community is willing to give you for free. You should contact Flexsim Support or contact a Flexsim consultant that you could hire to do part or all of your model as a consulting service. |
The Following 2 Users Say Thank You to Phil BoBo For This Useful Post: | ||
Lars-Olof Leven (08-26-2009) |
#11
|
|||
|
|||
Thanks Philp !!!
Thanks for your clarification Quote:
|
#12
|
|||
|
|||
Hi all,
The load the item, does can make a crane? I mean, the person arrives at node 2, and a crane to take the item from the rack and put it on the person. Then the person is directed to the Queue and another crane made unload Thank's . |
#13
|
|||
|
|||
Hi all,
Can help me someone please? Any idea?? Thank's |
#14
|
|||
|
|||
Hi Juan,
Take a look at coordinated task sequence, there are 2 examples in the drop down list for Request Transport Form. You may also take a look at the model Vehicle to Vehicle Transfer, you will found the model in the download section. Lars-Olof |
Thread | Thread Starter | Forum | Replies | Last Post |
Dynamically assigning 3D shapes to flowitems | Iulian Marin Ion | Q&A | 9 | 08-05-2013 08:17 PM |
flowiTems From transport to transport | Manuel Kraenzle | Q&A | 1 | 10-27-2008 01:32 PM |
Generate flowitems according to time schedules on globaltable | sophia yao | Q&A | 1 | 07-18-2008 07:37 AM |
Flowitems seems to disappear at the end of simulation run | Tom David | Q&A | 2 | 07-16-2008 03:50 AM |
Problem holding, releasing, duplicate and destroy flowitems dynamically | Sebastian Dransfeld | Q&A | 1 | 05-14-2008 09:08 AM |