How to use object process flow for dependent processes?

How to use object process flow for dependent processes?

rajankur6494
Advocate Advocate
57 Views
8 Replies
Message 1 of 9

How to use object process flow for dependent processes?

rajankur6494
Advocate
Advocate

[ FlexSim 21.0.10 ]

Hi Team,

I am working on model where each product has to go through 2 process, Process1 and Process2. Both the process has 2 machines to perform job on 2 product at a time. Then, Product moves to Process 2. If Process2 is not completed, product will wait in buffer available between process1 and process2.

I am thinking to model it using object process flow since there may n number of machines for both the processes and product will enter in any machines based on availability.

1658045507955.png

Is it possible to model using object process flow since process2 is dependent on process1?

17.07.2022_Object_Flow_V3.fsm

If it is not possible to use object process flow, what is best to model it in terms of scalability?

Thank you!

0 Likes
Accepted solutions (1)
58 Views
8 Replies
Replies (8)
Message 2 of 9

jason_lightfootVL7B4
Autodesk
Autodesk
Accepted solution

From your small example and description I'd be tempted to put processors on a list along with their product capability and pull from the list when you need to go from one to another based on knowing which operation you need next. But first consider some background ideas why that might be a good approach since I feel your example is perhaps a little too simple for us to be able to advise you. It might help to generalize the requirement and break things down to key questions around what we need to do for each process step.

1) How many different processes/products are you undertaking/producing at the same facility?

2) How complex is the process in terms of how you determine the next operation/step needed?

  • Often the sequence of operations is named something like OP1, OP2,.... etc. and each may be part of a fixed sequence with one predecessor and one successor (simple to determine which is next) or it maybe be part of a set that can be done in parallel (eg. OP31,32,33) - or it may be part of a complex project network dependant on the completion of a number of predecessor operations and with its own dependant successors. There may also be constraints on which steps can be done in parallel or need certain materials and components to be available. Approximate examples with cases of these 3 types are bottling line, car assembly line, aircraft or ship manufacture.
  • A project type of process can have many next steps and many that are happening in parallel.
  • Note that an assembly line often has groups of operations at each station - but these operations are actually usually assignments in time (balancing) based on a larger assembly project definition, which has the assembly precedence constraints.

2) Where should that operation take place?

If multiple options exist then you need a map of the equipment to operations it can perform for each product. That map might also include different timing depending on the type of equipment being used.

  • Single location - no decision needed
  • Multiple locations - choose the first available or least utilized, or the one that has been scheduled for you (for example in the case materials needed are being routed there already)
  • Not applicable - for large scale projects like aircraft and ship assembly the operation is at the construction 'site' which is fixed for many operations - it's more about where on the assembly something should happen. In this case it might be a question of which mobile resource is available to visit the assembly and perform the operation.

3) How will the assembly get there?


It sounds like you're trying to find the best method and most flexible and powerful approach which is great. In determining how to proceed I would ask what the final scale and ambition for the model is going to be; how flexible does it need to be, and which type of manufacturing is it you're modelling?



0 Likes
Message 3 of 9

jason_lightfootVL7B4
Autodesk
Autodesk
You can also just set the machine capacity to 2 in your example if each are only capable of a single operation, and you don't mind getting the statistics for the machine 'type' on one object.
0 Likes
Message 4 of 9

rajankur6494
Advocate
Advocate

Hi @Jason Lightfoot.

I really appreciated your detailed answer before suggesting the way to go forward.

I have simple process for now where I have 2 processes but the process can have n number of machines. I have only shown 2 machines here but it may go up to 30 or 40 also. That's why I am looking for scalability.

I think this model will give you good idea what I am trying to achieve. Here, I have used the list method as you mentioned but it is not working fine now. I am facing errors. Please find model attached here.

18.07.2022_Object_Flow.fsm

1658128992517.png

Thank you!

0 Likes
Message 5 of 9

moehlmann_fe
Observer
Observer

You have to reference the respective list itself in the Acquire activities, not the process flow list activities. Either through the menu like in the screenshot or use the sampler on the list's entry in the toolbox.

1658135507321.png

It seems unorthodox to me to use a resource for this. Is there a reason why you are not using Pull from List/Push to List instead of Acquire/Release?

You can also set the processors as initial content of the list. So there is no need to set up a process flow to do this at the start of the model.

1658135749745.png

0 Likes
Message 6 of 9

rajankur6494
Advocate
Advocate
Got it @Felix Möhlmann

Thanks for your quick support.


0 Likes
Message 7 of 9

jason_lightfootVL7B4
Autodesk
Autodesk

A quick note on acquire/release vs. push/pull to lists: in the past I've found that you are restricted which token can release the resource - this is not ideal in the case where a single invocation token spawns others and the token that should release the resource is not the one that acquired it. Using lists has few downsides.

0 Likes
Message 8 of 9

jason_lightfootVL7B4
Autodesk
Autodesk
This is not what I meant at all - this does not scale well since you have a list for each process step. It should be one list and you obtain the resource you need using WHERE clause that references a list of operations that the resource can perform.
0 Likes
Message 9 of 9

jason_lightfootVL7B4
Autodesk
Autodesk

18072022-object-flow_jl.fsm

Here's a very simple example of pull the equipment by the operation from one list. This scales well.

If you need to have multiple products then the label on the machine can be an array or map of products and operations, and instead of looking at a label match you can change the list to an expression that checks if the machine can perform the puller's required operation.

0 Likes