Achizitia de date in sistemele SCADA
  • Obiective
  • Organizarea sarcinilor de lucru
    1. Elemente introductive despre convertoarele analog numerice

        SCADA (Supervisory Control And Data Aquisition)-este un sistem bazat pe calculator avand rolul de comanda si monitorizare a proceselor tehnologice. Dupa cum se observa si in denumire, SCADA contine doua componente si anume:

        Componenta de supervizare si control a fost dezbatuta anterior. In cele ce urmeaza, ne vom concentra asupra componentei de achizitie a datelor.
        Cea mai mare parte a datelor achizitionate in sistemele SCADA o reprezinta valorile analogice. Valorile analogice insa nu pot fi prelucrate in calculator decat in forma digitala. Convertoarel analog numerice sunt componentele care ne permit sa achizitionam datele analogice din proces, in format digital. In sistemele industriale o mare parte din datele monitorizate sunt de tip analogic. In vedrea prelucrarii lor prin intermediul sistemelor digitale valorile analogice trebuiesc convertite in valori digitale. Cel mai adesea se folosesc circuite specializate numite Convertoare Analog Numerice (CAN)

    Conversia analog-numerica [10]

        Convertorul Analog Numeric (CAN) este un dispozitiv care primeste un semnal analogic, A si il transforma intr-un semnal numeric, N, cu precizie si rezolutie date, prin comparaea lui cu o tensiune de referinta, V
        Intr-un CAN ideal, semnalul de iesire , N, este legat de semnalul de intrare prin relatia: [10]

    N=

    In general, se opereaza cu puteri descrescatoare ale lui 2, in ideea ca rezultatul sa fie exprimat direct sub forma de numar binar. Intrucit mesajul transmis are o lungime finita, se poate considera ca Neste aproximarea cea mai apropiata de rezultat, tinind seama de rezolutia sistemului.

    Semnalul analogic, A ,ce urmeaza sa fie convertit poate fi scris sub forma:

    A= V

    Lungimea cuvantului binar obtinut dupa conversie fiind limitata la n biti, impartirea lui A prin Vtrebuie oprita la ordinul n si rezulta:

    A= V

    Termenii neglijati b ,b,…,reprezinta eroarea de conversie, numita si eroare de cuantizare.

    Conversia analog-numerica realizeaza o cuantizare care consta din inlocuirea tensiunii Aprintr-o tensiune discreta multiplicate prin pasul de cuantizare, de valoare V/2 , in asa fel incat diferenta dintre A si aceasta tensiune sa fie inferioara in modul unei jumatati de pas de cuantificare astfel:



    Tipuri de convertoare analog-numerice


    CAN-urile sunt fi realizate in general in doua feluri: [10]

    -convertoare cu integrare in doua pante ;

    -convertoare cu aproximare succesiva

    Ambele tipuri de convertoare transforma o tensiune de intrare intr-un cod numeric proportional cu tensiunea de intrare.

    Convertoarele analog-numerice cu integrare in doua pante contin un integrator, o schema de control logic, un generator de tact si un numarator de iesire.

    Acest tip de convertor numara succesiunea de impulsuri de tact, a carei valoare depinde de amplitudinea semnalului integrat in integrator. Timpul specific de conversie este dat de produsul dintre doua perioade de tact si numarul de nivele de cuantizare. Astfel, pentru un convertor de 12 biti cu tact de 1 Mhz, timpul de conversie va fi 2x1 s x 4096 adica 8192 s. Acesta este un timp mult mai mare decat in cazul unui convertor cu aproximare succesiva avand aceeasi frecventa de tact.

    Convertorul cu integrare costa mai putin decat un convertor cu aproximare succesiva

    Convertoarele analog-numerice cu aproximare succesiva sunt folosite in general in sistemele de conversie conectate la calculatoare deoarece efectueaza conversia cu viteza si precizie suficient de mare pentru a furniza calculatorului date in tim real.




    Ideal, convertoarele ar trebui sa faca conversii instantanee si sa realizeze o esantionare in puncta. Pentru un convertor real, in general semnalul de intrare variaza in timpul intervalului de conversie. Aceasta produce o incertitudine in privinta amplitudinii reale a semnalului de intrare in momentul masurarii. Cu un circuit de esantionare cu retinere amplasat inaintea convertorului, timpul de incertitudine este redus la incertitudinea de deschidere a circuitului de esantionare cu memorare.

    Acest tip de convertor necesita un timp de conversie egal cu produsul dintre perioada de tact si numarul de biti cu care se efectueaza conversia. Pentru un convertor de 12 biti si cu frecventa tactului de 1 Mhz timpul de conversie este de 12s.

    In principiu un convertor analog-numerice cu aproximare succesiva consta dintr-un convertor numeric-analogic controlat printr-o schema de decizie logica si a carui iesire este comparata cu tensiunea analogica de intrare. Tensiunea de intrare este aplicata pe o intrare a comparatorului, cealalta intrare fiind conectata la iesirea convertorului numeric-analogic intern.

    La aplicarea comenzii de conversie, convertorul este adus la zero. Se aduce bitul cel mai semnificativ al al cuvantului de intrare al CAN la 1. Iesirea CAN este aplicata la intrarea comparatorului pentru a fi comparata cu nivelul de intrare necunoscut. Bitul cel mai semnificativ aplicat la intrarea in CAN produce la iesire echivalentul a jumatate din intreaga scala a convertoruiui. Daca tensiunea necunoscuta este mai mare decat jumatate din intreaga scala, 1 logic este transferat in pozitia bitului cel mai semnificativ al registrului de iesire. Daca tensiunea necunoscuta este mai mica decat jumatate din intreaga scala, 0 logic este transferat in pozitia bitului cel mai semnificativ al registrului de iesire. Apoi circuitul compara cu urmatorul bit din convertorul numeric-analogic intern si procedura continua in mod similar pana la bitul cel mai putin semnificativ, la care conversia este incheiata.


    Parametrii caracteristici convertoarelor analog-numerice [10]


    Functia ideala de transfer [10] este data de ecuatiile:


    E= V

    E-<A< E+


    In acest caz Vreprezinta gama de tensiune ce poate fi convertita, denumita scala completa. Caracteristica de transfer a unui convertor analog-numeric este redata in figura de mai jos:

    Aceasta se compune din trepte de latime egala cu V/2, punctele de mijloc ale fiecarei trepte corespund diferitelor valori ale E

    Graficul 1 reprezinta caracteristica ideala a convertorului, raficul 2 reprezinta caracteristica reala a convertorului.

    Tranzitiile se produc pentru tensiuni E+, presupunand o cuantificare uniforma.




    Eroarea de conversie corespunzatoare, presupunand o cuantizare uniforma, este data de diferenta A-E

    Modulul acestei erori este mai mic sau egal cu , iar limita ei este eroarea de cuantizare.


    Rezolutia este data de numarul de biti ai convertorului. Rezolutia defineste cea mai mica variatie a tensiunii pe care convertorul o poate coda si se exprima prin relatia:

    R=1/2


    Timpul de conversie este timpul necesar pentru a obtine la iesire un semnal numeric proportional cu semnalul analogic de la intrare avand precizia dorita.

    Pentru a cunoaste frecventa maxima de conversie posibila, la timpul de conversie trebuie adaugat si timpul aducerii convertorului la zero. De regula, acest timp este destul de mic si nu afecteaza semnificativ performantele convertorului.

    Precizia se defineste ca fiind diferenta dintre valoarea teoretica a lui E care produce un anumit cuvant N la iesire si valoarea A care genereaza efectiv acest cuvant.

    Anumite convertoare analog-numerice au proprietatea ca pot diminua sau chiar elimina unele semnale perturbatoare, in special ale tensiunii de alimentare de alimentare de la retea. Se defineste un factor de rejectie a tensiunii perturbatoare, S(), ca raportul dintre zgomotul de intrare si valoarea tensiunii de intrare


    Erori ale convertoarelor analog-numerice


    Performantele CAN-urilor difera de cele teoretice din cauza erorilor.Caracteristica de transfer, nu are alura curbei 1 ci pe cea a curbei 2, din aceasta cauza rezulta urmatoarele diferente:

    -tensiunile pentru care se produc tranzitiilor difera de cele corespunzatoare curbei 0

    -portiunile orizontale nu au exact dimensiunea unui pas de cuantizare

    -eroarea de cuantizare nu ramane in intervalul ()

    Aceste diferentesunt datorate erorii de castig, erorii de decalaj, erorii de liniaritate, la care se adauga eroarea de cuantizare.






    Convertorul analog-numeric ADC 0804 [20]

    Unul din cele mai utilizate convertare CAN este convertorul ADC0804 produs de firma National Semiconductors. Este un convertor A/D cu aproximatii successive pe 8 biti cu precizie de +/-1/2 LSB. Permite intrare de tensiune diferentiala sau absoluta gratie intrarii AGND care poate fi legata la masa sau la un pol al tensiunii diferentiale. Dispune de clock intern, valoarea frecventei de oscilatie fiind stabilita de valorile R, respective C conectate la terminalele CLKR , CLKI


    ADC 0804 poate fi conectat cu usurinta la sisteme microprogramate realizate cu microprocesoare sau controlere. Unitatea centrala a sistemului DASYS este echipata cu un astfel de convertor

    Exista mai multe moduri de comanda a circuitului. Exista posibilitatea sa se comande separate faza de startare a achizitiei si separate faza de citire date.

    Acesata se realizeaza cu o schema de principiu de tipul celei de mai jos:



    Formele de unda ale semnalelor de comanda [20] care initiaza inceperea unei converii are urmatoarea forma:





    In vederea citirii datelor convertite semnalele de comanda trebuie sa aiba forma:




    Exista posibilitatea de a initia o conversie si de a citi datele aqnterior convertite intr-o singura faza. In acest caz ADC-ul trebuie conectat ca in figura de mai jos:




    Formele de unda ale semnaleor de comanda trebuie sa respecte diagrama de jos:[20]





    2. Achizitii de date bazate pe calculator


    Culegerea de date cu ajutorul calculatorului PC presupune introducerea unei placi de achizitie, intr-un slot al placii de baza a calculatorului



    Transferul de date ce are loc intre placa de achizitie si calculator trebuie efectuat la viteza si cantitatea de date impuse de sistemul monitorizat. Ideal ar fi ca viteza si cantitatea maxima de date pe care vrem sa le culegem din exterior sa depinda numai de parametrii functionali ai placii de achizitie. Din pacate comunicarea dintre placa de achizitie si memoria calculatorului are limitari serioase impuse de arhitectura PC-ului.

    Exista trei posibilitati de comunicare intre placa de achizitie si calculator.

    • Pooling –registrul de stare al placii de achizitie este citit periodic dictat de un timer al CPU

    • Intreruperi –Placa de achizitie are capabilitatea de a intrerupe CPU de fiecare data cind trebuiesc transferate date

    • DMA –controlerul DMA (Direct Memary Acces) efectueaza transferul de date in paralel cu activitatea CPU

    Pooling

    Citirea periodica a datelor achizitionate (monitorizarea repetata) parta numele de Pooling. Acest tip de transfer este potrivit pentru culegerea de date folosind placa de achizitie instalata in calculator, fiind destul de rapid si usor de implementat.

    In figura de jos este reprezentat schematic principiul de achizitie prin aceasta metoda.




    In figura de sus este reprezentat modul de achizitie pentru semnale de tip analogic. Partea de intrare analogica contine convertorul analogic digital (ADC), un timer A/D timer ce genereaza pulsurile de trigger ale fiecarei citiri, o memorie FIFO pe post de buffer care are rol de tampon de date intre doua citiri ale calcualatorului si un registru de stare ce pastreaza informatii referitoare la operatia de citire.

    Secventa de operatii ce are loc pentru fiecare citire este urmatoarea:

    1. Timerul genereaza un puls ce este trimis ADC-ului

    2. ADC-ul executa o conversie

    3. Valoarea digitala rezultata din conversie este depusa in buffer-ul FIFO

    4. Bitul de stare numit DVALdin registrul de stare sete activat


    Programul din calculator care initiaza un transfer trebuie sa contina urmatoarea secventa de instructiuni:

    1. Se citeste registrul de stare

    2. Daca DVAL este activ se copiaza continutul FIFO in memoria calculatorului altfel daca DVAL nu este activ se repeta algoritmul incepand cu punctul 1

    Perioada de timp dintre initierea unei conversii si momentul cind DVAL este activ este singurul moment care poate fi precizat in transferul POOLING. Operatiile efectuate de CPU au durate variabile, in functie de ceasul CPU, gradul de incarcare al CPU etc. Convertorul ADC genereaza valorile digitale, la frecventa dorita, si le depund in FIFO. Placile de achizitie pot avea buffere FIFO cu marimi intre 16 si 2048 locatii.

    Daca bufferul este plin, si o noua conversie are loc inainte ca bufferul sa fie citit de CPU in registrul de stare se pozitioneaza un bit de eroare. Aceasta eroare nu este fatala, adica achizitia de date poate continua.

    Principala limitare a transferului de date de tip pooling, este faptul ca nu poate fi facut la intervale precise de timp. CPU executa instructiunile in ordine secventiala dar cu intreruperi generate de sistemul de intreruperi in vederea deservirii si altor procese. Folosind deci pooling nu se poate conta pe transferul datelor din FIFO in memorie la intervale precizate de timp, ceea ce poate duce la pierderea de valori din semnalul cules.

    Transferul de tip pooling, este usor de implementat la nivelul registrilor placii, si poate fi folosit in operatii de achizitie lente (<30 Khz), in care operatiile executate asupra datelor culese nu sunt critice, timpul culegerii de date nefiind important, iar punctele de semnal sunt culese si procesate individual.



    Intreruperi


    Arhitectura calculatorului PC este astfel conceputa incit procesorul sa poata deservi toate resursele calculatorului. Acest tip de arhitectura se bazeaza pe utilizarea intreruperilor. Intreruperile sunt semnale hardware careprovin de la periferice si care instiinteaza procesorul ca trebuie sa deserveasca un periferic(o anumita resursa).

    Calculatoarele PC dispun de un controler de intrerupere programabil care furnizeaza 16 linii de intrerupere IRQ0-IRQ15. Intreruperile IRQ8-IRQ15 sunt prioritare liniilor IRQ3-IRQ17. In urma activarii unei linii de intrerupere, controlerul de intreruperi genereaza spre procesor un semnal numit INT. In momentul cind procesorul poate lua in considerare intreruperea, isi salveaza starea curenta pe stiva dupa care raspunde cu un semnal INTA pentru a anunta controlerul de intreruperi ca este gata sa trateze intreruperea in curs. Controlerul de intreruperi furnizeaza vectorul de intrerupere corespunzator intreruperii, iar procesorul pe baza vectorului furnizat gasete in tabela de intreruperi adresa rutinei de tratare a interuperii si lanseaza in executie rutina respectiva, dupa care revine in procesul initial prin citirea starii de pe stiva si reluarea procesului exact din momentul in care a fost intrerupt.

    Infigura de jos este schitat sitemul hardware de intreruperi al unui PC:







    Bazindu-se pe sistemul de intreruperi s-au conceput sisteme de achizitie care stabilesc legatura cu calculatorul prin intermediul intreruperilor. Sistemul de achizitie initiaza o achizitie de date. Dupa ce datele au fost achizitionate si stocate in buffere se lanseaza o cerere de intrerupere pe una din liniile de intrerupere. Procesorul trateaza aceasta intrerupere rulind o rutina specifica sistemului de achizitie prin care datele sunt citite din bufferul sistemului de achizitie si transfereate in memorie.

    Schema bloc a unui astfel de sistem de achizitie ce utilizeaza intreruperile este prezentata mai jos:






    Ori de cite ori convertorul ADC efectueaza o conversie si o depune in memoria FIFO se activeaza senmalul CONV care prin intermediul interfetei de intreruperi activeaza o linie de intreruperi a controlerului de intreruperi. In momentul cind intrerupera este acceptata de procesor acesta executa rutina de tratare a acestei intreruperi respectiv rutina de tratare a sistemului de achizitie care citeste defapt continutul FIFO in memorie prin intermediul sistemului de I/O.

    In urma citirii, numaratorul de scanare este incrementat, furnizind o noua adresa pentru multiplexorul de intrare care va selecta o alta intrare analogica in vederea conversiei. Se reteaza in acelasi timp timerul A/D care initiaza un nou ciclu de conversie analogica.

    In concluzie secventa de operatii pentru fiecare citire este urmatoarea:

    1. Timerul A/D genereaza un puls ce determina convertorul A/D sa inceapa un ciclu de conversie

    2. Convertorul A/D efectueaza conversia

    3. Valoarea digitala este transferata in FIFO

    4. Se lanseaza o intrerupere prin intermediul interfetei de intrerupere

    5. Se accepta intreruperea si este lansata de procesor rutina de intrerupere

    6. Rutina de intrerupere citeste datele prin I/O si le depune in memorie

    7. Se revine din rutina de intrerupere

    8. Se incrementeaza numaratorul scanner si Timerul ADC trimite un nou semnal ce declanseaza o noua operatie de conversie

    9. Se reia ciclul


    Prin intermediul sistemelor de achizitie bazate pe intreruperi viteza maxima ramane sub 50 Khz chiar si cu sisteme de achizitie performante care dispun de convertoare rapide din cauza timpului relativ mare intre doua acceptari de intrerupere ale procesorului. Se cistiga insa timp prin eliminarea sau cel putin reducerea factorului de intirziiere din operatiile ce preced copierea bufferului FIFO in memoria RAM.

    Intreruperea hardware, emisa de placa de achizitie, nu are prioritate maxima, deci acceptarea intreruperii poate sa intirzie daca alte periferice mai prioritare fac la rindul lor intreruperi. Cu toate acestea intreruperea sosita de la placa de achizitie in general este tratata imediat de procesor.

    Transferul de date folosind intreruperi poate crea probleme daca executia rutinei de intrerupere ia prea mult timp sau daca procesorul consuma prea mult timp pentru acceptarea intreruperii.

    In aceasta situatie se poate intimpla ca memoria FIFO sa genereze overflow, deci sa avem pierderi de date din cauza ca ritmul de citire al datelor este mai mic decit ritmul de conversie a datelor

    Penrtu eliminarea acestor deficiente se utilizeaza o alta metoda de transfer, mult mai rapida si anume metoda de traqnsfer date prin transfer direct in memorie DMA-Direct Memory Acces.


    DMA-(Direct Memory Acces)



    Mecanismul cel mai eficient, pentru transferul datelor intre placile de achizitie si memoria calculatorului il reprezinta sistemul DMA.

    Metoda de transfer DMA este mai rapida decit metodele tratate anterior (poolong, intreruperi) deaoarece procesorul CPU nu este implicat in transferul de date. Transferul este efectuat controlerul DMA al calculatoruluiin paralel cu activitatile curente ale procesorului CPU. Transferul de tip DMA este folosit in aplicatiile in care blocuri intregi de date trebuiesc transferate in memorie la viteze foarte mari.

    In principiu arhitectura unui calculator care dispune de DMA si placa de achizitie date ce transfera datele prin intermediul DMA arata ca in schema bloc de mai jos.



    Transferul de date bazat pe DMA, consta in programarea sistemului de achizitie in vederea utilizarii capabilitatilor hardware de a cere transfer DMA si programarea controerului DMA pentru a accepta cererile DMA de la sistemul de achizitie si de a transfera datele in zona de memorie programata.

    Pentru a realiza un transfer DMA intre placa de achizitie si memorie se parcurg urmatorii pasi.

    1. Se programeaza controlerul DMA cu adresa de start ablocului de memorie urmeaza a fi umplut cu date, precum si numarul de locatii care vor fi transferate

    2. Se programeaza placa de achizitie sa trimita semnalele de cerere de transfer, folosind linia DRQ x, ori de cite ori FIFO are date ce trebuiesc transferate.

    3. Placa de achizitie trimite controolerului DMA un semnal DRQ x, semnal de cerere de transfer.

    4. Controlerul DMA activeaza senmnalul Bus Request pentru a cere procesorului sa elibereze magistrala in vederea efectuarii transferului de date intre DMA si memorie prin intermediul BUS-ului comun.

    5. Procesorul CPU cedeaza controlul asupra magistralei in favoarea sistemului DMA

    6. Sistemul DMA activeaza semnalul DACK (acknowledge) pentru a anunta sistemul de achizitie ca cererea DMA a fost acceptata si poate incepe un transfer de date. DMA plaseaza pe bus-ul de adrese adresa de memorie din cadrul zonei de memorie in care se vor transfera datele, astfel incit octetul de date sa poata fi transferat de sistemul de achizitie direct in memorie.

    7. Placa de achizitie scrie datele in memorie prin intermediul bus-ului PC si invalideaza semnalul DRQ

    8. DMA formeaza o noua adresa pentru urmatorul octet de transferat si totodata numara octetii transferati din buff-erul FIFO al placii de achizitie, decrementind counterul care tine numarul de octeti care trebuie transferat

    9. Se repeta algoritmul incepind cu punctul 3, pina cind counterul cu nr de octeti atinge valoarea 0, adica numarul de octeti programat la punctul 1 a fost deja transferat.


    Exista mai multe moduri in care placa de achizitie activeaza semnalul DRQ. Astfel placa de achizitie poate cere transfer pentru fiecare octet de date din FIFO, caz in car avem de-a face cu un transfer DMA -single mode

    Sistemul de achizitie poate fi programat in asa fel incit sa activeze semnalul DRQ pentru o perioada mai lunga pentru ca DMA sa poata face mai multe cicluri (3-9) deci sa transfere mai multe locatii pentru un singur DRQ. Acest mod de lucru cu DMA-ul se numeste DMA-demand mode.

    Alta metoda de lucru este metoda DMA -bloc transfer prin care odata cererea de transfer acceptata, DRQ este pastrat activ pana la transferarea tuturor datelor din buff-er obligind deci DMA-ul sa tina bus-ul ocupat pana la transferul integral al datelor din FIFO

    Sistemul de achizitie si transfer prin DMA poate fi reprezentat la nivel de schema bloc astfel:



    Secventa de operatii care are loc pentru fiecare transfer DMA este urmatoarea:


    1. Se programeaza canalul DMA corespunzator si placa de achizitie pentru a stabili numarul de octeti transferati si adresa de memorie unde vor fi transferate datele.

    2. Un urma unei conversii datele ajung in FIFO, care activeaza semnalul CONV, iar prin interfata DMA se activeaza semnalul DRQ pe magistrala calculatorului. Controlerul de DMA face o cerere de acordare a magistralei spre procesorul CPU prin activarea semnalului BUSREQUEST. Procesorul acorda magistrala si semnalizeaza prin activarea semnalului BUSGRANT.

    3. Controlerul de DMA activeaza semnalul DACK x pentru a semnaliza faptul ca sunt indeplinite coditiile pentru a se face transferul de date.

    4. Se face transferul numarului stabilit de octeti la adresa stabilita.

    5. Semnalul DACK x prin interfata DMA genereaza un puls ACK care este trimis interfetei I/O pentru a permite transmiterea datelor pe magistrala. Tot semnalul ACK incrementeaza counterul de scanare care stabileste o noua adresa pentru multiplexorul analogic de la intrare De asemenea ACK reseteaza timerul A/D care genereaza noi pulsuri pentru convertorul A/D

    6. Convertorul efectueaza noi conversii

    7. Valoarea digitala rezultata din conversie rezultata din conversie este depusa in FIFO

    8. Se lanseaza din nou o cerere spre DMA

    9. Se reia ciclul de la punctul 2 sau de la punctul 1 daca se schimba numarul sau locul de memorare al datelor.


    Viteza de culegere si transfer a datelor in acest mod poate atinge frecventa de 300-500 Khz in functie de ceasul procesorului. Este unul din cele mai rapide procedee de achizitie date si se preteaza in locuri unde e nevoie de cantitate mare de date de achizitionat in timp real.

    Un alt avantaj al folosirii procedeului DMA il reprezinta faptul ca in paralel cu transferul datelor procesorul poate rula anumite instructiuni care nu necesita magistrala, deci eficienta ansamblului calculator sistem de achizitie creste. Se pot crea aplicatii in care in care sa se execute operatii simultane de genul achizitie transfer prelucrare prezentare, cu alte cuvinte chizitie, analiza si prezentare in timpm real.

    Lungimea maxima a unui bloc de date transferat nu poate depasi 64 Ko din cauza limitarilor sistemului DMA. Dupa un astfel de transfer DMA-ul trebuie reprogramat cu o noua adresa de rtansfer date si cu noua dimensiune a blocului de transferat.

    Din cauza faptului ca memoria unui calculator trebuie refresh-ata la fiecare 15 microsecunde si deci trebuie eliberat bus-ul la fiecare 15 microsecunde, metodele de transfer DMA de tip demand sau blok sunt aproape imposibil de implementat.



    3. Utilizarea portului paralel al calculatorului, in achizitia de date

    Sistemele de achizitie care comunica cu calculatorul prin intermediul portului serial vehiculeaza date in functie de viteza de comunicatie a portului serial chiar daca ele pot achizitiona date la viteze mult mai mari. In cazul in care calculatorul central are nevoie de o cantitate mai mare de date sistemele de achizitie seriale nu mai fac fata. O solutie ar fi sistemele de achizitie ce utilizeaza portul parallel pentru comunicatia de date.

    Avand in vedere ca portul parallel furnizeaza o magistrala de date de 8 biti si o magistrala de comenzi de 9 biti dintre care 5 de intrare si 4 de iesire, se poate un transfer de date mult mai rapid. Un astfel de sistem de achizitie conectat la portul parallel este prezentat in continuare.



    Sistemul de achizitie poate sa lucreze independent deci sa contina sisteme inteligente microprogramate sau poate sa fie o simpla interfata prin care calculatorul comanda achizitia si realizeaza transferul.

    In cazul in care sistemul de achizitie este o simpla interfata comandata de calculator, programele de achizitie se afla in totalitate pe calculator, sistemul de achizitie este un element de executie. Are avantajul ca este foarte simplu, ieftin si flexibil. Intregul pachet de programme se afla pe calculator deci actualizarile si imbunatatirile de program se fac numai pe calculator. Principalul dezavantaj il constituie faptul ca sistemul depinde in totalitate de calculator neputind functiona independent de calculator.Daca sistemul este complex si pe langa moitorizare de date face si comanda, un astfel de sistem nu este prea indicat.

    Pentru cazurile cand principala functie a sistemului este monitorizarea de date eventual pe langa monitorizare si cateva comenzi, un sistem controlat in totalitate de calculator, este potrivit.


    Dupa cum se vede in figura de sus sistemul de achizitie este comandat de calculator prin intermediul liniilor de control din portul parallel. Datele sunt citie prin cele patru linii de intrare. Iesirile de date utilizeaza magistrala de date a portului parallel. Avand in vedere ca nu toate calculatoarele dispun de port parallel bi-directional s-a preferat ca toate citirile de date sa se faca pe cele patru linii de intrare.

    Datele vehiculate au dimensiunea de 8 biti (un octet). Pentru a putea fi citite s-au folosit 4 multiplexoare 4:1 din care doua pentru citirea datelor de la convertorul AD iar doua pentru citirea datelor de la portul de intrare. S-a folosit o linie de intrare special pentru semnalul INT de la convertorul A/D care indica sfirsitul conversiei.

    Startul conversiei este dat de o iesire a portului parallel legata direct la intrarea RWR a convertorului ADC.

    In vederea conectarii de multiplexoare suplimentare se mai furnizeaza patru linii de adresa direct din portul parallel cu specificatia ca sunt totusi amplificate prin patru porti logice 404.

    Iesirile digitale sunt realizate prin bufferarea a 7 linii de date cu ajutorul circuitului 574 comandat de un semnal furnizat tot de portul parallel.

    Pentru a creste numarul de intrari analogice se mai ataseaza multiplexoare analogice 16:1 Iesirile fiecarui multiplexor se conecteaza la cite o intrare analogical a sistemului ADC. Adresarea canalului corespunzator se face prin activarea corespunzatoare a liniilor de adresa ADR1-ADR4 Teoretic se pot atasa 16 multiplexoare adica cite un multiplexor pentru fiecare intrare analogica a sistemului ADC deci se pot realiza 256 de intrari analogice.



    Frecventa de achizitie depinde de viteza de lucru a calculatorului precum si de numarul de canale analogice conectate.

    Sistemul se preteaza pentru achizitii de date in care se cere o viteza de achizitie mai ridicata decit la sistemele cu comunicatie seriala.

    Cu toate ca viteza este mai ridicata, nu se poate totusi compara cu viteza de achizitie a sistemelor de achizitie conectate direct pe magistrala interna a calculatorului.

    Pentru sistemele industriale viteza oferita este acceptabila. Combinata cu pretul accesibil, fiabilitatea ridicata, si conectare extrem de simpla la calculator acest system este recomandabil pentru a conduce si monitoriza o gama diversa de procese industriale.



    Test de autoevaluare
    • -Marcati raspunsurile corecte la intrebarile urmatoare.
    • -ATENTIE: pot exista unul, niciunul sau mai multe raspunsuri corecte la aceeasi intrebare.
    • -Timp de lucru: 10 minute
      1. Rrezolutia unui convertor CAN :

      a. Defineste cea mai mica variatie a tensiunii pe care convertorul o poate coda
      b. Este data de numarul de biti ai convertorului
      c. Este data de timpul de conversie
      d. Este data de factorul de rejectie

          Raspuns:
      2. Convertoarele analog-numerice cu aproximare succesiva contin cel putin :

      a. 1 Un convertor CNA - numeric analog
      b. 2 Un Registru
      c. 3 Un comparator
      d. 4 O tensiune de referinta

          Raspuns:
      3. Pooling-ul este :

      a. Un sistem de intreruperi
      b. Citire periodica
      c. Sistem de prioritati
      d. Sistem de acces la memorie

          Raspuns:
      4. DMA-ul este:

      a. Un acces direct la memorie
      b. Un transfer in care procesorul CPU este implicat
      c. Un transfer in care procesorul CPU nu este implicat
      d. Mecanismul cel mai eficient, pentru transferul datelor

          Raspuns:
      5. Pentru a creste numarul de intrari analogice se mai ataseaza:

      a. multiplexoare analogice
      b. demultiplexoare analogice
      c. convertoare analog-digitale
      d. convertoare digitale-analog

          Raspuns:


    Rezumat


  • Elemente introductive despre convertoarele analog numerice

        SCADA (Supervisory Control And Data Aquisition)-este un sistem bazat pe calculator avand rolul de comanda si monitorizare a proceselor tehnologice. Dupa cum se observa si in denumire, SCADA contine doua componente si anume:
    • supervizare si control
    • achizitia de date
         Cea mai mare parte a datelor achizitionate in sistemele SCADA o reprezinta valorile analogice. Valorile analogice insa nu pot fi prelucrate in calculator decat in forma digitala. Convertoarele analog numerice sunt componentele care ne permit sa achizitionam datele analogice din proces, in format digital. In sistemele industriale o mare parte din datele monitorizate sunt de tip analogic. In vedrea prelucrarii lor prin intermediul sistemelor digitale valorile analogice trebuiesc convertite in valori digitale. Cel mai adesea se folosesc circuite specializate numite Convertoare Analog Numerice (CAN)
        Convertorul Analog Numeric (CAN) este un dispozitiv care primeste un semnal analogic, A si il transforma intr-un semnal numeric, N, cu precizie si rezolutie date, prin comparaea lui cu o tensiune de referinta. CAN-urile sunt fi realizate in general in doua feluri:
    • convertoare cu integrare in doua pante ;
    • convertoare cu aproximare succesiva
        Ambele tipuri de convertoare transforma o tensiune de intrare intr-un cod numeric proportional cu tensiunea de intrare.
        Convertoarele analog-numerice cu integrare in doua pante contin un integrator, o schema de control logic, un generator de tact si un numarator de iesire.
        Parametrii convertoarelor analog numerice
    • Rezolutia este data de numarul de biti ai convertorului. Rezolutia defineste cea mai mica variatie a tensiunii pe care convertorul o poate coda
    • Timpul de conversie este timpul necesar pentru a obtine la iesire un semnal numeric proportional cu semnalul analogic de la intrare avand precizia dorita.
    • Precizia se defineste ca fiind diferenta dintre valoarea teoretica a lui E care produce un anumit cuvant N la iesire si valoarea A care genereaza efectiv acest cuvant.
  • Achizitii de date bazate pe calculator

        Transferul de date ce are loc intre placa de achizitie si calculator trebuie efectuat la viteza si cantitatea de date impuse de sistemul monitorizat.Ideal ar fi ca viteza si cantitatea maxima de date pe care vrem sa le culegem din exterior sa depinda numai de parametrii functionali ai placii de achizitie. Din pacate comunicarea dintre placa de achizitie si memoria calculatorului are limitari serioase impuse de arhitectura PC-ului.
        Exista trei posibilitati de comunicare intre placa de achizitie si calculator.
    • pooling
    • intreruperi
    • dma
  • Utilizarea portului paralel al calculatorului, in achizitia de date

        Sistemele de achizitie care comunica cu calculatorul prin intermediul portului serial vehiculeaza date in functie de viteza de comunicatie a portului serial chiar daca ele pot achizitiona date la viteze mult mai mari.In cazul in care calculatorul central are nevoie de o cantitate mai mare de date sistemele de achizitie seriale nu mai fac fata.O solutie ar fi sistemele de achizitie ce utilizeaza portul parallel pentru comunicatia de date.
        In cazul in care sistemul de achizitie este o simpla interfata comandata de calculator, programele de achizitie se afla in totalitate pe calculator, sistemul de achizitie este un element de executie. Are avantajul ca este foarte simplu, ieftin si flexibil. Intregul pachet de programme se afla pe calculator deci actualizarile si imbunatatirile de program se fac numai pe calculator. Principalul dezavantaj il constituie faptul ca sistemul depinde in totalitate de calculator neputind functiona independent de calculator. Daca sistemul este complex si pe langa moitorizare de date face si comanda, un astfel de sistem nu este prea indicat.

  • Rezultate asteptate
      Dupa studierea acestui modul, ar trebui sa cunoasteti:

    • Care sunt principale sisteme de achizitii de date in sistemele SCADA
    • Ce reprezinta si cum functioneaza convertoarele analog numerice
    • Cum sunt realizate sistemele de achizitii de date bazate pe calculator
    • Cum se utilizeaza portul paralel al calculatorului, in achizitia de date
  • Termeni esentiali
      Termen Descriere
      SCADA Supervisory Control And Data Aquisition
      CAN Convertor analog numeric
      DMA Direct Memory Acces - se efectueaza transferul de date in paralel cu activitatea CPU
      Pooling Metoda prin care registrul de stare al placii de achizitie este citit periodic dictat de un timer al CPU e
      Intreruperi Metoda prin care placa de achizitie are capabilitatea de a intrerupe CPU de fiecare data cind trebuiesc transferate date
      Rezolutia Rezolutia este data de numarul de biti ai convertorului
      Timpul de conversie Timpul necesar pentru a obtine la iesire un semnal numeric proportional cu semnalul analogic de la intrare avand precizia dorita.


  • Recomandari bibliografice
    • [1] A. Daneels - What is SCADA -International Conference on Accelerator and Large Experimental Physics Control Systems, 1999, Trieste, Italy
    • [2] Gavril Toderean, Microprocesoare Univ. Tehnica Cluj, 1994
    • [3] Mircea Dulau, Automatizarea proceselor termice si chimice- Universitatea "Petru MaiorTargu Mures, 2002
    • [4] Traian Tur,Brevet de inventie nr:11863 "Sistem pentru automatizarea si monitorizarea proceselor industriale", OSIM, 2003
    • [5] Jeff Kent, C++ fara mistere,Ed.Rosetti Educational 2004 .
    • [6] Boldur Barbat - Informatica industriala - Programarea în timp real – Institutul Central pentru Conducere si informatica 1984
    • [7] Ioan Babuita – Conducerea automata a proceselor – Ed. Facla 1985
    • [8] Ghercioiu-National în struments - Orizonturi în instrumentatie 1995
    • [9] Radu Dobrescu - Automate programabile Ed Acad 1986
    • [10]Grigore Stolojanu - Prelucrarea numerica a semnalului vocal


  • Link-uri utile

    Test de evaluare
    • -Marcati raspunsurile corecte la intrebarile urmatoare.
    • -ATENTIE: pot exista unul, niciunul sau mai multe raspunsuri corecte la aceeasi intrebare.
    • -Timp de lucru: 10 minute
      1. Ce este un convertor Analog-Numeric (CAN):

      a. Este un dispozitiv electronic care primeste un semnal analogic, si il transforma intr-un semnal numeric
      b. Este un dispozitiv electronic care primeste un semnal numeric, si il transforma intr-un semnal analogic
      c. Este un dispozitiv electronic care primeste un semnal analogic, si il transforma intr-un semnal digital
      d. Este un dispozitiv electronic care primeste un semnal digital, si il transforma intr-un semnal analogic

          Raspuns:
      2. Ce este timpul de conversie al unui CAN ?

      a. Este timpul necesar pentru a obtine la iesire un semnal numeric proportional cu semnalul analogic de la intrare avand precizia dorita.
      b. Este timpul dintre doua conversii succesive
      c. Este timpul de intarziere datorat operatiilor de conversie
      d. Este timpul mediu de conversie

          Raspuns:
      3. Ce sunt intreruperile ?

      a. Sunt semnale hardware care provin de la periferice
      b. Mecanisme pentru tratarea intreruperilor de tensiune
      c. Mod de lucru al sistemelor de achizitie date
      d. Momentele cand se efectueaza transferul de date

          Raspuns:
      4. Cine furnizeaza vectorul de intrerupere?

      a. Vectorul de intreruperi
      b. Dispozitivul care a facut intreruperea
      c. Unitatea centrala
      d. Controlerul de intreruperi

          Raspuns:
      5. Cine initiaza o achizitie de date intr-un sistem master-slave ?

      a. Sistemul de intreruperi
      b. Aplicatia din sistemul de achizitie
      c. Unitatea centrala
      d. Sistemul de achizitie

          Raspuns: