Zur Erfassung der Energiewerte kommen verschiedene Systeme in Frage. Alle diese Sensorsysteme müssen jedoch folgende Kriterien erfüllen:
Erweiterung durch zusätzliche Stromwandler
Alternativen für Kleinstspannungskreise
Wahl der Sensoren
Testaufbau
Die Software für dieses Projekt übernimmt die Aufgaben der Datenverarbeitung und -speicherung. Zudem müssen die aufgenommenen Messwerte von der zentralen Steuerung der Kernschießmaschine eingelesen werden. Das selbst geschriebene Programm "PLC-Connector" ist in diesem Abschnitt genauer beschrieben. Die Benutzerschnittstelle zum Benutzer des Systems kann im nachhinein durch ein generisches Interface zur Datenbank geschehen, da die dort enthaltenen Daten schon durch das Programm "PLC-Connector" und dessen entsprechende Signalverarbeitungsmodule aufbereitet sind.
PLC-Connector ist modular aufgebaut, so dass verschiedene Komponenten einfach ausgetauscht werden können. Die Module sind in drei Kategorien unterteilt:
Inputs
Ein Input-Modul stellt die Verbindung zu einer bestimmten Komponente der Anlage auf und bezieht über diese periodisch die Messwerte eines oder mehrerer Sensoren. Die Komponenten können beispielsweise Feldbusverteiler, netzwerkfähige Sensoren oder die zentrale Steuerung einer Anlage sein. Je nach Modul kommen unterschiedliche Protokolle zur Kommunikation zum Einsatz. Unter diesen sind zum Beispiel EtherNet/IP und das S7-Protokoll vertreten.
Middlewares
Eine Middleware ist ein Algorithmus, der strukturierte Datensätze der aktiven Input-Module entgegen nimmt und die für die Auswertung interessante Informationen extrahiert. Eine erste Middleware nimmt beispielsweise die Werte mehrerer Inputs entgegen und führt eine zeitliche Korrelation durch. Die dadurch entstandenen Datenpakete können dann optional an weitere Middlewares weitergegeben werden, welche andere Analysen durchführen. Schließlich kann eine Middleware ihre Ergebnisse an die Outputs übergeben.
Outputs
Outputs sind Datensenken, welche Datensätze von Middlewares entgegen nehmen und abspeichern. Ein Output archiviert beispielsweise die Datensätze in CSV Dateien und ein anderes sendet sie an eine Influxdb-Datenbank.
Die Module werden durch ein zentrales Python-Programm geladen, welches auch die initiale Konfiguration und die Datenübertragung zwischen den Modulen orchestriert. Ansonsten arbeiten die Module komplett autonom. Die Verbindungen und Parameter der Module sind in einer zentralen Konfigurationsdatei config.yml
definiert.