Sunteți pe pagina 1din 68

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

1.Introducere
Tema proiectului de diplom reprezint dezvoltarea unei re ele de senzori n cadrul unei aplica ii de telemetrie. Aceast re ea de senzori permite m surarea unor m rimi prin intermediul unor senzori i comunicarea prin GPRS a acestor m rimi la distan ntr-o interfa grafic prietenoas . c tre un calculator central. n calculatorul central se prelucreaz informa iile recep ionate i se afi eaz Dezvoltarea de sisteme de monitorizare si control automate este un segment in continu dezvoltare, unde atat beneficiarii ct i dezvoltatorii conlucreaz pentru a ob ine rezultate notabile. Rezultatele sunt ob inute datorit dezvoltarii semnificative a entit ilor utilizate n cazul unor astfel se sisteme cum ar fi RTU-ul (Remote Terminal Unit). Acest component are un rol important, el practic gestionannd fluxul informa ional care se de modemuri inteligente care satisfac necesit iile unui sistem vehiculeaz intre entit ile sistemului. Pe fondul unui raport pre -calitate sc zut, func iile unui RTU pot fi preluate cu usurin complex de monitorizare i control, extinznd totdata arealul achizi iei de date dincolo de ceea ce era posibil prin conectarea folosind cabluri. U urinta cu care acestea pot fi instalate, programate si intre inute fac ca acestea s fi o solu ie viabil pentru orice tip de sistem, m rind semnficativ aria de aplicabilitate. Datorit dezvoltarii tehnologice alerte, sistemele industriale necesit imbun t iri permanante i la standarde ridicate pentru a satisface necesit ile unui sistem complex. Datorit complexit ii sistemelor, func ionalitatea acestora trebuie realizat pe toate nivelele de func ionare. De aceea RTU-ul reprezint una dintre cele mai importante componente ale unui sistem automatizat de orice dimensiune. RTU-ul este un dispozitiv instalat intr-o anumit loca ie care permite colectarea, codificarea intr-un format transmisibil a datelor achizi ionate i transmisia acestora la centru de dispecerizare. Totodat acesta permite i ac ionarea unor elemente de execu ie pe baza unor comenzi primite de la centrul de dispecerizare. Acesta ca i component s-a dezvoltat permanent evoluand din punct de vedere al func ionalit ii de la simpla achizi ie de date la un produs elaborat care mai permite procesare de date respectiv facilitatea de conectivitate intr-o re ea de senzori. Datorit caracteristilor avansate ale RTU-urilor, se dezvol tot mai mult sisteme configurabile, independente de loca ie i integrabile n structuri complexe ceea ce permite dezvoltarea unor sisteme la cheie. Astfel solu ia existent la ora actuala satisface cerin ele

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

dezvoltatorilor de sisteme automatizate, reducnd timpul de dezvoltare i costurile necesare. Acesta solu e se intregreaz ideal n necesit ile actuale, dorindu-se realizarea unor sisteme simple si riguroase din punct de vedere hardware. Fiind dotate cu tehnologie de ultim genera ie, acestea permit integrarea n re ele de senzori bazate pe tehnologii radio (wireless) de comunica ie respectiv tehnologii clasice bazate pe interfe e seriale, prin fir (RS-232,485).

1.1. Contextul temei RTU-ul este utilizat cel mai des in sisteme de tip SCADA (Supervisory Control and Data Acquisition) . Aceste sisteme permit operatorilor facilit i de monitorizare i control a diferite tipuri de proces. Una dintre cele mai mari probleme n realizarea unor astfel de sisteme const n identificarea celor mai bune solu ii de preluare a datelor caracteristice unui proces. Sistemele per ansamblu sunt ample implicnd func ionalit i in cascada, cu un grad inalt de interdependen . Tocmai din acest cauz entit ile care fac legatura dintre senzoristica din instala ia de proces i unitatea programabila (Microcontroler, Automat, PC) care se ocup cu procesarea datelor achizi ionate sunt foarte importante. Pentru a sigura acest facilitate se utilizeaza RTU-uri in functie de necesit ile sistemului si cerintele beneficiarului. RTU-ul actual este utilizat pentru interfa area unit ilor programabile cu senzoristica de la nivelul instala iei de proces. Comunica ia dintre aceste entit i se realizeaz cu ajutorul diferitelor tipuri de protocoale de comunica ie, n func ie de specifica iile tehnice ale acestora. Caracteristile unei unit i RTU sunt date de tipul unit ii de procesare i de tipul de comunica ie suportat de c tre modem. Configurarea re elei hard a instala iei de proces este dat n special de caracteristile modemului corespunzator RTU-ului utilizat. n cadrul acestor sisteme de control si monitorizare RTU-ul actual asigur urmatoarele functionalitati: achizitioneaza date de la senzorii din instala ia de proces, stocheaza temporar i periodic datele achizi ionate converte te valorile achizi ionate intr-un format specific transmite c tre nivelele superioare datele stocate n functie de cerere i actioneaz st rile diferitelor elemente de execu ie n func ie de necest tile instala iei proces. Caracteristicile RTU-ului sunt determinante n ceea ce prive te num rul de senzori interfa a i sau tipul lor. Schema unui astfel de modul este prezentat in figura de mai jos.

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

Figura 1.1 Structura hardware a unui RTU actual

Entitatea de tip RTU este un sistem de sine statator care trebuie sa func ioneze permanent, cat mai eficient far un consum mare de resurse, de aceea exist mai multe tipuri cum ar fi: sisteme autonome minimale, mici, medii si mari. Acestea difer prin modul de gestionare a resurselor proprii. Strategiile de utilizare a resurselor proprii eficient i economic, fac ca aceste sisteme de sine st t toare s fie limitate la func iile de baz caracteristice unui RTU. Odata cu dezvoltarea sistemelor intregate i microelectronicii necesit ile de imbun t ire a func ionalit ii RTU-urilor a devenit tot mai stringent din punctul de vedere al dezvoltatorilor de sisteme de achizitie, monitorizare i control. Acest dezvoltare se reflecta n special pe partea de func ionalitate ob inndu-se un comportament independent, de sine st t tor care permite proces ri multiple respectiv analize de date achizi ionate far a influen a func iile de baz ale unui RTU. Datorit dezvolt rii modulelor specifice unui RTU, s-a c tigat atat din punct de vedere hardware ct i software. La nivel software tot mai multe RTU-uri pot fi programate n diferite medii de programare cum ar fi: C/C++, Pyton, Step 7 s.a, ceea ce face ca aceste sisteme sa fie deschise, flexibile si reprogramabile devenind accesibile oricarui tip de utilizator. Din punct de vedere hardware prin diversificarea modurilor de interfa are cu diferi i senzori i actuatori sau unit i programabile i prin imbun t irea unit ilor de procesare se ob ine o eficientizare a structurii hard a oricarui tip de sistem automat. Totodat aceasta aduce imbun t iri a functionalit ii sistemului, reu ind sa se ajung la o modularizare a functionalit ii, o cre tere a randamentului de func ionare a instala iei de proces i ob inerea unei aplica ii SCADA modern , scalabil si interactiv .

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

1.2. Solu ia propus Modemul inteligent (figura1.2) prin caracteristicile sale avansate (memorie si procesor propriu) poate devenii in orice moment un RTU. Acest lucru duce la imbunatatirea structurii hardware a unui sistem automatizat, reducand semnificativ costurile si dimensiunile corespunzatoare ale unui astfel de sistem.

Figura 1.2 Modem inteligent

In func ie de modul de comunica ie i de structura respectiv accesbilitatea sistemului care se dore te a fi monitorizat i controlat la ora actual pe pia trebuie analizata cu atentie i gasit o solu ie optim . La ora actual telefonia mobil joac un rol important in transmisia de date, oferind un suport avantajos pentru dezvoltarea unor sisteme automate. De aceea multe modemuri existente au suport GSM prin care se permite interac iunea cu entit ile existente n cadrul unei instalatii de proces. Folosind aceste informa ii imi propun realizarea unei aplica ii de telemetrie care sa poat prelua informa ii de la diferi i senzori prin intermediul unor medemuri inteligente ( de genul celor descrie i mai sus ), s le transmit prin intermediul re elei de GPRS catre un calculator central permit urm toarea. ( dispecer ) i aici o iterfa grafic implementat in LabWindows/CVI s O schem general a aplica iei este vizualizarea informa iilor recep ionate. se gasec mai multe solu ii. n func ie de specifica ii de sistem se pot alege mai multe solutii, de aceea etapa de proiectare

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

Figura 1.3

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

2.Fundamentare teoretic

2.1. No iuni de teoria m sur torilor Metrologia este un domeniu al tehnicii, cu r d cini n spa iul Fizicii si ramifica ii n toate sectoarele activit ii practice omene ti (printre care i cel al Electronicii), care se ocupa cu tehnica masur rilor, adic cu mijloacele i metodele pentru determinarea cantitativ valoric a marimilor fizice. Metrologia ca disciplin de sine st t toare se refer la ntregul ansamblu al fenomenelor fizice pe care le studiaza dintr-un punct de vedere propriu i anume acela al masur rii, care este n esen o comparare experimental de m rimi, ea stabilind: standardele unit ilor de masur i ale etaloanelor de referin pentru aceste unit i, procedeele (ca: interval, game, de comparare a m rimilor cu etaloanele i caracteristicile de performan numesc caracteristici metrologice). Aplica iile metrologiei, adic

rezolu ie, sensibilitate, fidelitate, dinamic , mobilitate, precizie etc. care n general se efectuarea practica a masur rii diverselor specii de m rimi caracteristice unor anume domenii, constituie ramuri ale disciplinei acelor domenii; a a sunt: m sur rile electrice, m surarile electronice, m sur rile acustice, controlul dimensional, fotometria, sistemele pentru m sur ri automate, m sur rile geometrice, m sur rile hidraulice si multe altele

2.1.1 Conceptul de m surare M surarea este o activitate experimental de tip informatic al carui scop este

ob inerea unor date cantitative cu privire la propriet ile unui obiect sau mai general ale unui sistem i redarea lor ntr-o forma potrivit pentru observator (utilizator). Semnifica ia (interpretarea) pe care observatorul-utilizator o atribuie acestor date cantitative, prin intermediul conven iilor folosite pentru reprezentarea lor, constituie informa ia care este necesar n procesul continuu de cunoa tere, comunicare i conducere (decizie). Prin identificarea proceselor i modelarea lor (adic prin reprezentarea matematic a relaiilor din sistemul analizat) se stabilesc anumite propriet i (elemente specifice) diferite calitativ, pe care le putem denumi m rimi (sau specii de m rimi pentru a le preciza natura lor diferit ) si anumite corela ii ntre ele descrise matematic prin legi dac sunt deduse experimental sau

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

