universitatea tehnic ă cluj-napoca facultatea de...

30
Universitatea Tehnică Cluj-Napoca Facultatea de Electrotehnică Catedra de Electrotehnică Sistem electric de acţionare comandat de calculator Rezumat Teză de doctorat Conducător ştiinţific Prof.univ.dr.Dan Micu Doctorand ing.Ovidiu Şigovan

Upload: truongtu

Post on 19-Feb-2018

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Universitatea Tehnic ă Cluj-Napoca Facultatea de ...old.utcluj.ro/download/doctorat/Rezumat_OSigovan.pdf · Introducere ... fie cu microprocesoare. ... în Internet,s-a impus crearea

Universitatea Tehnică Cluj-Napoca

Facultatea de Electrotehnică

Catedra de Electrotehnică

Sistem electric de acţionare

comandat de calculator

Rezumat Teză de doctorat

Conducător ştiinţific

Prof.univ.dr.Dan Micu

Doctorand

ing.Ovidiu Şigovan

Page 2: Universitatea Tehnic ă Cluj-Napoca Facultatea de ...old.utcluj.ro/download/doctorat/Rezumat_OSigovan.pdf · Introducere ... fie cu microprocesoare. ... în Internet,s-a impus crearea

2

Cuprins

Cap1. Introducere .................................................................................................................2 Cap2. Stadiul actual al cunoaşterii în comanda motoarelor pas cu pas ..................................6 Motorul pas cu pas ...............................................................................................................6

2.1 Definiţie ......................................................................................................................6 Moduri de comandă..........................................................................................................7 2.2 Comanda software ......................................................................................................7

2.2.1 Comanda folosind limbajul C.................................................................................8 2.2.2 Program2.Comanda cu jumătate de pas ...............................................................8

2.3 Comanda MPP cu microcontrolere .............................................................................9 2.3.1 Comanda cu putere întreagă...............................................................................10 Program1 ....................................................................................................................10

Cap3. Portul paralel LPT ......................................................................................................10 3.1 Exemplu de circuit de comandă prin portul paralel ....................................................11 3.2 Variantă originală de program pentru MPP unipolar..................................................12

Cap4. Protocoale de comunicaţie........................................................................................14 4.1 Protocolul X10...........................................................................................................14 4.2 Protocolul Super Stepper...........................................................................................15

Cap5. Contribuţii la realizarea protocolului XMSIG ..............................................................17 5.1 Crearea unei căi de comunicaţie între oricare două PC-uri.........................................17 5.2 Trimiterea datelor la distanţă într-o foaie de calcul în Excel. ......................................18 5.3 Crearea unui format de cadru al unui cuvânt de protocol ..........................................20

Cap.6 Concluzii....................................................................................................................23 BIBLIOGRAFIE SELECTIVĂ ....................................................................................................28

Cap1. Introducere

Conectarea unui actuator cu motor pas cu pas la un calculator presupune implementarea unei interfeţe între cele două componente. Industrial există o mare varietate de interfeţe,fie cu circuite integrate specializate, fie cu microcontrolere, fie cu microprocesoare.

Schema blocurilor funcţionale ar fi :

Translatorul care livrează impulsurile de comandă.

Driverul care asigură curentul necesar înfăşurărilor

Page 3: Universitatea Tehnic ă Cluj-Napoca Facultatea de ...old.utcluj.ro/download/doctorat/Rezumat_OSigovan.pdf · Introducere ... fie cu microprocesoare. ... în Internet,s-a impus crearea

3

Se face o prezentare generală a motoarelor pas cu pas insistând asupra regimurilor de comandă ale motorului unipolar.Se evaluează modalităţi de comandă hardware cu tranzistoare, cu circuite integrate specializate(LM297 LM 298) sau cu microcontrolere.

Centrul de greutate însă îl reprezintă partea de comandă software, în ideea folosirii de hardware minimal şi a suplinirii componentelor hard prin software. Se propune folosirea unui driver simplu cu tranzistoare conectat la portul paralel al calculatorului,acesta primind secvenţele de comandă necesare prin controlul software al portului paralel. Ideea a fost de a realiza o interfaţă cât mai simplă folosind doar facilitaţile oferite de orice calculator, eliminând pe cât posibil folosirea unor circuite integrate specializate şi beneficiind de puterea calculatorului incomparabil mai mare decât a oricărui circuit integrat specializat. S-a folosit astfel editorul Visual Basic din programul Excel care este rezident în orice calculator deci nu e necesară instalarea unui software special pentru acţionarea electrică a motorlui conectat la calculator prin intermediul portului paralel ( LPT ). Pentru uşurarea controlului s-a proiectat o interfaţă simplă cu utilizatorul, intuitivă, alocând butoanelor de comandă create semnificaţia corespunzătoare tipurilor de comandă posibile pentru un MPP unipolar.(monopolară,bipolară şi jumătate de pas). Comanda se poate face pas cu pas sau rotaţii complete, iar viteza se poate regla prin modificarea duratei impulsurilor de comandă folosind instrucţiunea Sleep(). Dezvoltănd posibilitatea conectarii mai multor actuatoare distribuite oriunde în Internet,s-a impus crearea unui protocol de comunicare între centrul de comandă şi actuatoare. S-a studiat astfel Protocolul X10 care permite controlul diverselor dispozitive electronice printr-un protocol de comunicaţie grefat pe circuitul prizelor dintr-o casă.Protocolul permite adresarea dispozitivelor precum şi transmiterea de comenzi specifice doar dispozitivelor grupate

Page 4: Universitatea Tehnic ă Cluj-Napoca Facultatea de ...old.utcluj.ro/download/doctorat/Rezumat_OSigovan.pdf · Introducere ... fie cu microprocesoare. ... în Internet,s-a impus crearea

4

într-o singură locaţie.Formatul unui cadru conţine câmpurile de Start,Cod Casă şi Cod Comandă. Dezavantajele sunt :

� Suportul datelor – tensiunea reţelei de 220V. � Limitare locală la nivel casă,instituţie etc. � Achiziţie echipamente de la producător.

Un alt protocol studiat Protocolul Super Stepper conectează un modul Master Controler la 32 de module sclav pe o magistrală de date (SSB-super stepper bus) cu 3 linii : SST – super stepper transmit, SSR - super stepper receive şi Masă. Formatul unui cadru conţine un octet Antet şi unul sau mai mulţi Operanzi în funcţie de codul comenzii conţinute în antet. Dezavantajele sunt :

� Interfaţare echipamente cu RS-422. � Necesară construirea reţelei de interconexiuni. � Instalare software dedicat.

