Für die Erstinbetriebnahme des Industrie-Gateways SIMATIC IOT2000 (IOT2020 und IOT2040) wird das offizielle Siemens-Beispiel-Image auf eine MicroSD-Karte geflasht. Die grundlegende Systemkonfiguration erfolgt anschließend über eine SSH- oder serielle Terminalverbindung per PuTTY. Für industrielle IoT-Anwendungen dient Node-RED als zentrale Laufzeitumgebung zur Datenkopplung zwischen SPS-Steuerungen (über OPC UA oder S7-Kommunikation), SQL-Datenbanken und Cloud-Plattformen. Hardwarenahe Anwendungen lassen sich direkt über die Arduino IDE oder native C/C++-Programme in Eclipse entwickeln.
Table of Contents
- Voraussetzungen
- Methode 1: Erstinbetriebnahme und Erstellen des Betriebssystem-Images
- Methode 2: Konfiguration von Node-RED für SPS- und Cloud-Kommunikation
- Methode 3: Native Programmierung über Arduino IDE und C/C++ in Eclipse
- Überprüfung
- Einschränkungen und betriebliche Vorsichtsmaßnahmen
- Engineer FAQ
- Verwandte Artikel
- Verwandte Tags
Voraussetzungen
Vor Beginn der Inbetriebnahme des SIMATIC IOT2000 müssen folgende Hardware- und Softwarekomponenten sowie Netzwerkbedingungen vorliegen:
-
Hardware-Komponenten:
- Gateway SIMATIC IOT2020 oder IOT2040.
- MicroSD-Karte (Empfehlung: Class 10 für das Linux-Betriebssystem).
- MicroSD-Kartenleser für den Entwicklungs-PC.
- Standard-Ethernet-Kabel (RJ45).
- Micro-USB-auf-USB-Kabel (erforderlich für direkte Übertragungen aus der Arduino IDE).
- 24V-DC-Spannungsversorgung für das Gateway.
- Optional: FTDI-Diagnosekabel (serieller Debug-Zugriff), SIMATIC IOT2000 I/O-Erweiterungsmodul oder kompatibler USB-WLAN-/3G-Stick.
-
Software-Werkzeuge:
-
Offizielles Siemens IOT2000 SD-Card Example Image (WIC-Datei).
- Win32DiskImager (oder vergleichbares Werkzeug zum Schreiben von Datenträger-Images).
- PuTTY (für SSH- und serielle Terminal-Verbindungen).
- WinSCP (grafischer Datei-Transfer per SFTP).
- FTDI-Treiber (sofern das serielle Debug-Kabel genutzt wird).
-
Netzwerkumgebung:
-
Administratorrechte auf dem lokalen Entwicklungs-PC.
- Das Ethernet-Interface des PCs muss auf das Subnetz der IOT2000-Werkseinstellung angepasst werden.
Methode 1: Erstinbetriebnahme und Erstellen des Betriebssystem-Images
Am besten geeignet, wenn: Ein neues IOT2000-Gerät erstkonfiguriert wird oder ein beschädigtes Betriebssystem auf der MicroSD-Karte wiederhergestellt werden muss.
Diese Methode installiert das Linux-Beispiel-Image auf der MicroSD-Karte, bootet die Hardware und stellt den SSH-Terminalzugriff her.
Ablauf
-
MicroSD-Karte flashen:
- Stecken Sie die MicroSD-Karte über einen Adapter in den Entwicklungs-PC.
- Entpacken Sie die heruntergeladene Image-Datei des IOT2000 (z. B.
.wic-Datei). - Starten Sie Win32DiskImager, wählen Sie die entpackte Image-Datei aus, wählen Sie den Laufwerksbuchstaben der MicroSD-Karte und klicken Sie auf Write.
-
Entfernen Sie die Karte nach Abschluss des Schreibvorgangs sicher aus dem PC.
2. Hardware montieren und einschalten: -
Stecken Sie die bespielte MicroSD-Karte in den MicroSD-Kartenslot des IOT2000.
- Verbinden Sie die Ethernet-Schnittstelle (X1P1) des IOT2000 über ein Netzwerkkabel mit dem Entwicklungs-PC.
-
Schließen Sie die 24V-DC-Spannungsversorgung an die Anschlussklemme an und schalten Sie die Stromversorgung ein. Warten Sie, bis die SD-LED aufhört zu blinken (Größenanpassung der Partition ist abgeschlossen).
3. Terminalzugriff per SSH einrichten: -
Stellen Sie die IP-Adresse der Netzwerkkarte Ihres Entwicklungs-PCs auf das Subnetz
192.168.200.xein (z. B.192.168.200.100, da die Standard-IP des IOT2000192.168.200.1lautet). - Öffnen Sie PuTTY, wählen Sie als Verbindungstyp SSH, tragen Sie die IP-Adresse
192.168.200.1sowie Port22ein und klicken Sie auf Open. - Melden Sie sich mit dem Benutzernamen
rootan (Standardmäßig ist im Beispiel-Image kein Passwort gesetzt). -
Alternative über Seriell: Schließen Sie ein FTDI-Kabel an den internen Seriell-Header an und wählen Sie in PuTTY Serial mit einer Baudrate von
115200.
4. Netzwerk und Sicherheit konfigurieren: -
Vergeben Sie ein Passwort für den Root-Zugang mit dem Befehl:
Bash
passwd
- Passen Sie die IP-Konfiguration in den Linux-Netzwerkeinstellungen an die Zielnetzwerkstruktur an.
Erwartetes Ergebnis: Das IOT2000 bootet das Yocto-Linux vollständig und stellt eine funktionierende SSH-Kommandozeile im Terminal bereit.
Überprüfung: Führen Sie in der PuTTY-Kommandozeile den Befehl ifconfig aus, um die aktive IP-Adresse zu prüfen, und senden Sie vom Entwicklungs-PC einen ping 192.168.200.1 ab.
Einschränkung: Das Beispiel-Image bietet keine grafische Benutzeroberfläche (Desktop). Alle Administrationen müssen über die Linux-Konsole ausgeführt werden.
Achtung: Ein unvorhergesehenes Trennen der 24V-Spannungsversorgung ohne vorheriges Herunterfahren (poweroff oder shutdown -h now) kann zu Beschädigungen des Dateisystems auf der MicroSD-Karte führen.
Methode 2: Konfiguration von Node-RED für SPS- und Cloud-Kommunikation
Am besten geeignet, wenn: Daten von Speicherprogrammierbaren Steuerungen (z. B. Siemens S7-1200/1500, Allen-Bradley MicroLogix) erfasst, lokal in Datenbanken (MariaDB) gespeichert oder an Cloud-Dienste (IBM Bluemix, Google Spreadsheets, MQTT) weitergeleitet werden sollen.
Node-RED ist auf dem offiziellen Beispiel-Image vorinstalliert und dient als visuelle Flow-basierte Programmierumgebung.
Ablauf
-
Laufzeitumgebung steuern:
- Um Node-RED manuell über die Konsole zu starten, geben Sie folgenden Befehl ein:
Bash
node-red
- Um den automatischen Start von Node-RED beim Systemstart zu aktivieren, führen Sie aus:Bash
systemctl enable nodered systemctl start nodered
2. Grafischen Editor aufrufen:- Öffnen Sie einen Webbrowser auf dem Entwicklungs-PC.
-
Rufen Sie die Adresse
[http://192.168.200.1:1880](http://192.168.200.1:1880)(oder die angepasste IP-Adresse des IOT2000) auf.
3. Kommunikations-Knoten (Nodes) installieren: -
Öffnen Sie das Menü oben rechts in Node-RED und wählen Sie Palette verwalten (Manage palette).
-
Wechseln Sie auf den Reiter Installieren und suchen Sie nach den benötigten Protokoll-Knoten:
node-red-contrib-s7für die direkte S7-Kommunikation mit Siemens-Steuerungen.node-red-contrib-opcuafür OPC UA Client-Verbindungen.- Knoten für MariaDB/SQL-Server, CloudMQTT, NTP-Client oder Google Sheets.
4. SPS-Kommunikations-Flow erstellen:
-
Ziehen Sie einen S7- oder OPC UA-Eingangsknoten auf die Arbeitsfläche.
- Konfigurieren Sie die Verbindungsparameter der SPS (IP-Adresse der Steuerung, Rack- und Slot-Nummer, z. B. Rack 0, Slot 1 bei S7-1200/1500).
- Definieren Sie die zu lesenden Adressen (z. B. Merker, Eingänge, Ausgänge oder Bausteinvariablen DB).
-
Verbinden Sie den Baustein mit einem
debug-Knoten oder einem Datenbank-Knoten, um die Erfassung zu prüfen.
5. Fehlerhafte Flows zurücksetzen: -
Wenn ein fehlerhafter Flow die Laufzeitumgebung blockiert, stoppen Sie den Dienst per SSH:
Bash
systemctl stop nodered
- Löschen Sie die Flow-Datei direkt aus dem Dateisystem unter~/.node-red/flows.json.
Erwartetes Ergebnis: Node-RED liest zyklisch Datenpunkte aus der angeschlossenen SPS aus und verarbeitet diese gemäß der Logik im Flow-Editor.
Überprüfung: Öffnen Sie das Debug-Fenster auf der rechten Seite des Node-RED-Editors und prüfen Sie, ob die eingehenden Nachrichtenwerte der SPS korrekt angezeigt werden.
Einschränkung: Bei sehr hohen Abtastraten oder komplexen Datenanalysen kann die Auslastung der Intel Quark CPU ansteigen.
Methode 3: Native Programmierung über Arduino IDE und C/C++ in Eclipse
Am besten geeignet, wenn: Hardwarenahe Programme, Erweiterungsmodule (z. B. IOT2000 I/O-Modul, Display-Ansteuerungen) oder performante C/C++-Anwendungen ausgeführt werden müssen.
Das SIMATIC IOT2000 verfügt über Arduino-kompatible Pin-Header und unterstützt die Erstellung kompilierter C/C++-Binärdateien mittels Eclipse IDE.
Ablauf
Option A: Programmierung über die Arduino IDE
- Verbinden Sie den Entwicklungs-PC über ein Micro-USB-Kabel mit der Client-USB-Schnittstelle des IOT2000.
- Öffnen Sie die Arduino IDE auf Ihrem PC.
- Rufen Sie Werkzeuge > Board > Boardverwalter auf, suchen Sie nach dem Board-Paket für Intel Galileo / SIMATIC IOT2000 und installieren Sie dieses.
- Wählen Sie unter Werkzeuge > Board das IOT2000 aus und stellen Sie die zugehörige Schnittstelle ein.
- Erstellen Sie Ihren Sketch (z. B. unter Verwendung von Bibliotheken für die Ansteuerung der USER LED, HD44780-Displays oder MAX7219) und übertragen Sie das Skript auf das Gateway.
Option B: C/C++-Entwicklung mit der Eclipse IDE
- Installieren Sie Eclipse IDE for C/C++ Developers auf dem Entwicklungs-PC.
- Laden Sie das offizielle Siemens IOT2000 Toolchain SDK herunter und entpacken Sie es.
- Richten Sie in Eclipse die Cross-Compiler-Toolchain für die x86-Quark-Architektur ein.
- Erstellen Sie ein neues C/C++-Projekt, kompilieren Sie die Anwendung und übertragen Sie die ausführbare Datei per SFTP/WinSCP auf das IOT2000.
- Vergeben Sie auf dem Gateway Ausführungsrechte für das Programm:
Bash
chmod +x /pfad/zur/anwendung
6. Richten Sie bei Bedarf einen systemd-Dienst ein, um das C/C++-Programm automatisch beim Systemstart auszuführen.
Erwartetes Ergebnis: Das kompilierte C/C++-Programm oder der Arduino-Sketch läuft nativ auf der Hardware-Ebene des Gateways.
Überprüfung: Überprüfen Sie den Status des Ausführungsprozesses auf dem Gateway über SSH mit dem Linux-Befehl ps oder top bzw. beobachten Sie die Reaktion der angeschlossenen Hardware (z. B. Ansteuerung der USER LED).
Einschränkung: Arduino-Skripte werden unter Linux im User-Space ausgeführt; harte Echtzeitanforderungen im Mikrosekundenbereich lassen sich im Vergleich zu reinen Mikrocontrollern nicht ohne Anpassung des RT-Kernel-Treiberbausteins garantieren.
Überprüfung
Das Verfahren ist erfolgreich abgeschlossen, wenn folgende Bedingungen erfüllt sind:
- Das SIMATIC IOT2000 antwortet auf IP-Ebene stabil auf Ping-Anfragen und erlaubt den Terminal-Zugriff per SSH (PuTTY).
- Der Node-RED-Dienst startet fehlerfrei und stellt Verbindungen zu konfigurierten Steuerungen (S7-1200/1500, MicroLogix) her.
- Eingehende Prozessdaten werden korrespondierend im Debug-Fenster von Node-RED oder in angeschlossenen SQL-Datenbanken (z. B. MariaDB) aktualisiert.
- Selbsterstellte C/C++-Binärdateien oder Arduino-Skripte verbleiben nach einem Neustart des Gateways im aktiven Prozessspeicher.
Einschränkungen und betriebliche Vorsichtsmaßnahmen
- Veraltete Node.js-Laufzeitumgebung (EOL): Ältere Image-Releases (wie Image v2.6 mit Node.js v8.16.0) nutzen eine Node.js-Version, die das End-of-Life (EOL) erreicht hat. Die vorinstallierte Node-RED-Version bleibt voll funktionsfähig, beim Installieren oder Aktualisieren neuer Drittanbieter-Nodes über den Palette-Manager können jedoch Kompatibilitätsfehler auftreten.
- Verschleiß der MicroSD-Karte: Hohe Schreibfrequenzen durch kontinuierliches SQL-Logging direkt auf der MicroSD-Karte führen zu starker Abnutzung des Flash-Speichers. Für datenintensive Anwendungen sollten externe Speichermedien oder RAM-Puffer verwendet werden.
- Spannungsausfall bei Schreibvorgängen: Das abrupte Abschalten der 24V-Spannungsversorgung während aktiver Schreibzugriffe kann das Linux-Dateisystem beschädigen. Beenden Sie das System stets geordnet über die Konsole.
- Netzwerksicherheit: Das Standard-Beispiel-Image besitzt werkseitig ein offenes Root-Passwort. Vor dem Einsatz in einer Produktionsumgebung müssen zwingend Passwörter geändert und Sicherheitsmaßnahmen (z. B. Absicherung ungenutzter Ports) umgesetzt werden.
Engineer FAQ
Warum schlägt der SSH-Zugriff über PuTTY direkt nach dem Einschalten fehl?
Der Entwicklungs-PC muss sich im selben Subnetz wie die Werkseinstellung des IOT2000 (192.168.200.1) befinden. Stellen Sie sicher, dass die IP-Adresse der Netzwerkkarte Ihres PCs manuell auf einen Wert wie 192.168.200.100 mit der Subnetzmaske 255.255.255.0 eingestellt ist.
Welche Auswirkungen hat der End-of-Life (EOL) Status von Node.js v8.x auf dem IOT2000?
Der EOL-Status bedeutet, dass für diese spezifische Node.js-Version keine offiziellen Sicherheitsupdates oder Fehlerkorrekturen mehr erscheinen. Das vorinstallierte Node-RED funktioniert weiterhin uneingeschränkt. Ein Update einzelner Pakete über den Palette-Manager kann jedoch fehlschlagen, wenn diese neuere Node.js-Versionen voraussetzen.
Wie kann eine C/C++-Anwendung oder ein Skript automatisch beim Systemstart gestartet werden?
Erstellen Sie unter Linux eine systemd-Service-Datei unter /etc/systemd/system/mein_dienst.service. Tragen Sie dort den Pfad zur ausführbaren Binärdatei ein und aktivieren Sie den Dienst anschließend mit den Befehlen systemctl daemon-reload und systemctl enable mein_dienst.service.
Kann der IOT2000 auch mit Steuerungen anderer Hersteller wie Allen-Bradley kommunizieren?
Ja. In Node-RED können über den Palette-Manager Protokoll-Erweiterungen für Drittanbieter-Steuerungen nachinstalliert werden (z. B. Ethernet/IP, Modbus TCP oder OPC UA), um Daten mit Controllern wie Allen-Bradley MicroLogix auszutauschen.
Welche Datenbank wird für die lokale Speicherung auf dem SIMATIC IOT2000 empfohlen?
Aufgrund des Ressourcenbedarfs und der nativen Linux-Unterstützung wird die Verwendung von MariaDB empfohlen. Sie lässt sich direkt über passende Nodes in Node-RED einbinden und bietet eine stabile relationale Datenhaltung.
Verwandte Artikel
- How to Configure Siemens S7-1200 OPC UA Server Communication
- Troubleshooting Industrial Ethernet Network Connections with Wireshark
- How to Read and Write WinCC User Archives Using C-Script
Verwandte Tags
Code: C303