ARINC 429, test case
01 Aug

ARINC 429, test case #2


Nell'articolo precedente, ho descritto l'ARINC 429 e spiegato come ricevere le label trasmesse dall'unità sotto test (ne consiglio la lettura a chi ancora non lo avesse ancora fatto).

In questo articolo illustrerò come trasmettere le label, operazione che è necessaria per verificare che la UUT sia in grado di ricevere correttamente. Vi ricordo che la “mia” libreria ARINC ha sei funzioni: tre le abbiamo già viste e due le useremo qui (per la sesta ed ultima, bisogna attendere il prossimo articolo).

Nella puntata precedente, ho volutamente omesso la configurazione hardware. Per comunicare con la nostra UUT via ARINC avete bisogno di un PC in cui è installata e configurata una scheda ARINC. Ce ne sono diverse sul mercato; quelle con cui ho lavorato sono AIM e AIT; marca e modello non fanno importanza, la “mia” libreria è svincolata dalla scheda utilizzata (o quasi) e le funzioni da usare in sequenza automatica sono sempre le stesse.

Illustrazione 1
Sorvolo sui passi di configurazione e riprendo dal punto in cui ho già scritto la parte di sequenza automatica che attiva la ricezione della UUT.
Come nell'articolo precedente, devo impostare la velocità desiderata (vi ricordate high e low? Si usa la stessa funzione) e pulire il buffer (anche questa operazione è stata già trattata).

Per trasmettere dal canale ARINC, una o più label, devo usare la funzione “labelAdd”, tante volte per quante sono le label desiderate.

Illustrazione 2
 

La funzione ha solo due parametri di ingresso: nick (il soprannome usato in configurazione) e label. Quest'ultimo è una struttura così composta:

  • label: è l'identificativo della label da trasmettere

  • SDI: è lo SDI della label da trasmettere (questa era facile)

  • value: il valore con cui la label sarà trasmessa, valore grezzo.

  • rate: il periodo di trasmissione, in millisecondi.

A volte, il test da fare richiede di variare il valore della label trasmessa e verificare che la UUT riceva correttamente il nuovo dato. In questo caso, userò una funzione molto simile ma diversa concettualmente: “labelWrite”. La precedente ha lo scopo di aggiungere una label nel lotto di label trasmesse; questa modifica il valore di una label già presente nello stesso lotto.

 

Illustrazione 3
 

La funzione ha solo parametri di ingresso, molto simili alla precedente ma non uguali. La differenza sta nella mancanza del parametro rate (non posso modificare, in corsa, il periodo di trasmissione).

Scrivo tutto in sequenza di test, utilizzando TestStand di National Instrument. Inserisco lo step di tipo Action per aggiungere la label richiesta (tramite la funzione “labelAdd”), a monte della verifica dell'avvenuta ricezione da parte della UUT.

 

Illustrazione 4
 

Ma anche per le label in trasmissione posso usare l'interattività? Ovviamente sì. È disponibile un pannello in cui sono elencate tutte le label in trasmissione e dove posso aggiungerne di nuove o modificare le esistenti. Insomma, se serve, posso fare il test in modalità manuale.

 

Illustrazione 5
 

Con questo, credo di aver concluso la panoramica sui codestep della libreria dreamTest per ARINC, dedicati ai test funzionali. Può apparire strano, coprire la quasi totalità dei test ARINC con solo cinque codestep. Vi assicuro che è così ed esiste l’evidenza in diverse sequenze di test già sviluppate.

Rimane da fare il test elettrico (la sesta ed ultima funzione). Per questo, vi do appuntamento al prossimo articolo.

Se trovate interessante questo articolo, lasciate il vostro like. Se avete domande, osservazioni, critiche o apprezzamenti, scrivetemi: sarò felicissimo di rispondere a tutti.

Grazie per la vostra lettura e condividete, se volete.

Dimenticavo: la “mia” libreria si chiama “ARINC channels” ed è disponibile come toolkit di “dreamTest” o stand-alone.

Antonio Costantino