Frequently Asked Questions

What is MGSyn?

MGSyn is an open-source software tool for synthesizing control programs for industrial automation systems. It has been developed as a scientific research project in order to evaluate novel approaches for programming industrial automation systems. Supported target systems include programmable logic controllers (PLC), industrial PCs (IPC) as well as microcontroller-based systems.

Who needs MGSyn?

MGSyn mainly targets two user groups:

  1. Automation and control engineers from small and medium scale enterprises (SME) who want to program and maintain their automation systems at a higher level of abstraction than offered by the classical development tools for programmable logic controllers (PLC).
  2. Scientists from the domains of industrial automation, mechatronics and control engineering who want to experiment with novel technologies for control software development.

Which approach does MGSyn use?

Classical software development for industrial automation systems (e.g., becased on IEC 61131-3) is focused on manual specification of each processing step. In contrast, MGSyn's approach is based on a formal model in which the properties of the automation plant and the goals to achieve are explicitly specified. MGSyn then derives a suitable solution automatically, without the need to write the control programs manually.

What are the advantages of MGSyn?

MGSyn's strengths show when the control program needs to be adapted: in this case, a comparatively small change to the specification is required in order to automatically synthesize an adapted control program. In contrast, classical approaches sometimes require an in-depth analysis of the existing control programs in order to re-gain implicitly encoded properties such as timing behavior. In this case, MGSyn can be more time- and hence cost-efficient.

How much time does it take?

The effort required to explicitly model the properties of the plant is comparable to the time required to analyze the requirements in classical development approaches. The time required for the synthesis itself is in the range of seconds to minutes for reasonable sized problems, which is acceptable for most use cases.