Sunteți pe pagina 1din 11

12

Lucrările nr. 11-12 semnale care asigură că semnalul citit ajunge în formă corespunzătoare la
convertorul analog numeric. Totodată prin intermediul acestora se asigură şi
ACHIZIŢIA MĂRIMILOR VARIABILE ÎN TIMP protecţia microcalculatorului de eventualele semnale tranzitorii care ar putea să se
propage pe intrările analogice.
UTILIZÂND INTRĂRILE ANALOGICE ÎN CURENT
ŞI ÎN TENSIUNE

A. Scopul lucrării
1. Identificarea şi analiza schemelor electronice realizate pentru interfaţarea
intrărilor analogice de curent şi de tensiune.
2. Programarea în Tiger Basic a intrărilor analogice de curent şi de tensiune.
Achiziţia mărimilor variabile în timp utilizând mediul de programare Tiger
Basic.

B. Enunţul lucrării
Se prezintă schemele electronice de conectare a patru intrări analogice în
curent şi a patru intrări analogice în tensiune folosite pentru achiziţia mărimilor
electrice variabile în timp. Intrările analogice sunt conectate la porturile
microcalculatorului prin intermediul unor circuite de adaptare şi condiţionare
semnal, motiv pentru care acestea sunt însoţite de către drivere software. Se
prezintă modul de utilizare a instrucţiunilor software aferente circuitelor conduse cu
drivere (prezentate în Lucrarea 3) particularizate pentru citirea datelor furnizate de
intrările analogice. Se solicită să se realizeze diverse programe prin intermediul Fig.1. Identificarea pe placa de dezvoltare a conectorilor pentru intrările
cărora să se urmărească cele 4 intrări în curent şi cele 4 intrări în tensiune. analogice.
Schema electronică de principiu, aferentă conectării intrărilor în curent poate
fi observată în Fig.2 [9]. Aceasta este compusă din două părţi: una implementată pe
C. Breviar teoretic placa de dezvoltare şi una pe care trebuie să o realizeze utilizatorul. Partea
implementată pe placa de dezvoltare are rol de a converti semnalul de curent în
1. Descrierea constructivă a circuitelor de interfaţare a intrărilor semnal de tensiune ştiindu-se că toate convertoarele analog-numerice funcţionează
analogice în curent şi în tensiune doar în tensiune. Această parte este formată dintr-un rezistor echivalent de 182 Ω
Pe placa de dezvoltare sunt prevăzute 4 intrări analogice în curent conectate conectat între linia de semnal şi masă, care pentru un curent maxim de 0.02 A va
cu exteriorul prin intermediul unui conector cu 8 şuruburi identificat în Fig.1. De asigura o tensiune maximă de 3.64 V. Schema cu un singur rezistor conduce la o
asemenea pe placa de dezvoltare sunt prevăzute 4 intrări analogice în tensiune funcţionare periculoasă a intrării în curent. Dacă rezistorul se scurtcircuitează
conectate cu exteriorul prin intermediul unui conector cu 8 şuruburi identificat în acesta ar pune intrarea la masă ceea ce ar putea produce scurtcircuitarea intrării
Fig.1 [9]. Aceste conectoare conţine câte două şuruburi pentru fiecare intrare analogice şi implicit defectarea acesteia. Dacă rezistorul se întrerupe, atunci
analogică. La bornele cu şuruburi sunt legate circuitele de adaptare şi condiţionare semnalul de intrare nu mai este caracterizat de o tensiune cunoscută ceea ce poate
23 24

conduce la defectarea intrării analogice. Pentru protecţia intrării în curent pentru configuraţie la bornele convertorului va ajunge o tensiune maximă de 3.72 V. Prin
situaţiile în care rezistorul ar fi distrus, rezistorul echivalent este realizat din patru conectarea microîntreruptorului S13 (care poate fi identificat şi în Fig.1) se
rezistoare de 182 Ω, câte două conectate în serie, iar apoi laturile conectate în introduce în circuit rezistorul de 68.1 kΩ care se pune în paralel cu rezistorul de
paralel. Rezistoarele conectate în serie au o rezistenţă echivalentă de 364 Ω, iar prin 274 kΩ, rezultând o rezistenţă echivalentă de 54.54 kΩ. Această schemă se
punerea în paralel a celor două laturi rezultă rezistenţa echivalentă de 182 Ω. În utilizează în situaţia în care intrare în tensiune este de maxim 5 V, iar la bornele
cazul scurtcircuitării unui rezistor va rezulta o rezistenţă echivalentă de unui convertorului va ajunge o tensiune maximă de 3.74 V.
rezistor echivalent de 121 Ω care asigură o tensiune mai mică la bornele intrării A doua parte a schemei trebuie implementată de către utilizator şi este
analogice. În cazul întreruperii unui rezistor va rezulta o rezistenţă echivalentă de formată dintr-o sursă de tensiune externă care alimentează un senzor cu ieşire în
364 Ω care va da la bornele intrării analogice o tensiune de 7.28 V, care trebuie tensiune. Ieşirea senzorului trebuie să asigure o tensiune maximă de 5 V sau 10 V.
limitată pentru a nu distruge convertorul analog numeric.
A doua parte a schemei trebuie implementată de către utilizator, şi este
formată dintr-o sursă de tensiune externă care alimentează un senzor cu ieşire în
curent. Ieşirea senzorului trebuie să asigure un curent maxim de 20 mA.

Fig.2. Schema electronică pentru conectarea unei intrări analogice în curent. Fig.3. Schema electronică pentru conectarea unei intrări analogice în tensiune.

