Startseite · Referenzen · Steuerungssystem für Chemiemischer
Fallstudie · Laborsoftware · Ungarn

Echtzeit-Steuerungssystem für Labor-Chemiemischer

Ein maßgeschneidertes, rezeptbasiertes Steuerungssystem für einen Chemiemischer: eine Touchscreen-Oberfläche zur Planung mehrstufiger Reaktionen und eine Echtzeit-Softwareschicht, die diese sicher in Hardwarebefehle übersetzt.

Kunde
Vertraulicher Industriepartner
Branche
Chemie- und Laborgeräte
Was wir gebaut haben
Rezeptbasiertes Echtzeit-Steuerungssystem für einen Chemiemischer
Leistung
Hardware-Integration · Full-Stack-Entwicklung · Systemarchitektur

Die Herausforderung

Das Laborpersonal musste mehrstufige chemische Misch-rezepte — Temperaturkurven, Rührgeschwindigkeit, präzise Dosierung — per Touchscreen erstellen und sicher ausführen können, ohne die Maschine manuell anzusteuern.

Die größte technische Herausforderung war die live, bytegenaue Zweiwege-Kommunikation mit echter Laborhardware — Heizung, Rührmotor, Dosierspritzen, Ventile — über eine serielle Verbindung, wobei hochgradig deklarative Rezepte in Echtzeit in imperative Low-Level-Hardwarebefehle übersetzt werden mussten, ohne die Maschine je in einen unsicheren Zustand zu bringen.

Die Steuerung läuft auf einem Raspberry Pi im Labor, oft ohne zuverlässige Internetverbindung, daher musste das gesamte System vollständig offline funktionieren, auf begrenzter Hardware reaktionsschnell bleiben und sich nach einem Absturz oder Stromausfall automatisch erholen — wobei die Oberfläche sich fortlaufend mit dem tatsächlichen Zustand eines laufenden Rezepts synchronisiert, statt sich auf eine dauerhafte Verbindung zu verlassen.

Die Lösung: ein dreischichtiges, sicherheitsorientiertes Steuerungssystem

Wir bauten das System als drei unabhängige, über HTTP kommunizierende Schichten: eine touchscreenfreundliche Vue-Oberfläche im eigenen Browser des Pi, ein Node.js/Express-Backend für Geschäftslogik und Rezeptdaten, und einen Low-Level-Rust-Dienst, der das exakte serielle Protokoll des Mischers spricht.

Diese Trennung ermöglichte es, die sicherheitskritische Hardwarelogik auf Byte-Ebene völlig unabhängig von der Benutzeroberfläche zu entwickeln und zu testen — unter anderem gegen eine simulierte „Fake-Hardware“-Schnittstelle während der Entwicklung, ganz ohne physischen Mischer.

01

Rezept-Editor & Live-Überwachung

Eine touchscreenfreundliche SPA zum Erstellen mehrstufiger Rezepte — Heizen, Halten, Kühlen — mit Temperatur, Rührgeschwindigkeit und präziser Spritzendosierung pro Stufe, einer Prognosekurve vor dem Lauf und einer Live-Grafik mit echten Messpunkten während des Laufs, plus sofortigem Stopp.

02

Rezept-zu-Hardware-Übersetzungsmotor

Ein Node/Express-Backend, das jede Änderung validiert, damit die Maschine nie in einen unsicheren Zustand versetzt werden kann, Rezepte und Laufhistorie in SQLite speichert und in einem Hintergrundprozess laufend die deklarierten Schritte des laufenden Rezepts mit dem tatsächlichen Status des Mischers abgleicht und die passenden Befehle weiterleitet.

03

Direkte Hardware- & serielle Steuerung

Ein Rust-Dienst, der die serielle Verbindung zum Mischer hält und jeden Hardwarebefehl als eigenen Endpunkt bereitstellt, JSON-Befehle bytegenau in das binäre Protokoll des Mischers übersetzt — mit eingebautem Timeout, Fehlerbehandlung und Notstopp.

Herausforderungen und Lösungen

  • Echtzeit-Hardware-Synchronisierung: das Protokoll ist mit Rust-Enums modelliert, sodass jeder Befehl zuverlässig kodiert und dekodiert werden kann — die Software wartet dabei auf die tatsächliche Bestätigung der Hardware, bevor ein Schritt als abgeschlossen gilt, statt Befehle blind abzufeuern.
  • Sicherheit von Grund auf: das Backend validiert jede Rezeptänderung gegen den aktuellen Zustand des Mischers, sodass dieser nie in eine gefährliche Konfiguration gebracht werden kann, und ein vollständiger Stopp ist immer nur einen Klick entfernt.
  • Offline-first, selbstheilender Betrieb: das gesamte System läuft direkt auf dem Raspberry Pi ohne Internetabhängigkeit und wird überwacht, sodass jede Komponente — Frontend, Backend oder Hardwareschicht — bei einem Absturz automatisch neu startet, während die Oberfläche das Backend in festen Abständen abfragt, um mit dem tatsächlichen Lauf synchron zu bleiben, statt sich auf eine dauerhafte Verbindung zu verlassen.

Habt ihr eine ähnliche Hardware-Software-Herausforderung?

Fangen wir mit einem Gespräch über euer Projekt an, und wie Software daraus ein sicheres, in Echtzeit gesteuertes System machen kann.

Termin buchen →