CONDUCEREA ROBOŢILOR PRIN CONTROLERE LOGICE PROGRAMABILE
Capitolul de fata este destinat metodelor de conducere ale unor echipamente speciale cunoscute frecvent sub denumirea de controlere logice programabile (CLP). Derivānd direct din automatele programabile discutate anterior, CLP-urile reprezinta ultima realizare īn domeniul atāt de diversificat al echipamentelor de conducere pentru procese secventiale. Proiectate initial ca simple simulatoare ale schemelor cu contacte si relee, aceste sisteme s-au impus īn ultimii ani prin facilitatile deosebite pe care le ofera atīt proiectantului cāt si utilizatorului.
11.1. Controlere logice programabile
Controlerele programabile sunt sisteme specializate destinate acoperirii urmatoarelor functii: procesarea datelor, memorare, transfer intrare-iesire. Desi indicativul "logica-programabila" desemneaza clar existenta unor procesoare ce opereaza scalar, īn prezent aceste echipamente pot prelucra de asemenea marimi numerice, deci pot interveni direct īn structuri de conducere numerica modelānd sau simulānd bucle de reglare complexa. Un avantaj caracteristic acestor sisteme īl reprezinta posibilitatea vizualizarii programului de conducere printr-o schema tip "contacte si relee", reprezentare ladder". Aceasta reprezentare ofera programatorului un afisaj electronic extrem de familiar, capabil sa permita atāt facilitati de programare cāt si de urmarire a evolutiei procesului condus. Aceste controlere realizeaza deci fuziunea īntre o tehnica "arhaica" a schemelor cu contacte si metodele moderne de procesare ale calculatoarelor numerice.
Schema generala a unui CLP este prezentata īn figura 11.1.
Figura 11.1.
UC controleaza si supervizeaza toate operatiile din interiorul CLP, transferul instructiunilor, procesarea lor si conexiunile cu exteriorul. UC este alimentata de la un generator cu cuart cu frecventa īntre 1 si 8 MHz (īn functie de tipul microprocesorului utilizat).
Pentru memorarea programului toate CLP-urile moderne utilizeaza memorii RAM sau EPROM. Primele se folosesc pentru dezvoltarile initiale ale programului care, dupa testarea completa, este īnscris īn EPROM. Celelalte memorii sunt utilizate pentru stocarea unor variabile intermediare pentru realizarea imaginilor variabilelor de intrare/iesire si pentru memorarea unor functii interne: numarare, temporizare, marcare etc.
Unitatile intrare-iesire formeaza interfata īntre structura interna a CLP si procesul condus sau acestea vor asigura, pe de o parte izolarea CLP-ului de exterior si compatibilitatea electrica cu exteriorul a semnalelor ce intra sau sunt generate.
Operatiile interne si procesarea datelor īn CLP sunt aceleasi cu ale oricarui microprocesor sau al automatelor programabile.
La faza fetch instructiunea este citita din memorie si plasata īntr-un registru de instructiuni pentru decodificarea ei īn operatii interne (microinstructiuni) cerute de fiecare instructiune particulara. Urmeaza faza de executie a instructiunii care implica, de obicei, o prelucrare logica asupra unei variabile interne sau externe si stocarea rezultatului īntr-o locatie corespunzatoare. Este evident ca un loc important īn aceste operatii īl joaca achizitionarea variabilelor externe.
Īn general exista doua modalitati de captare a variabilelor de intrare. Prima procedura implica transferul datelor de la canalul de intrare specificat īn instructiune, prelucrarea lor si īnscrierea rezultatului īn canalul de iesire dorit, (figura 11.2a.). Īn al doilea caz, utilizat pentru sistemele cu un numar mare de intrari/iesiri, īntr-o prima faza se achizitioneaza īntr-un RAM toate variabilele de intrare cuplate, se executa apoi īntreg programul memorāndu-se toate rezultatele īn alta sectiune RAM si īn final noile valori ale variabilelor de iesire se trimit pentru actualizare, īn toate canalele de iesire cuplate la CLP (figura 11.2.b.).[121]
|
Fetch.decodificare executie instructiune |
Achizitionarea variabilei de intrare |
Fetch.decodificare executie instructiune |
Achizitionarea variabilei de intrare |
|
|
<==========> |
<==========> |
<==========> |
<==========> |
|
a)
|
Copiaza toate intrarile īn RAM |
Fetch.decodificare executie pentru īntregul program |
Transfer toate iesirile din RAM īn canalele corespunzatoare |
|
|
<==========> |
<==================> |
<==================> |
|
b)
Figura 11.2.
11.2. Instructiuni si programarea grafica a CLP
Instructiunile utilizate īn programarea CLP se īnscriu īn gama uzuala a instructiunilor logice avānd īn plus caracteristici specifice rezultate din reprezentarea grafica proprie schemelor ladder.[
Diagramele ladder au fost utilizate initial pentru reprezentarea circuitelor electrice. Ulterior, introducerea controlerelor programabile si dorinta de a asigura utilizatorului aceleasi facilitati īn urmarirea functionarii sau īn testarea circuitelor au impus adaptarea simbolurilor circuitelor electrice īn logica programabila.
O diagrama ladder, īn schemele electrice, este formata din doua bare verticale ce asigura potentialul electric necesar si o retea de contacte si bobine (figura 11.3.a).
Īn figura 11.3.b este prezentata o reprezentare cu o logica similara cu cea oferita de schema electrica dar utilizānd simboluri specifice din CLP. De# 616b12g 1;i simbolurile folosite de diverse firme nu au o standardizare riguroasa acestea īncearca sa pastreze caracterul oferit de simbolurile si conexiunile electrice din care deriva.

Figura 11.3
Īn tabelul 11.1 sunt prezentate cāteva din simbolurile si instructiunile asociate, utilizate īn CLP produse de firmele Texas Instruments si Mitsubishi.
Īn anexa 3 sīnt prezentate detaliat instructiunile firmei si modul de utilizare.
|
|
Mitsubishi |
Functie |
Simbolizare grafica |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Mnemonic |
Mnemonic |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
STR |
LD |
Declara īnceput de linie. Īncarca variabila |
AND |
AND |
Conexiune serie |
OR |
OR |
Conexiune paralel |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
OUT |
OUT |
Iesiri |
Negatie |
Functii speciale |
Tabelul 11.1 Programarea CLP se poate realiza atāt pe baza instructiunilor logice cāt si prin programare grafica utilizānd simbolurile corespunzatoare. Īn acest caz se permite utilizatorului sa foloseasca simbolurile familiare din structura circuitelor electrice. Modulul de programare translateaza sau compileaza aceste simboluri grafice īn instructiuni logice memorate īn memoria RAM. Organigrame de stari si Grafcet Īn capitolele anterioare, implementarea sistemelor de conducere secventiala se baza pe tehnicile oferite de organigramele (grafurile) de stari. Acestea permiteau dezvoltarea unor metode puternice de implementare asociate diverselor sisteme ce reprezentau suportul hardware. Īn ultimii ani īn literatura de specialitate, īn special īn cea de provenienta franceza, s-au introdus si dezvoltat noi sisteme de reprezentare grafica a evolutiei secventiale a proceselor, cunoscute sub denumirea de Grafcet. Desi un Grafcet reda īn esenta aceleasi elemente ca si o organigrama de stari, anumite particularitati de reprezentare ofera facilitati atāt proiectantului cāt si utilizatorului, ceea ce a dus la largirea ariei de utilizare si penetrarea metodei īntr-un mare numar de aplicatii. Un Grafcet este un
graf orientat definit printr-un cvadruplet - - Simbolizarea Grafcet-ului nu este unica. Īn literatura se pot īntālni diverse moduri de reprezentare. Īn figura 11.4 este prezentata o metoda utilizata frecvent īn aplicatii de conducere a proceselor industriale. O secventa este reprezentata printr-un dreptunghi (sau un cerc) si definita printr-un identificator de secventa. Acesteia i se asociaza o variabila, de obicei o variabila interna, ce reprezinta suportul fizic al secventei. Asociat identificatorului de secventa si conectat direct la acesta este blocul iesirilor generate īn secventa respectiva. Activarea secventei (variabilei) īnseamna activarea tuturor iesirilor conectate. Īn aceasta reprezentare se mai poate remarca prezenta a doua conditii de tranzitie, prima desemnānd conditiile pentru atingerea secventei iar a doua reprezentānd conditiile pentru evolutia īn secventa urmatoare. Aceste conditii reprezinta fie simple variabile externe, fie functii logice complexe obtinute prin operatori logici specializati. Conexiunile īntre blocurile unui Grafcet se obtin prin linii orizontale si verticale. Liniile verticale desemneaza evolutii iar cele orizontale indica posibilitati de ramificare conditionata sau nu. Īn figura 11.5 sunt prescurtate doua diagrame, prima ca o ramificare de tip SAU, a doua cu o ramificare sI.
Figura 11.4 Īn figura 11.5.a, linia orizontala A desemneaza
o evolutie fie īn secventa
Figura 11.5 a Este evident ca, īn functie de complexitatea
procesului condus, arborescenta Grafcet-ului
creste, īn aceeasi structura putānd fi īntīlnite atāt
ramificatii de tip sI cāt si SAU precum si
configuratii ierarhizate corespunzānd unor anumite grade de subordonare.
Īn figura 11.6 este prezentat un Grafcet
cu o astfel de structura, liniile
Figura 11.5 b Un Grafcet poate fi īntotdeauna echivalat cu o organigrama (graf) de stari, complexitatea translatarii fiind data de gradul de dificultate prin care o secventa se descompune īntr-una sau mai multe stari. Īn cele mai dese cazuri o secventa corespunde unei stari si atunci asimilarea este simpla (figura 11.7). Īn cazurile mai complexe, fiecare secventa se īnlocuieste cu un numar de stari astfel īncāt sa preia toata informatia continuta īn aceasta. Conditiile de tranzitie sīnt bineānteles pastrate. Īn finalul acestei prezentari s-ar putea īncerca aflarea raspunsului la īntrebarea "ce este de preferat, utilizarea organigramei de stari sau a Grafcet-ului?". Este evident ca nu se poate formula un raspuns transant, ambele solutii reprezentānd metode adecvate de lucru. Totusi, īn cazul unor procese industriale complexe, a caror evolutie implica un numar mare de stari, se poate recomanda utilizarea Grafcet-ului, numarul de secvente fiind īn general mai mic decāt cel al starilor si deci suportul fizic solicitat va fi mai redus.
Figura 11.6 Acest lucru va fi bine ilustrat īn solutiile propuse pentru comanda unor roboti secventiali destinati unor functii de manipulare la care evident exista o diferenta mare īntre numarul de stari si cel al secventelor implicate īn generarea traiectoriei. 11.4. Implementarea unui Grafcet Tehnica de implementare a unui Grafcet se bazeaza pe transpunerea īn limbajul CLP a unei functii logice ce defineste: - set pe conditiile de tranzitie - memorarea variabilei asociate secventei; - reset pe conditiile de tranzitie Daca se noteaza prin
relatie care este identica practic cu ecuatia unui bistabil
Figura 11.7 Primul termen va defini conditia de amorsare a secventei
Aparent, relatia (11.3) ofera solutia implementarii. Īn realitate, aplicarea acestei formule īntr-o succesiune de secvente ale unui grafcet este improprie datorita hazardului de comutare produs de aceeasi variabila de conditie la setarea si resetarea a doua secvente consecutive. Pentru concretizarea ideii, sa consideram secventele
Este evident ca variabila Acest neajuns se poate remedia punānd conditia ca resetarea unei secvente sa fie realizata nu de variabila de tranzitie ci de starea succesoare. Astfel, relatiile de mai sus devin :
Se poate verifica usor ca acum deficientele semnalate au fost complet eliminate. Relatia (11.3) se poate rescrie sub forma :
Generarea variabilelor de iesire se obtine fara dificultate utilizānd facilitatile de alocare a iesirilor oferite de un CLP. Īn figura 11.8 este reprezentata diagrama ecuatiei 11.4 si instructiunile corespunzatoare.
LOD TIN AND Si-1 LOD Si ANDNOT Si+1 ORLOD ORLOD OUT Si LOD Si OUT Iesire 1 OUT Iesire 2 Figura 11.8 Reprezentarea de mai sus defineste metoda generala de implementare a unei secvente. Īn functie de caracteristicile problemei de conducere abordata, aceasta reprezentare poate suferi modificari cantitative care sa permita utilizarea unor elemente si proceduri speciale de implementare oferite de instructiunile unui CLP. Un exemplu īn acest sens īl constituie utilizarea instructiunilor STL asociat cu variabilele 600-647. Acestea din urma au proprietatea unei celule latch, deci devin logic 1 (set) prin conditiile ce sigura activarea variabilei, memoreaza valoarea logica si se reseteaza o data cu activarea celulei urmatoare. Prin aceste proprietati aceste variabile vor constitui suporturi ideale pentru implementarea oricaror secvente. De asemenea, utilizarea instructiunii STL (instructiune de tip master) permite formarea unor bare de conexiune suplimentara pentru comanda unui numar mare de variabile. Pentru exemplificare sa consideram grafcet-ul din figura 11.9.a. Diagrama ladder asociata este prezentata īn figura 11.9.b iar instructiunile corespunzatoare īn figura 11.9.c. Variabila de initializare asigura conditia de set a
variabilei latch 600. Pe
a doua linie a diagramei, variabila 600 si
Figura 11.9 11.5. Conducerea unui conveior īntr-o instalatie robotizata de vopsire Ca o prima aplicatie se va aborda problema implementarii sistemului de conducere a unui conveior utilizat pentru transportul unor subansamble (placi) īntr-o instalatie robotizata de vopsire. Īntregul sistem este prezentat īn figura 11.10. Tehnologic, conveiorul este format dintr-un lant transportor cu o latura inferioara activa si una superioara pasiva. Latura activa contine 10 puncte de prindere īn care sunt montate panourile. Acestea sunt prinse īn punctul de īncarcare si avanseaza secvential atāt prin punctele de vopsire cāt si prin cuptorul de uscare si coacere. Linia este prevazuta cu doi roboti ce asigura vopsirea
pe fiecare fata a panourilor cānd acestea ajung īn pozitiile
Figura 11.10 Activarea functiilor de vopsire a celor doi roboti se produce ori
de cāte ori un panou ajunge īn pozitiile respective. De asemenea, cuptorul
este īncalzit cu becuri īn infrarosu care sunt aprinse numai
daca cel putin un panou se deplaseaza īn zona de uscare. Trebuie
subliniat faptul ca linia nu este normal īncarcata la capacitatea
maxima deci se impune īntotdeauna cunoasterea exacta a
starii de īncarcare a fiecarei pozitii Actionarea conveiorului este realizata secvential, cu un
tact de lucru suficient de mare pentru a permite realizarea functiilor de
vopsire īn Grafcet-ul asociat operatiilor executate pe linie este prezentat īn figura 11.11. Fiecarui punct de lucru
Figura 11.11 Aceste functii de memorare si de deplasare a informatiei
īnmagazinate impun alegerea unui registru de deplasare ca suport al
secventelor de lucru, īn consecinta s-a ales registrul definit
prin variabilele fiecare
celula
Tabelul 11.2 Alocarea variabilelor īn CLP este prezentata īn tabelul 11.2 iar diagrama si instructiunile de implementare īn
Figura 11.12 Impulsul traductorului de deplasare TD este derivat prin instructiunea
SOT ceea ce permite formarea unui singur semnal cu o
durata egala cu cea a timpului de baleiaj al programului. Se
evita īn acest fel deplasarea falsa a informapei īn registru īn timpul explorarilor
succesive ale programului. Impulsul este memorat īn variabila interna 400
si este utilizat ca impuls de deplasare a lui SFR 0. Initializarea
registrului se realizeaza cu variabila 3 furnizata de punctul de
īncarcare al liniei. Celulele Atāt schema ladder prezentata cāt si programul asociat demonstreaza clar, fata de complexitatea problemei abordate, eleganta si simplitatea solutiei. 11.6. Conducerea unui robot īn instalatii de acoperiri galvanice Īn capitolul 7 au fost analizate sisteme de conducere īn logica cablata pentru o instalatie robotizata de acoperiri galvanice. Se va relua acum aceasta aplicatie propunānd o solutie bazata pe CLP.
Tabelul 11.3 Pentru reactualizarea datelor se va reface traiectoria robotului
specificānd succesiunea secventelor functionale ce o formeaza
(figura 11.13). Se remarca posibilitatea descompunerii traiectoriei
generale īn segmente cu caracteristici comune. De exemplu, secventa s.a.m.d.. Ultimele secvente sunt similare dar ciclul utilizat este inversat: ridicare - stānga - coborāre.
Figura 11.13 Īn figura 11.14 se poate urmari grafcet-ul traectoriei. Se poate remarca
divizarea grafului īn doua parti, una pentru secventele de
baza Pentru implementarea acestui grafcet s-au utilizat variabilele interne 600-623 care pot functiona īn regim de latch, functia set fiind definita de conditiile specifice de comutare impuse de evolutia procesului iar resetarea fiind realizata automat odata cu activarea variabilei urmatoare. Diagrama ladder a īntregului sistem de conducere si alocarea corespunzatoare a variabilelor se pot urmari īn figura 11.15 si tabelul 11.3. Prin variabila de initializare 1 se activeaza variabila 600 ce
defineste secventa
Īn finalul subrutinei se utilizeaza instructiunea END ceea ce determina reluarea programului la adresa 0. Īntrucāt variabila 623 era activa, aceasta va determina practic reluarea secventelor īncepānd cu linia variabilei 601. Procedura continua īn acest fel realizānd calea principala a grafcet-ului si apelānd succesiv la subrutina ciclului. Programul detaliat de implementare se obtine transpunānd diagrama īn instructiunile CLP corespunzatoare:
Figura 11.15
11.7. Conducerea unui manipulator ce deserveste un cuptor de tratare termica Se va relua exemplul prezentat īn capitolul 9 propunāndu-ne implementarea sistemului de conducere pe un CLP utilizānd reprezentarea prin grafcet (figura 11.16). Se remarca, īn acest caz, identitatea notiunii de stare cu cea de secventa. Īn consecinta grafcetul reda destul de exact forma organigramei de stari, diferente putānd fi notate īn cazul deciziilor ierarhizate ale organigramei care īn grafcet devin linii orizontale de ramificare. Implementarea secventelor se obtine pe baza relatiei (11.4). Īn consecinta expresiile logice ale secventelor vor fi: Aceste relatii vor constitui nucleul diagramei ladder, la acestea adaugāndu-se logica de numarare si functiile de iesire (figura 11.16).
Tabelul 11.4 Programul de conducere va fi:
Figura. 11.16. a)
Figura 11.16.b) Se remarca utilizarea unui bloc de numarare CNT 1 programat pentru numararea pīna la valoarea 5. Continutul acesteia este testat prin FUN 201 pentru valori acumulate ce depasesc 1,2,3. Prin iesirile respective 207,208,209 se determina de fapt conditiile NUM1,NUM2,NUM3. Conditia NUMO se obtine prin simpla complementare a conditiei 207. 11.8. Conducerea unui robot īn coordonate cilindice Se va analiza īn continuare posibilitatea implementarii unui sistem de conducere pentru un robot īn coordonate cilindrice ce deserveste o celula de prelucrare. Celula este alimentata cu piese neprelucrate printr-o banda transportoare, piesele fiind dispuse ordonat pe palete, cāte 8 pe fiecare paleta īn grupe de cāte 4 (figura 11.17). Robotul transfera succesiv piesele īn punctul de prelucrare (presa) urmānd o traiectorie impusa. Figura 11.17 Initial robotul se gaseste īn punctul A. Bratul
avanseaza īn punctul Robotul, pe cele doua axe r, dispune de doua tipuri de traductoare de masura, incremental pentru axa r si absolut pentru axa . Prezenta acestor doua tipuri de traductoare ofera posibilitatea utilizarii facilitatilor de calcul numeric pe care le ofera un CLP. Grafcet-ul sistemului de conducere este prezentat īn figura 11.18. īn
secventa Īn cadrul unei secvente se genereaza iesirea necesara dar totodata se impun prelucrari numerice corespunzatoare cerintelor impuse de fiecare secventa de miscare. Aceste prelucrari nu apar explicit īn grafcet dar ele sīnt prezentate detaliat īn diagrama ladder asociata (figura 11.19).
Se remarca prezenta unei ramificatii de tip SAU generata īn secventa s8. Conditiile de evolutie pe anumite ramuri sunt determinate de numarul de piese manipulat si identificat īn secventa s7. Astfel, dupa 4 piese sau 8 piese manipulate, evolutia se realizeaza pe ramurile doi si trei ce determina initializarea parametrilor si r pe anumite valori. Īn celelalte cazuri, evolutia se realizeaza pe prima ramura.
Figura 11.18. b)
Figura 11.19
Tabelul 11.5 Fiecare secventa din grafcet este transpusa īn diagrama printr-un numar de instructiuni logice si aritmetice. Secventa Īn secventa Secventa Īntr-o maniera similara sunt implementate si celelate secvente. Trebuie remarcata realizarea functiei de contorizare a pieselor prin numarul CNTO (adresa 900), impulsul de numarare fiind obtinut din varibila 3 (griper deschis) la fiecare depunere a piesei īn punctul de prelucrare. Testarea continutului numaratorului este obtinuta prin instructiunile FUN100/4 si FUN100/8 ce identifica numarul 4 si respectiv 8 al pieselor depuse. Variabilele asociate 214, 215 permit implementarea ramificatiei de tip paralel din grafcet. Pe baza diagramei astfel stabilite se obtine programul de conducere. Un fragment din program este prezentat mai jos.
11.9. Implementarea algoritmilor de reglare Sistemele CLP echipate cu canale de intrare de tip analogic pot realiza operatii matematice asupra marimilor de intrare achizitionate si transfera rezultatul direct, prin modulele de iesire, īn sistemele de actionare ale articulatiilor mecanice ale robotilor. Nivelul si complexitatea algoritmului de control depinde de viteza si capacitatea de operare a controlerului. Īn mod uzual un CLP poate realiza algoritmi de reglare de timp proportional utilizabili īn sistemele de actionare hidraulice. Īn sistemele de actionare electrica un astfel de control este nesatisfacator, performantele realizate fiind departe de cerintele impuse. Īn capitolul 4 s-a pus īn evidenta faptul ca majoritatea aplicatiilor de conducere impune un control PID atāt asupra pozitiei cāt si al vitezei (eventual PI). Pentru implementarea unor astfel de algoritmi se utilizeaza doua proceduri. CLP-urile standard contin o subrutina rezidenta īn memorie ce se apeleaza la cerere si se actualizeaza conform parametrilor impusi. Termenii matematici necesari sunt aproximati cu o precizie rezonabila ceea ce impune un timp mare de procesare. Īn ansamblu metoda se poate aprecia ca o metoda nu prea rapida. O solutie mai aceptabila consta īn introducerea unor module inteligente PID ce contin atāt canalele de intrare - iesire necesare cāt si un microprocesor specializat pentru calculul matematic aferent. Acest procesor opereaza īn paralel cu unitatea centrala a CLP absolvind-o de toate calculele implicate de algoritm, acesta avānd rolul numai de actualizarea a parametrilor īn memoria ROM a modulului. Īn plus, modulul poate realiza procesari ale semnalului de intrare, filtrare, netezire, facāndu-1 compatibil cu calculele matematice ulterioare. Utilizarea algoritmilor PID printr-o diagrama ladder implica apelarea unui meniu care specifica: valoarea prescrisa, intrarea masurata, blocul PID apelat, valorile numerice ale coeficientilor PID precum si iesirea utilizata.
Figura 11.20 Aplicarea algoritmului PID cere definirea anterioara a marimilor
implicate īn constructia sa. Astfel, valorile numerice ale marimilor
de intrare si iesire se memoreaza īn registre de date pe 16
biti D000 - D100, respectiv D200 - D300. De asemenea coeficientii
sunt memorati īn trei registre succesive, pe diagrama indicāndu-se adresa primului registru (D300). Īn figura 11.20 este prezentat un exemplu de implementare PID. Īn registrul
D142 se īnscrie valoarea numerica prescrisa, registrul D086
memoreaza valoarea numerica a intrarii, identificatorul 012
determina blocul PID apelat, registrele D300,D301,D302 stocheaza
coeficientii Document InfoAccesari: 3111 Apreciat: Comenteaza documentul:Nu esti inregistratTrebuie sa fii utilizator inregistrat pentru a putea comenta Creaza cont nou A fost util?Daca documentul a fost util si crezi ca meritasa adaugi un link catre el la tine in site in pagina web a site-ului tau.
Copyright © Contact (SCRIGROUP Int. 2025 ) |