Skip to main content

Libraries.json

Questo è un file manifesto contenente i riferimenti diretti alle librerie che sono stati dichiarati esplicitamente dallo sviluppatore dell'applicazione o della libreria. È valido nella directory principale di un'applicazione e nella directory radice di un progetto di libreria. La stessa libreria non può essere referenziata con due namespace diversi all'interno dello stesso progetto. Libraries.json file.

Il file è composto da tre sezioni:

  • La prima sezione references contiene un dizionario JSON la cui chiave è lo spazio dei nomi del riferimento alla libreria e i cui valori sono oggetti che descrivono i dettagli del riferimento. $type Il membro viene utilizzato per distinguere tra i diversi tipi di riferimento.

  • La seconda sezione placeholderOverrides Contiene un dizionario JSON in cui le chiavi sono i nomi segnaposto e i valori sono gli ID della libreria o i modelli che sovrascrivono il segnaposto.

  • La terza sezione libraryParameters Contiene un dizionario JSON di coppie chiave/valore. Le chiavi del dizionario esterno possono contenere i seguenti valori:

    • Un segnaposto preceduto da un segno di cancelletto (# ) per fare riferimento alla libreria dei segnaposto

    • UN LibraryId per fare riferimento alla libreria gestita

    • Un percorso relativo per fare riferimento al progetto della biblioteca

    I dizionari interni contengono i parametri della libreria come chiave e i rispettivi valori come valore.

Membro

Valido per $type

Necessario

Valore predefinito

Descrizione

$type

SÌ

Tipo di riferimento bibliotecario

  • ManagedLibrary ID della libreria composto da nome, versione e fornitore

  • RelativePath Percorso relativo a un progetto di libreria sul disco rigido

  • Placeholder: Nomi segnaposto con una risoluzione predefinita. Un'estensione o placeholderOverrides questa risoluzione verrà annullata se necessario.

allowUnqualifiedAccess

Tutto

false

Se il valore è true, quindi è possibile accedere alla libreria senza qualificazione dello spazio dei nomi. Il valore consigliato per il nuovo codice è false. Ciò corrisponde alla negazione della qualifiedOnly valore in CODESYS 3, che di default è false per ragioni storiche. Ciò ha effetto solo se la biblioteca consente l'accesso senza restrizioni.

publishSymbolsInContainer

Tutto

false

Se il valore è true In tal caso, la libreria di riferimento pubblicherà i propri simboli nella libreria contenitore di riferimento. Utilizzare questa impostazione per definire i simboli pubblicati durante la creazione di una libreria contenitore.

optional

Tutto

false

Se il valore è true In tal caso, non si verificheranno errori di compilazione semplicemente perché la libreria non è disponibile. Tuttavia, potrebbero verificarsi errori di compilazione a causa di simboli mancanti da questa libreria.

linkAllContent

Tutto

false

Se il valore è true In tal caso, tutti i contenuti della libreria verranno collegati. Questa opzione viene normalmente utilizzata solo per le librerie di sistema.

path

RelativePath

SÌ

Il percorso della biblioteca, relativo alla posizione dell'attuale Libraries.json file. Il percorso utilizza la notazione URI. Pertanto, utilizzare ../ per spostarsi di un livello di directory verso l'alto e foo/ per aprire il foo cartella. Il percorso punta a una CODESYS 4 directory del progetto della libreria (*.fbslib/).

libraryId

ManagedLibrary

SÌ

L'ID della libreria gestita, dove la parte relativa alla versione può essere un modello. Il formato del modello è definito nella sezione Biblioteche di riferimento.

includePrerelease

ManagedLibrary, Placeholder

false

Se il valore è true, quindi quando le versioni vengono confrontate, i modelli di versione accettano anche versioni di pre-release all'interno dell'intervallo consentito dal modello.

Se il valore è false, quindi le versioni con tag di prerelease vengono accettate da un modello di versione solo quando almeno un elemento di confronto – con la stessa tupla [major, minor, patch] all'interno del modello – ha anche un tag di prerelease.

placeholder

Placeholder

SÌ

Il segnaposto per una libreria di riferimento. Viene risolto nell'ID della libreria tramite la risoluzione dei segnaposto.

defaultResolution

Placeholder

null

Opzionale: se questa opzione è abilitata, tutti i POU utilizzeranno questa versione (o questo modello di versione) della libreria.

Esempio 47. Esempio
{
  "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"
    }
  }
}



Biblioteche di riferimento

Proprio come in CODESYS 3, biblioteche in CODESYS 4 possono essere referenziati tramite segnaposto, ID libreria esatti o ID libreria con modelli di versione. Inoltre, le librerie sorgente disponibili come librerie modificabili possono essere referenziate anche tramite il loro percorso relativo a Libraries.json file,

Modello di versione

Esempio di sintassi

Descrizione

1.2.3.4

Corrisponde esattamente alla versione specificata 1.2.3.4

1.2.3

Ciò corrisponde esattamente alla versione 1.2.3 o 1.2.3.0.

*

x

X

È disponibile l'ultima versione rilasciata, ma non sono presenti versioni preliminari.

1.2.*

1.2.*.*

1.2.x

1.2.X

L'ultimo livello di patch rilasciato è la versione 1.2

>=1.2.3-alpha.2

Versione 1.2.3 o successiva, incluse le versioni preliminari di 1.2.3 da alpha.2 in poi.

1.0.0 - 2.0.0

1 - 2

>=1.0.0 <=2.0.0

Corrisponde alle versioni dalla 1.0.0.0 fino alla 2.0.0.0 inclusa, escluse le versioni di pre-release.

Nota: gli intervalli con "-" richiedono spazi attorno all'operatore per distinguerli dagli indicatori di pre-release: 1.0.0-2.0.0 != 1.0.0 - 2.0.0

  • 1.0.0 - 2.0.0 : intervallo >=1.0.0 a <=2.0.0

  • 1.0.0-2.0.0: versione esatta 1.0.0 con flag di pre-release 2.0.0

>=1.2.3 <1.5

Accetta qualsiasi versione dalla 1.2.3 in poi, ad eccezione della 1.5.

>=1.0

Versione minima 1.0 (inclusa)

>=1,0 <1,5||>=1,5,1 <2

Tutte le versioni 1.x, esclusa la versione 1.5.0