question

Sabrina S avatar image
0 Likes"
Sabrina S asked Sabrina S commented

Operators get stuck in TS or Aquires or Lists in Process Flow

Hello all,

we have a model where several scenarios with more than one Task Sequences appear, where the model gets stuck because the tasks in Process Flow cannot be started.

We use sometimes the same flow for 2 machines via labels, sometimes we have more operators which can do the same tasks. In most of below listed cases, operators are idle when you choose them in 3D.

  1. We have e.g. 2 Machines within 1 Process Flow and use only 1 Operator. Sometimes they get stuck in the same "Create TS" (where we chose them via the pipette) although we have different priorities in the TSstopped-in-ts-1-operator-2-machines.png
    stuck-in-ts.png
  2. We use Acquire a Resource, independently from how many Operators we would create via the Resource it gets stuck in the "Acquire"

  3. We use a special soulution where we request Operators from a List. Also here there, even when the priority is different, it stops in the "Push"stopped-via-list-solution-second-token-not-visible.png

  4. Sometimes it even passed the create TS, continues other tasks but stops when somewhere else a "Create TS" is entered. (The load was working after restarting the model)
    screenshot-2024-10-10-130159.png



All of the cases were not only happening once, but several times, in different Flows.
Anyone an idea how to solve?

As the model is quite big and includes a lot of info we cannot send it.
Thanks in advance for any hint.

FlexSim 24.1.1
process flowoperator task sequenceaquire resource
· 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.

Logan Gold avatar image Logan Gold ♦♦ commented ·

Hi @Sabrina S, was Adam C's answer helpful? If so, please click the "Accept" button at the bottom of the answer. Or if you still have questions, add a comment and we'll continue the conversation.

If we haven't heard back from you within 3 business days we'll auto-accept an answer, but you can always comment back to reopen your question.

0 Likes 0 ·

1 Answer

Adam C avatar image
0 Likes"
Adam C answered Sabrina S commented

A token stuck in an acquire usually means the resource cannot be acquired because the limit has been reached. Once one of the resource gets released, the token should acquire it and continue. Resources are usually for abstractions within process flow – if the resource is meant to control something in the 3D view (like an operator/TE) you may be better off using a list.

A token stuck at a push activity is a similar situation. By default, the token will not continue until something pulls the pushed item. I do not understand why that is the default, but have the solution. On the push activity, check Use Max Wait Timer (Time = 0) and Keep On List On Early Release. This will release the token immediately even if the pushed item is not pulled while leaving it on the list to be pulled later.

I do not have any immediate insights on tokens getting stuck in a create TS activity, but if you could include a screenshot with one of those create TS activities “expanded” to show the parameters that might help.

· 9
5 |100000

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

Logan Gold avatar image Logan Gold ♦♦ commented ·
A token can stay in a Create TS activity if the Task Executer/Dispatcher that is being referenced is already busy with another task sequence.


So if a Create TS activity has "acquired" an Operator, and another token tries to acquire that same Operator with a Create TS activity, the second token would wait until the first token finishes using the Operator with a Finish TS activity. At which point the second token could then use the Operator with its task sequence.
0 Likes 0 ·
Sabrina S avatar image Sabrina S Logan Gold ♦♦ commented ·

Thanks for your first answers.


For the TS: You see here an example of 2 different independent flows.

In both, a "Hoist" = Robot is needed. In the statistic of both flows you see they passed already several times. But then it suddenly stops.


flow 1

1728655155768.png

flow 2

1728655135191.pngthe TS in flow 2: 1728655114372.png


0 Likes 0 ·
1728655114372.png (25.3 KiB)
1728655135191.png (36.3 KiB)
1728655155768.png (69.2 KiB)
Felix Möhlmann avatar image Felix Möhlmann Sabrina S commented ·

Point 4 from your original post has me suspect that both child-tokens might use the same label for the task sequence. The second token entering the Create TS activity would then overwrite the previous label value which means the reference to the currently active task sequence is lost. Any new tasks would be added to the new task sequence which is sitting in the queue forever, since the active one will never get finished.

If the sub flow does not need to change label values on the parent token, it might be better to allow "read" access to the parent labels. When creating a task sequence, each child token would then create its own label.

0 Likes 0 ·
Show more comments
Sabrina S avatar image Sabrina S commented ·

Okay thanks for all your answers, we tried the following but still do not get rid of process stops in / around a start TS / Pull


We tried:

  1. choosing the operator directly in "create TS" and release in "Finish TS" via pointer
  2. using a Task Excecuter list (Operators in 3D pushes themselves), we "Pull from List" , push to list happens automatically
  3. using a Task Sequence list and "Push" 3D-Operator via trigger On Resource available and "Push" Request to TS-List after "Create TS"
  4. set Operators in a Resource and "Acquire" and "Release" them
  5. using the above screenshotted "prio" list solution so create a Operator group, set group as a label, setup a lost, within the flow "push to request list" and "Push to release the operator"


For every solution we implemented your hints:

- push activity, check Use Max Wait Timer (Time = 0) and Keep On List On Early Release.

- If the sub flow does not need to change label values on the parent token, it might be better to allow "read" access to the parent labels. --> this is not always possible, as we need the labels that are assigned in subflow

- we dont want them to take a TS during scheduled "off shift" or "break" so I dont want to set the prio higher than the timetable; but also removing timetables from Operators did not change the behaviour of getting stuck in a TS

- we put delays before TS that we thought could start the same time


It is not always the same TS / Push / Pull where they are stuck, it differs

Is there any more advice / ideas?

0 Likes 0 ·
Sabrina S avatar image Sabrina S Sabrina S commented ·

One example (Task Sequence List)

After 900+ runs through the Task Sequences in Process Flow it gets stuck: 4 TS on List, you see the 4 tokens in yellow marked areas

1729880179687.png

(But anyway the TS in which he gets stuck are not the same in different model runs)

And this is how the Operator Push to the list: 1729880330564.png
(Queue Strategy was before "Sort by Task Sequence Priority" but also got stuck)


The states of the Gantt are showing he is allocated idle but still sometimes does something after getting allocated idle: 1729881648488.png

and flow at starting point from which onwards the Operator gets allocated idle: 1729881244908.png

(sublow in main process:1729881438169.png)


Any Idea?

0 Likes 0 ·
1729880179687.png (292.2 KiB)
1729880330564.png (194.0 KiB)
1729881244908.png (86.9 KiB)
1729881438169.png (41.4 KiB)
1729881648488.png (17.8 KiB)