Introduction

This document summarizes the most important topics around the area “How to Develop CODESYS Libraries”.

Reusability matters

It’s a lot of work to design, build, test, and maintain a CODESYS application. Many CODESYS projects share common problems. Wouldn’t it be great if we could reduce some of this repeated work?

Reusability is the CODESYS way of life. The CODESYS Store offers a vast range of libraries you can use in your own CODESYS projects. Check out the CODESYS Store for existing reusable libraries that you can incorporate into your own project. Many CODESYS elements are simply CODESYS libraries (e.g. VisuElements, NetVariables, SymbolConfiguration). This means that you can take existing CODESYS libraries and integrate them into your own CODESYS project. You simply need to compose the parts that make your project unique.

We have carefully defined ten guidelines for you to follow when designing a reusable library. These guidelines ensure that the risk of future compatibility issues with CODESYS or other libraries will be minimized. By following these guidelines, you will produce libraries that are user-friendly, easy to maintain, and include valuable documentation.

In the list of guidelines below, each topic is linked to a chapter containing a detailed description.

Note

The compliance of your library to these guidelines is an essential condition for approval to the CODESYS Store.

Every new CODESYS library that is part of the CODESYS setup and intended for use in end-user applications must comply with the guidelines marked as required. All libraries to be uploaded to the CODESYS Store must pass an acceptance test to confirm compliance with these guidelines (see: Optional and Required).

Note

These guidelines could have been composed like any other set of rules, but that’s not what matters. The important thing is the uniform application of these guidelines to provide a consistent appearance and behaviour of CODESYS libraries. This saves time in:

  • Development

  • Documentation

  • Testing

  • Support

If any of these guidelines do not fit your day-to-day work as a library developer, please tell us. We can come to a mutual agreement and modify the guidelines accordingly.