This website uses cookies primarily for visitor analytics. Certain pages will ask you to fill in contact details to receive additional information. On these pages you have the option of having the site log your details for future visits. Indicating you want the site to remember your details will place a cookie on your device. To view our full cookie policy, please click here. You can also view it at any time by going to our Contact Us page.

PLCopen Software Construction Guidelines

22 April 2016

The PLCopen Coding Guidelines version 1.0 have been released as part of the Software Construction Guidelines initiative.

Although there are guidelines for many programming languages, there are few in the area of industrial control, e.g. IEC 61131-3 and its PLCopen extensions. However, software in the industrial environment is becoming more and more important, the software projects are larger, and the costs of errors increase. Software can absorb around half of the initial project costs and between 40 and 80% of that cost relates to maintenance over the life cycle of the software. In order to deal with the complexity of larger programs modern software development processes are needed, supporting a structured approach and creating re-usable code. Also, the efficiency in coding can be increased via re-use of pre-defined functionalities, to help to better understand the program over the life cycle.

PLCopen supports this goal via their Software Construction Guidelines initiative. The first official version of the Coding Guidelines contains 63 rules for software programming, spread over different sections including: Naming Rules, Comment Rules, Coding Practice, Languages, and Vendor Specific IEC 61131-3 Extensions.

These rules support user training and offer a good basis for universities to help them teach IEC 61131-3 programming more efficiently, as well as helping to define company-internal guidelines.

Since the initial release further work has been carried out on creating PLCopen compliant function block libraries and structuring and decomposition via SFC. Both are close to publishing their preliminary results. The libraries give guidance and examples to help users create their own libraries. Templates are provided for the two basic function blocks’ operation differences: edge-triggered or level-triggered. This is extended with time-out functionality and a timer to spread an operation over multiple operating cycles. The included examples also show the basic code in the object oriented approach as provided by the 3rd edition of the IEC 61131-3 standard.

Ongoing work is being carried out to expand the Software Construction Guidelines focusing on: guidance for documentation in software programs; software quality issues and software consistency; software development processes; and object orientation in the 3rd edition

Contact Details and Archive...

Print this page | E-mail this page