Erschienen am: 16.07.2018, Ausgabe SPS-MAGAZIN 7 2018

Steuerung von Produktionsprozessen per Smartphone

Die App für die Minifabrik

Das Internet of Things (IoT) und die Cloudtechnologie sind heutzutage als fortschrittliche Themenfelder der Digitalisierung und der Industrie 4.0 in aller Munde und gleichzeitig ein sehr aktueller Themenbereich in der Forschung an Hochschulen und Universitäten. Am Institut für Mechatronik der Fakultät Maschinenbau an der Ostfalia Hochschule für angewandte Wissenschaften in Wolfenbüttel wurde ein ausbaubares Konzept eines vollautomatisierten Produktionsprozesses im Sinne der Industrie 4.0 entwickelt. Über eine Smartphone-App soll eine vollständig cloudbasierte Steuerung einer Minifabrik angesteuert werden.


Bild: Ostfalia Hochschule für angewandte Wissenschaften

Die Minifabrik besteht aus mehreren Stationen, die über Förderbänder verbunden sind, und simuliert so einen Produktionsablauf unter Realbedingungen. Im Rohmateriallager lagern Paletten in drei Farben mit Würfeln, die auf jeder Seite geometrische Formen wie Dreieck, Quadrat oder Kreis zeigen. Nach Definition von Form und Farbe über die Minifabrik-App wird über RFID-Chips die jeweilige Palette mit dem Würfel automatisch gewählt und über die Transportbänder zur HR-Kamerastation befördert. Dort prüft die Kamera, ob die richtige Würfelseite nach oben zeigt. Ist dies nicht der Fall, dreht der Kuka-Roboter der Minifabrik den Würfel so lange, bis die Kamera die gewünschte Form erkennt. Daraufhin nimmt der Roboter den Würfel auf und transportiert ihn auf die andere Seite der Minifabrik, wo er auf einer Montagepalette abgelegt und zur Montagestation befördert wird. Dort legt ein Druckluftsauger einen Deckel auf den Würfel, was einen herkömmlichen Montageprozess simulieren soll. An der nächsten Station wird der aufgelegte Deckel per Pneumatikzylinder bzw. -kolben verschlossen. Danach ist der Montageprozess abgeschlossen und das fertige Produkt kann im Fertigteillager eingelagert werden. Als integrierter Sicherheitsmechnismus stoppt ein Laserscanner die Anlage, sobald eine Person den Arbeitsbereich des Roboters betritt.

Wahl des Smartphone-Betriebssystems

Die Realisierung der Datenübertragung von der App hin zur Minifabrik über die Cloudplattform Ubidots wurde durch die Verwendung des Siemens-Gateways IoT2040 und einer OPC-UA-fähigen S7-SPS 1516 von Siemens ermöglicht. Im Vorfeld der Entwicklung der Minifabrik-App standen zwei Betriebssysteme zur Auswahl: Android von Google und iOS von Apple. Gründe für Wahl von Android waren die große Verbreitung die OpenSource-Eigenschaft, denn so waren keine Gebühren für Entwicklerlizenzen zu entrichten. Die Entwicklung der App auf iOS-Basis ist in Vorbereitung.

Anzeige

Anforderungen an die App

Die verschiedenen Prozessschritte in der Minifabrik, wie Beladen und Entladen der Palette nach Farbe und geometrischer Form des Würfels oder die Steuerung des Kuka-Roboters und die Erfassung der Würfelform mit der Kamera, sollten durch die App angestoßen werden. Funktionen wie das Sortieren nach Farbe und Form oder der Montage- und die Demontagevorgang sollten über eine Überwachungsfunktion zu beobachten sein. Dazu kamen Informationsdienste, die dem Anwender die Funktionsweise der Minifabrik und die Vorgehensweise der App erklären. Weitere Funktionen oder neue Informationsdienste sollten sich ohne großen Aufwand implementieren lassen. Die Entscheidung für die Gestaltung und die Programmierung der App fiel zugunsten von MIT App Inventor, u.a. da das Tool nach Entwicklung der App auch einen Emulator zum Testen bietet. Die einzelnen Komponenten werden dabei zueinander in Beziehung gesetzt und durch Parameter und Kontrollstrukturen, wie bei C++ oder Java, einer logischen Ordnung zugeführt.

Editoren, Test und Installation

