In diesem Projekt wurde eine Schenck Fahrzeug-Waage durch eine Miet-Fahrzeugwaage von MEWA abgelöst und mit der dahinter liegenden Schnittstelle zu Zedal angepasst. Dieses Projekt ist ein schönes Beispiel dafür, wie man ein neues System in eine vorhandene Automatisierungslösung integrieren kann.
Die Ausgangssituation: Fahrzeug-Waage mit Automatisierung im Backend
Ein Recycling-Unternehmen meldet bestimmte Fahrten bei jedem Wiege-Vorgang automatisiert an Zedal, um die Abfall-Nachweise digital zu managen. Die Schenck Fahrzeugwaage, exportiert nach jedem Wiege-Vorgang hierzu eine CSV-Datei und startet ein Script zur Weiterverarbeitung. Das Script reicht die Daten weiter an die Zedal-Schnittstelle.
Herausvorderung: Tausch der Fahrzeugwaage
Die Schenck Fahrzeugwaage wurde temporär durch eine MEWA Miet-Fahrzeugwaage ersetzt, bis die Schenck-Waage noch mal in Betrieb genommen werden konnte.
Folgende Probleme mussten gelöst werden:
- Die MEWA-Software schreibt ein anderes CSV-Format als die Schenck Software.
- Die MEWA-Software kann zwar Daten nach jedem Wiegevorgang automatisch exportieren, jedoch kein externes Script zur Weiterverarbeitung durch Zedal starten.
- Die Lösung muss mit wenig Aufwand “zurückbaubar” sein.
Eine Middleware als Lösung
Um Anpassungen an der relativ komplexen Zedal-Schnittstelle zu vermeiden, wurde eine in Python und GoLang geschriebene Middleware integriert. Die Middleware hat folgende Features:
- Ordner-Überwachung:
Ein in GoLang geschriebener Dienst erkennt über die Windows Filesystem-Events, daß eine neue Datei in einem überwachten Ordner abgelegt wurde. - Automatische Weiterverarbeitung:
Auf diese Weise erkennt die Middleware einen Export von Mewa und starten die Weiterverarbeitung über ein Python-Script. - Konvertieren der Datenquelle:
Das Python-Script liest das neue MEWA-Format und konvertiert es in das alte Schenck-Format. Danach werden die Daten an die Zedal-Schnittstelle übergeben. Aus Sicht der Zedal-Schnittstelle hat sich nichts geändert und der Automatismus dahinter läuft wie gewohnt. - Wiederherstellung des Urzustands:
Die Middleware lässt sich mit wenig Aufwand wieder entfernen, ohne die Automatisierung zu stören. Es ist sogar ein Parallelbetrieb beider Waagen möglich.