utilizarea terminalelor inteligente mobile la controlul aplicatiilor

Transcription

utilizarea terminalelor inteligente mobile la controlul aplicatiilor
UNIVERSITATEA TRANSILVANIA DIN BRAŞOV
Facultatea de Inginerie Electrică şi Ştiinţa
Calculatoarelor
UTILIZAREA TERMINALELOR
INTELIGENTE MOBILE LA CONTROLUL
APLICATIILOR INDUSTRIALE
TEZĂ DE DOCTORAT
SMART MOBILE TERMINALS USED IN THE
INDUSTRIAL APPLICATIONS CONTROL
ABSTRACT OF THE Ph.D. THESIS
CONDUCĂTOR ŞTIINŢIFIC:
Prof.dr.ing. Ioan MĂRGINEANU
Ing. Daniel SORA
Braşov, 2011
MINISTERUL EDUCAŢIEI, CERCETĂRII,
TINERETULUI ŞI SPORTULUI
UNIVERSITATEA „TRANSILVANIA” DIN BRAŞOV
BRAŞOV, B-DUL EROILOR NR.29, 50036, TEL. 0040-268-413000, FAX 0040-268-41025
RECTORAT
COMPONENŢA
comisiei de doctorat
numită prin Ordinul Rectorului Universităţii „Transilvania” din Braşov
nr. 4806 din 27.09.2011
PREŞEDINTE:
CONDUCĂTOR
ŞTIINŢIFIC:
REFERENŢI:
Prof. univ. dr. ing. Sorin Aurel MORARU
DECAN – Facultatea de Inginerie Electrică şi Ştiinţa
Calculatoarelor
Universitatea „Transilvania” din Braşov
Prof. univ. dr. ing. Ioan MĂRGINEANU
Universitatea „Transilvania” din Braşov
Prof. univ. dr. ing. Theodor BORANGIU
Universitatea POLITEHNICA din Bucureşti
Prof. univ. dr. ing. Radu DOBRESCU
Universitatea POLITEHNICA din Bucureşti
Prof. univ. dr. ing. Florin MOLDOVEANU
Universitatea „Transilvania” din Braşov
În conformitate cu instrucţiunile privind conferirea titlurilor ştiinţifice
în România, vă trimitem rezumatul tezei cu rugămintea ca să transmiteţi
eventualele dumneavoastră aprecieri sau observaţii în scris pe adresa
Universităţii „Transilvania” din Braşov, până la data de 25.11.2011.
Data, ora şi locul susţinerii publice a tezei de doctorat:
Vineri, 25.11.2011, ora 1100, Catedra de Automatică, sala V III 9, Str.
Mihai Viteazu nr.5, Corp V, et III, Braşov.
2
CUPRINS
INTRODUCERE ___________________________________________ 5
1. TERMINALE INTELIGENTE MOBILE – PDA ŞI
TELEFOANE INTELIGENTE (SMARTPHONES) ______________ 7
1.1 Istoria PDA-urilor_______________________________________ 7
1.2 Tipurile principale de terminale inteligente mobile _____________ 8
PDA-urile Palm__________________________________________ 8
Pocket PC-urile __________________________________________ 9
Telefoanele inteligente (Smartphones) ________________________ 9
1.3 Funcţiile de bază ale PDA-urilor __________________________ 10
Funcţiile PIM Standard ___________________________________ 10
Sincronizarea cu PC-urile _________________________________ 11
1.4 Structura unui PDA ____________________________________ 12
Microprocesorul şi memoria _______________________________ 12
Bateriile_______________________________________________ 12
Afişajul LCD___________________________________________ 13
Metode de introducere a datelor ____________________________ 13
1.5 Sistemul de operare ____________________________________ 14
1.6 Instrumente de dezvoltare ale sistemelor de operare pentru PDA _ 17
Windows Mobile________________________________________ 17
Palm OS ______________________________________________ 17
Symbian OS ___________________________________________ 18
1.7 Concluzii ____________________________________________ 18
2. UTILIZAREA TEHNOLOGIEI OPC ÎN CONTROLUL
APLICAŢIILOR INDUSTRIALE ____________________________
2.1 Noţiuni introductive despre OPC __________________________
Arhitectura clasică a aplicaţiilor client _______________________
Arhitecturile aplicaţiilor particularizate ______________________
2.2 Standardul OPC _______________________________________
Avantajele utilizării serverelor OPC _________________________
Starea actuală a standardului menţinut de Fundaţia OPC şi a
produselor OPC_________________________________________
Arhitectura generală şi componentele OPC ___________________
Tehnologia înglobată în standardul OPC _____________________
COM/ActiveX__________________________________________
2.3 Implementarea OPC ____________________________________
Obiecte şi interfeţe OPC __________________________________
Manipularea alarmelor şi evenimentelor OPC _________________
3
20
20
22
23
23
24
25
26
26
28
28
28
30
Accesul la datele istorice__________________________________
OPC – ideal pentru aplicaţiile cu mare capacitate de numărare ____
2.4 Sisteme OPC locale şi la distanţă __________________________
Sisteme OPC locale______________________________________
Sistemele OPC la distanţă _________________________________
2.5 Perspectivele OPC _____________________________________
Arhitectura OPC unificată (OPC UA)________________________
Modelele şi serviciile integrate _____________________________
Concepte noi utilizate în arhitectura OPC UA _________________
Aplicaţiile client OPC UA ________________________________
Aplicaţiile server OPC UA ________________________________
Interacţiunile server – server _______________________________
Seturi de servicii ________________________________________
2.6 Dezvoltarea de aplicaţii client OPC în LabVIEW _____________
LabVIEW DataSocket____________________________________
Modulul LabVIEW DSC__________________________________
2.7 Concluzii ____________________________________________
30
31
32
32
33
33
33
35
37
37
37
38
38
38
39
39
40
3. CLIENŢI OPC PENTRU TERMINALE MOBILE _____________42
3.1 Noţiuni introductive ____________________________________ 42
3.2 Metode de comunicaţii în reţea în LabVIEW _________________ 42
3.3 Aplicaţii de reţea de tip Client – Server în LabVIEW __________ 43
3.4 Utilizarea în comun a datelor în timp real prin mecanismul
Shared Variables__________________________________________ 44
3.5 Utilizarea variabilelor distribuite în cadrul instrumentelor virtuale
pentru dispozitive portabile de tip PDA ________________________ 48
3.6 Crearea aplicaţiilor wireless pentru dispozitivele portabile de tip
PDA ___________________________________________________ 48
Aplicaţia de control local al experimentului ___________________ 54
Aplicaţia de control de la distanţă a experimentului _____________ 64
Mecanisme de protecţie oferite de sistemul variabilelor distribuite _ 68
3.7 Concluzii ____________________________________________ 69
4. CONCLUZII FINALE ____________________________________70
Contribuţii originale _______________________________________ 70
ACRONIME UTILIZATE ÎN TEXT___________________________72
BIBLIOGRAFIE ___________________________________________73
4
INTRODUCERE
O caracteristică a tendinţelor actuale de evoluţie a echipamentelor de
tehnologia informaţiei este convergenţa tehnologiilor. Nevoile de mobilitate şi
de conectivitate au determinat pe de o parte reducerea dimensiunilor
calculatoarelor portabile simultan cu creşterea duratei de utilizare prin
alimentarea de la acumulatorul intern, pe de altă parte creşterea vitezei de
conectare la internet prin infrastructura reţelelor de telefonie mobilă. Astfel au
apărut noile tipuri de calculatoare portabile numite „netbook”, cu ecrane de
dimensiuni mai mici, fără unitate de CD/DVD, dar cu conectivitate atât
clasică cu sau fără fir, dar şi cu modem 3G inclus, la care se poate ataşa o
cartelă SIM de la un furnizor de telefonie şi internet mobil. Mai mult, o altă
categorie de calculatoare portabile o constituie calculatoarele ultra mobile
(Ultra-Mobile PC sau tablet PC), cu dimensiuni şi mai reduse decât ale celor
de tip netbook, dotate cu ecran tactil şi care rulează aceleaşi sisteme de
operare ca şi calculatoarele obişnuite (figura 1).
Figura 1 Calculatorul ultra mobil OQO Model 02
În domeniul PDA-urilor şi al telefoanelor inteligente putem observa
aceeaşi tendinţă de convergenţă, mergând chiar până la contopire. Deja nu
mai sunt diferenţe semnificative între aceste categorii de echipamente mobile
de vreme ce telefoanele au înglobat aproape toate funcţiile specifice PDAurilor (doar conexiunea fără fir tip Wi-Fi lipseşte de la multe din modelele
existente în prezent), iar tot mai multe PDA-uri au fost dotate cu conectivitate
prin infrastructura reţelelor de comunicaţii mobile, căpătând astfel şi funcţia
de telefonie mobilă. În plus, majoritatea sistemelor de operare actuale sunt
instalate atât pe telefoanele inteligente cât şi pe PDA-uri, fiind foarte greu de
stabilit din care categorie fac parte noile dispozitive.
5
Puterea de calcul a terminalelor mobile de tip PDA sau telefon
inteligent a crescut foarte mult, frecvenţa procesoarelor depăşind pragul de
1GHz, iar din punct de vedere al memoriei, 512 MB pentru RAM şi 32 GB ca
şi capacitate de stocare sunt deja valori obişnuite pentru dispozitivele
existente pe piaţă, din acest punct de vedere fiind comparabile cu
calculatoarele din urmă cu doar câţiva ani. De asemenea, rezoluţiile ecranelor
de 800x480 puncte compensează dezavantajul dimensiunilor reduse ale
acestora. Ca urmare, aceste tipuri de terminale au devenit tot mai utile fiind
tot mai folosite pentru navigare pe internet, pentru serviciile de poştă
electronică şi chiar pentru editare de documente.
Un pas important în direcţia apropierii dintre calculatoarele portabile
care devin tot mai mici şi terminalele mobile care devin tot mai puternice,
deşi din punct de vedere al dimensiunii se străduiesc să se limiteze la a
încăpea într-un buzunar (poate unul mai încăpător), a fost constituit de
lansarea de către firma Apple la începutul anului 2010 a unui calculator ultraportabil care rulează un sistem de operare de PDA, denumit iPad.
Terminalele mobile pot fi utilizate pentru o gamă largă de aplicaţii,
dintre care enumerăm următoarele:
 dispozitive de calcul mobile:
o dispozitive mobile pentru internet;
o asistent digital personal (PDA)/asistent digital profesional
(enterprise digital assistant - EDA);
o calculatoare portabile;
o console portabile pentru jocuri;
o dispozitive portabile de redare a conţinutului multimedia;
 camere foto digitale;
 camere video digitale;
 telefoane mobile;
 pagere;
 dispozitive de navigare (GPS).
Compania suedeză People of Lava a scos la vânzare în luna noiembrie
2010 primul televizor care rulează sistemul de operare Google Android şi
permite utilizatorilor să vizioneze pagini internet pe un ecran de 140 cm.
6
1. TERMINALE INTELIGENTE MOBILE – PDA ŞI
TELEFOANE INTELIGENTE (SMARTPHONES)
Destinaţia principală a unui PDA (personal digital assistant – denumit
şi handheld sau palmtop) este acea de a fi o agendă sau un organizator
electronic portabil, uşor de folosit şi capabil de a schimba informaţii cu PC-ul
(figura 1.1). Este o extensie a PC-ului, nu un înlocuitor.
PDA-urile au evoluat mult în ultimii ani. Nu pot numai să memoreze
informaţii personale cum sunt adresele, întâlnirile şi listele de sarcini, dar pot
să se şi conecteze la internet, să funcţioneze ca şi dispozitive GPS, telefoane
mobile, sau să ruleze aplicaţii multimedia, iar capabilităţile acestora continuă
să crească.
Figura 1.1 Un PDA tipic: Hewlett Packard iPAQ Pocket PC
1.1 Istoria PDA-urilor
Termenul PDA a fost utilizat pentru prima dată în 7 ianuarie 1992 de
către managerul firmei Apple Computer - John Sculley la Consumer
Electronics Show în Las Vegas, Nevada, când a fost lansat Apple Newton. În
1996, Nokia a introdus primul telefon mobil cu funcţionalitate completă de
PDA, Communicator, care urma să devină cel mai bine vândut PDA din lume.
Communicator a introdus o nouă categorie de telefoane mobile: telefoanele
inteligente (smartphone). Acum marea majoritate a PDA-urilor vândute sunt
de fapt telefoane inteligente: peste 150 milioane de unităţi pe an, în timp ce
PDA-urile clasice, fără funcţie de telefon, se vând aproximativ 3 milioane de
unităţi pe an.
Printre predecesoarele PDA-urilor moderne se numără Psion Organiser
şi Sharp Wizard, apărute în a doua jumătate a anilor 1980. Acestea aveau mici
tastaturi ca dispozitiv de intrare, un mic afişaj şi funcţii principale ca ceas
deşteptător, calendar, agendă de telefon şi calculator. Includeau de asemenea
7
şi suport pentru aplicaţii specializate cum ar fi jocurile şi foile de calcul. Psion
Organiser II, lansat în 1986, a fost deosebit de popular şi s-a vândut în mai
mult de o jumătate de milion de exemplare.
În 1993, Apple a lansat Newton MessagePad la preţul de 700 dolari
SUA, oferind utilizatorilor aplicaţii cum sunt agenda electronică, listă de
sarcini, calendar, jurnal telefonic şi carneţel pentru notiţe. Unele dintre
inovaţiile incluse în Newton MessagePad au devenit caracteristici standard ale
PDA-urilor, incluzând afişajul tactil şi creionul, recunoaşterea scrierii de
mână, portul pentru infraroşu şi portul pentru extindere. În schimb, Newton
MessagePad a fost prea mare, scump şi complicat, iar programul de
recunoaştere a scrierii de mână prea slab, iar Apple a încetat să-l mai producă
în 1998.
Primul PalmPilot a fost lansat în martie 1996 de Palm Computing
(proprietatea U.S. Robotics în acel timp). Costa mai puţin de 300 de dolari,
rula propriul său sistem de operare Palm, încăpea într-un buzunar de cămaşă
şi se putea sincroniza cu PC-ul. PalmPilot putea funcţiona câteva săptămâni
cu baterii AAA, era uşor de folosit, şi putea memora mii de contacte, întâlniri
şi notiţe. Parţial, dimensiunea redusă se datora lipsei tastaturii. Pentru
introducerea datelor se utiliza un creion şi limbajul Graffiti.
Pentru a ţine pasul, Microsoft a încercat diferite forme de calculatoare
portabile, ca PenWindows şi TabletPC. În Noiembrie 1996, Microsoft a lansat
Windows CE, primul său sistem de operare pentru dispozitive mobile. A fost
adoptat de un număr de fabricanţi ca HP, Compaq sau Casio, şi a fost dublat
de Handheld PC – primul competitor pentru PalmPilot bazat pe Windows.
Creşterea importanţei dispozitivelor mobile a determinat o competiţie
intensă între giganţi ai tehnologiei cum sunt Google, Microsoft, Apple, şi
Nokia în încercarea de a acapara o parte cât mai mare din piaţă. Palm,
Research In Motion şi Ericsson sunt alte firme semnificative în sectorul
platformelor mobile.
1.2 Tipurile principale de terminale inteligente mobile
PDA-urile tradiţionale actuale sunt descendente ale dispozitivelor
originale PalmPilot şi Microsoft Handheld PC. Dispozitivele Palm rulează
sistemul de operare Palm OS, iar dispozitivele Microsoft Pocket PC rulează
Windows Mobile. Diferenţele dintre cele două sisteme sunt mai puţine decât
în trecut.
PDA-urile Palm
Compania Palm Computing a fost înfiinţată în 1992 cu scopul de a crea
dispozitive mobile tip PDA pentru consumatorii individuali. Primul PDA s-a
numit Zoomer şi a fost lansat în 1993. Deşi nu a avut succes comercial, a
contribuit la dezvoltarea modelului Palm Pilot. Palm Computing a fost
achiziţionată de U.S. Robotics în 1995. Din 1997, odată cu preluarea U.S.
8
Robotics de către compania 3Com, Palm Computing devine parte a acestei
companii.
Recunoscute pentru uşurinţa în utilizare, PDA-urile Palm OS au:
 O vastă bibliotecă de aplicaţii „third-party” care pot fi adăugate
sistemului (majoritatea dispozitivelor se vând împreună cu software
pentru e-mail, multimedia, etc.)
 O versiune îmbunătăţită a aplicaţiei de recunoaştere a scrierii de mână
Graffiti.
 Sincronizare cu ambele tipuri de computere Windows şi Macintosh
folosind Palm Desktop.
 Afişaje mai mici decât ale dispozitivelor Pocket PC pentru a rezerva o
suprafaţă specială pentru Graffiti (unele dispozitive Palm evoluate
încorporează o suprafaţă virtuală Graffiti în display, rezultând o
suprafaţă mai mare pentru display.)
Pocket PC-urile
Pocket PC este numele generic pentru PDA-urile Windows Mobile.
Caracteristicile lor standard includ:
 Versiuni adaptate ale aplicaţiilor Microsoft cum sunt: Microsoft Word,
Excel, sau Outlook (de menţionat că unele formatări se pierd între
versiunile PDA şi standard ale documentelor).
 Sincronizare cu Microsoft Outlook de pe un PC Windows (sincronizarea
cu aplicaţii de e-mail altele decât Outlook, sau cu calculatoarele
Macintosh necesită software adiţional).
 Trei aplicaţii de recunoaştere a scrierii de mână: Transcriber, Letter
Recognizer (similar cu noua versiune de Graffiti), şi Block Recognizer
(similar cu originalul Graffiti).
 O suprafaţă virtuală de scriere, care maximizează dimensiunea displayului.
 Windows Media Player pentru fişiere multimedia.
Telefoanele inteligente (Smartphones)
Un smartphone este fie un telefon mobil cu funcţii PDA, fie un PDA
tradiţional cu funcţii de telefon mobil, depinzând de factorul de formă (stilul)
şi de producător (figura 1.3). Caracteristicile acestor dispozitive includ:
 Un furnizor de servicii de telefonie pentru funcţia de telefon mobil (ca şi
la telefoanele mobile, de obicei se achiziţionează un abonament de
telefonie împreună cu telefonul inteligent de la furnizorul de servicii.)
 Acces la Internet prin intermediul reţelelor celulare de date.
 Diferite combinaţii de funcţii specifice telefoanelor mobile şi PDAurilor, (de exemplu, nu toate telefoanele inteligente oferă funcţii de
recunoaştere a scrierii de mână)
9
Unul dintre multiplele sisteme de operare, incluzând Windows Mobile
Pocket PC Phone Edition, Palm OS, Blackberry OS pentru telefoanele
inteligente Blackberry, şi Symbian OS pentru telefoanele inteligente
Panasonic, Nokia, Samsung şi altele.
Există şi alte dispozitive înrudite, cum sunt calculatoarele
ultraportabile, ceasuri inteligente sau playere multimedia. Calculatoarele
ultraportabile au o greutate cuprinsă intre 0,5 - 1,5 Kg, rulează un sistem de
operare desktop complet (de exemplu Windows XP), şi includ o mică
tastatură. Ceasurile inteligente oferă unele funcţii specifice PDA-urilor într-o
carcasă specifică ceasurilor de mână. De exemplu, ceasurile Microsoft SPOT
(Smart Personal Objects Technology) pot recepţiona informaţii MSN ca
prognoza meteo sau ştirile. De asemenea, pot recepţiona informaţii de tip
calendar şi mesaje personale. Unele playere multimedia pot combina diferite
funcţii specifice PDA-urilor cu capabilităţi multimedia, cum sunt o cameră
digitală, un player MP3 şi un video player.

1.3 Funcţiile de bază ale PDA-urilor
Cele mai simple PDA-uri au cel puţin funcţii standard de management
al informaţiilor personale (PIM), de rulare de aplicaţii software şi de
sincronizare cu PC-urile.
Funcţiile PIM Standard
Toate PDA-urile oferă funcţii standard de management al informaţiilor
personale, realizate prin aplicaţii software cu următoarele obiective:
 Memorarea informaţiilor de contact (nume, adrese, numere de telefon,
adrese de e-mail);
 Întocmirea listelor de sarcini zilnice;
 Memorarea notiţelor;
 Urmărirea evenimentelor programate (agendă, calendar);
 Anunţarea întâlnirilor (ceas, funcţii de alarmă);
 Realizează calcule matematice.
 Rularea aplicaţiilor software. PDA-urile pot rula aplicaţii software
specializate, cum sunt:
 Dispozitivele Windows Mobile rulează versiuni adaptate de
Word, Excel, Internet Explorer şi Outlook (incluzând funcţii de
e-mail şi PIM), alături de Windows Media Player funcţii de
reportofon.
 Majoritatea dispozitivelor Palm OS oferă aplicaţii cum sunt
DataViz Documents to Go (compatibile cu Microsoft Word,
Excel şi PowerPoint), palmOne Media (pentru fotografii şi
imagini video), clientul de e-mail VersaMail, şi software pentru
navigare pe internet.
10
 Toate tipurile de PDA-uri pot rula şi alte tipuri de software
pentru jocuri, multimedia, cheltuieli, diete şi exerciţii fizice,
călătorii, medicale, plăţi şi informaţii.
Sincronizarea cu PC-urile
Pentru a sincroniza un PDA (funcţie denumită pe scurt sync), trebuiesc
realizate următoarele operaţiuni:
 Conectarea PDA-ului cu PC-ul cu ajutorul unui cablu sau a unei
combinaţii soclu/cablu, în mod normal prin porturile USB sau seriale de pe
PDA şi PC. Unele dispozitive pot realiza sincronizarea şi transferul datelor
prin conexiuni wireless sau Bluetooth.
 Apăsarea butonului sync (de pe dispozitiv sau de pe soclu) pentru pornirea
procesului de sincronizare.
 Realizarea transferurilor de date după compararea fişierelor şi informaţiilor
