Verbindungsabbruch im Lager: Warteschlange, Wiederholung und Protokoll
Welche Ordnung eine Anwendung am Regal braucht, damit ein Funkloch die Buchung verschiebt und nicht verliert
· 4 Min. · Architektur, Automatisierung, Arbeitsweise
Ein Verbindungsabbruch im Lager darf die Arbeit nicht anhalten, und er darf sie auch nicht stillschweigend verfälschen. Der Scanner muss weiter quittieren, die Buchung muss später ankommen, und der Mensch am Gerät muss sehen, was noch offen ist. Drei Teile machen das planbar: Warteschlange, Wiederholung, Protokoll.
Was passiert, wenn das Funknetz zwischen den Regalreihen aussetzt
Eine Halle ist keine Büroetage. Metallregale, Kühlzellen, ein Tor, das aufgeht — die Funkabdeckung schwankt auf zehn Metern, und sie schwankt jeden Tag anders. Eine Anwendung, die stillschweigend annimmt, dass der Server erreichbar ist, verhält sich an dieser Stelle auf eine von zwei Arten, und beide sind schlecht.
Die erste: Sie zeigt einen Fehler und verwirft die Eingabe. Der Mitarbeitende scannt noch einmal, geht drei Schritte zurück Richtung Tor, scannt wieder. Nach dem dritten Mal schreibt er auf einen Zettel, und der Zettel kommt abends ins Büro — womit genau der Handweg zurück ist, den die Anwendung ablösen sollte.
Die zweite ist gefährlicher: Sie zeigt ein grünes Häkchen, obwohl nichts gesendet wurde. Der Wareneingang gilt als gebucht, die Palette steht im System, und niemand erfährt je, dass die Meldung nie angekommen ist. Ein Gerät, das nicht sagen kann „ich habe nichts übertragen“, sieht aus wie ein Gerät, bei dem alles in Ordnung ist.
Verbindungsabbruch im Lager: die drei Teile der Ordnung
Die Warteschlange ist der erste Teil. Jede Aktion am Gerät — Wareneingang, Umlagerung, Zählung — wird zuerst lokal festgeschrieben und bekommt eine eigene Kennung. Die Anwendung bestätigt dem Menschen den Vorgang, nicht die Übertragung; das sind zwei verschiedene Zusagen, und die Oberfläche muss sie auseinanderhalten. Was noch aussteht, steht sichtbar als Zahl am Rand.
Die Wiederholung ist der zweite. Sobald das Netz wieder da ist, werden die offenen Vorgänge in der Reihenfolge ihres Entstehens gesendet, mit wachsendem Abstand zwischen den Versuchen. Entscheidend ist die eigene Kennung: Der Server erkennt an ihr, dass er diesen Vorgang schon kennt, und bucht ihn nicht ein zweites Mal. Ohne diese Eigenschaft macht eine Wiederholung aus einem verlorenen Wareneingang einen doppelten.
Das Protokoll ist der dritte. Jeder Versuch hinterlässt eine Zeile: wann, welcher Vorgang, welche Antwort, welcher Grund beim Scheitern. Wenn die Inventur am Monatsende nicht aufgeht, ist das der Unterschied zwischen einer Suche und einer Frage mit Antwort.
Eine Grenze bleibt auch mit diesen drei Teilen bestehen, und wir sagen sie vorher. Vorgänge, die eine Freigabe aus dem führenden System brauchen — eine Sperrcharge, ein gesperrter Kunde —, lassen sich ohne Netz nicht abschließen. Sie werden erfasst und als ungeklärt geführt, statt so auszusehen, als wären sie entschieden. Und wenn zwei Geräte offline dieselbe Palette bewegen, löst die Anwendung den Widerspruch nicht selbst auf: Sie benennt ihn und legt ihn einem Menschen vor.
22 Quellen mit Puls: 89 Stunden Funkstille, die auffielen
Der Ausfall eines Geräts fällt auf, weil jemand davorsteht. Der Ausfall einer Anbindung fällt nicht auf — das ist die größte Sorge, die uns ein Auftraggeber dazu genannt hat, und sie ist berechtigt: „Es hört still auf, Daten zu ziehen, und wir erfahren es eine Woche später vom Kunden.“ Genau dieser Fall blieb in einem unserer Projekte bis dahin unbemerkt.
Deshalb hat dort jeder Datenfluss einen eigenen Puls bekommen, insgesamt 22 angebundene Quellen. Der Puls hängt am tatsächlich erfolgreichen Abruf und nicht an der Aktualität der Daten — sonst meldet eine Quelle, die nur nichts Neues zu berichten hat, einen Ausfall, und eine wirklich tote Quelle bleibt grün. Ein ausgefallener Lauf färbt sich rot und nennt den Grund; drei der 22 Quellen waren sofort als veraltet markiert.
Sichtbar wurden dabei 89 Stunden Funkstille bei den Sendungsdaten und 520 Fehler in Folge eines Postfachs, die vorher niemandem aufgefallen waren. Die Übersicht ist auch gegen sich selbst ehrlich: Sie meldet, wenn sie selbst nichts gemessen hat, statt in diesem Fall grün zu bleiben. Dieselbe Regel gilt für das Gerät im Lager — „nicht übertragen“ ist ein eigener Zustand, kein stiller Erfolg.
Verbindungsabbruch im Lager: so bauen wir die Anwendung
Wir schreiben vor dem Bau auf, welche Vorgänge ohne Netz zulässig sind, welche eine Freigabe brauchen und wie ein Widerspruch aufgelöst wird — diese Liste ist Teil der Leistungsbeschreibung und später der Maßstab der Abnahme des Ergebnisses. Das Programm am Regal entsteht in der Softwareentwicklung für Fertigung und Lager, der Weg der Meldungen in die führenden Systeme gehört zur Prozessautomatisierung zwischen Halle, Lager und ERP. Geprüft wird beides am ausgeschalteten Netz, nicht am Schreibtisch.
Weitere Beiträge
Welcher Zettel wandert bei Ihnen abends ins Büro?
Nennen Sie uns den Beleg oder die Meldung, die heute von Hand übertragen wird, und das System, in dem sie landen soll. Im Gespräch sagen wir, welchen Teil davon wir als Werkvertrag übernehmen.