Skip to main content

ProjectInfo.json

Nel CODESYS 4, le informazioni sul progetto sono memorizzate in formato UTF-8 ProjectInfo.json file. Nel caso di un progetto di dispositivo, il file si trova nella directory *.fbsdev. Nel caso di un progetto di libreria, la cartella si trova nella directory *.fbslib.

Le informazioni più importanti sul progetto si trovano al livello superiore del file. Le chiavi rimanenti si trovano nell'oggetto espandibile dinamicamente customProperties dizionario.

Esempio 48. Esempio di ProjectInfo.json file

{  
    "title": "C4 Test Compiled Library",  
    "version": "1.0.0-alpha3+build-42",  
    "author": "Team CBE",  "company": 
    "CODESYS Development GmbH",  
    "description": "Test library for compiled library creation",  
    "defaultNamespace": "C4CompiledTestLib",  
    "placeholder": "C4CompiledTestLib",
    "categories": ["System|SysLibs", "Docs|Fieldbus|Modbus", "Use Cases", 
    "customProperties": {    
        "DocFormat": "reStructuredText", 
        "SomeTime": {"type": "DateTime", "value": "2024-12-24T15:24:12" }
  }
}


Chiavi definite nel ProjectInfo.json file

La maggior parte delle chiavi corrisponde esattamente alle informazioni sul progetto in CODESYS 3, ma con una convenzione di denominazione modificata.

Tabella 19.

Chiave

Tipo

Descrizione

title

string

Titolo del progetto

Richiesto per le biblioteche

version

string

Versione del progetto

Richiesto per le biblioteche

company

string

Produttore del progetto

Richiesto per le biblioteche

author

string

Autore del progetto

description

string

Descrizione del progetto

defaultNamespace

string

Namespace standard per le librerie. Si consiglia di impostare questa proprietà per le librerie ordinarie

Insignificante per i progetti relativi ai dispositivi

released

bool

true: La libreria viene rilasciata.

placeholder

string

Segnaposto usato per risolvere la libreria

Per ulteriori informazioni, vedere quanto segue: Librerie comuni

autoResolveUnbound

bool

true: è richiesta la risoluzione automatica dei segnaposto.

Consigliato per librerie «autonome» i cui segnaposto non vengono risolti da altre fonti, ad esempio una descrizione del dispositivo.

isContainerLibrary

bool

true: La libreria è una libreria di contenitori.

Per ulteriori informazioni, vedere quanto segue: Librerie di contenitori

isInterfaceLibrary

bool

true: La libreria è una libreria di interfaccia.

Per ulteriori informazioni, vedere quanto segue: Librerie di interfacce

isCommonLibraryContainer

bool

true: La libreria è una libreria contenitore che deve essere risolta tramite segnaposto.

Per ulteriori informazioni, vedere quanto segue: Librerie comuni

languageModelAttribute

string

Dovrebbe essere impostato su qualified-access-only affinché le nuove librerie impongano l'accesso qualificato tramite il prefisso dello spazio dei nomi

generateProjectInfoFunctions

bool

Controlla la generazione di funzioni che possono essere utilizzate per l'accesso programmatico alle proprietà del progetto all'interno dell'applicazione

Nota: questa chiave è attualmente non ancora in fase di valutazione in CODESYS 4.

generateLibraryInfoFunctions

bool

Controlla la generazione di funzioni utilizzate per l'accesso programmatico alle proprietà della libreria all'interno dell'applicazione

Nota: questa chiave non è attualmente ancora in fase di valutazione in CODESYS 4.

categories

string[]

Elenco di stringhe che definiscono l'appartenenza alle categorie di progetto

customProperties

object{}

Proprietà che non sono rigidamente predefinite

Come in CODESYS 3, l'elenco delle proprietà in CODESYS 4 può essere espanso dinamicamente dall'utente. Tuttavia, a tale scopo sono disponibili solo i seguenti tipi di dati

  • string

  • number: intervallo di valori o tipo.NET int32

  • boolean: true, false

  • Version: .NET System.Version rappresentato come una stringa, ad esempio «1.2.3.4"

  • DateTime

I tipi predefiniti string, number, e boolean sono scritti direttamente come rispettivo letterale JSON. Version e DateTime, è necessario un ID tramite un campo di tipo per distinguerli dalle normali stringhe. Ecco perché sono scritti come oggetti JSON con i membritype"e"value«, ad esempio:

"SomeVersion": {"type": "Version", "value": "1.2.3.4" },

"SomeTime": {"type": "DateTime", "value": "2024-12-24T15:24:12" },

v3Meta

object{}

Metadati non pertinenti per CODESYS 4, memorizzato da CODESYS 3 in un formato di archiviazione basato su file

È rilevante solo se si tratta di un'archiviazione basata su file CODESYS 3 il progetto dovrebbe essere aperto nel CODESYS 4. I dati che possono essere ignorati senza perdita di funzionalità verranno ignorati. I dati rimanenti genereranno un messaggio di errore CODESYS 4. I dati specifici del plug-in vengono valutati da un'interfaccia. Tutte le proprietà che non vengono riconosciute da alcun plug-in genereranno un errore



Categorie della biblioteca

Le categorie delle librerie vengono utilizzate per raggruppare gerarchicamente le biblioteche. Una libreria può appartenere a una o più categorie o a nessuna. Le categorie stesse sono strutturate gerarchicamente

Le categorie della libreria vengono archiviate come categories elenco in ProjectInfo.json.

  • Non è necessario che l'elenco esista.

  • L'elenco può contenere un numero qualsiasi di categorie.

  • Gli identificatori dei livelli gerarchici delle categorie sono separati ciascuno dal carattere barra verticale (|).

  • Un identificatore di categoria non deve essere vuoto o essere composto solo da spazi bianchi.

  • I caratteri delle categorie Unicode «Caratteri di controllo» (U+0000-U+001F, U+007F-U+009F), «Line Separator» (U+2028) e «Paragraph Separator» (U+2029) sono esclusi.

Esempio di categorie valide: ["System|SysLibs", "Docs|Fieldbus|Sercos", "Use Cases"]

Esempio di categorie non valide:  ["", "A||B", "A|  |B", "A\r\nB"]