între PDA şi PC, prin copierea celor mai noi versiuni ale fişierelor de pe
PDA pe PC sau invers.
Aplicaţiile software pentru sincronizare de pe PDA conlucrează cu
aplicaţiile similare instalate pe PC. Dispozitivele Microsoft Pocket PC
folosesc ActiveSync, iar dispozitivele Palm OS folosesc HotSync. În plus, pe
PC trebuie să ruleze o aplicaţie ca Microsoft Outlook sau Palm Desktop care
memorează informaţiile PIM.
Avantajul sincronizării este acela că întotdeauna există o copie de
rezervă a datelor, foarte utilă dacă PDA-ul se defectează, este pierdut, furat
sau i se epuizează bateriile.
În plus faţă de funcţiile de bază, majoritatea PDA-urilor (nu neapărat
toate), oferă şi alte funcţii wireless şi multimedia cu sunt:
 Conectivitate fără fir de rază scurtă prin tehnologii în infraroşu (IR) sau
Bluetooth; porturile IR care se găsesc pe multe PDA-uri sunt folosite
pentru sincronizarea cu laptopuri care au porturi IR; Bluetooth se
foloseşte pentru conectarea cu alte dispozitive Bluetooth, cum sunt
căştile sau imprimantele compatibile.
 Conectivitate la Internet sau Intranet prin puncte de acces Wi-Fi.
 Suport pentru Wireless WAN (Wide Area Networks) – reţele celulare de
date care oferă conectarea la Internet a telefoanelor inteligente.
 Conector
pentru card de memorie de tip CompactFlash,
MultiMediaCard, sau Secure Digital, carduri utilizate ca spaţiu de stocare
suplimentar pentru date şi programe.
 Suport audio pentru fişiere MP3, microfon, difuzor şi conector pentru
căşti.
Unele PDA-uri mai sofisticate oferă capabilităţi suplimentare
multimedia, de securitate şi altele care nu se regăsesc pe dispozitivele mai
ieftine:
11




Conector Secure Digital Input/Output (SDIO) pentru periferice
suplimentare conţinute în cardurile SDIO, cum sunt adaptoare Bluetooth,
Wi-Fi, sau GPS;
Funcţii GPS încorporate;
Cameră digitală încorporată pentru fotografii digitale sau scurte filme
(calitatea poate să nu fie la fel de bună ca în cazul camerelor digitale
specializate);
Funcţii de securitate integrate cum sunt cititoarele biometrice de
amprente.
1.4 Structura unui PDA
Microprocesorul şi memoria
Ca şi în cazul calculatoarelor standard desktop sau laptop, PDA-urile
sunt controlate de microprocesoare. Spre deosebire de PC-urile desktop sau
laptop, PDA-urile folosesc microprocesoare mai mici şi mai ieftine. Deşi
aceste microprocesoare sunt mai lente decât cele folosite la PC-uri, ele sunt
adecvate sarcinilor pe care le îndeplinesc PDA-urile. Avantajele
dimensiunilor şi preţurilor mai mici compensează diferenţa de viteză.
PDA-urile nu au hard disk. Programele de bază (agenda, calendarul,
editoarele şi sistemul de operare) sunt stocate într-o memorie nevolatilă
(ROM), care nu se şterge în lipsa tensiunii de alimentare. Datele personale şi
alte programe adăugate de utilizator sunt stocate într-o memorie volatilă
(RAM). Informaţiile din memoria RAM sunt păstrate în siguranţă, întrucât
prin construcţia PDA-ului aceasta rămâne alimentată atunci când dispozitivul
se închide.
PDA-urile mai puţin performante au mai puţină memorie RAM.
Întrucât multe aplicaţii necesită spaţiu semnificativ de memorie, multe modele
dispun de mai multă memorie. Dispozitivele Pocket PC consumă în general
mai multe resurse şi au mai multă memorie RAM. Pentru a putea beneficia de
memorie adiţională, multe PDA-uri acceptă carduri de memorie flash.
Acestea sunt foarte utile pentru memorarea fişierelor cu dimensiune mare, sau
fişierelor mltimedia, cum sunt fotografiile digitale.
Unele tipuri de PDA, cum este Palm Tungsten E2, folosesc memorie
flash în loc de RAM. Memoriile flash sunt nevolatile, ceea ce înseamnă că îşi
menţin datele chiar dacă bateria se descarcă complet.
Bateriile
PDA-urile sunt alimentate cu baterii. Unele modele folosesc baterii
alcaline (AAA), iar altele folosesc acumulatori (litiu, nichel-cadmiu sau
nichel-metal). Durata de viaţă a bateriilor depinde de tipul PDA-ului şi de
modul în care este folosit. Câteva din motivele pentru care bateriile se
consumă mai repede sunt:
12
Sistemul de operare (dispozitivele PocketPC consumă mai multă putere
întrucât necesită mai multă memorie);
 Cantitatea de memorie;
 Conexiunile fără fir, cum sunt Wi-Fi şi Bluetooth;
 Sursa de lumină din spatele afişajului.
Majoritatea PDA-urilor folosesc programe de management al
consumului de energie pentru a extinde durata de viaţă a bateriilor. Chiar daca
bateriile sunt atât de descărcate încât nu mai pot permite pornirea PDA-ului,
de obicei mai au destulă putere ca să permită reîmprospătarea memoriei
RAM. În plus, multe dispozitive au o baterie internă de siguranţă care asigură
alimentarea de scurtă durată (de obicei nu mai mult de 30 de minute), în cazul
în care bateriile se descarcă complet sau sunt îndepărtate pentru a fi înlocuite.
Dacă toate sursele de energie sunt epuizate, PDA-urile pierd toate datele din
memoria RAM. Acest lucru face procesul de sincronizare a PDA-ului extrem
de important.
În afară de alimentarea cu baterii, PDA-urile au adaptoare pentru
alimentarea de la reţea, iar adaptoarele auto sunt în general disponibile ca
accesoriu opţional.

Afişajul LCD
PDA-urile folosesc afişaje LCD (liquid-crystal display). Spre deosebire
de afişajele LCD ale calculatoarelor desktop sau laptop, care sunt folosite
numai ca dispozitive de ieşire, ecranele PDA-urilor sunt folosite atât ca
dispozitiv de ieşire, cât şi de intrare. Ecranele LCD ale PDA-urilor sunt mai
mici decât ecranele laptop-urilor, având dimensiuni diferite, marea majoritate
color.
Afişajele PDA-urilor au următoarele caracteristici:
 Transflective TFT (thin-film transistor) LCD pentru utilizare în interior
cât şi afară;
 Diferite rezoluţii, calitatea crescând cu numărul de pixeli;
 Ecran color;
 Iluminare suplimentară din spate pentru utilizarea în caz de lumină
scăzută.
Metode de introducere a datelor
Există mai multe moduri de a introduce date şi comenzi utilizate de
PDA-uri. Unele dispozitive folosesc exclusiv creionul şi ecranul tactil în
combinaţie cu un program de recunoaştere a scrierii de mână. Cu ajutorul
unui creion de plastic, se scrie pe afişajul dispozitivului sau pe suprafaţa
dedicată pentru scriere. Programul specializat care rulează în PDA converteşte
caracterele în litere şi cifre. În cazul dispozitivelor Palm, programul care
recunoaşte scrierea de mână se numeşte Graffiti. Graffiti necesită ca fiecare
literă să fie scrisă într-un fel specific, folosind un alfabet specializat. De
13
exemplu, pentru a scrie litera „A”, se trasează un „V” răsturnat. Litera „F”
arată ca un „L” răsturnat. Pentru a ajuta Graffiti să recunoască cu acurateţe
mai mare, literele trebuiesc scrise într-o parte a ecranului, iar cifrele în
cealaltă parte.
PDA-urile Pocket PC oferă trei aplicaţii de recunoaştere a scrierii de
mână: Transcriber, Letter Recognizer şi Block Recognizer. Letter Recognizer
şi Block Recognizer sunt asemănătoare cu Graffiti şi necesită alfabet
specializat. În schimb, Transcriber recunoaşte scrierea de mână „obişnuită”,
cu condiţia să fie lizibilă.
În afară de recunoaşterea scrierii de mână, se poate folosi o tastatură
miniaturală care apare pe ecran. Aceasta arată ca şi o tastatură obişnuită, doar
că Simbolurile trebuie atinse cu creionul de plastic. În plus, multe dispozitive
includ şi o mică (şi de obicei cam înghesuită) tastatură QWERTY. Mai există
şi posibilitatea de a conecta o tastatură de dimensiune normală cu ajutorul
Bluetooth sau a portului USB. Fiecare model posedă câteva butoane şi taste
de navigare pentru comutarea între aplicaţii şi pentru defilare în cadrul
fişierelor.
1.5 Sistemul de operare
Sistemul de operare conţine instrucţiuni pre-programate care îi spun
microprocesorului ce are de făcut. Sistemele de operare folosite de PDA-uri
nu sunt atât de complexe ce cele ale calculatoarelor PC, deoarece au mai
puţine instrucţiuni, ceea ce necesită mai puţină memorie. Caracteristicile
generale ale acestora sunt:
 proces rapid de iniţializare (bootstrap);
 răspuns imediat la comutarea de la o aplicaţie la alta;
 operaţii eficiente de back-up/sincronizare.
Sistemele de operare în timp real (RTOS) oferă mijloacele de răspuns
rapid şi eficient necesare funcţionării PDA-urilor, prezentând, în general,
următoarele funcţii:
 multitasking;
 procese şi subprocese bazate pe priorităţi;
 un număr suficient de niveluri de întrerupere.
În continuare sunt prezentate pe scurt sistemele de operare disponibile
în prezent pentru telefoanele inteligente: Symbian OS (Nokia), iOS (Apple),
BlackBerry OS (RIM), Windows Phone OS (Microsoft), WebOS (Palm,
achiziţionat recent de HP), Android (Google), Bada (Samsung) şi Maemo
(Nokia), urmate de o prezentare detaliată a celor mai importante sisteme de
operare disponibile pe piaţa actuală (figura 1.6).
14
Figura 1.6 Distribuţia vânzărilor de telefoane inteligente în trimestrul 4 al anului 2010
în funcţie de sistemul de operare.
Symbian OS deţine cea mai mare parte a pieţei mondiale (cu excepţia
celei nord-americane), ca efect al succesului celui mai important client şi
deţinător de acţiuni – Nokia. Acest sistem de operare a fost utilizat de multe
dintre companiile importante producătoare de telefoane mobile cum sunt:
BenQ, Fujitsu, LG, Mitsubishi, Motorola, Nokia, Samsung, Sharp, sau Sony
Ericsson. În prezent, dispozitive mobile bazate pe Symbian sunt produse de
Fujitsu, Nokia, Samsung, Sharp şi Sony Ericsson. Până în 2009 Symbian a
suportat multiple interfeţe utilizator, cum sunt UIQ (UIQ Technologies), S60
(Nokia), sau MOAP (NTT DOCOMO). Ca urmare a unificării platformelor
Symbian în anul 2009, aceste trei interfeţe utilizator au fost contopite într-una
singură, care nu mai este în totalitate open source.
BlackBerry OS este un sistem de operare creat iniţial pentru oamenii
de afaceri, a cărui principală caracteristică era uşurinţa utilizării.
Îmbunătăţirile recente au constat în acceptarea unui număr crescut de aplicaţii
suplimentare, ca şi oferirea suportului complet pentru fişiere multimedia. În
prezent, pe site-ul dedicat, App World, se pot descărca peste 6000 de aplicaţii.
Android a fost creat iniţial de o mică companie achiziţionată ulterior
de Google Inc., care continuă dezvoltarea acestui sistem de operare. Android
este o platformă derivată din sistemul de operare Linux, la realizarea căreia,
alături de Google au contribuit un grup de companii importante din domeniul
hardware şi software (dintre care Intel, HTC, ARM, Samsung, Motorola şi
eBay), care formează Open Handset Alliance. Acest sistem de operare relativ
15
nou, a avut deja lansate şapte versiuni: Android 1.0, 1.5, 1.6, 2.0, 2.1, 2.2 şi
2.3 .
iOS este sistemul de operare derivat din Mac OS X creat de firma
Apple pentru dispozitivele iPhone, iPod Touch şi iPad. Aplicaţiile altor
producători nu au fost oficial acceptate până la lansarea versiunii iOS 2.0 pe
11 iulie 2008.
Windows Mobile, apărut iniţial sub numele de Windows CE, este
foarte răspândit în special în Asia. Varianta îmbunătăţită – Windows Mobile 6
Professional (pentru PDA şi dispozitive cu ecran tactil) a fost anunţată în
Februarie 2007, dezvoltată ulterior până la versiunea 6.5. A fost criticat în
special pentru interfaţa utilizator neoptimizată pentru controlul ecranului tactil
cu ajutorul degetelor. Cota de piaţă a dispozitivelor Windows Mobile a scăzut
vertiginos în ultimii ani, ajungând la doar 3% în trimestrul al patrulea al
anului 2010, compania Microsoft fiind concentrată pe lansarea noii sale
platforme, Windows Phone.
Windows Phone a fost anunţat de Microsoft pe 15 februarie 2010 ca
fiind noua generaţie de sisteme de operare pentru terminale mobile, sub
numele de Windows Phone 7. Noul sistem de operare se caracterizează printro orientare complet diferită a interfeţei utilizator inspirată de limbajul "Metro
Design Language", ce oferă o integrare completă a serviciilor Microsoft cum
sunt Windows Live, Zune, Xbox Live şi Bing, dar şi a unor servicii nonMicrosoft cum sunt Facebook sau conturile Google. Deoarece Windows
Phone 7 este o platformă complet nouă, nu oferă compatibilitate cu aplicaţiile
create pentru Windows Mobile, iar unele caracteristici importante ale
sistemului de operare Windows Mobile nu se regăsesc până la următoarele
actualizări.
Linux deţine cea mai mare cotă de piaţă în China unde este utilizat de
Motorola şi în Japonia, utilizat de DoCoMo. Linux nu este foarte utilizat ca
platformă distinctă, ci mai curând reprezintă baza pentru un număr mare de
platforme diferite cum sunt Android, LiMo, Maemo, Openmoko sau Qt
Extended, care sunt destul de incompatibile între ele. PalmSource (în prezent
Access) se dezvoltă către o interfaţă bazată pe Linux. Alte platforme bazate
pe Linux sunt în curs de dezvoltare de către Motorola, NEC, NTT DoCoMo,
Panasonic, Samsung, sau Vodafone.
webOS reprezintă cea mai recentă generaţie de sisteme de operare
Palm. PalmSource utilizează propria platformă dezvoltată iniţial de Palm Inc.
– Access Linux Platform (ALP), ca o îmbunătăţire care a fost lansată în prima
parte a anului 2007, folosind specificaţiile tehnice ale Linux Phone Standards
Forum. Această platformă include un emulator care suportă aplicaţiile create
pentru dispozitivele Palm. HP a cumpărat compania Palm în 2010.
bada este un sistem de operare pentru telefoane inteligente creat de
Samsung Electronics. Samsung pretinde că bada va înlocui rapid platformele
telefoanelor mobile proprii, transformând telefoanele mobile în telefoane
16
inteligente. Numele „bada” este derivat din cuvântul Coreean care înseamnă
ocean sau mare. Primul dispozitiv care a rulează sistemul de operare bada se
numeşte „Wave” şi a fost anunţat public la Mobile World Congress 2010.
Wave este un telefon bazat în totalitate pe ecranul tactil, împreună cu care
Samsung a lansat propriul magazin virtual pentru aplicaţii, Samsung Apps,
care oferă în prezent peste 300 de aplicaţii mobile. Deşi Samsung
intenţionează să instaleze bada pe multe dintre telefoanele construite,
compania dezvoltă şi o gamă largă de telefoane bazate pe Android.
MeeGo este un sistem de operare lansat în anul 2010 la Mobile World
Congress în Barcelona de companiile Nokia şi Intel care combină cele mai
bune caracteristici ale sistemelor de operare Moblin şi Maemo pentru a crea o
adevărată experienţă open-source pentru utilizatorii oricăror dispozitive
mobile.
Maemo este o platformă software dezvoltată de Nokia pentru telefoane
inteligente şi Tablete Internet, bazată pe sistemul de operare Debian, în
colaborare cu alte proiecte open source ca Linux kernel, sau GNOME.
1.6 Instrumente de dezvoltare ale sistemelor de operare
pentru PDA
Windows Mobile
Windows Mobile oferă dezvoltatorilor mediul de programare familiar
al interfeţei de programare a aplicaţiilor (API) Microsoft Win32, controale
ActiveX, şiruri de mesaje (MSMQ) şi Component Object Model (COM),
Active Template Library (ATL), şi Microsoft Foundation Classes (MFC)
Library. ActiveSync facilitează conectivitatea simplă între calculatorul
desktop şi dispozitivul înglobat, prin conexiune serială, portul infraroşu, sau
prin cablul de reţea. Windows Mobile conţine suport pentru multimedia
(inclusiv DirectX), comunicaţi (TCP/IP, SNMP, TAPI, şi altele), şi securitate.
O gamă largă de aplicaţii integrate, incluzând Pocket Internet Explorer,
Pocket Outlook, şi Pocket Word furnizează obiecte care permit dezvoltatorilor
să extindă şi să personalizeze sistemul existent, dar şi să extindă
funcţionalitatea aplicaţiilor create.
Palm OS
Palm OS Software Development Kit (SDK) conţine interfeţele de
programare a aplicaţiilor (API) pentru dezvoltarea de programe Palm OS,
incluzând funcţii pentru interfeţele utilizator, management de sistem şi
comunicaţii.
Conduit Development Kit (CDK) permite implementarea de canale de
comunicaţie, care facilitează schimbul şi sincronizarea datelor între o aplicaţie
desktop şi o aplicaţie care rulează pe dispozitivul mobil. CDK este disponibil
în variantele pentru Windows, Mac şi Solaris.
17
Fiecare aplicaţie Palm trebuie să aibă asignat un identificator unic,
numit CreatorID, care poate fi obţinut de la Palm. în afară de aceste kituri de
dezvoltare, programarea este susţinută de câteva medii şi instrumente de
dezvoltare.
Symbian OS
Symbian furnizează kituri de dezvoltare pentru C++, pentru OPL şi
pentru Java. Programatorii scriu aplicaţiile pe un PC şi folosesc un emulator
pentru a le testa. Spre deosebire de alte sisteme de operare, Symbian OS
implementează multitaskingul mai mult prin mesageria bazată pe evenimente
decât prin multithreading.
Multithreadingul este complex, predispus la erori şi consumator de
memorie; Symbian OS este mult mai eficient - pentru a crea alt obiect într-un
sistem de operare condus de evenimente nu este nevoie de nicio comutare de
context.
Symbian OS include un nucleu multitasking, mijloace de comunicaţie,
management de date şi grafică, nivelul de jos al cadrului interfeţei grafice cu
utilizatorul (GUI), şi motoarele aplicaţiilor.
Similar cu Palm OS, aplicaţiile Symbian OS trebuie să aibă un UID
unic pentru identificarea şi asocierea fişierelor. UID trebuie cerut de la
Symbian.
1.7 Concluzii
Piaţa dispozitivelor mobile de tip PDA, telefoane inteligente sau tablete
va fi în creştere în 2011 conform previziunilor şi tendinţelor remarcate la
Consumers Electronics Show desfăşurat în ianuarie 2011 în Las Vegas şi
Mobile World Congress desfăşurat în februarie la Barcelona. Producătorii de
astfel de dispozitive se străduiesc să ofere noi facilităţi pentru a atrage noi
clienţi.
Câteva din noile facilităţi care vor fi oferite de dispozitivele care se
aşteaptă a fi lansate în 2011 sunt:
 Procesoare dual-core: după ce în anul 2010 depăşirea pragului de
1GHz pentru frecvenţa procesoarelor utilizate de terminalele
inteligente mobile a produs senzaţie, interesul pentru îmbunătăţirea
performanţelor procesoarelor va continua cu introducerea
tehnologiei dual-core, pentru a oferi performanţe video îmbunătăţite,
viteză şi uşurinţă în navigarea pe internet şi în rularea aplicaţiilor. În
decembrie 2010, LG Electronics a anunţat lansarea modelului
Optimus 2X, un telefon inteligent dotat cu sistemul de operare
Android şi procesor Nvidia dual-core Tegra2. În afară de Nvidia,
Qualcomm, Samsung şi Texas Instruments pregătesc noi procesoare
dual-core pentru terminale mobile, deci lansarea de noi modele
dotate cu astfel de procesoare este tot mai probabilă.
18
 Afişaje 3D: succesul obţinut de tehnologia 3D în cinematografe a
produs un efect considerabil în întreaga industrie de electronice de
larg consum. Televizoare, console de jocuri, calculatoare şi
telefoane inteligente, toate se pregătesc să adopte această
tehnologie. În Japonia, compania Sharp deja a anunţat lansarea a
două telefoane inteligente dotate cu sistemul de operare Android cu
care utilizatorii vor putea juca jocuri şi viziona filme 3D fără
ajutorul ochelarilor speciali.
 Dual SIM: în decembrie 2010, compania Broadcom a anunţat
producerea unui nou cip pentru telefoanele inteligente, care ar putea
fi utilizat de producătorii de terminale ieftine, dotate cu sistemul de
operare Android şi care permite utilizarea a două cartele SIM
simultan. Aceasta ar permite utilizatorilor să reducă costurile
convorbirilor, oferind totodată o mai mare flexibilitate în timpul
călătoriilor în străinătate.
 Video: o altă tendinţă majoră a anului 2010 a fost înregistrarea video
