Vom Plastik in die AWS IoT Cloud

Keine Kommentare

Was haben wir vor und was ist die codecentric Lernfabrik eigentlich?

Im Rahmen unserer „Qualitätsoffensive Cloud” und der Intensivierung des Themas Industrie 4.0 haben wir bei codecentric uns die 24V Lernfabrik von Fischertechnik angeschafft. Mit dieser Lernfabrik wollen wir die Potenziale von Industrie 4.0 mit unseren Plänen in Sachen Cloud übereinanderlegen, um möglichst viel Mehrwert für unsere Kunden zu generieren. Die Lernfabrik bietet dabei die Plattform, um verschiedene Konzepte, Prototypen und Ideen auszuarbeiten und zu evaluieren.

Die Fabrik selbst besteht aus fünf Komponenten, die über eine Siemens-SPS (Speicherprogrammierbare Steuerung) gesteuert werden. Die Komponenten bilden dabei zwei Kernprozesse einer Fertigung ab:

  1. Die Anlieferung und Einlagerung von Rohmaterialien und
  2. die Bearbeitung einer Bestellung inkl. der Auslieferung.

Der Zustand und alle zugehörigen Informationen werden direkt am Werkstück/Rohmaterial über einen NFC-Tag gespeichert und an den verschiedenen Stationen ausgelesen bzw. geschrieben.

Unser aktuelles Ziel ist es, die Lernfabrik in die Cloud zu bringen und die verschiedenen Daten zu sammeln, anzureichern und „interessant“ zu verwenden. Und genau bei Letzterem setzt beispielsweise unsere Idee an, die Lernfabrik virtuell in VR begehbar und erlebbar zu machen.

Installation und Inbetriebnahme der Lernfabrik

Bevor wir mit der Anbindung und Verarbeitung der Daten der Lernfabrik beginnen können, ist es erst noch notwendig, die Lernfabrik physisch aufzubauen und anzuschließen. Hierfür müssen die einzelnen Platinen, die die Komponenten steuern, mit der Siemens-SPS verbunden werden und das Programm zur Anlagensteuerung auf die SPS aufgespielt werden. Die Kommunikation in der Fabrik wird von Fischertechnik über OPC-UA und MQTT vorgesehen.

Verbindung der Lernfabrik-Komponenten über Flachbandkabel mit der SPS

Nicht von der Siemens SPS verwaltet werden: ein Sensor, der Umgebungsdaten wie Temperatur, Luftfeuchtigkeit etc. erfasst, der NFC-Leser und die schwenkbare Überwachungskamera. Diese Daten werden über einen proprietären Fischertechnik-Controller verwaltet und von diesem per MQTT zur Verfügung gestellt. In dem Aufbau enthalten ist ein eigenes „IoT-Gateway“, ein Raspberry Pi mit vorinstalliertem Node-RED, welches eine lokale Benutzeroberfläche bereitstellt, die u. a. auch zur Kalibrierung der Robotik dient.

Die jeweiligen Fischertechnik-Controller der Fabrik-Komponenten sind über Flachbandkabel mit Anschlussbausteinen verbunden, von hier wird dann die S7 weiter verdrahtet:

Frontalansicht der SPS und der Verbindungspunkte der Flachbandkabel

Verbindung der SPS mit den den Flachbandkabelanschlüssen

Verschiedenes Werkzeug zum crimpen der Verbindungskabel

Der Aufbau hat unsererseits einiges an Wissen und „Customizing” benötigt. Zwar sind der grundsätzliche Aufbau und die Verdrahtung der Anlage seitens Fischertechnik sehr gut dokumentiert, aber ausreichend Erfahrung im Anlagenbau ist hier durchaus von Vorteil, denn hier ist einiges an Handarbeit zu leisten! Das für diesen Aufbau benötigte Material wird von Fischertechnik nicht geliefert, es gibt hierzu auch keine Empfehlungen oder Ähnliches.

Ansicht der SPS im Betrieb

Verbindung zur AWS Cloud

Der größte und mit spannendste Block ist jedoch die Anbindung der Lernfabrik an die Cloud. Grundsätzlich ist es möglich, die verschiedenen Cloudanbieter wie AWS, Google oder Azure zu nutzen oder einen ganz anderen Weg zu gehen, indem man die Daten per MQTT an eigene Datenzentren weiterleitet. Wir haben uns hier für AWS entschieden, da wir im Rahmen unserer Qualitätsoffensive Cloud die Nutzung und Kenntnisse darin vertiefen wollen.

