Du bist nicht mit dem Internet verbunden.
Corporate logo
Product Development 25109

Ist denn heute schon Weihnachten? Für den Warenausgang schon!

Der Grund: Wir durften unsere erste automatisierte Verpackungsmaschine auspacken (nein, sie hat sich leider nicht selbst eingepackt). Mit dem stetigen Wachstum unserer Firma steigen auch die An- und Herausforderungen an den Warenausgang.

Zu Spitzenzeiten werden im Zentrallager Wohlen bis zu 27 000 Bestellungen am Tag verarbeitet. Diese müssen zügig verpackt werden, damit wir täglich das Versprechen der Next-Day-Delivery einhalten können. Da unsere manuellen Verpackungsstationen mittlerweile an ihre physischen Kapazitätsgrenzen stossen und nur mit einer Teilautomatisierung die begrenzte Fläche sinnvoll genutzt werden kann, haben wir uns für den Kauf von Verpackungsmaschinen entschieden. In einer ersten Phase soll eine Verpackungsmaschine des Typs «CW1000» der Firma CMC, liebevoll «Packy McPackface» genannt, Abhilfe schaffen, bevor später eine weitere Maschine dazukommt.

Ziel dieser Lösung ist eine Entlastung unserer Mitarbeiter im Warenausgang, deren Können nun vermehrt beim Verpacken von zerbrechlichen oder grossen beziehungsweise eher unhandlichen Artikeln gefordert sein wird. «Packy» in unsere bestehende Logistiksoftware einzubinden, war eine spannende Herausforderung, die bis zur produktiven Einführung für viel kurzweilige Abwechslung gesorgt hat.

Prinzip

«Packy» ist der Traum eines jeden «Die Sendung mit der Maus»-Fans und hinterlässt nicht nur bei Kindern grosse Augen. Einen versandbereiten Artikel von der Einfahrt in die Maschine bis zum Aufdruck der Etikette auf dem fertigen Paket zu verfolgen, ist faszinierend. Während die Produkte auf einem Förderband in die Maschine fahren, misst die Maschine sekundenschnell und genau deren Dimensionen und schneidet später individuell einen passenden Karton zurecht, damit kein unnötiges Verpackungsmaterial verschwendet wird. Anschliessend fahren die Artikel in die bereits vorbereiteten Kartons und falls vorgesehen, können dabei noch andere Dokumente, wie zum Beispiel Lieferscheine oder Prospekte beigelegt werden, bevor die Kartons schliesslich stabil zusammengefaltet und zugeklebt werden. Abgeschlossen wird der Verpackungsprozess mit dem Anbringen der zugehörigen Etikette, welche die nötigen Versandinformationen für die Post enthält. Dieser Prozess wiederholt sich ungefähr 700 Mal pro Stunde.

Falten...

...Zukleben...

...Etikettieren

Damit «Packy» weiss, was alles ins Paket kommt und was auf die Etikette gedruckt werden muss, füttern wir ihn mit Daten aus unserem eigenen und in-house entwickelten ERP. Die Herausforderung für unser Entwicklungsteam Phoenix bestand darin, «Packy» in den existierenden ERP-Verpackungsprozess zu integrieren, was auch die technische Anbindung an unser System bedeutete.

Konzeptphase (PoC)

Bei der Digitec Galaxus AG setzen wir inzwischen vermehrt auf Cloud Computing. Daher hatten wir im Zuge des Projektes die Möglichkeit, die Schnittstelle zwischen ERP und «Packy» in einem eigenen Modul in der Cloud zu realisieren. «Packy» kommuniziert klassisch per TCP-Socket, eine Kommunikationsform, die wir bis zu diesem Zeitpunkt noch nicht verwendet hatten. Infolgedessen mussten wir zuerst definieren, wer in diesem Szenario welche Rolle spielen, das heisst wer Server und wer Client sein sollte. Unsere Entscheidung war schliesslich, dass «Packy» der Client und unser Cloud-Modul das Gegenstück, der Server, sein sollte. Da «Packy» sehr einfach gestrickt ist, benötigt er die Daten nur in Form eines Strings, welche als Events zu verstehen sind: Es sind Requests und Responses zwischen «Packy» und dem Server.

