Industrial IoT

Bestandsmaschinen für IoT nachrüsten, ohne die SPS anzufassen

Alte Maschinen fertigen in vielen Werken des Maschinenbaus und der Fertigung noch immer die meisten Teile. Dieser Leitfaden zeigt, wie Sie Bestandsmaschinen mit Stromzangen, Zusatzsensoren und einem Gateway für IoT nachrüsten und den Maschinenzustand per MQTT veröffentlichen, ohne eine Zeile SPS-Code anzufassen.

Alte Drehmaschine mit Stromzange und Funk-Gateway als Beispiel dafür, wie Sie Bestandsmaschinen für IoT nachrüsten
Probieren Sie es auf Ihrem eigenen MQTT-Broker ausHolen Sie sich im Free-Tarif einen privaten, verwalteten MQTT-Broker und starten Sie mit fertigen Codebeispielen.
Kostenlos testen Codebeispiele Keine Kreditkarte erforderlich

Bestandsmaschinen für IoT nachzurüsten, ist meist der schnellste Weg zu echten Produktionsdaten, denn die Maschinen, die die meisten Ihrer Teile fertigen, sind oft Jahrzehnte alt und werden so bald nicht ersetzt. In diesem Leitfaden erfahren Sie, welche nicht-invasiven Signale Sie abgreifen können, wie Sie zwischen Sensoren und Steuerungsschnittstellen wählen und wie Sie einen funktionierenden Stromzangen-Monitor bauen, der den Maschinenzustand per MQTT veröffentlicht, ohne SPS-Logik zu ändern.

Warum nachrüsten statt ersetzen

Eine zwanzig Jahre alte Drehmaschine, Presse oder Spritzgießmaschine kann ihre Toleranzen immer noch einwandfrei halten. Was ihr fehlt, ist ein Netzwerkanschluss, oder sie hat einen, der ein Protokoll spricht, das auf der IT-Seite niemand kennt. Sie nur für Daten zu ersetzen, ist selten gerechtfertigt. Eine Nachrüstung kostet einen Bruchteil und lässt sich in einem Wartungsfenster erledigen.

Das Leitprinzip einer guten Nachrüstung lautet: zuerst nicht-invasiv. Jede Änderung an der SPS-Logik braucht eine Validierung, einen Rückfallplan und oft den ursprünglichen Integrator, den es womöglich nicht mehr gibt. Jeder Sensor, den Sie von außen anklemmen, braucht nichts davon. Beginnen Sie mit Signalen, die Sie lesen können, ohne das Steuerungssystem zu berühren, und gehen Sie erst zur Steuerungsintegration über, wenn der Nutzen belegt ist.

Was Sie an einer Bestandsmaschine messen sollten

Der größte Nutzen einer ersten Nachrüstung entsteht aus einer Handvoll Signale, die die Frage beantworten: „Produziert die Maschine Teile, und wenn nicht, warum nicht?“

Signal Wie Sie es erfassen Was es Ihnen verrät Eingriffstiefe
Spindel- oder Motorstrom Klappwandler (Stromzange) an einer Phase Aus, Leerlauf, Betrieb, Überlast Keine, wird um ein vorhandenes Kabel geklemmt
Status der Signalsäule Lichtsensoren oder potenzialfreie Kontakte an der Signalsäule Betrieb, Warten, Alarm, wie der Bediener es sieht Sehr gering
Stückzahl Näherungssensor am Auswerfer oder Kontakt am Signal „Zyklus beendet“ Durchsatz und Zykluszeit Gering
Schwingung Beschleunigungssensor mit Magnetfuß, kabelgebunden oder drahtlos Lagerverschleiß, Unwucht, Werkzeugzustand Keine
Temperatur Anlege- oder Klebefühler Überhitzte Motoren, Hydrauliköl, Kühlschmierstoff Keine
Steuerungsdaten Modbus, Ethernet/IP, S7 oder seriell über ein Gateway gelesen Programm, Alarme, Sollwerte, Zähler Mittel, lesender Zugriff auf die SPS

Die Stromzange verdient besondere Aufmerksamkeit. Mit einem Sensor pro Maschine leiten Sie Zustand, Auslastung und sogar einen groben Energieverbrauch ab. Sie braucht keine SPS, keinen Netzwerkanschluss an der Maschine und keine Mitwirkung des Maschinenbauers.

Zwischen Sensoren und Steuerungsschnittstellen wählen

