Architecture
In diesem Abschnitt sollen die Komponenten der smartCORE Edge-Device Software vorgestellt werden.
Achitektur
Maßgeblich für die smartCORE Software ist eine Producer-Consumer-basierte Datenfluss-Architektur. Hierbei werden produzierende Module (Quellen) über im smartCORE verwaltete Kanäle mit konsumierenden Modulen (Senken) verbunden. Diese Module können auf vielfältige Art und Weise durch den Benutzer konfiguriert bzw. parametrisiert werden.
Die Module werden normalerweise mittels Messkonfiguration an die Aufgabenstellung des Nutzers angepasst. Die Messkonfiguration ist in der Konfigurationsdatei
/sdi/config/smartcore_dynamic.json
auf dem Messgerät gespeichert und bleibt insbesondere bei einem Upgrade sowohl von smartCORE als auch Betriebssystem erhalten.
Modultypen
Es wird grundsätzlich aus Sicht der Software zwischen produzierenden und konsumierenden Modulen unterschieden, wobei
- produzierende Module Kanäle erstellen und Daten-Samples in diese Kanäle schreiben
- konsumierende Module Daten-Samples aus Kanälen lesen
Neben rein konsumierenden und rein produzierenden Modulen gibt es auch eine ganze Reihe von Modulen, die sowohl Producer als auch Consumer sind, um bidirektionale Kommunikation zu ermöglichen.
Aus Nutzersicht ist es jedoch sinnvoller, Module bzgl. ihrer Funktionalität zu kategorisieren. Als sinnvoll hat sich eine Kategorisierung in Anwendungs-bezogene sowie Anwender-bezogene Module erwiesen. Während anwendungs-bezogene Module die Kommunikation zur Mess-/Regelungstechnik-Seite sicherstellen, sind Anwender-bezogene Module (zumindest indirekt) für die Kommunikation mit dem Benutzer zuständig.
Anwendungs-bezogene Module
Modul | Beschreibung |
---|---|
accelerometer | Schnittstelle zum Beschleunigungssensor |
batmon | Schnittstelle zum batMON |
canbus | Schnittstelle zu CAN-Bus Interfaces zur Kommunikation roher CAN-Bus Daten |
dbc | Interpreter/Decoder für die Extraktion von Kanaldaten aus rohen CAN-Bus Daten anhand einer DBC Spezifikation |
fmconsumer | Encoder von Kanaldaten zur Bereitstellung roher Daten, die über externe Schnittstellen, wie z.B. CAN-Bus verschickt werden können |
fmproducer | Interpreter/Decoder für die Extraktion von Kanaldaten aus Rohdaten, die von externen Schnittstellen, wie z.B. CAN-Bus oder MVB gelesen werden können |
fmudp | UDP-Schnittstelle, die interpretierbare Rohdaten bereitstellt (nur in Leserichtung) |
gps | Schnittstelle zum GPS (GPSD Service entweder auf Gerät oder im Internet) |
hwio | Schnittstelle zur Abbildung digitaler Ein- und Ausgänge sowie von LEDs des Messgeräts |
modbus | Schnittstelle zum ModBus |
smiohp | Schnittstelle zur optiMEAS smartIO High Performance Hardware |
Anwendungs-bezogene Module für Schienenfahrzeuge
Modul | Beschreibung |
---|---|
mvb | Schnittstelle zum Auslesen des MVB via UDP-Protokoll, wie seitens duagon D503 bereitgestellt |
smartmvb | Schnittstelle zum Auslesen des MVB via optiMEAS smartIO MVB Hardware |
Anwender-bezogene Module
Modul | Beschreibung |
---|---|
csvwriter | Modul zur Erstellung von CSV Dateien aus Kanaldaten (inkl. vielfältiger Möglichkeiten zur getriggerten Aufzeichnung) |
diagnostics | Modul zur Überwachung von Kanälen und hierauf basierender Erstellung von Alarmen |
eventcounter | Ereigniszähler |
geofencing | Modul für Aufgaben des Geofencings |
http | Modul für die Kommunikation mittels HTTP-Anfragen |
math | Modul zur mathematischen Verarbeitung von Kanaldaten in Kanaldaten |
mqtt | Modul zur Kommunikation via MQTT |
odometer | Modul zur Wegstreckenerfassung |
opticloud | Modul zur Kommunikation mit der optiMEAS optiCLOUD |
osfudpstreamer | Modul, dass Kanaldaten in Form eines OSF Daten-Streams via UDP verschickt |
osfwriter | Modul, dass Kanaldaten in Form eines OSF Daten-Streams in Dateien schreibt |
sms | Modul, dass in Reaktion auf ein Trigger Signal eine SMS verschickt |
smsalarms | Modul, dass in Reaktion auf eine neue Alarmmeldung eine SMS verschickt |
ssh | Modul zur Kommunikation via SFTP und SSH |
systeminfos | Modul zur Bereitstellung von Systeminformationen des Messgeräts |
uptime | Modul zur Erfassung von Zählerständen (z.B. der Betriebsstunden eines Systems) |
Sowohl im Anwendungs- als auch im Anwender-Kontext einsetzbare Module
Modul | Beschreibung |
---|---|
opcuaclient | Client zur Kommunikation mit OPC/UA Servern |
opcuaserver | Server zur Kommunikation mit OPC/UA Clients |
remote | Modul, dass eine bidirektionale Kanaldaten-Kommunikation via IPC bereitstellt |
Module für Testszenarien
Modul | Beschreibung |
---|---|
functiongenerator | Funktionsgenerator zur Produktion von Kanaldaten |
playback | Modul zur synthetischen Produktion von Kanaldaten anhand eines Playback-Protokolls |