You are required to read and agree to the below before accessing a full-text version of an article in the IDE article repository.

The full-text document you are about to access is subject to national and international copyright laws. In most cases (but not necessarily all) the consequence is that personal use is allowed given that the copyright owner is duly acknowledged and respected. All other use (typically) require an explicit permission (often in writing) by the copyright owner.

For the reports in this repository we specifically note that

  • the use of articles under IEEE copyright is governed by the IEEE copyright policy (available at http://www.ieee.org/web/publications/rights/copyrightpolicy.html)
  • the use of articles under ACM copyright is governed by the ACM copyright policy (available at http://www.acm.org/pubs/copyright_policy/)
  • technical reports and other articles issued by M‰lardalen University is free for personal use. For other use, the explicit consent of the authors is required
  • in other cases, please contact the copyright owner for detailed information

By accepting I agree to acknowledge and respect the rights of the copyright owner of the document I am about to access.

If you are in doubt, feel free to contact webmaster@ide.mdh.se

Enabling Test Automation for Industrial PLC Programs

Fulltext:


Publication Type:

Licentiate Thesis

Venue:

Mälardalen University, School of Innovation, Design, and Engineering (IDT)

Publisher:

Mälardalen Univeristy


Abstract

Testing safety-critical systems, particularly those controlled by Programmable Logic Controllers (PLCs), is crucial for ensuring the safe and reliable operation of industrial processes. This thesis addresses the critical need for automated testing of safety-critical PLC systems used in various industrial settings. Despite the significance of testing, current practices rely heavily on manual methods, leading to challenges in scalability and reliability. This work investigates enabling test automation for PLCs to facilitate and assist the current manual testing procedures in the industry. The thesis proposes and evaluates test automation techniques and tools tailored to PLCs, focusing on Function Block Diagram and Structured Text languages commonly used in industry. We systematically compare test automation tools for PLC programs, after which we propose a PLC to Python translation framework called PyLC to facilitate automated test generation. The experiment employing the EARS requirement engineering pattern reveals that while engineers use semi-formal notations in varied ways to create requirements, leading to completeness issues, it confirms the viability of employing EARS requirements for PLC system testing. Subsequently, the proposed automation approaches are fully implemented and evaluated using real-world PLC case studies, comparing their efficiency against manual testing procedures. The findings highlight the feasibility and benefits of automating PLC testing, offering insights into improving development and testing processes through carefully selected automation tools for the CODESYS IDE, a well-known PLC development environment. Additionally, we show that leveraging Python-based automated testing techniques and mutation analysis enhances testing effectiveness. Furthermore, incorporating best practices in requirement engineering, as demonstrated by the EARS approach, contributes to further enhancing testing efficiency and effectiveness in PLC development. i

Bibtex

@misc{Ebrahimi Salari7248,
author = {Mikael Ebrahimi Salari},
title = {Enabling Test Automation for Industrial PLC Programs},
month = {May},
year = {2024},
publisher = {M{\"a}lardalen Univeristy},
url = {http://www.es.mdu.se/publications/7248-}
}