de înaltă rezoluţie, la 720 pixeli pe linie, devenind o caracteristică
populară în cazul telefoanelor inteligente mai pretenţioase, între care
iPhone 4 şi Samsung Galaxy S. Această evoluţie va continua în
2011, trecând de la 720p la 1080p. LG Optimus 2X oferă deja
redare şi înregistrare video la 1080p şi se poate conecta la un afişaj
extern prin HDMI, ceea ce se aşteaptă să devină o caracteristică
obişnuită în anul 2011.
Trecerea la rezoluţia de 1080p este strâns legată de introducerea
procesoarelor dual-core; puterea de procesare adusă de cel de-al doilea nucleu
permite telefoanelor inteligente să facă faţă fluxului de date cerut de rezoluţia
mai înaltă.
Combinaţia dintre conexiunea HDMI, suport pentru rezoluţia de 1080p
şi viteze crescute de download în reţelele mobile va permite operatorilor să
ofere mai multe servicii video.
Concretizarea tendinţelor prezentate, ca şi interesul tot mai mare arătat
de utilizatori pentru noile terminale inteligente mobile – inclusiv recent
apărutele tablete electronice – justifică încă odată ideea utilizării acestor
dispozitive în monitorizarea şi controlul aplicaţiilor industriale. Capacităţile
de calcul, memorare şi de comunicare ale dispozitivelor actuale permit rularea
în siguranţă a programelor special concepute în acest scop. Estimăm că nu
numai performanţele hardware, dar şi suportul şi platformele pentru
dezvoltarea de aplicaţii specifice vor evolua pentru a ţine pasul cu aceste
tendinţe.
19
2. UTILIZAREA TEHNOLOGIEI OPC ÎN
CONTROLUL APLICAŢIILOR INDUSTRIALE
2.1 Noţiuni introductive despre OPC
OPC (OLE1 for Process Control) este un standard industrial creat prin
colaborarea unui grup de furnizori importanţi pe plan mondial de software şi
hardware de automatizare cu compania Microsoft. Standardul defineşte
metodele de comunicaţii de date între sistemele de automatizare în timp real şi
aplicaţiile de tip client care rulează pe calculatoare cu sisteme se operare
Microsoft. Organizaţia care controlează acest standard se numeşte Fundaţia
OPC (OPC Foundation).
Specificaţiile OPC sunt specificaţii tehnice non-proprietar care definesc
un set de interfeţe standard bazate pe platforma Microsoft
OLE/COM2/DCOM3 şi pe tehnologia .NET4. Utilizarea interfeţelor standard
OPC face posibilă interoperabilitatea între aplicaţiile de automatizare/control,
dispozitivele/ sistemele industriale şi aplicaţiile economice/de birou.
În mod tradiţional, fiecare producător de software sau aplicaţii trebuia
să programeze o interfaţă particulară, un server sau un driver pentru a realiza
schimbul de date cu dispozitivul corespunzător. Standardul OPC elimină
această necesitate prin definirea unei interfeţe generale, de mare performanţă,
care permite ca această muncă să fie făcută o singură dată, iar apoi să fie
reutilizată cu uşurinţă de aplicaţii de tip HMI5, SCADA6, de control sau
particularizate.
OPC reprezintă o interfaţă standard între numeroase tipuri de surse de
date, cum sunt echipamentele de automatizare, echipamentele de laborator,
sistemele de testare sau bazele de date din sistemele de control. Pentru a
elimina dublarea eforturilor în dezvoltarea driverelor de echipamente,
inconsistenţele dintre drivere, pentru a permite schimbarea caracteristicilor
echipamentelor şi pentru evitarea conflictelor de acces în sistemele de control
industrial, Fundaţia OPC a definit un set de interfeţe standard care permit
oricărui client să acceseze orice dispozitive compatibile OPC. Majoritatea
1
OLE – Object Linking and Embedding – tehnologie dezvoltată de compania Microsoft care permite
conectarea şi înglobarea documentelor şi a altor obiecte
2
COM – Component Object Model – este o interfaţă binară standard pentru componentele software introdusă
de Microsoft în 1993, pentru a permite comunicarea între procese şi crearea de obiecte dinamice într-o gamă
largă de limbaje de programare
3
DCOM – Distributed Component Object Model reprezintă extensia tehnologiei COM de la Microsoft
pentru comunicaţia între componentele software distribuite pe diverse calculatoare într-o reţea
4
.NET este un mediu software care conţine o bibliotecă de funcţii şi o maşină virtuală care controlează
execuţia programelor scrise pentru acest mediu
5
HMI – Human-Machine Interface – interfaţa om-maşină reprezintă mijlocul (de obicei o componentă a unei
aplicaţii software) prin care utilizatorul interacţionează cu sistemul – un anumit dispozitiv, un program de
calculator sau un alt instrument complex
6
SCADA – Supervisory Control and Data Acquisition – se referă la un sistem de control industrial, compus
dintr-un sistem de calculatoare care monitorizează şi controlează un proces
20
furnizorilor de echipamente de achiziţii de date şi de control se conformează
standardului Fundaţiei OPC.
OPC permite serverelor de dispozitiv şi aplicaţiilor software – două
procese separate – să comunice între ele printr-o interfaţă standard Microsoft
COM, fiind proiectat să fie un nivel de separare între diferite dispozitive şi
programele care trebuie să le acceseze informaţiile sau să le controleze.
Standardul OPC precizează comportamentul pe care interfeţele trebuie să le
ofere clienţilor care le folosesc, şi care primesc date de la interfeţe folosind
funcţii şi metode standard. Prin urmare, orice program de analiză
computerizată sau de achiziţie de date poate să comunice cu orice dispozitiv
industrial cât timp acel program utilizează protocolul client OPC, iar driverul
dispozitivului are asociată o interfaţă OPC.
În unele documentaţii, în locul termenului de Server OPC se utilizează
termenul de Driver OPC. Cei doi termeni sunt sinonimi.
OPC a apărut din necesitatea unui mecanism standard de comunicare
între numeroasele surse de date, fie dispozitive de automatizare de la nivelul
liniei de producţie, fie bazele de date din camerele de control.
Figura 2.1 Arhitectura informaţională a controlului proceselor la nivelul organizaţiei
În arhitectura informaţională a unui proces industrial prezentată în
figura 2.1 se disting următoarele niveluri:
1. Managementul liniei de producţie (Field Management) – odată cu
răspândirea accentuată a dispozitivelor de automatizare „inteligente”,
21
cantitatea de informaţii disponibile referitoare la starea de funcţionare,
parametrii de configurare, etc. a crescut substanţial, apărând astfel
necesitatea publicării şi utilizării acestora de către utilizatori sau aplicaţii
software într-o manieră unitară.
2. Managementul procesului (Process Management) – instalarea sistemelor
de control distribuite (DCS7) şi SCADA pentru controlul şi monitorizarea
procesului de producţie a uşurat şi colectarea centralizată a informaţiilor în
format electronic, operaţie care înainte se efectua manual.
3. Managementul organizaţiei (Business Management) – prin instalarea
sistemelor de control se pot obţine beneficii la nivelul organizaţiei prin
integrarea informaţiilor colectate de la diferitele procese în sistemele de
management al organizaţiei, pentru corelarea acestora cu aspectele
financiare ale procesului de producţie. Furnizarea acestor informaţii
aplicaţiilor client într-o manieră unitară minimizează eforturile necesare
acestei integrări.
Pentru a realiza toate aceste sarcini în mod eficient, managerii au
nevoie să acceseze datele de la nivelul liniei de producţie şi să le integreze în
sistemele existente de management al organizaţiei, fiind capabili să utilizeze
instrumentele disponibile (pachete SCADA, baze de date, foi de calcul, etc.)
pentru a asambla un sistem potrivit nevoilor lor. Cheia succesului o reprezintă
o arhitectură de comunicaţie deschisă şi eficientă concentrată pe accesul la
date şi nu pe tipul acestor date, capabilă să ofere o metodă comună de acces la
orice sursă de date, fie dispozitiv sau bază de date.
Arhitectura clasică a aplicaţiilor client
Foarte multe dintre aplicaţiile client realizate accesează datele necesare
de la surse utilizând „drivere” independente incluse în pachetele software
proprii. Această abordare conduce la probleme cum sunt:
 Duplicarea eforturilor – fiecare dezvoltator de aplicaţii trebuie să
scrie un driver pentru fiecare echipament hardware utilizat;
 Inconsistenţe între driverele diferiţilor producători – unele
caracteristici hardware pot să nu fie suportate de toţi dezvoltatorii de
drivere;
 Lipsa suportului pentru schimbarea caracteristicilor hardware –
unele schimbări ale caracteristicilor hardware pot face inutile
anumite drivere;
 Conflicte de acces – pachete diferite nu pot accesa simultan acelaşi
dispozitiv, deoarece fiecare conţine un driver independent.
Producătorii de hardware au încercat să rezolve aceste probleme prin
furnizarea de drivere pentru echipamentele proprii, dar s-au confruntat cu
diferitele protocoale ale aplicaţiilor client.
7
DCS – Distributed Control System – sisteme de control distribuite
22
OPC îşi propune să facă legătura între producătorii de hardware şi
dezvoltatorii de software, oferind un mecanism prin care să se poată prelua
informaţiile de la orice sursă de date şi să fie comunicate oricărei aplicaţii
client într-un mod standardizat. Se pot astfel produce servere reutilizabile,
optimizate pentru a comunica cu sursele de date şi pentru a menţine
mecanismul de accesare a datelor în mod eficient de către aplicaţiile client.
Includerea în server a unei interfeţe standard OPC permite oricărei aplicaţii
client să acceseze dispozitivele necesare.
Arhitecturile aplicaţiilor particularizate
Un număr tot mai mare de aplicaţii particularizate se realizează în
medii de programare cum sunt Visual Basic, Delphi, Power Builder, etc., iar
standardul OPC trebuie să ţină cont de acest curent. Microsoft a înţeles acest
lucru şi a creat OLE/COM pentru a permite componentelor (scrise în C sau
C++ de experţi în anumite domenii) să fie utilizate de programe
particularizate (scrise în Visual Basic sau Delphi pentru un cu totul alt
domeniu de activitate). Programatorii vor scrie astfel componente software în
C sau C++ care încapsulează problemele complexe ale accesării datelor din
dispozitiv, iar programatorii aplicaţiilor de management de la nivelul
organizaţiei pot scrie codul în Visual Basic pentru accesarea şi utilizarea
datelor de la nivelul liniei de producţie. Arhitectura şi designul interfeţelor
trebuie de asemenea să suporte dezvoltarea de servere OPC scrise în alte
limbaje.
2.2 Standardul OPC
Standardul OPC a fost creat pentru a permite aplicaţiilor client accesul
la datele de automatizare într-un mod unitar. O acceptare pe scară largă în
industrie poate aduce multe beneficii cum sunt:
 Producătorii de hardware vor trebui să scrie un singur set de
componente software pentru produsele lor, pe care clienţii să le
folosească în aplicaţiile lor.
 Producătorii de software nu vor mai fi nevoiţi să rescrie driverele ca
urmare a modificărilor sau adăugirilor din noile versiuni hardware.
 Clienţii vor avea o gamă mai largă de opţiuni pentru a realiza sisteme
de producţie integrate de înaltă calitate, într-un mediu informatic
eterogen.
La început, scopul principal al fundaţiei OPC a fost de a furniza
specificaţiile mediului industrial într-un timp cât mai scurt, astfel că primele
documente s-au limitat la domenii comune tuturor producătorilor, urmând ca
funcţionalităţi suplimentare să fie adăugate ulterior:
 Accesul on-line la date – modul flexibil şi eficient de a scrie şi
citi date între o aplicaţie şi procesul controlat;
23
 Manipularea alarmelor şi evenimentelor – mecanismele prin
care clienţii OPC să fie notificaţi cu privire la apariţia anumitor
evenimente şi condiţii de alarmă;
 Accesul la datele istorice – accesul, procesarea şi editarea
datelor stocate anterior.
Alte funcţionalităţi cum sunt măsurile de securitate, grupuri de comenzi
sau accesul la informaţiile istorice despre alarme şi evenimente au fost
adăugate prin versiunile ulterioare ale specificaţiilor. Arhitectura OPC
beneficiază de avantajele interfeţelor COM, care oferă un mecanism
convenabil de extindere a funcţionalităţii OPC.
Alte scopuri iniţiale ale proiectării standardului OPC au fost:
 Să fie simplu de implementat;
 Flexibilitate în satisfacerea nevoilor diferiţilor producători de
hardware;
 Să ofere un înalt nivel de funcţionalitate;
 Să permită o funcţionare eficientă.
Primul set de specificaţii a inclus un set de interfeţe COM care să fie
utilizate de programatorii de aplicaţii client şi server şi referinţe la un set de
interfeţe de automatizare OLE care să suporte aplicaţii client scrise pentru
aplicaţii de nivel mai înalt cum sunt Excel, Visual Basic, etc. De asemenea, sa propus ca arhitectura să folosească tehnologia distribuită Microsoft OLE
(DCOM) pentru a facilita interfaţarea clienţilor cu servere la distanţă.
Avantajele utilizării serverelor OPC
Un server OPC este o aplicaţie care se comportă ca o interfaţă de
programare de aplicaţii (API - Application Programming Interface) sau
convertor de protocol. Serverul OPC se conectează la dispozitive cum sunt
PLC8, DCS, RTU9, sau la surse de date cum sunt bazele de date sau interfeţele
utilizator şi converteşte datele într-un format standard OPC. Aplicaţiile
compatibile OPC se pot conecta la serverul OPC pe care îl folosesc pentru a
citi şi scrie datele din/în dispozitivul corespunzător. Astfel, serverul OPC este
similar unui driver care permite calculatorului să comunice cu imprimanta.
Serverele OPC se bazează pe arhitectura Client/Server.
Serverele OPC au apărut din necesitatea presantă de a face ca sistemele
informatice de producţie şi cele economice să comunice între ele. De multe
ori existau bariere din cauza incompatibilităţilor dintre interfeţele
particularizate de comunicaţie şi hardware-ul şi software-ul de automatizare
provenit de la diferiţi furnizori. Standardul OPC oferă aplicaţiilor de producţie
şi celor economice acces la informaţiile din teren în timp real şi într-o manieră
consistentă, făcând posibilă interoperabilitatea între diferitele echipamente şi
8
PLC - Programmable Logic Controller – este un calculator specializat utilizat în automatizarea proceselor
electromecanice
9
RTU - Remote Terminal Unit – un dispozitiv electronic controlat de microprocesor
24
conectivitatea tip „plug and play”, dar şi o mai mare flexibilitate, costuri de
integrare, dezvoltare şi instalare mai reduse pentru sistemele de automatizare
sau de control al proceselor.
Deşi OPC este proiectat în special pentru accesarea datelor dintr-un
server de reţea, interfeţele OPC pot fi utilizate în multe feluri în aplicaţii. La
cel mai scăzut nivel ele pot transfera date brute din dispozitivele fizice în
sistemele SCADA sau DCS, sau din SCADA sau DCS spre aplicaţii.
Arhitectura şi designul lor face posibilă construirea de servere OPC care
permit aplicaţiilor client să acceseze date de la mai multe servere OPC de la
diferiţi furnizori care rulează pe noduri diferite printr-un singur obiect.
Starea actuală a standardului menţinut de Fundaţia OPC
şi a produselor OPC
Fundaţia OPC are ca membri peste 430 de companii din toată lumea,
căpătând o recunoaştere şi acceptare mondială, cu o foarte puternică
reprezentare în America de Nord, Europa şi Asia-Pacific. Lista în continuă
creştere a produselor compatibile OPC poate fi consultată în secţiunea
Products a paginii de internet a fundaţiei, http://www.opcfoundation.org.
Între acestea se regăsesc multe dintre produsele National Instruments care
înglobează suportul OPC, inclusiv LabVIEW cu modulele OPC client şi
Datalogging and Supervisory Control, FieldPoint şi interfeţele
FOUNDATION Fieldbus cu servere OPC10.
Trebuie precizat că LabVIEW suportă numai specificaţiile OC Data
Access, prin care se pot conecta clienţi OPC de la alţi furnizori la servere
OPC LabVIEW, sau clienţi OPC LabVIEW la alte tipuri de servere OPC.
LabVIEW suportă acum următoarele versiuni ale specificaţiilor OPC
DA:
 Versiunea 1.0 – DataSocket Client;
 Versiunea 2.0 – DataSocket Client, Variable Engine OPC
Server, (DCS Module) DSC OPC Client;
 Versiunea 3.0 – Variable engine OPC Server, (DSC Module)
DCS OPC Client.
10
LabVIEW -- Industry standard graphical programming - http://www.ni.com/labview/
LabVIEW Datalogging and Supervisory Control Module - Add-on tool for LabVIEW that contains
an OPC server - http://sine.ni.com/nips/cds/view/p/lang/en/nid/10418
Lookout -- Powerful, easy-to-use HMI/SCADA software - http://www.ni.com/lookout/
FieldPoint -- Modular, distributed I/O - http://www.ni.com/fieldpoint/
Data Acquisition -- Widest variety of solutions for PCI, CompactPCI, ISA, PCMCIA, and USB http://www.ni.com/dataacquisition/
FOUNDATION Fieldbus - Industrial network for distributed process control applications http://sine.ni.com/nips/cds/view/p/lang/en/nid/1318
25
Arhitectura generală şi componentele OPC
Specificaţiile OPC conţin întotdeauna două seturi de interfeţe:
interfeţele particularizate şi interfeţele de automatizare, şi tipul acestora
(COM), dar nu şi modul de implementare. În schimb este descris
comportamentul la care aplicaţiile client se aşteaptă de la aceste interfeţe.
La fel ca toate implementările COM, arhitectura OPC este de tip clientserver în care componenta server OPC furnizează o interfaţă către obiectele
OPC pe care le controlează.
Există câteva consideraţii unice în implementarea serverelor OPC.
Principala problemă este frecvenţa transferului de date pe căile de
comunicaţie care nu sunt puse la dispoziţia clienţilor cum sunt cele către
dispozitivele fizice sau bazele de date.
Tehnologia înglobată în standardul OPC
OPC se bazează pe Component Object Model (COM) care este parte a
.NET Framework de la Microsoft pentru a oferi conectivitate plug-and-play şi
interoperabilitate între diferite dispozitive, sisteme şi software de
automatizare. Specificaţiile Microsoft COM furnizează infrastructura
software necesară care defineşte modul cum se realizează schimbul de date
între aplicaţiile care rulează sub sistemele de operare Microsoft. Specificaţiile
OPC definesc un set standard de obiecte, metode şi proprietăţi COM care se
adresează în special cerinţelor pentru aplicaţiile de automatizare sau de
control al proceselor în timp real. Serverele OPC furnizează interfaţa standard
către obiectele OPC COM, permiţând aplicaţiilor client OPC să schimbe date
şi comenzi de control într-un mod generic. Aplicaţiile client OPC pot
comunica cu unul sau mai multe servere OPC de la diferiţi producători,
accesând datele în acelaşi fel indiferent dacă datele provin de la un server
OPC conectat la un automat programabil, la reţele industriale cum sunt
Fieldbus, Profibus sau DeviceNet, la un sistem SCADA, LIMS (Laboratory
Information Management Systems) sau la un sistem de management al
producţiei.
Standardul OPC a fost proiectat să se dezvolte. Încă de la început, din
1996, Fundaţia a stabilit diferite comitete tehnice pentru a extinde scopul şi
funcţionalitatea specificaţiilor OPC pentru a adresa o gamă tot mai largă de
probleme de conectivitate şi interoperabilitate. Setul Fundaţiei OPC include
acum 10 specificaţii actuale şi în dezvoltare: OPC Data Access 3.0, OPC
Alarms & Events, OPC Batch, OPC Data eXchange (DX), OPC Historical
Data Access, OPC Security, OPC XML-DA, OPC Complex Data, OPC
Commands, şi OPC Unified Architecture.
OPC Data Access 3.0 este standardul utilizat pentru transferul datelor
în timp real între automatele programabile, sistemele de control distribuite şi
interfeţele om-maşină sau clienţi de afişare a datelor.
26
OPC Alarms & Events furnizează alarme şi notificări de evenimente
la cerere (spre deosebire de fluxul de date continuu prin Data Acces),
incluzând alarme de proces, acţiuni operator, mesaje informative şi de
urmărire /control.
OPC Batch suportă întreaga filozofie OPC pentru grupuri de procese
(batch), oferind interfaţa pentru schimbarea capabilităţilor echipamentelor
(corespunzător modelului fizic S88.01) şi a condiţiilor curente de operare.
OPC DX oferă interoperabilitatea aplicaţiilor pe diferite magistrale sau
între dispozitive conectate la reţele Ethernet utilizând diferite protocoale cum
sunt Ethernet-IP, PROFINet sau Foundation Fieldbus High Speed Ethernet.
De asemenea adaugă servicii de configurare, diagnosticare şi
monitorizare/management de la distanţă.
OPC Historical Data Access facilitează accesul la datele stocate
anterior, indiferent dacă este cazul unui sistem simplu de înregistrare de date
sau un sistem SCADA complex.
OPC Security reglementează controlul accesului clienţilor la
informaţiile sensibile ale companiei, care dacă ar fi incorect modificate ar
putea avea consecinţe semnificative asupra întregului proces.
Specificaţiile OPC XML-DA utilizează tehnologiile Internet cum sunt
XML, HTTP şi SOAP pentru a oferi o legătură de comunicaţie pe verticală
între aplicaţiile de automatizare şi aplicaţiile economice şi de management de
la nivelul organizaţiei. În plus, OPC XML-DA furnizează şi câteva beneficii
adiţionale cum sunt:
 Posibilitatea publicării datelor de la nivelul echipamentelor de
automatizare la nivelul organizaţiei folosind Internetul;
 Capabilitatea de a folosi tehnologiile XML, HTTP, SOAP şi Internet
pentru a programa aplicaţii client sau server OPC XML-DA pe
platforme non-Microsoft;
 Capabilitatea de a publica datele de automatizare în formate care pot fi
folosite cu uşurinţă de aplicaţiile de la nivelul organizaţiei cum sunt
cele de planificare, programare, sau managementul calităţii şi
echipamentelor.
OPC Complex Data reprezintă o completare a specificaţiilor Data
Access şi XML-DA pentru a permite serverelor să descrie şi să utilizeze tipuri
de date mai complicate cum sunt structurile binare şi documentele XML.
OPC Commands este un nou set de interfeţe în dezvoltare care permit
clienţilor şi serverelor să identifice, să trimită şi să monitorizeze comenzi de
control care să se execute pe un anumit dispozitiv.
OPC Unified Architecture este un set nou de specificaţii care nu se
bazează pe Microsoft COM şi care va permite interoperabilitatea între diferite
tipuri de platforme.
27
COM/ActiveX
Nivelul de bază al specificaţiilor OPC se bazează pe tehnologia
Microsoft COM/DCOM, care mai este cunoscută ca OLE (Object Linking
and Embedding) sau mai răspândit ca ActiveX. COM (Component Object
Model) şi DCOM (Distributed COM) funcţionează ca interfeţe între client şi
alte componente ale sistemului. În sistemele de operare moderne, procesele
sunt protejate între ele, iar un client care trebuie să comunice cu o
componentă a altui proces nu o poate face în mod direct. COM furnizează un
nivel de interfaţă de comunicare care permite procedurile de apel locale şi la
distanţă între procese. DCOM reprezintă extensia naturală a suportului COM
pentru comunicaţii între obiectele de pe diferite calculatoare conectate prin
reţele LAN, WAN sau prin Internet. COM este denumit OLE atunci când
aplicaţia este utilizată pentru a îngloba documente de un tip în interiorul unui
document de alt tip. Un exemplu de implementare COM este posibilitatea de
a crea şi edita foi de calcul Excel într-un document Word. Numele de ActiveX
este utilizat atunci când se face referire la capabilităţile Internet ale COM. Un
exemplu de capabilitate ActiveX este înglobarea de playere multimedia în
paginile Web. OPC utilizează termenul OLE pentru că era termenul cel mai
utilizat atunci când au fost definite specificaţiile OLE.
Comunicarea între procese în COM suportă trei tipuri principale de
interacţiuni:
 Proprietăţi – setări individuale pentru un control;
 Metode – funcţii apelate de un control pentru a îndeplini o