Relaţia de calcul pentru determinarea valorii măsurate a curentului este: Relaţia de calcul pentru determinarea valorii măsurate a tensiunii pentru
ValMaxCurent * ValRezistor 0 . 02 A⋅182Ω situaţia în care se utilizează intrarea de 10 V este:
I m= ⋅ValBin= ⋅ValBin ValBin 162Ω ValBin
TensiunRef 3. 75 V U m 10=ValMaxTensiune *Raport Divizare⋅ =10V⋅ ⋅
TensiuneRef 162Ω+ 274 Ω 3 .75 V
unde:
 Im – reprezintă valoarea curentului măsurat; unde:
 Um10 – reprezintă valoarea tensiunii măsurate pentru intrarea de 10 V.
 ValBin – reprezintă valoarea numerică rezultată în urma achiziţiei.
ValBin poate avea valori între 0 şi 1015, valoarea maximă rezultând astfel:
ValBin poate avea valori între 0 şi 994, valoarea maximă rezultând astfel:
Numar Max10biti 162 1024
ValMaxCurent * ValRezistor * Numar Max 10biti 0. 02⋅182⋅1024 ValBin max =ValMaxTensiune *Raport Divizare⋅ =10⋅ ⋅
ValBinmax = = TensiuneRef 162+274 3 . 75
TensiuneRef 3 .75
Relaţia de calcul pentru determinarea valorii măsurate a tensiunii pentru
Schema electronică de principiu, aferentă conectării intrărilor în tensiune
situaţia în care se utilizează intrarea de 5 V este:
poate fi observată în Fig.3 [9]. De asemenea şi aceasta este compusă din două părţi:
ValBin 162 Ω ValBin
una implementată pe placa de dezvoltare şi una pe care trebuie să o realizeze U m 5 =ValMaxTensiune *Raport Divizare⋅ =5 V⋅ ⋅
utilizatorul. Partea implementată pe placa de dezvoltare are rol de a reduce TensiuneRef 162 Ω+54 . 54 Ω 3 . 75 V
semnalul de tensiune de la valoarea de 5 sau 10 V la valoarea maxim de 3.75 V unde:
(valoare dată de referinţa de tensiune). Această parte este formată dintr-un divizor  Um5 – reprezintă valoarea tensiunii măsurate pentru intrarea de 5 V.
de tensiune format din trei rezistoare. Două rezistoare (162 kΩ şi 274 kΩ) formează
ValBin poate avea valori între 0 şi 1021, valoarea maximă rezultând astfel:
divizorul de tensiune utilizat pentru o tensiune de intrare de maxim 10 V. În această
33 34
Numar Max10biti 162 1024
ValBinmax =ValMaxTensiune *Raport Divizare⋅ =5⋅ ⋅ 12 V
TensiuneRef 162+54 . 54 3 .75 0
R 2k R 2k
Atât canalele de curent cât şi canalele de tensiune pot ajunge în stări nedorite
în care curenţii, respectiv tensiunile depăşesc intervalul de măsurare stabilit. Pentru SR 10k SR 10k
a proteja microcalculatorul de astfel de fenomene, pe placa de dezvoltare este intrare tensiune 0 intrare tensiune 1

implementată schema de protecţie din Fig.4 [9]. masă masă


Fig.5. Schema de principiu pentru conectarea celor două intrări analogice.
Rolul rezistenţei de 2 kΩ este de limitare a tensiunii în intervalul 0-10 V.
Borna de pe armătura mobilă a potenţiometrului se conectează la intrarea analogică
a plăcii de dezvoltare. Schema din Fig.5 a fost implementată pe aceeaşi placă de
interfaţare prezentată în Lucrarea 5. Cele două potenţiometre liniare pot fi
identificate în Fig.6 [4], iar cu ajutorul acestora se poate simula o variaţie lentă de
tensiune în intervalul 0-10V.

Fig.4. Schema electronică de protecţie a unei intrări analogice.


Dioda de jos este conectată între masă şi intrarea analogică şi are scopul de a
proteja canalul de intrare de tensiuni negative. Practic când tensiunea pe intrarea
analogică este sub -0.7V dioda va intra în conducţie tăind semnalul negativ. Dioda
de sus este conectată între intrarea analogică şi tensiunea de referinţă. Când
tensiunea pe intrarea analogică este mai mare de 4.45V dioda va intra în conducţie
limitând astfel tensiunea la bornele convertorului. În schemă se utilizează şi un
amplificator operaţional conectat ca şi „repetor pe tensiune”. Acesta are amplificare
unitară, iar scopul său este de a realiza o adaptare de impedanţe pentru a anula
influenţele pe care le au rezistoarele din divizoarele de tensiune asupra rezistenţelor
din convertorul analog-numeric.

2. Echipamente externe conectate la bornele intrărilor analogice Fig.6. Identificarea pe placa de interfaţare a elementelor componente intrărilor
Funcţionarea intrărilor de curent şi de tensiune poate fi testată doar cu analogice.
ajutorul echipamentelor externe care pot asigura curenţi şi tensiuni variabile.
 Achiziţia semnalelor de tensiune cu variaţie rapidă în timp
 Achiziţia semnalelor de tensiune cu variaţie lentă în timp Pentru această categorie de achiziţii se utilizează o placă de condiţionare şi
Pentru această categorie de achiziţii, se propune schema din Fig.5 în care adaptare semnale realizată pentru a se putea achiziţiona o tensiune sinusoidală cu
două potenţiometre liniare de 10 kΩ sunt alimentate între 12 Vcc şi masă prin valoarea efectivă de 230 V sau de 100 V. În acest sens s-a utilizat un divizor de
intermediul unei rezistenţe de 2 kΩ. tensiune şi un circuit de ridicare al potenţialului a cărui rol este acela de a forma
semnalul necesar la intrarea circuitului de măsurare a plăcii de dezvoltare.
Divizarea tensiunii de intrare se face de la 230 V la 4 V şi se realizează cu
ajutorul unor rezistenţe de putere conectate în paralel pe tensiunea ce trebuie
măsurată. Ridicarea potenţialului tensiunii la o valoare mai mare decât 0 V este
necesară pentru a se putea achiziţiona partea negativă a sinusoidei, iar pentru
aceasta s-a utilizat o sursă de tensiune de 5 V.
43 44

