Herzlich Willkommen beim beam-Verlag in Marburg, dem Fachverlag für anspruchsvolle Elektronik-Literatur.


Wir freuen uns, Sie auf unserem ePaper-Kiosk begrüßen zu können.

Aufrufe
vor 4 Jahren

3-2020

  • Text
  • Bauelemente
  • Elektromechanik
  • Positioniersysteme
  • Antriebe
  • Stromversorgung
  • Hmi
  • Kommunikation
  • Robotik
  • Qualitaetssicherung
  • Bildverarbeitung
  • Automatisierungstechnik
  • Sensorik
  • Messtechnik
  • Visualisieren
  • Regeln
  • Msr
  • Boards
  • Systeme
  • Sbc
  • Software
Fachzeitschrift für Industrielle Automation, Mess-, Steuer- und Regeltechnik

Sensoren Bild 4: Der

Sensoren Bild 4: Der gesamte Engineering-Prozess einer Sensorikanwendung mit KI-Algorithmen besteht aus sechs Teilaufgaben. Nach dem Erfassen von Trainings- und Testdaten per PyDSlog und einer explorativen Datenanalyse wird ein Machine-Learning-Modell erzeugt und getestet. Innerhalb des Prozesses sind zwei Iterationsschleifen vorgesehen, um zum einen die Fehlerquote mit verschiedenen Machine-Learning-Algorithmen zu untersuchen und zum anderen die sogenannten Hyperparameter für den gewählten Algorithmus anzupassen. zu erzeugen und in eine CSV-Datei zu schreiben (Logger für ML-Trainingsdaten). Zwischen der Datenerfassung und den Sensoren existiert eine Hardware-agnostische Kommunikation über drei unterschiedliche Datagramme (siehe Tabelle 1). Jedes Datagramm ist einem bestimmten Zustand einer Sensor-State-Machine zugeordnet. Zum Speichern der CSV- Daten muss die Anwendung einen Schreibzugriff auf ein geeignetes Datei system haben. Sensor: Funktionseinheit mit mindestens einem Sensorelement und einer digitalen Kommunikationsschnittstelle sowie einem Mikrocontroller, in dem sich die PyDSlog-Zustandsmaschine und Datagramm-Kommunikation implementieren lassen. Die Aufgabe des Sensors in einer PyDSlog-Anwendung ist es, die einzelnen Messwerte mit der von der Datenerfassung gewünschten Abtastfrequenz sf zu erfassen und als (Messdaten-) Datagramme an die Datenerfassung zu schicken. Zusammenhänge zwischen Datenerfassung und Sensor Bild 2 illustriert an einem Beispiel die wesentlichen Zusammenhänge zwischen Datenerfassung und Sensor. Das Sensorelement ist in diesem Fall ein einfacher Stromsensor, z. B. ein Shunt-Widerstand plus 1-Kanal-A/D-Wandler, der von einem 8-, 16- oder 32-Bit- Single-Chip-Mikrocontroller per I 2 C angesteuert wird. Über diesen Mikrocontroller wird auch die Datagramm-Kommunikation zur Datenerfassung gesteuert. Zum Start der CSV-Messdatenerfassung übermittelt die Python-Anwendung mit Hilfe der PyDSlog-Bibliotheksfunktionen ein Konfigurations-Datagramm mit der gewünschten Abtastfrequenz sf (z. B. 500 Hz) an den Sensor. Anschließend überträgt der Sensor fortlaufend mit der jeweiligen Frequenz (bei 500 Hz also alle 2 Millisekunden) 16-Bit-Integer-Strommesswerte als Messdaten-Datagramme an die Datenerfassung. Über die voreingestellte Merkmalsvektorgröße (z. B. 500 Messwerte je Vektor) setzt die entsprechende Bibliotheksfunktion die einzelnen Vektoren zusammen und übergibt jeden vollständigen Vektor als Textzeile im CSV-Format an das Dateisystem, um es an eine Datei anzufügen. Bei sf = 500 Hz und 500 Messpunkten je Vektor repräsentiert jeder einzelne Merkmalsvektor in der CSV-Datei somit eine Zeitspanne von 1 Sekunde. Der gesamte Datagramm-Dialog zwischen Datenerfassung und Sensor kann sowohl über einfache serielle Schnittstellen (UART, RS232, RS485) als auch per MQTT erfolgen. Für die PyDSlog-Datenerfassung wurde eine Python-Bibliothek entwickelt. Bezüglich der Sensorik existieren zurzeit verschiedene C/C++-Beispielcodes mit Zustandsmaschinen-Template und serieller Datagramm-Kommunikation, die bisher an Arduino und STM32-Nucleo-Boards angepasst wurden. Eine Adaption für das IoT- Betriebssystem RIOT befindet sich in der Entwicklung. Alle Softwarekomponenten stehen über Open Source-Lizenzen jedem interessierten Anwender kostenlos zur Verfügung. Fernsteuerschnittstelle für das Labeling Soll ein Supervised-Machine-Learning-Algorithmus in den Echtzeitmessdaten eines Stromsensors auto- Datagramm-Typ Sensorzustand Beschreibung Konfiguration (Start) Idle Wird von der PyDSlog-Datenerfassung an den Sensor übermittelt. Dieses Datagramm erzeugt im Sensor einen Zustandsübergang von Idle nach Measuring und startet somit eine Datenerfassung. In einem Konfigurations-Datagramm werden Parameter für die gewünschte Abtastfrequenz sf und eine Liste der jeweils zu aktivierenden Kanalnummern cn[] (nur bei Sensoren mit mehr als einem Sensorelement) übertragen. Messdaten Measuring Werden mit der Abtastfrequenz sf vom Sensor fortlaufend an die Datenerfassung übertragen. In jedem Messdatendatagramm ist jeweils ein Messwert für jeden aktiven Kanal enthalten. Stopp Measuring Dieses Datagramm erzeugt im Sensor einen Zustandsübergang von Measuring nach Idle und beendet eine laufende Datenerfassung mit der voreingestellten Abtastfrequenz sf und den jeweils aktivierten Kanalnummern cn[]. Tabelle 1: Zwischen dem Sensor und der Datenerfassung einer PyDSlog-Anwendung existiert eine Hardware-agnostische Kommunikationsverbindung zur Übermittlung von einfachen Datagrammen. Die gesamte Kommunikation basiert auf drei unterschiedlichen Datagramm-Typen, die jeweils zwei verschiedenen Sensorik-Systemzuständen zugeordnet sind 38 PC & Industrie 3/2020