anumită acţiune;
 Evenimente – mesaje create de un control pentru a alerta lumea
exterioară despre ce se întâmplă în interiorul procesului.
2.3 Implementarea OPC
Specificaţiile OPC definesc o interfaţă standard COM care să fie
utilizată în aplicaţiile industriale de achiziţii de date şi de control.
Specificaţiile includ un protocol pentru definirea obiectelor, pentru stabilirea
proprietăţilor acestora şi pentru standardizarea apelurilor de funcţii şi a
evenimentelor. Pentru asta, OPC reuneşte o varietate largă de surse de date.
Dispozitivele de intrare-ieşire includ dispozitive de achiziţii de date,
actuatoare, magistrale de comunicaţii şi automate programabile (PLC). De
asemenea, specificaţiile includ protocolul de lucru cu sistemele de control al
datelor (DCS) şi cu aplicaţiile de baze de date ca şi pentru accesul la datele
on-line, manipularea alarmelor şi evenimentelor şi accesul la datele istorice
pentru toate aceste surse de date.
Obiecte şi interfeţe OPC
La o vedere de ansamblu, un server OPC de acces la date se compune
din câteva tipuri de obiecte: server, grup şi item.
28
 Server – menţine informaţii despre el însuşi şi funcţionează ca şi
depozit pentru obiectele grup;
 Grup – menţine informaţiile despre el însuşi şi oferă mecanismul
de păstrare şi organizare logică a itemilor (elementelor) OPC;
 Item – conţine un identificator unic în cadrul grupului care
reprezintă referinţa sursei de date, ca şi informaţii despre valoare,
calitate şi timp. Valoarea este data de la sursă, calitatea reprezintă
informaţii despre dispozitiv, iar timpul reprezintă momentul când
au fost preluate datele.
Grupul OPC oferă clienţilor o metodă de organizare a datelor. De
exemplu, un grup poate cuprinde itemii corespunzători unui anumit terminal
operator, sau ai unui raport. Datele pot fi citite şi scrise. Se pot crea conexiuni
bazate pe excepţii între client şi itemii din cadrul grupului care pot fi activate
sau dezactivate după necesităţi. Un client OPC poate configura frecvenţa cu
care serverul OPC să-i furnizeze informaţii despre modificări ale datelor.
Există două tipuri de grupuri: publice şi locale (private). Cele publice
se folosesc în comun de clienţi multiplii, iar cele locale se folosesc de către un
singur client.
În cadrul fiecărui grup se pot defini unul sau mai mulţi itemi OPC.
Fiecărui item i se asociază câte o etichetă pentru valoare, calitate şi timp.
Itemul OPC reprezintă în cadrul serverului conexiuni cu surse de date. Din
perspectiva interfeţei cu clientul, un item nu este accesibil ca şi obiect de către
un client OPC, astfel că nu există o interfaţă externă definită pentru obiectul
item. Toate accesurile către itemi OPC se fac prin intermediul obiectului OPC
grup, care conţine sau în care este definit itemul.
De remarcat că itemii nu reprezintă surse de date, ci doar conexiuni
către acestea. Itemul OPC trebuie interpretat ca şi o adresă a datelor, nu ca şi
sursa fizică a acestora.
O aplicaţie OPC accesează mai curând toţi itemii dintr-un grup decât
itemul de care are nevoie, deoarece grupul conţine frecvenţa de actualizare,
care informează serverul despre frecvenţa cu care schimbările datelor devin
disponibile clienţilor OPC. O bandă moartă definită pentru fiecare grup
informează serverul să respingă valorile care s-au schimbat cu mai puţin decât
procentajul benzii moarte.
Serverul OPC oferă clienţilor alarme şi controlul evenimentelor. Pentru
server, o alarmă este o situaţie anormală cu semnificaţie specială pentru client
– o condiţie asociată cu o anumită stare a serverului, a grupului sau a unui
item în interiorul serverului. De exemplu, dacă valoarea unei surse de date
care reprezintă temperatura reală a unui mixer scade sub o anumită limită,
atunci aplicaţiei i se poate trimite o alarmă astfel încât aceasta să poată trata
corect temperatura scăzută. Evenimentele sunt apariţii detectabile care au o
importanţă pentru server şi pentru client, cum sunt erorile de sistem,
schimbările de configuraţie, sau acţiunile operatorului.
29
OPC încorporează de asemenea standarde pentru accesul datelor
istorice, reprezentând o metodă de accesare a datelor memorate de sistemele
de stocare, incluzând serverele de stocare a datelor brute, ca şi serverele de
stocare a datelor complexe sau de analiză. Această caracteristică a OPC
permite interoperabilitatea sistemelor de baze de date proprietar.
Manipularea alarmelor şi evenimentelor OPC
Interfeţele oferă clienţilor OPC mecanismele prin care să fie notificaţi
despre apariţia evenimentelor şi condiţiilor de alarma specificate, dar şi
servicii care să permită clienţilor OPC să determine tipurile de evenimente şi
condiţii suportate de server şi prin care să obţină starea curentă a acestora.
În standardul OPC, o alarmă este o condiţie anormală, reprezentată de
o anumită stare a serverului de evenimente OPC, sau a unuia dintre obiectele
conţinute de acesta, care reprezintă interes pentru clienţii săi. Pe de altă parte,
un eveniment este reprezentat de apariţia detectabilă a unei valori cu
semnificaţie pentru serverul OPC, sau pentru clienţii săi OPC. Un eveniment
poate să fie sau să nu fie asociat cu o condiţie. De exemplu, acţiunile
operatorilor, sau schimbările de configuraţie ale sistemului sunt evenimente
care nu sunt asociate cu condiţii specifice. Clienţii OPC pot subscrie să fie
notificaţi despre apariţia unor anumite evenimente.
Interfaţa serverului de evenimente OPC oferă metode care permit
clienţilor OPC să:
 Determine tipurile de evenimente suportate de server;
 Stabilească subscripţii pentru anumite evenimente, astfel încât
clientul să primească notificaţii ale apariţiei acestora. Se pot
utiliza filtre pentru a defini un subset de evenimente dorite;
 Acceseze şi să manipuleze condiţiile implementate pe serverul
OPC.
În afara acestei interfeţe standard, un server de evenimente OPC poate
suporta interfeţe opţionale pentru răsfoirea condiţiilor implementate pe server
şi pentru managementul grupurilor de condiţii publice.
Accesul la datele istorice
Motoarele actuale de înregistrare a datelor istorice produc surse
adiţionale de informaţii care trebuie distribuite utilizatorilor şi clienţilor
software interesaţi de aceste informaţii. Multe dintre acestea folosesc propriile
lor interfeţe particularizate pentru diseminarea datelor, care nu oferă
capabilitatea de a combina sau utiliza soluţiile de înregistrare împreună cu alte
capabilităţi într-un mediu de tip „plug-and-play”. Aceasta impune
programatorului să recreeze aceeaşi infrastructură pentru produsele proprii aşa
30
cum şi ceilalţi producători au produs în mod independent, fără a fi interoperabile cu alte sisteme.
Din dorinţa de integrare a datelor la nivelul organizaţiei, datele istorice
trebuie considerate ca orice altă sursă de date.
Există în prezent câteva tipuri de servere de date istorice. Printre
tipurile suportate de specificaţiile OPC sunt:
 Servere de date simple – oferă o simplă stocare de date brute,
care trebuie să fie dintre tipurile de date disponibile pe un server
de acces la date OPC, de obicei prezentate sub forma setului
timp/valoare/calitate.
 Serverele complexe de compresie şi analiză de date – oferă şi
compresie pe lângă stocarea datelor brute, fiind capabile să ofere
rezumate sau funcţii de analiză a datelor ca valori medii, minime,
maxime, etc. De asemenea pot suporta actualizări ale datelor şi
istoricul acestor actualizări.
OPC – ideal pentru aplicaţiile cu mare capacitate de
numărare
Designul, scopurile şi motivaţia declarate de Fundaţia OPC pentru
standardizarea industriei sistemelor de control a permis implementarea
sistemelor cu mare capacitate de numărare care sunt eficiente şi uşor de
utilizat.
Dezvoltatorii de software client şi utilizatorii acestor aplicaţii au o mare
flexibilitate în implementarea unei soluţii adaptate cerinţelor pentru că datele
sunt organizate în grupuri, iar numirea sau etichetarea acestora este
determinată de software-ul client. Gruparea este benefică atunci când se
lucrează cu seturi mari de surse de date pentru că oferă o mai bună organizare
a datelor, dar şi o mai uşoară accesare a seturilor similare de date. Într-o
aplicaţie OPC, o etichetă reprezintă un mod unic de identificare a unui punct
de intrare/ieşire. Specificaţiile OPC lasă responsabilitatea denumirii
etichetelor pe seama software-ului client, care fie poate denumi etichetele prin
program, fie poate transfera sarcina utilizatorului. În sistemele mari, numele
semnificative alocate surselor de date uşurează sarcina operatorilor, permiţând
acestora să aleagă nume uşor de memorat pentru sursele de date. Această
flexibilitate reprezintă un factor important în abilitatea software-ului client de
a furniza soluţii adaptate aplicaţiilor cu mare cu mare capacitate de numărare.
Software-ul client stabileşte de asemenea frecvenţa cu care serverul
furnizează noi date clientului. Serverul este responsabil pentru publicarea
datelor, iar clientul devine condus de evenimente şi poate prelucra seturi mari
de date mai eficient pentru că nu se ocupă şi cu interogarea surselor pentru a
obţine noi date, ci este reactiv, aşteptând sosirea noilor date, astfel având mai
mult timp pentru înregistrarea şi analiza datelor.
31
Clientul stabileşte şi transmite serverului şi valoarea în procente a
benzii moarte, care permite selectarea datelor importante şi ignorarea celor
nesemnificative. Astfel se pot ignora valorile care nu se schimbă cu mai mult
decât un anumit procent din valoarea înregistrată anterior. Prin stabilirea unei
valori moderate a benzii moarte, se pot monitoriza un număr mai mare de
canale pentru că aplicaţia client primeşte numai informaţiile pe care le
consideră esenţiale, fără a fi inundat de informaţii de prisos.
Întrucât OPC este acum un standard industrial, aplicaţiile client se pot
conecta la aproape toate dispozitivele disponibile, de la orice producător care
respectă acest standard. Acestea sunt câteva dintre caracteristicile OPC care
oferă dezvoltatorilor de software un imens avantaj atunci când folosesc
conectivitatea OPC pentru a implementa aplicaţii software cu mare capacitate
de numărare.
reţele:
2.4 Sisteme OPC locale şi la distanţă
Producătorii de servere OPC pot alege una dintre următoarele tipuri de
1. Server local - Clientul se conectează întotdeauna la un server
OPC local, care se conectează la sursele de date printr-o schemă
de reţea proprietară. Această variantă este aleasă de obicei de
producătorii care adaugă capabilităţi OPC unui produs deja
existent pe piaţă.
2. Server la distanţă - Clientul se conectează la serverul dorit de
pe nodul ţintă şi foloseşte tehnologia DCOM pentru a comunica
în reţea.
Sisteme OPC locale
În cazul sistemelor OPC locale, atât serverul OPC cât şi clientul OPC
sunt instalate pe acelaşi calculator. După cum este prezentat în figura 2.5, o
instalaţie industrială conţine o reţea de dispozitive de control care comunică
cu serverul OPC folosind un protocol industrial specific.
Figura 2.5 Un sistem OPC local
32
Când serverul OPC primeşte date de la reţeaua industrială, le
converteşte într-un format OPC standard şi le pune la dispoziţia clienţilor
OPC. Clienţii pot citi datele sau pot transmite noi date spre dispozitivele de
control prin intermediul serverului OPC. Serverul organizează datele în
grupuri şi itemi pe care le expune într-o interfaţă standard. Grupurile permit
clientului OPC să organizeze datele şi să emită cereri de nivel grup pentru
notificări de actualizare. Itemii conţin informaţii despre datele publicate de
serverul OPC.
Atunci când un client OPC se conectează la un server OPC, clientul
specifică la ce itemi de date subscrie şi cât de des trebuie să primească
actualizări.
Sistemele OPC la distanţă
În cazul sistemelor OPC la distanţă, serverul OPC şi clientul OPC se
instalează pe calculatoare diferite. Ambele calculatoare trebuie să ruleze
sisteme de operare Windows (deoarece tehnologia OPC se bazează pe
Microsoft COM), şi trebuie să fie conectate între ele printr-o reţea Ethernet.
Pentru a face sistemul client/server să funcţioneze, trebuie configurate
corect setările DCOM ale serverului OPC. DCOM restricţionează accesul la
anumite calculatoare dintr-un domeniu, iar setările de securitate pot împiedica
clienţii OPC să comunice cu serverele la distanţă. Din această cauză este mai
uşor de configurat un sistem OPC local decât unul la distanţă.
De asemenea trebuie configurate mai multe setări Windows, cum sunt
cele de securitate, firewall-urile, ca şi software-urile OPC client şi server.
Pentru o funcţionare corectă, ordinea de configurare trebuie să fie următoarea:
 Setările de securitate Windows, incluzând utilizatori, grupuri şi
drepturile de acces corespunzătoare acestora;
 DCOM;
 Firewall-urile;
 Serverul OPC;
 Clientul OPC.
2.5 Perspectivele OPC
Arhitectura OPC unificată (OPC UA)
Pe data de 5 februarie 2009, Fundaţia OPC a publicat primele
specificaţii pentru arhitectura OPC unificată prin care se propune un standard
independent de platformă prin care diferite sisteme şi dispozitive pot
comunica prin mesaje între clienţi şi servere de pe diferite tipuri de reţele,
permiţând comunicaţii robuste şi sigure care să asigure identitatea clienţilor şi
a serverelor şi care să reziste atacurilor.
33
OPC UA defineşte un set de servicii care pot fi oferite de servere,
informaţiile sunt transmise folosind tipuri de date definite de standardul OPC
UA şi de producători, iar serverele definesc modelele obiectelor pe care
clienţii le pot descoperi în mod dinamic. Serverele pot oferi acces atât la
datele curente cât şi la cele istorice, ca şi la alarme şi evenimente pentru a
notifica clienţii despre schimbările importante.
OPC UA defineşte un model de infrastuctură comun pentru a facilita
schimbul de informaţii, astfel:
 Modelul informaţiilor care reprezintă structura, comportamentul
şi semantica acestora;
 Modelul mesajelor pentru interacţiunile dintre aplicaţii;
 Modelul comunicaţiilor pentru a transfera datele între diferitele
puncte;
 Modelul de conformitate pentru a garanta interoperabilitatea între
sisteme.
OPC UA poate fi implementat pe o varietate de protocoale de
comunicaţie, iar datele pot fi codate în diferite moduri pentru a realiza
compromisul între portabilitate şi eficienţă.
OPC UA furnizează spaţiu de adrese şi model de servicii integrate,
ceea ce permite ca un singur server OPC UA să integreze datele în timp real,
alarmele, evenimentele şi datele istorice şi oferă acces la ele folosind un set de
servicii integrat. Aceste servicii cuprind de asemenea şi un model de
securitate integrat.
OPC UA permite serverelor să ofere clienţilor definiţiile tipurilor
obiectelor accesate în spaţiul de adrese, utilizând modelul informaţiilor pentru
a descrie conţinutul spaţiului de adrese. Datele pot fi prezentate în diferite
formate, inclusiv structuri binare şi documente XML. Prin spaţiul de adrese,
clienţii pot cere serverului metadate care conţin descrierea formatului datelor.
Astfel, clienţii care nu au pre-programate informaţii despre formatul datelor
vor fi capabile să determine formatul şi să utilizeze datele în mod corect.
Prin OPC UA se adaugă multe tipuri de relaţii între noduri în loc să se
limiteze la o singură ierarhie, ceea ce permite serverelor OPC UA să prezinte
datele într-o varietate de ierarhii adaptate modului în care setul de clienţi
preferă să le acceseze. Această flexibilitate, combinată cu suportul pentru
definiţii de tipuri de date recomandă OPC UA unei arii largi de domenii de
probleme. Aşa cum este ilustrat în figura 6, OPC UA nu este destinat numai
interfeţelor cu sistemele SCADA, PLC şi DCS, dar şi interoperabilităţii dintre
funcţiile de nivel mai înalt.
Specificaţiile OPC UA sunt organizate pe niveluri pentru a izola
nucleul proiectului de tehnologia informatică şi de reţelele de transport, ceea
ce-i permite să se adapteze viitoarelor tehnologii fără să fie nevoie să fie
reproiectat.
34
Aplicaţiile client şi server care suportă multiple metode de transport şi
de codificare a datelor permit utilizatorilor să ia decizii în legătură cu
compromisul dintre performanţă şi compatibilitatea serviciilor Web la
momentul instalării, în loc ca aceste compromisuri să fie decise de producător
la momentul proiectării.
Modelele şi serviciile integrate
Modelul de securitate
Securitatea OPC UA se ocupă cu autentificarea clienţilor şi serverelor,
a utilizatorilor, integritatea şi confidenţialitatea comunicaţiilor, dar nu sunt
precizate circumstanţele în care sunt necesare diferitele mecanisme de
securitate. În schimb, este descris un model de securitate care conţine
mecanisme de securitate şi parametrii acestora, prin care măsurile de
securitate pot fi selectate şi configurate pentru a corespunde cerinţelor
specifice instalaţiilor.
În unele cazuri este definit mecanismul de modificare a parametrilor de
securitate, dar nu şi modul cum aplicaţiile pot utiliza aceşti parametri. De
asemenea este definit şi un set minim de profile de securitate care trebuie
suportate de toate serverele UA, chiar dacă nu vor fi folosite în totalitate în
toate instalările.
Securitatea la nivel de aplicaţie se bazează pe canale de comunicaţie
securizate care sunt active pe durate sesiunii de aplicaţie şi asigură integritatea
tuturor mesajelor transmise. Aceasta înseamnă că autentificarea utilizatorilor
se face o singură dată, la iniţierea sesiunii de aplicaţie.
Atunci când se stabileşte o sesiune, aplicaţiile client şi server negociază
un canal securizat de comunicaţie şi schimbă certificatele software care
identifică serverul şi clientul, ca şi capabilităţile puse la dispoziţie.
Certificatele software generate de o autoritate de certificare11 indică profilele
OPC UA pe care aplicaţia le implementează şi nivelul de certificare atins de
fiecare profil.
Apoi, serverul autentifică utilizatorii şi autorizează cererile ulterioare de
acces la obiectele conţinute de server. Mecanismele de autorizare cum sunt
listele de control al accesului nu sunt descrise de specificaţiile OPC UA, ci
sunt specifice fiecărei aplicaţii sau sistem.
OPC UA include şi suport pentru mecanismele de audit şi pentru
interogările reciproce ale înregistrărilor de audit ale clienţilor şi serverelor.
Dacă un server identifică o posibilă problemă de securitate, părţile asociate
acesteia din înregistrările de audit ale clienţilor pot fi localizate şi accesate. În
plus, serverele vor fi capabile să genereze notificări de evenimente auditabile
pe care clienţii să le proceseze şi să le înregistreze. Sunt definiţi de asemenea
11
Fundaţia OPC este una dintre autorităţile de certificare OPC UA
35
şi parametrii de audit de securitate care pot fi incluşi în înregistrările de audit
şi în notificările de evenimente de securitate.
Securitatea de la nivelul de transport poate fi folosită pentru a cripta şi
semna mesajele, protejându-le împotriva interceptărilor şi protejând
integritatea acestora. Capabilităţile de criptare vor fi oferite de tehnologiile de
comunicaţie utilizate pentru schimbul de mesaje între aplicaţiile OPC UA.
Modelul integrat al spaţiului de adrese
Setul de obiecte şi informaţiile asociate acestora pe care serverul OPC
UA le pune la dispoziţia clienţilor formează spaţiul de adrese, compus dintrun set de noduri conectate prin referinţe.
Caracteristicile primare ale nodurilor sunt descrise de atribute, singurele
elemente ale unui server dare au valori pentru date. Tipurile de date care
definesc valorile atributelor pot fi simple sau complexe.
Nodurile din spaţiul de adrese sunt clasificate după utilizare şi după
semnificaţie. Clasele de noduri formează metadate pentru spaţiul de adrese.
Clasa de noduri de bază defineşte atributele comune tuturor nodurilor,
permiţând identificarea, clasificarea şi denumirea acestora. Fiecare clasă de
noduri moşteneşte aceste atribute şi poate defini suplimentar propriile
atribute.
Pentru a uşura interoperabilitatea între clienţi şi servere, spaţiul de
adrese OPC UA este structurat ierarhic având acelaşi nivel superior pentru
toate serverele. Deşi nodurile din spaţiul de adrese sunt în mod normal
accesibile in mod ierarhic, ele pot conţine referinţe între ele, făcând din
spaţiul de adrese o reţea interconectată de noduri.
Modelul integrat de obiecte
Modelul de obiecte OPC UA oferă u set integrat de clase de noduri
pentru reprezentarea obiectelor în spaţiul de adrese. Acest model reprezintă
obiectele prin variabile, evenimente şi metode, ca şi prin relaţia lor cu alte
obiecte, ceea ce permite datelor, evenimentelor şi înregistrărilor istorice ale
acestora să fie integrate într-un singur server OPC UA. De exemplu, serverele
OPC UA pot reprezenta un transmiţător de temperatură ca un obiect compus
din valoarea temperaturii, un set de parametrii de alarmă şi setul
corespunzător de limite de alarmă.
Serviciile integrate
Interfaţa dintre clienţii şi serverele OPC UA este definită ca un set de
servicii organizate în grupuri logice numite seturi de servicii. Serviciile OPC
UA oferă clienţilor două capabilităţi: permit clienţilor să emită cereri către
servere şi să primească răspunsuri la acestea, şi permit clienţilor să subscrie la
servere pentru notificări. Notificările sunt utilizate de servere pentru a anunţa
apariţia alarmelor, a evenimentelor, a schimbărilor valorilor datelor şi a
rezultatelor execuţiei programelor.
36
Mesajele OPC UA pot fi codate ca text XML sau în format binar pentru
motive de eficienţă. Ele pot fi transferate folosind multiple mijloace de
transport, cum sunt TCP sau serviciile Web prin HTTP.
Sesiuni
Sesiunile sunt definite ca şi conexiuni între clienţi şi servere. Serverele
pot limita numărul de sesiuni simultane pe baza resurselor disponibile, a
restricţiilor de licenţiere sau a altor constrângeri. Fiecare sesiune este
independentă de protocoalele de comunicaţie folosite. Erorile acestor
protocoale nu cauzează în mod automat încheierea sesiunii. Sesiunile se
încheie pe baza cererilor clientului sau serverului, sau pe baza inactivităţii
clientului. Intervalul de timp de inactivitate se negociază la momentul
stabilirii sesiunii.
Concepte noi utilizate în arhitectura OPC UA
Arhitectura sistemelor OPC UA modelează clienţii şi serverele ca şi
parteneri care interacţionează. Fiecare sistem poate conţine multipli clienţi şi
servere. Fiecare client poate interacţiona cu unul sau mai multe servere, iar
fiecare server poate interacţiona cu unul sau mai mulţi clienţi. O aplicaţie
poate combina caracteristicile de client şi server pentru a putea interacţiona cu
alte aplicaţii server sau client.
Aplicaţiile client OPC UA
O aplicaţie client este partea de cod care implementează funcţiile
specifice clientului în interacţiunea client – server. Aceasta foloseşte interfaţa
(API) OPC UA pentru a transmite şi recepţiona cereri şi răspunsuri pentru
servicii OPC UA la/de la server. OPC UA API este o interfaţă internă care
izolează codul aplicaţiei client de stiva de comunicaţii OPC UA (OPC UA
Communication Stack).
Stiva de comunicaţii converteşte apelurile clientului în mesaje pe care
le transmite serverului utilizând infrastructura de comunicaţii existentă, la
cererea aplicaţiei client. De asemenea, primeşte răspunsurile şi mesajele de
notificare de la server şi le livrează clientului prin intermediul interfeţei OPC
UA Client API.
Aplicaţiile server OPC UA
O aplicaţie server este partea de cod care implementează funcţiile
specifice serverului, care foloseşte interfaţa OPC UA Server API pentru a
transmite şi recepţiona mesaje la/de la clienţii OPC UA. Obiectele reale sunt
obiecte fizice sau software accesibile aplicaţiei server OPC UA sau menţinute
intern de aceasta.
37
Spaţiul de adrese este modelat ca un set de noduri accesibile clienţilor
prin utilizarea serviciilor (interfeţe şi metode). Nodurile din spaţiul de adrese
reprezintă obiecte reale, definiţiile lor şi referinţele între ele). Utilizarea
referinţelor dintre noduri permite serverelor să organizeze spaţiul de adrese în
structuri ierarhice, în reţele complet interconectate de noduri, sau orice
combinaţie posibilă între acestea.
Interacţiunile server – server
Interacţiunile server – server sunt acele interacţiuni în care un server
acţionează ca şi client al altui server, în următoarele situaţii:
 Schimburi de informaţii între servere în forma punct-la-punct în cazul