Der Entwicklungsprozess. Das Bild findest du hier in besserer Auflösung.

Mit der Entscheidung, das Server-Modul in der Cloud zu implementieren, betraten wir in unserer Logistik-Softwarelösung Neuland. Die involvierten Entwicklungsteams leisteten in diesem Bereich aus diesem Grund viel Pionierarbeit. Als Umgebung für unser Server-Modul in der Cloud wählten wir einen Kubernetes-Cluster, da dieser extrem schlank ist, schnell deployed werden kann, gut skaliert und fast keine Ressourcen verbraucht. So innovativ diese Entscheidung auch war, brachte sie uns einiges an Kopfzerbrechen während der Entwicklung. Beispielsweise gestaltete sich eine stabile und schnelle Kommunikation zwischen dem Server und ERP anfangs schwierig. Ebenfalls zum Einsatz kommt ein Azure Service Bus, der eingerichtet wurde, um die Daten über Message-Queues zwischen ERP zum Server-Modul hin- und herzuschleusen. Denn: Zuerst benötigt «Packy» Informationen vom ERP-System, um ein Paket zu verpacken. Anschliessend muss «Packy» wiederum dem ERP-System mitteilen, dass das Paket erfolgreich verpackt wurde, damit dort die zugehörigen Daten aktualisiert werden können und das Paket als «versendet» markiert wird. Dazu wurde nebst dem Cloud-Modul noch ein neues Nachrichtenempfänger-Modul gebaut, damit das ERP dessen Messages verarbeiten kann.

Das Bild findest du hier in besserer Auflösung.

Ablauf

Obige Kommunikation von «Packy» mit dem Server-Modul stellt einen wichtigen Teil der Anbindung dar. Ein ebenso wichtiger Teil ist die Integration von «Packy» in unseren Arbeitsworkflow für das Verpacken seitens ERP, denn ohne korrekte Datenaufbereitung im ERP kann «Packy» nichts mit den Artikeln anfangen, die ihm zur Verpackung übergeben werden. Dazu wurde der modularisierte Verpackungs-Workflow im ERP vorgängig folgendermassen angepasst:

Mitarbeiter identifizieren die zu versendenden Artikel per Barcode und bündeln diese bei Bedarf mit Hilfe einer Banderoliermaschine. Gleichzeitig wird eine kleine Etikette mit einem QR-Code ausgedruckt, welche auf die Artikel geklebt wird. Gleichzeitig schickt das ERP die für «Packy» nötigen Paket-Daten an unser Cloud-Modul (Server). Unter anderem befindet sich dort der ZPL-Code für den Etikettendrucker, welcher den Inhalt der Etikette, wie beispielsweise die Paketnummer, enthält.

Der zu verpackende Artikel fährt nun per Förderband auf «Packy» zu, wobei ein Barcodeleser den QR-Code automatisch scannt und damit die Paket-Informationen, die zum Artikel gehören, beim Server anfordert. Anschliessend werden die Dimensionen der zu verpackenden Produkte von «Packy» überprüft und der entsprechende Karton vorbereitet sowie zurechtgeschnitten. Während der Artikel durch die Maschine fährt, tauschen Server und Client («Packy») ständig Events aus. Das Resultat ist, dass wir immer wissen, wo sich das Paket gerade befindet und «Packy» bei Bedarf mit zusätzlichen Daten versorgen können, um den jeweils nächsten Schritt auszuführen. Solche Daten können unter anderem die Informationen enthalten, ob dem aktuellen Artikel ein Lieferschein beigelegt werden soll oder ob das Produkt inzwischen manuell aus der Maschine entfernt wurde.

Zum Abschluss klebt «Packy» die Adressetikette auf das fertig gefaltete und zugeklebte Paket. Anschliessend scannt «Packy» den aufgedruckten Paketnummer-Barcode ab, um zu validieren, ob dieser mit dem anfangs von uns übermittelten Barcode übereinstimmt, um sichergehen zu können, dass das Paket an die richtige Adresse geht. Falls nach diesem Schritt alles passt, gibt das Cloud-Modul per Event ans ERP grünes Licht, die Daten im ERP anzupassen und das Paket als «verpackt» zu markieren.