prin teoreme, formule etc. daca sunt stabilite deductiv din legi. n acest sens, dup cum se tie, m rimile (speciile de m rimi) se diferen iaz (clasific ) n m rimi primitive i m rimi derivate . Cunoa terea sistemului (st rilor sistemului n evolu ia lui), n vederea elaborarii deciziilor de conducere a sistemului pe o traiectorie optima sau una anume necesar , implic evaluarea cantitativ a m rimilor specifice sistemului i interpretarea lor informa ionala. Acest lucru nu se poate realiza dect experimental (pe viu si n timp real) prin m sur ri, ceea ce explic rolul cognitiv, de comunicare si decizional (mai cuprinzator informa ional) al m sur rilor. n acest context, mai trebuie precizat ca utilizatorul (observatorul) adic beneficiarul n activitatea de m surare poate fi uman sau de tip ma in (n cazul sistemelor automate). Determinarea cantitativ , prin m surare, a speciilor de m rimi diferite calitativ nu se poate realiza dect n raport cu m rimi de aceea i specie (aceea i natura fizica) alese ca unit i cantitative, numite unit i de m sur , fixate n mod conven ional, dar n cadrul unui sistem de unita i de m sur coerent. Se poate, acum, defini mai bine conceptul de masurare. Astfel: din punctul de vedere metrologic, m surarea este opera ia prin care se stabile te pe cale experimental raportul numeric ntre m rimea de m surat si o valoare (cantitate) oarecare a acesteia, luat ca unitate de m sur ; Din punctul de vedere tehnic, m surarea este opera ia experimental prin care se determin , cu ajutorul unor mijloace de m surat, valoarea numeric a unei m rimi (numit masurand) n raport cu o unitate de m sur dat din aceeasi specie cu masurandul; Din punctul de vedere al model rii, masurarea este o opera ie prin care se stabile te o aplica ie de la o specie de m rimi X la mul imea numerelor reale R sau mai rar R2 (altfel spus, se stabile te o rela ie ntre valoarea unei marimi X si un numar real Xm R).

2.1.2 Procesul de masurare Ansamblul opera iilor experimentale care se execut n scopul ob inerii rezultatului m sur rii, sub forma unei percep ii realizat efectueaz urmatoarele componente principale: m rimea de m surat (m surandul), metoda de m surare, mijlocul (aparatul) de m surat,
10

de observatorul-utilizator (operatorul ce

m surarea), constituie procesul de m surare. Orice proces de m surare are

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

m sura (etalonul), operatorul (observatorul) i prelucrarea tratarea datelor,

care n func ie de domeniul, precizia i scopul m sur rii au o pondere i o importan relativ diferit . Aceast structur a procesului de m surare, diversitatea m rimilor de masurat, multitudinea tehnicilor pentru m surare (mijloace i metode) care s satisfac exigen ele operatorului beneficiar al m surarii (exigen e destul de nuan ate, n func ie de scopul m sur rii, viteza de m surare, costul m surarii, condi iile ambientale etc.) conduc la o mare varietate a m sur rilor n general. Un exemplu particular al acestei mari varieta i o constituie nse i m surarile electronice (care au ca m surand specii diverse cum sunt: m rimile de stare ale cmpului electric i magnetic, m rimile electrice de circuit, parametrii de circuit, caracteristici de transfer, frecven e, timp, defazaje, forme de und , neliniarit i, distorsiuni, zgomote, cu regimuri i o dinamic ample, cu influen e de mediu i cuplaje adeseori aleatorii etc.).

2.1.3. Erori de m surare n practic se constat c rezultatul unei m sur ri nu depinde numai de valoarea m surandului, el putnd fi influen at de o serie de factori de natura obiectiv (mijloc de m surare, metoda de m surare, factori exteriori procesului de m surare etc.) sau de natura subiectiv . Pentru caracterizarea rezultatelor obtinu e n procesul de m surare se definesc urmatoarele valori: Valoarea adevarat (reala), Xa a unei m rimi este valoarea exacta a m rimii respective n condi iile existen e la un moment dat. De obicei, valoarea adevarat a unei m rimi nu poate fi determinat experimental, ea nlocuindu-se cu o valoare conven ional adevarat , X care se ob ine cu ajutorul unor mijloace de m surare deosebit de precise; practic, se consider ca diferen a dintre valoarea adevarat si valoarea conven ional adevarat este neglijabil i deci, cele dou no iuni sunt echivalente. de valoarea Rezultatul unei m sur ri individuale, x care se ob ine cu ajutorul unor mijloace de m surare obisnuite, reprezint valoarea m surat . Abaterea valorii m surate fa adevarat a m surandului constituie eroarea de m surare. Intervalul n care se estimeaz , cu o anumita probabilitate numit nivel de ncredere, ca se afla valoarea adevarat a m surandului se numeste incertitudine de m surare;

11

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

incertitudinea de m surare estimeaz

limitele erorilor de m surare. Pentru o estimare

obiectiv este necesar ca mpreun cu rezultatul m surarii s se specifice att erorile, ct i incertitudinea de m surare. n figura 2.1 sunt reprezentate schematic no iunile prezentate anterior.

Figura 2.1

Fig. 1.1. Explicativ privind valoarea adevarat , valoarea m surat , valoarea conven ional adevarat , eroarea de m surare i incertitudinea de m surare.

2.1.4.Clasificarea erorilor de m sur Deoarece cauzele erorilor de m surare sunt numeroase exist urm toare: i multe criteri de

clasificare a lor. Dupa caracterul lor, erorile de m surare pot fi grupate conform schemei

Figura 2.2

12

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

2.1.5. Etaloane Etalonul este un sistem fizic care constituie un mijloc de m surare (m sura, instrument sau aparat de m surat) ce serveste la p strarea i reproducerea unit ilor de m sura, cu precizia metrologic corespunzatoare stadiului la care s-au dezvoltat tehnicile de m surare. n afara acestor dou roluri, prin care se define te o unitate de m sura, etaloanele mai sunt utilizate n opera iile de calibrare i n nsu i procesul de m surare (de nalt precizie) ca elemente de referin , precum i n construc ia unor aparate (dispozitive) utilizate n alte scopuri dect m surarea propriu-zisa (ca, de exemplu, dispozitive de automatizare, stabilizatoare electronice, generatoare de semnal etc.). Calibrarea nseamn n metrologie compararea unui aparat de m surat cu un etalon n scopul grad rii sau ajust rii, verific rii sau etalon rii aparatului de masurat. Elementul de referin este un etalon care asigur (furnizeaza) o m rime fizic anume, cu o valoare bine cunoscut (cu o precizie metrologic corespunzatoare scopului urmarit). Un etalon trebuie s fie invariabil n timp i n spa iu, s poata fi folosit usor n tehnic i s poat fi reconstituit oricnd. Unicitatea i conformitatea m sur rilor, n orice loc i la orice moment, impun realizarea unui sistem de etaloane care s asigure : - generarea principalelor unit ti de m sur , n conformitate cu defini iile lor din S.I. (adic materializarea defini iilor prin experimente adecvate); - men inerea (conservarea) acestor unit i de m sur , constante n timp, n toate laboratoarele metrologice pe plan mondial; - corelarea ntre ele a unit ilor de m sur , trecerea la alte unitati derivate (etaloane de derivare) i extinderea limitelor de m surare cu precizia necesar , cum ar fi trecerea la multipli i submultipli ai unit ilor de m sur (etaloane de raport). Aceste trei opera ii fundamentale n activitatea metrologic se efectueaz n mod corespunzator, cu urmatoarele trei categorii de etaloane: - etaloane de defini ie (adica etaloanele prin care se genereaz principalele unit i de m sur i n principal cele fundamentale, a a cum este de exemplu determinarea absolut - etaloane de conservare (adic etaloanele de men inere a unit ii de m sur cu o mare stabilitate n timp i fa de influen ele exterioare de mediu); - etaloanele de transfer (adica cele care asigura etalonarea tuturor tipurilor
13

a amperului cu ajutorul balan ei de curent);

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

de aparate de masurat, n intervale largi de valori ale masurandului, pentru marimi constante sau variabile n timp), asa cum sunt etaloanele de raport, etaloanele de derivare si etaloanele de transfer (curent continuu curent alternativ), prin compararea efectelor (termice, electrodinamice etc.) ale semnalelor de curent sau tensiune produse asupra unui acela i element sensibil

2.2. Conceptul de M2M

M2M este o abreviere de la Machine-to-Machine, de i, tot mai des, se folose te i pentru identificarea tehnologiilor Man-to-Machine, Machine-to-Man, Machine-to-Mobile sau Mobile-to-Machine. Pe scurt, este vorba de un serviciu ce permite comunicarea dintre echipamentele aflate la distan industrial, solu ie aplicat i aplica iile la care sunt conectate. De fapt, M2M este o nevoilor evolu ie comercial a tradi ionalelor sisteme de control al echipamentelor din domeniul cu succes, pentru prima dat , de NASA. Adaptat companiilor (un rol important l-a jucat compania France Telecom), M2M permite companiilor sa administreze mai u or echipamentele aflate la distan interne. Zona solu iilor M2M este cotat ca fiind una dintre cele mai promi toare in si s le integreze cu procesele

urm torii ani, ca urmare a cre terii nevoii de automatizare a proceselor i a posibilit ii de a lua decizii intr-un timp cat mai scurt posibil, ceea ce va genera proiecte majore. Aplica iile M2M permit, prin monitorizarea si controlul ma inilor i proceselor de la distan , reducerea costurilor, optimizarea proceselor si imbun t irea nivelului serviciilor oferite clien ilor, permitand economii de timp i de personal.

14

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

2.3 Limbajul Python n cadrul unei instala ii de telemetrie modemurile de in memorie i processor propriu, motiv pentru care se numesc inteligente. Pe lng memorie i processor aceste modemuri inteligente au i un interpretor al unui limbaj de programare de nivel nalt. n cazul medemurilor alese de mine acest limbaj este Python. Python este un limbaj de programare dinamic orientat pe obiect care poate fi folosit pentru mai multe tipuri de dezvoltarea software. Ofer un puternic suport pentru integrarea cu diferite instrumente folosind libr rii standard de extensie i poate fi inv at in cteva zile.

2.3.1. Tipuri de date

Sunt 3 grupuri de tipuri de date in Python:


y

Scalari care au sutipurile: intreg, intreg lung si sir de caractere i = 1; li = 9999999999L; s = 'Hello'
Secven e care con in un anumit num r de obiecte arbitrare intr-o ordine definit

L = [1, 5, 3, 9, 14];
Liste asociative care permit accesul la valori bazate pe chei. Aceste chei pot fi arbitrare dar sunt obiecte permanente. De exemplu:

D = {'b': 'Python', 'a': 5}; print D['a']


Afiseaz 5. Spre deosebire de Pascal, C, C++ sau Java, Python este un limbaj tastat dinamic. Astfel urm toarea secven de cod este perfect valabil n Python:

a = 7 # 7 (integer) a = str(2*a) + ' bytes' # '7 bytes' (string)

15

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