În Fig.7 [3] se prezintă schema unei intrări de tensiune. Rezistenţele folosite


la realizarea divizorului sunt rezistenţe de putere medie (5W-8W). S-a folosit astfel
de rezistenţe pentru a putea asigura un curent destul de mare astfel încât la cuplarea
unei sarcini la divizorul de tensiune semnalul obţinut la ieşirea acestuia să nu poată
fi influenţat (scăderea amplitudini). Pentru a proteja circuitul de tensiuni mari, în
cazul întreruperi rezistentei de nul (R32, R33), puterea acestor două rezistenţe este
de patru ori mai mare decât a rezistenţelor de fază (R31, R34). Ridicarea
potenţialului se realizează cu ajutorul unei surse de tensiune de 5V şi două
rezistoare de 10 kΩ. Implementarea practică a schemei poate fi văzută în Fig.8 [3].
S31 R39 22K D32
T
R38 R31 R34
47K 22K 22K R35 R37
P31 10K 10K
2
D31 +5V
R32 R33
1
1K 1k R36
10K
Fig.9. Schema de adaptare a semnalului unei tensiuni sinusoidale.
Uout T
GND

Fig.7. Schema de adaptare a semnalului unei tensiuni sinusoidale. 3. Programarea intrărilor analogice
Programarea intrărilor analogice se realizează uşor prin utilizarea driverelor
aferente. Instrucţiunile necesare pentru utilizarea unui driver au fost prezentate în
Lucrarea 3, iar din acest motiv în continuare se vor prezenta doar caracteristicile
speciale ale driverelor utilizate. Achiziţia unei mărimi analogice poate fi realizată în
două moduri [7]:
 achiziţia unei singure intrări analogice sau a tuturor celor 12 intrări analogice
la un anumit moment de timp stabilit de către utilizator – se realizează cu
ajutorul driverului ANALOG1.TD2;
 achiziţia unei singure intrări analogice sau a mai multor intrări analogice la
intervale constante de timp stabilite de asemenea de către utilizator – se
realizează cu ajutorul driverului ANALOG2.TD2.
Fig.8. Placa de adaptare a semnalului pentru trei tensiuni sinusoidale.
 Driverul ANALOG1.TD2
Funcţionarea schemei propuse se poate analiza cu ajutorul unui simulator ale
Driverul ANALOG1.TD2 se foloseşte pentru achiziţia datelor la un anumit
cărui rezultate sunt prezentate în Fig.9 [3]. În Fig.9 se observă divizarea semnalului
moment de timp. Acest driver se recomandă a fi folosit în situaţiile în care mărimea
de tensiune până la o valoare de ±5V, urmată de o ridicare de potenţial, noile valori
analogică variază lent în timp, nefiind necesară urmărirea continuă a acesteia. Se
fiind cuprinse între 0 şi 4.2 V.
recomandă ca acest driver să se utilizeze cu montajul din Fig.6 sau pentru urmărirea
unor mărimi cum ar fi: valoarea unei mărimi electrice continue în timp, valoarea
efectivă a unei mărimi sinusoidale, temperatura ambientală sau temperatura unui
corp, etc. Forma instrucţiunii de citire este următoarea:
GET #Nume_disp, #NrCanal, NrBytes, Variabila
unde:
 #Nume_disp – este o variabilă, constantă sau expresie de tip BYTE,
WORD, LONG sau STRING şi face referire la numărul/numele
53 54

echipamentului de intrare/ieşire care este definit la începutul programului prin De asemenea şi în acest caz informaţia trebuie convertită din formatul de tip text
comanda INSTALL_DEVICE; într-un format de tip numeric. Identificarea valorii unei canal se realizează cu
 #NrCanal – reprezintă numărul canalului care se doreşte a fi achiziţionat; următoarea instrucţiune:
 NrBytes – reprezintă numărul de octeţi care vor fi folosiţi pentru achiziţia ValoareCanalX = NFROMS (V$, X*2, 2)
datelor;
 Variabila – reprezintă variabila definită de utilizator în care se vor salva  Driverul ANALOG2.TD2
datele recepţionate. Aceasta poate fi o variabilă de tip BYTE, WORD, LONG Driverul ANALOG2.TD2 se foloseşte pentru citirea mărimilor care au o
sau STRING, respectiv poate fi o listă de variabile de tip BYTE, WORD, variaţie rapidă în timp, cum ar fi undele de tensiune sau de curent sinusoidale. Se
LONG sau STRING. recomandă utilizarea acestui driver cu montaje asemănătoare cu cele din Fig.8.
Trebuie precizat că acest driver poate fi utilizat în două moduri distincte. În Mărimile care au o variaţie rapidă în timp trebuie urmărite continuu şi
primul mod se realizează achiziţia unei singure intrări analogice, parametrii achiziţionate cu o frecvenţă de minim două ori mai mare decât frecvenţa de variaţie
instrucţiunii de citire având următoarele valori posibile: a semnalului urmărit. Acest lucru conduce la trei particularităţi majore:
 #NrCanal poate lua valori între 0 şi 11 în funcţie de numărul de ordine al  frecvenţa de eşantionare a semnalului este generată cu ajutorul unui contor de
canalului care se doreşte achiziţionat; timp controlat cu ajutorul unui driver denumit TIMERA.TD2;
 NrBytes poate lua valoarea 1 (achiziţie pe 8 biţi) sau valoarea 2 (achiziţie pe  variabila utilizată pentru achiziţia datelor trebuie să fie capabilă să stocheze
10 biţi); mai multe valori, iar din acest motiv se pot folosi doar două tipuri de variabile:
 Variabila poate fi de tip BYTE, WORD sau LONG, cu precizarea tipul FIFO sau STRING;
