Potrebbe aver già confezionato il tuo ultimo ordine: la nuova macchina di imballaggio nel magazzino centrale di Wohlen.
Potrebbe aver già confezionato il tuo ultimo ordine: la nuova macchina di imballaggio nel magazzino centrale di Wohlen.
Retroscena

Ma è già Natale? Per l’uscita merci sì!

Team Phoenix
Zürich, il 11.10.2018
Abbiamo infatti già spacchettato la nostra prima macchina di imballaggio (no, non è riuscita né a impacchettarsi né a spacchettarsi da sola). La nostra azienda continua a crescere e, di conseguenza, cambiano anche le esigenze e gli standard dell’uscita merci.

Nelle ore di punta, nel magazzino centrale di Wohlen vengono elaborati fino a 27’000 ordini al giorno, che devono essere imballati rapidamente in modo da essere recapitati il giorno seguente, come da noi promesso. Le nostre stazioni di imballaggio manuale stanno raggiungendo i loro limiti di capacità e lo spazio, che in sé è limitato, può essere sfruttato al meglio solo con un'automazione parziale. Pertanto, abbiamo deciso di acquistare macchinari di imballaggio. In questa prima fase, è stata messa in funzione una prima macchina: la «CW1000» di CMC, che noi chiamiamo affettuosamente «Packy McPackface». Successivamente entrerà in azione un secondo macchinario.

L'obiettivo di questa soluzione è quello di alleggerire il lavoro dei nostri collaboratori nel reparto di uscita merci. Le loro competenze da ora in poi saranno richieste per l’imballaggio di articoli fragili o di grandi dimensioni. L’integrazione di «Packy» nel nostro software logistico è stata una sfida entusiasmante e ha creato una serie di diversivi alla nostra quotidianità.

Il principio

«Packy» è il sogno di ogni bambino che c’è in noi. È veramente affascinante seguire un articolo pronto per la spedizione dal momento in cui entra nella macchina di imballaggio fino alla stampa dell’etichetta sul pacco. I prodotti vengono caricati sul nastro trasportatore per raggiungere il cuore della macchina che in pochi secondi misura le loro dimensioni esatte. Successivamente «Packy» ritaglia il cartone su misura in modo da non sprecare materiale di imballaggio. Gli articoli vengono poi inseriti nei cartoni già preparati allegando, se necessario, anche altri documenti come bolle di consegna o opuscoli, dopodiché i pacchi vengono ripiegati e sigillati. Il processo di imballaggio si conclude con l'applicazione dell'etichetta, che contiene le informazioni necessarie per la spedizione postale. Questo processo si ripete circa 700 volte all'ora.

Ripiegare...
... sigillare...
... e infine etichettare il pacco.

Affinché «Packy» sappia cosa va inserito nel pacco e cosa deve essere stampato sull’etichetta, noi lo alimentiamo di dati che gli vengono forniti dal nostro ERP, il software di gestione della nostra azienda che abbiamo sviluppato internamente. La più grande sfida a cui andava incontro Phoenix, il nostro team di sviluppatori, consisteva proprio nel riuscire a integrare «Packy» al processo di imballaggio di ERP e cioè collegarlo al nostro sistema.

Fase concettuale (PoC)

Ultimamente presso Digitec Galaxus AG ci stiamo concentrando sempre più sul cloud computing. Pertanto, nel corso del progetto, abbiamo avuto l’opportunità di implementare l’interfaccia tra ERP e «Packy» in un modulo separato nel cloud. «Packy» comunica in modo classico, e cioè tramite socket TCP, un mezzo di comunicazione che non avevamo mai usato prima. Di conseguenza, dovevamo innanzitutto definire chi avrebbe giocato il ruolo di server e chi quello di client. La nostra decisione finale è stata che «Packy» doveva essere il client e il nostro modulo cloud, cioè la controparte, doveva essere il server. Ma «Packy» non è un tipo complicato e gli bastano i dati sotto forma di String, che sono singole informazioni chiamate Event. In parole povere, «Packy» e il server comunicano per botta e risposta (o per Request e Respond, in termini tecnici).

Il processo di sviluppo.

