Bachelor's Thesis

Formal verification methods of PLC application

Final Thesis 3.74 MB Appendix 5.65 MB

Author of thesis: Bc. Wai Phone Myint

Acad. year: 2025/2026

Supervisor: doc. Ing. Jakub Arm, Ph.D.

Reviewer: doc. Ing. Václav Kaczmarczyk, Ph.D.

Abstract:

Programmable Logic Controllers (PLCs) are industrial embedded computers that are commonly used in automation and manufacturing environments. The aim of this thesis is to use formal verification methods, namely Petri Nets, for modelling and analysing PLC-oriented control systems during the design stage. The goal is to determine whether formal methods can identify logical errors, such as deadlocks and liveness, during the design stage of a control application.
As a case study, an espresso coffee-making process is analysed using formal models. After the verification step, the control process is simulated using IEC 61131-3 programming languages, specifically Ladder Diagram (LD) and Function Block Diagram (FBD). The thesis also introduces IEC 61131-3 programming languages and discusses other formal verification methods related to PLC systems. The results aim to indicate that Petri Net is suitable for analysing small-scale PLC applications and can support traditional development and testing methods.

Keywords:

Formal verification, Petri nets, LTS, PLCs, IEC 61131-3, Simulation.

Date of defence

19.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of defence

The defense of the thesis was completed succesfully; the student responded to the questions appropriately.

Language of thesis

English

Faculty

Department

Study programme

Electrical Engineering (BPA-ELE)

Specialization

Power Systems and Automation (BPA-PSA)

Composition of Committee

doc. Ing. Miloslav Steinbauer, Ph.D. (předseda)
Mgr. Přemysl Dohnal (člen)
prof. Ing. Eva Gescheidtová, CSc. (místopředseda)
doc. Ing. Jakub Arm, Ph.D. (člen)
doc. Ing. Petr Drexler, Ph.D. (člen)

Supervisor’s report
doc. Ing. Jakub Arm, Ph.D.

The student became familiar with the mathematical theory concerning Petri nets and their use in the field of industrial process modeling. He also had to learn the Codesys environment for PLC programming.
The result of the work is a demonstration model in the WoPeD environment and the corresponding PLC simulation in the CODESYS environment. I positively evaluate the systematic approach to model creation, including gradual abstraction and hierarchical division of Petri nets. The weak point of the work is the limited depth of formal verification, while the analysis is based mainly on manual work with the Petri model.
The language level is generally good, although minor grammatical and stylistic inaccuracies appear in the text. The terminology is mostly used consistently.
The practical usability of the results lies primarily in the educational and demonstration level. The proposed procedure can serve as a basis for further expansion towards formal verification of more complex industrial applications or use of automatic model checking tools.
The student worked independently and consulted on the partial procedure and problems when needed. Points proposed by supervisor: 90

Grade proposed by supervisor: A

The submitted thesis focuses on the use of Petri nets for modeling and analysis of a PLC-oriented control system and complements the formal model with a simple simulation in the CODESYS environment. The topic is timely and relevant to the field of industrial automation, as it connects PLC programming with formal analysis of system behavior.

The thesis has a clearly defined objective, a well-structured organization, and a solid case study of a coffee machine serving as a demonstrator of sequential and partially parallel control.

However, the thesis also contains several shortcomings. For example, in Chapter 5.6, the author describes the property of boundedness by stating that the model is bounded “as no two tokens occupy the same operational place simultaneously,” thereby confusing boundedness with the property of 1-safeness. Given that Chapter 5.6 represents the main outcome of the thesis, this error weakens the other stated claims, which are moreover not supported by a systematic formal procedure.

The thesis repeatedly uses the term formal verification and claims that Petri nets were used to analyze deadlocks, reachability, liveness, and boundedness. In reality, however, Chapters 5 through 7 show that the core of the analysis primarily relies on manual tracing of firing sequences, observation of token movements, and interpretation of several model runs. This is insufficient, as properties such as liveness or deadlock-freedom in a formal model should be supported by an appropriate analytical method.

Chapter 5 analyzes single-cycle, continuous-operation, and parallel extraction scenarios, and the conclusions present these results as supporting the usefulness of the chosen approach. At the same time, however, Chapter 6 explicitly states that the CODESYS simulation tests only single-cycle operation and that the parallel model was not implemented.

From a professional perspective, I assess the thesis as a functional demonstration study of the use of Petri nets in the design of sequential control, rather than a convincingly executed formal verification in the full sense of the term. Despite the above-mentioned shortcomings, I appreciate that the student undertook such a complex topic and recommend the thesis for defense with a grade of 80 points (B). Points proposed by reviewer: 80

Grade proposed by reviewer: B

Responsibility: Mgr. et Mgr. Hana Odstrčilová