Ein Softwareagent in einer industriellen Anlage kann über das IIoT äußerst wertvolle Daten bereitstellen, um Probleme vorbeugend zu identifizieren und bei der schnellen Ausarbeitung einer Lösung zu helfen.

Ein Softwareagent in einer industriellen Anlage kann über das IIoT äußerst wertvolle Daten bereitstellen, um Probleme vorbeugend zu identifizieren und bei der schnellen Ausarbeitung einer Lösung zu helfen. (Bild: Percepio)

Eines der entscheidenden Merkmale von Industrie 4.0 ist die verteilte Sensorik. Immer mehr Sensorknoten weden zur Überwachung von Anlagen und Prozessen eingesetzt, die alle mit Gateway-Geräten in einem komplexen industriellen Internet der Dinge (IIoT) verbunden sind.

Diese Sensoren tragen dazu bei, die Leistung und Zuverlässigkeit von Industrieprozessen zu verbessern und eine höhere Verfügbarkeit zu gewährleisten. Die Steigerung der Effizienz ist eine der Hauptmotivationen für den Übergang zu Industrie 4.0, mit einem zuverlässigen 24/7-Betrieb und Anlagen auf der ganzen Welt, die alle von einem einzigen Standort aus überwacht werden. Dies erfordert jedoch auch einen stärkeren Fokus auf die Sicherheit des Netzwerks, um einen sicheren Betrieb zu gewährleisten.

Algorithmen des maschinellen Lernens, die in den Gateways oder sogar in den Sensorknoten selbst Daten sammeln, überwachen die Leistung von Industrieanlagen. Die Daten von den Sensoren können analysiert werden, um Probleme mit der Hardware zu erkennen, bevor sie kritisch werden.

Neue Software für Industrie-4.0-Systeme

Was jedoch bei der Einführung des IIoT noch fehlt, ist die Möglichkeit, dasselbe mit Software zu tun. Diese Sensoren und Gateways sind immer ausgefeiltere Verarbeitungseinheiten mit komplexem Code. Während der Großteil dieses Codes ausgereift und gut getestet sein mag, erfordert die Implementierung von Industrie-4.0-Systemen neue Software. Durch die Erweiterung um viele Tausend Sensoren steigt auch die Herausforderung drastisch an, die Leistung der Software zu überwachen. Bei einem exponentiellen Anstieg der Datenmenge können sporadische Laufzeitfehler auftreten, die vorher nicht sichtbar waren. Dabei kann es sich um eine einfache Störung in einem Kabel handeln, die zeitweise Produktionsprobleme verursacht, oder sogar um die Auswirkungen von Malware, die einen verteilten Denial-of-Service (DDoS) verursacht.

Es ist einfach nicht möglich, die Interaktionen von Tausenden von Sensorknoten in allen möglichen Situationen mit unterschiedlichen Latenzzeiten und Datenraten, verschiedenen Algorithmen für maschinelles Lernen und Datenerfassungsarchitekturen gründlich zu testen. Die digitale Modellierung kann zwar dabei helfen, diese Komplexität zu bewältigen, aber die reale Welt kann unerwartete Ergebnisse hervorbringen.

IIoT-Systeme können ungeheuer komplex sein. Die Sensoren überwachen nicht nur die in Betrieb befindlichen Maschinen, sondern auch die Komponenten und Materialien, die in sie einfließen, sowie die im Prozess verwendeten flüssigen oder gasförmigen Chemikalien. Während herkömmliche SCADA-Systeme (Supervisory Control and Data Acquisition) diese Parameter in speicherprogrammierbaren Steuerungen (SPS) mit hohen und niedrigen Schwellenwerten verwalten, besteht der Vorteil von Industrie 4.0 darin, dass diese Schwellenwerte durch regelmäßige Änderungen optimiert werden, wodurch der Prozess effizienter wird und weniger Ausschuss entsteht. Die SPSs fügen nun Algorithmen des maschinellen Lernens hinzu und treffen wichtige Entscheidungen näher an der Anlage, um die Latenzzeit zu verringern und den Betrieb effizienter zu gestalten.

Die Rolle der Geräte-Feedback-Schleife

