Library Types

In CODESYS, a differentiation is made between the following types of libraries:

For each type, there is a characteristic set of rules for implementing the specific functionalities. Markers are defined, allowing CODESYS to recognize the library type. By knowing the type, CODESYS can apply rules automatically (for example, to add interface libraries correctly) or monitor the compliance of libraries (for example, Check all Pool Objects).

Common Libraries

In most cases, this is the standard type of a library.

Container Libraries

A container library is a tool for conveniently including a set of libraries in the current project. A container library publishes all symbols of its refer­enced libraries at its top-level.

Interface Libraries

Interface libraries define the interface of a software component and can provide only language elements that do not generate code (for example, constants, structures, and interfaces).

It can only be extended in a compatible way, but never changed [1].

If there is no way to extend an interface library in a compatible way, please follow the rules for changing a interface library.

[1]

( 1, 2, )

[2]

( 1, ) __XWORD ( 1, ) __UXINT ( 1, )

End-User Libraries

This is a type of super-category for libraries. It is intended to make it a brand that represents exceptional quality. Only a small set of select libraries may be marked with End-User Library.

The decision for a specific library type is important because not every library that contains an Interface type should be marked automatically as a Interface Library. Usually choosing the common library type should be the start of successful library development.