n Python variabilele nu sunt declarate n script, ele apar doar atunci cand sunt folosite

2.3.2. Operatori

n Python exist urm torii operatori


y

Operatori aritmetici + - * / % ** ~ << >> & ^ | Operatori rela ionali i logici is in < <= > >= == ! = not and or Operatori de asignare = += -= *= /= %= **= <<= >>= &= ^= |= Al i operatori ( ) [ ] { } [:] `` . lambda

2.3.3. Comenzi compuse Comenzile care apar in aceluia i grup logic sunt deplasate spre dreapta cu acela num r de spa ii albe: if a > 0: b=1 c=2 De obicei, fiecare comand ncepe pe o linie nou

16

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

O instruc iune se poate continua pe rndul urm tor prin plasarea caracterului backslash \ la sfrsitul randului. Acest lucru nu este necesar dac exist paranteze deschise:

my_list = [1, ['abc', 2], -3+6j] print my_list

2.3.4 Execu ii condi ionale


Python folose te if, elif (nu elsif sau elseif), si else pentru a indica execu ia condi ional a unei instruc iuni. De exemplu: if a > b:

print 'a is greater than b.' elif a < b: print 'a is lower than b.' else: print 'a equals b.'
y

Se poate folosi si interval prescurtate de testare: if 2 <= a <= 7: print 'a is in the interval [2, 7].'

2.3.5. Bucle Buclele in Python sunt definite prin cuvintele cheie for i while Urm torul exemplu folose te o bucl while pentru a colecta toate numerele intregi cuprinse intre 0 si 99 intr-o list :
numbers = [ ] i=0 while i < 100:

y y

17

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

numbers.append(i) i=i+1

O bucl similar for arat in felul urm tor:


numbers = [ ] for i in range(100): numbers.append(i)

n loc de buclele explicite prezentate mai sus se poate folosi i bucle implicite dup cum urmeaz :
numbers = range(100)

range(100) genereaz o list cu toate numerele intregi de la 0 la 100

2.4. General packet radio service(GPRS)

Comunica ia intre modemuri ( RTU-uri ) i dispecer se poate face prin mai mlte mediu de transmisie: Cablu telephonic Radio GSM/GPRS Fibr Optic Op iunea pentru care am optat n partea de comunica ie este GSM/GPRS deoarece asigur o cumunica ie sigur i ofer simplitate pentru priectant. GPRS introduce servicii de transport cu comuta ie de pachete pentru debite de la 14 kbps la maximum 170 kbps. Practic, GPRS este o re ea cu comuta ie de pachete de sine st t toare care se daug la re eaua GSM. GPRS interopereaz cu infrastructura GSM la nivelul subsistemului sta iilor de baz BSS i al bazelor de date din subsistemul re ea NSS (HLR, VLR, AUC,..). GPRS preia traficul de date, iar GSM traficul de voce care r mne comutat prin MSC. Datele sunt transmise prin GPRS n pachete de lungimi fixe. Fiecare pachet con ine adresa destina ie pentru a putea fi rutat de nodurile GPRS. Modificarea pe interfa a radio e
18

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

dat de introducerea cod rii adaptive a canalului. Aceasta nseamn c protec ia datelor variaz n timp, n func ie de starea canalului radio. GPRS poate utiliza pentru o conexiune de date de la frac iuni de canale de trafic pn la maximum 8 sloturi temporale (adic tot cadrul TDMA), n func ie de resursele disponibile. Capacitatea alocat unei conexiuni va varia n func ie de nc rcarea cu trafic de pe frecven a respectiv , precum i de tipul traficului (voce/date). Este important c , utiliznd comuta ia de pachete, o transmisie de date nu ocup resursele re elei dect atunci cnd sunt date de transmis. Cnd nu exist pachete de transmis resursele de pe interfa a radio pot fi utilizate pentru alte transmisii de date sau pentru trafic cu comuta ie de circuite. GPRS are o re ea nucleu proprie format prin interconectarea serverelor care gestioneaz transmisia de pachete, numite noduri suport GPRS (GSN- GPRS Suport Node). Aceasta re ea opereaz n paralel cu subsistemul re ea i comuta ie (NSS) al GSM, care va gestiona n continuare transmisia cu comuta ie de circuite. 2.4.1. Caracteristicile sistemului GPRS GPRS este un serviciu specificat n faza 2+ de standardizare a GSM. El este oferit prin intermediul unei infrastructuri numit infrastructura clasic GSM. GPRS se ncadreaz n orientarea general a ETSI de a asigura prin aza 2+ o platform ce va putea fi utilizat ulterior n re ele de genera ia a treia. Astfel el este onsiderat actualmente solu ia de baz pentru transmiterea de date n UMTS. Fiind un standard SM, GPRS p streaz evident i compatibilitatea cu sistemul p rinte, fiind practic o extensie a acestuia pentru transmisii de date la debite mai mari. GPRS reprezint la ora actual cel mai reprezentativ sistem de genera ie intermediar (2.5G). Dac HSCSD ar putea fi considerat o ajustare fin a GSM, GPRS reprezint cu siguran un salt tehnologic semnificativ, deoarece marcheaz trecerea de la comuta ia de circuite la cea de pachete. Schimbarea tipului de comuta ie se refer n acest moment (att la 2.5G ct i n 3G) doar la transmiterea datelor, vocea r mnnd n continuare comutat prin MSC. Datorit eternei insuficien e a resurselor radio, este probabil ca ntr-o faz nu prea ndep rtat de dezvoltare a UMTS i, de ce nu, chiar a GPRS, s fie utilizat comuta ia de pachete i pentru serviciile de timp real, vocale sau non-vocale. n concluzie GPRS reprezint o infrastructura ce permite transmiterea datelor pe baza comuta iei de pachete ntr-o re ea GSM. i sistem sau re ea GPRS, ce interopereaz cu

19

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

Pentru a putea oferi debite de date mai ridicate, n GPRS se urm re te utilizarea ct mai eficient a resurselor radio. Pentru aceasta se preia de la HSCSD ideea oper rii multislot, posibilitatea de a proteja mai pu in informa ia util pe interfa a radio i alocarea asimetric uplink /downlink. n ciuda acestor asem n ri, nlocuirea comuta iei de circuite cu cea de pachete face din GPRS un sistem complet diferit de HSCSD. Aceasta att din punct de vedere al utilizatorului, care constat un timp de conectare practic nul i rate de transfer mai bune, dar i din punct de vedere al operatorului, care efectueaz o investi ie incomparabil mai mare, r spl tit printr-o mai eficient utilizare a interfe ei radio, cu tot ceea ce rezult de aici (mai mul i clien i, mai multe servicii, aplica ii diverse). Rezumnd, n GPRS este implementat un set de solu ii tehnologice ce au ca scop principal cre terea eficien ei utiliz rii interfe ei radio. Aceasta deriv att din experien a sistemelor anterioare, ct i, mai ales, din operarea n modul pachet a datelor ce se transmit. Solu iile utilizate sunt:
y

cre terea ratei de transmisie a datelor prin reducerea cod rii canalului (sunt definite i pot fi utilizate 4 scheme de codare: 9.05kbps, 13.4 kbps, 15.6 kbps, 21.4kbps); cre terea ratei de transmisie prin operare multislot ( pn la 8 sloturi temporale per utilizator); cre terea eficien ei utiliz rii resurselor radio prin multiplexarea mai multor utilizatori pe acela i canal fizic (posibila datorit transmisiei de pachete; maximum 8 utilizatori pe slot temporal); cre terea eficien ei utiliz rii resurselor radio prin alocare asimetric uplink/downlink; cre terea eficien ei utiliz rii resurselor radio prin alocarea dinamic a canalelor ntre servicii comutate n mod circuit respectiv pachet. Cnd un ntreg cadru TDMA este alocat unui utilizator cu schema de protec ie minim

y y

y y

(practic f r corec ie de erori), rezult rata util instantanee maxim posibil n GPRS (8x21.4 kbps=171.2 kbps).

20

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

2.4.2. Comuta ie de circuite i comuta ie de pachete Comuta ia este o tehnic esen ial n re elele de comunica ii. F r ea fiecare

echipament terminal ar trebui conectat printr-o cale direct , cu fir sau f r , la toate celelalte echipamente terminale din re ea. Principalele metode de comuta ie sunt:
y y y

comuta ia de circuite; comuta ia de mesaje; comuta ia de pachete;

Comuta ia de circuite Aceasta presupune realizarea ntre emi tor i receptor a unei c i fizice de comuta ie dedicate, numit circuit. ntreaga comunica ie se desf oar n trei etape:
y y y

stabilirea conexiunii (sau deschiderea circuitului); transferul de informa ii; eliberarea conexiunii (circuitului).

Este de remarcat faptul c stabilitatea fizic a caii de comunica ie are loc nainte de nceperea transmisiunii propriu-zise. Aceasta poate conduce la durate semnificative ale timpului de conectare. Un dezavantaj notoriu al acestei tehnici este alocarea fix a resurselor de comunica ie necesare pe durata conexiunii, indiferent dac la un moment sau altul mediul de transmisie este folosit total, par ial sau deloc. Pe de alt parte, avantajele comuta iei de circuite provin tocmai din aceast alocare fix de resurse, care permite:
y y

asigurarea unei ntrzieri constante i minime; garantarea unui debit util corespunz tor mediului de comunica ie i serviciului utilizat; oferirea serviciilor de timp real (telefonie, videofonie, alte

Toate acestea faciliteaz

transmisiuni video). Exemplul tipic de re ea cu comuta ie de circuite este re ea telefonic public comutat (PSTN). Re eaua GSM este, de asemenea, o re ea cu comuta ie de circuite. Referindu-ne strict la interfa a radio a re elelor f r fir, etapa de stabilire a conexiunii presupune alocarea unui canal radio (sau a mai multora n cazul HSCSD) unei sta ii mobile (MS). Acest canal r mne n posesia terminalului mobil pe toata durata conexiunii, chiar dac

21

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

transferul de date este discontinuu (n rafale) sau chiar nceteaz cu des vr ire (de exemplu cnd utilizatorul cite te cu aten ie cinci minute o pagin WEB, dup care, l murit pe deplin, ntrerupe leg tura). Ca o particularizare binecunoscut a re elelor cu comuta ie de circuite trebuie men ionat c utilizatorul trebuie s pl teasc pentru ntreaga durat a conexiunii, chiar dac a fost risipitor i nu a folosit resursa ce i-a fost alocat .

Comuta ia de mesaje Este o tehnic ce nu stabile te apriori o cale de transmisiune ntre emi tor i receptor. Informa ia ce urmeaz a fi transmis formeaz Mesajele sunt complet independente unele fa o entitate bine precizat , numita mesaj. de altele i pot avea lungimi variabile, de i

