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

POTREBBERO INTERESSARTI ANCHE

Analisi delle soluzioni di identificazione automatica per tracking di persone ed oggetti (sviluppo software per il settore medico sanitario)

Analisi delle soluzioni di identificazione automatica per tracking di persone ed oggetti (sviluppo software per il settore medico sanitario)

Interfaccia per l’automazione della calibrazione di una saldatrice laser utilizzata nella produzione di pacemaker

Interfaccia per l’automazione della calibrazione di una saldatrice laser utilizzata nella produzione di pacemaker

Tool per progettazione ed analisi strutturale di basamenti metallici

Tool per progettazione ed analisi strutturale di basamenti metallici

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

Postazione integrata per la gestione e tracciabilità di schede elettroniche durante il processo di riparazione

Postazione integrata per la gestione e tracciabilità di schede elettroniche durante il processo di riparazione

Software di collaudo della HMI di controllo per abbattitori termici

Software di collaudo della HMI di controllo per abbattitori termici

Piattaforma web per la gestione preventivi e ordini

Piattaforma web per la gestione preventivi e ordini

Generazione automatica di documenti

Generazione automatica di documenti

Automatizzazione dei rilasci software negli ambienti di Test, Quality Assurance e Production

Automatizzazione dei rilasci software negli ambienti di Test, Quality Assurance e Production

Sviluppo di un nuovo dispositivo in ambito automotive per il monitoraggio del pitch&roll basto su sensori MEMS

Sviluppo di un nuovo dispositivo in ambito automotive per il monitoraggio del pitch&roll basto su sensori MEMS

Riprogettazione della scheda elettronica di controllo di un trapano per implantologia dentale

Riprogettazione della scheda elettronica di controllo di un trapano per implantologia dentale

Progettazione e realizzazione interfaccia uomo-macchina digitale su macchinario industriale

Progettazione e realizzazione interfaccia uomo-macchina digitale su macchinario industriale

Un software in cloud per l’organizzazione delle visite a Casa Sicura

Un software in cloud per l’organizzazione delle visite a Casa Sicura