question

Srinivas G2 avatar image
0 Likes"
Srinivas G2 asked Joerg Vogel commented

Crane task breaking logic

saam-rel-11.fsm

Hi, I am developing simulation for test handler. In attached project Crane has to do pick and place of flow items in two streams.

In flow, pick from Queue_In and place on InFixture_combiner. It suppose to pick 6 items and place 6 items together.

Out flow, pick from Queue_out and place PassTray_combiner or RejectTray_combiner. It suppose to pick 6 items and unload green in PassTray and red items in Reject.

Problem, crane breaks while placing flow items in In flow and switch to Out flow. I wanted Crane to finish pick and place before switch to other flow direction. Please help.

FlexSim 19.1.1
batch processingcrane task sequence control
saam-rel-11.fsm (77.4 KiB)
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

tannerp avatar image
0 Likes"
tannerp answered Srinivas G2 commented

Hi @Srinivas G2,

Have you considered using Process Flow? You can control exactly what you'd like each 3D object to do. I've created an example where the Crane empties one queue before beginning to take items from the second queue. You might consider trying to implement Process Flow in your model according to your constraints.

crane-first-queue.fsm


crane-logic.png (30.6 KiB)
· 1
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Srinivas G2 avatar image Srinivas G2 commented ·

Thank you for the response. I am using Free version. I am working on now with 'Process flow' for Tray_Robot tasks. I am almost reaching limit. I thought I can use 3D model for Crane tasks.

0 Likes 0 ·
Joerg Vogel avatar image
0 Likes"
Joerg Vogel answered Joerg Vogel commented

There isn't a priority control for the tasksequences. Generally each item to transport creates a single transport job. This is a trasksequence. The tasksequences have got a break task, which is responsible for loading more than an item if there is still transport capacity in the taskexecuter (Crane). The tasksquences are executed by priority and rank in the tasksequencequeue node. You can change the priority of the tasksequences and this will lead to a different order of execution.

You want to unload all loaded items. Then the crane is allowed to load items again. Then you must change the priority of the tasksequence, that is responsible for loading an item, so the unloading is by priority. The priority must be higher than the not-begun-transport-tasksequences. You change this by source code in the OnLoad trigger of the crane.

treenode curTS = gettasksequence(current,0); // currently active transport TS
setpriority(curTS,getpriority(curTS)+1); // increment priority

Additionally if you want to unload all items at the same unload station, you find a picklist option in the OnUnload trigger that will do this:

Unload all items intended for this station before unloading to other stations

This will mix up the order of the loaded items of the Queue_Out, but the crane won't travel between RejectTray_Combiner and PassTray_Combiner so often.

· 6
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Joerg Vogel avatar image Joerg Vogel commented ·
1 Like 1 ·
saam-rel-11-jv.fsm (76.5 KiB)
Srinivas G2 avatar image Srinivas G2 Joerg Vogel commented ·

Great. Thank you. It is working as intended. However can this be improved to load 6 items at a time but keep same behaviour for unload as it is now?

0 Likes 0 ·
Joerg Vogel avatar image Joerg Vogel Srinivas G2 commented ·

As I tested the model, the crane loaded 6 items.

0 Likes 0 ·
Show more comments