structura (formatul) lor poate fi prestabilit. Emi torul trebuie sa ata eze mesajului adresa destinatarului, decizia cu privire la ruta pe care o va urma mesajul fiind de competen a fiec rui comutator (router) prin care trece. Fiecare comutator va memora mesajul dup care l va transmite pe ie irea selectat de el. Principala problem a comuta iei de mesaje este dat de dimensiunea mare a mesajelor. Din aceast cauz comutatoarele de mesaje au nevoie de o capacitate de stocare uria , iar ntrzierea n noduri poate deveni inacceptabil din cauza monopoliz rii ie irilor de c tre mesajele lungi. Exemplul tipic de re ea cu comuta ie de mesaje este re eaua telex.

Comuta ia de pachete Rezolv o mare parte din dezavantajele comuta iei de mesaje stabilind o lungime maxim a entit ii informa ionale care circul prin re ea, numit pachet. Pachetele sunt n general rezultatul diviz rii mesajelor n blocuri de lungime mic . Datorit acestui fapt, spre deosebire de mesaje, pachetele nu sunt independente. O recep ie corespunz toare implic refacerea mesajului prin ordonarea pachetelor dup logica folosit la emisie. Pentru aceasta exista dou posibilit i, apropiate conceptual de comuta ia de mesaje, respectiv de comuta ia de circuite. A. Comuta ia de pachete f r conexiune (sau neorientat pe conexiune) n cazul comuta iei de pachete f r conexiune, pachetele (numite i datagrame) se transmit independent, n cel mai pur spirit al comuta iei de mesaje, urmnd rute posibil diferite. Sosirea lor la destina ie poate avea loc ntr-o ordine aleatoare, ceea ce necesit reordonarea lor de c tre receptor. Refacerea succesiunii corecte a pachetelor se bazeaz pe informa ia

22

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

suplimentar din fiecare pachet privitoare la mesajul din care face parte i locul pe care l ocupa n el. Exemplul tipic de re ea care utilizeaz comuta ia de pachete este internetul.

B.Comuta ia de pachete orientat pe conexiune (sau circuit virtual) n cazul comuta iei de pachete orientat pe conexiune (sau circuit virtual), comunicarea ntre terminale presupune stabilirea unei c i anume pe care va circula fluxul informa ional dintre acestea, similar cu comuta ia de circuite. Spre deosebire de aceasta, nu este vorba de dedicarea unui circuit fizic comunic rii respective, ci de configurarea unui circuit logic, numit circuit virtual. Aceasta nseamn c toate pachetele vor urma aceea i cale prin re ea, f r a dedica suportul fizic comunica iei respective. Pachetele altor utilizatori vor putea folosi foarte bine segmente din calea respectiv , sau chiar ntreaga cale. La stabilirea circuitului virtual, fiecare comutator (router) trebuie s memoreze n tabela de dirijare care este succesorul s u n respectivul circuit virtual. Astfel, spre deosebire de comuta ia de pachete f r conexiune, dup stabilirea circuitului virtual comutatorul nu mai trebuie s decid calea fiec rui pachet. Avnd memorat nodul succesor n fiecare dintre circuitele virtuale n care este implicat, comutatorul va identifica circuitul asociat pachetului i l va transmite pe acesta pe linia de ie ire corespunz toare. Tehnica circuitului virtual garanteaz livrarea n ordine a pachetelor la destina ie. Exemple marcante de re ele ce utilizeaz comuta ia de pachete de tip circuit virtual sunt X.25 i ATM. Marele avantaj al comuta iei de pachete este utilizarea eficient a resurselor de transmisiune. Deoarece acestea nu sunt dedicate, ele pot fi folosite dup necesit i, pentru a transmite pachete provenind de la utilizatori diferi i. Din acest motiv comuta ia de pachete este extrem de avantajoas n cazul unei infrastructuri cu resurse de transmisiune limitate, cum este i cazul re elelor f r fir. Un dezavantaj important al comuta iei de pachete este dat de gestionarea comutatoarelor (routerelor) n cazul unui trafic crescut la intrare. Pierderea pachetelor, garantarea unei ntrzieri maxime i a unui debit utilizator constant sunt problemele spinoase ale comuta iei de pachete. Ele reprezint obstacole n special n calea oferirii serviciilor de timp real, cum ar fi telefonia. n schimb, n cazul transmisiilor de date, avantajul bunei administr ri a resurselor prevaleaz . De exemplu, n cazul particular al interfe ei radio GSM, cnd o sta ie mobil (MS) genereaz un pachet de date, re eaua l va transmite pe un canal radio disponibil n acel moment. Urm torul pachet de pe acel canal poate s apar in aceleia i MS, dac are ceva de
23

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

transmis, sau, dac nu, alteia. n acest mod, atta timp ct cineva are ceva de transmis, canalele radio nu sunt blocate inutil. Lucrul n mod pachet are o eficien cazul unui trafic de date n rafale (data bursts). A adar, pentru un sistem GSM bazat esen ialmente pe comuta ia de circuite este extrem de util alocarea resurselor neutilizate de c tre serviciile vocale pentru servicii mai pu in prioritare. Att HSCSD ct i GPRS i propun acest lucru. Serviciile cele mai potrivite pentru valorificarea resurselor r mase (preferabil printr-un mecanism de alocare dinamic ) sunt tocmai cele care implic un trafic de date n rafale, f r preten ii de timp real. Diferen a fundamental ntre HSCSD i GPRS este c acesta din urm valorific aceste resurse ntr -un mod mult mai eficient, deoarece utilizeaz comuta ia de pachete. n plus, costul serviciilor oferite este mai atractiv deoarece utilizatorul pl te te volumul de date transferat. Practic, dac dore te, utilizatorul poate fi conectat la re eaua de date n permanen , fiind taxat doar pentru timpul n care efectiv utilizeaz resursele re elei, adic recep ionate, respectiv transmise. pentru pachetele de date cu totul deosebit n

2.4.3 Servicii GPRS Dintre aplica iile cele mai potrivite pentru GPRS se pot aminti mesageria de orice tip, difuzare i distribu ie multipl , telemetrie, jocuri, navigare de mic anvergur pe re eaua internet. n general, orice tip de aplica ii ce necesit comunica ii ma in - ma in la debite mici i medii sunt adecvate dezvolt rii n mediul GPRS. Ca i n re eaua GSM, re elele GPRS pot oferi dou categorii de servicii de telecomunica ii:
y
y

servicii de baz ; servicii suplimentare;

Serviciile de baz GPRS Acestea sunt n principal servicii suport (bearer services) de transport care realizeaz transmiterea datelor cu comuta ie de pachete ntre dou interfe e i din teleservicii. Similar situa iei din GSM, aceste interfe e sunt:
y

interfa a dintre echipamentul terminal de date (de exemplu calculator) i terminalul mobil GPRS,

24

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

interfa a dintre re eaua GPRS i re eaua de date sau echipamentul terminal cu care comunic . Aceasta interfa este situat ntr-un nod poart (gateway) GPRS, similar situa iei din GSM, unde locul ei este GMSC. Teleserviciul fundamental oferit de GPRS este cel de transport de date i este detaliat

mai jos. Un alt teleserviciu oferit de GPRS este transmisia i recep ia de mesaje scurte (SMS). Astfel, pe de o parte, capacitatea de transmisie a mesajelor scurte va cre te, iar, pe de alta parte, re eaua de semnaliz ri pe care se transmit n GSM aceste mesaje nu va mai fi nc rcat i cu mesaje scurte ce vin sau pleac de la / la terminalele mobile GPRS.

Servicii GPRS de transport Sunt definite doua categorii de teleservicii de transport:


y

servicii punct-la-punct (PTP Point-to-Point) servicii punct la multipunct (PTM-Point-to-Multipoint)

A. Serviciul PTP

Serviciul punct la punct (PTP) [GSM 02.60] permite transmiterea de pachete de date ntre doi utilizatori. Este implementat n GPRS faza 1. Abonatul care a ini iat serviciul se nume te solicitant (service requester). Partenerul s u se nume te receptor al serviciului (service receiver). Serviciul PTP poate fi solicitat fie de la terminalul mobil GPRS, fie de la un echipament situat ntr-o re ea de date fix (IP, X.25.). Serviciul PTP poate fi oferit, de asemenea, ntre doi utilizatori mobili GPRS. Serviciul punct-la punct poate fi la rndul sau de dou tipuri:
y y

PTP f r conexiune (PTP-CLNS PTP Connectinnless Network Service); PTP orientat pe conexiune (PTP-CONS PTP Connection Orientated Network Network Service) PTP-CLNS este un serviciu de tip datagram ce utilizeaz comuta ia de pachete f r

conexiune. Este util n cazul aplica iilor ce genereaz trafic n rafale i are c scop asigurarea interoper rii cu re ele IP. PTP-CONS este un serviciu de tip circuit virtual ce utilizeaz comuta ia de pachete orientata pe conexiune. ntre cei doi utilizatori se stabile te un circuit virtual pentru o perioad

25

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

ce poate varia de la cteva secunde la ore. Este util att pentru aplica ii ce genereaz trafic n rafale ct i pentru aplica iile interactive. Are c scop asigurarea interoper rii cu re ele X.25 i derularea peste GPRS a aplica iilor bazate pe protocolul OSI CONS(Connection Orientated Network Protocol). O re ea GPRS trebuie s asigure men inerea circuitului virtual la trecerea dintr-o celul n alta, dar numai n interiorul aceleia i re ele GPRS-PLMN. La trecerea terminalului mobil ntr-o alt re ea sau n cazul c derii leg turii radio, circuitul virtual va fi eliberat. Pentru ambele tipuri de servicii, pe interfa a radio se poate opera fie cu confirmare, fie f r confirmare a transportului de date.

B. Serviciul PTM Serviciul punct la multipunct (PTM) permite transmiterea de pachete de date de la un utilizator c tre mai mul i utilizatori. El este implementat n faza a doua a GPRS. O comunica ie PTM se stabile te ntre un furnizor de servicii (ce poate fi situat n afar re elei GSM) i un grup de terminale GPRS. i serviciul PTM este un serviciu ce se prezint n dou variante:
y y

PTM multidistribu ie (PTM Multicast) ; PTM- grup (PTM-G--PTMGroup);

Serviciul de transport PTM-M permite transmiterea pachetelor de date ntr-o arie geografic dat (celul , grup de celule) f r confirmare. Receptorii serviciului sunt fie to i abona ii care se g sesc n acea zon , fie un grup nchis de utilizatori. n cazul PTM-G receptorul serviciului este un grup predefinit de utilizatori. Pachetele de date vor fi trimise c tre to i membrii grupului, indiferent de aria geografic unde se g sesc ace tia. Este posibil i transmiterea doar c tre acei membri care se g sesc n anumite zone geografice. Transmisia poate fi i cu confirmare.

