The home edition of the system generator is available for free. The enterprise edition of the system generator is available upon request only.

Click here to see full online documentation



The system generator is a software that automates the production of IEC 61131 applications from source data included in the system definition. IEC 61131 applications are generated for the automation engine of the IPC (ISaGRAF).

Automatic generation can increase the level of application quality, reduce development costs, but also it helps explore possibilities so far shunned such as system simulation, and much more.






System generator interface

The system generator was designed to facilitate the creation and production of projects, offering two separate interfaces.

  • The graphical interface provides a hierarchical view of data in a friendly manner, and allows the user to create or modify an existing project without worrying about the integrity of the source files. 
  • The command line interface allows you to launch the operations of the generator system without opening the graphical application. This is a programmatic interface that enables compatibility with continuous integration systems, allowing for the programming of automated launch scripts. Based on Microsoft technologies, the command line interface can be used in Dos or Power Shell environment.

Operation of the system generator

An automation project consists primarily of one or more controllers, and a series of field equipments to be monitored and controlled. Some field devices are identical to others and some are evolutions of basic models. Thus, it is beneficial to have a unique model of the behavior of each type of field equipment, and produce a list of equipments, in order to avoid repetitive work, and reduce programming errors.

The generator uses a system model for which two large families are described :

  • Definitions of reusable programming elements such as functions, function blocks, a defined word or a functional unit are treated as YAML files and should be managed in a source management system (however optional).
  • The list of instances of configuration items, mainly containing the list of equipments on the ground, the list of controllers, their configuration etc. This information is stored in a database.


Program writing with YAML

The system generator was designed to maximize portability and clarity of application sources. YAML, a recursive acronym for YAML Ain’t Markup Language, is a format for representing data by Unicode serialization. It incorporates concepts from other languages such as XML, or e-mail format as documented in RFC 2822, but more importantly, it is specifically designed to present data in a human readable manner. YAML provides data as objects, elements and lists. Note that many file editors available on the market support the YAML format to present data in a manner cleaner than with plain text.