Skip to content

Creating Extendable Controllers#

This section covers how to create new extendable controllers using different approaches and configurations.

Basic Flow#

To create a controller that inherits from an existing controller:

  1. Go to Automation Controller Page

  2. Click the New button

  3. Fill the General Data information and select the Parent Automation Controller and press Next

    • Choose from available controller revisions of the same scope (Connect IoT)
    • You can change or remove the parent selection during creation

    New Extendable Controller Wizard: General Data Step

  4. Check Driver Configuration and press Next

    • All drivers from the parent controller are displayed
    • Parent drivers cannot be modified or removed
    • You are allowed to add new ones

    New Extendable Controller Wizard: Parent Drivers

  5. Check the inherited tasks selection and add new if required and press Create

    • Tasks and versions from the parent are automatically selected
    • You cannot unselect or change parent controller tasks
    • You are allowed to select additional task libraries if needed

    New Extendable Controller Wizard: Parent Tasks

  6. Workflow editor is presented and you are allowed to change it:

    • All parent workflows are inherited as virtual workflows and marked with a diamond symbol (◇ on its name)
    • Inherited workflows cannot be modified directly (are read-only), until they are overridden.
    • You are allowed to add new workflows.

    New Extendable Controller Workflow: Inherited

  7. Save, approve Controller changes and make it effective, so it can be used or extended.

Extend Controller Drivers#

To create a controller that extends a parent and adds new driver connections:

  1. Follow Basic Creation flow (above) or edit an extended workflow.

  2. During wizard execution, on the Driver Definitions step add the new drivers:

    • After selecting the parent, you can add additional driver connections
    • New driver names must be unique (different from parent driver names)
    • Each new driver will automatically create a setup workflow

    New Extendable Controller Wizard: New Child Drivers

  3. Additional Tasks Activation will be allowed for the new added drivers

    • Tasks that depend on new protocols are automatically activated

    New Extendable Controller Wizard: Additional Tasks Selection (SecsGem)

  4. Workflow editor is presented with parent driver workflows and new child drivers workflows.

    • All parent workflows are inherited as virtual workflows and marked with a diamond symbol (◇ on its name)
    • Inherited workflows cannot be modified directly (are read-only), until they are overridden.
    • A new setup workflow is created for each new driver
    • Setup workflow names must be unique across all workflows (including inherited ones)

    New Extendable Controller Workflow: Extended

  5. Save, approve Controller changes and make it effective, so it can be used or extended.

Multi-Level Inheritance#

Controllers can inherit from other controllers that already have parents:

  1. Follow Basic Creation flow (above) or edit an extended workflow.

  2. Select Extended Parent Controller that already extends another controller

    • The system will show drivers and workflows from the entire inheritance chain
  3. Adapt your new controller drivers, tasks and workflows according to needs

  4. Save, approve Controller changes and make it effective, so it can be used or extended.

The resulting workflow follows the Inheritance Aggregation rules below:

  • The new controller inherits from all controllers in the chain.
  • All drivers from parent controllers appear as virtual.
  • All workflows from parent controllers are inherited.
  • Task versions remain compatible across the entire chain.