Die Anbindung an AWS ist wiederum über verschiedene Wege möglich. Einerseits kann AWS Sitewise genutzt werden, das es einem ermöglicht, sich über ein IoT-Gateway an den OPC-UA Server anzubinden und ausgewählte Ressourcen und deren Werte zu überwachen. Neben OPC-UA kann AWS Sitewise auch Modbus und EtherNet/IP Geräte anbinden. Die Daten werden lokal auf dem IoT-Gateway von den konfigurierten Endpunkten gesammelt, können vorab verarbeitet/transformiert werden und dann in der AWS Cloud zur weiteren Verarbeitung zur Verfügung gestellt werden. Über AWS Sitewise Monitor können die Daten nativ dann auch in konfigurierbaren Dashboards visualisiert werden.

Alternativ können die Daten auch rein über MQTT nach AWS eingespeist werden, indem die Schattendokumente von AWS IoT Core genutzt werden. Ein Schattendokument im Kontext von AWS beschreibt den gewünschten und tatsächlichen Zustand eines virtuellen Gerätes, eines digitalen Abbilds.

Erstellung notwendiger AWS-Entitäten

Da wir Daten über MQTT und OPC-UA erhalten, bieten sich sowohl Sitewise als auch der IoT-Core mit Schattendokumenten an. Aufgrund der Einfachheit haben wir uns dafür entschieden, das Ganze mit Greengrass und Schattendokumenten umzusetzen. Hierfür muss zuerst im AWS IoT Core ein „Objekt“ erstellt werden, wobei während des Erstellungsprozesses auch Zertifikate generiert werden, die u. a. für die Kommunikation über MQTT notwendig sind.

Gäbe es in dem Aufbau der Lernfabrik mehrere Steuerungen bzw. SPS, wäre es konzeptionell sinnvoll, ein IoT-Gateway wie den Revolution Pi als AWS Greengrass Core bereitzustellen und die Steuerungen bzw. anderen Endpunkte als Objekte in AWS zu definieren. Der Core dient als Brücke zwischen den Geräten, lokalen Lambda-Funktionen und den AWS Cloud-Diensten.

In der Konfigurationsübersicht des erstellten Objektes können dann ein oder mehrere Schattendokumente definiert werden. Ein einzelnes Schattendokument teilt sich in primär in zwei Teile, den gewünschten („desired“) und gemeldeten („reported“) Zustand des Schattens. Der gemeldete Zustand beschreibt hierbei die Werte, die das Gerät tatsächlich gemeldet hat. Dem gegenüber beschreibt der gewünschte Zustand, in welchen Zustand das Gerät wechseln soll, was beispielsweise über eine Aktion in einer Weboberfläche ausgelöst werden kann. Der AWS IoT Core berechnet das Delta zwischen den beiden Zuständen und speichert das mit in dem Schattendokument ab, sodass das Objekt darauf reagieren kann. Ein Schattendokument ist also ein lebendiges, versioniertes Abbild des tatsächlichen und gewünschten Zustands eines Objektes.
Im ersten Schritt geht es nur darum, die Daten der Lernfabrik in den AWS IoT Core zu bringen, wodurch die Schattendokumente ausschließlich den gemeldeten Zustand enthalten. Als Beispiel ist unten das Schattendokument des Vakuumgreifers im Zentrum der Lernfabrik aufgeführt, der die Werkstücke zwischen den verschiedenen Komponenten hin und her transportiert.

{
  "reported": {
    "target": "",
    "active": false,
    "state": "VGR_HBW_FETCHCONTAINER",
    "position": {
      "gripper": {
        "horizontal": 0,
        "vertical": 0,
        "rotation": 0
      }
    }
  }
}

Für jede Komponente in der Fabrik wurde in dem virtuellen Objekt ein Schattendokument nach den Komponentenbezeichnungen von Fischertechnik hinterlegt, wie in dem Screenshot unten zu sehen ist. Die Lernfabrik kann nun die Daten über ein bestimmtes MQTT Topic und die Zertifikate an die einzelnen Schattendokumente übermitteln und aktualisieren.

