question

lucas.m avatar image
0 Likes"
lucas.m asked Ben Wilson edited

How to use a pallet jack with operator?

I am doing a job at a Logistics company, analyzing the feasibility for the company to acquire FlexSim. To prove the software's effectiveness, the company requested a "proof" of the gains that the simulation will bring to the organization. For this, we are working on a relatively simple simulation model of a company activity. The operating model is OK, but one of the operations is for the operator to pick up a pallet jack to load the pallet. However, I could not directly do this (a Task Executer "catch" another to perform a task) and visually compromises the template. The option FlexSim offers for this is the forklift, but using this feature would modify the operator performance indicators, which we do not want. Is there any workable solution to this problem?

FlexSim 16.2.2
task executerpalet
· 2
5 |100000

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

Ben Wilson avatar image Ben Wilson ♦♦ commented ·

Have you seen this entry from the old forum:

https://www.flexsim.com/community/forum/showthread.php?p=14965

The 3rd option seems like the one you'd want to look into. There is a video showing how this was done several years back in an older version. It used custom task sequences and required some custom coding.

Today this would be even easier using process flow.

I think I can embed the video directly here, but you can visit the old forum to see other options and download sample models and pallet jack shapes.

operator + pallet jack - advanced functionality from FlexSim Simulation Software on Vimeo.

2 Likes 2 ·
Ben Wilson avatar image Ben Wilson ♦♦ Ben Wilson ♦♦ commented ·

@Sam Stubbs, @Logan Gold, @Jeff Nordgren, @Adrian Haws,

This request comes up fairly regularly. Who wants to add a Process Flow example as the official answer?

1 Like 1 ·
Logan Gold avatar image
2 Likes"
Logan Gold answered Ben Wilson edited

Here is an example model (processflow-coordinatedtasksequence-example.fsm) to hopefully show you how this can be done using Process Flow. I tried to make all the activities in the Process Flow pretty descriptive, so I won't go into a lot of detail on what was done. Let me know if anything is unclear.

The basic idea was to recreate the logic that is used behind the scenes in two different situations where a Task Executer is normally requested. One situation is when an object requests a Task Executer to transport flowitems to a destination. After recreating this logic in Process Flow, I began adding and modifying activities so the requested Operator would use a pallet jack as part of the transport. In the example model, the pallet jack uses an imported shape (pallet-jack.dae) on top of a TaskExecuter object.

The second situation is when an Operator is requested during setup/process time on a Processor. I mainly included this operation as a way to have the Operator do something else between using the pallet jack. But I still wanted it to be a good example on how to use Process Flow to replicate Task Sequence logic.

In the example model, I use two example objects, ExampleQueue and ExampleProcessor, to get an idea of what needs to be done in Process Flow. Both objects show us the default Task Sequence logic that is normally used in the two situation described above. In ExampleQueue's Flow tab, after selecting the "Use Transport" checkbox, that logic is found in the picklist option called "Task Sequence Example 1" - for when a Task Executer is used for transportation. And in ExampleProcessor, in the Processor tab, after selecting the "Use Operator(s) for Process", it is the picklist option called "Task Sequence Example" - when a Processor requests an Operator for process/setup time. If you look in the Code Editor for both examples, the logic and needed Task Sequence is shown.

In Queue1 and Processor1, after selecting the Use Trasnport/Operator checkboxes, the input fields only have a 0 in them. The 0 is used to tell the Queue or Processor that we are creating our own Task Sequence and they should not dispatch the default Task Sequence.

As for the logic in Process Flow, the Operator box replicates the Processor logic and the Operator and PalletJack box shows us the transportation example.

The Operator box is slightly different than what is used in ExampleProcessor, because the OperatorReference trigger is normally fired twice - once to create the Task Sequence that eventually puts the Operator in a utilize state, and again to release the Operator from the utilize state when the item is through processing. To make it easier, I used two Event-Triggered Sources instead - one Source for when an Operator is initially requested and a second Source for when the Processor fires its OnProcessFinish trigger after a flowitem finishes processing.

This model can easily be adapted for other situations too. You should be able to add in Dispatchers for either resource. You can change the PalletJack Resource Count to a higher number, and FlexSim will create copies of the pallet jack that can be utilized in the model. You can even add in multiple Fixed Resources to request the Operator and PalletJack team. For this, you would most likely want to put all the Fixed Resources in a Group and reference that Group in the TransportReference Event-Triggered Source. Each of these things should only require minimal rework of the model. Other things like having the pallet jack load multiple flowitems would most likely require adding, removing, and/or modifying Process Flow activities.


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

lucas.m avatar image lucas.m commented ·

thank you so much @Logan Gold! It helped a lot

0 Likes 0 ·
David Seo avatar image
0 Likes"
David Seo answered Ben Wilson edited
· 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.

lucas.m avatar image lucas.m commented ·

Thanks a lot for the help @david.seo @Ben Wilson

0 Likes 0 ·