Abstract:
An approach to construction and verification of PLC LD-programs for discrete problems is proposed.
For the specification of the program behavior, we use the linear-time temporal logic LTL.
Programming is carried out in the LD-language (Ladder Diagram) according to an LTL-specification. The correctness analysis of an LTL-specification is carried out by the symbolic model checking tool Cadence SMV.
A new approach to programming and verification of PLC LD-programs is shown by an example. For a discrete problem, we give a LD-program, its LTL-specification and an SMV-model.
The purpose of the article is to describe an approach to programming PLC, which would provide a possibility
of LD-program correctness analysis by the model checking method.
Under the proposed approach, the change of the value of each program variable is described by a pair of LTL-formulas. The first LTL-formula describes situations which increase the value of the corresponding variable, the second LTL-formula specifies conditions leading to a decrease of the variable value.
The LTL-formulas (used for specification of the corresponding variable behavior) are constructive in the sense that they construct the PLC-program (LD-program), which satisfies temporal properties expressed by these formulas.
Thus, the programming of PLC is reduced to the construction of LTL-specification of the behavior of each program variable.
In addition, an SMV-model of a PLC LD-program is constructed according to LTL-specification.
Then, the SMV-model is analysed by the symbolic model checking tool Cadence SMV.
Keywords:programmable logic controllers, software engineering, specification and verification of PLC-programs, Ladder Diagram.