I programmi di comando si discostano da quelli di supervisione in quanto si occupano anche (o solo) della gestione del ciclo macchina. In questa categoria entrano a pieno titolo anche i programmi dei PLC e le reti in elettrotecnica di relays.

Nei PC industriali, la peculiarità dei programmi di comando è che il thread di gestione del ciclo deve essere (o meglio "dovrebbe" essere) real-time. Tipicamente più una macchina è pericolosa più le condizioni di real-time dovrebbero venire rispettate rigorosamente.

Nel caso ideale una macchina dovrebbe poter rispondere ad ogni evento in un tempo predeterminato, stabilito in fase di progettazione. Tutti i compiti ausiliari (visualizzazione dell'interfaccia grafica, gestione di dati, registrazione e logging) dovrebbero essere subordinati al thread del ciclo. Un sistema di questo tipo viene denominato hard real-time e usualmente si trova implementato per default sui PLC.

Sui PC industriali questa predeterminazione è piuttosto costosa in termini di complessità (sia software che hardware) per cui nella realtà si tende a mediare usando un sistema soft real-time. In questo caso al thread del ciclo, che non è real-time, viene data alta priorità. I sistemi critici, come il circuito di sicurezza, vengono implementati in elettrotecnica.

Un terzo approccio consente l'uso di sistemi misti, usando per esempio un PLC per gestire il ciclo macchina e un PC industriale per l'interfaccia utente, la gestione del logging e i compiti tipici del supervisore.

Nota bene: gli esempi riportati di seguito non sono esaustivi. Sono da considerarsi dei campioni software che ho sviluppato anche al di fuori della eNTiDi e di cui mi è stato possibile rintracciare la documentazione e pubblicarla.

TesBli (test blindosbarra) Linea test dielettrico blindosbarra, anno 2013

Il programma TesBli è associato ad una linea automatica di collaudo elettrico e smistamento blindosbarra. L'operatore, dopo aver preparato il pezzo su una rulliera folle, lo spinge all'interno della linea principale. Un sensore ne verifica la presenza e aziona una rulliera motorizzata che posiziona il blindosbarra nella zona di test. Vengono quindi eseguite in successione le prove previste, al termine delle quali due applicatori incollano le etichette con i dati tecnici del pezzo sul profilato.

Pagina di AUTOMATICO programma TesBli

Un manipolatore con motore brushless si occuperà dello sgombero della rulliera: il blindosbarra verrà scaricato sul pallet dei pezzi buoni se le prove hanno avuto esito positivo o sul pallet dei pezzi scarti in caso contrario.

La pagina principale presenta i dati che verranno stampati sull'etichetta. Questi dati per default vengono prelevati da una directory condivisa in rete dove l'ufficio tecnico (o chi per lui) potrà definire in un formato prestabilito i parametri dei pezzi da controllare.

Alternativamente è possibile operare in modalità più consueta azionando il pulsante Modifica. In questo caso i dati potranno essere inseriti in locale direttamente dal programma TesBli. L'input dei valori avverrà tramite touch-screen sul PC industriale abbinato alla macchina.

Una volta collaudati, i parametri ed i risultati delle prove effettuate su ogni pezzo collaudato sono registrati in un database MySQL. È possibile installare un front-end web a MySQL (come PhpMyAdmin) per consentire l'ispezione dalla intranet aziendale (per esempio dall'ufficio tecnico) senza interrompere il ciclo macchina.

Pagina di MANUTENZIONE del programma TesBli

Oltre alle pagine di debug, sempre presenti alla destra dello schermo e che visualizzano tutti i segnali I/O digitali e analogici della macchina, è presente una pagina di MANUTENZIONE che consente di vederne i principali e di forzare alcuni comandi.

Qui è possibile, rispettando alcuni vincoli imposti dalla sicurezza, movimentare l'asse del manipolatore, azionare la rulliera, comandare morse e cilindri o anche eseguire prove di test dielettrico o cicli di applicazione etichette. La pagina è pensata per operazioni di manutenzione ordinaria o per ripristinare le condizioni originali ogni qualvolta un evento imprevisto interrompa la macchina in condizioni anomale.

Pagina di SETUP del programma TesBli

Per operazioni speciali di manutenzione straordinaria, come la sostituzione di un trasduttore o il cambio di un attuatore pneumatico con un altro compatibile ma con tempi di risposta differenti, è presente la pagina SETUP che consente l'editazione di parametri hardware. La modifica sconsiderata di questi parametri può rendere la macchina inutilizzabile per cui l'accesso ai dati è stato protetto da password.