Serviciile suplimentare Printre serviciile suplimentare avute n vedere ntr-un prim stadiu se num r redirec ionarea necondi ionat a apelurilor, redirec ionarea cnd abonatul nu este accesibil i definirea de grupuri nchise de utilizatori. In afar de aceste servicii, recomandarea GSM 02.60 descrie posibilitatea oferirii de servicii adi ionale cum sunt accesarea bazelor de date, servicii de mesagerie, valid ri de c r i de credit, servicii de monitorizare electronic , tranzac ii electronice, etc.
26

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

2.4.4. Arhitectura GPRS GPRS este o solu ie pentru operatori deoarece nu necesit modific ri substan iale n re eaua GSM. A a cum se observ n figura 7.2., re eaua nucleu a GPRS opereaz n paralel cu GSM-NSS.

Figura 2.3 Arhitectura re elei GPRS

2.5 LabWindows/CVI La dipecer am considerat un calculator desktop sau laptop pe care va rula o aplica ie de monitorizare a datelor m surate implementat n LabWindows/CVI. LabWindows/CVI este o platform pentru dezvoltare de software cu orientare pe aplica ii de instrumenta ie. Dup cum se deduce din denumirea sa (CVI C for Virtual Instrumentation), limbajul acceptat este ANSI C, cu extensii specifice. CVI ne pune la dispozi ie un mediu interactiv de dezvoltare a unor aplica ii pentru sistemul de operare Windows. mbin deci avantajele program rii de tip vizual cu avantajele simplit ii i flexibilit ii limbajului C. De i a fost creat special pentru aplica ii de instrumenta ie i control,

27

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

multiplele lui facilit i l fac capabil s suporte i dezvoltarea unor aplica ii de m rime medie care s fie de alt factur . Fiecare func ie de bibliotec din cadrul acestui mediu are o interfa specializat numit panoul func iei (function panel) care permite: Help on-line; Selectare i declarare de variabile sau constante necesare; Execu ie interactiv ; Inserarea func iei editate ntr-un text surs . Mediul este extrem de flexibil, permi nd interfa area bidirec ional cu alte compilatoare de C sau C++. De asemenea se pot folosi i DLL-uri. Puterea mediului LabWindows/CVI este dat de bibliotecile puse la dispozi ia programatorului, acestea con innd func ii pentru implementarea diverselor faze care conduc la o aplica ie din domeniul achizi iei de date sau a controlului automat. Pentru achizi ia de date exist urm toarele biblioteci specializate: de instrumente, pentru interfa a GPIB/GPIB 488.2 (General Purpose Interface Bus), pentru achizi ie de date, pentru opera ii I/O n cazul achizi iei de date, pentru interfa a serial RS232, pentru sistemul VXI. Biblioteci specializate pentru analiza datelor: pentru I/O pentru formatarea special pentru analiz pentru analiz avansat Biblioteci specializate pentru vizualizare date: pentru crearea unei interfe e utilizator de tip vizual Biblioteci specializate pentru lucrul n re ea i comunicarea ntre diverse aplica ii: pentru DDE (Dynamic Data Exchange) pentru TCP (Transmision Control Protocol) pentru sistemul X de sub Unix n afar de acestea mai exist o bibliotec special numit biblioteca de instrumente care con ine: drivere i sursele lor pentru osciloscoape, multimetre i generatoare de func ii. De asemenea exist posibilitatea cre rii unui instrument propriu. Biblioteca pentru interfa a

28

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

cu utilizatorul con ine func iile necesare cre rii unui GUI (Graphical User Interface = Interfa grafic cu utilizatorul) dup necesit i.

Structura generic a unei aplica ii dezvoltate sub CVI Un proiect complet pentru una din clasele de aplica ii specifice mediului CVI are urm toarele componente generice: interfa a cu utilizatorul; partea de control a aplica iei; partea specializat pentru achizi ia datelor; partea specializat n analiza respectivelor date. Mai jos prezent m o schem generic a aplica iilor CVI.

Figura 2.4

Tipuri de fi iere folosite n cadrul CVI *.PRJ se refer la fi iere de tip proiect *.UIR se refer la fi iere care con in descrierea unei interfe e grafice cu utilizatorul *.C fi iere surs *.H fi iere header *.FP fi iere care re in descrierea unui instrument *.LIB fi iere bibliotec *.DLL fi iere link-editate pentru apel dinamic *.OBJ fi iere obiect

29

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

Scurt descriere a unora dintre meniurile i ferestrele mediului de dezvoltare CVI: Fereastra proiect Prezent m mai jos doar informa iile suplimentare fa sau mai mul i din urm torii indici: - I indic faptul c respectivul fi ier con ine descrierea unui driver de instrument - S faptul c s-au f cut modific ri n fi ierul respectiv i deci trebuie salvat - C indic obligativitatea compil rii respectivului fi ier nainte de rularea aplica iei indic faptul c fi ierul este deschis ntr-o fereastr de editare indic ca acest fi ier nu este deschis. de o fereastr proiect standard.

Pe lng datele curente despre fiecare fi ier inclus n proiect acesta mai are precizat i unul

Aplica ii consol Pentru aplica iile tip consol , clasice C, unde se folosesc pentru I/O func iile scanf i printf vizualizarea ie irii, n mod text, a acestora se va face ntr-o fereastr special numit Standard Input/Output Window. Observa ie: Dac se va programa n acest mod trebuie activat op iunea Bring Standard Input/Otput to front whenever modify din Environment ce apar ine meniului Options.

Generatorul interactiv de aplica ii

Butoanele directe ale editorului de interfe e cu utilizatorul folosit la selectare, mutare i dimensionare obiecte. utilizat pentru a modifica textul asociat cu obiectele din UIR folosind facilit ile de etichetare. folosit pentru colorarea obiectelor. Este suficient o ap sare pe butonul din dreapta a mouse-ului i va colora automat obiectul selectat cu culoarea curent . ofer facilit i de operare. Atunci cnd este activat evenimentele vor fi afi ate n partea dreapt a barei de facilit i.

30

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

Scurt descriere a ctorva din meniurile mai importante ale generatorului: Menu Bars activeaz cutia de dialog care ne prezint toate barele de meniu definite deja de programator.

Figura 2.5

Create apeleaz fereastra Edit Menu Bar pentru a crea o nou bar de meniuri. Edit apeleaz fereastra Edit Menu Bar pentru a modifica o bar de meniuri existent . Fereastra Edit Menu Bar(fig.2.6) permite specificarea sau modificarea caracteristicilor unei bare de meniuri n curs de creare sau care exist deja.

31

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

Figura 2.6

Menu Bar Constant Prefix este identificatorul intern al respectivei bare de meniuri. Acesta va fi folosit de func ia LoadMenuBar pentru nc rcarea n memorie a parametrilor care con in aceast bar . Va fi definit automat n fi ierul header din scheletul de aplica ie. Item se refer la numele meniului curent/submeniu/comand de meniu. Dac n fa a primei litere a unui element din meniu se adaug 2 underscore la execu ie acesta va putea fi selectat prin combina ia Alt+prima liter . Constant name este alipit la Menu Bar Constant Prefix pentru a se genera identificatorul elementului curent. Este folosit de func ii ca GetMenuBarAttribute sau SetMenuBarAttribute. De asemenea acest identificator este returnat de GetUserEvent atunci cnd apare un eveniment generat de o comand a meniului. Callback Function Permite specificarea numelui unei func ii de r spuns care va fi apelat automat la activarea respectivului element. Folosirea ei este op ional .

32

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

ModifierKey/ShortcutKey se combin pentru a ata a o cheie hot pentru elementul curent. buton ce permite coborrea n interiorul unei ierarhii de meniuri buton ce permite urcarea n interiorul unei ierarhii de meniuri

Panouri Dup cum am spus sunt echivalentul ferestrelor din programarea Windows. Pentru a le crea Create Panel ne pune la dispozi ie un nou panou n cadrul UIR-ului curent. Prin dublu click pe acesta se va intra in fereastra de editare a caracteristicilor panoului. Aceast fereastr este prezentat mai jos:

Figura 2.7

La partea de Menu Bar se poate specifica o bar din cele deja create n cazul dezvolt rii respectivei interfe e. Restul parametrilor au fost discuta i anterior sau sunt cunoscu i din programarea Windows.
33

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

Crearea controalelor Exceptnd diferen ele care apar func ie de destina ia acestora exist o serie de parametri comuni fiec rui control pe care l cre m. Mai jos prezent m fereastra care apare de exemplu la crearea unui control de tip numeric i anume un buton.

Figura 2.8

Se observ c identificatorul intern i posibilitatea de ata are a unei func ii de r spuns r mne. De asemenea o serie de informa ii specifice p r ii de etichetare. n plus apar specifica ii privind modul de afi are a datelor i limitele ntre care acestea pot fi variate prin intermediul acestui control.

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

TAB ORDER Fiecare control de pe un panou activ are o pozi ie n ordinea de salt prin intermediul unui tab. Aceast ordine precizeaz care va fi urm torul control ce va fi activat n cazul n care utilizatorul apas Tab sau Shift+Tab. Implicit acestea sunt ad ugate exact n ordinea cre rii lor de c tre programator. Numai c nu ntotdeauna aceasta este ordinea de salt dorit a fi activ la terminarea aplica iei. n aceste condi ii secven a Edit Tab Order ne va activa un panou specializat pentru aceasta.

Figura 2.9

noua form de cursor activ n interiorul ferestrei. Prin ap sarea pe un control oarecare i se poate modifica ordinea de activare. specific faptul c se accept noua ordine de apelare se iese cu p strarea vechii ordini. Find UIR Objects O alt facilitate a editorului este Find UIR Objects care apar ine meniului View. n cadrul unor proiecte mari se dovede te a fi extrem de util .

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

Figura 2.10

Dup cum se observ ne permite c utarea, dup dorin , a unui nume n diverse categorii de obiecte ale interfe ei cu utilizatorul.

GENERATE Este meniul folosit pentru generarea fie a ntregului cod schelet fie numai a codului corespunz tor unui obiect proasp t introdus ntr-un UIR. Secven a Code Generate AllCode va genera codul schelet pentru aplica ie. Acesta va con ine i un switch pentru tratarea evenimentelor. Alegerea evenimentelor care vor fi automat introduse se face din Code Preferences.

MENIUL ARRANGE nc de la primele aplica ii vom observa c una din opera iile mari consumatoare de timp este aranjarea controalelor n panou dup specificarea caracteristicilor acestora. Pentru a evita acest lucru, CVI a fost prev zut cu o serie de facilit i de aranjare automat pe care le vom prezenta mai jos.

Figura 2.11

Top Edges asigur spa iere vertical ntre partea superioar a controalelor. Cel mai de sus i cel mai de jos control sunt considerate puncte de referin .

36

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