Überblick über die angelegten Schattendokumente

„Plug-and-Play“-Konfiguration der Lernfabrik

In der Lernfabrik integriert gibt es schon einen Raspberry Pi, der mit Node-RED vorinstalliert ist. Über diesen wird von Fischertechnik die Übersetzung von OPC-UA auf MQTT gemacht und an die Fischertechnik-Cloud weitergeleitet sowie eine lokale Weboberfläche bereitgestellt, um mit der Lernfabrik zu interagieren. Diese Node-RED-Umgebung eignet sich besonders, um schnell und einfach eine Verbindung herzustellen, da schon vordefinierte Bausteine verknüpft werden können.

Node-RED ist ein quelloffenes, ablaufbasiertes, visuelles Werkzeug, das in der IIoT- und IoT-Welt weit verbreitet ist. Es ermöglicht die einfache Automatisierung von Prozessen für verschiedene (I)IoT-Geräte, APIs und Dienste. Vordefinierte Knoten und eine große Anzahl an Plugins bilden die Grundlage für eine Drag-and-Drop-Programmierung.

Mit dem Node-RED-Flow, der unten abgebildet ist, lassen sich bereits erhobene und zusätzliche Daten aus der SPS abgreifen, in das Format für die Schattendokumente umformatieren und über MQTT zum AWS IoT Core senden. Wie vorhin schon angedeutet, benötigt man für das Versenden zum AWS IoT Core die vorher generierten Zertifikate zur Authentifizierung und die Informationen zum MQTT-Endpunkt von AWS. Die Zertifikate lädt man während der Objekterstellung herunter und der Endpunkt, wie beispielsweise a12bcde345fghi-ats.iot.eu-west-1.amazonaws.com, ist bei den Objektdetailinformationen in AWS hinterlegt.

Node-RED Flow zur Transformation und Weiterverarbeitung der Daten nach AWS

Mit diesem Schritt ist die Anbindung an sich abgeschlossen. In regelmäßigen Intervallen und bei Zustandsänderungen werden die Daten zum aktuellen Zustand der einzelnen Komponenten der Lernfabrik zu AWS in gesendet und stehen dort für die nächsten Schritte bzw. zur Weiterverarbeitung zur Verfügung.

Ausblick

Und das ist auch genau das richtige Stichwort – Thema Weiterverarbeitung. Wie wir schon angedeutet haben, wollen wir als Nächstes die Lernfabrik virtuell erlebbar machen, sodass man sie mit einer VR-Brille betreten und mit ihr interagieren kann. Ebenso wollen wir auch noch genauer aufzeigen, wie die Integration der OPC-UA- & MQTT-Endpunkte der Lernfabrik mit AWS Sitewise funktioniert.

Wenn ihr Interesse habt, mehr über unsere Erfahrungen zu sprechen oder gerade selbst an einer Strategie arbeitet, eure Industrie zu digitalisieren, sprecht uns an.

 

Mitglieder für unsere Gilde gesucht! Jetzt der Gilde als Cloud Native Developer und Consultant (w/d/m) beitreten

 

 

David ist Softwareentwickler mit großem Interesse am Bereich IoT, im Speziellen an Smart City und Smart Buildings. Daher scheut er sich nicht, auch mal den Lötkolben in die Hand zu nehmen und mit Hardware zu basteln. Pragmatische und nachhaltige Softwarelösungen liegen ihm am Herzen, um Kunden konkret und schnell zu helfen.

Etwa 25 Jahre ist es her, dass Jens Deters mit dem Home-Computing begonnen hat. Damals zogen ihn Computer in ihren Bann, und die letzten 15 Jahren hatte er verschiedenste Rollen im IT- und Telekommunikationsumfeld inne (Software Entwickler, Trainer, Berater, Projekt- und Produktmanager). Heute verantwortet er als Niederlassungsleiter den codecentric-Standort Nürnberg.

Über 1.000 Abonnenten sind up to date!

Die neuesten Tipps, Tricks, Tools und Technologien.
Jede Woche direkt in deine Inbox.

Kostenfrei anmelden und immer auf dem neuesten Stand bleiben!
(Keine Sorge, du kannst dich jederzeit abmelden.)

Kommentieren

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.