Projektkontext
Das Projekt VISP (V1-V3) wurde für Werke von Fresenius entwickelt von Diovision. Es handelt sich um ein hochverfügbares System zur Überwachung und Steuerung der Medikamentenproduktion, das den gesamten Prozess von der Mitarbeiteranmeldung an der Maschine bis zur Chargenkontrolle digitalisiert und absichert.
Technische Evolution: Vom Monolithen zu Microservices
Das System wuchs über mehrere Generationen:
- V1/V2: Initial als Node.js Monolith mit RabbitMQ zur Kommunikation mit den Industrie-Endpunkten.
- V3: Kompletter Umbau der Backend-Architektur auf eine hochskalierbare Microservice-Architektur. Hierbei wurde Apache Kafka als zentraler Event-Bus (mit Avro-Schemas) eingeführt, während RabbitMQ weiterhin als spezialisierter Broker an der “Edge” fungierte.
Hardware-Nah: Custom Yocto Linux & netPI
Ein kritischer Erfolgsfaktor war die Anbindung der Hardware an den Produktionsmaschinen. Zum Einsatz kamen Hilscher netPI Industrial Nodes. Da die Standardsteuerung über Portainer/Docker keinen ausreichenden Zugriff auf die Hardware-Ressourcen für die benötigte Performance bot, habe ich ein Custom Yocto Image entwickelt.
Diese tiefgreifende Linux-Anpassung ermöglichte die direkte Integration von:
- RFID & Token Readern (PHG/Legic): Sicherer Login und Berechtigungsprüfung der Mitarbeiter.
- LED-Signalisierung (BlinkStick): Echtzeit-Statusanzeige des Maschinenzustands direkt vor Ort.
- Touch-Displays: Intuitive Benutzeroberfläche für Werker.
Zur effizienten Verwaltung und Automatisierung der Ausrollung der Software an die zahlreichen netPI-Geräte in den Werken wurde Ansible eingesetzt.
Logik & Sicherheit in der Produktion
Das System implementiert komplexe Business-Logik zur Qualitätssicherung:
- Konzentrationsschutz: Automatisierte Abmeldung und erzwungene Pausen für Mitarbeiter nach Ablauf definierter Zeitspannen, um Prüffehler zu vermeiden.
- Qualifikations-Check: Prüfung, ob ein Operator für einen spezifischen Test qualifiziert ist. (Beispiel: Ausschluss von Mitarbeitern mit Rot-Grün-Schwäche für visuelle Medikamentenkontrollen).
Tech-Stack im Überblick
- Sprachen: TypeScript (Backend & Frontend).
- Frameworks: Node.js, Angular, Kafka-Connect.
- Infrastruktur: Kubernetes (Rancher), MySQL, Kafka Cluster, Docker, Ansible (Edge-Deployment).
- Edge: Hilscher netPI, Custom Yocto Build, RabbitMQ.