Zum Hauptinhalt springen

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

AbschnittParameterErforderlichDatentypsinnvoller WertebereichStandardBeschreibung
logloggingtypeNeinSTRING"Both", "Console", "File""File"Art der Aufzeichnung von Fehlermeldungen und Warnungen
logfilepathNeinSTRINGgültiger, beschreibbarer Verzeichnispfad"/sdi/log/"Verzeichnis zwecks Ablage von Logdateien
logmaxFileCountNeinINT1 -10max. Anzahl existierender Logdateien
logmaxFileSizeNeinINT1 -1024000 (1000 kB)max. Größe einer Logdatei
scpiportNeinINT1 -5024TCP/IP Port für eingebauten SCPI Server
- (oberste Ebene)namespaceSeparatorNeinSTRING"."Trennzeichen zur Repräsentation von Kanalhierarchien
- (oberste Ebene)timeoutNeinINT1 -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 >

}
}