
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.
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
















