How to manage quality and traceability for better PLC programs
The Engineering Network Ltd
Posted to News on 27th Apr 2016, 07:59

How to manage quality and traceability for better PLC programs

How can the quality of PLC programs be measured? How is it possible to ensure documentation is always up-to-date? How can traceability be maintained throughout all phases of PLC development projects? This article from Itris Automation explains how a PLC Software Factory provides a solution to these problems.

How to manage quality and traceability for better PLC programs

In recent years, considerable efforts have been made in relation to PLCs (programmable logic controllers) in terms of performance, reliability, availability, communication and integration of business functions. After this focus on hardware improvements, interest is increasing around PLC projects' lifecycle software (such as simulation, deployment and requirement traceability). A major challenge is to industrialise the production of PLC software by introducing methods and tools to make software controllable and measurable in order to reduce production cost. This industrialisation can be done, for example, by integrating developers with best practices (eg GAMP in the pharmaceutical industry) or certification requirements (eg IEC 61508 for functional safety-related applications). Furthermore, it will enable non-developers to better understand and evaluate the quality (in terms of testability, performance and robustness) of PLC programs. PLC Software Factory has been developed specifically for this industrialisation of PLC software production.

PLC Software Factory

Itris Automation's PLC Software Factory comprises an integrated set of software tools to support a repeatable and traceable approach to PLC development. This increases PLC software quality and controls PLC software production costs by assembling the applications with existing/new frameworks, patterns, models and tools. The adoption of a software factory will help to meet requirements of several standards such as IEC 61508, IEC 61511, PESSRAL, IEC 61848, GAMP5 and CMMI. PLC Software Factory brings several benefits to the PLC development process, some of which are detailed below.

Faster, cheaper and more effective - the main goal of software factories is to shorten the development cycle. It also helps to avoid human errors. The productivity and cost reduction is the immediate benefit of a software factory.

Adaptation to regulated contexts - for all critical developments, where standards are enforced, the software factory helps to formalise the development process, to communicate about it or to enforce its usage. Even with a partial software factory, it is more expensive for the developer to cheat the system than to follow it.

Clear visibility of the product state and quality provides a better understanding of key metrics and measures for all of the PLC application's stakeholders. The status of software is shared among everyone at a given stage during its life cycle. This makes projects more collaborative.

In the following, we present a non-exhaustive list of tools and software that are used in the software factory, depending on two criteria that we are developing in this article: production costs and quality, and real-time control of software.

Reduce costs and increase quality

PLC applications become increasingly complex and critical. PLC program producers, end users and stakeholders are especially concerned about their quality. This later relies heavily on the quality of the whole development process of PLC programs, including requirements, design, development, tests, deployment and maintenance. One of the main issues relating to quality improvement through a PLC Software Factory is the conformance verification of PLC applications with coding rules. Itris Automation provides PLC Checker for this purpose and, more precisely to improve PLC program quality.

PLC Checker is a computer-aided PLC analysis tool that assists automation engineers by checking their application's code and pointing out errors that might need to be fixed to meet the coding rules. PLC Checker enables users to prove adherence to defined coding rules. Users can also control and demonstrate the quality of their PLC programs, and automate code reviews according to international standards (eg GAMP and IEC 61508). PLC Checker provides users with clear results showing the location in their PLC applications where the rules were not followed. It provides users with clear, simple and intuitive results and a dashboard.

Using PLC Checker is a good way to define quality objectives, measure the software quality during the whole application development cycle, and check the quality objectives are being met. PLC Checker is integrated into the software factory and is launched automatically for each version of PLC code.

PLC DocGen is another tool from Itris Automation that is used in PLC Software Factory to reduce production costs; this is an advanced documentation generator that helps designers and developers to perform impact analyses when specifying PLC application evolution.

PLC DocGen is a reverse-engineering tool that assists users generating information from an existing PLC source code. The tool examines and analyses the PLC structure and functions, and the information provided gives users a better and quicker understanding of what the PLC code does. Using PLC DocGen also ensures documentation is always up-to-date during the whole PLC project lifecycle. Furthermore, it assists users in supporting, testing and debugging software, and analysing the impact of any modification or update in the source code. This tool can reduce PLC program production costs significantly.

Real-time control of PLC software

In the PLC Software Factory, real-time control of PLC software can be ensured, mainly by maintaining traceability of PLC program development from end-to-end, but also through regular testing of each new version of the PLC code. The seamless integration with modern technology can enable this, offering transparency to PLC developers. Major tasks are handled automatically and the errors and bugs are reported automatically. Developers can therefore focus on their implementation and not on how to launch the software. A link is seamlessly established between code version, test results and requirements. PLC developers keep their development environment with the constraint that they must enter their changes in a version control system. All generated information is accessible with web technologies, so it is easy to share with non-technical stakeholders. Indeed, deployment and maintenance are easy to manage.

PLC Autotest is an automatic testing tool for PLC programs that integrates specific approaches (provided by agile technologies) for testing. The main benefit of PLC Autotest is a reduction in the time required for SAT or FAT (Site or Factory Acceptance Test), specifically for verifying compliance of source code with specifications. Furthermore, it enables better testing coverage and more systematic testing, thereby supporting better quality, especially in PLC-controlled critical systems. PLC Autotest can be launched automatically whenever a new version of code is provided. This automatic execution allows more frequent tests and establishes automatic traceability between the changes in the test results (and corresponding specifications) and associated code versions.


PLC Software Factory improves productivity by automating several repetitive tasks during the project lifecycle and, in parallel, continuously verifying conformity with customer expectations. This present article describes an integrated set of software tools that support a repeatable and traceable approach to PLC development. However, the main feature of a PLC Software Factory is that it can integrate additional software or tools alongside the ones outlined above.

Follow the links above for more information or go to

Itris Automation Square

2, square Roger Genin
38000 Grenoble

+33 (0)4 76 23 43 20

Lenze Selection (a Division of Lenze Ltd) ABSSAC Ltd SICK (UK) LTD Mechan Controls Ltd Smartscan Ltd Servo Components & Systems Ltd PI (Physik Instrumente) Ltd Dold Industries Ltd Moore International Ltd AutomateUK Kawasaki Robotics (UK) Ltd STOBER Drives Ltd Aerotech Ltd FATH Components Ltd Top Hex Ltd Murrelektronik Ltd ifm electronic Limited Rittal Ltd Leuze electronic Ltd Micro Epsilon UK Limited
The Engineering Network Ltd