Dadurch entsteht jedoch ein immer komplexeres Netzwerk von Geräten in der gesamten Fabrik. Und früher oder später kann es bei jedem der verteilten Geräteknoten zu unerwarteten Problemen kommen. Mit zunehmender Anzahl der Knoten steigt auch die Wahrscheinlichkeit eines problematischen Verhaltens.

Die Kenntnis der Leistung der verschiedenen Software in den unterschiedlichen Sensorknoten sowie die Überwachung der Software in den einzelnen Gateways und Datenerfassungssystemen ist eine große Herausforderung, die den Bedarf an einer Geräte-Feedback-Schleife im DevOps-Stil begründet.

Die Idee der Geräte-Feedback-Schleife besteht darin, eine kontinuierliche Geräteüberwachung und automatische Warnungen bereitzustellen. Auf diese Weise werden die Entwickler auf potenzielle Probleme aufmerksam gemacht, bevor sie zu einem Problem in der Produktionslinie werden. Im Idealfall erfolgt die Warnung so früh, dass ein Fix erstellt und über ein Over-the-Air-Update verteilt werden kann, bevor die Produktionslinie beeinträchtigt wird. Eine solche Rückkopplungsschleife hilft Entwicklern von eingebetteten Systemen, die Softwarequalität und Produktleistung zu verbessern, um die Zuverlässigkeit und Skalierbarkeit industrieller Steuerungssysteme zu unterstützen.

Gemanagter Cloud-Service zur Fernerkennung von Software-Anomalien

Percepio DevAlert ist ein gemanagter Cloud-Service zur Fernerkennung von Software-Anomalien und deren Beseitigung,
Percepio DevAlert ist ein gemanagter Cloud-Service zur Fernerkennung von Software-Anomalien und deren Beseitigung, (Bild: Percepio)

Percepio DevAlert, ein gemanagter Cloud-Service zur Fernerkennung von Software-Anomalien und deren Beseitigung, zeigt, wie sich die im Artikel beschriebene Geräte-Feedback-Schleife für Embedded-Software implementieren und nutzen lässt. Embedded-Software-Entwickler können das von DevAlert gebotene Überwachungs-Framework zum Instrumentieren ihres Codes einsetzen, damit etwaige Anomalien detektiert und gemeldet werden können. Dies lässt sich bereits beim Debugging während der Entwicklung nutzen. Der eigentliche Zweck von DevAlert besteht jedoch, wie der Artikel darlegt, in der Überwachung bereits im Einsatz befindlicher IoT-Geräte und -Sensoren sowie in der umgehenden Rückmeldung an Entwickler, Betriebspersonal und Führungskräfte.

Hierzu bietet DevAlert einen Device Software Agent (DFM), der über eingebautes Wissen zu wichtigen RTOS-Funktionen und -Objekten verfügt und umfassende Informationen  über Zustandsautomaten, Task-Interaktionen, Timing usw. bereithält. Dieser DFM kann ferner durch einen Mechanismus für individuelle Logging-Funktionen erweitert werden. Diesen wiederum können Entwickler nutzen, um den RTOS-Datenstrom durch wichtige Applikationsdaten und Warnmeldungen zu ergänzen. Sollte die Software abstürzen, können Informationen über den aufgetretenen Fehler im Gerät selbst gespeichert werden, um sie nach einem Reset oder Neustart an die DevAlert-Cloud zu übertragen.

Die Cloud-Komponente von DevAlert ist für das Klassifizieren und Speichern der Warnungen sowie für die Benachrichtigung der Anwender bei etwaigen Vorfällen zuständig. Zur Wahrung des Datenschutzes erfasst DevAlert ausschließlich Metadaten über die Warnungen, während sich potenziell sensible Anwenderdaten sicher in der benutzereigenen Cloud hinterlegen lassen.

Die Aufgabe der Software-Agenten


Ein Ansatz zur Implementierung einer erfolgreichen Geräte-Feedback-Schleife ist die Verwendung eines kleinen, unabhängigen Softwareblocks, eines sogenannten Agenten, in jedem Knoten. Dieser muss mit dem Kommunikationsnetz verbunden sein und überwacht den Betrieb der Hardware und Software des Geräts. Dies kann Hardware-Ausnahmen und Watchdog-Timer-Daten, Fehlercodes des Echtzeit-Betriebssystems (RTOS), Middleware- oder Peripherie-Treiber-APIs oder die Erfassung von Daten im Falle eines Neustarts umfassen.

