📅 · 4 min di lettura · Team Meta Smart Factory
Ogni stabilimento ha un momento in cui il piano stampato e la sequenza che gira davvero smettono di coincidere, e nessuno lo dice più. Il piano continua a uscire ogni mattina, il reparto continua a mandare avanti quello che si può mandare avanti, e a ogni turno i due si allontanano di qualche ora. Questa pagina parla di come chiudere quella distanza: che cosa deve soddisfare un programma di produzione per essere seguibile, che cosa ci fa un software di advanced planning and scheduling, che cosa chiede prima a voi e come si distingue un buon programma da uno soltanto ottimista.
Dà per scontato che conosciate il vostro processo e che non abbiate mai comprato un software di schedulazione.
Si parte dai vincoli, perché il software è interessante solo nella misura in cui riesce a rappresentarli. Una macchina fa un lavoro alla volta, e il tempo per passare dal lavoro in corso al successivo dipende di solito da quali sono quei due lavori. Da un colore chiaro a uno scuro basta una pulita; da scuro a chiaro servono spurgo e lavaggio. Questo è il setup dipendente dalla sequenza: il tempo di attrezzaggio non è una proprietà di un'operazione ma di una coppia di operazioni su una certa risorsa, perché lo stesso cambio colore costa una cosa su una pressa grande e un'altra su una piccola, e su certe linee dipende anche dallo stato macchina. È il vincolo che più spesso manca nel sistema gestionale, ed è il motivo per cui un piano che esce dall'ERP somiglia così spesso a un elenco ordinato più che a una sequenza.
Poi ci sono i vincoli che non stanno attaccati a una sola macchina, e che su parecchie linee legano più della matrice di setup. Uno stampo, un'attrezzatura o un banco prova può stare in un posto solo alla volta, quindi due celle che potrebbero entrambe fare l'ordine non possono farlo tutte e due. Un operatore abilitato è la stessa specie di oggetto scarso: tre persone in turno e una sola certificata per quella classe di saldatura vuol dire che quella classe ha capacità uno. L'aria compressa, un forno o un carroponte legano su tutta un'area, quindi due lavori che presi singolarmente ci stanno, insieme possono non starci.
La disponibilità del materiale è una precondizione dura e un input morbido. L'ordine non può partire prima che arrivi il componente, ma la data di arrivo è una promessa di un fornitore che ha la sua affidabilità. Il programma dovrebbe quindi mostrare quali ordini dipendono da una consegna non ancora entrata, così che l'esposizione sia visibile sul piano invece che spalmata dentro un lead time e scoperta la mattina in cui il materiale non arriva.
I calendari pesano più di quanto ci si aspetti. I turni cambiano da area ad area, non da stabilimento a stabilimento: il trattamento termico gira di notte e il montaggio no, e un cambio formato del venerdì che non si riesce a chiudere prima della fine turno verrà fatto due volte. Le finestre di manutenzione, le festività e la fermata annuale sono periodi in cui una risorsa esiste nell'anagrafica cespiti e non è disponibile alla produzione.
E poi ci sono regole di processo che non hanno niente a che vedere con la capacità. Polimerizzazione, essiccazione, raffreddamento e quarantena impongono attese minime fra le operazioni, e spesso anche massime: far polimerizzare almeno quattro ore, verniciare entro ventiquattro, usare l'adesivo miscelato entro il suo pot life, lavare il pezzo prima che si formi la ruggine superficiale. Uno schedulatore che capisce le attese minime ma non quelle massime produrrà in silenzio piani che mandano a scarto il materiale. Certe coppie di operazioni devono essere consecutive perché il pezzo non si può lasciare a metà; certi lotti vanno fatti sulla capacità della vasca e non sulla quantità richiesta.
L'MRP fa una cosa davvero utile, e non è schedulare. Esplode la domanda attraverso le distinte base, nettifica contro giacenze e ordini aperti, sfasa di un lead time fisso per articolo e vi dice che cosa fare o comprare e all'incirca quando partire. Per farlo su migliaia di codici, assume che la capacità sia disponibile ogni volta che l'aritmetica la chiede.
Quell'assunzione salta senza far rumore. Due ordini vogliono la pressa alle dieci e l'MRP ce li mette tutti e due. Lo sfasamento di lead time è un numero impostato una volta, una media di tempi di coda, lavorazione e trasferimento in condizioni che non valgono più, e i cambi o non ci sono o sono nascosti dentro come una maggiorazione fissa che non dipende dalla sequenza. Il risultato è aritmeticamente coerente e fisicamente irrealizzabile, che è peggio che essere sbagliato, perché a sistema sembra corretto.
La differenza la assorbe il reparto. Qualcuno risequenzia a mano, di solito bene, usando una conoscenza che vive in una o due teste, e il piano diventa un suggerimento. Tutto ciò che ne deriva eredita l'errore: le date di consegna promesse, i tempi di acquisto, gli organici, il numero di capacità dichiarato al commerciale. Quando un pianificatore risponde gonfiando i lead time, la protezione è reale e lo è anche il costo, perché lead time gonfiato vuol dire lavoro rilasciato in anticipo, che diventa WIP fermo fra una postazione e l'altra.
Il foglio Excel che sostituisce quelle date è un miglioramento vero con un tetto. Funziona perché il pianificatore tiene in testa la matrice dei cambi e i conflitti di attrezzatura, e va in crisi sui volumi, quando lui è in ferie e sulla domanda di che cosa si rompe se accettiamo questo ordine.
La schedulazione a capacità finita ribalta la domanda. Invece di chiedersi quando un'operazione dovrebbe partire se non ci fosse niente davanti, colloca le operazioni su risorse che hanno già del lavoro sopra, rispettando setup, calendari, attrezzature e precedenze, e riporta le date che ne escono. Le date diventano un output invece che un input.
Le conseguenze sono pratiche. La sequenza su ogni risorsa è esplicita, quindi la matrice di setup si può sfruttare: dove il setup pesa in modo significativo sulla capacità disponibile, raggruppare prodotti compatibili recupera ore di cambio senza investimenti. Se sia il vostro caso è un numero che potete misurare questa settimana, e vale la pena misurarlo per primo, perché su una linea con cambi da cinque minuti e un problema di materiale il sequenziamento non recupera quasi niente. I colli di bottiglia diventano visibili come carichi anziché come opinioni. Siccome il piano è vincolato, aggiungere un ordine mostra che cosa sposta, ed è questo a rendere possibile una promessa di consegna credibile.
Cambia anche il rilascio. Un piano a capacità infinita rilascia il lavoro appena gli sfasamenti lo consentono; un piano finito rilascia quando il vincolo è in grado di prenderlo, il che abbassa il WIP e accorcia la distanza fra il momento in cui si genera un difetto e quello in cui lo si trova. Niente di tutto questo è gratis: il modello va mantenuto, ed è onesto quanto lo sono i tempi che contiene.
Confonderli è il motivo più comune per cui un progetto di schedulazione produce qualcosa che non usa nessuno. La pianificazione lavora su settimane e mesi. Risponde se la domanda è fattibile in aggregato, se a marzo serve un secondo turno, che cosa impegnare con i fornitori. L'unità è una famiglia e una settimana; più precisione sarebbe falsa, perché nemmeno la domanda è precisa.
La schedulazione lavora su ore e giorni. Risponde qual è la sequenza su ogni risorsa per i prossimi turni, con i setup che quella sequenza comporta, ed è ciò che APS significa più precisamente.
Il dispatching lavora sui minuti. Risponde che cosa fa partire adesso l'operatore di quella cella, dato il fermo, il primo pezzo non conforme, il materiale che non è arrivato. Sta dentro a qualunque cosa l'operatore guardi davvero — un terminale MES, una lista di dispatching, una sequenza attaccata alla macchina — e quello che conta è che stia vicino al lavoro e che possa scostarsi dal programma, perché anche la realtà ha diritto di voto.
Il modo tipico di sbagliare è usare uno strumento alla quota sbagliata: schedulare al minuto a tre settimane, oppure pianificare la capacità partendo da una lista di dispatching. L'altro è vietare gli scostamenti a livello di dispatching, cosa che rende il sistema un ostacolo e garantisce che venga aggirato.
Un motore di schedulazione è un calcolo sulla vostra anagrafica. Se i dati sono decorativi, l'output è decorativo e sicuro di sé.
I cicli di lavorazione devono riflettere come il pezzo si fa davvero, alternative comprese. Se un lavoro può girare su tre macchine ma il ciclo ne indica una, lo schedulatore accoda lì il lavoro e vi segnala un collo di bottiglia che non avete. Se un ciclo omette un'operazione che c'è sempre — una sbavatura, un controllo, un'attesa di raffreddamento — tutte le date sono corte di quel tanto.
I tempi ciclo vanno misurati, non ereditati. I tempi standard nella maggior parte degli ERP sono stati inseriti all'avviamento e riflettono un'attrezzatura e un operatore che potrebbero non esistere più. Non servono tempi perfetti, servono tempi il cui errore sia piccolo e non sistematico: un ciclo in cui ogni operazione è ottimistica dello stesso margine si somma in un programma sbagliato di un turno a fine settimana.
I tempi di cambio sono il dato che più spesso manca del tutto, ed è il più prezioso. Una matrice completa di tutte le coppie di prodotto è raramente mantenibile. Quello che funziona è raggruppare i prodotti in famiglie in base a ciò che guida davvero l'attrezzaggio — colore, materiale, attrezzatura, temperatura, larghezza — e definire i tempi fra famiglie, con eccezioni solo dove contano. Mettete in conto di tenere quella matrice famiglia-famiglia per gruppo di risorse e non una sola per lo stabilimento, perché la stessa transizione raramente costa uguale su due macchine diverse.
Il WIP attuale è la parte che ci si dimentica. Il programma di domani parte dallo stato del reparto stasera: che cosa è a metà, dov'è, che cosa è attrezzato su ogni macchina. Se quello stato viene digitato a fine turno da un foglio cartaceo, lo schedulatore sta ottimizzando una fabbrica che esisteva qualche ora fa.
I dati sbagliati si annunciano da soli. Una risorsa è sempre satura e tutte le altre ferme, il che di solito vuol dire che i cicli la alimentano in modo artificiale. I pianificatori forzano gli stessi ordini tutti i giorni, il che vuol dire che nel modello manca un vincolo. I lavori vengono confermati a blocchi nello stesso minuto, il che vuol dire che le dichiarazioni sono ribattute dopo e gli orari di inizio sono finzione. L'istinto è mettere mano al motore; la causa è quasi sempre l'anagrafica.
La puntualità delle consegne è il risultato che conta, misurata sulla data comunicata al cliente e non sull'ultima data interna rivista, altrimenti il numero migliora mentre l'esperienza del cliente no.
Le ore totali di cambio a settimana sono la misura più pulita di quanto stia lavorando il sequenziamento, ed è direttamente convertibile in capacità.
WIP e tempo di attraversamento dicono se il piano sta rilasciando in modo sensato. Un programma che migliora la puntualità inondando il reparto di rilasci anticipati ha solo spostato il problema nei corridoi.
L'aderenza al programma — quanto di ciò che era previsto per un turno è stato davvero fatto, e nella sequenza prevista — è la misura onesta di quanto il piano sia credibile. Un programma con ottime metriche teoriche che il reparto ha smesso di seguire prima di pranzo è un documento.
L'utilizzo è la trappola. Tenere occupata ogni macchina che non è il vincolo produce magazzino, non produzione, e una linea caricata ovunque vicino al suo tetto non ha più niente con cui assorbire la variabilità, quindi le code crescono in modo non lineare e i lead time peggiorano mentre il numero di utilizzo migliora. Guardatelo sul vincolo e in gran parte ignoratelo altrove.
Un motore che ripianifica in pochi secondi invita a ripianificare di continuo. Resistete. Se la sequenza cambia ogni volta che si muove qualcosa, il reparto impara che il piano delle otto non è il piano delle dieci, e torna a fare quello che gli sembra sensato. Quell'instabilità si chiama nervosismo, e distrugge la fiducia più in fretta di quanto faccia un programma mediocre.
Lo schema che funziona è un orizzonte congelato più una regola. Dentro la finestra la sequenza non cambia se non per blocchi veri, così gli attrezzaggi già iniziati non vengono sprecati; oltre la finestra, la riottimizzazione è ammessa. La regola pratica è ripianificare non più spesso di quanto è lunga la finestra congelata, e fissare quella finestra su due cose che potete osservare nell'area: quanto dura un attrezzaggio e quanto spesso arriva un blocco vero. Un'officina meccanica con lavori da un'ora e un conflitto di attrezzature quasi ogni giorno congelerà qualche ora e ripianificherà a ogni turno; un impianto di processo che gira campagne di una settimana congelerà giorni. In ogni caso, alle ripianificazioni programmate si affiancano quelle scatenate da un evento: un guasto macchina, una consegna mancata o un ordine urgente.
Due cose fanno funzionare la regola. L'elenco delle eccezioni deve essere esplicito: che cosa vale come motivo per rompere il congelamento e chi può autorizzarlo. E quando il programma cambia davvero, il capoturno deve poter vedere perché, perché un cambiamento senza spiegazione si legge come software inaffidabile.
L'ERP possiede il mondo commerciale e materiale ed è la fonte di che cosa va fatto ed entro quando. L'APS possiede la sequenza, prendendo domanda e materiali dall'ERP, i vincoli dal proprio modello e lo stato del reparto dall'esecuzione. Il MES possiede l'esecuzione e la sua registrazione, ed è anche il sensore dell'APS, senza il quale lo schedulatore è cieco sul presente.
L'anello si chiude solo se gira nei due sensi: da APS a MES va il programma, da MES ad APS va quello che è successo davvero. Un file giornaliero di dichiarazioni basta per pianificare domani e non basta per ripianificare questo pomeriggio.
Le responsabilità vanno messe nero su bianco prima dell'avviamento, perché le discussioni sono prevedibili. Chi può cambiare una data di consegna. Chi mantiene la matrice dei cambi e i tempi ciclo, e con quale ciclo di revisione. Chi può forzare la sequenza in cella, e se la forzatura viene registrata. Quale sistema fa fede quando ERP e schedulatore non sono d'accordo su che cosa c'è a magazzino. Lasciare queste cose implicite è il motivo abituale per cui un'implementazione tecnicamente corretta si impianta.
Una demo del fornitore sui dati del fornitore dimostra solo che il software gira. Giudicatelo invece sul vostro stabilimento; se lo circoscrivete, l'esercizio costa poco.
Scegliete un'area con vincoli veri — setup significativi, attrezzature condivise, ordini in concorrenza — anziché tutto lo stabilimento, e prendete un periodo passato di quattro-otto settimane di cui sapete che cosa è stato prodotto e che cosa è andato in ritardo. Date al candidato l'anagrafica che avete oggi, non una versione ripulita per la prova, perché lo stato dei vostri dati è una delle cose che state misurando.
Poi chiedetegli di ricostruire un programma per quel periodo e confrontate. Il modello rappresenta i vostri vincoli, oppure ha bisogno che quelli scomodi vengano semplificati via. Gestisce le attese massime oltre a quelle minime, se nel vostro processo c'è una shelf life o un pot life. Quanto tempo di cambio usa la sua sequenza rispetto a quello che avete speso davvero, e che cosa dice degli ordini che avete consegnato in ritardo. Poi fate girare gli scenari che contano: il collo di bottiglia fermo due giorni, un ordine urgente a metà settimana, una consegna in ritardo di una settimana.
Poi mettete un pianificatore davanti allo strumento per un pomeriggio. La domanda non è se il motore è intelligente, ma se una persona riesce a vedere perché ha preso una decisione e a correggerla senza combattere contro lo strumento; uno schedulatore con cui non si può discutere è uno schedulatore che non userà nessuno. Chiedete quanto costa mantenere il modello quando cambia un prodotto, una macchina o un tempo di attrezzaggio, e in quanti punti va toccato. La maggior parte dei programmi si degrada non perché il motore sbagliava, ma perché dopo la fine del progetto il modello non era di nessuno.
I moduli APS e MRP di Meta Smart Factory fanno la parte a capacità finita di tutto questo, su un modello di vincoli che copre setup dipendenti dalla sequenza, attrezzature condivise, abilitazioni degli operatori e calendari turno per area, con simulazioni di scenario per le perturbazioni viste sopra. Siccome stanno nella stessa piattaforma del modulo MES, non c'è nessun passaggio di file notturno fra esecuzione e schedulatore, quindi lo stato del reparto è attuale quanto lo rendono i vostri punti di dichiarazione e la disciplina di rilevazione dei vostri operatori. È una condizione, non un dettaglio: se metà delle dichiarazioni si inseriscono in pausa e la postazione di montaggio manuale non ha un punto di lettura, l'architettura non vi salva. Decidere dove stanno quei punti è lavoro di implementazione, non un suo sottoprodotto. L'integrazione con l'ERP per ordini, distinte base e dichiarazioni fa parte dello stesso lavoro.
Le parti che decidono se tutto questo funziona non le forniamo noi: tempi ciclo misurati, una matrice dei cambi di cui qualcuno risponde, cicli di lavorazione che corrispondono a come il pezzo si fa davvero e una politica di rischedulazione scritta. Se siete all'inizio di questo percorso, il primo passo utile non è una demo ma il confronto storico descritto sopra, su un'area vincolata, con i vostri dati per come stanno.
Parlane con i nostri esperti