Paper Search Console

Home Search Page About Contact

Journal Title

Title of Journal: Cogn Tech Work

Search In Journal Title:

Abbravation: Cognition, Technology & Work

Search In Journal Abbravation:

Publisher

Springer London

Search In Publisher:

DOI

10.1007/bf01941770

Search In DOI:

ISSN

1435-5566

Search In ISSN:
Search In Title Of Papers:

Towards a taxonomy of errors in PLC programming

Authors: Kerstin C Duschl Denise Gramß Martin Obermeier Birgit VogelHeuser
Publish Date: 2014/09/27
Volume: 17, Issue: 3, Pages: 417-430
PDF Link

Abstract

Based on previous studies on programming errors and their causes the presented paper investigates errors that application engineers in the area of machine and plant automation make while creating either function block diagrams plcML an adaption of the unified modelling language UML or modAT4rMS code a newly developed modelling language that adapts and combines aspects of UML and SysML A laboratorybased study with 52 mechatronics apprentices and electrical engineering technicians with knowhow in manufacturing system design but comparably undeveloped programming skills has been conducted in which the subjects’ errors and thinkaloud statements during code creation were recorded In a subsequent step these data have been analysed by the cognitive causes of the coding errors applying the skillrulesknowledge framework As a result a taxonomy of errors is presented Results indicate that most of the errors in the subjects’ code are due to insufficient understanding of the notation’s syntax problems with the rules of encapsulation the creation of modules and finally with the creation of variants and aggregations which are all located at the rulebased level Errors at the skillbased level mainly occurred during behavioural modelling with modAT4rMS It is argued that the provided insights can be used for improving education on programmable logic controller PLC languages and for the design of tools that support PLC programmers at detecting and fixing errors within their codeThe correctness of programming code is a critical component of its quality However conventional man–machine interaction methods rather focus on aspects like learnability and efficiency of a programming language instead of error proneness Ko and Myers 2005After all it definitely makes sense to deal with the latter as even relatively simplestructured programming languages like HTML still are so complex that they provide a variety of options for syntax errors runtime errors and bugs ie unintended or exceptional behaviours Blackwell 2002 Park et al 2013 In experiments on socalled programmable logic controller PLC programming languages which are used for automation of manufacturing systems and are subject of the study described below errors usually are in the doubledigit per cent range Braun 2013 Hajarnavis and Young 2008 For that reason a subsequent code testing and debugging is essential According to Ko and Myers 2005 software engineers spend between about 70 and 80  of their time detecting diagnosing and repairing software problems with an average software bug taking 174 h to fix Thus software errors are a significant cost factor In automation technology this is even more pronounced as the debugging cannot be done at the desk but must take place at the construction siteOn the other hand learning also happens through trial and error—assuming the novice has the opportunity to recognize the errors he made In order to be able to provide better support during this process both to novices apprentices students and experienced programmers it is worthwhile to examine which errors are common or even particularly frequent in which modelling language and which cognitive causes they probably result of So far mistakes that are made while using programming languages for PLCs have been hardly investigated This can be stated to constitute an important gap in the literature One of the few exceptions is described by Hajarnavis and Young 2008 who conducted an experimental study on “right first time” rates and completion time during process modification using four different PLC notations However they only named some easily observable subjective “main problems” but did not perform any objective analysis on that topicThe study presented in the following pursues three main objectives first to identify the errors programmers make while writing code in FBD and plcML Witsch and VogelHeuser 2011 compared to the newly developed notation modAT4rMS Braun 2013 Second to examine the cognitive origins of these errors skillbased rulebased or knowledgebased errors and third to utilize the knowledge gained to create pedagogically superior toolsAll notations in this study provide a possibility of code/model encapsulation which means a construct that allows the bundling of data with the methods or functions operating on that data Such encapsulation constructs are a prerequisite for reusability Function block diagram FBD is a common graphical programming language for PLCs that is standardized in the worldwide industrial programming standard IEC 611313 International Electrotechnical Commission 2003 The IEC 611313 defines five languages two textual languages and three graphical languages including FBD This standard is accepted and widely used by software engineers to specify the software part of industrial automation systems Thramboulidis and Frey 2011 These five languages of the IEC 611313 are suitable for different application types FBD is mostly used for interlocking reusable functions and communication Its primary concept is data flow from inputs to outputs through function blocks or functions that offer a wide range of signal operations A clean encapsulation with FBD is possible but is easily disturbed by the use of global variables which leads to poor reusability of modules as described in Zoitl and Vyatkin 2009 In order to provide an elemental basis of reuse IEC 611313 software can be structured into function blocks FBs FBs encapsulate the structure and behaviour programming of a collection of elements used in automation projects Thramboulidis and Frey 2011In contrast to FBD plcML uses the objectoriented OO extension of the IEC 611313 specification adapting classes and methods interfaces and inheritance from the unified modelling language UML for objectoriented PLC programming The objectoriented paradigm encourages a modular design by different relation types such as association among classes and inheritance for hierarchical structuring With the plcML class diagram the structure of automation control software can be modelled and the understanding of the interdependencies of components can be supported The plcML state chart diagram offers states and transitions between them to model the behaviour of automation systems The assumed benefits of OO programming are among others “a more efficient code reuse and increased safety and stability of software” Vyatkin 2013Finally modAT4rMS is a newly developed modelling language described by Braun 2013 that adapts and combines aspects of UML and SysML with the goal to simplify OO PLC programming both for novices and experts by providing a less abstract structure notation in comparison to class diagrams The modAT4rMS notation uses an objectcentred structure diagram In order to clearly visualize the connection between structure and behaviour diagram an adapted state chart diagram shows only the accessible objects and their functionality according to the prior defined structure model


Keywords:

References


.
Search In Abstract Of Papers:
Other Papers In This Journal:


Search Result: