Zum Hauptinhalt springen

State Machine

In diesem Abschnitt wird eine Übersicht über mögliche Betriebszustände der smartCORE Edge-Device Software und ihre Zusammenhänge vermittelt.

Motivation

Im Rahmen einer Laufzeit der smartCORE Software werden für gewöhnlich unterschiedliche Betriebszustände durchlaufen.

Start des Messbetriebs

Zum erfolgreichen Start des Messbetriebs werden nacheinander folgende Zustände durchlaufen.

ZustandBedeutung
1.ReadyInitialer Zustand nach dem Start der Anwendung
2.LoadSystemConfigLaden der Systemkonfiguration /sdi/config/smartcore.json
3.LoadSystemModulesLaden der innerhalb der Systemkonfiguration spezifizierten Module
4.InitSystemModulesInitialisierung der innerhalb der Systemkonfiguration spezifizierten Module
5.InitSystemProducerChannelsErstellung der zu produzierenden Kanäle für alle innerhalb der Systemkonfiguration spezifizierten Module
6.InitSystemConsumerChannelsAuswahl der zu konsumierenden Kanäle für alle innerhalb der Systemkonfiguration spezifizierten Module
7.ReadyDurchgangszustand nach erfolgreicher Verarbeitung der Systemkonfiguration
8.LoadMeasurementConfigLaden der Messkonfiguration /sdi/config/smartcore_dynamic.json
9.LoadMeasurementModulesLaden der innerhalb der Messkonfiguration spezifizierten Module
10.InitMeasurementModulesInitialisierung der innerhalb der Messkonfiguration spezifizierten Module
11.InitMeasurementProducerChannelsAnlegen der zu produzierenden Kanäle für alle innerhalb der Messkonfiguration spezifizierten Module
12.InitMeasurementConsumerChannelsAuswahl der zu konsumierenden Kanäle für alle innerhalb der Messkonfiguration spezifizierten Module
13.StartConsumeStart der konsumierenden Funktionalität aller Module
14.StartProduceStart der produzierenden Funktionalität aller Module
15.RunningZustand nach Erreichen des Messbetriebs
info

Es können in Systemmodulen angelegte Kanäle sowohl in System- als auch in Messmodulen ausgewählt und konsumiert werden, während in Messmodulen angelegte Kanäle NICHT in Systemmodulen ausgewählt und somit auch NICHT konsumiert werden können.

info

Es werden zunächst die Producer-Kanäle angelegt, damit aus diesen dann eine Selektion der Consumer-Kanäle erfolgen kann.

info

Demgegenüber werden zunächst die Konsumptionsmechanismen aller Module gestartet und erst danach die Produktionsmechanismen, um Überläufe zu vermeiden.

info

Während (Producer-)Kanäle AUSSCHLIESSLICH in den für die Erstellung (Initialisierung) dieser Kanäle vorgesehenen Zuständen angelegt werden können, existieren zwar Zustände für die Auswahl zur Konsumption (ebenfalls als Initialisierung bezeichnet), es kann jedoch darüberhinaus jederzeit eine Neuauswahl zu konsumierender Kanäle erfolgen. Dies ist insbesondere in Szenarien mit interaktiver Auswahl (wie z.B. der Daten-Konsumption/-bereitstellung via SCPI) der Fall.

Explizites Herunterfahren/Neustarten

Das Herunterfahren des smartCORE erfolgt lediglich dann, wenn es der Anwender (z.B. im Rahmen einer Aktualisierung der Konfiguration) explizit anfragt.

Es bestehen im folgenden Mechanismen

  • zum Stoppen des Messbetriebs
  • zum Stoppen des kompletten smartCORE Mess- und Systembetriebs

sowie darüberhinaus auch zum Neustart des Messgeräts.

Explizites Herunterfahren des Messbetriebs

Während des Herunterfahrens des Messbetriebs werden folgende Zustände sequentiell durchlaufen.

Zustand / VorgangBedeutung
1.RunningAusgangszustand (Messbetrieb)
2.StopProduceStop der produzierenden Funktionalität aller Module
3.StopConsumeStop der konsumierenden Funktionalität aller Module
4.CleanupMeasurementModulesDestruktion der innerhalb der Messkonfiguration spezifizierten Module
5.ReadyZustand nach erfolgreichem Herunterfahren des Messbetriebs

Ein optionaler Neustart erfolgt wie oben unter Systemstart (Teil II) beschrieben.

Explizites Herunterfahren des Systembetriebs

Während des Herunterfahrens des Systembetriebs (bzw. des kompletten smartCORE) werden folgende Zustände sequentiell durchlaufen.

Zustand / VorgangBedeutung
1.RunningAusgangszustand (Messbetrieb)
2.StopProduceStop der produzierenden Funktionalität aller Module
3.StopConsumeStop der konsumierenden Funktionalität aller Module
4.CleanupMeasurementModulesDestruktion der innerhalb der Messkonfiguration spezifizierten Module
5.CleanupSystemModulesDestruktion der innerhalb der Messkonfiguration spezifizierten Module
5.ReadyZustand nach erfolgreichem Herunterfahren des Messbetriebs

Ein optionaler Neustart erfolgt wie oben unter Systemstart (Teil I) gefolgt von Systemstart (Teil II) beschrieben.

info

Der Unterschied zwischen dem Herunterfahren des Mess- bzw. Systembetriebs liegt also lediglich in der Destruktion aller Systemmodule. Folglich bietet es sich an, Module, die bzgl. eines Neustarts des Messbetriebs persistent sein sollen, in der Systemkonfiguration mit aufzunehmen.

Geräteneustart

Der Geräteneustart resultiert in einem Herunterfahren des Systembetriebs mit anschließendem Start des Messbetriebs nach Neustart des Messgeräts.