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 09-07-2015
Agnieszka Pacynko
Guest
 
Posts: n/a
Downloads: 0
Uploads: 0
Default ASRS - double handling, items stacked horizontally

Hi Everyone,

I would like to ask a question about ASRS vehicle. Is there a possibilty to stack items on the ASRS` balcony horizontally? I have a model, in which the ASRS picks two items from the rack (each item from different bay) and then transport these items to a conveyor. While items are transporting, there are placed on balcony vertically (one item on the other one). I would like them to be placed one by one. I have tried to use setloc command on ASRS` load trigger, however it didn`t worked. Do you have any suggestions how to deal with these problem?
  #2  
Old 09-07-2015
syseo's Avatar
syseo syseo is offline
Flexsim User
 
Join Date: Aug 2007
Location: Korea
Posts: 290
Downloads: 439
Uploads: 0
Thanks: 249
Thanked 63 Times in 41 Posts
Rep Power: 211
syseo has a spectacular aura aboutsyseo has a spectacular aura about
Default Did you use xloc, yloc... command?

In replacing of setloc, use xloc, yloc...
  #3  
Old 09-07-2015
Jing Chen
Guest
 
Posts: n/a
Downloads: 2
Uploads: 0
Default

Hi Agnieszka,
I have met the same problem about ASRS before.
The approach I use to solve this problem is the code in Custom Draw trigger.
I attach an example and hope it helps.
Attached Files
File Type: fsm ASRS_stack_horizontally.fsm (96.0 KB, 725 views)
The Following 2 Users Say Thank You to Jing Chen For This Useful Post:
Sebastian Hemmann (09-10-2015)
  #4  
Old 09-08-2015
Agnieszka Pacynko
Guest
 
Posts: n/a
Downloads: 0
Uploads: 0
Default

Thank you very much Jing Chen! That`s exactly what I`ve been looking for These code solved my problem.
The Following User Says Thank You to Agnieszka Pacynko For This Useful Post:
David Chan (09-08-2015)
  #5  
Old 10-02-2015
Nikhil Bhatia
Guest
 
Posts: n/a
Downloads: 0
Uploads: 0
Default ASRS Vehicle

I am working on a simulation for one of our upcoming projects in Mississauga and I am using ASRS vehicles in it. I need a crane that have two load handlers on it currently there is only one Load Handler in it and I cannot find a way to add another Load handler. I can increase the capacity of the load handler but that doesn’t serve our purpose.

Is there any way to add another load handler to the crane or how to make two ASRS vehicles working together Infeeding and Outfeeding from the same rack?

if its now clear please do let me know.

Thanks in Advance.
  #6  
Old 10-06-2015
Agnieszka Pacynko
Guest
 
Posts: n/a
Downloads: 0
Uploads: 0
Default

Hi Nikhil,

please take a look on Tom David`s example:

https://www.flexsim.com/community/fo...?do=file&id=81
  #7  
Old 10-14-2015
Agnieszka Pacynko
Guest
 
Posts: n/a
Downloads: 0
Uploads: 0
Default Reference to the item in Task Sequence

Hi Everyone,

I`ve met another problem in my ASRS` model.

Model consists of few objects:

a) Rack
b) ASRS
c) Queue 1
d) Queue 2
e) conveyors system

The object flow is as follow:
Firstly, the ASRS take 2 items from the Rack and transport them to Queue 1. These items are processed and then transported by conveyors to Queue 2. Items on Queue 2 need to be transported to the Rack using the same ASRS as mentioned above (2 items at the same time).

The first flow (from Rack to Queue 1) is handled by "Task Sequence example 1" placed in Rack. The second flow (from Queue 2 to Rack) is handled by "Custom Task Sequence" placed in Queue 2.

In these "Custom Task Sequence" items are defined as:
1- item
2 - next()

Unfortunately, during simulation I get an information about task error, which shows that defined item is an invalid pointer.

Do you have any idea how I can make a reference to items in Queue 2 to avoid such problem?


