Applicazione
Configurazione
La configurazione dell'applicazione smartCORE è composta dalle seguenti parti
- il file di configurazione di sistema (statico)
smartcore.json - il file di configurazione di misura (dinamico)
smartcore_dynamic.json
In entrambi i casi viene utilizzato il formato JSON.
File di configurazione di sistema
Il file di configurazione di sistema smartcore.json contiene da un lato i parametri relativi all'applicazione smartCORE e dall'altro le configurazioni di tutti i moduli di sistema (vedere la sezione Configurazione dei moduli).
Parametri dell'applicazione
La tabella seguente elenca tutti i parametri dell'applicazione
| Sezione | Parametro | Obbligatorio | Tipo di dati | Intervallo di valori consigliato | Predefinito | Descrizione |
|---|---|---|---|---|---|---|
| log | loggingtype | No | STRING | "Both", "Console", "File" | "File" | Tipo di registrazione di messaggi di errore e avvisi |
| log | filepath | No | STRING | percorso di directory valido e scrivibile | "/sdi/log/" | Directory in cui salvare i file di log |
| log | maxFileCount | No | INT | 1 - | 10 | Numero massimo di file di log esistenti |
| log | maxFileSize | No | INT | 1 - | 1024000 (1000 kB) | Dimensione massima di un file di log |
| scpi | port | No | INT | 1 - | 5024 | Porta TCP/IP per il server SCPI integrato |
| - (livello superiore) | namespaceSeparator | No | STRING | "." | Separatore per la rappresentazione delle gerarchie di canali | |
| - (livello superiore) | timeout | No | INT | 1 - | 10000 (10 s) | Timeout per il caricamento dei moduli di sistema |
Configurazione di sistema tipica
In generale la configurazione di sistema contiene il modulo configautoload,
che carica la configurazione di misura, e il modulo SCPI, che mette a disposizione un'interfaccia SCPI.
{
"log":{
"loggingtype":"Both",
"filepath":"/sdi/log/"
"maxFileCount":10,
"maxFileSize":1024000
},
"scpi":{
"port":5024
},
"namespaceSeparator":".",
"timeout":10000,
"plugins":[
"configautoload",
"scpi"
],
"modules":[
{
"module":"configautoload",
"factory":"configautoload",
"config":{
"once":true,
"configfilename":"smartcore_dynamic.json"
}
}
]
}
File di configurazione di misura
Il file di configurazione di misura smartcore_dynamic.json, specificabile anche all'interno del modulo configautoload con configfilename (vedere sopra),
contiene, oltre al parametro timeout già noto dalla configurazione di sistema, soltanto la configurazione dei moduli di misura (vedere Configurazione dei moduli).
Il file di configurazione di misura può quindi essere considerato una sorta di integrazione del file di configurazione di sistema. Occorre tuttavia tenere presente che prima vengono istanziati tutti i moduli della configurazione di sistema e solo dopo quelli della configurazione di misura. Inoltre, l'ordine di istanziazione dei moduli all'interno di entrambe le configurazioni non è definito.
Configurazione dei moduli
La configurazione dei moduli, sia per i moduli di sistema sia per i moduli di misura, avviene tramite due parametri
- elenco delle classi di modulo (factory), sotto forma dell'array JSON
plugins - elenco delle istanze di modulo, sotto forma dell'array JSON
modules
Mentre l'array delle classi di modulo contiene soltanto i nomi di tutte le factory utilizzate sotto forma di stringhe, le voci dell'array delle istanze di modulo sono oggetti JSON della forma
{
"module":"ModuleInstance",
"factory":"modulefactory",
"config":{
< Module Configuration Parameters >
}
}