Pentru a obţine posibilitatea controlului unor actuatoare distribuite oriunde în lume a fost nevoie de folosirea Internetului. Orice protocol de comunicaţie trebuie să asigure trei cerinţe :

� 1. Să ofere utilizatorului specificaţii clare de utilizare.

� 2. Fiabilitatea : Detecţia erorilor de comunicaţie.Tratarea erorilor de comunnicaţie se poate face prin detecţie sau prin corecţia erorilor. Algoritmii de corecţie consumă însă mult timp şi nu sunt folosiţi în practică. Este preferată detecţia erorilor şi retransmisia cadrelor eronate deoarece mecanismul este mult mai rapid.

� 3. Rezilienţa : Refacerea pachetelor pierdute.

� Cerinţele sunt asigurate de protocolul TCP/IP .

� Ideea : încapsularea comenzilor în pachete TCP/IP care foloseşte algoritmul CRC(Cyclic Redundancy Check) pentru detecţia erorilor de transmisie.

� Utilizarea modelului Client-Server.

Acesta oferă o suită de protocoale numită TCP/IP care facilitează comunicarea între oricare două calculatoare conectate la reţeaua Internet, pe baza adresei IP şi respectiv MAC. S-a folosit pentru implementare modelul Client-Server.

Page 5: Universitatea Tehnic ă Cluj-Napoca Facultatea de ...old.utcluj.ro/download/doctorat/Rezumat_OSigovan.pdf · Introducere ... fie cu microprocesoare. ... în Internet,s-a impus crearea

5

Acesta presupune crearea a două socluri pe fiecare calculator şi alocarea la fiecare soclu a unei adrese de port local la care să aştepte cereri de conectare din partea aplicaţiei Client. Soclurile pot fi interpretate prin analogie, cu aparatele telefonice din reţeaua telefonică.Orice telefon are nevoie de alocarea unui numar la care abonatul să poată fi sunat.Prin analogie fiecărui soclu îi va fi ataşat un număr de port la care poate fi accesat. Crearea soclurilor în Visual Basic este realizată prin folosirea controlului “winsock” care trebuie inserat în formularul VB care va fi creat pentru aplicaţia Server. Era nevoie însă de un protocol de nivel înalt care să fie încapsulat în stiva TCP/IP şi care să poată adresa şi trimite comenzi,oricărui actuator conectat la un calculator legat la Internet. Protocolul defineşte un format de cadru format din trei câmpuri corespunzătoare parametrilor de comandă şi codurilor comenzilor pentru regimurile de comandă monopolară,bipolară şi cu jumătate de pas cărora li se alocă trei TextBox-uri în formularul creat în Visual Basic 6. Fiecare câmp are alocat un TextBox care conţine valoarea parametrilor şi a comenzilor. Comenzile şi parametrii se transmit conacatenate sub forma unui şir de caractere delimitate prin caracterul “ “ – spaţiu. La recepţie folosind instrucţiunea InStr (start character number,string,delimiter) afăm numărul de caractere pâna la apariţia primului caracter delimitator, apoi până la al doilea procesul fiind repetat până la ultimul delimitator. Apoi cu instrucţiunea Mid (string,start character number,stop character number)sunt extraşi parametrii de comandă şi codurile comenzilor. Sunt apelate acum rutinele de comandă corespunzătoare codurilor recepţionate, care vor transmite secvenţele de comandă motorului pas cu pas. Comanda se face pas cu pas sau rotaţii complete. Teza soluţionează şi problema transmiterii la distanţa a datelor într-o foaie de calcul creată în Excel şi aflată la distanţă pe un calculator conectat la reţeaua Internet. Soluţia poate fi folosită şi pentru actualizarea unei foi de calcul Excel creată de proprietar pe o pagină Web publică. Protocolul elaborat rezolvă această problemă şi va fi descris în teză. Teza oferă astfel două soluţii originale referitoare la interfaţarea

Page 6: Universitatea Tehnic ă Cluj-Napoca Facultatea de ...old.utcluj.ro/download/doctorat/Rezumat_OSigovan.pdf · Introducere ... fie cu microprocesoare. ... în Internet,s-a impus crearea

6

actuatoarelor cu calculatorul folosind programul Excel şi la implementarea unui protocol de comunicaţie (protocolul XMSIG) între un centru de comandă şi actuatoarele distribiute oriunde în reţeaua Internet. Protocolul XMSIG facilitează o gamă largă de automatizări posibile. Se poate controla astfel o cameră de luat vederi aflată la distanţă, comandând zona de vizualizare sau zoom-ul camerei. Se pot comanda la distanţă elemente de execuţie, cum ar fi electrovalele sau relee sau motoare pas cu pas. Informaţiile referitoare la parametrii procesului controlat pot fi transmise centrului de comandă folosind UDPLPT, corecţiile necesare fiind apoi aplicate prin intermediul protocolului XMSIG. Putem crea orice automatizare care poate fi controlată prin portul paralel LPT. Gama de aplicţii posibile este foarte variată datorită controlului total al portului paralel asigurat de aplicaţiile descrise în teză. Ţin să mulţumesc şi să-mi exprim recunoştiinţa şi cele mai calde mulţumiri conducătorului ştiinţific, domnului profesor dr. ing. Dan Micu, pentru îndrumarea competentă în eleborarea prezentei lucrări.

Cap2. Stadiul actual al cunoaşterii în comanda motoarelor pas cu pas .

Motorul pas cu pas

Teoretic motorul pas cu pas este construit foarte simplu.Nu are perii sau contacte.În esenţă este un motor sincron al cărui câmp electromagnetic este comutat electronic pentru a pune în mişcare rotorul motorlui.[1]

2.1 Definiţie

Motorul electric pas cu pas este un convertor electromagnetic care realizează conversia impulsurilor de comandă aplicate fazelor motorului într-o mişcare de rotaţie ce constă din deplasări unghiulare discrete, de mărime egală şi care reprezintă paşii motorului. Numărul paşilor efectuaţi trebuie să corespundă, în cazul unei funcţionări corecte, cu numărul impulsurilor de comandă aplicate înfăşurărilor motorului.

Majoritatea motoarelor pas cu pas sunt bidirecţionale şi permit o accelerare, oprire şi reversare rapidă fără pierderi de paşi, dacă sunt comandate cu o frecvenţă inferioară frecvenţei limită corespunzătoare