Die Gestaltung der Bedienoberfläche wurde im Design-Editor des Entwicklunsg-Tools über vorgefertigte Elemente in verschiedenen Kategorien durchgeführt. Nach der Realisierung von Layout und Oberfläche war das Verhalten der App im Block-Editor des Tools zu programmieren. Jede benötigte Komponente besitzt eine Auswahl verschiedener Blöcke. Zusätzlich zu deren jeweiligen Funktionen stehen Kontrollstrukturen sowie logische und mathematische Funktionen als Programmblöcke zur Auswahl. Für C++- oder Java-Programmierer ist es eine leichte Aufgabe, solche Komponenten zueinander in Beziehung zu setzen und Kontrollstrukturen als Programmierblöcke auszuwählen. Der Block-Editor umfasst einen Emulator, mit dem sich die App noch während der Entwicklung ohne ein real vorhandenes Smartphone testen ließ. Hierzu wurde AppMIT AI2 Companion installiert und der Eintrag 'AI Companion' im Connect-Menü gewählt. Nach dem Einscannen des angezeigten QR-Codes mit dem Emulator startet die im Inventor geöffnete App auf dem Smartphone. Alle vorgenommenen Änderungen wurden umgehend synchronisiert. Über den Menüpunkt "Build" konnte zwischen der Installation auf dem Computer und dem Emulator auf dem Smartphone gewechselt werden.

Empfehlungen der Redaktion

Web-Komponenten und Cloudplattform

Um eine Verbindung von der App zur Minifabrik herzustellen und den Datenaustausch mit der Bedienoberfläche zu verwirklichen, wurden die für die Kommunikation nötigen, HTTP-basierten Web-Komponenten im Block Editor programmiert. Dazu gehört auch der Block PostText, der Daten über ein HTTP-Protokoll senden kann. Voraussetzung ist, dass der URL-Endpunkt richtig konfiguriert ist. Hierfür bietet das von der Ubidots-Plattform angebotene API-Dokument eine Hilfe, in dem das Verbindungformat ermittelt und eingegeben werden kann. Ubidots ist eine für Hochschulen kostenlose IoT-Plattform und bot sich zum Testen einer Kommunikation zwischen der Minifabrik im Labor und dem Internet an. Sie verfügt über viele API wie HTTP-, TCP/UDP- oder MQTT-Kommunikationsprotokolle und bietet zudem die Hauptfunktionen, wie Datenerfassung, Analyse, Visualisierung und Management. Die Plattform übernimmt beim Kommunikationsaufbau die Rolle einer Übergabestation: Alle Daten werden dort gesammelt und erst dann gesendet. Das in der Minifabrik verbaute Siemens-IoT-Gateway bedient die Protokollumwandlung, sodass sich die Kommunikationslücke zwischen Minifabrik und Ubidots-Plattform überwinden lässt. Hierfür kommen die Protokolle MQTT und S7 zur Anwendung. Für die Aufgabenstellung und einen generellen Einblick in die Zusammenhänge von realer Fertigung und IoT-Cloud-Plattform stellte Ubidots einen guten Kompromiss dar. Zudem lässt sich akquiriertes Knowhow schnell ohne große Umstände auf andere Cloud-Plattformen wie Mindsphere von Siemens übertragen.

Bedienoberfläche und Auswahl

Über die Bedienoberfläche liegen insgesamt vier Optionen zur Auswahl vor (Kontrolle, Überwachung, Abmeldung und Infos über App). Beim Anklicken auf die Option tritt ein Ereignis auf, sodass ein entsprechender Codeabschnitt dadurch ausgelöst werden kann.

  • • Kommunikation der Cloud-Plattform mit der S7-Welt der Minifabrik über eine Flow-basierte Programmierung von Node-Red: Das IBM-Tool Node-Red zeichnet sich durch grafische Elemente aus, die aus einfachen Blöcken in die Programmieroberfläche gezogen werden. Hinter den einzelnen Blöcken befindet sich ein spezieller Quellcode, der die eigentlichen Aufgaben und Kommunikationen übernimmt. Zudem gibt es auch Funktionsbausteine, in denen man JavaScript nutzen kann. Um mit der Cloud-Plattform zu kommunizieren, kam hier MQTT-Protokoll zum Einsatz.
  • • Verbindung der Cloud-Plattform mit dem IoT-Gateway und der S7-CPU in der Minifabrik: Der Datenaustausch zwischen der App und Ubidots wird anhand der Option 'Vorgabe der Form' (geometrische Form wie Dreieck, Rechteck, Kreis usw.) kurz erläutert. Hierbei wird in der IoT-Plattform die Form vorgegeben, die anschließend in der SPS der Minifabrik umgesetzt wird.
