Um Konsistenzprobleme zu vermeiden und den Benutzer angemessen zu unterstützen, sollten Sie bestimmte Regeln für die Erstellung, Referenzierung, Verschlüsselung, den Schutz und die Dokumentation von Bibliotheken einhalten.
Die folgende Beschreibung gibt nur einen Überblick über die Entwicklungsmöglichkeiten der Bibliothek. Eine ausführlichere Beschreibung dieser Themen finden Sie in den "LibDevSummary"-Leitlinien für die Bibliotheksentwicklung.
Für weitere Informationen siehe: ⮫ „Bibliotheken nutzen “, ⮫ „Bibliothek Repository “, ⮫ „Leiter der Bibliothek “
Allgemeines
-
Sie können Kategorien für Bibliotheken definieren. Die Bibliotheken werden dann im Bibliotheksrepository unterhalb dieser Kategorien angezeigt.
-
Sie können einen Namensraum für eine Bibliothek definieren, um einen eindeutigen Zugriff auf die integrierten Objekte zu ermöglichen. Der Zugriff wird durch das Voranstellen des Namespace vor den POE-Namen eindeutig:
<Namensraum>.<Variablenname>
Beispiel:
AC.Module
-
Sie können die Bausteine unverschlüsselter Bibliotheken (
*.library
) öffnen, indem Sie im Bibliotheksmanager auf den entsprechenden Eintrag doppelklicken. -
Sie können die folgenden Bibliothekstypen erstellen:
-
*.library
: Implementierungsbibliothek (Quellcode der Bibliothek) -
*
.compiled-library
,*.compiled-library-v3
: Geschützte BibliothekDer Quellcode ist nicht mehr zugänglich.
-
*_Itfs.library
: SchnittstellenbibliothekEnthält nur Objekte, die für die Schnittstellendefinition einer Komponente verwendet werden (z. B. Konstanten, Strukturen oder Schnittstellen) und keinen Code erzeugen
-
*_Cnt.library
: Container-BibliothekEnthält keine POEs, sondern nur andere Bibliotheken
Daher wird es verwendet, um eine ganze Reihe von Bibliotheken zu integrieren, deren POEs auf der obersten Ebene der Containerbibliothek veröffentlicht werden
-
-
Sie können externe Bibliotheken in die Anwendung integrieren. Externe Bibliotheken werden außerhalb von CODESYS in einer anderen Programmiersprache programmiert (Beispiel: C).
Schutz von Bibliotheken
-
Schutz des Quellcodes
Wenn eine Bibliothek im "compiled-library"-Format vorbereitet wird, ist der Quellcode der Bibliotheks-POEs nicht mehr sichtbar, nachdem die Bibliothek in ein Projekt integriert wurde.
-
Unterzeichnung
In CODESYS V3 SP15 und höher wird für die Signierung von Bibliotheksprojekten immer ein Zertifikat verwendet (
*.compiled-library-v3
). Die Signierung kann durch eine Einstellung im Sicherheitsbildschirm erzwungen werden. Für die Erstellung einer kompilierten Bibliothek benötigen Sie dann in Ihrem Benutzerprofil ein für das Code Signing geeignetes Zertifikat.Für Bibliotheksprojekte, die mit CODESYS < V3 SP15 kompatibel sein müssen (
*.compiled-library
), ist nur die weniger sichere Signierung mit einem privaten Schlüssel und einem entsprechenden Token möglich. Diese veralteten Methoden sollten nur aus Gründen der Kompatibilität verwendet werden. Die Einstellungen werden unter „Project Information“ auf der Registerkarte „Signing“ konfiguriert.Hinweis: Zum Signieren von Bibliotheken sollten Sie die Compiler-Version 3.5.15.0 oder höher verwenden, da ein besseres Speicherformat verwendet wird.
-
Lizenzvergabe
Sie können Bibliotheken durch eine Lizenz (Dongle oder Softcontainer) schützen. Lizenzgeschützte Bibliotheken können im Bibliotheksrepository installiert werden. Für die Verwendung im Projekt muss jedoch eine gültige Lizenz auf dem Computer vorhanden sein. Lizenzen werden im Lizenzmanager verwaltet.
Bibliotheksversionen
-
Sie können mehrere Versionen einer Bibliothek gleichzeitig auf dem System installiert haben.
-
Sie können mehrere Versionen einer Bibliothek gleichzeitig in Ihr Projekt integrieren. Wir raten jedoch davon ab, dies zu tun. In diesem Fall muss jeder der Bibliotheken ein eindeutiger Namensraum zugewiesen werden und der Zugriff auf die Symbole muss qualifiziert werden.
Beispiele:
V1.SendBlob
,V2.SendBlob
Referenzierte Bibliotheken
-
Sie können eine Bibliothek in andere Bibliotheken (referenzierte Bibliotheken) integrieren. Die Verschachtelung kann beliebig tief sein.
-
Sie können festlegen, ob referenzierte Bibliotheken im Bibliotheksmanager sichtbar sein sollen.
-
Sie können referenzierte Bibliotheken über Bibliotheksplatzhalter integrieren. Auf diese Weise vermeiden Sie Probleme, die aufgrund von Versionsabhängigkeiten oder der Notwendigkeit, herstellerspezifische Bibliotheken zu verwenden, auftreten können.