96
UNIVERSITATEA TEHNICA CLUJ NAPOCA FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE 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ţă către un calculator central. În calculatorul central se prelucrează informaţiile recepţionate şi se afişează într-o interfaţă grafică prietenoasă. Dezvoltarea de sisteme de monitorizare si control automate este un segment in continuă dezvoltare, unde atat beneficiarii cât ş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 gestionanând fluxul informaţional care se vehiculează intre entităţile sistemului. Pe fondul unui raport preţ-calitate scăzut, funcţiile unui RTU pot fi preluate cu usurinţă de modemuri inteligente care satisfac necesităţiile unui sistem complex de monitorizare şi control, extinzând 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. 4

Retea de senzori

  • Upload
    lgold

  • View
    518

  • Download
    4

Embed Size (px)

Citation preview

Page 1: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

1Introducere

Tema proiectului de diplomă reprezintă dezvoltarea unei reţele de senzori icircn 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ţă către un

calculator central Icircn calculatorul central se prelucrează informaţiile recepţionate şi se afişează

icircntr-o interfaţă grafică prietenoasă

Dezvoltarea de sisteme de monitorizare si control automate este un segment in

continuă dezvoltare unde atat beneficiarii cacirct şi dezvoltatorii conlucrează pentru a obţine

rezultate notabile Rezultatele sunt obţinute datorită dezvoltarii semnificative a entităţilor

utilizate icircn cazul unor astfel se sisteme cum ar fi RTU-ul (Remote Terminal Unit) Acestă

componentă are un rol important el practic gestionanacircnd fluxul informaţional care se

vehiculează intre entităţile sistemului Pe fondul unui raport preţ-calitate scăzut funcţiile unui

RTU pot fi preluate cu usurinţă de modemuri inteligente care satisfac necesităţiile unui sistem

complex de monitorizare şi control extinzacircnd 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 icircn structuri complexe ceea ce permite

dezvoltarea unor sisteme ldquola cheierdquo Astfel soluţia existent la ora actuala satisface cerinţele

4

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

dezvoltatorilor de sisteme automatizate reducacircnd timpul de dezvoltare şi costurile necesare

Acesta soluţe se intregrează ideal icircn 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 icircn reţele de senzori bazate pe tehnologii radio (wireless)

de comunicaţie respectiv tehnologii clasice bazate pe interfeţe seriale prin fir (RS-232485)

11 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 icircn realizarea unor astfel de

sisteme constă icircn identificarea celor mai bune soluţii de preluare a datelor caracteristice unui

proces Sistemele per ansamblu sunt ample implicacircnd 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 icircn 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ă icircn special de caracteristile modemului corespunzator RTU-ului

utilizat Icircn 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 icircn functie de cerere şi

actionează stările diferitelor elemente de execuţie icircn funcţie de necestăţtile

instalaţiei proces

Caracteristicile RTU-ului sunt determinante icircn 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

5

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 11 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

icircn special pe partea de funcţionalitate obţinacircndu-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

cacircştigat atat din punct de vedere hardware cacirct şi software La nivel software tot mai multe

RTU-uri pot fi programate icircn diferite medii de programare cum ar fi CC++ Pyton Step 7

sa 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ă

6

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

12 Soluţia propusă

Modemul inteligent (figura12) 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 12 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ţă se gasec mai multe soluţii

Icircn funcţie de specificaţii de sistem se pot alege mai multe solutii de aceea etapa de proiectare

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 icircn 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 ( dispecer ) şi aici o iterfaţă grafică implementată in LabWindowsCVI să

permită vizualizarea informaţiilor recepţionate O schemă general a aplicaţiei este

următoarea

7

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 13

8

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

2Fundamentare teoretică

21 Noţiuni de teoria măsurătorilor

Metrologia este un domeniu al tehnicii cu rădăcini icircn spaţiul Fizicii si ramificaţii icircn

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ă ndash

valorică a marimilor fizice Metrologia ndash ca disciplină de sine stătătoare ndash se referă la icircntregul

ansamblu al fenomenelor fizice pe care le studiaza dintr-un punct de vedere propriu şi anume

acela al masurării care este ndash icircn esenţă ndash o comparare experimentală de mărimi ea

stabilind standardele unităţilor de masură şi ale etaloanelor de referinţă pentru aceste unităţi

procedeele de comparare a mărimilor cu etaloanele şi caracteristicile de performanţă (ca

interval game rezoluţie sensibilitate fidelitate dinamică mobilitate precizie etc care ndash icircn

general ndash se numesc caracteristici metrologice) Aplicaţiile metrologiei adică 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

211 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 ndash mai general ndash ale

unui sistem şi redarea lor icircntr-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ă icircn procesul continuu de cunoaştere comunicare şi conducere (decizie) Prin

identificarea proceselor şi modelarea lor (adică prin reprezentarea matematică a relaţiilor din

sistemul analizat) se stabilesc anumite proprietăţi (elemente specifice) diferite calitativ pe

care le putem denumi mărimi (sau specii de mărimi ndash pentru a le preciza natura lor diferită) si

anumite corelaţii icircntre ele descrise matematic prin legi ndash dacă sunt deduse experimental sau

9

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

prin teoreme formule etc ndash daca sunt stabilite deductiv din legi Icircn acest sens după cum se

ştie mărimile (speciile de mărimi) se diferenţiază (clasifică) icircn mărimi primitive şi mărimi

derivate Cunoaşterea sistemului (stărilor sistemului icircn evoluţia lui) icircn 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 decacirct experimental (ldquope viurdquo si icircn ldquotimp realrdquo) prin măsurări

ceea ce explică rolul cognitiv de comunicare si decizional (mai cuprinzator informaţional) al

măsurărilor

Icircn acest context mai trebuie precizat ca utilizatorul (observatorul) ndash adică

ldquobeneficiarulrdquo icircn activitatea de măsurare ndash poate fi uman sau de tip maşină (icircn cazul

sistemelor automate) Determinarea cantitativă prin măsurare a speciilor de mărimi diferite

calitativ nu se poate realiza decacirct icircn raport cu mărimi de aceeaşi specie (aceeaşi natura fizica)

alese ca unităţi cantitative numite unităţi de măsură fixate icircn mod convenţional dar icircn 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 ldquoeste operaţia prin care se stabileşte pe cale experimentală raportul

numeric icircntre mărimea de măsurat si o valoare (ldquocantitaterdquo) oarecare a acesteia luată ca

unitate de măsurărdquo

Din punctul de vedere tehnic ldquomăsurarea este operaţia experimentală prin care se

determină cu ajutorul unor mijloace de măsurat valoarea numerică a unei mărimi (numită

masurand) icircn raport cu o unitate de măsură datărdquo 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 ndash mai rar ndash R2 (altfel

spus se stabileşte o relaţie icircntre valoarea unei marimi X si un numar real Xm R)

212 Procesul de masurare

Ansamblul operaţiilor experimentale care se execută icircn scopul obţinerii rezultatului

măsurării sub forma unei percepţii realizată de observatorul-utilizator (operatorul ce

efectuează măsurarea) constituie procesul de măsurare Orice proces de măsurare are

urmatoarele componente principale

- mărimea de măsurat (măsurandul)

- metoda de măsurare

- mijlocul (aparatul) de măsurat

10

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

- măsura (etalonul)

- operatorul (observatorul) şi

- prelucrarea ndash tratarea datelor

care ndash icircn funcţie de domeniul precizia şi scopul măsurării ndash 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 ndash beneficiar al măsurarii (exigenţe destul de nuanţate icircn 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 icircn general

Un exemplu particular al acestei mari varietaţi o constituie icircnseşi măsurarile

electronice (care au ca măsurand specii diverse cum sunt mărimile de stare ale cacircmpului

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)

213 Erori de măsurare

Icircn practică se constată că rezultatul unei măsurări nu depinde numai de valoarea

măsurandului el putacircnd 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 icircn procesul de măsurare se definesc

urmatoarele valori

Valoarea adevarată (reala) Xa a unei mărimi este valoarea exacta a mărimii

respective icircn condiţiile existenţe la un moment dat De obicei valoarea adevarată a unei

mărimi nu poate fi determinată experimental ea icircnlocuindu-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

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ţă de valoarea

adevarată a măsurandului constituie eroarea de măsurare

Intervalul icircn care se estimează cu o anumita probabilitate numită nivel de icircncredere

ca se afla valoarea adevarată a măsurandului se numeste incertitudine de măsurare

11

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

incertitudinea de măsurare estimează limitele erorilor de măsurare Pentru o estimare

obiectivă este necesar ca icircmpreună cu rezultatul măsurarii să se specifice atacirct erorile cacirct şi

incertitudinea de măsurare Icircn figura 21 sunt reprezentate schematic noţiunile prezentate

anterior

Figura 21

Fig 11 Explicativă privind valoarea adevarată valoarea măsurată

valoarea convenţional adevarată eroarea de măsurare şi incertitudinea

de măsurare

214Clasificarea erorilor de măsură

Deoarece cauzele erorilor de măsurare sunt numeroase există şi multe criteri de

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

următoare

Figura 22

12

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

215 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 Icircn

afara acestor două roluri prin care se ldquodefineşterdquo o unitate de măsura etaloanele mai sunt

utilizate icircn operaţiile de calibrare şi icircn icircnsuşi procesul de măsurare (de icircnaltă precizie) ca

elemente de referinţă precum şi icircn construcţia unor aparate (dispozitive) utilizate icircn alte

scopuri decacirct mşsurarea propriu-zisa (ca de exemplu dispozitive de automatizare

stabilizatoare electronice generatoare de semnal etc)

Calibrarea icircnseamnă ndash icircn metrologie ndash compararea unui aparat de măsurat cu un

etalon icircn scopul gradării sau ajustării verificării sau etalonării aparatului de masurat

Elementul de referinţă este un etalon care asigură (ldquofurnizeazardquo) o mărime fizică anume cu

o valoare bine cunoscută (cu o precizie metrologică corespunzatoare scopului urmarit)

Un etalon trebuie să fie invariabil icircn timp şi icircn spaţiu să poata fi folosit usor icircn tehnică

şi să poată fi reconstituit oricacircnd Unicitatea şi conformitatea măsurărilor icircn orice loc şi la

orice moment impun realizarea unui sistem de etaloane care să

asigure

- generarea principalelor unităti de măsură icircn conformitate cu definiţiile lor din SI

(adică ldquomaterializarea ldquo definiţiilor prin experimente adecvate)

- menţinerea (conservarea) acestor unităţi de măsură constante icircn timp icircn toate

laboratoarele metrologice pe plan mondial

- corelarea icircntre 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 icircn activitatea metrologică se efectuează icircn

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 icircn principal cele fundamentale aşa cum este ndash de exemplu ndash determinarea absolută

a amperului cu ajutorul balanţei de curent)

- etaloane de conservare (adică etaloanele de menţinere a unităţii de măsură cu o mare

stabilitate icircn timp şi faţă de influenţele exterioare de mediu)

- etaloanele de transfer (adica cele care asigura etalonarea tuturor tipurilor

13

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

de aparate de masurat icircn intervale largi de valori ale masurandului pentru marimi constante

sau variabile icircn timp) asa cum sunt etaloanele de raport etaloanele de derivare si etaloanele

de transfer (curent continuu ndash curent alternativ) prin compararea efectelor (termice

electrodinamice etc) ale semnalelor de curent sau tensiune produse asupra unui acelaşi

element sensibil

22 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ţă şi aplicaţiile la care sunt conectate De fapt M2M este o

evoluţie comercială a tradiţionalelor sisteme de control al echipamentelor din domeniul

industrial soluţie aplicată cu succes pentru prima dată de NASA Adaptată nevoilor

companiilor (un rol important l-a jucat compania France Telecom) M2M permite companiilor

sa administreze mai uşor echipamentele aflate la distanţă si să le integreze cu procesele

interne

Zona soluţiilor M2M este cotată ca fiind una dintre cele mai promiţătoare in

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 Proiect de diplomă SECTIA CALCULATOARE

23 Limbajul Python

Icircn cadrul unei instalaţii de telemetrie modemurile deţin memorie şi processor propriu

motiv pentru care se numesc ldquointeligenterdquo Pe lacircngă memorie şi processor aceste modemuri

inteligente au şi un interpretor al unui limbaj de programare de nivel icircnalt Icircn 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 cacircteva zile

231 Tipuri de date

Sunt 3 grupuri de tipuri de date in Python

Scalari ndash 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ă icircn Python

a = 7 7 (integer)

a = str(2a) + bytes 7 bytes (string)

15

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Icircn Python variabilele nu sunt declarate icircn script ele apar doar atunci cand sunt folosite

232 Operatori

Icircn Python există următorii operatori

Operatori aritmetici

+ - ~ ltlt gtgt amp ^ |

Operatori relaţionali şi logici

is in lt lt= gt gt= == = not and or

Operatori de asignare

= += -= = = = = ltlt= gtgt= amp= ^= |=

Alţi operatori

( ) [ ] [] `` lambda

233 Comenzi compuse

Comenzile care aparţin aceluiaşi grup logic sunt deplasate spre dreapta cu acelaş

număr de spaţii albe

if a gt 0

b = 1

c = 2

De obicei fiecare comandă icircncepe pe o linie nouă

16

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

O instrucţiune se poate continua pe racircndul următor prin plasarea caracterului backslash

la sfacircrsitul randului Acest lucru nu este necesar dacă există paranteze deschise

my_list = [1

[abc 2]

-3+6j]

print my_list

234 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 gt b

print a is greater than b

elif a lt b

print a is lower than b

else

print a equals b

Se poate folosi si interval prescurtate de testare

if 2 lt= a lt= 7

print a is in the interval [2 7]

235 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ăacirc

numbers = [ ]

i = 0

while i lt 100

17

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

numbersappend(i)

i = i + 1

O buclă similar for arată in felul următor

numbers = [ ]

for i in range(100)

numbersappend(i)

Icircn 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

24 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

- GSMGPRS

- Fibră Optică

Opţiunea pentru care am optat icircn partea de comunicaţie este GSMGPRS 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ămacircne

comutat prin MSC

Datele sunt transmise prin GPRS icircn 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 Proiect de diplomă SECTIA CALCULATOARE

dată de introducerea codării adaptive a canalului Aceasta icircnseamnă că protecţia datelor

variază icircn timp icircn funcţie de starea canalului radio GPRS poate utiliza pentru o conexiune

de date de la fracţiuni de canale de trafic pacircnă la maximum 8 sloturi temporale (adică tot

cadrul TDMA) icircn funcţie de resursele disponibile

Capacitatea alocată unei conexiuni va varia icircn funcţie de icircncărcarea cu trafic de pe

frecvenţa respectivă precum şi de tipul traficului (vocedate) Este important că utilizacircnd

comutaţia de pachete o transmisie de date nu ocupă resursele reţelei decacirct atunci cacircnd sunt

date de transmis Cacircnd 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ă icircn paralel cu subsistemul reţea şi comutaţie (NSS) al GSM care va

gestiona icircn continuare transmisia cu comutaţie de circuite

241 Caracteristicile sistemului GPRS

GPRS este un serviciu specificat icircn faza 2+ de standardizare a GSM El este oferit prin

intermediul unei infrastructuri numită şi sistem sau reţea GPRS ce interoperează cu

infrastructura bdquoclasicărdquo GSM

GPRS se icircncadrează icircn orientarea generală a ETSI de a asigura prin aza 2+ o platformă

ce va putea fi utilizată ulterior icircn reţele de generaţia a treia Astfel el este onsiderat

actualmente soluţia de bază pentru transmiterea de date icircn 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ă (25G)

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ă icircn acest moment (atacirct la

25G cacirct şi icircn 3G) doar la transmiterea datelor vocea rămacircnacircnd icircn continuare comutată prin

MSC Datorită eternei insuficienţe a resurselor radio este probabil ca icircntr-o fază nu prea

icircndepă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

Icircn concluzie GPRS reprezintă o infrastructura ce permite transmiterea datelor pe baza

comutaţiei de pachete icircntr-o reţea GSM

19

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Pentru a putea oferi debite de date mai ridicate icircn GPRS se urmăreşte utilizarea cacirct

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 Icircn ciuda acestor asemănări icircnlocuirea comutaţiei de circuite cu cea de

pachete face din GPRS un sistem complet diferit de HSCSD Aceasta atacirct 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)

Rezumacircnd icircn 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ă atacirct din experienţa

sistemelor anterioare cacirct şi mai ales din operarea icircn modul pachet a datelor ce se transmit

Soluţiile utilizate sunt

creşterea ratei de transmisie a datelor prin reducerea codării canalului (sunt definite

şi pot

fi utilizate 4 scheme de codare 905kbps 134 kbps 156 kbps 214kbps)

creşterea ratei de transmisie prin operare multislot ( pacircnă 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ă uplinkdownlink

creşterea eficienţei utilizării resurselor radio prin alocarea dinamică a canalelor icircntre

servicii comutate icircn mod circuit respectiv pachet

Cacircnd un icircntreg cadru TDMA este alocat unui utilizator cu schema de protecţie minimă

(practic fără corecţie de erori) rezultă rata utilă instantanee maximă posibilă icircn GPRS

(8x214 kbps=1712 kbps)

242 Comutaţie de circuite şi comutaţie de pachete

20

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comutaţia este o tehnică esenţială icircn 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

comutaţia de circuite

comutaţia de mesaje

comutaţia de pachete

Comutaţia de circuite

Aceasta presupune realizarea icircntre emiţător şi receptor a unei căi fizice de comutaţie

dedicate numită circuit Icircntreaga comunicaţie se desfăşoară icircn trei etape

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 icircnainte de

icircnceperea 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

asigurarea unei icircntacircrzieri constante şi minime

garantarea unui debit util corespunzător mediului de comunicaţie şi serviciului utilizat

Toate acestea facilitează oferirea serviciilor de timp real (telefonie videofonie alte

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 icircn cazul HSCSD) unei staţii mobile

(MS) Acest canal rămacircne icircn posesia terminalului mobil pe toata durata conexiunii chiar dacă

transferul de date este discontinuu (icircn rafale) sau chiar icircncetează cu desăvacircrşire (de exemplu

21

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

cacircnd utilizatorul citeşte cu atenţie cinci minute o pagină WEB după care lămurit pe deplin

icircntrerupe legătura) Ca o particularizare binecunoscută a reţelelor cu comutaţie de circuite

trebuie menţionat că utilizatorul trebuie să plătească pentru icircntreaga 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 icircntre emiţător şi receptor

Informaţia ce urmează a fi transmisă formează o entitate bine precizată numita mesaj

Mesajele sunt complet independente unele faţă 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 icircl

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 icircntacircrzierea icircn 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 icircn

general rezultatul divizării mesajelor icircn 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)

Icircn cazul comutaţiei de pachete fără conexiune pachetele (numite şi datagrame) se transmit

independent icircn cel mai pur spirit al comutaţiei de mesaje urmacircnd rute posibil diferite

Sosirea lor la destinaţie poate avea loc icircntr-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 Proiect de diplomă SECTIA CALCULATOARE

suplimentară din fiecare pachet privitoare la mesajul din care face parte şi locul pe care icircl

ocupa icircn el Exemplul tipic de reţea care utilizează comutaţia de pachete este internetul

BComutaţia de pachete orientată pe conexiune (sau circuit virtual)

Icircn cazul comutaţiei de pachete orientată pe conexiune (sau circuit virtual) comunicarea

icircntre 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 icircnseamnă 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 icircntreaga cale La stabilirea circuitului

virtual fiecare comutator (router) trebuie să memoreze icircn tabela de dirijare care este

succesorul său icircn 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 Avacircnd memorat nodul succesor icircn fiecare dintre circuitele virtuale icircn care este

implicat comutatorul va identifica circuitul asociat pachetului şi icircl va transmite pe acesta pe

linia de ieşire corespunzătoare Tehnica circuitului virtual garantează livrarea icircn ordine a

pachetelor la destinaţie Exemple marcante de reţele ce utilizează comutaţia de pachete de tip

circuit virtual sunt X25 ş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ă icircn 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) icircn cazul unui trafic crescut la intrare Pierderea pachetelor garantarea unei

icircntacircrzieri maxime şi a unui debit utilizator constant sunt problemele spinoase ale comutaţiei

de pachete Ele reprezintă obstacole icircn special icircn calea oferirii serviciilor de timp real cum ar

fi telefonia

Icircn schimb icircn cazul transmisiilor de date avantajul bunei administrări a resurselor

prevalează De exemplu icircn cazul particular al interfeţei radio GSM cacircnd o staţie mobilă (MS)

generează un pachet de date reţeaua icircl va transmite pe un canal radio disponibil icircn 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 Proiect de diplomă SECTIA CALCULATOARE

transmis sau dacă nu alteia Icircn acest mod atacircta timp cacirct cineva are ceva de transmis

canalele radio nu sunt blocate inutil Lucrul icircn mod pachet are o eficienţă cu totul deosebită icircn

cazul unui trafic de date icircn 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 Atacirct HSCSD cacirct şi GPRS icircş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 icircn rafale fără pretenţii de timp real Diferenţa

fundamentală icircntre HSCSD şi GPRS este că acesta din urmă valorifică aceste resurse icircntr-un

mod mult mai eficient deoarece utilizează comutaţia de pachete Icircn plus costul serviciilor

oferite este mai atractiv deoarece utilizatorul plăteşte volumul de date transferat Practic dacă

doreşte utilizatorul poate fi sbquoconectatrsquo la reţeaua de date icircn permanenţă fiind taxat doar

pentru timpul icircn care efectiv utilizează resursele reţelei adică pentru pachetele de date

recepţionate respectiv transmise

243 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 Icircn general orice tip de aplicaţii ce necesită comunicaţii maşină - maşină la debite

mici şi medii sunt adecvate dezvoltării icircn mediul GPRS

Ca şi icircn reţeaua GSM reţelele GPRS pot oferi două categorii de servicii de

telecomunicaţii

servicii de bază

servicii suplimentare

Serviciile de bază GPRS

Acestea sunt icircn principal servicii suport (bearer services) de transport care realizează

transmiterea datelor cu comutaţie de pachete icircntre două interfeţe şi din teleservicii Similar

situaţiei din GSM aceste interfeţe sunt

interfaţa dintre echipamentul terminal de date (de exemplu calculator) şi terminalul

mobil GPRS

24

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

interfaţa dintre reţeaua GPRS şi reţeaua de date sau echipamentul terminal cu care

comunică Aceasta interfaţă este situată icircntr-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 icircn GSM aceste mesaje nu va mai fi icircncă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

servicii punct-la-punct (PTP ndashPoint-to-Point)

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

A Serviciul PTP

Serviciul punct la punct (PTP) [GSM 0260] permite transmiterea de pachete de date

icircntre doi utilizatori Este implementat icircn 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 icircntr-o reţea de date fixă (IP X25) Serviciul PTP poate fi oferit de

asemenea icircntre doi utilizatori mobili GPRS

Serviciul punct-la punct poate fi la racircndul sau de două tipuri

PTP fără conexiune (PTP-CLNS ndash PTP Connectinnless Network Service)

PTP orientat pe conexiune (PTP-CONS ndashPTP Connection Orientated Network

Network Service)

PTP-CLNS este un serviciu de tip datagramă ce utilizează comutaţia de pachete fără

conexiune Este util icircn cazul aplicaţiilor ce generează trafic icircn 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 Icircntre cei doi utilizatori se stabileşte un circuit virtual pentru o perioadă

25

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ce poate varia de la cacircteva secunde la ore Este util atacirct pentru aplicaţii ce generează trafic icircn

rafale cacirct şi pentru aplicaţiile interactive Are că scop asigurarea interoperării cu reţele X25 ş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ă icircn alta dar numai icircn interiorul aceleiaşi reţele GPRS-PLMN La trecerea terminalului

mobil icircntr-o altă reţea sau icircn 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 icircn faza a doua a GPRS O

comunicaţie PTM se stabileşte icircntre un furnizor de servicii (ce poate fi situat icircn afară reţelei

GSM) şi un grup de terminale GPRS Şi serviciul PTM este un serviciu ce se prezintă icircn două

variante

PTMndash multidistribuţie (PTM Multicast)

PTM- grup (PTM-G--PTMGroup)

Serviciul de transport PTM-M permite transmiterea pachetelor de date icircntr-o arie

geografică dată (celulă grup de celule) fără confirmare Receptorii serviciului sunt fie toţi

abonaţii care se găsesc icircn acea zonă fie un grup icircnchis de utilizatori

Icircn 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 icircn anumite zone

geografice Transmisia poate fi şi cu confirmare

Serviciile suplimentare

Printre serviciile suplimentare avute icircn vedere icircntr-un prim stadiu se numără

redirecţionarea necondiţionată a apelurilor redirecţionarea cacircnd abonatul nu este accesibil şi

definirea de grupuri icircnchise de utilizatori In afară de aceste servicii recomandarea GSM

0260 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 Proiect de diplomă SECTIA CALCULATOARE

244 Arhitectura GPRS

GPRS este o soluţie pentru operatori deoarece nu necesită modificări substanţiale icircn

reţeaua GSM Aşa cum se observă icircn figura 72 reţeaua nucleu a GPRS operează icircn paralel

cu GSM-NSS

Figura 23 Arhitectura reţelei GPRS

25 LabWindowsCVI

La dipecer am considerat un calculator desktop sau laptop pe care va rula o aplicaţie

de monitorizare a datelor măsurate implementată icircn LabWindowsCVI

LabWindowsCVI este o platformă pentru dezvoltare de software cu orientare pe

aplicaţii de instrumentaţie După cum se deduce din denumirea sa (CVI ndash 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 Icircmbină 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 Proiect de diplomă SECTIA CALCULATOARE

multiplele lui facilităţi icircl 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

bull Help on-line

bull Selectare şi declarare de variabile sau constante necesare

bull Execuţie interactivă

bull Inserarea funcţiei editate icircntr-un text sursă

Mediul este extrem de flexibil permiţacircnd interfaţarea bidirecţională cu alte compilatoare de

C sau C++ De asemenea se pot folosi şi DLL-uri

Puterea mediului LabWindowsCVI este dată de bibliotecile puse la dispoziţia

programatorului acestea conţinacircnd 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

bull de instrumente

bull pentru interfaţa GPIBGPIB 4882 (General Purpose Interface Bus)

bull pentru achiziţie de date

bull pentru operaţii IO icircn cazul achiziţiei de date

bull pentru interfaţa serială RS232

bull pentru sistemul VXI

Biblioteci specializate pentru analiza datelor

bull pentru IO

bull pentru formatarea specială

bull pentru analiză

bull pentru analiză avansată

Biblioteci specializate pentru vizualizare date

bull pentru crearea unei interfeţe utilizator de tip vizual

Biblioteci specializate pentru lucrul icircn reţea şi comunicarea icircntre diverse aplicaţii

bull pentru DDE (Dynamic Data Exchange)

bull pentru TCP (Transmision Control Protocol)

bull pentru sistemul X de sub Unix

Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

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

bull interfaţa cu utilizatorul

bull partea de control a aplicaţiei

bull partea specializată pentru achiziţia datelor

bull partea specializată icircn analiza respectivelor date

Mai jos prezentăm o schemă generică a aplicaţiilor CVI

Figura 24

Tipuri de fişiere folosite icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a unora dintre meniurile şi ferestrele mediului de dezvoltare CVI

Fereastra proiect

Prezentăm mai jos doar informaţiile suplimentare faţă de o fereastră proiect standard

Pe lacircngă datele curente despre fiecare fişier inclus icircn proiect acesta mai are precizat şi unul

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 icircn fişierul respectiv şi deci trebuie salvat

- C indică obligativitatea compilării respectivului fişier icircnainte de rularea aplicaţiei

- indică faptul că fişierul este deschis icircntr-o fereastră de editare

- indică ca acest fişier nu este deschis

Aplicaţii consolă

Pentru aplicaţiile tip consolă clasice C unde se folosesc pentru IO funcţiile scanf şi

printf vizualizarea ieşirii icircn mod text a acestora se va face icircntr-o fereastră specială numită

ldquoStandard InputOutput Windowrdquo

Observaţie Dacă se va programa icircn acest mod trebuie activată opţiunea ldquoBring Standard

InputOtput to front whenever modifyrdquo 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 cacircnd este activat evenimentele vor fi afişate icircn partea

dreaptă a barei de facilităţi

30

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a cacirctorva din meniurile mai importante ale generatorului

Menu Bars activează cutia de dialog care ne prezintă toate barele de meniu definite deja de

programator

Figura 25

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(fig26) permite specificarea sau modificarea caracteristicilor

unei bare de meniuri icircn curs de creare sau care există deja

31

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 26

Menu Bar Constant Prefix este identificatorul intern al respectivei bare de meniuri Acesta

va fi folosit de funcţia LoadMenuBar pentru icircncărcarea icircn memorie a parametrilor care conţin

această bară Va fi definit automat icircn fişierul header din scheletul de aplicaţie

Item se referă la numele meniului curentsubmeniucomandă de meniu Dacă icircn faţa primei

litere a unui element din meniu se adaugă 2 ldquounderscorerdquo 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 cacircnd 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 Proiect de diplomă SECTIA CALCULATOARE

ModifierKeyShortcutKey se combină pentru a ataşa o cheie ldquohotrdquo pentru elementul

curent

buton ce permite coboracircrea icircn interiorul unei ierarhii de meniuri

buton ce permite urcarea icircn interiorul unei ierarhii de meniuri

Panouri

După cum am spus sunt echivalentul ferestrelor din programarea Windows Pentru a le crea

Create1048774Panel ne pune la dispoziţie un nou panou icircn cadrul UIR-ului curent Prin dublu

ldquoclickrdquo pe acesta se va intra in fereastra de editare a caracteristicilor panoului Această

fereastră este prezentată mai jos

Figura 27

La partea de Menu Bar se poate specifica o bară din cele deja create icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 2: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

dezvoltatorilor de sisteme automatizate reducacircnd timpul de dezvoltare şi costurile necesare

Acesta soluţe se intregrează ideal icircn 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 icircn reţele de senzori bazate pe tehnologii radio (wireless)

de comunicaţie respectiv tehnologii clasice bazate pe interfeţe seriale prin fir (RS-232485)

11 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 icircn realizarea unor astfel de

sisteme constă icircn identificarea celor mai bune soluţii de preluare a datelor caracteristice unui

proces Sistemele per ansamblu sunt ample implicacircnd 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 icircn 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ă icircn special de caracteristile modemului corespunzator RTU-ului

utilizat Icircn 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 icircn functie de cerere şi

actionează stările diferitelor elemente de execuţie icircn funcţie de necestăţtile

instalaţiei proces

Caracteristicile RTU-ului sunt determinante icircn 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

5

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 11 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

icircn special pe partea de funcţionalitate obţinacircndu-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

cacircştigat atat din punct de vedere hardware cacirct şi software La nivel software tot mai multe

RTU-uri pot fi programate icircn diferite medii de programare cum ar fi CC++ Pyton Step 7

sa 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ă

6

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

12 Soluţia propusă

Modemul inteligent (figura12) 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 12 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ţă se gasec mai multe soluţii

Icircn funcţie de specificaţii de sistem se pot alege mai multe solutii de aceea etapa de proiectare

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 icircn 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 ( dispecer ) şi aici o iterfaţă grafică implementată in LabWindowsCVI să

permită vizualizarea informaţiilor recepţionate O schemă general a aplicaţiei este

următoarea

7

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 13

8

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

2Fundamentare teoretică

21 Noţiuni de teoria măsurătorilor

Metrologia este un domeniu al tehnicii cu rădăcini icircn spaţiul Fizicii si ramificaţii icircn

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ă ndash

valorică a marimilor fizice Metrologia ndash ca disciplină de sine stătătoare ndash se referă la icircntregul

ansamblu al fenomenelor fizice pe care le studiaza dintr-un punct de vedere propriu şi anume

acela al masurării care este ndash icircn esenţă ndash o comparare experimentală de mărimi ea

stabilind standardele unităţilor de masură şi ale etaloanelor de referinţă pentru aceste unităţi

procedeele de comparare a mărimilor cu etaloanele şi caracteristicile de performanţă (ca

interval game rezoluţie sensibilitate fidelitate dinamică mobilitate precizie etc care ndash icircn

general ndash se numesc caracteristici metrologice) Aplicaţiile metrologiei adică 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

211 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 ndash mai general ndash ale

unui sistem şi redarea lor icircntr-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ă icircn procesul continuu de cunoaştere comunicare şi conducere (decizie) Prin

identificarea proceselor şi modelarea lor (adică prin reprezentarea matematică a relaţiilor din

sistemul analizat) se stabilesc anumite proprietăţi (elemente specifice) diferite calitativ pe

care le putem denumi mărimi (sau specii de mărimi ndash pentru a le preciza natura lor diferită) si

anumite corelaţii icircntre ele descrise matematic prin legi ndash dacă sunt deduse experimental sau

9

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

prin teoreme formule etc ndash daca sunt stabilite deductiv din legi Icircn acest sens după cum se

ştie mărimile (speciile de mărimi) se diferenţiază (clasifică) icircn mărimi primitive şi mărimi

derivate Cunoaşterea sistemului (stărilor sistemului icircn evoluţia lui) icircn 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 decacirct experimental (ldquope viurdquo si icircn ldquotimp realrdquo) prin măsurări

ceea ce explică rolul cognitiv de comunicare si decizional (mai cuprinzator informaţional) al

măsurărilor

Icircn acest context mai trebuie precizat ca utilizatorul (observatorul) ndash adică

ldquobeneficiarulrdquo icircn activitatea de măsurare ndash poate fi uman sau de tip maşină (icircn cazul

sistemelor automate) Determinarea cantitativă prin măsurare a speciilor de mărimi diferite

calitativ nu se poate realiza decacirct icircn raport cu mărimi de aceeaşi specie (aceeaşi natura fizica)

alese ca unităţi cantitative numite unităţi de măsură fixate icircn mod convenţional dar icircn 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 ldquoeste operaţia prin care se stabileşte pe cale experimentală raportul

numeric icircntre mărimea de măsurat si o valoare (ldquocantitaterdquo) oarecare a acesteia luată ca

unitate de măsurărdquo

Din punctul de vedere tehnic ldquomăsurarea este operaţia experimentală prin care se

determină cu ajutorul unor mijloace de măsurat valoarea numerică a unei mărimi (numită

masurand) icircn raport cu o unitate de măsură datărdquo 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 ndash mai rar ndash R2 (altfel

spus se stabileşte o relaţie icircntre valoarea unei marimi X si un numar real Xm R)

212 Procesul de masurare

Ansamblul operaţiilor experimentale care se execută icircn scopul obţinerii rezultatului

măsurării sub forma unei percepţii realizată de observatorul-utilizator (operatorul ce

efectuează măsurarea) constituie procesul de măsurare Orice proces de măsurare are

urmatoarele componente principale

- mărimea de măsurat (măsurandul)

- metoda de măsurare

- mijlocul (aparatul) de măsurat

10

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

- măsura (etalonul)

- operatorul (observatorul) şi

- prelucrarea ndash tratarea datelor

care ndash icircn funcţie de domeniul precizia şi scopul măsurării ndash 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 ndash beneficiar al măsurarii (exigenţe destul de nuanţate icircn 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 icircn general

Un exemplu particular al acestei mari varietaţi o constituie icircnseşi măsurarile

electronice (care au ca măsurand specii diverse cum sunt mărimile de stare ale cacircmpului

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)

213 Erori de măsurare

Icircn practică se constată că rezultatul unei măsurări nu depinde numai de valoarea

măsurandului el putacircnd 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 icircn procesul de măsurare se definesc

urmatoarele valori

Valoarea adevarată (reala) Xa a unei mărimi este valoarea exacta a mărimii

respective icircn condiţiile existenţe la un moment dat De obicei valoarea adevarată a unei

mărimi nu poate fi determinată experimental ea icircnlocuindu-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

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ţă de valoarea

adevarată a măsurandului constituie eroarea de măsurare

Intervalul icircn care se estimează cu o anumita probabilitate numită nivel de icircncredere

ca se afla valoarea adevarată a măsurandului se numeste incertitudine de măsurare

11

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

incertitudinea de măsurare estimează limitele erorilor de măsurare Pentru o estimare

obiectivă este necesar ca icircmpreună cu rezultatul măsurarii să se specifice atacirct erorile cacirct şi

incertitudinea de măsurare Icircn figura 21 sunt reprezentate schematic noţiunile prezentate

anterior

Figura 21

Fig 11 Explicativă privind valoarea adevarată valoarea măsurată

valoarea convenţional adevarată eroarea de măsurare şi incertitudinea

de măsurare

214Clasificarea erorilor de măsură

Deoarece cauzele erorilor de măsurare sunt numeroase există şi multe criteri de

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

următoare

Figura 22

12

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

215 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 Icircn

afara acestor două roluri prin care se ldquodefineşterdquo o unitate de măsura etaloanele mai sunt

utilizate icircn operaţiile de calibrare şi icircn icircnsuşi procesul de măsurare (de icircnaltă precizie) ca

elemente de referinţă precum şi icircn construcţia unor aparate (dispozitive) utilizate icircn alte

scopuri decacirct mşsurarea propriu-zisa (ca de exemplu dispozitive de automatizare

stabilizatoare electronice generatoare de semnal etc)

Calibrarea icircnseamnă ndash icircn metrologie ndash compararea unui aparat de măsurat cu un

etalon icircn scopul gradării sau ajustării verificării sau etalonării aparatului de masurat

Elementul de referinţă este un etalon care asigură (ldquofurnizeazardquo) o mărime fizică anume cu

o valoare bine cunoscută (cu o precizie metrologică corespunzatoare scopului urmarit)

Un etalon trebuie să fie invariabil icircn timp şi icircn spaţiu să poata fi folosit usor icircn tehnică

şi să poată fi reconstituit oricacircnd Unicitatea şi conformitatea măsurărilor icircn orice loc şi la

orice moment impun realizarea unui sistem de etaloane care să

asigure

- generarea principalelor unităti de măsură icircn conformitate cu definiţiile lor din SI

(adică ldquomaterializarea ldquo definiţiilor prin experimente adecvate)

- menţinerea (conservarea) acestor unităţi de măsură constante icircn timp icircn toate

laboratoarele metrologice pe plan mondial

- corelarea icircntre 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 icircn activitatea metrologică se efectuează icircn

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 icircn principal cele fundamentale aşa cum este ndash de exemplu ndash determinarea absolută

a amperului cu ajutorul balanţei de curent)

- etaloane de conservare (adică etaloanele de menţinere a unităţii de măsură cu o mare

stabilitate icircn timp şi faţă de influenţele exterioare de mediu)

- etaloanele de transfer (adica cele care asigura etalonarea tuturor tipurilor

13

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

de aparate de masurat icircn intervale largi de valori ale masurandului pentru marimi constante

sau variabile icircn timp) asa cum sunt etaloanele de raport etaloanele de derivare si etaloanele

de transfer (curent continuu ndash curent alternativ) prin compararea efectelor (termice

electrodinamice etc) ale semnalelor de curent sau tensiune produse asupra unui acelaşi

element sensibil

22 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ţă şi aplicaţiile la care sunt conectate De fapt M2M este o

evoluţie comercială a tradiţionalelor sisteme de control al echipamentelor din domeniul

industrial soluţie aplicată cu succes pentru prima dată de NASA Adaptată nevoilor

companiilor (un rol important l-a jucat compania France Telecom) M2M permite companiilor

sa administreze mai uşor echipamentele aflate la distanţă si să le integreze cu procesele

interne

Zona soluţiilor M2M este cotată ca fiind una dintre cele mai promiţătoare in

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 Proiect de diplomă SECTIA CALCULATOARE

23 Limbajul Python

Icircn cadrul unei instalaţii de telemetrie modemurile deţin memorie şi processor propriu

motiv pentru care se numesc ldquointeligenterdquo Pe lacircngă memorie şi processor aceste modemuri

inteligente au şi un interpretor al unui limbaj de programare de nivel icircnalt Icircn 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 cacircteva zile

231 Tipuri de date

Sunt 3 grupuri de tipuri de date in Python

Scalari ndash 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ă icircn Python

a = 7 7 (integer)

a = str(2a) + bytes 7 bytes (string)

15

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Icircn Python variabilele nu sunt declarate icircn script ele apar doar atunci cand sunt folosite

232 Operatori

Icircn Python există următorii operatori

Operatori aritmetici

+ - ~ ltlt gtgt amp ^ |

Operatori relaţionali şi logici

is in lt lt= gt gt= == = not and or

Operatori de asignare

= += -= = = = = ltlt= gtgt= amp= ^= |=

Alţi operatori

( ) [ ] [] `` lambda

233 Comenzi compuse

Comenzile care aparţin aceluiaşi grup logic sunt deplasate spre dreapta cu acelaş

număr de spaţii albe

if a gt 0

b = 1

c = 2

De obicei fiecare comandă icircncepe pe o linie nouă

16

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

O instrucţiune se poate continua pe racircndul următor prin plasarea caracterului backslash

la sfacircrsitul randului Acest lucru nu este necesar dacă există paranteze deschise

my_list = [1

[abc 2]

-3+6j]

print my_list

234 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 gt b

print a is greater than b

elif a lt b

print a is lower than b

else

print a equals b

Se poate folosi si interval prescurtate de testare

if 2 lt= a lt= 7

print a is in the interval [2 7]

235 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ăacirc

numbers = [ ]

i = 0

while i lt 100

17

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

numbersappend(i)

i = i + 1

O buclă similar for arată in felul următor

numbers = [ ]

for i in range(100)

numbersappend(i)

Icircn 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

24 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

- GSMGPRS

- Fibră Optică

Opţiunea pentru care am optat icircn partea de comunicaţie este GSMGPRS 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ămacircne

comutat prin MSC

Datele sunt transmise prin GPRS icircn 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 Proiect de diplomă SECTIA CALCULATOARE

dată de introducerea codării adaptive a canalului Aceasta icircnseamnă că protecţia datelor

variază icircn timp icircn funcţie de starea canalului radio GPRS poate utiliza pentru o conexiune

de date de la fracţiuni de canale de trafic pacircnă la maximum 8 sloturi temporale (adică tot

cadrul TDMA) icircn funcţie de resursele disponibile

Capacitatea alocată unei conexiuni va varia icircn funcţie de icircncărcarea cu trafic de pe

frecvenţa respectivă precum şi de tipul traficului (vocedate) Este important că utilizacircnd

comutaţia de pachete o transmisie de date nu ocupă resursele reţelei decacirct atunci cacircnd sunt

date de transmis Cacircnd 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ă icircn paralel cu subsistemul reţea şi comutaţie (NSS) al GSM care va

gestiona icircn continuare transmisia cu comutaţie de circuite

241 Caracteristicile sistemului GPRS

GPRS este un serviciu specificat icircn faza 2+ de standardizare a GSM El este oferit prin

intermediul unei infrastructuri numită şi sistem sau reţea GPRS ce interoperează cu

infrastructura bdquoclasicărdquo GSM

GPRS se icircncadrează icircn orientarea generală a ETSI de a asigura prin aza 2+ o platformă

ce va putea fi utilizată ulterior icircn reţele de generaţia a treia Astfel el este onsiderat

actualmente soluţia de bază pentru transmiterea de date icircn 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ă (25G)

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ă icircn acest moment (atacirct la

25G cacirct şi icircn 3G) doar la transmiterea datelor vocea rămacircnacircnd icircn continuare comutată prin

MSC Datorită eternei insuficienţe a resurselor radio este probabil ca icircntr-o fază nu prea

icircndepă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

Icircn concluzie GPRS reprezintă o infrastructura ce permite transmiterea datelor pe baza

comutaţiei de pachete icircntr-o reţea GSM

19

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Pentru a putea oferi debite de date mai ridicate icircn GPRS se urmăreşte utilizarea cacirct

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 Icircn ciuda acestor asemănări icircnlocuirea comutaţiei de circuite cu cea de

pachete face din GPRS un sistem complet diferit de HSCSD Aceasta atacirct 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)

Rezumacircnd icircn 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ă atacirct din experienţa

sistemelor anterioare cacirct şi mai ales din operarea icircn modul pachet a datelor ce se transmit

Soluţiile utilizate sunt

creşterea ratei de transmisie a datelor prin reducerea codării canalului (sunt definite

şi pot

fi utilizate 4 scheme de codare 905kbps 134 kbps 156 kbps 214kbps)

creşterea ratei de transmisie prin operare multislot ( pacircnă 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ă uplinkdownlink

creşterea eficienţei utilizării resurselor radio prin alocarea dinamică a canalelor icircntre

servicii comutate icircn mod circuit respectiv pachet

Cacircnd un icircntreg cadru TDMA este alocat unui utilizator cu schema de protecţie minimă

(practic fără corecţie de erori) rezultă rata utilă instantanee maximă posibilă icircn GPRS

(8x214 kbps=1712 kbps)

242 Comutaţie de circuite şi comutaţie de pachete

20

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comutaţia este o tehnică esenţială icircn 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

comutaţia de circuite

comutaţia de mesaje

comutaţia de pachete

Comutaţia de circuite

Aceasta presupune realizarea icircntre emiţător şi receptor a unei căi fizice de comutaţie

dedicate numită circuit Icircntreaga comunicaţie se desfăşoară icircn trei etape

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 icircnainte de

icircnceperea 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

asigurarea unei icircntacircrzieri constante şi minime

garantarea unui debit util corespunzător mediului de comunicaţie şi serviciului utilizat

Toate acestea facilitează oferirea serviciilor de timp real (telefonie videofonie alte

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 icircn cazul HSCSD) unei staţii mobile

(MS) Acest canal rămacircne icircn posesia terminalului mobil pe toata durata conexiunii chiar dacă

transferul de date este discontinuu (icircn rafale) sau chiar icircncetează cu desăvacircrşire (de exemplu

21

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

cacircnd utilizatorul citeşte cu atenţie cinci minute o pagină WEB după care lămurit pe deplin

icircntrerupe legătura) Ca o particularizare binecunoscută a reţelelor cu comutaţie de circuite

trebuie menţionat că utilizatorul trebuie să plătească pentru icircntreaga 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 icircntre emiţător şi receptor

Informaţia ce urmează a fi transmisă formează o entitate bine precizată numita mesaj

Mesajele sunt complet independente unele faţă 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 icircl

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 icircntacircrzierea icircn 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 icircn

general rezultatul divizării mesajelor icircn 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)

Icircn cazul comutaţiei de pachete fără conexiune pachetele (numite şi datagrame) se transmit

independent icircn cel mai pur spirit al comutaţiei de mesaje urmacircnd rute posibil diferite

Sosirea lor la destinaţie poate avea loc icircntr-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 Proiect de diplomă SECTIA CALCULATOARE

suplimentară din fiecare pachet privitoare la mesajul din care face parte şi locul pe care icircl

ocupa icircn el Exemplul tipic de reţea care utilizează comutaţia de pachete este internetul

BComutaţia de pachete orientată pe conexiune (sau circuit virtual)

Icircn cazul comutaţiei de pachete orientată pe conexiune (sau circuit virtual) comunicarea

icircntre 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 icircnseamnă 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 icircntreaga cale La stabilirea circuitului

virtual fiecare comutator (router) trebuie să memoreze icircn tabela de dirijare care este

succesorul său icircn 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 Avacircnd memorat nodul succesor icircn fiecare dintre circuitele virtuale icircn care este

implicat comutatorul va identifica circuitul asociat pachetului şi icircl va transmite pe acesta pe

linia de ieşire corespunzătoare Tehnica circuitului virtual garantează livrarea icircn ordine a

pachetelor la destinaţie Exemple marcante de reţele ce utilizează comutaţia de pachete de tip

circuit virtual sunt X25 ş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ă icircn 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) icircn cazul unui trafic crescut la intrare Pierderea pachetelor garantarea unei

icircntacircrzieri maxime şi a unui debit utilizator constant sunt problemele spinoase ale comutaţiei

de pachete Ele reprezintă obstacole icircn special icircn calea oferirii serviciilor de timp real cum ar

fi telefonia

Icircn schimb icircn cazul transmisiilor de date avantajul bunei administrări a resurselor

prevalează De exemplu icircn cazul particular al interfeţei radio GSM cacircnd o staţie mobilă (MS)

generează un pachet de date reţeaua icircl va transmite pe un canal radio disponibil icircn 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 Proiect de diplomă SECTIA CALCULATOARE

transmis sau dacă nu alteia Icircn acest mod atacircta timp cacirct cineva are ceva de transmis

canalele radio nu sunt blocate inutil Lucrul icircn mod pachet are o eficienţă cu totul deosebită icircn

cazul unui trafic de date icircn 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 Atacirct HSCSD cacirct şi GPRS icircş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 icircn rafale fără pretenţii de timp real Diferenţa

fundamentală icircntre HSCSD şi GPRS este că acesta din urmă valorifică aceste resurse icircntr-un

mod mult mai eficient deoarece utilizează comutaţia de pachete Icircn plus costul serviciilor

oferite este mai atractiv deoarece utilizatorul plăteşte volumul de date transferat Practic dacă

doreşte utilizatorul poate fi sbquoconectatrsquo la reţeaua de date icircn permanenţă fiind taxat doar

pentru timpul icircn care efectiv utilizează resursele reţelei adică pentru pachetele de date

recepţionate respectiv transmise

243 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 Icircn general orice tip de aplicaţii ce necesită comunicaţii maşină - maşină la debite

mici şi medii sunt adecvate dezvoltării icircn mediul GPRS

Ca şi icircn reţeaua GSM reţelele GPRS pot oferi două categorii de servicii de

telecomunicaţii

servicii de bază

servicii suplimentare

Serviciile de bază GPRS

Acestea sunt icircn principal servicii suport (bearer services) de transport care realizează

transmiterea datelor cu comutaţie de pachete icircntre două interfeţe şi din teleservicii Similar

situaţiei din GSM aceste interfeţe sunt

interfaţa dintre echipamentul terminal de date (de exemplu calculator) şi terminalul

mobil GPRS

24

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

interfaţa dintre reţeaua GPRS şi reţeaua de date sau echipamentul terminal cu care

comunică Aceasta interfaţă este situată icircntr-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 icircn GSM aceste mesaje nu va mai fi icircncă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

servicii punct-la-punct (PTP ndashPoint-to-Point)

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

A Serviciul PTP

Serviciul punct la punct (PTP) [GSM 0260] permite transmiterea de pachete de date

icircntre doi utilizatori Este implementat icircn 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 icircntr-o reţea de date fixă (IP X25) Serviciul PTP poate fi oferit de

asemenea icircntre doi utilizatori mobili GPRS

Serviciul punct-la punct poate fi la racircndul sau de două tipuri

PTP fără conexiune (PTP-CLNS ndash PTP Connectinnless Network Service)

PTP orientat pe conexiune (PTP-CONS ndashPTP Connection Orientated Network

Network Service)

PTP-CLNS este un serviciu de tip datagramă ce utilizează comutaţia de pachete fără

conexiune Este util icircn cazul aplicaţiilor ce generează trafic icircn 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 Icircntre cei doi utilizatori se stabileşte un circuit virtual pentru o perioadă

25

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ce poate varia de la cacircteva secunde la ore Este util atacirct pentru aplicaţii ce generează trafic icircn

rafale cacirct şi pentru aplicaţiile interactive Are că scop asigurarea interoperării cu reţele X25 ş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ă icircn alta dar numai icircn interiorul aceleiaşi reţele GPRS-PLMN La trecerea terminalului

mobil icircntr-o altă reţea sau icircn 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 icircn faza a doua a GPRS O

comunicaţie PTM se stabileşte icircntre un furnizor de servicii (ce poate fi situat icircn afară reţelei

GSM) şi un grup de terminale GPRS Şi serviciul PTM este un serviciu ce se prezintă icircn două

variante

PTMndash multidistribuţie (PTM Multicast)

PTM- grup (PTM-G--PTMGroup)

Serviciul de transport PTM-M permite transmiterea pachetelor de date icircntr-o arie

geografică dată (celulă grup de celule) fără confirmare Receptorii serviciului sunt fie toţi

abonaţii care se găsesc icircn acea zonă fie un grup icircnchis de utilizatori

Icircn 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 icircn anumite zone

geografice Transmisia poate fi şi cu confirmare

Serviciile suplimentare

Printre serviciile suplimentare avute icircn vedere icircntr-un prim stadiu se numără

redirecţionarea necondiţionată a apelurilor redirecţionarea cacircnd abonatul nu este accesibil şi

definirea de grupuri icircnchise de utilizatori In afară de aceste servicii recomandarea GSM

0260 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 Proiect de diplomă SECTIA CALCULATOARE

244 Arhitectura GPRS

GPRS este o soluţie pentru operatori deoarece nu necesită modificări substanţiale icircn

reţeaua GSM Aşa cum se observă icircn figura 72 reţeaua nucleu a GPRS operează icircn paralel

cu GSM-NSS

Figura 23 Arhitectura reţelei GPRS

25 LabWindowsCVI

La dipecer am considerat un calculator desktop sau laptop pe care va rula o aplicaţie

de monitorizare a datelor măsurate implementată icircn LabWindowsCVI

LabWindowsCVI este o platformă pentru dezvoltare de software cu orientare pe

aplicaţii de instrumentaţie După cum se deduce din denumirea sa (CVI ndash 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 Icircmbină 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 Proiect de diplomă SECTIA CALCULATOARE

multiplele lui facilităţi icircl 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

bull Help on-line

bull Selectare şi declarare de variabile sau constante necesare

bull Execuţie interactivă

bull Inserarea funcţiei editate icircntr-un text sursă

Mediul este extrem de flexibil permiţacircnd interfaţarea bidirecţională cu alte compilatoare de

C sau C++ De asemenea se pot folosi şi DLL-uri

Puterea mediului LabWindowsCVI este dată de bibliotecile puse la dispoziţia

programatorului acestea conţinacircnd 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

bull de instrumente

bull pentru interfaţa GPIBGPIB 4882 (General Purpose Interface Bus)

bull pentru achiziţie de date

bull pentru operaţii IO icircn cazul achiziţiei de date

bull pentru interfaţa serială RS232

bull pentru sistemul VXI

Biblioteci specializate pentru analiza datelor

bull pentru IO

bull pentru formatarea specială

bull pentru analiză

bull pentru analiză avansată

Biblioteci specializate pentru vizualizare date

bull pentru crearea unei interfeţe utilizator de tip vizual

Biblioteci specializate pentru lucrul icircn reţea şi comunicarea icircntre diverse aplicaţii

bull pentru DDE (Dynamic Data Exchange)

bull pentru TCP (Transmision Control Protocol)

bull pentru sistemul X de sub Unix

Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

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

bull interfaţa cu utilizatorul

bull partea de control a aplicaţiei

bull partea specializată pentru achiziţia datelor

bull partea specializată icircn analiza respectivelor date

Mai jos prezentăm o schemă generică a aplicaţiilor CVI

Figura 24

Tipuri de fişiere folosite icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a unora dintre meniurile şi ferestrele mediului de dezvoltare CVI

Fereastra proiect

Prezentăm mai jos doar informaţiile suplimentare faţă de o fereastră proiect standard

Pe lacircngă datele curente despre fiecare fişier inclus icircn proiect acesta mai are precizat şi unul

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 icircn fişierul respectiv şi deci trebuie salvat

- C indică obligativitatea compilării respectivului fişier icircnainte de rularea aplicaţiei

- indică faptul că fişierul este deschis icircntr-o fereastră de editare

- indică ca acest fişier nu este deschis

Aplicaţii consolă

Pentru aplicaţiile tip consolă clasice C unde se folosesc pentru IO funcţiile scanf şi

printf vizualizarea ieşirii icircn mod text a acestora se va face icircntr-o fereastră specială numită

ldquoStandard InputOutput Windowrdquo

Observaţie Dacă se va programa icircn acest mod trebuie activată opţiunea ldquoBring Standard

InputOtput to front whenever modifyrdquo 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 cacircnd este activat evenimentele vor fi afişate icircn partea

dreaptă a barei de facilităţi

30

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a cacirctorva din meniurile mai importante ale generatorului

Menu Bars activează cutia de dialog care ne prezintă toate barele de meniu definite deja de

programator

Figura 25

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(fig26) permite specificarea sau modificarea caracteristicilor

unei bare de meniuri icircn curs de creare sau care există deja

31

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 26

Menu Bar Constant Prefix este identificatorul intern al respectivei bare de meniuri Acesta

va fi folosit de funcţia LoadMenuBar pentru icircncărcarea icircn memorie a parametrilor care conţin

această bară Va fi definit automat icircn fişierul header din scheletul de aplicaţie

Item se referă la numele meniului curentsubmeniucomandă de meniu Dacă icircn faţa primei

litere a unui element din meniu se adaugă 2 ldquounderscorerdquo 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 cacircnd 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 Proiect de diplomă SECTIA CALCULATOARE

ModifierKeyShortcutKey se combină pentru a ataşa o cheie ldquohotrdquo pentru elementul

curent

buton ce permite coboracircrea icircn interiorul unei ierarhii de meniuri

buton ce permite urcarea icircn interiorul unei ierarhii de meniuri

Panouri

După cum am spus sunt echivalentul ferestrelor din programarea Windows Pentru a le crea

Create1048774Panel ne pune la dispoziţie un nou panou icircn cadrul UIR-ului curent Prin dublu

ldquoclickrdquo pe acesta se va intra in fereastra de editare a caracteristicilor panoului Această

fereastră este prezentată mai jos

Figura 27

La partea de Menu Bar se poate specifica o bară din cele deja create icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 3: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 11 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

icircn special pe partea de funcţionalitate obţinacircndu-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

cacircştigat atat din punct de vedere hardware cacirct şi software La nivel software tot mai multe

RTU-uri pot fi programate icircn diferite medii de programare cum ar fi CC++ Pyton Step 7

sa 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ă

6

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

12 Soluţia propusă

Modemul inteligent (figura12) 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 12 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ţă se gasec mai multe soluţii

Icircn funcţie de specificaţii de sistem se pot alege mai multe solutii de aceea etapa de proiectare

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 icircn 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 ( dispecer ) şi aici o iterfaţă grafică implementată in LabWindowsCVI să

permită vizualizarea informaţiilor recepţionate O schemă general a aplicaţiei este

următoarea

7

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 13

8

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

2Fundamentare teoretică

21 Noţiuni de teoria măsurătorilor

Metrologia este un domeniu al tehnicii cu rădăcini icircn spaţiul Fizicii si ramificaţii icircn

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ă ndash

valorică a marimilor fizice Metrologia ndash ca disciplină de sine stătătoare ndash se referă la icircntregul

ansamblu al fenomenelor fizice pe care le studiaza dintr-un punct de vedere propriu şi anume

acela al masurării care este ndash icircn esenţă ndash o comparare experimentală de mărimi ea

stabilind standardele unităţilor de masură şi ale etaloanelor de referinţă pentru aceste unităţi

procedeele de comparare a mărimilor cu etaloanele şi caracteristicile de performanţă (ca

interval game rezoluţie sensibilitate fidelitate dinamică mobilitate precizie etc care ndash icircn

general ndash se numesc caracteristici metrologice) Aplicaţiile metrologiei adică 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

211 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 ndash mai general ndash ale

unui sistem şi redarea lor icircntr-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ă icircn procesul continuu de cunoaştere comunicare şi conducere (decizie) Prin

identificarea proceselor şi modelarea lor (adică prin reprezentarea matematică a relaţiilor din

sistemul analizat) se stabilesc anumite proprietăţi (elemente specifice) diferite calitativ pe

care le putem denumi mărimi (sau specii de mărimi ndash pentru a le preciza natura lor diferită) si

anumite corelaţii icircntre ele descrise matematic prin legi ndash dacă sunt deduse experimental sau

9

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

prin teoreme formule etc ndash daca sunt stabilite deductiv din legi Icircn acest sens după cum se

ştie mărimile (speciile de mărimi) se diferenţiază (clasifică) icircn mărimi primitive şi mărimi

derivate Cunoaşterea sistemului (stărilor sistemului icircn evoluţia lui) icircn 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 decacirct experimental (ldquope viurdquo si icircn ldquotimp realrdquo) prin măsurări

ceea ce explică rolul cognitiv de comunicare si decizional (mai cuprinzator informaţional) al

măsurărilor

Icircn acest context mai trebuie precizat ca utilizatorul (observatorul) ndash adică

ldquobeneficiarulrdquo icircn activitatea de măsurare ndash poate fi uman sau de tip maşină (icircn cazul

sistemelor automate) Determinarea cantitativă prin măsurare a speciilor de mărimi diferite

calitativ nu se poate realiza decacirct icircn raport cu mărimi de aceeaşi specie (aceeaşi natura fizica)

alese ca unităţi cantitative numite unităţi de măsură fixate icircn mod convenţional dar icircn 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 ldquoeste operaţia prin care se stabileşte pe cale experimentală raportul

numeric icircntre mărimea de măsurat si o valoare (ldquocantitaterdquo) oarecare a acesteia luată ca

unitate de măsurărdquo

Din punctul de vedere tehnic ldquomăsurarea este operaţia experimentală prin care se

determină cu ajutorul unor mijloace de măsurat valoarea numerică a unei mărimi (numită

masurand) icircn raport cu o unitate de măsură datărdquo 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 ndash mai rar ndash R2 (altfel

spus se stabileşte o relaţie icircntre valoarea unei marimi X si un numar real Xm R)

212 Procesul de masurare

Ansamblul operaţiilor experimentale care se execută icircn scopul obţinerii rezultatului

măsurării sub forma unei percepţii realizată de observatorul-utilizator (operatorul ce

efectuează măsurarea) constituie procesul de măsurare Orice proces de măsurare are

urmatoarele componente principale

- mărimea de măsurat (măsurandul)

- metoda de măsurare

- mijlocul (aparatul) de măsurat

10

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

- măsura (etalonul)

- operatorul (observatorul) şi

- prelucrarea ndash tratarea datelor

care ndash icircn funcţie de domeniul precizia şi scopul măsurării ndash 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 ndash beneficiar al măsurarii (exigenţe destul de nuanţate icircn 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 icircn general

Un exemplu particular al acestei mari varietaţi o constituie icircnseşi măsurarile

electronice (care au ca măsurand specii diverse cum sunt mărimile de stare ale cacircmpului

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)

213 Erori de măsurare

Icircn practică se constată că rezultatul unei măsurări nu depinde numai de valoarea

măsurandului el putacircnd 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 icircn procesul de măsurare se definesc

urmatoarele valori

Valoarea adevarată (reala) Xa a unei mărimi este valoarea exacta a mărimii

respective icircn condiţiile existenţe la un moment dat De obicei valoarea adevarată a unei

mărimi nu poate fi determinată experimental ea icircnlocuindu-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

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ţă de valoarea

adevarată a măsurandului constituie eroarea de măsurare

Intervalul icircn care se estimează cu o anumita probabilitate numită nivel de icircncredere

ca se afla valoarea adevarată a măsurandului se numeste incertitudine de măsurare

11

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

incertitudinea de măsurare estimează limitele erorilor de măsurare Pentru o estimare

obiectivă este necesar ca icircmpreună cu rezultatul măsurarii să se specifice atacirct erorile cacirct şi

incertitudinea de măsurare Icircn figura 21 sunt reprezentate schematic noţiunile prezentate

anterior

Figura 21

Fig 11 Explicativă privind valoarea adevarată valoarea măsurată

valoarea convenţional adevarată eroarea de măsurare şi incertitudinea

de măsurare

214Clasificarea erorilor de măsură

Deoarece cauzele erorilor de măsurare sunt numeroase există şi multe criteri de

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

următoare

Figura 22

12

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

215 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 Icircn

afara acestor două roluri prin care se ldquodefineşterdquo o unitate de măsura etaloanele mai sunt

utilizate icircn operaţiile de calibrare şi icircn icircnsuşi procesul de măsurare (de icircnaltă precizie) ca

elemente de referinţă precum şi icircn construcţia unor aparate (dispozitive) utilizate icircn alte

scopuri decacirct mşsurarea propriu-zisa (ca de exemplu dispozitive de automatizare

stabilizatoare electronice generatoare de semnal etc)

Calibrarea icircnseamnă ndash icircn metrologie ndash compararea unui aparat de măsurat cu un

etalon icircn scopul gradării sau ajustării verificării sau etalonării aparatului de masurat

Elementul de referinţă este un etalon care asigură (ldquofurnizeazardquo) o mărime fizică anume cu

o valoare bine cunoscută (cu o precizie metrologică corespunzatoare scopului urmarit)

Un etalon trebuie să fie invariabil icircn timp şi icircn spaţiu să poata fi folosit usor icircn tehnică

şi să poată fi reconstituit oricacircnd Unicitatea şi conformitatea măsurărilor icircn orice loc şi la

orice moment impun realizarea unui sistem de etaloane care să

asigure

- generarea principalelor unităti de măsură icircn conformitate cu definiţiile lor din SI

(adică ldquomaterializarea ldquo definiţiilor prin experimente adecvate)

- menţinerea (conservarea) acestor unităţi de măsură constante icircn timp icircn toate

laboratoarele metrologice pe plan mondial

- corelarea icircntre 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 icircn activitatea metrologică se efectuează icircn

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 icircn principal cele fundamentale aşa cum este ndash de exemplu ndash determinarea absolută

a amperului cu ajutorul balanţei de curent)

- etaloane de conservare (adică etaloanele de menţinere a unităţii de măsură cu o mare

stabilitate icircn timp şi faţă de influenţele exterioare de mediu)

- etaloanele de transfer (adica cele care asigura etalonarea tuturor tipurilor

13

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

de aparate de masurat icircn intervale largi de valori ale masurandului pentru marimi constante

sau variabile icircn timp) asa cum sunt etaloanele de raport etaloanele de derivare si etaloanele

de transfer (curent continuu ndash curent alternativ) prin compararea efectelor (termice

electrodinamice etc) ale semnalelor de curent sau tensiune produse asupra unui acelaşi

element sensibil

22 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ţă şi aplicaţiile la care sunt conectate De fapt M2M este o

evoluţie comercială a tradiţionalelor sisteme de control al echipamentelor din domeniul

industrial soluţie aplicată cu succes pentru prima dată de NASA Adaptată nevoilor

companiilor (un rol important l-a jucat compania France Telecom) M2M permite companiilor

sa administreze mai uşor echipamentele aflate la distanţă si să le integreze cu procesele

interne

Zona soluţiilor M2M este cotată ca fiind una dintre cele mai promiţătoare in

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 Proiect de diplomă SECTIA CALCULATOARE

23 Limbajul Python

Icircn cadrul unei instalaţii de telemetrie modemurile deţin memorie şi processor propriu

motiv pentru care se numesc ldquointeligenterdquo Pe lacircngă memorie şi processor aceste modemuri

inteligente au şi un interpretor al unui limbaj de programare de nivel icircnalt Icircn 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 cacircteva zile

231 Tipuri de date

Sunt 3 grupuri de tipuri de date in Python

Scalari ndash 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ă icircn Python

a = 7 7 (integer)

a = str(2a) + bytes 7 bytes (string)

15

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Icircn Python variabilele nu sunt declarate icircn script ele apar doar atunci cand sunt folosite

232 Operatori

Icircn Python există următorii operatori

Operatori aritmetici

+ - ~ ltlt gtgt amp ^ |

Operatori relaţionali şi logici

is in lt lt= gt gt= == = not and or

Operatori de asignare

= += -= = = = = ltlt= gtgt= amp= ^= |=

Alţi operatori

( ) [ ] [] `` lambda

233 Comenzi compuse

Comenzile care aparţin aceluiaşi grup logic sunt deplasate spre dreapta cu acelaş

număr de spaţii albe

if a gt 0

b = 1

c = 2

De obicei fiecare comandă icircncepe pe o linie nouă

16

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

O instrucţiune se poate continua pe racircndul următor prin plasarea caracterului backslash

la sfacircrsitul randului Acest lucru nu este necesar dacă există paranteze deschise

my_list = [1

[abc 2]

-3+6j]

print my_list

234 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 gt b

print a is greater than b

elif a lt b

print a is lower than b

else

print a equals b

Se poate folosi si interval prescurtate de testare

if 2 lt= a lt= 7

print a is in the interval [2 7]

235 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ăacirc

numbers = [ ]

i = 0

while i lt 100

17

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

numbersappend(i)

i = i + 1

O buclă similar for arată in felul următor

numbers = [ ]

for i in range(100)

numbersappend(i)

Icircn 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

24 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

- GSMGPRS

- Fibră Optică

Opţiunea pentru care am optat icircn partea de comunicaţie este GSMGPRS 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ămacircne

comutat prin MSC

Datele sunt transmise prin GPRS icircn 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 Proiect de diplomă SECTIA CALCULATOARE

dată de introducerea codării adaptive a canalului Aceasta icircnseamnă că protecţia datelor

variază icircn timp icircn funcţie de starea canalului radio GPRS poate utiliza pentru o conexiune

de date de la fracţiuni de canale de trafic pacircnă la maximum 8 sloturi temporale (adică tot

cadrul TDMA) icircn funcţie de resursele disponibile

Capacitatea alocată unei conexiuni va varia icircn funcţie de icircncărcarea cu trafic de pe

frecvenţa respectivă precum şi de tipul traficului (vocedate) Este important că utilizacircnd

comutaţia de pachete o transmisie de date nu ocupă resursele reţelei decacirct atunci cacircnd sunt

date de transmis Cacircnd 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ă icircn paralel cu subsistemul reţea şi comutaţie (NSS) al GSM care va

gestiona icircn continuare transmisia cu comutaţie de circuite

241 Caracteristicile sistemului GPRS

GPRS este un serviciu specificat icircn faza 2+ de standardizare a GSM El este oferit prin

intermediul unei infrastructuri numită şi sistem sau reţea GPRS ce interoperează cu

infrastructura bdquoclasicărdquo GSM

GPRS se icircncadrează icircn orientarea generală a ETSI de a asigura prin aza 2+ o platformă

ce va putea fi utilizată ulterior icircn reţele de generaţia a treia Astfel el este onsiderat

actualmente soluţia de bază pentru transmiterea de date icircn 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ă (25G)

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ă icircn acest moment (atacirct la

25G cacirct şi icircn 3G) doar la transmiterea datelor vocea rămacircnacircnd icircn continuare comutată prin

MSC Datorită eternei insuficienţe a resurselor radio este probabil ca icircntr-o fază nu prea

icircndepă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

Icircn concluzie GPRS reprezintă o infrastructura ce permite transmiterea datelor pe baza

comutaţiei de pachete icircntr-o reţea GSM

19

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Pentru a putea oferi debite de date mai ridicate icircn GPRS se urmăreşte utilizarea cacirct

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 Icircn ciuda acestor asemănări icircnlocuirea comutaţiei de circuite cu cea de

pachete face din GPRS un sistem complet diferit de HSCSD Aceasta atacirct 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)

Rezumacircnd icircn 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ă atacirct din experienţa

sistemelor anterioare cacirct şi mai ales din operarea icircn modul pachet a datelor ce se transmit

Soluţiile utilizate sunt

creşterea ratei de transmisie a datelor prin reducerea codării canalului (sunt definite

şi pot

fi utilizate 4 scheme de codare 905kbps 134 kbps 156 kbps 214kbps)

creşterea ratei de transmisie prin operare multislot ( pacircnă 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ă uplinkdownlink

creşterea eficienţei utilizării resurselor radio prin alocarea dinamică a canalelor icircntre

servicii comutate icircn mod circuit respectiv pachet

Cacircnd un icircntreg cadru TDMA este alocat unui utilizator cu schema de protecţie minimă

(practic fără corecţie de erori) rezultă rata utilă instantanee maximă posibilă icircn GPRS

(8x214 kbps=1712 kbps)

242 Comutaţie de circuite şi comutaţie de pachete

20

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comutaţia este o tehnică esenţială icircn 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

comutaţia de circuite

comutaţia de mesaje

comutaţia de pachete

Comutaţia de circuite

Aceasta presupune realizarea icircntre emiţător şi receptor a unei căi fizice de comutaţie

dedicate numită circuit Icircntreaga comunicaţie se desfăşoară icircn trei etape

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 icircnainte de

icircnceperea 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

asigurarea unei icircntacircrzieri constante şi minime

garantarea unui debit util corespunzător mediului de comunicaţie şi serviciului utilizat

Toate acestea facilitează oferirea serviciilor de timp real (telefonie videofonie alte

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 icircn cazul HSCSD) unei staţii mobile

(MS) Acest canal rămacircne icircn posesia terminalului mobil pe toata durata conexiunii chiar dacă

transferul de date este discontinuu (icircn rafale) sau chiar icircncetează cu desăvacircrşire (de exemplu

21

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

cacircnd utilizatorul citeşte cu atenţie cinci minute o pagină WEB după care lămurit pe deplin

icircntrerupe legătura) Ca o particularizare binecunoscută a reţelelor cu comutaţie de circuite

trebuie menţionat că utilizatorul trebuie să plătească pentru icircntreaga 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 icircntre emiţător şi receptor

Informaţia ce urmează a fi transmisă formează o entitate bine precizată numita mesaj

Mesajele sunt complet independente unele faţă 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 icircl

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 icircntacircrzierea icircn 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 icircn

general rezultatul divizării mesajelor icircn 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)

Icircn cazul comutaţiei de pachete fără conexiune pachetele (numite şi datagrame) se transmit

independent icircn cel mai pur spirit al comutaţiei de mesaje urmacircnd rute posibil diferite

Sosirea lor la destinaţie poate avea loc icircntr-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 Proiect de diplomă SECTIA CALCULATOARE

suplimentară din fiecare pachet privitoare la mesajul din care face parte şi locul pe care icircl

ocupa icircn el Exemplul tipic de reţea care utilizează comutaţia de pachete este internetul

BComutaţia de pachete orientată pe conexiune (sau circuit virtual)

Icircn cazul comutaţiei de pachete orientată pe conexiune (sau circuit virtual) comunicarea

icircntre 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 icircnseamnă 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 icircntreaga cale La stabilirea circuitului

virtual fiecare comutator (router) trebuie să memoreze icircn tabela de dirijare care este

succesorul său icircn 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 Avacircnd memorat nodul succesor icircn fiecare dintre circuitele virtuale icircn care este

implicat comutatorul va identifica circuitul asociat pachetului şi icircl va transmite pe acesta pe

linia de ieşire corespunzătoare Tehnica circuitului virtual garantează livrarea icircn ordine a

pachetelor la destinaţie Exemple marcante de reţele ce utilizează comutaţia de pachete de tip

circuit virtual sunt X25 ş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ă icircn 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) icircn cazul unui trafic crescut la intrare Pierderea pachetelor garantarea unei

icircntacircrzieri maxime şi a unui debit utilizator constant sunt problemele spinoase ale comutaţiei

de pachete Ele reprezintă obstacole icircn special icircn calea oferirii serviciilor de timp real cum ar

fi telefonia

Icircn schimb icircn cazul transmisiilor de date avantajul bunei administrări a resurselor

prevalează De exemplu icircn cazul particular al interfeţei radio GSM cacircnd o staţie mobilă (MS)

generează un pachet de date reţeaua icircl va transmite pe un canal radio disponibil icircn 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 Proiect de diplomă SECTIA CALCULATOARE

transmis sau dacă nu alteia Icircn acest mod atacircta timp cacirct cineva are ceva de transmis

canalele radio nu sunt blocate inutil Lucrul icircn mod pachet are o eficienţă cu totul deosebită icircn

cazul unui trafic de date icircn 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 Atacirct HSCSD cacirct şi GPRS icircş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 icircn rafale fără pretenţii de timp real Diferenţa

fundamentală icircntre HSCSD şi GPRS este că acesta din urmă valorifică aceste resurse icircntr-un

mod mult mai eficient deoarece utilizează comutaţia de pachete Icircn plus costul serviciilor

oferite este mai atractiv deoarece utilizatorul plăteşte volumul de date transferat Practic dacă

doreşte utilizatorul poate fi sbquoconectatrsquo la reţeaua de date icircn permanenţă fiind taxat doar

pentru timpul icircn care efectiv utilizează resursele reţelei adică pentru pachetele de date

recepţionate respectiv transmise

243 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 Icircn general orice tip de aplicaţii ce necesită comunicaţii maşină - maşină la debite

mici şi medii sunt adecvate dezvoltării icircn mediul GPRS

Ca şi icircn reţeaua GSM reţelele GPRS pot oferi două categorii de servicii de

telecomunicaţii

servicii de bază

servicii suplimentare

Serviciile de bază GPRS

Acestea sunt icircn principal servicii suport (bearer services) de transport care realizează

transmiterea datelor cu comutaţie de pachete icircntre două interfeţe şi din teleservicii Similar

situaţiei din GSM aceste interfeţe sunt

interfaţa dintre echipamentul terminal de date (de exemplu calculator) şi terminalul

mobil GPRS

24

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

interfaţa dintre reţeaua GPRS şi reţeaua de date sau echipamentul terminal cu care

comunică Aceasta interfaţă este situată icircntr-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 icircn GSM aceste mesaje nu va mai fi icircncă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

servicii punct-la-punct (PTP ndashPoint-to-Point)

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

A Serviciul PTP

Serviciul punct la punct (PTP) [GSM 0260] permite transmiterea de pachete de date

icircntre doi utilizatori Este implementat icircn 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 icircntr-o reţea de date fixă (IP X25) Serviciul PTP poate fi oferit de

asemenea icircntre doi utilizatori mobili GPRS

Serviciul punct-la punct poate fi la racircndul sau de două tipuri

PTP fără conexiune (PTP-CLNS ndash PTP Connectinnless Network Service)

PTP orientat pe conexiune (PTP-CONS ndashPTP Connection Orientated Network

Network Service)

PTP-CLNS este un serviciu de tip datagramă ce utilizează comutaţia de pachete fără

conexiune Este util icircn cazul aplicaţiilor ce generează trafic icircn 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 Icircntre cei doi utilizatori se stabileşte un circuit virtual pentru o perioadă

25

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ce poate varia de la cacircteva secunde la ore Este util atacirct pentru aplicaţii ce generează trafic icircn

rafale cacirct şi pentru aplicaţiile interactive Are că scop asigurarea interoperării cu reţele X25 ş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ă icircn alta dar numai icircn interiorul aceleiaşi reţele GPRS-PLMN La trecerea terminalului

mobil icircntr-o altă reţea sau icircn 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 icircn faza a doua a GPRS O

comunicaţie PTM se stabileşte icircntre un furnizor de servicii (ce poate fi situat icircn afară reţelei

GSM) şi un grup de terminale GPRS Şi serviciul PTM este un serviciu ce se prezintă icircn două

variante

PTMndash multidistribuţie (PTM Multicast)

PTM- grup (PTM-G--PTMGroup)

Serviciul de transport PTM-M permite transmiterea pachetelor de date icircntr-o arie

geografică dată (celulă grup de celule) fără confirmare Receptorii serviciului sunt fie toţi

abonaţii care se găsesc icircn acea zonă fie un grup icircnchis de utilizatori

Icircn 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 icircn anumite zone

geografice Transmisia poate fi şi cu confirmare

Serviciile suplimentare

Printre serviciile suplimentare avute icircn vedere icircntr-un prim stadiu se numără

redirecţionarea necondiţionată a apelurilor redirecţionarea cacircnd abonatul nu este accesibil şi

definirea de grupuri icircnchise de utilizatori In afară de aceste servicii recomandarea GSM

0260 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 Proiect de diplomă SECTIA CALCULATOARE

244 Arhitectura GPRS

GPRS este o soluţie pentru operatori deoarece nu necesită modificări substanţiale icircn

reţeaua GSM Aşa cum se observă icircn figura 72 reţeaua nucleu a GPRS operează icircn paralel

cu GSM-NSS

Figura 23 Arhitectura reţelei GPRS

25 LabWindowsCVI

La dipecer am considerat un calculator desktop sau laptop pe care va rula o aplicaţie

de monitorizare a datelor măsurate implementată icircn LabWindowsCVI

LabWindowsCVI este o platformă pentru dezvoltare de software cu orientare pe

aplicaţii de instrumentaţie După cum se deduce din denumirea sa (CVI ndash 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 Icircmbină 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 Proiect de diplomă SECTIA CALCULATOARE

multiplele lui facilităţi icircl 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

bull Help on-line

bull Selectare şi declarare de variabile sau constante necesare

bull Execuţie interactivă

bull Inserarea funcţiei editate icircntr-un text sursă

Mediul este extrem de flexibil permiţacircnd interfaţarea bidirecţională cu alte compilatoare de

C sau C++ De asemenea se pot folosi şi DLL-uri

Puterea mediului LabWindowsCVI este dată de bibliotecile puse la dispoziţia

programatorului acestea conţinacircnd 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

bull de instrumente

bull pentru interfaţa GPIBGPIB 4882 (General Purpose Interface Bus)

bull pentru achiziţie de date

bull pentru operaţii IO icircn cazul achiziţiei de date

bull pentru interfaţa serială RS232

bull pentru sistemul VXI

Biblioteci specializate pentru analiza datelor

bull pentru IO

bull pentru formatarea specială

bull pentru analiză

bull pentru analiză avansată

Biblioteci specializate pentru vizualizare date

bull pentru crearea unei interfeţe utilizator de tip vizual

Biblioteci specializate pentru lucrul icircn reţea şi comunicarea icircntre diverse aplicaţii

bull pentru DDE (Dynamic Data Exchange)

bull pentru TCP (Transmision Control Protocol)

bull pentru sistemul X de sub Unix

Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

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

bull interfaţa cu utilizatorul

bull partea de control a aplicaţiei

bull partea specializată pentru achiziţia datelor

bull partea specializată icircn analiza respectivelor date

Mai jos prezentăm o schemă generică a aplicaţiilor CVI

Figura 24

Tipuri de fişiere folosite icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a unora dintre meniurile şi ferestrele mediului de dezvoltare CVI

Fereastra proiect

Prezentăm mai jos doar informaţiile suplimentare faţă de o fereastră proiect standard

Pe lacircngă datele curente despre fiecare fişier inclus icircn proiect acesta mai are precizat şi unul

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 icircn fişierul respectiv şi deci trebuie salvat

- C indică obligativitatea compilării respectivului fişier icircnainte de rularea aplicaţiei

- indică faptul că fişierul este deschis icircntr-o fereastră de editare

- indică ca acest fişier nu este deschis

Aplicaţii consolă

Pentru aplicaţiile tip consolă clasice C unde se folosesc pentru IO funcţiile scanf şi

printf vizualizarea ieşirii icircn mod text a acestora se va face icircntr-o fereastră specială numită

ldquoStandard InputOutput Windowrdquo

Observaţie Dacă se va programa icircn acest mod trebuie activată opţiunea ldquoBring Standard

InputOtput to front whenever modifyrdquo 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 cacircnd este activat evenimentele vor fi afişate icircn partea

dreaptă a barei de facilităţi

30

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a cacirctorva din meniurile mai importante ale generatorului

Menu Bars activează cutia de dialog care ne prezintă toate barele de meniu definite deja de

programator

Figura 25

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(fig26) permite specificarea sau modificarea caracteristicilor

unei bare de meniuri icircn curs de creare sau care există deja

31

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 26

Menu Bar Constant Prefix este identificatorul intern al respectivei bare de meniuri Acesta

va fi folosit de funcţia LoadMenuBar pentru icircncărcarea icircn memorie a parametrilor care conţin

această bară Va fi definit automat icircn fişierul header din scheletul de aplicaţie

Item se referă la numele meniului curentsubmeniucomandă de meniu Dacă icircn faţa primei

litere a unui element din meniu se adaugă 2 ldquounderscorerdquo 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 cacircnd 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 Proiect de diplomă SECTIA CALCULATOARE

ModifierKeyShortcutKey se combină pentru a ataşa o cheie ldquohotrdquo pentru elementul

curent

buton ce permite coboracircrea icircn interiorul unei ierarhii de meniuri

buton ce permite urcarea icircn interiorul unei ierarhii de meniuri

Panouri

După cum am spus sunt echivalentul ferestrelor din programarea Windows Pentru a le crea

Create1048774Panel ne pune la dispoziţie un nou panou icircn cadrul UIR-ului curent Prin dublu

ldquoclickrdquo pe acesta se va intra in fereastra de editare a caracteristicilor panoului Această

fereastră este prezentată mai jos

Figura 27

La partea de Menu Bar se poate specifica o bară din cele deja create icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 4: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

12 Soluţia propusă

Modemul inteligent (figura12) 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 12 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ţă se gasec mai multe soluţii

Icircn funcţie de specificaţii de sistem se pot alege mai multe solutii de aceea etapa de proiectare

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 icircn 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 ( dispecer ) şi aici o iterfaţă grafică implementată in LabWindowsCVI să

permită vizualizarea informaţiilor recepţionate O schemă general a aplicaţiei este

următoarea

7

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 13

8

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

2Fundamentare teoretică

21 Noţiuni de teoria măsurătorilor

Metrologia este un domeniu al tehnicii cu rădăcini icircn spaţiul Fizicii si ramificaţii icircn

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ă ndash

valorică a marimilor fizice Metrologia ndash ca disciplină de sine stătătoare ndash se referă la icircntregul

ansamblu al fenomenelor fizice pe care le studiaza dintr-un punct de vedere propriu şi anume

acela al masurării care este ndash icircn esenţă ndash o comparare experimentală de mărimi ea

stabilind standardele unităţilor de masură şi ale etaloanelor de referinţă pentru aceste unităţi

procedeele de comparare a mărimilor cu etaloanele şi caracteristicile de performanţă (ca

interval game rezoluţie sensibilitate fidelitate dinamică mobilitate precizie etc care ndash icircn

general ndash se numesc caracteristici metrologice) Aplicaţiile metrologiei adică 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

211 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 ndash mai general ndash ale

unui sistem şi redarea lor icircntr-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ă icircn procesul continuu de cunoaştere comunicare şi conducere (decizie) Prin

identificarea proceselor şi modelarea lor (adică prin reprezentarea matematică a relaţiilor din

sistemul analizat) se stabilesc anumite proprietăţi (elemente specifice) diferite calitativ pe

care le putem denumi mărimi (sau specii de mărimi ndash pentru a le preciza natura lor diferită) si

anumite corelaţii icircntre ele descrise matematic prin legi ndash dacă sunt deduse experimental sau

9

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

prin teoreme formule etc ndash daca sunt stabilite deductiv din legi Icircn acest sens după cum se

ştie mărimile (speciile de mărimi) se diferenţiază (clasifică) icircn mărimi primitive şi mărimi

derivate Cunoaşterea sistemului (stărilor sistemului icircn evoluţia lui) icircn 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 decacirct experimental (ldquope viurdquo si icircn ldquotimp realrdquo) prin măsurări

ceea ce explică rolul cognitiv de comunicare si decizional (mai cuprinzator informaţional) al

măsurărilor

Icircn acest context mai trebuie precizat ca utilizatorul (observatorul) ndash adică

ldquobeneficiarulrdquo icircn activitatea de măsurare ndash poate fi uman sau de tip maşină (icircn cazul

sistemelor automate) Determinarea cantitativă prin măsurare a speciilor de mărimi diferite

calitativ nu se poate realiza decacirct icircn raport cu mărimi de aceeaşi specie (aceeaşi natura fizica)

alese ca unităţi cantitative numite unităţi de măsură fixate icircn mod convenţional dar icircn 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 ldquoeste operaţia prin care se stabileşte pe cale experimentală raportul

numeric icircntre mărimea de măsurat si o valoare (ldquocantitaterdquo) oarecare a acesteia luată ca

unitate de măsurărdquo

Din punctul de vedere tehnic ldquomăsurarea este operaţia experimentală prin care se

determină cu ajutorul unor mijloace de măsurat valoarea numerică a unei mărimi (numită

masurand) icircn raport cu o unitate de măsură datărdquo 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 ndash mai rar ndash R2 (altfel

spus se stabileşte o relaţie icircntre valoarea unei marimi X si un numar real Xm R)

212 Procesul de masurare

Ansamblul operaţiilor experimentale care se execută icircn scopul obţinerii rezultatului

măsurării sub forma unei percepţii realizată de observatorul-utilizator (operatorul ce

efectuează măsurarea) constituie procesul de măsurare Orice proces de măsurare are

urmatoarele componente principale

- mărimea de măsurat (măsurandul)

- metoda de măsurare

- mijlocul (aparatul) de măsurat

10

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

- măsura (etalonul)

- operatorul (observatorul) şi

- prelucrarea ndash tratarea datelor

care ndash icircn funcţie de domeniul precizia şi scopul măsurării ndash 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 ndash beneficiar al măsurarii (exigenţe destul de nuanţate icircn 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 icircn general

Un exemplu particular al acestei mari varietaţi o constituie icircnseşi măsurarile

electronice (care au ca măsurand specii diverse cum sunt mărimile de stare ale cacircmpului

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)

213 Erori de măsurare

Icircn practică se constată că rezultatul unei măsurări nu depinde numai de valoarea

măsurandului el putacircnd 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 icircn procesul de măsurare se definesc

urmatoarele valori

Valoarea adevarată (reala) Xa a unei mărimi este valoarea exacta a mărimii

respective icircn condiţiile existenţe la un moment dat De obicei valoarea adevarată a unei

mărimi nu poate fi determinată experimental ea icircnlocuindu-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

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ţă de valoarea

adevarată a măsurandului constituie eroarea de măsurare

Intervalul icircn care se estimează cu o anumita probabilitate numită nivel de icircncredere

ca se afla valoarea adevarată a măsurandului se numeste incertitudine de măsurare

11

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

incertitudinea de măsurare estimează limitele erorilor de măsurare Pentru o estimare

obiectivă este necesar ca icircmpreună cu rezultatul măsurarii să se specifice atacirct erorile cacirct şi

incertitudinea de măsurare Icircn figura 21 sunt reprezentate schematic noţiunile prezentate

anterior

Figura 21

Fig 11 Explicativă privind valoarea adevarată valoarea măsurată

valoarea convenţional adevarată eroarea de măsurare şi incertitudinea

de măsurare

214Clasificarea erorilor de măsură

Deoarece cauzele erorilor de măsurare sunt numeroase există şi multe criteri de

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

următoare

Figura 22

12

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

215 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 Icircn

afara acestor două roluri prin care se ldquodefineşterdquo o unitate de măsura etaloanele mai sunt

utilizate icircn operaţiile de calibrare şi icircn icircnsuşi procesul de măsurare (de icircnaltă precizie) ca

elemente de referinţă precum şi icircn construcţia unor aparate (dispozitive) utilizate icircn alte

scopuri decacirct mşsurarea propriu-zisa (ca de exemplu dispozitive de automatizare

stabilizatoare electronice generatoare de semnal etc)

Calibrarea icircnseamnă ndash icircn metrologie ndash compararea unui aparat de măsurat cu un

etalon icircn scopul gradării sau ajustării verificării sau etalonării aparatului de masurat

Elementul de referinţă este un etalon care asigură (ldquofurnizeazardquo) o mărime fizică anume cu

o valoare bine cunoscută (cu o precizie metrologică corespunzatoare scopului urmarit)

Un etalon trebuie să fie invariabil icircn timp şi icircn spaţiu să poata fi folosit usor icircn tehnică

şi să poată fi reconstituit oricacircnd Unicitatea şi conformitatea măsurărilor icircn orice loc şi la

orice moment impun realizarea unui sistem de etaloane care să

asigure

- generarea principalelor unităti de măsură icircn conformitate cu definiţiile lor din SI

(adică ldquomaterializarea ldquo definiţiilor prin experimente adecvate)

- menţinerea (conservarea) acestor unităţi de măsură constante icircn timp icircn toate

laboratoarele metrologice pe plan mondial

- corelarea icircntre 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 icircn activitatea metrologică se efectuează icircn

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 icircn principal cele fundamentale aşa cum este ndash de exemplu ndash determinarea absolută

a amperului cu ajutorul balanţei de curent)

- etaloane de conservare (adică etaloanele de menţinere a unităţii de măsură cu o mare

stabilitate icircn timp şi faţă de influenţele exterioare de mediu)

- etaloanele de transfer (adica cele care asigura etalonarea tuturor tipurilor

13

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

de aparate de masurat icircn intervale largi de valori ale masurandului pentru marimi constante

sau variabile icircn timp) asa cum sunt etaloanele de raport etaloanele de derivare si etaloanele

de transfer (curent continuu ndash curent alternativ) prin compararea efectelor (termice

electrodinamice etc) ale semnalelor de curent sau tensiune produse asupra unui acelaşi

element sensibil

22 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ţă şi aplicaţiile la care sunt conectate De fapt M2M este o

evoluţie comercială a tradiţionalelor sisteme de control al echipamentelor din domeniul

industrial soluţie aplicată cu succes pentru prima dată de NASA Adaptată nevoilor

companiilor (un rol important l-a jucat compania France Telecom) M2M permite companiilor

sa administreze mai uşor echipamentele aflate la distanţă si să le integreze cu procesele

interne

Zona soluţiilor M2M este cotată ca fiind una dintre cele mai promiţătoare in

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 Proiect de diplomă SECTIA CALCULATOARE

23 Limbajul Python

Icircn cadrul unei instalaţii de telemetrie modemurile deţin memorie şi processor propriu

motiv pentru care se numesc ldquointeligenterdquo Pe lacircngă memorie şi processor aceste modemuri

inteligente au şi un interpretor al unui limbaj de programare de nivel icircnalt Icircn 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 cacircteva zile

231 Tipuri de date

Sunt 3 grupuri de tipuri de date in Python

Scalari ndash 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ă icircn Python

a = 7 7 (integer)

a = str(2a) + bytes 7 bytes (string)

15

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Icircn Python variabilele nu sunt declarate icircn script ele apar doar atunci cand sunt folosite

232 Operatori

Icircn Python există următorii operatori

Operatori aritmetici

+ - ~ ltlt gtgt amp ^ |

Operatori relaţionali şi logici

is in lt lt= gt gt= == = not and or

Operatori de asignare

= += -= = = = = ltlt= gtgt= amp= ^= |=

Alţi operatori

( ) [ ] [] `` lambda

233 Comenzi compuse

Comenzile care aparţin aceluiaşi grup logic sunt deplasate spre dreapta cu acelaş

număr de spaţii albe

if a gt 0

b = 1

c = 2

De obicei fiecare comandă icircncepe pe o linie nouă

16

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

O instrucţiune se poate continua pe racircndul următor prin plasarea caracterului backslash

la sfacircrsitul randului Acest lucru nu este necesar dacă există paranteze deschise

my_list = [1

[abc 2]

-3+6j]

print my_list

234 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 gt b

print a is greater than b

elif a lt b

print a is lower than b

else

print a equals b

Se poate folosi si interval prescurtate de testare

if 2 lt= a lt= 7

print a is in the interval [2 7]

235 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ăacirc

numbers = [ ]

i = 0

while i lt 100

17

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

numbersappend(i)

i = i + 1

O buclă similar for arată in felul următor

numbers = [ ]

for i in range(100)

numbersappend(i)

Icircn 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

24 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

- GSMGPRS

- Fibră Optică

Opţiunea pentru care am optat icircn partea de comunicaţie este GSMGPRS 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ămacircne

comutat prin MSC

Datele sunt transmise prin GPRS icircn 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 Proiect de diplomă SECTIA CALCULATOARE

dată de introducerea codării adaptive a canalului Aceasta icircnseamnă că protecţia datelor

variază icircn timp icircn funcţie de starea canalului radio GPRS poate utiliza pentru o conexiune

de date de la fracţiuni de canale de trafic pacircnă la maximum 8 sloturi temporale (adică tot

cadrul TDMA) icircn funcţie de resursele disponibile

Capacitatea alocată unei conexiuni va varia icircn funcţie de icircncărcarea cu trafic de pe

frecvenţa respectivă precum şi de tipul traficului (vocedate) Este important că utilizacircnd

comutaţia de pachete o transmisie de date nu ocupă resursele reţelei decacirct atunci cacircnd sunt

date de transmis Cacircnd 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ă icircn paralel cu subsistemul reţea şi comutaţie (NSS) al GSM care va

gestiona icircn continuare transmisia cu comutaţie de circuite

241 Caracteristicile sistemului GPRS

GPRS este un serviciu specificat icircn faza 2+ de standardizare a GSM El este oferit prin

intermediul unei infrastructuri numită şi sistem sau reţea GPRS ce interoperează cu

infrastructura bdquoclasicărdquo GSM

GPRS se icircncadrează icircn orientarea generală a ETSI de a asigura prin aza 2+ o platformă

ce va putea fi utilizată ulterior icircn reţele de generaţia a treia Astfel el este onsiderat

actualmente soluţia de bază pentru transmiterea de date icircn 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ă (25G)

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ă icircn acest moment (atacirct la

25G cacirct şi icircn 3G) doar la transmiterea datelor vocea rămacircnacircnd icircn continuare comutată prin

MSC Datorită eternei insuficienţe a resurselor radio este probabil ca icircntr-o fază nu prea

icircndepă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

Icircn concluzie GPRS reprezintă o infrastructura ce permite transmiterea datelor pe baza

comutaţiei de pachete icircntr-o reţea GSM

19

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Pentru a putea oferi debite de date mai ridicate icircn GPRS se urmăreşte utilizarea cacirct

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 Icircn ciuda acestor asemănări icircnlocuirea comutaţiei de circuite cu cea de

pachete face din GPRS un sistem complet diferit de HSCSD Aceasta atacirct 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)

Rezumacircnd icircn 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ă atacirct din experienţa

sistemelor anterioare cacirct şi mai ales din operarea icircn modul pachet a datelor ce se transmit

Soluţiile utilizate sunt

creşterea ratei de transmisie a datelor prin reducerea codării canalului (sunt definite

şi pot

fi utilizate 4 scheme de codare 905kbps 134 kbps 156 kbps 214kbps)

creşterea ratei de transmisie prin operare multislot ( pacircnă 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ă uplinkdownlink

creşterea eficienţei utilizării resurselor radio prin alocarea dinamică a canalelor icircntre

servicii comutate icircn mod circuit respectiv pachet

Cacircnd un icircntreg cadru TDMA este alocat unui utilizator cu schema de protecţie minimă

(practic fără corecţie de erori) rezultă rata utilă instantanee maximă posibilă icircn GPRS

(8x214 kbps=1712 kbps)

242 Comutaţie de circuite şi comutaţie de pachete

20

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comutaţia este o tehnică esenţială icircn 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

comutaţia de circuite

comutaţia de mesaje

comutaţia de pachete

Comutaţia de circuite

Aceasta presupune realizarea icircntre emiţător şi receptor a unei căi fizice de comutaţie

dedicate numită circuit Icircntreaga comunicaţie se desfăşoară icircn trei etape

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 icircnainte de

icircnceperea 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

asigurarea unei icircntacircrzieri constante şi minime

garantarea unui debit util corespunzător mediului de comunicaţie şi serviciului utilizat

Toate acestea facilitează oferirea serviciilor de timp real (telefonie videofonie alte

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 icircn cazul HSCSD) unei staţii mobile

(MS) Acest canal rămacircne icircn posesia terminalului mobil pe toata durata conexiunii chiar dacă

transferul de date este discontinuu (icircn rafale) sau chiar icircncetează cu desăvacircrşire (de exemplu

21

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

cacircnd utilizatorul citeşte cu atenţie cinci minute o pagină WEB după care lămurit pe deplin

icircntrerupe legătura) Ca o particularizare binecunoscută a reţelelor cu comutaţie de circuite

trebuie menţionat că utilizatorul trebuie să plătească pentru icircntreaga 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 icircntre emiţător şi receptor

Informaţia ce urmează a fi transmisă formează o entitate bine precizată numita mesaj

Mesajele sunt complet independente unele faţă 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 icircl

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 icircntacircrzierea icircn 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 icircn

general rezultatul divizării mesajelor icircn 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)

Icircn cazul comutaţiei de pachete fără conexiune pachetele (numite şi datagrame) se transmit

independent icircn cel mai pur spirit al comutaţiei de mesaje urmacircnd rute posibil diferite

Sosirea lor la destinaţie poate avea loc icircntr-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 Proiect de diplomă SECTIA CALCULATOARE

suplimentară din fiecare pachet privitoare la mesajul din care face parte şi locul pe care icircl

ocupa icircn el Exemplul tipic de reţea care utilizează comutaţia de pachete este internetul

BComutaţia de pachete orientată pe conexiune (sau circuit virtual)

Icircn cazul comutaţiei de pachete orientată pe conexiune (sau circuit virtual) comunicarea

icircntre 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 icircnseamnă 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 icircntreaga cale La stabilirea circuitului

virtual fiecare comutator (router) trebuie să memoreze icircn tabela de dirijare care este

succesorul său icircn 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 Avacircnd memorat nodul succesor icircn fiecare dintre circuitele virtuale icircn care este

implicat comutatorul va identifica circuitul asociat pachetului şi icircl va transmite pe acesta pe

linia de ieşire corespunzătoare Tehnica circuitului virtual garantează livrarea icircn ordine a

pachetelor la destinaţie Exemple marcante de reţele ce utilizează comutaţia de pachete de tip

circuit virtual sunt X25 ş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ă icircn 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) icircn cazul unui trafic crescut la intrare Pierderea pachetelor garantarea unei

icircntacircrzieri maxime şi a unui debit utilizator constant sunt problemele spinoase ale comutaţiei

de pachete Ele reprezintă obstacole icircn special icircn calea oferirii serviciilor de timp real cum ar

fi telefonia

Icircn schimb icircn cazul transmisiilor de date avantajul bunei administrări a resurselor

prevalează De exemplu icircn cazul particular al interfeţei radio GSM cacircnd o staţie mobilă (MS)

generează un pachet de date reţeaua icircl va transmite pe un canal radio disponibil icircn 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 Proiect de diplomă SECTIA CALCULATOARE

transmis sau dacă nu alteia Icircn acest mod atacircta timp cacirct cineva are ceva de transmis

canalele radio nu sunt blocate inutil Lucrul icircn mod pachet are o eficienţă cu totul deosebită icircn

cazul unui trafic de date icircn 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 Atacirct HSCSD cacirct şi GPRS icircş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 icircn rafale fără pretenţii de timp real Diferenţa

fundamentală icircntre HSCSD şi GPRS este că acesta din urmă valorifică aceste resurse icircntr-un

mod mult mai eficient deoarece utilizează comutaţia de pachete Icircn plus costul serviciilor

oferite este mai atractiv deoarece utilizatorul plăteşte volumul de date transferat Practic dacă

doreşte utilizatorul poate fi sbquoconectatrsquo la reţeaua de date icircn permanenţă fiind taxat doar

pentru timpul icircn care efectiv utilizează resursele reţelei adică pentru pachetele de date

recepţionate respectiv transmise

243 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 Icircn general orice tip de aplicaţii ce necesită comunicaţii maşină - maşină la debite

mici şi medii sunt adecvate dezvoltării icircn mediul GPRS

Ca şi icircn reţeaua GSM reţelele GPRS pot oferi două categorii de servicii de

telecomunicaţii

servicii de bază

servicii suplimentare

Serviciile de bază GPRS

Acestea sunt icircn principal servicii suport (bearer services) de transport care realizează

transmiterea datelor cu comutaţie de pachete icircntre două interfeţe şi din teleservicii Similar

situaţiei din GSM aceste interfeţe sunt

interfaţa dintre echipamentul terminal de date (de exemplu calculator) şi terminalul

mobil GPRS

24

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

interfaţa dintre reţeaua GPRS şi reţeaua de date sau echipamentul terminal cu care

comunică Aceasta interfaţă este situată icircntr-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 icircn GSM aceste mesaje nu va mai fi icircncă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

servicii punct-la-punct (PTP ndashPoint-to-Point)

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

A Serviciul PTP

Serviciul punct la punct (PTP) [GSM 0260] permite transmiterea de pachete de date

icircntre doi utilizatori Este implementat icircn 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 icircntr-o reţea de date fixă (IP X25) Serviciul PTP poate fi oferit de

asemenea icircntre doi utilizatori mobili GPRS

Serviciul punct-la punct poate fi la racircndul sau de două tipuri

PTP fără conexiune (PTP-CLNS ndash PTP Connectinnless Network Service)

PTP orientat pe conexiune (PTP-CONS ndashPTP Connection Orientated Network

Network Service)

PTP-CLNS este un serviciu de tip datagramă ce utilizează comutaţia de pachete fără

conexiune Este util icircn cazul aplicaţiilor ce generează trafic icircn 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 Icircntre cei doi utilizatori se stabileşte un circuit virtual pentru o perioadă

25

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ce poate varia de la cacircteva secunde la ore Este util atacirct pentru aplicaţii ce generează trafic icircn

rafale cacirct şi pentru aplicaţiile interactive Are că scop asigurarea interoperării cu reţele X25 ş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ă icircn alta dar numai icircn interiorul aceleiaşi reţele GPRS-PLMN La trecerea terminalului

mobil icircntr-o altă reţea sau icircn 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 icircn faza a doua a GPRS O

comunicaţie PTM se stabileşte icircntre un furnizor de servicii (ce poate fi situat icircn afară reţelei

GSM) şi un grup de terminale GPRS Şi serviciul PTM este un serviciu ce se prezintă icircn două

variante

PTMndash multidistribuţie (PTM Multicast)

PTM- grup (PTM-G--PTMGroup)

Serviciul de transport PTM-M permite transmiterea pachetelor de date icircntr-o arie

geografică dată (celulă grup de celule) fără confirmare Receptorii serviciului sunt fie toţi

abonaţii care se găsesc icircn acea zonă fie un grup icircnchis de utilizatori

Icircn 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 icircn anumite zone

geografice Transmisia poate fi şi cu confirmare

Serviciile suplimentare

Printre serviciile suplimentare avute icircn vedere icircntr-un prim stadiu se numără

redirecţionarea necondiţionată a apelurilor redirecţionarea cacircnd abonatul nu este accesibil şi

definirea de grupuri icircnchise de utilizatori In afară de aceste servicii recomandarea GSM

0260 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 Proiect de diplomă SECTIA CALCULATOARE

244 Arhitectura GPRS

GPRS este o soluţie pentru operatori deoarece nu necesită modificări substanţiale icircn

reţeaua GSM Aşa cum se observă icircn figura 72 reţeaua nucleu a GPRS operează icircn paralel

cu GSM-NSS

Figura 23 Arhitectura reţelei GPRS

25 LabWindowsCVI

La dipecer am considerat un calculator desktop sau laptop pe care va rula o aplicaţie

de monitorizare a datelor măsurate implementată icircn LabWindowsCVI

LabWindowsCVI este o platformă pentru dezvoltare de software cu orientare pe

aplicaţii de instrumentaţie După cum se deduce din denumirea sa (CVI ndash 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 Icircmbină 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 Proiect de diplomă SECTIA CALCULATOARE

multiplele lui facilităţi icircl 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

bull Help on-line

bull Selectare şi declarare de variabile sau constante necesare

bull Execuţie interactivă

bull Inserarea funcţiei editate icircntr-un text sursă

Mediul este extrem de flexibil permiţacircnd interfaţarea bidirecţională cu alte compilatoare de

C sau C++ De asemenea se pot folosi şi DLL-uri

Puterea mediului LabWindowsCVI este dată de bibliotecile puse la dispoziţia

programatorului acestea conţinacircnd 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

bull de instrumente

bull pentru interfaţa GPIBGPIB 4882 (General Purpose Interface Bus)

bull pentru achiziţie de date

bull pentru operaţii IO icircn cazul achiziţiei de date

bull pentru interfaţa serială RS232

bull pentru sistemul VXI

Biblioteci specializate pentru analiza datelor

bull pentru IO

bull pentru formatarea specială

bull pentru analiză

bull pentru analiză avansată

Biblioteci specializate pentru vizualizare date

bull pentru crearea unei interfeţe utilizator de tip vizual

Biblioteci specializate pentru lucrul icircn reţea şi comunicarea icircntre diverse aplicaţii

bull pentru DDE (Dynamic Data Exchange)

bull pentru TCP (Transmision Control Protocol)

bull pentru sistemul X de sub Unix

Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

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

bull interfaţa cu utilizatorul

bull partea de control a aplicaţiei

bull partea specializată pentru achiziţia datelor

bull partea specializată icircn analiza respectivelor date

Mai jos prezentăm o schemă generică a aplicaţiilor CVI

Figura 24

Tipuri de fişiere folosite icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a unora dintre meniurile şi ferestrele mediului de dezvoltare CVI

Fereastra proiect

Prezentăm mai jos doar informaţiile suplimentare faţă de o fereastră proiect standard

Pe lacircngă datele curente despre fiecare fişier inclus icircn proiect acesta mai are precizat şi unul

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 icircn fişierul respectiv şi deci trebuie salvat

- C indică obligativitatea compilării respectivului fişier icircnainte de rularea aplicaţiei

- indică faptul că fişierul este deschis icircntr-o fereastră de editare

- indică ca acest fişier nu este deschis

Aplicaţii consolă

Pentru aplicaţiile tip consolă clasice C unde se folosesc pentru IO funcţiile scanf şi

printf vizualizarea ieşirii icircn mod text a acestora se va face icircntr-o fereastră specială numită

ldquoStandard InputOutput Windowrdquo

Observaţie Dacă se va programa icircn acest mod trebuie activată opţiunea ldquoBring Standard

InputOtput to front whenever modifyrdquo 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 cacircnd este activat evenimentele vor fi afişate icircn partea

dreaptă a barei de facilităţi

30

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a cacirctorva din meniurile mai importante ale generatorului

Menu Bars activează cutia de dialog care ne prezintă toate barele de meniu definite deja de

programator

Figura 25

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(fig26) permite specificarea sau modificarea caracteristicilor

unei bare de meniuri icircn curs de creare sau care există deja

31

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 26

Menu Bar Constant Prefix este identificatorul intern al respectivei bare de meniuri Acesta

va fi folosit de funcţia LoadMenuBar pentru icircncărcarea icircn memorie a parametrilor care conţin

această bară Va fi definit automat icircn fişierul header din scheletul de aplicaţie

Item se referă la numele meniului curentsubmeniucomandă de meniu Dacă icircn faţa primei

litere a unui element din meniu se adaugă 2 ldquounderscorerdquo 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 cacircnd 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 Proiect de diplomă SECTIA CALCULATOARE

ModifierKeyShortcutKey se combină pentru a ataşa o cheie ldquohotrdquo pentru elementul

curent

buton ce permite coboracircrea icircn interiorul unei ierarhii de meniuri

buton ce permite urcarea icircn interiorul unei ierarhii de meniuri

Panouri

După cum am spus sunt echivalentul ferestrelor din programarea Windows Pentru a le crea

Create1048774Panel ne pune la dispoziţie un nou panou icircn cadrul UIR-ului curent Prin dublu

ldquoclickrdquo pe acesta se va intra in fereastra de editare a caracteristicilor panoului Această

fereastră este prezentată mai jos

Figura 27

La partea de Menu Bar se poate specifica o bară din cele deja create icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 5: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 13

8

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

2Fundamentare teoretică

21 Noţiuni de teoria măsurătorilor

Metrologia este un domeniu al tehnicii cu rădăcini icircn spaţiul Fizicii si ramificaţii icircn

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ă ndash

valorică a marimilor fizice Metrologia ndash ca disciplină de sine stătătoare ndash se referă la icircntregul

ansamblu al fenomenelor fizice pe care le studiaza dintr-un punct de vedere propriu şi anume

acela al masurării care este ndash icircn esenţă ndash o comparare experimentală de mărimi ea

stabilind standardele unităţilor de masură şi ale etaloanelor de referinţă pentru aceste unităţi

procedeele de comparare a mărimilor cu etaloanele şi caracteristicile de performanţă (ca

interval game rezoluţie sensibilitate fidelitate dinamică mobilitate precizie etc care ndash icircn

general ndash se numesc caracteristici metrologice) Aplicaţiile metrologiei adică 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

211 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 ndash mai general ndash ale

unui sistem şi redarea lor icircntr-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ă icircn procesul continuu de cunoaştere comunicare şi conducere (decizie) Prin

identificarea proceselor şi modelarea lor (adică prin reprezentarea matematică a relaţiilor din

sistemul analizat) se stabilesc anumite proprietăţi (elemente specifice) diferite calitativ pe

care le putem denumi mărimi (sau specii de mărimi ndash pentru a le preciza natura lor diferită) si

anumite corelaţii icircntre ele descrise matematic prin legi ndash dacă sunt deduse experimental sau

9

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

prin teoreme formule etc ndash daca sunt stabilite deductiv din legi Icircn acest sens după cum se

ştie mărimile (speciile de mărimi) se diferenţiază (clasifică) icircn mărimi primitive şi mărimi

derivate Cunoaşterea sistemului (stărilor sistemului icircn evoluţia lui) icircn 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 decacirct experimental (ldquope viurdquo si icircn ldquotimp realrdquo) prin măsurări

ceea ce explică rolul cognitiv de comunicare si decizional (mai cuprinzator informaţional) al

măsurărilor

Icircn acest context mai trebuie precizat ca utilizatorul (observatorul) ndash adică

ldquobeneficiarulrdquo icircn activitatea de măsurare ndash poate fi uman sau de tip maşină (icircn cazul

sistemelor automate) Determinarea cantitativă prin măsurare a speciilor de mărimi diferite

calitativ nu se poate realiza decacirct icircn raport cu mărimi de aceeaşi specie (aceeaşi natura fizica)

alese ca unităţi cantitative numite unităţi de măsură fixate icircn mod convenţional dar icircn 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 ldquoeste operaţia prin care se stabileşte pe cale experimentală raportul

numeric icircntre mărimea de măsurat si o valoare (ldquocantitaterdquo) oarecare a acesteia luată ca

unitate de măsurărdquo

Din punctul de vedere tehnic ldquomăsurarea este operaţia experimentală prin care se

determină cu ajutorul unor mijloace de măsurat valoarea numerică a unei mărimi (numită

masurand) icircn raport cu o unitate de măsură datărdquo 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 ndash mai rar ndash R2 (altfel

spus se stabileşte o relaţie icircntre valoarea unei marimi X si un numar real Xm R)

212 Procesul de masurare

Ansamblul operaţiilor experimentale care se execută icircn scopul obţinerii rezultatului

măsurării sub forma unei percepţii realizată de observatorul-utilizator (operatorul ce

efectuează măsurarea) constituie procesul de măsurare Orice proces de măsurare are

urmatoarele componente principale

- mărimea de măsurat (măsurandul)

- metoda de măsurare

- mijlocul (aparatul) de măsurat

10

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

- măsura (etalonul)

- operatorul (observatorul) şi

- prelucrarea ndash tratarea datelor

care ndash icircn funcţie de domeniul precizia şi scopul măsurării ndash 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 ndash beneficiar al măsurarii (exigenţe destul de nuanţate icircn 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 icircn general

Un exemplu particular al acestei mari varietaţi o constituie icircnseşi măsurarile

electronice (care au ca măsurand specii diverse cum sunt mărimile de stare ale cacircmpului

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)

213 Erori de măsurare

Icircn practică se constată că rezultatul unei măsurări nu depinde numai de valoarea

măsurandului el putacircnd 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 icircn procesul de măsurare se definesc

urmatoarele valori

Valoarea adevarată (reala) Xa a unei mărimi este valoarea exacta a mărimii

respective icircn condiţiile existenţe la un moment dat De obicei valoarea adevarată a unei

mărimi nu poate fi determinată experimental ea icircnlocuindu-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

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ţă de valoarea

adevarată a măsurandului constituie eroarea de măsurare

Intervalul icircn care se estimează cu o anumita probabilitate numită nivel de icircncredere

ca se afla valoarea adevarată a măsurandului se numeste incertitudine de măsurare

11

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

incertitudinea de măsurare estimează limitele erorilor de măsurare Pentru o estimare

obiectivă este necesar ca icircmpreună cu rezultatul măsurarii să se specifice atacirct erorile cacirct şi

incertitudinea de măsurare Icircn figura 21 sunt reprezentate schematic noţiunile prezentate

anterior

Figura 21

Fig 11 Explicativă privind valoarea adevarată valoarea măsurată

valoarea convenţional adevarată eroarea de măsurare şi incertitudinea

de măsurare

214Clasificarea erorilor de măsură

Deoarece cauzele erorilor de măsurare sunt numeroase există şi multe criteri de

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

următoare

Figura 22

12

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

215 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 Icircn

afara acestor două roluri prin care se ldquodefineşterdquo o unitate de măsura etaloanele mai sunt

utilizate icircn operaţiile de calibrare şi icircn icircnsuşi procesul de măsurare (de icircnaltă precizie) ca

elemente de referinţă precum şi icircn construcţia unor aparate (dispozitive) utilizate icircn alte

scopuri decacirct mşsurarea propriu-zisa (ca de exemplu dispozitive de automatizare

stabilizatoare electronice generatoare de semnal etc)

Calibrarea icircnseamnă ndash icircn metrologie ndash compararea unui aparat de măsurat cu un

etalon icircn scopul gradării sau ajustării verificării sau etalonării aparatului de masurat

Elementul de referinţă este un etalon care asigură (ldquofurnizeazardquo) o mărime fizică anume cu

o valoare bine cunoscută (cu o precizie metrologică corespunzatoare scopului urmarit)

Un etalon trebuie să fie invariabil icircn timp şi icircn spaţiu să poata fi folosit usor icircn tehnică

şi să poată fi reconstituit oricacircnd Unicitatea şi conformitatea măsurărilor icircn orice loc şi la

orice moment impun realizarea unui sistem de etaloane care să

asigure

- generarea principalelor unităti de măsură icircn conformitate cu definiţiile lor din SI

(adică ldquomaterializarea ldquo definiţiilor prin experimente adecvate)

- menţinerea (conservarea) acestor unităţi de măsură constante icircn timp icircn toate

laboratoarele metrologice pe plan mondial

- corelarea icircntre 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 icircn activitatea metrologică se efectuează icircn

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 icircn principal cele fundamentale aşa cum este ndash de exemplu ndash determinarea absolută

a amperului cu ajutorul balanţei de curent)

- etaloane de conservare (adică etaloanele de menţinere a unităţii de măsură cu o mare

stabilitate icircn timp şi faţă de influenţele exterioare de mediu)

- etaloanele de transfer (adica cele care asigura etalonarea tuturor tipurilor

13

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

de aparate de masurat icircn intervale largi de valori ale masurandului pentru marimi constante

sau variabile icircn timp) asa cum sunt etaloanele de raport etaloanele de derivare si etaloanele

de transfer (curent continuu ndash curent alternativ) prin compararea efectelor (termice

electrodinamice etc) ale semnalelor de curent sau tensiune produse asupra unui acelaşi

element sensibil

22 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ţă şi aplicaţiile la care sunt conectate De fapt M2M este o

evoluţie comercială a tradiţionalelor sisteme de control al echipamentelor din domeniul

industrial soluţie aplicată cu succes pentru prima dată de NASA Adaptată nevoilor

companiilor (un rol important l-a jucat compania France Telecom) M2M permite companiilor

sa administreze mai uşor echipamentele aflate la distanţă si să le integreze cu procesele

interne

Zona soluţiilor M2M este cotată ca fiind una dintre cele mai promiţătoare in

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 Proiect de diplomă SECTIA CALCULATOARE

23 Limbajul Python

Icircn cadrul unei instalaţii de telemetrie modemurile deţin memorie şi processor propriu

motiv pentru care se numesc ldquointeligenterdquo Pe lacircngă memorie şi processor aceste modemuri

inteligente au şi un interpretor al unui limbaj de programare de nivel icircnalt Icircn 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 cacircteva zile

231 Tipuri de date

Sunt 3 grupuri de tipuri de date in Python

Scalari ndash 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ă icircn Python

a = 7 7 (integer)

a = str(2a) + bytes 7 bytes (string)

15

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Icircn Python variabilele nu sunt declarate icircn script ele apar doar atunci cand sunt folosite

232 Operatori

Icircn Python există următorii operatori

Operatori aritmetici

+ - ~ ltlt gtgt amp ^ |

Operatori relaţionali şi logici

is in lt lt= gt gt= == = not and or

Operatori de asignare

= += -= = = = = ltlt= gtgt= amp= ^= |=

Alţi operatori

( ) [ ] [] `` lambda

233 Comenzi compuse

Comenzile care aparţin aceluiaşi grup logic sunt deplasate spre dreapta cu acelaş

număr de spaţii albe

if a gt 0

b = 1

c = 2

De obicei fiecare comandă icircncepe pe o linie nouă

16

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

O instrucţiune se poate continua pe racircndul următor prin plasarea caracterului backslash

la sfacircrsitul randului Acest lucru nu este necesar dacă există paranteze deschise

my_list = [1

[abc 2]

-3+6j]

print my_list

234 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 gt b

print a is greater than b

elif a lt b

print a is lower than b

else

print a equals b

Se poate folosi si interval prescurtate de testare

if 2 lt= a lt= 7

print a is in the interval [2 7]

235 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ăacirc

numbers = [ ]

i = 0

while i lt 100

17

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

numbersappend(i)

i = i + 1

O buclă similar for arată in felul următor

numbers = [ ]

for i in range(100)

numbersappend(i)

Icircn 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

24 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

- GSMGPRS

- Fibră Optică

Opţiunea pentru care am optat icircn partea de comunicaţie este GSMGPRS 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ămacircne

comutat prin MSC

Datele sunt transmise prin GPRS icircn 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 Proiect de diplomă SECTIA CALCULATOARE

dată de introducerea codării adaptive a canalului Aceasta icircnseamnă că protecţia datelor

variază icircn timp icircn funcţie de starea canalului radio GPRS poate utiliza pentru o conexiune

de date de la fracţiuni de canale de trafic pacircnă la maximum 8 sloturi temporale (adică tot

cadrul TDMA) icircn funcţie de resursele disponibile

Capacitatea alocată unei conexiuni va varia icircn funcţie de icircncărcarea cu trafic de pe

frecvenţa respectivă precum şi de tipul traficului (vocedate) Este important că utilizacircnd

comutaţia de pachete o transmisie de date nu ocupă resursele reţelei decacirct atunci cacircnd sunt

date de transmis Cacircnd 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ă icircn paralel cu subsistemul reţea şi comutaţie (NSS) al GSM care va

gestiona icircn continuare transmisia cu comutaţie de circuite

241 Caracteristicile sistemului GPRS

GPRS este un serviciu specificat icircn faza 2+ de standardizare a GSM El este oferit prin

intermediul unei infrastructuri numită şi sistem sau reţea GPRS ce interoperează cu

infrastructura bdquoclasicărdquo GSM

GPRS se icircncadrează icircn orientarea generală a ETSI de a asigura prin aza 2+ o platformă

ce va putea fi utilizată ulterior icircn reţele de generaţia a treia Astfel el este onsiderat

actualmente soluţia de bază pentru transmiterea de date icircn 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ă (25G)

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ă icircn acest moment (atacirct la

25G cacirct şi icircn 3G) doar la transmiterea datelor vocea rămacircnacircnd icircn continuare comutată prin

MSC Datorită eternei insuficienţe a resurselor radio este probabil ca icircntr-o fază nu prea

icircndepă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

Icircn concluzie GPRS reprezintă o infrastructura ce permite transmiterea datelor pe baza

comutaţiei de pachete icircntr-o reţea GSM

19

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Pentru a putea oferi debite de date mai ridicate icircn GPRS se urmăreşte utilizarea cacirct

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 Icircn ciuda acestor asemănări icircnlocuirea comutaţiei de circuite cu cea de

pachete face din GPRS un sistem complet diferit de HSCSD Aceasta atacirct 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)

Rezumacircnd icircn 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ă atacirct din experienţa

sistemelor anterioare cacirct şi mai ales din operarea icircn modul pachet a datelor ce se transmit

Soluţiile utilizate sunt

creşterea ratei de transmisie a datelor prin reducerea codării canalului (sunt definite

şi pot

fi utilizate 4 scheme de codare 905kbps 134 kbps 156 kbps 214kbps)

creşterea ratei de transmisie prin operare multislot ( pacircnă 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ă uplinkdownlink

creşterea eficienţei utilizării resurselor radio prin alocarea dinamică a canalelor icircntre

servicii comutate icircn mod circuit respectiv pachet

Cacircnd un icircntreg cadru TDMA este alocat unui utilizator cu schema de protecţie minimă

(practic fără corecţie de erori) rezultă rata utilă instantanee maximă posibilă icircn GPRS

(8x214 kbps=1712 kbps)

242 Comutaţie de circuite şi comutaţie de pachete

20

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comutaţia este o tehnică esenţială icircn 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

comutaţia de circuite

comutaţia de mesaje

comutaţia de pachete

Comutaţia de circuite

Aceasta presupune realizarea icircntre emiţător şi receptor a unei căi fizice de comutaţie

dedicate numită circuit Icircntreaga comunicaţie se desfăşoară icircn trei etape

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 icircnainte de

icircnceperea 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

asigurarea unei icircntacircrzieri constante şi minime

garantarea unui debit util corespunzător mediului de comunicaţie şi serviciului utilizat

Toate acestea facilitează oferirea serviciilor de timp real (telefonie videofonie alte

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 icircn cazul HSCSD) unei staţii mobile

(MS) Acest canal rămacircne icircn posesia terminalului mobil pe toata durata conexiunii chiar dacă

transferul de date este discontinuu (icircn rafale) sau chiar icircncetează cu desăvacircrşire (de exemplu

21

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

cacircnd utilizatorul citeşte cu atenţie cinci minute o pagină WEB după care lămurit pe deplin

icircntrerupe legătura) Ca o particularizare binecunoscută a reţelelor cu comutaţie de circuite

trebuie menţionat că utilizatorul trebuie să plătească pentru icircntreaga 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 icircntre emiţător şi receptor

Informaţia ce urmează a fi transmisă formează o entitate bine precizată numita mesaj

Mesajele sunt complet independente unele faţă 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 icircl

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 icircntacircrzierea icircn 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 icircn

general rezultatul divizării mesajelor icircn 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)

Icircn cazul comutaţiei de pachete fără conexiune pachetele (numite şi datagrame) se transmit

independent icircn cel mai pur spirit al comutaţiei de mesaje urmacircnd rute posibil diferite

Sosirea lor la destinaţie poate avea loc icircntr-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 Proiect de diplomă SECTIA CALCULATOARE

suplimentară din fiecare pachet privitoare la mesajul din care face parte şi locul pe care icircl

ocupa icircn el Exemplul tipic de reţea care utilizează comutaţia de pachete este internetul

BComutaţia de pachete orientată pe conexiune (sau circuit virtual)

Icircn cazul comutaţiei de pachete orientată pe conexiune (sau circuit virtual) comunicarea

icircntre 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 icircnseamnă 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 icircntreaga cale La stabilirea circuitului

virtual fiecare comutator (router) trebuie să memoreze icircn tabela de dirijare care este

succesorul său icircn 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 Avacircnd memorat nodul succesor icircn fiecare dintre circuitele virtuale icircn care este

implicat comutatorul va identifica circuitul asociat pachetului şi icircl va transmite pe acesta pe

linia de ieşire corespunzătoare Tehnica circuitului virtual garantează livrarea icircn ordine a

pachetelor la destinaţie Exemple marcante de reţele ce utilizează comutaţia de pachete de tip

circuit virtual sunt X25 ş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ă icircn 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) icircn cazul unui trafic crescut la intrare Pierderea pachetelor garantarea unei

icircntacircrzieri maxime şi a unui debit utilizator constant sunt problemele spinoase ale comutaţiei

de pachete Ele reprezintă obstacole icircn special icircn calea oferirii serviciilor de timp real cum ar

fi telefonia

Icircn schimb icircn cazul transmisiilor de date avantajul bunei administrări a resurselor

prevalează De exemplu icircn cazul particular al interfeţei radio GSM cacircnd o staţie mobilă (MS)

generează un pachet de date reţeaua icircl va transmite pe un canal radio disponibil icircn 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 Proiect de diplomă SECTIA CALCULATOARE

transmis sau dacă nu alteia Icircn acest mod atacircta timp cacirct cineva are ceva de transmis

canalele radio nu sunt blocate inutil Lucrul icircn mod pachet are o eficienţă cu totul deosebită icircn

cazul unui trafic de date icircn 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 Atacirct HSCSD cacirct şi GPRS icircş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 icircn rafale fără pretenţii de timp real Diferenţa

fundamentală icircntre HSCSD şi GPRS este că acesta din urmă valorifică aceste resurse icircntr-un

mod mult mai eficient deoarece utilizează comutaţia de pachete Icircn plus costul serviciilor

oferite este mai atractiv deoarece utilizatorul plăteşte volumul de date transferat Practic dacă

doreşte utilizatorul poate fi sbquoconectatrsquo la reţeaua de date icircn permanenţă fiind taxat doar

pentru timpul icircn care efectiv utilizează resursele reţelei adică pentru pachetele de date

recepţionate respectiv transmise

243 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 Icircn general orice tip de aplicaţii ce necesită comunicaţii maşină - maşină la debite

mici şi medii sunt adecvate dezvoltării icircn mediul GPRS

Ca şi icircn reţeaua GSM reţelele GPRS pot oferi două categorii de servicii de

telecomunicaţii

servicii de bază

servicii suplimentare

Serviciile de bază GPRS

Acestea sunt icircn principal servicii suport (bearer services) de transport care realizează

transmiterea datelor cu comutaţie de pachete icircntre două interfeţe şi din teleservicii Similar

situaţiei din GSM aceste interfeţe sunt

interfaţa dintre echipamentul terminal de date (de exemplu calculator) şi terminalul

mobil GPRS

24

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

interfaţa dintre reţeaua GPRS şi reţeaua de date sau echipamentul terminal cu care

comunică Aceasta interfaţă este situată icircntr-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 icircn GSM aceste mesaje nu va mai fi icircncă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

servicii punct-la-punct (PTP ndashPoint-to-Point)

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

A Serviciul PTP

Serviciul punct la punct (PTP) [GSM 0260] permite transmiterea de pachete de date

icircntre doi utilizatori Este implementat icircn 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 icircntr-o reţea de date fixă (IP X25) Serviciul PTP poate fi oferit de

asemenea icircntre doi utilizatori mobili GPRS

Serviciul punct-la punct poate fi la racircndul sau de două tipuri

PTP fără conexiune (PTP-CLNS ndash PTP Connectinnless Network Service)

PTP orientat pe conexiune (PTP-CONS ndashPTP Connection Orientated Network

Network Service)

PTP-CLNS este un serviciu de tip datagramă ce utilizează comutaţia de pachete fără

conexiune Este util icircn cazul aplicaţiilor ce generează trafic icircn 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 Icircntre cei doi utilizatori se stabileşte un circuit virtual pentru o perioadă

25

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ce poate varia de la cacircteva secunde la ore Este util atacirct pentru aplicaţii ce generează trafic icircn

rafale cacirct şi pentru aplicaţiile interactive Are că scop asigurarea interoperării cu reţele X25 ş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ă icircn alta dar numai icircn interiorul aceleiaşi reţele GPRS-PLMN La trecerea terminalului

mobil icircntr-o altă reţea sau icircn 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 icircn faza a doua a GPRS O

comunicaţie PTM se stabileşte icircntre un furnizor de servicii (ce poate fi situat icircn afară reţelei

GSM) şi un grup de terminale GPRS Şi serviciul PTM este un serviciu ce se prezintă icircn două

variante

PTMndash multidistribuţie (PTM Multicast)

PTM- grup (PTM-G--PTMGroup)

Serviciul de transport PTM-M permite transmiterea pachetelor de date icircntr-o arie

geografică dată (celulă grup de celule) fără confirmare Receptorii serviciului sunt fie toţi

abonaţii care se găsesc icircn acea zonă fie un grup icircnchis de utilizatori

Icircn 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 icircn anumite zone

geografice Transmisia poate fi şi cu confirmare

Serviciile suplimentare

Printre serviciile suplimentare avute icircn vedere icircntr-un prim stadiu se numără

redirecţionarea necondiţionată a apelurilor redirecţionarea cacircnd abonatul nu este accesibil şi

definirea de grupuri icircnchise de utilizatori In afară de aceste servicii recomandarea GSM

0260 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 Proiect de diplomă SECTIA CALCULATOARE

244 Arhitectura GPRS

GPRS este o soluţie pentru operatori deoarece nu necesită modificări substanţiale icircn

reţeaua GSM Aşa cum se observă icircn figura 72 reţeaua nucleu a GPRS operează icircn paralel

cu GSM-NSS

Figura 23 Arhitectura reţelei GPRS

25 LabWindowsCVI

La dipecer am considerat un calculator desktop sau laptop pe care va rula o aplicaţie

de monitorizare a datelor măsurate implementată icircn LabWindowsCVI

LabWindowsCVI este o platformă pentru dezvoltare de software cu orientare pe

aplicaţii de instrumentaţie După cum se deduce din denumirea sa (CVI ndash 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 Icircmbină 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 Proiect de diplomă SECTIA CALCULATOARE

multiplele lui facilităţi icircl 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

bull Help on-line

bull Selectare şi declarare de variabile sau constante necesare

bull Execuţie interactivă

bull Inserarea funcţiei editate icircntr-un text sursă

Mediul este extrem de flexibil permiţacircnd interfaţarea bidirecţională cu alte compilatoare de

C sau C++ De asemenea se pot folosi şi DLL-uri

Puterea mediului LabWindowsCVI este dată de bibliotecile puse la dispoziţia

programatorului acestea conţinacircnd 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

bull de instrumente

bull pentru interfaţa GPIBGPIB 4882 (General Purpose Interface Bus)

bull pentru achiziţie de date

bull pentru operaţii IO icircn cazul achiziţiei de date

bull pentru interfaţa serială RS232

bull pentru sistemul VXI

Biblioteci specializate pentru analiza datelor

bull pentru IO

bull pentru formatarea specială

bull pentru analiză

bull pentru analiză avansată

Biblioteci specializate pentru vizualizare date

bull pentru crearea unei interfeţe utilizator de tip vizual

Biblioteci specializate pentru lucrul icircn reţea şi comunicarea icircntre diverse aplicaţii

bull pentru DDE (Dynamic Data Exchange)

bull pentru TCP (Transmision Control Protocol)

bull pentru sistemul X de sub Unix

Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

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

bull interfaţa cu utilizatorul

bull partea de control a aplicaţiei

bull partea specializată pentru achiziţia datelor

bull partea specializată icircn analiza respectivelor date

Mai jos prezentăm o schemă generică a aplicaţiilor CVI

Figura 24

Tipuri de fişiere folosite icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a unora dintre meniurile şi ferestrele mediului de dezvoltare CVI

Fereastra proiect

Prezentăm mai jos doar informaţiile suplimentare faţă de o fereastră proiect standard

Pe lacircngă datele curente despre fiecare fişier inclus icircn proiect acesta mai are precizat şi unul

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 icircn fişierul respectiv şi deci trebuie salvat

- C indică obligativitatea compilării respectivului fişier icircnainte de rularea aplicaţiei

- indică faptul că fişierul este deschis icircntr-o fereastră de editare

- indică ca acest fişier nu este deschis

Aplicaţii consolă

Pentru aplicaţiile tip consolă clasice C unde se folosesc pentru IO funcţiile scanf şi

printf vizualizarea ieşirii icircn mod text a acestora se va face icircntr-o fereastră specială numită

ldquoStandard InputOutput Windowrdquo

Observaţie Dacă se va programa icircn acest mod trebuie activată opţiunea ldquoBring Standard

InputOtput to front whenever modifyrdquo 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 cacircnd este activat evenimentele vor fi afişate icircn partea

dreaptă a barei de facilităţi

30

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a cacirctorva din meniurile mai importante ale generatorului

Menu Bars activează cutia de dialog care ne prezintă toate barele de meniu definite deja de

programator

Figura 25

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(fig26) permite specificarea sau modificarea caracteristicilor

unei bare de meniuri icircn curs de creare sau care există deja

31

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 26

Menu Bar Constant Prefix este identificatorul intern al respectivei bare de meniuri Acesta

va fi folosit de funcţia LoadMenuBar pentru icircncărcarea icircn memorie a parametrilor care conţin

această bară Va fi definit automat icircn fişierul header din scheletul de aplicaţie

Item se referă la numele meniului curentsubmeniucomandă de meniu Dacă icircn faţa primei

litere a unui element din meniu se adaugă 2 ldquounderscorerdquo 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 cacircnd 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 Proiect de diplomă SECTIA CALCULATOARE

ModifierKeyShortcutKey se combină pentru a ataşa o cheie ldquohotrdquo pentru elementul

curent

buton ce permite coboracircrea icircn interiorul unei ierarhii de meniuri

buton ce permite urcarea icircn interiorul unei ierarhii de meniuri

Panouri

După cum am spus sunt echivalentul ferestrelor din programarea Windows Pentru a le crea

Create1048774Panel ne pune la dispoziţie un nou panou icircn cadrul UIR-ului curent Prin dublu

ldquoclickrdquo pe acesta se va intra in fereastra de editare a caracteristicilor panoului Această

fereastră este prezentată mai jos

Figura 27

La partea de Menu Bar se poate specifica o bară din cele deja create icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 6: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

2Fundamentare teoretică

21 Noţiuni de teoria măsurătorilor

Metrologia este un domeniu al tehnicii cu rădăcini icircn spaţiul Fizicii si ramificaţii icircn

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ă ndash

valorică a marimilor fizice Metrologia ndash ca disciplină de sine stătătoare ndash se referă la icircntregul

ansamblu al fenomenelor fizice pe care le studiaza dintr-un punct de vedere propriu şi anume

acela al masurării care este ndash icircn esenţă ndash o comparare experimentală de mărimi ea

stabilind standardele unităţilor de masură şi ale etaloanelor de referinţă pentru aceste unităţi

procedeele de comparare a mărimilor cu etaloanele şi caracteristicile de performanţă (ca

interval game rezoluţie sensibilitate fidelitate dinamică mobilitate precizie etc care ndash icircn

general ndash se numesc caracteristici metrologice) Aplicaţiile metrologiei adică 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

211 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 ndash mai general ndash ale

unui sistem şi redarea lor icircntr-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ă icircn procesul continuu de cunoaştere comunicare şi conducere (decizie) Prin

identificarea proceselor şi modelarea lor (adică prin reprezentarea matematică a relaţiilor din

sistemul analizat) se stabilesc anumite proprietăţi (elemente specifice) diferite calitativ pe

care le putem denumi mărimi (sau specii de mărimi ndash pentru a le preciza natura lor diferită) si

anumite corelaţii icircntre ele descrise matematic prin legi ndash dacă sunt deduse experimental sau

9

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

prin teoreme formule etc ndash daca sunt stabilite deductiv din legi Icircn acest sens după cum se

ştie mărimile (speciile de mărimi) se diferenţiază (clasifică) icircn mărimi primitive şi mărimi

derivate Cunoaşterea sistemului (stărilor sistemului icircn evoluţia lui) icircn 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 decacirct experimental (ldquope viurdquo si icircn ldquotimp realrdquo) prin măsurări

ceea ce explică rolul cognitiv de comunicare si decizional (mai cuprinzator informaţional) al

măsurărilor

Icircn acest context mai trebuie precizat ca utilizatorul (observatorul) ndash adică

ldquobeneficiarulrdquo icircn activitatea de măsurare ndash poate fi uman sau de tip maşină (icircn cazul

sistemelor automate) Determinarea cantitativă prin măsurare a speciilor de mărimi diferite

calitativ nu se poate realiza decacirct icircn raport cu mărimi de aceeaşi specie (aceeaşi natura fizica)

alese ca unităţi cantitative numite unităţi de măsură fixate icircn mod convenţional dar icircn 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 ldquoeste operaţia prin care se stabileşte pe cale experimentală raportul

numeric icircntre mărimea de măsurat si o valoare (ldquocantitaterdquo) oarecare a acesteia luată ca

unitate de măsurărdquo

Din punctul de vedere tehnic ldquomăsurarea este operaţia experimentală prin care se

determină cu ajutorul unor mijloace de măsurat valoarea numerică a unei mărimi (numită

masurand) icircn raport cu o unitate de măsură datărdquo 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 ndash mai rar ndash R2 (altfel

spus se stabileşte o relaţie icircntre valoarea unei marimi X si un numar real Xm R)

212 Procesul de masurare

Ansamblul operaţiilor experimentale care se execută icircn scopul obţinerii rezultatului

măsurării sub forma unei percepţii realizată de observatorul-utilizator (operatorul ce

efectuează măsurarea) constituie procesul de măsurare Orice proces de măsurare are

urmatoarele componente principale

- mărimea de măsurat (măsurandul)

- metoda de măsurare

- mijlocul (aparatul) de măsurat

10

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

- măsura (etalonul)

- operatorul (observatorul) şi

- prelucrarea ndash tratarea datelor

care ndash icircn funcţie de domeniul precizia şi scopul măsurării ndash 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 ndash beneficiar al măsurarii (exigenţe destul de nuanţate icircn 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 icircn general

Un exemplu particular al acestei mari varietaţi o constituie icircnseşi măsurarile

electronice (care au ca măsurand specii diverse cum sunt mărimile de stare ale cacircmpului

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)

213 Erori de măsurare

Icircn practică se constată că rezultatul unei măsurări nu depinde numai de valoarea

măsurandului el putacircnd 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 icircn procesul de măsurare se definesc

urmatoarele valori

Valoarea adevarată (reala) Xa a unei mărimi este valoarea exacta a mărimii

respective icircn condiţiile existenţe la un moment dat De obicei valoarea adevarată a unei

mărimi nu poate fi determinată experimental ea icircnlocuindu-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

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ţă de valoarea

adevarată a măsurandului constituie eroarea de măsurare

Intervalul icircn care se estimează cu o anumita probabilitate numită nivel de icircncredere

ca se afla valoarea adevarată a măsurandului se numeste incertitudine de măsurare

11

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

incertitudinea de măsurare estimează limitele erorilor de măsurare Pentru o estimare

obiectivă este necesar ca icircmpreună cu rezultatul măsurarii să se specifice atacirct erorile cacirct şi

incertitudinea de măsurare Icircn figura 21 sunt reprezentate schematic noţiunile prezentate

anterior

Figura 21

Fig 11 Explicativă privind valoarea adevarată valoarea măsurată

valoarea convenţional adevarată eroarea de măsurare şi incertitudinea

de măsurare

214Clasificarea erorilor de măsură

Deoarece cauzele erorilor de măsurare sunt numeroase există şi multe criteri de

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

următoare

Figura 22

12

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

215 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 Icircn

afara acestor două roluri prin care se ldquodefineşterdquo o unitate de măsura etaloanele mai sunt

utilizate icircn operaţiile de calibrare şi icircn icircnsuşi procesul de măsurare (de icircnaltă precizie) ca

elemente de referinţă precum şi icircn construcţia unor aparate (dispozitive) utilizate icircn alte

scopuri decacirct mşsurarea propriu-zisa (ca de exemplu dispozitive de automatizare

stabilizatoare electronice generatoare de semnal etc)

Calibrarea icircnseamnă ndash icircn metrologie ndash compararea unui aparat de măsurat cu un

etalon icircn scopul gradării sau ajustării verificării sau etalonării aparatului de masurat

Elementul de referinţă este un etalon care asigură (ldquofurnizeazardquo) o mărime fizică anume cu

o valoare bine cunoscută (cu o precizie metrologică corespunzatoare scopului urmarit)

Un etalon trebuie să fie invariabil icircn timp şi icircn spaţiu să poata fi folosit usor icircn tehnică

şi să poată fi reconstituit oricacircnd Unicitatea şi conformitatea măsurărilor icircn orice loc şi la

orice moment impun realizarea unui sistem de etaloane care să

asigure

- generarea principalelor unităti de măsură icircn conformitate cu definiţiile lor din SI

(adică ldquomaterializarea ldquo definiţiilor prin experimente adecvate)

- menţinerea (conservarea) acestor unităţi de măsură constante icircn timp icircn toate

laboratoarele metrologice pe plan mondial

- corelarea icircntre 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 icircn activitatea metrologică se efectuează icircn

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 icircn principal cele fundamentale aşa cum este ndash de exemplu ndash determinarea absolută

a amperului cu ajutorul balanţei de curent)

- etaloane de conservare (adică etaloanele de menţinere a unităţii de măsură cu o mare

stabilitate icircn timp şi faţă de influenţele exterioare de mediu)

- etaloanele de transfer (adica cele care asigura etalonarea tuturor tipurilor

13

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

de aparate de masurat icircn intervale largi de valori ale masurandului pentru marimi constante

sau variabile icircn timp) asa cum sunt etaloanele de raport etaloanele de derivare si etaloanele

de transfer (curent continuu ndash curent alternativ) prin compararea efectelor (termice

electrodinamice etc) ale semnalelor de curent sau tensiune produse asupra unui acelaşi

element sensibil

22 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ţă şi aplicaţiile la care sunt conectate De fapt M2M este o

evoluţie comercială a tradiţionalelor sisteme de control al echipamentelor din domeniul

industrial soluţie aplicată cu succes pentru prima dată de NASA Adaptată nevoilor

companiilor (un rol important l-a jucat compania France Telecom) M2M permite companiilor

sa administreze mai uşor echipamentele aflate la distanţă si să le integreze cu procesele

interne

Zona soluţiilor M2M este cotată ca fiind una dintre cele mai promiţătoare in

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 Proiect de diplomă SECTIA CALCULATOARE

23 Limbajul Python

Icircn cadrul unei instalaţii de telemetrie modemurile deţin memorie şi processor propriu

motiv pentru care se numesc ldquointeligenterdquo Pe lacircngă memorie şi processor aceste modemuri

inteligente au şi un interpretor al unui limbaj de programare de nivel icircnalt Icircn 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 cacircteva zile

231 Tipuri de date

Sunt 3 grupuri de tipuri de date in Python

Scalari ndash 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ă icircn Python

a = 7 7 (integer)

a = str(2a) + bytes 7 bytes (string)

15

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Icircn Python variabilele nu sunt declarate icircn script ele apar doar atunci cand sunt folosite

232 Operatori

Icircn Python există următorii operatori

Operatori aritmetici

+ - ~ ltlt gtgt amp ^ |

Operatori relaţionali şi logici

is in lt lt= gt gt= == = not and or

Operatori de asignare

= += -= = = = = ltlt= gtgt= amp= ^= |=

Alţi operatori

( ) [ ] [] `` lambda

233 Comenzi compuse

Comenzile care aparţin aceluiaşi grup logic sunt deplasate spre dreapta cu acelaş

număr de spaţii albe

if a gt 0

b = 1

c = 2

De obicei fiecare comandă icircncepe pe o linie nouă

16

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

O instrucţiune se poate continua pe racircndul următor prin plasarea caracterului backslash

la sfacircrsitul randului Acest lucru nu este necesar dacă există paranteze deschise

my_list = [1

[abc 2]

-3+6j]

print my_list

234 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 gt b

print a is greater than b

elif a lt b

print a is lower than b

else

print a equals b

Se poate folosi si interval prescurtate de testare

if 2 lt= a lt= 7

print a is in the interval [2 7]

235 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ăacirc

numbers = [ ]

i = 0

while i lt 100

17

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

numbersappend(i)

i = i + 1

O buclă similar for arată in felul următor

numbers = [ ]

for i in range(100)

numbersappend(i)

Icircn 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

24 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

- GSMGPRS

- Fibră Optică

Opţiunea pentru care am optat icircn partea de comunicaţie este GSMGPRS 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ămacircne

comutat prin MSC

Datele sunt transmise prin GPRS icircn 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 Proiect de diplomă SECTIA CALCULATOARE

dată de introducerea codării adaptive a canalului Aceasta icircnseamnă că protecţia datelor

variază icircn timp icircn funcţie de starea canalului radio GPRS poate utiliza pentru o conexiune

de date de la fracţiuni de canale de trafic pacircnă la maximum 8 sloturi temporale (adică tot

cadrul TDMA) icircn funcţie de resursele disponibile

Capacitatea alocată unei conexiuni va varia icircn funcţie de icircncărcarea cu trafic de pe

frecvenţa respectivă precum şi de tipul traficului (vocedate) Este important că utilizacircnd

comutaţia de pachete o transmisie de date nu ocupă resursele reţelei decacirct atunci cacircnd sunt

date de transmis Cacircnd 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ă icircn paralel cu subsistemul reţea şi comutaţie (NSS) al GSM care va

gestiona icircn continuare transmisia cu comutaţie de circuite

241 Caracteristicile sistemului GPRS

GPRS este un serviciu specificat icircn faza 2+ de standardizare a GSM El este oferit prin

intermediul unei infrastructuri numită şi sistem sau reţea GPRS ce interoperează cu

infrastructura bdquoclasicărdquo GSM

GPRS se icircncadrează icircn orientarea generală a ETSI de a asigura prin aza 2+ o platformă

ce va putea fi utilizată ulterior icircn reţele de generaţia a treia Astfel el este onsiderat

actualmente soluţia de bază pentru transmiterea de date icircn 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ă (25G)

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ă icircn acest moment (atacirct la

25G cacirct şi icircn 3G) doar la transmiterea datelor vocea rămacircnacircnd icircn continuare comutată prin

MSC Datorită eternei insuficienţe a resurselor radio este probabil ca icircntr-o fază nu prea

icircndepă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

Icircn concluzie GPRS reprezintă o infrastructura ce permite transmiterea datelor pe baza

comutaţiei de pachete icircntr-o reţea GSM

19

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Pentru a putea oferi debite de date mai ridicate icircn GPRS se urmăreşte utilizarea cacirct

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 Icircn ciuda acestor asemănări icircnlocuirea comutaţiei de circuite cu cea de

pachete face din GPRS un sistem complet diferit de HSCSD Aceasta atacirct 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)

Rezumacircnd icircn 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ă atacirct din experienţa

sistemelor anterioare cacirct şi mai ales din operarea icircn modul pachet a datelor ce se transmit

Soluţiile utilizate sunt

creşterea ratei de transmisie a datelor prin reducerea codării canalului (sunt definite

şi pot

fi utilizate 4 scheme de codare 905kbps 134 kbps 156 kbps 214kbps)

creşterea ratei de transmisie prin operare multislot ( pacircnă 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ă uplinkdownlink

creşterea eficienţei utilizării resurselor radio prin alocarea dinamică a canalelor icircntre

servicii comutate icircn mod circuit respectiv pachet

Cacircnd un icircntreg cadru TDMA este alocat unui utilizator cu schema de protecţie minimă

(practic fără corecţie de erori) rezultă rata utilă instantanee maximă posibilă icircn GPRS

(8x214 kbps=1712 kbps)

242 Comutaţie de circuite şi comutaţie de pachete

20

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comutaţia este o tehnică esenţială icircn 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

comutaţia de circuite

comutaţia de mesaje

comutaţia de pachete

Comutaţia de circuite

Aceasta presupune realizarea icircntre emiţător şi receptor a unei căi fizice de comutaţie

dedicate numită circuit Icircntreaga comunicaţie se desfăşoară icircn trei etape

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 icircnainte de

icircnceperea 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

asigurarea unei icircntacircrzieri constante şi minime

garantarea unui debit util corespunzător mediului de comunicaţie şi serviciului utilizat

Toate acestea facilitează oferirea serviciilor de timp real (telefonie videofonie alte

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 icircn cazul HSCSD) unei staţii mobile

(MS) Acest canal rămacircne icircn posesia terminalului mobil pe toata durata conexiunii chiar dacă

transferul de date este discontinuu (icircn rafale) sau chiar icircncetează cu desăvacircrşire (de exemplu

21

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

cacircnd utilizatorul citeşte cu atenţie cinci minute o pagină WEB după care lămurit pe deplin

icircntrerupe legătura) Ca o particularizare binecunoscută a reţelelor cu comutaţie de circuite

trebuie menţionat că utilizatorul trebuie să plătească pentru icircntreaga 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 icircntre emiţător şi receptor

Informaţia ce urmează a fi transmisă formează o entitate bine precizată numita mesaj

Mesajele sunt complet independente unele faţă 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 icircl

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 icircntacircrzierea icircn 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 icircn

general rezultatul divizării mesajelor icircn 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)

Icircn cazul comutaţiei de pachete fără conexiune pachetele (numite şi datagrame) se transmit

independent icircn cel mai pur spirit al comutaţiei de mesaje urmacircnd rute posibil diferite

Sosirea lor la destinaţie poate avea loc icircntr-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 Proiect de diplomă SECTIA CALCULATOARE

suplimentară din fiecare pachet privitoare la mesajul din care face parte şi locul pe care icircl

ocupa icircn el Exemplul tipic de reţea care utilizează comutaţia de pachete este internetul

BComutaţia de pachete orientată pe conexiune (sau circuit virtual)

Icircn cazul comutaţiei de pachete orientată pe conexiune (sau circuit virtual) comunicarea

icircntre 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 icircnseamnă 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 icircntreaga cale La stabilirea circuitului

virtual fiecare comutator (router) trebuie să memoreze icircn tabela de dirijare care este

succesorul său icircn 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 Avacircnd memorat nodul succesor icircn fiecare dintre circuitele virtuale icircn care este

implicat comutatorul va identifica circuitul asociat pachetului şi icircl va transmite pe acesta pe

linia de ieşire corespunzătoare Tehnica circuitului virtual garantează livrarea icircn ordine a

pachetelor la destinaţie Exemple marcante de reţele ce utilizează comutaţia de pachete de tip

circuit virtual sunt X25 ş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ă icircn 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) icircn cazul unui trafic crescut la intrare Pierderea pachetelor garantarea unei

icircntacircrzieri maxime şi a unui debit utilizator constant sunt problemele spinoase ale comutaţiei

de pachete Ele reprezintă obstacole icircn special icircn calea oferirii serviciilor de timp real cum ar

fi telefonia

Icircn schimb icircn cazul transmisiilor de date avantajul bunei administrări a resurselor

prevalează De exemplu icircn cazul particular al interfeţei radio GSM cacircnd o staţie mobilă (MS)

generează un pachet de date reţeaua icircl va transmite pe un canal radio disponibil icircn 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 Proiect de diplomă SECTIA CALCULATOARE

transmis sau dacă nu alteia Icircn acest mod atacircta timp cacirct cineva are ceva de transmis

canalele radio nu sunt blocate inutil Lucrul icircn mod pachet are o eficienţă cu totul deosebită icircn

cazul unui trafic de date icircn 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 Atacirct HSCSD cacirct şi GPRS icircş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 icircn rafale fără pretenţii de timp real Diferenţa

fundamentală icircntre HSCSD şi GPRS este că acesta din urmă valorifică aceste resurse icircntr-un

mod mult mai eficient deoarece utilizează comutaţia de pachete Icircn plus costul serviciilor

oferite este mai atractiv deoarece utilizatorul plăteşte volumul de date transferat Practic dacă

doreşte utilizatorul poate fi sbquoconectatrsquo la reţeaua de date icircn permanenţă fiind taxat doar

pentru timpul icircn care efectiv utilizează resursele reţelei adică pentru pachetele de date

recepţionate respectiv transmise

243 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 Icircn general orice tip de aplicaţii ce necesită comunicaţii maşină - maşină la debite

mici şi medii sunt adecvate dezvoltării icircn mediul GPRS

Ca şi icircn reţeaua GSM reţelele GPRS pot oferi două categorii de servicii de

telecomunicaţii

servicii de bază

servicii suplimentare

Serviciile de bază GPRS

Acestea sunt icircn principal servicii suport (bearer services) de transport care realizează

transmiterea datelor cu comutaţie de pachete icircntre două interfeţe şi din teleservicii Similar

situaţiei din GSM aceste interfeţe sunt

interfaţa dintre echipamentul terminal de date (de exemplu calculator) şi terminalul

mobil GPRS

24

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

interfaţa dintre reţeaua GPRS şi reţeaua de date sau echipamentul terminal cu care

comunică Aceasta interfaţă este situată icircntr-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 icircn GSM aceste mesaje nu va mai fi icircncă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

servicii punct-la-punct (PTP ndashPoint-to-Point)

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

A Serviciul PTP

Serviciul punct la punct (PTP) [GSM 0260] permite transmiterea de pachete de date

icircntre doi utilizatori Este implementat icircn 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 icircntr-o reţea de date fixă (IP X25) Serviciul PTP poate fi oferit de

asemenea icircntre doi utilizatori mobili GPRS

Serviciul punct-la punct poate fi la racircndul sau de două tipuri

PTP fără conexiune (PTP-CLNS ndash PTP Connectinnless Network Service)

PTP orientat pe conexiune (PTP-CONS ndashPTP Connection Orientated Network

Network Service)

PTP-CLNS este un serviciu de tip datagramă ce utilizează comutaţia de pachete fără

conexiune Este util icircn cazul aplicaţiilor ce generează trafic icircn 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 Icircntre cei doi utilizatori se stabileşte un circuit virtual pentru o perioadă

25

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ce poate varia de la cacircteva secunde la ore Este util atacirct pentru aplicaţii ce generează trafic icircn

rafale cacirct şi pentru aplicaţiile interactive Are că scop asigurarea interoperării cu reţele X25 ş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ă icircn alta dar numai icircn interiorul aceleiaşi reţele GPRS-PLMN La trecerea terminalului

mobil icircntr-o altă reţea sau icircn 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 icircn faza a doua a GPRS O

comunicaţie PTM se stabileşte icircntre un furnizor de servicii (ce poate fi situat icircn afară reţelei

GSM) şi un grup de terminale GPRS Şi serviciul PTM este un serviciu ce se prezintă icircn două

variante

PTMndash multidistribuţie (PTM Multicast)

PTM- grup (PTM-G--PTMGroup)

Serviciul de transport PTM-M permite transmiterea pachetelor de date icircntr-o arie

geografică dată (celulă grup de celule) fără confirmare Receptorii serviciului sunt fie toţi

abonaţii care se găsesc icircn acea zonă fie un grup icircnchis de utilizatori

Icircn 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 icircn anumite zone

geografice Transmisia poate fi şi cu confirmare

Serviciile suplimentare

Printre serviciile suplimentare avute icircn vedere icircntr-un prim stadiu se numără

redirecţionarea necondiţionată a apelurilor redirecţionarea cacircnd abonatul nu este accesibil şi

definirea de grupuri icircnchise de utilizatori In afară de aceste servicii recomandarea GSM

0260 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 Proiect de diplomă SECTIA CALCULATOARE

244 Arhitectura GPRS

GPRS este o soluţie pentru operatori deoarece nu necesită modificări substanţiale icircn

reţeaua GSM Aşa cum se observă icircn figura 72 reţeaua nucleu a GPRS operează icircn paralel

cu GSM-NSS

Figura 23 Arhitectura reţelei GPRS

25 LabWindowsCVI

La dipecer am considerat un calculator desktop sau laptop pe care va rula o aplicaţie

de monitorizare a datelor măsurate implementată icircn LabWindowsCVI

LabWindowsCVI este o platformă pentru dezvoltare de software cu orientare pe

aplicaţii de instrumentaţie După cum se deduce din denumirea sa (CVI ndash 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 Icircmbină 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 Proiect de diplomă SECTIA CALCULATOARE

multiplele lui facilităţi icircl 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

bull Help on-line

bull Selectare şi declarare de variabile sau constante necesare

bull Execuţie interactivă

bull Inserarea funcţiei editate icircntr-un text sursă

Mediul este extrem de flexibil permiţacircnd interfaţarea bidirecţională cu alte compilatoare de

C sau C++ De asemenea se pot folosi şi DLL-uri

Puterea mediului LabWindowsCVI este dată de bibliotecile puse la dispoziţia

programatorului acestea conţinacircnd 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

bull de instrumente

bull pentru interfaţa GPIBGPIB 4882 (General Purpose Interface Bus)

bull pentru achiziţie de date

bull pentru operaţii IO icircn cazul achiziţiei de date

bull pentru interfaţa serială RS232

bull pentru sistemul VXI

Biblioteci specializate pentru analiza datelor

bull pentru IO

bull pentru formatarea specială

bull pentru analiză

bull pentru analiză avansată

Biblioteci specializate pentru vizualizare date

bull pentru crearea unei interfeţe utilizator de tip vizual

Biblioteci specializate pentru lucrul icircn reţea şi comunicarea icircntre diverse aplicaţii

bull pentru DDE (Dynamic Data Exchange)

bull pentru TCP (Transmision Control Protocol)

bull pentru sistemul X de sub Unix

Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

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

bull interfaţa cu utilizatorul

bull partea de control a aplicaţiei

bull partea specializată pentru achiziţia datelor

bull partea specializată icircn analiza respectivelor date

Mai jos prezentăm o schemă generică a aplicaţiilor CVI

Figura 24

Tipuri de fişiere folosite icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a unora dintre meniurile şi ferestrele mediului de dezvoltare CVI

Fereastra proiect

Prezentăm mai jos doar informaţiile suplimentare faţă de o fereastră proiect standard

Pe lacircngă datele curente despre fiecare fişier inclus icircn proiect acesta mai are precizat şi unul

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 icircn fişierul respectiv şi deci trebuie salvat

- C indică obligativitatea compilării respectivului fişier icircnainte de rularea aplicaţiei

- indică faptul că fişierul este deschis icircntr-o fereastră de editare

- indică ca acest fişier nu este deschis

Aplicaţii consolă

Pentru aplicaţiile tip consolă clasice C unde se folosesc pentru IO funcţiile scanf şi

printf vizualizarea ieşirii icircn mod text a acestora se va face icircntr-o fereastră specială numită

ldquoStandard InputOutput Windowrdquo

Observaţie Dacă se va programa icircn acest mod trebuie activată opţiunea ldquoBring Standard

InputOtput to front whenever modifyrdquo 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 cacircnd este activat evenimentele vor fi afişate icircn partea

dreaptă a barei de facilităţi

30

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a cacirctorva din meniurile mai importante ale generatorului

Menu Bars activează cutia de dialog care ne prezintă toate barele de meniu definite deja de

programator

Figura 25

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(fig26) permite specificarea sau modificarea caracteristicilor

unei bare de meniuri icircn curs de creare sau care există deja

31

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 26

Menu Bar Constant Prefix este identificatorul intern al respectivei bare de meniuri Acesta

va fi folosit de funcţia LoadMenuBar pentru icircncărcarea icircn memorie a parametrilor care conţin

această bară Va fi definit automat icircn fişierul header din scheletul de aplicaţie

Item se referă la numele meniului curentsubmeniucomandă de meniu Dacă icircn faţa primei

litere a unui element din meniu se adaugă 2 ldquounderscorerdquo 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 cacircnd 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 Proiect de diplomă SECTIA CALCULATOARE

ModifierKeyShortcutKey se combină pentru a ataşa o cheie ldquohotrdquo pentru elementul

curent

buton ce permite coboracircrea icircn interiorul unei ierarhii de meniuri

buton ce permite urcarea icircn interiorul unei ierarhii de meniuri

Panouri

După cum am spus sunt echivalentul ferestrelor din programarea Windows Pentru a le crea

Create1048774Panel ne pune la dispoziţie un nou panou icircn cadrul UIR-ului curent Prin dublu

ldquoclickrdquo pe acesta se va intra in fereastra de editare a caracteristicilor panoului Această

fereastră este prezentată mai jos

Figura 27

La partea de Menu Bar se poate specifica o bară din cele deja create icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 7: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

prin teoreme formule etc ndash daca sunt stabilite deductiv din legi Icircn acest sens după cum se

ştie mărimile (speciile de mărimi) se diferenţiază (clasifică) icircn mărimi primitive şi mărimi

derivate Cunoaşterea sistemului (stărilor sistemului icircn evoluţia lui) icircn 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 decacirct experimental (ldquope viurdquo si icircn ldquotimp realrdquo) prin măsurări

ceea ce explică rolul cognitiv de comunicare si decizional (mai cuprinzator informaţional) al

măsurărilor

Icircn acest context mai trebuie precizat ca utilizatorul (observatorul) ndash adică

ldquobeneficiarulrdquo icircn activitatea de măsurare ndash poate fi uman sau de tip maşină (icircn cazul

sistemelor automate) Determinarea cantitativă prin măsurare a speciilor de mărimi diferite

calitativ nu se poate realiza decacirct icircn raport cu mărimi de aceeaşi specie (aceeaşi natura fizica)

alese ca unităţi cantitative numite unităţi de măsură fixate icircn mod convenţional dar icircn 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 ldquoeste operaţia prin care se stabileşte pe cale experimentală raportul

numeric icircntre mărimea de măsurat si o valoare (ldquocantitaterdquo) oarecare a acesteia luată ca

unitate de măsurărdquo

Din punctul de vedere tehnic ldquomăsurarea este operaţia experimentală prin care se

determină cu ajutorul unor mijloace de măsurat valoarea numerică a unei mărimi (numită

masurand) icircn raport cu o unitate de măsură datărdquo 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 ndash mai rar ndash R2 (altfel

spus se stabileşte o relaţie icircntre valoarea unei marimi X si un numar real Xm R)

212 Procesul de masurare

Ansamblul operaţiilor experimentale care se execută icircn scopul obţinerii rezultatului

măsurării sub forma unei percepţii realizată de observatorul-utilizator (operatorul ce

efectuează măsurarea) constituie procesul de măsurare Orice proces de măsurare are

urmatoarele componente principale

- mărimea de măsurat (măsurandul)

- metoda de măsurare

- mijlocul (aparatul) de măsurat

10

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

- măsura (etalonul)

- operatorul (observatorul) şi

- prelucrarea ndash tratarea datelor

care ndash icircn funcţie de domeniul precizia şi scopul măsurării ndash 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 ndash beneficiar al măsurarii (exigenţe destul de nuanţate icircn 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 icircn general

Un exemplu particular al acestei mari varietaţi o constituie icircnseşi măsurarile

electronice (care au ca măsurand specii diverse cum sunt mărimile de stare ale cacircmpului

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)

213 Erori de măsurare

Icircn practică se constată că rezultatul unei măsurări nu depinde numai de valoarea

măsurandului el putacircnd 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 icircn procesul de măsurare se definesc

urmatoarele valori

Valoarea adevarată (reala) Xa a unei mărimi este valoarea exacta a mărimii

respective icircn condiţiile existenţe la un moment dat De obicei valoarea adevarată a unei

mărimi nu poate fi determinată experimental ea icircnlocuindu-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

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ţă de valoarea

adevarată a măsurandului constituie eroarea de măsurare

Intervalul icircn care se estimează cu o anumita probabilitate numită nivel de icircncredere

ca se afla valoarea adevarată a măsurandului se numeste incertitudine de măsurare

11

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

incertitudinea de măsurare estimează limitele erorilor de măsurare Pentru o estimare

obiectivă este necesar ca icircmpreună cu rezultatul măsurarii să se specifice atacirct erorile cacirct şi

incertitudinea de măsurare Icircn figura 21 sunt reprezentate schematic noţiunile prezentate

anterior

Figura 21

Fig 11 Explicativă privind valoarea adevarată valoarea măsurată

valoarea convenţional adevarată eroarea de măsurare şi incertitudinea

de măsurare

214Clasificarea erorilor de măsură

Deoarece cauzele erorilor de măsurare sunt numeroase există şi multe criteri de

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

următoare

Figura 22

12

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

215 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 Icircn

afara acestor două roluri prin care se ldquodefineşterdquo o unitate de măsura etaloanele mai sunt

utilizate icircn operaţiile de calibrare şi icircn icircnsuşi procesul de măsurare (de icircnaltă precizie) ca

elemente de referinţă precum şi icircn construcţia unor aparate (dispozitive) utilizate icircn alte

scopuri decacirct mşsurarea propriu-zisa (ca de exemplu dispozitive de automatizare

stabilizatoare electronice generatoare de semnal etc)

Calibrarea icircnseamnă ndash icircn metrologie ndash compararea unui aparat de măsurat cu un

etalon icircn scopul gradării sau ajustării verificării sau etalonării aparatului de masurat

Elementul de referinţă este un etalon care asigură (ldquofurnizeazardquo) o mărime fizică anume cu

o valoare bine cunoscută (cu o precizie metrologică corespunzatoare scopului urmarit)

Un etalon trebuie să fie invariabil icircn timp şi icircn spaţiu să poata fi folosit usor icircn tehnică

şi să poată fi reconstituit oricacircnd Unicitatea şi conformitatea măsurărilor icircn orice loc şi la

orice moment impun realizarea unui sistem de etaloane care să

asigure

- generarea principalelor unităti de măsură icircn conformitate cu definiţiile lor din SI

(adică ldquomaterializarea ldquo definiţiilor prin experimente adecvate)

- menţinerea (conservarea) acestor unităţi de măsură constante icircn timp icircn toate

laboratoarele metrologice pe plan mondial

- corelarea icircntre 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 icircn activitatea metrologică se efectuează icircn

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 icircn principal cele fundamentale aşa cum este ndash de exemplu ndash determinarea absolută

a amperului cu ajutorul balanţei de curent)

- etaloane de conservare (adică etaloanele de menţinere a unităţii de măsură cu o mare

stabilitate icircn timp şi faţă de influenţele exterioare de mediu)

- etaloanele de transfer (adica cele care asigura etalonarea tuturor tipurilor

13

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

de aparate de masurat icircn intervale largi de valori ale masurandului pentru marimi constante

sau variabile icircn timp) asa cum sunt etaloanele de raport etaloanele de derivare si etaloanele

de transfer (curent continuu ndash curent alternativ) prin compararea efectelor (termice

electrodinamice etc) ale semnalelor de curent sau tensiune produse asupra unui acelaşi

element sensibil

22 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ţă şi aplicaţiile la care sunt conectate De fapt M2M este o

evoluţie comercială a tradiţionalelor sisteme de control al echipamentelor din domeniul

industrial soluţie aplicată cu succes pentru prima dată de NASA Adaptată nevoilor

companiilor (un rol important l-a jucat compania France Telecom) M2M permite companiilor

sa administreze mai uşor echipamentele aflate la distanţă si să le integreze cu procesele

interne

Zona soluţiilor M2M este cotată ca fiind una dintre cele mai promiţătoare in

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 Proiect de diplomă SECTIA CALCULATOARE

23 Limbajul Python

Icircn cadrul unei instalaţii de telemetrie modemurile deţin memorie şi processor propriu

motiv pentru care se numesc ldquointeligenterdquo Pe lacircngă memorie şi processor aceste modemuri

inteligente au şi un interpretor al unui limbaj de programare de nivel icircnalt Icircn 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 cacircteva zile

231 Tipuri de date

Sunt 3 grupuri de tipuri de date in Python

Scalari ndash 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ă icircn Python

a = 7 7 (integer)

a = str(2a) + bytes 7 bytes (string)

15

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Icircn Python variabilele nu sunt declarate icircn script ele apar doar atunci cand sunt folosite

232 Operatori

Icircn Python există următorii operatori

Operatori aritmetici

+ - ~ ltlt gtgt amp ^ |

Operatori relaţionali şi logici

is in lt lt= gt gt= == = not and or

Operatori de asignare

= += -= = = = = ltlt= gtgt= amp= ^= |=

Alţi operatori

( ) [ ] [] `` lambda

233 Comenzi compuse

Comenzile care aparţin aceluiaşi grup logic sunt deplasate spre dreapta cu acelaş

număr de spaţii albe

if a gt 0

b = 1

c = 2

De obicei fiecare comandă icircncepe pe o linie nouă

16

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

O instrucţiune se poate continua pe racircndul următor prin plasarea caracterului backslash

la sfacircrsitul randului Acest lucru nu este necesar dacă există paranteze deschise

my_list = [1

[abc 2]

-3+6j]

print my_list

234 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 gt b

print a is greater than b

elif a lt b

print a is lower than b

else

print a equals b

Se poate folosi si interval prescurtate de testare

if 2 lt= a lt= 7

print a is in the interval [2 7]

235 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ăacirc

numbers = [ ]

i = 0

while i lt 100

17

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

numbersappend(i)

i = i + 1

O buclă similar for arată in felul următor

numbers = [ ]

for i in range(100)

numbersappend(i)

Icircn 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

24 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

- GSMGPRS

- Fibră Optică

Opţiunea pentru care am optat icircn partea de comunicaţie este GSMGPRS 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ămacircne

comutat prin MSC

Datele sunt transmise prin GPRS icircn 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 Proiect de diplomă SECTIA CALCULATOARE

dată de introducerea codării adaptive a canalului Aceasta icircnseamnă că protecţia datelor

variază icircn timp icircn funcţie de starea canalului radio GPRS poate utiliza pentru o conexiune

de date de la fracţiuni de canale de trafic pacircnă la maximum 8 sloturi temporale (adică tot

cadrul TDMA) icircn funcţie de resursele disponibile

Capacitatea alocată unei conexiuni va varia icircn funcţie de icircncărcarea cu trafic de pe

frecvenţa respectivă precum şi de tipul traficului (vocedate) Este important că utilizacircnd

comutaţia de pachete o transmisie de date nu ocupă resursele reţelei decacirct atunci cacircnd sunt

date de transmis Cacircnd 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ă icircn paralel cu subsistemul reţea şi comutaţie (NSS) al GSM care va

gestiona icircn continuare transmisia cu comutaţie de circuite

241 Caracteristicile sistemului GPRS

GPRS este un serviciu specificat icircn faza 2+ de standardizare a GSM El este oferit prin

intermediul unei infrastructuri numită şi sistem sau reţea GPRS ce interoperează cu

infrastructura bdquoclasicărdquo GSM

GPRS se icircncadrează icircn orientarea generală a ETSI de a asigura prin aza 2+ o platformă

ce va putea fi utilizată ulterior icircn reţele de generaţia a treia Astfel el este onsiderat

actualmente soluţia de bază pentru transmiterea de date icircn 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ă (25G)

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ă icircn acest moment (atacirct la

25G cacirct şi icircn 3G) doar la transmiterea datelor vocea rămacircnacircnd icircn continuare comutată prin

MSC Datorită eternei insuficienţe a resurselor radio este probabil ca icircntr-o fază nu prea

icircndepă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

Icircn concluzie GPRS reprezintă o infrastructura ce permite transmiterea datelor pe baza

comutaţiei de pachete icircntr-o reţea GSM

19

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Pentru a putea oferi debite de date mai ridicate icircn GPRS se urmăreşte utilizarea cacirct

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 Icircn ciuda acestor asemănări icircnlocuirea comutaţiei de circuite cu cea de

pachete face din GPRS un sistem complet diferit de HSCSD Aceasta atacirct 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)

Rezumacircnd icircn 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ă atacirct din experienţa

sistemelor anterioare cacirct şi mai ales din operarea icircn modul pachet a datelor ce se transmit

Soluţiile utilizate sunt

creşterea ratei de transmisie a datelor prin reducerea codării canalului (sunt definite

şi pot

fi utilizate 4 scheme de codare 905kbps 134 kbps 156 kbps 214kbps)

creşterea ratei de transmisie prin operare multislot ( pacircnă 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ă uplinkdownlink

creşterea eficienţei utilizării resurselor radio prin alocarea dinamică a canalelor icircntre

servicii comutate icircn mod circuit respectiv pachet

Cacircnd un icircntreg cadru TDMA este alocat unui utilizator cu schema de protecţie minimă

(practic fără corecţie de erori) rezultă rata utilă instantanee maximă posibilă icircn GPRS

(8x214 kbps=1712 kbps)

242 Comutaţie de circuite şi comutaţie de pachete

20

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comutaţia este o tehnică esenţială icircn 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

comutaţia de circuite

comutaţia de mesaje

comutaţia de pachete

Comutaţia de circuite

Aceasta presupune realizarea icircntre emiţător şi receptor a unei căi fizice de comutaţie

dedicate numită circuit Icircntreaga comunicaţie se desfăşoară icircn trei etape

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 icircnainte de

icircnceperea 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

asigurarea unei icircntacircrzieri constante şi minime

garantarea unui debit util corespunzător mediului de comunicaţie şi serviciului utilizat

Toate acestea facilitează oferirea serviciilor de timp real (telefonie videofonie alte

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 icircn cazul HSCSD) unei staţii mobile

(MS) Acest canal rămacircne icircn posesia terminalului mobil pe toata durata conexiunii chiar dacă

transferul de date este discontinuu (icircn rafale) sau chiar icircncetează cu desăvacircrşire (de exemplu

21

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

cacircnd utilizatorul citeşte cu atenţie cinci minute o pagină WEB după care lămurit pe deplin

icircntrerupe legătura) Ca o particularizare binecunoscută a reţelelor cu comutaţie de circuite

trebuie menţionat că utilizatorul trebuie să plătească pentru icircntreaga 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 icircntre emiţător şi receptor

Informaţia ce urmează a fi transmisă formează o entitate bine precizată numita mesaj

Mesajele sunt complet independente unele faţă 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 icircl

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 icircntacircrzierea icircn 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 icircn

general rezultatul divizării mesajelor icircn 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)

Icircn cazul comutaţiei de pachete fără conexiune pachetele (numite şi datagrame) se transmit

independent icircn cel mai pur spirit al comutaţiei de mesaje urmacircnd rute posibil diferite

Sosirea lor la destinaţie poate avea loc icircntr-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 Proiect de diplomă SECTIA CALCULATOARE

suplimentară din fiecare pachet privitoare la mesajul din care face parte şi locul pe care icircl

ocupa icircn el Exemplul tipic de reţea care utilizează comutaţia de pachete este internetul

BComutaţia de pachete orientată pe conexiune (sau circuit virtual)

Icircn cazul comutaţiei de pachete orientată pe conexiune (sau circuit virtual) comunicarea

icircntre 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 icircnseamnă 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 icircntreaga cale La stabilirea circuitului

virtual fiecare comutator (router) trebuie să memoreze icircn tabela de dirijare care este

succesorul său icircn 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 Avacircnd memorat nodul succesor icircn fiecare dintre circuitele virtuale icircn care este

implicat comutatorul va identifica circuitul asociat pachetului şi icircl va transmite pe acesta pe

linia de ieşire corespunzătoare Tehnica circuitului virtual garantează livrarea icircn ordine a

pachetelor la destinaţie Exemple marcante de reţele ce utilizează comutaţia de pachete de tip

circuit virtual sunt X25 ş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ă icircn 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) icircn cazul unui trafic crescut la intrare Pierderea pachetelor garantarea unei

icircntacircrzieri maxime şi a unui debit utilizator constant sunt problemele spinoase ale comutaţiei

de pachete Ele reprezintă obstacole icircn special icircn calea oferirii serviciilor de timp real cum ar

fi telefonia

Icircn schimb icircn cazul transmisiilor de date avantajul bunei administrări a resurselor

prevalează De exemplu icircn cazul particular al interfeţei radio GSM cacircnd o staţie mobilă (MS)

generează un pachet de date reţeaua icircl va transmite pe un canal radio disponibil icircn 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 Proiect de diplomă SECTIA CALCULATOARE

transmis sau dacă nu alteia Icircn acest mod atacircta timp cacirct cineva are ceva de transmis

canalele radio nu sunt blocate inutil Lucrul icircn mod pachet are o eficienţă cu totul deosebită icircn

cazul unui trafic de date icircn 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 Atacirct HSCSD cacirct şi GPRS icircş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 icircn rafale fără pretenţii de timp real Diferenţa

fundamentală icircntre HSCSD şi GPRS este că acesta din urmă valorifică aceste resurse icircntr-un

mod mult mai eficient deoarece utilizează comutaţia de pachete Icircn plus costul serviciilor

oferite este mai atractiv deoarece utilizatorul plăteşte volumul de date transferat Practic dacă

doreşte utilizatorul poate fi sbquoconectatrsquo la reţeaua de date icircn permanenţă fiind taxat doar

pentru timpul icircn care efectiv utilizează resursele reţelei adică pentru pachetele de date

recepţionate respectiv transmise

243 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 Icircn general orice tip de aplicaţii ce necesită comunicaţii maşină - maşină la debite

mici şi medii sunt adecvate dezvoltării icircn mediul GPRS

Ca şi icircn reţeaua GSM reţelele GPRS pot oferi două categorii de servicii de

telecomunicaţii

servicii de bază

servicii suplimentare

Serviciile de bază GPRS

Acestea sunt icircn principal servicii suport (bearer services) de transport care realizează

transmiterea datelor cu comutaţie de pachete icircntre două interfeţe şi din teleservicii Similar

situaţiei din GSM aceste interfeţe sunt

interfaţa dintre echipamentul terminal de date (de exemplu calculator) şi terminalul

mobil GPRS

24

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

interfaţa dintre reţeaua GPRS şi reţeaua de date sau echipamentul terminal cu care

comunică Aceasta interfaţă este situată icircntr-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 icircn GSM aceste mesaje nu va mai fi icircncă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

servicii punct-la-punct (PTP ndashPoint-to-Point)

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

A Serviciul PTP

Serviciul punct la punct (PTP) [GSM 0260] permite transmiterea de pachete de date

icircntre doi utilizatori Este implementat icircn 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 icircntr-o reţea de date fixă (IP X25) Serviciul PTP poate fi oferit de

asemenea icircntre doi utilizatori mobili GPRS

Serviciul punct-la punct poate fi la racircndul sau de două tipuri

PTP fără conexiune (PTP-CLNS ndash PTP Connectinnless Network Service)

PTP orientat pe conexiune (PTP-CONS ndashPTP Connection Orientated Network

Network Service)

PTP-CLNS este un serviciu de tip datagramă ce utilizează comutaţia de pachete fără

conexiune Este util icircn cazul aplicaţiilor ce generează trafic icircn 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 Icircntre cei doi utilizatori se stabileşte un circuit virtual pentru o perioadă

25

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ce poate varia de la cacircteva secunde la ore Este util atacirct pentru aplicaţii ce generează trafic icircn

rafale cacirct şi pentru aplicaţiile interactive Are că scop asigurarea interoperării cu reţele X25 ş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ă icircn alta dar numai icircn interiorul aceleiaşi reţele GPRS-PLMN La trecerea terminalului

mobil icircntr-o altă reţea sau icircn 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 icircn faza a doua a GPRS O

comunicaţie PTM se stabileşte icircntre un furnizor de servicii (ce poate fi situat icircn afară reţelei

GSM) şi un grup de terminale GPRS Şi serviciul PTM este un serviciu ce se prezintă icircn două

variante

PTMndash multidistribuţie (PTM Multicast)

PTM- grup (PTM-G--PTMGroup)

Serviciul de transport PTM-M permite transmiterea pachetelor de date icircntr-o arie

geografică dată (celulă grup de celule) fără confirmare Receptorii serviciului sunt fie toţi

abonaţii care se găsesc icircn acea zonă fie un grup icircnchis de utilizatori

Icircn 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 icircn anumite zone

geografice Transmisia poate fi şi cu confirmare

Serviciile suplimentare

Printre serviciile suplimentare avute icircn vedere icircntr-un prim stadiu se numără

redirecţionarea necondiţionată a apelurilor redirecţionarea cacircnd abonatul nu este accesibil şi

definirea de grupuri icircnchise de utilizatori In afară de aceste servicii recomandarea GSM

0260 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 Proiect de diplomă SECTIA CALCULATOARE

244 Arhitectura GPRS

GPRS este o soluţie pentru operatori deoarece nu necesită modificări substanţiale icircn

reţeaua GSM Aşa cum se observă icircn figura 72 reţeaua nucleu a GPRS operează icircn paralel

cu GSM-NSS

Figura 23 Arhitectura reţelei GPRS

25 LabWindowsCVI

La dipecer am considerat un calculator desktop sau laptop pe care va rula o aplicaţie

de monitorizare a datelor măsurate implementată icircn LabWindowsCVI

LabWindowsCVI este o platformă pentru dezvoltare de software cu orientare pe

aplicaţii de instrumentaţie După cum se deduce din denumirea sa (CVI ndash 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 Icircmbină 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 Proiect de diplomă SECTIA CALCULATOARE

multiplele lui facilităţi icircl 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

bull Help on-line

bull Selectare şi declarare de variabile sau constante necesare

bull Execuţie interactivă

bull Inserarea funcţiei editate icircntr-un text sursă

Mediul este extrem de flexibil permiţacircnd interfaţarea bidirecţională cu alte compilatoare de

C sau C++ De asemenea se pot folosi şi DLL-uri

Puterea mediului LabWindowsCVI este dată de bibliotecile puse la dispoziţia

programatorului acestea conţinacircnd 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

bull de instrumente

bull pentru interfaţa GPIBGPIB 4882 (General Purpose Interface Bus)

bull pentru achiziţie de date

bull pentru operaţii IO icircn cazul achiziţiei de date

bull pentru interfaţa serială RS232

bull pentru sistemul VXI

Biblioteci specializate pentru analiza datelor

bull pentru IO

bull pentru formatarea specială

bull pentru analiză

bull pentru analiză avansată

Biblioteci specializate pentru vizualizare date

bull pentru crearea unei interfeţe utilizator de tip vizual

Biblioteci specializate pentru lucrul icircn reţea şi comunicarea icircntre diverse aplicaţii

bull pentru DDE (Dynamic Data Exchange)

bull pentru TCP (Transmision Control Protocol)

bull pentru sistemul X de sub Unix

Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

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

bull interfaţa cu utilizatorul

bull partea de control a aplicaţiei

bull partea specializată pentru achiziţia datelor

bull partea specializată icircn analiza respectivelor date

Mai jos prezentăm o schemă generică a aplicaţiilor CVI

Figura 24

Tipuri de fişiere folosite icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a unora dintre meniurile şi ferestrele mediului de dezvoltare CVI

Fereastra proiect

Prezentăm mai jos doar informaţiile suplimentare faţă de o fereastră proiect standard

Pe lacircngă datele curente despre fiecare fişier inclus icircn proiect acesta mai are precizat şi unul

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 icircn fişierul respectiv şi deci trebuie salvat

- C indică obligativitatea compilării respectivului fişier icircnainte de rularea aplicaţiei

- indică faptul că fişierul este deschis icircntr-o fereastră de editare

- indică ca acest fişier nu este deschis

Aplicaţii consolă

Pentru aplicaţiile tip consolă clasice C unde se folosesc pentru IO funcţiile scanf şi

printf vizualizarea ieşirii icircn mod text a acestora se va face icircntr-o fereastră specială numită

ldquoStandard InputOutput Windowrdquo

Observaţie Dacă se va programa icircn acest mod trebuie activată opţiunea ldquoBring Standard

InputOtput to front whenever modifyrdquo 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 cacircnd este activat evenimentele vor fi afişate icircn partea

dreaptă a barei de facilităţi

30

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a cacirctorva din meniurile mai importante ale generatorului

Menu Bars activează cutia de dialog care ne prezintă toate barele de meniu definite deja de

programator

Figura 25

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(fig26) permite specificarea sau modificarea caracteristicilor

unei bare de meniuri icircn curs de creare sau care există deja

31

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 26

Menu Bar Constant Prefix este identificatorul intern al respectivei bare de meniuri Acesta

va fi folosit de funcţia LoadMenuBar pentru icircncărcarea icircn memorie a parametrilor care conţin

această bară Va fi definit automat icircn fişierul header din scheletul de aplicaţie

Item se referă la numele meniului curentsubmeniucomandă de meniu Dacă icircn faţa primei

litere a unui element din meniu se adaugă 2 ldquounderscorerdquo 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 cacircnd 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 Proiect de diplomă SECTIA CALCULATOARE

ModifierKeyShortcutKey se combină pentru a ataşa o cheie ldquohotrdquo pentru elementul

curent

buton ce permite coboracircrea icircn interiorul unei ierarhii de meniuri

buton ce permite urcarea icircn interiorul unei ierarhii de meniuri

Panouri

După cum am spus sunt echivalentul ferestrelor din programarea Windows Pentru a le crea

Create1048774Panel ne pune la dispoziţie un nou panou icircn cadrul UIR-ului curent Prin dublu

ldquoclickrdquo pe acesta se va intra in fereastra de editare a caracteristicilor panoului Această

fereastră este prezentată mai jos

Figura 27

La partea de Menu Bar se poate specifica o bară din cele deja create icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 8: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

- măsura (etalonul)

- operatorul (observatorul) şi

- prelucrarea ndash tratarea datelor

care ndash icircn funcţie de domeniul precizia şi scopul măsurării ndash 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 ndash beneficiar al măsurarii (exigenţe destul de nuanţate icircn 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 icircn general

Un exemplu particular al acestei mari varietaţi o constituie icircnseşi măsurarile

electronice (care au ca măsurand specii diverse cum sunt mărimile de stare ale cacircmpului

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)

213 Erori de măsurare

Icircn practică se constată că rezultatul unei măsurări nu depinde numai de valoarea

măsurandului el putacircnd 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 icircn procesul de măsurare se definesc

urmatoarele valori

Valoarea adevarată (reala) Xa a unei mărimi este valoarea exacta a mărimii

respective icircn condiţiile existenţe la un moment dat De obicei valoarea adevarată a unei

mărimi nu poate fi determinată experimental ea icircnlocuindu-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

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ţă de valoarea

adevarată a măsurandului constituie eroarea de măsurare

Intervalul icircn care se estimează cu o anumita probabilitate numită nivel de icircncredere

ca se afla valoarea adevarată a măsurandului se numeste incertitudine de măsurare

11

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

incertitudinea de măsurare estimează limitele erorilor de măsurare Pentru o estimare

obiectivă este necesar ca icircmpreună cu rezultatul măsurarii să se specifice atacirct erorile cacirct şi

incertitudinea de măsurare Icircn figura 21 sunt reprezentate schematic noţiunile prezentate

anterior

Figura 21

Fig 11 Explicativă privind valoarea adevarată valoarea măsurată

valoarea convenţional adevarată eroarea de măsurare şi incertitudinea

de măsurare

214Clasificarea erorilor de măsură

Deoarece cauzele erorilor de măsurare sunt numeroase există şi multe criteri de

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

următoare

Figura 22

12

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

215 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 Icircn

afara acestor două roluri prin care se ldquodefineşterdquo o unitate de măsura etaloanele mai sunt

utilizate icircn operaţiile de calibrare şi icircn icircnsuşi procesul de măsurare (de icircnaltă precizie) ca

elemente de referinţă precum şi icircn construcţia unor aparate (dispozitive) utilizate icircn alte

scopuri decacirct mşsurarea propriu-zisa (ca de exemplu dispozitive de automatizare

stabilizatoare electronice generatoare de semnal etc)

Calibrarea icircnseamnă ndash icircn metrologie ndash compararea unui aparat de măsurat cu un

etalon icircn scopul gradării sau ajustării verificării sau etalonării aparatului de masurat

Elementul de referinţă este un etalon care asigură (ldquofurnizeazardquo) o mărime fizică anume cu

o valoare bine cunoscută (cu o precizie metrologică corespunzatoare scopului urmarit)

Un etalon trebuie să fie invariabil icircn timp şi icircn spaţiu să poata fi folosit usor icircn tehnică

şi să poată fi reconstituit oricacircnd Unicitatea şi conformitatea măsurărilor icircn orice loc şi la

orice moment impun realizarea unui sistem de etaloane care să

asigure

- generarea principalelor unităti de măsură icircn conformitate cu definiţiile lor din SI

(adică ldquomaterializarea ldquo definiţiilor prin experimente adecvate)

- menţinerea (conservarea) acestor unităţi de măsură constante icircn timp icircn toate

laboratoarele metrologice pe plan mondial

- corelarea icircntre 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 icircn activitatea metrologică se efectuează icircn

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 icircn principal cele fundamentale aşa cum este ndash de exemplu ndash determinarea absolută

a amperului cu ajutorul balanţei de curent)

- etaloane de conservare (adică etaloanele de menţinere a unităţii de măsură cu o mare

stabilitate icircn timp şi faţă de influenţele exterioare de mediu)

- etaloanele de transfer (adica cele care asigura etalonarea tuturor tipurilor

13

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

de aparate de masurat icircn intervale largi de valori ale masurandului pentru marimi constante

sau variabile icircn timp) asa cum sunt etaloanele de raport etaloanele de derivare si etaloanele

de transfer (curent continuu ndash curent alternativ) prin compararea efectelor (termice

electrodinamice etc) ale semnalelor de curent sau tensiune produse asupra unui acelaşi

element sensibil

22 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ţă şi aplicaţiile la care sunt conectate De fapt M2M este o

evoluţie comercială a tradiţionalelor sisteme de control al echipamentelor din domeniul

industrial soluţie aplicată cu succes pentru prima dată de NASA Adaptată nevoilor

companiilor (un rol important l-a jucat compania France Telecom) M2M permite companiilor

sa administreze mai uşor echipamentele aflate la distanţă si să le integreze cu procesele

interne

Zona soluţiilor M2M este cotată ca fiind una dintre cele mai promiţătoare in

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 Proiect de diplomă SECTIA CALCULATOARE

23 Limbajul Python

Icircn cadrul unei instalaţii de telemetrie modemurile deţin memorie şi processor propriu

motiv pentru care se numesc ldquointeligenterdquo Pe lacircngă memorie şi processor aceste modemuri

inteligente au şi un interpretor al unui limbaj de programare de nivel icircnalt Icircn 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 cacircteva zile

231 Tipuri de date

Sunt 3 grupuri de tipuri de date in Python

Scalari ndash 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ă icircn Python

a = 7 7 (integer)

a = str(2a) + bytes 7 bytes (string)

15

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Icircn Python variabilele nu sunt declarate icircn script ele apar doar atunci cand sunt folosite

232 Operatori

Icircn Python există următorii operatori

Operatori aritmetici

+ - ~ ltlt gtgt amp ^ |

Operatori relaţionali şi logici

is in lt lt= gt gt= == = not and or

Operatori de asignare

= += -= = = = = ltlt= gtgt= amp= ^= |=

Alţi operatori

( ) [ ] [] `` lambda

233 Comenzi compuse

Comenzile care aparţin aceluiaşi grup logic sunt deplasate spre dreapta cu acelaş

număr de spaţii albe

if a gt 0

b = 1

c = 2

De obicei fiecare comandă icircncepe pe o linie nouă

16

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

O instrucţiune se poate continua pe racircndul următor prin plasarea caracterului backslash

la sfacircrsitul randului Acest lucru nu este necesar dacă există paranteze deschise

my_list = [1

[abc 2]

-3+6j]

print my_list

234 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 gt b

print a is greater than b

elif a lt b

print a is lower than b

else

print a equals b

Se poate folosi si interval prescurtate de testare

if 2 lt= a lt= 7

print a is in the interval [2 7]

235 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ăacirc

numbers = [ ]

i = 0

while i lt 100

17

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

numbersappend(i)

i = i + 1

O buclă similar for arată in felul următor

numbers = [ ]

for i in range(100)

numbersappend(i)

Icircn 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

24 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

- GSMGPRS

- Fibră Optică

Opţiunea pentru care am optat icircn partea de comunicaţie este GSMGPRS 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ămacircne

comutat prin MSC

Datele sunt transmise prin GPRS icircn 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 Proiect de diplomă SECTIA CALCULATOARE

dată de introducerea codării adaptive a canalului Aceasta icircnseamnă că protecţia datelor

variază icircn timp icircn funcţie de starea canalului radio GPRS poate utiliza pentru o conexiune

de date de la fracţiuni de canale de trafic pacircnă la maximum 8 sloturi temporale (adică tot

cadrul TDMA) icircn funcţie de resursele disponibile

Capacitatea alocată unei conexiuni va varia icircn funcţie de icircncărcarea cu trafic de pe

frecvenţa respectivă precum şi de tipul traficului (vocedate) Este important că utilizacircnd

comutaţia de pachete o transmisie de date nu ocupă resursele reţelei decacirct atunci cacircnd sunt

date de transmis Cacircnd 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ă icircn paralel cu subsistemul reţea şi comutaţie (NSS) al GSM care va

gestiona icircn continuare transmisia cu comutaţie de circuite

241 Caracteristicile sistemului GPRS

GPRS este un serviciu specificat icircn faza 2+ de standardizare a GSM El este oferit prin

intermediul unei infrastructuri numită şi sistem sau reţea GPRS ce interoperează cu

infrastructura bdquoclasicărdquo GSM

GPRS se icircncadrează icircn orientarea generală a ETSI de a asigura prin aza 2+ o platformă

ce va putea fi utilizată ulterior icircn reţele de generaţia a treia Astfel el este onsiderat

actualmente soluţia de bază pentru transmiterea de date icircn 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ă (25G)

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ă icircn acest moment (atacirct la

25G cacirct şi icircn 3G) doar la transmiterea datelor vocea rămacircnacircnd icircn continuare comutată prin

MSC Datorită eternei insuficienţe a resurselor radio este probabil ca icircntr-o fază nu prea

icircndepă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

Icircn concluzie GPRS reprezintă o infrastructura ce permite transmiterea datelor pe baza

comutaţiei de pachete icircntr-o reţea GSM

19

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Pentru a putea oferi debite de date mai ridicate icircn GPRS se urmăreşte utilizarea cacirct

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 Icircn ciuda acestor asemănări icircnlocuirea comutaţiei de circuite cu cea de

pachete face din GPRS un sistem complet diferit de HSCSD Aceasta atacirct 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)

Rezumacircnd icircn 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ă atacirct din experienţa

sistemelor anterioare cacirct şi mai ales din operarea icircn modul pachet a datelor ce se transmit

Soluţiile utilizate sunt

creşterea ratei de transmisie a datelor prin reducerea codării canalului (sunt definite

şi pot

fi utilizate 4 scheme de codare 905kbps 134 kbps 156 kbps 214kbps)

creşterea ratei de transmisie prin operare multislot ( pacircnă 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ă uplinkdownlink

creşterea eficienţei utilizării resurselor radio prin alocarea dinamică a canalelor icircntre

servicii comutate icircn mod circuit respectiv pachet

Cacircnd un icircntreg cadru TDMA este alocat unui utilizator cu schema de protecţie minimă

(practic fără corecţie de erori) rezultă rata utilă instantanee maximă posibilă icircn GPRS

(8x214 kbps=1712 kbps)

242 Comutaţie de circuite şi comutaţie de pachete

20

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comutaţia este o tehnică esenţială icircn 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

comutaţia de circuite

comutaţia de mesaje

comutaţia de pachete

Comutaţia de circuite

Aceasta presupune realizarea icircntre emiţător şi receptor a unei căi fizice de comutaţie

dedicate numită circuit Icircntreaga comunicaţie se desfăşoară icircn trei etape

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 icircnainte de

icircnceperea 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

asigurarea unei icircntacircrzieri constante şi minime

garantarea unui debit util corespunzător mediului de comunicaţie şi serviciului utilizat

Toate acestea facilitează oferirea serviciilor de timp real (telefonie videofonie alte

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 icircn cazul HSCSD) unei staţii mobile

(MS) Acest canal rămacircne icircn posesia terminalului mobil pe toata durata conexiunii chiar dacă

transferul de date este discontinuu (icircn rafale) sau chiar icircncetează cu desăvacircrşire (de exemplu

21

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

cacircnd utilizatorul citeşte cu atenţie cinci minute o pagină WEB după care lămurit pe deplin

icircntrerupe legătura) Ca o particularizare binecunoscută a reţelelor cu comutaţie de circuite

trebuie menţionat că utilizatorul trebuie să plătească pentru icircntreaga 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 icircntre emiţător şi receptor

Informaţia ce urmează a fi transmisă formează o entitate bine precizată numita mesaj

Mesajele sunt complet independente unele faţă 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 icircl

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 icircntacircrzierea icircn 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 icircn

general rezultatul divizării mesajelor icircn 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)

Icircn cazul comutaţiei de pachete fără conexiune pachetele (numite şi datagrame) se transmit

independent icircn cel mai pur spirit al comutaţiei de mesaje urmacircnd rute posibil diferite

Sosirea lor la destinaţie poate avea loc icircntr-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 Proiect de diplomă SECTIA CALCULATOARE

suplimentară din fiecare pachet privitoare la mesajul din care face parte şi locul pe care icircl

ocupa icircn el Exemplul tipic de reţea care utilizează comutaţia de pachete este internetul

BComutaţia de pachete orientată pe conexiune (sau circuit virtual)

Icircn cazul comutaţiei de pachete orientată pe conexiune (sau circuit virtual) comunicarea

icircntre 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 icircnseamnă 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 icircntreaga cale La stabilirea circuitului

virtual fiecare comutator (router) trebuie să memoreze icircn tabela de dirijare care este

succesorul său icircn 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 Avacircnd memorat nodul succesor icircn fiecare dintre circuitele virtuale icircn care este

implicat comutatorul va identifica circuitul asociat pachetului şi icircl va transmite pe acesta pe

linia de ieşire corespunzătoare Tehnica circuitului virtual garantează livrarea icircn ordine a

pachetelor la destinaţie Exemple marcante de reţele ce utilizează comutaţia de pachete de tip

circuit virtual sunt X25 ş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ă icircn 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) icircn cazul unui trafic crescut la intrare Pierderea pachetelor garantarea unei

icircntacircrzieri maxime şi a unui debit utilizator constant sunt problemele spinoase ale comutaţiei

de pachete Ele reprezintă obstacole icircn special icircn calea oferirii serviciilor de timp real cum ar

fi telefonia

Icircn schimb icircn cazul transmisiilor de date avantajul bunei administrări a resurselor

prevalează De exemplu icircn cazul particular al interfeţei radio GSM cacircnd o staţie mobilă (MS)

generează un pachet de date reţeaua icircl va transmite pe un canal radio disponibil icircn 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 Proiect de diplomă SECTIA CALCULATOARE

transmis sau dacă nu alteia Icircn acest mod atacircta timp cacirct cineva are ceva de transmis

canalele radio nu sunt blocate inutil Lucrul icircn mod pachet are o eficienţă cu totul deosebită icircn

cazul unui trafic de date icircn 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 Atacirct HSCSD cacirct şi GPRS icircş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 icircn rafale fără pretenţii de timp real Diferenţa

fundamentală icircntre HSCSD şi GPRS este că acesta din urmă valorifică aceste resurse icircntr-un

mod mult mai eficient deoarece utilizează comutaţia de pachete Icircn plus costul serviciilor

oferite este mai atractiv deoarece utilizatorul plăteşte volumul de date transferat Practic dacă

doreşte utilizatorul poate fi sbquoconectatrsquo la reţeaua de date icircn permanenţă fiind taxat doar

pentru timpul icircn care efectiv utilizează resursele reţelei adică pentru pachetele de date

recepţionate respectiv transmise

243 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 Icircn general orice tip de aplicaţii ce necesită comunicaţii maşină - maşină la debite

mici şi medii sunt adecvate dezvoltării icircn mediul GPRS

Ca şi icircn reţeaua GSM reţelele GPRS pot oferi două categorii de servicii de

telecomunicaţii

servicii de bază

servicii suplimentare

Serviciile de bază GPRS

Acestea sunt icircn principal servicii suport (bearer services) de transport care realizează

transmiterea datelor cu comutaţie de pachete icircntre două interfeţe şi din teleservicii Similar

situaţiei din GSM aceste interfeţe sunt

interfaţa dintre echipamentul terminal de date (de exemplu calculator) şi terminalul

mobil GPRS

24

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

interfaţa dintre reţeaua GPRS şi reţeaua de date sau echipamentul terminal cu care

comunică Aceasta interfaţă este situată icircntr-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 icircn GSM aceste mesaje nu va mai fi icircncă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

servicii punct-la-punct (PTP ndashPoint-to-Point)

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

A Serviciul PTP

Serviciul punct la punct (PTP) [GSM 0260] permite transmiterea de pachete de date

icircntre doi utilizatori Este implementat icircn 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 icircntr-o reţea de date fixă (IP X25) Serviciul PTP poate fi oferit de

asemenea icircntre doi utilizatori mobili GPRS

Serviciul punct-la punct poate fi la racircndul sau de două tipuri

PTP fără conexiune (PTP-CLNS ndash PTP Connectinnless Network Service)

PTP orientat pe conexiune (PTP-CONS ndashPTP Connection Orientated Network

Network Service)

PTP-CLNS este un serviciu de tip datagramă ce utilizează comutaţia de pachete fără

conexiune Este util icircn cazul aplicaţiilor ce generează trafic icircn 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 Icircntre cei doi utilizatori se stabileşte un circuit virtual pentru o perioadă

25

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ce poate varia de la cacircteva secunde la ore Este util atacirct pentru aplicaţii ce generează trafic icircn

rafale cacirct şi pentru aplicaţiile interactive Are că scop asigurarea interoperării cu reţele X25 ş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ă icircn alta dar numai icircn interiorul aceleiaşi reţele GPRS-PLMN La trecerea terminalului

mobil icircntr-o altă reţea sau icircn 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 icircn faza a doua a GPRS O

comunicaţie PTM se stabileşte icircntre un furnizor de servicii (ce poate fi situat icircn afară reţelei

GSM) şi un grup de terminale GPRS Şi serviciul PTM este un serviciu ce se prezintă icircn două

variante

PTMndash multidistribuţie (PTM Multicast)

PTM- grup (PTM-G--PTMGroup)

Serviciul de transport PTM-M permite transmiterea pachetelor de date icircntr-o arie

geografică dată (celulă grup de celule) fără confirmare Receptorii serviciului sunt fie toţi

abonaţii care se găsesc icircn acea zonă fie un grup icircnchis de utilizatori

Icircn 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 icircn anumite zone

geografice Transmisia poate fi şi cu confirmare

Serviciile suplimentare

Printre serviciile suplimentare avute icircn vedere icircntr-un prim stadiu se numără

redirecţionarea necondiţionată a apelurilor redirecţionarea cacircnd abonatul nu este accesibil şi

definirea de grupuri icircnchise de utilizatori In afară de aceste servicii recomandarea GSM

0260 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 Proiect de diplomă SECTIA CALCULATOARE

244 Arhitectura GPRS

GPRS este o soluţie pentru operatori deoarece nu necesită modificări substanţiale icircn

reţeaua GSM Aşa cum se observă icircn figura 72 reţeaua nucleu a GPRS operează icircn paralel

cu GSM-NSS

Figura 23 Arhitectura reţelei GPRS

25 LabWindowsCVI

La dipecer am considerat un calculator desktop sau laptop pe care va rula o aplicaţie

de monitorizare a datelor măsurate implementată icircn LabWindowsCVI

LabWindowsCVI este o platformă pentru dezvoltare de software cu orientare pe

aplicaţii de instrumentaţie După cum se deduce din denumirea sa (CVI ndash 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 Icircmbină 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 Proiect de diplomă SECTIA CALCULATOARE

multiplele lui facilităţi icircl 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

bull Help on-line

bull Selectare şi declarare de variabile sau constante necesare

bull Execuţie interactivă

bull Inserarea funcţiei editate icircntr-un text sursă

Mediul este extrem de flexibil permiţacircnd interfaţarea bidirecţională cu alte compilatoare de

C sau C++ De asemenea se pot folosi şi DLL-uri

Puterea mediului LabWindowsCVI este dată de bibliotecile puse la dispoziţia

programatorului acestea conţinacircnd 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

bull de instrumente

bull pentru interfaţa GPIBGPIB 4882 (General Purpose Interface Bus)

bull pentru achiziţie de date

bull pentru operaţii IO icircn cazul achiziţiei de date

bull pentru interfaţa serială RS232

bull pentru sistemul VXI

Biblioteci specializate pentru analiza datelor

bull pentru IO

bull pentru formatarea specială

bull pentru analiză

bull pentru analiză avansată

Biblioteci specializate pentru vizualizare date

bull pentru crearea unei interfeţe utilizator de tip vizual

Biblioteci specializate pentru lucrul icircn reţea şi comunicarea icircntre diverse aplicaţii

bull pentru DDE (Dynamic Data Exchange)

bull pentru TCP (Transmision Control Protocol)

bull pentru sistemul X de sub Unix

Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

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

bull interfaţa cu utilizatorul

bull partea de control a aplicaţiei

bull partea specializată pentru achiziţia datelor

bull partea specializată icircn analiza respectivelor date

Mai jos prezentăm o schemă generică a aplicaţiilor CVI

Figura 24

Tipuri de fişiere folosite icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a unora dintre meniurile şi ferestrele mediului de dezvoltare CVI

Fereastra proiect

Prezentăm mai jos doar informaţiile suplimentare faţă de o fereastră proiect standard

Pe lacircngă datele curente despre fiecare fişier inclus icircn proiect acesta mai are precizat şi unul

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 icircn fişierul respectiv şi deci trebuie salvat

- C indică obligativitatea compilării respectivului fişier icircnainte de rularea aplicaţiei

- indică faptul că fişierul este deschis icircntr-o fereastră de editare

- indică ca acest fişier nu este deschis

Aplicaţii consolă

Pentru aplicaţiile tip consolă clasice C unde se folosesc pentru IO funcţiile scanf şi

printf vizualizarea ieşirii icircn mod text a acestora se va face icircntr-o fereastră specială numită

ldquoStandard InputOutput Windowrdquo

Observaţie Dacă se va programa icircn acest mod trebuie activată opţiunea ldquoBring Standard

InputOtput to front whenever modifyrdquo 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 cacircnd este activat evenimentele vor fi afişate icircn partea

dreaptă a barei de facilităţi

30

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a cacirctorva din meniurile mai importante ale generatorului

Menu Bars activează cutia de dialog care ne prezintă toate barele de meniu definite deja de

programator

Figura 25

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(fig26) permite specificarea sau modificarea caracteristicilor

unei bare de meniuri icircn curs de creare sau care există deja

31

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 26

Menu Bar Constant Prefix este identificatorul intern al respectivei bare de meniuri Acesta

va fi folosit de funcţia LoadMenuBar pentru icircncărcarea icircn memorie a parametrilor care conţin

această bară Va fi definit automat icircn fişierul header din scheletul de aplicaţie

Item se referă la numele meniului curentsubmeniucomandă de meniu Dacă icircn faţa primei

litere a unui element din meniu se adaugă 2 ldquounderscorerdquo 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 cacircnd 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 Proiect de diplomă SECTIA CALCULATOARE

ModifierKeyShortcutKey se combină pentru a ataşa o cheie ldquohotrdquo pentru elementul

curent

buton ce permite coboracircrea icircn interiorul unei ierarhii de meniuri

buton ce permite urcarea icircn interiorul unei ierarhii de meniuri

Panouri

După cum am spus sunt echivalentul ferestrelor din programarea Windows Pentru a le crea

Create1048774Panel ne pune la dispoziţie un nou panou icircn cadrul UIR-ului curent Prin dublu

ldquoclickrdquo pe acesta se va intra in fereastra de editare a caracteristicilor panoului Această

fereastră este prezentată mai jos

Figura 27

La partea de Menu Bar se poate specifica o bară din cele deja create icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 9: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

incertitudinea de măsurare estimează limitele erorilor de măsurare Pentru o estimare

obiectivă este necesar ca icircmpreună cu rezultatul măsurarii să se specifice atacirct erorile cacirct şi

incertitudinea de măsurare Icircn figura 21 sunt reprezentate schematic noţiunile prezentate

anterior

Figura 21

Fig 11 Explicativă privind valoarea adevarată valoarea măsurată

valoarea convenţional adevarată eroarea de măsurare şi incertitudinea

de măsurare

214Clasificarea erorilor de măsură

Deoarece cauzele erorilor de măsurare sunt numeroase există şi multe criteri de

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

următoare

Figura 22

12

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

215 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 Icircn

afara acestor două roluri prin care se ldquodefineşterdquo o unitate de măsura etaloanele mai sunt

utilizate icircn operaţiile de calibrare şi icircn icircnsuşi procesul de măsurare (de icircnaltă precizie) ca

elemente de referinţă precum şi icircn construcţia unor aparate (dispozitive) utilizate icircn alte

scopuri decacirct mşsurarea propriu-zisa (ca de exemplu dispozitive de automatizare

stabilizatoare electronice generatoare de semnal etc)

Calibrarea icircnseamnă ndash icircn metrologie ndash compararea unui aparat de măsurat cu un

etalon icircn scopul gradării sau ajustării verificării sau etalonării aparatului de masurat

Elementul de referinţă este un etalon care asigură (ldquofurnizeazardquo) o mărime fizică anume cu

o valoare bine cunoscută (cu o precizie metrologică corespunzatoare scopului urmarit)

Un etalon trebuie să fie invariabil icircn timp şi icircn spaţiu să poata fi folosit usor icircn tehnică

şi să poată fi reconstituit oricacircnd Unicitatea şi conformitatea măsurărilor icircn orice loc şi la

orice moment impun realizarea unui sistem de etaloane care să

asigure

- generarea principalelor unităti de măsură icircn conformitate cu definiţiile lor din SI

(adică ldquomaterializarea ldquo definiţiilor prin experimente adecvate)

- menţinerea (conservarea) acestor unităţi de măsură constante icircn timp icircn toate

laboratoarele metrologice pe plan mondial

- corelarea icircntre 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 icircn activitatea metrologică se efectuează icircn

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 icircn principal cele fundamentale aşa cum este ndash de exemplu ndash determinarea absolută

a amperului cu ajutorul balanţei de curent)

- etaloane de conservare (adică etaloanele de menţinere a unităţii de măsură cu o mare

stabilitate icircn timp şi faţă de influenţele exterioare de mediu)

- etaloanele de transfer (adica cele care asigura etalonarea tuturor tipurilor

13

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

de aparate de masurat icircn intervale largi de valori ale masurandului pentru marimi constante

sau variabile icircn timp) asa cum sunt etaloanele de raport etaloanele de derivare si etaloanele

de transfer (curent continuu ndash curent alternativ) prin compararea efectelor (termice

electrodinamice etc) ale semnalelor de curent sau tensiune produse asupra unui acelaşi

element sensibil

22 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ţă şi aplicaţiile la care sunt conectate De fapt M2M este o

evoluţie comercială a tradiţionalelor sisteme de control al echipamentelor din domeniul

industrial soluţie aplicată cu succes pentru prima dată de NASA Adaptată nevoilor

companiilor (un rol important l-a jucat compania France Telecom) M2M permite companiilor

sa administreze mai uşor echipamentele aflate la distanţă si să le integreze cu procesele

interne

Zona soluţiilor M2M este cotată ca fiind una dintre cele mai promiţătoare in

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 Proiect de diplomă SECTIA CALCULATOARE

23 Limbajul Python

Icircn cadrul unei instalaţii de telemetrie modemurile deţin memorie şi processor propriu

motiv pentru care se numesc ldquointeligenterdquo Pe lacircngă memorie şi processor aceste modemuri

inteligente au şi un interpretor al unui limbaj de programare de nivel icircnalt Icircn 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 cacircteva zile

231 Tipuri de date

Sunt 3 grupuri de tipuri de date in Python

Scalari ndash 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ă icircn Python

a = 7 7 (integer)

a = str(2a) + bytes 7 bytes (string)

15

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Icircn Python variabilele nu sunt declarate icircn script ele apar doar atunci cand sunt folosite

232 Operatori

Icircn Python există următorii operatori

Operatori aritmetici

+ - ~ ltlt gtgt amp ^ |

Operatori relaţionali şi logici

is in lt lt= gt gt= == = not and or

Operatori de asignare

= += -= = = = = ltlt= gtgt= amp= ^= |=

Alţi operatori

( ) [ ] [] `` lambda

233 Comenzi compuse

Comenzile care aparţin aceluiaşi grup logic sunt deplasate spre dreapta cu acelaş

număr de spaţii albe

if a gt 0

b = 1

c = 2

De obicei fiecare comandă icircncepe pe o linie nouă

16

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

O instrucţiune se poate continua pe racircndul următor prin plasarea caracterului backslash

la sfacircrsitul randului Acest lucru nu este necesar dacă există paranteze deschise

my_list = [1

[abc 2]

-3+6j]

print my_list

234 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 gt b

print a is greater than b

elif a lt b

print a is lower than b

else

print a equals b

Se poate folosi si interval prescurtate de testare

if 2 lt= a lt= 7

print a is in the interval [2 7]

235 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ăacirc

numbers = [ ]

i = 0

while i lt 100

17

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

numbersappend(i)

i = i + 1

O buclă similar for arată in felul următor

numbers = [ ]

for i in range(100)

numbersappend(i)

Icircn 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

24 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

- GSMGPRS

- Fibră Optică

Opţiunea pentru care am optat icircn partea de comunicaţie este GSMGPRS 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ămacircne

comutat prin MSC

Datele sunt transmise prin GPRS icircn 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 Proiect de diplomă SECTIA CALCULATOARE

dată de introducerea codării adaptive a canalului Aceasta icircnseamnă că protecţia datelor

variază icircn timp icircn funcţie de starea canalului radio GPRS poate utiliza pentru o conexiune

de date de la fracţiuni de canale de trafic pacircnă la maximum 8 sloturi temporale (adică tot

cadrul TDMA) icircn funcţie de resursele disponibile

Capacitatea alocată unei conexiuni va varia icircn funcţie de icircncărcarea cu trafic de pe

frecvenţa respectivă precum şi de tipul traficului (vocedate) Este important că utilizacircnd

comutaţia de pachete o transmisie de date nu ocupă resursele reţelei decacirct atunci cacircnd sunt

date de transmis Cacircnd 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ă icircn paralel cu subsistemul reţea şi comutaţie (NSS) al GSM care va

gestiona icircn continuare transmisia cu comutaţie de circuite

241 Caracteristicile sistemului GPRS

GPRS este un serviciu specificat icircn faza 2+ de standardizare a GSM El este oferit prin

intermediul unei infrastructuri numită şi sistem sau reţea GPRS ce interoperează cu

infrastructura bdquoclasicărdquo GSM

GPRS se icircncadrează icircn orientarea generală a ETSI de a asigura prin aza 2+ o platformă

ce va putea fi utilizată ulterior icircn reţele de generaţia a treia Astfel el este onsiderat

actualmente soluţia de bază pentru transmiterea de date icircn 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ă (25G)

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ă icircn acest moment (atacirct la

25G cacirct şi icircn 3G) doar la transmiterea datelor vocea rămacircnacircnd icircn continuare comutată prin

MSC Datorită eternei insuficienţe a resurselor radio este probabil ca icircntr-o fază nu prea

icircndepă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

Icircn concluzie GPRS reprezintă o infrastructura ce permite transmiterea datelor pe baza

comutaţiei de pachete icircntr-o reţea GSM

19

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Pentru a putea oferi debite de date mai ridicate icircn GPRS se urmăreşte utilizarea cacirct

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 Icircn ciuda acestor asemănări icircnlocuirea comutaţiei de circuite cu cea de

pachete face din GPRS un sistem complet diferit de HSCSD Aceasta atacirct 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)

Rezumacircnd icircn 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ă atacirct din experienţa

sistemelor anterioare cacirct şi mai ales din operarea icircn modul pachet a datelor ce se transmit

Soluţiile utilizate sunt

creşterea ratei de transmisie a datelor prin reducerea codării canalului (sunt definite

şi pot

fi utilizate 4 scheme de codare 905kbps 134 kbps 156 kbps 214kbps)

creşterea ratei de transmisie prin operare multislot ( pacircnă 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ă uplinkdownlink

creşterea eficienţei utilizării resurselor radio prin alocarea dinamică a canalelor icircntre

servicii comutate icircn mod circuit respectiv pachet

Cacircnd un icircntreg cadru TDMA este alocat unui utilizator cu schema de protecţie minimă

(practic fără corecţie de erori) rezultă rata utilă instantanee maximă posibilă icircn GPRS

(8x214 kbps=1712 kbps)

242 Comutaţie de circuite şi comutaţie de pachete

20

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comutaţia este o tehnică esenţială icircn 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

comutaţia de circuite

comutaţia de mesaje

comutaţia de pachete

Comutaţia de circuite

Aceasta presupune realizarea icircntre emiţător şi receptor a unei căi fizice de comutaţie

dedicate numită circuit Icircntreaga comunicaţie se desfăşoară icircn trei etape

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 icircnainte de

icircnceperea 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

asigurarea unei icircntacircrzieri constante şi minime

garantarea unui debit util corespunzător mediului de comunicaţie şi serviciului utilizat

Toate acestea facilitează oferirea serviciilor de timp real (telefonie videofonie alte

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 icircn cazul HSCSD) unei staţii mobile

(MS) Acest canal rămacircne icircn posesia terminalului mobil pe toata durata conexiunii chiar dacă

transferul de date este discontinuu (icircn rafale) sau chiar icircncetează cu desăvacircrşire (de exemplu

21

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

cacircnd utilizatorul citeşte cu atenţie cinci minute o pagină WEB după care lămurit pe deplin

icircntrerupe legătura) Ca o particularizare binecunoscută a reţelelor cu comutaţie de circuite

trebuie menţionat că utilizatorul trebuie să plătească pentru icircntreaga 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 icircntre emiţător şi receptor

Informaţia ce urmează a fi transmisă formează o entitate bine precizată numita mesaj

Mesajele sunt complet independente unele faţă 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 icircl

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 icircntacircrzierea icircn 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 icircn

general rezultatul divizării mesajelor icircn 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)

Icircn cazul comutaţiei de pachete fără conexiune pachetele (numite şi datagrame) se transmit

independent icircn cel mai pur spirit al comutaţiei de mesaje urmacircnd rute posibil diferite

Sosirea lor la destinaţie poate avea loc icircntr-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 Proiect de diplomă SECTIA CALCULATOARE

suplimentară din fiecare pachet privitoare la mesajul din care face parte şi locul pe care icircl

ocupa icircn el Exemplul tipic de reţea care utilizează comutaţia de pachete este internetul

BComutaţia de pachete orientată pe conexiune (sau circuit virtual)

Icircn cazul comutaţiei de pachete orientată pe conexiune (sau circuit virtual) comunicarea

icircntre 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 icircnseamnă 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 icircntreaga cale La stabilirea circuitului

virtual fiecare comutator (router) trebuie să memoreze icircn tabela de dirijare care este

succesorul său icircn 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 Avacircnd memorat nodul succesor icircn fiecare dintre circuitele virtuale icircn care este

implicat comutatorul va identifica circuitul asociat pachetului şi icircl va transmite pe acesta pe

linia de ieşire corespunzătoare Tehnica circuitului virtual garantează livrarea icircn ordine a

pachetelor la destinaţie Exemple marcante de reţele ce utilizează comutaţia de pachete de tip

circuit virtual sunt X25 ş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ă icircn 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) icircn cazul unui trafic crescut la intrare Pierderea pachetelor garantarea unei

icircntacircrzieri maxime şi a unui debit utilizator constant sunt problemele spinoase ale comutaţiei

de pachete Ele reprezintă obstacole icircn special icircn calea oferirii serviciilor de timp real cum ar

fi telefonia

Icircn schimb icircn cazul transmisiilor de date avantajul bunei administrări a resurselor

prevalează De exemplu icircn cazul particular al interfeţei radio GSM cacircnd o staţie mobilă (MS)

generează un pachet de date reţeaua icircl va transmite pe un canal radio disponibil icircn 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 Proiect de diplomă SECTIA CALCULATOARE

transmis sau dacă nu alteia Icircn acest mod atacircta timp cacirct cineva are ceva de transmis

canalele radio nu sunt blocate inutil Lucrul icircn mod pachet are o eficienţă cu totul deosebită icircn

cazul unui trafic de date icircn 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 Atacirct HSCSD cacirct şi GPRS icircş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 icircn rafale fără pretenţii de timp real Diferenţa

fundamentală icircntre HSCSD şi GPRS este că acesta din urmă valorifică aceste resurse icircntr-un

mod mult mai eficient deoarece utilizează comutaţia de pachete Icircn plus costul serviciilor

oferite este mai atractiv deoarece utilizatorul plăteşte volumul de date transferat Practic dacă

doreşte utilizatorul poate fi sbquoconectatrsquo la reţeaua de date icircn permanenţă fiind taxat doar

pentru timpul icircn care efectiv utilizează resursele reţelei adică pentru pachetele de date

recepţionate respectiv transmise

243 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 Icircn general orice tip de aplicaţii ce necesită comunicaţii maşină - maşină la debite

mici şi medii sunt adecvate dezvoltării icircn mediul GPRS

Ca şi icircn reţeaua GSM reţelele GPRS pot oferi două categorii de servicii de

telecomunicaţii

servicii de bază

servicii suplimentare

Serviciile de bază GPRS

Acestea sunt icircn principal servicii suport (bearer services) de transport care realizează

transmiterea datelor cu comutaţie de pachete icircntre două interfeţe şi din teleservicii Similar

situaţiei din GSM aceste interfeţe sunt

interfaţa dintre echipamentul terminal de date (de exemplu calculator) şi terminalul

mobil GPRS

24

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

interfaţa dintre reţeaua GPRS şi reţeaua de date sau echipamentul terminal cu care

comunică Aceasta interfaţă este situată icircntr-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 icircn GSM aceste mesaje nu va mai fi icircncă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

servicii punct-la-punct (PTP ndashPoint-to-Point)

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

A Serviciul PTP

Serviciul punct la punct (PTP) [GSM 0260] permite transmiterea de pachete de date

icircntre doi utilizatori Este implementat icircn 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 icircntr-o reţea de date fixă (IP X25) Serviciul PTP poate fi oferit de

asemenea icircntre doi utilizatori mobili GPRS

Serviciul punct-la punct poate fi la racircndul sau de două tipuri

PTP fără conexiune (PTP-CLNS ndash PTP Connectinnless Network Service)

PTP orientat pe conexiune (PTP-CONS ndashPTP Connection Orientated Network

Network Service)

PTP-CLNS este un serviciu de tip datagramă ce utilizează comutaţia de pachete fără

conexiune Este util icircn cazul aplicaţiilor ce generează trafic icircn 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 Icircntre cei doi utilizatori se stabileşte un circuit virtual pentru o perioadă

25

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ce poate varia de la cacircteva secunde la ore Este util atacirct pentru aplicaţii ce generează trafic icircn

rafale cacirct şi pentru aplicaţiile interactive Are că scop asigurarea interoperării cu reţele X25 ş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ă icircn alta dar numai icircn interiorul aceleiaşi reţele GPRS-PLMN La trecerea terminalului

mobil icircntr-o altă reţea sau icircn 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 icircn faza a doua a GPRS O

comunicaţie PTM se stabileşte icircntre un furnizor de servicii (ce poate fi situat icircn afară reţelei

GSM) şi un grup de terminale GPRS Şi serviciul PTM este un serviciu ce se prezintă icircn două

variante

PTMndash multidistribuţie (PTM Multicast)

PTM- grup (PTM-G--PTMGroup)

Serviciul de transport PTM-M permite transmiterea pachetelor de date icircntr-o arie

geografică dată (celulă grup de celule) fără confirmare Receptorii serviciului sunt fie toţi

abonaţii care se găsesc icircn acea zonă fie un grup icircnchis de utilizatori

Icircn 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 icircn anumite zone

geografice Transmisia poate fi şi cu confirmare

Serviciile suplimentare

Printre serviciile suplimentare avute icircn vedere icircntr-un prim stadiu se numără

redirecţionarea necondiţionată a apelurilor redirecţionarea cacircnd abonatul nu este accesibil şi

definirea de grupuri icircnchise de utilizatori In afară de aceste servicii recomandarea GSM

0260 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 Proiect de diplomă SECTIA CALCULATOARE

244 Arhitectura GPRS

GPRS este o soluţie pentru operatori deoarece nu necesită modificări substanţiale icircn

reţeaua GSM Aşa cum se observă icircn figura 72 reţeaua nucleu a GPRS operează icircn paralel

cu GSM-NSS

Figura 23 Arhitectura reţelei GPRS

25 LabWindowsCVI

La dipecer am considerat un calculator desktop sau laptop pe care va rula o aplicaţie

de monitorizare a datelor măsurate implementată icircn LabWindowsCVI

LabWindowsCVI este o platformă pentru dezvoltare de software cu orientare pe

aplicaţii de instrumentaţie După cum se deduce din denumirea sa (CVI ndash 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 Icircmbină 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 Proiect de diplomă SECTIA CALCULATOARE

multiplele lui facilităţi icircl 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

bull Help on-line

bull Selectare şi declarare de variabile sau constante necesare

bull Execuţie interactivă

bull Inserarea funcţiei editate icircntr-un text sursă

Mediul este extrem de flexibil permiţacircnd interfaţarea bidirecţională cu alte compilatoare de

C sau C++ De asemenea se pot folosi şi DLL-uri

Puterea mediului LabWindowsCVI este dată de bibliotecile puse la dispoziţia

programatorului acestea conţinacircnd 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

bull de instrumente

bull pentru interfaţa GPIBGPIB 4882 (General Purpose Interface Bus)

bull pentru achiziţie de date

bull pentru operaţii IO icircn cazul achiziţiei de date

bull pentru interfaţa serială RS232

bull pentru sistemul VXI

Biblioteci specializate pentru analiza datelor

bull pentru IO

bull pentru formatarea specială

bull pentru analiză

bull pentru analiză avansată

Biblioteci specializate pentru vizualizare date

bull pentru crearea unei interfeţe utilizator de tip vizual

Biblioteci specializate pentru lucrul icircn reţea şi comunicarea icircntre diverse aplicaţii

bull pentru DDE (Dynamic Data Exchange)

bull pentru TCP (Transmision Control Protocol)

bull pentru sistemul X de sub Unix

Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

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

bull interfaţa cu utilizatorul

bull partea de control a aplicaţiei

bull partea specializată pentru achiziţia datelor

bull partea specializată icircn analiza respectivelor date

Mai jos prezentăm o schemă generică a aplicaţiilor CVI

Figura 24

Tipuri de fişiere folosite icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a unora dintre meniurile şi ferestrele mediului de dezvoltare CVI

Fereastra proiect

Prezentăm mai jos doar informaţiile suplimentare faţă de o fereastră proiect standard

Pe lacircngă datele curente despre fiecare fişier inclus icircn proiect acesta mai are precizat şi unul

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 icircn fişierul respectiv şi deci trebuie salvat

- C indică obligativitatea compilării respectivului fişier icircnainte de rularea aplicaţiei

- indică faptul că fişierul este deschis icircntr-o fereastră de editare

- indică ca acest fişier nu este deschis

Aplicaţii consolă

Pentru aplicaţiile tip consolă clasice C unde se folosesc pentru IO funcţiile scanf şi

printf vizualizarea ieşirii icircn mod text a acestora se va face icircntr-o fereastră specială numită

ldquoStandard InputOutput Windowrdquo

Observaţie Dacă se va programa icircn acest mod trebuie activată opţiunea ldquoBring Standard

InputOtput to front whenever modifyrdquo 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 cacircnd este activat evenimentele vor fi afişate icircn partea

dreaptă a barei de facilităţi

30

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a cacirctorva din meniurile mai importante ale generatorului

Menu Bars activează cutia de dialog care ne prezintă toate barele de meniu definite deja de

programator

Figura 25

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(fig26) permite specificarea sau modificarea caracteristicilor

unei bare de meniuri icircn curs de creare sau care există deja

31

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 26

Menu Bar Constant Prefix este identificatorul intern al respectivei bare de meniuri Acesta

va fi folosit de funcţia LoadMenuBar pentru icircncărcarea icircn memorie a parametrilor care conţin

această bară Va fi definit automat icircn fişierul header din scheletul de aplicaţie

Item se referă la numele meniului curentsubmeniucomandă de meniu Dacă icircn faţa primei

litere a unui element din meniu se adaugă 2 ldquounderscorerdquo 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 cacircnd 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 Proiect de diplomă SECTIA CALCULATOARE

ModifierKeyShortcutKey se combină pentru a ataşa o cheie ldquohotrdquo pentru elementul

curent

buton ce permite coboracircrea icircn interiorul unei ierarhii de meniuri

buton ce permite urcarea icircn interiorul unei ierarhii de meniuri

Panouri

După cum am spus sunt echivalentul ferestrelor din programarea Windows Pentru a le crea

Create1048774Panel ne pune la dispoziţie un nou panou icircn cadrul UIR-ului curent Prin dublu

ldquoclickrdquo pe acesta se va intra in fereastra de editare a caracteristicilor panoului Această

fereastră este prezentată mai jos

Figura 27

La partea de Menu Bar se poate specifica o bară din cele deja create icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 10: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

215 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 Icircn

afara acestor două roluri prin care se ldquodefineşterdquo o unitate de măsura etaloanele mai sunt

utilizate icircn operaţiile de calibrare şi icircn icircnsuşi procesul de măsurare (de icircnaltă precizie) ca

elemente de referinţă precum şi icircn construcţia unor aparate (dispozitive) utilizate icircn alte

scopuri decacirct mşsurarea propriu-zisa (ca de exemplu dispozitive de automatizare

stabilizatoare electronice generatoare de semnal etc)

Calibrarea icircnseamnă ndash icircn metrologie ndash compararea unui aparat de măsurat cu un

etalon icircn scopul gradării sau ajustării verificării sau etalonării aparatului de masurat

Elementul de referinţă este un etalon care asigură (ldquofurnizeazardquo) o mărime fizică anume cu

o valoare bine cunoscută (cu o precizie metrologică corespunzatoare scopului urmarit)

Un etalon trebuie să fie invariabil icircn timp şi icircn spaţiu să poata fi folosit usor icircn tehnică

şi să poată fi reconstituit oricacircnd Unicitatea şi conformitatea măsurărilor icircn orice loc şi la

orice moment impun realizarea unui sistem de etaloane care să

asigure

- generarea principalelor unităti de măsură icircn conformitate cu definiţiile lor din SI

(adică ldquomaterializarea ldquo definiţiilor prin experimente adecvate)

- menţinerea (conservarea) acestor unităţi de măsură constante icircn timp icircn toate

laboratoarele metrologice pe plan mondial

- corelarea icircntre 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 icircn activitatea metrologică se efectuează icircn

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 icircn principal cele fundamentale aşa cum este ndash de exemplu ndash determinarea absolută

a amperului cu ajutorul balanţei de curent)

- etaloane de conservare (adică etaloanele de menţinere a unităţii de măsură cu o mare

stabilitate icircn timp şi faţă de influenţele exterioare de mediu)

- etaloanele de transfer (adica cele care asigura etalonarea tuturor tipurilor

13

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

de aparate de masurat icircn intervale largi de valori ale masurandului pentru marimi constante

sau variabile icircn timp) asa cum sunt etaloanele de raport etaloanele de derivare si etaloanele

de transfer (curent continuu ndash curent alternativ) prin compararea efectelor (termice

electrodinamice etc) ale semnalelor de curent sau tensiune produse asupra unui acelaşi

element sensibil

22 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ţă şi aplicaţiile la care sunt conectate De fapt M2M este o

evoluţie comercială a tradiţionalelor sisteme de control al echipamentelor din domeniul

industrial soluţie aplicată cu succes pentru prima dată de NASA Adaptată nevoilor

companiilor (un rol important l-a jucat compania France Telecom) M2M permite companiilor

sa administreze mai uşor echipamentele aflate la distanţă si să le integreze cu procesele

interne

Zona soluţiilor M2M este cotată ca fiind una dintre cele mai promiţătoare in

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 Proiect de diplomă SECTIA CALCULATOARE

23 Limbajul Python

Icircn cadrul unei instalaţii de telemetrie modemurile deţin memorie şi processor propriu

motiv pentru care se numesc ldquointeligenterdquo Pe lacircngă memorie şi processor aceste modemuri

inteligente au şi un interpretor al unui limbaj de programare de nivel icircnalt Icircn 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 cacircteva zile

231 Tipuri de date

Sunt 3 grupuri de tipuri de date in Python

Scalari ndash 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ă icircn Python

a = 7 7 (integer)

a = str(2a) + bytes 7 bytes (string)

15

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Icircn Python variabilele nu sunt declarate icircn script ele apar doar atunci cand sunt folosite

232 Operatori

Icircn Python există următorii operatori

Operatori aritmetici

+ - ~ ltlt gtgt amp ^ |

Operatori relaţionali şi logici

is in lt lt= gt gt= == = not and or

Operatori de asignare

= += -= = = = = ltlt= gtgt= amp= ^= |=

Alţi operatori

( ) [ ] [] `` lambda

233 Comenzi compuse

Comenzile care aparţin aceluiaşi grup logic sunt deplasate spre dreapta cu acelaş

număr de spaţii albe

if a gt 0

b = 1

c = 2

De obicei fiecare comandă icircncepe pe o linie nouă

16

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

O instrucţiune se poate continua pe racircndul următor prin plasarea caracterului backslash

la sfacircrsitul randului Acest lucru nu este necesar dacă există paranteze deschise

my_list = [1

[abc 2]

-3+6j]

print my_list

234 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 gt b

print a is greater than b

elif a lt b

print a is lower than b

else

print a equals b

Se poate folosi si interval prescurtate de testare

if 2 lt= a lt= 7

print a is in the interval [2 7]

235 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ăacirc

numbers = [ ]

i = 0

while i lt 100

17

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

numbersappend(i)

i = i + 1

O buclă similar for arată in felul următor

numbers = [ ]

for i in range(100)

numbersappend(i)

Icircn 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

24 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

- GSMGPRS

- Fibră Optică

Opţiunea pentru care am optat icircn partea de comunicaţie este GSMGPRS 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ămacircne

comutat prin MSC

Datele sunt transmise prin GPRS icircn 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 Proiect de diplomă SECTIA CALCULATOARE

dată de introducerea codării adaptive a canalului Aceasta icircnseamnă că protecţia datelor

variază icircn timp icircn funcţie de starea canalului radio GPRS poate utiliza pentru o conexiune

de date de la fracţiuni de canale de trafic pacircnă la maximum 8 sloturi temporale (adică tot

cadrul TDMA) icircn funcţie de resursele disponibile

Capacitatea alocată unei conexiuni va varia icircn funcţie de icircncărcarea cu trafic de pe

frecvenţa respectivă precum şi de tipul traficului (vocedate) Este important că utilizacircnd

comutaţia de pachete o transmisie de date nu ocupă resursele reţelei decacirct atunci cacircnd sunt

date de transmis Cacircnd 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ă icircn paralel cu subsistemul reţea şi comutaţie (NSS) al GSM care va

gestiona icircn continuare transmisia cu comutaţie de circuite

241 Caracteristicile sistemului GPRS

GPRS este un serviciu specificat icircn faza 2+ de standardizare a GSM El este oferit prin

intermediul unei infrastructuri numită şi sistem sau reţea GPRS ce interoperează cu

infrastructura bdquoclasicărdquo GSM

GPRS se icircncadrează icircn orientarea generală a ETSI de a asigura prin aza 2+ o platformă

ce va putea fi utilizată ulterior icircn reţele de generaţia a treia Astfel el este onsiderat

actualmente soluţia de bază pentru transmiterea de date icircn 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ă (25G)

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ă icircn acest moment (atacirct la

25G cacirct şi icircn 3G) doar la transmiterea datelor vocea rămacircnacircnd icircn continuare comutată prin

MSC Datorită eternei insuficienţe a resurselor radio este probabil ca icircntr-o fază nu prea

icircndepă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

Icircn concluzie GPRS reprezintă o infrastructura ce permite transmiterea datelor pe baza

comutaţiei de pachete icircntr-o reţea GSM

19

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Pentru a putea oferi debite de date mai ridicate icircn GPRS se urmăreşte utilizarea cacirct

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 Icircn ciuda acestor asemănări icircnlocuirea comutaţiei de circuite cu cea de

pachete face din GPRS un sistem complet diferit de HSCSD Aceasta atacirct 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)

Rezumacircnd icircn 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ă atacirct din experienţa

sistemelor anterioare cacirct şi mai ales din operarea icircn modul pachet a datelor ce se transmit

Soluţiile utilizate sunt

creşterea ratei de transmisie a datelor prin reducerea codării canalului (sunt definite

şi pot

fi utilizate 4 scheme de codare 905kbps 134 kbps 156 kbps 214kbps)

creşterea ratei de transmisie prin operare multislot ( pacircnă 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ă uplinkdownlink

creşterea eficienţei utilizării resurselor radio prin alocarea dinamică a canalelor icircntre

servicii comutate icircn mod circuit respectiv pachet

Cacircnd un icircntreg cadru TDMA este alocat unui utilizator cu schema de protecţie minimă

(practic fără corecţie de erori) rezultă rata utilă instantanee maximă posibilă icircn GPRS

(8x214 kbps=1712 kbps)

242 Comutaţie de circuite şi comutaţie de pachete

20

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comutaţia este o tehnică esenţială icircn 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

comutaţia de circuite

comutaţia de mesaje

comutaţia de pachete

Comutaţia de circuite

Aceasta presupune realizarea icircntre emiţător şi receptor a unei căi fizice de comutaţie

dedicate numită circuit Icircntreaga comunicaţie se desfăşoară icircn trei etape

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 icircnainte de

icircnceperea 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

asigurarea unei icircntacircrzieri constante şi minime

garantarea unui debit util corespunzător mediului de comunicaţie şi serviciului utilizat

Toate acestea facilitează oferirea serviciilor de timp real (telefonie videofonie alte

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 icircn cazul HSCSD) unei staţii mobile

(MS) Acest canal rămacircne icircn posesia terminalului mobil pe toata durata conexiunii chiar dacă

transferul de date este discontinuu (icircn rafale) sau chiar icircncetează cu desăvacircrşire (de exemplu

21

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

cacircnd utilizatorul citeşte cu atenţie cinci minute o pagină WEB după care lămurit pe deplin

icircntrerupe legătura) Ca o particularizare binecunoscută a reţelelor cu comutaţie de circuite

trebuie menţionat că utilizatorul trebuie să plătească pentru icircntreaga 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 icircntre emiţător şi receptor

Informaţia ce urmează a fi transmisă formează o entitate bine precizată numita mesaj

Mesajele sunt complet independente unele faţă 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 icircl

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 icircntacircrzierea icircn 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 icircn

general rezultatul divizării mesajelor icircn 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)

Icircn cazul comutaţiei de pachete fără conexiune pachetele (numite şi datagrame) se transmit

independent icircn cel mai pur spirit al comutaţiei de mesaje urmacircnd rute posibil diferite

Sosirea lor la destinaţie poate avea loc icircntr-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 Proiect de diplomă SECTIA CALCULATOARE

suplimentară din fiecare pachet privitoare la mesajul din care face parte şi locul pe care icircl

ocupa icircn el Exemplul tipic de reţea care utilizează comutaţia de pachete este internetul

BComutaţia de pachete orientată pe conexiune (sau circuit virtual)

Icircn cazul comutaţiei de pachete orientată pe conexiune (sau circuit virtual) comunicarea

icircntre 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 icircnseamnă 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 icircntreaga cale La stabilirea circuitului

virtual fiecare comutator (router) trebuie să memoreze icircn tabela de dirijare care este

succesorul său icircn 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 Avacircnd memorat nodul succesor icircn fiecare dintre circuitele virtuale icircn care este

implicat comutatorul va identifica circuitul asociat pachetului şi icircl va transmite pe acesta pe

linia de ieşire corespunzătoare Tehnica circuitului virtual garantează livrarea icircn ordine a

pachetelor la destinaţie Exemple marcante de reţele ce utilizează comutaţia de pachete de tip

circuit virtual sunt X25 ş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ă icircn 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) icircn cazul unui trafic crescut la intrare Pierderea pachetelor garantarea unei

icircntacircrzieri maxime şi a unui debit utilizator constant sunt problemele spinoase ale comutaţiei

de pachete Ele reprezintă obstacole icircn special icircn calea oferirii serviciilor de timp real cum ar

fi telefonia

Icircn schimb icircn cazul transmisiilor de date avantajul bunei administrări a resurselor

prevalează De exemplu icircn cazul particular al interfeţei radio GSM cacircnd o staţie mobilă (MS)

generează un pachet de date reţeaua icircl va transmite pe un canal radio disponibil icircn 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 Proiect de diplomă SECTIA CALCULATOARE

transmis sau dacă nu alteia Icircn acest mod atacircta timp cacirct cineva are ceva de transmis

canalele radio nu sunt blocate inutil Lucrul icircn mod pachet are o eficienţă cu totul deosebită icircn

cazul unui trafic de date icircn 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 Atacirct HSCSD cacirct şi GPRS icircş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 icircn rafale fără pretenţii de timp real Diferenţa

fundamentală icircntre HSCSD şi GPRS este că acesta din urmă valorifică aceste resurse icircntr-un

mod mult mai eficient deoarece utilizează comutaţia de pachete Icircn plus costul serviciilor

oferite este mai atractiv deoarece utilizatorul plăteşte volumul de date transferat Practic dacă

doreşte utilizatorul poate fi sbquoconectatrsquo la reţeaua de date icircn permanenţă fiind taxat doar

pentru timpul icircn care efectiv utilizează resursele reţelei adică pentru pachetele de date

recepţionate respectiv transmise

243 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 Icircn general orice tip de aplicaţii ce necesită comunicaţii maşină - maşină la debite

mici şi medii sunt adecvate dezvoltării icircn mediul GPRS

Ca şi icircn reţeaua GSM reţelele GPRS pot oferi două categorii de servicii de

telecomunicaţii

servicii de bază

servicii suplimentare

Serviciile de bază GPRS

Acestea sunt icircn principal servicii suport (bearer services) de transport care realizează

transmiterea datelor cu comutaţie de pachete icircntre două interfeţe şi din teleservicii Similar

situaţiei din GSM aceste interfeţe sunt

interfaţa dintre echipamentul terminal de date (de exemplu calculator) şi terminalul

mobil GPRS

24

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

interfaţa dintre reţeaua GPRS şi reţeaua de date sau echipamentul terminal cu care

comunică Aceasta interfaţă este situată icircntr-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 icircn GSM aceste mesaje nu va mai fi icircncă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

servicii punct-la-punct (PTP ndashPoint-to-Point)

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

A Serviciul PTP

Serviciul punct la punct (PTP) [GSM 0260] permite transmiterea de pachete de date

icircntre doi utilizatori Este implementat icircn 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 icircntr-o reţea de date fixă (IP X25) Serviciul PTP poate fi oferit de

asemenea icircntre doi utilizatori mobili GPRS

Serviciul punct-la punct poate fi la racircndul sau de două tipuri

PTP fără conexiune (PTP-CLNS ndash PTP Connectinnless Network Service)

PTP orientat pe conexiune (PTP-CONS ndashPTP Connection Orientated Network

Network Service)

PTP-CLNS este un serviciu de tip datagramă ce utilizează comutaţia de pachete fără

conexiune Este util icircn cazul aplicaţiilor ce generează trafic icircn 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 Icircntre cei doi utilizatori se stabileşte un circuit virtual pentru o perioadă

25

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ce poate varia de la cacircteva secunde la ore Este util atacirct pentru aplicaţii ce generează trafic icircn

rafale cacirct şi pentru aplicaţiile interactive Are că scop asigurarea interoperării cu reţele X25 ş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ă icircn alta dar numai icircn interiorul aceleiaşi reţele GPRS-PLMN La trecerea terminalului

mobil icircntr-o altă reţea sau icircn 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 icircn faza a doua a GPRS O

comunicaţie PTM se stabileşte icircntre un furnizor de servicii (ce poate fi situat icircn afară reţelei

GSM) şi un grup de terminale GPRS Şi serviciul PTM este un serviciu ce se prezintă icircn două

variante

PTMndash multidistribuţie (PTM Multicast)

PTM- grup (PTM-G--PTMGroup)

Serviciul de transport PTM-M permite transmiterea pachetelor de date icircntr-o arie

geografică dată (celulă grup de celule) fără confirmare Receptorii serviciului sunt fie toţi

abonaţii care se găsesc icircn acea zonă fie un grup icircnchis de utilizatori

Icircn 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 icircn anumite zone

geografice Transmisia poate fi şi cu confirmare

Serviciile suplimentare

Printre serviciile suplimentare avute icircn vedere icircntr-un prim stadiu se numără

redirecţionarea necondiţionată a apelurilor redirecţionarea cacircnd abonatul nu este accesibil şi

definirea de grupuri icircnchise de utilizatori In afară de aceste servicii recomandarea GSM

0260 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 Proiect de diplomă SECTIA CALCULATOARE

244 Arhitectura GPRS

GPRS este o soluţie pentru operatori deoarece nu necesită modificări substanţiale icircn

reţeaua GSM Aşa cum se observă icircn figura 72 reţeaua nucleu a GPRS operează icircn paralel

cu GSM-NSS

Figura 23 Arhitectura reţelei GPRS

25 LabWindowsCVI

La dipecer am considerat un calculator desktop sau laptop pe care va rula o aplicaţie

de monitorizare a datelor măsurate implementată icircn LabWindowsCVI

LabWindowsCVI este o platformă pentru dezvoltare de software cu orientare pe

aplicaţii de instrumentaţie După cum se deduce din denumirea sa (CVI ndash 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 Icircmbină 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 Proiect de diplomă SECTIA CALCULATOARE

multiplele lui facilităţi icircl 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

bull Help on-line

bull Selectare şi declarare de variabile sau constante necesare

bull Execuţie interactivă

bull Inserarea funcţiei editate icircntr-un text sursă

Mediul este extrem de flexibil permiţacircnd interfaţarea bidirecţională cu alte compilatoare de

C sau C++ De asemenea se pot folosi şi DLL-uri

Puterea mediului LabWindowsCVI este dată de bibliotecile puse la dispoziţia

programatorului acestea conţinacircnd 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

bull de instrumente

bull pentru interfaţa GPIBGPIB 4882 (General Purpose Interface Bus)

bull pentru achiziţie de date

bull pentru operaţii IO icircn cazul achiziţiei de date

bull pentru interfaţa serială RS232

bull pentru sistemul VXI

Biblioteci specializate pentru analiza datelor

bull pentru IO

bull pentru formatarea specială

bull pentru analiză

bull pentru analiză avansată

Biblioteci specializate pentru vizualizare date

bull pentru crearea unei interfeţe utilizator de tip vizual

Biblioteci specializate pentru lucrul icircn reţea şi comunicarea icircntre diverse aplicaţii

bull pentru DDE (Dynamic Data Exchange)

bull pentru TCP (Transmision Control Protocol)

bull pentru sistemul X de sub Unix

Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

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

bull interfaţa cu utilizatorul

bull partea de control a aplicaţiei

bull partea specializată pentru achiziţia datelor

bull partea specializată icircn analiza respectivelor date

Mai jos prezentăm o schemă generică a aplicaţiilor CVI

Figura 24

Tipuri de fişiere folosite icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a unora dintre meniurile şi ferestrele mediului de dezvoltare CVI

Fereastra proiect

Prezentăm mai jos doar informaţiile suplimentare faţă de o fereastră proiect standard

Pe lacircngă datele curente despre fiecare fişier inclus icircn proiect acesta mai are precizat şi unul

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 icircn fişierul respectiv şi deci trebuie salvat

- C indică obligativitatea compilării respectivului fişier icircnainte de rularea aplicaţiei

- indică faptul că fişierul este deschis icircntr-o fereastră de editare

- indică ca acest fişier nu este deschis

Aplicaţii consolă

Pentru aplicaţiile tip consolă clasice C unde se folosesc pentru IO funcţiile scanf şi

printf vizualizarea ieşirii icircn mod text a acestora se va face icircntr-o fereastră specială numită

ldquoStandard InputOutput Windowrdquo

Observaţie Dacă se va programa icircn acest mod trebuie activată opţiunea ldquoBring Standard

InputOtput to front whenever modifyrdquo 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 cacircnd este activat evenimentele vor fi afişate icircn partea

dreaptă a barei de facilităţi

30

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a cacirctorva din meniurile mai importante ale generatorului

Menu Bars activează cutia de dialog care ne prezintă toate barele de meniu definite deja de

programator

Figura 25

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(fig26) permite specificarea sau modificarea caracteristicilor

unei bare de meniuri icircn curs de creare sau care există deja

31

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 26

Menu Bar Constant Prefix este identificatorul intern al respectivei bare de meniuri Acesta

va fi folosit de funcţia LoadMenuBar pentru icircncărcarea icircn memorie a parametrilor care conţin

această bară Va fi definit automat icircn fişierul header din scheletul de aplicaţie

Item se referă la numele meniului curentsubmeniucomandă de meniu Dacă icircn faţa primei

litere a unui element din meniu se adaugă 2 ldquounderscorerdquo 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 cacircnd 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 Proiect de diplomă SECTIA CALCULATOARE

ModifierKeyShortcutKey se combină pentru a ataşa o cheie ldquohotrdquo pentru elementul

curent

buton ce permite coboracircrea icircn interiorul unei ierarhii de meniuri

buton ce permite urcarea icircn interiorul unei ierarhii de meniuri

Panouri

După cum am spus sunt echivalentul ferestrelor din programarea Windows Pentru a le crea

Create1048774Panel ne pune la dispoziţie un nou panou icircn cadrul UIR-ului curent Prin dublu

ldquoclickrdquo pe acesta se va intra in fereastra de editare a caracteristicilor panoului Această

fereastră este prezentată mai jos

Figura 27

La partea de Menu Bar se poate specifica o bară din cele deja create icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 11: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

de aparate de masurat icircn intervale largi de valori ale masurandului pentru marimi constante

sau variabile icircn timp) asa cum sunt etaloanele de raport etaloanele de derivare si etaloanele

de transfer (curent continuu ndash curent alternativ) prin compararea efectelor (termice

electrodinamice etc) ale semnalelor de curent sau tensiune produse asupra unui acelaşi

element sensibil

22 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ţă şi aplicaţiile la care sunt conectate De fapt M2M este o

evoluţie comercială a tradiţionalelor sisteme de control al echipamentelor din domeniul

industrial soluţie aplicată cu succes pentru prima dată de NASA Adaptată nevoilor

companiilor (un rol important l-a jucat compania France Telecom) M2M permite companiilor

sa administreze mai uşor echipamentele aflate la distanţă si să le integreze cu procesele

interne

Zona soluţiilor M2M este cotată ca fiind una dintre cele mai promiţătoare in

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 Proiect de diplomă SECTIA CALCULATOARE

23 Limbajul Python

Icircn cadrul unei instalaţii de telemetrie modemurile deţin memorie şi processor propriu

motiv pentru care se numesc ldquointeligenterdquo Pe lacircngă memorie şi processor aceste modemuri

inteligente au şi un interpretor al unui limbaj de programare de nivel icircnalt Icircn 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 cacircteva zile

231 Tipuri de date

Sunt 3 grupuri de tipuri de date in Python

Scalari ndash 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ă icircn Python

a = 7 7 (integer)

a = str(2a) + bytes 7 bytes (string)

15

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Icircn Python variabilele nu sunt declarate icircn script ele apar doar atunci cand sunt folosite

232 Operatori

Icircn Python există următorii operatori

Operatori aritmetici

+ - ~ ltlt gtgt amp ^ |

Operatori relaţionali şi logici

is in lt lt= gt gt= == = not and or

Operatori de asignare

= += -= = = = = ltlt= gtgt= amp= ^= |=

Alţi operatori

( ) [ ] [] `` lambda

233 Comenzi compuse

Comenzile care aparţin aceluiaşi grup logic sunt deplasate spre dreapta cu acelaş

număr de spaţii albe

if a gt 0

b = 1

c = 2

De obicei fiecare comandă icircncepe pe o linie nouă

16

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

O instrucţiune se poate continua pe racircndul următor prin plasarea caracterului backslash

la sfacircrsitul randului Acest lucru nu este necesar dacă există paranteze deschise

my_list = [1

[abc 2]

-3+6j]

print my_list

234 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 gt b

print a is greater than b

elif a lt b

print a is lower than b

else

print a equals b

Se poate folosi si interval prescurtate de testare

if 2 lt= a lt= 7

print a is in the interval [2 7]

235 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ăacirc

numbers = [ ]

i = 0

while i lt 100

17

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

numbersappend(i)

i = i + 1

O buclă similar for arată in felul următor

numbers = [ ]

for i in range(100)

numbersappend(i)

Icircn 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

24 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

- GSMGPRS

- Fibră Optică

Opţiunea pentru care am optat icircn partea de comunicaţie este GSMGPRS 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ămacircne

comutat prin MSC

Datele sunt transmise prin GPRS icircn 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 Proiect de diplomă SECTIA CALCULATOARE

dată de introducerea codării adaptive a canalului Aceasta icircnseamnă că protecţia datelor

variază icircn timp icircn funcţie de starea canalului radio GPRS poate utiliza pentru o conexiune

de date de la fracţiuni de canale de trafic pacircnă la maximum 8 sloturi temporale (adică tot

cadrul TDMA) icircn funcţie de resursele disponibile

Capacitatea alocată unei conexiuni va varia icircn funcţie de icircncărcarea cu trafic de pe

frecvenţa respectivă precum şi de tipul traficului (vocedate) Este important că utilizacircnd

comutaţia de pachete o transmisie de date nu ocupă resursele reţelei decacirct atunci cacircnd sunt

date de transmis Cacircnd 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ă icircn paralel cu subsistemul reţea şi comutaţie (NSS) al GSM care va

gestiona icircn continuare transmisia cu comutaţie de circuite

241 Caracteristicile sistemului GPRS

GPRS este un serviciu specificat icircn faza 2+ de standardizare a GSM El este oferit prin

intermediul unei infrastructuri numită şi sistem sau reţea GPRS ce interoperează cu

infrastructura bdquoclasicărdquo GSM

GPRS se icircncadrează icircn orientarea generală a ETSI de a asigura prin aza 2+ o platformă

ce va putea fi utilizată ulterior icircn reţele de generaţia a treia Astfel el este onsiderat

actualmente soluţia de bază pentru transmiterea de date icircn 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ă (25G)

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ă icircn acest moment (atacirct la

25G cacirct şi icircn 3G) doar la transmiterea datelor vocea rămacircnacircnd icircn continuare comutată prin

MSC Datorită eternei insuficienţe a resurselor radio este probabil ca icircntr-o fază nu prea

icircndepă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

Icircn concluzie GPRS reprezintă o infrastructura ce permite transmiterea datelor pe baza

comutaţiei de pachete icircntr-o reţea GSM

19

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Pentru a putea oferi debite de date mai ridicate icircn GPRS se urmăreşte utilizarea cacirct

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 Icircn ciuda acestor asemănări icircnlocuirea comutaţiei de circuite cu cea de

pachete face din GPRS un sistem complet diferit de HSCSD Aceasta atacirct 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)

Rezumacircnd icircn 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ă atacirct din experienţa

sistemelor anterioare cacirct şi mai ales din operarea icircn modul pachet a datelor ce se transmit

Soluţiile utilizate sunt

creşterea ratei de transmisie a datelor prin reducerea codării canalului (sunt definite

şi pot

fi utilizate 4 scheme de codare 905kbps 134 kbps 156 kbps 214kbps)

creşterea ratei de transmisie prin operare multislot ( pacircnă 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ă uplinkdownlink

creşterea eficienţei utilizării resurselor radio prin alocarea dinamică a canalelor icircntre

servicii comutate icircn mod circuit respectiv pachet

Cacircnd un icircntreg cadru TDMA este alocat unui utilizator cu schema de protecţie minimă

(practic fără corecţie de erori) rezultă rata utilă instantanee maximă posibilă icircn GPRS

(8x214 kbps=1712 kbps)

242 Comutaţie de circuite şi comutaţie de pachete

20

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comutaţia este o tehnică esenţială icircn 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

comutaţia de circuite

comutaţia de mesaje

comutaţia de pachete

Comutaţia de circuite

Aceasta presupune realizarea icircntre emiţător şi receptor a unei căi fizice de comutaţie

dedicate numită circuit Icircntreaga comunicaţie se desfăşoară icircn trei etape

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 icircnainte de

icircnceperea 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

asigurarea unei icircntacircrzieri constante şi minime

garantarea unui debit util corespunzător mediului de comunicaţie şi serviciului utilizat

Toate acestea facilitează oferirea serviciilor de timp real (telefonie videofonie alte

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 icircn cazul HSCSD) unei staţii mobile

(MS) Acest canal rămacircne icircn posesia terminalului mobil pe toata durata conexiunii chiar dacă

transferul de date este discontinuu (icircn rafale) sau chiar icircncetează cu desăvacircrşire (de exemplu

21

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

cacircnd utilizatorul citeşte cu atenţie cinci minute o pagină WEB după care lămurit pe deplin

icircntrerupe legătura) Ca o particularizare binecunoscută a reţelelor cu comutaţie de circuite

trebuie menţionat că utilizatorul trebuie să plătească pentru icircntreaga 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 icircntre emiţător şi receptor

Informaţia ce urmează a fi transmisă formează o entitate bine precizată numita mesaj

Mesajele sunt complet independente unele faţă 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 icircl

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 icircntacircrzierea icircn 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 icircn

general rezultatul divizării mesajelor icircn 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)

Icircn cazul comutaţiei de pachete fără conexiune pachetele (numite şi datagrame) se transmit

independent icircn cel mai pur spirit al comutaţiei de mesaje urmacircnd rute posibil diferite

Sosirea lor la destinaţie poate avea loc icircntr-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 Proiect de diplomă SECTIA CALCULATOARE

suplimentară din fiecare pachet privitoare la mesajul din care face parte şi locul pe care icircl

ocupa icircn el Exemplul tipic de reţea care utilizează comutaţia de pachete este internetul

BComutaţia de pachete orientată pe conexiune (sau circuit virtual)

Icircn cazul comutaţiei de pachete orientată pe conexiune (sau circuit virtual) comunicarea

icircntre 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 icircnseamnă 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 icircntreaga cale La stabilirea circuitului

virtual fiecare comutator (router) trebuie să memoreze icircn tabela de dirijare care este

succesorul său icircn 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 Avacircnd memorat nodul succesor icircn fiecare dintre circuitele virtuale icircn care este

implicat comutatorul va identifica circuitul asociat pachetului şi icircl va transmite pe acesta pe

linia de ieşire corespunzătoare Tehnica circuitului virtual garantează livrarea icircn ordine a

pachetelor la destinaţie Exemple marcante de reţele ce utilizează comutaţia de pachete de tip

circuit virtual sunt X25 ş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ă icircn 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) icircn cazul unui trafic crescut la intrare Pierderea pachetelor garantarea unei

icircntacircrzieri maxime şi a unui debit utilizator constant sunt problemele spinoase ale comutaţiei

de pachete Ele reprezintă obstacole icircn special icircn calea oferirii serviciilor de timp real cum ar

fi telefonia

Icircn schimb icircn cazul transmisiilor de date avantajul bunei administrări a resurselor

prevalează De exemplu icircn cazul particular al interfeţei radio GSM cacircnd o staţie mobilă (MS)

generează un pachet de date reţeaua icircl va transmite pe un canal radio disponibil icircn 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 Proiect de diplomă SECTIA CALCULATOARE

transmis sau dacă nu alteia Icircn acest mod atacircta timp cacirct cineva are ceva de transmis

canalele radio nu sunt blocate inutil Lucrul icircn mod pachet are o eficienţă cu totul deosebită icircn

cazul unui trafic de date icircn 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 Atacirct HSCSD cacirct şi GPRS icircş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 icircn rafale fără pretenţii de timp real Diferenţa

fundamentală icircntre HSCSD şi GPRS este că acesta din urmă valorifică aceste resurse icircntr-un

mod mult mai eficient deoarece utilizează comutaţia de pachete Icircn plus costul serviciilor

oferite este mai atractiv deoarece utilizatorul plăteşte volumul de date transferat Practic dacă

doreşte utilizatorul poate fi sbquoconectatrsquo la reţeaua de date icircn permanenţă fiind taxat doar

pentru timpul icircn care efectiv utilizează resursele reţelei adică pentru pachetele de date

recepţionate respectiv transmise

243 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 Icircn general orice tip de aplicaţii ce necesită comunicaţii maşină - maşină la debite

mici şi medii sunt adecvate dezvoltării icircn mediul GPRS

Ca şi icircn reţeaua GSM reţelele GPRS pot oferi două categorii de servicii de

telecomunicaţii

servicii de bază

servicii suplimentare

Serviciile de bază GPRS

Acestea sunt icircn principal servicii suport (bearer services) de transport care realizează

transmiterea datelor cu comutaţie de pachete icircntre două interfeţe şi din teleservicii Similar

situaţiei din GSM aceste interfeţe sunt

interfaţa dintre echipamentul terminal de date (de exemplu calculator) şi terminalul

mobil GPRS

24

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

interfaţa dintre reţeaua GPRS şi reţeaua de date sau echipamentul terminal cu care

comunică Aceasta interfaţă este situată icircntr-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 icircn GSM aceste mesaje nu va mai fi icircncă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

servicii punct-la-punct (PTP ndashPoint-to-Point)

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

A Serviciul PTP

Serviciul punct la punct (PTP) [GSM 0260] permite transmiterea de pachete de date

icircntre doi utilizatori Este implementat icircn 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 icircntr-o reţea de date fixă (IP X25) Serviciul PTP poate fi oferit de

asemenea icircntre doi utilizatori mobili GPRS

Serviciul punct-la punct poate fi la racircndul sau de două tipuri

PTP fără conexiune (PTP-CLNS ndash PTP Connectinnless Network Service)

PTP orientat pe conexiune (PTP-CONS ndashPTP Connection Orientated Network

Network Service)

PTP-CLNS este un serviciu de tip datagramă ce utilizează comutaţia de pachete fără

conexiune Este util icircn cazul aplicaţiilor ce generează trafic icircn 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 Icircntre cei doi utilizatori se stabileşte un circuit virtual pentru o perioadă

25

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ce poate varia de la cacircteva secunde la ore Este util atacirct pentru aplicaţii ce generează trafic icircn

rafale cacirct şi pentru aplicaţiile interactive Are că scop asigurarea interoperării cu reţele X25 ş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ă icircn alta dar numai icircn interiorul aceleiaşi reţele GPRS-PLMN La trecerea terminalului

mobil icircntr-o altă reţea sau icircn 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 icircn faza a doua a GPRS O

comunicaţie PTM se stabileşte icircntre un furnizor de servicii (ce poate fi situat icircn afară reţelei

GSM) şi un grup de terminale GPRS Şi serviciul PTM este un serviciu ce se prezintă icircn două

variante

PTMndash multidistribuţie (PTM Multicast)

PTM- grup (PTM-G--PTMGroup)

Serviciul de transport PTM-M permite transmiterea pachetelor de date icircntr-o arie

geografică dată (celulă grup de celule) fără confirmare Receptorii serviciului sunt fie toţi

abonaţii care se găsesc icircn acea zonă fie un grup icircnchis de utilizatori

Icircn 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 icircn anumite zone

geografice Transmisia poate fi şi cu confirmare

Serviciile suplimentare

Printre serviciile suplimentare avute icircn vedere icircntr-un prim stadiu se numără

redirecţionarea necondiţionată a apelurilor redirecţionarea cacircnd abonatul nu este accesibil şi

definirea de grupuri icircnchise de utilizatori In afară de aceste servicii recomandarea GSM

0260 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 Proiect de diplomă SECTIA CALCULATOARE

244 Arhitectura GPRS

GPRS este o soluţie pentru operatori deoarece nu necesită modificări substanţiale icircn

reţeaua GSM Aşa cum se observă icircn figura 72 reţeaua nucleu a GPRS operează icircn paralel

cu GSM-NSS

Figura 23 Arhitectura reţelei GPRS

25 LabWindowsCVI

La dipecer am considerat un calculator desktop sau laptop pe care va rula o aplicaţie

de monitorizare a datelor măsurate implementată icircn LabWindowsCVI

LabWindowsCVI este o platformă pentru dezvoltare de software cu orientare pe

aplicaţii de instrumentaţie După cum se deduce din denumirea sa (CVI ndash 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 Icircmbină 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 Proiect de diplomă SECTIA CALCULATOARE

multiplele lui facilităţi icircl 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

bull Help on-line

bull Selectare şi declarare de variabile sau constante necesare

bull Execuţie interactivă

bull Inserarea funcţiei editate icircntr-un text sursă

Mediul este extrem de flexibil permiţacircnd interfaţarea bidirecţională cu alte compilatoare de

C sau C++ De asemenea se pot folosi şi DLL-uri

Puterea mediului LabWindowsCVI este dată de bibliotecile puse la dispoziţia

programatorului acestea conţinacircnd 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

bull de instrumente

bull pentru interfaţa GPIBGPIB 4882 (General Purpose Interface Bus)

bull pentru achiziţie de date

bull pentru operaţii IO icircn cazul achiziţiei de date

bull pentru interfaţa serială RS232

bull pentru sistemul VXI

Biblioteci specializate pentru analiza datelor

bull pentru IO

bull pentru formatarea specială

bull pentru analiză

bull pentru analiză avansată

Biblioteci specializate pentru vizualizare date

bull pentru crearea unei interfeţe utilizator de tip vizual

Biblioteci specializate pentru lucrul icircn reţea şi comunicarea icircntre diverse aplicaţii

bull pentru DDE (Dynamic Data Exchange)

bull pentru TCP (Transmision Control Protocol)

bull pentru sistemul X de sub Unix

Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

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

bull interfaţa cu utilizatorul

bull partea de control a aplicaţiei

bull partea specializată pentru achiziţia datelor

bull partea specializată icircn analiza respectivelor date

Mai jos prezentăm o schemă generică a aplicaţiilor CVI

Figura 24

Tipuri de fişiere folosite icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a unora dintre meniurile şi ferestrele mediului de dezvoltare CVI

Fereastra proiect

Prezentăm mai jos doar informaţiile suplimentare faţă de o fereastră proiect standard

Pe lacircngă datele curente despre fiecare fişier inclus icircn proiect acesta mai are precizat şi unul

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 icircn fişierul respectiv şi deci trebuie salvat

- C indică obligativitatea compilării respectivului fişier icircnainte de rularea aplicaţiei

- indică faptul că fişierul este deschis icircntr-o fereastră de editare

- indică ca acest fişier nu este deschis

Aplicaţii consolă

Pentru aplicaţiile tip consolă clasice C unde se folosesc pentru IO funcţiile scanf şi

printf vizualizarea ieşirii icircn mod text a acestora se va face icircntr-o fereastră specială numită

ldquoStandard InputOutput Windowrdquo

Observaţie Dacă se va programa icircn acest mod trebuie activată opţiunea ldquoBring Standard

InputOtput to front whenever modifyrdquo 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 cacircnd este activat evenimentele vor fi afişate icircn partea

dreaptă a barei de facilităţi

30

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a cacirctorva din meniurile mai importante ale generatorului

Menu Bars activează cutia de dialog care ne prezintă toate barele de meniu definite deja de

programator

Figura 25

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(fig26) permite specificarea sau modificarea caracteristicilor

unei bare de meniuri icircn curs de creare sau care există deja

31

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 26

Menu Bar Constant Prefix este identificatorul intern al respectivei bare de meniuri Acesta

va fi folosit de funcţia LoadMenuBar pentru icircncărcarea icircn memorie a parametrilor care conţin

această bară Va fi definit automat icircn fişierul header din scheletul de aplicaţie

Item se referă la numele meniului curentsubmeniucomandă de meniu Dacă icircn faţa primei

litere a unui element din meniu se adaugă 2 ldquounderscorerdquo 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 cacircnd 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 Proiect de diplomă SECTIA CALCULATOARE

ModifierKeyShortcutKey se combină pentru a ataşa o cheie ldquohotrdquo pentru elementul

curent

buton ce permite coboracircrea icircn interiorul unei ierarhii de meniuri

buton ce permite urcarea icircn interiorul unei ierarhii de meniuri

Panouri

După cum am spus sunt echivalentul ferestrelor din programarea Windows Pentru a le crea

Create1048774Panel ne pune la dispoziţie un nou panou icircn cadrul UIR-ului curent Prin dublu

ldquoclickrdquo pe acesta se va intra in fereastra de editare a caracteristicilor panoului Această

fereastră este prezentată mai jos

Figura 27

La partea de Menu Bar se poate specifica o bară din cele deja create icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 12: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

23 Limbajul Python

Icircn cadrul unei instalaţii de telemetrie modemurile deţin memorie şi processor propriu

motiv pentru care se numesc ldquointeligenterdquo Pe lacircngă memorie şi processor aceste modemuri

inteligente au şi un interpretor al unui limbaj de programare de nivel icircnalt Icircn 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 cacircteva zile

231 Tipuri de date

Sunt 3 grupuri de tipuri de date in Python

Scalari ndash 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ă icircn Python

a = 7 7 (integer)

a = str(2a) + bytes 7 bytes (string)

15

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Icircn Python variabilele nu sunt declarate icircn script ele apar doar atunci cand sunt folosite

232 Operatori

Icircn Python există următorii operatori

Operatori aritmetici

+ - ~ ltlt gtgt amp ^ |

Operatori relaţionali şi logici

is in lt lt= gt gt= == = not and or

Operatori de asignare

= += -= = = = = ltlt= gtgt= amp= ^= |=

Alţi operatori

( ) [ ] [] `` lambda

233 Comenzi compuse

Comenzile care aparţin aceluiaşi grup logic sunt deplasate spre dreapta cu acelaş

număr de spaţii albe

if a gt 0

b = 1

c = 2

De obicei fiecare comandă icircncepe pe o linie nouă

16

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

O instrucţiune se poate continua pe racircndul următor prin plasarea caracterului backslash

la sfacircrsitul randului Acest lucru nu este necesar dacă există paranteze deschise

my_list = [1

[abc 2]

-3+6j]

print my_list

234 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 gt b

print a is greater than b

elif a lt b

print a is lower than b

else

print a equals b

Se poate folosi si interval prescurtate de testare

if 2 lt= a lt= 7

print a is in the interval [2 7]

235 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ăacirc

numbers = [ ]

i = 0

while i lt 100

17

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

numbersappend(i)

i = i + 1

O buclă similar for arată in felul următor

numbers = [ ]

for i in range(100)

numbersappend(i)

Icircn 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

24 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

- GSMGPRS

- Fibră Optică

Opţiunea pentru care am optat icircn partea de comunicaţie este GSMGPRS 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ămacircne

comutat prin MSC

Datele sunt transmise prin GPRS icircn 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 Proiect de diplomă SECTIA CALCULATOARE

dată de introducerea codării adaptive a canalului Aceasta icircnseamnă că protecţia datelor

variază icircn timp icircn funcţie de starea canalului radio GPRS poate utiliza pentru o conexiune

de date de la fracţiuni de canale de trafic pacircnă la maximum 8 sloturi temporale (adică tot

cadrul TDMA) icircn funcţie de resursele disponibile

Capacitatea alocată unei conexiuni va varia icircn funcţie de icircncărcarea cu trafic de pe

frecvenţa respectivă precum şi de tipul traficului (vocedate) Este important că utilizacircnd

comutaţia de pachete o transmisie de date nu ocupă resursele reţelei decacirct atunci cacircnd sunt

date de transmis Cacircnd 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ă icircn paralel cu subsistemul reţea şi comutaţie (NSS) al GSM care va

gestiona icircn continuare transmisia cu comutaţie de circuite

241 Caracteristicile sistemului GPRS

GPRS este un serviciu specificat icircn faza 2+ de standardizare a GSM El este oferit prin

intermediul unei infrastructuri numită şi sistem sau reţea GPRS ce interoperează cu

infrastructura bdquoclasicărdquo GSM

GPRS se icircncadrează icircn orientarea generală a ETSI de a asigura prin aza 2+ o platformă

ce va putea fi utilizată ulterior icircn reţele de generaţia a treia Astfel el este onsiderat

actualmente soluţia de bază pentru transmiterea de date icircn 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ă (25G)

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ă icircn acest moment (atacirct la

25G cacirct şi icircn 3G) doar la transmiterea datelor vocea rămacircnacircnd icircn continuare comutată prin

MSC Datorită eternei insuficienţe a resurselor radio este probabil ca icircntr-o fază nu prea

icircndepă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

Icircn concluzie GPRS reprezintă o infrastructura ce permite transmiterea datelor pe baza

comutaţiei de pachete icircntr-o reţea GSM

19

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Pentru a putea oferi debite de date mai ridicate icircn GPRS se urmăreşte utilizarea cacirct

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 Icircn ciuda acestor asemănări icircnlocuirea comutaţiei de circuite cu cea de

pachete face din GPRS un sistem complet diferit de HSCSD Aceasta atacirct 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)

Rezumacircnd icircn 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ă atacirct din experienţa

sistemelor anterioare cacirct şi mai ales din operarea icircn modul pachet a datelor ce se transmit

Soluţiile utilizate sunt

creşterea ratei de transmisie a datelor prin reducerea codării canalului (sunt definite

şi pot

fi utilizate 4 scheme de codare 905kbps 134 kbps 156 kbps 214kbps)

creşterea ratei de transmisie prin operare multislot ( pacircnă 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ă uplinkdownlink

creşterea eficienţei utilizării resurselor radio prin alocarea dinamică a canalelor icircntre

servicii comutate icircn mod circuit respectiv pachet

Cacircnd un icircntreg cadru TDMA este alocat unui utilizator cu schema de protecţie minimă

(practic fără corecţie de erori) rezultă rata utilă instantanee maximă posibilă icircn GPRS

(8x214 kbps=1712 kbps)

242 Comutaţie de circuite şi comutaţie de pachete

20

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comutaţia este o tehnică esenţială icircn 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

comutaţia de circuite

comutaţia de mesaje

comutaţia de pachete

Comutaţia de circuite

Aceasta presupune realizarea icircntre emiţător şi receptor a unei căi fizice de comutaţie

dedicate numită circuit Icircntreaga comunicaţie se desfăşoară icircn trei etape

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 icircnainte de

icircnceperea 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

asigurarea unei icircntacircrzieri constante şi minime

garantarea unui debit util corespunzător mediului de comunicaţie şi serviciului utilizat

Toate acestea facilitează oferirea serviciilor de timp real (telefonie videofonie alte

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 icircn cazul HSCSD) unei staţii mobile

(MS) Acest canal rămacircne icircn posesia terminalului mobil pe toata durata conexiunii chiar dacă

transferul de date este discontinuu (icircn rafale) sau chiar icircncetează cu desăvacircrşire (de exemplu

21

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

cacircnd utilizatorul citeşte cu atenţie cinci minute o pagină WEB după care lămurit pe deplin

icircntrerupe legătura) Ca o particularizare binecunoscută a reţelelor cu comutaţie de circuite

trebuie menţionat că utilizatorul trebuie să plătească pentru icircntreaga 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 icircntre emiţător şi receptor

Informaţia ce urmează a fi transmisă formează o entitate bine precizată numita mesaj

Mesajele sunt complet independente unele faţă 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 icircl

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 icircntacircrzierea icircn 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 icircn

general rezultatul divizării mesajelor icircn 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)

Icircn cazul comutaţiei de pachete fără conexiune pachetele (numite şi datagrame) se transmit

independent icircn cel mai pur spirit al comutaţiei de mesaje urmacircnd rute posibil diferite

Sosirea lor la destinaţie poate avea loc icircntr-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 Proiect de diplomă SECTIA CALCULATOARE

suplimentară din fiecare pachet privitoare la mesajul din care face parte şi locul pe care icircl

ocupa icircn el Exemplul tipic de reţea care utilizează comutaţia de pachete este internetul

BComutaţia de pachete orientată pe conexiune (sau circuit virtual)

Icircn cazul comutaţiei de pachete orientată pe conexiune (sau circuit virtual) comunicarea

icircntre 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 icircnseamnă 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 icircntreaga cale La stabilirea circuitului

virtual fiecare comutator (router) trebuie să memoreze icircn tabela de dirijare care este

succesorul său icircn 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 Avacircnd memorat nodul succesor icircn fiecare dintre circuitele virtuale icircn care este

implicat comutatorul va identifica circuitul asociat pachetului şi icircl va transmite pe acesta pe

linia de ieşire corespunzătoare Tehnica circuitului virtual garantează livrarea icircn ordine a

pachetelor la destinaţie Exemple marcante de reţele ce utilizează comutaţia de pachete de tip

circuit virtual sunt X25 ş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ă icircn 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) icircn cazul unui trafic crescut la intrare Pierderea pachetelor garantarea unei

icircntacircrzieri maxime şi a unui debit utilizator constant sunt problemele spinoase ale comutaţiei

de pachete Ele reprezintă obstacole icircn special icircn calea oferirii serviciilor de timp real cum ar

fi telefonia

Icircn schimb icircn cazul transmisiilor de date avantajul bunei administrări a resurselor

prevalează De exemplu icircn cazul particular al interfeţei radio GSM cacircnd o staţie mobilă (MS)

generează un pachet de date reţeaua icircl va transmite pe un canal radio disponibil icircn 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 Proiect de diplomă SECTIA CALCULATOARE

transmis sau dacă nu alteia Icircn acest mod atacircta timp cacirct cineva are ceva de transmis

canalele radio nu sunt blocate inutil Lucrul icircn mod pachet are o eficienţă cu totul deosebită icircn

cazul unui trafic de date icircn 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 Atacirct HSCSD cacirct şi GPRS icircş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 icircn rafale fără pretenţii de timp real Diferenţa

fundamentală icircntre HSCSD şi GPRS este că acesta din urmă valorifică aceste resurse icircntr-un

mod mult mai eficient deoarece utilizează comutaţia de pachete Icircn plus costul serviciilor

oferite este mai atractiv deoarece utilizatorul plăteşte volumul de date transferat Practic dacă

doreşte utilizatorul poate fi sbquoconectatrsquo la reţeaua de date icircn permanenţă fiind taxat doar

pentru timpul icircn care efectiv utilizează resursele reţelei adică pentru pachetele de date

recepţionate respectiv transmise

243 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 Icircn general orice tip de aplicaţii ce necesită comunicaţii maşină - maşină la debite

mici şi medii sunt adecvate dezvoltării icircn mediul GPRS

Ca şi icircn reţeaua GSM reţelele GPRS pot oferi două categorii de servicii de

telecomunicaţii

servicii de bază

servicii suplimentare

Serviciile de bază GPRS

Acestea sunt icircn principal servicii suport (bearer services) de transport care realizează

transmiterea datelor cu comutaţie de pachete icircntre două interfeţe şi din teleservicii Similar

situaţiei din GSM aceste interfeţe sunt

interfaţa dintre echipamentul terminal de date (de exemplu calculator) şi terminalul

mobil GPRS

24

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

interfaţa dintre reţeaua GPRS şi reţeaua de date sau echipamentul terminal cu care

comunică Aceasta interfaţă este situată icircntr-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 icircn GSM aceste mesaje nu va mai fi icircncă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

servicii punct-la-punct (PTP ndashPoint-to-Point)

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

A Serviciul PTP

Serviciul punct la punct (PTP) [GSM 0260] permite transmiterea de pachete de date

icircntre doi utilizatori Este implementat icircn 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 icircntr-o reţea de date fixă (IP X25) Serviciul PTP poate fi oferit de

asemenea icircntre doi utilizatori mobili GPRS

Serviciul punct-la punct poate fi la racircndul sau de două tipuri

PTP fără conexiune (PTP-CLNS ndash PTP Connectinnless Network Service)

PTP orientat pe conexiune (PTP-CONS ndashPTP Connection Orientated Network

Network Service)

PTP-CLNS este un serviciu de tip datagramă ce utilizează comutaţia de pachete fără

conexiune Este util icircn cazul aplicaţiilor ce generează trafic icircn 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 Icircntre cei doi utilizatori se stabileşte un circuit virtual pentru o perioadă

25

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ce poate varia de la cacircteva secunde la ore Este util atacirct pentru aplicaţii ce generează trafic icircn

rafale cacirct şi pentru aplicaţiile interactive Are că scop asigurarea interoperării cu reţele X25 ş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ă icircn alta dar numai icircn interiorul aceleiaşi reţele GPRS-PLMN La trecerea terminalului

mobil icircntr-o altă reţea sau icircn 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 icircn faza a doua a GPRS O

comunicaţie PTM se stabileşte icircntre un furnizor de servicii (ce poate fi situat icircn afară reţelei

GSM) şi un grup de terminale GPRS Şi serviciul PTM este un serviciu ce se prezintă icircn două

variante

PTMndash multidistribuţie (PTM Multicast)

PTM- grup (PTM-G--PTMGroup)

Serviciul de transport PTM-M permite transmiterea pachetelor de date icircntr-o arie

geografică dată (celulă grup de celule) fără confirmare Receptorii serviciului sunt fie toţi

abonaţii care se găsesc icircn acea zonă fie un grup icircnchis de utilizatori

Icircn 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 icircn anumite zone

geografice Transmisia poate fi şi cu confirmare

Serviciile suplimentare

Printre serviciile suplimentare avute icircn vedere icircntr-un prim stadiu se numără

redirecţionarea necondiţionată a apelurilor redirecţionarea cacircnd abonatul nu este accesibil şi

definirea de grupuri icircnchise de utilizatori In afară de aceste servicii recomandarea GSM

0260 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 Proiect de diplomă SECTIA CALCULATOARE

244 Arhitectura GPRS

GPRS este o soluţie pentru operatori deoarece nu necesită modificări substanţiale icircn

reţeaua GSM Aşa cum se observă icircn figura 72 reţeaua nucleu a GPRS operează icircn paralel

cu GSM-NSS

Figura 23 Arhitectura reţelei GPRS

25 LabWindowsCVI

La dipecer am considerat un calculator desktop sau laptop pe care va rula o aplicaţie

de monitorizare a datelor măsurate implementată icircn LabWindowsCVI

LabWindowsCVI este o platformă pentru dezvoltare de software cu orientare pe

aplicaţii de instrumentaţie După cum se deduce din denumirea sa (CVI ndash 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 Icircmbină 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 Proiect de diplomă SECTIA CALCULATOARE

multiplele lui facilităţi icircl 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

bull Help on-line

bull Selectare şi declarare de variabile sau constante necesare

bull Execuţie interactivă

bull Inserarea funcţiei editate icircntr-un text sursă

Mediul este extrem de flexibil permiţacircnd interfaţarea bidirecţională cu alte compilatoare de

C sau C++ De asemenea se pot folosi şi DLL-uri

Puterea mediului LabWindowsCVI este dată de bibliotecile puse la dispoziţia

programatorului acestea conţinacircnd 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

bull de instrumente

bull pentru interfaţa GPIBGPIB 4882 (General Purpose Interface Bus)

bull pentru achiziţie de date

bull pentru operaţii IO icircn cazul achiziţiei de date

bull pentru interfaţa serială RS232

bull pentru sistemul VXI

Biblioteci specializate pentru analiza datelor

bull pentru IO

bull pentru formatarea specială

bull pentru analiză

bull pentru analiză avansată

Biblioteci specializate pentru vizualizare date

bull pentru crearea unei interfeţe utilizator de tip vizual

Biblioteci specializate pentru lucrul icircn reţea şi comunicarea icircntre diverse aplicaţii

bull pentru DDE (Dynamic Data Exchange)

bull pentru TCP (Transmision Control Protocol)

bull pentru sistemul X de sub Unix

Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

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

bull interfaţa cu utilizatorul

bull partea de control a aplicaţiei

bull partea specializată pentru achiziţia datelor

bull partea specializată icircn analiza respectivelor date

Mai jos prezentăm o schemă generică a aplicaţiilor CVI

Figura 24

Tipuri de fişiere folosite icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a unora dintre meniurile şi ferestrele mediului de dezvoltare CVI

Fereastra proiect

Prezentăm mai jos doar informaţiile suplimentare faţă de o fereastră proiect standard

Pe lacircngă datele curente despre fiecare fişier inclus icircn proiect acesta mai are precizat şi unul

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 icircn fişierul respectiv şi deci trebuie salvat

- C indică obligativitatea compilării respectivului fişier icircnainte de rularea aplicaţiei

- indică faptul că fişierul este deschis icircntr-o fereastră de editare

- indică ca acest fişier nu este deschis

Aplicaţii consolă

Pentru aplicaţiile tip consolă clasice C unde se folosesc pentru IO funcţiile scanf şi

printf vizualizarea ieşirii icircn mod text a acestora se va face icircntr-o fereastră specială numită

ldquoStandard InputOutput Windowrdquo

Observaţie Dacă se va programa icircn acest mod trebuie activată opţiunea ldquoBring Standard

InputOtput to front whenever modifyrdquo 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 cacircnd este activat evenimentele vor fi afişate icircn partea

dreaptă a barei de facilităţi

30

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a cacirctorva din meniurile mai importante ale generatorului

Menu Bars activează cutia de dialog care ne prezintă toate barele de meniu definite deja de

programator

Figura 25

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(fig26) permite specificarea sau modificarea caracteristicilor

unei bare de meniuri icircn curs de creare sau care există deja

31

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 26

Menu Bar Constant Prefix este identificatorul intern al respectivei bare de meniuri Acesta

va fi folosit de funcţia LoadMenuBar pentru icircncărcarea icircn memorie a parametrilor care conţin

această bară Va fi definit automat icircn fişierul header din scheletul de aplicaţie

Item se referă la numele meniului curentsubmeniucomandă de meniu Dacă icircn faţa primei

litere a unui element din meniu se adaugă 2 ldquounderscorerdquo 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 cacircnd 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 Proiect de diplomă SECTIA CALCULATOARE

ModifierKeyShortcutKey se combină pentru a ataşa o cheie ldquohotrdquo pentru elementul

curent

buton ce permite coboracircrea icircn interiorul unei ierarhii de meniuri

buton ce permite urcarea icircn interiorul unei ierarhii de meniuri

Panouri

După cum am spus sunt echivalentul ferestrelor din programarea Windows Pentru a le crea

Create1048774Panel ne pune la dispoziţie un nou panou icircn cadrul UIR-ului curent Prin dublu

ldquoclickrdquo pe acesta se va intra in fereastra de editare a caracteristicilor panoului Această

fereastră este prezentată mai jos

Figura 27

La partea de Menu Bar se poate specifica o bară din cele deja create icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 13: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Icircn Python variabilele nu sunt declarate icircn script ele apar doar atunci cand sunt folosite

232 Operatori

Icircn Python există următorii operatori

Operatori aritmetici

+ - ~ ltlt gtgt amp ^ |

Operatori relaţionali şi logici

is in lt lt= gt gt= == = not and or

Operatori de asignare

= += -= = = = = ltlt= gtgt= amp= ^= |=

Alţi operatori

( ) [ ] [] `` lambda

233 Comenzi compuse

Comenzile care aparţin aceluiaşi grup logic sunt deplasate spre dreapta cu acelaş

număr de spaţii albe

if a gt 0

b = 1

c = 2

De obicei fiecare comandă icircncepe pe o linie nouă

16

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

O instrucţiune se poate continua pe racircndul următor prin plasarea caracterului backslash

la sfacircrsitul randului Acest lucru nu este necesar dacă există paranteze deschise

my_list = [1

[abc 2]

-3+6j]

print my_list

234 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 gt b

print a is greater than b

elif a lt b

print a is lower than b

else

print a equals b

Se poate folosi si interval prescurtate de testare

if 2 lt= a lt= 7

print a is in the interval [2 7]

235 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ăacirc

numbers = [ ]

i = 0

while i lt 100

17

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

numbersappend(i)

i = i + 1

O buclă similar for arată in felul următor

numbers = [ ]

for i in range(100)

numbersappend(i)

Icircn 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

24 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

- GSMGPRS

- Fibră Optică

Opţiunea pentru care am optat icircn partea de comunicaţie este GSMGPRS 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ămacircne

comutat prin MSC

Datele sunt transmise prin GPRS icircn 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 Proiect de diplomă SECTIA CALCULATOARE

dată de introducerea codării adaptive a canalului Aceasta icircnseamnă că protecţia datelor

variază icircn timp icircn funcţie de starea canalului radio GPRS poate utiliza pentru o conexiune

de date de la fracţiuni de canale de trafic pacircnă la maximum 8 sloturi temporale (adică tot

cadrul TDMA) icircn funcţie de resursele disponibile

Capacitatea alocată unei conexiuni va varia icircn funcţie de icircncărcarea cu trafic de pe

frecvenţa respectivă precum şi de tipul traficului (vocedate) Este important că utilizacircnd

comutaţia de pachete o transmisie de date nu ocupă resursele reţelei decacirct atunci cacircnd sunt

date de transmis Cacircnd 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ă icircn paralel cu subsistemul reţea şi comutaţie (NSS) al GSM care va

gestiona icircn continuare transmisia cu comutaţie de circuite

241 Caracteristicile sistemului GPRS

GPRS este un serviciu specificat icircn faza 2+ de standardizare a GSM El este oferit prin

intermediul unei infrastructuri numită şi sistem sau reţea GPRS ce interoperează cu

infrastructura bdquoclasicărdquo GSM

GPRS se icircncadrează icircn orientarea generală a ETSI de a asigura prin aza 2+ o platformă

ce va putea fi utilizată ulterior icircn reţele de generaţia a treia Astfel el este onsiderat

actualmente soluţia de bază pentru transmiterea de date icircn 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ă (25G)

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ă icircn acest moment (atacirct la

25G cacirct şi icircn 3G) doar la transmiterea datelor vocea rămacircnacircnd icircn continuare comutată prin

MSC Datorită eternei insuficienţe a resurselor radio este probabil ca icircntr-o fază nu prea

icircndepă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

Icircn concluzie GPRS reprezintă o infrastructura ce permite transmiterea datelor pe baza

comutaţiei de pachete icircntr-o reţea GSM

19

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Pentru a putea oferi debite de date mai ridicate icircn GPRS se urmăreşte utilizarea cacirct

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 Icircn ciuda acestor asemănări icircnlocuirea comutaţiei de circuite cu cea de

pachete face din GPRS un sistem complet diferit de HSCSD Aceasta atacirct 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)

Rezumacircnd icircn 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ă atacirct din experienţa

sistemelor anterioare cacirct şi mai ales din operarea icircn modul pachet a datelor ce se transmit

Soluţiile utilizate sunt

creşterea ratei de transmisie a datelor prin reducerea codării canalului (sunt definite

şi pot

fi utilizate 4 scheme de codare 905kbps 134 kbps 156 kbps 214kbps)

creşterea ratei de transmisie prin operare multislot ( pacircnă 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ă uplinkdownlink

creşterea eficienţei utilizării resurselor radio prin alocarea dinamică a canalelor icircntre

servicii comutate icircn mod circuit respectiv pachet

Cacircnd un icircntreg cadru TDMA este alocat unui utilizator cu schema de protecţie minimă

(practic fără corecţie de erori) rezultă rata utilă instantanee maximă posibilă icircn GPRS

(8x214 kbps=1712 kbps)

242 Comutaţie de circuite şi comutaţie de pachete

20

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comutaţia este o tehnică esenţială icircn 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

comutaţia de circuite

comutaţia de mesaje

comutaţia de pachete

Comutaţia de circuite

Aceasta presupune realizarea icircntre emiţător şi receptor a unei căi fizice de comutaţie

dedicate numită circuit Icircntreaga comunicaţie se desfăşoară icircn trei etape

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 icircnainte de

icircnceperea 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

asigurarea unei icircntacircrzieri constante şi minime

garantarea unui debit util corespunzător mediului de comunicaţie şi serviciului utilizat

Toate acestea facilitează oferirea serviciilor de timp real (telefonie videofonie alte

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 icircn cazul HSCSD) unei staţii mobile

(MS) Acest canal rămacircne icircn posesia terminalului mobil pe toata durata conexiunii chiar dacă

transferul de date este discontinuu (icircn rafale) sau chiar icircncetează cu desăvacircrşire (de exemplu

21

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

cacircnd utilizatorul citeşte cu atenţie cinci minute o pagină WEB după care lămurit pe deplin

icircntrerupe legătura) Ca o particularizare binecunoscută a reţelelor cu comutaţie de circuite

trebuie menţionat că utilizatorul trebuie să plătească pentru icircntreaga 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 icircntre emiţător şi receptor

Informaţia ce urmează a fi transmisă formează o entitate bine precizată numita mesaj

Mesajele sunt complet independente unele faţă 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 icircl

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 icircntacircrzierea icircn 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 icircn

general rezultatul divizării mesajelor icircn 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)

Icircn cazul comutaţiei de pachete fără conexiune pachetele (numite şi datagrame) se transmit

independent icircn cel mai pur spirit al comutaţiei de mesaje urmacircnd rute posibil diferite

Sosirea lor la destinaţie poate avea loc icircntr-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 Proiect de diplomă SECTIA CALCULATOARE

suplimentară din fiecare pachet privitoare la mesajul din care face parte şi locul pe care icircl

ocupa icircn el Exemplul tipic de reţea care utilizează comutaţia de pachete este internetul

BComutaţia de pachete orientată pe conexiune (sau circuit virtual)

Icircn cazul comutaţiei de pachete orientată pe conexiune (sau circuit virtual) comunicarea

icircntre 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 icircnseamnă 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 icircntreaga cale La stabilirea circuitului

virtual fiecare comutator (router) trebuie să memoreze icircn tabela de dirijare care este

succesorul său icircn 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 Avacircnd memorat nodul succesor icircn fiecare dintre circuitele virtuale icircn care este

implicat comutatorul va identifica circuitul asociat pachetului şi icircl va transmite pe acesta pe

linia de ieşire corespunzătoare Tehnica circuitului virtual garantează livrarea icircn ordine a

pachetelor la destinaţie Exemple marcante de reţele ce utilizează comutaţia de pachete de tip

circuit virtual sunt X25 ş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ă icircn 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) icircn cazul unui trafic crescut la intrare Pierderea pachetelor garantarea unei

icircntacircrzieri maxime şi a unui debit utilizator constant sunt problemele spinoase ale comutaţiei

de pachete Ele reprezintă obstacole icircn special icircn calea oferirii serviciilor de timp real cum ar

fi telefonia

Icircn schimb icircn cazul transmisiilor de date avantajul bunei administrări a resurselor

prevalează De exemplu icircn cazul particular al interfeţei radio GSM cacircnd o staţie mobilă (MS)

generează un pachet de date reţeaua icircl va transmite pe un canal radio disponibil icircn 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 Proiect de diplomă SECTIA CALCULATOARE

transmis sau dacă nu alteia Icircn acest mod atacircta timp cacirct cineva are ceva de transmis

canalele radio nu sunt blocate inutil Lucrul icircn mod pachet are o eficienţă cu totul deosebită icircn

cazul unui trafic de date icircn 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 Atacirct HSCSD cacirct şi GPRS icircş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 icircn rafale fără pretenţii de timp real Diferenţa

fundamentală icircntre HSCSD şi GPRS este că acesta din urmă valorifică aceste resurse icircntr-un

mod mult mai eficient deoarece utilizează comutaţia de pachete Icircn plus costul serviciilor

oferite este mai atractiv deoarece utilizatorul plăteşte volumul de date transferat Practic dacă

doreşte utilizatorul poate fi sbquoconectatrsquo la reţeaua de date icircn permanenţă fiind taxat doar

pentru timpul icircn care efectiv utilizează resursele reţelei adică pentru pachetele de date

recepţionate respectiv transmise

243 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 Icircn general orice tip de aplicaţii ce necesită comunicaţii maşină - maşină la debite

mici şi medii sunt adecvate dezvoltării icircn mediul GPRS

Ca şi icircn reţeaua GSM reţelele GPRS pot oferi două categorii de servicii de

telecomunicaţii

servicii de bază

servicii suplimentare

Serviciile de bază GPRS

Acestea sunt icircn principal servicii suport (bearer services) de transport care realizează

transmiterea datelor cu comutaţie de pachete icircntre două interfeţe şi din teleservicii Similar

situaţiei din GSM aceste interfeţe sunt

interfaţa dintre echipamentul terminal de date (de exemplu calculator) şi terminalul

mobil GPRS

24

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

interfaţa dintre reţeaua GPRS şi reţeaua de date sau echipamentul terminal cu care

comunică Aceasta interfaţă este situată icircntr-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 icircn GSM aceste mesaje nu va mai fi icircncă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

servicii punct-la-punct (PTP ndashPoint-to-Point)

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

A Serviciul PTP

Serviciul punct la punct (PTP) [GSM 0260] permite transmiterea de pachete de date

icircntre doi utilizatori Este implementat icircn 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 icircntr-o reţea de date fixă (IP X25) Serviciul PTP poate fi oferit de

asemenea icircntre doi utilizatori mobili GPRS

Serviciul punct-la punct poate fi la racircndul sau de două tipuri

PTP fără conexiune (PTP-CLNS ndash PTP Connectinnless Network Service)

PTP orientat pe conexiune (PTP-CONS ndashPTP Connection Orientated Network

Network Service)

PTP-CLNS este un serviciu de tip datagramă ce utilizează comutaţia de pachete fără

conexiune Este util icircn cazul aplicaţiilor ce generează trafic icircn 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 Icircntre cei doi utilizatori se stabileşte un circuit virtual pentru o perioadă

25

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ce poate varia de la cacircteva secunde la ore Este util atacirct pentru aplicaţii ce generează trafic icircn

rafale cacirct şi pentru aplicaţiile interactive Are că scop asigurarea interoperării cu reţele X25 ş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ă icircn alta dar numai icircn interiorul aceleiaşi reţele GPRS-PLMN La trecerea terminalului

mobil icircntr-o altă reţea sau icircn 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 icircn faza a doua a GPRS O

comunicaţie PTM se stabileşte icircntre un furnizor de servicii (ce poate fi situat icircn afară reţelei

GSM) şi un grup de terminale GPRS Şi serviciul PTM este un serviciu ce se prezintă icircn două

variante

PTMndash multidistribuţie (PTM Multicast)

PTM- grup (PTM-G--PTMGroup)

Serviciul de transport PTM-M permite transmiterea pachetelor de date icircntr-o arie

geografică dată (celulă grup de celule) fără confirmare Receptorii serviciului sunt fie toţi

abonaţii care se găsesc icircn acea zonă fie un grup icircnchis de utilizatori

Icircn 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 icircn anumite zone

geografice Transmisia poate fi şi cu confirmare

Serviciile suplimentare

Printre serviciile suplimentare avute icircn vedere icircntr-un prim stadiu se numără

redirecţionarea necondiţionată a apelurilor redirecţionarea cacircnd abonatul nu este accesibil şi

definirea de grupuri icircnchise de utilizatori In afară de aceste servicii recomandarea GSM

0260 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 Proiect de diplomă SECTIA CALCULATOARE

244 Arhitectura GPRS

GPRS este o soluţie pentru operatori deoarece nu necesită modificări substanţiale icircn

reţeaua GSM Aşa cum se observă icircn figura 72 reţeaua nucleu a GPRS operează icircn paralel

cu GSM-NSS

Figura 23 Arhitectura reţelei GPRS

25 LabWindowsCVI

La dipecer am considerat un calculator desktop sau laptop pe care va rula o aplicaţie

de monitorizare a datelor măsurate implementată icircn LabWindowsCVI

LabWindowsCVI este o platformă pentru dezvoltare de software cu orientare pe

aplicaţii de instrumentaţie După cum se deduce din denumirea sa (CVI ndash 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 Icircmbină 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 Proiect de diplomă SECTIA CALCULATOARE

multiplele lui facilităţi icircl 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

bull Help on-line

bull Selectare şi declarare de variabile sau constante necesare

bull Execuţie interactivă

bull Inserarea funcţiei editate icircntr-un text sursă

Mediul este extrem de flexibil permiţacircnd interfaţarea bidirecţională cu alte compilatoare de

C sau C++ De asemenea se pot folosi şi DLL-uri

Puterea mediului LabWindowsCVI este dată de bibliotecile puse la dispoziţia

programatorului acestea conţinacircnd 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

bull de instrumente

bull pentru interfaţa GPIBGPIB 4882 (General Purpose Interface Bus)

bull pentru achiziţie de date

bull pentru operaţii IO icircn cazul achiziţiei de date

bull pentru interfaţa serială RS232

bull pentru sistemul VXI

Biblioteci specializate pentru analiza datelor

bull pentru IO

bull pentru formatarea specială

bull pentru analiză

bull pentru analiză avansată

Biblioteci specializate pentru vizualizare date

bull pentru crearea unei interfeţe utilizator de tip vizual

Biblioteci specializate pentru lucrul icircn reţea şi comunicarea icircntre diverse aplicaţii

bull pentru DDE (Dynamic Data Exchange)

bull pentru TCP (Transmision Control Protocol)

bull pentru sistemul X de sub Unix

Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

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

bull interfaţa cu utilizatorul

bull partea de control a aplicaţiei

bull partea specializată pentru achiziţia datelor

bull partea specializată icircn analiza respectivelor date

Mai jos prezentăm o schemă generică a aplicaţiilor CVI

Figura 24

Tipuri de fişiere folosite icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a unora dintre meniurile şi ferestrele mediului de dezvoltare CVI

Fereastra proiect

Prezentăm mai jos doar informaţiile suplimentare faţă de o fereastră proiect standard

Pe lacircngă datele curente despre fiecare fişier inclus icircn proiect acesta mai are precizat şi unul

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 icircn fişierul respectiv şi deci trebuie salvat

- C indică obligativitatea compilării respectivului fişier icircnainte de rularea aplicaţiei

- indică faptul că fişierul este deschis icircntr-o fereastră de editare

- indică ca acest fişier nu este deschis

Aplicaţii consolă

Pentru aplicaţiile tip consolă clasice C unde se folosesc pentru IO funcţiile scanf şi

printf vizualizarea ieşirii icircn mod text a acestora se va face icircntr-o fereastră specială numită

ldquoStandard InputOutput Windowrdquo

Observaţie Dacă se va programa icircn acest mod trebuie activată opţiunea ldquoBring Standard

InputOtput to front whenever modifyrdquo 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 cacircnd este activat evenimentele vor fi afişate icircn partea

dreaptă a barei de facilităţi

30

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a cacirctorva din meniurile mai importante ale generatorului

Menu Bars activează cutia de dialog care ne prezintă toate barele de meniu definite deja de

programator

Figura 25

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(fig26) permite specificarea sau modificarea caracteristicilor

unei bare de meniuri icircn curs de creare sau care există deja

31

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 26

Menu Bar Constant Prefix este identificatorul intern al respectivei bare de meniuri Acesta

va fi folosit de funcţia LoadMenuBar pentru icircncărcarea icircn memorie a parametrilor care conţin

această bară Va fi definit automat icircn fişierul header din scheletul de aplicaţie

Item se referă la numele meniului curentsubmeniucomandă de meniu Dacă icircn faţa primei

litere a unui element din meniu se adaugă 2 ldquounderscorerdquo 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 cacircnd 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 Proiect de diplomă SECTIA CALCULATOARE

ModifierKeyShortcutKey se combină pentru a ataşa o cheie ldquohotrdquo pentru elementul

curent

buton ce permite coboracircrea icircn interiorul unei ierarhii de meniuri

buton ce permite urcarea icircn interiorul unei ierarhii de meniuri

Panouri

După cum am spus sunt echivalentul ferestrelor din programarea Windows Pentru a le crea

Create1048774Panel ne pune la dispoziţie un nou panou icircn cadrul UIR-ului curent Prin dublu

ldquoclickrdquo pe acesta se va intra in fereastra de editare a caracteristicilor panoului Această

fereastră este prezentată mai jos

Figura 27

La partea de Menu Bar se poate specifica o bară din cele deja create icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 14: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

O instrucţiune se poate continua pe racircndul următor prin plasarea caracterului backslash

la sfacircrsitul randului Acest lucru nu este necesar dacă există paranteze deschise

my_list = [1

[abc 2]

-3+6j]

print my_list

234 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 gt b

print a is greater than b

elif a lt b

print a is lower than b

else

print a equals b

Se poate folosi si interval prescurtate de testare

if 2 lt= a lt= 7

print a is in the interval [2 7]

235 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ăacirc

numbers = [ ]

i = 0

while i lt 100

17

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

numbersappend(i)

i = i + 1

O buclă similar for arată in felul următor

numbers = [ ]

for i in range(100)

numbersappend(i)

Icircn 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

24 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

- GSMGPRS

- Fibră Optică

Opţiunea pentru care am optat icircn partea de comunicaţie este GSMGPRS 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ămacircne

comutat prin MSC

Datele sunt transmise prin GPRS icircn 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 Proiect de diplomă SECTIA CALCULATOARE

dată de introducerea codării adaptive a canalului Aceasta icircnseamnă că protecţia datelor

variază icircn timp icircn funcţie de starea canalului radio GPRS poate utiliza pentru o conexiune

de date de la fracţiuni de canale de trafic pacircnă la maximum 8 sloturi temporale (adică tot

cadrul TDMA) icircn funcţie de resursele disponibile

Capacitatea alocată unei conexiuni va varia icircn funcţie de icircncărcarea cu trafic de pe

frecvenţa respectivă precum şi de tipul traficului (vocedate) Este important că utilizacircnd

comutaţia de pachete o transmisie de date nu ocupă resursele reţelei decacirct atunci cacircnd sunt

date de transmis Cacircnd 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ă icircn paralel cu subsistemul reţea şi comutaţie (NSS) al GSM care va

gestiona icircn continuare transmisia cu comutaţie de circuite

241 Caracteristicile sistemului GPRS

GPRS este un serviciu specificat icircn faza 2+ de standardizare a GSM El este oferit prin

intermediul unei infrastructuri numită şi sistem sau reţea GPRS ce interoperează cu

infrastructura bdquoclasicărdquo GSM

GPRS se icircncadrează icircn orientarea generală a ETSI de a asigura prin aza 2+ o platformă

ce va putea fi utilizată ulterior icircn reţele de generaţia a treia Astfel el este onsiderat

actualmente soluţia de bază pentru transmiterea de date icircn 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ă (25G)

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ă icircn acest moment (atacirct la

25G cacirct şi icircn 3G) doar la transmiterea datelor vocea rămacircnacircnd icircn continuare comutată prin

MSC Datorită eternei insuficienţe a resurselor radio este probabil ca icircntr-o fază nu prea

icircndepă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

Icircn concluzie GPRS reprezintă o infrastructura ce permite transmiterea datelor pe baza

comutaţiei de pachete icircntr-o reţea GSM

19

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Pentru a putea oferi debite de date mai ridicate icircn GPRS se urmăreşte utilizarea cacirct

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 Icircn ciuda acestor asemănări icircnlocuirea comutaţiei de circuite cu cea de

pachete face din GPRS un sistem complet diferit de HSCSD Aceasta atacirct 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)

Rezumacircnd icircn 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ă atacirct din experienţa

sistemelor anterioare cacirct şi mai ales din operarea icircn modul pachet a datelor ce se transmit

Soluţiile utilizate sunt

creşterea ratei de transmisie a datelor prin reducerea codării canalului (sunt definite

şi pot

fi utilizate 4 scheme de codare 905kbps 134 kbps 156 kbps 214kbps)

creşterea ratei de transmisie prin operare multislot ( pacircnă 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ă uplinkdownlink

creşterea eficienţei utilizării resurselor radio prin alocarea dinamică a canalelor icircntre

servicii comutate icircn mod circuit respectiv pachet

Cacircnd un icircntreg cadru TDMA este alocat unui utilizator cu schema de protecţie minimă

(practic fără corecţie de erori) rezultă rata utilă instantanee maximă posibilă icircn GPRS

(8x214 kbps=1712 kbps)

242 Comutaţie de circuite şi comutaţie de pachete

20

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comutaţia este o tehnică esenţială icircn 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

comutaţia de circuite

comutaţia de mesaje

comutaţia de pachete

Comutaţia de circuite

Aceasta presupune realizarea icircntre emiţător şi receptor a unei căi fizice de comutaţie

dedicate numită circuit Icircntreaga comunicaţie se desfăşoară icircn trei etape

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 icircnainte de

icircnceperea 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

asigurarea unei icircntacircrzieri constante şi minime

garantarea unui debit util corespunzător mediului de comunicaţie şi serviciului utilizat

Toate acestea facilitează oferirea serviciilor de timp real (telefonie videofonie alte

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 icircn cazul HSCSD) unei staţii mobile

(MS) Acest canal rămacircne icircn posesia terminalului mobil pe toata durata conexiunii chiar dacă

transferul de date este discontinuu (icircn rafale) sau chiar icircncetează cu desăvacircrşire (de exemplu

21

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

cacircnd utilizatorul citeşte cu atenţie cinci minute o pagină WEB după care lămurit pe deplin

icircntrerupe legătura) Ca o particularizare binecunoscută a reţelelor cu comutaţie de circuite

trebuie menţionat că utilizatorul trebuie să plătească pentru icircntreaga 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 icircntre emiţător şi receptor

Informaţia ce urmează a fi transmisă formează o entitate bine precizată numita mesaj

Mesajele sunt complet independente unele faţă 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 icircl

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 icircntacircrzierea icircn 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 icircn

general rezultatul divizării mesajelor icircn 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)

Icircn cazul comutaţiei de pachete fără conexiune pachetele (numite şi datagrame) se transmit

independent icircn cel mai pur spirit al comutaţiei de mesaje urmacircnd rute posibil diferite

Sosirea lor la destinaţie poate avea loc icircntr-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 Proiect de diplomă SECTIA CALCULATOARE

suplimentară din fiecare pachet privitoare la mesajul din care face parte şi locul pe care icircl

ocupa icircn el Exemplul tipic de reţea care utilizează comutaţia de pachete este internetul

BComutaţia de pachete orientată pe conexiune (sau circuit virtual)

Icircn cazul comutaţiei de pachete orientată pe conexiune (sau circuit virtual) comunicarea

icircntre 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 icircnseamnă 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 icircntreaga cale La stabilirea circuitului

virtual fiecare comutator (router) trebuie să memoreze icircn tabela de dirijare care este

succesorul său icircn 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 Avacircnd memorat nodul succesor icircn fiecare dintre circuitele virtuale icircn care este

implicat comutatorul va identifica circuitul asociat pachetului şi icircl va transmite pe acesta pe

linia de ieşire corespunzătoare Tehnica circuitului virtual garantează livrarea icircn ordine a

pachetelor la destinaţie Exemple marcante de reţele ce utilizează comutaţia de pachete de tip

circuit virtual sunt X25 ş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ă icircn 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) icircn cazul unui trafic crescut la intrare Pierderea pachetelor garantarea unei

icircntacircrzieri maxime şi a unui debit utilizator constant sunt problemele spinoase ale comutaţiei

de pachete Ele reprezintă obstacole icircn special icircn calea oferirii serviciilor de timp real cum ar

fi telefonia

Icircn schimb icircn cazul transmisiilor de date avantajul bunei administrări a resurselor

prevalează De exemplu icircn cazul particular al interfeţei radio GSM cacircnd o staţie mobilă (MS)

generează un pachet de date reţeaua icircl va transmite pe un canal radio disponibil icircn 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 Proiect de diplomă SECTIA CALCULATOARE

transmis sau dacă nu alteia Icircn acest mod atacircta timp cacirct cineva are ceva de transmis

canalele radio nu sunt blocate inutil Lucrul icircn mod pachet are o eficienţă cu totul deosebită icircn

cazul unui trafic de date icircn 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 Atacirct HSCSD cacirct şi GPRS icircş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 icircn rafale fără pretenţii de timp real Diferenţa

fundamentală icircntre HSCSD şi GPRS este că acesta din urmă valorifică aceste resurse icircntr-un

mod mult mai eficient deoarece utilizează comutaţia de pachete Icircn plus costul serviciilor

oferite este mai atractiv deoarece utilizatorul plăteşte volumul de date transferat Practic dacă

doreşte utilizatorul poate fi sbquoconectatrsquo la reţeaua de date icircn permanenţă fiind taxat doar

pentru timpul icircn care efectiv utilizează resursele reţelei adică pentru pachetele de date

recepţionate respectiv transmise

243 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 Icircn general orice tip de aplicaţii ce necesită comunicaţii maşină - maşină la debite

mici şi medii sunt adecvate dezvoltării icircn mediul GPRS

Ca şi icircn reţeaua GSM reţelele GPRS pot oferi două categorii de servicii de

telecomunicaţii

servicii de bază

servicii suplimentare

Serviciile de bază GPRS

Acestea sunt icircn principal servicii suport (bearer services) de transport care realizează

transmiterea datelor cu comutaţie de pachete icircntre două interfeţe şi din teleservicii Similar

situaţiei din GSM aceste interfeţe sunt

interfaţa dintre echipamentul terminal de date (de exemplu calculator) şi terminalul

mobil GPRS

24

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

interfaţa dintre reţeaua GPRS şi reţeaua de date sau echipamentul terminal cu care

comunică Aceasta interfaţă este situată icircntr-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 icircn GSM aceste mesaje nu va mai fi icircncă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

servicii punct-la-punct (PTP ndashPoint-to-Point)

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

A Serviciul PTP

Serviciul punct la punct (PTP) [GSM 0260] permite transmiterea de pachete de date

icircntre doi utilizatori Este implementat icircn 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 icircntr-o reţea de date fixă (IP X25) Serviciul PTP poate fi oferit de

asemenea icircntre doi utilizatori mobili GPRS

Serviciul punct-la punct poate fi la racircndul sau de două tipuri

PTP fără conexiune (PTP-CLNS ndash PTP Connectinnless Network Service)

PTP orientat pe conexiune (PTP-CONS ndashPTP Connection Orientated Network

Network Service)

PTP-CLNS este un serviciu de tip datagramă ce utilizează comutaţia de pachete fără

conexiune Este util icircn cazul aplicaţiilor ce generează trafic icircn 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 Icircntre cei doi utilizatori se stabileşte un circuit virtual pentru o perioadă

25

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ce poate varia de la cacircteva secunde la ore Este util atacirct pentru aplicaţii ce generează trafic icircn

rafale cacirct şi pentru aplicaţiile interactive Are că scop asigurarea interoperării cu reţele X25 ş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ă icircn alta dar numai icircn interiorul aceleiaşi reţele GPRS-PLMN La trecerea terminalului

mobil icircntr-o altă reţea sau icircn 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 icircn faza a doua a GPRS O

comunicaţie PTM se stabileşte icircntre un furnizor de servicii (ce poate fi situat icircn afară reţelei

GSM) şi un grup de terminale GPRS Şi serviciul PTM este un serviciu ce se prezintă icircn două

variante

PTMndash multidistribuţie (PTM Multicast)

PTM- grup (PTM-G--PTMGroup)

Serviciul de transport PTM-M permite transmiterea pachetelor de date icircntr-o arie

geografică dată (celulă grup de celule) fără confirmare Receptorii serviciului sunt fie toţi

abonaţii care se găsesc icircn acea zonă fie un grup icircnchis de utilizatori

Icircn 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 icircn anumite zone

geografice Transmisia poate fi şi cu confirmare

Serviciile suplimentare

Printre serviciile suplimentare avute icircn vedere icircntr-un prim stadiu se numără

redirecţionarea necondiţionată a apelurilor redirecţionarea cacircnd abonatul nu este accesibil şi

definirea de grupuri icircnchise de utilizatori In afară de aceste servicii recomandarea GSM

0260 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 Proiect de diplomă SECTIA CALCULATOARE

244 Arhitectura GPRS

GPRS este o soluţie pentru operatori deoarece nu necesită modificări substanţiale icircn

reţeaua GSM Aşa cum se observă icircn figura 72 reţeaua nucleu a GPRS operează icircn paralel

cu GSM-NSS

Figura 23 Arhitectura reţelei GPRS

25 LabWindowsCVI

La dipecer am considerat un calculator desktop sau laptop pe care va rula o aplicaţie

de monitorizare a datelor măsurate implementată icircn LabWindowsCVI

LabWindowsCVI este o platformă pentru dezvoltare de software cu orientare pe

aplicaţii de instrumentaţie După cum se deduce din denumirea sa (CVI ndash 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 Icircmbină 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 Proiect de diplomă SECTIA CALCULATOARE

multiplele lui facilităţi icircl 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

bull Help on-line

bull Selectare şi declarare de variabile sau constante necesare

bull Execuţie interactivă

bull Inserarea funcţiei editate icircntr-un text sursă

Mediul este extrem de flexibil permiţacircnd interfaţarea bidirecţională cu alte compilatoare de

C sau C++ De asemenea se pot folosi şi DLL-uri

Puterea mediului LabWindowsCVI este dată de bibliotecile puse la dispoziţia

programatorului acestea conţinacircnd 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

bull de instrumente

bull pentru interfaţa GPIBGPIB 4882 (General Purpose Interface Bus)

bull pentru achiziţie de date

bull pentru operaţii IO icircn cazul achiziţiei de date

bull pentru interfaţa serială RS232

bull pentru sistemul VXI

Biblioteci specializate pentru analiza datelor

bull pentru IO

bull pentru formatarea specială

bull pentru analiză

bull pentru analiză avansată

Biblioteci specializate pentru vizualizare date

bull pentru crearea unei interfeţe utilizator de tip vizual

Biblioteci specializate pentru lucrul icircn reţea şi comunicarea icircntre diverse aplicaţii

bull pentru DDE (Dynamic Data Exchange)

bull pentru TCP (Transmision Control Protocol)

bull pentru sistemul X de sub Unix

Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

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

bull interfaţa cu utilizatorul

bull partea de control a aplicaţiei

bull partea specializată pentru achiziţia datelor

bull partea specializată icircn analiza respectivelor date

Mai jos prezentăm o schemă generică a aplicaţiilor CVI

Figura 24

Tipuri de fişiere folosite icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a unora dintre meniurile şi ferestrele mediului de dezvoltare CVI

Fereastra proiect

Prezentăm mai jos doar informaţiile suplimentare faţă de o fereastră proiect standard

Pe lacircngă datele curente despre fiecare fişier inclus icircn proiect acesta mai are precizat şi unul

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 icircn fişierul respectiv şi deci trebuie salvat

- C indică obligativitatea compilării respectivului fişier icircnainte de rularea aplicaţiei

- indică faptul că fişierul este deschis icircntr-o fereastră de editare

- indică ca acest fişier nu este deschis

Aplicaţii consolă

Pentru aplicaţiile tip consolă clasice C unde se folosesc pentru IO funcţiile scanf şi

printf vizualizarea ieşirii icircn mod text a acestora se va face icircntr-o fereastră specială numită

ldquoStandard InputOutput Windowrdquo

Observaţie Dacă se va programa icircn acest mod trebuie activată opţiunea ldquoBring Standard

InputOtput to front whenever modifyrdquo 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 cacircnd este activat evenimentele vor fi afişate icircn partea

dreaptă a barei de facilităţi

30

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a cacirctorva din meniurile mai importante ale generatorului

Menu Bars activează cutia de dialog care ne prezintă toate barele de meniu definite deja de

programator

Figura 25

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(fig26) permite specificarea sau modificarea caracteristicilor

unei bare de meniuri icircn curs de creare sau care există deja

31

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 26

Menu Bar Constant Prefix este identificatorul intern al respectivei bare de meniuri Acesta

va fi folosit de funcţia LoadMenuBar pentru icircncărcarea icircn memorie a parametrilor care conţin

această bară Va fi definit automat icircn fişierul header din scheletul de aplicaţie

Item se referă la numele meniului curentsubmeniucomandă de meniu Dacă icircn faţa primei

litere a unui element din meniu se adaugă 2 ldquounderscorerdquo 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 cacircnd 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 Proiect de diplomă SECTIA CALCULATOARE

ModifierKeyShortcutKey se combină pentru a ataşa o cheie ldquohotrdquo pentru elementul

curent

buton ce permite coboracircrea icircn interiorul unei ierarhii de meniuri

buton ce permite urcarea icircn interiorul unei ierarhii de meniuri

Panouri

După cum am spus sunt echivalentul ferestrelor din programarea Windows Pentru a le crea

Create1048774Panel ne pune la dispoziţie un nou panou icircn cadrul UIR-ului curent Prin dublu

ldquoclickrdquo pe acesta se va intra in fereastra de editare a caracteristicilor panoului Această

fereastră este prezentată mai jos

Figura 27

La partea de Menu Bar se poate specifica o bară din cele deja create icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 15: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

numbersappend(i)

i = i + 1

O buclă similar for arată in felul următor

numbers = [ ]

for i in range(100)

numbersappend(i)

Icircn 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

24 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

- GSMGPRS

- Fibră Optică

Opţiunea pentru care am optat icircn partea de comunicaţie este GSMGPRS 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ămacircne

comutat prin MSC

Datele sunt transmise prin GPRS icircn 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 Proiect de diplomă SECTIA CALCULATOARE

dată de introducerea codării adaptive a canalului Aceasta icircnseamnă că protecţia datelor

variază icircn timp icircn funcţie de starea canalului radio GPRS poate utiliza pentru o conexiune

de date de la fracţiuni de canale de trafic pacircnă la maximum 8 sloturi temporale (adică tot

cadrul TDMA) icircn funcţie de resursele disponibile

Capacitatea alocată unei conexiuni va varia icircn funcţie de icircncărcarea cu trafic de pe

frecvenţa respectivă precum şi de tipul traficului (vocedate) Este important că utilizacircnd

comutaţia de pachete o transmisie de date nu ocupă resursele reţelei decacirct atunci cacircnd sunt

date de transmis Cacircnd 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ă icircn paralel cu subsistemul reţea şi comutaţie (NSS) al GSM care va

gestiona icircn continuare transmisia cu comutaţie de circuite

241 Caracteristicile sistemului GPRS

GPRS este un serviciu specificat icircn faza 2+ de standardizare a GSM El este oferit prin

intermediul unei infrastructuri numită şi sistem sau reţea GPRS ce interoperează cu

infrastructura bdquoclasicărdquo GSM

GPRS se icircncadrează icircn orientarea generală a ETSI de a asigura prin aza 2+ o platformă

ce va putea fi utilizată ulterior icircn reţele de generaţia a treia Astfel el este onsiderat

actualmente soluţia de bază pentru transmiterea de date icircn 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ă (25G)

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ă icircn acest moment (atacirct la

25G cacirct şi icircn 3G) doar la transmiterea datelor vocea rămacircnacircnd icircn continuare comutată prin

MSC Datorită eternei insuficienţe a resurselor radio este probabil ca icircntr-o fază nu prea

icircndepă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

Icircn concluzie GPRS reprezintă o infrastructura ce permite transmiterea datelor pe baza

comutaţiei de pachete icircntr-o reţea GSM

19

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Pentru a putea oferi debite de date mai ridicate icircn GPRS se urmăreşte utilizarea cacirct

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 Icircn ciuda acestor asemănări icircnlocuirea comutaţiei de circuite cu cea de

pachete face din GPRS un sistem complet diferit de HSCSD Aceasta atacirct 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)

Rezumacircnd icircn 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ă atacirct din experienţa

sistemelor anterioare cacirct şi mai ales din operarea icircn modul pachet a datelor ce se transmit

Soluţiile utilizate sunt

creşterea ratei de transmisie a datelor prin reducerea codării canalului (sunt definite

şi pot

fi utilizate 4 scheme de codare 905kbps 134 kbps 156 kbps 214kbps)

creşterea ratei de transmisie prin operare multislot ( pacircnă 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ă uplinkdownlink

creşterea eficienţei utilizării resurselor radio prin alocarea dinamică a canalelor icircntre

servicii comutate icircn mod circuit respectiv pachet

Cacircnd un icircntreg cadru TDMA este alocat unui utilizator cu schema de protecţie minimă

(practic fără corecţie de erori) rezultă rata utilă instantanee maximă posibilă icircn GPRS

(8x214 kbps=1712 kbps)

242 Comutaţie de circuite şi comutaţie de pachete

20

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comutaţia este o tehnică esenţială icircn 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

comutaţia de circuite

comutaţia de mesaje

comutaţia de pachete

Comutaţia de circuite

Aceasta presupune realizarea icircntre emiţător şi receptor a unei căi fizice de comutaţie

dedicate numită circuit Icircntreaga comunicaţie se desfăşoară icircn trei etape

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 icircnainte de

icircnceperea 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

asigurarea unei icircntacircrzieri constante şi minime

garantarea unui debit util corespunzător mediului de comunicaţie şi serviciului utilizat

Toate acestea facilitează oferirea serviciilor de timp real (telefonie videofonie alte

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 icircn cazul HSCSD) unei staţii mobile

(MS) Acest canal rămacircne icircn posesia terminalului mobil pe toata durata conexiunii chiar dacă

transferul de date este discontinuu (icircn rafale) sau chiar icircncetează cu desăvacircrşire (de exemplu

21

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

cacircnd utilizatorul citeşte cu atenţie cinci minute o pagină WEB după care lămurit pe deplin

icircntrerupe legătura) Ca o particularizare binecunoscută a reţelelor cu comutaţie de circuite

trebuie menţionat că utilizatorul trebuie să plătească pentru icircntreaga 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 icircntre emiţător şi receptor

Informaţia ce urmează a fi transmisă formează o entitate bine precizată numita mesaj

Mesajele sunt complet independente unele faţă 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 icircl

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 icircntacircrzierea icircn 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 icircn

general rezultatul divizării mesajelor icircn 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)

Icircn cazul comutaţiei de pachete fără conexiune pachetele (numite şi datagrame) se transmit

independent icircn cel mai pur spirit al comutaţiei de mesaje urmacircnd rute posibil diferite

Sosirea lor la destinaţie poate avea loc icircntr-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 Proiect de diplomă SECTIA CALCULATOARE

suplimentară din fiecare pachet privitoare la mesajul din care face parte şi locul pe care icircl

ocupa icircn el Exemplul tipic de reţea care utilizează comutaţia de pachete este internetul

BComutaţia de pachete orientată pe conexiune (sau circuit virtual)

Icircn cazul comutaţiei de pachete orientată pe conexiune (sau circuit virtual) comunicarea

icircntre 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 icircnseamnă 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 icircntreaga cale La stabilirea circuitului

virtual fiecare comutator (router) trebuie să memoreze icircn tabela de dirijare care este

succesorul său icircn 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 Avacircnd memorat nodul succesor icircn fiecare dintre circuitele virtuale icircn care este

implicat comutatorul va identifica circuitul asociat pachetului şi icircl va transmite pe acesta pe

linia de ieşire corespunzătoare Tehnica circuitului virtual garantează livrarea icircn ordine a

pachetelor la destinaţie Exemple marcante de reţele ce utilizează comutaţia de pachete de tip

circuit virtual sunt X25 ş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ă icircn 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) icircn cazul unui trafic crescut la intrare Pierderea pachetelor garantarea unei

icircntacircrzieri maxime şi a unui debit utilizator constant sunt problemele spinoase ale comutaţiei

de pachete Ele reprezintă obstacole icircn special icircn calea oferirii serviciilor de timp real cum ar

fi telefonia

Icircn schimb icircn cazul transmisiilor de date avantajul bunei administrări a resurselor

prevalează De exemplu icircn cazul particular al interfeţei radio GSM cacircnd o staţie mobilă (MS)

generează un pachet de date reţeaua icircl va transmite pe un canal radio disponibil icircn 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 Proiect de diplomă SECTIA CALCULATOARE

transmis sau dacă nu alteia Icircn acest mod atacircta timp cacirct cineva are ceva de transmis

canalele radio nu sunt blocate inutil Lucrul icircn mod pachet are o eficienţă cu totul deosebită icircn

cazul unui trafic de date icircn 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 Atacirct HSCSD cacirct şi GPRS icircş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 icircn rafale fără pretenţii de timp real Diferenţa

fundamentală icircntre HSCSD şi GPRS este că acesta din urmă valorifică aceste resurse icircntr-un

mod mult mai eficient deoarece utilizează comutaţia de pachete Icircn plus costul serviciilor

oferite este mai atractiv deoarece utilizatorul plăteşte volumul de date transferat Practic dacă

doreşte utilizatorul poate fi sbquoconectatrsquo la reţeaua de date icircn permanenţă fiind taxat doar

pentru timpul icircn care efectiv utilizează resursele reţelei adică pentru pachetele de date

recepţionate respectiv transmise

243 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 Icircn general orice tip de aplicaţii ce necesită comunicaţii maşină - maşină la debite

mici şi medii sunt adecvate dezvoltării icircn mediul GPRS

Ca şi icircn reţeaua GSM reţelele GPRS pot oferi două categorii de servicii de

telecomunicaţii

servicii de bază

servicii suplimentare

Serviciile de bază GPRS

Acestea sunt icircn principal servicii suport (bearer services) de transport care realizează

transmiterea datelor cu comutaţie de pachete icircntre două interfeţe şi din teleservicii Similar

situaţiei din GSM aceste interfeţe sunt

interfaţa dintre echipamentul terminal de date (de exemplu calculator) şi terminalul

mobil GPRS

24

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

interfaţa dintre reţeaua GPRS şi reţeaua de date sau echipamentul terminal cu care

comunică Aceasta interfaţă este situată icircntr-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 icircn GSM aceste mesaje nu va mai fi icircncă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

servicii punct-la-punct (PTP ndashPoint-to-Point)

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

A Serviciul PTP

Serviciul punct la punct (PTP) [GSM 0260] permite transmiterea de pachete de date

icircntre doi utilizatori Este implementat icircn 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 icircntr-o reţea de date fixă (IP X25) Serviciul PTP poate fi oferit de

asemenea icircntre doi utilizatori mobili GPRS

Serviciul punct-la punct poate fi la racircndul sau de două tipuri

PTP fără conexiune (PTP-CLNS ndash PTP Connectinnless Network Service)

PTP orientat pe conexiune (PTP-CONS ndashPTP Connection Orientated Network

Network Service)

PTP-CLNS este un serviciu de tip datagramă ce utilizează comutaţia de pachete fără

conexiune Este util icircn cazul aplicaţiilor ce generează trafic icircn 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 Icircntre cei doi utilizatori se stabileşte un circuit virtual pentru o perioadă

25

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ce poate varia de la cacircteva secunde la ore Este util atacirct pentru aplicaţii ce generează trafic icircn

rafale cacirct şi pentru aplicaţiile interactive Are că scop asigurarea interoperării cu reţele X25 ş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ă icircn alta dar numai icircn interiorul aceleiaşi reţele GPRS-PLMN La trecerea terminalului

mobil icircntr-o altă reţea sau icircn 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 icircn faza a doua a GPRS O

comunicaţie PTM se stabileşte icircntre un furnizor de servicii (ce poate fi situat icircn afară reţelei

GSM) şi un grup de terminale GPRS Şi serviciul PTM este un serviciu ce se prezintă icircn două

variante

PTMndash multidistribuţie (PTM Multicast)

PTM- grup (PTM-G--PTMGroup)

Serviciul de transport PTM-M permite transmiterea pachetelor de date icircntr-o arie

geografică dată (celulă grup de celule) fără confirmare Receptorii serviciului sunt fie toţi

abonaţii care se găsesc icircn acea zonă fie un grup icircnchis de utilizatori

Icircn 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 icircn anumite zone

geografice Transmisia poate fi şi cu confirmare

Serviciile suplimentare

Printre serviciile suplimentare avute icircn vedere icircntr-un prim stadiu se numără

redirecţionarea necondiţionată a apelurilor redirecţionarea cacircnd abonatul nu este accesibil şi

definirea de grupuri icircnchise de utilizatori In afară de aceste servicii recomandarea GSM

0260 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 Proiect de diplomă SECTIA CALCULATOARE

244 Arhitectura GPRS

GPRS este o soluţie pentru operatori deoarece nu necesită modificări substanţiale icircn

reţeaua GSM Aşa cum se observă icircn figura 72 reţeaua nucleu a GPRS operează icircn paralel

cu GSM-NSS

Figura 23 Arhitectura reţelei GPRS

25 LabWindowsCVI

La dipecer am considerat un calculator desktop sau laptop pe care va rula o aplicaţie

de monitorizare a datelor măsurate implementată icircn LabWindowsCVI

LabWindowsCVI este o platformă pentru dezvoltare de software cu orientare pe

aplicaţii de instrumentaţie După cum se deduce din denumirea sa (CVI ndash 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 Icircmbină 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 Proiect de diplomă SECTIA CALCULATOARE

multiplele lui facilităţi icircl 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

bull Help on-line

bull Selectare şi declarare de variabile sau constante necesare

bull Execuţie interactivă

bull Inserarea funcţiei editate icircntr-un text sursă

Mediul este extrem de flexibil permiţacircnd interfaţarea bidirecţională cu alte compilatoare de

C sau C++ De asemenea se pot folosi şi DLL-uri

Puterea mediului LabWindowsCVI este dată de bibliotecile puse la dispoziţia

programatorului acestea conţinacircnd 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

bull de instrumente

bull pentru interfaţa GPIBGPIB 4882 (General Purpose Interface Bus)

bull pentru achiziţie de date

bull pentru operaţii IO icircn cazul achiziţiei de date

bull pentru interfaţa serială RS232

bull pentru sistemul VXI

Biblioteci specializate pentru analiza datelor

bull pentru IO

bull pentru formatarea specială

bull pentru analiză

bull pentru analiză avansată

Biblioteci specializate pentru vizualizare date

bull pentru crearea unei interfeţe utilizator de tip vizual

Biblioteci specializate pentru lucrul icircn reţea şi comunicarea icircntre diverse aplicaţii

bull pentru DDE (Dynamic Data Exchange)

bull pentru TCP (Transmision Control Protocol)

bull pentru sistemul X de sub Unix

Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

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

bull interfaţa cu utilizatorul

bull partea de control a aplicaţiei

bull partea specializată pentru achiziţia datelor

bull partea specializată icircn analiza respectivelor date

Mai jos prezentăm o schemă generică a aplicaţiilor CVI

Figura 24

Tipuri de fişiere folosite icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a unora dintre meniurile şi ferestrele mediului de dezvoltare CVI

Fereastra proiect

Prezentăm mai jos doar informaţiile suplimentare faţă de o fereastră proiect standard

Pe lacircngă datele curente despre fiecare fişier inclus icircn proiect acesta mai are precizat şi unul

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 icircn fişierul respectiv şi deci trebuie salvat

- C indică obligativitatea compilării respectivului fişier icircnainte de rularea aplicaţiei

- indică faptul că fişierul este deschis icircntr-o fereastră de editare

- indică ca acest fişier nu este deschis

Aplicaţii consolă

Pentru aplicaţiile tip consolă clasice C unde se folosesc pentru IO funcţiile scanf şi

printf vizualizarea ieşirii icircn mod text a acestora se va face icircntr-o fereastră specială numită

ldquoStandard InputOutput Windowrdquo

Observaţie Dacă se va programa icircn acest mod trebuie activată opţiunea ldquoBring Standard

InputOtput to front whenever modifyrdquo 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 cacircnd este activat evenimentele vor fi afişate icircn partea

dreaptă a barei de facilităţi

30

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a cacirctorva din meniurile mai importante ale generatorului

Menu Bars activează cutia de dialog care ne prezintă toate barele de meniu definite deja de

programator

Figura 25

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(fig26) permite specificarea sau modificarea caracteristicilor

unei bare de meniuri icircn curs de creare sau care există deja

31

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 26

Menu Bar Constant Prefix este identificatorul intern al respectivei bare de meniuri Acesta

va fi folosit de funcţia LoadMenuBar pentru icircncărcarea icircn memorie a parametrilor care conţin

această bară Va fi definit automat icircn fişierul header din scheletul de aplicaţie

Item se referă la numele meniului curentsubmeniucomandă de meniu Dacă icircn faţa primei

litere a unui element din meniu se adaugă 2 ldquounderscorerdquo 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 cacircnd 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 Proiect de diplomă SECTIA CALCULATOARE

ModifierKeyShortcutKey se combină pentru a ataşa o cheie ldquohotrdquo pentru elementul

curent

buton ce permite coboracircrea icircn interiorul unei ierarhii de meniuri

buton ce permite urcarea icircn interiorul unei ierarhii de meniuri

Panouri

După cum am spus sunt echivalentul ferestrelor din programarea Windows Pentru a le crea

Create1048774Panel ne pune la dispoziţie un nou panou icircn cadrul UIR-ului curent Prin dublu

ldquoclickrdquo pe acesta se va intra in fereastra de editare a caracteristicilor panoului Această

fereastră este prezentată mai jos

Figura 27

La partea de Menu Bar se poate specifica o bară din cele deja create icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 16: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

dată de introducerea codării adaptive a canalului Aceasta icircnseamnă că protecţia datelor

variază icircn timp icircn funcţie de starea canalului radio GPRS poate utiliza pentru o conexiune

de date de la fracţiuni de canale de trafic pacircnă la maximum 8 sloturi temporale (adică tot

cadrul TDMA) icircn funcţie de resursele disponibile

Capacitatea alocată unei conexiuni va varia icircn funcţie de icircncărcarea cu trafic de pe

frecvenţa respectivă precum şi de tipul traficului (vocedate) Este important că utilizacircnd

comutaţia de pachete o transmisie de date nu ocupă resursele reţelei decacirct atunci cacircnd sunt

date de transmis Cacircnd 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ă icircn paralel cu subsistemul reţea şi comutaţie (NSS) al GSM care va

gestiona icircn continuare transmisia cu comutaţie de circuite

241 Caracteristicile sistemului GPRS

GPRS este un serviciu specificat icircn faza 2+ de standardizare a GSM El este oferit prin

intermediul unei infrastructuri numită şi sistem sau reţea GPRS ce interoperează cu

infrastructura bdquoclasicărdquo GSM

GPRS se icircncadrează icircn orientarea generală a ETSI de a asigura prin aza 2+ o platformă

ce va putea fi utilizată ulterior icircn reţele de generaţia a treia Astfel el este onsiderat

actualmente soluţia de bază pentru transmiterea de date icircn 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ă (25G)

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ă icircn acest moment (atacirct la

25G cacirct şi icircn 3G) doar la transmiterea datelor vocea rămacircnacircnd icircn continuare comutată prin

MSC Datorită eternei insuficienţe a resurselor radio este probabil ca icircntr-o fază nu prea

icircndepă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

Icircn concluzie GPRS reprezintă o infrastructura ce permite transmiterea datelor pe baza

comutaţiei de pachete icircntr-o reţea GSM

19

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Pentru a putea oferi debite de date mai ridicate icircn GPRS se urmăreşte utilizarea cacirct

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 Icircn ciuda acestor asemănări icircnlocuirea comutaţiei de circuite cu cea de

pachete face din GPRS un sistem complet diferit de HSCSD Aceasta atacirct 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)

Rezumacircnd icircn 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ă atacirct din experienţa

sistemelor anterioare cacirct şi mai ales din operarea icircn modul pachet a datelor ce se transmit

Soluţiile utilizate sunt

creşterea ratei de transmisie a datelor prin reducerea codării canalului (sunt definite

şi pot

fi utilizate 4 scheme de codare 905kbps 134 kbps 156 kbps 214kbps)

creşterea ratei de transmisie prin operare multislot ( pacircnă 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ă uplinkdownlink

creşterea eficienţei utilizării resurselor radio prin alocarea dinamică a canalelor icircntre

servicii comutate icircn mod circuit respectiv pachet

Cacircnd un icircntreg cadru TDMA este alocat unui utilizator cu schema de protecţie minimă

(practic fără corecţie de erori) rezultă rata utilă instantanee maximă posibilă icircn GPRS

(8x214 kbps=1712 kbps)

242 Comutaţie de circuite şi comutaţie de pachete

20

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comutaţia este o tehnică esenţială icircn 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

comutaţia de circuite

comutaţia de mesaje

comutaţia de pachete

Comutaţia de circuite

Aceasta presupune realizarea icircntre emiţător şi receptor a unei căi fizice de comutaţie

dedicate numită circuit Icircntreaga comunicaţie se desfăşoară icircn trei etape

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 icircnainte de

icircnceperea 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

asigurarea unei icircntacircrzieri constante şi minime

garantarea unui debit util corespunzător mediului de comunicaţie şi serviciului utilizat

Toate acestea facilitează oferirea serviciilor de timp real (telefonie videofonie alte

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 icircn cazul HSCSD) unei staţii mobile

(MS) Acest canal rămacircne icircn posesia terminalului mobil pe toata durata conexiunii chiar dacă

transferul de date este discontinuu (icircn rafale) sau chiar icircncetează cu desăvacircrşire (de exemplu

21

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

cacircnd utilizatorul citeşte cu atenţie cinci minute o pagină WEB după care lămurit pe deplin

icircntrerupe legătura) Ca o particularizare binecunoscută a reţelelor cu comutaţie de circuite

trebuie menţionat că utilizatorul trebuie să plătească pentru icircntreaga 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 icircntre emiţător şi receptor

Informaţia ce urmează a fi transmisă formează o entitate bine precizată numita mesaj

Mesajele sunt complet independente unele faţă 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 icircl

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 icircntacircrzierea icircn 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 icircn

general rezultatul divizării mesajelor icircn 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)

Icircn cazul comutaţiei de pachete fără conexiune pachetele (numite şi datagrame) se transmit

independent icircn cel mai pur spirit al comutaţiei de mesaje urmacircnd rute posibil diferite

Sosirea lor la destinaţie poate avea loc icircntr-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 Proiect de diplomă SECTIA CALCULATOARE

suplimentară din fiecare pachet privitoare la mesajul din care face parte şi locul pe care icircl

ocupa icircn el Exemplul tipic de reţea care utilizează comutaţia de pachete este internetul

BComutaţia de pachete orientată pe conexiune (sau circuit virtual)

Icircn cazul comutaţiei de pachete orientată pe conexiune (sau circuit virtual) comunicarea

icircntre 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 icircnseamnă 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 icircntreaga cale La stabilirea circuitului

virtual fiecare comutator (router) trebuie să memoreze icircn tabela de dirijare care este

succesorul său icircn 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 Avacircnd memorat nodul succesor icircn fiecare dintre circuitele virtuale icircn care este

implicat comutatorul va identifica circuitul asociat pachetului şi icircl va transmite pe acesta pe

linia de ieşire corespunzătoare Tehnica circuitului virtual garantează livrarea icircn ordine a

pachetelor la destinaţie Exemple marcante de reţele ce utilizează comutaţia de pachete de tip

circuit virtual sunt X25 ş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ă icircn 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) icircn cazul unui trafic crescut la intrare Pierderea pachetelor garantarea unei

icircntacircrzieri maxime şi a unui debit utilizator constant sunt problemele spinoase ale comutaţiei

de pachete Ele reprezintă obstacole icircn special icircn calea oferirii serviciilor de timp real cum ar

fi telefonia

Icircn schimb icircn cazul transmisiilor de date avantajul bunei administrări a resurselor

prevalează De exemplu icircn cazul particular al interfeţei radio GSM cacircnd o staţie mobilă (MS)

generează un pachet de date reţeaua icircl va transmite pe un canal radio disponibil icircn 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 Proiect de diplomă SECTIA CALCULATOARE

transmis sau dacă nu alteia Icircn acest mod atacircta timp cacirct cineva are ceva de transmis

canalele radio nu sunt blocate inutil Lucrul icircn mod pachet are o eficienţă cu totul deosebită icircn

cazul unui trafic de date icircn 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 Atacirct HSCSD cacirct şi GPRS icircş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 icircn rafale fără pretenţii de timp real Diferenţa

fundamentală icircntre HSCSD şi GPRS este că acesta din urmă valorifică aceste resurse icircntr-un

mod mult mai eficient deoarece utilizează comutaţia de pachete Icircn plus costul serviciilor

oferite este mai atractiv deoarece utilizatorul plăteşte volumul de date transferat Practic dacă

doreşte utilizatorul poate fi sbquoconectatrsquo la reţeaua de date icircn permanenţă fiind taxat doar

pentru timpul icircn care efectiv utilizează resursele reţelei adică pentru pachetele de date

recepţionate respectiv transmise

243 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 Icircn general orice tip de aplicaţii ce necesită comunicaţii maşină - maşină la debite

mici şi medii sunt adecvate dezvoltării icircn mediul GPRS

Ca şi icircn reţeaua GSM reţelele GPRS pot oferi două categorii de servicii de

telecomunicaţii

servicii de bază

servicii suplimentare

Serviciile de bază GPRS

Acestea sunt icircn principal servicii suport (bearer services) de transport care realizează

transmiterea datelor cu comutaţie de pachete icircntre două interfeţe şi din teleservicii Similar

situaţiei din GSM aceste interfeţe sunt

interfaţa dintre echipamentul terminal de date (de exemplu calculator) şi terminalul

mobil GPRS

24

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

interfaţa dintre reţeaua GPRS şi reţeaua de date sau echipamentul terminal cu care

comunică Aceasta interfaţă este situată icircntr-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 icircn GSM aceste mesaje nu va mai fi icircncă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

servicii punct-la-punct (PTP ndashPoint-to-Point)

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

A Serviciul PTP

Serviciul punct la punct (PTP) [GSM 0260] permite transmiterea de pachete de date

icircntre doi utilizatori Este implementat icircn 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 icircntr-o reţea de date fixă (IP X25) Serviciul PTP poate fi oferit de

asemenea icircntre doi utilizatori mobili GPRS

Serviciul punct-la punct poate fi la racircndul sau de două tipuri

PTP fără conexiune (PTP-CLNS ndash PTP Connectinnless Network Service)

PTP orientat pe conexiune (PTP-CONS ndashPTP Connection Orientated Network

Network Service)

PTP-CLNS este un serviciu de tip datagramă ce utilizează comutaţia de pachete fără

conexiune Este util icircn cazul aplicaţiilor ce generează trafic icircn 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 Icircntre cei doi utilizatori se stabileşte un circuit virtual pentru o perioadă

25

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ce poate varia de la cacircteva secunde la ore Este util atacirct pentru aplicaţii ce generează trafic icircn

rafale cacirct şi pentru aplicaţiile interactive Are că scop asigurarea interoperării cu reţele X25 ş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ă icircn alta dar numai icircn interiorul aceleiaşi reţele GPRS-PLMN La trecerea terminalului

mobil icircntr-o altă reţea sau icircn 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 icircn faza a doua a GPRS O

comunicaţie PTM se stabileşte icircntre un furnizor de servicii (ce poate fi situat icircn afară reţelei

GSM) şi un grup de terminale GPRS Şi serviciul PTM este un serviciu ce se prezintă icircn două

variante

PTMndash multidistribuţie (PTM Multicast)

PTM- grup (PTM-G--PTMGroup)

Serviciul de transport PTM-M permite transmiterea pachetelor de date icircntr-o arie

geografică dată (celulă grup de celule) fără confirmare Receptorii serviciului sunt fie toţi

abonaţii care se găsesc icircn acea zonă fie un grup icircnchis de utilizatori

Icircn 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 icircn anumite zone

geografice Transmisia poate fi şi cu confirmare

Serviciile suplimentare

Printre serviciile suplimentare avute icircn vedere icircntr-un prim stadiu se numără

redirecţionarea necondiţionată a apelurilor redirecţionarea cacircnd abonatul nu este accesibil şi

definirea de grupuri icircnchise de utilizatori In afară de aceste servicii recomandarea GSM

0260 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 Proiect de diplomă SECTIA CALCULATOARE

244 Arhitectura GPRS

GPRS este o soluţie pentru operatori deoarece nu necesită modificări substanţiale icircn

reţeaua GSM Aşa cum se observă icircn figura 72 reţeaua nucleu a GPRS operează icircn paralel

cu GSM-NSS

Figura 23 Arhitectura reţelei GPRS

25 LabWindowsCVI

La dipecer am considerat un calculator desktop sau laptop pe care va rula o aplicaţie

de monitorizare a datelor măsurate implementată icircn LabWindowsCVI

LabWindowsCVI este o platformă pentru dezvoltare de software cu orientare pe

aplicaţii de instrumentaţie După cum se deduce din denumirea sa (CVI ndash 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 Icircmbină 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 Proiect de diplomă SECTIA CALCULATOARE

multiplele lui facilităţi icircl 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

bull Help on-line

bull Selectare şi declarare de variabile sau constante necesare

bull Execuţie interactivă

bull Inserarea funcţiei editate icircntr-un text sursă

Mediul este extrem de flexibil permiţacircnd interfaţarea bidirecţională cu alte compilatoare de

C sau C++ De asemenea se pot folosi şi DLL-uri

Puterea mediului LabWindowsCVI este dată de bibliotecile puse la dispoziţia

programatorului acestea conţinacircnd 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

bull de instrumente

bull pentru interfaţa GPIBGPIB 4882 (General Purpose Interface Bus)

bull pentru achiziţie de date

bull pentru operaţii IO icircn cazul achiziţiei de date

bull pentru interfaţa serială RS232

bull pentru sistemul VXI

Biblioteci specializate pentru analiza datelor

bull pentru IO

bull pentru formatarea specială

bull pentru analiză

bull pentru analiză avansată

Biblioteci specializate pentru vizualizare date

bull pentru crearea unei interfeţe utilizator de tip vizual

Biblioteci specializate pentru lucrul icircn reţea şi comunicarea icircntre diverse aplicaţii

bull pentru DDE (Dynamic Data Exchange)

bull pentru TCP (Transmision Control Protocol)

bull pentru sistemul X de sub Unix

Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

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

bull interfaţa cu utilizatorul

bull partea de control a aplicaţiei

bull partea specializată pentru achiziţia datelor

bull partea specializată icircn analiza respectivelor date

Mai jos prezentăm o schemă generică a aplicaţiilor CVI

Figura 24

Tipuri de fişiere folosite icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a unora dintre meniurile şi ferestrele mediului de dezvoltare CVI

Fereastra proiect

Prezentăm mai jos doar informaţiile suplimentare faţă de o fereastră proiect standard

Pe lacircngă datele curente despre fiecare fişier inclus icircn proiect acesta mai are precizat şi unul

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 icircn fişierul respectiv şi deci trebuie salvat

- C indică obligativitatea compilării respectivului fişier icircnainte de rularea aplicaţiei

- indică faptul că fişierul este deschis icircntr-o fereastră de editare

- indică ca acest fişier nu este deschis

Aplicaţii consolă

Pentru aplicaţiile tip consolă clasice C unde se folosesc pentru IO funcţiile scanf şi

printf vizualizarea ieşirii icircn mod text a acestora se va face icircntr-o fereastră specială numită

ldquoStandard InputOutput Windowrdquo

Observaţie Dacă se va programa icircn acest mod trebuie activată opţiunea ldquoBring Standard

InputOtput to front whenever modifyrdquo 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 cacircnd este activat evenimentele vor fi afişate icircn partea

dreaptă a barei de facilităţi

30

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a cacirctorva din meniurile mai importante ale generatorului

Menu Bars activează cutia de dialog care ne prezintă toate barele de meniu definite deja de

programator

Figura 25

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(fig26) permite specificarea sau modificarea caracteristicilor

unei bare de meniuri icircn curs de creare sau care există deja

31

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 26

Menu Bar Constant Prefix este identificatorul intern al respectivei bare de meniuri Acesta

va fi folosit de funcţia LoadMenuBar pentru icircncărcarea icircn memorie a parametrilor care conţin

această bară Va fi definit automat icircn fişierul header din scheletul de aplicaţie

Item se referă la numele meniului curentsubmeniucomandă de meniu Dacă icircn faţa primei

litere a unui element din meniu se adaugă 2 ldquounderscorerdquo 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 cacircnd 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 Proiect de diplomă SECTIA CALCULATOARE

ModifierKeyShortcutKey se combină pentru a ataşa o cheie ldquohotrdquo pentru elementul

curent

buton ce permite coboracircrea icircn interiorul unei ierarhii de meniuri

buton ce permite urcarea icircn interiorul unei ierarhii de meniuri

Panouri

După cum am spus sunt echivalentul ferestrelor din programarea Windows Pentru a le crea

Create1048774Panel ne pune la dispoziţie un nou panou icircn cadrul UIR-ului curent Prin dublu

ldquoclickrdquo pe acesta se va intra in fereastra de editare a caracteristicilor panoului Această

fereastră este prezentată mai jos

Figura 27

La partea de Menu Bar se poate specifica o bară din cele deja create icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 17: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Pentru a putea oferi debite de date mai ridicate icircn GPRS se urmăreşte utilizarea cacirct

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 Icircn ciuda acestor asemănări icircnlocuirea comutaţiei de circuite cu cea de

pachete face din GPRS un sistem complet diferit de HSCSD Aceasta atacirct 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)

Rezumacircnd icircn 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ă atacirct din experienţa

sistemelor anterioare cacirct şi mai ales din operarea icircn modul pachet a datelor ce se transmit

Soluţiile utilizate sunt

creşterea ratei de transmisie a datelor prin reducerea codării canalului (sunt definite

şi pot

fi utilizate 4 scheme de codare 905kbps 134 kbps 156 kbps 214kbps)

creşterea ratei de transmisie prin operare multislot ( pacircnă 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ă uplinkdownlink

creşterea eficienţei utilizării resurselor radio prin alocarea dinamică a canalelor icircntre

servicii comutate icircn mod circuit respectiv pachet

Cacircnd un icircntreg cadru TDMA este alocat unui utilizator cu schema de protecţie minimă

(practic fără corecţie de erori) rezultă rata utilă instantanee maximă posibilă icircn GPRS

(8x214 kbps=1712 kbps)

242 Comutaţie de circuite şi comutaţie de pachete

20

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comutaţia este o tehnică esenţială icircn 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

comutaţia de circuite

comutaţia de mesaje

comutaţia de pachete

Comutaţia de circuite

Aceasta presupune realizarea icircntre emiţător şi receptor a unei căi fizice de comutaţie

dedicate numită circuit Icircntreaga comunicaţie se desfăşoară icircn trei etape

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 icircnainte de

icircnceperea 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

asigurarea unei icircntacircrzieri constante şi minime

garantarea unui debit util corespunzător mediului de comunicaţie şi serviciului utilizat

Toate acestea facilitează oferirea serviciilor de timp real (telefonie videofonie alte

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 icircn cazul HSCSD) unei staţii mobile

(MS) Acest canal rămacircne icircn posesia terminalului mobil pe toata durata conexiunii chiar dacă

transferul de date este discontinuu (icircn rafale) sau chiar icircncetează cu desăvacircrşire (de exemplu

21

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

cacircnd utilizatorul citeşte cu atenţie cinci minute o pagină WEB după care lămurit pe deplin

icircntrerupe legătura) Ca o particularizare binecunoscută a reţelelor cu comutaţie de circuite

trebuie menţionat că utilizatorul trebuie să plătească pentru icircntreaga 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 icircntre emiţător şi receptor

Informaţia ce urmează a fi transmisă formează o entitate bine precizată numita mesaj

Mesajele sunt complet independente unele faţă 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 icircl

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 icircntacircrzierea icircn 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 icircn

general rezultatul divizării mesajelor icircn 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)

Icircn cazul comutaţiei de pachete fără conexiune pachetele (numite şi datagrame) se transmit

independent icircn cel mai pur spirit al comutaţiei de mesaje urmacircnd rute posibil diferite

Sosirea lor la destinaţie poate avea loc icircntr-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 Proiect de diplomă SECTIA CALCULATOARE

suplimentară din fiecare pachet privitoare la mesajul din care face parte şi locul pe care icircl

ocupa icircn el Exemplul tipic de reţea care utilizează comutaţia de pachete este internetul

BComutaţia de pachete orientată pe conexiune (sau circuit virtual)

Icircn cazul comutaţiei de pachete orientată pe conexiune (sau circuit virtual) comunicarea

icircntre 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 icircnseamnă 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 icircntreaga cale La stabilirea circuitului

virtual fiecare comutator (router) trebuie să memoreze icircn tabela de dirijare care este

succesorul său icircn 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 Avacircnd memorat nodul succesor icircn fiecare dintre circuitele virtuale icircn care este

implicat comutatorul va identifica circuitul asociat pachetului şi icircl va transmite pe acesta pe

linia de ieşire corespunzătoare Tehnica circuitului virtual garantează livrarea icircn ordine a

pachetelor la destinaţie Exemple marcante de reţele ce utilizează comutaţia de pachete de tip

circuit virtual sunt X25 ş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ă icircn 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) icircn cazul unui trafic crescut la intrare Pierderea pachetelor garantarea unei

icircntacircrzieri maxime şi a unui debit utilizator constant sunt problemele spinoase ale comutaţiei

de pachete Ele reprezintă obstacole icircn special icircn calea oferirii serviciilor de timp real cum ar

fi telefonia

Icircn schimb icircn cazul transmisiilor de date avantajul bunei administrări a resurselor

prevalează De exemplu icircn cazul particular al interfeţei radio GSM cacircnd o staţie mobilă (MS)

generează un pachet de date reţeaua icircl va transmite pe un canal radio disponibil icircn 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 Proiect de diplomă SECTIA CALCULATOARE

transmis sau dacă nu alteia Icircn acest mod atacircta timp cacirct cineva are ceva de transmis

canalele radio nu sunt blocate inutil Lucrul icircn mod pachet are o eficienţă cu totul deosebită icircn

cazul unui trafic de date icircn 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 Atacirct HSCSD cacirct şi GPRS icircş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 icircn rafale fără pretenţii de timp real Diferenţa

fundamentală icircntre HSCSD şi GPRS este că acesta din urmă valorifică aceste resurse icircntr-un

mod mult mai eficient deoarece utilizează comutaţia de pachete Icircn plus costul serviciilor

oferite este mai atractiv deoarece utilizatorul plăteşte volumul de date transferat Practic dacă

doreşte utilizatorul poate fi sbquoconectatrsquo la reţeaua de date icircn permanenţă fiind taxat doar

pentru timpul icircn care efectiv utilizează resursele reţelei adică pentru pachetele de date

recepţionate respectiv transmise

243 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 Icircn general orice tip de aplicaţii ce necesită comunicaţii maşină - maşină la debite

mici şi medii sunt adecvate dezvoltării icircn mediul GPRS

Ca şi icircn reţeaua GSM reţelele GPRS pot oferi două categorii de servicii de

telecomunicaţii

servicii de bază

servicii suplimentare

Serviciile de bază GPRS

Acestea sunt icircn principal servicii suport (bearer services) de transport care realizează

transmiterea datelor cu comutaţie de pachete icircntre două interfeţe şi din teleservicii Similar

situaţiei din GSM aceste interfeţe sunt

interfaţa dintre echipamentul terminal de date (de exemplu calculator) şi terminalul

mobil GPRS

24

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

interfaţa dintre reţeaua GPRS şi reţeaua de date sau echipamentul terminal cu care

comunică Aceasta interfaţă este situată icircntr-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 icircn GSM aceste mesaje nu va mai fi icircncă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

servicii punct-la-punct (PTP ndashPoint-to-Point)

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

A Serviciul PTP

Serviciul punct la punct (PTP) [GSM 0260] permite transmiterea de pachete de date

icircntre doi utilizatori Este implementat icircn 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 icircntr-o reţea de date fixă (IP X25) Serviciul PTP poate fi oferit de

asemenea icircntre doi utilizatori mobili GPRS

Serviciul punct-la punct poate fi la racircndul sau de două tipuri

PTP fără conexiune (PTP-CLNS ndash PTP Connectinnless Network Service)

PTP orientat pe conexiune (PTP-CONS ndashPTP Connection Orientated Network

Network Service)

PTP-CLNS este un serviciu de tip datagramă ce utilizează comutaţia de pachete fără

conexiune Este util icircn cazul aplicaţiilor ce generează trafic icircn 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 Icircntre cei doi utilizatori se stabileşte un circuit virtual pentru o perioadă

25

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ce poate varia de la cacircteva secunde la ore Este util atacirct pentru aplicaţii ce generează trafic icircn

rafale cacirct şi pentru aplicaţiile interactive Are că scop asigurarea interoperării cu reţele X25 ş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ă icircn alta dar numai icircn interiorul aceleiaşi reţele GPRS-PLMN La trecerea terminalului

mobil icircntr-o altă reţea sau icircn 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 icircn faza a doua a GPRS O

comunicaţie PTM se stabileşte icircntre un furnizor de servicii (ce poate fi situat icircn afară reţelei

GSM) şi un grup de terminale GPRS Şi serviciul PTM este un serviciu ce se prezintă icircn două

variante

PTMndash multidistribuţie (PTM Multicast)

PTM- grup (PTM-G--PTMGroup)

Serviciul de transport PTM-M permite transmiterea pachetelor de date icircntr-o arie

geografică dată (celulă grup de celule) fără confirmare Receptorii serviciului sunt fie toţi

abonaţii care se găsesc icircn acea zonă fie un grup icircnchis de utilizatori

Icircn 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 icircn anumite zone

geografice Transmisia poate fi şi cu confirmare

Serviciile suplimentare

Printre serviciile suplimentare avute icircn vedere icircntr-un prim stadiu se numără

redirecţionarea necondiţionată a apelurilor redirecţionarea cacircnd abonatul nu este accesibil şi

definirea de grupuri icircnchise de utilizatori In afară de aceste servicii recomandarea GSM

0260 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 Proiect de diplomă SECTIA CALCULATOARE

244 Arhitectura GPRS

GPRS este o soluţie pentru operatori deoarece nu necesită modificări substanţiale icircn

reţeaua GSM Aşa cum se observă icircn figura 72 reţeaua nucleu a GPRS operează icircn paralel

cu GSM-NSS

Figura 23 Arhitectura reţelei GPRS

25 LabWindowsCVI

La dipecer am considerat un calculator desktop sau laptop pe care va rula o aplicaţie

de monitorizare a datelor măsurate implementată icircn LabWindowsCVI

LabWindowsCVI este o platformă pentru dezvoltare de software cu orientare pe

aplicaţii de instrumentaţie După cum se deduce din denumirea sa (CVI ndash 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 Icircmbină 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 Proiect de diplomă SECTIA CALCULATOARE

multiplele lui facilităţi icircl 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

bull Help on-line

bull Selectare şi declarare de variabile sau constante necesare

bull Execuţie interactivă

bull Inserarea funcţiei editate icircntr-un text sursă

Mediul este extrem de flexibil permiţacircnd interfaţarea bidirecţională cu alte compilatoare de

C sau C++ De asemenea se pot folosi şi DLL-uri

Puterea mediului LabWindowsCVI este dată de bibliotecile puse la dispoziţia

programatorului acestea conţinacircnd 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

bull de instrumente

bull pentru interfaţa GPIBGPIB 4882 (General Purpose Interface Bus)

bull pentru achiziţie de date

bull pentru operaţii IO icircn cazul achiziţiei de date

bull pentru interfaţa serială RS232

bull pentru sistemul VXI

Biblioteci specializate pentru analiza datelor

bull pentru IO

bull pentru formatarea specială

bull pentru analiză

bull pentru analiză avansată

Biblioteci specializate pentru vizualizare date

bull pentru crearea unei interfeţe utilizator de tip vizual

Biblioteci specializate pentru lucrul icircn reţea şi comunicarea icircntre diverse aplicaţii

bull pentru DDE (Dynamic Data Exchange)

bull pentru TCP (Transmision Control Protocol)

bull pentru sistemul X de sub Unix

Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

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

bull interfaţa cu utilizatorul

bull partea de control a aplicaţiei

bull partea specializată pentru achiziţia datelor

bull partea specializată icircn analiza respectivelor date

Mai jos prezentăm o schemă generică a aplicaţiilor CVI

Figura 24

Tipuri de fişiere folosite icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a unora dintre meniurile şi ferestrele mediului de dezvoltare CVI

Fereastra proiect

Prezentăm mai jos doar informaţiile suplimentare faţă de o fereastră proiect standard

Pe lacircngă datele curente despre fiecare fişier inclus icircn proiect acesta mai are precizat şi unul

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 icircn fişierul respectiv şi deci trebuie salvat

- C indică obligativitatea compilării respectivului fişier icircnainte de rularea aplicaţiei

- indică faptul că fişierul este deschis icircntr-o fereastră de editare

- indică ca acest fişier nu este deschis

Aplicaţii consolă

Pentru aplicaţiile tip consolă clasice C unde se folosesc pentru IO funcţiile scanf şi

printf vizualizarea ieşirii icircn mod text a acestora se va face icircntr-o fereastră specială numită

ldquoStandard InputOutput Windowrdquo

Observaţie Dacă se va programa icircn acest mod trebuie activată opţiunea ldquoBring Standard

InputOtput to front whenever modifyrdquo 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 cacircnd este activat evenimentele vor fi afişate icircn partea

dreaptă a barei de facilităţi

30

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a cacirctorva din meniurile mai importante ale generatorului

Menu Bars activează cutia de dialog care ne prezintă toate barele de meniu definite deja de

programator

Figura 25

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(fig26) permite specificarea sau modificarea caracteristicilor

unei bare de meniuri icircn curs de creare sau care există deja

31

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 26

Menu Bar Constant Prefix este identificatorul intern al respectivei bare de meniuri Acesta

va fi folosit de funcţia LoadMenuBar pentru icircncărcarea icircn memorie a parametrilor care conţin

această bară Va fi definit automat icircn fişierul header din scheletul de aplicaţie

Item se referă la numele meniului curentsubmeniucomandă de meniu Dacă icircn faţa primei

litere a unui element din meniu se adaugă 2 ldquounderscorerdquo 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 cacircnd 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 Proiect de diplomă SECTIA CALCULATOARE

ModifierKeyShortcutKey se combină pentru a ataşa o cheie ldquohotrdquo pentru elementul

curent

buton ce permite coboracircrea icircn interiorul unei ierarhii de meniuri

buton ce permite urcarea icircn interiorul unei ierarhii de meniuri

Panouri

După cum am spus sunt echivalentul ferestrelor din programarea Windows Pentru a le crea

Create1048774Panel ne pune la dispoziţie un nou panou icircn cadrul UIR-ului curent Prin dublu

ldquoclickrdquo pe acesta se va intra in fereastra de editare a caracteristicilor panoului Această

fereastră este prezentată mai jos

Figura 27

La partea de Menu Bar se poate specifica o bară din cele deja create icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 18: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comutaţia este o tehnică esenţială icircn 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

comutaţia de circuite

comutaţia de mesaje

comutaţia de pachete

Comutaţia de circuite

Aceasta presupune realizarea icircntre emiţător şi receptor a unei căi fizice de comutaţie

dedicate numită circuit Icircntreaga comunicaţie se desfăşoară icircn trei etape

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 icircnainte de

icircnceperea 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

asigurarea unei icircntacircrzieri constante şi minime

garantarea unui debit util corespunzător mediului de comunicaţie şi serviciului utilizat

Toate acestea facilitează oferirea serviciilor de timp real (telefonie videofonie alte

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 icircn cazul HSCSD) unei staţii mobile

(MS) Acest canal rămacircne icircn posesia terminalului mobil pe toata durata conexiunii chiar dacă

transferul de date este discontinuu (icircn rafale) sau chiar icircncetează cu desăvacircrşire (de exemplu

21

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

cacircnd utilizatorul citeşte cu atenţie cinci minute o pagină WEB după care lămurit pe deplin

icircntrerupe legătura) Ca o particularizare binecunoscută a reţelelor cu comutaţie de circuite

trebuie menţionat că utilizatorul trebuie să plătească pentru icircntreaga 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 icircntre emiţător şi receptor

Informaţia ce urmează a fi transmisă formează o entitate bine precizată numita mesaj

Mesajele sunt complet independente unele faţă 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 icircl

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 icircntacircrzierea icircn 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 icircn

general rezultatul divizării mesajelor icircn 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)

Icircn cazul comutaţiei de pachete fără conexiune pachetele (numite şi datagrame) se transmit

independent icircn cel mai pur spirit al comutaţiei de mesaje urmacircnd rute posibil diferite

Sosirea lor la destinaţie poate avea loc icircntr-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 Proiect de diplomă SECTIA CALCULATOARE

suplimentară din fiecare pachet privitoare la mesajul din care face parte şi locul pe care icircl

ocupa icircn el Exemplul tipic de reţea care utilizează comutaţia de pachete este internetul

BComutaţia de pachete orientată pe conexiune (sau circuit virtual)

Icircn cazul comutaţiei de pachete orientată pe conexiune (sau circuit virtual) comunicarea

icircntre 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 icircnseamnă 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 icircntreaga cale La stabilirea circuitului

virtual fiecare comutator (router) trebuie să memoreze icircn tabela de dirijare care este

succesorul său icircn 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 Avacircnd memorat nodul succesor icircn fiecare dintre circuitele virtuale icircn care este

implicat comutatorul va identifica circuitul asociat pachetului şi icircl va transmite pe acesta pe

linia de ieşire corespunzătoare Tehnica circuitului virtual garantează livrarea icircn ordine a

pachetelor la destinaţie Exemple marcante de reţele ce utilizează comutaţia de pachete de tip

circuit virtual sunt X25 ş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ă icircn 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) icircn cazul unui trafic crescut la intrare Pierderea pachetelor garantarea unei

icircntacircrzieri maxime şi a unui debit utilizator constant sunt problemele spinoase ale comutaţiei

de pachete Ele reprezintă obstacole icircn special icircn calea oferirii serviciilor de timp real cum ar

fi telefonia

Icircn schimb icircn cazul transmisiilor de date avantajul bunei administrări a resurselor

prevalează De exemplu icircn cazul particular al interfeţei radio GSM cacircnd o staţie mobilă (MS)

generează un pachet de date reţeaua icircl va transmite pe un canal radio disponibil icircn 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 Proiect de diplomă SECTIA CALCULATOARE

transmis sau dacă nu alteia Icircn acest mod atacircta timp cacirct cineva are ceva de transmis

canalele radio nu sunt blocate inutil Lucrul icircn mod pachet are o eficienţă cu totul deosebită icircn

cazul unui trafic de date icircn 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 Atacirct HSCSD cacirct şi GPRS icircş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 icircn rafale fără pretenţii de timp real Diferenţa

fundamentală icircntre HSCSD şi GPRS este că acesta din urmă valorifică aceste resurse icircntr-un

mod mult mai eficient deoarece utilizează comutaţia de pachete Icircn plus costul serviciilor

oferite este mai atractiv deoarece utilizatorul plăteşte volumul de date transferat Practic dacă

doreşte utilizatorul poate fi sbquoconectatrsquo la reţeaua de date icircn permanenţă fiind taxat doar

pentru timpul icircn care efectiv utilizează resursele reţelei adică pentru pachetele de date

recepţionate respectiv transmise

243 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 Icircn general orice tip de aplicaţii ce necesită comunicaţii maşină - maşină la debite

mici şi medii sunt adecvate dezvoltării icircn mediul GPRS

Ca şi icircn reţeaua GSM reţelele GPRS pot oferi două categorii de servicii de

telecomunicaţii

servicii de bază

servicii suplimentare

Serviciile de bază GPRS

Acestea sunt icircn principal servicii suport (bearer services) de transport care realizează

transmiterea datelor cu comutaţie de pachete icircntre două interfeţe şi din teleservicii Similar

situaţiei din GSM aceste interfeţe sunt

interfaţa dintre echipamentul terminal de date (de exemplu calculator) şi terminalul

mobil GPRS

24

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

interfaţa dintre reţeaua GPRS şi reţeaua de date sau echipamentul terminal cu care

comunică Aceasta interfaţă este situată icircntr-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 icircn GSM aceste mesaje nu va mai fi icircncă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

servicii punct-la-punct (PTP ndashPoint-to-Point)

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

A Serviciul PTP

Serviciul punct la punct (PTP) [GSM 0260] permite transmiterea de pachete de date

icircntre doi utilizatori Este implementat icircn 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 icircntr-o reţea de date fixă (IP X25) Serviciul PTP poate fi oferit de

asemenea icircntre doi utilizatori mobili GPRS

Serviciul punct-la punct poate fi la racircndul sau de două tipuri

PTP fără conexiune (PTP-CLNS ndash PTP Connectinnless Network Service)

PTP orientat pe conexiune (PTP-CONS ndashPTP Connection Orientated Network

Network Service)

PTP-CLNS este un serviciu de tip datagramă ce utilizează comutaţia de pachete fără

conexiune Este util icircn cazul aplicaţiilor ce generează trafic icircn 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 Icircntre cei doi utilizatori se stabileşte un circuit virtual pentru o perioadă

25

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ce poate varia de la cacircteva secunde la ore Este util atacirct pentru aplicaţii ce generează trafic icircn

rafale cacirct şi pentru aplicaţiile interactive Are că scop asigurarea interoperării cu reţele X25 ş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ă icircn alta dar numai icircn interiorul aceleiaşi reţele GPRS-PLMN La trecerea terminalului

mobil icircntr-o altă reţea sau icircn 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 icircn faza a doua a GPRS O

comunicaţie PTM se stabileşte icircntre un furnizor de servicii (ce poate fi situat icircn afară reţelei

GSM) şi un grup de terminale GPRS Şi serviciul PTM este un serviciu ce se prezintă icircn două

variante

PTMndash multidistribuţie (PTM Multicast)

PTM- grup (PTM-G--PTMGroup)

Serviciul de transport PTM-M permite transmiterea pachetelor de date icircntr-o arie

geografică dată (celulă grup de celule) fără confirmare Receptorii serviciului sunt fie toţi

abonaţii care se găsesc icircn acea zonă fie un grup icircnchis de utilizatori

Icircn 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 icircn anumite zone

geografice Transmisia poate fi şi cu confirmare

Serviciile suplimentare

Printre serviciile suplimentare avute icircn vedere icircntr-un prim stadiu se numără

redirecţionarea necondiţionată a apelurilor redirecţionarea cacircnd abonatul nu este accesibil şi

definirea de grupuri icircnchise de utilizatori In afară de aceste servicii recomandarea GSM

0260 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 Proiect de diplomă SECTIA CALCULATOARE

244 Arhitectura GPRS

GPRS este o soluţie pentru operatori deoarece nu necesită modificări substanţiale icircn

reţeaua GSM Aşa cum se observă icircn figura 72 reţeaua nucleu a GPRS operează icircn paralel

cu GSM-NSS

Figura 23 Arhitectura reţelei GPRS

25 LabWindowsCVI

La dipecer am considerat un calculator desktop sau laptop pe care va rula o aplicaţie

de monitorizare a datelor măsurate implementată icircn LabWindowsCVI

LabWindowsCVI este o platformă pentru dezvoltare de software cu orientare pe

aplicaţii de instrumentaţie După cum se deduce din denumirea sa (CVI ndash 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 Icircmbină 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 Proiect de diplomă SECTIA CALCULATOARE

multiplele lui facilităţi icircl 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

bull Help on-line

bull Selectare şi declarare de variabile sau constante necesare

bull Execuţie interactivă

bull Inserarea funcţiei editate icircntr-un text sursă

Mediul este extrem de flexibil permiţacircnd interfaţarea bidirecţională cu alte compilatoare de

C sau C++ De asemenea se pot folosi şi DLL-uri

Puterea mediului LabWindowsCVI este dată de bibliotecile puse la dispoziţia

programatorului acestea conţinacircnd 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

bull de instrumente

bull pentru interfaţa GPIBGPIB 4882 (General Purpose Interface Bus)

bull pentru achiziţie de date

bull pentru operaţii IO icircn cazul achiziţiei de date

bull pentru interfaţa serială RS232

bull pentru sistemul VXI

Biblioteci specializate pentru analiza datelor

bull pentru IO

bull pentru formatarea specială

bull pentru analiză

bull pentru analiză avansată

Biblioteci specializate pentru vizualizare date

bull pentru crearea unei interfeţe utilizator de tip vizual

Biblioteci specializate pentru lucrul icircn reţea şi comunicarea icircntre diverse aplicaţii

bull pentru DDE (Dynamic Data Exchange)

bull pentru TCP (Transmision Control Protocol)

bull pentru sistemul X de sub Unix

Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

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

bull interfaţa cu utilizatorul

bull partea de control a aplicaţiei

bull partea specializată pentru achiziţia datelor

bull partea specializată icircn analiza respectivelor date

Mai jos prezentăm o schemă generică a aplicaţiilor CVI

Figura 24

Tipuri de fişiere folosite icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a unora dintre meniurile şi ferestrele mediului de dezvoltare CVI

Fereastra proiect

Prezentăm mai jos doar informaţiile suplimentare faţă de o fereastră proiect standard

Pe lacircngă datele curente despre fiecare fişier inclus icircn proiect acesta mai are precizat şi unul

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 icircn fişierul respectiv şi deci trebuie salvat

- C indică obligativitatea compilării respectivului fişier icircnainte de rularea aplicaţiei

- indică faptul că fişierul este deschis icircntr-o fereastră de editare

- indică ca acest fişier nu este deschis

Aplicaţii consolă

Pentru aplicaţiile tip consolă clasice C unde se folosesc pentru IO funcţiile scanf şi

printf vizualizarea ieşirii icircn mod text a acestora se va face icircntr-o fereastră specială numită

ldquoStandard InputOutput Windowrdquo

Observaţie Dacă se va programa icircn acest mod trebuie activată opţiunea ldquoBring Standard

InputOtput to front whenever modifyrdquo 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 cacircnd este activat evenimentele vor fi afişate icircn partea

dreaptă a barei de facilităţi

30

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a cacirctorva din meniurile mai importante ale generatorului

Menu Bars activează cutia de dialog care ne prezintă toate barele de meniu definite deja de

programator

Figura 25

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(fig26) permite specificarea sau modificarea caracteristicilor

unei bare de meniuri icircn curs de creare sau care există deja

31

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 26

Menu Bar Constant Prefix este identificatorul intern al respectivei bare de meniuri Acesta

va fi folosit de funcţia LoadMenuBar pentru icircncărcarea icircn memorie a parametrilor care conţin

această bară Va fi definit automat icircn fişierul header din scheletul de aplicaţie

Item se referă la numele meniului curentsubmeniucomandă de meniu Dacă icircn faţa primei

litere a unui element din meniu se adaugă 2 ldquounderscorerdquo 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 cacircnd 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 Proiect de diplomă SECTIA CALCULATOARE

ModifierKeyShortcutKey se combină pentru a ataşa o cheie ldquohotrdquo pentru elementul

curent

buton ce permite coboracircrea icircn interiorul unei ierarhii de meniuri

buton ce permite urcarea icircn interiorul unei ierarhii de meniuri

Panouri

După cum am spus sunt echivalentul ferestrelor din programarea Windows Pentru a le crea

Create1048774Panel ne pune la dispoziţie un nou panou icircn cadrul UIR-ului curent Prin dublu

ldquoclickrdquo pe acesta se va intra in fereastra de editare a caracteristicilor panoului Această

fereastră este prezentată mai jos

Figura 27

La partea de Menu Bar se poate specifica o bară din cele deja create icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 19: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

cacircnd utilizatorul citeşte cu atenţie cinci minute o pagină WEB după care lămurit pe deplin

icircntrerupe legătura) Ca o particularizare binecunoscută a reţelelor cu comutaţie de circuite

trebuie menţionat că utilizatorul trebuie să plătească pentru icircntreaga 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 icircntre emiţător şi receptor

Informaţia ce urmează a fi transmisă formează o entitate bine precizată numita mesaj

Mesajele sunt complet independente unele faţă 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 icircl

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 icircntacircrzierea icircn 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 icircn

general rezultatul divizării mesajelor icircn 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)

Icircn cazul comutaţiei de pachete fără conexiune pachetele (numite şi datagrame) se transmit

independent icircn cel mai pur spirit al comutaţiei de mesaje urmacircnd rute posibil diferite

Sosirea lor la destinaţie poate avea loc icircntr-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 Proiect de diplomă SECTIA CALCULATOARE

suplimentară din fiecare pachet privitoare la mesajul din care face parte şi locul pe care icircl

ocupa icircn el Exemplul tipic de reţea care utilizează comutaţia de pachete este internetul

BComutaţia de pachete orientată pe conexiune (sau circuit virtual)

Icircn cazul comutaţiei de pachete orientată pe conexiune (sau circuit virtual) comunicarea

icircntre 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 icircnseamnă 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 icircntreaga cale La stabilirea circuitului

virtual fiecare comutator (router) trebuie să memoreze icircn tabela de dirijare care este

succesorul său icircn 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 Avacircnd memorat nodul succesor icircn fiecare dintre circuitele virtuale icircn care este

implicat comutatorul va identifica circuitul asociat pachetului şi icircl va transmite pe acesta pe

linia de ieşire corespunzătoare Tehnica circuitului virtual garantează livrarea icircn ordine a

pachetelor la destinaţie Exemple marcante de reţele ce utilizează comutaţia de pachete de tip

circuit virtual sunt X25 ş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ă icircn 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) icircn cazul unui trafic crescut la intrare Pierderea pachetelor garantarea unei

icircntacircrzieri maxime şi a unui debit utilizator constant sunt problemele spinoase ale comutaţiei

de pachete Ele reprezintă obstacole icircn special icircn calea oferirii serviciilor de timp real cum ar

fi telefonia

Icircn schimb icircn cazul transmisiilor de date avantajul bunei administrări a resurselor

prevalează De exemplu icircn cazul particular al interfeţei radio GSM cacircnd o staţie mobilă (MS)

generează un pachet de date reţeaua icircl va transmite pe un canal radio disponibil icircn 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 Proiect de diplomă SECTIA CALCULATOARE

transmis sau dacă nu alteia Icircn acest mod atacircta timp cacirct cineva are ceva de transmis

canalele radio nu sunt blocate inutil Lucrul icircn mod pachet are o eficienţă cu totul deosebită icircn

cazul unui trafic de date icircn 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 Atacirct HSCSD cacirct şi GPRS icircş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 icircn rafale fără pretenţii de timp real Diferenţa

fundamentală icircntre HSCSD şi GPRS este că acesta din urmă valorifică aceste resurse icircntr-un

mod mult mai eficient deoarece utilizează comutaţia de pachete Icircn plus costul serviciilor

oferite este mai atractiv deoarece utilizatorul plăteşte volumul de date transferat Practic dacă

doreşte utilizatorul poate fi sbquoconectatrsquo la reţeaua de date icircn permanenţă fiind taxat doar

pentru timpul icircn care efectiv utilizează resursele reţelei adică pentru pachetele de date

recepţionate respectiv transmise

243 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 Icircn general orice tip de aplicaţii ce necesită comunicaţii maşină - maşină la debite

mici şi medii sunt adecvate dezvoltării icircn mediul GPRS

Ca şi icircn reţeaua GSM reţelele GPRS pot oferi două categorii de servicii de

telecomunicaţii

servicii de bază

servicii suplimentare

Serviciile de bază GPRS

Acestea sunt icircn principal servicii suport (bearer services) de transport care realizează

transmiterea datelor cu comutaţie de pachete icircntre două interfeţe şi din teleservicii Similar

situaţiei din GSM aceste interfeţe sunt

interfaţa dintre echipamentul terminal de date (de exemplu calculator) şi terminalul

mobil GPRS

24

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

interfaţa dintre reţeaua GPRS şi reţeaua de date sau echipamentul terminal cu care

comunică Aceasta interfaţă este situată icircntr-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 icircn GSM aceste mesaje nu va mai fi icircncă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

servicii punct-la-punct (PTP ndashPoint-to-Point)

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

A Serviciul PTP

Serviciul punct la punct (PTP) [GSM 0260] permite transmiterea de pachete de date

icircntre doi utilizatori Este implementat icircn 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 icircntr-o reţea de date fixă (IP X25) Serviciul PTP poate fi oferit de

asemenea icircntre doi utilizatori mobili GPRS

Serviciul punct-la punct poate fi la racircndul sau de două tipuri

PTP fără conexiune (PTP-CLNS ndash PTP Connectinnless Network Service)

PTP orientat pe conexiune (PTP-CONS ndashPTP Connection Orientated Network

Network Service)

PTP-CLNS este un serviciu de tip datagramă ce utilizează comutaţia de pachete fără

conexiune Este util icircn cazul aplicaţiilor ce generează trafic icircn 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 Icircntre cei doi utilizatori se stabileşte un circuit virtual pentru o perioadă

25

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ce poate varia de la cacircteva secunde la ore Este util atacirct pentru aplicaţii ce generează trafic icircn

rafale cacirct şi pentru aplicaţiile interactive Are că scop asigurarea interoperării cu reţele X25 ş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ă icircn alta dar numai icircn interiorul aceleiaşi reţele GPRS-PLMN La trecerea terminalului

mobil icircntr-o altă reţea sau icircn 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 icircn faza a doua a GPRS O

comunicaţie PTM se stabileşte icircntre un furnizor de servicii (ce poate fi situat icircn afară reţelei

GSM) şi un grup de terminale GPRS Şi serviciul PTM este un serviciu ce se prezintă icircn două

variante

PTMndash multidistribuţie (PTM Multicast)

PTM- grup (PTM-G--PTMGroup)

Serviciul de transport PTM-M permite transmiterea pachetelor de date icircntr-o arie

geografică dată (celulă grup de celule) fără confirmare Receptorii serviciului sunt fie toţi

abonaţii care se găsesc icircn acea zonă fie un grup icircnchis de utilizatori

Icircn 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 icircn anumite zone

geografice Transmisia poate fi şi cu confirmare

Serviciile suplimentare

Printre serviciile suplimentare avute icircn vedere icircntr-un prim stadiu se numără

redirecţionarea necondiţionată a apelurilor redirecţionarea cacircnd abonatul nu este accesibil şi

definirea de grupuri icircnchise de utilizatori In afară de aceste servicii recomandarea GSM

0260 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 Proiect de diplomă SECTIA CALCULATOARE

244 Arhitectura GPRS

GPRS este o soluţie pentru operatori deoarece nu necesită modificări substanţiale icircn

reţeaua GSM Aşa cum se observă icircn figura 72 reţeaua nucleu a GPRS operează icircn paralel

cu GSM-NSS

Figura 23 Arhitectura reţelei GPRS

25 LabWindowsCVI

La dipecer am considerat un calculator desktop sau laptop pe care va rula o aplicaţie

de monitorizare a datelor măsurate implementată icircn LabWindowsCVI

LabWindowsCVI este o platformă pentru dezvoltare de software cu orientare pe

aplicaţii de instrumentaţie După cum se deduce din denumirea sa (CVI ndash 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 Icircmbină 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 Proiect de diplomă SECTIA CALCULATOARE

multiplele lui facilităţi icircl 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

bull Help on-line

bull Selectare şi declarare de variabile sau constante necesare

bull Execuţie interactivă

bull Inserarea funcţiei editate icircntr-un text sursă

Mediul este extrem de flexibil permiţacircnd interfaţarea bidirecţională cu alte compilatoare de

C sau C++ De asemenea se pot folosi şi DLL-uri

Puterea mediului LabWindowsCVI este dată de bibliotecile puse la dispoziţia

programatorului acestea conţinacircnd 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

bull de instrumente

bull pentru interfaţa GPIBGPIB 4882 (General Purpose Interface Bus)

bull pentru achiziţie de date

bull pentru operaţii IO icircn cazul achiziţiei de date

bull pentru interfaţa serială RS232

bull pentru sistemul VXI

Biblioteci specializate pentru analiza datelor

bull pentru IO

bull pentru formatarea specială

bull pentru analiză

bull pentru analiză avansată

Biblioteci specializate pentru vizualizare date

bull pentru crearea unei interfeţe utilizator de tip vizual

Biblioteci specializate pentru lucrul icircn reţea şi comunicarea icircntre diverse aplicaţii

bull pentru DDE (Dynamic Data Exchange)

bull pentru TCP (Transmision Control Protocol)

bull pentru sistemul X de sub Unix

Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

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

bull interfaţa cu utilizatorul

bull partea de control a aplicaţiei

bull partea specializată pentru achiziţia datelor

bull partea specializată icircn analiza respectivelor date

Mai jos prezentăm o schemă generică a aplicaţiilor CVI

Figura 24

Tipuri de fişiere folosite icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a unora dintre meniurile şi ferestrele mediului de dezvoltare CVI

Fereastra proiect

Prezentăm mai jos doar informaţiile suplimentare faţă de o fereastră proiect standard

Pe lacircngă datele curente despre fiecare fişier inclus icircn proiect acesta mai are precizat şi unul

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 icircn fişierul respectiv şi deci trebuie salvat

- C indică obligativitatea compilării respectivului fişier icircnainte de rularea aplicaţiei

- indică faptul că fişierul este deschis icircntr-o fereastră de editare

- indică ca acest fişier nu este deschis

Aplicaţii consolă

Pentru aplicaţiile tip consolă clasice C unde se folosesc pentru IO funcţiile scanf şi

printf vizualizarea ieşirii icircn mod text a acestora se va face icircntr-o fereastră specială numită

ldquoStandard InputOutput Windowrdquo

Observaţie Dacă se va programa icircn acest mod trebuie activată opţiunea ldquoBring Standard

InputOtput to front whenever modifyrdquo 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 cacircnd este activat evenimentele vor fi afişate icircn partea

dreaptă a barei de facilităţi

30

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a cacirctorva din meniurile mai importante ale generatorului

Menu Bars activează cutia de dialog care ne prezintă toate barele de meniu definite deja de

programator

Figura 25

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(fig26) permite specificarea sau modificarea caracteristicilor

unei bare de meniuri icircn curs de creare sau care există deja

31

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 26

Menu Bar Constant Prefix este identificatorul intern al respectivei bare de meniuri Acesta

va fi folosit de funcţia LoadMenuBar pentru icircncărcarea icircn memorie a parametrilor care conţin

această bară Va fi definit automat icircn fişierul header din scheletul de aplicaţie

Item se referă la numele meniului curentsubmeniucomandă de meniu Dacă icircn faţa primei

litere a unui element din meniu se adaugă 2 ldquounderscorerdquo 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 cacircnd 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 Proiect de diplomă SECTIA CALCULATOARE

ModifierKeyShortcutKey se combină pentru a ataşa o cheie ldquohotrdquo pentru elementul

curent

buton ce permite coboracircrea icircn interiorul unei ierarhii de meniuri

buton ce permite urcarea icircn interiorul unei ierarhii de meniuri

Panouri

După cum am spus sunt echivalentul ferestrelor din programarea Windows Pentru a le crea

Create1048774Panel ne pune la dispoziţie un nou panou icircn cadrul UIR-ului curent Prin dublu

ldquoclickrdquo pe acesta se va intra in fereastra de editare a caracteristicilor panoului Această

fereastră este prezentată mai jos

Figura 27

La partea de Menu Bar se poate specifica o bară din cele deja create icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 20: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

suplimentară din fiecare pachet privitoare la mesajul din care face parte şi locul pe care icircl

ocupa icircn el Exemplul tipic de reţea care utilizează comutaţia de pachete este internetul

BComutaţia de pachete orientată pe conexiune (sau circuit virtual)

Icircn cazul comutaţiei de pachete orientată pe conexiune (sau circuit virtual) comunicarea

icircntre 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 icircnseamnă 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 icircntreaga cale La stabilirea circuitului

virtual fiecare comutator (router) trebuie să memoreze icircn tabela de dirijare care este

succesorul său icircn 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 Avacircnd memorat nodul succesor icircn fiecare dintre circuitele virtuale icircn care este

implicat comutatorul va identifica circuitul asociat pachetului şi icircl va transmite pe acesta pe

linia de ieşire corespunzătoare Tehnica circuitului virtual garantează livrarea icircn ordine a

pachetelor la destinaţie Exemple marcante de reţele ce utilizează comutaţia de pachete de tip

circuit virtual sunt X25 ş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ă icircn 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) icircn cazul unui trafic crescut la intrare Pierderea pachetelor garantarea unei

icircntacircrzieri maxime şi a unui debit utilizator constant sunt problemele spinoase ale comutaţiei

de pachete Ele reprezintă obstacole icircn special icircn calea oferirii serviciilor de timp real cum ar

fi telefonia

Icircn schimb icircn cazul transmisiilor de date avantajul bunei administrări a resurselor

prevalează De exemplu icircn cazul particular al interfeţei radio GSM cacircnd o staţie mobilă (MS)

generează un pachet de date reţeaua icircl va transmite pe un canal radio disponibil icircn 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 Proiect de diplomă SECTIA CALCULATOARE

transmis sau dacă nu alteia Icircn acest mod atacircta timp cacirct cineva are ceva de transmis

canalele radio nu sunt blocate inutil Lucrul icircn mod pachet are o eficienţă cu totul deosebită icircn

cazul unui trafic de date icircn 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 Atacirct HSCSD cacirct şi GPRS icircş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 icircn rafale fără pretenţii de timp real Diferenţa

fundamentală icircntre HSCSD şi GPRS este că acesta din urmă valorifică aceste resurse icircntr-un

mod mult mai eficient deoarece utilizează comutaţia de pachete Icircn plus costul serviciilor

oferite este mai atractiv deoarece utilizatorul plăteşte volumul de date transferat Practic dacă

doreşte utilizatorul poate fi sbquoconectatrsquo la reţeaua de date icircn permanenţă fiind taxat doar

pentru timpul icircn care efectiv utilizează resursele reţelei adică pentru pachetele de date

recepţionate respectiv transmise

243 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 Icircn general orice tip de aplicaţii ce necesită comunicaţii maşină - maşină la debite

mici şi medii sunt adecvate dezvoltării icircn mediul GPRS

Ca şi icircn reţeaua GSM reţelele GPRS pot oferi două categorii de servicii de

telecomunicaţii

servicii de bază

servicii suplimentare

Serviciile de bază GPRS

Acestea sunt icircn principal servicii suport (bearer services) de transport care realizează

transmiterea datelor cu comutaţie de pachete icircntre două interfeţe şi din teleservicii Similar

situaţiei din GSM aceste interfeţe sunt

interfaţa dintre echipamentul terminal de date (de exemplu calculator) şi terminalul

mobil GPRS

24

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

interfaţa dintre reţeaua GPRS şi reţeaua de date sau echipamentul terminal cu care

comunică Aceasta interfaţă este situată icircntr-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 icircn GSM aceste mesaje nu va mai fi icircncă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

servicii punct-la-punct (PTP ndashPoint-to-Point)

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

A Serviciul PTP

Serviciul punct la punct (PTP) [GSM 0260] permite transmiterea de pachete de date

icircntre doi utilizatori Este implementat icircn 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 icircntr-o reţea de date fixă (IP X25) Serviciul PTP poate fi oferit de

asemenea icircntre doi utilizatori mobili GPRS

Serviciul punct-la punct poate fi la racircndul sau de două tipuri

PTP fără conexiune (PTP-CLNS ndash PTP Connectinnless Network Service)

PTP orientat pe conexiune (PTP-CONS ndashPTP Connection Orientated Network

Network Service)

PTP-CLNS este un serviciu de tip datagramă ce utilizează comutaţia de pachete fără

conexiune Este util icircn cazul aplicaţiilor ce generează trafic icircn 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 Icircntre cei doi utilizatori se stabileşte un circuit virtual pentru o perioadă

25

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ce poate varia de la cacircteva secunde la ore Este util atacirct pentru aplicaţii ce generează trafic icircn

rafale cacirct şi pentru aplicaţiile interactive Are că scop asigurarea interoperării cu reţele X25 ş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ă icircn alta dar numai icircn interiorul aceleiaşi reţele GPRS-PLMN La trecerea terminalului

mobil icircntr-o altă reţea sau icircn 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 icircn faza a doua a GPRS O

comunicaţie PTM se stabileşte icircntre un furnizor de servicii (ce poate fi situat icircn afară reţelei

GSM) şi un grup de terminale GPRS Şi serviciul PTM este un serviciu ce se prezintă icircn două

variante

PTMndash multidistribuţie (PTM Multicast)

PTM- grup (PTM-G--PTMGroup)

Serviciul de transport PTM-M permite transmiterea pachetelor de date icircntr-o arie

geografică dată (celulă grup de celule) fără confirmare Receptorii serviciului sunt fie toţi

abonaţii care se găsesc icircn acea zonă fie un grup icircnchis de utilizatori

Icircn 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 icircn anumite zone

geografice Transmisia poate fi şi cu confirmare

Serviciile suplimentare

Printre serviciile suplimentare avute icircn vedere icircntr-un prim stadiu se numără

redirecţionarea necondiţionată a apelurilor redirecţionarea cacircnd abonatul nu este accesibil şi

definirea de grupuri icircnchise de utilizatori In afară de aceste servicii recomandarea GSM

0260 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 Proiect de diplomă SECTIA CALCULATOARE

244 Arhitectura GPRS

GPRS este o soluţie pentru operatori deoarece nu necesită modificări substanţiale icircn

reţeaua GSM Aşa cum se observă icircn figura 72 reţeaua nucleu a GPRS operează icircn paralel

cu GSM-NSS

Figura 23 Arhitectura reţelei GPRS

25 LabWindowsCVI

La dipecer am considerat un calculator desktop sau laptop pe care va rula o aplicaţie

de monitorizare a datelor măsurate implementată icircn LabWindowsCVI

LabWindowsCVI este o platformă pentru dezvoltare de software cu orientare pe

aplicaţii de instrumentaţie După cum se deduce din denumirea sa (CVI ndash 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 Icircmbină 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 Proiect de diplomă SECTIA CALCULATOARE

multiplele lui facilităţi icircl 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

bull Help on-line

bull Selectare şi declarare de variabile sau constante necesare

bull Execuţie interactivă

bull Inserarea funcţiei editate icircntr-un text sursă

Mediul este extrem de flexibil permiţacircnd interfaţarea bidirecţională cu alte compilatoare de

C sau C++ De asemenea se pot folosi şi DLL-uri

Puterea mediului LabWindowsCVI este dată de bibliotecile puse la dispoziţia

programatorului acestea conţinacircnd 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

bull de instrumente

bull pentru interfaţa GPIBGPIB 4882 (General Purpose Interface Bus)

bull pentru achiziţie de date

bull pentru operaţii IO icircn cazul achiziţiei de date

bull pentru interfaţa serială RS232

bull pentru sistemul VXI

Biblioteci specializate pentru analiza datelor

bull pentru IO

bull pentru formatarea specială

bull pentru analiză

bull pentru analiză avansată

Biblioteci specializate pentru vizualizare date

bull pentru crearea unei interfeţe utilizator de tip vizual

Biblioteci specializate pentru lucrul icircn reţea şi comunicarea icircntre diverse aplicaţii

bull pentru DDE (Dynamic Data Exchange)

bull pentru TCP (Transmision Control Protocol)

bull pentru sistemul X de sub Unix

Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

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

bull interfaţa cu utilizatorul

bull partea de control a aplicaţiei

bull partea specializată pentru achiziţia datelor

bull partea specializată icircn analiza respectivelor date

Mai jos prezentăm o schemă generică a aplicaţiilor CVI

Figura 24

Tipuri de fişiere folosite icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a unora dintre meniurile şi ferestrele mediului de dezvoltare CVI

Fereastra proiect

Prezentăm mai jos doar informaţiile suplimentare faţă de o fereastră proiect standard

Pe lacircngă datele curente despre fiecare fişier inclus icircn proiect acesta mai are precizat şi unul

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 icircn fişierul respectiv şi deci trebuie salvat

- C indică obligativitatea compilării respectivului fişier icircnainte de rularea aplicaţiei

- indică faptul că fişierul este deschis icircntr-o fereastră de editare

- indică ca acest fişier nu este deschis

Aplicaţii consolă

Pentru aplicaţiile tip consolă clasice C unde se folosesc pentru IO funcţiile scanf şi

printf vizualizarea ieşirii icircn mod text a acestora se va face icircntr-o fereastră specială numită

ldquoStandard InputOutput Windowrdquo

Observaţie Dacă se va programa icircn acest mod trebuie activată opţiunea ldquoBring Standard

InputOtput to front whenever modifyrdquo 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 cacircnd este activat evenimentele vor fi afişate icircn partea

dreaptă a barei de facilităţi

30

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a cacirctorva din meniurile mai importante ale generatorului

Menu Bars activează cutia de dialog care ne prezintă toate barele de meniu definite deja de

programator

Figura 25

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(fig26) permite specificarea sau modificarea caracteristicilor

unei bare de meniuri icircn curs de creare sau care există deja

31

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 26

Menu Bar Constant Prefix este identificatorul intern al respectivei bare de meniuri Acesta

va fi folosit de funcţia LoadMenuBar pentru icircncărcarea icircn memorie a parametrilor care conţin

această bară Va fi definit automat icircn fişierul header din scheletul de aplicaţie

Item se referă la numele meniului curentsubmeniucomandă de meniu Dacă icircn faţa primei

litere a unui element din meniu se adaugă 2 ldquounderscorerdquo 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 cacircnd 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 Proiect de diplomă SECTIA CALCULATOARE

ModifierKeyShortcutKey se combină pentru a ataşa o cheie ldquohotrdquo pentru elementul

curent

buton ce permite coboracircrea icircn interiorul unei ierarhii de meniuri

buton ce permite urcarea icircn interiorul unei ierarhii de meniuri

Panouri

După cum am spus sunt echivalentul ferestrelor din programarea Windows Pentru a le crea

Create1048774Panel ne pune la dispoziţie un nou panou icircn cadrul UIR-ului curent Prin dublu

ldquoclickrdquo pe acesta se va intra in fereastra de editare a caracteristicilor panoului Această

fereastră este prezentată mai jos

Figura 27

La partea de Menu Bar se poate specifica o bară din cele deja create icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 21: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

transmis sau dacă nu alteia Icircn acest mod atacircta timp cacirct cineva are ceva de transmis

canalele radio nu sunt blocate inutil Lucrul icircn mod pachet are o eficienţă cu totul deosebită icircn

cazul unui trafic de date icircn 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 Atacirct HSCSD cacirct şi GPRS icircş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 icircn rafale fără pretenţii de timp real Diferenţa

fundamentală icircntre HSCSD şi GPRS este că acesta din urmă valorifică aceste resurse icircntr-un

mod mult mai eficient deoarece utilizează comutaţia de pachete Icircn plus costul serviciilor

oferite este mai atractiv deoarece utilizatorul plăteşte volumul de date transferat Practic dacă

doreşte utilizatorul poate fi sbquoconectatrsquo la reţeaua de date icircn permanenţă fiind taxat doar

pentru timpul icircn care efectiv utilizează resursele reţelei adică pentru pachetele de date

recepţionate respectiv transmise

243 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 Icircn general orice tip de aplicaţii ce necesită comunicaţii maşină - maşină la debite

mici şi medii sunt adecvate dezvoltării icircn mediul GPRS

Ca şi icircn reţeaua GSM reţelele GPRS pot oferi două categorii de servicii de

telecomunicaţii

servicii de bază

servicii suplimentare

Serviciile de bază GPRS

Acestea sunt icircn principal servicii suport (bearer services) de transport care realizează

transmiterea datelor cu comutaţie de pachete icircntre două interfeţe şi din teleservicii Similar

situaţiei din GSM aceste interfeţe sunt

interfaţa dintre echipamentul terminal de date (de exemplu calculator) şi terminalul

mobil GPRS

24

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

interfaţa dintre reţeaua GPRS şi reţeaua de date sau echipamentul terminal cu care

comunică Aceasta interfaţă este situată icircntr-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 icircn GSM aceste mesaje nu va mai fi icircncă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

servicii punct-la-punct (PTP ndashPoint-to-Point)

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

A Serviciul PTP

Serviciul punct la punct (PTP) [GSM 0260] permite transmiterea de pachete de date

icircntre doi utilizatori Este implementat icircn 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 icircntr-o reţea de date fixă (IP X25) Serviciul PTP poate fi oferit de

asemenea icircntre doi utilizatori mobili GPRS

Serviciul punct-la punct poate fi la racircndul sau de două tipuri

PTP fără conexiune (PTP-CLNS ndash PTP Connectinnless Network Service)

PTP orientat pe conexiune (PTP-CONS ndashPTP Connection Orientated Network

Network Service)

PTP-CLNS este un serviciu de tip datagramă ce utilizează comutaţia de pachete fără

conexiune Este util icircn cazul aplicaţiilor ce generează trafic icircn 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 Icircntre cei doi utilizatori se stabileşte un circuit virtual pentru o perioadă

25

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ce poate varia de la cacircteva secunde la ore Este util atacirct pentru aplicaţii ce generează trafic icircn

rafale cacirct şi pentru aplicaţiile interactive Are că scop asigurarea interoperării cu reţele X25 ş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ă icircn alta dar numai icircn interiorul aceleiaşi reţele GPRS-PLMN La trecerea terminalului

mobil icircntr-o altă reţea sau icircn 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 icircn faza a doua a GPRS O

comunicaţie PTM se stabileşte icircntre un furnizor de servicii (ce poate fi situat icircn afară reţelei

GSM) şi un grup de terminale GPRS Şi serviciul PTM este un serviciu ce se prezintă icircn două

variante

PTMndash multidistribuţie (PTM Multicast)

PTM- grup (PTM-G--PTMGroup)

Serviciul de transport PTM-M permite transmiterea pachetelor de date icircntr-o arie

geografică dată (celulă grup de celule) fără confirmare Receptorii serviciului sunt fie toţi

abonaţii care se găsesc icircn acea zonă fie un grup icircnchis de utilizatori

Icircn 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 icircn anumite zone

geografice Transmisia poate fi şi cu confirmare

Serviciile suplimentare

Printre serviciile suplimentare avute icircn vedere icircntr-un prim stadiu se numără

redirecţionarea necondiţionată a apelurilor redirecţionarea cacircnd abonatul nu este accesibil şi

definirea de grupuri icircnchise de utilizatori In afară de aceste servicii recomandarea GSM

0260 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 Proiect de diplomă SECTIA CALCULATOARE

244 Arhitectura GPRS

GPRS este o soluţie pentru operatori deoarece nu necesită modificări substanţiale icircn

reţeaua GSM Aşa cum se observă icircn figura 72 reţeaua nucleu a GPRS operează icircn paralel

cu GSM-NSS

Figura 23 Arhitectura reţelei GPRS

25 LabWindowsCVI

La dipecer am considerat un calculator desktop sau laptop pe care va rula o aplicaţie

de monitorizare a datelor măsurate implementată icircn LabWindowsCVI

LabWindowsCVI este o platformă pentru dezvoltare de software cu orientare pe

aplicaţii de instrumentaţie După cum se deduce din denumirea sa (CVI ndash 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 Icircmbină 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 Proiect de diplomă SECTIA CALCULATOARE

multiplele lui facilităţi icircl 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

bull Help on-line

bull Selectare şi declarare de variabile sau constante necesare

bull Execuţie interactivă

bull Inserarea funcţiei editate icircntr-un text sursă

Mediul este extrem de flexibil permiţacircnd interfaţarea bidirecţională cu alte compilatoare de

C sau C++ De asemenea se pot folosi şi DLL-uri

Puterea mediului LabWindowsCVI este dată de bibliotecile puse la dispoziţia

programatorului acestea conţinacircnd 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

bull de instrumente

bull pentru interfaţa GPIBGPIB 4882 (General Purpose Interface Bus)

bull pentru achiziţie de date

bull pentru operaţii IO icircn cazul achiziţiei de date

bull pentru interfaţa serială RS232

bull pentru sistemul VXI

Biblioteci specializate pentru analiza datelor

bull pentru IO

bull pentru formatarea specială

bull pentru analiză

bull pentru analiză avansată

Biblioteci specializate pentru vizualizare date

bull pentru crearea unei interfeţe utilizator de tip vizual

Biblioteci specializate pentru lucrul icircn reţea şi comunicarea icircntre diverse aplicaţii

bull pentru DDE (Dynamic Data Exchange)

bull pentru TCP (Transmision Control Protocol)

bull pentru sistemul X de sub Unix

Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

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

bull interfaţa cu utilizatorul

bull partea de control a aplicaţiei

bull partea specializată pentru achiziţia datelor

bull partea specializată icircn analiza respectivelor date

Mai jos prezentăm o schemă generică a aplicaţiilor CVI

Figura 24

Tipuri de fişiere folosite icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a unora dintre meniurile şi ferestrele mediului de dezvoltare CVI

Fereastra proiect

Prezentăm mai jos doar informaţiile suplimentare faţă de o fereastră proiect standard

Pe lacircngă datele curente despre fiecare fişier inclus icircn proiect acesta mai are precizat şi unul

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 icircn fişierul respectiv şi deci trebuie salvat

- C indică obligativitatea compilării respectivului fişier icircnainte de rularea aplicaţiei

- indică faptul că fişierul este deschis icircntr-o fereastră de editare

- indică ca acest fişier nu este deschis

Aplicaţii consolă

Pentru aplicaţiile tip consolă clasice C unde se folosesc pentru IO funcţiile scanf şi

printf vizualizarea ieşirii icircn mod text a acestora se va face icircntr-o fereastră specială numită

ldquoStandard InputOutput Windowrdquo

Observaţie Dacă se va programa icircn acest mod trebuie activată opţiunea ldquoBring Standard

InputOtput to front whenever modifyrdquo 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 cacircnd este activat evenimentele vor fi afişate icircn partea

dreaptă a barei de facilităţi

30

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a cacirctorva din meniurile mai importante ale generatorului

Menu Bars activează cutia de dialog care ne prezintă toate barele de meniu definite deja de

programator

Figura 25

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(fig26) permite specificarea sau modificarea caracteristicilor

unei bare de meniuri icircn curs de creare sau care există deja

31

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 26

Menu Bar Constant Prefix este identificatorul intern al respectivei bare de meniuri Acesta

va fi folosit de funcţia LoadMenuBar pentru icircncărcarea icircn memorie a parametrilor care conţin

această bară Va fi definit automat icircn fişierul header din scheletul de aplicaţie

Item se referă la numele meniului curentsubmeniucomandă de meniu Dacă icircn faţa primei

litere a unui element din meniu se adaugă 2 ldquounderscorerdquo 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 cacircnd 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 Proiect de diplomă SECTIA CALCULATOARE

ModifierKeyShortcutKey se combină pentru a ataşa o cheie ldquohotrdquo pentru elementul

curent

buton ce permite coboracircrea icircn interiorul unei ierarhii de meniuri

buton ce permite urcarea icircn interiorul unei ierarhii de meniuri

Panouri

După cum am spus sunt echivalentul ferestrelor din programarea Windows Pentru a le crea

Create1048774Panel ne pune la dispoziţie un nou panou icircn cadrul UIR-ului curent Prin dublu

ldquoclickrdquo pe acesta se va intra in fereastra de editare a caracteristicilor panoului Această

fereastră este prezentată mai jos

Figura 27

La partea de Menu Bar se poate specifica o bară din cele deja create icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 22: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

interfaţa dintre reţeaua GPRS şi reţeaua de date sau echipamentul terminal cu care

comunică Aceasta interfaţă este situată icircntr-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 icircn GSM aceste mesaje nu va mai fi icircncă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

servicii punct-la-punct (PTP ndashPoint-to-Point)

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

A Serviciul PTP

Serviciul punct la punct (PTP) [GSM 0260] permite transmiterea de pachete de date

icircntre doi utilizatori Este implementat icircn 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 icircntr-o reţea de date fixă (IP X25) Serviciul PTP poate fi oferit de

asemenea icircntre doi utilizatori mobili GPRS

Serviciul punct-la punct poate fi la racircndul sau de două tipuri

PTP fără conexiune (PTP-CLNS ndash PTP Connectinnless Network Service)

PTP orientat pe conexiune (PTP-CONS ndashPTP Connection Orientated Network

Network Service)

PTP-CLNS este un serviciu de tip datagramă ce utilizează comutaţia de pachete fără

conexiune Este util icircn cazul aplicaţiilor ce generează trafic icircn 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 Icircntre cei doi utilizatori se stabileşte un circuit virtual pentru o perioadă

25

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ce poate varia de la cacircteva secunde la ore Este util atacirct pentru aplicaţii ce generează trafic icircn

rafale cacirct şi pentru aplicaţiile interactive Are că scop asigurarea interoperării cu reţele X25 ş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ă icircn alta dar numai icircn interiorul aceleiaşi reţele GPRS-PLMN La trecerea terminalului

mobil icircntr-o altă reţea sau icircn 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 icircn faza a doua a GPRS O

comunicaţie PTM se stabileşte icircntre un furnizor de servicii (ce poate fi situat icircn afară reţelei

GSM) şi un grup de terminale GPRS Şi serviciul PTM este un serviciu ce se prezintă icircn două

variante

PTMndash multidistribuţie (PTM Multicast)

PTM- grup (PTM-G--PTMGroup)

Serviciul de transport PTM-M permite transmiterea pachetelor de date icircntr-o arie

geografică dată (celulă grup de celule) fără confirmare Receptorii serviciului sunt fie toţi

abonaţii care se găsesc icircn acea zonă fie un grup icircnchis de utilizatori

Icircn 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 icircn anumite zone

geografice Transmisia poate fi şi cu confirmare

Serviciile suplimentare

Printre serviciile suplimentare avute icircn vedere icircntr-un prim stadiu se numără

redirecţionarea necondiţionată a apelurilor redirecţionarea cacircnd abonatul nu este accesibil şi

definirea de grupuri icircnchise de utilizatori In afară de aceste servicii recomandarea GSM

0260 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 Proiect de diplomă SECTIA CALCULATOARE

244 Arhitectura GPRS

GPRS este o soluţie pentru operatori deoarece nu necesită modificări substanţiale icircn

reţeaua GSM Aşa cum se observă icircn figura 72 reţeaua nucleu a GPRS operează icircn paralel

cu GSM-NSS

Figura 23 Arhitectura reţelei GPRS

25 LabWindowsCVI

La dipecer am considerat un calculator desktop sau laptop pe care va rula o aplicaţie

de monitorizare a datelor măsurate implementată icircn LabWindowsCVI

LabWindowsCVI este o platformă pentru dezvoltare de software cu orientare pe

aplicaţii de instrumentaţie După cum se deduce din denumirea sa (CVI ndash 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 Icircmbină 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 Proiect de diplomă SECTIA CALCULATOARE

multiplele lui facilităţi icircl 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

bull Help on-line

bull Selectare şi declarare de variabile sau constante necesare

bull Execuţie interactivă

bull Inserarea funcţiei editate icircntr-un text sursă

Mediul este extrem de flexibil permiţacircnd interfaţarea bidirecţională cu alte compilatoare de

C sau C++ De asemenea se pot folosi şi DLL-uri

Puterea mediului LabWindowsCVI este dată de bibliotecile puse la dispoziţia

programatorului acestea conţinacircnd 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

bull de instrumente

bull pentru interfaţa GPIBGPIB 4882 (General Purpose Interface Bus)

bull pentru achiziţie de date

bull pentru operaţii IO icircn cazul achiziţiei de date

bull pentru interfaţa serială RS232

bull pentru sistemul VXI

Biblioteci specializate pentru analiza datelor

bull pentru IO

bull pentru formatarea specială

bull pentru analiză

bull pentru analiză avansată

Biblioteci specializate pentru vizualizare date

bull pentru crearea unei interfeţe utilizator de tip vizual

Biblioteci specializate pentru lucrul icircn reţea şi comunicarea icircntre diverse aplicaţii

bull pentru DDE (Dynamic Data Exchange)

bull pentru TCP (Transmision Control Protocol)

bull pentru sistemul X de sub Unix

Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

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

bull interfaţa cu utilizatorul

bull partea de control a aplicaţiei

bull partea specializată pentru achiziţia datelor

bull partea specializată icircn analiza respectivelor date

Mai jos prezentăm o schemă generică a aplicaţiilor CVI

Figura 24

Tipuri de fişiere folosite icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a unora dintre meniurile şi ferestrele mediului de dezvoltare CVI

Fereastra proiect

Prezentăm mai jos doar informaţiile suplimentare faţă de o fereastră proiect standard

Pe lacircngă datele curente despre fiecare fişier inclus icircn proiect acesta mai are precizat şi unul

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 icircn fişierul respectiv şi deci trebuie salvat

- C indică obligativitatea compilării respectivului fişier icircnainte de rularea aplicaţiei

- indică faptul că fişierul este deschis icircntr-o fereastră de editare

- indică ca acest fişier nu este deschis

Aplicaţii consolă

Pentru aplicaţiile tip consolă clasice C unde se folosesc pentru IO funcţiile scanf şi

printf vizualizarea ieşirii icircn mod text a acestora se va face icircntr-o fereastră specială numită

ldquoStandard InputOutput Windowrdquo

Observaţie Dacă se va programa icircn acest mod trebuie activată opţiunea ldquoBring Standard

InputOtput to front whenever modifyrdquo 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 cacircnd este activat evenimentele vor fi afişate icircn partea

dreaptă a barei de facilităţi

30

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a cacirctorva din meniurile mai importante ale generatorului

Menu Bars activează cutia de dialog care ne prezintă toate barele de meniu definite deja de

programator

Figura 25

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(fig26) permite specificarea sau modificarea caracteristicilor

unei bare de meniuri icircn curs de creare sau care există deja

31

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 26

Menu Bar Constant Prefix este identificatorul intern al respectivei bare de meniuri Acesta

va fi folosit de funcţia LoadMenuBar pentru icircncărcarea icircn memorie a parametrilor care conţin

această bară Va fi definit automat icircn fişierul header din scheletul de aplicaţie

Item se referă la numele meniului curentsubmeniucomandă de meniu Dacă icircn faţa primei

litere a unui element din meniu se adaugă 2 ldquounderscorerdquo 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 cacircnd 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 Proiect de diplomă SECTIA CALCULATOARE

ModifierKeyShortcutKey se combină pentru a ataşa o cheie ldquohotrdquo pentru elementul

curent

buton ce permite coboracircrea icircn interiorul unei ierarhii de meniuri

buton ce permite urcarea icircn interiorul unei ierarhii de meniuri

Panouri

După cum am spus sunt echivalentul ferestrelor din programarea Windows Pentru a le crea

Create1048774Panel ne pune la dispoziţie un nou panou icircn cadrul UIR-ului curent Prin dublu

ldquoclickrdquo pe acesta se va intra in fereastra de editare a caracteristicilor panoului Această

fereastră este prezentată mai jos

Figura 27

La partea de Menu Bar se poate specifica o bară din cele deja create icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 23: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ce poate varia de la cacircteva secunde la ore Este util atacirct pentru aplicaţii ce generează trafic icircn

rafale cacirct şi pentru aplicaţiile interactive Are că scop asigurarea interoperării cu reţele X25 ş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ă icircn alta dar numai icircn interiorul aceleiaşi reţele GPRS-PLMN La trecerea terminalului

mobil icircntr-o altă reţea sau icircn 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 icircn faza a doua a GPRS O

comunicaţie PTM se stabileşte icircntre un furnizor de servicii (ce poate fi situat icircn afară reţelei

GSM) şi un grup de terminale GPRS Şi serviciul PTM este un serviciu ce se prezintă icircn două

variante

PTMndash multidistribuţie (PTM Multicast)

PTM- grup (PTM-G--PTMGroup)

Serviciul de transport PTM-M permite transmiterea pachetelor de date icircntr-o arie

geografică dată (celulă grup de celule) fără confirmare Receptorii serviciului sunt fie toţi

abonaţii care se găsesc icircn acea zonă fie un grup icircnchis de utilizatori

Icircn 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 icircn anumite zone

geografice Transmisia poate fi şi cu confirmare

Serviciile suplimentare

Printre serviciile suplimentare avute icircn vedere icircntr-un prim stadiu se numără

redirecţionarea necondiţionată a apelurilor redirecţionarea cacircnd abonatul nu este accesibil şi

definirea de grupuri icircnchise de utilizatori In afară de aceste servicii recomandarea GSM

0260 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 Proiect de diplomă SECTIA CALCULATOARE

244 Arhitectura GPRS

GPRS este o soluţie pentru operatori deoarece nu necesită modificări substanţiale icircn

reţeaua GSM Aşa cum se observă icircn figura 72 reţeaua nucleu a GPRS operează icircn paralel

cu GSM-NSS

Figura 23 Arhitectura reţelei GPRS

25 LabWindowsCVI

La dipecer am considerat un calculator desktop sau laptop pe care va rula o aplicaţie

de monitorizare a datelor măsurate implementată icircn LabWindowsCVI

LabWindowsCVI este o platformă pentru dezvoltare de software cu orientare pe

aplicaţii de instrumentaţie După cum se deduce din denumirea sa (CVI ndash 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 Icircmbină 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 Proiect de diplomă SECTIA CALCULATOARE

multiplele lui facilităţi icircl 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

bull Help on-line

bull Selectare şi declarare de variabile sau constante necesare

bull Execuţie interactivă

bull Inserarea funcţiei editate icircntr-un text sursă

Mediul este extrem de flexibil permiţacircnd interfaţarea bidirecţională cu alte compilatoare de

C sau C++ De asemenea se pot folosi şi DLL-uri

Puterea mediului LabWindowsCVI este dată de bibliotecile puse la dispoziţia

programatorului acestea conţinacircnd 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

bull de instrumente

bull pentru interfaţa GPIBGPIB 4882 (General Purpose Interface Bus)

bull pentru achiziţie de date

bull pentru operaţii IO icircn cazul achiziţiei de date

bull pentru interfaţa serială RS232

bull pentru sistemul VXI

Biblioteci specializate pentru analiza datelor

bull pentru IO

bull pentru formatarea specială

bull pentru analiză

bull pentru analiză avansată

Biblioteci specializate pentru vizualizare date

bull pentru crearea unei interfeţe utilizator de tip vizual

Biblioteci specializate pentru lucrul icircn reţea şi comunicarea icircntre diverse aplicaţii

bull pentru DDE (Dynamic Data Exchange)

bull pentru TCP (Transmision Control Protocol)

bull pentru sistemul X de sub Unix

Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

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

bull interfaţa cu utilizatorul

bull partea de control a aplicaţiei

bull partea specializată pentru achiziţia datelor

bull partea specializată icircn analiza respectivelor date

Mai jos prezentăm o schemă generică a aplicaţiilor CVI

Figura 24

Tipuri de fişiere folosite icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a unora dintre meniurile şi ferestrele mediului de dezvoltare CVI

Fereastra proiect

Prezentăm mai jos doar informaţiile suplimentare faţă de o fereastră proiect standard

Pe lacircngă datele curente despre fiecare fişier inclus icircn proiect acesta mai are precizat şi unul

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 icircn fişierul respectiv şi deci trebuie salvat

- C indică obligativitatea compilării respectivului fişier icircnainte de rularea aplicaţiei

- indică faptul că fişierul este deschis icircntr-o fereastră de editare

- indică ca acest fişier nu este deschis

Aplicaţii consolă

Pentru aplicaţiile tip consolă clasice C unde se folosesc pentru IO funcţiile scanf şi

printf vizualizarea ieşirii icircn mod text a acestora se va face icircntr-o fereastră specială numită

ldquoStandard InputOutput Windowrdquo

Observaţie Dacă se va programa icircn acest mod trebuie activată opţiunea ldquoBring Standard

InputOtput to front whenever modifyrdquo 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 cacircnd este activat evenimentele vor fi afişate icircn partea

dreaptă a barei de facilităţi

30

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a cacirctorva din meniurile mai importante ale generatorului

Menu Bars activează cutia de dialog care ne prezintă toate barele de meniu definite deja de

programator

Figura 25

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(fig26) permite specificarea sau modificarea caracteristicilor

unei bare de meniuri icircn curs de creare sau care există deja

31

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 26

Menu Bar Constant Prefix este identificatorul intern al respectivei bare de meniuri Acesta

va fi folosit de funcţia LoadMenuBar pentru icircncărcarea icircn memorie a parametrilor care conţin

această bară Va fi definit automat icircn fişierul header din scheletul de aplicaţie

Item se referă la numele meniului curentsubmeniucomandă de meniu Dacă icircn faţa primei

litere a unui element din meniu se adaugă 2 ldquounderscorerdquo 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 cacircnd 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 Proiect de diplomă SECTIA CALCULATOARE

ModifierKeyShortcutKey se combină pentru a ataşa o cheie ldquohotrdquo pentru elementul

curent

buton ce permite coboracircrea icircn interiorul unei ierarhii de meniuri

buton ce permite urcarea icircn interiorul unei ierarhii de meniuri

Panouri

După cum am spus sunt echivalentul ferestrelor din programarea Windows Pentru a le crea

Create1048774Panel ne pune la dispoziţie un nou panou icircn cadrul UIR-ului curent Prin dublu

ldquoclickrdquo pe acesta se va intra in fereastra de editare a caracteristicilor panoului Această

fereastră este prezentată mai jos

Figura 27

La partea de Menu Bar se poate specifica o bară din cele deja create icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 24: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

244 Arhitectura GPRS

GPRS este o soluţie pentru operatori deoarece nu necesită modificări substanţiale icircn

reţeaua GSM Aşa cum se observă icircn figura 72 reţeaua nucleu a GPRS operează icircn paralel

cu GSM-NSS

Figura 23 Arhitectura reţelei GPRS

25 LabWindowsCVI

La dipecer am considerat un calculator desktop sau laptop pe care va rula o aplicaţie

de monitorizare a datelor măsurate implementată icircn LabWindowsCVI

LabWindowsCVI este o platformă pentru dezvoltare de software cu orientare pe

aplicaţii de instrumentaţie După cum se deduce din denumirea sa (CVI ndash 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 Icircmbină 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 Proiect de diplomă SECTIA CALCULATOARE

multiplele lui facilităţi icircl 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

bull Help on-line

bull Selectare şi declarare de variabile sau constante necesare

bull Execuţie interactivă

bull Inserarea funcţiei editate icircntr-un text sursă

Mediul este extrem de flexibil permiţacircnd interfaţarea bidirecţională cu alte compilatoare de

C sau C++ De asemenea se pot folosi şi DLL-uri

Puterea mediului LabWindowsCVI este dată de bibliotecile puse la dispoziţia

programatorului acestea conţinacircnd 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

bull de instrumente

bull pentru interfaţa GPIBGPIB 4882 (General Purpose Interface Bus)

bull pentru achiziţie de date

bull pentru operaţii IO icircn cazul achiziţiei de date

bull pentru interfaţa serială RS232

bull pentru sistemul VXI

Biblioteci specializate pentru analiza datelor

bull pentru IO

bull pentru formatarea specială

bull pentru analiză

bull pentru analiză avansată

Biblioteci specializate pentru vizualizare date

bull pentru crearea unei interfeţe utilizator de tip vizual

Biblioteci specializate pentru lucrul icircn reţea şi comunicarea icircntre diverse aplicaţii

bull pentru DDE (Dynamic Data Exchange)

bull pentru TCP (Transmision Control Protocol)

bull pentru sistemul X de sub Unix

Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

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

bull interfaţa cu utilizatorul

bull partea de control a aplicaţiei

bull partea specializată pentru achiziţia datelor

bull partea specializată icircn analiza respectivelor date

Mai jos prezentăm o schemă generică a aplicaţiilor CVI

Figura 24

Tipuri de fişiere folosite icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a unora dintre meniurile şi ferestrele mediului de dezvoltare CVI

Fereastra proiect

Prezentăm mai jos doar informaţiile suplimentare faţă de o fereastră proiect standard

Pe lacircngă datele curente despre fiecare fişier inclus icircn proiect acesta mai are precizat şi unul

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 icircn fişierul respectiv şi deci trebuie salvat

- C indică obligativitatea compilării respectivului fişier icircnainte de rularea aplicaţiei

- indică faptul că fişierul este deschis icircntr-o fereastră de editare

- indică ca acest fişier nu este deschis

Aplicaţii consolă

Pentru aplicaţiile tip consolă clasice C unde se folosesc pentru IO funcţiile scanf şi

printf vizualizarea ieşirii icircn mod text a acestora se va face icircntr-o fereastră specială numită

ldquoStandard InputOutput Windowrdquo

Observaţie Dacă se va programa icircn acest mod trebuie activată opţiunea ldquoBring Standard

InputOtput to front whenever modifyrdquo 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 cacircnd este activat evenimentele vor fi afişate icircn partea

dreaptă a barei de facilităţi

30

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a cacirctorva din meniurile mai importante ale generatorului

Menu Bars activează cutia de dialog care ne prezintă toate barele de meniu definite deja de

programator

Figura 25

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(fig26) permite specificarea sau modificarea caracteristicilor

unei bare de meniuri icircn curs de creare sau care există deja

31

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 26

Menu Bar Constant Prefix este identificatorul intern al respectivei bare de meniuri Acesta

va fi folosit de funcţia LoadMenuBar pentru icircncărcarea icircn memorie a parametrilor care conţin

această bară Va fi definit automat icircn fişierul header din scheletul de aplicaţie

Item se referă la numele meniului curentsubmeniucomandă de meniu Dacă icircn faţa primei

litere a unui element din meniu se adaugă 2 ldquounderscorerdquo 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 cacircnd 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 Proiect de diplomă SECTIA CALCULATOARE

ModifierKeyShortcutKey se combină pentru a ataşa o cheie ldquohotrdquo pentru elementul

curent

buton ce permite coboracircrea icircn interiorul unei ierarhii de meniuri

buton ce permite urcarea icircn interiorul unei ierarhii de meniuri

Panouri

După cum am spus sunt echivalentul ferestrelor din programarea Windows Pentru a le crea

Create1048774Panel ne pune la dispoziţie un nou panou icircn cadrul UIR-ului curent Prin dublu

ldquoclickrdquo pe acesta se va intra in fereastra de editare a caracteristicilor panoului Această

fereastră este prezentată mai jos

Figura 27

La partea de Menu Bar se poate specifica o bară din cele deja create icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 25: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

multiplele lui facilităţi icircl 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

bull Help on-line

bull Selectare şi declarare de variabile sau constante necesare

bull Execuţie interactivă

bull Inserarea funcţiei editate icircntr-un text sursă

Mediul este extrem de flexibil permiţacircnd interfaţarea bidirecţională cu alte compilatoare de

C sau C++ De asemenea se pot folosi şi DLL-uri

Puterea mediului LabWindowsCVI este dată de bibliotecile puse la dispoziţia

programatorului acestea conţinacircnd 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

bull de instrumente

bull pentru interfaţa GPIBGPIB 4882 (General Purpose Interface Bus)

bull pentru achiziţie de date

bull pentru operaţii IO icircn cazul achiziţiei de date

bull pentru interfaţa serială RS232

bull pentru sistemul VXI

Biblioteci specializate pentru analiza datelor

bull pentru IO

bull pentru formatarea specială

bull pentru analiză

bull pentru analiză avansată

Biblioteci specializate pentru vizualizare date

bull pentru crearea unei interfeţe utilizator de tip vizual

Biblioteci specializate pentru lucrul icircn reţea şi comunicarea icircntre diverse aplicaţii

bull pentru DDE (Dynamic Data Exchange)

bull pentru TCP (Transmision Control Protocol)

bull pentru sistemul X de sub Unix

Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

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

bull interfaţa cu utilizatorul

bull partea de control a aplicaţiei

bull partea specializată pentru achiziţia datelor

bull partea specializată icircn analiza respectivelor date

Mai jos prezentăm o schemă generică a aplicaţiilor CVI

Figura 24

Tipuri de fişiere folosite icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a unora dintre meniurile şi ferestrele mediului de dezvoltare CVI

Fereastra proiect

Prezentăm mai jos doar informaţiile suplimentare faţă de o fereastră proiect standard

Pe lacircngă datele curente despre fiecare fişier inclus icircn proiect acesta mai are precizat şi unul

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 icircn fişierul respectiv şi deci trebuie salvat

- C indică obligativitatea compilării respectivului fişier icircnainte de rularea aplicaţiei

- indică faptul că fişierul este deschis icircntr-o fereastră de editare

- indică ca acest fişier nu este deschis

Aplicaţii consolă

Pentru aplicaţiile tip consolă clasice C unde se folosesc pentru IO funcţiile scanf şi

printf vizualizarea ieşirii icircn mod text a acestora se va face icircntr-o fereastră specială numită

ldquoStandard InputOutput Windowrdquo

Observaţie Dacă se va programa icircn acest mod trebuie activată opţiunea ldquoBring Standard

InputOtput to front whenever modifyrdquo 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 cacircnd este activat evenimentele vor fi afişate icircn partea

dreaptă a barei de facilităţi

30

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a cacirctorva din meniurile mai importante ale generatorului

Menu Bars activează cutia de dialog care ne prezintă toate barele de meniu definite deja de

programator

Figura 25

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(fig26) permite specificarea sau modificarea caracteristicilor

unei bare de meniuri icircn curs de creare sau care există deja

31

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 26

Menu Bar Constant Prefix este identificatorul intern al respectivei bare de meniuri Acesta

va fi folosit de funcţia LoadMenuBar pentru icircncărcarea icircn memorie a parametrilor care conţin

această bară Va fi definit automat icircn fişierul header din scheletul de aplicaţie

Item se referă la numele meniului curentsubmeniucomandă de meniu Dacă icircn faţa primei

litere a unui element din meniu se adaugă 2 ldquounderscorerdquo 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 cacircnd 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 Proiect de diplomă SECTIA CALCULATOARE

ModifierKeyShortcutKey se combină pentru a ataşa o cheie ldquohotrdquo pentru elementul

curent

buton ce permite coboracircrea icircn interiorul unei ierarhii de meniuri

buton ce permite urcarea icircn interiorul unei ierarhii de meniuri

Panouri

După cum am spus sunt echivalentul ferestrelor din programarea Windows Pentru a le crea

Create1048774Panel ne pune la dispoziţie un nou panou icircn cadrul UIR-ului curent Prin dublu

ldquoclickrdquo pe acesta se va intra in fereastra de editare a caracteristicilor panoului Această

fereastră este prezentată mai jos

Figura 27

La partea de Menu Bar se poate specifica o bară din cele deja create icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 26: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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

bull interfaţa cu utilizatorul

bull partea de control a aplicaţiei

bull partea specializată pentru achiziţia datelor

bull partea specializată icircn analiza respectivelor date

Mai jos prezentăm o schemă generică a aplicaţiilor CVI

Figura 24

Tipuri de fişiere folosite icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a unora dintre meniurile şi ferestrele mediului de dezvoltare CVI

Fereastra proiect

Prezentăm mai jos doar informaţiile suplimentare faţă de o fereastră proiect standard

Pe lacircngă datele curente despre fiecare fişier inclus icircn proiect acesta mai are precizat şi unul

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 icircn fişierul respectiv şi deci trebuie salvat

- C indică obligativitatea compilării respectivului fişier icircnainte de rularea aplicaţiei

- indică faptul că fişierul este deschis icircntr-o fereastră de editare

- indică ca acest fişier nu este deschis

Aplicaţii consolă

Pentru aplicaţiile tip consolă clasice C unde se folosesc pentru IO funcţiile scanf şi

printf vizualizarea ieşirii icircn mod text a acestora se va face icircntr-o fereastră specială numită

ldquoStandard InputOutput Windowrdquo

Observaţie Dacă se va programa icircn acest mod trebuie activată opţiunea ldquoBring Standard

InputOtput to front whenever modifyrdquo 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 cacircnd este activat evenimentele vor fi afişate icircn partea

dreaptă a barei de facilităţi

30

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a cacirctorva din meniurile mai importante ale generatorului

Menu Bars activează cutia de dialog care ne prezintă toate barele de meniu definite deja de

programator

Figura 25

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(fig26) permite specificarea sau modificarea caracteristicilor

unei bare de meniuri icircn curs de creare sau care există deja

31

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 26

Menu Bar Constant Prefix este identificatorul intern al respectivei bare de meniuri Acesta

va fi folosit de funcţia LoadMenuBar pentru icircncărcarea icircn memorie a parametrilor care conţin

această bară Va fi definit automat icircn fişierul header din scheletul de aplicaţie

Item se referă la numele meniului curentsubmeniucomandă de meniu Dacă icircn faţa primei

litere a unui element din meniu se adaugă 2 ldquounderscorerdquo 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 cacircnd 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 Proiect de diplomă SECTIA CALCULATOARE

ModifierKeyShortcutKey se combină pentru a ataşa o cheie ldquohotrdquo pentru elementul

curent

buton ce permite coboracircrea icircn interiorul unei ierarhii de meniuri

buton ce permite urcarea icircn interiorul unei ierarhii de meniuri

Panouri

După cum am spus sunt echivalentul ferestrelor din programarea Windows Pentru a le crea

Create1048774Panel ne pune la dispoziţie un nou panou icircn cadrul UIR-ului curent Prin dublu

ldquoclickrdquo pe acesta se va intra in fereastra de editare a caracteristicilor panoului Această

fereastră este prezentată mai jos

Figura 27

La partea de Menu Bar se poate specifica o bară din cele deja create icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 27: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a unora dintre meniurile şi ferestrele mediului de dezvoltare CVI

Fereastra proiect

Prezentăm mai jos doar informaţiile suplimentare faţă de o fereastră proiect standard

Pe lacircngă datele curente despre fiecare fişier inclus icircn proiect acesta mai are precizat şi unul

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 icircn fişierul respectiv şi deci trebuie salvat

- C indică obligativitatea compilării respectivului fişier icircnainte de rularea aplicaţiei

- indică faptul că fişierul este deschis icircntr-o fereastră de editare

- indică ca acest fişier nu este deschis

Aplicaţii consolă

Pentru aplicaţiile tip consolă clasice C unde se folosesc pentru IO funcţiile scanf şi

printf vizualizarea ieşirii icircn mod text a acestora se va face icircntr-o fereastră specială numită

ldquoStandard InputOutput Windowrdquo

Observaţie Dacă se va programa icircn acest mod trebuie activată opţiunea ldquoBring Standard

InputOtput to front whenever modifyrdquo 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 cacircnd este activat evenimentele vor fi afişate icircn partea

dreaptă a barei de facilităţi

30

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a cacirctorva din meniurile mai importante ale generatorului

Menu Bars activează cutia de dialog care ne prezintă toate barele de meniu definite deja de

programator

Figura 25

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(fig26) permite specificarea sau modificarea caracteristicilor

unei bare de meniuri icircn curs de creare sau care există deja

31

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 26

Menu Bar Constant Prefix este identificatorul intern al respectivei bare de meniuri Acesta

va fi folosit de funcţia LoadMenuBar pentru icircncărcarea icircn memorie a parametrilor care conţin

această bară Va fi definit automat icircn fişierul header din scheletul de aplicaţie

Item se referă la numele meniului curentsubmeniucomandă de meniu Dacă icircn faţa primei

litere a unui element din meniu se adaugă 2 ldquounderscorerdquo 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 cacircnd 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 Proiect de diplomă SECTIA CALCULATOARE

ModifierKeyShortcutKey se combină pentru a ataşa o cheie ldquohotrdquo pentru elementul

curent

buton ce permite coboracircrea icircn interiorul unei ierarhii de meniuri

buton ce permite urcarea icircn interiorul unei ierarhii de meniuri

Panouri

După cum am spus sunt echivalentul ferestrelor din programarea Windows Pentru a le crea

Create1048774Panel ne pune la dispoziţie un nou panou icircn cadrul UIR-ului curent Prin dublu

ldquoclickrdquo pe acesta se va intra in fereastra de editare a caracteristicilor panoului Această

fereastră este prezentată mai jos

Figura 27

La partea de Menu Bar se poate specifica o bară din cele deja create icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 28: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scurtă descriere a cacirctorva din meniurile mai importante ale generatorului

Menu Bars activează cutia de dialog care ne prezintă toate barele de meniu definite deja de

programator

Figura 25

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(fig26) permite specificarea sau modificarea caracteristicilor

unei bare de meniuri icircn curs de creare sau care există deja

31

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 26

Menu Bar Constant Prefix este identificatorul intern al respectivei bare de meniuri Acesta

va fi folosit de funcţia LoadMenuBar pentru icircncărcarea icircn memorie a parametrilor care conţin

această bară Va fi definit automat icircn fişierul header din scheletul de aplicaţie

Item se referă la numele meniului curentsubmeniucomandă de meniu Dacă icircn faţa primei

litere a unui element din meniu se adaugă 2 ldquounderscorerdquo 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 cacircnd 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 Proiect de diplomă SECTIA CALCULATOARE

ModifierKeyShortcutKey se combină pentru a ataşa o cheie ldquohotrdquo pentru elementul

curent

buton ce permite coboracircrea icircn interiorul unei ierarhii de meniuri

buton ce permite urcarea icircn interiorul unei ierarhii de meniuri

Panouri

După cum am spus sunt echivalentul ferestrelor din programarea Windows Pentru a le crea

Create1048774Panel ne pune la dispoziţie un nou panou icircn cadrul UIR-ului curent Prin dublu

ldquoclickrdquo pe acesta se va intra in fereastra de editare a caracteristicilor panoului Această

fereastră este prezentată mai jos

Figura 27

La partea de Menu Bar se poate specifica o bară din cele deja create icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 29: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 26

Menu Bar Constant Prefix este identificatorul intern al respectivei bare de meniuri Acesta

va fi folosit de funcţia LoadMenuBar pentru icircncărcarea icircn memorie a parametrilor care conţin

această bară Va fi definit automat icircn fişierul header din scheletul de aplicaţie

Item se referă la numele meniului curentsubmeniucomandă de meniu Dacă icircn faţa primei

litere a unui element din meniu se adaugă 2 ldquounderscorerdquo 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 cacircnd 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 Proiect de diplomă SECTIA CALCULATOARE

ModifierKeyShortcutKey se combină pentru a ataşa o cheie ldquohotrdquo pentru elementul

curent

buton ce permite coboracircrea icircn interiorul unei ierarhii de meniuri

buton ce permite urcarea icircn interiorul unei ierarhii de meniuri

Panouri

După cum am spus sunt echivalentul ferestrelor din programarea Windows Pentru a le crea

Create1048774Panel ne pune la dispoziţie un nou panou icircn cadrul UIR-ului curent Prin dublu

ldquoclickrdquo pe acesta se va intra in fereastra de editare a caracteristicilor panoului Această

fereastră este prezentată mai jos

Figura 27

La partea de Menu Bar se poate specifica o bară din cele deja create icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 30: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ModifierKeyShortcutKey se combină pentru a ataşa o cheie ldquohotrdquo pentru elementul

curent

buton ce permite coboracircrea icircn interiorul unei ierarhii de meniuri

buton ce permite urcarea icircn interiorul unei ierarhii de meniuri

Panouri

După cum am spus sunt echivalentul ferestrelor din programarea Windows Pentru a le crea

Create1048774Panel ne pune la dispoziţie un nou panou icircn cadrul UIR-ului curent Prin dublu

ldquoclickrdquo pe acesta se va intra in fereastra de editare a caracteristicilor panoului Această

fereastră este prezentată mai jos

Figura 27

La partea de Menu Bar se poate specifica o bară din cele deja create icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 31: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Crearea controalelor

Exceptacircnd diferenţele care apar funcţie de destinaţia acestora există o serie de parametri

comuni fiecărui control pe care icircl creăm Mai jos prezentăm fereastra care apare de exemplu

la crearea unui control de tip numeric şi anume un buton

Figura 28

Se observă că identificatorul intern şi posibilitatea de ataşare a unei funcţii de răspuns

rămacircne De asemenea o serie de informaţii specifice părţii de etichetare Icircn plus apar

specificaţii privind modul de afişare a datelor şi limitele icircntre care acestea pot fi variate prin

intermediul acestui control

34

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 32: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

TAB ORDER

Fiecare control de pe un panou activ are o poziţie icircn ordinea de salt prin intermediul

unui tab Această ordine precizează care va fi următorul control ce va fi activat icircn cazul icircn

care utilizatorul apasă Tab sau Shift+Tab Implicit acestea sunt adăugate exact icircn ordinea

creării lor de către programator Numai că nu icircntotdeauna aceasta este ordinea de salt dorită a

fi activă la terminarea aplicaţiei Icircn aceste condiţii secvenţa Edit1048774Tab Order ne va activa un

panou specializat pentru aceasta

Figura 29

noua formă de cursor activă icircn 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 Icircn

cadrul unor proiecte mari se dovedeşte a fi extrem de utilă

35

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 33: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 210

După cum se observă ne permite căutarea după dorinţă a unui nume icircn diverse categorii de

obiecte ale interfeţei cu utilizatorul

GENERATE

Este meniul folosit pentru generarea fie a icircntregului cod schelet fie numai a codului

corespunzător unui obiect proaspăt introdus icircntr-un UIR

Secvenţa Code1048774Generate1048774AllCode va genera codul schelet pentru aplicaţie Acesta va

conţine şi un ldquoswitchrdquo pentru tratarea evenimentelor Alegerea evenimentelor care vor fi

automat introduse se face din Code1048774Preferences

MENIUL ARRANGE

Icircncă de la primele aplicaţii vom observa că una din operaţiile mari consumatoare de

timp este aranjarea controalelor icircn 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 211

Top Edges asigură spaţiere verticală icircntre 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 Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 34: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Vertical Centers asigură spaţiere verticală icircntre centrele controalelor Cel mai de sus

şi cel mai de jos control sunt considerate puncte de referinţă

Bottom Edges asigură spaţiere verticală icircntre 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ă icircntre 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 icircntre marginile din stacircnga ale controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Centers setează spaţii orizontale egale icircntre centrele controalelor Cel

mai

de sus şi cel mai de jos control sunt considerate puncte de referinţă

Right Edges setează spaţii orizontale egale icircntre marginile din dreapta ale

controalelor

Cel mai de sus şi cel mai de jos control sunt considerate puncte de referinţă

Horizontal Gap spaţiere orizontală icircntre 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

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 Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 35: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Control Zplane Order

Ordinea icircn 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 icircn toate cazurile etichetele unui control sunt centrate icircn raport cu acesta o metodă

ar fi deplasarea manuală etichetei icircn 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 Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 36: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3Arhitectura sistemului

31 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 (icircn cazul de faţă VODAFONE) Acest serviciu este folosit icircn

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

Intrare analogică icircntre 0-2 V

interfaţă GPIO

interfaţă serială RS232

Modemurile transmit informaţiile corespunzătoare către calculatorul central la

intervale de timp prestabilite ţinacircnd 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 icircn

LabWindowsCVI care pe lacircngă preluarea datelor asigură şi vizualizarea şi arhivarea datelor

Schema bloc a sistemului este prezentată icircn figura 31

39

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 37: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 31 Schema bloc a sistemului

32 Funcţiile sistemului

321 Funcţii de măsurare

Măsurarea informaţiilor se face cu ajutorul senzorilor Acestia sunt specifici icircn

funcţie de natura infomaţiei măsurate Am utilizat urmatorii senzori

3211 Multimetru Digital Protek 506

Introducere

Acest aparat este un multimetru digital (care joacă rolul unui bdquomultisenzorrdquo) de icircnaltă

performaţă cu multe funcţii indispensabile pentru măsurătorile electrice şi electronice Toate

funcţiile au fost proiectate pentru o utilizare cacirct mai simplă asiguracircnd o acomodare rapidă cu

multiple posibilităţi de măsurare ale acestui multimetru

40

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 38: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Operarea tastelor

Tasta ONOFF

Dacă aparatul nu este folosit pentru o perioadă mai icircndelungată este recomandabilă

oprirea de la acest buton decacirct să depindem de funcţia de oprire automată care poate

determina descărcarea bateriei dacă aparatul rămacircne pornit pentru mai mult de aproximativ

două luni

Tasta MENU

Se apasă o singură dată pentru a intra icircn modul meniu Dacă se ţine tasta apăsată

pentru mai mult de o secundă se iese din acest mod Prin intrarea icircn modul meniu toate

indicatoarele sunt aprinse şi doar cel de la poziţia cursorului va clipi rapid in timp ce

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ămacircne singura afişată pe ecran celelalte dispăracircnd exceptacircnd funcţiile KEEP

ON şi RS232

Tasta TIME

Această tastă este folosită pentru alegerea funcţiei stabilizatoare Prin apăsarea ei icircn

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 icircn modul anterior normal Tastele bdquosusrdquo şi bdquojosrdquo

sunt folosite pentru a porni pentru a porni temporizatorul icircn numărare directă sau inversă

Atingerea 95959 respectiv 00000 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 stacircnga va clipi Prin

apăsarea tastelor bdquosusrdquo sau bdquojosrdquo 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ămacircne neschimbată)

Tasta RANGE

Această tasta este folosită pentru trecerea din modul cu selectare automată a

domeniului la selectarea manuală Icircn 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 Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 39: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Automată (implicit la pornirea automatului)

Manuală după apăsarea tastei range

La prima apăsare a tastei se trece icircn modul de selecţie manuală a domeniului poziţionat icircn

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 icircn modul de selectare automată

Tasta HOLD

Această tastă este utilizată pentru a bdquoicircngheţardquo valoarea afişată icircn momentul apăsării Icircn

modurile temporizator sau memorie această este folosită pentru selectarea unor funcţii Cu

tasta apăsată indicatorul bdquoholdrdquo este aprins iar secţiunea secundară a ecranului va afişa

valoarea măsurată curentă La o nouă apăsare pe tastă se revine icircn 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 cacircnd este necesar

Funcţii meniu

MAXMINMED

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ă icircn partea

principală a ecranului iar cea curentă icircn partea secundară Asemanător icircn modurile MIN şi

MED Aceste funcţii pot fi folosite numai icircntr-un domeniu fix care trebuie anterior selectat

manual Dacă se atinge minimul sau maximul domeniului (-3999 respectiv 3999) această

valoare va fi afişată icircn locul bdquoOLrdquo Icircn modul MED aparatul calculează media tuturor

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

Pacircnă la zece măsurători pot fi oricacircnd stocatememorate icircndin 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

42

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 40: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

sau readucere Memmoria nr bdquo0rdquo 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 bdquo-rdquo va clipi Dacă se apasă enter indicatorul bdquo-rdquo va

rămacircne in starea selectată şi următorul digit va clipi Astfel poate fi introdusă orice cifră prin

tastele sus şi jos La sfacircrşit memoria bdquo0rdquo va clipi din nou Se poate trece la alte locaţii de

memorie cu tastele susjos sua se poate ieşi din modul de măsurare cu tasta menu Celelalte

locaţii de memorie executacircnd bdquo0rdquo sunt folosite pentru a stoca valori măsurate Oricacircnd este

apăsataă tasta enter locaţia de memorie este suprascrisă cu valoare măsurată curentă Icircn

modul de readucere din memorie cele 10 locaţii pot fi rechemate oricacircnd Cele 10 valori

memorate nu vor fi şterse nici icircn cazul opririi automate

Funcţionare continuă

Cacircnd aparatul trebuie folosit continuu pentru mai mult de 30 de minute funcţia de

oprire automată trebuie dezactivată trecacircnd icircn modul de funcţionare continuă prin deplasarea

deplasarea cursorului cu tasta menu şi selectare cu tasta enter Indicatorul de funcţionare

continuă va rămacircne 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ămacircnacircnd activ indiferent de schimbările de mod

prin taste sau selectorul rotativ

Metoda de măsurare

Măsurarea se face prin conversia analognumerică rezoluţia de numărare fiind de

4000

3212 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 icircn grade Celsius Ieşirea

are impedanţa scazută este liniară şi precizia implicită de calibrare simplifică interfaţa de

citire a ieşirii

43

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 41: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 32

Caracteristici generale Calibrat direct in degC factor de scala liniar +10 mV degC

masurarea temperaturii in intervalul -55 degC cedil +125 degC tensiune de alimentare intre 4cedil30 V şi

un curent de 60 microV impedanta de ieşire 01 Ω pentru un curent de incarcare de 1 mA propria

incalzire introdusa este de 008 degC in aer

3213 Senzor de direcţie

Senzorul de direcţie NRG 200P este un senzor standard industrial folosit icircn lumea

icircntreagă Componentele din plastic rezistent la temperatură şi din oţel inoxidabil rezistă la

coroziuni

Figura 33

44

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 42: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 cacircnd se injectează un

curent de 02 mA pe potenţiometru Formula de calcul este următoarea

Direcţie vacircnt = V aloarecitit ălowast360

1800

322 Funcţii de transmitere a datelor

Pentru transmisia datelor am folosit mai multe modemuri inteligente produse de firma

italiană Telit

3221 Modemuri utilizate

Telit GE863-GPSEZ-10

45

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 43: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 34

Figura 35

Modem GE863-GPS Modem EZ-10

Extensia Easy Script este o trăsătură care permite comandarea internă modemului

scrierea aplicaţiei de control icircntr-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 intrareieşire şi modulul prin intermediul

interfeţei de comenzi AT

O asemenea configuraţie se poate reprezenta schematic după cum urmează

46

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 44: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 36

Pentru a elimina controlerul extern (EXTERNAL CONTROLLER) şi mai mult pentru

a simplifica programarea secvenţei de operaţii sunt incluse urmatoarele elemente

Dispozitiv de interpretare a scripturilor Python (vers 152+)

O memorie non volatilă de 3 Mb pentru scripturile şi datele utilitator

O memorie RAM de 1215 Mb rezervată pentru utilizarea interpretorului

Python

O reprezentare schematică ar fi următoarea

47

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 45: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 37

3222Descrierea de implementare icircn python

Scripturile Python sunt fisiere text memorate in memoria non volatilă a modulului

Telit Este prezent un sistem de fişiere icircn 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 icircn interiorul

modulului Telit la cel mai scăzut nivel de prioritate asiguuracircndu-se prin aceasta că nu se

suprapune cu operaţiile normale GSMGPRS Acest lucru permite porturilor seriale

protocoalelor de stivă etc să ruleze independent faţă de script-urile Python

48

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 46: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Scriptul Pythin interacţioneză cu funcţionalitatea modulului Telit prin patru interfeţe

interne

Figura 37 Structura internă modem GE863-GPS

49

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 47: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 38 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 icircn 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ţă nu este a unui port serial

real este doar o legătură software internă intre Python şi dispozitivul intern de macircnuire a

comenzilor AT Toate comenzile AT care funcţionează icircn cazul modulului Telit

funcţionează şi in această interfaţă internă la fel de bine

MDM2 este a doua interfaţă icircntre Python şi dispozitivul intern şi mobil de macircnuire 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 cacircnd clasica interfaţă MDM este deja ocupată

50

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 48: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 Cacircnd Python rulează acest port serial este disponibil

pentru a fi folosit de un script Python deoarece nu este folosit ca o interfaţă de comenzi

AT pentru că parserul de comenzi AT este mapat intr-un port serial virtul intern Nu este

disponibil nici un control al fluxului pe acest port

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 eliminacircnd faza de parsare a comenzilor şi

trecacircnd 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 icircn 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)

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 furnizacircnd valori in intervalul 0 ndash 1023 Pentru acest lucru este necesară

o filtrare

MIN MAX UNITĂŢI

Interval de tensiune

(filtrat)

0 26 volţi

Interval 0 1023 Paşi

51

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 49: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 = 2valoare1023

Este dinponibilă o comandă AT pentru utilizarea funcţiei DAC

Comanda este

ATDAC=ltenablegtltvaluegt

Parametri

o ltenablegt seteză ieşirea DAC pe enabledisable poate lua valorile 0 sau 1

0=disable este icircn stare de inaltă impedanţă (setat implicit din fabrică)

1=enable reprezintă ieşirea corespunzătoare care se transmite

o ltvaluegt 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 icircn intervalul 0-2V aplicat pe pinul de intrare ADC pe care icircl memorează şi icircl

converteşte icircntr-un cuvacircnt pe 11 biţi

MIN MAX UNITĂŢI

Interval

tensiune intrare

0 2 volţi

Conversie AD - 11 Biţi

Rezoluţie - lt1 mV

Este dinponibilă o comandă AT pentru utilizarea funcţiei ADC

52

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 50: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Comanda este

ATADC=12

Parametri 1 reprezintă tipul modului folosit

2 interoghează modemul pentru valoare ADC

Valoarea returnată reprezintă o tensiune măsurată icircn mV

323 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 icircngloba in orice context chiar dacă in

soluţia propusă in această lucrare sunt supravegheate cacircteva marimi concrete

Aceste mărimi ( temperatură direcţia vacircntului ş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 icircn sensul vizualizării ultimelor

100 de valori recepţionate in forma grafică sau poate vizualiza comportamentul marimii

respective dintr-o zi anume

4 Proiectarea icircn detaliu

53

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 51: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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ă icircn 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

41 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

411 Implmentare Python

Fiecare modem contine un script implementat in Python Acest script realizează

urmatoarele functii

4111Funcţie de iniţializare a modemului

Icircn această funcţie se introduce codul PIN pentru cartela SIM din fiecare modem

Instrucţiunea care face acest lucru este

MDMsent(lsquoAT+CPIN=1234rrsquo20)

După introducerea codului PIN se configurează contextul PDP (Packet Data Protocol)

cu următoarea instrucţiune

54

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 52: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

MDMsend(AT+CGDCONT=1IPAPNr20)

Unde

1 - indentificator de context PDP

IP ndash specifică tipul protocolului (IP sau PPP)

APN - Acces Point Name

Urmează definirea utilizatorului şi a parolei

MDMsent(lsquoATUSERID=rdquoutilizatorrdquorrsquo20)

MDMsent(lsquoATPASSW=rdquoparolardquorrsquo20)

Pentru a realiza conexiunea la reţeaua GPRS se utilizează următoarea comandă

MDMsent(lsquoATGPRS=1rrsquo20)

4112 Funcţie de citire a timpului

Această funcţie citeşte timpul furnizat de modem cu ajutorul instrucţiunilor

MDMsend(at+cclkr30)

timp=MDMreceive(10)

Formatul in care modemul returnează timpul este

YYYYMMDD HHMMSSTimeZone

format reţinut icircn variabila timp de tip string Dup ace se obţine minutul şi secunda icircn

variabile separate de tip string se converteşte icircn 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

4113 Funcţie de citire date

Felul in care se citesc datele depinde de modul icircn care senzorul transmite datele

Interfaţă ADC

Pentru a citi datele prin interfaţa ADC se foloseşte următoarele instrucţiuni

MDMsend(ATADC=12r20)

Val_ADC=MDMreceive(20)

Formatul icircn care modemul returnează valoarea ADC este

ADC 289

OK

55

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 53: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

format reţinut in variabila Val_ADC de unde este prelucrat pentru a obţine valoarea

289 icircn cazul de faţă Această valoare este exprimată icircn milivolţi

Interfaţa SER

Pentru a citi datele prin interfaţa SER primul pas este setarea vitezei de transmisie a

portului serial

SERset_speed=(lsquo9600rsquo) pentru modelul GE863-GPS

SERset_speed=(lsquo9600rsquorsquo8N1rsquo) pentru modelul EZ-10

Pentru a transmite şi recepţiona date se folosesc comenzile

SERsend(lsquomesajrsquo)

Val_SER=SERreceive(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 icircn acest sens

GPIOsetIOvalue(GPIOnumber value)

GPIOgetIOvalue(GPIOnumber)

Pentru a seta direcţia pinilor GPIO (intrareieşire) se folosesc următoarele instruţiuni

GPIOsetIOdir(GPIOnumber value direction)

GPIOgetIOdir(GPIOnumber)

4114 Funcţie de transmitere date

Icircn prima fază aceată funcţie realizează generarea mesajului care conţine datele de

transmis icircn următoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

unde

NrModem ndash Identificatorul modemului

NumeModem ndash Denumirea modemului

Timp ndash Data şi ora la care s-au citit parametri

IdParam1 ndash tipul primului senzor

ValParam1 ndash valoarea citită de la primul senzor

IdParam2ndash tipul celul de al doilea senzor

56

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 54: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

ValParam2 ndash valoarea citită de la cel de al doilea senzor

Următoarea fază este conectrea la calculatorul central Acest lucru se face prin

instrucţiunea

MDMsend(ATSKTD=Tip_SocketRemote_PortRemote addresr50)

unde

Tip_Socket ndash tipul socketului (0 pentru TCP 1 pentru UDP)

Remote_Port ndash Numarul portului utilizat

Remote addres ndash 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

MDMsend(mesaj70)

după care se inchide conexiunea prin

MDMsend(lsquo+++rsquo20)

Schema logica a implementării programului Python este

57

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 55: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 41 Scema logica a programului Python

42 Implementare la nivel de Server

58

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 56: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

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 42

421 Comunicaţia Client-Server

59

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 57: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Funcţiile implementate pentru a realiza comunicaţia icircntre 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 TCPIP prin apelul funcţiei ServerCallback afişează panelul principal şi la ieşire

deconectează clienţii şi opreşte serverul TCPIP

Funcţia ServerCallback

Funcţia ServerCallback se apelează icircn trei cazuri icircn funcţie de un anumit parametru

1 Cacircnd se conectează un nou client

2 Cacircnd se deconectează un client

3 Cacircnd se recepţioneză date de la un client

1 Cacircnd un nou client se conectează funcţia ServerCallback apelează funcţia ConnectClient

Această funcţie

generează structura de date pentru client

citeşte adresa IP a clientului salvează icircn structură

generează un thread separat pentru client prin apelul funcţiei

ClientThreadFunction

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 Cacircnd se deconectează un client funcţia ServerCallback apelează funcţia DisconnecttClient

care deconecteză clientul prin apelul funcţiei Disconnect care

opreşte threadul clientului

eliberează threadul

deconecteză clientul

sterge din lista clinţilor conectaţi

eliberază structura de date din memorie

60

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 58: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

3 Cacircnd 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

422 Interpretarea datelor de către server

Icircn continuare se face prelucrarea mesajului recepţionat Orice mesaj recepţionat de

server are urmatoarea formă

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

După ce s-a recepţionat mesajul se desface acest mesaj pentru a putea afisa doar informaţiile

necesare icircn locurile corespunzătoare in funcţie de amplasarea caracterului bdquo_rdquo astefel avem

urmatoarele segmente NrModemNumeModem Timp IdParam1ValParam1

IdParam2ValParam2

Icircn continuare se prelucrază fiecare segment icircn parte după caracterul bdquordquo

La prima conectare a unui client aplicaţia generează elementele de vizualizare cu

parametrii clientului respectiv după cum se vede icircn figura de mai jos

Fig 43

Icircn momentul generării idenificatorul clientului icircmpreună cu elementele generate

acestea sunt salvate icircn structura modemului

La o transmisie ulterioară cacircnd clientul este deja conectat procesul de generare a

elementelor de vizualizare nu se mai realizează facacircndu-se doar reicircmprospătarea

informaţiilor

61

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 59: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

423 Interfaţa grafică

Interfaţa grafică cu utilizatorul este concepută diamic icircn sensul că icircn 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 icircn momentul actual sunt o temperatură măsurată de

un senzor de temperatură direcţia vacircntului masurată cu un intrument corespunzător o

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 icircl cunoaşte calculatorul central La icircntacirclnirea

acestui format interfaţa va genera automat o fereastră cu informaţiile corespunzătoare

Figura 44

Icircn cazul in care utilizatorul doreşte să vizualizeze comportamentul mărimii măsurate

se apasă butonul Diagrame şi apare o fereastră care prezintă icircn mod grafic evoluţia

parametrilor

62

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 60: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 45

424 Arhivarea datelor

După afişarea datelor aplicaţia salvează datele icircn 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 Icircn acest director va

genera cacircte un subdirector pentru fiecare client ţinacircnd cont de identificatorul si numele

clientului icircn care va crea un fişier separat pentru fiecare zi conţinacircnd infotmaţiile din ziua

respectivă(fig 353)

63

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 61: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 46

Beneficiind de aceste informaţii din fişierele generate se poate vizualiza arhivele

generate icircn format grafic prin apăsarea pe butonul arhive Cand se apasa pe acest buton apare

o fereastră icircn care utilizatorul selectează modemul dorit data şi parametrul după care se apasă

butonul Afişare

64

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 62: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Figura 47

43 Scalabilitatea sistemului

Icircn lume la ora actuală se pune un puternic accent pe scalabilitatea sistemelor Ţinacircnd

cont de acest lucru am rezolvat această problemă a scalabilităţii icircn sensul ca aplicaţia permite

icircn 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

NrModemNumeModem_Timp_IdParam1ValParam1_ IdParam2ValParam2

65

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 63: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

După ce datele au fost prelucrate icircn 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 restul

informaţiilor primite vor fi afişate corespunzător pe acest element

66

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 64: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

5 Instalare unelte soft

51 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

httpjimdgrayassoccomINSTALLING20PYTHONWIN20ON20WINDOWS20PCzip Pentru 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 icircn directorul CProgram FilesPython

Figura 51

67

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 65: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

52 Instalare LabWindowsCVI

Figura 52

68

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 66: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Fig 53

69

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 67: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

6Concluzii

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 51)

Figure 61 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

70

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 68: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

7 Bibliografie

[1] R Cazan L Chirila A Marichescu - RTU-s inteligence evolution

[2] Cristina Grabiela Saracin Marin Saracin Vasile Valentin Golea ndash Măsurări Electricee şi

Electronice ndash Ed Matrixrom 2005

[3] Heine Gunnar Holger Sagkob - GPRS Gateway to Third Generation Mobile Networks-

Published By Artech House 2003

[4] Conf Dr Ing Octavian Fratu -Comunicaţii Mobile Digitale Sistemul GPRS ndash 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 curslaborator - Introducere icircn mediul de programare LabWindowsCVI

[8] httpenwikipediaorgwikiMachine_to_Machine - M2M

[9] Easy Script in Python - Documentaţie asigurată de producător

71

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72

Page 69: Retea de senzori

UNIVERSITATEA TEHNICA CLUJ NAPOCA

FACULTATEA DE AUTOMATICA SI CALCULATOARE Proiect de diplomă SECTIA CALCULATOARE

Anexe

DVD-ul ataşat Proiectului de diplomă cuprinde anexele- Documentaţia icircn format electronic care se găseste in diretorul

bdquoDocumnetaţierdquo- Aplicaţia care se găseşte icircn directorul bdquoSurse diplomărdquo

72