Embedded AggreGateIEC 61131-3AggreGate IDE

IEC 61131-3

ManualIEC 61131-3
Programming Manual

The IEC 61131-3 Standard comprises five programming languages.

These include three graphical ones:

  • SFC - Sequential Function Chart,
  • FBD - Function Block Diagram,
  • LD - Ladder Diagram,

and two textual languages:

  • ST - Structured Text,
  • IL - Instruction List (not supported by Tibbo).

The standard aims to improve the quality and speed of the program development for Programmable Logic Controllers (PLCs). Virtually all PLCs on the market today support "IEC languages."

The primary objective of adding the support for IEC languages into AggreGate was to give AggreGate users a convenient tool for developing their own AggreGate-based applications. By selecting the IEC 61131-3 as the means of facilitating application development within AggreGate, we've opened our AggreGate platform to millions of process and automation specialists who are well-versed in "ladder diagrams."

A Linux Tibbo Project System (LTPS) running Embedded AggreGate that supports IEC languages is not just a traditional PLC. Tibbo's IEC languages implementation creatively combines the features defined by the IEC 61131-3 standard with the data model of the AggreGate Platform.

Specifically, your program can use AggreGate's proprietary expression language to reference AggreGateData. For example, here is a line from our Boiler sample implementing water level monitoring:

temp := {users.admin.models.modelPump:level$level} + pump1 + pump2 - consuming;

In this example, temp, pump1, pump2, and consuming are IEC variables;
{users.admin.models.modelPump:level$level} is an expression that will pull data from AggreGate. This kind of data importing and exporting may involve simple values or entire data tables. Moreover, the data referenced by the expression may have an extremely complex nature and reside on other servers. All this allows you to develop IEC applications that work with data that is far more complex than that of traditional PLCs.

The AggreGate Client has a built-in IDE allowing you to create and debug projects in IEC languages.

More on the concept of IEC 61131-3 languages

The IEC 61131-3 programming languages are intended not so much for software developers as for engineering experts. Depending on the engineer's background, he or she may be more adept at learning one language over another. For example, an engineer who is familiar with electric circuits and schematic diagrams may find himself or herself leaning toward LD or FBD. On the other hand, a person with prior experience in writing code will quickly learn ST.

You don't have to know all IEC 61131-3 languages to be able to develop "IEC programs." However, the choice of the language determines the way a task can be solved. What may have a simple solution in one language may require a lot of work and debugging in another. Therefore, at least some knowledge and experience in all IEC languages will give you an advantage in dealing with complex development challenges.

In addition, the usage of a graphical and a textual language in the same project will enable you to design an easy-to-understand, self-explanatory code. The top-level "flow" may be defined in a graphical language, such as SFC, while complex lower-level algorithms may be implemented in a textual language (ST). This separation of your project into the graphically expressed "top view" and the more complex "inner workings" area will help installation, maintenance, and technical support specialists understand the overall concept of your system's operation just by looking at the "top view" part of your code.

Embedded AggreGateIEC 61131-3AggreGate IDE