question

Ankur A3 avatar image
0 Likes"
Ankur A3 asked Jason Lightfoot edited

How to use object process flow for dependent processes?

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!

FlexSim 21.0.10
assembly lineobject process flowmanufacturing processprocess definition
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

Jason Lightfoot avatar image
0 Likes"
Jason Lightfoot answered Jason Lightfoot edited

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?



· 7
5 |100000

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

Jason Lightfoot avatar image Jason Lightfoot ♦♦ commented ·
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 0 ·
Ankur A3 avatar image Ankur A3 commented ·

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 0 ·
Felix Möhlmann avatar image Felix Möhlmann Ankur A3 commented ·

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 0 ·
1658135507321.png (30.1 KiB)
1658135749745.png (22.1 KiB)
Ankur A3 avatar image Ankur A3 Felix Möhlmann commented ·
Got it @Felix Möhlmann

Thanks for your quick support.


0 Likes 0 ·
Show more comments
Show more comments
Jason Lightfoot avatar image Jason Lightfoot ♦♦ Ankur A3 commented ·
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 0 ·