• 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

Sequencer

The Sequencer addon implements support for event-based computing as defined by IEC 61499 to better support building sequential or event based logic. Sequencer provides both no-code and code-based blocks to build such systems. The distributed aspects of IEC 61499 are less impactful as CDP is already inherently distributed also for regular cyclic computing and function blocks.

The Sequencer addon also supports building cyclic control blocks for use-cases where the use of events for control flow is not needed extending what the IEC 61499 mandates.

Sequencer help has the following help pages.

  • Introduction to Sequencer.
  • Basic Function Block usage manual.
  • Composite Function Block usage manual.
  • Service Function Block usage manual.
  • C++ Class documentation of programmer APIs for Sequencer code usage.

In addition to the generic blocks, CDP has many more specific Sequencer blocks that help in creating different complex pipelines:

  • DebugPrinter - for debugging the pipelines - by dumping any event received into the application output.

Sequencer Database

The Sequencer Database blocks are event-based blocks that provide access to databases.

  • DBQuery Block - allows no-code SQLite database interactions

Sequencer DataHandling

The Sequencer DataHandling blocks are event-based blocks, that provide data manipulation functionality. The primary use-case of these blocks is to allow simpler building of cloud and edge applications.

Blocks for converting data to/from JavaScript Object Notation (JSON) format:

  • JSONDecode - allows to decode simple JSON to output arguments
  • JSONDecoder - allows to decode incoming event JSON argument to event(s) with decoded data
  • JSONEncode - allows to encode values to simple JSON
  • JSONEncoder - allows to encode event(s) data to output event consisting JSON-encoded data
  • JSONQuery - allows to query a single value from JSON using JSON Pointer syntax

Blocks for converting data to/from Protocol Buffers (Protobuf) format:

  • ProtobufDecode - allows to decode simple Protobuf to output arguments
  • ProtobufDecoder - allows to decode incoming event Protobuf argument to event(s) with decoded data
  • ProtobufEncode - allows to encode values to simple Protobuf
  • ProtobufEncoder - allows to encode event(s) data to output event consisting Protobuf-encoded data

Blocks for manipulating series of data:

  • Grouper - allows to collect events and output them reordered by some key
  • SeriesMerger - allows to collect data from different input events and then output them merged via a single output event
  • SeriesCompressor - allows to compress series of numeric data
  • SeriesDecompressor - allows to decompress compressed series of numeric data

Sequencer Alarm Handling

The Sequencer Alarm System blocks are event-based blocks that provide access to CDPEventManager events like alarms:

  • CDPEventListener - allows to listen to CDP object events (like CDP alarms set or cleared) and take immediate sequencer event-based actions on them
  • ActiveAlarmCounter - allows to count active alarms in the system.

Sequencer Generic

Blocks for representing data in CDPNode structure:

  • DataNodes Block - allows translating dynamic message event data into structured, navigable data format, such as tree or list

Blocks that help in creating different complex pipelines:

  • RequestRetry - for creating a pipeline where a request (event or message) has to be responded and when not responded in time the same request has to be automatically retried
  • RangeScanner - allows to scan value ranges (like timestamp ranges) sequentially, not missing any value
  • MessageQueue - to queue incoming (In) events (i.e. messages with data) to be emitted to the output (Out) one-by-one, on Next event.

Sequencer IO

The Sequencer IO blocks are event-based blocks that provide I/O access.

  • TextFileReader - allows to read contents line-by-line from a file.
  • TextFileWriter - allows to write message line contents to any file.
  • CSVFileReader - allows to compress series of numeric data

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