Other Languages

Other Languages in AggreGate

Integrated expression and query languages are suitable for most typical data analysis tasks. However, more domain-specific languages are available as additional AggreGate modules.

Most languages, such as Java or Python, assume writing algorithms in plain text and debugging them in a syntax-highlighted editor. Other languages are based on the visual flow design.

Process Control Languages

The family of IEC 61131-3 programming languages is supported by some AggreGate-based products with help of Process Control plugin. Runtime modules of those languages are also called Soft-PLC since they closely mimic functionality of hardware-based Programmable Logic Controllers (PLCs). The main goal of IEC 61131-3 standard is to improve speed and quality of PLC program development.

The standard establishes four programming languages:

  • FBD – Function Block Diagram
  • SFC – Sequential Function Chart
  • LD – Ladder Diagram
  • ST – Structured Text

While SFC, FBD, and LD are graphic languages, ST is textual. An engineer or developer can choose one of these languages either based on personal preferences or depending on the task. Specifically, FBD will be logical to use when you need to arrange a sequence of signal processing and transmission. If it’s required to describe a sequence of relays and keys actuation, then LD would be the most obvious choice. ST, meanwhile, is the most practical to use in case there is a need to implement a complex branched algorithm.

While formally described as a programming language, SFC stands somewhat apart. In fact, it is not a language, but rather an auxiliary tool for structuring programs. However, if you need to perform operations in a certain sequence specified by points in time (or events), then the language of sequential function charts is better than others.

The primary objective of adding support for process control languages into AggreGate was to give its users a convenient tool for developing applications that run in embedded environments, such as IoT gateways, Linux-based PLCs, and single-board computers.

Thus, AggreGate Platform becomes more attractive for millions of engineers who already have experience in programming classic hardware PLCs through the popular tools.

In addition, the entire automation system becomes vertically integrated and fully transparent, with AggreGate Platform allowing both to program the controller and to create the upper level of control via SCADA.

Expect Language

AggreGate's implementation of Expect language allows interacting with devices that use Command Line Interface (CLI). Expect scripts send custom-tailored messages to a device and require it to provide one of the pre-defined variants of output. Device monitoring control, configuration and upgrade scripts can be designed in such a way.

Scripting

The AggreGate server can execute scripts which are basically small programs written in various programming languages. Supported scripting languages are Java, Python and R. It's also possible to call scripts written in other languages (such as PHP or Javascript) as external applications.