article

Paul Toone avatar image
0 Likes"
Paul Toone posted

Common Process Flow Object Properties   

Some of the process flow objects have properties that they share in common. Each of these properties will be discussed in more detail in the following sections.

Name

All the activities and process flow objects have a Name box that you can use to edit its name. You can find this setting in Quick Properties under the Activity Properties group. By default, the name of the activities and other process flow objects will be based on what kind of activity or object it is, as shown in the following image:

In the example above, the activity is named Batch because it is a Batch activity.

You can change the name of the activity by clicking inside the Name box and typing a new name. After you've changed the name, it will update the display name on the activity.

Be aware that you can also change an activity's name by double-clicking the activity name in the process flow.

Unique activity names?
Activity names do not need to be unique. However, referencing an activity by name will return the first activity with the given name.

For more information about the Font and Statistics properties, see the following sections.

Font

Clicking the Font button opens a pop-up box where you can edit the activity's visual properties, as shown in the following image:

This pop-up box has the following properties:

  • Apply to Block - This button will cause the background color and font of the selected activity to be copied to all activities that are stacked together with this activity.
  • Background Color - You can change the color of the activities by using the color selector or using the Sampler button to select a color from any object in your simulation model or process flow.
  • Alpha - Sets the transparency of the activities.
  • Font - These properties control the text on activities and resources:
    • Font - The font menu has 13 common fonts available.
    • Size - Changes the font size.
    • Style - You can make the text bold, italicized, or underlined.
    • Color - You can change the color of the text by using the color selector or using the Sampler button to select a color from any object in your simulation model or process flow.

Statistics

The Statistics button opens the activity's statistics dialog box. You can use this dialog box to turn recording for statistics on or off for this particular activity. See Process Flow Statistics for more information.

Max Wait Timer

Some activities have the Max Wait Timer properties, as shown in the following image:

The Max Wait Timer properties are available for activities that might hold a token for a period of time until a specific condition or event occurs in the process flow or simulation model. You can use this timer to:

  • Set a maximum wait time that the activity will hold the token for
  • Determine when the wait time will begin
  • Decide what will happen to the token if it reaches the maximum wait time

For example, an Acquire Resource has a Max Wait Timer. Tokens that enter the Acquire Resource will request access to the resource and will wait in the Acquire Resource activity until the resource becomes available. You could set the Max Wait Timer to expire if the token is unable to get access to the resource after 5 minutes. Then, when timer goes off, you could possibly set the token to create a label named failed and then continue to the next downstream activity.

The Max Wait Timer properties are available on the following activities:

By default, only the Use Max Wait Timer checkbox is available at first. Then, when you check the Use Max Wait Timer checkbox, the other properties will become available:

Start Criteria

The Start Criteria box is only available for Batch activities. The Batch activity collects incoming tokens and sorts them into groups of tokens (batches). When a batch is ready, the Batch activity will release it to a downstream activity. If you decide to use the Max Wait Timer with a Batch activity, you can cause the Batch activity to release a batch early if a certain amount of time has passed. You'd also use the Start Criteria box to determine when the timer should begin running.

By default, the timer is set to begin running as soon as a batch is created. You can change the value in this box if needed. For example, if you change the Start Criteria to collected > 3, the timer will begin when the fourth token in the batch is collected.

Time

Use the Time box to set the length of time the Max Wait timer will run. The time is measured in simulation time units. You can enter in a fixed time or create a time dynamically using the menu next to the box.

onwaittimerfired

Use the onwaittimerfired settings to determine what should happen to the token if the Max Wait Timer expires. You can click the View Properties button to view and edit the default settings, as shown in the following image:

By default, the Set Label operation will create a label on the token that is called failed and assign it a value of 1 (which will represent a value that is set to true). The Release token operation will then release the token through connector 1. (See Adding and Connecting Activities - Number of Outgoing Connectors for more information about connector numbers.)

You can edit these default operations or delete them using the Delete button next to each one. You can also add your own custom operations using the Add button to open a menu and select other operations.

Batches
If you are using a Batch activity, there is an option to release the entire batch. From the menu, select Code Snippet then type releasebatch.

Max Idle Timer

The Max Idle Timer works almost identically to the Max Wait Timer. It has many of the same available settings, as shown in the following image:

The main difference is that it measures how long a token has been idle in the activity, meaning how long it has gone without receiving any tokens and/or values.

See Max Wait Timer for more information about these properties.

This property is available on the following activities:

Executer / Task Sequence