Page 7: Universitatea Tehnic ă Cluj-Napoca Facultatea de ...old.utcluj.ro/download/doctorat/Rezumat_OSigovan.pdf · Introducere ... fie cu microprocesoare. ... în Internet,s-a impus crearea

7

regimului respectiv de funcţionare. Pentru extinderea funcţionării motoarelor pas cu pas la viteze mai mari decât viteza corespunzătoare frecvenţei limită, este necesară o accelerare prin creştere treptată a frecvenţei impulsurilor de comandă.

Motoarele pas cu pas sunt utilizate în special în aplicaţiile unde se doreşte realizarea unei mişcări incrementale, folosind sisteme de comandă numerică.

Avantajele utilizării motoarelor pas cu pas sunt următoarele: - asigură univocitatea conversiei impuls-deplasare şi pot fi

utilizate în circuit deschis - gamă largă de frecvenţe de comandă - precizie şi putere de rezoluţie (număr de paşi pe rotaţie) mărite - permit porniri, opriri, reversări, fără pierderi de paşi - memorează poziţia - sunt compatibile cu tehnica numerică Dezavantajele utilizării motoarelor pas cu pas sunt: - unghi de pas, deci increment de rotaţie, de valoare fixă pentru

un motor dat - randament scăzut - capacitate limitată în ceea ce priveşte acţionarea unor sarcini cu

inerţie mare - viteză de rotaţie relativ scăzută - necesită o schemă de comandă adaptată la tipul constructiv

respectiv şi relativ complexă, pentru asigurarea unei funcţionări la viteze mari.

Moduri de comandă

- cu jumătate de putere(o fază activă) - cu putere intreagă(două faze active) - cu jumătate de pas(una şi două faze active) microstepping(variaţie continuă a curenţilor prin motor)

2.2 Comanda software

Pentru a comanda motorul pas cu pas unipolar putem folosi diverse limbaje cum ar fi :

Page 8: Universitatea Tehnic ă Cluj-Napoca Facultatea de ...old.utcluj.ro/download/doctorat/Rezumat_OSigovan.pdf · Introducere ... fie cu microprocesoare. ... în Internet,s-a impus crearea

8

2.2.1 Comanda folosind limbajul C.

Program1.Comanda cu putere întreagă [16] #include <REG2051.H>.

#define stepper P1 void delay(); void main(){ while(1){ stepper = 0x0C; delay(); stepper = 0x06; delay(); stepper = 0x03; delay(); stepper = 0x09; delay(); } } void delay(){ unsigned char i,j,k; for(i=0;i<6;i++) for(j=0;j<255;j++) for(k=0;k<255;k++); }

2.2.2 Program2.Comanda cu jumătate de pas

void main(){ while(1){ stepper = 0x08; delay(); stepper = 0x0C; delay(); stepper = 0x04; delay(); stepper = 0x06; delay(); stepper = 0x02; delay();

Page 9: Universitatea Tehnic ă Cluj-Napoca Facultatea de ...old.utcluj.ro/download/doctorat/Rezumat_OSigovan.pdf · Introducere ... fie cu microprocesoare. ... în Internet,s-a impus crearea

9

stepper = 0x03; delay(); stepper = 0x01; delay(); stepper = 0x09; delay(); } }

2.3 Comanda MPP cu microcontrolere

O posibilă schemă de conectare ar fi următoarea : [25][26]

Figura1.

Ieşirile microcontrolerului sunt conectate la buferul 4050 şi apoi sunt

conectate la un transistor NPN de tip Darlington.S-au folosit tranzistoare TIP120.

Acestea lucrează ca şi comutatoare activând pe rând înfăşurările MPP-ului.

Page 10: Universitatea Tehnic ă Cluj-Napoca Facultatea de ...old.utcluj.ro/download/doctorat/Rezumat_OSigovan.pdf · Introducere ... fie cu microprocesoare. ... în Internet,s-a impus crearea

10

Datorită sarcinii inductive ce apare la comutarea de la o înfăşurare la alta trebuie să conectăm în paralel cu joncţiunea colector-emitor a tranzistoarelor o diodă 1N4001.

Tranzistoarele TIP120 au această diodă inclusă . Cea mai simplă modalitate de comandă este cea cu putere întreagă fiecare

înfăşurare fiind activată pe rând.După terminarea secvenţei comenzile se repetă la infinit până când tensiunea de alimentare este oprită.

Programul de comandă este foarte simplu.[28] Se folosesc comenzile high sau low pentru controlul liniilor de ieşire.

2.3.1 Comanda cu putere întreagă

Program1

Symbol delay = B0 ' use b0 as the delay variable delay = 25 ' set the delay to 25 ms loop: high 0 ' turn on Q1 pause delay ' wait 25 ms low 0 ' turn off Q1 high 1 ' turn on Q2 pause delay ' wait 25 ms low 1 ' turn off Q2 high 2 ' turn on Q3 pause delay ' wait 25 ms low 2 ' turn off Q3 high 3 ' turn on Q4 pause delay ' wait 25 ms low 3 goto loop ' turn off Q4 ' forever

Cap3. Portul paralel LPT

Portul reprezintă un set de linii pe care CPU trimite şi primeşte semnale de la dispozitivele periferice.Folosim porturile pentru a comunica prin intermediul unnui modem,a imprimantei,a tastaturii,a mouse-ului etc.Un port paralel trimite 8 biţi odată şi primeşte 5 biţi. Portul serial RS 232 poate primi şi recepţiona un bit în accelaşi timp.[39][41][42]

Page 11: Universitatea Tehnic ă Cluj-Napoca Facultatea de ...old.utcluj.ro/download/doctorat/Rezumat_OSigovan.pdf · Introducere ... fie cu microprocesoare. ... în Internet,s-a impus crearea

11

3.1 Exemplu de circuit de comandă prin portul paralel

Circuitul a fost proiectat pentru un MPP unipolar de 12V ; 1,8°/pas şi

0,16A/fază(înfăşurare). Vom folosi ca driver circuitul ULN2803 pe 8 biţi , care suportă tensiunea maximă de 50v şi un current de ieşire de 500mA,care acceptă intrări TTL. Pentru a izola placa de bază de interfaţa cu MPP-ul vom folosi optocuplori IC4N35.[22]

Figura2.

Schema de conectare a motorului pas cu pas fără optocuplori este în figura 4

:[39]

Page 12: Universitatea Tehnic ă Cluj-Napoca Facultatea de ...old.utcluj.ro/download/doctorat/Rezumat_OSigovan.pdf · Introducere ... fie cu microprocesoare. ... în Internet,s-a impus crearea

12

Figura3.

Programarea pentru motor unipolar

