Abstract
An approach to construction and verification of PLC-programs for discrete problems is proposed. For the specification of 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. The purpose of the article is to describe an approach to programming PLC, which would provide the 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.
Similar content being viewed by others
References
Kuzmin, E.V. and Sokolov, V.A. Modeling, specification and construction of PLC-programs, Model. Anal. Inf. Syst., 2013, vol. 20, no. 2, 104–120.
Kuzmin, E.V. and Sokolov, V.A., On construction and verification of PLC-Programs, Model. Anal. Inf. Syst., 2012, vol. 19, no. 4, p. 25–36.
Kuzmin, E.V. and Sokolov, V.A., On verification of plc-programs written in the ld-language, Modeling and analysis of information systems, 2012, vol. 19, no. 2, p. 138–144.
Petrov, I.V., Programmiruemye kontrollery. Standartnye jazyki i priemy prikladnogo proektirovanija (Programmable Controllers. Standard Languages and Techniques of Applied Design), Moscow: SOLON-Press, 2004.
Canet, G., Couffin, S., Lesage, J.-J., Petit, A., and Schnoebelen, Ph., Towards the automatic verification of PLC programs written in instruction list, Proc. of the IEEE International Conference on Systems, Man and Cybernetics, 2000, p. 2449–2454.
Clark, E.M., Grumberg, O., and Peled, D.A., Model Checking, The MIT Press, 2001.
CoDeSys. Controller Development System. http://www.3s-software.com/
Gries, D., The Science of Programming, Springer-Verlag, 1981.
Parr, E.A., Programmable Controllers. An engineer’s Guide, Newnes, 2003.
Pavlovic, O., Pinger, R., and Kollmann, M., Automation of formal verification of PLC programs written in IL, Proceedings of the 4th International Verification Workshop (VERIFY'07), Bremen, 2007, p. 152–163.
Rossi, O. and Schnoebelen, Ph., Formal modeling of timed function blocks for the automatic verification of ladder diagram programs, Proc. of the 4th International Conference on Automation of Mixed Processes: Hybrid Dynamic Systems, Shaker Verlag, 2000, p. 177–182.
SMV. The Cadence SMV Model Checker. http://www.kenmcmil.com/smv.html
Author information
Authors and Affiliations
Corresponding author
Additional information
Original Russian Text © E.V. Kuzmin, V.A. Sokolov, D.A. Ryabukhin, 2013, published in Modelirovanie i Analiz Informatsionnykh Sistem, 2013, No. 4, pp. 5–22.
The article was translated by the authors.
About this article
Cite this article
Kuzmin, E.V., Sokolov, V.A. & Ryabukhin, D.A. Construction and verification of PLC-programs by LTL-specification. Aut. Control Comp. Sci. 49, 453–465 (2015). https://doi.org/10.3103/S0146411615070159
Received:
Published:
Issue Date:
DOI: https://doi.org/10.3103/S0146411615070159