ATTENTION

This 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

Go Back   FlexSim Community Forum > FlexSim Software > Q&A
Downloads

Q&A Using Flexsim and building models

  #1  
Old 04-19-2011
Jelmer Js Jelmer Js is offline
Flexsim User
 
Join Date: Mar 2011
Posts: 9
Downloads: 16
Uploads: 0
Thanks: 0
Thanked 0 Times in 0 Posts
Rep Power: 0
Jelmer Js is on a distinguished road
Default Tasksequence by using global table

Hello everyone,
In the model in the appendix you will see two seperate sources.

Source A produces three different items (no.1, no.2 & no.3).
Source B also produces three different items (no.1 no.2 & no.3).
Itemtype 1 from source A should always be combined with itemtype 1 from source B, for itemtype 2 and 3 holds the same.
In the model you will see a crane that is responsible for the transport of both types of items to the combiners.

The order in which the crane has to transport the items is as follows:
At a given point in time, the crane should supply the combiners (named combiner I, II & III) by matching the items from source A and source B.
The crane should transport item 1 from source A to the combiner I and should also immediately pick up item 1 from source B and bring that to the same combiner. This is the same for the other items (the crane should transport item 2 from source A to combiner II and transport item 2 from source B to combiner II as well).

What I need is to executed the tasks by using the following table (also see global table65 in the model) . On time 0 the crane should load combiner 2, next on time 500 the crane should load combiner 1..etc. The crane always transports corresponding items from both sources to their respective combiner.
Time Load Combiner nr.
0 2
500 1
1000 3
1500 2
2000 1
2500 3
3000 2

What happens now is that the crane transports item 1 from source A to combiner I, then transports item 2 from source A (again) to combiner II, and item 3 from source A to combiner III, before moving on to source B, transporting the items in a similar fashion to the combiners. And the time that the crane performs the task is not regulated.

I have already matched the source numbers to the combiners, but I still need to know how I used the global table for capturing the tasksequence of the crane.
How can I solve this problem?
Attached Files
File Type: zip Example TS crane.zip (36.0 KB, 169 views)
  #2  
Old 04-19-2011
Steven Hamoen's Avatar
Steven Hamoen Steven Hamoen is offline
Talumis, Flexsim Distributor, The Netherlands
 
Join Date: Aug 2007
Location: Soest, NL
Posts: 854
Downloads: 43
Uploads: 0
Thanks: 391
Thanked 661 Times in 379 Posts
Rep Power: 684
Steven Hamoen has a reputation beyond reputeSteven Hamoen has a reputation beyond reputeSteven Hamoen has a reputation beyond reputeSteven Hamoen has a reputation beyond reputeSteven Hamoen has a reputation beyond reputeSteven Hamoen has a reputation beyond reputeSteven Hamoen has a reputation beyond reputeSteven Hamoen has a reputation beyond reputeSteven Hamoen has a reputation beyond reputeSteven Hamoen has a reputation beyond reputeSteven Hamoen has a reputation beyond repute
Default

It looks like your tasksequences simply have the wrong priorities or are generated in the wrong order.

I haven't checked your model but why don't you create the complete tasksequence in 1 go? So your tasksequence should look like:

Pick A
Drop A
Pick B
Drop B

and only then start with a new tasksequence.
  #3  
Old 04-19-2011
Kris Geisberger Kris Geisberger is offline
Flexsim Canada, Forum Moderator
 
Join Date: Aug 2007
Location: Canada
Posts: 209
Downloads: 54
Uploads: 1
Thanks: 99
Thanked 389 Times in 133 Posts
Rep Power: 451
Kris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud of
Default

You could consider controlling the creation of the standard tasksequences. OnReset close the input of all combiners and a create delayed message to open the input of the "first" combiner based on your table values. Each time a message is received, a new delayed message is created to openinput of the "next" combiner in the table. I would use a single object OnMessage as a "central brain" to perform this routine, and it would be center connected to the combiners for easy referencing. Don't forget to closeinput OnEntry of the combiners when port==2.

Note that this controls the order that jobs are released, the crane's properties still determine how long each transport and load/unload takes. If the crane is far to slow this approach will fail, but at least then you will know that the crane cannot meet your schedule requirements.
  #4  
Old 04-20-2011
Jelmer Js Jelmer Js is offline
Flexsim User
 
Join Date: Mar 2011
Posts: 9
Downloads: 16
Uploads: 0
Thanks: 0
Thanked 0 Times in 0 Posts
Rep Power: 0
Jelmer Js is on a distinguished road
Default

