07. März 2023

Software anfassbar machen

Vortrag über flexible Architekturen für ML-Anwendungen
Principal

Autor:in

Manuel Schreiner

20230307_Software anfassbar machen_Header

Wie schafft man es, komplexere Themen aus dem Softwarebereich für möglichst viele Menschen zugänglich und verständlich zu machen?

Wie kann man Interesse für ein Thema wecken, das auf den ersten Blick unscheinbar wirkt? Und wie bringt man jemanden dazu, Spaß beim Erlernen neuer Themen zu entwickeln? Diese Fragen haben wir im Team im Hinterkopf, wenn wir Software anfassbar gestalten möchten. Hierbei geht es in erster Linie darum, komplizierte Themen z. B. aus der Industrie aufzugreifen und auf die grundlegenden Bestandteile zu reduzieren. Zusammengesetzt entsteht daraus anschließend ein Demoaufbau. Komplizierte Zusammenhänge können somit anschaulich präsentiert werden, ohne dabei die Aufmerksamkeit der Zielgruppe zu verlieren. Erfahrung mit Hardware-Komponenten in Kombination mit Software, kann oft virtuell wirkende Software auch physisch greifbarer machen. In unserem Innovation Lab in der Niederlassung Darmstadt haben wir uns der Herausforderung gestellt, Wissen interessant zu vermitteln und einen Demonstrator für die Funktionsweise von Track and Trace anhand von RFID-Tags gebaut.

Track and Trace beschäftigt sich in der Logistik mit der Herausforderung der Nachverfolgbarkeit von z. B. Waren und Fahrzeugen. Dafür braucht es eine Lösung, um diese Waren digital eindeutig zu kennzeichnen, damit ihre Position in einem Tracking-System nachverfolgt werden kann. Eine Möglichkeit der Kennzeichnung sind Barcodes, welche die Information über eine eindeutige Identifikationsnummer enthalten. Darüber kann eine Zuordnung in einem Warensystem erfolgen. Die Barcodes sind günstig realisierbar und können auf Klebeetiketten gedruckt und flexibel angebracht werden. Barcodes haben allerdings den Nachteil, dass jeder gekennzeichnete Gegenstand einzeln von einem optischen Lesegerät gescannt werden muss, um einen neuen Datenpunkt für das Tracking System zu erzeugen. Zudem sind Barcodes statisch, d. h. es können keine aktualisierten Daten direkt im Barcode gespeichert werden, denn dafür müsste erst ein neuer Code generiert und gedruckt werden. Außerdem müssen diese vor Umwelteinflüssen und Beschädigungen geschützt werden. Eine Beschädigung des Barcodes macht das Auslesen und somit auch die darauffolgende Zuordnung im Tracking-System unmöglich.

Eine Alternative ist die RFID-Technologie, welche auf Funk mit oft passiven Tags aufbaut. RFID steht für „Radiofrequenz-Identifikation“ und nutzt an den Waren angebrachte, rein passive RFID-Tags, welche von einem Reader mit angeschlossener Funkantenne ausgelesen werden können. Ein Tag dient als Transponder, bestehend aus einem Mikrochip oder ASIC mit einem kleinen Datenspeicher von einigen Byte bis mehreren Kilobyte Kapazität, einer Antenne und einem Träger bzw. Gehäuse. Der Reader arbeitet in einem festgelegten Frequenzbereich und sendet über seine Antenne ein Funksignal aus, das von der Antenne des Tags empfangen wird. Dieses Funksignal überträgt dabei genug Energie, um den Tag mit Strom zu versorgen und dabei gespeicherte Daten von dem internen Speicher auslesen zu können. Beim Auslesen wird die Frequenz des gesendeten Signals leicht verändert, wodurch der Datenaustausch stattfinden kann. Je nach Anwendungsbereich werden unterschiedliche Frequenzbänder vom Reader verwendet. Niedrigere RFID-Frequenzen zwischen 125kHz (Low Frequency) und 13.56MHz (High Frequency) funktionieren bei Reichweiten bis ca. 10 cm und eignen sich daher eher schlecht für den Einsatz in einem Track-and-Trace-System. Hier können eher Frequenzen im Bereich von 800-900MHz (Ultra High Frequency) genutzt werden. In diesem Bereich ist eine stabile und schnelle Datenübertragung über bis zu 10 Metern möglich. Mit RFID hat man die Möglichkeit, kontaktlos auch mehrere, mit Tags versehene, Gegenstände in kurzer Zeit zu scannen. Der interne Speicher kann zudem neu beschrieben werden und neben einer ID auch noch weitere Metadaten zum Gegenstand speichern. Für einen erhöhten Schutz vor Umwelteinflüssen können die Tags problemlos in robuste Kunststoffgehäuse versiegelt werden.