Pentru a comunică cu portul paralel evitând conflictele cu alte device-uri conectate la PC vom folosi inpout32.dll .Este o Rutina care permite accesarea portului paralel .Algoritmul rutinei este :

3.2 Variantă originală de program pentru MPP unipolar

Programul a fost scris în Microsoft Excel folosind editorul Visual Basic din meniul macros->VB editor.[84].In fereastra ce apare se face click pe Insert Module iar în modul se scrie codul :

Public Declare Function Inp Lib "inpout32.dll" Alias "Inp32" _ (ByVal PortAddress As Integer) _ As Integer Public Declare Sub Out Lib "inpout32.dll" Alias "Out32" _ (ByVal PortAddress As Integer, _ ByVal Value As Integer)

Programul cheamă rutina inpout32.dll din directorul system32 al Windows-ului şi deschide portul paralel. Acum se creează în foaia excel butoanele de comandă:[85] Se prezintă doar rutina pentru comanda bipolară,restul fiind create asemănător corespunzător regimului de comandă dorit : Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub CommandButton1_Click()

countit = 0

Page 13: Universitatea Tehnic ă Cluj-Napoca Facultatea de ...old.utcluj.ro/download/doctorat/Rezumat_OSigovan.pdf · Introducere ... fie cu microprocesoare. ... în Internet,s-a impus crearea

13

myTimer = 0

countit = Sheet1.Cells(4, 1)

Do While countit > 0

myTimer = Sheet1.Cells(4, 3)

Out 888, 3

Sleep (myTimer)

If countit = 0.25 Then

Exit Sub

End If

Out 888, 6

Sleep (myTimer)

If countit = 0.5 Then

Exit Sub

End If

Out 888, 12

Sleep (myTimer)

If countit = 0.75 Then

Exit Sub

End If

Out 888, 9

Sleep (myTimer)

countit = countit - 1

Loop

Out 888, 0

End Sub

Page 14: Universitatea Tehnic ă Cluj-Napoca Facultatea de ...old.utcluj.ro/download/doctorat/Rezumat_OSigovan.pdf · Introducere ... fie cu microprocesoare. ... în Internet,s-a impus crearea

14

Figura 4.

Cap4. Protocoale de comunicaţie

4.1 Protocolul X10

Protocolul X10 foloseşte transmisia sincronizată cu momentul trecerii prin zero al tensiunii alternative a reţelei de 220V.Important este ca transmisia să se facă cât mai aproape de momentul trecerii prin zero şi nu mai tarziu de 200 de microsecunde de la acest moment.[92]

Cele două module PSC04 –transmitător şi PSC05 – transmitător-receptor generează un semnal dreptunghiular de 60 hz cu o întârziere maximă faţă de momentul trecerii prin zero al tensiunii de reţea de maxim 100 de microsecunde.

Întârzierea maximă între anvelopa semnalului de intrare şi semnalul de ieşire de 120 khz este de 50 de microsecunde faţă de momentul trecerii prin zero a tensiunii reţelei.

Valoarea unu binar este reprezentată printr-un burst de 120khz cu durata de 1 milisecundă faţă de momentul trecerii prin zero iar un zero logic este reprezentat prin absenţa burstului .

Cele două module realizează modularea semnalului de intrare cu un semnal de 120 khz ,deci la intrarea lor trebuie aplicată doar anvelopa burstului de 1 milisecundă .

Page 15: Universitatea Tehnic ă Cluj-Napoca Facultatea de ...old.utcluj.ro/download/doctorat/Rezumat_OSigovan.pdf · Introducere ... fie cu microprocesoare. ... în Internet,s-a impus crearea

15

Dacă se lucrează trifazat atunci burstul de 1 milisecunda trebuie transmis de trei ori şi cât mai aproape de momentul trecerii prin zero a tensiunii de reţea ca în figura.6.

Figura 5 .1 şi 5.2

4.2 Protocolul Super Stepper Protocolul funcţioneaza între un modul master Controler conectat la 32

de module sclav.[93] MC poate fi orice dispozitiv care posedă un port UART cum găsim în

orice PC. Magistrala de date pe 3 fire e numită SSB –super stepper bus şi conţine

semnalele : SSR – super stepper receive SST – super stepper transmit Masa – ground Pe linia SSR se transmit comenzi iar pe linia SST se primesc confirmări . Interconectarea modulelor MC şi sclav se face ca în figura6 : Adresarea modulelor sclav se face prin informaţia plasată în antetul

cuvântului de protocol unde sunt plasate şi codurile comenzilor. Spaţiul de adrese conţine 5 din cei 8 biţi ai antetului deci se pot adresa 32

de module sclav. Codurile de comenzi au alocaţi 3 biţi din antet deci se pot codifica 8

comenzi. Comenzile se referă la scrierea şi citirea memoriei şi la comenzi de

execuţie.

Page 16: Universitatea Tehnic ă Cluj-Napoca Facultatea de ...old.utcluj.ro/download/doctorat/Rezumat_OSigovan.pdf · Introducere ... fie cu microprocesoare. ... în Internet,s-a impus crearea

16

Figura 6.

Formatul unui cadru este :

După antet modulul sclav aşteaptă N operanzi .Modulul ştie câţi operanzi

urmează după antet decodând informaţia din antet referitoare la codul comenzilor.

Page 17: Universitatea Tehnic ă Cluj-Napoca Facultatea de ...old.utcluj.ro/download/doctorat/Rezumat_OSigovan.pdf · Introducere ... fie cu microprocesoare. ... în Internet,s-a impus crearea

17

Dacă toţi octeţii sunt receptionaţi corect,modulul sclav confirmă recepţionarea lor corectă şi trece la executarea comenzilor,iar dacă nu s-a recepţionat corect trimite la MC o confirmare negativă în care specifică şi cauza.

Orice protocol de comunicaţie trebuie să asigure trei cerinţe : 1.Proiectarea protocolului trebuie sa ofere utilizatorului specificaţii clare

de utilizare astfel încât să poată folosi rutinele protocolului independent de hardware.

2.Fiabilitatea : In cazul unei mediu de comunicaţie cu zgomot trebuie să putem detecta şi eventual corecta erorile de transmisie.

3.Rezilienţa : Posibilitatea testării ciclice a liniei de comunicaţie astfel încât să poată fi refăcut orice pachet de date care s-a pierdut sau a fost transmis eronat.

Toate aceste cerinţe sunt asigurăte de protocolul TCP/IP folosit atât în reţelele locale cât şi în Internet.

