When you build a simulation model using the process flow module, you can build four different types of process flows. This topic will provide a high-level overview of these four types so that you can decide which type of process flow to create when you're making a new process flow.
The main purpose of a process flow is to control the basic logic of your simulation model. In this respect, you could think of process flows as the "brains" of a simulation model. Therefore, when you decide which type of process flow type to create, it is like answering the question: whose brain is it that you are implementing?
- General - Choose this type of process flow if you want to create a centralized brain for the entire model. General types of process flows are ideal for creating process flow logic that will need to be globally accessible to many objects in the simulation model. A general process flow is a good place to put any labels, variables, or logic that needs to be used by multiple objects in the model.
- Fixed Resource - Choose this type of process flow if you want to create the brain of one or more fixed resource objects. You'd use this type of process flow if you want to create logic for custom FR objects or if you simply want a fixed resource to have additional functionality beyond the standard FlexSim logic for that object.
- Task Executer - Choose this type of process flow if you want to create the brain of one or more task executer objects. Task Executer process flows are identical to Fixed Resource process flows, except that they are meant for task executer objects.
- Sub-Flow - Choose this type of process flow if you want to create a sub flow, which is like a small part of a brain that will get used by many different objects. A sub flow is a separate process flow that begins running when it is triggered by another activity or event in a different process flow. Sub flows are chunks of self-contained logic that will get executed when they are triggered by certain events in the simulation model or general process flow. If you are familiar with programming terms, you could think of a sub flow as a function or a subroutine.) See Sub Process Flows for more information.
If you are unsure what type of process flow to start with, choose a General Process Flow. Be aware that the type of process flow you choose could affect the picklist options that are available to link that process flow to objects in the 3D simulation model. See Linking Process Flows to 3D Models for more information.
Changing a Process Flow Type
After you create a process flow, there is no method for changing a process flow's type (such as in its general properties). But if you begin working on a process flow and realize you should have chosen a different process flow type, simply create a new process flow and copy the activities and stacked blocks from the old process flow into the new one. The activities will retain all the same settings and properties when they are copied. See Copying and Pasting Activities or Stacked Blocks for more information.
Instances
In using different types of process flows, you will come across the idea of instances. Instances are specific copies of a process flow's 'brain'. For example, as mentioned before, a fixed resource process flow would implement the brain of a fixed resource. Once you've implemented this brain, you can attach that process flow to one or more fixed resources in the model. Each fixed resource will then become a separate instance of the process flow.
If you are using a general process flow, there will only be one instance, namely the process flow itself. If you use a fixed resource or task executer process flow, there will be one instance for each object that is attached to the process flow. If you use a sub flow, instances are created dynamically during the model run, based on rules that you define on the process flow.
See Process Flow Instances for more information on instances.