question

Kari Payton avatar image
0 Likes"
Kari Payton asked Adrian Haws commented

Directing crane load based on item pulled.

I have items from 2 different processors being pushed to one item list. I need a crane to transport the items to a third processor that pulls the items from the list. How can I direct the crane to travel to the location that the item was pulled from? (i.e. If the puller pulls an item from processor 1, then the crane travels to processor 1 to load the item and transport to the puller) I am using fixed resource process flows.

FlexSim 16.1.2
process flowcrane
5 |100000

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

1 Answer

Sam Stubbs avatar image
3 Likes"
Sam Stubbs answered Adrian Haws commented

If you have a reference for the pulled item from the list. (ie if you are using Process Flow, then the token pulling the item from the list usually has the label: "pulled" referencing whatever was pulled from the list) Then you can simply use the "up(item)" command. That references the item's current container or holder.

So if you're using process flow, the reference to the processor might look something like this:

up(getlabel(token,"pulled"))

Just make sure that the "pulled" label is referencing the item, and that it's items being pushed to the list not tokens. Otherwise you'll need another "getlabel()" to reference the item referenced by the item label on the token.

But that's how you can reference the current container of the object. So when you have the crane use the Travel task or Load task you can use this as the "destination" to have the crane travel there.

· 4
5 |100000

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

Kari Payton avatar image Kari Payton commented ·

crane-lists.fsm

Hi @Sam Stubbs I'm not familiar with pushing items to the list and not tokens. I tried the command you sent in the travel destination but the crane does not move. Could you check my model to see what I am doing wrong? Thanks.

0 Likes 0 ·
crane-lists.fsm (68.2 KiB)
Adrian Haws avatar image Adrian Haws Kari Payton commented ·

@Kari Payton You are already pushing and pulling items from a list. In the "Push to List" activities for the "Push Value" you have "Label: item" instead of the default "Token: Entering". The object was assigned to the "item" label.

As far as referencing the location that the box is in, you can reference where it was created (since the boxes don't move before the crane travels there). I assigned a label called "destination" to each box that's being created, and gave it the value of the BasicFR in which it was created. I then added a dynamic field in your global item list called "destination". Then in your "FixedResource3" Process Flow I assigned a new label called destination to the original label using this command:

getlabel(getlabel(token, "pulled"), "destination")

Then I added a "Decide" activity to one of two "Travel to Location" activities to travel to whichever BasicFR the label "destination" was set to.

Also, we noticed that your model units are in millimeters per hour but the speed values for the crane were not being updated. We'll resolve this issue. For now I just changed those speed values manually in the Crane properties.

See attached model with the changes I made.

2 Likes 2 ·
Kari Payton avatar image Kari Payton Adrian Haws commented ·

Thanks @Adrian Haws Hadn't thought of that. I want to load the item also, but I get an error that the an invalid task has been encountered. I set the crane to load: getlabel(token, "pulled") but maybe that is not the item reference that I should use?

0 Likes 0 ·
Show more comments