Instrumentatia de Bord
TEHNICI LABVIEW FOLOSITE ÎN TESTAREA INSTRUMENTAȚIEI DE BORD
PROIECT DE DIPLOMĂ
CUPRINS
1 Introducere
1.1 Structura lucrării
2 Obiectivele proiectului
2.1 Generalități
2.2 Diagrama bloc de conectare Instrument de Bord – Sistem de testare
2.3 Semnalele de intrare ale instrumentului de bord
Semnalele de intrare digitale
Semnalele de intrare analogice
Semnale de intrare de tip frecvență
2.4 Funcționalități
Ecranul LCD principal
Ecranul segmentat secundar
Vitezometrul
Turometrul
Indicatorul de presiune 1
Indicatorul de presiune 2
Indicatorul de nivel combustibil
Indicatorul de temperatură lichid de răcire
Lămpile indicatoare
2.4.1.1 Lampa indicatoare MIL
3 Platforma software și hardware a aplicației
3.1 Conceptul de testare manuală și automată
Introducere
Tipuri de testare automată
Limitele testării automate
Comparație între testarea manuală și automată
3.2 Instrumentație virtuală
Definirea noțiunii de instrumentație virtuală
Avantajele utilizării instrumentației virtuale
3.3 Privire asupra mediului de testare
3.4 Cerințe funcționale
Cerințe software
3.4.1.1 Structura driver – DAQmx[8.]
3.4.1.2 Avantajele structurii DAQmx
Cerințe hardware
3.4.1.3 Sistemul de test KFZ
3.4.1.4 Sursa de alimentare
3.4.1.5 Tabloul de programare
3.4.1.6 Placa NI PCI 6602 Numarator / Temporizator
3.4.1.7 Plăcile de conectare
3.4.1.7.1 Placa Releu/Comutator
3.4.1.7.2 Placa integrată, cu decade de rezistențe
3.4.1.7.3 Placa integrată cu intrări/ieșiri digitale
3.4.1.7.4 Ieșirea de frecvență
3.4.1.7.5 Placa adaptoare
4 Realizarea aplicației practice
4.1 Descrierea aplicatiei
4.2 Controlul parametrilor electrici
Structura ferestrei
Structura diagramei bloc
4.3 Controlul intrarilor/iesirilor digitale
Structura ferestrei
4.3.2 Structura diagramei bloc
4.4 Controlul intrărilor analogice
Structura ferestrei
Structura diagramei
4.5 Controlul intrărilor de frecvență
Structura ferestrei
Structura diagramei
5 Concluzii
5.1 Proiectul realizat
5.2 Cunoștințe acumulate
5.3 Direcții de dezvoltare
6 Bibliografie
7 Anexă
Introducere
Proiectul de licență a fost dezvoltat în cadrul companiei Continental AG, Timișoara, Romania. Compania este divizată pe mai multe departamente(business unit-uri) orientate asupra unei arii vaste de produse și servicii ce țin de industria automotive; lucrarea a fost concepută in cadrul diviziei Commercial Vehicles (CV- Vehicule Comerciale), subdivizia INS(Instrumentație).
Departamentul de CV se ocupă cu design-ul și dezvoltarea de hardware și software pentru instrumente de bord, tahografe și unități electronice de control(ECU – Electronic Control Unit). Echipa INS dezvoltă programe pentru controlul elementelor ce compun instrumentele de bord.
Un instrument de bord electronic, în industria auto, este creierul din spatele tabloului de bord al mașinii, jucând rolul central ca element de interfață intre om si mașină. Acesta controlează instrumentele de măsurã, toate monitoarele analogice (tahometrul, vitezometrul etc), led-urile de avertisment și semnalele acustice. Principalele funcții sunt: comunicarea cu sursele de informație externe (ex: senzori) și controlul dispozitivelor de afișare. Acestea sunt realizate prin intermediul unui protocol intens utilizat în industria automotive, având o interfața foarte bine definită, CAN[1.] (Controller Area Network). Elementele electronice consistă din circuite digitale comandate de microcontroller-e. In funcție de importanța lor, aceste controller-e au diferite priorități pe rețeaua CAN.
Verificarea si validarea funcționării corecte a unui astfel de instrument reprezintă un proces de o complexitate ridicată datorită numărului foarte mare de variabile și situații posibile ce trebuie avute în vedere pentru o testare adecvată, atât pe termen scurt cât și pe o perioadă mai indelungată. De aceea, doar testarea manuală este insuficientă, neoferind o perspectivă completă asupra comportării instrumentului. Ajungem astfel la scopul prezentei lucrări, și anume acela de a introduce elemente de automatizare în testarea instrumentului de bord. În acest sens, utilizând mediul LabView 8.2, a fost conceput un instrument virtual ce oferă o serie de facilitați în verificarea rapidă și eficientă a diferitelor funcționalități a produsului.
Structura lucrării
Partea inițială a lucrării, respectiv capitolul 2, este dedicat descrierii instrumentului de bord ce va reprezenta obiectul testării. Prezentarea funcționalităților acestuia este realizată sumar în sensul creării unei imagini de ansamblu asupra complexității produsului și a rigorilor pe care software-ul conceput în cadrul companiei trebuie sa le respecte.
Capitolul 3 aduce în prim plan conceptul de testare ca proces de sine stătător în cadrul ciclului de viață a unui produs. Aici este evidențiată importanța vitală a desfășurării acestei activități în contextul realităților actuale din societate, și mai ales a celor din industria automotive, dar și incercările tot mai clare de sistematizare și automatizare a metodelor utilizate. O prezentare comparativă a tehnicilor de validare manuală și automată incheie subcapitolul dedicat testării. Ca metodă concretă de aplicare a conceptului de testare, instrumentația virtuală este descrisă în subcapitolul 2, cu accent pe avantajele pe care le oferă în general, dar și în situația de față. Următoarea parte a capitolului 3 urmărește în detaliu componentele software și hardware ale mediului de testare, punînd emfază asupra fiecărui element din sistem, precum și asupra necesității și rolului acestuia.
Capitolul 4 pune accentul pe modul în care aplicația LabView a fost implementată. Sunt redate în detaliu structura programului și principiile de comunicare a informației către instrumentul de bord. Fiecare subcapitol corespunde unei componente de sine stătătoare a instrumentului virtual, corespunzatoare uneia sau mai multor funcționalițăti ce trebuie îndeplinite de obiectul testarii. Explicatiile sunt insotite de imagini sugestive pentru ințelegerea metodei de implementare selectate și a principiilor pe care se bazează transmisia datelor.
Penultimul capitol urmărește concluziile formate pe marginea utilizării acestui instrument, precum și potențialul și drecțiile de dezvoltare pe care aplicația le deține, în timp ce în capitolul 6 este pusă la dispoziție bibliografia ce a servit la conceperea aplicației.
Obiectivele proiectului
Generalități
Obiectul de testare al prezentei aplicații îl constituie instrumentul de bord din Figura 2.2. Instrumentul de bord este un panou de control care afișează conducătorului auto informații despre starea curentă a diferitelor sisteme ale vehiculului, cum sunt:
date despre motor;
date despre sistemul de frânare;
alarme;
date despre viteză, distanța parcursă și timpul de rulare;
informații despre diagnoză;
informații despre mentenanță.
Diagrama bloc de conectare Instrument de Bord – Sistem de testare
Aceste informații mentionate mai sus sunt achiziționate prin intermediul interfeței CAN (Controller Area Network), a intrărilor analogice, digitale și de frecvență de la ansamblul de testare, care simulează diferite unități electronice de control și senzori, localizați în vehicule. Alimentarea instrumentului de bord se realizează de la o sursă de tensiune reglabilă înglobată în sistemul de testare.
Figura 2.1
Semnalele de intrare ale instrumentului de bord
Destinația semnalelor de intrare utilizate de instrumentul de bord pentru a afișa diferitele informații este microcontroller-ul cu care este încorporat instrumentul, de fapt „creierul” întregului ansamblu.
Semnalele de intrare digitale
Un semnal de intrare digital se referă la un semnal care este recunoscut de instrumentul de bord ca semnal cu două nivele: „active low” (logic 0) sau semnal „active high” (logic 1). Fiecare semnal digital va conține un rezistor „pull-up” sau „pull-down” pentru a manevra conectarea la baterie sau masă.
Instrumentul de bord prezentat achiziționează un număr de 32 semnale digitale care vor determina o parte din funcționalitățile acestuia, cum sunt lămpile indicatoare sau alarmele afișate pe ecranul LCD. Dintre acestea, un număr de 28 sunt configurate ca fiind „active low”, iar 4 semnale digitale sunt configurate ca fiind „active high”.
Toate intrările digitale vor urmări următoarea specificație:
Tabela 2.1
Pe lânga aceste 32 semnale de intrare digitale, mai sunt definite și asa numitele semnale de intrare digitale „Wake-up”. Sunt în număr de 3 și au denumirea:
TRM 15: terminalul 15 care determină punerea în funcțiune completă a instrumentului de bord, adică activarea sa, respectiv dezactivarea sa ;
Semnalul „Hazard” care activează instrumentul de bord, dar nu complet;
Semnalul „Spare”.
Semnalele de intrare analogice
Un semnal de intrare analogic se referă la un semnal care presupune un număr multiplu de nivele. Intrările de semnal de tip analogic vor fi filtrate de către filtre trece-jos hardware și software pentru a obține constanta de timp necesară achiziționării corecte a semnalului.
Există un numar total de 7 intrări analogice pentru instrumentul de bord prezentat:
3 semnale analogice configurabile fie activ fie pasiv;
4 semnale analogice pentru senzori-rezistențe.
Semnalele analogice pentru instrumentul de bord sunt definite pentru achiziționarea de date privind: nivelul de combustibil din rezervor, nivelul de lichid din instalația de frânare, nivelul lichidului de răcire a motorului etc.
Semnale de intrare de tip frecvență
Semnalele de intrare de tip frecvență sunt pulsuri de semnal de o anumită frecvență transmise instrumentului de bord. Aceste semnale provin in mod obișnuit de la senzorii de mișcare cu care este echipat vehiculul insă, în cazul acesta, se vor obține intrări de frecvență pentru instrumentul de bord de la un generator de frecvența sau de la o placă de frecvență instalată în sistemul de testare.
Sunt definite trei semnale de frecvență pentru instrumentul de bord, și anume:
semnalul de viteză a vehiculului;
semnalul turație a motorului.
semnalul de iluminare graduală a elementelor de pe ecran
Caracteristicile intrărilor de frecvență vor respecta următoarea specificație:
Tabela 2.2
Funcționalități
Instrumentul de bord funcționează în regim normal cu ajutorul semnalelor de intrare descrise în capitolul anterior. Alimentarea acestuia cu energie electrica se realizeaza de la o sursă reglabilă de tensiune, cu o tensiune nominală de 24 V.
Se va respecta următoarea specificație privind alimentarea cu tensiune a instrumentului de bord:
Tabela 2.3
Circuitul de alimentare conține subcircuite de protecție la supratensiuni, reversibilități de polaritate și regim tranzitoriu. De asemenea, conține filtre EMC conform unor standarde. Reglarea alimentării de la sursa de tensiune este realizabilă prin prezenta aplicație, aceasta conținând o subaplicație de acest gen în componența sa.
Panoul frontal al instrumentului conține diferite instrumentații care oferă informații vizuale utilizatorului privind starea vehiculului la un moment de timp. Unele dintre aceste informații vizuale pot fi insoțite de sunete de frecvență constantă sau variabilă.
Instrumentațiile existente pe panoul frontal sunt următoarele:
Ecranul LCD principal;
Ecranul segmentat secundar;
Vitezometrul;
Turometrul;
Indicatorul de presiune 1;
Indicatorul de presiune 2;
Indicatorul de nivel combustibil;
Indicatorul de temperatură lichid de racire;
Lămpile indicatoare(în număr de 43 ).
Amplasarea acestora este redată in Figura 2.2.
Figura 2.2. Instrument de bord
Figura 2.3. Instrument de bord vedere din fata
Figura 2.4. Instrument de bord vedere din spate
Dupa cum se poate vedea in Figura 2.4 instrumentul de bord este populat cu 3 conectori prin intermediul carora isi primeste efectiv inputurile(digitale,analogice) de la sistemul de testare si anume KFZ-ul. Legatura hardware dintre sistemul de testare si instrumentul de bord este facuta prin harness care prezentatalul de viteză a vehiculului;
semnalul turație a motorului.
semnalul de iluminare graduală a elementelor de pe ecran
Caracteristicile intrărilor de frecvență vor respecta următoarea specificație:
Tabela 2.2
Funcționalități
Instrumentul de bord funcționează în regim normal cu ajutorul semnalelor de intrare descrise în capitolul anterior. Alimentarea acestuia cu energie electrica se realizeaza de la o sursă reglabilă de tensiune, cu o tensiune nominală de 24 V.
Se va respecta următoarea specificație privind alimentarea cu tensiune a instrumentului de bord:
Tabela 2.3
Circuitul de alimentare conține subcircuite de protecție la supratensiuni, reversibilități de polaritate și regim tranzitoriu. De asemenea, conține filtre EMC conform unor standarde. Reglarea alimentării de la sursa de tensiune este realizabilă prin prezenta aplicație, aceasta conținând o subaplicație de acest gen în componența sa.
Panoul frontal al instrumentului conține diferite instrumentații care oferă informații vizuale utilizatorului privind starea vehiculului la un moment de timp. Unele dintre aceste informații vizuale pot fi insoțite de sunete de frecvență constantă sau variabilă.
Instrumentațiile existente pe panoul frontal sunt următoarele:
Ecranul LCD principal;
Ecranul segmentat secundar;
Vitezometrul;
Turometrul;
Indicatorul de presiune 1;
Indicatorul de presiune 2;
Indicatorul de nivel combustibil;
Indicatorul de temperatură lichid de racire;
Lămpile indicatoare(în număr de 43 ).
Amplasarea acestora este redată in Figura 2.2.
Figura 2.2. Instrument de bord
Figura 2.3. Instrument de bord vedere din fata
Figura 2.4. Instrument de bord vedere din spate
Dupa cum se poate vedea in Figura 2.4 instrumentul de bord este populat cu 3 conectori prin intermediul carora isi primeste efectiv inputurile(digitale,analogice) de la sistemul de testare si anume KFZ-ul. Legatura hardware dintre sistemul de testare si instrumentul de bord este facuta prin harness care prezentat in figura de mai jos.
Figura 2.5. Sistemul de testare KFZ cu harness-ul conectat
Figura 2.6. Instrumentul de bord conectat la sitemul de testare KFZ prin intermediul conectorilor prezenti pe harness
Ecranul LCD principal
Ecranul LCD principal este localizat în centrul panoului frontal al instrumentului de bord și are urmatoarele caracteristici:
Tehnologie: LCD, Dot matrix
Policrom
Rezoluție: 64×156 pixels
Dimensiunile suprafeței active: 35x85mm
Iluminare
Contrast mare ziua și noaptea
Unghi de vizualizare larg( 60°)
Incălzirea nu este necesară
Ecranul LCD afisează un volum mare de informație. Din acest motiv informația vizualizată va fi structurată în mai multe pagini, care pot fi parcurse cu ajutorul a niște butoane de control(Menu/Ok, Page Up, Page Down, Escape, Reset, Mode) instalate la volanul vehiculului. Butoanele vor fi simulate în cadrul aplicației printr-un semnal analogic, și anume: la un anumit nivel de tensiune ii corespunde o anumita pagina.
Ecranul segmentat secundar
Ecranul segmentat secundar este situat în partea dreaptă a panoului frontal, în zona vitezometrului, și afișeaza distanța totală parcursă de vehicul. Aspectul acestuia poate fi observat in Figura 2.7.
Figura 2.7
Ecranul secundar este iluminat cu lumină de culoare albastră doar la funcționarea normală a instrumentului, adica atunci când motorul este pornit( cheia IGNITION activată). Ca și semnal de intrare pentru calculul distanței este semnalul de frecvență(adică viteza vehiculului). Modul de afișare a informației este următorul: valoarea distanței parcurse se incrementează la un anumit interval de timp determinat de viteza vehiclului. Microcontroller-ul din componența instrumentului numără pulsurile de tensiune achiziționate, iar după un anumit timp numărul respectiv de pulsuri este inmulțit cu așa numitul K-factor( echivalentul circumferinței unei roți a vehiculului) stocat în memoria microcontroller-ului. Astfel, valoarea vizualizată este incrementată. Daca frecvența pulsurilor crește(adica viteza vehiculului crește) valoarea vizualizată se incrementează într-un interval de timp mai scurt. Foarte important de specificat este faptul că această valoare nu poate fi resetată. Valoarea maximă care poate fi afișată este de 2.000.000.0 km.
Vitezometrul
Vitezometrul este amplasat în partea dreaptă a panoului și este un indicator care masoară viteza instantanee a vehiculului. Este unul dintre cei mai importanți indicatori din punct de vedere al faptului că este cel mai intens vizualizat în timpul rulării vehiculului. Este compus dintr-o scală gradată de la 0 la 160 în unitatea de măsura km/h( kilometru per oră) și un ac indicator. Acesta din urmă este antrenat de un motor pas cu pas.
Semnalul de intrare pentru vitezometru este un semnal de frecvență.Vitezometrul trece prin mai multe stări concomitent cu schimbarea de stare a instrumentului de bord:
starea 0, atunci când instrumentul de bord nu este funcționabil iar vitezometrul în aceeași stare; acul indicator indică spre valoarea 0 a scalei gradate. În această stare vitezometrul nu este iluminat.
starea 1 corespunde funcționării depline a vitezometrului și a instrumentului de bord; starea de mișcare a vehiculului poate fi simulată și atunci vitezometrul indică viteza corespunzătoare. Acul indicator este iluminat cu o culoare roșie, iar scala gradată este iluminată cu o culoare albastră.
În momentul pornirii motorului( starea IGNITION activată) acul indicator parcurge o cursă de la 0 la valoarea maximă într-un interval de timp de 2 secunde.
Turometrul
Turometrul se află amplasat în partea din stânga a panoului frontal și indică turația motorului în unitatea de măsura rpm( rotații pe minut). Similar cu vitezometrul, și turometrul este alcătuit dintr-o scală gradată inscripționată de la 0 la 40, și un ac indicator antrenat de un motor pas cu pas. Scala gradată conține inscripții de culoare verde indicând un interval de siguranță pentru viteza de rotație a motorului. Aceasta poate asista conducatorul în alegerea unei valori pentru viteza de rotație potrivită setărilor de viteză și accelerație. De asemenea, există marcaje de culoare roșie și pentru plaja de valori a turațiilor mari care pot produce defecțiuni severe motorului.
Semnalul de intrare pentru turometru este un semnal de tip frecvența.
Un detaliu specific acestui tip de instrument de bord este faptul ca turometrul conține și un număr de 4 lămpi indicatoare așezate în linie, care sunt activate pe măsură ce turația motorului crește, și dezactivate pe măsura ce turația scade. Mai exact, aceste LED-uri se aprind la anumite valori ale turației, valori ce sunt stocate în memoria instrumentului de bord.
În momentul pornirii motorului( starea IGNITION activată) acul indicator parcurge o cursă de la valoarea 0 la valoarea maximă într-un interval de timp de 2 secunde, după care revine la valoarea care indică turația motorului în momentul respectiv.
Indicatorul de presiune 1
Indicatorul de presiune 1 are rolul de a furniza informații despre presiunea din instalația de frânare principală. Indicatorul este amplasat pe panoul frontal al instrumentului de bord, sub ecranul LCD. Este alcătuit dintr-o scală gradată sub formă de arc de cerc, numerotată de la 0 la 10 cu unitatea de măsura bar( =100 kPa) și un ac indicator acționat de un motor pas cu pas.
În memoria instrumentului de bord este stocată o valoare a presiunii lichidului de frână care reprezintă pragul critic. În momentul atingerii acestei valori de către indicatorul de presiune, este activat un sunet și o lampă indicatoare.
Semnalul de intrare pentru acest indicator este de tip analogic.
Indicatorul de presiune 2
Indicatorul de presiune 2 se află sub ecranul LCD, în apropierea indicatorului de presiune 1. Îndeplinește aceleași atribuții ca și indicatorul de presiune 1, doar că face referire la instalația de frânare secundară.
Indicatorul de nivel combustibil
Este situat deasupra ecranului LCD, pe panoul frontal al instrumentului de bord, și este alcătuit similar ca și celelalte indicatoare dintr-o scală gradată sub formă de arc de cerc și un ac indicator acționat electric de un motor pas cu pas. Scala gradată este inscripționată în felul următor:
E( Empty), corespunde nivelului scăzut de combustibil din rezervor;
½ corespunde la jumătate din nivelul ridicat;
F( Full), corespunde nivelului maxim de combustibil.
Semnalul de intrare pentru acest indicator este de asemenea un semnal analogic. Indicatorul este acționat astfel:
Indicatorul de nivel de combustibil conține și o lampă indicatoare de culoare roșie care se activează la o anumită valoare scazută a nivelului de combustibil măsurat în rezervor, dar nu zero. Se păstreaza un prag critic acceptabil pentru a asigura parcurgerea distanței pâna la cea mai apropiată stație de alimentare cu combustibil.
Indicatorul de temperatură lichid de răcire
Indicatorul de temperatură lichid de răcire se află amplasat deasupra ecranului LCD, pe panoul frontal. Are rolul de a furniza informații despre temperatura lichidului din instalația de răcire a motorului. Indicatorul este compus dintr-o scală gradată în formă de arc de cerc și un ac indicator acționat de un motor pas cu pas. În regim de functionare normală a instrumentului de bord, și acest indicator asemenea cu celelalte despre care s-a menționat, este iluminat cu o culoare albastră scala gradată și cu o culoare roșie acul indicator.
Ansamblul indicatorului mai cuprinde și o lampă indicatoare care se activează la o anumită valoare a temperaturii lichidului de răcire indicată de acest indicator. Acest prag are valoarea de 100 grade Celsius și este stocat în memoria instrumentului de bord.
Lămpile indicatoare
Lămpile indicatoare sunt alcătuite dintr-o mască ce ilustrează un simbol asociat și un LED pentru iluminarea cu o culoare definită. Plasamentul LED-urilor asigură o iluminare uniformă a lămpii indicatoare. Culorile sunt definite în Tabelul 2.4.
Tabela 2.4
Numărul total al acestor lămpi indicatoare este de 43, ceea ce este caracteristic pentru acest instrument de bord.
Sursa de semnal a lămpilor indicatoare poate fi un semnal de intrare digital, un semnal de intrare analogic sau lampa poate fi activată printr-un mesaj CAN. Lămpile indicatoare pot avea mai multe stări:
starea de lampa stinsă: nu este iluminată;
starea de lampă aprinsă permanent;
starea de lampă aprinsă intermitent.
Exemple de lămpi indicatoare:
semnalizare dreapta/stânga;
frâna de parcare;
nivel scazut de combustibil;
semnalizarea de avarie(de hazard) care se compune din cele două lămpi indicatoare semnalizare stânga, respectiv dreapta, activate concomitent;
indicatorul centură de siguranță;
indicatorul ABS;
indicatorul portieră deschisă etc.
In continuare se vor prezenta indicatoare de importanță majoră, care avertizează conducătorul auto de o defecțiune gravă a vehiculului.
Lampa indicatoare MIL
Lampa indicatoare MIL(Malfunction Indicator Lamp) este situată în partea dreaptă și poate semnaliza diferite defecțiuni ale vehiculului. Este iluminată cu un LED de culoare galbenă, în stările permanent și intermitent, și arata ca in Figura 2.8.
Figura 2.8
Atunci când este activată permanent, lampa indică o defecțiune minoră, cum ar fi nivelul de aer prea scăzut sau prea ridicat în amestecul din injectoare, iar atunci cînd lampa este iluminată intermitent, indică o defecțiune severă, cum ar fi toxicitatea emisiilor la catalizator ridicată.
Platforma software și hardware a aplicației
Conceptul de testare manuală și automată
Introducere
În prezent, producătorii de soluții IT sunt confruntați cu o nouă cerință care îi obligă să schimbe total modul de construcție a unui produs, fără a face compromisuri de calitate. A fi primul pe piață cu ultimele tehnologii este mai important ca oricând. Lucrând cu o infrastructura software și hardware din ce în ce mai complexă, confruntați cu creșterea continuă a cerințelor de calitate și cu necesitatea reducerii costurilor, firmele de software încep să prețuiască tot mai mult soluții solide, inginerești, de dezvoltare de software.
Testarea produsului este în software o componentă majoră în procesul de dezvoltare.
În limbaj de specialitate se discută despre asigurarea calității (Quality Assurance). Firmele din industria tradițională – de ex. industria de mașini, de construcții, de produse electronice sau alimentare au de zeci de ani departamente de testare și verificare a calității. În materie de software, organizarea și automatizarea muncii de testare și verificare a produselor a început din motive istorice evidente abia în anii '80.
Testarea manuală, mult timp văzută ca singura soluție de a descoperi eventualele defecte, întârzie foarte mult lansarea pe piață a produsului și induce cheltuieli semnificative mai ales în cazul descoperirii efectelor laterale – atât în procesul dezvoltării unei aplicații cât și în cazul de schimbări ulterioare.
Totodată procedurile de testare manuală, prin natura lor limitată, nu reușesc să descopere toate defectele și nu au nici o șansă să simuleze condiții de utilizare simultană, intensivă, a unei aplicații.
Există numeroase căi de a îmbunătăți procesul de testare, una dintre cele mai eficiente fiind testarea automată. Testele automate execută o secvență de acțiuni fără intervenție umană și pot simula utilizarea unei aplicații în condiții de simultaneitate ridicată. În general, majoritatea produselor necesită să fie testate de mai multe ori, pe mai multe platforme software și hardware, ca și după schimbările ulterioare sau la lansarea unei noi versiuni de produs. Prin folosirea testării automate, costurile testărilor repetate se reduc aproape la zero
Cele mai importante beneficii sunt:
• acoperirea tuturor etapelor de testare de la concepție până la lansare
• posibilitatea simulării testării cu mai mulți utilizatori
• posibilitatea repetării testelor
• creșterea siguranței în produs.
Un sistem de testare automată trebuie să aibă la bază două caracteristici principale:
• module reutilizabile
• întreținerea și urmărirea activității dintr-un singur punct de control
De aceea una din calitățile care trebuie să le aibă un astfel de sistem este capabilitatea de a fi ușor configurat și adaptat în același ritm cu software-ul ce se testează .
Sistemele de testare automată sunt o tehnologie în plină dezvoltare care au ca scop descoperirea și raportarea eventualelor defecte, mărirea longevității produsului și reducerea procesului de întreținere.
Testarea automată înseamnă mai mult decât o simplă captură de ecran și răspunsul la câteva scripturi : ea trebuie să înceapă cu planificarea și design-ul procedurii de testare, să conțină o serie de teste repetabile, o interfață de management al scenariilor de test și un mecanism de raportare și gestionare a bug-urilor descoperite în urma testării. Un sistem de test evoluat sprijină utilizatorii printr-un sistem de documentare pe tot parcursul acestui proces.
Într-o abordare mai detaliată testarea automată înseamnă:
1. planificare
2. identificarea cerințelor și a funcționalităților
3. gruparea acestora în condiții de test
4. crearea cazurilor de test pentru aceste condiții
5. design
6. construcția scripturilor de test
7. generarea testelor de rulare
8. execuție
9. crearea scenariului de rulare a scripturilor
10. rularea uneltelor monitor pentru înregistrarea datelor
11. înregistrarea rezultatelor pentru fiecare rulare
12 raportarea și gestionarea bug-urilor
13. management
14. generarea rapoartelor și graficelor
15. controlul dintr-un singur punct de comandă
16. documentarea permanentă a stadiului curent al proiectului
Tipuri de testare automată
1. structurală (white-box testing) – se verifică structura software-ului și necesită acces complet la codul sursă. Acest tip de testare verifică dacă structura codului este eficientă: bucle complicate, zone de date comune, mii de linii de cod încurcate sunt numai câteva din problemele care pot fi îndepărtate. Scopul acestui test este mărirea performanței aplicației și a lizibilității codului.
2. funcțională (black-box testing) – se definesc așteptările clientului de la aplicație și se verifică automat dacă software-ul se comportă conform acestor așteptări. Prin testele ce se execută se observă comportamentul aplicației, evidențiat prin datele de ieșire, fără a se face referire la funcțiile interne.
3. regresivă (regression testing) – se verifică dacă s-a modificat neașteptat comportamentul aplicației în urma implementării unor noi cerințe/schimbări (change requests).
4. negativă (negative testing) – se solicită aplicația, producând deliberat cazuri complicate, neobișnuite sau particulare pentru a forța apariția erorilor.
5. de solicitare (stress testing) – se determină capabilitățile absolute ale aplicației și ale infrastructurii pe care este implementată; cu ajutorul acestui tip de test se dezvăluie caracteristicile de performanță ale unui sistem menținut în condiții de încărcare totale, adică sunt pornite și rulate toate serviciile care în mod normal ar fi fost rulate separat în timp și independent.
6. de performanță (performance testing) – în urma acestui tip de testare se verifică dacă performanța aplicației este adecvată pentru cerințele stabilite, în termeni de viteză de acces, resurse de system utilizate și procesarea cererilor de acces.
7. de încărcare (load testing) – se determină punctele slabe ale aplicației și dacă sunt necesare îmbunătățiri ale infrastructurii hardware sau software prin măsurarea caracteristicilor de performanță și scalabilitate a principalelor componente ale aplicației web; de regulă aceasta se realizează prin creșterea numărului de sesiuni utilizator sau a conexiunilor TCP/IP.
Limitele testării automate
Sunt multe lucruri pe care uneltele de testare automată nu le pot face și este important să se cunoască aceste limitări pentru a alege pe cea mai potrivită. Un sistem de testare automată nu poate spune când ceva "arată bine" pe ecran sau când o poză sau fereastră nu este bine încadrată. De asemenea un test automat nu poate decide dacă logica programului are lipsuri funcționale decât în măsura în care au fost definite complet cerințele aplicației respective. Unele teste, mai ales pentru aplicații mici și pentru aplicații care se concentrează mai ales pe grafică și nu pe business logic, sunt mult mai ușor realizabile de către operatorul uman decât de către un computer. De aceea trebuie alcătuit un plan bine definit al procedurii de testare, când, unde și în ce condiții este fiabilă introducerea automatizării.
Tipuri de unelte pentru testarea automată
Sistemele de testare automată pot include unelte de genul :
• GUI , prin folosirea metodei "înregistrare/redare"
• analizoare de cod – analizează complexitatea codului scris, respectarea unor standarde de scriere a codului
• analizoare de memorie – detectează depășirea memoriei alocate, suprascrieri în zone nealocate și zone rămase nedealocate
• testare de solicitare/performanță – pentru testarea aplicațiilor web și client/server în diferite scenarii de solicitare
• testare servere web – verifică validitatea și integritatea link-urilor, a codului html, programe client-side și server-side, securitatea transmiterii datelor
• alte unelte – pentru managementul documentației, raportării bug-urilor, configurației, etc.
Comparație între testarea manuală și automată
Testarea manuală și testarea automată sunt mai degrabă două procese diferite, decât două căi diferite de a executa același proces : dinamica lor este diferită precum și modul de a releva bug-urile.
Testarea manuală este mai folositoare în situațiile în care este nevoie urgent de rezultatele unor tipuri de teste specifice și limitate, când se dorește ca timpul de feedback să fie foarte scurt, iar costurile să fie relativ mici. Cum îmbunătățirea calității produsului implică costuri adiționale pentru găsirea bug-urilor și gestionarea acestora până la repararea lor definitivă, testarea manuală s-a dovedit a fi în timp extrem de costisitoare. Testarea manuală pe scară largă presupune alocarea de resurse hardware și umane destul de mari, iar riscul să apară erori este amplificat de factorul uman.
Testarea automată necesită un efort inițial mai mare pentru planificarea, organizarea și producerea testului, criteriul principal în obținerea de rezultate bune fiind planificarea atentă, amănunțită și precisă a acestuia.
O alternativă interesantă este așa-numita " testare parțială". Această soluție este combinație de jumătate testare manuală și jumătate testare automată, aceasta din urmă fiind folosită numai acolo unde se pot obține beneficii maxime.
Testarea automată se dorește a fi soluția ideală pentru reducerea timpului de dezvoltare și a costurilor. O echipă de testeri poate să pornească uneltele de testare automată, să le lase să ruleze și în final să colecteze și analizeze rezultatele. Timpul este astfel mai bine organizat și poate fi petrecut pentru izolarea și raportarea bug-urilor.
În zilele noastre sunt multe unelte pe piață care pot ajuta la planificarea, execuția și crearea de rapoarte în activitatea de testare. Majoritatea acestor unelte necesită cunoștințe de specialitate pentru a le implementa și utiliza corespunzător. De asemenea, este bine de știut, că suitele profesionale de unelte specializate în asigurarea calitătii oferă întotdeauna un produs de sine stătător care preia partea de management de proiect și pe cea de bug reporting/ticketing. Un asemenea produs este de exemplu LabView de la firma National Instruments.
Soluțiile elegante pentru testarea sistemelor sofisticate sunt adesea limitate numai de imaginația tester-ilor.
Câteva dintre avantajele utilizării testării automate sunt:
a) avantaje privind eficiența și costurile
• prevenirea erorilor prin abordarea structurată a procesului de dezvoltare a proiectului
• detecția erorilor care au ajuns până în faza de producție (prin teste de regresie automată)
• reutilizarea informației acumulate (condiții de test, scripturi)
• reducerea creării de noi scripturi (refolosindu-le și adaptându-le pe cele vechi)
• execuția automată a testelor de performanță în fazele de început ale proiectului poate evita eforturile de redesign în fazele ulterioare
• odată ce scripturile de testare automată sunt implementate, o parte din personal poate fi redirecționat către alte necesități
b) avantaje privind economia de timp
• analiză rapidă și exactă în cazul schimbării parametrilor sistemului
• durată scurtă a ciclurilor de testare
• estimări mai exacte pentru procesul de planificare a testului
• posibilitatea efectuării mai multor teste (scripturile de testare pot fi rulate și după orele de program economisind astfel timp)
• generarea rapidă a condițiilor de testare
c) avantaje privind calitatea
• o mai bună înțelegere a scopului testării
• o acoperire mai mare a elementelor de testat
• rezultate mai consistente datorită repetabilității testelor
• compararea automată a rezultatelor
Testarea automată nu va putea înlocui în întregime testarea manuală și nici nu trebuie. Tester-ii pot să observe cum un utilizator poate interacționa cu produsul, în timp ce un sistem de testare automată nu poate întotdeauna să prevadă aceste acțiuni sau să găsească cea mai bună cale de a le testa. Dacă sunt bine folosite, programele de testare automată măresc considerabil productivitatea QA, economisesc costuri, măresc semnificativ consistența și calitatea produsului și ajută la optimizarea și accelerarea procesului de dezvoltare al unei aplicații. Deja în țările cu tradiție în dezvoltarea de software există cerința ca toate produsele software din sectorul militar, medical, guvernamental și financiar să fie testate cu unul din sistemele recunoscute de testare automată, iar rapoartele automate asupra felului cum a decurs testarea constituie baza acceptării unei aplicații de către client.
In cadrul departamentului nostru, CV, necesitățile imbinării celor două tipuri de testare sunt impuse de standardele de calitate aferente profilului companiei. Implicarea procesului de testare manuală este o condiție “sine qua non” in direcția realizării unui produs software conform specificațiilor riguroase cerute de client. Privirea de ansamblu a elementului uman asupra instrumentului testat nu poate fi simulată de un program, oricât de complex ar fi acesta. În schimb, gama vastă de situații posibile ce se doresc cercetate, precum și evoluția acestora, este mult mai la îndemâna unui instrument software, a cărui acuratețe și viteză de procesare se dovedește mai utilă pentru o explorare cât mai exhaustivă. Deasemenea, în cazul în care se urmarește comportarea obiectului de testat pe o perioadă de timp îndelungată, elementele de automatizare devin indispensabile.
Instrumentația virtuală și, în speță, programul LabView reprezintă un mijloc excelent spre realizarea unor sesiuni de verificare si validare cât mai complete și precise.
Instrumentație virtuală
Definirea noțiunii de instrumentație virtuală
Prin termenul de instrumentație virtuală se ințelege utilizarea unui computer dotat cu echipamente periferice de intrare și ieșire specializate, pentru a simula caracteristicile și funcționarea unui instrument sau sistem de măsurare, de testare sau de inregistrare a datelor.
Instrumentele virtuale fac uz de traductoare și senzori pentru a intra în contact cu mărimea fizică masurată, de eventuale sisteme de condiționare a semnalelor, precum și de circuite pentru conversia analog – digitală. Diferența în raport cu sistemele de măsurare "clasice" este aceea că de această dată toate funcțiunile de prelucrare și analiză a valorilor măsurate, de stocare a acestor informații și de transmitere a lor către utilizatorul uman sunt realizate de către computer și nu de către aparatura dedicată. Aplicațiile software inlocuiesc astfel componente estimate a reprezenta 80% din circuitele unui aparat de măsurare sau testare specializat "clasic". Software-ul care realizează aceste funcțiuni poseda în majoritatea cazurilor o interfață grafică având același aspect ca și cel al panoului frontal al unui aparat de măsurare. Acesta este motivul pentru care aplicațiile respective sunt numite instrumente virtuale.
In sistemele de măsurare computerizate cu instrumente virtuale, natura mărimilor fizice măsurate dictează doar configurația componentelor de genul traductoarelor și în unele cazuri a condiționatoarelor de semnal. In aval de acestea, după convertorul analog – digital, informația referitoare la valoarea mărimii masurate este procesată doar prin intermediul componentelor software. Dacă, de exemplu, un semnal de tip tensiune electrică necesita atât vizualizarea variației în timp cât și determinarea spectrului de frecvențe, utilizarea instrumentației virtuale permite folosirea aceluiași sistem de masurare. Se inlocuiește doar aplicația de prelucrare a semnalului sau se construiește o aplicație care sa afișeze simultan, intr-o fereastră unică, ambele informații necesare.
Mai mult, același sistem de măsurare, dar cu o aplicație software diferită, poate fi utilizat ca voltmetru, ca instrument de stocare a datelor sau ca sistem de avertizare. Apariția instrumentelor virtuale a permis astfel ca mai multe aparate de măsurare sau testare specializate să poată fi inlocuite printr-o singură configurație hardware de sistem de măsurare computerizat, completată apoi cu diverse aplicații software.
Avantajele utilizării instrumentației virtuale
flexibilitatea sporită a configurațiilor sistemelor de măsurare;
fiabilitatea crescută a componentelor;
precizia crescută a prelucrării informației;
capacitatea de a efectua prelucrări de mai mare complexitate;
costul mult redus în raport cu aparatele clasice.
Aplicațiile instrumentației virtuale nu se rezumă doar la măsurarea de mărimi fizice analogice. Rezidente in sisteme computerizate, instrumentele virtuale pot fi folosite drept generatoare de semnale analogice, pot manipula bidirecțional semnale digitale și pot efectua operațiuni de numărare/cronometrare sau de generare de trenuri de impulsuri.
Instrumentele virtuale pot tranforma un computer în "centrul de comanda" al unei rețele de zeci de aparate de măsura capabile sa comunice prin protocolul GPIB[4.] General Purpose Interface Bus).
Seturi de instrumente virtuale specializate pot efectua funcții de comandă a motoarelor pas cu pas sau operații evoluate de prelucrare și analiză a imaginilor sau sunetelor. Sistemele de instrumentație virtuală nu se rezumă astfel doar la a inlocui aparatele de măsurare utilizate în aplicațiile din laboratoarele de cercetare sau didactice, ci devin unelte complexe și puternice de monitorizare și control ale proceselor industriale.
Un sistem de instrumentație virtuala nu trebuie ințeles ca fiind majoritar rezident într-un computer. În laboratoarele de cercetare se utilizează îndeosebi plăci multifuncționale de achiziție de date montate in PC-uri, conținănd multiplexoare și convertoare analog-numerice și numeric-analog.
Sistemele de achiziție "Real Time" isi indeplinesc funcțiunile și în timpul "căderilor" sistemului de operare sau al resetărilor computerului gazdă. În multe categorii de sisteme distribuite, multiplexoarele și convertoarele au "migrat" din computer în zona condiționatoarelor de semnal, insoțite de o interfață serială. Computerul gestionează astfel o rețea de puncte de măsurare, mult mai numeroase decât ar fi permis varianta sub formă analogică.
Sistemele dedicate uzului industrial, din gama PXI, utilizează computere de proces (controllere), având configurații și caracteristici de funcționare specifice și dispunând de o întreaga gamă de posibilități de comunicație ce includ protocoalele serial, Ethernet, SCSI, GPIB (IEEE 488), PCMCIA, CAN și DeviceNet. Facilitățile oferite de hardware-ul de achiziție de date și control de proces nu ar putea fi puse în valoare fără existența unui software adecvat.
Avantajul folosirii mediului de programare grafică LabVIEW în instrumentația virtuală consta în abordarea în mediu unitar a dezvoltării aplicațiilor pentru configurații hardware diverse și protocoale de comunicație dedicate interacțiunii cu procese incepând de la cele mai simple până la procese industriale de mare complexitate. În concluzie, se poate aprecia că instrumentația virtuală are, datorita flexibilitații și versatilitații sale, un potențial imens pentru cei ce lucrează intr-un număr ridicat de domenii, și totodată, este cea mai potrivită pentru cerințele de validare a unor instrumente precum cel descris ăn lucrarea de față.
Privire asupra mediului de testare
Mediul de testare este alcătuit din:
următoarele periferice ale unui PC sunt necesare:
1 controller PCI-GPIB model NI 488.2 de la National Instruments
1 placă NI-CAN pe slot PCI [6.]
1 placă de achiziție NI-DAQ[5.] (achiziție analogică și digitală) model PCI-6602
1 interfață RS232
un sistem de test KFZ format din urmatoarele:
Sursă de alimentare Gossen-Metrawatt Konstanter SSP 240-40[1.] (care este prevazută cu un controler GPIB)
plăci cu relee
plăci cu rezistențe
1 convertor(BSK) K-Line -> RS232[7.]
1 generator de frecvența care simulează măsurarea vitezei
Schema bloc a mediului de testare este prezentată în Figura 3.1.
Figura 3.1 – Schema bloc a mediului de testare
Sistemul de testare a fost creat în scopul de a controla produsul care trebuie testat. În momentul în care dispozitivele supuse testării au devenit mai complexe, un sistem care să controleze multitudinea de intrări și ieșiri a devenit necesar. De exemplu, în cazul unui instrument de bord, există multe semnale diferite care trebuie să fie interpretate sau afișate. Acestea pot fi de exemplu un semnal digital, o tensiune analogică sau o informație logică a unui sistem de comunicare( ex. CAN).
Sistemul de test va servi la simularea semnalelor necesare instrumentului de bord sau a celor care trebuie să fie interpretate de acesta.
Cerințe funcționale
Acest capitol conține detalii despre componentele software și hardware necesare testării.
Cerințe software
Structura driver – DAQmx[8.]
Placa de achiziție 6602 este comandată cu un software dedicat corespunzător. Aplicația software este o parte din structura de driver-e de la “National Instruments” numită DAQmx. Aceasta inlocuiește versiunea DAQ (Data Acquisition) precedentă, diferența dintre cele 2 versiuni software găsindu-se în operabilitate și control. Trebuie totuși mentionat că structura DAQmx nu este compatibilă cu toate produsele National Instruments, doar produsele mai noi fiind utilizând driver-ul DAQmx. De exemplu, plăcile de achiziție PC TIO 10 și DAQ PAD 1200 nu mai sunt compatibile cu DAQmx, dar această trecere de la DAQ la DAQmx aduce mai multe avantaje decât dezavantaje.
Avantajele structurii DAQmx
Odată cu noua versiune de driver se poate trece peste anumite obstacole mai ușor decât cu versiunea precedentă. Spre exemplu, este posibilă conceperea unui “TASK”. Acest “TASK” este o definiție de input-uri și output-uri ale plăcii de numărare/temporizare așa cum este ea denumită de National Instruments. Prin aceasta este, de exemplu, posibilă combinarea unui număr aleator (în acest caz 8 sau 16) de intrări/ieșiri digitale disponibile, dintr-un total de 32 pe o magistrală (BUS). Aceste 8 linii nu trebuie sa fie adiacente. Combinația diferitelor linii este necesară pentru controlul testelor, din moment ce a doua funcție a liniei este utilizată în acest caz. Este bine de menționat că aproape toate liniile plăcii de achiziție 6602 pot realiza 2 funcții diferite, de exemplu, intrări/ieșiri digitale și ieșirea numărătorului.
Structura noului driver are o interfață mai sugestivă decât cea precedentă, controlul sistemului de test fiind mai exact. În scopul aflării duratei pulsului de setare, este necesară deducerea unei constante de timp din durata de puls a comutatorului. Această constantă de timp este utilizată, printre altele, la procesorul de timp al VI-ului. Precedenta valoare a acestei constante era 13ms, dar in noul sistem această constantă poate fi redusă la 3ms.
Cerințe hardware
Sistemul de test KFZ
Sistemul KFZ este un sistem de testare controlat de PC care oferă posibilitatea de a genera semnale digitale programabile, precum și posibilitatea de a utiliza rezistențe reglabile. Sistemul se comportă ca o interfață de comunicare între obiectul supus testării (DUT – Device Under Test) și PC atât pentru protocolul K-line cât și pentru CAN. Un aspect important de reținut este acela că sistemul este ușor configurabil prin faptul că plăcile de pe panoul frontal pot fi inlocuite sau adăugate în funcție de necesitățile testării.
Figura 3.2 – Sistemul de test KFZ
Sursa de alimentare
În fiecare din noile sisteme de test este instalată o sursă de alimentare Gossen. Sursa de alimentare poate furniza un curent de pana la 12A și o tensiune maximă de 40V. Cu toate acestea, sursa de alimentare generează o putere maximă de 240W, nefiind capabilă să furnizeze la 40V un curent de 12A. Aceasta poate fi controlată printr-o interfață GPIB corespunzătoare protocolului IEEE488.2. Prin intermediul acestei interfețe este posibilă parametrizarea sursei de alimentare cu ajutorul unui PC. Cu toate acestea, nu toate sursele care echipează echipamentele de testare dispun de această interfață.
Tabloul de programare
Sistemul de testare dispune, adițional, și de un tablou programabil cu conectori. Pe acești conectori se poate măsura tensiunea, reglată de la sursă. Sursa de alimentare dispune, în partea din spate, de o alta priză de la care este posibilă prelevarea tensiunii ajustate, aceasta fiind conectată la tabloul de programare plasat deasupra. In plus, fiecare pereche de conectori este protejată prin siguranțe.
Tabloul programabil cu conectori dispune de conectori adiționali pentru magistrala CAN (Controller Area Network) și pentru K-line. Cu toate acestea, datele de pe magistrala CAN nu sunt interpretate sau generate de sistemul de testare, ci direcționate de la un generator de semnale CAN, extern, la conectorii tabloului. Conectorii CAN sunt marcați cu verde(High), negru(ground) si galben(Low).
Conectorii K-line pot fi diferențiati prin semnificația culorii – galben(K) și albastru(L). Conversia de la interfața serială RS232 la K-line are loc în sistemul de testare și nu extern ca și în cazul interfeței CAN.
Sistemul de test necesită echipament (hardware) adițional descris în detaliu în cadrul acestui capitol.
Placa NI PCI 6602 Numarator / Temporizator
Controlul se realizează asupra unor date și linii de adresă ale sistemului de test prin intermediul PC-ului. În acest scop este necesară utilizarea plăcii numărător/temporizator 6602 de la National Instruments, această placă având 32 intrări/iesiri digitale și 8 numărătoare independente. Patru dintre ieșirile numărătoarelor sunt direcționate spre sistemul de testare, unde sunt disponibile utilizatorului, in urma unei decuplări optice.
Plăcile de conectare
Plăcile de conectare au fost create pentru ca sistemul de testare să îndeplinească diferite funcții, astfel incât este posibil ca un anume sistem să fie echipat cu plăcile care sunt necesare la un moment dat. În continuare vor fi prezentate tipurile de plăci și funcțiile pe care acestea le indeplinesc.
Placa Releu/Comutator
Placa cu relee permite utilizatorului să simuleze diferite stări ale comutatoarelor. O astfel de placă conține 16 relee, iar din moment ce releele comută în pereche de cate două se pot obține 8 stări comutabile ale unui semnal. Primul releu comută intre masă și potentialul pozitiv, iar cel de al doilea releu comută între pinul de ieșire al conectorului SubD de 25 de pini și primul releu, sau între pinul de ieșire al conectorului SubD de 25 de pini și un alt pin al conectorului SubD. Prin aceasta se realizează un comutator între un pin liber de potențial la un potențial, dacă pinul de intrare al celui de al doilea releu ramane liber. Dacă, totuși, pinul de intrare al celui de al doilea releu este ocupat, acesta poate fi conectat la pinul de intrare prin intermediul celui de al doilea releu.
Figura 3.3 – Conectarea a doua relee
În figura 3.3 sunt prezentate două perechi de relee din totalul de 8. Pe langă informațiile anterioare se pot observa rezistențele și punțile de măsură. Rezistorul este destinat masurării curentului. Dacă acesta este traversat de curent atunci curentul poate fi măsurat prin căderea de tensiune, în caz contrar curentul este măsurat prin intermediul punții de măsură.
Figura 3.4 – Layout-ul placii cu relee
Placa integrată, cu decade de rezistențe
Sistemul de testare poate utiliza 3 tipuri de plăci cu decade de rezistente
Plăci cu un canal, domeniul 0…32kΩ și o rezoluție de1Ω
Plăci cu un canal, domeniul 0…320kΩ și o rezoluție de10Ω
Plăci cu 2 canale, domeniul 0…1kΩ și o rezoluție de 4Ω
Aceste plăci sunt destinate simulării rezistențelor variabile care apar în senzori. Structura de bază a plăcilor cu decade de rezistențe este asemănătoare cu cea a plăcii cu relee. În cazul acestor plăci nu sunt definite stări de comutare, dar grupuri individuale de rezistențe sunt conectate între ele. În starea de așteptare, toate conexiunile (punțile) sunt deschise, iar placa cu decade de rezistențe este la valoarea cea mai mare a rezistenței.
Figura 3.5 – Distribuția rezistențelor pe o placă cu decade de rezistențe de 33 KΩ:
Tabela 3.1 – Valori ale rezistentelor de pe placa cu decade de rezistenta
Calculul rezistorilor este exemplificat pe baza grupului de rezistori R20, R21 și R22. R20 și R21 sunt conectați în serie, iar rezistența totală rezultată este conectată în paralel cu R22.
R20 + R21 = 127 + 1=128 Ω
127 + 1 = 128Ω
Valoarea tintă a acestui grup de rezistori este 64 Ω, dar nu există o rezistență standardizată cu această valoare. Prin urmare, o rezistență cu această valoare a fost obtinuță prin interconectarea unor rezistori.
Tabela 3.2 – Conectori ai placii cu decade de rezistente
Valoarea de 32767Ω rezultă din precizia de 15 biți a plăcii. Bitul 16 este utilizat pentru separarea conectorilor de rezistențe. Plăcile de rezistențe cu cei doi conectori albaștri au fost populate cu rezistențe în mod similar. Dacă cei 4 conectori sunt distribuiți în partea din față a plăcii, atunci linia dintre WX20 și WX19 nu este conectată. Punctele WX 19 și WX20 sunt conectate prin intermediul unor linii la conectori adiționali, prin aceasta fiind activate doua decade de rezistențe, fiecare cu o precizie de 8 biți.
Placa integrată cu intrări/ieșiri digitale
Placa integrată cu intrări/ieșiri digitale este compusă din 3 blocuri:
Optocuploarele izolează electric semnalele de panoul din spatele sistemului de testare. Prin această măsură se minimizează influențele parazite ale cuplării electrice clasice.
Pe placă se poate realiza o codare a adreselor, ceea ce permite introducerea mai multor plăci în sistem, fiecare placă fiind mapată cu o adresă diferită.
Când în sistemul de test sunt utilizate în paralel mai multe plăci, ar putea apărea unele probleme în momentul în care se incearcă citirea tuturor plăcilor în mod sincron, aceste probleme neputând fi rezolvate de sistemul de test. Pentru rezolvarea acestor probleme plăcile cu intrări/ieșiri digitale pot fi declanșate, iar valoarea curentă este stocată, această valoare stocată putând fi citită asincron într-o sesiune viitoare.
Ieșirea de frecvență
Placa integrată cu ieșire de frecvență conține doar un optocuplor, iar frecvențele sunt generate de placa integrată numărător/temporizator 6602 care se află în PC, care de altfel controlează întregul sistem de test. Frecvența maximă care poate fi generată de placa 6602 poate atinge 80Mhz. Totuși, aceste frecvențe mari nu pot fi folosite din cauza optocuploarelor de interconectare care sunt mult mai lente și nu pot comuta cu o asemenea viteză. În scopul unei imagini mai edificatoare, următoarele trei pagini conțin imagini care ilustrează răspunsul în frecvență vizualizat pe un osciloscop la o tensiune de 5V.
Figura 3.6 – Curba răspunsului în frecvența la 100Hz
Figura 3.7 – Curba răspunsului în frecvența la 1kHz
Figure 3.8 – Curba răspunsului în frecvență la 10kHz
Placa adaptoare
Placa adaptoare este destinată conectării semnalelor care vin de la PC la panoul din spatele sistemului de test.În scopul evitării supraîncărcării ieșirilor plăcii 6602, aceasta este prevazută cu drivere de magistrale prin intermediul cărora este protejată placa 6602.
Realizarea aplicației practice
Descrierea aplicatiei
„LabView”[3.] (Laboratory Virtual Instrumentation Engineering Workbench) este o platformă, un sistem de dezvoltare și un limbaj de programare vizualaă de la „National Instruments”. „LabView” este un mediu de programare ca oricare altul, cum ar fi FORTRAN sau C, dar spre deosebire de acestea din urmă, „LabView” folosește un limbaj de programare grafic care este foarte util în crearea de programe construite sub formă de diagrame. O aplicație, dezvoltată îin cadrul acestui mediu de programare, se numește instrument virtual (VI) deoarece aspectul și operațiile pe care le poate efectua acesta sunt, spre exemplu, asemănătoare unui instrument fizic de măsura și control. „National Instruments” a dezvoltat în timp mai multe versiuni de LabView, iar versiunea utilizată în lucrarea curenta este 8.2, fiind destinată achiziției, analizei și reprezentării datelor furnizate de dispozitivul aflat în procesul de testare. LabView poate opera și interfața cu diferite dispozitive „hardware” prin intermediul unor plăci furnizate de „National Instruments”, în acest proiect fiind utilizată placa de achiziție NI 6602, realizându-se astfel o interfațare intre dispozitivul testat și PC.
Aplicațiile LabView sunt constituite din 3 părți principale: Panoul frontal (Front Panel), Diagrama Bloc (Block Diagram) și “Icon/Connector”, prin intermediul căruia se pot interconecta “subVI-uri” în cadrul unui VI mai complex.
Panoul frontal (Front Panel) poate fi alcătuit din butoane, ecrane, grafice, controale și indicatori care realizează o interfață sugestivă între utilizator și aplicație. Diagrama bloc conține toate funcțiile necesare pentru construcția unui astfel de program și se află în spatele panoului frontal, prin intermediul acesteia realizându-se conexiunile între subVI-uri și funcții. La nivelul diagramei bloc se realizează partea funcțională a unei aplicații LabView. Aceste funcții apar ca “icoane” în diagrama bloc, cu propriile noduri care pot fi conectate prin intermediul unor legături (fire) dedicate diferitelor tipuri de control dorit.
Aplicația Labview destinată controlului și monitorizării instrumentației de bord electronice este structurată în mai multe câmpuri după cum indică și panoul frontal. Fiecare câmp din partea superioară a panoului frontal este creat cu ajutorul unor diagrame de interconectare aflate în secțiunea de “Diagrama Bloc” a aplicației Labview. Obiectele aflate pe panoul frontal reprezintă doar o interfața cu utilizatorul, mai importantă și complexă fiind secțiunea de diagramă bloc și interconexiunile dintre blocurile și “subVI-urile” din aceasta secțiune.
Structura aplicației Labview. Destinată controlului și monitorizării instrumentației de bord, este complexa, pornind de la un “VI” central, “main.vi” care odată accesat apelează o bază de date constituită din VI-uri necesare comandării intrărilor digitale și analogice ale instrumentului de bord.
Panoul frontal al aplicației conține câmpuri, prin intermediul cărora utilizatorul poate comanda și monitoriza comportamentul instrumentației de bord. Astfel, se pot comanda, spre exemplu, intrări digitale care controlează afișaje luminoase aflate pe bord, sau intrări analogice prin intermediul carora este posibilă comanda vitezometrului sau turometrului.
Câmpurile aflate pe panoul frontal, în partea superioara a acestuia, sunt prezentate în Figura 4.1:
Figura 4.1- Câmpurile aplicației
și anume:
„Electrical parameters” – Parametrii electrici;
„Digital Inputs” – Intrări digitale;
„Analogue Inputs” – Intrări analogice;
„Frequency Inputs” – Intrări de frecvență;
„Error”;
Diagrama bloc a aplicației, pe care se bazează intreaga funcționare a VI-ului, este impărțită în 3 blocuri principale, înglobate într-o structură „case”:
– blocul „Init”: prin intermediul acestuia se realizează inițializarea comunicației între placa NI 6602 aflată în PC și dispozitivul testat;
– blocul „Main”: în acest bloc se realizează toate funcțiile de comandă și monitorizare a instrumentului de bord;
– blocul „Deinit”: este un bloc prin intermediul căruia se realizează operația de întrerupere a comunicării între placa NI 6602 și dispozitivul de testat.
Obiectul studiului nostru se oprește la secțiunea „Main” a diagramei bloc care conține la rândul ei 2 secțiuni organizate într-o structură „case”. Aceste 2 secțiuni sunt definite astfel:
„Error”: această secțiune realizează doar afișarea codurilor și mesajelor de eroare care pot surveni în funcționarea VI-ului principal și implicit a subVI-urilor apelate. Mesajul de eroare și codul său pot fi observate în cadrul panoului frontal al aplicației la secțiunea „Error”. Pe panoul frontal, această secțiune este formată dintr-o fereastră denumită „error out” care conține informații despre eroare. Astfel, în această fereastră este descris atât statusul erorii care este produsă de o funcție sau un subVI, precum și numele funcției sau a subVI-ului la nivelul căruia este detectată eroarea.
Figura 4.2- Fereastra de descriere a erorii
„No Error”: În cazul în care nu este detectată nici o eroare, sunt executate ciclic în cadrul unei bucle „While”, o serie de evenimente. Aceste evenimente organizate într-un „Event Structure” sunt de fapt declanșate de către utilizator în scopul realizării unor comenzi asupra instrumentului de bord. În acest „Event Structure” se află funcțiile și subVI-urile necesare coordonării și trimiterii/receptionării informației înspre/dinspre dispozitivul testat. În subcapitolele următoare vor fi prezentate, în detaliu, câmpurile panoului frontal, enumerate mai devreme, precum și funcțiile și subVI-urile care coordonează informațiile și datele primite de la panoul frontal sau trimise spre panoul frontal al aplicației.
Controlul parametrilor electrici
Structura ferestrei
În câmpul „Parametrii electrici” al panoului frontal se află un „tablou de comandă”(Figura 4.3) prin intermediul căruia se pot modifica nivelurile tensiunilor și curenților la care este alimentat instrumentul de bord supus testării.
Prin intermediul opțiunii „VISA resource name” utilizatorul poate sa aleagă interfața de comunicare dintre PC și sistemul de test KFZ, la care este conectat instrumentul de bord testat, în functie de placa de achiziție (montată în PC pe slot PCI) utilizată pentru comanda sistemului de test KFZ (prezentat în capitolul trei). În cazul de față, comanda sistemului de test KFZ se realizează prin intermediul plăcii de achiziție NI 6602. Această comanda se realizează prin interfața GPIB (General Purpose Interface Bus) care permite ca aceeiași magistrală de 8 biti sa fie utilizată de pană la 15 dispozitive testate.
Opțiunea „Voltage Limit” permite utilizatorului să impună un prag maxim al tensiunii cu care poate fi alimentat instrumentul de bord pentru a evita ca tensiunea comandată de instrumentul virtual să depașească o anumită
valoare de siguranță, prin introducerea valorii maxime a tensiunii. SubVI-ul care realizează această comandă este Figura 4.3 – Parametrii „Voltage Limit.vi”, acesta fiind un VI creat cu ajutorul unor electrici de calibrare funcții predefinite din Labview. Acestea sunt funcțiile „VISA Write”, „VISA Read”, „Scan from string” și „Format into string”.
Funcția „VISA Write” are rolul de a trimite datele din „bufferul” de scriere către interfața specificată de intrarea „VISA resource name” a funcției.
„VISA Read” are rolul de a citi numărul de octeți de informație proveniți de la interfața sau dispozitivul specificat de intrarea „VISA resource name” a funcției, și returnează datele în „bufferul” de citire.
Funcția „Scan from string” preia informația ca un șir de caractere și o transformă în alt format, specificat de către intrarea „Format string” a funcției.
Funcția „Format into string” realizează conversia unui șir de caractere, tip enumerat, boolean, sau numeric în format text, în scopul afișării ca text a valorii de la intrarea funcției.
Prin intermediul opțiunii „Voltage Setting”, utilizatorului îi este permisă setarea tensiunii cu care este alimentat instrumentul de bord de la sursa de tensiune din cadrul sistemului de test KFZ. În anumite teste este necesar ca această tensiune să fie setată la valori diferite față de tensiunea nominală de alimentare a instrumentului de bord, pentru a se observa comportamentul acestuia în cazul unui test negativ. SubVI-ul pe care se bazează această opțiune se numește „Voltage Setting.vi” și are structura internă asemanatoare cu cea a subVI-ului „Voltage Limit.vi”.
Similare cu setările precedente sunt opțiunile „Current limit” și „Current setting” prin intermediul cărora aplicația Labview permite setarea unei limite superioare a curentului pe care instrumentul de bord îl poate consuma, precum și setarea valorii curentului pe care instrumentul de bord îl consumă.
Structura diagramei bloc
Structura interna a subVI-urilor ce controleaza parametrii electrici este prezentată în Figura 4.4:
Figura 4.4 – Diagrama internă a VI-ului Voltage Setting
SubVI-urile corespunzătoare fiecarei comenzi trimise din panoul frontal sunt activate de funcția „Unbundle by name”, care returnează un grup de elemente specificate de către utilizator. În concluzie, această funcție activează una dintre ieșiri în funcție de comanda primită de la panoul frontal.
Comenzile pe care utilizatorul le realizează în câmpul „Parametrii electrici” al panoului frontal sunt coordonate de diagrama bloc prezentată anterior și care poate fi observată în Figura 4.5:
Figura 4.5 – Diagrama implementării Parametrilor electrici
Controlul intrarilor/iesirilor digitale
Structura ferestrei
Figura 4.6 – Structura ferestrei cu intrări digitale
După cum este specificat în capitolul 2 al lucrării, instrumentul de bord conține o serie de elemente de afișaj cu roluri bine definite și extrem de importante în prezervarea integrității conducătorului auto și a bunei funcționări a autovehicului.
În corespondență cu echipamentul hardware descris anterior, în fereastra denumită “Digital inputs” a VI-ului sunt create structurile software ce permit setarea pe “1” logic sau pe “0”logic a informației transmise sistemului prin intermediul plăcii de achiziție. Această informație asigură mai departe modificarea plăcii comutatoare, montată în sistemul de test KFZ, ceea ce presupune, în esentă, cuplarea sau decuplarea unor relee către masă sau baterie. La rândul său, releul permite trecerea curentului prin LED-ul corepunzător de pe instrumentul de bord.
Fiecare dintre structurile din imaginea de mai sus reprezintă un element de control pentru o intrare digitală de pe instrumentul de bord. Unele din cele mai importante digital inputuri pentru orice device de testat sunt cele de alimentare cu tensiune a respectivului device. Respectiv KL 30 sau TRM30(Terminal 30) care corespunde cu alimentarea de la baterie,+ de la baterie; KL 31 sau TRM 31 care reprezinta ground-ul bateriei si KL 15 sau TRM 15 care reprezinta alimentarea clusterului de la alternator, alimentare care se produce in momentul pornirii masinii la Ignition ON. Trebuie mentionat ca acest cluster in particular nu are o alimentare diferentiala spre deosebire de altele, asta insemand ca daca contactul de la KL 30 se inchide clusterul se stinge nemai fiind posibila alimentarea lui prin KL 15.
Testarea unui produs se bazeaza pe specificatiile respectivului produs prezentate intr-un document oficial asupra caruia sa ajuns de comun acord cu clientul(companie pentru care se dezvolta si produce respectivul produs), in aceste specificatii gasim mentionate si diferitele starii in care un cluster se poate gasi, de exemplu pentru acest produs in particular este mentionat ca sunt 3 stari fundamentale in care clusterul se poate gasi si anume:
-starea Active, in care toate functionalitatile clusterului sunt disponibile stare in care KL 15 si KL 30 sunt conectate la o Vbat, la o tensiune intre 16 si 32 de V.
-starea Reduced, stare in care doar o parte din functionalitati mai sunt disponibile, in aceasta stare se intra cel mai adesea in momentul cand se da IGN OFF dar mai sunt wake inputuri in active, inputuri care nu lasa clusterul sa se inchida de tot.
-starea Sleep, este o stare speciala a clusterului, o stare in care clusterul sta cel mai mult timp atunci cand nu este activ, de aceea in aceasta stare este implementat ca clusterul sa aiba un consum foarte mic de curent de nivelul mA, in cazul de fata 5 mA, tocmai pentru a nu se produce o descarcare a bateriei desi vehiculul este oprit. In aceasta stare se intra odata cu KL 15 OFF daca nici un wake input nu se activat, dar se intra dupa un timp predefinit, in cazul de fata 10 secunde.
Acestea fiind spuse este lesne de inteles de ce KL 30 si KL 15 este necesar sa fie setate pe „1” logic si KL 31 ON sa fie setat pe „0” logic dupa cum este aratat si in figura de mai jos,astfel incat clusterul sa fie in starea Active.
Figura 4.7 – Instrumentul de bord in starea Active
După cum se poate observa în Figura 4.6, acestea sunt însoțite de imagini suficient de sugestive pentru a intui funcționalitatea în cadrul obiectului testării.
Figura 4.8–Stările posibile ale obiectului de control
Acest element de control al instrumentului virtual poate deține 3 stări posibile, evidențiate în Figura 4.8. Prima vizează starea de circuit deschis, în care pe linia de comunicare nu se transmite nimic dinspre placa de comutare spre instrumentul de bord. În cea de-a doua canalul de comunicare este activ, însă informația setată este „0” logic, astfel încât releul din interiorul plăcii de comutare va fi conectat la masă, iar în cea de-a treia, canalul permite transmisia comenzii, iar informația este setată pe „1” logic, ceea ce determină cuplarea la tensiunea de la sursa KFZ-ului și, în consecință, aprinderea LED-ului.
Corepondența între structura de control descrisă mai sus și o anumită diodă regăsita în cadrul instrumentul de bord se bazează în principal pe aplicația driver NI DAQmx ce asigură comunicarea plăcii de achiziție cu sistemul de test KFZ. Cum o placă de comutare este capabilă să lucreze cu un număr de până la 8 intrări digitale, pe sistemul de test regăsim un număr de 4 plăci comutatoare,deoarece numarul LED-urilor care sunt controlate de digital inputuri nu necesita un numar mai mare de 4 placi comutatoare. Felul în care fiecare corespondența este realizată vizează un spațiu de adrese pe baza căruia se identifică o anume placa, respectiv, un anumit pin. Fiecărui obiect de control îi este atașată o anumită adresă, dupa cum se poate vedea în imaginea de mai sus, pe baza căreia driver-ul DAQmx recunoaște pinul corect al elementului hardware către care se va face transmisia informației. Odată ajunsă informația în sistemul de test KFZ, respectiv la placa vizată, aceasta va comuta unul sau mai multe relee la masă sau la baterie, scoțând tensiune pe unul din porturile sale de ieșire. Acest port este conectat la intrarea ce se dorește modificată în cadrul instrumentului de bord. Mai departe intervin circuitele și software-ul proprii obiectului testării in cazul nostru clusterului, ce preiau semnalul și îl direcționează în vederea comandării aprinderii LED-ului dorit.
Mai jos in figura x avem exemplificat ce se intampla efectiv pe instrumentul de bord cand inputul digital, care comanda LED-ul de atentionare a soferului ca filtru de aer sa umplut de praf, este conectat la ground in VI-ul din Labview.
Figura 4.9–Reactia clusterului la activare inputului corespunzator LED-ului respectiv
4.3.2 Structura diagramei bloc
Cazurile din cadrul structurii „Event Structure”, ceare implementează modificarea intrărilor digitale sunt „Value Change <1>”, respectiv „Value Change<2>”. Aceste 2 cazuri ale structurii „Event Structure” utilizeaza conceptul de “Dynamically Registered Events”; aceasta este o tehnica LabVIEW ce permite definirea de catre utilizator a unor evenimente dinamice associate cu anumite actiuni pe diferite controale/indicatoare. In cazul de fata au fost definite evenimene dinamice pentru actiunile asuora controalelor de tip “Switch” (localizate pe pagina “Digital Inputs”). Aceeasi tehnica este folosita si in cazul controlului intrarilor analogice, despre care se va vorbi intr-un capitol ulterior.
În cadrul unei structuri de evenimente, in momentul aparitiei unui eveniment declansator (trigger), codul din cazul corespunzator acelui eveniment este executat, iar comanda este transmisă spre echipamentele hardware. In cazul controlului intrarilor si iesirilor digitale, evenimentul declansator este reprezentat de o actiune asupra unuia dintre obiectele de control ale ferestrei „Digital Inputs”. Acesta este evenimentul pe care blocul din imagine este setat sa îl aștepte un timp nedefinit.
Figura 4.10– Implementarea LabView pentru intrările digitale
Campul „NewVal” din cadrul „Event Data Node” reprezinta noua valoare a clusterului care a fost modificat, valoare care este procesată apoi de blocul „Variant To Data” într-o variabilă de tip „Switch” necesara inputului VI-lui ce seteaza efectiv placa de relee. Prin intermediul acestui VI este posibilă accesarea și modificarea plăcilor comutatoare din cadrul sistemului de test KFZ. La rândul său, acest VI este compus dintr-o serie de alte VI-uri a căror rol este de a stabili comunicarea cu elementul hardware adecvat și de a procesa semnalul ce urmează a fi transmis. Această procesare presupune utilizarea unor blocuri predefinite în limbajul LabView, cum ar fi blocuri de conversie în hexazecimal sau în binar, blocuri de separare a elementelor unui vector sau de concatenare a unor șiruri. Toate aceste operații vizează, în principiu, stabilirea polarității informației și adresa unde aceasta este destinată, precum și detecția potențialelor erori.
Aceasta procesare este prezentata si in figura de mai jos unde se folosesc sub VI-urile TE_KFZ_Relais_Group si TE_KFZ_Set_Data care realizeaza efectiv comanda placi de achizitie care comanda efectiv placile de comutare din KFZ. VI-ul TE_KFZ_Relais_Group calculeaza noua valoare pentru releu folosindu-se de input-urile „Output”,”Polarity” ,”Group” si „OldRelayValue” si care trimite mai departe spre VI-ul TE_KFZ_Set_Data inputurile „NewRelayValue” si ErrorIn care primind aceste inputuri impreuna cu inputul „Adresse” realizeaza efectiv comanda placi NI DAQmx PCI 6602 scriind, datele primite de la VI-ului TE_KFZ_Relais_Group la adresa setata de utilizator, cu ajutorul VI-urilor DAQmx Write.
Figura 4.11– Implementarea LabView pentru setare efectiva a placilor de relee
Din punct de vedere al utilizatorului, procesul de testare a funcționalității intrărilor digitale se simplifică simțitor, comunicarea cu afișajele numerice ale instrumentului presupunănd doar o apăsare a comutatorului virtual. Din această perspectivă, instrumentul virtual conceput imbunătățește semnificativ procesul testării, fie ca e vorba de o simplă verificare a modului de funcționare a unui LED sau de îndeplinirea unui set de criterii în vederea validării unor teste mai complexe.
Controlul intrărilor analogice
Structura ferestrei
Câmpul „Analogue inputs” din panoul frontal al aplicației este destinat comenzilor intrărilor analogice ale instrumentației de bord electronice. Pe lângă intrările digitale ale unei instrumentații de bord, prin care se comandă semnalele luminoase de pe bord în regim de logică digitală 1/0 semnificând aprins/stins, există și intrări analogice prin intermediul cărora sunt comandate „ceasurile” indicatoare de presiune a uleiului, de temperatură a lichidului de răcire, sau a nivelului de combustibil . Pentru a putea acționa un dispozitiv care este destinat monitorizării unui domeniu de valori cu o rezoluție mare, este necesară o comandă analogică prin intermediul căreia să se poată controla în trepte cât mai mici (fine) valorile indicate de instrumentul de bord. Prin intermediul aplicației Labview, utilizatorul comandă plăcile de rezistențe din sistemul de test KFZ. Prin comanda plăcilor de rezistențe, se pot obține domenii mari de valori de rezistențe cu o rezoluție foarte bună, permițând utilizatorului să creeze divizoare rezistive cu un domeniu mare de valori, reușindu-se astfel foarte usor obținerea tensiunii dorite pentru acționarea instrumentelor indicatoare de pe bord. În concluzie, plăcile de rezistențe prezentate în capitolul 3.4.2.5.2, sunt destinate simulării rezistențelor variabile care apar în senzori, în cazul nostru, senzori de presiune, de nivel al combustibilului, sau de temperatură.
Panoul frontal al aplicației este structurat în 5 sectiuni, fiecare secțiune fiind destinată simulării unuia din senzorii enumerați în paragraful anterior.
Figura 4.12 – Controlul intrărilor analogice
Senzorul pentru ceasul care indica presiunea aerului este unul activ aceasta insemnand ca de la acest senzor catre instrumentul de bord pleaca o tensiune pe care acesta stie sa o interpreteze si afiseaza o anumit presiune pe ceas in functie de curba care este scrisa in memoria din microcontrolerul clusterului.
Aceasta curba o avem prezentata mai jos:
Voltage[V] Pressure[Bars]
0.31 0
1.69 5
3.07 10
Desi cum bine observam ca valorile pentru inputul acestui ceas indicator sunt date in tensiune in aplicatia noastra sa folosit rezistente deoarece se pot controla mai multe ceasuri indicatoare in acelasi timp oferind un grad mai ridicat de automatizare cat si de o mai fidela apropiere a testarii cu ce se intampla in realitate pe camion. Pentru controlul efectiv al acestor ceasuri indicatoare de presiune sa facut o divizare a tensiune de alimentare venita de la sursa printr-o punte rezistiva formata dintr-o rezistenta fixa si rezistenta variabila data de placa comandabila #80. In functie de aceasta rezistenta fixa se schimba si valorile placi date de placa de rezistente pentru a obtine valoarea de tensiune dorita la iesire. In cazul din figura 4.13 prezentat mai jos avem de a face cu o tensiune de alimentare de 27 V si o rezistenta fixa de 94 kOhm astfel incat este necesar sa setam placi de rezistenta valoare de 12 kOhm pentru a avea o tensiune de 3V la iesire si deci ceasul indicator sa indice o presiune de 10 bar.
Figura 4.13 –Controlul in timp real al placi de rezistenta #80
Figura 4.14 –Raspunsul clusterului la inputul setat din VI
Fereastra din stânga, a panoului din cadrul câmpului „Analogue Inputs”, este utilizată în scopul simulării senzorului de nivel de combustibil. Principiul de funcționare al unui senzor de combustibil este acela de a furniza la ieșire un semnal electric proporțional ca valoare cu mărimea fizică primită la intrare(ex. Nivelul plutitorului din rezervor). În partea de jos a ferestrei se află doua ferestre, fiecare dintre ele conținând un control și un indicator numeric. Acestea sunt „Fuel level” și „Vout(V)”. Cele două ferestre conțin indicatori numerici cu valori de tensiune(„Vout(V)”) și respectiv niveluri de umplere a rezervorului exprimate în procente („Fuel level”). Prin intermediul funcțiilor din diagrama bloc cele doua tablouri de mărimi (tensiune și nivel de combustibil) sunt interpolate pentru a se stabili dependența dintre mărimea de ieșire și mărimea de intrare a senzorului de nivel simulat prin aplicație. Prin aceste comenzi este simulat senzorul de combustibil și se poate vizualiza comportamentul instrumentului de bord la diferite niveluri de combustibil introduse de utilizator prin intermediul aplicației.
În simularea senzorului de combustibil este utilizată placa de rezistențe #A0 cu 2 ieșiri de rezistențe, cu un domeniu de valori 1Ω – 1kΩ și cu o rezoluție de 4Ω, pentru fiecare din cele 2 ieșiri de rezistențe. Utilizatorul poate seta valorile ambelor ieșiri ale plăcii prin intermediul VI-ului, acesta comunicând cu placa printr-un subVI predefinit „Set” prezent în diagrama bloc a aplicației. În funcție de valorile introduse de utilizator, în fereastra din Figura 4.15 a. Sau b. În funcție de ieșirea R1 sau R2 care
a.
b.
Figura 4.15
a. comanda pentru iesirea R1 a placii de rezistente
b. comanda pentru iesirea R2 a placii de rezitente
se dorește a fi comandată. Dacă utilizatorul va modifica valoarea rezistenței R1, subVI-ul „Set” va comunica plăcii modificarea și aceasta va fi setată la valoarea comandată din aplicație. Verificarea valorilor introduse de utilizator pentru ieșirea R1 se realizează ciclic cu o perioadă de timp care poate fi introdusă tot de utilizator în fereastra „Push time(ms)”. Dacă valoarea ieșirii R1 nu este modificată din panoul frontal, atunci valoarea rezistenței de la ieșirea R2 a plăcii #A0 va fi utilizată în divizarea valorii de tensiune în scopul simulării tensiunii de ieșire cu care este comandat instrumentul de bord indicator. Rezultatele rulării acestei simulări sunt depuse în indicatoarele numerice situate pe panoul frontal „Vout” și „Fuel level %”.
Structura diagramei
Diagrama care stă la baza simulării senzorului de combustibil este prezentată în Figura 4.16:
Figura 4.16. Diagrama pentru simularea unui senzor de combustibil
Similar se poate simula senzorul de temperatură al lichidului de răcire al motorului. Pe panoul frontal, în secțiunea de simulare a senzorului de temperatură sunt plasate două obiecte Labview: un termometru numeric și un indicator de rezistențe. Principiul de funcționare a unui senzor de temperatură se bazează pe caracteristicile unui termistor. Valoarea rezistenței acestuia variază odată cu temperatura, obținându-se, astfel, valori corespunzatoare ale semnalului de ieșire. În diagrama aplicației, prin intermediul unui subVI, este simulată caracteristica temperatură/rezistență a termistorului. Acest subVI are ca intrare valoarea temperaturii, iar ca ieșire rezistența calculată pe baza unei formule care reprezintă caracteristica termistorului.
Pentru a seta valoarea dorită a rezistenței plăcii, pe baza comenzilor de la panoul central al aplicației, se utilizează funcția Labview „Bundle by name” care are ca intrări, în cazul nostru, adresa plăcii de rezistențe, caracteristicile plăcii de rezistențe, valoarea rezistenței termistorului în funcție de temperatura simulată din comanda utilizatorului, iar ca ieșire comanda asupra unui subVI de comunicare cu placa de rezistențe #90 din sistemul de test KFZ. Acest subVI predefinit setează valoarea rezistenței furnizate de placă, la valoarea dorită.
Figura 4.17: Diagrama care stă la baza simulării senzorului de temperatură.
Prin comanda, din panoul frontal al aplicației, asupra plăcilor de rezistențe #80 și #82 se pot simula senzorii de presiune existenți într-un camion (în suspensii pneumatice, frâne etc.), astfel putându-se observa comportamentul instrumentelor de bord ca răspuns la semnalele electrice furnizate de senzori. Câmpul „Analogue Inputs” din panoul frontal al aplicației oferă opțiunea de a comanda aceste plăci în scopul simulării senzorilor. Modul de implementare al acestei simulări este identic pentru plăcile de rezistențe #80 si #82 și similar cu modul de implementare al simulării senzorului de combustibil.
In secțiunea destinată comenzilor asupra plăcilor de rezistențe, se află cate două indicatoare numerice, „Vout(V)” și „Pressure”, care, prin intermediul diagramei bloc a aplicației, vor fi interpolate în scopul obținerii caracteristicii senzorului. Pe baza acestei caracteristici se poate observa dependența dintre presiunea exercitată la intrarea unui senzor de presiune și semnalul electric furnizat la ieșire.
Prin intermediul acestei aplicații, utilizatorul poate varia valoarea rezistenței plăcii prin comanda din panoul frontal. Prin modificarea rezistenței pe care o furnizează placa (#80,#82) la ieșire, se apelează subVI-ul „Set” din diagrama bloc a aplicației fiind astfel inițializată comunicarea dintre PC și placa de rezistențe din sistemul KFZ. De asemenea rezistența comandată de utilizator, va fi utilizată în divizarea tensiunii de alimentare, astfel incât să se obtină tensiune corespunzătoare ieșirii unui senzor de presiune. În cele din urmă, această valoare a tensiunii de ieșire a unui senzor va fi interpolată, prin intermediul funcției de interpolare „Interpolate 1D.vi” furnizată de Labview, cu valorile din cele 2 indicatoare numerice „Vout(V)” și „Pressure”. În cele din urmă se obține valoarea tensiunii corespunzătoare presiunii simulate de utilizator prin intermediul plăcii de rezistențe.
Figura 4.18: Diagrama care stă la baza simulării senzorului de presiune.
Controlul intrărilor de frecvență
Structura ferestrei
Figura 4.19 – Controlul intrarilor de frecventa
Figura 4.20 – Controlul in timp real al frecventei
Figura 4.21 – Raspunsul clusterului la frecventa data de VI ca input
Simularea funcționării monitoarelor analogice este realizată in cadrul instrumentului prin intermediul intrărilor de frecvență generate de placa de achiziție 6602. Acestea sunt folosite pentru a comanda viteza vehicului, turometrul și gradul de iluminare a elementelor de pe bord. Primele două sunt manipulate prin semnale cu factor de umplere constant 50%, unde doar frecvență poate fi ajustată, iar ultimul este controlat doar prin intermediul factorului de umplere, având o frecvență fixă.
Relatia dintre frecventa data la intrare si ceea ce indica vitezometrul este data de relatia specificata in documentul de testare a instrumentului de bord si este prezentata mai jos:
Viteza = Impulsuri / (k-Factor * timp)
K-Factor este o valoare scrisa in memoria instrumentului de bord care indica dupa cate pulsuri sa se incrementeze odometrul cu 1 km. In cazul nostru valoarea pentru acest parametru este de 4545 scrisa in memorie, ceea ce inseamna ca dupa 4545 de pulsuri odometrul se incrementeaza cu 1 km. In functie de acest K-Factor frecventele de intrare pot diferi deoarece la o viteza de 60 de km/h de exemplu odometrul trebuie sa se incrementeze cu 1 km odata la 60 de secunde indiferent de K-Factor.
Valorile frecventelor pentru viteze de la 0 la 160 de km/h pentru un K-Factor de 4545 sunt precizate in Anexa.
Figura 4.19 evidențiază ușurința în utilizare a obiectului de control, indicatoarele și afișajele fiind suficient de sugestive în acest sens.
Placa NI Pci 6602 generează cu succes frecvențe utilizabile până la ordinul KHz-lor, acestea fiind transmise sistemului de test KFZ, și mai exact, plăcii de frecvență montate în interiorul acestuia. Rolul plăcii de frecvență este unul de amplificare și repetare, semnalul păstrând frecvența inițială. Se modifică în schimb amplitudinea semnalului, ăn funcție de ceea ce emite sursa inglobată în KFZ. Mai departe, informația este preluată și procesată de instrumentul de bord, al cărui software intern va da comanda deplasării motorului pas cu pas, acționănd astfel indicatorul de pe afișajele analogice.
Structura diagramei
Pentru fiecare din obiectele de control prezentate anterior, un VI este conceput în cadrul structurii de evenimente „Main”. În clipa în care, spre exemplu, este sesizată o modificare a valorilor de pe monitorul analogic ce simulează viteza vehicului, structura de evenimente va trece la procesarea noii valori prin diagrama evidențiată în Figura 4.20.
Figura 4.22 – Diagrama implementării obiectului control de frecvență
Relevant în această situație este subVi-ul „Set Hz”, care descompune noua valoare în componentele sale de frecvență și factor de umplere, acestea fiind apoi transmise placii 6602, care va genera semnalul conform instrucțiunilor primite. Chiar dacă este modificată doar frecvența sau doar factorul de incărcare, prelucrarea informației se face în același mod.
Abilitatea plăcii 6602 de-a genera frecvențe este exploatată însă și în direcția realizării unor verificări ce ar putea intra în sfera testării automate. Spre exemplu, simulănd deplasarea vehicului în mod automat pentru o perioadă mai indelungată de timp prin intermediul LabView, poate fi observată interdependența dintre anumite elemente ale instrumentului de bord, cum ar fi indicatorul de benzina, turometrul, unele ieșiri digitale și semnale acustice. Astfel de teste sunt esentiale pentru a detecta posibile erori în funcționarea software-ului instalat pe instrumentul de bord.
Figura 4.23 – Profil de viteza
Implementarea unui asemenea profil de viteză se poate realiza fără dificultate în mediul LabView prin intermediul unor blocuri predefinite. Metoda aleasă a fost cea a preluării datelor dintr-un fișier și a prelucrării lor în vederea realizării unui sistem de coordonate având ca abscisă timpul iar ca ordonată viteza. Ca atare, într-un fișier .txt au fost create 2 coloane, separate prin virgulă, una cu informații de timp și una cu date despre viteză. În cadrul unei bucle „while”, valorile citite din fișier sunt conectate la intrarea unui bloc ce recunoaște și separă elementele coloanelor. Acestea sunt apoi utilizate pentru a compune tot într-o fereastra LabView profilul de viteză dorit și, în acelasi timp, pentru a comanda placa NI 6602 în vederea generării frecvențelor corespunzătoare. Aplicația este concepută in așa fel incât să se execute ciclic, astfel că devine posibilă verificarea funcționării indicatoarelor pe perioade mai indelungate de timp(spre exemplu de la o zi la alta) .
Fișierul care va conține valorile date trebuie să primească extensia .csv pentru a putea fi recunoscut de mediul Labview. Diagrama arată ca în Figura 4.24.
Figura 4.24 – Implementarea profilului de viteză
Această aplicație poate usor fi utilizată și pentru a realiza un profil de evolutie al turației motorului sau al iluminării elementelor instrumentului de bord printr-o inițializare adecvată în cadrul structurii de evenimente descrisă în subcapitolul 4.1, așadar o integrare în câmpul „Main”.
Odată ce informația este preluată din fișier prin intermediul blocului „Read from text file”, în cadrul unei bucle „while”, elementele celor două coloane sunt separate având ca reper inițial terminatorul de linie. Al doilea reper îl reprezintă elementul „ , ”, pe baza căruia blocul predefinit „Match Pattern” reușește delimitarea datelor din fișier. La ieșirea din acest bloc, informațiile sunt convertite în siruri de date numerice și trimise către ieșire pentru a putea reda grafic evoluția vitezei.
Odată integrată în cadrul VI-ului principal, această diagramă permite comanda vitezometrului în mod automat și ciclic, utilizatorul putându-se concentra asupra felului în care o anumită indicație a indicatorului de viteză influențează reacția software-ului incărcat pe instrumentul de bord.
Concluzii
Instrumentația virtuală reprezintă un domeniu aflat în plină expansiune în știința calculatoarelor și sistemelor. În etapa de documentare pentru acest proiect au fost studiate materiale ce descriu rolul și funcționarea echipamentelor hardware utilizate, modul de conectare și principiile după care acestea interacționează. Un accent deosebit a fost plasat în acest sens asupra structurilor de tip driver puse la dispoziție de National Instruments în vederea realizării comunicarii corecte între instrumentul virtual conceput, placa de achiziție și obiectul testării. Pentru realizarea aplicației în sine a fost suficient ajutorul diferitelor materiale ce descriu utilizarea LabView, precum și ghidul explicativ al software-ului LabView. Am ales această temă ca subiect pentru lucrarea de diplomă deoarece ea reflectă în mare masură obiectul activitaților desfășurate de mine în mod obișnuit în cadrul companiei Continental, și anume ingineria testării.
Proiectul realizat
În cadrul proiectului de față s-a realizat cu succes o aplicație LabView ce oferă posibilitatea unei interacțiuni facile între utilizator și obiectul testării, în acest caz un instrument de bord. Panoul de interfața este suficient de sugestiv pentru ca un testor cu minimă experiență în mediul de programare LabView să poată efectua teste conform specificațiilor emise.
Ca facilități oferite de lucrarea practică putem menționa:
Acoperirea întregii game de intrări ale instrumentului de bord
Testarea unor functionalități în regim automat
Generarea unor rapoarte automate privind posibilele erori în timpul execuției
Posibilitatea adaptării VI-ului pentru modele diferite de instrumente de bord
Potențialul plăcii de achiziție NI 6602, ușurința de adaptare a sistemului de test KFZ și versatilitatea programului LabView au permis conceperea unui astfel de instrument capabil practic să simuleze la parametrii cât mai exacți interacțiunea elementelor electronice de control din interiorul unui vehicul aflat în mișcare.
Cunoștințe acumulate
În dezvoltarea unei astfel de aplicații, impactul decisiv l-a constituit accesul la echipamentele hardware și platformele software puse la dispozitie de Continental AG. Deasemenea, trebuie menționat suportul constant ce mi-a fost asigurat, fie ca e vorba de documente cu specificații clare și coerente, sau de experiența și bagajul de cunostiințe ale colegilor.
Pe parcursul realizării proiectului, am asimilat informații despre principiul și mecanismele de functionare ale unei plăci de achiziție, în acest caz placa NI 6602, și despre principiile și protocoalele de transmisie a comenzilor dinspre PC spre sistemul de test KFZ.
Totodată, am obținut cunoștiințe despre rolul și structura placii de comutare, a plăcii integrate cu ieșiri digitale sau cu ieșire de frecvență și a plăcii cu decade de rezistențe. Aceste echipamente, integrate cu succes în cadrul sistemului de test și prin urmare ușor de accesat de către utilizator printr-un sistem hardware de codificare a adreselor, deschid larg orizontul de control al instrumentelor virtuale gen LabView asupra unor procese complexe din punct de vedere al simulărilor.
Realizarea aplicației a necesitat întelegerea în detaliu a mediului de programare LabView 8.2, a rolului pe care fiecare bloc predefinit îl indeplinește și a potențialelor situații ce i-ar impune utilizarea. În acest sens, determinant a fost ghidul intern al programului, având o structură de informații completă, intuitivă și ușor de utilizat.
În concluzie, s-ar putea spune că munca la acest proiect mi-a oferit oportunitatea creării unei viziuni de ansamblu asupra elementelor ce constituie un sistem de control, dar și a unei imagini de detaliu legate de structurile hardware, de protocoalele de comunicație și de mecanismele de funcționare. Informațiile dobândite au servit atât la lărgirea orizontului de cunoștiințe dobândit pe parcursul celor cinci ani de facultate, cât și la deschiderea unor noi perspective de ințelegere a principiilor și complexelor ce guvernează universul „automotive”.
Direcții de dezvoltare
Ingineria testării crează constant oportunități de dezvoltare în industria automotive, în principal pe calea dezvoltării structurilor și a instrumentelor de testare automată. Datorită numărului tot mai mare de situații și variabile ce trebuie avute în vedere, volumul imens de muncă pe care îl presupune testarea manuală este inlocuit tot mai mult de aplicații specializate, capabile sa execute secvențe de intrucțiuni ce respectă un anumit standard și să genereze și rapoarte detaliate privind funcționarea obiectului testat.
Dacă ar fi sa ne referim strict la aplicația de fată, un potențial mod de imbunătățire ar fi inserarea în sistem a unei camere video destinată filmării ecranului instrumentului de bord. Un program LabView ar putea fi conceput care să asigure spre exemplu aprinderea tuturor ieșirilor digitale, iar camera ar putea avea rolul de a surprinde modificarea intensității luminoase de pe ecran. Imaginea ar fi prelucrată apoi în interiorul PC-ului, pe baza acesteia fiind generat un raport automat de testare.
Bibliografie
[1.] “Beschreibung Testsystem_11_ENG.doc”, Document Continental Automotive Romania, pentru descrierea sistemului de testare
[2.] Manual de utilizare LabVIEW, National Instruments (http://www.ni.com/pdf/manuals/320999e.pdf)
[3.] SAE J1939-71- Standard pentru vehicule comerciale (http://www.sae.org/standardsdev/)
[4.] “CAN_Training.ppt”, Document Continental Automotive Romania, pentru descrierea protocolului CAN
[5.] “TML_PerformanceSpec.doc”, Document Continental Automotive Romania, pentru descrierea instrumentului de bord (TATA TDCV)
[www1] http://www.ni.com/pdf/products/us/4daqsc386-393_386-387.pdf
[www2] http://www.can-cia.org/
[www3] http://www.ni.com/pdf/products/us/3ic744-747.pdf
[www4] http://www.ni.com/pdf/manuals/323800a.pdf
[www5] http://en.wikipedia.org/wiki/Software_testing
[www6] http://www.vdo.com/NR/rdonlyres/B75135E0-7C45-4566-9BA9-E31570D77B04/0/61200_ContiVDO_PP_eng.pdf
[www7] http://www.ni.com/visa/
Anexă
Bibliografie
[1.] “Beschreibung Testsystem_11_ENG.doc”, Document Continental Automotive Romania, pentru descrierea sistemului de testare
[2.] Manual de utilizare LabVIEW, National Instruments (http://www.ni.com/pdf/manuals/320999e.pdf)
[3.] SAE J1939-71- Standard pentru vehicule comerciale (http://www.sae.org/standardsdev/)
[4.] “CAN_Training.ppt”, Document Continental Automotive Romania, pentru descrierea protocolului CAN
[5.] “TML_PerformanceSpec.doc”, Document Continental Automotive Romania, pentru descrierea instrumentului de bord (TATA TDCV)
[www1] http://www.ni.com/pdf/products/us/4daqsc386-393_386-387.pdf
[www2] http://www.can-cia.org/
[www3] http://www.ni.com/pdf/products/us/3ic744-747.pdf
[www4] http://www.ni.com/pdf/manuals/323800a.pdf
[www5] http://en.wikipedia.org/wiki/Software_testing
[www6] http://www.vdo.com/NR/rdonlyres/B75135E0-7C45-4566-9BA9-E31570D77B04/0/61200_ContiVDO_PP_eng.pdf
[www7] http://www.ni.com/visa/
=== anexa ===
Anexă
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Instrumentatia de Bord (ID: 121788)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