That`s a "Custom Task Sequence" from Queue 2:

treenode item = parnode(1);
treenode current = ownerobject(c);
int port = parval(2);

treenode item1 = parnode(2);
/**Custom Code*/

treenode ASRS = centerobject(current,1);
treenode Rack = outobject(current,1);
treenode ts;
treenodearray t_item = makearray(2);

t_item[0] = item;
t_item[1] = next(t_item[0]);

ts = createemptytasksequence(ASRS,0,0);

inserttask(ts,TASKTYPE_TRAVEL,current,NULL);

for (int Counter1 = 1; Counter1<= 2; Counter1++)
{
inserttask(ts,TASKTYPE_FRLOAD,t_item[Counter1-1],current,1);
}

inserttask(ts,TASKTYPE_TRAVEL,Rack,NULL);

for (int Counter2 = 1; Counter2<=2; Counter2++)
{
inserttask(ts,TASKTYPE_FRUNLOAD,t_item[Counter2-1],Rack,1);
};

dispatchtasksequence(ts);
  #8  
Old 10-14-2015
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
Default

Hi, that is a normal action of the flexsim engine,
because the send to function creates a tasksequence right after entering of the first item. There isn't a second item at this time. When the second item enters the queue and the ASRS has not picked already the first item, then the queue creates a second tasksequence, which consists of the two items. You have a tasksequence more than you need it and the first tasksequence contains tasks with references to NULL. If you create the tasksequence only when two items have entered the queue, then the method might work. But the reference to the first item isn't "next" instead it is "previous".

Jörg
  #9  
Old 10-14-2015
Agnieszka Pacynko
Guest
 
Posts: n/a
Downloads: 0
Uploads: 0
Default

Well, it seems that solution based on this code is more complicated than I`ve thought.

Finally, I used additional rack and combiner, which packs 2 items (returning to new rack) together to avoid referencing to the second item. It is not exactly what I have been looking for, however til I develop task sequence code to model functinality I need, it must be enough.
  #10  
Old 10-14-2015
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

Your tasksequence also has a different problem:

int port = parval(2);

treenode item1 = parnode(2);

You refer to the same parameter in 2 different ways so that will not work anyway.

The solution to your problem is using the callsubtask and perform the load task when the asrs is at the pickup position. You can then check if there are 1 or 2 items to load and create the appropriate tasks (more or less what Jörg also proposed)
The Following User Says Thank You to Steven Hamoen For This Useful Post:
Jörg Vogel (10-15-2015)
  #11  
Old 05-04-2016
Ben Wilson's Avatar
Ben Wilson Ben Wilson is offline
Flexsim Consultant, Super Moderator
 
Join Date: Jul 2007
Posts: 82
Downloads: 352
Uploads: 6
Thanks: 30
Thanked 159 Times in 43 Posts
Rep Power: 256
Ben Wilson is a glorious beacon of lightBen Wilson is a glorious beacon of lightBen Wilson is a glorious beacon of lightBen Wilson is a glorious beacon of lightBen Wilson is a glorious beacon of light
Default

Jing Chen included a sample model in the post above.

Quote:
The approach I use to solve this problem is the code in Custom Draw trigger.
As of FlexSim 7.7, this method no longer works.

In the 7.7 release, many graphics improvements were added to speed up the drawing time. One of the changes was to cache as much as possible in the scene about to be drawn. The item positions on the ASRS are now cached before the draw trigger fires, and thus, the draw trigger no longer is able to effect location changes on the items.

The work around is to include a custom OnPreDraw node on the ASRS. In the attached example model, an OnPreDraw node has been added to the ASRS under >behaviour/eventfunctions/OnPreDraw.

The code first calls inheritcode() to run the ASRS's standard OnPreDraw code, since this local OnPreDraw overrides the ASRS class object's default OnPreDraw, yet we still want that default code to fire.

Next we include our custom positioning script to position the items on the ASRS in our desired locations.
Attached Files
File Type: fsm ASRS_stack_horizontally_7.7.fsm (18.9 KB, 647 views)
The Following 8 Users Say Thank You to Ben Wilson For This Useful Post:
Steven Hamoen (05-04-2016)


Thread Thread Starter Forum Replies Last Post
Material handling by operators sravan kumar Q&A 5 03-17-2015 11:30 PM
Close gap between stacked racks Jörg Vogel Q&A 2 03-03-2014 09:12 AM
I am looking for 'Double ASRS unloading and loading be sequence' model... syseo Q&A 1 06-14-2012 12:44 AM
Creating a stacked bar chart for the states of multiple objects Kris Geisberger Tips and Tricks 6 08-11-2011 09:40 PM
Double load handling ASRS Paul Dowling Q&A 8 05-06-2008 10:19 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.