BYTE poate fi utilizat doar dacă se utilizează achiziţia pe 8 biţi, adică dacă  controlul achiziţiei se realizează cu ajutorul unor funcţii speciale încorporate
NrBytes=1. într-un fişier denumit UFUNCn.INC.
Al doilea mod se foloseşte pentru achiziţia în acelaşi moment de timp a Frecvenţa de eşantionare se obţine prin împărţirea frecvenţei furnizate de
tuturor celor 12 canale analogice. Acest tip de achiziţie are două forme posibile. către driverul TIMERA.TD2 la o valoare setabilă cu ajutorul funcţiilor speciale,
Prima formă a fost creată pentru achiziţia tuturor celor 12 canale utilizând conform celor prezentate în Fig.10 [7].
conversia pe 8 biţi, informaţia fiind stocată într-o variabilă de tip STRING (V$)
care va conţine 12 caractere. Instrucţiunea are următoarea formă: TIMERA
GET #Nume_disp, #12, 12, V$ Nivel divizare = 1
Frecvenţă = 2.500.000 Hz
Dacă se utilizează acest mod de achiziţie, informaţia trebuie convertită din formatul Rezoluţie = 0.400 µs
de tip text într-un format de tip numeric. Astfel, identificarea valorii unui canal se
realizează cu următoarea instrucţiune:
Nivel divizare = 2 Scalare de la
ValoareCanalX = NFROMS (V$, X, 1) Frecvenţă Factor
Frecvenţă = 625.000 Hz driverul
procesor divizare
Rezoluţie = 1.600 µs ANALOG2.TD2
unde:
 ValoareCanalX – este o variabilă de tip BYTE, WORD sau LONG şi în
care se va stoca valoarea numerică citită pe canalul analogic X; Nivel divizare = 3
Frecvenţă = 156.250 Hz
 X – reprezintă numărul canalului pentru care se doreşte identificarea valorii Rezoluţie = 6.400 µs
numerice achiziţionate.
A doua formă a fost creată pentru achiziţia tuturor celor 12 canale utilizând Fig.10. Obţinerea frecvenţei de eşantionare pentru driverul ANALOG2.TD2.
conversia pe 10 biţi, informaţia fiind stocată într-o variabilă de tip STRING (V$)
Aşa cum rezultă din Fig.10 într-o primă fază trebuie aleasă şi setată frecvenţa
care va conţine 24 caractere. Instrucţiunea are următoarea formă:
pe care o furnizează driverul TIMERA.TD2. Acest lucru se realizează împreună cu
GET #Nume_disp, #13, 24, V$ instalarea driverului, utilizând instrucţiunea:
INSTALL_DEVICE #Nume_disp, “TIMERA.TD2”, NivelDiv, FactorDiv
63 64

unde: sfârşitul unei conversii, iar dacă numărul diferă de 0 atunci lungimea variabilei
 #Nume_disp – este o variabilă, constantă sau expresie de tip BYTE, va creşte continuu cu fiecare măsurătoare efectuată;
WORD, LONG sau STRING şi face referire la numărul/numele cu care se  UFCO_AD2_TRIG_HLEV – setează valorile maxime ale fiecărui canal pentru
instalează driverul; care se doreşte pornirea înregistrării datelor achiziţionate;
 NivelDiv – reprezintă nivelul de divizare care poate avea valoarea 1, 2 sau  UFCO_AD2_TRIG_LLEV – setează valorile minime ale fiecărui canal pentru
3 aşa cum se poate observa în Fig.10; care se doreşte pornirea înregistrării datelor achiziţionate;
 FactorDiv – reprezintă un număr între 0 şi 255 şi reprezintă valoarea la  UFCO_AD2_TRIG_SAMPLE – setează numărul de valori memorate după
care se împarte frecvenţa furnizată în funcţie de nivelul de divizare setat. pornirea înregistrării la depăşirea valorii maxime sau la scăderea sub valoarea
Frecvenţele care se pot obţine cu ajutorul driverului TIMERA.TD2 în funcţie minimă;
de nivelul şi factorul de divizare, se pot observa în ANEXA 1.  AD2_TRIG_POS – se poate folosi pentru determinarea momentului în care a
Funcţii speciale utilizate de driverul ANALOG2.TD2 care sunt încorporate în fost declanşată înregistrarea.
fişierul denumit UFUNCn.INC sunt [7]:  AD2_STRI_OVL – se utilizează pentru a determina dacă lungimea variabilei
 UFCO_AD2_RESET – se foloseşte pentru a seta toţi parametrii la valorile de tip STRING a fost depăşită. Dacă această funcţie returnează valoarea 0
implicite; atunci lungimea variabilei a fost depăşită cel puţin odată, iar dacă se
 UFCO_AD2_CHAN – se foloseşte pentru setarea achiziţiei datelor pe un singur returnează 0FFh atunci lungimea variabilei nu a fost depăşită.
canal. Canalele ce se pot seta sunt 0, 1, 2 sau 3 (Valoare implicită = 1);
 UFCO_AD2_RESO – se utilizează pentru setarea rezoluţiei cu care se Achiziţia mărimilor analogice utilizând driverul ANALOG2.TD2 şi variabila
realizează achiziţia. Aceasta poate lua valorile 8, 10 sau 12, valoare care de tip FIFO.
reprezintă chiar numărul de biţi utilizaţi (Valoare implicită = 8); Achiziţia datelor în variabile de tip FIFO se realizează utilizând instrucţiunea
 UFCO_AD2_PSCAL – se utilizează pentru setarea valorii de scalare aşa cum de tip PUT, a cărei formă este următoarea:
se observă în Fig.10. Aceasta poate lua orice valoare de tip WORD cu PUT #Nume_disp, Nume_FIFO
precizarea că dacă se alege una dintre valorile 0 sau 1, nu se va utiliza scalarea
(Valoare implicită = 8); unde:
 UFCO_AD2_SCAN – se utilizează pentru setarea scanării multicanal, precum  #Nume_disp – este o variabilă, constantă sau expresie de tip BYTE,