Hello Kris,

Thanks for your reply, but I'm a beginner with Flexsim so I didn't know exactly what you mean.

Can you give a more detailed discription. Thanks previously
  #5  
Old 04-20-2011
Sebastian Hemmann's Avatar
Sebastian Hemmann Sebastian Hemmann is offline
Flexsim User
 
Join Date: Sep 2009
Location: Braunschweig (Germany)
Posts: 439
Downloads: 52
Uploads: 0
Thanks: 472
Thanked 217 Times in 154 Posts
Rep Power: 319
Sebastian Hemmann is a splendid one to beholdSebastian Hemmann is a splendid one to beholdSebastian Hemmann is a splendid one to beholdSebastian Hemmann is a splendid one to beholdSebastian Hemmann is a splendid one to beholdSebastian Hemmann is a splendid one to beholdSebastian Hemmann is a splendid one to behold
Default

What if you get another source which creates the containers for combiners (connection to Input Port1 of the Combiners). In the Source you can use your global table as Arrival Scheddule. If the Container arrived the combiner, crane gets the information what items of what queue are required. Purely don´t got enough time for tryout, but think this should work.
__________________
Hemmi
The Following User Says Thank You to Sebastian Hemmann For This Useful Post:
Kris Geisberger (04-20-2011)
  #6  
Old 04-20-2011
Sebastian Hemmann's Avatar
Sebastian Hemmann Sebastian Hemmann is offline
Flexsim User
 
Join Date: Sep 2009
Location: Braunschweig (Germany)
Posts: 439
Downloads: 52
Uploads: 0
Thanks: 472
Thanked 217 Times in 154 Posts
Rep Power: 319
Sebastian Hemmann is a splendid one to beholdSebastian Hemmann is a splendid one to beholdSebastian Hemmann is a splendid one to beholdSebastian Hemmann is a splendid one to beholdSebastian Hemmann is a splendid one to beholdSebastian Hemmann is a splendid one to beholdSebastian Hemmann is a splendid one to behold
Default

Looks as if it works.
Attached Files
File Type: zip Example_CraneTS_SH.zip (36.7 KB, 162 views)
__________________
Hemmi
  #7  
Old 04-20-2011
Jelmer Js Jelmer Js is offline
Flexsim User
 
Join Date: Mar 2011
Posts: 9
Downloads: 16
Uploads: 0
Thanks: 0
Thanked 0 Times in 0 Posts
Rep Power: 0
Jelmer Js is on a distinguished road
Default

Thanks Sebastian, it works.
  #8  
Old 04-20-2011
Jörg Vogel's Avatar
Jörg Vogel Jörg Vogel is offline
Flexsim User
 
Join Date: Sep 2007
Location: Hannover, Germany
Posts: 643
Downloads: 35
Uploads: 0
Thanks: 802
Thanked 665 Times in 410 Posts
Rep Power: 642
Jörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond repute
Smile

Hi Sebastian,

to convince the taskexecuter (asrs-vehicle) to fetch the next item to a combiner is a process of two steps.
First give the tasksequences from Queues 4,5 and 6 a higher priority, e.g. 100.
Second give flexsim and the taskexecuter some program runtime not simulation-time, to do different events instead of doing the next tasksequence out of the tasksequencequeue.
This can be done by adding a further task to the last executed tasksequence in the Onload-Trigger of the Taskexecuter.

treenode ts = gettasksequence(current,0); // get pointer to active TS
inserttask(ts,TASKTYPE_DELAY,NULL,NULL,0,60); // do something useless

Now one of the queues 4,5 or 6 has the runtime to dispatch a standard tasksequence with a high priority to the Taskexecuter, which will be executed as the next tasksequence, because of its higher priority.

For the experts of you: a useless task of the type TASKTYPE_TAG or TASKTYPE_BREAK hasn't the same effect as the delaytask, even if the delaytime is 0.

Jörg


Thread Thread Starter Forum Replies Last Post
Sending GUI number to Global Table Albert Munoz Q&A 2 10-18-2010 10:59 AM
Global Table string value Congshi Wang Q&A 1 05-24-2010 07:38 AM
Set Arrival Sequence on reset with global table Patrick Cap Q&A 5 04-08-2009 11:12 PM
Can I make a column of a global table to type table? qin tian Q&A 0 10-01-2008 09:27 PM
Global Table Number Precision Sung Kim Tips and Tricks 8 03-27-2008 04:25 PM


All times are GMT -6.
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.
Copyright 1993-2018 FlexSim Software Products, Inc.