serverelor redundante sau al serverelor la distanţă care menţin sisteme de
definiţii de tipuri de date;
 Lanţuri de servere într-o arhitectură pe niveluri, pentru agregarea datelor
de la serverele de la nivelurile inferioare şi construcţii de date de nivel
superior necesare pentru a oferi clienţilor un singur punct de acces la o
reţea de servere multiple.
Seturi de servicii
Serviciile OPC UA sunt împărţite în seturi de servicii, fiecare set definit
ca un grup logic de servicii folosite pentru a accesa un anumit aspect al
serverului. În specificaţiile OPC UA sunt definite următoarele seturi de
servicii:
 Setul de servicii de descoperire;
 Setul de servicii pentru canale securizate;
 Setul de servicii de sesiune;
 Setul de servicii de management al nodurilor;
 Setul de servicii de vizionare;
 Setul de servicii de interogare;
 Setul de servicii de atribute;
 Setul de servicii pentru metode;
 Setul de servicii pentru itemi monitorizaţi;
 Setul de servicii de subscrieri.
2.6 Dezvoltarea de aplicaţii client OPC în LabVIEW12
Compania National Instruments oferă o gamă largă de servere şi
drivere pentru a realiza interfaţa aplicaţiilor cu dispozitivele industriale cum
sunt controlerele logice programabile (PLC), disponibile în pachetele
sistemelor de dezvoltare NI Industrial Automation OPC Servers, NI
Developer Suite Control Editions şi NI Lookout, care conţin un server OPC
conceput să funcţioneze împreună cu aplicaţiile realizate în mediile NI
LabVIEW, LabVIEW Datalogging and Supervisory Control Module, NI
12
NI LabVIEW 8.6 Help - http://zone.ni.com/reference/en-XX/help/371361E-01/
38
LabWindows/CVI, şi NI Measurement Studio for Visual Basic and Visual
C++.
Utilizând Serverele OPC National Instruments se reduce substanţial
timpul şi costurile necesare dezvoltării şi integrării sistemelor prin eliminarea
necesităţii programării interfeţelor de comunicaţie cu dispozitivele de
automatizare industrială.
LabVIEW, prin modulele LabVIEW Datalogging and Supervisory
Control şi Lookout furnizează module client OPC capabile să comunice cu
orice sever OPC disponibil pe piaţă. Serverele OPC National Instruments sunt
compatibile cu o gamă largă de dispozitive şi protocoale de automatizare
industrială, fiind capabile să se conecteze la sistemele şi dispozitivele deja
existente.
Există două opţiuni pentru dezvoltarea de clienţi OPC în LabVIEW:
LabVIEW DataSocket, disponibil în pachetul LabVIEW Development
System, sau modulul LabVIEW Datalogging and Supervisory Control (DSC).
LabVIEW DataSocket
DataSocket poate fi utilizat pentru a deschide o conexiune către un item
de date publicat pe un server OPC folosind protocolul OPC. Această opţiune
funcţionează şi în cazul aplicaţiilor, în următoarele condiţii:
 Nu sunt necesare înregistrări automate ale datelor, alarme,
scalare sau securitate;
 Aplicaţia este mică, având conexiune cu unul sau doi itemi de
date;
 Nu sunt necesare setări de configuraţie cum sunt frecvenţa de
actualizare sau banda moartă;
 Aplicaţia trebuie să se conecteze la un server OPC care suportă
versiunile OPC 1.0 sau 2.x. În cazul versiunii OPC 3.0, trebuie
utilizat modulul DSC.
Modulul LabVIEW DSC13
Modulul DSC extinde mediul de dezvoltare grafică al LabVIEW cu
funcţii suplimentare pentru dezvoltarea rapidă a aplicaţiilor de măsurare
distribuită, control şi celor cu mare capacitate de numărare. De asemenea,
modulul DSC extinde partea de servicii de date a variabilelor distribuite
LabVIEW, care pot fi ataşate la itemii de date publicaţi pe un server OPC.
Modulul DSC este ideal pentru aplicaţii, în următoarele condiţii:
 Sunt necesare înregistrări automate ale datelor, sau activarea
alarmelor, scalare şi securitate;
13
LabVIEW 8.6 Datalogging and Supervisory Control Module Help - http://zone.ni.com/reference/enXX/help/371618D-01/
39
 Se lucrează cu mulţi itemi de date OPC. Modulul OPC poate
localiza toate serverele OPC instalate pe un calculator sau într-o
reţea şi să citească informaţiile disponibile despre capabilităţile
serverelor şi itemii de date direct de la serverele OPC. De
asemenea se pot răsfoi itemii de date şi se pot stabili setări cum
sunt frecvenţa de actualizare sau banda moartă;
 Trebuie accesaţi itemi OPC din variabile distribuite;
 Aplicaţia trebuie să se conecteze la un server OPC care suportă
versiunea OPC 3.0.
Modulul DSC poate fi folosit ca şi client OPC pentru a accesa servere
OPC diferite, inclusiv serverul NI OPC furnizat de modulul DSC. Serverul NI
OPC poate fi utilizat pentru transferul datelor de la dispozitive şi sisteme
industriale spre aplicaţiile client care rulează pe o maşină gazdă, facilitând
schimbul de date între o gamă largă de aplicaţii, cum sunt interfeţele ommaşină, aplicaţiile de managementul execuţiei sau de planificare a resurselor.
2.7 Concluzii
Serverele OPC sunt drivere hardware scrise conform standardului OPC
(OLE for Process Control). Acest standard acoperă diferenţele de comunicaţie
între aplicaţiile software şi dispozitive provenite de la diferiţi producători.
Programe conforme standardului OPC (Clienţi OPC) pentru HMI, SCADA,
DAS, etc. sunt oferite de firmele NEWPORT, OMEGA, Wonderware,
Iconics, Intellution, Rockwell Automation, National Instruments şi altele.
Astăzi, OPC a fost adoptat de aproape toate domeniile din industrie. La zece
ani de la lansare, OPC este unul dintre cele mai de succes standarde din
industrie, având câteva mii de aplicaţii şi milioane de instalări în toată lumea.
Toate sistemele disponibile comercial SCADA (Supervisory Control
and Data Acquisition), sistemele de control de proces şi controlerele bazate pe
PC oferă acum o interfaţă client OPC gratuită pentru acces la orice server
OPC. Datele sunt transferate înspre şi dinspre mediul procesului (dispozitive
I/O, dispozitive de măsurare, controlere cum sunt Simatic S7 sau S5) prin
servere OPC. Marele succes al standardului OPC în automatizare este
demonstrat de faptul că există mai mult de zece servere OPC pe piaţă, de la
diferiţi producători, pentru aceeaşi funcţie: accesarea automatelor
programabile Simatic. Având ca bază tehnologică DCOM (Distributed
Component Object Model), standardul OPC este restricţionat în folosire
împreună cu sistemul de operare Windows, în acelaşi timp, DCOM a
contribuit la succesul OPC. Pe de o parte, acceptarea rapidă a calculatoarelor
Windows ca şi componente de automatizare a permis tehnologiei OPC să se
impună pe glob în doar câţiva ani, iar pe de altă parte, utilizarea tot mai
intensă a OPC, noile domenii de aplicaţii care se deschid şi stabilesc
orientarea generală spre tehnologiile Web, impun cerinţe noi standardului
OPC.
40
Serviciile Web, XML (Extensible Markup Language) şi HTTP deschid
noi posibilităţi standardului OPC. Prin specificaţiile OPC XML DA, Fundaţia
OPC foloseşte serviciile Web si XML ca noua bază tehnologică pentru
comunicaţiile OPC deschise între aplicaţii de la diferiţi producători care
utilizează diferite protocoale pe diferite platforme. Serviciile Web pot fi
create pe orice platforma utilizând orice instrumente de programare. XML
este un limbaj foarte răspândit, flexibil si extensibil care – ca si protocolul de
transport HTTP – este suportat practic de toate platformele. Aplicaţiile client
şi server OPC XML DA pot fi astfel utilizate pe Windows, Unix sau Linux, ca
şi pe orice altă platformă care permite implementarea serviciilor Web.
Comunicaţiile OPC se pot desfăşura ca schimb de mesaje XML prin SOAP
(Simple Object Access Protocol) într-o reţea intranet, sau chiar dincolo de
firewall în Internet. Independenţa de platformă şi posibilitatea de a accesa
componentele OPC dincolo de firewall au devenit astfel o realitate. A început
o noua eră în care mii de servere OPC DA vor migra gradual către servere
OPC XML DA pentru a permite interoperabilitatea între platforme. OPC va fi
implementat pe un tip nou de dispozitive pe care nu rulează neapărat sistemul
de operare Windows. Produsele OPC vor fi disponibile pentru dispozitivele
înglobate, pentru aplicaţii industriale, senzori, terminale inteligente mobile si
dispozitive de intrare/ieşire, controlere, etc.
Un exemplu de server OPC care suporta atât DCOM (Data Access) cât
şi servicii Web (XML DA) este serverul OPC S7/S5 produs de firma Softing
AG. Serverul OPC S7/S5 permite oricărei aplicaţii client OPC acces rapid şi
uşor la datele din controlerele seriilor Simatic S7 si S5. Controlerele pot fi
accesate prin comunicaţii Ethernet, Profibus sau seriale, cu sau fără modem.
Serverul OPC poate comunica cu maximum 16 controlere în acelaşi timp
printr-o placă standard Ethernet.
Principalul avantaj oferit de interfaţa OPC este independenţa faţă de un
anumit producător, produs sau hardware. Tehnologia permite o distincţie clara
între aplicaţiile client şi server, încapsulează caracteristicile specifice
produselor şi face posibilă actualizarea cu uşurinţă la o noua versiune sau
trecerea la un produs diferit. Independenţa de platformă deschide şi
posibilitatea comunicaţiilor OPC între componente care rulează diferite
sisteme de operare şi prin Internet.
41
3. CLIENŢI OPC PENTRU TERMINALE MOBILE
3.1 Noţiuni introductive
Dezvoltarea rapidă a comunicaţiilor fără fir din ultimii ani a permis
utilizatorilor să se conecteze la internet aproape de oriunde, fie prin
intermediul punctelor de acces (gratuite sau nu), fie prin infrastructura
companiilor de telefonie mobilă care oferă viteze de conectare tot mai mari, la
preţuri accesibile. Integrarea conceptelor de PDA (iniţial creat pentru a fi un
fel de agendă electronică) şi de telefon inteligent (smartphone) a creat
posibilitatea de a avea la îndemână un mic computer care poate să ofere acum
mult mai multe funcţii decât ne puteam aştepta în urmă cu câţiva ani. Acestea
au devenit la fel de puternice ca şi PC-urile de la începutul acestui deceniu,
având însă progrese semnificative în ceea ce priveşte flexibilitatea, interfaţa
cu utilizatorul sau programele disponibile, şi capabilităţile acestora continuă
să crească.
Popularitatea în creştere a dispozitivelor mobile, dar şi instrumentele de
dezvoltare puse la dispoziţie de producătorii de sisteme de operare mobile sau
de producătorii de medii de dezvoltare profesionale (cum este National
Instruments) au permis crearea de programe pentru PDA-uri şi telefoane
inteligente capabile să transmită şi să recepţioneze informaţii la / de la un
server de date, rezultând soluţii portabile pentru o gamă largă de aplicaţii cum
sunt sistemele de testare portabile, cele de monitorizare şi / sau control, sau
sistemele portabile de achiziţii de date.
Modulul PDA (sau Mobile cum se numeşte în cea mai recentă versiune)
din pachetul LabVIEW produs de National Instruments extinde mediul grafic
de dezvoltare LabVIEW pentru a permite crearea de programe pentru
dispozitive portabile care rulează sistemul de operare Windows Mobile.
LabVIEW utilizează modelul Open System Interconnection (OSI),
astfel că implementarea reţelelor de comunicaţii fără fir este la fel de simplă
ca şi în cazul reţelelor clasice cu fir. Suportul pentru comunicaţiile Bluetooth
oferit începând cu versiunea LabVIEW 7.1 extinde opţiunile disponibile
pentru crearea de aplicaţii fără fir pentru PDA.
3.2 Metode de comunicaţii în reţea în LabVIEW
Instrumentele virtuale (VI) – elementele de bază ale mediului de
programare grafică LabVIEW – pot comunica în reţea cu alte procese,
inclusiv cele care rulează în alte aplicaţii sau pe alte calculatoare, pentru a
îndeplini următoarele tipuri de sarcini:
 Schimburi de date în timp real cu alte instrumente virtuale din reţea
utilizând mecanismul variabilelor distribuite (shared variables);
 Publicarea pe internet a imaginilor panourilor de control şi a
documentaţiei instrumentelor virtuale;
 Transmiterea de date ale instrumentelor virtuale prin e-mail sau SMS;
42
 Construirea de instrumente virtuale care comunică cu alte aplicaţii sau
instrumente virtuale prin protocoale de nivel scăzut, cum sunt TCP sau
UDP.
Fiecare facilitate de comunicare în reţea din LabVIEW corespunde
unor nevoi ale diferitelor aplicaţii, astfel:
 Shared Variable – pentru utilizarea în comun a datelor în timp real cu alte
instrumente virtuale de pe acelaşi calculator, de pe un alt calculator din
reţea, sau cu un server;
 DataSocket cu protocolul PSP sau DSTP – pentru utilizarea în comun a
datelor în timp real cu alte instrumente virtuale de pe acelaşi calculator, de
pe un alt calculator din reţea, sau cu un server (necesită programare
suplimentară faţă de mecanismul shared variable);
 DataSocket cu protocolul OPC – pentru citirea datelor dintr-o reţea
industrială cu utilizarea DataSocket ca şi client OPC;
 Funcţiile TCP – pentru comunicarea cu un instrument care utilizează un
protocol bazat pe TCP;
 Funcţiile UDP – pentru comunicarea cu un pachet software care utilizează
un protocol bazat pe UDP;
 Funcţiile IrDA – stabilesc o conexiune fără fir în infraroşu cu un alt
calculator;
 Funcţiile Bluetooth – stabilesc o conexiune fără fir cu un dispozitiv
Bluetooth.
Pe lângă aceste facilităţi de comunicare în reţea, se pot pune la
dispoziţie şi accesa date în LabVIEW prin următoarele metode:
 Funcţiile File I/O – pentru crearea de fişiere care conţin date care pot fi
citite de alte aplicaţii sau instrumente virtuale;
 VI Server – pentru controlul altor instrumente virtuale sau aplicaţii
LabVIEW de pe calculatorul local sau de pe alte calculatoare din reţea;
 Funcţiile ActiveX – pentru accesarea facilităţilor multora dintre aplicaţiile
Microsoft (de exemplu pentru inserarea reprezentărilor grafice ale
formelor de undă în foile de calcul Excel).
3.3 Aplicaţii de reţea de tip Client – Server în LabVIEW
În LabVIEW se pot crea aplicaţii de tip client pentru a subscrie la date
şi a folosi facilităţi ale altor aplicaţii sau de tip server pentru a pune la
dispoziţie datele sau facilităţile LabVIEW altor aplicaţii.
Pentru a putea accesa date sau proprietăţi şi a invoca metode ale altei
aplicaţii, trebuie stabilit protocolul de reţea corespunzător. De exemplu,
protocolul HTTP este ideal pentru publicarea pe internet a panourilor de
control ale instrumentelor virtuale, dar pentru crearea de instrumente virtuale
care utilizează date create de alte instrumente virtuale trebuie utilizat
protocolul TCP/IP. De asemenea se pot utiliza tehnologiile ActiveX în
LabVIEW pentru a crea aplicaţii server sau client ActiveX.
43
Protocolul TCP în reţelele fără fir, ca şi în cele cu fir, asigură
transmisiile în reţea şi livrarea datelor în ordinea corectă, fără erori, pierderi
dau duplicări. Conexiunea TCP retransmite automat datagrama care conţine
datele împreună cu un antet care indică adresele sursă şi destinaţie, până când
primeşte confirmarea transmisiei.
În LabVIEW, stabilirea unei comunicaţii TCP este similară cu
stabilirea unui proces de citire/scriere de fişiere sau a unei comunicaţii de
intrare/ieşire cu un instrument, presupunând: deschiderea conexiunii,
citirea/scrierea datelor, închiderea conexiunii. Se poate folosi un PDA ca şi
gazdă a unei aplicaţii de tip client sau server.
3.4 Utilizarea în comun a datelor în timp real prin
mecanismul Shared Variables
Variabilele distribuite (Shared variables) sunt elemente software preconfigurate care permit transmiterea datelor între instrumentele virtuale,
reprezentând valori sau puncte I/O. Acestea pot fi create numai pe
calculatoare care rulează versiuni ale sistemelor de operare Windows sau pe
sisteme în timp real cu utilizarea modulului LabVIEW Real Time. Pentru
citirea sau scrierea variabilelor de pe alte platforme se utilizează funcţiile
DataSocket.
Opţiunile de configurare ale variabilelor distribuite sunt disponibile
prin intermediul casetei de dialog Shared Variable Properties. Aici, în cadrul
meniului Variable Type se poate opta între valorile Network-Published în
cazul în care se doreşte ca variabilele să poată fi citite sau scrise de pe
calculatoare diferite conectate la reţea, sau Single-Process dacă variabilele vor
fi disponibile doar pe calculatorul pe care au fost create. Datele de configurare
ale variabilelor create sunt salvate de LabVIEW într-un fişier cu extensia
.lvlib, care conţine informaţii despre toate variabilele din biblioteca asociată
proiectului.
Mecanismul Shared Variable Engine (SVE) utilizează protocolul NI
Publish-Subscribe
Protocol
(NI-PSP)
pentru
transferul
datelor
corespunzătoare variabilelor distribuite în reţea. LabVIEW identifică
variabilele distribuite prin intermediul unei căi de reţea care conţine numele
calculatorului, numele bibliotecii proiectului şi numele variabilei respective.
Aceste biblioteci se numesc procese, şi de altfel rulează ca procese în cadrul
sistemului de operare. Când aplicaţia rulează, SVE controlează procesul şi
transferul datelor variabilelor distribuite.
Pe calculatoarele care rulează sistemul de operare Windows, se poate
integra un server OPC prin mecanismul SVE. Orice aplicaţie client OPC
poate citi sau scrie date prin SVE. Astfel, Shared Variable Engine poate fi
considerat un server OPC implicit al mediului de programare LabVIEW.
Singura deosebire este aceea că instrumentul virtual care creează biblioteca de
44
variabile distribuite poate avea şi funcţii de achiziţii de date sau de control al
procesului.
Pentru a putea transmite datele corespunzătoare variabilelor distribuite
prin firewall-uri sau routere, acestea trebuie configurate. Astfel, pentru
calculatoarele care rulează sistemul de operare Windows XP sau o versiune
mai nouă, în lista de excepţii a firewall-ului trebuie introduse următoarele
fişiere:
 C:\Windows\system32\lkads.exe
 C:\Windows\system32\lktsrv.exe
 C:\Program Files\National Instruments\Shared\Tagger\tagsrv.exe
 C:\Windows\system32\nicitdl5.exe (dacă se utilizează LabVIEW DSC)
 C:\Program Files\National Instruments\DataSocket\cwdss.exe (dacă se
utilizează LabVIEW DataSocket)
Mecanismul de publicare în reţea a variabilelor distribuite utilizează
portul UDP 2343 şi o gamă de porturi UDP începând cu portul 6000. Numărul
de porturi utilizate în această gamă depinde de numărul de servere care
rulează simultan pe computer. Aplicaţiile client care utilizează variabile
distribuite în reţea folosesc o gamă de porturi UDP începând cu portul 5000,
numărul de porturi utilizate depinzând de asemenea de numărul de aplicaţii
client care rulează simultan pe acelaşi computer.
În afara acestor porturi UDP, mai trebuie deschise şi porturi TCP.
Protocolul NI-PSP care publică în reţea variabilele distribuite caută porturi
TCP disponibile începând cu portul 59110. Fiecare aplicaţie care rulează
foloseşte un port TCP, deci numărul de porturi care trebuie configurate
depinde de numărul de aplicaţii care trebuie să ruleze simultan.
Pentru a permite aplicaţiilor client care rulează pe un computer din
afara firewall-ului să se conecteze la un server protejat de firewall, trebuie
îndeplinite următoarele condiţii:
1. Se deschide portul 2343 pentru pachetele primite;
2. Se deschide gama de porturi UDP de la 6000 la 6010 pentru
pachetele primite;
3. Se deschide câte un port TCP pentru fiecare aplicaţie rulată,
începând cu portul 59110.
Paşii exacţi necesari pentru a face aceste configurări, depind de tipul de
firewall utilizat. În acelaşi mod se pot configura aplicaţiile client protejate de
firewall să se conecteze la servere aflate în afara firewall-ului, deschizând
gama de porturi UDP de la portul 5000 la 5010 pentru pachetele primite.
Unele tipuri de firewall transmit pachetele primite fără a fi necesară nici o
configurare suplimentară.
În cazul routerelor, trebuie configurată tabela de conversie Network
Address Translating (NAT) pentru a realiza corespondenţa dintre adresele IP
locale şi adresele IP publice.
45
Pentru a permite aplicaţiilor client care rulează pe un computer din
afara unui router care utilizează tabela de conversia a dreselor NAT să se
conecteze la un server din reţeaua internă routerului, trebuie îndeplinite
următoarele condiţii:
1. Se transferă portul UDP 2343 către calculatorul pe care rulează
serverul.
2. Se transferă porturile UDP 6000 - 6010 către calculatorul pe care
rulează serverul.
3. Începând cu portul TCP 59110, se transferă câte un port TCP pentru
fiecare aplicaţie rulată.
În cazul aplicaţiilor client care rulează pe calculatoare aflate în reţeaua
internă a routerului, se transferă porturile UDP din gama 5000 – 5010 către
calculatorul pe care rulează aplicaţia client.
Sursele posibile de date pentru variabilele distribuite sunt:
 Canalele de intrare/ieşire ale plăcilor de achiziţie de date;
 Variabile din cadrul instrumentelor virtuale;
 Variabile ale protocolului NI-PSP, de exemplu variabile distribuite ale