Ideea a fost să folosesc acest protocol ca suport şi să încapsulez comenzile dorite de aplicaţia mea în pachete TCP/IP.

Cap5. Contribuţii la realizarea protocolului XMSIG

5.1 Crearea unei căi de comunicaţie între oricare două PC-uri

Pentru aceasta s-a folosit o Rutină în Visual Basic care conectează două PC-uri după care poate transmite în ambele sensuri şiruri de caractere .

Rutina funcţionează astfel : Să notăm cele două capete cu A şi respective B.Vom crea un formular în VB cu două casete text “send “ şi “receive”.

Caracterele tastate în caseta send a nodului A vor fi transmise spre caseta receive a nodului B folosind controlul winsock.

Controlul winsock realizează conectarea la perechea B aflată la distanţă specificând numele RemoteHost-ului precum şi adresa portului la care RemoteHost aşteaptă cereri de conectare.S-au folosit adresele 1001 pentru gazda B şi 1002 pentru gazda A.[94]

Ataşarea adreselor de port se face cu instrucţiunea “Bind” .

Page 18: Universitatea Tehnic ă Cluj-Napoca Facultatea de ...old.utcluj.ro/download/doctorat/Rezumat_OSigovan.pdf · Introducere ... fie cu microprocesoare. ... în Internet,s-a impus crearea

18

Figura 7.

5.2 Trimiterea datelor la distanţă într-o foaie de calcul în Excel.

Rutina funcţionează astfel :[84][88][90] Pentru implementare s-a folosit modelul client-server. Aplicaţia server va fi pusă în buclă autoblocantă “Listen” (ascultă) până

la apariţia unei cereri de conectare din partea clientului : La încarcarea formularului va trebui să deschidem o foaie de calcul în

Excel care va prelua datele transmise de Client : Private Sub Form_Load() Set exapp = New Excel.Applicâtion Set exbook = exapp.Workbooks.Add Set exsheet = exbook.Sheets(1) exsheet.Name = "Aici iau date de la client" c_line = 1 Command1_Click End Sub

La sosirea unei cereri de conectare de la Client vom trece Serverul în starea accept :

Private Sub sock_ConnectionRequest(ByVal requestID As Long) If sock.State = sckListening Then sock.Close

Page 19: Universitatea Tehnic ă Cluj-Napoca Facultatea de ...old.utcluj.ro/download/doctorat/Rezumat_OSigovan.pdf · Introducere ... fie cu microprocesoare. ... în Internet,s-a impus crearea

19

sock.Accept (requestID) End If End Sub

Acum Serverul poate să preia datele de la Client.Acestea vor fi preluate în variabila “s” de tip şir. In foaia Excel deschisă anterior se va scrie în caseta A1 data şi ora la care au sosit datele iar în caseta B1 datele transmise ca parametri de comandă ai motorului MPP.

Private Sub sock_DataArrival(ByVal bytesTotal As Long) Dim s As String sock.GetData s exsheet.Range("a" & c_line).Value = Date & " - " & Time exsheet.Range("b" & c_line).Value = s c_line = c_line + 1 Formularele create arată ca în figura :

Figura 8.

Figura 9.

Page 20: Universitatea Tehnic ă Cluj-Napoca Facultatea de ...old.utcluj.ro/download/doctorat/Rezumat_OSigovan.pdf · Introducere ... fie cu microprocesoare. ... în Internet,s-a impus crearea

20

5.3 Crearea unui format de cadru al unui cuvânt de protocol

Formatul cadrului este următorul :[85][89]

Viteza Nr.Secvente de repetare Comenzi TextBox1 TextBox2 TextBox3

Formatul cadrului se compune din trei câmpuri reprezentate prin TextBox-uri în VB

Trebuie să fie formatate datele transmise la server după modelul protocolului XMSIG adică să se respecte formatul de cadru al protocolului.

Pentru aceasta s-au separat parametri “viteza”,”repeta” şi “codul comenzii”astfel încât serverul să poată decoda datele primite.

Pentru a realiza acest deziderat s-a separat câmpul de date printr-un spaţiu “ “ după care s-au concatenat parametri şi codul comenzii astfel :

Private Sub bntSend_Click() On Error GoTo t text = Viteza & " " & Repeta & " " & “cod comanda” unde cod comanda poate lua valorile :”+/- putere/1” sau “ +/- putere/2 “ sau ‘ +/- pas/2 “ astfel : Private Sub bntSend_Click() On Error GoTo t ' se trimite conţinutul casetei text txtSend text = Viteza & " " & Repeta & " " If putere11.Value = True Then text = text & "putere/1" End If If putere12.Value = True Then text = text & "-putere/1" End If If putere21.Value = True Then text = text & "putere/2" End If If putere22.Value = True Then text = text & "-putere/2"

Page 21: Universitatea Tehnic ă Cluj-Napoca Facultatea de ...old.utcluj.ro/download/doctorat/Rezumat_OSigovan.pdf · Introducere ... fie cu microprocesoare. ... în Internet,s-a impus crearea

21

End If If pas21.Value = True Then text = text & "pas/2" End If If pas22.Value = True Then text = text & "-pas/2" End If sock1.SendData text 'trasmite şirul text la Server La primirea cadrului Serverul va decoda datele primite astfel : Se folosesc insrucţiunile :

InStr([start,] string1, string2 [, compare])[84]

Returnează poziţia primei apariţii a şirului 2 în şirul 1 Start este opţional şi specifică poziţia de la care începe căutarea. Poate lua valori de la 1 la Len(string1) Dacă nu e specificat ,căutarea începe de la primul caracter. String1 – este şirul în care se caută String2 – este şirul căutat Compare – opţional – valoarea 0 specifică o căutare binară iar valoarea 1 o căutare text.

Mid(string,start[,length])[84]

Returnează un număr specificat de caractere dintr-un şir. String – şirul din care sunt returnate caracterele Start – specifică poziţia de unde începe returnarea caracterelor Length – numărul de caractere ce se vor returna Rutina arată astfel : sock1(Index).GetData dat, vbString ‘scrie datele în şir Dim pozViteza As Integer Dim pozRepeta As Integer Dim Tip As String Dim viteza As String Dim repeta As String

Page 22: Universitatea Tehnic ă Cluj-Napoca Facultatea de ...old.utcluj.ro/download/doctorat/Rezumat_OSigovan.pdf · Introducere ... fie cu microprocesoare. ... în Internet,s-a impus crearea

22

