Modeling and debugging IEC 61131-3 specifications

IEC 61131-3 is a standard for programmable controllers, and is commonly used for implementing industrial automation systems. The modeling concepts of IEC 61131‑3, like blocks, signals, task connectors, distributors, and page connections, have been defined as a metamodel in MetaEdit+. Some of these concepts are objects, others are relationships, roles, ports, or properties according to the GOPRR metamodel.

Once the notation is defined, MetaEdit+ provides the modeling tool functionality. The screenshot shows a modeling editor for the IEC Function Block Diagram. This language is linked with other languages for task configuration etc., and can also be linked to other domain-specific languages. For example, dedicated blocks in IEC can be specified in more detail with another DSL.

From the models various code files like IEC Structured Text can be produced automatically to speed up the development of PLC software. The example shows the generated code being visually debugged: the current values are shown in blue next to the port symbol.