AseptSoft Core Documentation
Breadcrumbs

Algorithm Design

Algorithm Design defines when and how the execution transitions from one Step to the next. Each Step contains an Algorithm — a sequence of Conditions that must be fulfilled before the process can move on.

💡 Think of it this way: Process Design defines what the valve positions are. Algorithm Design defines when to move from one set of positions to the next — based on sensor readings, timer expirations, operator confirmations, or any combination of these.


📋 Overview

Concept

Description

Algorithm

A sequence of conditions attached to a Step, defining the transition logic

Condition

An atomic decision point in the algorithm (e.g., wait for a sensor reading, timer, or operator input)

SFC Editor

The visual Sequential Function Chart editor for managing conditions — see SFC Editor

Key relationship: Each Step has exactly one Algorithm, and each Algorithm belongs to exactly one Step.


🔧 Conditions

A Condition is a single decision point within an Algorithm. It contains the information that operators and automation systems need to evaluate before proceeding.

Condition Fields

Field

Description

Example

Type

The kind of condition

"Operator input", "Sensor check", "Timer"

Description

Human-readable explanation of the condition

"Wait for the operator to confirm WFI quantity"

Prompt

Text displayed to the operator at this step

"Confirm that T01 is filled to target level"

Condition

Formal logic expression for the automation system

Temperature reading ≥ Target pressure value

Success Action

Action taken when the condition is met

Store the current flow reading into a variable

Fail Action

Action taken when the condition fails

Increment the alarm counter

Success Transition

Next step to go to on success

Next step in sequence (default)

Fail Transition

Next step to go to on failure

Return to previous step or abort

💡 Tip: The Condition and Action fields support formal expressions. Use the Condition Builder and Action Builder for guided construction of these expressions.

Condition Action Types

When working with the SFC Editor, each condition has a type that determines when and how it executes:

Type

What It Means

When It Runs

Transition condition

A gate that must be satisfied before moving to the next step

Evaluated continuously until true

Continuous action (runs while step is active)

An action that executes repeatedly while the step is running

Every scan cycle while the step is active

Conditional continuous action

A continuous action that only runs when its condition is true

Every scan cycle, but only when the condition evaluates to true

Execute on step activation

An action that runs once when the step first becomes active

Once, at the moment the step activates

Execute on step deactivation

An action that runs once when the step is about to end

Once, just before the step deactivates

Execute on event trigger

An action that runs when a specific event occurs

When the specified event fires

Custom action

A user-defined action type for special use cases

Depends on the custom configuration

Custom Fields

You can add custom fields to conditions for each project. This allows you to tailor the condition form to your specific documentation needs — adding fields like "Timeout", "Safety Class", "Reference Document", or any project-specific data.


✏️ Condition Editor Window

The Condition Editor is the main interface for creating and managing conditions. Access it from the Conditions panel (formerly "Algorithm" panel) in the Module Ribbon.

Editor Features

Feature

Description

Create

Add a new condition to the current step's algorithm

Duplicate

Copy the current condition as a starting point

Delete

Remove the current condition

Navigate

Move between conditions using Previous/Next buttons

Reorder

Move conditions left/right to change their position in the sequence

Intelligent Suggestions

Auto-complete for instrument names, parameters, variables, and dialogs

Syntax Highlighting

Color-coded text to distinguish different element types

Prompt Field — Dialog Preview

The Prompt field has a special behavior: when you reference a Dialog by name, AseptSoft automatically shows a live preview of that dialog on the right side of the field editor.

How it works:

  1. Type a Dialog name in the Prompt field (e.g., "WFI Fill Dialog")

  2. The referenced Dialog content appears as a preview on the right

  3. Click the preview to open the Dialog editor

  4. Use the Swap button to replace the current Dialog reference with a different one

⚠️ Note: The swap operation preserves any other text in the field — it only replaces the Dialog reference.


📊 SFC Editor (Sequential Function Chart)

The SFC Editor provides a visual flowchart view of the algorithm. You can access it from the Conditions panel in the Module Ribbon.

In the SFC Editor, conditions are displayed as a sequential chart showing:

  • The flow from one condition to the next

  • Success and fail transitions

  • Branch points and parallel paths

This visual representation makes it easier to understand complex algorithms at a glance.


📖 How To: Build an Algorithm for a CIP Step

Follow this workflow to create the transition logic for a CIP step:

  1. Navigate to your Step — In the Process Design view, select the step you want to add conditions to (e.g., "Caustic Wash").

  2. Open the Condition Editor — Click the Conditions button in the Module Ribbon.

  3. Add your first condition — For example, an operator confirmation: set the Type to "Operator Input" and the Prompt to "Confirm CIP solution is prepared".

  4. Add sensor checks — Create conditions that monitor process variables: "Wait for temperature to reach the minimum threshold" using the Condition Builder.

  5. Add timer conditions — "Circulation time must exceed the minimum hold time" to ensure sufficient contact time.

  6. Set success actions — Use the Action Builder to record values when conditions pass (e.g., store the final temperature reading).

  7. Configure transitions — Set where the algorithm goes on success (next step) and on failure (retry or abort).

  8. Review in the SFC Editor — Open the SFC Editor to see the visual flowchart and verify the logic.


🏭 Example: CIP Caustic Wash Algorithm

Here is a typical algorithm for the "Caustic Wash" step in a CIP process:

#

Type

Prompt

Condition

Success Action

1

Operator Input

"Confirm CIP caustic solution is prepared and at correct concentration"

2

Sensor Check

"Waiting for solution to reach target temperature"

Temperature reading ≥ Minimum temperature parameter

Store actual temperature in RecordedTemp variable

3

Sensor Check

"Verifying flow rate is sufficient"

Flow reading ≥ Minimum flow rate parameter

Store actual flow in RecordedFlow variable

4

Timer

"Caustic contact time"

Timer ≥ Circulation time parameter

5

Sensor Check

"Final temperature verification"

Temperature reading ≥ Minimum temperature parameter

Store final temperature in FinalTemp variable

When all conditions are satisfied, the process transitions to the next step (e.g., "Intermediate Rinse").


🔧 Building Expressions

For the Condition and Action fields, AseptSoft provides guided builder tools:

Builder

Purpose

What It Creates

Condition Builder

Build formal condition expressions

Comparisons between instrument readings and parameter values

Action Builder

Build variable assignment expressions

Assignments that store instrument readings into variables

Both builders feature:

  • Click-based selection of instruments, parameters, and variables

  • Live preview of the formula being constructed

  • Logical operators (AND, OR, XOR) for combining atomic expressions

  • Direct editing for custom values