Anwendung
Konfiguration
Die Konfiguration der smartCORE Anwendung besteht aus folgenden Teilen
- der (statischen) Systemkonfigurationsdatei
smartcore.json
- der (dynamischen) Messkonfigurationsdatei
smartcore_dynamic.json
Es wird in beiden Fällen das JSON Format verwendet.
Systemkonfigurationsdatei
Die Systemkonfigurationsdatei smartcore.json
enthält hierbei einerseits die smartCORE anwendungsbezogenen Parameter sowie andererseits die Konfigurationen aller Systemmodule (siehe Abschnitt Konfiguration der Module).
Anwendungsparameter
Folgende Tabelle listet alle Anwendungsparameter auf
Abschnitt | Parameter | Erforderlich | Datentyp | sinnvoller Wertebereich | Standard | Beschreibung |
---|---|---|---|---|---|---|
log | loggingtype | Nein | STRING | "Both", "Console", "File" | "File" | Art der Aufzeichnung von Fehlermeldungen und Warnungen |
log | filepath | Nein | STRING | gültiger, beschreibbarer Verzeichnispfad | "/sdi/log/" | Verzeichnis zwecks Ablage von Logdateien |
log | maxFileCount | Nein | INT | 1 - | 10 | max. Anzahl existierender Logdateien |
log | maxFileSize | Nein | INT | 1 - | 1024000 (1000 kB) | max. Größe einer Logdatei |
scpi | port | Nein | INT | 1 - | 5024 | TCP/IP Port für eingebauten SCPI Server |
- (oberste Ebene) | namespaceSeparator | Nein | STRING | "." | Trennzeichen zur Repräsentation von Kanalhierarchien | |
- (oberste Ebene) | timeout | Nein | INT | 1 - | 10000 (10 s) | Timeout bzgl. des Ladens der Systemmodule |
Typische Systemkonfiguration
Im Allgemeinen enthält die Systemkonfiguration das configautoload
Modul,
welches die Messkonfiguration lädt sowie das SCPI
Modul, das die Bereitstellung einer SCPI Schnittstelle realisiert.
{
"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"
}
}
]
}
Messkonfigurationsdatei
Die Messkonfigurationsdatei smartcore_dynamic.json
, bzw. innerhalb des configautoload
Moduls unter configfilename
spezifizierbar - s.o.,
enthält neben dem aus der Systemkonfiguration bekannten Parameter timeout
lediglich die Konfiguration der Messmodule (siehe Konfiguration der Module).
Die Messkonfigurationsdatei kann von daher als eine Art Ergänzung der Systemkonfigurationsdatei angesehen werden. Hierbei ist jedoch zu beachten, dass zunächst alle Module der Systemkonfiguration instantiiert werden und erst danach diese aus der Messkonfiguration. Außerdem ist die Reihenfolge der Modulinstantiierungen innerhalb beider Konfigurationen nicht festgelegt.
Konfiguration der Module
Die Konfiguration der Module erfolgt hierbei sowohl für Systemmodule als auch für Messmodule in zwei Parametern
- Auflistung der Modulklassen (-factories), in Form des JSON Arrays
plugins
- Auflistung der Modulinstanzen, in Form des JSON Arrays
modules
Während das Array der Modulklassen lediglich die Namen aller verwendeten Factories in Form von Strings enthält, sind die Einträge des Arrays der Modulinstanzen JSON Objekte der Form
{
"module":"ModuleInstance",
"factory":"modulefactory",
"config":{
< Module Configuration Parameters >
}
}