Abstract
Programmable Logic Controllers (PLC) are widely used in embedded systems for the industrial automation domain. We propose a formal semantics of two languages defined in the IEC 61131-3 standard for PLC programming. The first one is the Instruction List (IL) language, an assembly like language. The second one is the Sequential Function Charts (SFC) language, a graphical high-level language that allows to describe the main control-flow of the system. A PLC system description may comprise SFC and IL code. We formalized the semantics in the proof assistant Coq. Furthermore, we present an associated tool for automatically generating SFC representations from a graphical description – the text based IL code can be handled in Coq directly – and its usage for verification purposes. We demonstrate our approach to prove safety properties of a PLC in a real industrial demonstrator.
Keywords
- Operational Semantic
- Formal Semantic
- Action Block
- Programmable Logic Controller
- Ladder Diagram
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This is a preview of subscription content, access via your institution.
Buying options
Preview
Unable to display preview. Download preview PDF.
References
Barner, S., Geisinger, M., Buckl, C., Knoll, A.: EasyLab: Model-based development of software for mechatronic systems. In: Mechatronic and Embedded Systems and Applications, IEEE/ASME (October 2008)
Bauer, N., Engell, S., Huuck, R., Lohmann, S., Lukoschus, B., Remelhe, M., Stursberg, O.: Verification of PLC programs given as sequential function charts. In: Ehrig, H., Damm, W., Desel, J., Große-Rhode, M., Reif, W., Schnieder, E., Westkämper, E. (eds.) INT 2004. LNCS, vol. 3147, pp. 517–540. Springer, Heidelberg (2004)
Blech, J.O.: A Tool for the Certification of PLCs based on a Coq Semantics for Sequential Function Charts (2011), http://arxiv.org/abs/1102.3529
Blech, J.O., Hattendorf, A., Huang, J.: An Invariant Preserving Transformation for PLC Models. In: IEEE International Workshop on Model-Based Engineering for Real-Time Embedded Systems Design (2011)
Blech, J.O., Périn, M.: Generating Invariant-based Certificates for Embedded Systems. ACM Transactions on Embedded Computing Systems (TECS) (accepted)
Bornot, S., Huuck, R., Lakhnech, Y., Lukoschus, B.: An Abstract Model for Sequential Function Charts. In: Discrete Event Systems: Analysis and Control, Workshop on Discrete Event Systems (2000)
Bornot, S., Huuck, R., Lakhnech, Y., Lukoschus, B.: Verification of Sequential Function Charts using SMV. In: Parallel and Distributed Processing Techniques and Applications (PDPTA 2000). CSREA Press (June 2000)
Canet, G., Couffin, S., Lesage, J.J., Petit, A., Schnoebelen, P.: Towards the automatic verification of PLC programs written in Instruction List. In: IEEE International Conference on Systems, Man, and Cybernetics (2000)
The Coq Development Team. The Coq System, http://coq.inria.fr
Gonthier, G., Mahboubi, A.: A small scale reflection extension for the Coq system. INRIA Technical report, http://hal.inria.fr/inria-00258384
Huuck, R.: Semantics and Analysis of Instruction List Programs. Electr. Notes Theor. Comput. Sci. (2005)
Leroy, X.: A formally verified compiler back-end. Journal of Automated Reasoning 43(4), 363–446 (2009)
Mader, A., Wupper, H.: Timed Automaton Models for Simple Programmable Logic Controllers. In: Euromicro Conference on Real-Time Systems (1999)
Ould Biha, S.: A formal semantics of PLC programs in Coq. In: 35th IEEE Computer Software and Applications Conference, COMPSAC 2011, Munich (2011)
Programmable controllers - Part 3: Programming languages, IEC 61131-3: 1993, International Electrotechnical Commission (1993)
Sülflow, A., Drechsler, R.: Verification of plc programs using formal proof techniques. In: Formal Methods for Automation and Safety in Railway and Automotive Systems (FORMS/FORMAT 2008), Budapest, pp. 43–50 (2008)
Volker, N., Kramer, B.J.: Automated verification of function block-based industrial control systems. Science of Computer Programming 42, 101–113 (2002)
Wan, H., Chen, G., Song, X., Gu, M.: Formalization and Verification of PLC Timers in Coq. In: 33rd IEEE Computer Software and Applications Conference, COMPSAC (2009)
Yoo, J., Cha, S., Jee, E.: A verification framework for fbd based software in nuclear power plants. In: 15th Asia Pacific Software Engineering Conference (APSEC), Beijing, China, December 3-5 (2008)
Yoo, J., Cha, S., Jee, E.: Verification of plc programs written in fbd with vis. Nuclear Engineering and Technology 41(1), 79–90 (2009)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Blech, J.O., Ould Biha, S. (2011). Verification of PLC Properties Based on Formal Semantics in Coq. In: Barthe, G., Pardo, A., Schneider, G. (eds) Software Engineering and Formal Methods. SEFM 2011. Lecture Notes in Computer Science, vol 7041. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-24690-6_6
Download citation
DOI: https://doi.org/10.1007/978-3-642-24690-6_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-24689-0
Online ISBN: 978-3-642-24690-6
eBook Packages: Computer ScienceComputer Science (R0)