Standard language programming for PLC in ST and SCL in compliance with IEC 61131-3

EasyCODE was one of the first development tools that provided a graphic development interface for procedural programming languages and systematically applied the benefits of Nassi-Shneiderman structure diagrams. EasyCODE PLC pursues the idea of structured programming, and in doing so intentionally incorporates a technology that has proven itself on countless projects and which today is as up-to-date and efficient as it has ever been. In the 1990s, SIEMENS was already offering an initial version that enabled SCL files to be generated from structure diagrams. Some of our customers are still using it to write their PLC programs even today.


EASYCODE® has become a standard application in the classic embedded development field. EasyCODE customers naturally also develop solutions and products that operate with PLC systems, and we observe that these segments are becoming increasingly intermeshed. Embedded and PLC teams frequently work together on the same project. This necessarily leads PLC developers to EasyCODE. Becoming familiar with it, they learn to appreciate the advantages of structured development.

The text-based programming languages as laid down in IEC 61131-3 are ideally suited for structured programming. On account of these requirements, it was obvious that EasyCODE should offer a version for developing and analyzing PLC programs.

Philosophy & techniques

Structure diagrams are frequently referred to as code generators, but this is not true of EasyCODE PLC. EasyCODE PLC load source code, interpret it, and then write pure source code again when saving the data. Structure diagrams are just another method of representing the language constructions that are to be found in all standard languages. This graphic representation offers several advantages when creating new files. The developer begins with the development of a file in graphic symbols, for example with a statement block, appends a function block and verbally describes what this function is supposed to do, works out the initial details, and then appends the next block of functions. Very quickly a framework is created that already contains the logic. This construction is refined by filling the structure diagram elements with source code.

One major benefit of this form of development is that the developer is not tied to rigid procedures, but is able to react extremely flexibly to changing requirements. Design errors in a file can be quickly remedied because the element concerned can be simply moved to the required position by drag & drop. Functions are frequently needed in other control mechanisms, either in an identical form or with minor modifications. These can be deposited in EasyCODE as components and then inserted where required as finished structures.

One of the great strengths of EasyCODE is the option allowing the developer to continue structuring files to enhance the readability and focus concentration on the main elements of the code. We talk about layers or hidden elements when parts of the source code are masked in the current view and moved to another layer. With this technique, the logic of a function can be presented in great deal, and the developer cannot fail to produce a highly readable and comprehensible unit on each side.

Analysing complex files

EasyCODE is ideally suited for analyzing complex files and algorithms as it interprets the source files and converts them into structure diagrams when it loads the files. Function blocks, data and organization components are hidden in the first view and the user sees a parent view of the file. Similar to the table of contents in a book, the structure list gives an excellent breakdown of the file from where the user can navigate to specific "chapters". A single mouse click takes the developer to the detailed view to inspect the source code, or lets him form logical units and optimize the structure within the element. It becomes particularly interesting when inserting plain source text. EasyCODE generates a structure diagram from this text that seamlessly integrates itself into the file.

For advanced development, EasyCODE allows all the available, language-specific elements to be accessed from the shortcut menu, and prevents insert operations that are not compatible with the language definition. EasyCODE performs all routine tasks, such as counting parentheses and indents, setting line stops and comments, fully automatically and using the correct syntax. A metrics visualization function warns the developer when the complexity of the file reaches a critical threshold, if the decision density makes the program difficult to maintain, or simply if just a couple of comment lines are necessary.


The structure diagrams mean that you always have documentation that is consistent with the source code and compliant with ISO 9001, a welcome aspect of acceptance procedures. It is not only the German technical control board (TÜV) that frequently demands structure diagrams as an essential part of a documentation. EasyCODE allows the developer to send the structure diagram to a printer just as it appears on the screen, or to import individual elements from the diagram into other applications such as MS Word to meet individual needs with regard to the documentation.

Project support

EasyCODE offers a truly user-friendly project environment for easily importing existing projects. EasyCODE Project is not dissimilar to Windows Explorer and simplifies the restructuring of projects considerably. It also offers an interface for integrating external compilers and provides a programmable linkup to version control systems.

Why EasyCODE and when?

SIEMENS® recommends using the standard language SCL (Structured Control Language), which is capable of handling even the most complex tasks, for developing sophisticated control systems. Quote: "S7-SCL® is particularly suitable for programming complex algorithms and mathematical functions or for performing tasks in the field of data processing."

We unreservedly agree with this, and we always recommend using EasyCODE if you are able to program in standard languages. EASYCODE® is extremely conversant in these languages, and ensures that you can you also use it should you ever begin programming your PLC in C or C++. But even seemingly unending lists of statements can be logically structured with EasyCODE and therefore be made even more easily readable.

When is EasyCODE viable?

Experience shows that during the implementation phase, time savings of 40% over development in textual systems are no rarity. The structured design of the files reduces the likelihood of design errors, while the editor prevents the use of incorrect syntax, provides innovative techniques for rapid coding, assists in the analysis of complicated files, and supplies full and standards-compliant documentation.

EASYCODE GmbH, Löwenberger Str. 50, 90475 Nürnberg | Tel: +49 (0)911 / 99 840 60 | Fax: +49 (0)911 / 99 840 97 | info(at)easycode.de | Impressum