Anzeige

Vorgabe der Form

Durch einen Doppelklick auf das MQTT-Node Form zum Schreiben wird ein Konfigurationsfenster geöffnet. Gemäß der von Ubidots gebotenen API-Dokumentation sind auf dem Fenster einige Parameter wie Endpoint von Server, Topic und Token zu konfigurieren. Im JSON-Baustein sind keine weitere Konfigurationen nötig, er dient ausschließlich der Aufbereitung der Daten für die Siemens S7-SPS. Für das S7-Node wird das Attribut 'Value' gebraucht, mit dem die Daten ausgewertet werden können. Diese Auswertung erfolgt durch das Function-Node. Im Node-RED-SPS-Baustein wurden mehrere Konfigurationen vorgenommen, um die gewünschte Kommunikation zu realisieren. Konfiguriert wurde u. a. die IP-Adresse der S7-CPU im Netzwerk, der in der SPS hinterlegte Name der Variablen, hier Form, und der Datenbaustein, in dem die Variablen in TIA Portal definiert wurden. Die Konfiguration im Edit-Fenster des S7-Endpoint-Node betrifft die IP-Adresse der S7-SPS zum Aufbau der Kommunikation. Die Port-Nummer wird automatisch hinterlegt und in der Zeile 'Rack' die Position der SPS definiert. Kommen mehrere Steuerungen zur Anwendung, wird hier die Position der gewünschten Steuerung eingetragen. Die Zykluszeit des Zugriffs auf die Bearbeitung in der SPS wird in die Zeile 'Cycle Time' eingetragen. Für die Realisierung der Aufgabe der Minifabrik reichen 30ms aus. Die Zeit kann jedoch an die jeweiligen Bedürfnisse individuell angepasst werden. Weitere Einstellungen, wie Datenbausteinnummer und Datentypen der Variablen müssen im Baustein unter Variables und Datentyp vorgenommen werden

Konfigurationen im TIA Portal

  • • Aktivieren von OPC UA in der SPS: Nach dem Aktivieren des OPC UA Servers und die Vergabe eines passenden Namens wurde im Optionsfenster die Port-Adresse (zu erhalten unter Einstellungen) sowie das kleinste Sendeintervall und Abtastintervall für den OPC UA-Server eingestellt.
  • • Testen der OPC-UA-Funktionalität mit UaExpert: Die kostenlose Version des Tools UaExpert wurde als OPC-UA-Testclient für die OPC-UA-Server-Funktion der SPS eingesetzt. Für das Testen des Verbindungsaufbaus wurde der Server-Endpunkt konfiguriert.
  • • Zugrifferlaubnis über PUT/GET-Kommunikation: Als wichtiger Einstellungsschritt im TIA Portal war der Zugriff über PUT/GET-Kommunikation zu aktivieren. Dieser Schritt ist notwendig, da ohne diese Aktivierung keine Kommunikation möglich ist.
Anzeige

Ergänzungen im TIA Portal der Minifabrik

Um den Zugriff der Gateways auf die Daten der SPS zu ermöglichen, musste ein globaler Baustein zum Datenaustausch im S7-Programm der Minifabrik erstellt werden. Sowohl für den globalen Daten- als auch für den Funktionsbaustein ist der optimierte Buszugriff nicht aktiviert. Andernfalls würde es zu keiner Kommunikation kommen, da das TIA Portal dann Zykluszeiten aufweist, die mit den anderen Softwareprogrammen inkompatibel sind. Der Funktionsbaustein FC7 wurde für die Verarbeitung der Daten aus dem Gateway und der Kommunikation mit der Ubidots-Plattform in das TIA Portal eingefügt.

Fazit

Mit herkömmlichen Tools und Freeware-Software zur App-Entwicklung und für den Einsatz einer Cloudplattform sowie das Handling mit den verschiedenen Programmiersprachen, wie C++, Java und SCL, konnte eine kostengünstige IoT-Anwendung entwickelt werden. Trotz der Komplexität der Themen und der unterschiedlichen Protokolle sowie Programmiersprachen ist eine Verbindung der Online-Welt mit der Produktionswelt gelungen. Das akquirierte Knowhow kann dabei ohne große Umstände auf andere IoT-Plattformen mit Industriestandard übertragen werden.

Anzeige