pozViteza = InStr(1, dat, " ") ‘caută apariţia spaţiului “ “ în şirul de date primit de la client viteza = Mid(dat, 1, pozViteza - 1) ‘returnează un număr de caractere egal cu pozViteza -1 din şirul “dat” primit. pozRepeta = InStr(pozViteza + 1, dat, " ") ‘caută apariţia unui nou spaţiu “ “ în şirul “dat” dar începe căutarea de la pozViteza+1 repeta = Mid(dat, pozViteza + 1, pozRepeta - pozViteza) ‘returnează caracterele din şirul dat de la pozViteza+1 până la pozRepeta-pozViteza Tip = Mid(dat, pozRepeta + 1, (Len(dat) - pozRepeta)) ‘returnează caracterele din şirul dat începând de la pozRepeta+1 până la Len(dat)-pozRepeta Acum variabila viteza va conţine parametrul viteză transmis de client,variabila repeta va conţine parametrul repetare secvenţă transmis de client,iar variabila Tip va conţine codul comenzii transmise. In functie de codul comenzii se vor executa rutinele +/- putere/1 sau +/-

putere/2 sau +/- pas/2. Spre exemplu dacă Tip = ‘putere/1” sa va executa următorul cod :

If Tip = "putere/1" Then countit = 0 myTimer = 0 countit = scountit Do While countit > 0 myTimer = smyTimer Out 888, 1 Do While myTimer > 0 myTimer = myTimer - 1 Loop myTimer = smyTimer Out 888, 2 Do While myTimer > 0 myTimer = myTimer - 1 Loop Out 888, 4

Page 23: Universitatea Tehnic ă Cluj-Napoca Facultatea de ...old.utcluj.ro/download/doctorat/Rezumat_OSigovan.pdf · Introducere ... fie cu microprocesoare. ... în Internet,s-a impus crearea

23

myTimer = smyTimer Do While myTimer > 0 myTimer = myTimer - 1 Loop Out 888, 8 myTimer = smyTimer Do While myTimer > 0 myTimer = myTimer - 1 Loop countit = countit - 1 Loop Out 888, 0 sock1(Index).SendData ("S-a rulat putere/1") txtLog = txtLog & "Client" & Index & "! Am terminat putere/1!!! "

& vbCrLf End If

Cap.6 Concluzii

In capitolul 2 se face un studiu detaliat al modurilor de comandă a motorului pas cu pas unipolar evidenţiind regimurile cu pas întreg şi cel cu pas pe jumătate şi respectiv comenzile monopolară şi bipolară. Rezultă astfel secvenţele de comandă necesare a fi generate pentru asigurarea regimurilor de funcţionare ale motorului pas cu pas. Având în vedere tema tezei şi anume comanda prin calculator s-a urmarit în special aspectul software. Din acest punct de vedere, generarea secvenţelor de comanda se poate face folosind limbajul de asamblare, limbajul C sau limbaje special create pentru microcontrolere cum ar fi JAL.(just another language). Relevant este faptul că toate aceste limbaje necesită şi implementarea de hardware necesar comutărilor între regimurile de comandă sau schimbării sensului motorlui . Soluţia propusă în teză ca şi contribuţie personală pentru comanda locală rezolvă următoarele aspecte :

- Asigură toate secvenţele de impulsuri de comandă necesare unui MPP unipolar. Comutarea între regimurile de functionare se face printr-un simplu click pe butonul corespunzător regimului dorit, buton din formularul creat în Excel.

Page 24: Universitatea Tehnic ă Cluj-Napoca Facultatea de ...old.utcluj.ro/download/doctorat/Rezumat_OSigovan.pdf · Introducere ... fie cu microprocesoare. ... în Internet,s-a impus crearea

24

- Generarea secvenţelorlor prin software utilizând instrucţiuni din editorul Visual Basic for Applications disponibile în meniul Tools\Macro\Visual Basic Editor şi transmiterea lor prin portul paralel LPT.

- Pentru generare s-a folosit instrucţiunea Out (addresă_port, valoare).

- Adresa este specificată în format hexazecimal.Adresa portului LPT2 fiind 378 în zecimal rezultă în hexa addresa 888.

- Pentru durata impulsurilor de comandă s-a folosit instrucţiunea Sleep(val în milisecunde).Durata determină parametrul viteză.

- Parametrul Nr. Secvenţă defineşte numărul de paşi care se execută la apăsarea unui buton de comandă .

- Rutinele au fost alocate evenimentelor de tipul Button_Click(n) din formularul creat în Excel. Pentru comanda la distanţă s-au cercetat protocoale folosite industrial ca X10 şi Super Stepper .Studierea acestora a dus la concluzia că fiecare dintre ele impune achiziţionarea de hardware şi software specializat de la producător. Totodată aceste protocoale limiteză posibilitatea de comandă la arii restrânse, interconectarea componentelor hardware se face prin construirea unei reţele de cabluri de interconectare. Studierea acestor protocoale a generat ca şi contribuţie personală elaborarea protocolului XMSIG .Este un protocol software al cărui format de cadru a fost asociat cu TextBox-uri din formularele Client create în Visual basic 6. Împachetarea cadrelor de date în pachetele TCP/IP a asigurat atât rezilienţă cât şi fiabilitate protocolului. Implementarea protocolului este o realizare originală concretizată în rezolvarea următoarele aspecte :

- Trimiterea la distanţă a unui şir de caractere prin folosirea protocolului TCP/IP în care au fost încapsulate datele propriu-zise.

- Aplicţia UDPLPT rezolvă această problemă oferind şi un feedback din partea sistemului controlat aflat la distanţă oriunde în reţeaua Internet.

- Transmisia s-a făcut utilizând soclurile TCP respectiv controlul winsock şi modelul Client – Server.

- S-au realizat apoi aplicaţiile Client – Server pentru transmiterea de şiruri de caractere unei foi de calcul în Excel aflată pe un calculator din Internet.

Page 25: Universitatea Tehnic ă Cluj-Napoca Facultatea de ...old.utcluj.ro/download/doctorat/Rezumat_OSigovan.pdf · Introducere ... fie cu microprocesoare. ... în Internet,s-a impus crearea

25

- Aplicaţia oferă şi posibilitatea actualizării unei foi de calcul dintr-o pagină Web

- Aplicaţia Server deschide o foaie de calcul în Excel, după care aşteaptă pe soclul creat cereri de conectare de la Client.

- La sosirea cererii o acceptă şi preia datele din bufferul creat şi le înscrie în celulele nominalizate ale foii de calcul.

- S-a creat apoi un format de cadru pentru Protocolul XMSIG care să preia parametrii şi comenzile necesare motorlui pas cu pas ce trebuia comandat.

