Efficient IEC 61131-3 Structured Text tooling in modern distributed control system
Rinko, Niko (2022)
Rinko, Niko
2022
Automaatiotekniikan DI-ohjelma - Master's Programme in Automation Engineering
Tekniikan ja luonnontieteiden tiedekunta - Faculty of Engineering and Natural Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2022-12-20
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202211278660
https://urn.fi/URN:NBN:fi:tuni-202211278660
Tiivistelmä
Structured Text is one of the programming languages defined in the IEC 61131-3 standard. The standard defines several programming languages that can be used in automation control software. Programmers have accustomed to use various advanced tools to develop programs efficiently. A good development tool increases the efficiency by making the development both easier and faster.
The goal of this thesis is to find out what is required to develop an efficient development tool for Structured Text language that is integrated into a web-based automation platform, while taking the platform constraints into account. The thesis has two research questions. One aspect is to research what kind of features are useful and required for the tool. Another goal is to find out how the features should be implemented. The requirements were collected via user interviews, examining existing tools and by using developers’ experience and opinions to determine most useful code editor features.
As all interviewed persons were inexperienced with Structured Text, the first version of the tool was implemented before the user interviews to spark the discussion. The findings from the interviews were then used to further plan the tool and analyze how useful the implemented features are.
Most of the findings from interviews were biased towards features which make the development easier for beginners who are not familiar with the Structured Text language. For example, syntax documentation was the most desired feature. As the number of conducted interviews is low and the interviewees have such a strong bias, the results are not very generalizable. The implemented system was considered a great step forward and especially the debugging features were very positively received by the interviewees. The implementation supports features that were considered important by the developers. These features are automatic suggestion and completion of keywords, functions and variables, syntax highlighting, and basic syntax error reporting.
The goal was to improve the user experience of Structured Text development inside Valmet’s configuration tools and this goal was reached. However, the tool has one major technical flaw in the Structured Text parser. The implemented parser does not support meaningful error messages and a new parser is required to improve the error messages. Despite the limited and biased data, this thesis provides some guidelines of what features are required for an efficient programming tool from the point of a user who is not familiar with the language.
The goal of this thesis is to find out what is required to develop an efficient development tool for Structured Text language that is integrated into a web-based automation platform, while taking the platform constraints into account. The thesis has two research questions. One aspect is to research what kind of features are useful and required for the tool. Another goal is to find out how the features should be implemented. The requirements were collected via user interviews, examining existing tools and by using developers’ experience and opinions to determine most useful code editor features.
As all interviewed persons were inexperienced with Structured Text, the first version of the tool was implemented before the user interviews to spark the discussion. The findings from the interviews were then used to further plan the tool and analyze how useful the implemented features are.
Most of the findings from interviews were biased towards features which make the development easier for beginners who are not familiar with the Structured Text language. For example, syntax documentation was the most desired feature. As the number of conducted interviews is low and the interviewees have such a strong bias, the results are not very generalizable. The implemented system was considered a great step forward and especially the debugging features were very positively received by the interviewees. The implementation supports features that were considered important by the developers. These features are automatic suggestion and completion of keywords, functions and variables, syntax highlighting, and basic syntax error reporting.
The goal was to improve the user experience of Structured Text development inside Valmet’s configuration tools and this goal was reached. However, the tool has one major technical flaw in the Structured Text parser. The implemented parser does not support meaningful error messages and a new parser is required to improve the error messages. Despite the limited and biased data, this thesis provides some guidelines of what features are required for an efficient programming tool from the point of a user who is not familiar with the language.