Testing Procedure for IEC 61131-3 Control Software

Abstract Control software often performs complex tasks in industry. Its proper operation is crucial for safety as well as efficient management of system resources and processes. However, testing of such a kind of software is usually less organized than in traditional business IT applications. In this paper, procedures and tools for control software testing are proposed. The modeling stage of project development involves SysML as a specification language for Program Organization Units and POU-oriented tests. Corresponding implementation is created in the languages defined in the IEC 61131-3 standard and can be verified using two testing methods, namely table and unit tests. The first option is an easy way of checking whether a function block, a function, or a program produces correct values of outputs for particular values of inputs. More advanced unit tests are specified in a dedicated test definition language, called CPTest+. The proposed procedure is described using the Pulse-Width-Modulator (PWM) example, which is common in the on-off PID control. The presented test tools have been introduced into the CPDev programming environment.

[1]  Marcin Jamro,et al.  IEC 61131-3 programmable human machine interfaces for control devices , 2013, 2013 6th International Conference on Human System Interactions (HSI).

[2]  Marcin Jamro,et al.  Communication Performance Tests in Distributed Control Systems , 2013, CN.

[3]  Stefan Biffl,et al.  The adaptation of test-driven software processes to industrial automation engineering , 2010, 2010 8th IEEE International Conference on Industrial Informatics.

[4]  K. Kouiss,et al.  Design of IEC 61131-3 function blocks using SysML , 2007, 2007 Mediterranean Conference on Control & Automation.

[5]  Hanspeter Mössenböck,et al.  A Comprehensive Solution for Deterministic Replay Debugging of SoftPLC Applications , 2011, IEEE Transactions on Industrial Informatics.

[6]  Alois Zoitl,et al.  Improving Component Testing of Industrial Automation Software , 2009, 2009 Fourth International Multi-Conference on Computing in the Global Information Technology.

[7]  Hans A. Hansson,et al.  Towards systematic testing of distributed real-time systems , 1999, Proceedings 20th IEEE Real-Time Systems Symposium (Cat. No.99CB37054).

[8]  Qing Li,et al.  Unified Modeling Language , 2009 .

[9]  G. Aiello,et al.  An Agile methodology for Manufacturing Control Systems development , 2007, 2007 5th IEEE International Conference on Industrial Informatics.

[10]  Birgit Vogel-Heuser,et al.  Automated test case generation approach for PLC control software exception handling using fault injection , 2011, IECON 2011 - 37th Annual Conference of the IEEE Industrial Electronics Society.

[11]  Marcin Jamro Graphics editors in CPDev environment , 2012 .

[12]  A. Zoitl,et al.  Agile testing concepts based on keyword-driven testing for industrial automation systems , 2012, IECON 2012 - 38th Annual Conference on IEEE Industrial Electronics Society.

[13]  Herbert Prähofer,et al.  A tool for trace visualization and offline debugging of PLC applications , 2012, Proceedings of 2012 IEEE 17th International Conference on Emerging Technologies & Factory Automation (ETFA 2012).

[14]  Dariusz Rzońca,et al.  Mini-DCS system programming in IEC 61131-3 structured text , 2008 .

[15]  Georg Frey,et al.  An MDD process for IEC 61131-based industrial automation systems , 2011, ETFA2011.

[16]  Mario Semo,et al.  Design and implementation of industrial automation control systems: A survey , 2009, 2009 7th IEEE International Conference on Industrial Informatics.