altei aplicaţii;
 Variabile ale serverelor de intrare/ieşire definite în afara proiectului activ.
Configurarea sursei de date a variabilelor distribuite se face prin bifarea
căsuţei Bind to Source de pe subpagina Variable din caseta de dialog Shared
Variable Properties (figura 3.3). În cazul configurării sursei de date pe o altă
maşină ţintă din reţea, LabVIEW nu transmite în mod automat toate
schimbările de configuraţie de la sursa de date. Astfel, reconfigurările sursei
de date pot conduce la întreruperea conexiunii variabilei distribuite.
Figura 3.3 Caseta de dialog Shared Variable Properties
46
Pentru a adăuga o variabilă distribuită într-un proiect, se face click
dreapta pe o ţintă, pe o bibliotecă a proiectului sau pe un folder din biblioteca
proiectului din fereastra Project Explorer (figura 3.4) şi se selectează
New»Variable din meniul contextual pentru a accesa caseta de dialog Shared
Variable Properties. Aici se setează opţiunile de configurare dorite, apoi se
apasă butonul OK. Variabilele create se vor găsi într-o bibliotecă a
proiectului. Dacă se creează o variabilă pe o ţintă sau pe un folder care nu se
găseşte într-o bibliotecă a proiectului, LabVIEW creează o nouă bibliotecă şi
plasează noua variabilă creată în interiorul acesteia.
Figura 3.4 Crearea unei noi variabile în fereastra Project Explorer
Fiecare variabilă distribuită de pe o maşină ţintă are o adresă pe care
protocolul NI-PSP o foloseşte pentru identificare. Înainte de a putea accesa o
variabilă distribuită din alte aplicaţii cum sunt panouri de control, noduri de
variabile distribuite din cadrul diagramelor bloc, sau alte variabile distribuite,
biblioteca de variabile distribuite a proiectului trebuie publicată în reţea.
Pentru aceasta, se face click dreapta pe biblioteca respectivă şi se selectează
Deploy din meniul contextual. În cazul folosirii modulului în timp real (RT
Module), în meniul contextual apare opţiunea Deploy All care publică în reţea
toate bibliotecile conţinând variabile distribuite de pe maşina ţintă, dar şi toate
instrumentele virtuale care conţin variabile distribuite de pe maşina
respectivă.
Se poate utiliza şi meniul dialog Variable Manager pentru a edita, crea
şi monitoriza variabile distribuite în afara mediului proiectului. Trebuie avut
în vedere faptul că dacă se adaugă noi variabile distribuite unei biblioteci prin
acest meniu, noile variabile vor putea exista numai până când biblioteca
originală a proiectului va fi publicată din nou.
Configurarea sau reconfigurarea variabilelor distribuite se poate face
prin efectuarea unui click dreapta pe variabila respectivă şi selectarea opţiunii
Properties din meniul contextual, care afişează caseta de dialog Shared
Variable Properties. Ca setare implicită, o variabilă poate fi accesată pentru
scriere de multiple aplicaţii. Prin bifarea opţiunii Single Writer se stabileşte ca
o singură aplicaţie la un moment dat să poată scrie date în variabila
respectivă, protejând astfel operaţia de scriere să fie afectată de o altă aplicaţie
care accesează variabila în acelaşi timp. Mecanismul variabilelor distribuite
47
restricţionează operaţia de scriere a datelor la o singură aplicaţie de pe aceeaşi
maşină, astfel că prima aplicaţie care se conectează la variabila respectivă
poate efectua scrierea, iar celelalte primesc o notificare sub forma unui mesaj
de eroare.
După efectuarea oricărei modificări de configuraţie a unei variabile
distribuite, biblioteca în care este conţinută aceasta trebuie republicată în
reţea. De asemenea se poate utiliza proprietatea Variable Reference pentru a
modifica configurările din interiorul unui instrument virtual, prin programare.
3.5 Utilizarea variabilelor distribuite în cadrul
instrumentelor virtuale pentru dispozitive portabile de tip
PDA
Variabilele distribuite pot fi utilizate pentru a accesa în comun datele de
către instrumente virtuale care rulează pe aceeaşi maşină sau pe maşini
diferite conectate în reţea. Modulul PDA nu suportă protocolul DataSocket
Transport Protocol (DSTP) sau găzduirea de variabile distribuite în reţea, ceea
ce înseamnă că pe aceste dispozitive se pot crea numai aplicaţii client, care
pot accesa pentru citire/scriere variabilele distribuite puse la dispoziţie de
aplicaţii server care rulează pe alte tipuri de echipamente.
Mecanismul Shared Variable Engine (SVE) nu rulează pe maşini de tip
PDA, iar înainte de a încerca să se ruleze aplicaţii care accesează variabile
publicate în reţea trebuie instalat suportul LabVIEW pentru variabile
distribuite, altfel se va primi un mesaj de eroare. Pentru instalare, având PDAul conectat la calculator şi sincronizat prin aplicaţia ActiveSync se rulează
programul
de
instalare
aflat
în
locaţia
labview\PDA\Utilities\Variables\Setup.exe, sau prin click dreapta pe ţinta
PDA sau Touch Panel din fereastra Project Explorer de unde se selectează
Install»Support for Shared Variables.
3.6 Crearea aplicaţiilor wireless pentru dispozitivele
portabile de tip PDA
Aplicaţiile wireless pentru PDA se constituie dintr-un client şi un
serviciu. Clientul este aplicaţia PDA care monitorizează şi/sau controlează
servicii la distanţă prin reţea şi care comunică direct cu un serviciu de pe un
server sau de pe un alt dispozitiv. Serviciile sunt instrumente virtuale sau alte
aplicaţii care realizează procese pe care le accesează clienţii.
Pentru exemplificare, am realizat un experiment în care se urmăreşte
analiza parametrilor unor circuite electronice cu ajutorul unui generator de
semnale, a unui osciloscop şi a unei incinte termostabilizate (figura 3.5).
48
Circuit de
analizat
(filtru)
Generator de
semnale
Osciloscop
Incintă termostabilizată
Figura 3.5 Schema simplificată a experimentului
Instalaţia de automatizare este compusă dintr-un laptop conectat la
două plăci de achiziţii: NI USB-6251 şi NI USB-6009 prin care se realizează
elementele componente ale experimentului, inclusiv circuitul de analizat,
respectiv un filtru digital ai cărui parametrii pot fi stabiliţi cu ajutorul
elementelor de pe panoul frontal al aplicaţiei. Laptop-ul este conectat la reţea
prin intermediul unui router wireless, prin care se conectează şi PDA-ul
utilizat pentru monitorizare sau comandă de la distanţă (figura 3.6).
NI USB-6251
NI BNC-2120
•Generator de semnale
•Filtru
•Osciloscop
NI USB-6009
Incinta
termostabilizată
Figura 3.6 Elementele componente ale experimentului
49
Figura 3.7 Dispunerea experimentului în laborator
Pe laptop rulează aplicaţia de control local al experimentului, ca şi
aplicaţia server pentru variabile distribuite. Fereastra Project Explorer
corespunzătoare experimentului este prezentată în figura 3.8, în care se
observă biblioteca proiectului PDA Remote Library.lvlib şi aplicaţia Teza
final PC.vi aflate pe My Computer, iar aplicaţia Teza final PDA.vi rulează pe
PDA (Windows Mobile 6 Device).
Figura 3.8 Fereastra Project Explorer a experimentului
50
Figura 3.9.a Panoul frontal al aplicaţiei de control
51
52
Figura 3.9.b Panoul frontal al aplicaţiei de control local al experimentului
53
Figura 3.10 Diagrama bloc a aplicaţiei de control local al
experimentului
Aplicaţia de control local al experimentului
Panoul frontal al aplicaţiei de control local al experimentului este
prezentat în figura 3.9, iar diagrama bloc a acesteia în figura 3.10. Se
observă pe panoul frontal zone distincte pentru generatorul de semnale
(inclusiv un afişaj al semnalelor generate), filtrul care simulează circuitul
analizat, afişajul semnalelor filtrate şi sistemul de control al temperaturii
incintei în care se plasează circuitul analizat. Corespunzător acestora, în
diagrama bloc se găsesc elementele grafice de programare în LabVIEW
care realizează aceste funcţii, şi care vor fi analizate separat în continuare.
Pentru furnizarea semnalelor de la ieşirea generatorului şi a filtrului,
am utilizat două ieşiri analogice ale plăcii NI USB-6251 programate aşa
cum rezultă din extrasul din diagrama bloc a aplicaţiei de control local,
prezentată în figura 3.11.
Figura 3.11 Programarea canalelor de ieşire analogică
Elementele numerotate cu [1] în figura 3.11 reprezintă constante cu
ajutorul cărora se precizează dispozitivul şi ieşirile care vor fi utilizate (în
acest caz, dispozitivul Dev3 este placa NI USB-6251 de la care se
selectează ieşirile ao0, respectiv ao1. Aceste constante se concatenează ca
elemente ale unui vector cu ajutorul funcţiei „Build Array” [2]. Funcţia [3]
„DAQmx Flatten Channel String” converteşte acest vector într-o listă
delimitată prin virgulă care conţine numele canalelor de date, furnizată
funcţiei [4] „DAQmx Create Virtual Channel” care creează un set de două
54
canale virtuale de ieşire analogică denumite „AO Voltage” ale căror limite
sunt stabilite la ±10V cu ajutorul celor două constante.
Funcţia [5] „Property Node” adaugă acestei liste proprietatea de a nu
repeta aceeaşi secvenţă de date („Do Not Allow Regeneration”), furnizând
astfel informaţia necesară funcţiei [6] („DAQmx Timing”) care creează o
sarcină („task”) de generare şi setează parametrii de sincronizare ai
canalelor de date: frecvenţa de generare („Sample Clock Rate”) stabilită în
acest caz la 4000 de eşantioane pe secundă pe canal, respectiv metoda de
generare, în acest caz continuă („Continous Samples”) ceea ce înseamnă că
se vor genera eşantioane până la activarea funcţiei [15] „DAQmx Clear
Task”. Funcţia [7] „Property Node” extrage din matricea generată de
funcţia [6] „DAQmx Timing” frecvenţa de eşantionare, necesară funcţiei
[8] „Bundle By Name” care creează un set de date (1) conţinând
dimensiunea eşantionului şi frecvenţa de eşantionare care vor fi transmise
generatorului de funcţii [9] inclus în bucla principală a programului.
Secvenţa de program descrisă mai sus, ca şi cea corespunzătoare
iniţializării canalelor de intrare analogică se execută o singură dată la
pornirea programului, nefiind incluse în bucla principală de tip „While”.
Această metodă de programare, care poate părea mai complicată, este în
schimb mai rapidă decât în cazul folosirii funcţiilor Express.vi care sunt
mai simplu de utilizat, dar care, fiind incluse în bucla programului repetă
iniţializarea canalului la fiecare iteraţie. În plus, construcţia funcţiilor de tip
Express.vi nu permite utilizarea lor in cazul mai multor canale ale aceleiaşi
plăci de achiziţii într-o buclă repetitivă.
Generatorul de funcţii [9], a cărui funcţionare va fi descrisă în
paragraful următor, furnizează semnalul de ieşire atât elementului grafic de
afişare [13], cât şi funcţiei [10] („Build Array”) care concatenează cele
două şiruri de date reprezentând semnalul generat şi cel de la ieşirea
filtrului pentru a crea informaţia transmisă împreună cu descrierea sarcinii
(2) funcţiei [11] („DAQmx Write”) care converteşte această informaţie în
semnale analogice transmise la ieşirile specificate anterior. Pentru a
iniţializa conversia, la prima iteraţie a buclei se execută o singură dată
funcţia [12] („DAQmx Start Task”) inclusă într-o structură de tip „Case” a
cărei condiţie este stabilită de variabila „First Call” aparţinând buclei
principale de tip „While”.
După ieşirea din bucla principală ca urmare a apăsării butonului
STOP de pe panoul de control sau ca urmare a apariţiei unei erori, şirul
conţinând numele şi descrierea sarcinii create în zona de iniţializare se
transmite funcţiei [15] („DAQmx Clear Task”) care are rolul de a opri şi a
şterge din memorie sarcina dar şi de a elibera resursele utilizate de aceasta.
Linia punctată galbenă care se transmite între toate funcţiile
prezentate mai sus are rolul de a transmite o structură de date cu trei
elemente conţinând informaţiile despre eventualele erori apărute în
55
funcţionarea programului (3). Cele trei elemente sunt: o variabilă binară
reprezentând starea erorii (0 – Fals, 1 – Adevărat), un număr real
reprezentat pe 32 de biţi reprezentând codul erorii şi un şir alfanumeric
reprezentând sursa erorii. Din acestea, starea erorii este extrasă [14]
înaintea ieşirii din bucla principală şi poate determina terminarea buclei în
cazul apariţiei unei erori, iar informaţiile reprezentând natura şi sursa erorii
sunt afişate într-o fereastră de dialog de către funcţia [16] („Simple Error
Handler”), numai dacă este cazul.
În figura 3.12 este extrasă zona din diagrama bloc a aplicaţiei de
control local al experimentului care reprezintă generatorul de funcţii, în
situaţia în care comanda aplicaţiei se realizează de la distanţă, prin aplicaţia
client care rulează pe PDA, iar în figura 3.13 situaţia în care comanda este
locală, prin elementele panoului de control al aplicaţiei care rulează pe PC.
Figura 3.12 Programarea generatorului de funcţii pentru comanda de la distanţă
56
Figura 3.13 Programarea generatorului de funcţii pentru comanda locală
Se observă că cele două situaţii diferă prin conţinutul structurii de tip
„Case”, controlată de semnalul (0) – „Control local”. În situaţia comenzii
de la distanţă, parametrii semnalului generat de către generatorul de funcţii
[9] („Basic Function Generator”) sunt stabiliţi prin citirea valorilor
variabilelor distribuite: Ch1 Offset, Ch1 Type, Ch1 Freq şi Ch1 Amplitude,
ale căror valori sunt scrise în acest caz de aplicaţia client care rulează pe
PDA. În situaţia comenzii locale (figura 3.12), în interiorul structurii
„Case” se observă elementele de control a parametrilor respectivi de la
aplicaţia locală, ca şi comanda de scriere a valorilor acestora în variabilele
distribuite respective.
Valorile curente ale frecvenţei, amplitudinii şi componentei continue
ale semnalului generat sunt afişate pe elementele corespunzătoare ale
panoului frontal, iar pentru tipul formei de undă s-a optat pentru a nu fi
afişată, aceasta fiind reprezentată grafic.
Cu aceşti parametri, împreună cu setul de date (1) conţinând
dimensiunea eşantionului şi frecvenţa de eşantionare, funcţia [9] („Basic
Function Generator”) creează şirul de date reprezentând succesiunea
eşantioanelor semnalului generat, utilizat atât pentru elementul de afişare
grafică de pe panoul frontal al aplicaţiei locale, cât şi de funcţia [10]
(„Build Array”) descrisă anterior, care îl concatenează cu şirul
reprezentând semnalul de la ieşirea filtrului.
Programarea canalelor de intrare analogică necesare transmiterii
semnalelor la intrarea filtrului şi respectiv achiziţionării semnalelor filtrate
în vederea afişării este realizată conform extrasului din diagrama bloc
reprezentată în figura 3.14.
Figura 3.14 Programarea canalelor de intrare analogică
Această porţiune de program conţine ca şi în cazul programării
canalelor de ieşire analogică o parte de iniţializare aflată în afara buclei
principale a programului (funcţiile [17] … [22]) şi o parte repetitivă inclusă
în bucla principală (funcţiile [23] şi [24]).
Funcţiile [17] … [21] sunt similare celor utilizate la iniţializarea
canalelor de ieşire analogică, cu deosebirea că în acest caz sunt selectate
canalele fizice de intrare Dev3/ai2, respectiv Dev3/ai4, iar setul de două
canale virtuale de intrare analogică este denumit „AI Voltage”. Frecvenţa
57
de eşantionare utilizată este şi în acest caz 4000 de eşantioane pe secundă
pe fiecare canal de intrare.
Funcţia [22] „DAQmx Start Task” porneşte sarcina creată, ceea ce
determină alocarea resurselor necesare şi începerea măsurării. Utilizarea
acestei funcţii ca şi a uneia din funcţiile „DAQmx Stop Task” sau
„DAQmx Clear Task” în afara buclei duce la reducerea timpului de rulare,
în acest caz iniţializarea şi încheierea măsurării făcându-se o singură dată.
În lipsa acestor funcţii, funcţiile „DAQmx Read” şi „DAQmx Write” care
se plasează de obicei în interiorul buclei detectează automat situaţia şi
pornesc, respectiv opresc măsurarea la fiecare rulare a buclei, scăzând
performanţele programului.
Funcţia [23] „DAQmx Read” citeşte la fiecare iteraţie 1000 de
eşantioane de la fiecare canal de intrare precizat în sarcina creată, datele
rezultate fiind transmise funcţiei [24] „Split 1D Array” care separă cele
două şiruri de date pe canale, primul şir (5) corespunzător intrării Dev3/ai2
fiind transmis la intrarea filtrului, iar cel de-al doilea (7), corespunzător
intrării Dev3/ai2, fiind transmis elementului grafic de afişare de pe panoul
frontal, reprezentând semnalul filtrat.
Semnalele (6) şi (3) reprezentând descrierea sarcinii create pentru
intrările analogice, respectiv informaţiile despre eventualele erori apărute
sunt transmise în afara buclei principale, intr-un mod identic celui utilizat
la programarea canalelor de ieşire analogică funcţiilor „DAQmx Clear
Task” şi „Simple Error Handler” pentru închiderea sarcinii, eliberarea
resurselor şi afişarea eventualelor erori.
Programarea filtrului în situaţia comenzii locale este extrasă în figura
3.15, iar pentru situaţia comenzii de la distanţă în figura 3.16.
Figura 3.15 Programarea filtrului pentru comanda de la distanţă
58
Figura 3.16 Programarea filtrului pentru comanda locală
Diferenţele dintre cele două situaţii sunt reprezentate de conţinutul
structurii de tip „Case” [25] controlate de variabila „Control local” (0). În
situaţia comenzii locale, parametrii filtrului, respectiv: lărgimea de bandă,
frecvenţa de tăiere şi tipul filtrului sunt stabilite cu ajutorul elementelor de
control de pe panoul frontal al aplicaţiei locale, iar valorile acestora sunt
transmise variabilelor distribuite corespunzătoare, pentru a fi transmise prin
reţea aplicaţiei client de pe PDA. În cazul comenzii de la distanţă, valorile
conţinute de variabilele distribuite actualizate de aplicaţia de pe PDA sunt
citite şi utilizate ca şi parametri de funcţionare ai filtrului. Valorile acestor
parametri sunt afişate pe panoul frontal al aplicaţiei locale, deoarece în
cazul comenzii de la distanţă indicaţiile pot diferi de cele ale elementelor
de control local.
Variabila corespunzătoare tipului filtrului este o variabilă tip
enumerare cu patru elemente, corespunzătoare celor patru tipuri de filtre
care pot fi realizate de programul prezentat: trece-jos, trece-sus, trecebandă, respectiv opreşte-bandă. Această variabilă controlează structura de
tip „Case” [26] în interiorul căreia este programat câte un tip de filtru, prin
intermediul câte unei funcţii tip „Express.vi”. Valoarea lărgimii de bandă
este utilizată în cazul filtrelor de tip trece-bandă şi opreşte-bandă pentru
calcularea frecvenţei superioare a benzii, prin însumarea acesteia cu
frecvenţa de tăiere (în aceste cazuri, frecvenţa inferioară a benzii).
Funcţiile de tip „Express.vi” utilizate pentru realizarea filtrelor sunt
configurate pentru a realiza fiecare câte un filtru de tip Butterworth de
ordinul 3, corespunzător tipului ales. La intrarea fiecărui filtru se aplică
semnalul (5) preluat de la intrarea analogică Dev3/ai2, iar semnalul de
ieşire se transmite funcţiei [10] („Build Array”) care aceste date cu cele
reprezentând semnalul generat, pentru a fi transmis ieşirii analogice
Dev3/ao1 aşa cum a fost descris anterior.
59
Utilizarea acestor intrări – ieşiri analogice ale plăcii NI USB-6251
permite ca montajul realizat să poată fi utilizat pentru măsurarea şi
vizualizarea atât a efectelor filtrelor digitale realizate prin program, cât şi a
unor filtre analogice plasate în incinta termo-stabilizată, pentru a determina
efectul temperaturii asupra parametrilor acestora.
În figura 3.17 este extrasă programarea incintei termostabilizate
pentru comanda locală, iar în figura 3.18 programarea incintei
termostabilizate pentru comanda de la distanţă.
Figura 3.17 Programarea incintei termostabilizate pentru comanda locală
Figura 3.18 Programarea incintei termostabilizate pentru comanda de la distanţă
Ca şi în cazurile prezentate anterior, diferenţele dintre cele două
situaţii sunt reprezentate de conţinutul structurii de tip „Case” [27]
controlate de variabila „Control local” (0). Variabilele „Max T” şi „Min T”
sunt actualizate în cazul comenzii locale cu ajutorul elementelor de pe
panoul frontal al aplicaţiei locale şi transmise aplicaţiei client de pe PDA
prin intermediul conţinutului variabilelor distribuite, iar în cazul comenzii
60
de la distanţă situaţia se inversează. Valorile curente ale limitelor minime şi
maxime sunt afişate pe panoul frontal al aplicaţiei locale.
Citirea temperaturii din incinta termostabilizată este realizată cu
ajutorul plăcii NI USB-6009 la intrarea analogică Ai1 a căreia este conectat
senzorul de temperatură integrat de tip TMP36 care furnizează o tensiune
de ieşire proporţională liniar cu temperatura în grade Celsius a capsulei.
Domeniul de măsură al senzorului este cuprins între -40 – 125 oC, având un
factor de scală de 10 mV/oC. La temperatura de 25oC, valoarea tensiunii de
ieşire este de 750 mV, ceea ce determină o formulă de conversie a tensiunii
de ieşire în temperatură conform relaţiei (3.1).
(3.1)
y  100 * x  50
Figura 3.19 Programarea conversiei tensiunii de ieşire a senzorului în grade Celsius
Conversia temperaturii s-a realizat cu ajutorul unei funcţii de tip
„Express.vi” [29], care citeşte tensiunea de la intrarea analogică ai0 a plăcii
de achiziţie, iar formula este implementată prin setarea parametrilor
ferestrei de dialog NI-DAQmx Scale aşa cum este prezentat în figura 3.19.
Conform acestei formule, datele de la ieşirea funcţiei „Express.vi” [29]
61
reprezintă valoarea temperaturii în grade Celsius a incintei în care este
plasat senzorul.
Temperatura astfel obţinută se afişează într-o formă grafică specifică
pe panoul frontal al aplicaţiei de pe PC, se transferă în variabila distribuită
„Temp” pentru a fi utilizată de aplicaţia client de pe PDA şi totodată se
transmite secvenţei logice de control a încălzirii incintei termostabilizate
[28].
Deoarece am optat pentru un reglaj al temperaturii de tip histerezis,
care să menţină temperatura între limite prestabilite, programarea acestuia
necesita memorarea stării din iteraţia anterioară. Aceasta se programează
de obicei prin funcţii de tip bistabil, care în LabVIEW sunt disponibile
numai pentru modulele în timp real. În cazul utilizării modulului pentru
dispozitivele mobile de tip PDA, am ales soluţia utilizării unei structuri de
tip „Case” [28] controlată de starea circuitului de încălzire din iteraţia
anterioară, memorată de funcţia „Feedback Node” [30]. Astfel, dacă in
iteraţia anterioară circuitul de încălzire a fost oprit, şi în iteraţia curentă
valoarea temperaturii incintei termostabilizate devine mai mică decât limita
minimă (în fereastra False a structurii „Case” – figura 3.17, se testează dacă
temperatura măsurată este mai mică decât temperatura minimă), circuitul
NI USB-6009
P0.0
OAC 5A
~ 220 V
de încălzire se porneşte. Dacă în iteraţia anterioară circuitul de încălzire a
fost pornit, şi în iteraţia curentă valoarea temperaturii incintei
termostabilizate devine mai mare decât limita maximă, circuitul de
încălzire se opreşte (în fereastra True a structurii „Case” – figura 3.18, se
testează dacă temperatura măsurată este mai mică decât temperatura
maximă). Rezultatul se obţine sub forma de date dinamice, care trebuie
convertite în forma unei matrici unidirecţionale de valori booleene pentru a
fi transmise funcţiei de tip „Express.vi” de ieşire [31]. Aceasta transmite
valoarea variabilei „Încălzire” (afişată şi pe panoul frontal al aplicaţiei
locale) la ieşirea digitală P0.0 a plăcii NI USB-6009 la care este conectat
modulul de ieşire de putere de tip OAC5A (figura 3.20). Acest modul
furnizează o interfaţă de conectare lipsită de zgomote, izolată optic, a unor
actuatori alimentaţi în curent alternativ la ieşiri de comandă de tip logic.
62
Figura 3.20 Conectarea modulului de ieşire de putere la placa NI USB-6009
În partea dreaptă a figurilor 3.17 şi 3.18 se observă cum, din
semnalele de eroare culese de la diferitele funcţii din diagrama bloc, se
extrage valoarea binară reprezentând starea erorii şi se însumează logic
succesiv inclusiv cu starea butonului „Stop” [32], pentru a determina
ieşirea din bucla principală a programului dacă se apasă butonul „Stop” de
pe panoul frontal sau dacă apare vre-o eroare în interiorul buclei.
Figura 3.21 Programarea comutării comenzii locale şi de la distanţă
63
În figura 3.21 se prezintă extrasul din diagrama bloc a circuitului de
comutare a comenzii locale sau de la distanţă. Se observă utilizarea a două
variabile distribuite: „Local control” care reprezintă starea actuală a
circuitului de comandă (1 – local, 0 – la distanţă), respectiv „Remote
control” care reprezintă starea cererii de comandă de la distanţă emisă de
aplicaţia client de pe PDA.
De asemenea se utilizează o structură tip „Case” controlată de
valoarea variabilei „Local control” de la iteraţia anterioară, memorată de
funcţia „Feedback node”. Astfel, dacă în iteraţia anterioară comanda era
locală („Local control” = 1), existenţa unei cereri de comandă de la distanţă
de la aplicaţia client („Remote control” = 1), inversată logic, determină
comutarea în modul comandă de la distanţă („Local control” = 0), situaţie
reprezentată în figura 3.21.(a). Dacă în iteraţia anterioară comanda se făcea
de la distanţă, apăsarea butonului „Local” de pe panoul frontal al aplicaţiei
locale determină comutarea în regimul de comandă locală (figura 3.21.(b)).
Aplicaţia de control de la distanţă a experimentului
Panoul frontal al aplicaţiei de control de la distanţă a experimentului
este prezentat în figura 3.22, iar diagrama bloc a acesteia în figura 3.23.
Deoarece afişajele dispozitivelor tip PDA sau ale telefoanelor inteligente au
în general dimensiuni reduse, s-a optat pentru utilizarea ferestrelor tip
TAB, prin care s-au împărţit elementele de comandă şi afişare în trei zone:
a generatorului de semnale, a filtrului şi a afişării semnalelor filtrate şi a
incintei termostabilizate. În acest fel s-au obţinut dimensiuni ale
elementelor de comandă şi afişare accesibile metodelor de introducere a
datelor specifice ecranelor tactile. Comutarea între aceste TAB-uri se face
în mod clasic, prin atingerea zonelor corespunzătoare din partea de sus a
ecranului.
Zona de jos a ecranului este comună celor trei TAB-uri, conţinând
butonul „CTRL” prin care se lansează cererea de comandă de la distanţă
atunci când aplicaţia de pe PC este în modul de comandă locală, indicatorul
stării actuale a comenzii (roşu în modul Local şi verde în modul Distanţă),
butonul „Stop” care determină ieşirea din bucla principală a programului,
ca şi cele două butoane generate automat pentru orice aplicaţie pentru PDA
– „Run” care porneşte execuţia programului, respectiv „Exit” care încheie
execuţia programului şi eliberează resursele utilizate.
64
65
Figura 3.22 Panoul frontal al aplicaţiei de comandă de la distanţă (PDA)
Alături de elementele de comandă de la distanţă a parametrilor s-au
plasat indicatoare ale stării actuale a acestora în cadrul aplicaţiei de pe PC,
care pot indica valori diferite în modul de control local faţă de valorile
stabilite de pe PDA. Odată cu apăsarea butonului „CTRL” şi comutarea în
modul de control de la distanţă, aplicaţia de pe PC primeşte valorile
comandate de aplicaţia client de pe PDA, iar noile valori curente ale
parametrilor vor fi identice cu cele comandate de la distanţă.
Din diagrama bloc a aplicaţiei se observă că aceasta este mai simplă
faţă de aplicaţia de control local de pe PC, ceea ce permite rularea acesteia
în condiţiile resurselor limitate ale dispozitivelor mobile tip PDA sau
telefoanelor inteligente.
Variabila „Local control”, actualizată întotdeauna numai de aplicaţia
de pe PC, controlează modul de lucru al buclei de tip „Case” inclusă în
bucla principală a programului. În figura 3.23 este prezentată diagrama
bloc în modul comandă de la distanţă, în care, cu ajutorul elementelor de
control de pe panoul frontal al aplicaţiei de pe PDA se stabilesc parametrii
de funcţionare ai aplicaţiei de pe PC, prin actualizarea valorilor variabilelor
distribuite corespunzătoare.
Indiferent de modul de lucru, valorile acestor variabile distribuite
reprezintă valorile curente utilizate de aplicaţia care rulează pe PC şi sunt
afişate pe elementele de afişare de pe panoul frontal, iar pentru o mai clară
imagine a stării aplicaţiei monitorizate, aplicaţia generează un semnal cu
parametrii identici cu cei generaţi de aplicaţia de pe PC în scopul afişării pe
aplicaţia de monitorizare. De asemenea, este realizat un filtru utilizând
aceiaşi parametri care prelucrează semnalul generat, imaginea semnalului
filtrat fiind afişată în TAB-ul corespunzător filtrului pe panoul frontal al
aplicaţiei de pe PDA.
66
67
Figura 3.23 Diagrama bloc a aplicaţiei de comandă de la distanţă (PDA)
Mecanisme de protecţie oferite de sistemul variabilelor
distribuite
Comunicarea prin mecanismul variabilelor distribuite între diferitele
aplicaţii realizate în LabVIEW utilizând reţele fără fir se realizează
conform protocolului IEEE 802.11. Deoarece în acest caz se utilizează
semnale radio transmise prin aer ca mediu fizic de transmitere, asigurarea
securităţii comunicaţiilor de date reprezintă o provocare suplimentară faţă
de reţelele cu fir. Este evident că în cazul aplicaţiilor industriale, principiile
securităţii informaţionale (confidenţialitate, integritate şi disponibilitate)
sunt foarte importante, iar echilibrul corect între acestea depinde de
specificul fiecărei aplicaţii.
În completarea metodelor generale utilizate pentru securizarea
reţelelor IEEE 802.11, mediul de programare LabVIEW oferă unele
instrumente specifice care pot preveni accesul neautorizat la aplicaţiile
industriale.
Modulul LabVIEW PDA include un set de instrumente care
facilitează implementarea mecanismelor de securitate pentru resursele
specifice cum sunt bibliotecile proiectelor, variabilele distribuite şi
obiectele conţinute de panourile frontale ale aplicaţiilor. Bibliotecile
proiectelor pot fi utilizate pentru a atribui drepturi de acces multiplelor
variabile distribuite conţinute. Deşi variabilele distribuite moştenesc
drepturile de acces ale bibliotecii în care sunt conţinute, fiecărei variabile i
se pot atribui drepturi sau restricţii suplimentare în mod independent.
Proprietăţile unei biblioteci de variabile distribuite, accesibile prin
categoria „Protection” a meniului contextual, permit următoarele moduri
de acces la întreaga bibliotecă:
 Unlocked (no password) – orice utilizator poate vizualiza şi edita
biblioteca şi conţinutul acesteia.
 Locked (no password) – utilizatorul trebuie să deblocheze biblioteca
utilizând acest meniu pentru a edita conţinutul acesteia. Elementele
declarate ca private sunt ascunse în structura ferestrei „Project
Explorer” a proiectului.
 Password-protected – utilizatorul nu poate edita conţinutul bibliotecii
fără a introduce parola corectă. Elementele declarate ca private sunt de
asemenea ascunse în structura ferestrei „Project Explorer” a proiectului.
În categoria „Item Settings” se poate seta modul de acces (Access
Scope) pentru fiecare variabilă ca fiind: Public, Community, sau Private.
În categoria „Friends” se pot specifica aplicaţiile (VI) sau alte
biblioteci care pot accesa variabilele conţinute de respectiva bibliotecă.
Pentru fiecare variabilă din bibliotecă, în categoria „Security” a
proprietăţilor, se poate defini o listă de utilizatori/grupuri/calculatoare
pentru care se pot atribui drepturi sau restricţii pentru citire şi de scriere.
68
De asemenea se poate utiliza managerul de conturi de domeniu
inclus în mediul de programare LabVIEW (Domain Account Manager)
pentru crearea şi distrugerea de domenii locale, adăugarea sau eliminarea
domeniilor de reţea existente, respectiv pentru managementul utilizatorilor
şi grupurilor din domeniu.
Managerul de conturi de domeniu utilizează protocolul de reţea NI
Publish-Subscribe Protocol (NI-PSP) pentru a detecta toate domeniile de
reţea existente, utilizând mecanisme de criptare încorporate pentru a
securiza protocoalele de autentificare. Acesta necesită ca două servicii
Windows să ruleze în plus faţă de aplicaţiile LabVIEW: National
Instruments PSP Server Locator, care permite managerului de conturi de
domeniu să detecteze domeniile de reţea existente, respectiv National
Instruments Domain Service, care îi permite managementul domeniilor
locale. În Windows 2000/XP, aceste servicii apar sub numele lkads.exe şi
nidmsrv.exe.
3.7 Concluzii
Prin experimentul prezentat am exemplificat o aplicaţie simplă de
comandă/monitorizare a unei instalaţii de automatizare industrială în care
se poate utiliza un PDA (sau un Smartphone) conectat prin reţeaua fără fir
locală sau prin Internet la echipamente mai complexe, compuse din
multiple instalaţii de automatizare controlate de calculatoare locale.
Dimensiunile reduse ale PDA-urilor sau prezenţa permanentă a unui telefon
inteligent asupra personalului de deservire justifică această abordare prin
care se evită utilizarea unui laptop ca şi echipament mobil de monitorizare
şi/sau comandă de la distanţă în cadrul procesului de producţie, permiţând
astfel reducerea costurilor echipamentelor, dar şi îmbunătăţirea ergonomiei
proceselor.
Aplicaţiile pentru PDA se pretează pentru monitorizarea aplicaţiilor
industriale, oricât de complexe ar fi acestea, cu condiţia utilizării unor
dispozitive mobile cu rezoluţie a afişajului cel puţin de 480/640 puncte
pentru a putea distinge toate detaliile elementelor afişate pe panoul frontal.
Pentru comanda de la distanţă a aplicaţiilor industriale trebuie
asigurată o fiabilitate ridicată a conexiunii fără fir, concomitent cu aplicarea
unor măsuri de protecţie în cazul întreruperilor (de exemplu trecerea
automată în modul comandă locală).
Astfel de aplicaţii nu se recomandă pentru controlul aplicaţiilor
rapide în timp real, din cauza sistemelor de operare bazate pe întreruperi
instalate pe dispozitivele mobile actuale.
69
4. CONCLUZII FINALE
Având în vedere evoluţia tehnologică accelerată a dispozitivelor
mobile actuale determinată de nevoile sporite de mobilitate a utilizatorilor
dar şi de entuziasmul care nu poate fi neglijat al tinerei generaţii pentru
utlizarea acestora, consider că dispozitivele mobile trebuie luate în
considerare ca şi părţi importante ale sistemelor de automatizare moderne.
Cu puterea de calcul tot mai apropiată de cea a calculatoarelor clasice şi cu
viteza de comunicare în reţelele mobile tot mai crescută, acestea reuşesc să
devină componente viabile ale sistemelor de automatizare, în special în ce
priveşte monitorizarea proceselor şi managementul liniilor de producţie,
care presupune de exemplu comanda de la distanţă a regimurilor de
funcţionare.
Evoluţia explozivă a pieţei terminalelor inteligente mobile din ultimii
ani a fost caracterizată de schimbări importante în tehnologiile înglobate,
dar şi de o serie de noi apariţii în rândul sistemelor de operare pentru
acestea. Pe măsură ce aceste noi sisteme de operare vor ajunge la un anumit
nivel de maturitate, ele vor fi cu siguranţă utilizate în sistemele de
automatizare, ca şi cele deja consacrate. Apreciez că în viitorul apropiat
vom putea beneficia de avantajele mediilor de dezvoltare specializate cum
este LabVIEW pentru a crea aplicaţii şi pentru sisteme de operare cum sunt
Android sau iOS, ceea ce reprezintă şi una dintre preocupările mele pentru
dezvoltarea ulterioară a cercetării în acest domeniu.
În realizarea aplicaţiilor de monitorizare/comandă realizate pentru
terminalele mobile inteligente nu trebuie omisă configurarea
corespunzătoare a setărilor de securitate atât a aplicaţiei cât şi a reţelei,
astfel încât să se respecte principiile acesteia: Confidenţialitate – Integritate
– Disponibilitate, în scopul asigurării calităţii comunicaţiilor în reţea,
incluzând elementele de autentificare-autorizare a potenţialilor utilizatori în
conformitate cu nivelul de acces necesar îndeplinirii atribuţiilor acestora.
Contribuţii originale
În cadrul cercetărilor întreprinse pentru realizarea acestei teze de
doctorat au fost aduse o serie de contribuţii personale cum sunt:
 Prezentarea sistematizată şi unitară a principalelor tipuri de
dispozitive mobile (PDA şi telefoane inteligente) existente în
prezent, inclusiv evoluţia tendinţelor din domeniu pe o piaţă
foarte dinamică în perioada efectuării cercetării;
 Prezentarea sistematizată a instrumentelor de dezvoltare pentru
PDA disponibile pentru cele mai cunoscute platforme;
 Descrierea detaliată a tehnologiei OPC şi a modului în care poate
fi utilizată în controlul aplicaţiilor industriale astfel încât acestea
să poată respecta standardele internaţionale acceptate;
70
 Prezentarea modului în care se pot realiza aplicaţii client OPC în
LabVIEW;
 Realizarea unui algoritm pentru elaborarea de aplicaţii de
monitorizare/control pentru PDA utilizând mediul de programare
LabVIEW, şi exemplificarea aplicării acestuia în realizarea unei
aplicaţii industriale care poate fi utilizată în laborator pentru
instruirea viitorilor studenţi;
 Adoptarea unor soluţii originale în cadrul programului prezentat
cum sunt cele referitoare la comutarea modurilor de comandă
locală / de la distanţă, sau la controlul temperaturii din incinta
termostabilizată;
 Prezentarea detaliată a metodelor de protecţie a datelor din
aplicaţiile industriale realizate în LabVIEW, precum şi a
importanţei aplicării acestora pentru fiabilitatea şi siguranţa în
funcţionare a sistemelor de automatizare.
Consider că această lucrare demonstrează viabilitatea ideii propuse
de utilizare a terminalelor inteligente de tip PDA sau telefoane inteligente
în monitorizarea/controlul aplicaţiilor industriale, care poate conduce la
scăderea costului echipamentelor şi la îmbunătăţirea ergonomiei proceselor
industriale.
71
ACRONIME UTILIZATE ÎN TEXT
A&E – Alarms and Events
API – Application Programming Interface
COM – Component Object Model
DA – Data Access
DCS – Distributed Control System
DOM – Document Object Model
DX – Data Exchange
HDA – Historical Data Access
HMI – Human-Machine Interface
HTTP – Hyper Text Transfer Protocol
LDAP – Lightweight Directory Access Protocol
OLE – Object Linking and Embedding
OPC – OLE for Process Control
PLC – Programmable Logic Controller
SAX – Simple API for XML
SOAP – Simple Object Access Protocol
UDDI – Universal Description, Discovery and Integration
WSDL – Web Services Definition Language
XML – Extensible Markup Language
XSL – Extensible Style sheet Language
XSD – XML Schema Definition
72
BIBLIOGRAFIE
[1] Hansmann, U., Merk, L., Nicklous, M., and Stober, T. 2001.
Pervasive Computing Handbook. Springer Verlag. Pp. 133 – 162.
[2] "Gartner Says Worldwide Mobile Device Sales Grew 13.8 Percent in
Second Quarter of 2010, But Competition Drove Prices Down". Press
release. 12 August 2010.
http://www.gartner.com/it/page.jsp?id=1421013 accesat la 16
octombrie 2010.
[3] "Canalys: iPhone outsold all Windows Mobile phones in Q2 2009".
AppleInsider. 21 August 2009.
http://www.appleinsider.com/articles/09/08/21/canalys_iphone_outsol
d_all_windows_mobile_phones_in_q2_2009.html accesat la 21
septembrie 2009.
[4] http://www.openhandsetalliance.com/oha_members.html
[5] http://www.pcworld.com/businesscenter/article/146450/developers_pr
aise_android_at_google_io.html?tk=rl_noinform
[6] "CEO Ballmer Reportedly Says Microsoft 'Screwed Up' with Windows
Mobile". eWeek. 28 September 2010.
http://www.eweek.com/c/a/Windows/Microsoft-CEO-Steve-BallmerSays-Company-Screwed-Up-Windows-Mobile-241614/
[7] Ducrohet, Xavier (20 May 2010). "Android 2.2 and developers
goodies.". Android Developers Blog. Google. http://androiddevelopers.blogspot.com/2010/05/android-22-and-developersgoodies.html accesat la 20 mai 2010.
[8] "Licenses". Android Open Source Project. Open Handset Alliance.
http://source.android.com/source/licenses.html accesat la 10 iunie
2010-06.
[9] "About the Android Open Source Project".
http://source.android.com/about/index.html. Retrieved 2010-11-15
[10] "Android hits top spot in U.S. smartphone market". 2010-08-04.
http://news.cnet.com/8301-1035_3-20012627-94.html accesat la 04
august 2010.
[11] "Apple Introduces New iPod touch". Apple Press Release. 2010-0901. http://www.apple.com/pr/library/2010/09/01ipodtouch.html
accesat la 04 septembrie 2010.
[12] Honan, Matthew (2007-01-09). "Apple unveils iPhone". Macworld.
http://www.macworld.com/article/54769/2007/01/iphone.html accesat
la 16 ianuarie 2010.
[13] "Apple - iPhone - Features - OS X". Archived from the original on
2008-01-11.
http://web.archive.org/web/20080111051348/http://www.apple.com/i
phone/features/index.html#macosx accesat la 15 iunie 2010.
73
[14] Gonsalves, Antone (2007-10-11). "Apple Launches iPhone Web Apps
Directory". InformationWeek.
http://www.informationweek.com/news/hardware/mac/showArticle.jh
tml?articleID=202401732 accesat la 16 februarie 2010.
[15] Ziegler, Chris (2007-06-11). "Apple announces third-party software
details for iPhone". http://www.engadget.com/2007/06/11/appleannounces-third-party-software-details-for-iphone/ accesat la 09 iunie
2010.
[16] "Mobile World Congress 2010 – day one overview". 2010-02-15.
http://www.techcentral.co.za/mobile-world-congress-2010-day-oneoverview/12826/ accesat la 03 iunie 2010.
[17] Terry Myerson (2010-09-01). "Windows Phone 7 – Released To
Manufacturing".
http://windowsteamblog.com/windows_phone/b/windowsphone/archi
ve/2010/09/01/windows-phone-7-released-to-manufacturing.aspx
accesat la 29 septembrie 2010.
[18] "What Windows Phone 7 Could Have Been". 2010-02-25.
http://gizmodo.com/5480387/what-windows-phone-7-could-havebeen accesat la 05 iunie 2010.
[19] "Thoughts on Windows Phone 7 Series (BTW: Photon is Dead)".
2010-02-17. http://pocketnow.com/thought/thoughts-on-windowsphone-7-series-btw-photon-is-dead accesat la 05 iunie 2010.
[20] "Overview of webOS". Palm, Inc..
http://developer.palm.com/index.php?option=com_content&view=arti
cle&id=1761&Itemid=42 accesat la 25 august 2010.
[21] Pearce, James (2009-01-08). "Palm Announces Palm WebOS At CES,
Also Palm Pre". http://www.washingtonpost.com/wpdyn/content/article/2009/01/08/AR2009010802664.html accesat la 09
ianuarie 2009.
[22] Richtel, Matt (2009-01-08). "For a Palm Rebound, the Phone Is Not
Enough". New York Times.
http://bits.blogs.nytimes.com/2009/01/08/for-a-palm-rebound-thephone-is-not-enough/?scp=2&sq=palm%20pre&st=cse accesat la 14
ianuarie 2009.
[23] Lextrait, Vincent (January 2010). "The Programming Languages
Beacon, v10.0".
http://www.lextrait.com/Vincent/implementations.html accesat la 4
ianuarie 2010.
[24] "Official BlackBerry 6 Preview Video from WES 2010". April 2010.
http://crackberry.com/blackberry-6-sneak-peek-video-wes-2010
accesat la 27 aprilie 2010.
[25] ” RIM Unveils The BlackBerry PlayBook”, official press release,
September 27, 2010
74
[26] King, Chris (December 16, 2009). Advanced BlackBerry Development
(1st ed.). Apress. pp. 350. ISBN 1430226560.
http://apress.com/book/view/1430226560
[27] Rizk, Anthony (November 4, 2009). Beginning BlackBerry
Development (1st ed.). Apress. pp. 264. ISBN 1430272252.
http://apress.com/book/view/1430272252
[28] http://www.opcfoundation.org
[29] OPC Overview, Versiunea 1.0, 27 October 1998, descărcat de pe siteul fundaţiei OPC http://www.opcfoundation.org
[30] OPC Unified Architecture Specification Part 1: Overview and
Concepts Release 1.01, 5 Februarie 2009, descărcat de pe site-ul
fundaţiei OPC http://www.opcfoundation.org
[31] Sora, Daniel, (2010), „Monitoring and controlling automation systems
using smartphones / PDA”, Journal of Defense Resources
Management, ISSN 2068 – 9403
[32] Sora, Daniel, (2010), „Enhanced system security with the LabView
Datalogging and Supervisory Control Module”, „Information security
management – trends and opportunities”, Workshop unfolded during
the postgraduate course in Information Security Management, 2010,
Brasov, ISBN: 978-973-663-831-2
[33] Sora, Daniel, (2010), „Wireless security for data acquisition”, 2010,
„Information security management – trends and opportunities”,
Workshop unfolded during the postgraduate course in Information
Security Management, Brasov, ISBN: 978-973-663-831-2
[34] Sora, Daniel, (2010), „Actualitatea şi tendinţele anului 2010 în
domeniul terminalelor mobile”, „Managementul resurselor de apărare
în secolul XXI”, A 5-a Conferinţă Ştiinţifică anuală cu participare
internaţională a Departamentului Regional de Studii pentru
Managementul Resurselor de Apărare, ISSN: 2069 - 3222
[35] Sora, Daniel, (15.12.2006), „Managementul securităţii informatice în
reţelele fără fir”, Sesiune de comunicări ştiinţifice a DRESMARA
pag. 249–256, ISBN 978-973-663-470-3
[36] Sora, Daniel, (20.11.2009), „Utilizarea tehnologiei OPC în controlul
sistemelor de automatizare”, A 4-a Sesiune Anuală de Comunicări
Ştiinţifice cu participare internaţională a Departamentului Regional de
Studii pentru Managementul Resurselor de Apărare, ISBN 978-973663-803-9
[37] Sora, Daniel, (20.11.2009), „Controlul sistemelor de automatizare
prin intermediul dispozitivelor portabile”, A 4-a Sesiune Anuală de
Comunicări Ştiinţifice cu participare internaţională a Departamentului
Regional de Studii pentru Managementul Resurselor de Apărare,
ISBN 978-973-663-803-9
75
[38] Sora, Daniel, (2010) „Security Issues in Wireless Sensor Networks”,
International Journal of Online Engineering (iJOE). ISSN: 1861-2121
[39] Sora, Daniel, (June 28 - July 1, 2011) „Smartphone / PDA application
for remote monitoring and controlling industrial automations”, 8th
International Conference on Remote Engineering and Virtual
Instrumentation, Transylvania University, Brasov, Romania
[40] Sora, Daniel, (2011) „Trends in the convergence of wireless
networks”, Journal of Defense Resources Management, nr. 1(2)/2011,
ISSN: 2068-9403, eISSN: 2247-6466, ISSN-L: 2247-6466
[41] http://www.ni.com/labview/
[42] NI LabVIEW 8.6 Help - http://zone.ni.com/reference/enXX/help/371361E-01/
[43] LabVIEW 8.6 Datalogging and Supervisory Control Module Help http://zone.ni.com/reference/en-XX/help/371618D-01/
[44] http://sine.ni.com/nips/cds/view/p/lang/en/nid/10418
[45] http://www.ni.com/lookout/
[46] http://www.ni.com/fieldpoint/
[47] http://www.ni.com/dataacquisition/
[48] http://sine.ni.com/nips/cds/view/p/lang/en/nid/1318
[49] http://www.wikipedia.org
[50] http://www.opcfoundation.org accesat la data de 02.11.2009
[51] http://www.ni.com/labview/ accesat la data de 05.11.2009
[52] NI LabVIEW 8.6 Help - http://zone.ni.com/reference/enXX/help/371361E-01/ accesat la data de 05.11.2009
[53] LabVIEW 8.6 Datalogging and Supervisory Control Module Help http://zone.ni.com/reference/en-XX/help/371618D-01/ accesat la data
de 05.11.2009
[54] http://sine.ni.com/nips/cds/view/p/lang/en/nid/10418 accesat la data
de 05.11.2009
[55] http://www.ni.com/lookout/ accesat la data de 05.11.2009
[56] http://www.ni.com/fieldpoint/ accesat la data de 05.11.2009
[57] http://www.ni.com/dataacquisition/ accesat la data de 05.11.2009
[58] http://sine.ni.com/nips/cds/view/p/lang/en/nid/1318 accesat la data de
05.11.2009
[59] http://www.wikipedia.org accesat la data de 12.11.2009
[60] Mark, D., LaMarche, J., „Beginning iPhone development: exploring
the iPhone SDK”, 2009, Apress, ISBN-10: 1-4302-1626-3, ISBN-13:
978-1-4302-1626-1
[61] Wei-Meng Lee, „Beginning Android™ ApplicAtion development” ,
2011, Wiley Publishing, Inc., ISBN: 978-1-118-01711-1
[62] Morrison, M., „BlackBerry® in a Snap”, 2005, Sams Publishing,
2005, ISBN: 0672-32-670-1
76
[63] Marks, E. A., Lozano B., „Executive’s Guide to Cloud Computing”,
2010, John Wiley & Sons, Inc., ISBN 978-0-470-52172-4
[64] Tanenbaum, A. S., „Computer Networks, Fourth Edition”, Prentice
Hall, 2003, ISBN : 0-13-066102-3
[65] O’Leary, T. J., O’Leary, L. I., „Computing Essentials 2012 Complete
Edition: Making It Work For You”, 2011, McGraw-Hill, ISBN 978-007-351680-6
[66] Bobak, A. F., „Electronic Business With Mobile Personal Digital
Assistants (PDAs)”, 2001, Master Thesis in Computer Science,
University of Zurich, Department of Information Technology
[67] Taniar, D., „Encyclopedia of Mobile Computing and Commerce”,
2007, Information Science Reference (an imprint of Idea Group Inc.),
ISBN 978-1-59904-003-5
[68] Sommerville, I., „Software engineering - 9th ed”, 2011, Pearson
Education, Inc., ISBN-13: 978-0-13-703515-1, ISBN-10: 0-13703515-2
[69] Seurre, E., Savelli, P., Pietri, J.-P. „GPRS for Mobile Internet”, 2003,
Artech House, ISBN:1 5805 3600 X
[70] Stevenson, N., „Tablet PCs for Dummies”, 2003, Hungry Minds,
ISBN: 0 7645 2647 2
[71] Hugh, J., „Integration and Automation of Manufacturing Systems
(Robots, PLC, CNC)”, 2001, Hugh Jack
[72] Crisp, J., „Microprocessors and Microcontrollers, Second edition”,
2004, Linacre House, Jordan Hill, Oxford, ISBN 0 7506 5989 0
[73] Els van de Kar, Verbraeck, A., „Designing Mobile Service Systems”,
2007, IOS Press, ISBN 978-1-58603-778-9
[74] Underdahl, B., „iPAQ™ For Dummies”, 2004, Wiley Publishing,
Inc., ISBN: 0-7645-6769-1
[75] Baig, E. C., LeVitus, B., „iPhone™ For Dummies”, 2007, Wiley
Publishing, Inc., ISBN: 978-0-470-17469-2
[76] Pogue, D., „iPhone: The Missing Manual”, 2008, O’Reilly Media,
Inc., ISBN-13: 978-0-596-52167-7
[77] Mehta, N., „Mobile Web Development”, 2008, Packt Publishing,
ISBN 978-1-847193-43-8
[78] Labrosse, J., Ganssle, J., „Embedded Software”, 2008, Elsevier Inc.,
ISBN: 978-0-7506-8583-2
[79] Kim, S., „Exploring Factors Influencing Personal Digital Assistant
(PDA) Adoption”, 2003, University of Florida
[80] Mace, M., „Segmenting Mobile Data: The Myth of the Smartphone
Market”, 2007, Rubicon Consulting, Inc.
[81] Chuanxiong Guo, Wang, H. J.,Wenwu Zhu „Smart-Phone Attacks
and Defenses”, 2004, Microsoft Research
77
[82] Stevenson, N., „Tablet PCs for Dummies”, 2003, Hungry Minds,
ISBN:0 7645 2647 2
[83] Sadun, E., „Taking Your iPhone to the Max”, 2008, Apress, ISBN-13:
978-1-4302-0516-6, ISBN-10: 1-4302-0516-4
[84] Klaus, D., „Technologies for the Wireless Future”, 2008, Wireless
World Research Forum (WWRF), ISBN 978-0-470-99387-3
[85] G. Giannattasio, J. Erfanian, „A Guide to the Wireless Engineering
Body of Knowledge (WEBOK)”, 2009, Institute of Electrical and
Electronics Engineers, Inc., ISBN 978-0470-43366-9
[86] Rackley, S., „Wireless Networking Technology From Principles to
Successful Implementation”, 2007, Linacre House, Jordan Hill,
Oxford, ISBN 13: 978-0-7506-6788-3, ISBN 10: 0-7506-6788-5
[87] „Windows Mobile® 6 Professional New Features Guide”, 2007,
Microsoft
[88] „Choosing an Enterprise-Class Wireless Operating System: A
Comparison of BlackBerry, iPhone and Windows Mobile ”, A J.Gold
Associates White Paper, 2009, www.jgoldassociates.com
[89] „Creating and Using Shared Variables in the LabVIEW PDA
Module”, Developer Zone, National Instruments, www.ni.com
[90] „Developing Wireless PDA Applications in LabVIEW”, Developer
Zone, National Instruments, www.ni.com
[91] „Performing Handheld Measurements using LabVIEW Mobile and NI
USB Data Acquisition Devices”, Developer Zone, National
Instruments, www.ni.com
[92] „Implementation of the OPC UA Information Mode for Analyzers”,
Version 1.00, 2009, descărcat de pe site-ul fundaţiei OPC
http://www.opcfoundation.org
78
CURRICULUM VITAE
DATE PERSONALE:
Numele: SORA DANIEL
Data şi locul naşterii: 10.07.1968, CURTEA DE ARGEŞ
Starea civilă: căsătorit
Adresa locului de muncă: BRAŞOV, str. Mihai Viteazul nr. 160
Adresa de domiciliu: BRAŞOV, str. Carpatilor nr. 21, Bl. 4, sc. A, Ap. 3
STUDII:
1986 –1989 Şcoala Militară de Ofiţeri Activi de Artilerie Antiaeriană şi
Radiolocaţie “Leontin Sălăjan” Braşov
1992 – 1998 Universitatea „Transilvania” din Braşov, Facultatea de
Electrotehnică, specializarea Electrotehnică Generală
1998 – 1999 Universitatea „Transilvania” din Braşov, Facultatea de
Electrotehnică, Sisteme Informatizate Pentru Controlul Proceselor, Studii
Aprofundate
2002 Centrul de Consultanţă şi Proiectare pentru Informatică Bucureşti Securitatea Retelelor de Calculatoare, Curs de specializare
2003 School for Peace Operations, Amersfoort, Netherlands - Observator militar
ONU, Curs de specializare
2005 Centrul Regional de Management al Resurselor de Apărare, Braşov Managementul resurselor de apărare pentru specialişti, Curs postuniversitar de
specializare
2006 Military Academy Vyskov, Czech Republic – British Military Advisory
and Training Team - Managementul instruirii, Curs postuniversitar de
specializare
2007 National Defense University Washington DC, SUA - Program avansat de
management informaţional, Curs postuniversitar de specializare
2011 Departamentul Regional de Studii pentru Managementul Resurselor de
Apărare, Braşov - Managementul resurselor de apărare pentru personalul de
conducere, Curs postuniversitar de conducere
ACTIVITATEA PROFESIONALĂ:
1989-1990 - Comandant pluton militari cu termen redus - Braşov
1990-1991 - Şef echipaj complex de rachete antiaeriene în Catedra de artilerie şi
rachete antiaeriene - Braşov
1991-2005 - asistent universitar, instructor, instructor şef în catedra de Forţe
Aeriene - Academia Forţelor Aeriene „Henri Coandă”, Braşov
2005-prezent – instructor şef, instructor superior, lector universitar, profesor
militar, Departamentul Regional de Studii pentru Managementul Resurselor de
Apărare, Braşov
ACTIVITATEA ŞTIINŢIFICĂ:
Articole publicate: 25
Alte lucrări: 2
Proiecte de cercetare: 2
LIMBI STRĂINE CUNOSCUTE: Engleza
79
CONTENT
INTRODUCTION __________________________________________ 5
1. SMART MOBILE TERMINALS – PDAs AND
SMARTPHONES___________________________________________ 7
1.1 PDA History ___________________________________________ 7
1.2 The main types of smart mobile terminals ____________________ 8
Palm PDAs _____________________________________________ 8
Pocket PCs _____________________________________________ 9
Smartphones ____________________________________________ 9
1.3 The main functions of the PDAs __________________________ 10
Standard PIM Functions __________________________________ 10
Syncronization with PCs __________________________________ 11
1.4 PDA structure _________________________________________ 12
The Microprocessor and the memory ________________________ 12
The Bateries ___________________________________________ 12
The LCD display________________________________________ 13
Data input methods ______________________________________ 13
1.5 The operating system ___________________________________ 14
1.6 Developing tools of the PDA operating systems ______________ 17
Windows Mobile________________________________________ 17
Palm OS ______________________________________________ 17
Symbian OS ___________________________________________ 18
1.7 Conclusions __________________________________________ 18
2. SMART MOBILE TERMINALS USED IN THE
INDUSTRIAL APPLICATIONS CONTROL __________________
2.1 Introduction to OPC ____________________________________
The classic architecture of the client applications _______________
The particular applications architecture ______________________
2.2 The OPC Standard _____________________________________
The advantage of the OPC servers __________________________
The current status of the OPC Foundation standard and the OPC
products ______________________________________________
OPC general architecture and components ____________________
The technology embedded in the OPC standard ________________
COM/ActiveX__________________________________________
2.3 OPC Implementation ___________________________________
OPC Objects and interfaces________________________________
OPC events and alarms handling ___________________________
The access to the historical DATA __________________________
OPC – ideal for the high counting capacity applications _________
80
20
20
22
23
23
24
25
26
26
28
28
28
30
30
31
2.4 OPC local and remote systems ____________________________
OPC local systems ______________________________________
OPC remote systems _____________________________________
2.5 OPC perspectives ______________________________________
OPC united architecture (OPC UA) _________________________
Integrated models and services _____________________________
New concepts in OPC United Architecture____________________
OPC UA client applications _______________________________
OPC UA server applications ______________________________
Server – server interactions ________________________________
Sets of services _________________________________________
2.6 Development of client OPC applications in LabVIEW _________
LabVIEW DataSocket____________________________________
LabVIEW DSC Module __________________________________
2.7 Conclusions __________________________________________
32
32
33
33
33
35
37
37
37
38
38
38
39
39
40
3. OPC CLIENTS FOR MOBILE TERMINALS_________________42
3.1 Introductions__________________________________________ 42
3.2 Network communication methods in LabVIEW ______________ 42
3.3 Client – Server network applications in LabVIEW ____________ 43
3.4 Real time data sharing using the Shared Variables_____________ 44
3.5 Shared variables used in the PDA virtual instruments __________ 48
3.6 Wireless PDA applications _______________________________ 48
The local control application of the experiment ________________ 54
The remote control application of the experiment_______________ 64
Protection mechanisms offered by the shared variables system ____ 68
3.7 Conclusions __________________________________________ 69
4. FINAL CONCLUSIONS ___________________________________70
Original contributions______________________________________ 70
ACRONYMS USED IN TEXT ________________________________72
REFERENCES_____________________________________________73
81
CURRICULUM VITAE
PERSONAL DATA:
Name: SORA DANIEL
Birth date and place: 10.07.1968, CURTEA DE ARGEŞ
Civil status: married
Office address: BRAŞOV, str. Mihai Viteazul nr. 160
Home address: BRAŞOV, str. Carpatilor nr. 21, Bl. 4, sc. A, Ap. 3
STUDIES:
1986–1989 Missile and Anti-aircraft Military School “Leontin Sălăjan”, Braşov
1992–1998 Transilvania University of Braşov, Faculty of Electrical Engineering
and Computer Science, General Electrotehnics Section
1998–1999 Transilvania University of Braşov, Faculty of Electrical Engineering
and Computer Science, Information Systems for Process Control, Advanced
Studies
2002 Projects and Consultancy Center for Informatics Bucureşti – Computer
Networks Security, postgraduate course for experts
2003 School for Peace Operations, Amersfoort, Netherlands – UN Military
Observer, postgraduate course
2005 Regional Centre for Defence Resources Management, Braşov - Defence
Resources Management Course for experts, postgraduate course
2006 Military Academy Vyskov, Czech Republic – British Military Advisory
and Training Team – Management of training, postgraduate course
2007 National Defense University Washington DC, SUA - Advanced
Management Program, postgraduate course for experts
2011 Regional Department of Defense Resources Management Studies, Braşov Defense Resources Management Course for Senior Officials, postgraduate
course
PROFESSIONAL ACTIVITY:
1989-1990 – Anti-aircraft Artillery Platoon leader - Braşov
1990-1991 – Chief of crew anti-aircraft missiles, Antiaircraft Artillery and
Missiles Faculty - Braşov
1991-2005 – Junior lecturer, instructor, chief instructor, Air Force Faculty - Air
Force Academy „Henri Coandă”, Braşov
from 2005 – chief instructor, superior instructor, lecturer, military professor,
Regional Department of Defense Resources Management Studies, Braşov
SCIENTIFIC ACTIVITY:
Published scientific works: 25
Other works: 2
Research projects: 2
FOREIGN LANGUAGES: English
82