Towards a taxonomy of errors in PLC programming
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 laboratory-based 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 think-aloud 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 skill-rules-knowledge 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 notations 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 rule-based level. Errors at the skill-based 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 code.
errors automation human factors object-oriented methods software engineering