Im Falle eines Fehlers kann der Agent detaillierte Informationen über den Status der Register ab dem Zeitpunkt der Erkennung bereitstellen, mit Stack- und Speicher-Dumps, die die Suche nach dem Problem und dessen Behebung erheblich beschleunigen. Der Agent kann sogar die Ausführung der Software zurückverfolgen, um zu zeigen, was kurz vor der Erkennung eines Problems geschah, und so den Kontext für die Reproduktion des Problems liefern.

Dabei geht es aber nicht nur um die Analyse von Softwarefehlern, sondern auch um präventive Warnungen. Die Überwachung bestimmter Metriken wie der Stack-Nutzung, der Heap-Nutzung, der CPU-Last, des Speichers und anwendungsspezifischer Metriken kann die Voraussetzungen für proaktive Warnungen schaffen, wie z. B. die „Stack-Nutzung überschreitet 95 Prozent“, die den Entwickler darauf hinweisen, dass ein Problem bevorstehen könnte.

Der Agent kann auch dazu verwendet werden, die Qualität der Kontrollalgorithmen zu verbessern und dies in die Tests des Systems einfließen zu lassen. Bei jedem Software-Ereignis, das von Interesse ist, können Warnmeldungen generiert werden, die Aufschluss darüber geben, wie die Algorithmen in der Praxis funktionieren. Diese Transparenz ist auf andere Weise nicht möglich und kann dazu beitragen, die Leistung des Systems zu verbessern und zu verfeinern. Diese Erkenntnisse können bei der Einführung neuer Anlagen und bei der Modernisierung von Industriebrachen genutzt werden.

Demo-Video zu DevAlert (engl.)

Die Überwachung ist entscheidend für mehr Cybersicherheit

Ein weiteres wichtiges Thema für die industrielle Steuerung ist die Sicherheit. Die meisten industriellen Systeme wurden in geschlossenen Kreisläufen isoliert. Industrie 4.0 öffnet diese Systeme für das Internet und erhöht damit die Risiken. Ein unabhängiger Agent mit einem separaten Kommunikationskanal kann die Leistung jedes Knotens und Gateways überwachen, auf unerwartete Vorgänge achten und diese melden. Auf diese Weise lässt sich die Sicherheit des gesamten Systems erhöhen.

Die neueste Malware Pipedream nimmt wahllos industrielle Automatisierungs- und SCADA-Systeme ins Visier. Dabei wird keine Schwachstelle ausgenutzt, sondern die inhärenten Funktionen der speicherprogrammierbaren Steuerungen (SPS) verwendet. Daher empfehlen die US-Behörden den Einsatz von Überwachungssoftware, um auf unerwartete Datenbewegungen zu achten.

Schnell eine Lösung finden und Änderungen direkt vornehmen

Diese Überwachung muss hochgradig automatisiert sein, um industrielle Steuerungsanwendungen mit Tausenden von Sensorknoten und Gateways anzugehen. Der Agent muss unabhängig und robust sein, Softwarefehler im Knoten überstehen und einen separaten Kanal zurück zu einem zentralen System bereitstellen, über das die Entwickler die volle Kontrolle haben, auch wenn dies bedeutet, dass die Daten anonymisiert werden müssen, um die Diagnosedaten geheim zu halten.

Der Agent muss außerdem skalierbar sein und einen geringen Platzbedarf haben, damit er in die Mikrocontroller der Sensorknoten und in die Linux-Engines der Gateways passt.

Aber die Daten müssen auch verwertbar sein. Bei vielen Tausenden von Knoten in einer Industrie-4.0-Implementierung sind automatisierte Warnmeldungen unerlässlich, um Probleme hervorzuheben. Mit direkten Links zu den relevanten Daten und visuellen Spuren im Code lässt sich schnell und effektiv zeigen, was passiert ist. Auf diese Weise kann der Entwickler am schnellsten eine Lösung finden und Änderungen direkt vornehmen – im Idealfall, bevor ein Problem tatsächlich auftritt und ganz sicher, bevor es bemerkt wird. (neu)

Autor

Autor Dr. Johan Kraft
(Bild: Percepio)

Dr. Johan Kraft ist CEO und Gründer von Percepio AB

Sie möchten gerne weiterlesen?

Unternehmen

Percepio AB

Stansargränd 4
721 30 Västerås
Sweden