È qui possibile cambiare i parametri di linearizzazione del trasduttore magnetostrittivo, i tempi di risposta degli attuatori, le velocità e le accelerazioni della rulliera e dell'asse del manipolatore, l'ordine delle prove, le posizioni di scarico prestabilite e altro ancora.

La peculiarità di questo sistema è che, date le dimensioni della linea, per gestire gli I/O si è optato per l'uso di un bus di campo. È stato scelto il protocollo CANopen, per cui tutti i segnali (digitali e analogici) nonché gli azionamenti rulliera e assi sono stati gestiti in CANopen. Sul PC industriale è stata montata una scheda PCI KVaser mentre per gli I/O remoti è stato scelto il sistema Advantys STB della Schneider Electric.

TesCa (test cartucce) Banco semiautomatico prova cartucce, anno 2011

Vista frontale del transfer di collaudo cartucce 9001fgi

La macchina è un transfer semiautomatico ad 8 stazioni per il collaudo delle cartucce dei rubinetti miscelatori. L'operatore deve montare una cartuccia sulla prima stazione, ove ritornerà dopo 8 cicli per essere scaricata. In questi cicli verranno eseguiti una serie di test per soddisfare le specifiche richieste dal cliente.

Le 8 stazioni sono così suddivise:

  1. carico e scarico del pezzo
  2. controllo presenza
  3. rodaggio
  4. controllo aperta miscelata
  5. controllo aperta con rotazione
  6. controllo chiusa con rotazione
  7. controllo by-pass
  8. timbratura

Le stazioni 4, 5 e 6 eseguono una prova di tenuta nei diversi stati della cartuccia mentre la stazione 7 esegue una doppia tenuta a due pressioni.Le stazioni 3, 5 e 6 sono dotate di testa per eseguire delle rivoluzioni programmate sulla leva della cartuccia.

Il sistema software è installato su un PC industriale e viene eseguito in soft real-time. L'interfaccia con l'operatore avviene tramite due pulsantiere. L'uso del touch-screen a 17 pollici posto sopra alla macchina è riservato per l'introduzione del codice operatore a cambio turno, per la configurazione dei parametri ad opera del personale tecnico e per la manutenzione straordinaria. L'introduzione di dati avviene tramite tastiera virtuale sviluppata ad hoc.

Screenshot della pagina di default (AUTOMATICO) del software tesca

Il programma di comando è stato sviluppato in LabVIEW e viene eseguito su sistema operativo Windows XP. Per la gestione dei tre assi e l'interfaccia con i canali di I/O analogico-digitali sono state usate schede PCI della Advantech.

Per default la macchina all'accensione si trova in ciclo automatico, sicché l'operatore è pronto ad avviare il ciclo di produzione. In questa modalità il programma visualizza in tempo reale i dati di coppia rotazione leva rilevati dalle celle di carico e la pressione dell'aria nelle prove di tenuta. Anche la stazione di rodaggio esegue un controllo di coppia ma non viene visualizzata in quanto il controllo è inteso a verificare grossolanamente che le corse di rotazione configurate non eccedano la reale corsa del pezzo.

Ove rilevante, le prove di coppia e tenuta sono visualizzate nello stesso grafico in modo da evidenziare se eventuali comportamenti anomali sono presenti in entrambi i grafici.

Screenshot della pagina di configurazione prove (PARAMETRI) del software tesca

Le singole prove possono essere abilitate o disabilitate a piacimento. Si possono inoltre configurate in maniera piuttosto granulare cambiandone i parametri nell'apposita pagina PARAMETRI. È perciò possibile configurare le soglie e la durata della caduta delle prove di tenuta, l'intervallo di validità della pressione con cui devono essere effettuate, le corse delle rotazioni della leva, la coppia di rotazione massima in rotazione oraria o antioraria, l'angolo a cui lasciare ruotata la leva al termine delle prove di coppia e altro ancora.

La massa dei parametri visualizzata in questa pagina può essere registrata nel database interno. Ad esso sarà associato un codice alfanumerico e alcuni metadati richiesti dal cliente. In questo modo, una volta configurate e registrate correttamente le prove per un determinato tipo di pezzo, sarà sufficiente richiamarne la voce usando il codice stabilito.

Screenshot della pagina di manutenzione (MANUALE) del software tesca

Le operazioni di manutenzione sono agevolate dalla pagina di manuale in cui possono essere visionate le informazioni ricevute in ingresso (principalmente il valore acquisito dai trasduttori) e possono venire forzate alcune uscite digitali. Qualora una determinata combinazione di digitali risulti pericolosa per l'utente o per la macchina, i comandi che possono generarla vengono inibiti: per esempio nell'immagine a lato la rotazione tavola è inibita perché il riparo di protezione dell'operatore è aperto.