Es gibt zwei grundsätzliche Nachrüstwege, die sich gut kombinieren lassen.

Zusatzsensoren sind unabhängig von der Steuerung der Maschine. Sie funktionieren an Maschinen mit Relaislogik, veralteten SPSen oder gesperrten Steuerungen. Sie liefern Ihnen die physische Wahrheit, etwa ob sich die Spindel tatsächlich gedreht hat, aber keinen Kontext wie die Programmnummer oder den Alarmtext.

Steuerungsschnittstellen lesen Daten, die die Maschine bereits hat. Viele ältere SPSen stellen Modbus RTU über eine serielle Schnittstelle bereit, und viele aus den letzten zwei Jahrzehnten unterstützen Modbus TCP, Ethernet/IP oder S7-Kommunikation. Ein Gateway liest Register oder Tags im Nur-Lese-Modus und veröffentlicht sie. Unsere Leitfäden zu Modbus TCP zu MQTT und zur Anbindung von SPSen an die Cloud führen durch diesen Weg.

Eine praxisnahe Reihenfolge: zuerst klemmen, den Nutzen mit Auslastungsdaten belegen und dann an den Maschinen Steuerungsdaten ergänzen, bei denen Alarmcodes und Zähler den zusätzlichen Aufwand rechtfertigen.

Die Nachrüstarchitektur

Was immer Sie messen, die Architektur bleibt gleich:

  1. Sensoren an der Maschine liefern analoge, digitale oder Feldbussignale.
  2. Ein Edge-Gerät liest sie aus. Das kann ein Mikrocontroller wie ein ESP32 für eine einzelne Maschine sein oder ein IIoT-Edge-Gateway für eine ganze Linie.
  3. Das Edge-Gerät veröffentlicht per MQTT an einen Broker, mit einer Topic-Hierarchie wie site/area/line/machine/measurement. Diese Hierarchie folgt der Anlagenhierarchie nach ISA-95 (Enterprise → Site → Area → Line → Cell) und bildet so das Rückgrat eines Unified Namespace (UNS), etwa acme/werk-stuttgart/dreherei/linie-1/drehmaschine-07/strom.
  4. Konsumenten abonnieren: Dashboards, OEE-Berechnungen, Historians, Instandhaltungssysteme.

Der Broker sorgt dafür, dass das skalierbar bleibt. Die fünfzigste Maschine hinzuzufügen, ist dasselbe wie die erste, und ein neuer Konsument muss nie wissen, wie die Daten erfasst wurden. Weil jede nachgerüstete Maschine ihren festen Platz im UNS hat, finden MES, ERP und Instandhaltung die Daten dort, wo sie sie erwarten, statt an einer Punkt-zu-Punkt-Schnittstelle. Wie Sparkplug B und UNS zusammenspielen, zeigt unser Beitrag zu Sparkplug B und Unified Namespace. Wenn MQTT selbst neu für Sie ist, beginnen Sie mit was ein MQTT-Broker ist.

Praxis: ein Stromzangen-Maschinenmonitor mit ESP32

Dieses Beispiel nutzt einen ESP32 und einen Klappwandler mit Spannungsausgang wie den SCT-013-030, der bei 30 A 1 V RMS ausgibt. Die Zange ist über eine Mittelpunkt-Vorspannungsschaltung an GPIO34 angeschlossen (zwei gleiche Widerstände von 3,3 V nach GND mit einem Kondensator gegen Masse, die Zange zwischen Mittelpunkt und ADC-Pin), sodass das Wechselsignal um etwa 1,65 V schwingt.

Sicherheit zuerst: Die Zange wird im Schaltschrank der Maschine um einen einzelnen isolierten Leiter gelegt. Diese Arbeit muss eine Elektrofachkraft bei freigeschalteter Maschine ausführen. Klemmen Sie niemals um ein mehradriges Kabel, das alle Phasen führt, da sich die Felder aufheben und Sie nahezu null messen.

#include <WiFi.h>
#include <PubSubClient.h>

const char* WIFI_SSID = "plant-iot";
const char* WIFI_PASS = "your-wifi-password";

const char* MQTT_HOST = "broker.connectmq.com";
const int   MQTT_PORT = 1883;
// Auf dem öffentlichen Broker ein eindeutiges Präfix verwenden; er ist für alle lesbar
const char* BASE = "connectmq/demo/k7q2x9/factory1/turning/lathe07";

