I am trying to figure out the best way to remove and object from a queue or several queues when an object from a main line is sent to a reject queue... Is this possible?
Thanks!!!!
I am trying to figure out the best way to remove and object from a queue or several queues when an object from a main line is sent to a reject queue... Is this possible?
Thanks!!!!
Do you have a sample model you can send to show what you are trying to do? I'm having a hard time understanding exactly what it is you are after. How can a flowitem exist in a queue when it is sent to another queue (two places at once)?
I'm sure it can be done what you are wanting to do but a model would be helpful for specifics.
It sounds like you have flowitems that have associations with other flowitems in your model. When a flowitem is rejected, you want the other flowitems to leave their queues and also be rejected. As long as you have references all of the associated flowitems, then it's just a bit of code.
For example, you could put code into the OnEntry of your 'reject' queue that would remove the associated flowitems from their respective queues using:
moveobject(getlabel(item, "myPartner"), node("RejectQueue", model())); or destoyobject(getlabel(item, "myPartner"));
You could also do it in Process Flow by having an Event-Triggered Source listening to the OnEntry of the Queue and then doing a Move Object or Destroy Object activity for each of the associated flowitems.
If instead you know which item is moving, but not where he will be considered 'rejected', you can also use Process Flow to listen to the On Entering or On Exiting of your Flowitem. In this case you would create a token when the item you want to listen to is created. Then use a Wait For Event to listen to that flowitems entering or exiting events. You can even have the Wait for Event match to a specific object the flowitem is entering/exiting.
@Matt Long Moving, deleting of objects especially flowitems is NOT recommended because the events still exists in the event handler. You have to delete the associated events to. You can try it on your own. Transport an item out of a rack before the dwell time is reached by an taskexecuter.
I wouldn't say it's not recommended. Process Flow has a Destroy Object and Move Object activity. Yes, for a Rack you may need to call destroyeventsofobject() if you're using a dwell time but this question was specifically asking about a queue. Other than when Batching, there are no issues with moving or destroying a flowitem in a Queue.
A queue might be a special case, but processor processing, conveyor, conveyor module, combiner, separator are creating future events, too.
5 People are following this question.
FlexSim can help you understand and improve any system or process. Transform your existing data into accurate predictions.
FlexSim is a fully 3D simulation software environment. FlexSim can be used to simulate any process in any industry.
FlexSim®, FlexSim Healthcare™, Problem Solved.®, the FlexSim logo, the FlexSim X-mark, and the FlexSim Healthcare logo with stylized Caduceus mark are trademarks of FlexSim Software Products, Inc. All rights reserved.
Privacy | Do not sell or share my personal information | Cookie preferences | Report noncompliance | Terms of use | Legal | © Autodesk Inc. All rights reserved