question

Tony Nikolov avatar image
0 Likes"
Tony Nikolov asked tannerp commented

Assigning a task executer a specific load time based on center port connnection

As stated above, I'm struggling on how to create this functionality syntactically. What I am doing is using the load time field in the task executer tab of my robot (the task executer i'm using in this case), and choosing values by case. However, I am stumbling on what my case function should be.

For example, if I had two sources leading into one processor and I wanted source 1 to take 30 seconds to load with the robot onto the processor but I wanted source 2 to take 60 seconds to do the same task, my method would be to go into the load time field, select values by case, and make case 1 30 and case 2 60. However, the case function does not seem to be picking up that I want the '1' and '2' to be referencing that respective center port on the robot. I tried current.centerObjects as the case function but that didn't work. I feel that this must be possible, but just can't work it out.

Help is greatly appreciated. Thank you.

FlexSim 18.1.1
values by caseload timecase function
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

tannerp avatar image
0 Likes"
tannerp answered tannerp commented

I'm not exactly sure if this is what you're looking for, but I used a Values by Case function to decide on the "setup" time for the item. So essentially the robot will load the same each time, but the item will take either 30 or 60 seconds depending on its Type label to get setup before processing.

Model: different-setup-time.fsm


· 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.

Tony Nikolov avatar image Tony Nikolov commented ·

Hmm...Yeah that would work in the example I gave, but I'm afraid I gave a bit of a rudimentary hypothetical. I have varying load and unload times happening all over my simulation and they aren't only being sent to processors, sometimes queues where there isn't really a setup time field. Not to mention I'm already making use of the setup time field in many places more conventionally.

Is the 'case function' field not really something we can edit to reference object center port connections rather than item types?

0 Likes 0 ·
tannerp avatar image tannerp commented ·

Oh, I think I see what you mean now. I'm sorry I didn't give a more direct solution before. See if this does what you're looking for:

You can still reference values by case, but in order for this to work, your source must assign unique labels to the items which it creates. In this example, Source1 assigns a label of Type 1 and Source2 assigns a label of Type 2. The robot then listens to the "Type" of the item to know which source it originated from. Hopefully this helps. Note that the label can vary from "Type" to whatever is suitable for your model.

0 Likes 0 ·
load-time-robot.png (41.3 KiB)
Tony Nikolov avatar image Tony Nikolov tannerp commented ·

Yeah that could work with a little bit of tweaking to my simulation. Is the case function field only meant for establishing label cases? Using it to reference certain ported objects seems the most straightforward. Is there something preventing us from doing that?

0 Likes 0 ·
tannerp avatar image tannerp Tony Nikolov commented ·

Unfortunately, there's no inherent tracking of an item's path through the simulation because everything is event based. So, in other words, the item has no idea where it came from last unless you assign labels. This means that labels are the most efficient way of tracking the objects' course. Does this help?

0 Likes 0 ·
Show more comments