Vertical Centers asigur spa iere vertical ntre centrele controalelor. Cel mai de sus i cel mai de jos control sunt considerate puncte de referin . Bottom Edges asigur spa iere vertical ntre partea inferioar a controalelor. Cel mai de sus i cel mai de jos control sunt considerate puncte de referin . Vertical Gap asigur spa iere vertical ntre partea superioar a controalelor. Cel mai de sus i cel mai de jos control sunt considerate puncte de referin . Left Edges seteaz spa ii orizontale egale ntre marginile din stnga ale controalelor. Cel mai de sus i cel mai de jos control sunt considerate puncte de referin . Horizontal Centers seteaz spa ii orizontale egale ntre centrele controalelor. Cel mai de sus i cel mai de jos control sunt considerate puncte de referin . Right Edges seteaz controalelor. Cel mai de sus i cel mai de jos control sunt considerate puncte de referin . Horizontal Gap spa iere orizontal ntre controale. Cel mai de sus i cel mai de jos control sunt considerate puncte de referin . Horizontal Compress minimizeaz spa iile pe orizontal dintre controale i elimin orice spa iu dintre ele. spa ii orizontale egale ntre marginile din dreapta ale

Distribute Vertical Centers Comanda Distribute realizeaz la apel ultima op iune selectat din lista prezentat mai sus.

37

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

Control Zplane Order Ordinea n planul Z a controalelor poate fi modificat de acest meniu. Dup cum se tie se refer la ordinea de desenare a controalelor. Submeniurile ei sunt directe.

Center Label Nu n toate cazurile etichetele unui control sunt centrate n raport cu acesta, o metod ar fi deplasarea manual etichetei n timpul modific rii UIR dar este consumatoare de timp i inexact . De aceea s-a introdus op iunea Center Label care realizeaz acest lucru automat.

38

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

3.Arhitectura sistemului

3.1. Schema bloc a sistemului

Aplica ia reprezint o re ea de senzori care ofer posibilitatea comunic rii la distan cu ajutorul unor modemuri inteligente. Comunica ia se face prin GPRS folosind serviciul VPN oferit de furnizorul GSM (n cazul de fa scopul asigur rii securit ii. Fiecare modem furnizeaz posibilit i de conectare diferite in func ie de tipul senzorului de la care se recep ioneaz informa ia. Aceste posibuilit i sunt:
y y y

VODAFONE). Acest serviciu este folosit n

Intrare analogic ntre 0-2 V interfa interfa GPIO serial RS232

Modemurile transmit informa iile corespunz toare c tre calculatorul central la intervale de timp prestabilite innd cont de necesit ile procesului, oferind posibilitatea control rii traficului de date transferat pentru a reduce costurile. Acest lucru este necesar datorit faptului ca GPRS-ul este un protocol de tip PSD (Packet Switched Data) unde taxarea se face in func ie de volumul datelor transmise i nu in func ie de timp. Datele sunt preluate de catre calculatorul central printr-un program implementat n LabWindows/CVI care pe lng preluarea datelor asigur i vizualizarea i arhivarea datelor. Schema bloc a sistemului este prezentat n figura 3.1

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

Figura 3.1 Schema bloc a sistemului

3.2. Func iile sistemului

3.2.1 Func ii de m surare M surarea informa iilor se face cu ajutorul senzorilor. Acestia sunt specifici n func ie de natura infoma iei m surate. Am utilizat urmatorii senzori:

3.2.1.1 Multimetru Digital Protek 506

Introducere Acest aparat este un multimetru digital (care joac rolul unui multisenzor) de nalt performa cu multe func ii indispensabile pentru m sur torile electrice i electronice. Toate func iile au fost proiectate pentru o utilizare ct mai simpl , asigurnd o acomodare rapid cu multiple posibilit i de m surare ale acestui multimetru.

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

Operarea tastelor Tasta ON/OFF Dac aparatul nu este folosit pentru o perioad mai ndelungat , este recomandabil oprirea de la acest buton, dect s depindem de func ia de oprire automat , care poate determina desc rcarea bateriei dac aparatul r mne pornit pentru mai mult de aproximativ dou luni. Tasta MENU Se apas o singur dat pentru a intra n modul meniu. Dac se ine tasta ap sat pentru mai mult de o secund se iese din acest mod. Prin intrarea n modul meniu, toate indicatoarele sunt aprinse, i doar cel de la pozi ia cursorului va clipi rapid, in t mp ce i indicatorul selectat anterior va clipi mai lent. Pentru a muta cursorul i pentru a selecta una din func iile disponibile se apas tasta menu. Tasta ENTER Se apas tasta enter pentru a se afi a pe ecran func ia selectat cu tasta menu. Func ia selectat va r mne singura afi at pe ecran, celelalte disp rnd, exceptnd func iile KEEP ON i RS232. Tasta TIME Aceast tast este folosit pentru alegerea func iei stabilizatoare. Prin ap sarea ei, n zona secundar a ecranului este afi at 0 ore 00 minute 00 secunde. O nou ap sare pe tasta timp opre te func ia temporizatoare i revine n modul anterior normal. Tastele sus i jos sunt folosite pentru a porni pentru a porni temporizatorul n num rare direct sau invers . Atingerea 9:59:59, respectiv 0:00:00, va fi semnalat sonor. Prin ap saea tastei time sunetul va fi oprit. Func ia temporizatoare are de asemenea i o func ie de reglare. Dup prima ap sare pe tasta time, prin ap sarea tastei enter, digitul cel mai din stnga va clipi. Prin ap sarea tastelor sus sau jos, valoarea digitului clipitor va cre te sau sc dea. Dup atingerea valorii dorite dorite, prin ap sarea tastei enter, se trece la urmatorul digit. Astfel se poate regla temporizarea de la valoarea care se dore te. Tasta FUNC Acest tast este folosit pentru selectarea func iilor alternative ( cand pozi ia selectorul rotativ r mne neschimbat ). Tasta RANGE Aceast tasta este folosit pentru trecerea din modul cu selectare automat a domeniului la selectarea manual . n modurile temporizator sau memorie, aceasta tast este folosit pentru selectarea unor func ii. Exist dou tipuri de opra ii de selectare a domeniului:
41

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

y y

Automat (implicit la pornirea automatului) Manual dup ap sarea tastei range

La prima ap sare a tastei, se trece n modul de selec ie manual a domeniului, pozi ionat n domeniul urm tor. Fiecare ap sare ulterioar selecteaz urm torul domeniu, pas cu pas. Dac tasta range este ap sat mai mult de o secund , se revine n modul de selectare automat . Tasta HOLD Aceast tast este utilizat pentru a nghe a valoarea afi at n momentul ap s rii. n modurile temporizator sau memorie, aceast este folosit pentru selectarea unor func ii. Cu tasta ap sat , indicatorul hold este aprins, iar sec iunea secundar a ecranului va afi a valoarea m surat curent . La o nou ap sare pe tast , se revine n modul anterior. Tasta ILUMINARE Aceast tast este folosit pentru iluminarea afi ajului. La prima ap sare iluminarea este pornit , iar la urm toare este oprit . Iluminarea va fi oprit automat la dou minute dup pornire, pentru a prelungi durata de via a bateriei. Datorit consumului de aproximativ 20mA, se recomand folosirea ilumin rii doar cnd este necesar.

Func ii meniu

MAX/MIN/MED Aceste func ii sunt folosite pentru a ob ine valoarea maxim , minim sau medie a m rimii m surate. Dup ce modul MAX a fost selectat, valoarea maxim este afi at n partea principal a ecranului, iar cea curent n partea secundar . Aseman tor n modurile MIN i MED. Aceste func ii pot fi folosite numai ntr-un domeniu fix, care trebuie anterior selectat manual. Dac se atinge minimul sau maximul domeniului (-3999 respectiv 3999), aceast valoare va fi afi at n locul OL. n modul MED, aparatul valorilor m surate din perioada de achizi ie. REL Modul REL permite operatorului s m soare valori raportate la o valoare de referin diferit de 0. MEM Pn la zece m sur tori pot fi oricnd stocate/memorate n/din memorie prin folosirea tastelor menu, enter, sus i jos. Pentru a selecta modul de memorare, se apas tasta menu i enter pentru a selecta func ia memorare. Cu tasta menu se selecteaz opera iunea de stocare calculeaz media tuturor

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

sau readucere. Memmoria nr. 0 are o func ie special , care poate fi folosit pentru a introduce o valoare numeric arbitrar prin operarea tastelor sus, jos i enter. Dup intrarea n modul de stocare, prin tastele sus i jos se selecteaz memoria 0, care va clipi. Se apas tasta enter i tastele sus i jos, iar indicatorul - va clipi. Dac se apas enter, indicatorul - va r mne in starea selectat , i urm torul digit va clipi. Astfel poate fi introdus orice cifr prin tastele sus i jos. La sfr it memoria 0 va clipi din nou. Se poate trece la alte loca ii d e memorie cu tastele sus/jos sua se poate ie i din modul de m surare cu tasta menu. Celelalte loca ii de memorie, executnd 0, sunt folosite pentru a stoca valori m surate. Oricnd este ap sata tasta enter, loca ia de memorie este suprascris cu valoare m surat curent . n modul de readucere din memorie, cele 10 loca ii pot fi rechemate oricnd. Cele 10 valori memorate nu vor fi terse nici n cazul opririi automate.

Func ionare continu Cnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute, func ia de oprire automat trebuie dezactivat , trecnd n modul de func ionare continu , prin deplasarea deplasarea cursorului cu tasta menu i selectare cu tasta enter. Indicatorul d func ionare e continu va r mne aprins iar aparatul va func iona pan la desc rcarea bateriei. Pentru a ie i din acest mod se poate folosi procedura de mai sus sau prin tasta oprire. Acest mod este independent de celelalte moduri sau func ii, r mnnd activ indiferent de schimb rile de mod prin taste sau selectorul rotativ.

Metoda de m surare M surarea se face prin conversia analog/numeric , rezolu ia de num rare fiind de 4000.

3.2.1.2. Senzor de temperatur Senzorul integrat LM35 - Este un senzor de temperatur de precizie, cu ie ire analogic de tensiune propor ional liniar cu temperatura m surata n grade Celsius. Ie irea are impedan a scazut , este liniar citire a ie irii. i precizia implicit de calibrare simplific interfa a de

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

Figura 3.2

Caracteristici generale

Calibrat direct in C; factor de scala liniar +10 mV/ C; pentru un curent de incarcare de 1 mA; propria

masurarea temperaturii in intervalul -55 C +125 C; tensiune de alimentare intre 430 V i un curent de 60 V; impedanta de ie ire 0.1 incalzire introdusa este de 0.08 C in aer.

3.2.1.3. Senzor de direc ie Senzorul de direc ie NRG #200P este un senzor standard industrial folosit n lumea ntreag . Componentele din plastic rezistent la temperatur coroziuni. i din o el inoxidabil rezist la

Figura 3.3

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

Bra ul indicator este direct conectat la un poten iometru. O tensiune de ie ire analogic care este direct propor ional cu direc ia vantului este produs atunci cnd se injecteaz un curent de 0,2 mA pe poten iometru. Formula de calcul este urm toarea: Direc ie vnt =


3.2.2 Func ii de transmitere a datelor Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma italian Telit.

