Sviluppo di un’interfaccia touchscreen per il controllo del processo di asciugatura di materiale plastico
Sviluppo di un’interfaccia touchscreen per il controllo del processo di asciugatura di materiale plastico
Sviluppo di un’interfaccia touchscreen per il controllo del processo di asciugatura di materiale plastico
Matdry: un software embedded sviluppato con librerie QT per un controllore custom
CLIENTE:
Project Engineering
L’esigenza
Project Engineering srl è un’azienda manifatturiera leader che da oltre 25 anni progetta e realizza dispositivi elettronici nell’ambito dei Controllori Custom e Sistemi di test e Apparecchi medicali. Per conto di una multinazionale loro cliente , ha realizzato un controllore custom per la gestione del processo di asciugatura del materiale plastico all’interno del ciclo produttivo di semilavorati ottenuti per pressofusione.
L’azienda, specializzata nello sviluppo di soluzioni Linux embedded con Qt/QML, ha richiesto il nostro contributo per sviluppare il software embedded in collaborazione con il proprio team di sviluppo. A noi è stato affidato la parte dell’interfaccia uomo macchina (HMI – HUMAN-MACHINE INTERFACE) e la parte di interazione con il controllore dell’impianto, sviluppato da Project Engineering.
La soluzione
La specifica fornita dal cliente era composta dal set di mockups realizzati con il tool Figma. Il nostro compito è stato quello di realizzare il software GUI in modo tale da avere un look&feel più vicino possibile a quello dei mockups. Le schermate che abbiamo realizzato sono state circa 70. All’interno di ciascuna di esse erano presenti diversi widget (buttons, dropdown list, tabelle, finestre di allarme, ecc.) e, molto spesso, gli stessi widget sono stati utilizzati in più punti del software con delle piccole differenze tra una schermata e l’altra. Le sfide che abbiamo affrontato in questo progetto sono state:
- Generalizzare al massimo il codice di ciascun widget in modo tale da poter riutilizzare lo stesso componente in tutte le schermate in cui era presente. Questo approccio ci ha permesso di realizzare un codice estremamente ottimizzato e facilmente manutenibile, a favore del rispetto dei tempi di consegna e della qualità del prodotto realizzato.
- Restare fedeli ai mockups dovendo però adattare il funzionamento degli widget alle logiche previste dal software di controllo che, molto spesso, non risultavano essere allineate.
Abbiamo organizzato il processo di sviluppo secondo la metodologia Agile (Scrum): il lavoro è stato suddiviso in sprint bisettimanali al termine dei quali abbiamo inviato il report sulle attività svolte ed una versione incrementale e testabile del software, in modo da consentire a Project Engineering di valutare lo stato di avanzamento del progetto. Il codice sorgente è stato mantenuto su un repository Git condiviso.
I vantaggi
I vantaggi raggiunti al nostro contributo sono stati:
- Look&feel del software fedele ai mockups di design: in questo modo il prodotto realizzato ha avuto un’ottima usabilità
- Consegna del software nei tempi prestabiliti: l’approccio Agile Scrum è stato fondamentale per raggiungere questo obiettivo
- Efficienza ed ottimizzazione del codice sviluppato: la generalizzazione del codice dei singoli widget ci ha permesso di evitare duplicazioni deleterie per la manutenibilità dello stesso.
Vuoi sviluppare un nuovo software su misura o un software embedded?
Operiamo a Pistoia, Firenze, Prato, Pisa, Livorno, Bologna, Piacenza, Milano e in tutta Italia
La testimonianza
“Il progetto relativo all’essiccatore per granulati plastici è stato il nostro secondo progetto sviluppato con Kiwibit, in linguaggio C++ in ambiente Linux su hardware ARM. Anche in questo progetto abbiamo raggiunto gli obbiettivi prefissati sia in termini tecnici che temporali, nonostante che durante lo sviluppo siano emerse significative modifiche ai requisiti che ci hanno costretto a riformulare la pianificazione del lavoro. L’utilizzo di metodologia Agile ha sicuramente contribuito a gestire la situazione, ma sono le persone che fanno la differenza ed in questo Kiwibit si è confermato un ottimo partner.”
Ing. Marco Del Nero
R&D Controllers Manager, Project Engineer
La richiesta
-
Sviluppo di un software embedded HMI per il controllo del processo di asciugatura del materiale plastico per stampi in pressofusione in collaborazione con il team di sviluppo del cliente
Il nostro contributo
- Sviluppo del software GUI secondo il look&feel dei mockups realizzati dal team di design e della parte di interfaccia verso il modulo di controllo realizzato da Project Engineering
- Gestione del processo in modalità Agile Scrum con sprint bisettimanali
Tecnologie usate
-
ARM based HMI con micro i.MX6ULL
-
SO Linux Embedded
-
librerie QT5
-
linguaggio di programmazione C++, QML, Javascript
Risultati raggiunti
- Look&feel del software fedele ai mockups di design
- Consegna del software nei tempi prestabiliti
- Efficienza ed ottimizzazione del codice sviluppato