Software di collaudo della HMI di controllo per abbattitori termici
Software di collaudo della HMI di controllo per abbattitori termici
Sinergia vincente tra due aziende tecnologiche
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 un loro cliente ha sviluppato un controllore custom e ci ha commissionato il software di collaudo della HMI di controllo per abbattitori termici.
La soluzione
Il software da realizzare era diviso in una parte di GUI con delle schermate relativamente semplici ed una parte di business logic articolata in una serie di macchine a stati, ciascuna relativa a uno dei test necessari al superamento del collaudo del dispositivo. Solitamente, per questo genere di sviluppo, Project Engineering realizzava la business logic interamente C++ per garantire i requisiti di RAM (<= 128MB) del dispositivo fisico.
In questo progetto abbiamo proposto al cliente un approccio differente, ovvero lo sviluppo della business logic in linguaggio Javascript.
La sfida è stata quella di riuscire ad adottare questo approccio, utilizzando un linguaggio di programmazione di alto livello, quindi potenzialmente meno efficiente in termini di consumo di risorse, su un hardware dalle capacità di memoria RAM limitata. Per poter dare una risposta veloce al cliente sulla fattibilità della nostra soluzione abbiamo iniziato a sviluppare la macchina a stati del test di collaudo più complesso del set. In questo modo abbiamo realizzato uno Smoke Test che, in circa una settimana, ci ha confermato la fattibilità della soluzione proposta e offerto uno strumento di sviluppo più veloce e intuitivo rispetto all’utilizzo del C++.
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
Le scelte progettuali descritte ci hanno garantito accesso ai vantaggi offerti dal JavaScript, in quanto linguaggio di più alto livello rispetto al C++, interpretato, a tipizzazione dinamica e con supporto a un paradigma dichiarativo-funzionale.
In particolare, una soluzione ha prodotto i seguenti risultati strategici:
- Tempi di sviluppo del software più brevi: la scrittura delle logiche in Javascript è risultata più veloce
- Manutenzione del software a lungo termine: accesso a un maggior bacino potenziale di sviluppatori (la cui maggioranza ha familiarità col JavaScript ma non col C++), con conseguente maggior probabilità di garantire adeguato supporto al software nel lungo termine.
- Consegna del software nei tempi prestabiliti: l’approccio Agile Scrum è stato fondamentale per raggiungere questo obiettivo
Vuoi sviluppare un nuovo software su misura?
Operiamo a Pistoia, Firenze, Prato, Pisa, Livorno, Bologna, Piacenza, Milano e in tutta Italia
La testimonianza
“Il progetto relativo agli abbattitori di temperatura è stato il primo progetto sviluppato insieme a Kiwibit. Il progetto è stato portato avanti dai due team Project Engineering e Kiwibit e fin da subito si è creata un’ottima sinergia e collaborazione, sia tecnica che umana che ha portato al raggiungimento degli obiettivi prefissati nei tempi stabiliti. Kiwibit si è mostrata un’Azienda capace di ascoltare con attenzione i nostri requisiti e aperta al confronto tecnico al fine di perseguire la maggior qualità del risultato, con approccio costruttivo e propositivo.”
Ing. Marco Del Nero
R&D Controllers Manager, Project Engineer
La richiesta
-
Sviluppo di un software di collaudo di un controllore custom per la gestione di alcuni modelli di abbattitori termici
Il nostro contributo
- Sviluppo del software di collaudo tramite il toolkit Qt su piattaforma U21 micro Freescale iMx6ULL e sistema operativo Linux con linguaggi C++, JavaScript e QML
Tecnologie usate
-
ARM based HMI con micro i.MX6ULL
-
SO Linux Embedded
-
librerie QT5
-
linguaggio di programmazione C++, QML, Javascript
Risultati raggiunti
- Tempi di sviluppo del software più brevi
- Manutenzione del software a lungo termine
- Consegna del software nei tempi prestabiliti