C++
By installing a C++ options package, Automation Studio 3.0 allows developers to program in C++ as well.
The following functions are then available as a result of this C++ integration:
• Syntax according to the ANSI C++ standard
• OOP features such as constructors, destructors, copy constructors, multiple inheritance, static class objects, etc.
• Preprocessor (character replacement, conditional compilation)
• STL support (Standard Template Library)
• Cyclic PLC programs with _INIT, _CYCLIC and _EXIT routines
• Access to classic PLC variables (_GLOBAL, _LOCAL) and PLC I/O
• Use of all Automation Runtime libraries (functions and function blocks)
• cin/cout/printf support with Telnet console
• Exception handling (try/catch methods)
• Namespaces (avoids naming conflicts)
• Templates (program framework for generic programming)
• RTTI Run-Time Type Information (reports the type of class at runtime)
IEC 61131-3 - LD (Ladder Diagram)
The graphical programming language Ladder Diagram LAD (according to the standard IEC DIN EN 61131-3) is based on the representation of circuit diagrams. Familiar symbols are used for programming, such as normally open and normally closed switches, coils and lamps.
These are then combined in networks to form logical structures.
The Ladder Diagram also enables you to integrate function blocks.
IEC 61131-3 - FBD (Function Block Diagram)
This graphical programming language uses the logical symbols of Boolean algebra.
It is particularly suited for link controls since the visualization makes the programming logic easy to understand.
IEC 61131-3 - IL (Instruction List)
IL is a language conforming to IEC standards which can be found on almost every controller today. This language can best be compared with programming in assembler languages.
- Command-oriented, machine-related programming language
- Used for formulating short program sections with logical functions
Automation Basic
Automation Basic is a high-level language similar to structured text.
This language is well-suited for users who want to use a very easy-to-learn language, but don't want to lose out the benefits of high-level languages such as structures, addresses, and pointers.