Over the years, Messinger Engineering gained extensive experience in Automation and Software. As a result, we are able to start every automation and software development project with a fast and flexible approach.

FDS (Functional Design Specification)


  1. General Principles
  2. Databases
  3. Minimalistic P&ID
  4. Lists
  5. SFC Sequential Functional Charts
  6. Control Loops

Functional Design Specification

Much more than a document

A FDS (Functional Design Specification) is a document which describes the concept of the automation system (PLC, DCSs and SCADA). It can be a real document (PDF) or an HTML document (text document in a web browser). It defines what the system should do and how actuators and sensors work together. The FDS provides details of the automation concept to be implemented. An FDS specifies:

  • Actuators
  • Sensors
  • Control Loops (PID, discrete)
  • Functions
  • Sequences, Phases, Steps, Unit Procedures
  • Operator interactions

SCADA (supvervisory control and data acquisition):

  • Details of the SCADA system (screen layouts, navigation charts, alarm handling)
  • trending and reporting


  • Network architecture

An FDS is very useful if it can be used not only to instruct the programmer on what to write, but to illustrate to the user (final client) what the system does in detail, how it is controlled. A good FDS can be very useful for operator training.

It's recommended to include a GDP (General Design Principles) document where all design elements (colors, symbols, instrumentation namings etc.) are defined.


Less work for the programmer

The better formulated the FDS, the less work for the programmer to implement it. Writing a good, detailed FDS however means a lot of hours to be invested. Because we want to reuse the information being stored in an FDS, we prefer working with databases. Databases are formally described tables from which data can be accessed or reassembled in many different ways without having to reorganize the database tables. Information being stored in a database can be reused in spreadsheets, for visualization (animations) etc. Information being stored in a database is not only very much structured, it can be combined with other databases (relational).
Data are written into tables of columns and rows, with a unique key identifying each row. Each row in a table has its own unique key. The trick with (relational) databases is, that each table can be combined (linked) with other tables. Rows in a table can be linked to rows in other tables by adding a column for the unique key of the linked row.

Simplified P&ID

Visual, visual, visual

To work efficiently with visual information, the P&ID must be transformed into a simplified (minimalistic) form.

The simplified P&ID serves as a template for the FDS. An active actor is marked with a red square.

SFC (Sequential Functional Charts)

A graphical programming language

A sequential function chart (SFC) is similar to a flowchart. It uses steps and transitions to perform specific operations or actions. In SFC view the situation above would look like:
A step represents a major function of the process. It contains the actions that occur at a particular time, phase, or station. An action is one of the functions that a step performs. A transition is the TRUE or FALSE condition that tells the SFC when to go to the next step. A qualifier determines when an action starts and stops. A simultaneous branch executes more than 1 step at the same time.
Once the steps of your process are defined, organize them into sequences, simultaneous branches, selection branches, or loops. A sequence is a group of steps that execute one after the other. A selection branch represents a choice between one path (step or group of steps) or another path (an OR structure). A simultaneous branch represents paths (steps or group of steps) that occur at the same time (an AND structure).

Control Loops

Feedback control

Feedback control is defined as a control to compensate for the numerical comparison between a desired value (setpoint) and a controlled process variable (process variable). Action is taken to make the two values agree.

Control systems are evaluated by considering such factors as stability and speed of response, and in order to understand these factors, it is necessary to investigate the characteristics of the control system.

Messinger Engineering
David Hess Weg 34
CH-8038 Z├╝rich

T +41 79 390 60 48

Registered in Switzerland
V.A.T. CHE-240.431.554 MWST
Member of SwissMem