Libraries.json
Diese Datei enthält die direkten Bibliotheksverweise, die vom Entwickler der Applikation/Bibliothek explizit deklariert wurden. Sie ist im Hauptverzeichnis einer Applikation und im Stammverzeichnis eines Bibliotheksprojekts gültig. Dieselbe Bibliothek kann nicht mit zwei verschiedenen Namespaces innerhalb derselben Libraries.json referenziert werden.
Die Datei besteht aus drei Abschnitten:
Der erste Abschnitt
referencesenthält ein JSON-Dictionary, dessen Schlüssel der Namespace des Bibliotheksverweises ist und dessen Werte Objekte sind, die die Details des Verweises beschreiben. Das Member$typewird verwendet, um zwischen den verschiedenen Referenztypen zu unterscheiden.Der zweite Abschnitt
placeholderOverridesenthält ein JSON-Dictionary, in dem die Schlüssel die Platzhalternamen und die Werte die Bibliotheks-IDs oder Muster sind, die den Platzhalter überschreiben.Der dritte Abschnitt
libraryParametersenthält ein JSON-Dictionary von Schlüssel-Wert-Paaren. Die Schlüssel des äußeren Dictionaries können folgende Werte enthalten:Einen Platzhalter mit vorangestelltem
#, der zur Referenzierung der Platzhalterbibliothek verwendet wirdEine
LibraryId, die zur Referenzierung der verwalteten Bibliothek verwendet wirdEinen relativen Pfad, der zur Referenzierung des Bibliotheksprojekts verwendet wird
Die inneren Dictionaries enthalten die Bibliotheksparameter als Schlüssel und die zugehörigen Werte als Wert.
Member | Gültig für | Erforderlich | Standardwert | Beschreibung |
|---|---|---|---|---|
| ja | Typ der Bibliotheksreferenz
| ||
| alle |
| Wenn der Wert | |
| alle |
| Wenn der Wert | |
| alle |
| Wenn der Wert | |
| alle |
| Wenn der Wert | |
|
| ja | Der Pfad der Bibliothek, relativ zum Speicherort der aktuellen Datei | |
|
| ja | Die Bibliotheks-ID der verwalteten Bibliothek, wobei der Versionsteil ein Muster sein kann. Das Format des Musters ist im Abschnitt Referenzieren von Bibliotheken definiert. | |
|
|
| Wenn der Wert Wenn der Wert | |
|
| ja | Der Platzhalter zu einer referenzierten Bibliothek. Er wird über die Platzhalterauflösung in die Bibliotheks-ID aufgelöst. | |
|
|
| Optional: Wenn diese Option aktiviert ist, verwenden alle Programmierbausteine diese Version (oder dieses Versionsmuster) der Bibliothek. |
{
"references" : {
"TESTEXTERNALS": {
"$type": "RelativePath",
"path": "../../../TestLib.fbslib/",
"optional": true,
"linkAllContent": true
},
"SysTime": {
"$type": "Placeholder",
"placeholder": "SysTime"
},
"Standard": {
"$type": "ManagedLibrary",
"libraryId": "Standard, 3.5.18.0 (System)"
},
"AcmeTools": {
"$type": "ManagedLibrary",
"libraryId": "Acme Tools, 3.5.* (Acme International Inc.)",
"publishSymbolsInContainer": true, // comments and trailing commas are tolerated
},
"WsCompiled": {
"$type": "RelativePath",
"path": "../../../pipeline-assets/Some library.compiled-library",
"noHash": true
}
},
"placeholderOverrides": {
"SysTime" : "SysTime, 3.5.17.0 (System)",
"OtherPlaceholder" : "SomeToolsLib, >=1.2.0 (SomeTools Company)"
},
"libraryParameters": {
"#SysTime": {
"ParamOne": "250",
"ParamTwo": "true"
},
"Acme Tools, 3.5.* (Acme International Inc.)": {
"ParamOne": "125"
},
"../../../TestLib.fbslib/": {
"ParamThree": "125"
}
}
}Referenzieren von Bibliotheken
Wie in CODESYS 3 können in CODESYS 4 Bibliotheken über Platzhalter, exakte Bibliotheks-IDs oder Bibliotheks-IDs mit Versionsmustern referenziert werden. Darüber hinaus können Quellbibliotheken, die als bearbeitbare Bibliotheken vorliegen, auch über ihren relativen Pfad zur Datei Libraries.json, referenziert werden,
Versionsmuster
Beispielsyntax | Beschreibung |
|---|---|
1.2.3.4 | Entspricht genau der angegebenen Version 1.2.3.4 |
1.2.3 | Entspricht genau der Version 1.2.3, beziehungsweise 1.2.3.0 |
* x X | Die neueste verfügbare freigegebene Version, jedoch keine Vorabversionen |
1.2.* 1.2.*.* 1.2.x 1.2.X | Der neueste freigegebene Patch-Level von Version 1.2 |
>=1.2.3-alpha.2 | Version 1.2.3 oder neuer, einschließlich Vorabversionen von 1.2.3 ab alpha.2 und neuer |
1.0.0 - 2.0.0 1 - 2 >=1.0.0 <=2.0.0 | Passt auf Versionen von 1.0.0.0 bis genau einschließlich 2.0.0.0, jedoch ohne Vorabversionen. Hinweis: Bereiche mit '-' erfordern Leerzeichen um den Operator, um sich von Vorabversions-Kennzeichen zu unterscheiden: 1.0.0-2.0.0 != 1.0.0 - 2.0.0
|
>=1.2.3 <1.5 | Akzeptiert jede Version ab einschließlich 1.2.3 aufwärts bis, aber ohne 1.5 |
>=1.0 | Mindestversion 1.0 (einschließlich) |
>=1.0 <1.5||>=1.5.1 <2 | Alle 1.x-Versionen außer der Version 1.5.0 |