È inoltre possibile ruotare gli assi delle teste posizionate sulle stazioni 3, 5 e 6 in jog usando gli appositi pulsanti. La posizione attuale viene acquisita tramite encoder incrementali e visualizzata nei tre orologi presenti in questa pagina. Si noti che l'uso di encoder incrementali rende necessario una procedura di azzeramento assi all'avviamento della macchina.

Interessante è anche la possibilità di eseguire una prova in manuale. Si tenga però presente che provare il pezzo in manuale non equivale a provarlo in ciclo automatico: i tempi di immissione, stabilizzazione e collaudo non sono gli stessi, come quindi il risultato della prova.

Per agevolare ulteriormente le operazioni di manutenzione è disponibile la finestra di debug, posta alla destra dello schermo. Ripropone la lista completa dei segnali (sia analogici che digitali) e lo stato di alcune memorie utilizzate dal ciclo. La finestra di debug viene visualizzata sempre, anche in ciclo automatico, in modo da poterne vedere lo stato durante il funzionamento della macchina.

Screenshot della pagina di
stato della tavola (REGISTRO) del software tesca

Tenere traccia dello stato delle cartucce presenti sulla tavola durante il ciclo automatico è piuttosto difficoltoso, quindi il software è dotato di una pagina dedicata che visualizza lo stato attuale dell'automata di ogni prova eseguita in ogni stazione e l'eventuale motivo per cui il pezzo in quella stazione è stato scartato. Il fatto che un pezzo sia buono o scarto viene evidenziato da un led.

Questi dati, chiamati REGISTRO in quanto è implementato via software come un registro FIFO, vengono aggiornati in tempo reale e vengono attualizzati subito dopo la rotazione tavola.

Col pulsante AZZERAMENTO è anche possibile azzerare l'intero registro tavola, per esempio nel caso per esigenze di manutenzione si riveli necessario svuotare manualmente la tavola dai pezzi presenti.

Screenshot della pagina di setup hardware (MACCHINA) del software tesca

Per operazioni speciali di manutenzione straordinaria, come la sostituzione di un trasduttore o il cambio di un attuatore pneumatico con un altro compatibile ma con tempi di risposta differenti, è presente la pagina MACCHINA che consente il setup dell'hardware. La modifica indiscriminata di questi parametri può rendere la macchina inutilizzabile per cui l'accesso ai dati è stato protetto da password.

È qui possibile cambiare i parametri di linearizzazione dei trasduttori, i tempi di risposta degli attuatori nonché altri parametri fondamentali quali il gioco tra la leva e gli encoder delle teste di rotazione, il tempo di immissione e stabilizzazione delle prove di tenuta o lo scarto di pressione considerato valido ad inizio prova.

I dati di configurazione pezzo, insieme ai risultati delle prove effettuate su ogni pezzo collaudato, sono registrati in un database MySQL. È possibile installare un front-end web a MySQL (come PhpMyAdmin) per consentire l'ispezione dalla intranet aziendale (per esempio dall'ufficio tecnico) senza interrompere il ciclo macchina. È anche possibile configurare i parametri pezzo senza dover accedere alla pagina PARAMETRI, direttamente da PhpMyAdmin.

L'uso di tecnologie open-source di largo consumo, ampiamente impiegate nell'ambito web, agevola notevolmente la connettività del sistema.

TesIn (test iniettori) Banco semiautomatico collaudo polverizzatori, anno 2008

Vista frontale banco di collaudo polverizzatori 8001fgi

La macchina è un banco semiautomatico in cui l'operatore deve montare ogni pezzo. Il polverizzatore viene serrato ermeticamente tramite cilindro idraulico all'interno di un invaso a tenuta in modo da consentire il passaggio dell'olio di prova senza spruzzi o perdite verso l'esterno.

Possono essere eseguiti diversi controlli sul polverizzatore: portata a spillo aperto, corsa dello spillo (alzata), controllo della caduta di pressione a spillo precaricato, qualità trillo in alta pressione, qualità trillo in bassa pressione e trafilamento prima del trillo (goccia). Tutte le prove sono automatiche a parte la goccia, che deve essere controllata visivamente dall'operatore alla fine del ciclo.