In unserer „Grand-Stack-Racer-Demo“ geht es darum, einen Track-and-Trace-Prozess mit einem ferngesteuerten Gabelstapler zu simulieren. In der Demo wird ein miniaturisierter, ferngesteuerter Gabel-Stapler RFID-Tags beladen- normalerweise werden RFID-Tags im Feld an den Waren befestigt. Ziel ist es dann möglichst schnell und mit allen Waren auf den Gabeln durch einen Parcours aus Toren zu fahren. Die Tore sind mit UHF-Antennen versehen und werden mit dem RFID-Reader verbunden. Der RFID-Reader ist wiederum per Industrie-Gateway an ein zentrales System angebunden. Beim Durchfahren wird eine ID vom Tag ausgelesen und somit an das zentrale Tracking-System übermittelt. Das System erkennt, ob die Fracht des Gabelstaplers vollständig ist oder ob etwas verloren gegangen ist. Ist alles vorhanden, leuchtet die am Tor angebrachte Ampel grün, fehlt ein Teil des Auftrags, leuchtet die Ampel gelb. Falls eine nicht erwartete ID erkannt wurde, leuchtet ein rotes Signal auf. Zusätzlich werden der aktuelle Status sowie die erwartete Position des Gabelstaplers als eine Art digitaler Zwilling auf dem angeschlossenen Tablet visualisiert. RFID und Track and Trace in der Industrie wird somit ein spannendes Racing-Game, das interaktiv und spielerisch die Technik dahinter vermittelt.

20230307_Software anfassbar machen_Accso RFID Solutions

Die Technik hinter dem Demonstrator steckt voller Module, die so fast eins zu eins in größeren Kundenprojekten umgesetzt werden. Durch diese Parallelen bietet sich insbesondere für unsere neuen Mitarbeiter eine gute Gelegenheit, um Abseits von großen Projekten Erfahrungen im Umgang mit den verwendeten Technologien zu sammeln, ohne dabei ein großen Risiko einzugehen. Zusätzlich haben Erfahrungen aus vergangenen erfolgreichen Projekten im Bereich RFID dazu beigetragen, konzentriert das Thema RFID intern voranzutreiben. Da es im industriellen Umfeld noch viele Kunden gibt, die an autarken Softwarelösungen ohne aktive Internetverbindungen interessiert sind, haben wir diesen Ansatz auch für diese Track and Trace Demo verfolgt. Jedoch so, dass ein autarkes System mit einem Server im Unternehmen oder einer Cloud verbunden werden kann.

Durch die technische Weiterentwicklung von immer höher integrierten Komponenten aus der Embedded-Systems-Welt, entstehen immer effizientere, leistungsstärkere und energiesparende Prozessoren, z.B. mit ARM Cortex A Core. Diese machen es möglich, viele Dienste aus der Cloud direkt virtualisiert, in Docker, auf einem Edge Gateway laufen zu lassen. Durch Docker können mehrere Softwarekomponenten parallel in Software-Containern laufen. Dies ermöglicht das Austauschen oder Updaten einzelner Komponenten des Systems, ohne die anderen Komponenten im Betrieb zu beeinflussen.

Für den Datenaustausch zwischen einzelnen Komponenten wird im Fall des Grand-Stack-Racers ein MQTT Message Broker verwendet. Bei MQTT handelt es sich um ein gängiges Publish/Subscribe Nachrichten Protokoll für die Kommunikation zwischen Geräten, welches auch häufig neben OPC UA im Kontext von Anwendungen der Industrie 4.0 verwendet wird. Der RFID-Reader zum Scannen der RFID-Tags ist via USB mit dem Gateway verbunden. Über Docker ist dieser direkt mit einem Container verknüpft, in welchem wiederum ein C++ Programm läuft, um die Daten der gescannten Tags entgegenzunehmen und per MQTT publish zur Verfügung zu stellen. Ein Software Backend basierend auf C# und .NET hat die Aufgabe den Ablauf der Demo zu steuern. Von hier aus werden z. B. Start und Stopp Signale via MQTT an die Signalampeln gesendet oder Informationen über gescannte Tags an das Frontend weitergegeben.

Das Frontend des Tracking Systems basiert auf dem Vue.js Framework und wird in einem Nginx-Webserver ebenfalls auf dem Gateway gehostet. Angezeigt wird dieses auf einem Android Tablet, welches über WLAN mit dem Gateway verbunden ist. Die einzelnen Signalampeln werden jeweils über WLAN verbundene und Mikrocontroller basierenden Embedded Systemen angebunden. Die Firmware und deren automatisches Deployment aus der CI/CD Pipeline hat das Accso-Team selbst entwickelt. Anhand der Daten vom Backend entscheidet ein Python Skript in welcher Farbe die einzelnen Ampeln leuchten. Zum besseren Verständnis ist das komplette Zusammenspiel der einzelnen Komponenten in der folgenden Abbildung visualisiert:

20230307_Software anfassbar machen_Grand Stack Racer Gateway

Die Demo wurde sowohl Accso-intern als auch zusammen mit unseren Partnern HellermannTyton, Patlite und dem VDMA dankend angenommen. So war Accso zusammen mit der Demo in den letzten Monaten z. B. auf der „All About Automation“ Messe in Hamburg und der „Smart Production Solutions“ in Nürnberg und hat dort viele interessierte und ehrgeizige Menschen angezogen, die sich ihren Platz auf der High-Score Liste sichern wollten und dabei direkt lernen konnten, wie Track and Trace funktioniert. Auch auf unserer jährlich stattfindenden, firmeninternen Konferenz AccsoCon und einigen Hochschul-Events in Darmstadt, war die Demo schon im Einsatz.

(Autorenteam: Alexander Marquardt und Manuel Schreiner)

Manuel Schreiner

Principal
Ihr Ansprechpartner für Software-Entwicklung und Architektur
Manuel Schreiner Raute