• Skip to main content
  • Skip to header right navigation
  • Skip to site footer
CDP Studio logo

CDP Studio

The no-code and full-code software development tool for distributed control systems and HMI

  • Doc
  • Why CDP
    • Software developers
    • Automation engineers
    • Managers
  • Products
    • Automation Designer
    • HMI Designer
    • Maritime HMIs
  • Services
  • Use cases
  • Pricing
  • Try CDP

CDP Studio Documentation

  • Framework - Sequencer
  • Introduction

Framework - Sequencer Sequencer C++ Classes

Introduction

Introduction

Sequencer is CDP addon for aiding the development of sequential control tasks like controlling manufacturing lines or other control tasks that consists of steps taken in sequence. The default Sequencer behavior is derived from IEC 61499 defined event based control standard. With a modern, open architecture, Sequencer enables developers to build distributed software blocks that are usable stand-alone or as parts of larger systems.

In other words, Sequencer defines a modeling language that is similar to the old function blocks. This language separates control flow and data flow in easy to understand manner making designs easier to create and also easier to understand.

Sequencer Block Interface

The Sequencer block encapsulates existing CDP Operators for data processing. Similar to other blocks the inputs are on the left and the outputs on the right, but the interface differentiates events and data. The events on the top part of the block are shown as pastel red IO, and the data on the lower part as blue IO.

Types of Sequencer Blocks

IEC 61499 defines three types of blocks that you can use when developing your application.

  • Basic Function Block - In the BFB you can define a state machine using the Execution Control Chart (ECC). The ECC decides which operations are executed based on its state and the input events.
  • Composite Function Block - The CFB is simply a container for other Sequencer blocks to build more complex blocks.
  • Service Function Block - SFBs are Sequencer blocks that can be used to implement access to specific hardware, services or protocols in C++

Internal Sequence

The following image shows how a Sequencer block is triggered to execute its functionality. A sequence of steps is executed when an event arrives at the block or the parent cycles (when cyclic processing is enabled). There are more detailed explanations available for the specifics of each block on their help pages.

An input event arrives at the block or parent cycle occurs (depends on when ProcessOn allows processing) The input data members are refreshed. Arguments listed in EventIn Data properties are overwritten when present in triggering event message. The event or cycle triggers the processing of the Execution Control Chart (ECC). Depending on the block type and execution control, internal operations are triggered for execution. The internal operation finishes the execution and provides new output data and may trigger output event sending. The output data member values are made available to targets. In case the event was triggered Arguments listed in EventOut Data property are loaded into outgoing event message. In case event was triggered the event message is dispatched.

Note: Steps to may be repeated several times. Although an output event can be triggered, this need not be always the case.

Some of the control paths are optional and depend on set configuration options.

  • When EventIn does not contain any payload data or its Data property does not list any Argument, no input data overriding will occur.
  • When EventOut does not list any Argument, no output data is loaded into event message payload.
  • When the cyclic mode is not enabled in ProcessOn property no execution of the block will occur on parent cycles.

Framework - Sequencer Sequencer C++ Classes

The content of this document is confidential information not to be published without the consent of CDP Technologies AS.

CDP Technologies AS, www.cdpstudio.com

Get started with CDP Studio today

Let us help you take your great ideas and turn them into the products your customer will love.

Try CDP Studio for free
Why CDP Studio?

CDP Technologies AS
Hundsværgata 8,
P.O. Box 144
6001 Ålesund, Norway

Tel: +47 990 80 900
E-mail: info@cdptech.com

Company

About CDP

Contact us

Services

Partners

Blog

Developers

Get started

User manuals

Support

Document download

Release notes

My account

Follow CDP

  • LinkedIn
  • YouTube
  • GitHub

© Copyright 2025 CDP Technologies. Privacy and cookie policy.

Return to top