I piani in acciaio inossidabile consentono un'agevole postazione dove mettere i pezzi bagnati d'olio. La quantità di olio iniettato viene controllata tramite cilindro volumetrico mentre la quantità di liquido uscito viene raccolto dall'invaso e pesato con una cella di carico. Il precarico dello spillo viene gestito tramite cilindretto oleodinamico a singolo effetto. Volumi e corse sono stati dimensionati per riuscire a provare polverizzatori diesel automotive.

Il sistema software è installato su un PC industriale e viene eseguito in soft real-time. L'interfaccia con l'operatore avviene tramite due pulsantiere. Il touch-screen a 17 pollici è previsto solo per la configurazione dei parametri: per l'introduzione di dati è stata progettata una tastiera virtuale dedicata.

Vista della pagina dati prove software tesin

L'applicazione è stata sviluppata in LabVIEW su sistema operativo Windows XP usando una scheda DAQ multifunzione della National Instruments.

Le prove possono venire abilitate o disabilitate singolarmente. Ogni prova può essere configurata a piacere accedendo alla pagina di DATI PROVA e modificandone i parametri tramite tastiera virtuale. Questo insieme di dati può associato ad un codice pezzo e per essere registrato in un database remoto. In questo modo, una volta definito e registrato, questo set di dati può essere richiamato semplicemente con un codice.

Vista della pagina di manuale software tesin

Di default il programma parte in ciclo automatico, ossia la macchina è pronta per essere usata dall'operatore. È comunque disponibile una pagina di MANUALE per le operazioni di manutenzione e ricerca guasti. Ciò consente anche di studiare il comportamento dei pezzi quando sottoposti a sollecitazioni particolari non previste dal normale ciclo macchina.

In questa pagina possono essere visionate le informazioni ricevute in ingresso (principalmente il valore acquisito dai trasduttori e lo stato dei principali ingressi digitali) e possono venire forzate alcune uscite digitali. Qualora una determinata combinazione di digitali risulti pericolosa per l'utente o per la macchina, i comandi che possono generarla vengono inibiti.

In aggiunta alla pagina MANUALE è disponibile la finestra di debug alla destra dello schermo. Ripropone la lista tutti i segnali (sia analogici che digitali) e lo stato di alcune memorie utilizzate dal ciclo. La finestra di debug viene visualizzata sempre, anche in ciclo automatico, in modo da poterne vedere lo stato durante il funzionamento della macchina.

Dettaglio del flusso dati tra database nel software tesin

In aggiunta al set di dati prova vengono gestiti anche gli operatori e i risultati delle prove. È interessante notare come è strutturato l'intero sistema di gestione dati: la lettura e scrittura dei record non viene eseguita direttamente sul database ma avviene su rete TCP/IP tramite richieste ReST. Ciò consente di svincolarsi da LabVIEW (un sistema pessimo per la gestione dei dati ad alto livello) e di usare tecnologie più adatte e facilmente integrabili con applicazioni esterne.

Nelle due macchine installate alcuni dati vengono prelevati tramite interrogazioni ODBC da un'anagrafica preesistente in esecuzione su un server iSeries IBM. Il PC gestionale ove vengono registrati e smistati i dati è un server GNU/Linux con sistema operativo Slackware e database MySQL, interconnesso da un lato ai PC industriali con una rete locale e dall'altro alla intranet dell'azienda. Le richieste ReST vengono soddisfatte da uno script in PHP.

Prove di tenuta Banchi di collaudo perdite, anni 1999-2001

Schermata programma taratura rubinetti del gas in fase di sviluppo

Si tratta principalmente dello stesso software (un programma per l'esecuzione di prove di tenuta da 1 a 8 canali) adattato più volte per differenti attrezzature. L'applicazione veniva sviluppata in C su PC con sistema operativo MS-DOS, che veniva alla fine lasciato direttamente sul banco.

L'adattamento consisteva fondamentalmente nel riscrivere il ciclo macchina, lasciando per quanto possibile intatto il codice di gestione prove. Lo screenshot a lato è stato preso durante lo sviluppo software di un transfer di collaudo prova tenuta e di regolazione vite di by-pass dei rubinetti del gas.

L'esperienza maturata lavorando con lo stesso codice su diverse macchine è stata importante non tanto dal punto di vista tecnico, ma da quello organizzativo. Ha infatti evidenziato i problemi che possono sorgere in caso di cattiva gestione del software, dovuti soprattutto all'assenza di un SCM per l'amministrazione del codice ed alla politica avversa all'unit testing.

eNTiDi logoeNTiDi software
Software per l'automazione industriale

via fossato, 56
 25038 Rovato (BS)

Telefono: 366 3206501
E-mail: ntd@entidi.it
PEC: entidi@mlcert.it

 Partita IVA: 02909410983