3.2.2.1 Modemuri utilizate

Telit GE863-GPS/EZ-10

Figura 3.4 Modem GE863-GPS

Figura 3.5 Modem EZ-10

Extensia Easy Script este o tr s tur care permite comandarea intern modemului, scrierea aplica iei de control ntr-un limbaj de nivel inalt: Python Extensia Easy Script are ca int aplica iile folosite de obicei pentru un microcontroler de mici dimensiuni care admistreaz anumi i pini de intrare/ie ire i modulul prin intermediul interfe ei de comenzi AT.

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

O asemenea configura ie se poate reprezenta schematic dup cum urmeaz :

Figura 3.6

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) i mai mult pentru a simplifica programarea secven ei de opera ii sunt incluse urmatoarele elemente:
y y y

Dispozitiv de interpretare a scripturilor Python (vers: 1.5.2+) O memorie non volatil de 3 Mb pentru scripturile i datele utilitator O memorie RAM de 1,2/1,5 Mb rezervat pentru utilizarea interpretorului Python

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

O reprezentare schematic ar fi urm toarea:

Figura 3.7

3.2.2.2.Descrierea de implementare n python

Scripturile Python sunt fisiere text memorate in memoria non volatil a modulului Telit. Este prezent un sistem de fi iere n interiorul modulului care permite scrierea i citirea fi ierelor cu nume diferite pe un singur nivel ( nu sunt suportate subdirectoarele ). Este posibil rularea unui singur script la un moment dat. Scritul Python exte executat n interiorul modulului Telit la cel mai sc zut nivel de prioritate, asiguurndu-se prin aceasta c nu se suprapune cu opera iile normale GSM/GPRS. Acest lucru permite porturilor seriale, protocoalelor de stiv etc... s ruleze independent fa de script-urile Python.

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

Scriptul Pythin interac ionez cu func ionalitatea modulului Telit prin patru interfe e interne:

Figura 3.7 Structura intern modem GE863-GPS

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

Figura 3.8. Structura intern modem EZ-10

Intefa a MDM este cea mai important. Permite scriptului Python s s trimit comenyi AT, s primeasc raspunsuri i indica ii nesolicitate, s trimit date n re ea i s primeasc date din re ea pe durata conexiunii. Este aproximativ la fel ca interfa a unui port serial uzual din modulul Telit. Diferen a este c aceast interfa comenzilor AT. Toate comenzile AT care func ioneaz func ioneaz i in aceast interfa intern la fel de bine. nu este a unui port serial real, este doar o leg tur software intern intre Python i dispozitivul intern de mnuire a n cazul modulului Telit,

MDM2 este a doua interfa

ntre Python i dispozitivul intern i mobil de mnuire a

comenzilor AT. Este folosit pentru a trmite comenzi AT dinspre scriptul Python c tre dispozitivele mobile i s recep ioneze r spunsurile AT de la dispozitivele mobile c tre scriptul Python atunci cnd clasica interfa MDM este deja ocupat .

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

Interf a SER permite scriptului Python s citesc din, i s scrie c tre portul serial fizic ASC0, care este folosit pentru a trimite comenzi AT catre modul, de exemplu pentru a citi informatii de la un dispozitiv extern. Cnd Python ruleaz acest port serial este disponibil pentru a fi folosit de un script Python deoarece nu este folosit ca o interfa disponibil nici un control al fluxului pe acest port. de comenzi AT pentru c parserul de comenzi AT este mapat intr-un port serial virtul intern. Nu este Interfa a SER2 permite scripturilor Python s citeasc de la i s scrie pe un port serial fizic (real) ASC1, care este de obicei disponibil pentru urm rire i depanare (trace and debug) Interfata GPIO permite scriptului Python s administreze intr rile i ie irile generale mai rapid decat prin intermediul comenzilor AT eliminnd faza de parsare a comenzilor i trecnd direct la controlul pinilor Interfa a MOD este o colec ie de func ii utile. Interfa a IIC este o implementare in Python a magistralei Master IIC. Permite Python-ului s creeze sau mai multe magistrale IIC pe pini GPIO disponibili. Interfata SPI este o implementare n Python a magistralei Master SPI. Permite Python-ului s creeze sau mai multe magistrale SPI pe pini GPIO disponibili. Interfa a GPS este interfa a dintre Python i controlerul GPS al dispozitivului mobil. Este folosit de regula pentru a comanda controlerul GPS f r a folosi comenzi AT dedicate prin intermediul interfe ei MDM. Interfa a DAC (Digital Analog Convertor)

y y

Modulul GE863-GPS furnizeaz un convertor numeric-analog. Semnalul numit DAC_OUT este disponibil pe pinul 17 al placii pe care este integrat modulul. Convertorul func ionez pe 10 bi i i este capabil s genereze o valoare analogic specifica unei intr ri furniznd valori in intervalul 0 1023. Pentru acest lucru este necesar o filtrare.

MIN Interval de tensiune (filtrat) Interval 0 0

MAX 2,6 1023

UNIT vol i Pa i

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

Precizia este de asemenea de 10 bi i, dac consider m c valoare maxim este de 2V, valoare voltajul integrat poate fi calculate prin urm toarea formul :

Valoarea de ie ire a voltajului integrat = 2*valoare/1023 Este dinponibil o comand AT pentru utilizarea func iei DAC. Comanda este: AT#DAC=<enable>,<value> Parametri:
o <enable>: setez ie irea DAC pe enable/disable; poate lua valorile 0 sau 1

 

0=disable; este n stare de inalt impedan (setat implicit din fabric ) 1=enable; reprezint ie irea corespunz toare care se transmite

o <value>: factorul de scalare a tensiunii de ie ire; trebuie sa fie present dac

enable=1

Interfa a ADC (Analog Digital Convertor) Modulul GE863-GPS furnizeaz un convertor analog-numeric. Semnalul numit

DAC_IN1 este disponibil pe pinul 19 al placii pe care este integrat modulul. Convertorul func ioneaz pe 11 bi i i ste capabil s citeasc un nivel de tensiune cuprins n intervalul 0-2V , aplicat pe pinul de intrare ADC, pe care l memoreaz converte te ntr-un cuvnt pe 11 bi i. i l

MIN Interval tensiune intrare Conversie A/D Rezolu ie 0

MAX 2 11 <1

UNIT vol i Bi i mV

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

Este dinponibil o comand AT pentru utilizarea func iei ADC. Comanda este: AT#ADC=1,2 Parametri: 1: reprezint tipul modului folosit 2: interogheaz modemul pentru valoare ADC Valoarea returnat reprezint o tensiune m surat n mV.

3.2.3 Func ii de supraveghere Aplica ia permite supravegherea procesului de m surare a m rimilor specifice. Un mare avantaj al aplica iei il constituie faptul c se poate ngloba in orice context chiar dac in solu ia propus in aceast lucrare sunt supravegheate cteva marimi concrete. Aceste m rimi ( temperatur , direc ia vntului i tensiune ) sunt recep ionate de c tre dispecer la intervale de timp prestabilite i afi ate prin intermediul unei interfe e grafice pe calculatorul central. Dispecerul poate analiza comportamentul unei m rimi n sensul vizualiz rii ultimelor 100 de valori recep ionate in forma grafic sau poate vizualiza comportamentul marimii respective dintr-o zi anume.

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

4. Proiectarea n detaliu
Aplica ia beneficiaz de o arhitectur client-server cu mai multi client i un singur server. Interac iunea TCP dintre clien i i server se desf oar n felul urm tor:

CLIENTUL 1. Creaz un socket TCP 2. Stabile te conexiunea


3. Comunic

4. Inchide conexiunea

SERVERUL 1. Creaz un socket TCP 2. Asigneaz un port la socket 3. A tept conexiuni

4.1 Implementare la nivel de client

Nivelul client al aplica iei este reprezentat de modemurile Telit, mai exact de scripturile Python care ruleaz pe aceste modemuri.

4.1.1. Implmentare Python Fiecare modem contine un script implementat in Python. Acest script realizeaz urmatoarele functii:

4.1.1.1Func ie de ini ializare a modemului n aceast func ie se introduce codul PIN pentru cartela SIM din fiecare modem. Instruc iunea care face acest lucru este :

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