Con la decisione di implementare il modulo server nel cloud, abbiamo aperto nuove strade nella nostra soluzione software per la logistica. Il team di sviluppatori coinvolti ha pertanto svolto un lavoro pionieristico in questo settore. Abbiamo scelto un cluster K8s come ambiente per il nostro modulo server nel cloud perché è estremamente agile, vanta un deployment rapido, si adatta bene e non consuma quasi nessuna risorsa. È stata una decisione innovativa che ci ha causato qualche mal di testa durante lo sviluppo. Ad esempio, la comunicazione tra server ed ERP inizialmente era difficile, poco stabile e lenta. Viene inoltre utilizzato un servizio di Azure che è stato configurato per trasferire i dati tra ERP e il modulo server tramite cosiddette code di messaggi. Infatti «Packy» per poter confezionare un pacco, necessita innanzitutto delle informazioni di ERP. Dopodiché, «Packy» deve informare nuovamente il sistema ERP che il pacco è stato imballato con successo, in modo che i dati vengano aggiornati nel sistema e che il pacco sia contrassegnato come «inviato». Oltre al modulo cloud, è stato costruito un nuovo modulo di ricezione di messaggi in modo che ERP possa elaborare i messaggi che gli arrivano.

Procedura

La comunicazione tra «Packy» e il modulo server sopradescritta è una parte importante della connessione. Ma altrettanto importante è che «Packy» venga integrato da parte di ERP al nostro flusso di lavoro per l’imballaggio, poiché senza una corretta preparazione dei dati in ERP, «Packy» non può impacchettare nulla. Il flusso di lavoro modularizzato per l’imballaggio è stato adattato come segue nel sistema ERP:

I collaboratori identificano gli articoli da inviare tramite i codici a barre e in caso di necessità li raggruppano tramite una macchina fasciatrice. Contemporaneamente, viene stampata una piccola etichetta con il codice QR che viene poi attaccata all’articolo. Allo stesso tempo, ERP invia i dati necessari per «Packy» al nostro modulo cloud (server). Tra le altre cose, essi includono il codice ZPL) che contiene le informazioni dell'etichetta, come ad esempio il numero del pacco.

L'articolo che deve essere imballato viene portato a «Packy» sul nastro trasportatore, dove un lettore di codici a barre scansiona il codice QR e richiede al server le informazioni relative al pacco. «Packy» verifica le dimensioni del prodotto, dopodiché taglia e prepara il cartone su misura. Mentre l'articolo viene trasportato sul nastro di «Packy», il server e il client (cioè «Packy» stesso) si scambiano costantemente informazioni (o Event in termini tecnici). Il risultato è che sappiamo sempre dove si trova il pacco e possiamo fornire a «Packy» i dati aggiuntivi per intraprendere ulteriori passi. Questi dati possono includere diverse informazioni; ad esempio se è necessario allegare una bolla di consegna all'articolo o se il prodotto è stato rimosso manualmente dalla macchina.

Dopo aver ripiegato e sigillato il pacco «Packy» vi attacca l'etichetta di invio. «Packy» scansiona poi il codice a barre del numero del pacco e verifica se corrisponde al codice a barre che gli abbiamo inviato inizialmente. In tal modo siamo sicuri che il pacco venga inviato all'indirizzo giusto. Se procede tutto correttamente, il modulo cloud dà il via libera a ERP che a sua volta contrassegna il pacco come «imballato» all’interno del sistema.

Il processo di sviluppo. Vedi l’immagine in risoluzione migliore

Chi non risica non rosica: cosa succede se, per sbaglio, a «Packy» vengono mandati articoli di dimensioni eccessive? Se l’articolo è troppo grande, «Packy» lo espelle dal macchinario. In tal caso si ritenta di imballarlo meccanicamente o lo si fa manualmente. Tutti questi errori vengono registrati nel nostro portale Azure, dove abbiamo creato un dashboard che ci fornisce una chiara panoramica di monitoraggio. Negli uffici degli sviluppatori si trova un grande TV che ci permette di tenere il dashboard sempre sotto controllo. Utilizziamo inoltre gli avvisi automatici (Alert) e diversi dashboard di Azure, così da essere sempre aggiornati sugli errori e rispondere tempestivamente e in maniera appropriata in caso di emergenza.

Monitoring: il dashboard di Azure con tutte le informazioni sull’interfaccia.

Conclusione

Il lavoro di integrazione di «Packy» al nostro sistema è stato molto stimolante e impegnativo. Ci siamo potuti confrontare con nuove tecnologie e abbiamo imparato moltissimo. L’utilizzo di nuove tecnologie è sempre una sfida, che a volte porta con sé ostacoli imprevedibili: i servizi cloud e la creazione di un canale di comunicazione criptato tra «Packy» e il modulo cloud, ad esempio, ci hanno causato una serie di preoccupazioni. L'utilizzo di macchinari di imballaggio che generano pacchi su misura in futuro ridurrà il materiale di imballaggio e quello di riempimento, il che è è più ecologico e più economico.

A 181 persone piace questo articolo


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

Potrebbero interessarti anche questi articoli