• Non ci sono risultati.

Il VI principale del tool `e stato progettato in modo da avere al suo interno diversi timed loop, costantemente in esecuzione a frequenze prestabilite ed ognuno destinato a svolgere funzioni ben precise, a loro volta contenenti delle case structures attivate da variabili locali; `e chiaro che, essendo il processo di calibrazione una procedura da seguire in modo

ordinato e con le giuste tempistiche, la sincronizzazione tra i vari loop `e di fondamentale importanza, e sar`a proprio questo uno dei motivi che ha comportato l’abbandono di una simile struttura a cicli separati nell’ottica dell’aggiornamento futuro. Di seguito si riporta l’elenco dei vari timed loop presenti nel VI principale:

• Blocco 1: flat sequence per la lettura del file di configurazione e inizializzazione dei controlli del front panel. Viene eseguita automaticamente e una sola volta all’avvio del tool;

• Blocco 2: timed loop eseguito alla frequenza di 1000 Hz per la lettura della DAQ list e check delle variabili caricate su MCE. Il codice al suo interno `e comandato da un comando booleano manuale del front panel;

• Blocco 3: timed loop eseguito alla frequenza di 20 Hz per la lettura dei parametri di calibrazione disponibili. Il codice al suo interno `e comandato da un comando booleano manuale del front panel;

• Blocco 4: timed loop eseguito alla frequenza di 2 Hz per il backup delle mappe preesistenti in ECU e upload delle mappe al termine della calibrazione. Il codice al suo interno `e comandato da un comando booleano manuale del front panel;

• Blocco 5: timed loop eseguito alla frequenza di 2 Hz per l’aggiornamento del fi- le di configurazione con i risultati della calibrazione. Il codice al suo interno `e comandato da un comando booleano manuale del front panel;

• Blocco 6: timed loop eseguito alla frequenza di 10 Hz per la gestione dell’automa- zione. Il codice al suo interno viene comandato dal comando di avvio del processo di calibrazione presente sul front panel;

• Blocco 7: timed loop eseguito alla frequenza di 5 Hz per l’analisi dei dati acquisiti tramite i codici MATLAB, identificazione e calibrazione dei parametri. Il codice al suo interno `e comandato automaticamente dal blocco 7 tramite la variabile locale booleana ‘Enable ID/VAL’;

• Blocco 8: timed loop eseguito alla frequenza di 100 Hz per la gestione della regi- strazione dei dati inviati dalla ECU e salvataggio su disco dei segnali acquisiti. Il codice al suo interno `e comandato automaticamente dal blocco 7 tramite la variabile locale booleana ‘REC ON’.

Se tale disposizione ha permesso di mantenere ben distinte le varie operazioni svolte dal tool `e anche vero che avere dei cicli simultaneamente in esecuzione pu`o comporta- re problemi di priorit`a nonch´e criticit`a nel momento in cui due cicli tentano di scrivere

contemporaneamente la stessa variabile. Ad ogni modo il tool cos`ı come `e stato descritto era stato progettato in modo accurato dato che le prove condotte in sala per verificarne il funzionamento hanno restituito un esito positivo. Uno dei principali difetti, se cos`ı si pu`o definire, `e che alcune operazioni dipendono ancora dall’intervento dell’utente, chiamato ad agire sui comandi del front panel per il backup delle mappe, ad esempio, oppure per il caricamento della DAQ list.

Da parte loro, i controlli del front panel sono stati posizionati in modo intelligente dato che si hanno a disposizione tre clusters nei quali sono raggruppati i comandi principali:

• General settings: contiene i comandi per la gestione del tool e del processo di cali- brazione, tra cui si ricordano i controlli numerici per il settaggio del punto motore da calibrare, l’enum per la scelta del parametro da calibrare e il command button per l’avvio della calibrazione;

• LambdaCHAR calibration: consente all’utente di impostare i vari parametri neces- sari alla calibrazione di delay e tau, tra cui l’ampiezza dell’eccitazione e l’offset del- l’onda quadra, nonch´e contiene degli indicatori che permettono di verificare l’esito della calibrazione visualizzando i risultati intermedi ed eventuali warnings;

• Sigma calibration: analogamente al cluster precedente, contiene i comandi necessa- ri all’utente per impostare i parametri per l’esecuzione delle prove di lambda steps e gli indicatori per visualizzare i risultati intermedi, il valore finale da calibrare ed eventuali warnings.

Il front panel contiene inoltre delle mappe temporanee nelle quali vengono inseriti i valori dei breakpoints calibrati, in modo che l’utente possa continuamente tenere sotto controllo l’andamento del processo di calibrazione, un cluster destinato al file di configu- razione, nel caso l’utente voglia aggiornarlo, e dei controlli specifici che consentono di gestire la comunicazione con MCE avviando la lettura della DAQ list e visualizzandone il contenuto.

Volendo ora descrivere il funzionamento del tool si pu`o fare riferimento alla figura 5.2, nella quale sono rappresentate le varie operazioni eseguite dal tool. All’avvio il tool sta- bilisce la connessione con la centralina, legge i valori di default contenuti nel file di con- figurazione e li imposta nei controlli del front panel, dopodich´e l’utente pu`o decidere di effettuare il backup delle tre mappe DLMAP, TAUMAP e SIGMAP attualmente presenti in ECU tramite il pulsante ‘Memo Map First’. Il tool `e pronto per iniziare la calibrazione: l’utente pu`o scegliere quale breakpoint calibrare per primo impostando manualmente re- gime e carico del motore, mentre degli appositi led indicheranno se il setpoint impostato `e stato effettivamente raggiunto o meno. Si fa notare che l’impostazione del punto motore `e demandata all’utente, il quale dovr`a intervenire sul software di controllo del banco per

Lettura file di configurazione Lettura measurements e calibrations Settaggio punto motore Settaggio parametri prove Scelta parametro Calibrazione Acquisizione segnali Salvataggio dati acquisiti Analisi dati Fine BP? Update file di configurazione NO BP = BP + 1 S`I

portare il motore nelle condizioni richieste. Una volta raggiunto e stabilizzato il brea- kpoint, il calibratore deve scegliere se calibrare LambdaCHAR oppure SIGMA tramite l’enum ‘Test Select’; dopo aver controllato che tutti i parametri per l’esecuzione delle prove siano corretti, il processo di calibrazione pu`o finalmente essere avviato tramite il pulsante ‘Start Test’. Durante la calibrazione il tool imposta automaticamente i vari para- metri in centralina, registra i segnali di interesse e li analizza tramite i codici MATLAB; questi restituiscono i valori da calibrare ed eventuali warning che informano l’utente se la prova appena condotta `e da ritenersi valida oppure deve essere ripetuta. Al termine della calibrazione, quando tutti i breakpoints sono stati esaminati e le mappe sono complete, l’utente pu`o salvare le mappe appena calibrate nel file di configurazione.