MDM.sent( AT+CPIN=1234\r,20). Dup introducerea codului PIN se configureaz contextul PDP (Packet Data Protocol) cu urm toarea instruc iune: MDM.send('AT+CGDCONT=1,"IP","APN"\r',20) Unde: 1 - indentificator de context PDP "IP" specific tipul protocolului (IP sau PPP) "APN" - Acces Point Name Urmeaz definirea utilizatorului i a parolei: MDM.sent( AT#USERID=utilizator\r,20). MDM.sent( AT#PASSW=parola\r,20). Pentru a realiza conexiunea la re eaua GPRS se utilizeaz urm toarea comand : MDM.sent( AT#GPRS=1\r,20).

4.1.1.2. Func ie de citire a timpului Aceast func ie cite te timpul furnizat de modem cu ajutorul instruc iunilor: MDM.send('at+cclk?\r',30) timp=MDM.receive(10) Formatul in care modemul returneaz timpul este: YYYY/MM/DD HH:MM:SS:TimeZone, format re inut n variabila timp de tip string. Dup ace se ob ine minutul i secunda n variabile separate de tip string, se converte te n integer si se verfic daca s-a ajuns la intervalul prestabilit necesar pentru a transmite informa iile i se apeleaz func iile pentru a citi datele de la senzori si pentru a transmite c tre calculator.

4.1.1.3. Func ie de citire date Felul in care se citesc datele depinde de modul n care senzorul transmite datele:
y

Interfa

ADC MDM.send('AT#ADC=1,2\r',20) Val_ADC=MDM.receive(20)

Pentru a citi datele prin interfa a ADC se folose te urm toarele instruc iuni:

Formatul n care modemul returneaz valoarea ADC este:


54

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

#ADC: 289 OK, format re inut in variabila Val_ADC, de unde este prelucrat pentru a ob ine valoarea 289 n cazul de fa . Aceast valoare este exprimat n milivol i.
y

Interfa a SER Pentru a citi datele prin interfa a SER primul pas este setarea vitezei de transmisie a portului serial: SER.set_speed=( 9600), pentru modelul GE863-GPS SER.set_speed=( 9600,8N1), pentru modelul EZ-10 Pentru a transmite i recep iona date se folosesc comenzile: SER.send( mesaj) Val_SER=SER.receive(10) Interfa a GPIO Interfa a GPIO este folost pentru a seta valorile pinilor GPIO din scriptul Python i pentru a citii valorile pinilor pinilor GPIO. Urm toare instruc iuni se pot folosi n acest sens: GPIO.setIOvalue(GPIOnumber, value) GPIO.getIOvalue(GPIOnumber) Pentru a seta direc ia pinilor GPIO (intrare/ie ire) se folosesc urm toarele instru iuni: GPIO.setIOdir(GPIOnumber, value, direction) GPIO.getIOdir(GPIOnumber)

4.1.1.4. Func ie de transmitere date n prima faz aceat func ie realizeaz generarea mesajului care con ine datele de transmis n urm toarea form : NrModem:NumeModem_Timp_IdParam1:ValParam1_ IdParam2:ValParam2 unde: NrModem Identificatorul modemului NumeModem Denumirea modemului Timp Data i ora la care s-au citit parametri IdParam1 tipul primului senzor
55

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

ValParam1 valoarea citit de la primul senzor IdParam2 tipul celul de al doilea senzor ValParam2 valoarea citit de la cel de al doilea senzor Urm toarea faz este conectrea la calculatorul central. Acest lucru se face prin instruc iunea: MDM.send('AT#SKTD=Tip_Socket,Remote_Port,"Remote addres"\r',50) unde: Tip_Socket tipul socketului (0 pentru TCP, 1 pentru UDP) Remote_Port Numarul portului utilizat Remote addres Adresa IP a calculatorului central (se poate folosi i DNS) Urm toarea faz este trimiterea mesajului generat anterior. Acest lucru se face prin urmatoarea instruc iune: MDM.send(mesaj,70) dup care se inchide conexiunea prin: MDM.send( +++,20).

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

Schema logica a implement rii programului Python este:

Figura 4.1 Scema logica a programului Python

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

4.2. Implementare la nivel de Server La nivel de server am implementat un program in CVI ( C for Virtual Instruments) un produs al companiei americane National Instruments. Acest program permite acceptarea cererilor de conexiune provenite de la clein ii, prelucrarea informa iilor recep ionate, generarea dinamic a interfe ei de vizualizare a informa iilor recep ionate precum i arhivarea datelor m surate. O schem logic general este cea care urmeaz :

Figura 4.2

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

4.2.1. Comunica ia Client-Server Func iile implementate pentru a realiza comunica ia ntre clien i si server sunt descrise mai jos:

Func ia main Fun ia main incarc panelul principal, creaz o lista cu clien ii conecta i, porne te serverul TCP/IP prin apelul func iei ServerCallback , afi eaz panelul principal, i la ie ire deconecteaz clien ii i opre te serverul TCP/IP.

Func ia ServerCallback Func ia ServerCallback se apeleaz n trei cazuri, n func ie de un anumit parametru: 1. Cnd se conecteaz un nou client 2. Cnd se deconecteaz un client 3. Cnd se recep ionez date de la un client

1. Cnd un nou client se conecteaz func ia ServerCallback apeleaz func ia ConnectClient. Aceast func ie:
y y y

genereaz structura de date pentru client, cite te adresa IP a clientului salveaz n structur genereaz un thread separat pentru client prin apelul func iei

ClientThreadFunction
y y

adaug clientul la lista de clien i conecta i genereaz interfa a pentru clientul respectiv.

Func ia ClientThreadFunction, prin intermediul threadului generat se citesc datele de la client. Se folose te thread separat pentru fiecare client pentru a evita blocarea serverului. 2. Cnd se deconecteaz un client func ia ServerCallback apeleaz func ia DisconnecttClient care deconectez clientul prin apelul func iei Disconnect care:
y y y

opre te threadul clientului, elibereaz threadul, deconectez clientul

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

y y

sterge din lista clin ilor conecta i eliberaz structura de date din memorie.

3. Cnd se primesc date de la un anumit client func ia ServerCallback apeleaz func ia DeferredReceive. Aceast func ie cite te date recep ionate de la client prin threadul generat pentru client prin func ia Server TCPRead i le depune int-un buffer.

4.2.2. Interpretarea datelor de c tre server n continuare se face prelucrarea mesajului recep ionat. Orice mesaj recep ionat de server are urmatoarea form : NrModem:NumeModem_Timp_IdParam1:ValParam1_ IdParam2:ValParam2 Dup ce s-a recep ionat mesajul se desface acest mesaj pentru a putea afisa doar informa iile necesare n locurile corespunz toare in func ie de amplasarea caracterului _, astefel avem urmatoarele segmente: NrModem:NumeModem, Timp, IdParam1:ValParam1,

IdParam2:ValParam2. n continuare se prelucraz fiecare segment n parte dup caracterul :. La prima conectare a unui client aplica ia genereaz elementele de vizualizare cu parametrii clientului respectiv dup cum se vede n figura de mai jos.

Fig. 4.3

n momentul gener rii idenificatorul clientului mpreun acestea sunt salvate n structura modemului.

cu elementele generate

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

La o transmisie ulterioar cnd clientul este deja conectat procesul de generare a elementelor de vizualizare nu se mai realizeaz , facndu-se doar remprosp tarea informa iilor.

4.2.3. Interfa a grafic Interfa a grafic cu utilizatorul este conceput diamic n sensul c n func ie de formatul datelor pe care le transmite fiecare client in parte, aceasta genereaz dinamic afi area informa iilor primite. Informa iile afi ate n momentul actual sunt: o temperatur m surat de un senzor de temperatur ; direc ia vntului masurat tensiune masurat cu ajutorul unui multimetru digital. Ulterior dac se dore te afi area unei noi m rimi, tot ce trebuie f cut este preg tirea informa iilor de transmis in formatul pe care l cunoa te calculatorul central. La ntlnirea acestui format interfa a va genera automat o fereastr cu informa iile corespunz toare. cu un intrument corespunz tor; o

Figura 4.4

n cazul in care utilizatorul dore te s vizualizeze comportamentul m rimii m surate se apas butonul Diagrame i apare o fereastr care prezint n mod grafic evolu ia parametrilor.

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

Fig 4.5

4.2.4 Arhivarea datelor

Dup afi area datelor aplica ia salveaz datele n fi iere de tip csv. Acest format de fisier permite importarea datelor in exel de unde pot fi preluate foarte u or de catre o baz de date. In cadrul procesului de salvare aplica ia creaz un director Arhive. n acest director va genera cte un subdirector pentru fiecare client innd cont de identificatorul si numele clientului n care va crea un fi ier separat pentru fiecare zi con innd infotma iile din ziua respectiv (fig. 3.5.3).

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

Fig 4.6

Beneficiind de aceste informa ii din fi ierele generate se poate vizualiza arhivele generate n format grafic prin ap sarea pe butonul arhive. Cand se apasa pe acest buton apare o fereastr n care utilizatorul selecteaz modemul dorit, data i parametrul dup care se apas butonul Afi are.

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

Figura 4.7

4.3. Scalabilitatea sistemului n lume, la ora actual , se pune un puternic accent pe scalabilitatea sistemelor. innd cont de acest lucru am rezolvat aceast problem a scalabilit ii n sensul ca aplica ia permite n orice moment ad garea de noi modemuri inteligente pentru a transmite noi informa ii indifferent de natura acestora. Concret acest lucru depinde de felul in care este programat modemul. Informa iile recep ionate de modem de la sensor trebuie prelucrate si aranjate in formatul descris anterior la descrierea func iei de transmitere date: NrModem:NumeModem_Timp_IdParam1:ValParam1_ IdParam2:ValParam2

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

Dup ce datele au fost prelucrate n acest format se trimit catre server. Severul in func ie de NrModem va tii dac trebuie sa creeze un nou element de vizualizare sau nu, iar res tul informa iilor primite vor fi afi ate corespunz tor pe acest element.

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

5. Instalare unelte soft

5.1 Instalare mediu de dezvoltare PythonWin Kitul de instalare pentru limbajul Python necesit ca PC-ul pe care urmeaz s fie instalat s aib ca sistem de operare Windows 2000 sau XP. Fi ierul executabil se poate desc rca gratuit de la urmatoarea adresa: Pentru

http://jimdgrayassoc.com/INSTALLING%20PYTHONWIN%20ON%20WINDOWS%20PC.zip.

a instala pachetul Telit Python se execut fisierul executabil i se permite procesului de instalare s foloseasc setr rile implicite. Fi ierul de instalare con ine un pachet de instalare Python. Pachetul Pyton este plasat n directorul C:\Program Files\Python\ .

Figura 5.1

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

5.2 Instalare LabWindows/CVI

Figura 5.2

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

Fig 5.3

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

6.Concluzii

Dezvoltarea unor astfel de module inteligente vor duce la o dezvoltare semnificativa a sistemelor automate si vor sustine la un nivel ridicat necestitatile firmelor de a monitoriza si controla la distanta si in orice moment o instalatie de proces. RTU-ul inteligent aduce numeroase beneficii atat dezvoltatorilor de astfel de sisteme, usurandu-le munca cat si beneficiarii care vor obtine un raport pret calitate ridicat. Fiabilitatea si flexibilitatea sistemelor telemetrice duce la o exploatarea optima in conditii de siguranta ridicata. Pe viitor se prevede o extindere a inteligentei la nivel de senzori si acuatori. Asa cum RTU-ul clasic a fost inglobat in modemul inteligent, la randul lui modemul inteligent va fi inglobat in sensor (figura 5.1).

Figure 6.1. Senzor inteligent

Acesta evolutie este un lucru bun si in acelas timp riscant deoarece trebuie acordata o atentie deosebita etapei de proiectare a unui astfel de sistem. Evolutia tehnologic face ca aceste componente sa poata fi utilizate in tot mai multe situatii, ceea ce duce la marirea sferei de aplicabilitate. Datorita unui raport pret-calitate scazut aceste sisteme devin tot mai accebile, avand repercursiuni benefice asupra stilului de viata prin realizarea unui mediu ambiant atractiv atat acasa cat si la serviciu, asupra mediului actionandu-se prin realizarea monitorizarii permanente si controlului unor factori de mediu greu accesibili si cu influenta asupra infrastructurii unor incinte sau amplasamente care pot afecta viata omului.

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

7. Bibliografie
[1] R. Cazan, L. Chirila, A. Marichescu - RTU-s inteligence evolution [2] Cristina Grabiela Saracin, Marin Saracin, Vasile Valentin Golea M sur ri Electricee i Electronice Ed. Matrixrom 2005 [3] Heine, Gunnar Holger Sagkob - GPRS: Gateway to Third Generation Mobile NetworksPublished By: Artech House 2003 [4] Conf. Dr. Ing. Octavian Fratu -Comunica ii Mobile Digitale Sistemul GPRS notite curs [5] AT Commands Reference Guide - Documenta ie asigurat de produc tor [6] Easy GPRS User Guide - Documenta ie asigurat de produc tor [7] Noti e curs/laborator - Introducere n mediul de programare LabWindows/CVI [8] http://en.wikipedia.org/wiki/Machine_to_Machine - M2M [9] Easy Script in Python - Documenta ie asigurat de produc tor

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE SECTIA CALCULATOARE

Proiect de diplom

Anexe
DVD-ul ata at Proiectului de diplom cuprinde anexele: - Documenta ia n format electronic care se g seste in diretorul Documneta ie . - Aplica ia care se g se te n directorul Surse diplom .

71