- Parametrii şi comenzile au fost concatenate şi separate prin caracterul “ “ ,selectarea comenzilor făcându-se cu instrucţiunea If Then Else.

- Codurile comenzilor au fost alocate fiecărui regim de funcţionare al motorului pas cu pas unipolar.

- Cu InStr(start, şir, caracter_control) au fost numărate caracterele până la carcterul de control, iar cu Mid(şir, start, nr.caractere) s-au extras pe rând parametrii (viteză,repetă) şi apoi tipul de comandă.

- În final s-a realizat implementarea celor trei proceduri într-o interfaţă identică cu cea creată pentru comanda locală, astfel încât utilizatorul să lucreze ca şi cum ar fi conectat local.

Contribuţii personale : - Interfaţa în Excel pentru comanda locală a unui motor pas cu pas S-a folosit avantajul limbajelor vizuale care oferă interfeţe accesibile utilizatorului,punând la dispoziţie casete de controale ce includ : textbox-uri, butoane de comandă, timere, controlul winsock, etc. - Punte de comunicaţie UDP ca suport pentru transferul unui şir de caractere între două calculatoare conectate în reţeaua Internet - Program de scriere într-o foaie de calcul din Excel pe un calculator aflat la distanţă oriunde în Internet, program ce facilitează actualizarea unei foi de calcul inclusă într-o pagină Web. - Protocolul XMSIG care permite codificarea şi respectiv decodoficarea parametrilor şi a comenzilor transmise unui motor pas cu pas interfaţat cu un PC gazdă din Internet - Definirea unui format de cadru ce poate fi generalizat prin extinderea câmpurilor unui cadru, permiţând extinderea controlului prin portul paralel a până la 16 motoare pas cu pas, adresabile pe cei 4 biţi ai portului LPT care au rămas nefolosiţi.(Protocolul XMSIG foloseşte doar liniile D0-D3 ale portului LPT).

Page 26: Universitatea Tehnic ă Cluj-Napoca Facultatea de ...old.utcluj.ro/download/doctorat/Rezumat_OSigovan.pdf · Introducere ... fie cu microprocesoare. ... în Internet,s-a impus crearea

26

- Posibilitatea conectării simultane a mai multor Clienţi la acelaşi proces Server care gestionează motorul pas cu pas - Protocolul XMSIG oferă independenţă totală de hardware.

- Este relativ uşor de implementat la nivel local solicitând ca resurse doar programul Excel

- Obţinerea controlului total al portului LPT fapt ce oferă aplicaţii diverse în domeniul automatizărilor industriale

- Pot fi comandate direct : relee, electrovalve, motoare pas cu pas etc. - Transmisia şi recepţia se fac în siguranţă datorită suportului TCP/IP

în care au fost încapsulate cadrele protocolului XMSIG - Actualizare instantanee a parametrilor. - Posibilitate feedback prin UDPLPT respectiv se pot transmite spre

Client informaţii culese local prin diverse traductoare. - Monitorizarea permanentă a conexiunii.Odată stabilită conexiunea

virtuală între Client şi server ea rămâne activă pană la intervenţia utilizatorului,în sensul închiderii conexiunii. Dezvoltări ulterioare :

- Utilizarea reţelei GSM ca suport pentru transmiterea parametrilor şi a comenzilor către MPP folosind formatul cadrului definit în protocolul XMSIG - Generalizare la orice format de cadru . - Conectare multiplă pe acelaşi Server. - Controlul portului serial în Viual Basic.

- Trimiterea unui SMS folosind Visual Basic. Capitolul 1 face o prezentare generală a modalităţilor de abordare posibile a temei acestei teze,trecând în revistă atât abordări software cât şi hardware. Se relevă avantajele şi dezavantajele diverselor metode existente în domeniu,şi se expun pricipial soluţiile originale introduse în teză. Capitolul 2 descrie stadiul actual al cunoaşterii în domeniu,făcând un studiu al modalităţilor de comandă a unui motor pas cu pas unipolar. Sunt tratate diverse posibilităţi de comandă atât hardware cât şi software. Concluzia este că în general este nevoie fie de folosirea limbajului de asamblare foarte greoi şi fără disponibilităţi grafice, fie de folosirea limbajului C sau a unor limbaje dedicate microcontrolerelor cum ar JAL.(Just Another Language). Folosirea microcontrolerelor sau a circuitelor integrate logice impune costruirea cablajelor,lipirea componentelor,testarea schemei,construirea surselor de alimentare,etc.Toate aceste elemente conduc la costuri mărite şi la interfeţe hardware complexe cu utizatorul.

Page 27: Universitatea Tehnic ă Cluj-Napoca Facultatea de ...old.utcluj.ro/download/doctorat/Rezumat_OSigovan.pdf · Introducere ... fie cu microprocesoare. ... în Internet,s-a impus crearea

27

Capitolul 3 tratează portul paralel ( LPT ) din perspectiva interfaţării unui motor pas cu pas unipolar .Studiul descrie semnalele suportate de portul paralel,semnificaţia acestora şi tratează interfaţa hardware cu motorul pas cu pas.Se alege o interfaţă cât mai simplă având în vedere faptul că s-a urmărit maximizarea utilizării resurselor disponibile ale oricărui calculator,deci utilizarea unui minim de componente hardware externe şi suplinirea funcţiilor acestor componente prin software. Este tratată şi posibilitatea de monitorizare prin software a semnalelor disponibile pe liniile de date ale portului paralel,descriind aici şi programul lpt.exe. Capitolul 4 descrie protocoale de comunicaţie folosite industrial pentru controlul la distanţă al motoarelor pas cu pas.Este descris protocolul X10, grefat pe reţeaua de 220V existentă în orice clădire.Protocolul foloseşte module transmiţător –receptor care modulează în frecvenţă semnalele de date .Utilizarea protocolului presupune achiziţia de echipamente de la producător. Alt protocol descris este Super Stepper,care interconectează un modul master controler la 32 de module sclav prin interfaţa RS-422, şi necesită achiziţia atât a echipamentelor de la producător cât şi cumpărarea de software dedicat acestei aplicaţii.Dezavantajul major al acestor protocoale se referă la posibilitatea utilizării lor pe o arie restrânsă de ordinul a 1-2km. Super Stepper presupune construirea în prealabil a reţelei de 3 fire necesare transportului semnalelor interfeţei RS- 422. Aceste considerente au dus la o contribuţie esenţială prin crearea unui protocol de comunicaţie care să ofere posibilitatea controlului unui motor pas cu pas fară limitări geografice. XMSIG permite controlul la distanţă al unui motor unipolar conectat local la un calculator prin intermediul portului paralel,care la rândul său este conectat în reţeaua Internet.Este de la sine înţeles că este posibil cu atât mai mult şi controlul într-o reţea locală.Protocolul foloseşte ca suport protocolul TCP/IP şi modelul Client - Server. Capitolul 5 conţine contribuţii personale ale autorului şi descrie etapele software parcurse pentru implementarea protocolului XMSIG. În prima etapă se expune soluţia propusă pentru transmiterea la distanţă în Internet a unui şir de caractere.Având în vedere faptul că interfaţa locală era creată folosind programul Excel s-a creat în etapa a doua un program care să transmită date într-o foaie de calcul creată în Excel şi aflată la distanţă, pe un calculator conectat la Internet. Etapa 3 descrie protocolul XMSIG şi aici este definit formatul unui cadru de date folosit de protocol.Ideea originală se referă la asignarea câmpurilor unui

