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 01-24-2013
Cristian Ramirez Cristian Ramirez is offline
Flexsim User
 
Join Date: Dec 2012
Location: Vancouver, BC
Posts: 6
Downloads: 9
Uploads: 0
Thanks: 6
Thanked 1 Time in 1 Post
Rep Power: 0
Cristian Ramirez is on a distinguished road
Default Two unload spots associated with the same location

Hello,

I am new to Flexsim (apologies in advance) and have the following problem:
Please refer to to the attached pic.

TaskExecuters (rear dump trucks) are unloading at LOC1. LOC1 has two possible unload points to receive the dump (Point A and Point B). The plan is to make trucks use both points to unload: it could be alternating between A and B, or using B as first priority and unloading on A when B has been taken by another truck.

TaskExecuters have been assigned with the task to unload at LOC1. Point A and B are network nodes, both attached to LOC1.

In my model trucks always dump on Point A (which makes sense as it is the closest one). And I've been trying to force them to unload at point B by:

1) Closing the access to Point A: It didn't work. Trucks got blocked and stop.
2) Defining un-timed mode in the traffic control object. I tried different things with no success but I'm not sure if made the right definitions.

Changing the status of the segments to "No connection" makes the truck choose the alternative spot to unload but I believe this is too expensive to use it on run time since I will need to call optimizenetwork() command each time (if I am right)

Thank you un advance for your suggestions

Cheers
Cristian
Attached Thumbnails
Click image for larger version
Name:	1Loc2DumpPoints.jpg
Views:	104
Size:	10.8 KB
ID:	2045  

Last edited by Cristian Ramirez; 01-24-2013 at 02:31 PM.
  #2  
Old 01-24-2013
Jason Lightfoot Jason Lightfoot is offline
Flexsim Consultant
 
Join Date: Aug 2007
Location: Somerset, UK
Posts: 719
Downloads: 20
Uploads: 0
Thanks: 123
Thanked 953 Times in 446 Posts
Rep Power: 773
Jason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond repute
Default

Try instead, returning from the OnArrival trigger, the rank of the path/output port that you want to send the truck along.
The Following User Says Thank You to Jason Lightfoot For This Useful Post:
Cristian Ramirez (01-25-2013)
  #3  
Old 01-24-2013
Vadim Fooks's Avatar
Vadim Fooks Vadim Fooks is offline
Flexsim User
 
Join Date: Feb 2012
Posts: 67
Downloads: 26
Uploads: 0
Thanks: 50
Thanked 24 Times in 13 Posts
Rep Power: 118
Vadim Fooks will become famous soon enough
Default

Hi,
perhaps you could address it by adding a subtask activated when the truck reaches a decision point?
In pseudocode:
Code:
// Main task sequence
...
inserttask(ts, TASKTYPE_TRAVEL, decisionPoint);
inserttask(ts, TASKTYPE_CALLSUBTASK, CHOOSE_DESTINATION);
inserttask(ts, TASKTYPE_TRAVEL, loadingPoint);
...
// Subtask
if (msgCode == CHOOSE_DESTINATION)
{
   ...
  treenode unloadPoint = NULL;
   if (NumOfTrucks(pointA) == 0)
       unloadPoint = pointA;
   else if (NumOfTrucks(pointB) == 0)
       unloadPoint = pointB;
   if (unloadPoint != NULL)
      inserttask(ts, TASKTYPE_FRUNLOAD, first(truck), unloadPoint);
   else
   {
       inserttask(ts, TASKTYPE_DELAY, NULL, NULL, 10);
       inserttask(ts, TASKTYPE_CALLSUBTASK, CHOOSE_DESTINATION);
   }
   return ts;
}
The Following User Says Thank You to Vadim Fooks For This Useful Post:
Cristian Ramirez (01-25-2013)
  #4  
Old 01-25-2013
Cristian Ramirez Cristian Ramirez is offline
Flexsim User
 
Join Date: Dec 2012
Location: Vancouver, BC
Posts: 6
Downloads: 9
Uploads: 0
Thanks: 6
Thanked 1 Time in 1 Post
Rep Power: 0
Cristian Ramirez is on a distinguished road
Default

Thank you. Your replies gave me a few ideas for the implementation


Thread Thread Starter Forum Replies Last Post
Robot Unload Offset Ryan Haferbecker Q&A 1 11-08-2012 09:44 AM
Moveobject and Unload shafizad Q&A 1 05-22-2012 09:11 AM
Operator's unload logic Gutirallo Tips and Tricks 3 03-26-2012 05:19 AM
each item has it's given location,and item's code correspond to storage location Robert Liu Q&A 3 03-28-2011 08:46 PM
LOAD and UNLOAD on Robot Lydia Franck Q&A 10 09-15-2010 07:29 AM


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.