We propose a framework for the automatic verification of PLC (programmable logic controller) programs written in Instruction List, one of the five languages defined in the IEC 61131-3 standard. We propose a formal semantics for a significant fragment of the IL language, and a direct coding of this semantics into a model checking tool. We then automatically verify rich behavioral properties written in linear temporal logic. Our approach is illustrated on the example of the tool-holder of a turning center.
展开▼