const int   CT_PIN = 34;
const float AMPS_PER_VOLT = 30.0;   // SCT-013-030: 1 V RMS = 30 A
const float IDLE_AMPS = 1.0;        // darunter ist die Maschine aus
const float RUN_AMPS = 4.0;         // darüber zerspant die Spindel

WiFiClient net;
PubSubClient mqtt(net);
String lastState = "";
unsigned long lastReport = 0;

float readAmpsRms() {
  const int N = 2000;
  static float samples[N];
  float sum = 0;
  for (int i = 0; i < N; i++) {
    samples[i] = analogReadMilliVolts(CT_PIN) / 1000.0;
    sum += samples[i];
    delayMicroseconds(100);          // ~200-ms-Fenster, 10 Netzperioden bei 50 Hz
  }
  float mean = sum / N;
  float sq = 0;
  for (int i = 0; i < N; i++) {
    float v = samples[i] - mean;
    sq += v * v;
  }
  return sqrt(sq / N) * AMPS_PER_VOLT;
}

void connectMqtt() {
  String clientId = "lathe07-" + String((uint32_t)ESP.getEfuseMac(), HEX);
  String stateTopic = String(BASE) + "/state";
  while (!mqtt.connected()) {
    // Last Will markiert den Monitor als offline, wenn Strom oder WLAN wegfallen
    if (mqtt.connect(clientId.c_str(), stateTopic.c_str(), 1, true, "UNKNOWN")) {
      lastState = "";
    } else {
      delay(5000);
    }
  }
}

void setup() {
  Serial.begin(115200);
  analogSetPinAttenuation(CT_PIN, ADC_11db);
  WiFi.begin(WIFI_SSID, WIFI_PASS);
  while (WiFi.status() != WL_CONNECTED) delay(500);
  mqtt.setServer(MQTT_HOST, MQTT_PORT);
  connectMqtt();
}

void loop() {
  if (!mqtt.connected()) connectMqtt();
  mqtt.loop();

  float amps = readAmpsRms();
  String state = amps < IDLE_AMPS ? "OFF" : (amps < RUN_AMPS ? "IDLE" : "RUNNING");

  // Zustand bei Änderung retained veröffentlichen, damit Dashboards ihn sofort sehen
  if (state != lastState) {
    mqtt.publish((String(BASE) + "/state").c_str(), state.c_str(), true);
    lastState = state;
  }
  // Strom alle 10 Sekunden für Trends veröffentlichen
  if (millis() - lastReport > 10000) {
    char buf[64];
    snprintf(buf, sizeof(buf), "{\"amps\":%.2f}", amps);
    mqtt.publish((String(BASE) + "/current").c_str(), buf);
    lastReport = millis();
  }
}

Ändern Sie k7q2x9 in Ihre eigene zufällige Zeichenfolge, flashen Sie das Board und abonnieren Sie von einem Laptop aus:

mosquitto_sub -h broker.connectmq.com -p 1883 -i lathe-watch-$RANDOM \
  -t 'connectmq/demo/k7q2x9/#' -v

Kalibrieren Sie die Schwellwerte, indem Sie den Strom beobachten, während die Maschine ausgeschaltet ist, mit stehender Spindel im Leerlauf läuft und zerspant. Jede Maschine hat durch Pumpen, Lüfter und Hydraulik ihren eigenen Leerlaufstrom, daher müssen IDLE_AMPS und RUN_AMPS pro Maschine eingestellt werden. Für den Produktivbetrieb wechseln Sie zu WiFiClientSecure auf Port 8883 und verwenden Benutzername, Passwort und Client-ID aus Ihrem ConnectMQ-Portal.

Typische Stolperfallen bei der Nachrüstung

  • Falsche Schwellwerte. Eine Maschine, deren Hydraulikpumpe ständig läuft, wirkt die ganze Schicht über „in Betrieb“, wenn die Betriebsschwelle zu niedrig ist. Kalibrieren Sie anhand des beobachteten Verhaltens.
  • Elektrische Störungen. Frequenzumrichter und Schütze bringen Störungen ein. Halten Sie Sensorleitungen kurz, verwenden Sie geschirmte Kabel und mitteln Sie die Messwerte über mehrere Netzperioden, wie es das Beispiel tut.
  • WLAN in Stahlschaltschränken. Ein Board in einem geschlossenen Schaltschrank kann die Verbindung verlieren. Verwenden Sie eine externe Antenne oder montieren Sie die Elektronik außerhalb des Schranks.
  • Kein Offline-Zustand. Ohne Last Will zeigt ein Monitor, der seine Stromversorgung verliert, für immer den letzten Zustand. Das Beispiel veröffentlicht UNKNOWN als Retained-Will-Nachricht, um das zu vermeiden.
  • Unstrukturierte Topics. Legen Sie die Hierarchie vor der zweiten Maschine fest, am besten entlang der ISA-95-Ebenen Ihres Werks. Fünfzig Geräte später umzubenennen, ist mühsam.

