Passa al contenuto principale

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

SezioneParametroObbligatorioTipo di datiIntervallo di valori consigliatoPredefinitoDescrizione
logloggingtypeNoSTRING"Both", "Console", "File""File"Tipo di registrazione di messaggi di errore e avvisi
logfilepathNoSTRINGpercorso di directory valido e scrivibile"/sdi/log/"Directory in cui salvare i file di log
logmaxFileCountNoINT1 -10Numero massimo di file di log esistenti
logmaxFileSizeNoINT1 -1024000 (1000 kB)Dimensione massima di un file di log
scpiportNoINT1 -5024Porta TCP/IP per il server SCPI integrato
- (livello superiore)namespaceSeparatorNoSTRING"."Separatore per la rappresentazione delle gerarchie di canali
- (livello superiore)timeoutNoINT1 -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 >

}
}