Das Bild findest du hier in besserer Auflösung.

Wo gehobelt wird, da fallen Späne: Es besteht die Möglichkeit, dass wir «Packy» zum Beispiel aus Versehen mit zu grossen Artikeln füttern. In diesem Fall ist vorgesehen, dass die Maschine diese Artikel ausschleust, nachdem die Dimensionen überprüft wurden. Wir haben bei solchen Fällen die Möglichkeit vorgesehen, dass wir diese problematischen Artikel noch einmal maschinell oder sogar manuell verpacken kann. Jeder dieser Fehlerfälle wird in unserem Azure-Portal geloggt, wo wir uns ein übersichtliches Dashboard zwecks Monitoring eingerichtet haben. Dieses wird auf einem grossen TV bei den Entwicklerarbeitsplätzen angezeigt. Wir nutzen in Azure die Möglichkeit von automatischen Benachrichtigungen (Alerts) und Dashboards, damit wir kontinuierlich über Fehlerfälle informiert werden und im Notfall die Möglichkeit haben, schnell und adäquat zu reagieren.

Monitoring: Das Azure-Dashboard mit den nötigen Informationen zur Schnittstelle. Das Bild findest du hier in besserer Auflösung.

Fazit

Die Integration von «Packy» in unser System war ein sehr spannendes und herausforderndes Projekt, bei welchem wir uns mit neuen Technologien auseinandersetzen konnten und viel neues Know-How aufgebaut wurde. Erwartungsgemäss ist der Einsatz von neuen Technologien immer eine Herausforderung, welche teilweise auch unvorhersehbare Stolpersteine mit sich bringt: Beispielsweise haben die Cloud Services oder die Einrichtung eines verschlüsselten Kommunikationskanals zwischen «Packy» und dem Cloud-Modul einige Male zu Sorgenfalten geführt. Mit dem Einsatz von Verpackungsmaschinen und «massgeschneiderten» Paketen wird zukünftig viel Verpackungs- sowie Füllmaterial reduziert, was sowohl ökologisch als auch wirtschaftlicher ist.

Interessiert?

Hast du Lust, bei uns mitzuarbeiten? Dann sieh dir unsere Stelleninserate durch und finde den perfekten Job für dich.

Diese Beiträge könnten dich auch interessieren

<strong>Black Friday</strong>: Wie ein riskantes Experiment den Tag gerettet hat
Product Development

Black Friday: Wie ein riskantes Experiment den Tag gerettet hat

Schluss mit Luftschlangen: Digitec Galaxus verpackt neu ohne Füllmaterial
Firmenneuigkeiten

Schluss mit Luftschlangen: Digitec Galaxus verpackt neu ohne Füllmaterial

<strong>Team Isotopes</strong>: Die Speed Demons des Engineerings
ComputingProduct Development

Team Isotopes: Die Speed Demons des Engineerings

User
If you like nerds, raise your hand. If you don't, raise your standards.

25 Kommentare

3000 / 3000 Zeichen
Es gelten die Community-Bedingungen.

User Anonymous

Packy McPackface - wurde der Name per Online Voting ermittelt? ;-)

11.10.2018
User Anonymous

OMFG wie geil wäre das denn XD

11.10.2018
User rams_arto

spiegel.de/panorama/gesells...

11.10.2018
User A.J.(LCC)

Und was ist mit Sir Packsalot? =)

12.10.2018
User Srdjan Curcic

Obwohl wir bei uns auch Machine Learning einsetzen, konnte sich "Packy McPackface" gegen die Vorschläge unserer Recommender Systeme durchsetzen. 😉

12.10.2018
User boskicthebrain

Es gibt doch zwei Maschinen und damit dürfte es auch 2 Namen geben ;)

12.10.2018
Antworten
User Sinthoras

