Abstract:
An approach to construction and verification of PLC-programs for discrete tasks is proposed. For the specification of a program behavior we use the linear-time temporal logic LTL. Programming is carried out in the ST-language 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-programs is shown by an example. For a discrete problem we give a ST-program, its LTL-specification and an SMV-model.
A purpose of the article is to describe an approach to programming PLC, which would provide a possibility
of PLC-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 that 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, 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-program is constructed according to LTL-specification.
Then, the SMV-model is analysed by the symbolic model checking tool Cadence SMV.
Keywords:programmable pogic controllers, software engineering, specification and verification of PLC-programs.