PLC programming languages: A formal approach (original) (raw)

Modeling, verification, and implementation of PLC program using timed-MPSG

Proceedings of the 2007 …, 2007

In this paper, we proposed a methodology to model, verify, and generate IEC standard PLC code using Timed-MPSG (an extended version of finite state automata). It can reduce PLC development time and the errors that generally occur when PLC programs are manually programmed. For this purpose, we used Timed-MPSG to model the formal specification of the targeted shop floor controller system, after that, the graphical representation of Timed-MPSG is converted to the textual format automatically. Thereafter, ...

PLCTools: design, formal validation, and code generation for programmable controllers

2000

Abstract Strong timing requirements and complex interactions with controlled elements complicate the design and validation of software controllers. Different techniques have been proposed to cope with these problems during the different development steps: for example, differential equations for modeling controlled elements, the IEC 1131-3 notations for designing the software controller, and formal models for validating the design, but no definitive solutions have been proposed yet.

A Formal Specification Method for PLC-based Applications

2015

The correctness of the software used in control systems has been always a high priority, as a failure can cause serious expenses, injuries or loss of reputation. To improve the quality of these applications, various development and verification methods exist. All of them necessitate a deep understanding of the requirements which can be achieved by a well-adapted formal specification method. In this paper we introduce a state machine and data-flow-based formal specification method tailored to PLC modules. This paper presents the practical benefits and new possibilities of this method, comprising consistency checking, PLC code generation, and checking equivalence between the specification and its previous versions or legacy code. The usage of these techniques can improve the level of understanding of the requirements and increase the confidence in the correctness of the implementation. Furthermore, they can help to apply formal verification techniques by providing formalised requireme...