Von einer Maschine zur gesamten Fertigung skalieren

Sobald einige Maschinen Daten melden, verschieben sich die Fragen von der Verdrahtung zum Betrieb: wie viele Verbindungen, wer welche Daten lesen darf, wie bei Stillständen alarmiert wird. Ein verwalteter MQTT-Broker nimmt Ihnen die Serverarbeit ab, sodass Sie sich auf die Sensoren konzentrieren können. Mit ConnectMQ verfolgen Sie jede nachgerüstete Maschine im Live-Topic-Explorer, gruppieren sie in der Geräteansicht nach ISA-95-Ebene und legen Schwellwert-Alarmregeln fest, zum Beispiel wenn der Spindelstrom ein Überlastlimit überschreitet. Der kostenlose Serverless-Plan bewältigt bis zu 25 Verbindungen, genug für eine Pilotzelle. Gerade im Mittelstand ist dieser schrittweise Weg typisch: erst eine Pilotzelle, dann eine Linie, dann das ganze Werk. Den vollständigen Weg von der Nachrüstung zu werksweiten Daten beschreiben unser Leitfaden zu Industrial IoT mit MQTT und der Plan für einen IIoT-Proof-of-Concept.

Starten Sie mit ConnectMQ

Erstellen Sie unter app.connectmq.com einen kostenlosen Serverless-Broker, ganz ohne Kreditkarte. Tauschen Sie den öffentlichen Broker gegen Ihren eigenen ConnectMQ-Endpunkt mit TLS, und Ihre nachgerüsteten Maschinen werden zu strukturierten Live-Daten, die jedes Dashboard und jedes Analysetool abonnieren kann.

Häufig gestellte Fragen

Kann ich Bestandsmaschinen für IoT nachrüsten, ohne die SPS zu ändern?

Ja. Stromzangen, Signalsäulensensoren, Schwingungssensoren und Stückzahlsensoren werden alle außerhalb der Steuerungslogik installiert. Sie liefern Ihnen Maschinenzustand und Auslastung ganz ohne SPS-Änderungen.

Was ist der günstigste Weg, den Maschinenzustand zu überwachen?

Eine einzelne Stromzange an der Zuleitung des Hauptmotors oder der Spindel, ausgelesen von einem kleinen Mikrocontroller, ist meist die kostengünstigste Option. Die Stromstärke unterscheidet zwischen Aus, Leerlauf und Betrieb.

Ist es sicher, eine Stromzange an einer laufenden Maschine zu installieren?

Die Installation einer Zange in einem Schaltschrank muss eine Elektrofachkraft unter Einhaltung der Freischaltverfahren (Lockout) durchführen. Die Zange selbst unterbricht den Stromkreis nicht, doch der Schaltschrank enthält spannungsführende Teile.

Wann sollte ich Daten stattdessen direkt aus der SPS lesen?

Wenn Sie Kontext wie Alarmcodes, Programmnummern oder exakte Stückzähler benötigen. Verwenden Sie ein Gateway mit reinem Lesezugriff und beginnen Sie damit, nachdem Zusatzsensoren den Nutzen der Daten belegt haben.

Verwandte Artikel

Industrial DataOps: Werksdaten kontextualisieren und steuern

Was Industrial DataOps in der Praxis bedeutet: Kontextualisierung, Normalisierung, Qualitätsprüfungen und Governance von OT-Daten und wie Sie diese Schicht auf einem MQTT-Namespace betreiben.

8 Min. Lesezeit

Alle Artikel →

Ihr privater MQTT-Broker ist nur wenige Klicks entfernt

Konto anlegen, Broker-Zugangsdaten erhalten und das erste Gerät verbinden — ohne Server, die installiert, gepatcht oder skaliert werden müssen.