Diese Seite beschreibt ohne Code, was die Engine von Sun Tech WCS tut: wie sie die Anlage darstellt, wie sie Routen wählt, wie sie mit dem WMS spricht und was sie anderen Systemen bereitstellt. Die technischen Details stehen in der Dokumentation des Repositorys, auf Englisch.
Die Anlage als Daten
Die Anlage besteht aus Geräten (den Punkten) und Verbindungen (den gerichteten Pfeilen dazwischen), gespeichert in der Datenbank des WCS. Beim Start werden sie zu einem Graphen, auf dem die Engine die Routen berechnet. Eine Maschine mehr ist ein Punkt mehr in der Zeichnung, nicht mehr Code.
Es gibt sieben Gerätetypen: Automatisierung, Aufgabe, Puffer, Lager, Kreisverteiler, Gruppe automatischer Geräte sowie Aufgabe und Puffer zusammen. Wie man eine Anlage modelliert, erklärt Modelling a plant.
Die Routen
- Es gewinnt der Weg mit den wenigsten Sprüngen; bei gleicher Zahl der am wenigsten belegte. Die Priorität der Verbindungen bestimmt die Reihenfolge, in der die Engine die Wege erkundet.
- Geschätzte Zeiten werden bewusst nicht verwendet: Die Route wird bei jedem Sprung aus dem tatsächlichen Zustand der Geräte neu berechnet.
- Man kann Pflichtdurchgänge, Gerätegruppen, die nur einmal durchfahren werden, und verschiedene Ebenen derselben Anlage vorgeben.
- Geräte außer Betrieb werden gemieden. Gibt es keine Alternative, versucht es die Engine erneut und bezieht sie ein: Eine beeinträchtigte Anlage arbeitet weiter, statt stehen zu bleiben.
Aufträge und Gerätezustände
Ein Auftrag ist eine Ladeeinheit, ein Ziel und ein Typ: Einlagerung, Auslagerung, Umlagerung, Ausschleusung, Defragmentierung und die übrigen, die die Engine vorsieht. Die Schritte eines Auftrags entstehen Sprung für Sprung.
Jedes Gerät hat einen Zustand: bereit, in Bewegung, beim Aufnehmen, beim Abgeben, belegt, in Wiederherstellung, außer Betrieb, gesperrt, Warnung, Fehler. „Fehler“ ist ein logischer Zustand – der letzte Befehl war nicht erfolgreich –, kein Feldalarm.
Der Dialog mit dem WMS
Die Arbeit fordert das WCS an. Läuft die Engine, fragt sie das WMS einmal pro Sekunde, was zu tun ist: auszuführende Auslagerungen, Versandaufträge. Das WMS schiebt keine Aufträge.
Physische Fakten, etwa eine Einheit, die an ihrem Platz angekommen ist, gehen aus dauerhaften Warteschlangen an das WMS zurück: Sie werden mindestens einmal zugestellt, mit einer Quittung, und überstehen einen Neustart und ein ausgeschaltetes WMS. Antwortet das WMS nicht, läuft die Engine weiter: Aufträge, die von ihm abhängen, warten, und die Fakten gehen raus, sobald es zurück ist.
Die Lagerlogik
Das WCS verwaltet die Auslagerungswarteschlange, Platzreservierungen, mehrfach tiefe Plätze, die Defragmentierung, Gerätegruppen und Ausschleuspunkte. Das ist der Teil zwischen „eine Palette von A nach B bringen“ und einer Anlage, die den ganzen Tag arbeitet.
API, Ereignisse und Verträge
- Eine HTTP-API mit 66 Operationen, per Schlüssel geschützt, um Engine, Geräte und Ladeeinheiten zu steuern und ihren Zustand zu lesen.
- Ein Echtzeit-Ereigniskanal (SignalR): Zustandsänderungen der Geräte, Aufträge, Auslagerungswarteschlange, Befehle.
- Ein typisierter .NET-Client mit automatischer Wiederverbindung zu den Ereignissen.
- Die Verträge im Format OpenAPI 3.1, aus dem Code erzeugt und bei jeder Änderung geprüft.
Betrieb
Das WCS läuft als Windows-Dienst und hält seine Daten in SQLite, ohne zu installierenden Datenbankserver. Es hat ein Werkzeug für Backup, Prüfung und Wiederherstellung auch bei laufender Engine, eine monatliche Historie der Vorgänge und Bewegungen und drei Überwachungsskripte. Details auf der Seite Sicherheit und Betrieb.
Was es noch nicht gibt
Die Viewer-Bibliothek, die eine schreibgeschützte Kopie des Zustands hält, ist experimentell. Die Logik eines neuen Gerätetyps erfordert heute eine Änderung der Engine: Sie erweiterbar zu machen, ist eine vom Projekt erklärte Richtung, noch nicht spezifiziert. Die vollständige Liste steht in den known limitations.
Möchten Sie es in Aktion sehen? Die Beispielanlage läuft in etwa fünfzehn Minuten auf einem Windows-Rechner, ohne Maschinen und ohne eigenes WMS. Einstieg
Kazam WMS · Lagerplattform