Sehr geil. Mir gefällt sehr, wir ihr auf Azure und den SOA bzw. Microservice-Ansatz setzt. Bitte mehr solcher Artikel :-)

11.10.2018
User filip.henggeler.1

Ein wirklich sehr spannender Artikel!

11.10.2018
User Anonymous

Der Teamleiter von Phoenix soll ziemlich attraktiv sein.

12.10.2018
User raphaelrenaud

Das sind ja mal News für die Frauenwelt da draussen!

16.10.2018
Antworten
User carcharoth

Kann Packy Pakete mit Polstermaterial füllen? Nicht, dass wir hier dasselbe Problem haben wie die Konkurrenz aus Mägenwil, die monatelang Waren ohne brauchbare Polsterung versendet hat.

11.10.2018
User Srdjan Curcic

"Packy" füllt die Pakete nicht mit Polstermaterial. Die Pakete werden jeweils individuell zugeschnitten, damit sie möglichst passgenau sind.

12.10.2018
User MakeAppsNotWar

@Curcic. Polstermaterial füllt aber nicht nur die leer Räume, sondern schützt such vor äusseren einwirkungen.
Eine HDD hat keine Freude nur in einem Karton zu sein - wie ihr zum Glück schon selbst gemerkt habt.

12.10.2018
User Srdjan Curcic

Wir haben der Thematik "Polsterung" folgendermassen Rechnung getragen: Es werden bewusst nicht alle Produkte, welche von den Abmessungen her durch die Maschine verpackt werden könnten auch tatsächlich maschinell verpackt. Beispielsweise werden zerbrechliche oder andere empfindliche Produkte, sowie Sammelbestellungen ab vier Artikeln weiterhin manuell verpackt.

12.10.2018
User carcharoth

Danke fürs Klarstellen :)

12.10.2018
Antworten
User gamerrici

Das ist nicht gut. Das ist richtig geil. Als Automatisierungsfreak ist das hier gerade richtig genüsslich. Viel Erfolg mit der Maschine!

11.10.2018
User account

Toller Artikel mit guten Insights - besonders interessant als Software Engineer. :)

11.10.2018
User D0doooh

Ein Video wäre doch noch ganz schön? :)

12.10.2018
User Anonymous

Können auch mehrere Produkte zu einem Paket verpackt werden?

12.10.2018
User Srdjan Curcic

Ja! Mit dem aktuellen Setup haben wir die Möglichkeit bei Sammelbestellungen bis zu vier Artikel zusammen zu verpacken.

12.10.2018
Antworten
User Tangwar

Génial le temps d'attente pour les colis seront moins longs qu'avant !

Juste GG à vous Digitec.

P.S le shop est le meilleure de Suisse avec les meilleur prix.

15.10.2018
User phaupt

Super interessanter Artikel. Gerne mehr davon! :)

12.10.2018
User noSuchUsername

Spannend. Aber warum der PackingMachine-Server in einem eigenen Kubernetes-Cluster läuft, habe ich noch nicht verstanden. Wahnsinnig viel zu tun hat er ja nicht und viel zu skalieren gibt es auch nicht. Ihr stellt ja nicht laufend neue Verpackungsmaschinen hin. Aber vielleicht habt ihr ja auch nur einen Kubernetes-Kurs besucht, und wolltet euer neues Wissen anwenden. 😀

11.10.2018
User Srdjan Curcic

Unser Wissen stammt natürlich nicht nur aus einem einzelnen Kurs oder Online-Tutorials... 😀 Der Eindruck täuscht, dass nur der PackingMachine-Server auf dem Kubernetes-Cluster läuft. Da wir bereits jetzt bei unserer Softwarelösung auf Cloud Computing setzen, laufen aktuell schon weitere Dienste auf dem Kubernetes-Cluster. Zukünftig sollen dort noch etliche weitere Dienste ihr Zuhause finden.

12.10.2018
User noSuchUsername

Merci. Das ergibt mehr Sinn. Ein Paket alle paar Sekunden lastet schliesslich noch keinen Cluster aus.

12.10.2018
Antworten