Page 28: Universitatea Tehnic ă Cluj-Napoca Facultatea de ...old.utcluj.ro/download/doctorat/Rezumat_OSigovan.pdf · Introducere ... fie cu microprocesoare. ... în Internet,s-a impus crearea

28

cadru al protocolului unor TextBox-uri introduse în formularul creat în Visual Basic 6.Mecanismul de codificare prin separarea cu caractere delimitatoare, şi extragerea parametrilor şi a codurilor de comandă oferă o soluţie ingenioasă şi eficientă prin simplitatea implementării. Autorul reface apoi interfaţa cu utilizatorul în scopul încapsulării celor trei aplicaţii create anterior .Este refăcută şi interfaţa grafică cu utilizatorul în sensul asemănării cu interfaţa creată pentru comanda locală,astfel încât utilizatorul să lucreaze la fel ca în modul local deşi comandă un motor aflat la distanţă oriunde în reţeaua Internet. Capitolul 6 expune concluziile extrase din capitolele 1-5,relevând aspectele care au condus la crearea protocolului XMSIG, precum şi a interfeţei locale de comandă .Avantajele şi dezavantajele soluţiilor studiate în teză sunt enumerate în acest capitol de sinteză . Sunt propuse şi posibile dezvoltări ale tezei pentru situaţia în care nu avem conectivitate la reţeaua Internet.Se propune ca soluţie folosirea reţelelor GSM. Protocolul XMSIG poate fi folosit în continuare,dar cadrele de date ale protocolului vor fi transmise de la Client la Server prin intermediul unor mesaje scurte (SMS), care însă trebuie să respecte sintaxa protocolului XMSIG pentru a putea fi interpretate corect şi a genera secvenţele necesare de comandă .

BIBLIOGRAFIE SELECTIVĂ

1. Manolea Gh., Sisteme automate de acţionare electromecanică, Editura Universitaria Craiova, 2004.

11. Baluta Gh., Acţionări electrice cu motoare pas cu pas, Editura Gheorghe Asachi, Iasi, 2003.

16. Kernigham M.W., Ritchie D.M., The C Programming Language, Second Edition, Prentice Hall, Englewood Cliffs, New Jersey, 1988.

17. Kuo B.C., Kelemen A., Crivii M., Trifa V., Sisteme de comanda si reglare incrementala a pozitiei, Editura Tehnica, Bucuresti, 1981.

20. Industrial and Computer Peripheral ICs, SGS-THOMSON, Data Book, 1988.

21. Hybrid Step Motor Systems Catalog, PACIFIC SCIENTIFIC, Data Book, Rockford, 1991.

Page 29: Universitatea Tehnic ă Cluj-Napoca Facultatea de ...old.utcluj.ro/download/doctorat/Rezumat_OSigovan.pdf · Introducere ... fie cu microprocesoare. ... în Internet,s-a impus crearea

29

22. Integrated Circuits. Product & Applications, UNITRODE, Handbook, 1993-1994.

23.Industrial Circuits Data Book and Stepper Motor Control Handbook, ERICSSON COMPONENTS AB, 1995.

24. Matlab for Windows, User’s Guide, 1992.

25. John Iovine - “PIC Microcontroller Project Book” McGraw-Hill

2000.

28. Michael Predko - “Programming and Customizing the Pic

Microcontroller” Prentice Hall, 2000.

39. Copîdean R., Bortos O.P.- Interfeţe standard pentru achiziţia de date,

Ed. Mediamira, Cluj-Napoca , 2003

43. National Instruments – Lab PC+ : User's Manual

44. M. Popa: Sisteme cu microcontrolere orientate pe aplicaţii, Editura Politehnica Timişoara, 2003 53. Catalog SGS` THOMSON MICROELECTRONICS 54. Catalog NATIONAL SEMICONDUCTOR

67. Robot Builders Bonanza, 3rd Ed 68. Society of Mind , Marvin Minsky

69. PIC Microcontroller Project Book , John Iovine 70. Introduction to Autonomous Mobile Robots , Roland Siegwart and Illah R. Nourbakhsh 71. Robot Building for Beginners , Dave Cook 72. C Programming Language , Ritchie Kernighan 73. PIC Microcontroller: An Introduction to Software & Hardware Interfacing, Han-Way Huang

84. Programming Microsoft Visual Basic 6.0 Author: Francesco Balena Publisher: Microsoft Press

85.Visual Basic Programmer's Guide to the Win32 API,Author: Dan Appleman,Publisher: Sams 86. Programming Microsoft Visual Basic .NET,Author: Francesco

Page 30: Universitatea Tehnic ă Cluj-Napoca Facultatea de ...old.utcluj.ro/download/doctorat/Rezumat_OSigovan.pdf · Introducere ... fie cu microprocesoare. ... în Internet,s-a impus crearea

30

Balena Publisher: Microsoft Press 87. www.visualbasicbooks.com/courses.html 88. VB Net Guide for Experienced Programmers,Jonathan Morrison and Gary Cornell 89. VB & VBA in a Nutshell: The Language , Paul Lomax First Edition October 1998 90. Advanced Microsoft Visual Basic 6.0 By the Mandelbrot Set, Published by MS Press, November 1998, Paperback, 880 pages, ISBN 1572318937 91. neil.fraser.name/software/lpt/ 92. http://www.x10.com/support/technology1.htm 93. www.superstepper.com/Protocol/protocol.html 94. Retele de calculatoare (editia a IV-a),Andrew S. Tanenbaum,ed.Byblos- 2004