Skip to main content

Principio fondamentale della gestione bibliotecaria

In CODESYS 4 Le librerie vengono referenziate, non incorporate in modo permanente nell'applicazione.

I riferimenti provengono da diverse fonti: dall'input dello sviluppatore, dalle descrizioni dei dispositivi e dal sistema di programmazione stesso. Molti di questi riferimenti sono vaghi. Indicano un segnaposto o uno schema di versione, ma non specificano una libreria precisa.

Il compilatore, tuttavia, richiede una versione univoca per ogni libreria. Per questo motivo, due cose sono separate in CODESYS 4: i riferimenti desiderati e le librerie univoche identificate a partire da essi.

Principio di base: elenco di riferimento e file di blocco

La gestione della biblioteca si basa su due file.

IL Libraries.json Si tratta dell'elenco dei riferimenti. Qui si inseriscono i riferimenti diretti alle librerie. Il file descrive quali librerie sono necessarie all'applicazione. Può essere gestito manualmente o tramite l'interfaccia utente. 

L'intero grafo delle dipendenze viene creato a partire dall'elenco dei riferimenti durante la risoluzione delle librerie. Ogni riferimento viene risolto ricorsivamente in questa fase. Vengono inoltre individuate le librerie a loro volta richieste dalle librerie a cui si fa riferimento.

Il risultato viene scritto su Libraries.lock.json file di blocco.

File

Ruolo

Libraries.json

Elenco di riferimento con le biblioteche desiderate

Il file è gestito e mantenuto dallo sviluppatore.

Libraries.lock.json

File di blocco contenente il grafico delle dipendenze risolto

Il file viene creato e aggiornato automaticamente durante la risoluzione della libreria.

Vantaggi per il controllo delle versioni e la riproducibilità

Il file di blocco è progettato per garantire la riproducibilità. Le sue chiavi sono ordinate, il formato rimane stabile e per le librerie compilate viene memorizzato un checksum SHA384.

Questo rende il file di blocco adatto ai sistemi di controllo di versione come Git o SVN. Il file è in un formato JSON leggibile. Le modifiche allo stato della libreria possono essere tracciate nel diff e verificate durante la revisione del codice.

Quando il file di blocco viene incluso nel progetto, ogni sviluppatore ottiene lo stesso stato della libreria.

Suggerimento

Chiunque abbia familiarità con npm o NuGet riconoscerà il principio del file di blocco. Questa conoscenza pregressa non è richiesta per lavorare con CODESYS 4.