The Executer / Task Sequence box is available on most of the Task Sequence activities. You can use this box to determine which task executer or task sequence should receive the task. If you choose to give this task to a task executer, a new task sequence will be automatically created with this task and then it will be sent to the task executer.

You can:

  • Assign a specific, fixed task executer in the 3D model
  • Dynamically assign the task executer during a simulation run using labels
  • Assign the task executer using the current command if you are in a task executer or sub flow process flow type.
  • Append this task to an existing task sequence

Each of these different options will be explained in the following sections.

Should I Assign a Task Executer or a Task Sequence?

If you want to assign this task to a specific task executer and you're not concerned about whether that task executer may get pulled away to work on other tasks, assign the task to a task executer.

However, if your task executer will receive task sequences from multiple sources (more than one Fixed Resource or Task Executer object in the 3D model or via multiple tokens in a process flow), your task executer could possibly get pulled away to work on other tasks it receives. In other words, the task executer might be working on a set of tasks it received from one object and then get interrupted and work on a task it receives from another object. If you want to prevent or control this interruption, you should use a Create Task Sequence activity and then assign tasks to this task sequence. See the Create Task Sequence activity for more reasons why you might want to use a Create Task Sequence activity.

Fixed Task Executers

To assign this task to a specific task executer, use the Sampler button to select a task executer in the 3D model. During the simulation run, the assigned task executer will always perform this task.

Dynamic Task Executers - Labels

If needed, you can make sure this task is assigned dynamically to a task executer during a simulation run. In other words, you can change these settings so that a different task executer might be assigned to the task based on different conditions during the simulation run.

One way to dynamically assign a task executer is to use the task executer that is listed in a label on a token. To reference a label on a token, you can use the Label keyword:

  1. Click inside the Executer / Task Sequence box and type Label: .
  2. Because the Executer / Task Sequence box uses the Universal Edit Feature, a menu will appear after you type Label: in this box that will list all the available labels in the process flow. You can select a label from the menu to auto-complete the label name. Either double-click a label name or use the arrow keys and press the Enter key to select the label name. Alternatively, you can just finish typing the full label name after the colon. Be aware that the label name does not need to be in quotation marks (" ") and it is case sensitive.

The Current Command

You can use the current command in Executer/Task Sequence box to dynamically assign the task to the task executer that is currently attached to a specific instance of the process flow. Be aware that this command can only be used for the Task Executer or Sub Flow process flow types. The keyword current will reference the task executer object attached to the process flow. See Process Flow Instances for more information. Also see the Task Sequences Tutorial for an example of how to dynamically assign task executers using the current command.

Adding the Task to an Existing Task Sequence

If needed, you can add this task to an existing task sequence that was previously created by a Create Task Sequence activity. (See Creating and Dispatching Task Sequences and the Create Task Sequence activity for more information.)

The Create Task Sequence activity will create a reference to the created task sequence and assign it to a label on the token. This label can then be used in the Executer / Task Sequence box to add the task to the end of that task sequence.

If you add any of the task activities to the end of a Create Task Sequence activity or another task activity, the newly added task activity will automatically put the correct label name in the Executer / Task Sequence box. This can make creating task sequences more convenient. However, if you need to add it manually:

  1. Click inside the Executer/Task Sequence box and type Label: .
  2. A menu will appear after you type Label: in this box. Type the same name of the label used in the Create Task Sequence activity's Assign To property.

Assign To

The Assign To property creates a reference to a new value(s) or object(s) that is created by the activity. These references are usually assignedto a label on a token, but they may be assigned to other labels or nodes. When using the Label: syntax, the label will be created on the token if it does not currently exist. Otherwise, you will need to ensure that the node you pass in to theAssign To already exists. This can be done by using the assertlabel() orassertsubnode() commands.

The reference may be to a single object or value, or it may be to multiple. For instance, pulling entries off of a list may result in one entry or multiple. If multiple entries are pulled, an array will be created with each entry in the array being one of the pulled values.

Creating a reference point allows other activities to easily reference created objects, values pulled from a list, task sequences etc. However, an Assign To label/node is not required for and may be removed by clicking the Remove button.

The value(s) will be set in one of two methods:

Assign

If the Assign box is checked, any data stored on the label or node that was passed into the Assign To box will be overwritten by the new value.

Insert at Front

If the Insert at Front box is checked, any data stored on the label or node that was passed into the Assign To box will remain and the new value(s) will be added to the front. This will cause the data to become an array with the most recent value as the first entry in the array.

flexsim users manualuser manuals
5 |100000

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

Article

Contributors

paul.t contributed to this article

Navigation

FlexSim 2016.1