MIGAL.CO Sensorbox – Schweißprozessdaten erfassen, verstehen, vernetzen
- Zeitlich synchronisierte Multisensorik: Strom, Spannung, Drahtvorschub und Gasdurchfluss mit gemeinsamer Zeitbasis
- Web-Dashboard zur Konfiguration, Live-Anzeige, Firmwareupdate
- 5 kHz Abtastrate: Gemäß Abtasttheorem lassen sich dadurch Frequenzanteile bis ca. 2,5 kHz (Nyquist-Frequenz) eindeutig messen
- High-Speed Rohdatenstream (UDP) für Oszilloskop-Traces, FFT und Histogramme – ideal für Versuchsreihen und Modellbildung
- Deterministische Messfenster & Sequenznummern (Timestamp + seq) für reproduzierbare Auswertung und Paketverlust-Erkennung
- On-device Feature-Berechnung (U/I RMS, Wirkleistung, Statistikwerte) für schnelle Kennwertbildung ohne PC/Cloud
- MQTT/JSON Telemetrie für einfache Integration in Labor-Setups, Datenpipelines und Time-Series-DBs (z. B. InfluxDB)
- Diagnose- und Qualitätsflags im Datenstrom (z. B. ADC-Overrun, Encoder-Timeout, NTP-Sync) für saubere Datenvalidierung
- Dual-Core Architektur (Messkern + Kommunikationskern) für stabile Messung auch bei Netzwerk- und UI-Last
- NTP-Synchronisation für vergleichbare Zeitstempel über mehrere Sensorboxen/Schweißplätze hinweg
- RoboScope (Windows/macOS) zur Live-Analyse: Oszilloskop, FFT, Histogramm – schnell von „Signal“ zu „Insight“
- Kalibrierbar über Nullpunkt, Verstärkung und Messradumfang des Encoders
- Integrierte Berechnung des Korrekturfaktors für beliebige Gasmischungen aus Ar, He, O2, H2 und N2.
Die MIGAL.CO Sensorbox ist eine modulare, mikrocontrollerbasierte Mess- und Kommunikationsplattform zur hochauflösenden Erfassung, Verarbeitung und Weiterleitung von Schweißprozessdaten für Lichtbogenschweißprozesse. Sie wurde für den rauen industriellen Schweißalltag entwickelt und bildet die technische Basis für Prozessüberwachung, datenbasierte Qualitätsanalyse und perspektivisch KI-gestützte Fehlererkennung.
Mit der Sensorbox erhält der Anwender Schweißdaten direkt aus dem Prozess – sauber zeitlich zugeordnet, strukturiert paketiert und sicher ins Netzwerk übertragen. So kann man:
-
Schweißprozesse transparent machen (statt „Bauchgefühl“)
-
Parameter pro Schweißnaht / Job / Arbeitsplatz nachvollziehen
-
Daten in InfluxDB, Dashboards oder Cloud-Systeme einspeisen
-
Echtzeit-Visualisierung (Oszilloskop/Spektrum) oder Edge-Analysen umsetzen
-
die Grundlage für automatisierte Anomalie- und Fehlererkennung schaffen
Systemarchitektur: Echtzeit-Messung trifft Netzwerk & Analyse
Im Inneren arbeitet ein STM32H7 Dual-Core (Cortex-M7 + Cortex-M4) mit klarer Aufgabenverteilung:
-
Cortex-M4: übernimmt die zeitkritische Messung (hochfrequent, deterministisch)
-
Cortex-M7: kümmert sich um Datenaufbereitung, Analyse, Protokolle, Netzwerkkommunikation und Systemsteuerung
Beide Kerne tauschen Daten über OpenAMP / RPMsg aus – mit geringer Latenz, klarer Sequenzierung und robuster Struktur.
Messgrößen: die wichtigsten Prozessparameter synchron erfasst
Aktuell erfasst die Sensorbox:
-
Schweißstrom
-
Schweißspannung
-
Gasdurchfluss
-
Drahtgeschwindigkeit
Strom & Spannung werden mit hoher zeitlicher Auflösung über die ADCs des STM32H7 erfasst, im DMA-Circular-Modus. 5 kHz Abtastrate sind realisiert.
Gasdurchfluss und Drahtgeschwindigkeit sind vollständig integriert und werden synchron zu den elektrischen Größen aufgenommen – damit stimmen Zeitbezug und Zuordnung über alle Parameter hinweg.
Jeder Messframe enthält zusätzlich zu den Rohdaten wichtige Metadaten wie:
-
Zeitstempel
-
Sequenznummer
-
Statusflags
-
Kalibrierparameter (Gain/Offset)
Damit können Rohdaten auch auf nachgelagerten Systemen exakt in physikalische Größen umgerechnet werden – reproduzierbar und nachvollziehbar.
Datenverarbeitung: Kennzahlen direkt auf dem Gerät
Auf dem Cortex-M7 werden die Daten bereits vorverarbeitet und analysiert. Aktuell verfügbar sind u. a.:
-
RMS- und Mittelwertberechnung
-
Wirkleistung aus Strom und Spannung
-
Skalierung & Erfassung von Gasdurchfluss und Drahtgeschwindigkeit
Die Daten werden anschließend strukturiert paketiert und mit eindeutigen Kennungen versehen, sodass sie klar einem Job, einer Schweißnaht oder einem Arbeitsplatz zugeordnet werden können.
Kommunikation & Vernetzung: sicher in die IT – schnell in die Echtzeit
Die Sensorbox ist vollständig netzwerkfähig über Ethernet (LwIP TCP/IP-Stack) und bietet zwei zentrale Datenwege:
MQTT über TLS (mbedTLS) – für IT, Cloud & Datenbanken
Prozessdaten (Strom, Spannung, Gas, Draht) werden zyklisch übertragen (typisch 0,1 bis 5 Sekunden) – ideal für:
-
Cloud-/Server-Anbindungen
-
Prozessmonitoring & Reporting
-
Speicherung in Zeitreihensystemen (z. B. InfluxDB)
-
sichere Integration in bestehende IT-Infrastruktur
UDP-Echtzeitstream – für hochfrequente Live-Daten
Für hochfrequente und latenzkritische Anwendungen gibt es zusätzlich einen UDP-Datenstream. Darüber können rohe Messframes (Strom/Spannung) nahezu verzögerungsfrei an externe Systeme geschickt werden.
Die UDP-Pakete enthalten strukturierte Header (u. a. Magic Number, Sequenznummern, Zeitstempel, Payload-Beschreibung) – damit bleiben Synchronisation, Validierung und Nachverfolgung auch bei Paketverlust robust.
Typische Einsatzfälle:
-
Live-Visualisierung (Oszilloskop- oder Spektraldarstellung)
-
schnelle Regel-/Assistenzsysteme
-
Edge- oder PC-basierte Online-Analyse
Zusätzlich ist ein integrierter Webserver (Mongoose) an Bord – für Diagnose, Konfiguration und künftige Visualisierungen.
Zeitbasis & Synchronisation: Daten mit absolutem Zeitbezug
Zur präzisen zeitlichen Einordnung unterstützt die Sensorbox SNTP/NTP-Zeitsynchronisation. Alle Messwerte werden mit absoluten Zeitstempeln versehen – wichtig für:
-
Korrelation mehrerer Sensorboxen
-
saubere Zeitreihenanalyse
-
spätere Auswertung in InfluxDB & Co.
Persistenz & Konfiguration: robust gespeichert, auch bei Spannungseinbruch
Geräte-, Netzwerk- und Sicherheitsparameter (z. B. IP-Konfiguration, MQTT-Zugangsdaten, UDP-Zieladresse, TLS-Zertifikate) werden persistent im internen Flash gespeichert.
Eine robuste Speicherstrategie mit:
-
Magic Number
-
Prüfsummen
-
klar definierten Flash-Sektoren
stellt sicher, dass Konfigurationen auch bei unerwartetem Spannungsverlust erhalten bleiben.
Kurz gesagt
Die MIGAL.CO Sensorbox ist die Brücke zwischen Schweißprozess und Datenwelt:
präzise Messung, synchronisierte Prozessdaten, Vorverarbeitung auf dem Gerät und sichere bzw. echtzeitfähige Übertragung – bereit für Monitoring, Analyse und die nächste Stufe der Qualitätssicherung.
Messverfahren für Strom, Spannung und Leistung
Die MIGAL.CO Sensorbox berechnet aus hochfrequenten Rohdaten mit 5 kHz Abtastfrequenz präzise Prozesskennwerte für Spannung, Strom und Leistung. Dazu werden Spannung u(t) und Strom i(t) in kurzen Zeitfenstern erfasst und digital ausgewertet:
-
RMS-Spannung (U_RMS) und RMS-Strom (I_RMS) sind die sogenannten Effektivwerte. Sie beschreiben die elektrische „wirksame“ Größe auch dann zuverlässig, wenn das Signal nicht sinusförmig ist – wie es beim Schweißen typisch ist.
-
Leistung (P) wird als Mittelwert der Momentanleistung berechnet: Für jedes Sample wird u * i gebildet und anschließend über das Zeitfenster gemittelt. So entsteht ein stabiler Leistungswert, der reale Prozessänderungen (z. B. Kurzschlussphasen, Lichtbogeninstabilität, Draht-/Gas-Einflüsse) sauber abbildet.
Diese Kennwerte bilden die Grundlage für Live-Überwachung, Trendanalysen, Qualitätsauswertung und spätere KI-gestützte Fehlererkennung.
RMS-Spannung:
\[ U_{\mathrm{RMS}}=\sqrt{\frac{1}{N}\sum_{k=0}^{N-1} u[k]^2} \]
RMS-Strom:
\[ I_{\mathrm{RMS}}=\sqrt{\frac{1}{N}\sum_{k=0}^{N-1} i[k]^2} \]
Mittlere Wirkleistung:
\[ P=\frac{1}{N}\sum_{k=0}^{N-1}\big(u[k]\cdot i[k]\big) \]
Technische Daten
| Schnittstelle | Ethernet (10/100 Mbit/s) |
| Datenübertragungsprotokoll | MQTT (3.1.1 und 5), UDP |
| Weboberfläche | Zur Konfiguration und Echtzeit-Anzeige |
| Versorgungsspannung | 9 - 12 Volts DC |
| Netzwerk | DHCP, feste IP |
| Nachrichtenfrequenz | MQTT: 0.1 - 5 pro Sekunde, UDP: 50 Frames á 256 Werte pro Sekunde |
| Verschlüsselung | MQTT: TLS 1.3, UDP binär unverschlüsselt |
| Abmessungen der Sensorbox | 200 x 160 x 60 mm (LxBxH) |
| Gewicht der Sensorbox | 1,1 kg |
| Schutzart | IP 20 |
| Spannungsmessung | - 60 bis + 60 Volt (AC, DC), +/- 1% des Endwerts |
| Strommessung | - 600 bis + 600 Ampere (AC, DC), +/- 1% des Endwerts |
| Drahtdurchmesserbereich | 0.8 mm – 1.6 mm (größer auf Anfrage) |
| Encoder-Auflösung | 0.114 mm, 600 Impulse pro Umdrehung |
| Drahtvorschubgeschwindigkeit | 0 - 20 m/min |
| Genauigkeit Drahtgeschwindigkeit | 0,7 % bei 10 m/min und 0,1 s Abtastintervall |
| Gewicht Encoder | 0,40 kg |
| Gasflußmenge | 0,5 - 50 l/min |
| Genauigkeit Gasmenge | +/- 3% vom Maximalwert |
| Gewicht Gasmengensensor | 0,10 kg |
MQTT-Message
Die Sensorbox sendet ihre Mess- und Statusdaten in einem kompakten JSON(JavaScript Object Notation)-Format. Jede Nachricht entspricht einem zeitlich eindeutig zuordenbaren Snapshot des Schweißprozesses und enthält sowohl Prozesskennwerte als auch Systemzustände und Firmware-Versionen.
Zeit & Sequenz
-
ts (String): Zeitstempel der Messung (z. B. ISO-Zeit aus RTC/NTP).
→ Dient zur Synchronisation mit anderen Systemen (InfluxDB, Dashboard, RoboScope, MES).
-
seq (Integer): Fortlaufende Mess-Sequenznummer.
→ Erlaubt das Erkennen von Aussetzern, Paketverlust oder Lücken in der Aufzeichnung.
Elektrische Kenngrößen
- u_rms (Float, 2 Nachkommastellen): Effektivwert der Schweißspannung in Volt.
-
i_rms (Float, 2 Nachkommastellen): Effektivwert des Schweißstroms in Ampere.
-
p_rms (Float, 1 Nachkommastelle): Mittlere/effektive Leistung in Watt (aus Spannung und Strom abgeleitet).
→ Diese Größen ermöglichen Last-/Energieanalyse, Prozessstabilitätsbewertung und Vergleich von Jobs/Parametern.
Draht & Gas
-
wire_m_min (Float, 2 Nachkommastellen): Drahtvorschubgeschwindigkeit in m/min.
→ Basis für Prozessüberwachung (z. B. zu geringer Vorschub, Drahtstau, Fehlererkennung).
-
gas_l_min (Float, 2 Nachkommastellen): Gasdurchfluss in l/min (korrigierter Wert).
→ Wird bereits in der Sensorbox korrigiert, sodass der Anwender direkt einen praxisrelevanten Wert erhält.
-
gas_cf (Float, 2 Nachkommastellen): Gas-Korrekturfaktor (Calibration/Compensation Factor).
→ Transparenz, wie stark Rohwerte aufgrund Kalibrierung/Umgebungseinfluss angepasst wurden.
Statusobjekt (Gesundheit & Diagnose)
Unter status werden wichtige Diagnoseflags als Booleans mitgeliefert:
-
openamp_ok: Kommunikation zwischen den Cores (z. B. Cortex-M4 Messkern ↔ Cortex-M7 Kommunikationskern) ist OK.
-
adc_overrun: ADC-Überlauf erkannt (Hinweis auf zu hohe Last / Timingproblem / Datenverlust).
-
encoder_timeout: Timeout beim Encoder (z. B. Drahtvorschubsignal fehlt oder Sensorverbindung unterbrochen).
-
ntp_synced: Zeitbasis per NTP synchronisiert (wichtig für genaue Zeitstempel und Vergleich mehrerer Geräte).
→ Dadurch ist Remote-Diagnose möglich, ohne dass der Anwender direkt an die Hardware muss.
Firmware-Versionen (Traceability)
Unter fw werden die Firmwarestände beider Kerne übertragen:
-
m7: Firmware-Version des Kommunikations-/Applikationskerns (Cortex-M7)
-
m4: Firmware-Version des Messkerns (Cortex-M4)
Beispiel:
{
"ts": "2026-01-21T10:15:23.123Z",
"seq": 4711,
"u_rms": 23.45,
"i_rms": 156.78,
"p_rms": 3680.2,
"wire_m_min": 8.50,
"gas_l_min": 12.30,
"gas_cf": 1.07,
"status": {
"openamp_ok": true,
"adc_overrun": false,
"encoder_timeout": false,
"ntp_synced": true
},
"fw": {
"m7": "1.2.3",
"m4": "1.2.3"
}
}
UDP High-Speed Stream (Rohdatenpaket)
Für hochauflösende Analyse (Oszilloskop-Ansicht, Histogramme, Ereigniserkennung) sendet die Sensorbox zusätzlich zur JSON-Telemetrie einen binären/CSV-ähnlichen UDP-Datenstrom. Jedes UDP-Paket enthält einen Header mit Metadaten und danach einen Block von ADC-Rohsamples für Spannung und Strom.
1) Paket-Header (Metadaten)
-
magic=0x3143534f
Eindeutige Kennung des Pakettyps (Synchronisationswort).
→ Damit kann der Empfänger Daten sicher als „Sensorbox-Frame“ erkennen und Fehl- oder Fremdpakete verwerfen.
-
ts_ms=1768998617383
Zeitstempel in Millisekunden.
→ Ermöglicht zeitkorrekte Darstellung (z. B. Live-Trace), Logging und Synchronisation mit anderen Quellen.
-
seq=42
Fortlaufende Sequenznummer.
→ Paketverluste oder Reihenfolgefehler (UDP!) werden sofort sichtbar.
-
samples=256
Anzahl der Samples pro Kanal in diesem Paket.
→ Ein Paket ist ein „Datenblock“ (Frame) mit genau definiertem Umfang.
-
gas_l_min=12.4
Aktueller Gasdurchfluss (l/min) als Meta-Info zum Sampleblock.
→ Praktisch, um Oszi-Daten direkt mit Prozessparametern zu verknüpfen.
-
wire_m_min=8.5
Drahtvorschub (m/min) zum selben Zeitpunkt.
→ Kann 0 sein, wenn Draht steht oder ein Encoder-/Signalproblem vorliegt.
-
status=0x3cc5038d
Bitmaske für Systemzustände/Fehlerflags (z. B. ADC Overrun, Encoder Timeout, OpenAMP OK, NTP Sync).
→ Diagnose ohne extra Abfrage – jedes Paket trägt seinen Gesundheitszustand mit.
-
Kalibrier-/Umrechnungsparameter
-
u_gain, u_offset: Skalierung/Offset für Spannung
-
i_gain, i_offset: Skalierung/Offset für Strom
→ Damit kann der Empfänger Rohdaten zu physikalischen Größen umrechnen (oder bewusst Rohdaten speichern und später mit denselben Parametern rekonstruieren).
-
2) Sample-Daten (Payload)
Nach dem Header folgt eine Tabelle/Sequenz:
index,u_raw,i_raw
-
index: Sample-Index innerhalb des Frames (0 … samples-1)
-
u_raw: ADC-Rohwert Spannung (integer)
-
i_raw: ADC-Rohwert Strom (integer)
→ Der Empfänger kann daraus:
-
Oszilloskop-Traces (u(t), i(t)) erzeugen
-
RMS/Leistung/Arc-Stabilität berechnen
-
Peaks, Kurzschlüsse, Spritzerereignisse erkennen
-
Histogramme / Verteilungen erstellen (z. B. Stromverteilung pro Job)
Warum UDP?
UDP ist ideal für Live-Streaming großer Datenmengen:
-
sehr geringe Latenz
-
geringer Protokoll-Overhead
-
„best effort“ (Paketverlust möglich) → deshalb: seq im Header
Für robuste Speicherung/Backfill nutzt man meist parallel die „langsamen“ Telemetriekanäle (z. B. JSON via MQTT/HTTP), während UDP für die Echtzeit-Ansicht dient (RoboScope).
Beispiel eines Python-Codes zur Ausgabe des UDP-Streams im Terminal (Aufruf z.B. mit python3 udp_dump.py 9000:
#!/usr/bin/env python3
import argparse
import socket
import struct
import math
MAGIC_OSCI = 0x3143534F # "OSCI"
FLAG_STATUS = 0x0001
FLAG_CAL = 0x0002
BASE_HDR_FMT = "<IHHII" # magic, header_len, flags, seq, sample_cnt
BASE_HDR_LEN = struct.calcsize(BASE_HDR_FMT) # 16
def parse_packet(buf: bytes):
if len(buf) < BASE_HDR_LEN:
return None
magic, header_len, flags, seq, sample_cnt = struct.unpack_from(BASE_HDR_FMT, buf, 0)
if magic != MAGIC_OSCI:
return None
# Minimaler Header: base + ts + meta
if header_len < (BASE_HDR_LEN + 8 + 8) or header_len > len(buf):
return None
off = BASE_HDR_LEN
ts_ms, = struct.unpack_from("<Q", buf, off)
off += 8
gas_l_min, wire_m_min = struct.unpack_from("<ff", buf, off)
off += 8
status = None
if flags & FLAG_STATUS:
if off + 4 > header_len:
return None
status, = struct.unpack_from("<I", buf, off)
off += 4
# Default Cal (falls nicht mitgesendet)
u_gain = 1.0
u_offset = 0.0
i_gain = 1.0
i_offset = 0.0
if flags & FLAG_CAL:
if off + 16 > header_len:
return None
u_gain, u_offset, i_gain, i_offset = struct.unpack_from("<ffff", buf, off)
off += 16
# Payload beginnt bei header_len
payload_off = header_len
payload_bytes = len(buf) - payload_off
available_samples = min(sample_cnt, payload_bytes // 4)
return {
"ts_ms": ts_ms,
"seq": seq,
"sample_cnt": sample_cnt,
"available_samples": available_samples,
"gas_l_min": gas_l_min,
"wire_m_min": wire_m_min,
"flags": flags,
"status": status,
"u_gain": u_gain,
"u_offset": u_offset,
"i_gain": i_gain,
"i_offset": i_offset,
"payload_off": payload_off,
}
def main():
ap = argparse.ArgumentParser(description="Simple UDP dump for MIGAL.CO Sensorbox OSCI stream")
ap.add_argument("port", type=int, help="UDP port to listen on, e.g. 9000")
ap.add_argument("--bind", default="0.0.0.0", help="Bind address (default: 0.0.0.0)")
ap.add_argument("--n", type=int, default=16, help="How many samples to print (default: 16)")
ap.add_argument("--rms", action="store_true", help="Compute simple U_rms/I_rms/P_mean from printed samples")
args = ap.parse_args()
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind((args.bind, args.port))
print(f"Listening on {args.bind}:{args.port} ... (Ctrl+C to stop)")
while True:
buf, addr = sock.recvfrom(65535)
info = parse_packet(buf)
if info is None:
# Unbekanntes Paket – leise ignorieren oder kurz melden:
continue
ts_ms = info["ts_ms"]
seq = info["seq"]
sc = info["sample_cnt"]
av = info["available_samples"]
gas = info["gas_l_min"]
wire = info["wire_m_min"]
flags = info["flags"]
status = info["status"]
u_gain = info["u_gain"]
u_offset = info["u_offset"]
i_gain = info["i_gain"]
i_offset = info["i_offset"]
print("\n" + "-" * 80)
print(f"from {addr[0]}:{addr[1]} ts_ms={ts_ms} seq={seq} samples={sc} (in packet: {av})")
print(f"gas_l_min={gas:.3f} wire_m_min={wire:.3f} flags=0x{flags:04x}", end="")
if status is not None:
print(f" status=0x{status:08x}")
else:
print()
if (flags & FLAG_CAL) != 0:
print(f"cal: u_gain={u_gain} u_offset={u_offset} i_gain={i_gain} i_offset={i_offset}")
# Samples ausgeben
nprint = min(args.n, av)
off = info["payload_off"]
u_vals = []
i_vals = []
for i in range(nprint):
w, = struct.unpack_from("<I", buf, off)
u_raw = w & 0xFFFF
i_raw = (w >> 16) & 0xFFFF
off += 4
# physikalisch (falls Gain/Offset gesetzt)
u = u_raw * u_gain + u_offset
cur = i_raw * i_gain + i_offset
u_vals.append(u)
i_vals.append(cur)
print(f"{i:4d}: u_raw={u_raw:5d} i_raw={i_raw:5d} u={u:.3f} i={cur:.3f}")
if args.rms and nprint > 0:
u2 = sum(x*x for x in u_vals) / nprint
i2 = sum(x*x for x in i_vals) / nprint
p = sum(u_vals[j] * i_vals[j] for j in range(nprint)) / nprint
print(f"-> U_rms={math.sqrt(u2):.3f} I_rms={math.sqrt(i2):.3f} P_mean={p:.3f} (über {nprint} Samples)")
if __name__ == "__main__":
main()
Lieferumfang
- Sensorbox mit Mikrocontroller und Anschlüssen für Ethernet, Spannungsversorgung (9–12 V DC) und Encoder, 12 V-Steckernetzteil sowie PoE-Adapter, 3-poliger Kabelstecker für die Spannungsmessung mit 5 m verdrillter Messleitung.
- Drahtsensor (Encoder) mit 1,5 m Kabel und 5-poligem Kabelstecker.
- Gassensor mit 2 m Kabel und 7-poligem Kabelstecker.
Software RoboScope zur Visualisierung der Schweißdaten
RoboScope ist die passende PC-Software zur MIGAL.CO Sensorbox und steht für Windows und macOS zur Verfügung. Sie dient zur Live-Visualisierung, Analyse, Aufzeichnung und Diagnose der erfassten Schweißprozessdaten – ideal für Inbetriebnahme, Prozessoptimierung und Fehlersuche direkt am Arbeitsplatz oder im Labor.
Live-Visualisierung (Oszilloskop)
RoboScope zeigt die Strom- und Spannungsverläufe in Echtzeit an (typisch über den UDP-Echtzeitstream). So werden Peaks, Einbrüche, Instabilitäten oder auffällige Signalverläufe sofort sichtbar.
Spektralanalyse (FFT)
Zusätzlich bietet RoboScope eine Spektrum-/FFT-Darstellung, um Frequenzanteile in den Messsignalen zu analysieren. Das ist besonders hilfreich, um Störungen, Schwingungen oder wiederkehrende Muster im Prozess zu erkennen.
Histogramm
Mit der Histogramm-Ansicht lässt sich die Verteilung von Messwerten über einen Zeitraum auswerten. Dadurch erkennt man schnell, ob der Prozess stabil läuft (enge Verteilung) oder ob Streuung und Ausreißer auftreten – eine wertvolle Grundlage für Qualitätsbewertung, Vergleich von Jobs und das Ableiten sinnvoller Grenzwerte.
Aufzeichnen, Replay & Export
RoboScope kann Messdaten mitschneiden, für spätere Analysen wiedergeben (Replay) und für externe Auswertungen exportieren. Das erleichtert Dokumentation, Ursachenanalyse und die Weiterverarbeitung in eigenen Tools.
Diagnose & Monitoring
Neben den Kurven bietet RoboScope auch technische Einblicke wie Zeitstempel, Sequenznummern und Paketstatus. Damit lässt sich schnell prüfen, ob Daten vollständig, synchron und plausibel ankommen – besonders hilfreich bei Netzwerk- oder Integrationsfragen.

