Sensoren matisch unterschiedliche Betriebszustände erkennen, werden für die Trainingsphase entsprechend gekennzeichnete Merkmalsvektoren benötigt. Dafür muss an alle Messdatenvektoren vor dem Training in einem zusätzlichen Arbeitsschritt ein entsprechendes Zustandskennzeichen (Label) angefügt werden. Dieses Label klassifiziert den jeweiligen Betriebszustand, zu dem im Beispiel der Bild 2 die diskreten Strommessdaten des jeweiligen Vektors gehören. Das Labeling von Zustandsdaten ist in der Praxis häufig mit dem Problem behaftet, dass in vielen Projekten lediglich Daten existieren, die einen einzigen Betriebszustand beschreiben. Damit lässt sich dann beispielsweise ein sogenannter One-Class-Classification-Algorithmus trainieren, der zur Anomalieerkennung dienen kann. Dafür sind zunächst einmal keine zusätzlichen Zustandskennzeichen in den Merkmalsvektoren erforderlich. Da jede Anomalie in diesem Fall aber auch ein spezieller Betriebszustand sein kann, wäre ein Werkzeug zur automatischen Zustandsdatenerfassung im Anomaliefall hilfreich. Zustandskennzeichnung Um die Zustandskennzeichnungsaufgaben für die zu erfassenden Merkmalsvektoren zu automatisieren, wurde PyDSlog mit einer Fernsteuerschnittstelle ausgestattet. Dieses Interface besteht im Wesentlichen aus vier Nachrichten mit den Namen Start, Stop, End und Label, die über zwei MQTT-Topics verschickt werden. Damit sind folgende Funktionen möglich: • Start: Eine neue Datenerfassung mit einer bestimmten CSV-Datei starten oder die zuvor über Stop angehaltene Datenerfassung weiter fortsetzen. • Stop: Die laufende Datenerfassung für die jeweilige CSV-Datei nach dem vollständigen Schreibzugriff für den (letzten) aktuellen Merkmalsvektor sofort anhalten. • End: Eine laufende Datenerfassung beenden. Die jeweilige CSV-Datei mit bisher erfassten Merkmalsvektoren wird final geschlossen. • Label: Vorgabe eines numerischen Werts (Label Value), der als Zustandskennzeichen an das Ende jedes Merkmalsvektors angefügt wird. Bild 3 illustriert die Anwendungsmöglichkeiten der Fernsteuerschnittstelle am Beispiel der Stromdaten eines Antriebselements, das durch externe Ereignisse in verschiedene Zustände gesetzt wird. Zunächst werden eine Zeit lang Merkmalsvektoren im Zustand 1 gesammelt. Dann wird die Datenerfassung angehalten und auf einen anderen Zustand gewartet, um z. B. Messdatenmerkmalsvektoren für den Antriebszustand 2 zu erfassen. ◄ Füllstandssensor der besonderen Art Neue ODM Entwicklung der m2m Germany ODM Entwicklung Füllstandssensor, ©m2m Germany Halle 3, Stand 235 m2m Germany GmbH info@m2mgermany.de www.m2mgermany.de Funksensoren sind die Basis vieler IoT-Anwendungen und m2m Germany nimmt sich gern spezieller Herausforderungen an. Mit unterschiedlichsten auf Funk basierenden OEM /ODM Produkten unterstützt die m2m Germany GmbH immer wieder namhafte Unternehmen und stellt seine eigene Entwicklungsexpertise unter Beweis. Gerade in Sachen LoRa/LoRaWAN baut das Unternehmen stetig seinen Expertenstatus aus. Wie beispielsweise bei einer Funksensoren ODM-Entwicklung, dabei ging es um die Umsetzung eines Ultraschall- Funksensors zur Überwachung von Füllständen in mobilen Containern, Tanks oder Silos. Der Sensor sollte batteriebetrieben sein und neben Zustandsinformationen auch die Geoposition des Behälters über eine GSM- oder LoRaWAN-Verbindung an eine definierte Annahmestelle im Internet kommunizieren – kurzum – vom Sensor in die Cloud. Der entwickelte Sensor übermittelt neben Füllstand und Position auch Daten über Temperatur und Batteriestatus. Die Batterielaufzeit beläuft sich auf einen Zeitraum von bis zu fünf Jahren – abhängig von dem jeweiligen Szenario. Ebenso wichtig ist, dass der Ultraschall- Sensor industrietauglich ist und einen erweiterten Temperaturbereich abdecken kann – an einer energy harvesting Variante wird derzeit gearbeitet. Wer auf der Suche nach einem passenden Lösungspartner in Sachen LoRa/LoRaWAN oder generell zum Thema Entwicklungsdienstleistungen ist, kann sich auf der embedded world 2020 ein umfassendes Bild von den Dienstleistungen und Entwicklungen der m2m Germany machen. PC & Industrie 3/2020 39

hf-praxis

PC & Industrie

© beam-Verlag Dipl.-Ing. Reinhard Birchel