PLC (Programmable Logic Controller) is generally employed today to realize industrial control systems. The initial systems of PLC have been applied in the 1980s to control the simple processes, mostly in systems of production where they have substituted the switching networks of hard-wired based on relays. The new PLCs capabilities, the ease of PLC programming languages and environments of programming as well as economic limitations have led to a rising utilize of PLC-based systems in all the fields of industry and even for applications of safety related. Instances can be established in the systems of transport, in critical industries such as oil industry, chemical processes, production and distribution of power. The society growing demand for risk prevention joint with this growing PLC systems use explains why verification of PLC programs is to-day a major concern of industry.
The verification of PLC program does not intend simply at checking the program intrinsic properties such as, no locking point, no infinite loop, …, despite the application, but mostly at inspection that the program performs as necessary. This article concerns only on this last type of property: the given PLC program compliance with the properties necessary for the appliance. Furthermore these properties are frequently leveled in two categories: liveliness properties (what must be done) and safety properties (what shall not be done).
The LURPA has reached ever since ten years some works on the verification of PLC programs using model-checking. An important effect of these jobs is an official semantics of the languages of ladder diagram and SFC. This recognized definition allows to characterize any program written in these programming languages because a state automation and thus to interpret such programs into the checkers of model that compliant languages. Therefore using a model-checker for verification of PLC program involves to have the program state model as well as official properties, in some sequential logic, that communicates in a proper way the requirements of application and that have to be contented by the program.
Getting these official properties is regrettably a main problem. The requirements of application are certainly conveyed in industry in a relatively informal method, such as some sentences in drawings or natural language, but never with formulae of mathematical sound. Furthermore, sequential logic is not a traditional logic and is hard to take hold of for the engineers of automation. It truly a substance to highlight that use of sequential logic for expressing properties performs as a brake for the use of industrial PLC programs model-checking.