şi setarea numărului de canale care vor fi scanate. Numărul de canale posibile WORD, LONG sau STRING şi face referire la numărul/numele cu care a fost
sunt: 1 – scanează un singur canal setat cu UFCO_AD2_CHAN; 2 – scanează instalat driverul ANALOG2.TD2;
canalele 0 şi 1; 3 – scanează canalele 0, 1 şi 2; 4– scanează canalele 0, 1, 2 şi  Nume_FIFO – reprezintă numele variabilei de tip FIFO.
3; 8– scanează canalele de la 0 la 7; 12 – scanează canalele de la 0 la 11; Efectuarea unei achiziţii analogice utilizând această metodă presupune
 UFCO_AD2_STOP – se utilizează pentru oprirea scanării. Totuşi există şi alte urmărirea anumitor etape:
modalităţi ca o scanare să fie oprită, iar din acest motiv se evită folosirea ‘instalare functii speciale
acestei instrucţiuni; ‘difinire variabila FIFO
 UFCO_AD2_STOVL – se utilizează doar pentru conversia care utilizează ‘instalare driver TIMERA.TD2 si stabilire frecventa de baza
variabile de tip FIFO şi are scop de oprire a achiziţiei în cazul în care stiva ‘instalare driver ANALOG2.TD2
‘configurare parametrii achizitie cum ar fi:
este plină (n=0) sau continuarea achiziţiei prin rescrierea stivei (n≠0);
PUT #Nume_disp, #0,#UFCO_AD2_RESO, X ‘rezolutie X
 UFCO_AD2_CNT – se utilizează doar pentru conversia care utilizează PUT #Nume_disp, #0,#UFCO_AD2_SCAN, Y ‘canal urmarit Y
variabile de tip FIFO şi are ca şi scop setarea numărului de măsurători care PUT #Nume_disp, #0,#UFCO_AD2_PSCAL, Z ‘prescalare Z
vor fi efectuate. Numărul setat este de tip LONG, iar în cazul în care i se alocă ‘pornire achizitie
valoarea 0 atunci se va achiziţiona continuu (Valoare implicită = 0); PUT #Nume_disp, Nume_FIFO
 UFCO_AD2_GROF – se utilizează doar pentru conversia care utilizează ‘extragere valori din FIFO
variabile de tip STRING şi are ca şi scop setarea automată a lungimii Extragerea valorilor din variabilele de tip FIFO se realizează utilizând
variabilei. Dacă se aloca valoarea 0 atunci lungimea variabilei se va aloca la instrucţiunea de tip GET_FIFO, a cărei formă este următoarea:
73 74

GET_FIFO Nume_FIFO, Nume_Variabila D. Lucrări practice


unde:
 Nume_FIFO – reprezintă numele variabilei de tip FIFO; În continuare se va prezenta câte o aplicaţie pentru fiecare metodă de
 Nume_Variabila – reprezintă numele variabilei în care se stochează achiziţie date prezentată anterior.
Prima aplicaţie propusă, L06_01_AchizitieAnalog1, are scopul de
valoarea extrasă din FIFO.
prezentare a modului practic de realizare a unei achiziţii cu ajutorul driverului
La fiecare utilizare a instrucţiunii GET_FIFO, din stivă se va extrage o valoare care ANALOG1.TD2. Enunţul acestei aplicaţii este următorul:
va fi ulterior ştearsă din stivă, iar stiva va fi pregătită pentru extragerea următoarei A1. Să se realizeze o secvenţă prin intermediul căreia să se urmărească două
valori. mărimi de intrare analogice. Se consideră urmărirea a două mărimi variabile lent
în timp, şi anume o tensiune cu amplitudinea maximă de 100V şi un curent cu
Achiziţia mărimilor analogice utilizând driverul ANALOG2.TD2 şi variabila amplitudinea maximă de 5A. Achiziţia se realizează în mod repetat la intervale de
de tip STRING. o secundă, iar rezultatul achiziţiei este prelucrat şi afişat pe display.
Achiziţia datelor în variabile de tip FIFO se realizează utilizând instrucţiunea Codul sursă creat pentru rezolvarea acestei aplicaţii este prezentat în
de tip PUT, a cărei formă este următoarea: listingul următor. El este format dintr-un singur task şi începe cu declararea
PUT #Nume_disp, Nume_STRING [, Start, Nr, Fanion_Crestere] variabilelor şi instalarea driverelor pentru afişaj, respectiv pentru achiziţie
analogică. Acesta se continuă cu o buclă infinită realizată cu ajutorul
unde: instrucţiunii GOTO. În interiorul acestei bucle se citeşte pe rând cele două
 #Nume_disp – este o variabilă, constantă sau expresie de tip BYTE, canale, se prelucrează informaţia pentru a transforma valoarea numerică în
WORD, LONG sau STRING şi face referire la numărul/numele cu care a fost valoare reală, iar apoi se afişează pe display. Se observă că afişarea pe display
instalat driverul ANALOG2.TD2; se realizează cu ajutorul funcţiei USING, acest lucru fiind obligatoriu pentru
 Nume_STRING – reprezintă numele variabilei de tip STRING; formatarea datelor furnizate de variabile de tip REAL.
 Start – reprezintă poziţia din variabila de tip STRING de la care să se
înceapă scrierea valorilor achiziţionate;
 Nr – reprezintă numărul de valori achiziţionate care vor fi scrise în variabila
de tip STRING. Dacă se setează pe valoarea 0 atunci achiziţia se va termina
când se atinge dimensiunea maximă a variabilei de tip STRING. Dacă se
alocă o valoare numerică, trebuie ţinut cont de numărul de canale pe care se
efectuează achiziţia şi de faptul că la achiziţiile de 10 biţi se folosesc doi octeţi
pentru fiecare valoare achiziţionată (Ex.: dacă se doreşte achiziţionarea a 12
valori pe 10 biţi pentru patru canale, rezultă Nr=12*2*4=96);
 Fanion_Crestere – se foloseşte pentru definirea metodei de alocare a
