A simple method for referencing libraries is to define explicitly within the Library Manager of an application or library project which library and exact library version should be used.
If a library X embeds another library Z using a direct reference, then library Z will be loaded exactly in the version that is embedded by library X.
This can lead to several versions of the same library being loaded in one Library Manager of a project.
NOTE: The method allows referencing several versions of a library within the same project. Although this method is advantageous for certain types of libraries, care must be taken when applying it to others to avoid complications. Therefore, this method is generally discouraged except where indicated.
|
UNINTENDED EQUIPMENT OPERATION |
oVerify whether the versions of the libraries contained in your program are correct, after updating the software. oVerify whether the versions of the updated libraries are consistent with your application specifications. |
Failure to follow these instructions can result in death, serious injury, or equipment damage. |
Situation: The following libraries are added in the Library Manager:
Library |
Version |
---|---|
Library X |
1.0.0.0 |
Library Y |
1.0.0.0 |
Library Z |
1.0.0.0 |
Dependencies:
Library... |
Requires Library Z in Version... |
---|---|
X |
1.0.1.0 |
Y |
1.0.2.0 |
Assuming that library Z was added in all libraries as a direct library version, this would mean:
oLibrary Z will be loaded in three different versions:
oThe POUs of the project are directly using the functionalities of version 1.0.0.0.
oThe POUs of library X are using the functionalities of version 1.0.1.0.
oThe POUs of library Y are using the functionalities of version 1.0.2.0.
oThis can cause potential compiler errors, for example, if the system tries to exchange data between the POUs of library Z used by library X and between the POUs of library Z used by library Y. This can occur, even if the data structure is identical.
oWhen the library reference is a direct version reference, a change of the indirect library dependencies is not possible after the library creation.