On Industrial Automation Software Components
Licentiatavhandling, 2008

This thesis deals with Programmable Logic Controller (PLC) programs in the manufacturing industry, that is to say programs that coordinate robots and machines. The last years there has been increased competition and shorter life-cycles of many mass-produced products. This places new requirements also on the PLC programs, which must be easily modifiable and quickly made fully operational. One way to make fast and correct modifications of the PLC programs is to reuse as much code as possible. Composing the PLC program from reusable components is a way to accomplish this reuse. Efficient component reuse requires that it is known how the components should be used and what the components guarantee. Hence, these requirements and guarantees must be unambiguously specified. It should also be verified that the implementation of the component indeed fulfils the specification. Testing and simulating the component may be helpful in verifying that the specification is fulfilled. However, in many practical situations it is timeconsuming or even impossible to test or simulate all different cases in which the component can be used. An alternative is to use formal verification. Formal verification of the component means to automatically explore all behaviour of the component, to check whether or not the specification is fulfilled. This thesis investigates how PLC program components can be, and currently are, used in industry. The main result is the definition of Reusable Automation Components (RACs). A component's requirements and properties can be formally specified in the RAC. The specification structure is inspired by a concept called Design by Contract. The specification can be expressed using Ladder Diagrams, a common PLC programming language, augmented with syntax for temporal logic. The augmentation is used to describe the order in time in which the states of the component changes, for instance when outputs should change related to certain inputs. The RAC, including the specification, can be translated into input to a tool for formal verification. Examples show that the RACs may help the users to find errors and inconsistencies within the components, making it easier to do modifications of the code.

IEC 61131

Programmable Logic Controller (PLC)

IEC 61499

formal verification

Manufacturing automation software

software reusability

Reusable Automation Component (RAC)

software specification

Opponent: Frank Lüders


Oscar Ljungkrantz

Chalmers, Signaler och system, System- och reglerteknik, Automation

A Study of Industrial Logic Control Programming Using Library Components

Proceedings of the 3rd Annual IEEE Conference on Automation Science and Engineering,; (2007)

Paper i proceeding

Implementing a Control System Framework for Automatic Generation of Manufacturing Cell Controllers

2007 IEEE International Conference on Robotics and Automation, ICRA'07; Rome; Italy; 10 April 2007 through 14 April 2007,; (2007)p. 674-679

Paper i proceeding

A Framework for Component Based Distributed Control Software Development Using IEC 61499

Proceedings of the 2006 IEEE International Conference on Emerging Technology and Factory Automation, Sep 2006, Prague, Czech Republic,; (2006)

Artikel i vetenskaplig tidskrift


Data- och informationsvetenskap

R - Department of Signals and Systems, Chalmers University of Technology: R006/2008


Opponent: Frank Lüders

Mer information