dimensiunii variabilei de tip STRING. Dacă se setează pe valoarea 0 atunci
dimensiunea variabilei se va incrementa continuu, iar dacă se setează pe orice
valoare diferită de 0 atunci dimensiunea variabilei de tip STRING se va aloca
doar la finalizarea achiziţiei.
Ultimii doi parametrii se pot seta individual pentru fiecare achiziţie sau pot fi
omişi şi setaţi la nivel general prin utilizarea funcţiei speciale UFCO_AD2_GROF.
Procedeul de achiziţie funcţionează asemănător cu cel descris la variabila de
tip FIFO, cu precizarea că extragerea valorilor din STRING se realizează cu
instrucţiunea NFROMS. Testarea aplicaţiei necesită utilizarea plăcii de interfaţare prezentată în Fig.6.
În cadrul testului se consideră că potenţiometrul conectat la intrarea analogică 4 de
pe placa de dezvoltare se foloseşte pentru simularea variaţiei tensiunii în intervalul
83 84

0-100V, iar al doilea potenţiometru conectat la intrarea analogică 5 se foloseşte


pentru simularea variaţiei curentului în intervalul 0-5 A.
A doua aplicaţie, L06_02_AchAnalog2_FIFO, tratează tot aplicaţia A1
doar că în acest caz se utilizează driverul ANALOG2.TD2 pentru achiziţia
datelor în variabilă de tip FIFO. Programul a fost simplificat şi nu tratează În continuare s-a realizat o buclă infinită cu ajutorul instrucţiunii GOTO, al
complet aplicaţia A1, el urmărind doar intrarea analogică de tensiune. Codul cărei scop este de a permite testarea achiziţiei de mai multe ori. Totuşi, pentru a
sursă realizat este prezentat în continuare, iar pentru interfaţare se poate folosi permite utilizatorului să efectueze achiziţia în momentul în care doreşte el, s-a
atât placa din Fig.6 cât şi cea din Fig.8. condiţionat continuarea programului de apăsarea butonului T1 de pe placa de
În listingul următor se prezintă partea de iniţializare care începe cu definirea dezvoltare (Vezi Lucrarea 4). Codul sursă realizat se poate vedea în listingul
instrucţiunilor de preprocesor. Programul a fost realizat într-un singur task, care următor, iar explicarea sa în detaliu poate fi analizată în Lucrarea 4, aplicţia
începe cu declararea variabilei de tip FIFO utilizată pentru înregistrarea datelor L04_05_TestareUnBtn.
achiziţionate. Această variabilă este de tip WORD, iar prin urmare se pot realiza
achiziţii de date atât pe 8 biţi cât şi pe 10 biţi. Trebuie precizat că dimensiunea
setată pentru variabila FIFO este egală cu 32, iar această dimensiune reprezintă
numărul de înregistrări pe care le va efectua o achiziţie. Programul se continuă cu
declararea celorlalte variabile necesare şi cu instalarea driverelor utilizate.
Instalarea driverului ANALOG2.TD2 conduce la obligativitatea de instalare a
driverului TIMERA.TD2, utilizat pentru generarea frecvenţei de eşantionare a În momentul în care se apasă butonul T1, aplicaţia trece mai departe, solicită
semnalului achiziţionat. Driverul TIMERA.TD2 a fost instalat cu setul de utilizatorului să modifice valoarea tensiunii în cazul în care aceasta este furnizată
parametrii NivelDiv=3 şi FactorDiv=156, care asigură o frecvenţă de de o sursă de curent continuu, iar în final se realizează achiziţia. După pornirea
eşantionare de 1001 Hz (Vezi ANEXA1). achiziţiei, se utilizează o buclă de tip WHILE care foloseşte lungimea actuală a
buffer-ului pentru a condiţiona trecerea mai departe a programului de umplerea
buffer-ului utilizat. Durata unei achiziţii se calculează astfel: 32 [samples] / 10
[samples/secundă] = 3.2 [secunde].

Finalizarea unei achiziţii este urmată de afişarea măsurătorilor pe display. Astfel,


cu ajutorul unei bucle de tip WHILE, se extrag pe rând valorile din variabila de tip
FIFO în variabila denumită Canal1. Informaţia extrasă este apoi convertită în
valoarea reală. Conversia se realizează prin înmulţirea valorii citite cu raportul
dintre valoarea reală a tensiunii şi numărul maxim de eşantionări, egal cu 1023
pentru că se utilizează o achiziţie pe 10 biţi. Pe display se va afişa numărul
măsurătorii şi valoarea calculată a acesteia. Afişarea valorilor se va realiza la
Codul sursă se continuă cu setarea parametrilor necesari achiziţiei cu driverul intervale de o secundă pentru a permite utilizatorului să urmărească toate valorile
ANALOG2.TD2. Pentru această aplicaţie s-a utilizat o rezoluţie de 10 biţi şi o achiziţionate. După afişarea celor 32 de valori programul sare la eticheta Start,
achiziţie pe un singur canal (mai concret pe canalul 4). Achiziţia se va finaliza la unde aşteaptă o nouă apăsare a butonului T1.
umplerea buffer-ului. S-a utilizat şi o scalare de driver cu valoarea de 100 (Vezi
Fig.10) cea ce conduce la faptul că rata de eşantionare va fi de 10 samples/secundă.
93 94

Pronirea achiziţiei se realizează precizând numărului de înregistrări care vor


