2.1 REALIZAREA UNUI CONTROLER DE PROCES PENTRU AUTOMATIZAREA şi MONITORIZAREA TUTUROR TIPURILOR DE COMPRESOARE
Pentru automatizarea şi monitorizarea agregatelor de comprimare din staţiile de comprimare, având în vedere complexitatea şi varietatea acestora, trebuie utilizate sisteme de automatizare destul de complexe .
Sistemele cablate sunt incapabile să asigure o astfel de complexitate. Sigurele sisteme care se pot fi utilizate sunt sistemele microprogramate, respectiv controlerele de proces.
In vederea automatizării tuturor tipurilor de agregate de comprimare s-a conceput şi s-a realizat un controler de proces intitulat DASYS, a cărui schemă bloc este prezentată în figura 22.
Pentru a extinde numărul de intrări analogice, s-a folosit următoarea metodă: se montează pe fiecare din cele 16 intrări analogice ale UC-ului cate un multiplexor de 16 intrări analogice, care are nevoie de 4 adrese, furnizate tot de UC. În total se montează 16 multiplexoare a cate 16 cai, deci posibilitatea în primă fază a obţinerii a 256 de intrări analogice. În cazul în care se doreşte un număr şi mai mare de intrări, la intrarea unuia din multiplexoare se montează alte multiplexoare, numărul acestora fiind limitat numai de numărul de adrese furnizat de UC. După acelaşi principiu s-a realizat şi extinderea numărului de intrări digitale. Multiplexoarele au fost astfel proiectate încât se potrivesc atât pentru intrările analogice, cat şi pentru intrările digitale. Pentru extinderea numărului de ieşiri digitale, s-au folosit demultiplexoare digitale cu LATCH-uri astfel se folosesc 8 ieşiri digitale din UC, care ajung la fiecare din cele 16 LACH-uri din demultiplexor. Prin utilizarea sistemului de adresare, se activează numai LACh-ul dorit, astfel acest sistem se comportă ca un demultiplexor, avantajul fiind ca după înscrierea informaţiei în LACH-ul corespunzător UC-ul nu mai trebuie să păstreze informaţia, aceasta fiind memorata. Pentru realizarea de ieşiri analogice se folosesc iesiri digitale de la demultiplexor şi se ataşează convertoare digital analogice (CDA)
Unitatea centrală se poate realiza utilizând microprocesoare sau microcontrolere. Microcontrolerele au avantajul incorporării memoriei RAM, EEPROM, FLASH, şi a altor periferice. Unitatea centrală realizată cu microcontroler este prezentată la nivel de schema bloc în figura 23.
Controlerele dispun de mai multe porturi, astfel unitatea centrală este mult mai uşor de realizat.
În vederea ataşării la UC a altor module pentru a extinde numărul de intrări sau ieşiri UC-ul, este prevăzut cu LACH-uri pentru furnizarea şi memorarea de adrese necesare modulelor externe UC-ului. De asemenea s-au folosit LACH-uri pentru 16 ieşiri digitale şi DRIVERE pentru 16 intrări digitale , pentru afişorul alfanumeric şi pentru sistemul de semnalizare cu LED-uri. Pentru interfaţa serială furnizată de microcontroler, s-au prevăzut DRIVERE speciale pentru interfaţa RS 232 în vederea comunicării cu calculatoare personale (PC). Schema bloc care permite realizarea practică a UC-ului este prezentată în figura 24.
Întrucât controlerul nu dispune de convertoare A/D dau D/A, s-au ataşat aceste convertoare. Pentru extinderea numărului de intrări analogice, a fost folosit un multiplexor.
Multiplexorul primeşte o adresă de la logica de control şi selectează una din intrările analogice. Tot logica de control este cea care comandă convertorului să înceapă conversia A/D a semnalului selectat de multiplexor. Valoarea rezultată este citită de controler pe unul din porturile existente, în cazul de faţă portul P2.
Controlerul dispune de porturi seriale deci pentru conectarea cu dispozitivul central respectiv cu calculatorul central nu avem nevoie decât de o interfaţă serială pentru adaptarea semnalelor la tipul specific de legătoră serială folosit la conectarea cu dispozitivul central.
2.1.1 REALIZAREA CONTROLERULUI DE PROCES “DASYS” PENTRU AUTOMATIZAREA ŞI MONITORIZAREA COMPRESOARELOR
Pentru a realiza sisteme de monitorizare şi automatizare care să poată fi instalate pe orice tip de compresor este avantajos de a utiliza sisteme similare din punct de vedere fizic, dar programate diferit pentru fiecare tip de compresor. S-a proiectat şi realizat un sistem universal microprogramat pentru automatizarea şi monitorizarea unei game largi de procese industriale, numit CONTROLER DE PROCES “ DASYS “.
Acest sistem este o concepţie proprie şi constituie tema unui de brevet de invenţie .
Controlerul de proces DASYS achiziţionează date , conduce procesul industrial conform algoritmului înscris în microprogram, semnalizează diferite evenimente pe un sistem de LED-uri , afişează datele achiziţionate pe un afişor alfanumeric, trimite date pentru afişare şi primeşte comenzi de la un calculator aflat la distantă.
Are o structura modulară care permite ataşarea numărului dorit de canale de intrare sau ieşire analogice sau digitale .
Este realizat pe baza microcontrolerului ATMEL AT89C52 în a cărui memorie FLASH se înscrie programul care codifică algoritmul de funcţionare al procesului industrial specific.
Este un sistem universal pentru automatizarea şi monitorizarea proceselor industriale în general şi a compresoarelor în special, având o structură fizică modulară şi fiind programabil pentru orice algoritm de funcţionare al procesului industrial.
Sunt cunoscute multe tipuri de sisteme microprogramate, realizate cu microcontrolere. În general aceste sisteme sunt dedicate pentru anumite procese, instalaţii sau aparate.
Firmele producătoare de microcontrolere oferă de obicei şi sisteme de dezvoltare realizate cu microcontrolerele respective. Acestea prezintă în general următoarele neajunsuri.
- nu au microsisteme de operare;
- nu permit un număr suficient de mare de intrări sau ieşiri;
- nu au structura modulara;
- nu au toate tipurile de intrări sau ieşiri;
- nu au posibilitatea ataşării de afişoare alfanumerice;
- nu au sisteme de semnalizare pe LED-uri;
Sistemul microprogramat conform invenţiei prezintă următoarele avantaje:
- conţine un nucleu de programe numit microsistem de operare care se ocupă de gestionarea propriilor resurse, iar pentru a implementa o aplicaţie specifică nu trebuie scrisă decât strict partea de program care se referă la aplicaţie;
- se pot instala oricâte canale de orice tip (intrări, ieşiri, analogice, digitale);
- prezintă interfaţă serială pentru comunicaţia cu calculatoare personale (PC);
- are posibilitatea conectării de afişoare alfanumerice cu orice număr de caractere;
- posibilitatea ataşării unui sistem de semnalizare cu LED-uri pentru diferite faze ale proceselor industriale numărul de LED-uri de semnalizare este programabil
Unitatea centrala UC fig. 25, este realizată pe baza microcontrolerului ATMEL AT89C52, compatibil cu familia de microcontrolere INTEL C51.
Microcontrolerul nu are convertoare analog-numerice (CAN), din aceasta cauză UC-ul este prevăzut cu un convertor CAN de 8 biti ADC 0804 [43]
Convertorul Analog Numeric (CAN) [34] este un dispozitiv care primeşte un semnal analogic, A şi îl transformă intr-un semnal numeric, N, cu precizie şi rezoluţie date, prin compararea lui cu o tensiune de referinţa, V. Intr-un CAN ideal, semnalul de ieşire , N, este legat de semnalul de intrare prin relaţia: [34]
N=
In general, se operează cu puteri descrescătoare ale lui 2, în ideea că rezultatul să fie exprimat direct sub forma de număr binar. Întrucât mesajul transmis are o lungime finita, se poate considera ca N este aproximarea cea mai apropiată de rezultat, ţinând seama de rezoluţia sistemului.
Semnalul analogic, A, ce urmează să fie convertit poate fi scris sub forma:
A= V
Lungimea cuvântului binar obţinut după conversie fiind limitat la n biţi, împărţirea lui A prin Vtrebuie oprită la ordinul n şi rezultă:
A= V
Termenii neglijaţi b,b,…,reprezintă eroarea de conversie, numită şi eroare de cuantizare.
Conversia analog-numerică realizează o cuantizare care constă din înlocuirea tensiunii, A printr-o tensiune discretă multiplicate prin pasul de cuantizare, de valoare V/2, în aşa fel încât diferenţa dintre A şi această tensiune să fie inferioară în modul unei jumătăţi de pas de cuantificare astfel:
2.1.1.1 PARAMETRII CONVERTORULUI ANALOG-NUMERIC
Funcţia ideală de transfer [34] este dată de ecuaţiile:
E= V
E-+
In acest caz, Vreprezintă gamă de tensiune ce poate fi convertita, denumită scală completa. Caracteristică de transfer a unui convertor analog-numeric este redată în figura de mai jos:
Aceasta se compune din trepte de lăţime egală cu V/2, punctele de mijloc ale fiecărei trepte corespund diferitelor valori ale E.
Graficul 1 reprezintă caracteristica ideală a convertorului, graficul 2 reprezintă caracteristica reală a convertorului.
Tranziţiile se produc pentru tensiuni E+, presupunând o cuantificare
uniforma.
Eroarea de conversie corespunzătoare, presupunând o cuantizare uniforma, este dată de diferenţa A-E .
Modulul acestei erori este mai mic sau egal cu , iar limita ei este eroarea de cuantizare.
Rezoluţia este dată de numărul de biţi ai convertorului. Rezoluţia defineşte cea mai mică variaţie a tensiunii pe care convertorul o poate coda şi se exprima prin relaţia:
R=1/2
Timpul de conversie este timpul necesar pentru a obţine la ieşire un semnal numeric proporţional cu semnalul analogic de la intrare având precizia dorita.
Pentru a cunoaşte frecventa maximă de conversie posibila, la timpul de conversie trebuie adăugat şi timpul aducerii convertorului la zero. De regula, acest timp este destul de mic şi nu afectează semnificativ performantele convertorului.
Precizia se defineşte ca fiind diferenţa dintre valoarea teoretică a lui E care produce un anumit cuvânt N la ieşire şi valoarea A care generează efectiv acest cuvânt.
Anumite convertoare analog-numerice au proprietatea ca pot diminua sau chiar elimina unele semnale perturbatoare, în special ale tensiunii de alimentare de la reţea.
2.1.1.2 ERORI ALE CONVERTORULUI ANALOG-NUMERICE
Performantele CAN-urilor diferă de cele teoretice din cauza erorilor. Caracteristica de transfer, nu are alura curbei 1 ci pe cea a curbei 2, din această cauza rezultă următoarele diferente:
-tensiunile pentru care se produc tranziţiilor diferă de cele corespunzătoare curbei 0;
-porţiunile orizontale nu au exact dimensiunea unui pas de cuantizare;
-eroarea de cuantizare nu rămâne în intervalul (…) ;
Aceste diferente sunt datorate erorii de castig, erorii de decalaj şi erorii de liniaritate, la care se adaugă eroarea de cuantizare.
CONVERTORUL ANALOG-NUMERIC ADC 0804 [25]
Unul din cele mai utilizate convertoare CAN este convertorul ADC0804 produs de firma National Semiconductors. Este un convertor A/D cu aproximaţii succesive pe 8 biţi cu precizie de +/-1/2 LSB. Permite intrare de tensiune diferenţială sau absoluta gratie intrării AGND care poate fi legată la masă sau la un pol al tensiunii diferenţiale. Dispune de clock intern, valoarea frecventei de oscilaţie fiind stabilită de valorile R, respective C conectate la terminalele CLKR , CLKI
ADC 0804 (fig. 25_0) este unul din cele mai utilizate convertoare CAN .Este un convertor A/D cu aproximaţii succesive pe 8 biţi cu precizie de +/-1/2 LSB. Permite intrare de tensiune diferenţiala sau absolută gratie intrării AGND care poate fi legată la masă sau la un pol al tensiunii diferenţiale. Dispune de clock intern, valoarea frecventei de oscilaţie fiind stabilită de valorile R, respective C conectate la terminalele CLKR , CLKI
ADC 0804 poate fi conectat cu uşurinţa la sisteme microprogramate realizate cu microprocesoare sau controlere. Unitatea centrală a sistemului DASYS este echipată cu un astfel de convertor
Există mai multe moduri de comandă a circuitului. Există posibilitatea să se comande separate faza de startare a achiziţiei şi separat faza de citire date. Aceasta se realizează cu o schema de principiu de tipul celei din figura 25_1:
Formele de undă ale semnalelor de comandă [43] care iniţiază începerea unei conversii au următoarea forma: (figura 25_2)
In vederea citirii datelor convertite, semnalele de comanda trebuie să aibă forma din figura 25_3:
Pentru extinderea numărului de intrări analogice s-a prevăzut un multiplexor analogic de 16 canale. UC-ul dispune deci de 16 intrări analogice.
In imaginea de jos este prezentat un UC realizat pe baza microcontrolerului AT89C52.
In vederea ataşării la UC a altor module pentru a extinde numărul de intrări sau ieşiri UC-ul este prevăzut cu LACH-uri pentru furnizarea şi memorarea de adrese necesare modulelor externe UC-ului. De asemenea s-au folosit LACH-uri pentru 16 ieşiri digitale şi DRIVERE pentru 16 intrări digitale , pentru afişor alfanumeric şi pentru sistemul de semnalizare cu LED-uri .Pentru interfaţa serială furnizată de microcontroler , s-au prevăzut DRIVERE speciale pentru interfaţa RS 232 în vederea comunicării cu calculatoare personale (PC)
Pe baza unităţii centrale descrie anterior s-a realizat un controler de proces numit DASYS, capabil să echipeze orice tip de compresor. Particularizarea pentru fiecare tip de compresor este realizată prin programele specifice înscrise în EPROM.
Schema bloc generală a controlerului de proces DASYS fig.26 prezintă modul de conectare la UC a afişorului alfanumeric, sistemului de semnalizare cu LED-uri şi a calculatorului precum şi modul de conectare a multiplexoarelor analogice, digitale şi a demultiplexoarelor în vederea extinderii numărului de intrări şi ieşiri de toate tipurile.
La intrările analogice sunt conectaţi senzori montaţi în diferite zone ale compresoarelor. Majoritatea semnalelor analogice culese de senzori sunt destul de lente ajungând la maxim 50 Hz. Semnalele achiziţionate au frecventa în jur de 10 Hz.
Fiecare intrare în multiplexor este filtrată cu un filtru analogic cu frecventa de lucru în jur de 10 Hz şi care elimină semnalele parazite cu frecvente mai mari de 100 Hz.
2.1.1.3 PROIECTAREA FILTRULUI DE INTRARE ÎN MULTIPLEXOR
Pentru proiectarea filtrului de la intrare, s-a utilizat un program furnizat de firma Texas Instruments care permite alegerea filtrului dintr-o gamă largă de tipuri de filtre, calculează automat valorile componentelor şi trasează graficul diverşilor parametri cum ar fi : amplificarea, faza, întârzierea.
S-a ales un filtru Bessel cu 3 poli în topologie MFB (Multiple Feedback) cu frecventa de taiere 100 Hz şi frecventa de lucru 10 Hz.
Atenuarea introdusă la frecventa de 10 Hz este foarte mică fiind de 0.003 dB putând fi neglijata. Schema filtrului nu este foarte complexă insă având în vedere faptul ca acest filtru se aplica fiecărei intrări în parte, la un număr mare de intrări analogice, costurile cresc de aceea, pentru soluţii mai ieftine se alege un filtru cu un singur pol.
A rezultat în acest caz un filtru foarte simplu de forma de mai jos.
Pentru a simplifica şi mai mult filtrul, se poate renunţa şi la amplificatorul operaţional de la ieşirea filtrului având în vedere consumul foarte redus pe intrare al multiplexorului, respective a convertorului AD.
In imaginea de jos se poate vedea un multiplexor 2X 16:1 cu filtru simplificat RC pe fiecare intrare.
Realizarea practică a controlerului de proces se poate vedea în imaginea de jos.
Pentru a extinde numărul de intrări analogice s-a folosit următoarea metoda: se montează pe fiecare din cele 16 intrări analogice ale UC-ului cate un multiplexor de 16 intrări analogice, care are nevoie de 4 adrese, furnizate tot de UC.
In total se montează 16 multiplexoare a cate 16 cai, deci există posibilitatea, în prima fază să se obţină 256 de intrări analogice.
In cazul în care se doreşte un număr şi mai mare de intrări, la intrarea unuia din multiplexoare se montează alte multiplexoare, numărul acestora fiind limitat numai de numărul de adrese furnizat de UC.
După acelaşi principiu s-a realizat şi extinderea numărului de intrări digitale. Multiplexoarele au fost astfel proiectate, încât se potrivesc atât pentru intrările
Analogice, cat şi pentru intrările digitale.
Pentru extinderea numărului de ieşiri digitale s-au folosit demultiplexoare digitale cu LATCH-uri astfel se folosesc 8 ieşiri digitale din UC care ajung la fiecare din cele 16 LACH-uri din demultiplexor.
P rin utilizarea sistemului de adresare se activează numai LACh-ul dorit astfel acest sistem se comportă ca un demultiplexor, avantajul fiind ca după înscrierea informaţiei în LACH-ul corespunzător UC-ul nu mai trebuie să păstreze informaţia aceasta fiind memorata. După acest principiu se face afişarea locală şi avertizarea optica pe 32 de leduri dispuse pe panoul de comandă şi afişaj.
2.1.2 PREZENTAREA MICROSISTEMULUI DE OPERARE REALIZAT PENTRU CONTROLERELE DE PROCES “DASYS”
Principiul de funcţionare al microsistemului de operare ( MICRO - SO ) şi al APLICAŢIEI SPECIFICE se găseşte în figura 27.
Flexibilitatea controlerului de proces DASYS este susţinuta în primul rând de posibilităţile de microprogramare. Desigur, posibilitatea configurării părţii fizice a sistemului este importantă pentru implementarea unei game largi de automatizări şi monitorizări de procese industriale, insă facilităţile de programare a algoritmului de automatizare şi monitorizare ale proceselor industriale sunt majore. Existenta microsistemului de operare în cadrul programelor din controler oferă performantă şi uşurinţă în implementarea unei aplicaţii specifice. Punctul central al soluţiei constă în includerea microsistemului de operare, microsistem de operare comun tuturor aplicaţiilor.
Microsistemul de operare se ocupă de gestionarea propriilor resurse hard fiind deci absolut necesar în orice aplicaţie. Gratie acestui sistem de operare controlerul de proces DASYS se ocupă de trei sarcini majore, existând deci trei fire de program:
1. Achiziţia, afişarea datelor pe afişorul alfanumeric, controlul semnalizărilor pe dispozitivul de semnalizare şi avertizare cu LED-uri, actualizarea semnalelor de comandă la ieşirile digitale numit FIRUL 1;
2. Comunicaţia cu calculatorul care asigură transmiterea datelor achiziţionate şi recepţionarea comenzilor de la calculator, numit FIRUL 2.
Datele sunt serializate şi trimise pe portul serial, la cererea sistemului muster la care este conectat sistemul de achiziţie.
Structura de date transmisa este prezentată în figura 28 şi se compune din 80 de cuvinte care reprezintă 5 coduri identice cu codul recepţionat de la muster, 16 intrări digitale, 48 ieşiri digitale, 64 intrări analogice cuvinte de stare etc.
3. Execuţia programului care constituie aplicaţia propriu zisa, numit FIRUL 3
Cele trei sarcini (fire de program) se execută aparent simultan de microcontroler prin implementarea unui sistem de întreruperi pe mai multe nivele. Cel mai prioritar nivel de întreruperi este furnizat de un ceas intern şi oferă cadenţa cu care se achiziţionează datele şi se actualizează comenzile şi semnalizările. Următorul nivel de întreruperi este furnizat de interfaţa serială şi este folosit pentru dialogul cu calculatorul. În această fază se trimit date de sinteză pentru calculator pentru a fi afişate la distanta, de obicei în dispecerate, şi se primesc comenzi de la distanta. De menţionat este faptul ca sistemul DASYS este proiectat pentru a funcţiona independent, el fiind responsabil de funcţionarea şi supravegherea procesului industrial, comunicaţia cu calculatorul fiind opţională şi se implementează numai în cazul în care se doreşte monitorizarea procesului la distantă şi implementarea facilitaţilor de telecomanda.
Cea mai importantă sarcină a controlerului de proces DASYS este execuţia aplicaţiei propriuzise ( FIRUL 3 ), din această cauză acesta este firul principal de program iar celelalte sarcini(fire) sunt executate pe întreruperi.
Problema care se pune este partajarea datelor intre cele trei fire de program. Prin folosirea în comun de cele trei fire de program a unei zone de memorie se face transferul de date intre fire.
Primul fir ( FIRUL 1 ), achiziţionează datele de la intrări şi le depune intr-o zonă comună de memorie cu o cadenţa stabilită de întreruperile interne .Tot acest fir la anumite intervale de timp ia datele din zona comună de memorie şi face afişare, control şi semnalizare .
FIRUL 2 , care se ocupă de comunicaţia cu calculatorul ia date din zona comună de memorie şi pune comenzile primite de la calculator în aceeaşi zona(zona comuna).
Tot din zona comună se serveşte aplicaţia propriu zisă ( FIRUL 3) cu date putând controla şi monitoriza procesul industrial în funcţie de datele primite şi algoritmul implementat în program.
Programul din FIRUL 3, se ocupă strict cu aplicaţia nefiind nevoit să facă semnalizări, afişări de parametri, transmisii de date şi parametri, el nu face decât să ia datele din memorie şi să pună comenzile şi semnalizările corespunzătoare conform algoritmului de funcţionare al procesului industrial şi funcţie de datele existente în memorie achiziţionate de FIRUL 1.
Fiecare fir are o zonă proprie de memorie în care rulează.
FIRUL 1+ FIRUL 2 au fost denumite împreună microsistem de operare (MICRO-SO)
Toate cele trei fire de program se înscriu în memoria FLASH existenta în microcontroler cu ajutorul unor înscriptoare speciale. Odată înscrise, programele acestea nu se pierd rămânând chiar şi după oprirea alimentarii. Nu acelaşi lucru se întâmplă cu datele din memoria RAM care este o memorie de lucru şi datele se păstrează numai pe perioada cit circuitul este alimentat.
După configurarea şi realizarea sistemului fizic, urmează înscrierea în microcontroler a programului care conţine algoritmul de funcţionare control şi afişare al procesului industrial.
Ca noutăţi ar putea fi enumerate următoarele:
1. Unitatea centrală compusă din: microcontrolerul ATMEL AT89C52 , convertor CAN de 8 biti , multiplexor analogic de 16 canale, LACH-uri pentru furnizarea şi memorarea de adrese necesare modulelor externe UC-ului, LACH-uri pentru 16 ieşiri digitale şi DRIVERE pentru 16 intrai digitale , pentru afişor alfanumeric şi pentru sistemul de semnalizare cu LED-uri , DRIVERE speciale pentru interfaţa RS 232 în vederea comunicării cu calculatoare personale (PC);
2. Controlerul de proces DASYS compus din UC la care se conectează afişorul alfanumeric, sistemului de semnalizare cu LED-uri şi a calculatorului precum şi multiplexoarele analogice, digitale şi demultiplexoarele digitale care extind numărul de intrări şi ieşiri de toate tipurile;
3. Principiul de funcţionare al microsistemului de operare ( MICRO - SO ) şi al APLICAŢIEI SPECIFICE care constă din cooperarea celor trei module de program sau fire:
a. Achiziţia , afişarea datelor pe afişorul alfanumeric , controlul semnalizărilor pe dispozitivul de semnalizare şi avertizare cu LED-uri , actualizarea semnalelor de comanda la ieşirile digitale numit FIRUL 1;
b. Comunicaţia cu calculatorul prin intermediul căreia se trimit datele achiziţionate şi se primesc comenzi de la calculator numit FIRUL 2;
c. Execuţia programului care constituie aplicaţia propriu zisă numit FIRUL 3.
4. Modul de partajare a memoriei :existenta zonei de memorie comună prin intermediul căreia cele trei fire de program schimbă intre ele date.
În concluzie, controlerul de proces DASYS achiziţionează date , conduce procesul industrial conform algoritmului înscris în microprogram, semnalizează diferite evenimente pe un sistem de LED-uri , afişează datele achiziţionate pe un afişor alfanumeric, trimite date pentru afişare şi primeşte comenzi de la un calculator aflat la distanta.
Controlerul de proces DASYS are o structura modulară care permite ataşarea numărului dorit de canale de intrare sau ieşire analogice sau digitale.
Automatizarea unei game largi de procese industriale este posibilă gratie sistemului modular şi microprogramarii prin care se codifică algoritmul de funcţionare, monitorizare şi afişare de parametri ale unui proces industrial specific.
Flexibilitatea controlerului de proces DASYS este susţinută în primul rând de posibilităţile de microprogramare . Dispune de un microsistemul de operare MICRO-SO care oferă performantă şi uşurinţa în implementarea unei aplicaţii specifice.
Punctul central al invenţiei este constituit din microsistemul de operare , care se ocupă de gestionarea propriilor resurse hard şi supervizarea a trei programe majore care rulează aparent concomitent şi schimbă intre ele date intr-o zonă comună de memorie. Acestea sunt:
1. Achiziţia , afişarea datelor pe afişorul alfanumeric , controlul semnalizărilor pe dispozitivul de semnalizare şi avertizare cu LED-uri , actualizarea semnalelor de comanda la ieşirile digitale;
2. Comunicaţia cu calculatorul prin intermediul căreia se trimit datele achiziţionate şi se primesc comenzi de la calculator ;
3. Execuţia programului care constituie aplicaţia propriu zisa.
2.1.3 TRADUCTORI UTILIZAŢI DE SISTEMELE PENTRU AUTOMATIZAREA ŞI MONITORIZAREA COMPRESOARELOR
Pentru automatizarea unei staţii cu 6-7 compresoare e nevoie să se achiziţioneze în jur de 350-400 de parametri analogici cum ar fi presiuni, temperaturi, debite, tensiuni, curenţi, etc. În acest scop se folosesc diverse tipuri de traductori.
Marea majoritate a traductorilor utilizaţi pentru achiziţia de date din staţii şi compresoare sunt traductori de semnal unificat ce furnizează 4-20 mA.
Avantajul folosirii semnalului unificat constă în faptul că se face o distincţie intre traductor defect: 0mA şi valoarea parametrului =0 adică 4 mA. Prin utilizarea acestor tipuri de traductoare, domeniul traductorului se restrânge dar putem face clar distincţia intre valoarea parametrului măsurat =0 şi traductor defect.
In cazul utilizării unui convertor pe 8 biţi ieşirea lui digitală se poate situa intre val 0 şi 256. Valorile intre 0 şi 49 sunt eliminate deci domeniul de măsură este 49-256.
Valoarea unui parametru în ipoteza că se ştie valoarea furnizată de convertorul A/D, se calculează prin relaţia :
unde :
este Valoarea maximă pe care o măsoară traductorul respectiv valoarea pentru care traductorul furnizează 4 mA .
biţi este valoarea digitală furnizată de convertorul A/D
Valoarea digitală (biţi) în cazul în care se cunoaşte valoarea parametrului, se calculează cu relaţia:
In unele cazuri se folosesc traductori inteligenţi care recunosc protocolul HART. Aceşti traductori se comportă în aparentă ca şi traductorii de semnal unificat dar au următoarea facilitate: peste semnalul unificat transmis se mai transmite şi un semnal ce codifică numeric valorile de intrare şi care fiind foarte mic în amplitudine nu influenţează semnalul unificat.
Protocolul HART, cel mai utilizat protocol de comunicaţie cu senzori inteligenţi utilizaţi în automatizare, monitorizarea proceselor industriale şi în instrumentaţie. Protocolul HART continuă să crească în popularitate fiind recunoscut în industrie ca un standard global pentru instrumentaţie inteligenta. Protocolul este uşor de utilizat dând posibilitatea comunicării bidirecţionale în mod digital simultan cu semnalul analogic 4-20 mA utilizat de echipamentele şi senzorii tradiţionali.
Soluţia de comunicare oferită de protocolul HART este importantă pentru că păstrează cablarea existentă intr-un anumit sistem clasic. Înlocuind traductorii şi instrumentaţia clasică cu traductori şi instrumentaţie inteligentă capabilă să comunice prin semnal digital, obţinem un sistem performant capabil să comunice cu calculatoare aflate la distanta, permiţând reconfigurare, diagnosticare, citire date ,etc.
HART ("Highway Addressable Remote Transducer") este un protocol pentru comunicaţie digitală proiectat pentru aplicaţii industriale de măsurare, monitorizare şi automatizare[52].
Se bazează pe adăugarea unui semnal digital modulat peste semnalul analogic de 4-20 mA numit semnal unificat . Semnalul digital este modulat în frecventă astfel: 0 Logic cu o frecventa de 1200 Hz iar 1 Logic cu o frecventă de 2200 Hz.
Întrucât semnalul modulat HART are valoare mică şi are forma de unda sinusoidala, valoarea lui medie este 0 şi nu afectează semnificativ valoarea semnalului unificat, acesta putând fi utilizat în continuare. Protocolul HART permite deci extinderea funcţiilor sistemelor actuale permiţând comunicare simultană în semnal unificat şi în semnal digital.
Structura mesajelor de tip HART
Câmpul PREAMBULUL, între 5 şi 20 bytes cu valoarea “FF” are rolul de a ajută receptorul să se sincronizeze pe şirul de caractere recepţionat.
Caracterul de START poate avea diferite valori indicând tipul de mesaj: master to slave, slave to master, sau burst de la slave, precum şi formatul adresei: scurt sau lung.
Câmpul ADRESA include adresa master-ului şi adresa slave-ului. În format scurt adresa slave-ului este pe 4 biţi, iar în format lung de 38 biţi .
Caracterele de COMANDA conţin comenzi HART de tip :
-Universal 0-30
-Practice 32-126
-Specifice perifericelor 128-253
Caracterul NR - CUVINTE - conţine numărul de cuvinte al mesajului . Receptorul utilizează această valoare pentru a şti dacă mesajul este gata. (Nu există un caracter special pentru “Sfârşit mesaj”).
Câmpul STARE este format din două caractere, fiind prezent doar în răspunsul slave-ului. Câmpul conţine informaţii despre erorile survenite în transmisia mesajului, starea comenzii primite, starea unităţii respective.
Câmpul DATA poate sau nu să fie prezent în funcţie de comanda. Se recomandă o lungime maximă de 25 de caractere pentru a păstra o durată rezonabilă a timpului de transmisie a unui mesaj.
Cuvântul SUMA DE CONTROL conţine valoarea expresiei : sau exclusiv intre toţi octeţii transmişi anterior. Din această valoare, împreună cu bitul de paritate ataşat se poate determină dacă a avut loc o eroare de comunicaţie.
Pentru a putea conecta dispozitivele inteligente (ce comunică prin protocol HART ) cu sisteme de calcul se utilizează modemuri HART care extrag informaţia digitală din semnalul modulat provenit de la dispozitivele inteligente respectiv modulează informaţia digitala transmisa de calculator spre dispozitivele inteligente.
Există modemuri single chip CMOS care se încadrează în standardul BELL202, modemuri special proiectate pentru semnal HART.
HT2012 HART este un astfel de modem, fiind proiectat pentru a interfaţa dispozitive inteligente de tip HART având rolul de modulare şi demodulare semnal.
Viteza de transfer a datelor este de 1200 bauds.
Cele mai importante semnale furnizate de modem sunt reprezentate în figura de mai jos. Prin intermediul acestor semnale se poate face conexiunea directă la portul serial al unui calculator.
Avantajele utilizării protocolului HART
Utilizând protocolul de comunicaţie HART se pot transmite pană la patru măsurători intr-un singur mesaj.
Dacă se utilizează numai comunicaţia digitală mai multe dispozitive inteligente se pot cupla pe aceeaşi linie în paralel în sistem “multidrop”. În acest caz semnalul analogic este setat la valoarea minimă pentru toate dispozitivele(4mA).
HART a fost dezvoltat de firma Rosemount în anul -1980, dar a fost făcut public şi este complet deschis, toate drepturile aparţin organizaţiei independente HART Communication Foundation (HCF) care întreţine protocolul şi eventualele dezvoltări ulterioare.
Există astăzi peste 100 membrii HCF majoritatea având produse care respectă protocolul de comunicaţie HART şi care acoperă o gama largă de măsurători.
2.1.4 SISTEMUL DE TRANSMISII SERIALE DE DATE REALIZAT PENTRU TRANSMISIA PARAMETRILOR DE LA FIECARE COMPRESOR LA DISPECERATUL CENTRAL
Fiecare agregat de comprimare este în permanentă controlat şi monitorizat de un sistem de automatizare. Acesta supraveghează în permanentă agregatul şi afişează local semnalizări optice şi parametrii de funcţionare mai importanţi. Afişarea se face pe un afişor alfanumeric cu cristale lichide. Sistemul de automatizare trebuie să comunice cu dispeceratul central spre care trimite în permanentă parametri şi date achiziţionate şi totodată primeşte comenzi de la acesta. Având în vedere numărul mare de agregate şi sisteme de automatizare care sunt conectate la dispeceratul central, trebuie utilizată o metodă simplă şi eficientă de comunicare intre dispecerat şi sistemele de automatizare. Trebuie avute în vedere costul şi complexitatea legăturilor fizice. Cel mai eficient mod de conectare este conectarea tuturor sistemelor pe o singură linie serială în sistemul “multidroping”. În acest mod toate sistemele de automatizare sunt pe post de “slave” şi comunică pe linia serială numai când sunt interogate de “master”, reprezentat în cazul de fată de dispecerat. Toate sistemele pot citi simultan datele de pe linia seriala, insă poate răspunde numai sistemul care este apelat.
Dispeceratul scanează practic toate sistemele şi afişează centralizat datele. Fiecare cerere de date sau comandă spre un sistem de automatizare este însoţită şi de adresa acestuia. Respectivul sistem “îşi simte” adresa şi răspunde sau execută comanda cerută de dispecer. Fiecare sistem de automatizare are deci adresa proprie.
In figura 32 este schiţat modul de conectare în sistem multidroping.
2.1.4.1 SISTEMUL DE COMUNICAŢII SERIALE – MULTIDROPING
Cuplarea tuturor sistemelor de automatizare pe o singură linie serială este posibilă având în vedere posibilităţile de conectare multidroping a acestora.
Aceste facilitaţi sunt prezentate în schema din figura 33:
Pentru a se putea realiza dialogul intre sisteme şi dispecerat toate sistemele trebuie să fie în funcţiune altfel lanţul se întrerupe la un sistem care eventual nu este pornit.
Un alt dezavantaj a acestui mod de comunicare constă în faptul că o defecţiune pe linia serială a unui singur sistem de automatizare poate produce blocarea tuturor legăturilor. Pentru a evita astfel de incidente se foloseşte un multiplexor serial care lucrează tot în sistem multidroping, însă izolează liniile seriale între ele. În acest caz se utilizează o cantitate mai mare de cablu serial, insă sistemul este mai performant eliminând posibilitatea blocării tuturor liniilor de comunicaţie de către un singur sistem. În figura 34 se prezintă schematic modul de conectare utilizând un astfel de multiplexor.
2.1.4.2 SISTEM DE COMUNICAŢIE SERIALA MULTIDROPING PRIN MULTIPLEXOR
Multiplexorul serial este realizat din mai multe circuite de interfaţă serială de tipul IC 232 care sunt conectate pe aceeaşi linie seriala.
Toate driverele de ieşire corespunzătoare fiecărui controler sunt conectate prin intermediul unor drivere “open collector” intr-un punct comun realizându-se astfel o funcţie “sau” logic intre toate ieşirile (figura 35).
Transmisia de la calculatorul din dispecerat este amplificată în parte pentru fiecare intrare în controler realizându-se astfel separarea legăturilor intre sistemele de automatizare în vederea evitării blocajelor. Multiplexorul are alimentare separată şi deci realizarea transmisiilor de date nu mai este condiţionată de funcţionarea tuturor sistemelor de automatizare.
Un alt dezavantaj îl constituie faptul ca un sistem oarecare de automatizare nu poate avea iniţiativa unei comunicaţii cu dispeceratul în cazul unei urgente (a unei avarii majore). Având în vedere faptul ca fiecare sistem de automatizare lucrează independent , acesta controlând de fapt agregatul, nici nu este nevoie de o stabilire a comunicaţiei cu dispeceratul la iniţiativa sistemului de automatizare, întrucât nu dispeceratul ia decizii în cazul unor evenimente la un anumit agregat, aceasta fiind problema sistemului de automatizare local.
Fiecare sistem de automatizare dispune de rutine speciale de comunicare pe interfaţa seriala. Acestea trebuie să identifice faptul că pe linia serială s-a transmis o cerere de date sau o comandă care ii este adresata. Trebuie, de asemenea să identifice ce fel de cerere s-a făcut pe linia serială şi să răspundă în consecinţă trimiţând datele cerute sau efectuând comanda cerută de “master”.
In continuare sunt prezentate astfel de rutine sau programe în limbaj de asamblare .
2.1.4.3 Rutine pentru comunicaţia seriala multidroping implementate în sistemele de automatizare şi monitorizare a compresoarelor
ORG 0023H ; serial I/O interrupt vector
jnb ri,out_ser
mov 15h,SBUF ; Citire octet transmis de PC
clr ri
mov IE,#10000010B ; invalidare validare TI or TD (Tr seriala)
; validare intr T0
push psw
push acc
mov acc,a
push acc
mov 15h,SBUF ; Citire octet transmis de PC
mov a,15h
anl a,#0f0h ; Masca pentru citirea codului maşina
cjne a,#020h,out ; Ieşire daca nu e maşina 2
mov a,1fh ; Vechiul cod împachetat
rl a
rl a
rl a
rl a
anl a,#0f0h ;Codul pe prima poziţie
mov 1fh,a
mov a,15h
anl a,#0fh ; Masca pentru citirea codului de comanda
orl 1fh,a ; Salvez octetul citit
mov a,1fh
cjne a,#11h,out_d ; Ieşire daca nu e citire date
mov 0fh,#00h ; Comanda efectuata
sjmp param
out_d:
cjne a,#22h,out_s ; Ieşire daca nu e stop
mov 0fh,#02h ; Comanda primita
sjmp param
out_s:
cjne a,#33h,out_p ; Ieşire daca nu e pornire
mov 0fh,#03h ; Comanda primita
sjmp param
out_p:
cjne a,#44h,out_a ; Ieşire daca nu e demaror, control turaţie
mov 0fh,#04h ; Comanda primita
sjmp param
out_a:
cjne a,#55h,out ; Ieşire daca nu e test
mov 0fh,#05h ; Comanda primita
param:
mov 1fh,#00h ;Gata pentru a împacheta o noua comanda
call tr_param
out:
mov IE,#10010010B ; validare TI or TD (Tr seriala)
; validare intr T0
pop acc
mov a,acc
pop acc
pop psw
out_ser: reti
TR_PARAM:
push psw
push b
push acc
mov acc,r1
push acc
;Serie de 5 coduri maşina
MOV b,#5
iar:
JNB TI, $ ; Wait until transmitter not busy.
mov IE,#00010010B ; Invalidare (TI or TD) and T0
MOV SBUF,15h ; Send out cod masina primit
CLR TI ; Indicate transmitter bust.
mov IE,#10010010B ; Validare (TI or TD) and T0
djnz b,iar
; Transmisie parametrii
mov r1,#20h ; Adresa de inceput paramertii
tr_b1:
JNB TI, $ ; Wait until transmitter not busy.
mov IE,#00010010B ; Invalidare (TI or TD) and T0
MOV SBUF,@r1 ; Send out canal i
CLR TI ; Indicate transmitter bust.
mov IE,#10010010B ; Validare (TI or TD) and T0
inc r1
cjne r1,#070h,tr_b1 ; Reia pina la sfirsitul zonei
;Ceas masina
JNB TI, $ ; Wait until transmitter not busy.
mov IE,#00010010B ; Invalidare (TI or TD) and T0
MOV SBUF,0bh ; Send out timer T3 0bh
CLR TI ; Indicate transmitter bust.
mov IE,#10010010B ; Validare (TI or TD) and T0
JNB TI, $ ; Wait until transmitter not busy.
mov IE,#00010010B ; Invalidare (TI or TD) and T0
MOV SBUF,11h ; Send out CEAS 0ch - Cod func 2
CLR TI ; Indicate transmitter busy
mov IE,#10010010B ; Validare (TI or TD) and T0
JNB TI, $ ; Wait until transmitter not busy.
mov IE,#00010010B ; Invalidare (TI or TD) and T0
MOV SBUF,12h ; Send out CEAS 0dh - cod func 3
CLR TI ; Indicate transmitter bust.
mov IE,#10010010B ; Validare (TI or TD) and T0
pop acc
mov r1,acc
pop acc
pop b
pop psw
RET
2.1.4.4 Rutine pentru comunicaţia seriala multidroping implementate în programele dispecer.
In continuare este prezentata o rutina scrisa în programul PASCAL prin care se realizează citirea a 89 de parametri de la sistemul cu adresa 2 pe portul serial 1
Uses Dos,Crt,Graph,graphi;
Const
SPA : word = 0;
n : integer = 1; { port serial 1 }
Var
imax,j:integer ;
ai :integer;
GraphDriver, GraphMode : Integer;
s : array[1..4] of word absolute $40:0;
val : array[1..89] of integer;
T : longint absolute $40:$6c;
M,i : longint;
F : boolean;
x,y : byte;
Gd, Gm : Integer;
Begin
Gd := Detect; InitGraph(Gd, Gm, '');
if GraphResult <> grOk then Halt(1);
SPA:=s[n]; { adresa port serial}
Port[SPA+3]:=$83;
Port[SPA]:=24;
Port[SPA+1]:=0;
Port[SPA+3]:=3;
Port[SPA+1]:=0;
Port[SPA+4]:=0;
repeat
{ Comanda pentru controler:Transmitere date }
Repeat Until Port[SPA+5] and $60=$60;
Port[SPA]:=$21;
{ Citire 89 caractere }
i:=1;
Repeat
m:=t+2;
Repeat { Wait until character back or timeout }
Y := Port[SPA + 5];
F := Odd(Y);
until F or (T > M);
X := Port[SPA];
val[i]:=x;
if T>M then
begin
i:=0;
repeat
i:=i+1;
val[i]:=0;
ai:=0;
until i=88;
end;
Inc(i);
Until i=89;
Interfaţa unui program de aplicaţie pentru urmărirea funcţionarii unei staţii de 12 compresoare este prezentată în imaginea de mai jos:
2.1.5 SISTEMUL DE TRANSMISII PRIN INTERNET A DATELOR ACHIZIŢIONATE LA DISPECERUL LOCAL LA DISPECERUL CENTRAL
Pentru a putea transmite datele achiziţionate la distante mari şi unui număr mare de utilizatori la costuri cit mai mici şi cu eforturi minime, se utilizează reţeaua publică Internet. Utilizarea acestei reţele oferă un avantaj major, şi anume posibilitatea vizualizării datelor achiziţionate prin intermediul oricărui calculator conectat la Internet. Vizualizarea datelor se face în Browserul (navigatorul) obişnuit de navigare instalat pe acel calculator, nefiind nevoie să se instaleze programe speciale de achiziţie şi afişare de date (fig37).
Transmisia şi afişarea datelor prin Internet se poate realiză prin mai multe metode. O metodă simplă prin care sistemele de achiziţie utilizează Internetul se bazează pe utilizarea formatului HTML (HyperText Markup Language), format folosit în transmisia documentelor prin Internet (fig.38).
Calculatorul local conectat la sistemul de achiziţie achiziţionează datele, le prelucrează şi le afişează local. Datele achiziţionate sunt salvate sub diferite formate pe discurile locale la anumite intervale de timp în vederea realizării istoricelor de date.
În vederea transmisiei datelor prin Internet se mai realizează şi un fişier în format HTML care conţine datele achiziţionate în acel moment eventual şi o sinteză a datelor din ultima perioada. Modulul de program care pregăteşte datele la intervale prestabilite salvându-le intr-un fişier html , numit Server HTML.
Transmisia datelor, respectiv a fişierului în format HTML prin Internet, presupune existenta unui Server WEB care realizează conectarea la Internet. Acest server poate fi instalat fie pe calculatorul care face achiziţia şi are ieşire spre Internet fie un alt calculator conectat la Internet şi legat în reţea cu primul .
Vizualizarea datelor se poate face astfel de la orice calculator conectat la Internet prin adresarea serverului care conţine resursa (fişierul cu datele în format HTML).
Adresa de Internet va conţine URL-ul (Universal Resource Locator) resursei cu alte cuvinte numele serverului şi a documentului.
Conţinutul resursei se schimbă permanent deci orice accesare a ei va afişa date curente. Resursa creată pe server poate conţine pe lângă datele efective şi TAG-uri pentru afişarea în diferite formate a datelor sau chiar proceduri în diferite limbaje acceptate de Browser care afişează în mod repetitiv informaţia, astfel realizându-se o afişare continuă în timp real.
Metoda descrisă mai sus are avantajul ca este foarte simpla, accesul la date se face rapid, numărul de utilizatori care se pot conecta simultan depinde de performantele Serverului WEB şi ale calculatorului server. Clienţii nu apelează direct sistemul de achiziţie ci numai fişierul HTML produs de sistemul de achiziţie, deci acesta nu poate fi blocat printr-un număr excesiv de apeluri simultane.
Dezavantajul constă în faptul ca utilizatorul nu poate face anumite cereri pentru anumite date, el putând numai consulta date care au fost în prealabil pregătite.
Pentru a rezolva astfel de cereri din partea clienţilor trebuie realizată o aplicaţie de tip client-server în care clientul face anumite cereri iar serverul furnizează numai acele date cerute(fig39).
Din “navigator”, se pot vizualiza date aflate pe server prin lansarea adresei serverului împreună cu cererea specifică de date (URL). Cererea specifică de date conţine numele Script-ului, procesul (aplicaţia) care trebuie lansată şi metoda care întoarce datele necesare.[37]
“Navigatorul” cere aceasta adresa (URL-ul ) la fel cum cere orice alt document de pe server. Serverul recepţionează cererea, remarcă faptul ca URL-ul arată spre un Script şi il executa. Script-ul lansează procesul şi invocă metoda specificată în URL .
Metoda poate consulta baze de date sau poate achiziţiona imediat date pe care le înglobează intr-un răspuns în format HTML şi il furnizează Script-ului.
Script-ul pe baza răspunsului primit formează rezultatul astfel încât să fie inteligibil pentru Server-ului WEB.
Server-ul recepţionează rezultatul şi il trimite prin Internet, “navigatorului” care îl formatează şi il afişează utilizatorului.
In cazul în care nu se utilizează o bază de date se declanşează o achiziţie de date, la fiecare cerere a clientului. Fiecare achiziţie de date se face intr-un timp determinat de performantele sistemului de achiziţie. În cazul unui număr mare de clienţi care fac cereri, s-ar putea ca sistemul de achiziţie să nu mai aibă timpul necesar să facă achiziţiile pentru fiecare client deci sistemul să se blocheze. Chiar dacă nu se ajunge la blocarea sistemului s-ar putea întâmpla ca sistemul de achiziţie să fie nevoit să facă achiziţii repetate la intervale foarte mici, intervale în care datele nu se schimbă sau se schimbă nesemnificativ, deci se fac achiziţii inutile. (fig40)
O altă modalitate de achiziţie se bazează pe utilizarea bazelor de date ca tampon intre sistemul de achiziţie şi server. Sistemul de achiziţie sub controlul programelor de achiziţie face achiziţii la intervale bine stabilite iar datele sunt păstrate intr-o bază de date unica. Aceasta bază da date care serveşte atât ca istoric de date cat şi ca sursă de date pentru aplicaţiile client-server(fig41) .
O implementare a acestei metode este realizată prin utilizarea Web Serverului
MIIS (Microsoft Internet Information Server), Script-ului FoxISAPI (Fox Internet Server Application Interface) şi aplicaţia realizată în Visual FoxPro6.0 numită Server_com.exe, conţinând clasa clasacom1 ce are printre alte metode şi metoda paginastart care interoghează baza de date valori.dbf (fig 42).
FoxISAPI este o extensie ISAPI (Internet Server Application Interface) [ 36] oferită de Visual FoxPro6.0 pentru dezvoltarea de aplicaţii pe Internet cu acces în timp real la baze de date. FoxISAPI este o bibliotecă de funcţii scrisă în C++ având rol de aplicaţie conector intre “Navigatorul” –client şi serverul COM căruia îi este adresata. Serverul COM efectuează diverse prelucrări eventual interogări în baza de date) şi va trimite un răspuns sub forma de text HTML.
FoxISAPI se execută în exclusivitate pe server, ca aplicaţie ISAPI în back-end-ul serverului WEB MIIS (Microsoft Internet Information Server).
FoxISAPI se conectează la serverul WEB printr-un singur apel (pentru fiecare cerere a clientului) ce accesează în mod direct serverul COM şi utilizează rezultatul acestuia înglobat intr-o pagina Web.
FoxISAPI este o extensie extrem de performanta, de tip multifir(multi-thread), ce lucrează ca interfaţă la nivel de sistem de operare, furnizând o interfaţă low-level câtre serverul WEB MIIS[36]
Sarcina de bază a extensiei FoxISAPI este aceea de a crea o instanţă a componentei server COM şi de a invoca una dintre metodele acesteia. Metoda în urma prelucrărilor sau interogărilor unei baze de date formulează un răspuns sub forma unui text HTML care va fi trimis apoi, serverului WEB. În momentul când clientul trimite o cerere de acces spre o componenta a serverului COM, serverul WEB cere de fapt încărcarea mai întâi a bibliotecii foxisapi.dll şi abia apoi prin intermediul acesteia, are loc invocarea metodei solicitate. Mecanismul de mai sus se declanşează printr-un URL de forma:
http://NumeServerWEB//scripts/foxisapi.dll/NumeServerCom.clasa.metoda
Prin acest URL, serverul WEB este determinat să încarce FoxISAPI în spaţiul sau de memorie şi persistă pe toată durata procesului apelant. Fiind de tip multifir, el poate prelua mai multe cereri simultan. Deşi serverului COM este monofir (single-thread) FoxISAPI poate crea instanţe multiple ala aceluiaşi server COM care este încărcat în memorie o singura data, apoi utilizează cereri prin referinţa ale acestuia. Prima cerere a unui client este rezolvată mai lent, datorită încărcării în memorie a serverului COM după care următoarele cereri sunt rezolvate mai rapid.
Concret pentru implementarea din fig.6, clientul lansează din Navigator
următoarea adresa:
http://oemcomputer/scripts/foxisapi.dll/server_com.clasacom1.paginastart
URL-ul de sus determină următoarele evenimente:
-
Serverul oemcomputer, incarcă în memorie biblioteca foxisapi.dll;
-
Foxisapi.dll lansează în execuţie procesul server_com.exe,apoi crează o instantă a clasei publice clasacom1si invocă metoda paginastart ;
-
Metoda consultă baza de date valori.dbf şi formulează un răspuns sub forma unui sir de caractere (text) în format HTML;
-
Foxisapi.dll preia răspunsul metodei, îl înglobează intr-un document HTML şi îl trimite serverului WEB ;
-
Procesul server_com este oprit
Rezultatul final trebuie să se regăsească în fereastra navigatorului care a făcut cererea formulând URL-ul de sus.
In imaginile de mai jos sunt prezentate ecranele a doua aplicaţii de achiziţie date. În prima imagine se prezintă o achiziţie şi o afişare locală de date. Aplicaţia reprezintă şi un server de date pentru aplicaţii pe WEB
In imaginea de mai jos este prezentată o pagină de WEB care poate afişa date puse la dispoziţie de aplicaţia de mai sus, aplicatei care reprezintă şi un server de date în format HTHL sau server intr-o bază de date .
Datele furnizate în format HTML sunt afişate direct în pagina WEB mai jos prezentata.
In cazul în care datele sunt furnizate intr-o bază de date, prin intermediul unei aplicaţii client server în Internet baza de date se poate interoga direct .In figura de mai jos se prezintă ecranul unei astfel de aplicaţii .
Dostları ilə paylaş: |