fi efectuate. De asemenea, ca şi în cazul anterior se va condiţiona trecerea mai
departe a programului de atingerea pragului de 32 de înregistrări. După finalizarea
achiziţiei se vor extrage înregistările din variabila de tip STRING, se vor prelucra
(tensiunea reală se împarte la 255 deoarece se utilizează o achiziţie pe 8 biţi) şi se
vor afişa pe display cu o temporizare între două afişări de o secundă. Continuarea
achiziţiei este permisă prin apăsarea butonului T1.
A treia aplicaţie, L06_03_AchAnalog2_STRING tratează tot aplicaţia
A1 doar că în acest caz se utilizează driverul ANALOG2.TD2 pentru achiziţia
datelor în variabilă de tip STRING. Această aplicaţie este asemănătoare cu
cea anterioară, singura diferenţă dintre ele fiind dată de utilizarea altui tip de
variabilă pentru achiziţie. Programul a fost de asemenea realizat într-un singur
task, care începe cu declararea variabilei de tip STRING utilizată pentru
înregistrarea datelor achiziţionate. Această variabilă are o lungime de 32 caractere
şi permite achiziţia datelor atât pe 8 cât şi pe 10 biţi. În cazul în care se utilizează
achiziţia pe 8 biţi lungimea variabilei va permite înregistrarea a 32 de valori, iar în
cazul în care se utilizează achiziţia pe 10 biţi se vor înregistra doar 16 valori. Codul
sursă se continuă ca şi în cazul anterior cu declararea variabilelor şi instalarea
driverelor necesare şi setarea parametrilor necesari achiziţiei, singura diferenţă faţă
de aplicaţia anterioară fiind alegerea rezoluţiei de 8 biţi.
103 104

E. Aplicaţii propuse căderea tensiunii de alimentare din sistem, simulată cu ajutorul P1 şi semnalizată cu
ajutorul LED 1, după un interval de 30 sec. (pentru evitarea pornirii în cazul
Se consideră placa de interfaţare din Fig.6 în cadrul căreia se notează cu C golurile de tensiune de scurtă durată) se începe procedura de cuplare a grupului
contactele, cu K releele şi cu P potenţiometrele. Butoanele de pe placa de electrogen. Procedura de pornire începe cu acţionarea pentru maxim 50 secunde a
dezvoltare sunt notate cu T, iar ledurile cu LED. Toate aplicaţiile care vor fi demarorului motorului cu ardere internă modelată cu ajutorul releului K102 si
realizate vor fi însoţite de mesaje informative transmise afişajului alfanumeric. semnalizată cu ajutorul LED2. În momentul în care se atinge turaţia de regim,
1. Să se realizeze un program care să simuleze funcţionarea unei protecţii maximale semnalizată prin închiderea contactului C2, se va conecta excitaţia generatorului
de curent. Închiderea contactului C1 comandă închiderea întreruptorului modelat cu prin comanda releului K103. Dacă între timp tensiunea de sistem nu a revenit, după
ajutorul releului K101. Depăşirea unei valori analogice modelate cu ajutorul P1, un timp de stabilizare de 20 sec. se deconectează întreruptorul de sistem şi se
simulează apariţia unui defect care trebuie înlăturat de protecţie prin deconectarea cuplează grupul, prin închiderea întreruptorului modelat cu ajutorul releului K104.
releului K101 urmată de semnalizarea prin aprinderea LED 1. După eliminarea Aplicaţia se continuă cu procedura de oprire a grupului, procedură care se va
avariei identificată prin revenirea mărimii analogice la o valoarea normală se declanşa la apariţia tensiunii de la reţea (potenţiometru P1). După o temporizare de
resetează semnalizarea prin apăsarea tastei T1 şi se aduce contactul C1 în stare cca. 2 minute, pentru evitarea regimurilor instabile, se va decupla sistemul de
deschis, după care ciclul se poate relua. Acţionările se contorizează şi la 5 acţionări excitaţie, se va deconecta întreruptorul generatorului, se va conecta întreruptorul de
consecutive se semnalizează necesitatea revizie prin aprinderea LED 2, fără a sistem şi se va semnaliza trecerea în regim normal de funcţionare.
afecta funcţionare protecţie. Realizarea reviziei se simulează prin apăsarea 5. Să se realizeze un program care să simuleze funcţionarea unei protecţii de
butonului T2. distanţă. Închiderea contactului C2 comandă închiderea întreruptorului modelat cu
2. Se consideră o linie a cărei stare este modelată cu ajutorul releului K104 şi ajutorul releului K102. Depăşirea unei valori analogice modelate cu ajutorul
semnalizată prin LED 4 (K104 conectat şi LED 4 aprins – linia în funcţiune, K104 potenţiometrului P2, simulează apariţia unui defect care trebuie înlăturat de
deconectat şi LED 4 stins – linia deconectată). Să se simuleze un ciclu de RAR în protecţie prin deconectarea releului K102. Deconectarea se va realiza în trepte de
două trepte (2s, 10s). Scurtcircuitul se realizează prin intermediul P2. Ciclul RAR timp în funcţie de gravitatea defectului. Astfel, pentru un defect cu valori mari se va
se comportă astfel: la apariţia scurtcircuitului se deconectează linia (Releul K104); deconecta în treapta 1 fără temporizare, pentru un defect de valori medii se va
după 2s se conectează linia (prima treaptă); dacă scurtcircuitul persistă se lasă linia deconecta în treapta 2 cu temporizare de 0.4 s, iar un defect cu valori mai mici se va
conectată 0.2s (pentru a se observa conectarea sa de către RAR) după care se deconecta în treapta 3 cu o temporizare de 2 s. Se va semnaliza astfel: Treapta 1 –
deconectează şi se aşteaptă 10s pentru conectarea sa (treapta 2); dacă scurtcircuitul LED 1, Treapta 2 – LED 2, Treapta 3 – LED 3. Resetarea semnalizării se realizează
persistă se lasă linia conectată 0.2s după care se deconectează. Se va semnaliza prin apăsarea butonului T4, doar după ce contactul C2 a fost adus în poziţie
astfel: RAR reuşit în treapta 1 – LED 1, RAR reuşit în treapta 2 – LED 2, RAR deschis. După eliminarea defectului se poate relua funcţionarea normală prin
nereuşit – LED 3. Resetarea semnalizării se realizează prin apăsarea butonului T5. închiderea contactului C2.
În cazul în care linia a fost deconectată, se aşteaptă eliminarea defectului, iar apoi 6. Să se simuleze reglarea tensiunii cu ajutorul comutatorului de ploturi a unui
funcţionarea normală poate fi reluată prin închiderea contactului C4. transformator. Acesta are la dispoziţie 10 trepte de reglaj care asigură un reglaj în
3. Să se simuleze reglarea tensiunii cu ajutorul unui autotransformator în limita a limita a ±10%. Se consideră o tensiune normală (100V) setată pentru scala din
±5%. Se consideră o tensiune normală (100V) setată pentru scala din mijloc a mijloc a potenţiometrului P2. În momentul în care tensiunea scade aceasta va fi
potenţiometrului P1. În momentul în care tensiunea scade aceasta va fi adusă la adusă la valoarea normală prin modificarea raportului de transformare. Modificarea
valoarea normală prin modificarea raportului de transformare. Modificarea raportului de transformare se realizează prin acţionarea a două relee, unul care
raportului de transformare se realizează prin acţionarea a două relee, unul care simulează creşterea şi unul care simulează descreşterea tensiunii. Plotul pe care a
simulează creşterea şi unul care simulează descreşterea tensiunii cu o viteză de ajun transformatorul se semnalizează cu ajutorul ledurilor de la 1 la 5. LED 8 va fi
1V/1s. Raportul de transformare se semnalizează cu ajutorul ledurilor de la 1 la 5. aprins dacă plotul utilizat este negativ sau stins dacă acesta este pozitiv.
LED 8 va fi aprins dacă raportul de transformare este sub cel normal sau stins dacă 7. Să se realizeze un program care să simuleze funcţionarea unei protecţii maximale
acesta este peste cel normal. de curent cu blocaj la tensiune. Închiderea contactului C4 comandă închiderea
4. Să se simuleze pornirea grupului electrogen pentru alimentarea de rezervă a întreruptorului modelat cu ajutorul releului K104. Depăşirea unei valori analogice a
serviciilor interne ale unei staţii electrice. Închiderea contactului C1 comandă curentului modelate cu ajutorul P1, simulează apariţia unei probleme care depinde
închiderea întreruptorului dinspre sistem, modelat cu ajutorul releului K101. La de valoarea tensiunii modelate cu ajutorul releului K103. Astfel, dacă tensiunea nu
a scăzut, înseamnă ca este vorba despre o suprasarcină care este semnalizată cu
113 114

lumină intermitentă pe LED 8. În cazul unei sarcini prelungite se deconectează


circuitul prin deconectarea releului K104 şi se semnalizează prin aprinderea LED 6.
Dacă valoarea tensiunii a scăzut înseamnă că este vorba de un scurtcircuit care după
o temporizare de 0.2 s va fi înlăturat prin deconectarea releului K104 şi va fi
semnalizat prin aprinderea LED 5. După eliminarea avariei identificată prin
revenirea curentului şi tensiunii la valorile normale se resetează semnalizarea prin
apăsarea butonului T5 şi se aduce contactul C4 în stare deschis, după care ciclul se
poate relua.
8. Să se simuleze reglarea automată a tensiunii şi a frecvenţei la un generator
sincron de putere. Se consideră o tensiune normală de10 kV setată pentru scala din
mijloc a potenţiometrului P1 şi o frecvenţă nominală de 50 Hz setată pentru scala
din mijloc a potenţiometrului P2. În momentul în care tensiunea creşte se comandă
excitaţia prin acţionarea releului K101, iar în momentul în care scade se comandă
excitaţia prin acţionarea releului K102. La fel, când creşte frecvenţa se comandă
descărcarea generatorului prin intermediul releului K103, iar când scade frecvenţa
se comandă încărcarea generatorului prin intermediul releului K104. Acţionarea
releelor pentru tensiune se simulează considerând o viteză de creştere/descreştere
de 100V/1s, iar acţionarea releelor pentru frecvenţă se simulează considerând o
viteză de creştere/descreştere de 0.1Hz/1s.
9. Să se realizeze un program care simulează schimbarea sensului de rotaţie a unui
motor de mare putere. La închiderea contactului C1 se comandă pornirea motorului
prin acţionarea releului K101. Dacă contactul C2 este în poziţie deschis atunci
motorul se va pornii în sensul acelor de ceasornic simulat prin comandarea releului
K102. Dacă contactul C2 este închis motorul va pornii în sensul invers acelor de
ceasornic simulat prin comandarea releului K103. Turaţia motorului este modelată
cu ajutorul potenţiometrului P2. Schimbarea sensului de rotaţie se realizează prin
acţionarea de către utilizator a contactului C2, care conduce la deconectarea
releului de sens. În continuare se urmăreşte scăderea turaţiei simulată de către
utilizator prin acţionarea asupra potenţiometrului P2. Când turaţia ajunge la 0, se
comandă releul pentru noul sens, iar utilizatorul poate alege noua turaţie prin
modificarea poziţiei potenţiometrului P2.
10. Să se realizeze o aplicaţie care simulează comportarea circuitului de protecţie
termică a unui transformator de forţă. Temperatura transformatorului va fi modelată
cu ajutorul potenţiometrului P2, iar răcirea lui se realizează cu ajutorul a două
ventilatoare comandate cu ajutorul releelor K103 şi K104. Astfel, la creşterea
temperaturii peste o anumită valoare, după o pauză de 5 s se va conecta releul K103
care modelează pornirea primului ventilator. Dacă temperatura creşte în continuare
se va conecta şi releul K104. În momentul în care temperatură scade sub o anumită
valoare se comandă deconectarea ultimei trepte de ventilator care a fost conectată.
În cazul în care amândouă ventilatoarele sunt în funcţiune şi temperatura
transformatorului creşte peste o anumită valoare, după o pauză de 20 s se comandă
descărcarea de sarcină prin comandarea releului K101.

S-ar putea să vă placă și