Aplicaia const n controlul unei macarale care trebuie s realizeze cele 2 cicluri de micare reprezentate n figura 5.1. Iniial macaraua se gsete n poziia de repaus 1. La apsarea butonului de pornire, macaraua pornete i se realizeaz ciclul 1, pn se ajunge n poziia de repaus 2, unde ramne pentru un anumit timp cunoscut (3 s), nainte de a porni ciclul 2; cnd ajunge n poziia de repaus 1, macaraua se va opri. Un nou ciclu va porni dup reapsarea butonului de pornire.
Fig. 5.1 Controlul unei macarale
Elemente de execuie: 2 motoare cu 2 sensuri de rotaie, unul pentru micarea orizontal i unul pentru cea vertical Elemente de msur: 4 limitatoare de curs 1 buton de pornire
2. Soluia de automatizare
Varianta 1: implementarea n mediul ISAGraf
Prima soluie pentru controlul acestei aplicaii o reprezint un automat programabil de tip PEP Smart pentru care s-a dezvoltat un proiect Isagraf ce cuprinde un program principal secvenial.
Dicionarul de variabile globale:
Variabile de intrare booleene: Variabile de ieire booleene: Pornire : buton de pornit ciclu M1S : acionare motor 1 stnga l1 : limitator jos M1D : acionare motor 1 dreapta l2 : limitator sus M2S : acionare motor 2 sus l3 : limitator stnga M2J : acionare motor 2 jos l4 : limitator dreapta Limitator 1 Limitator 2 Limitator 3 Limitator 4 Poziia de repaus 1 Poziia de repaus 2 Ciclul 1 Ciclul 2 Problema 1 1 47 Programul principal este prezentat n figura 5.2
Problema 1 2 48
Fig. 5.2 Programul principal Problema 1 3 49
Varianta 2: implementarea in limbajul Ladder Diagram
Pentru controlul acestei aplicaii s-a ales un automat programabil de tip Allen Bradley pentru care s-a dezvoltat o diagram Grafcet (fig 5.3) i un program de tip Ladder Diagram (fig. 5.4).
Fig.5.3 Diagrama Grafcet
Asocierea intrrilor i ieirilor fizice cu bii din regitrii de intrare / ieire este prezentat n tabelul 5.1:
Problema 1 7 53 Cs Cd MOTOR MOBIL URUB Problema 2: Comanda micrii oscilatorie a unui mobil
1. Descrierea procesului:
Un mobil alunec pe un urub micat de un motor acionat de 2 contactoare ( Cd dreapta i Cs stnga). Mobilul trebuie s realizeze o micare oscilatorie continu din momentul n care se primete comanda (impuls) de la butonul M. Un impuls de la butonul P trebuie s opreasc motorul, dar nu imediat, ci la finalul micrii ncepute. Un impuls de la butonul E produce o retragere imediat a mobilului n poziia de origine, iar sistemul se mai poate pune n micare doar apsnd butonul R.
Fig. 5.5 Micarea oscilatorie a unui mobil
Element de execuie: 1 motor cu 2 sensuri de rotaie Elemente de msur: 2 limitatoare de curs
2. Soluia de automatizare
Pentru controlul acestei aplicaii se alege un automat programabil de tip PEP Smart PLC pentru care se dezvolt un proiect Isagraf. Proiectul conine 2 programe, un program principal i un program copil, numit Osc. Programul Osc este pornit si oprit de catre programul principal i este responsabil cu realizarea micrii oscilatorii i sesizarea apsrii butoanelor, conform specificaiilor aplicaiei.
Problema 2 8 54 Dicionarul de variabile globale:
Variabile deintrare digitale: M : buton de pornire micare oscilatorie P : buton de oprire motor E : buton de retragere n poziia de origine RST : buton de repornire L0 : limitator stnga L1 : limitator dreapta
Variabile de ieire digitale: MS : comand motor stnga MD : comand motor dreapta
Variabile interne de tip Boolean: oprit : are valoarea TRUE cnd micarea oscilatorie este oprit v_redge : necesar funciei REDGE
Programul Main este prezentat n figura 5.6.
Problema 2 9 55
Problema 2 10 56
Fig.5.6 Programul Main
Programul fiu Osc este prezentat n figura 5.7.
202 301 Problema 2 11 57
Fig. 5.7 Programul copil Osc
201 201 Problema 2 12 58 Comentarii :
- Funia REDGE este folosit pentru detectarea impulsurilor produse prin apsarea butoanelor - Comunicaia ntre programe este realizat prin intermediul variabilei oprit - Programul principal oprete execuia programului copil Osc atunci cnd variabila oprit are valoare TRUE sau micarea este ntrerupt de apsarea butonului E
Propunere:
S se modifice programul n condiiile n care la apsarea butonului de oprire, ciclul s se ncheie totdeauna cnd mobilul ajunge prima dat in partea dreapt. Problema 2 13 59 Problema 3: Detecia i expulzarea automat a sticlelor fr dop
1. Descrierea procesului:
Una din fazele de producie ntr-o linie de mbuteliere const n aezarea unui dop, ca urmare a ncheierii secvenei de umplere. Sticlele se deplaseaz pe banda 1, separate de aceeai distan i cu vitez constant. Scopul aplicaiei este detectarea i extragerea sticlelor care ies din faza de nchidere fr dopul corespunztor; pe lng aceasta, dac ntr-o perioad determinat de timp (n acest caz 7 sticle), sunt rejectate mai mult de 3 sticle consecutive, trebuie activat o alarm. Repornirea ciclului se face prin apsarea butonului Pc. Pentru detecia sticlei defecte se conjug aciunile unui senzor inductiv, care detecteaz prezena dopului i un echipament foto electric care semnaleaz prezena unei sticle.
Fig. 5.8 Detecia i expulzarea sticlelor fr dop
Procesul este iniiat prin apsarea butonului M, care produce pornirea benzii transportoare 1. Atunci cnd se detecteaz o sticl fr dop, este oprit banda 1 i este pornit banda transportoare 2 (dac era oprit). n momentul n care sticla fr dop se gsete n zona de expulzare, este activat mecanismul de expulzare. Banda 1 va fi repornit n momentul n care sticla fr dop nu se mai gasete n zona de expulzare (practic semnalul transmis de detectorul fotoelectric are valoarea logic fals). Banda 2 va fi oprit dup 5 secunde de la nceperea expulzrii ultimei sticle.
Elemente de execuie: 2 motoare care acioneaz 2 benzi transportoare 1 dispozitiv de expulzare a sticlelor fr dop Elemente de msur: 1 detector inductiv pentru dopuri 1 detector fotoelectric pentru sticle Sistem de Expulzare Detector Fotoelectric Detector Inductiv Alarma Panou de control Motor Banda 1 Motor Banda 2 Banda Transportoare 1 Banda Transportoare 2 Problema 3 14 60 2. Soluia de automatizare:
Pentru controlul acestei aplicaii se alege un automat programabil de tip PEP Smart pentru care se dezvolt un proiect Isagraf, cu un singur program principal, dar cu 2 seciuni programate i anume seciunea secvenial i seciunea de sfrit, end sectionca n figura 5.9.
Fig. 5.9 Seciunile proiectului
Dicionarul de variabile globale:
Variabile de intrare booleene: M : buton de pornire R : buton de rearmare I : detector inductiv F : detector fotoelectric Pc : buton de punere la zero i oprire alarm
Variabile de ieire booleene: Banda_1 : comand pornire / oprire band 1 Banda_2 : comand pornire / oprire band 2 Alarma : comand alarm Expulzare : comand dispozitiv de evacuare a sticlelor fr dop
Variabile interne de tip Integer: Nr_sticle : contorizeaz numrul de sticle fr dop expulzate consecutiv
Variabile interne de tip timer: Timer : folosit la contorizarea celor 5 secunde de activare a conveiorului 2
Problema 3 15 61 Programul principal main este prezentat n figura 5.10
Fig. 5.10 Programul principal, seciunea secvenial 3 Problema 3 16 62 Programul timing din seciunea de end este prezentat n figura 5.11
Fig. 5.11 Programul principal, seciunea de end
Observaii:
seciunea de end este necesar pentru ca banda 2 s poate fi oprit n orice moment dac perioada ei de activare a expirat deoarece seciunea de end se execut la fiecare ciclu automat, testarea timer_ului se va face la fiecare ciclu automat. contorizarea timpului este facut cu ajutorul funciilor TSTART i TSTOP dac o sticl trebuie s fie expulzat n timp ce o alt sticl se gsete pe conveiorul 2, timer_ul este resetat i este reactivat incrementarea timer_ului
Propuneri: S se construiasc o diagram Ladder pentru un automat de tip Allen Bradley, care s controleze acest proces Problema 3 17 63 Problema 4:Staie automat de splat autovehicule
1. Descrierea procesului:
Scopul proiectrii acestui sistem de control l reprezint automatizarea unei staii de splat autovehicule. Vehiculele vor trebui s treac succesiv prin 4 posturi de lucru, nmuiere, splare cu detergent, cltire i uscare. Procesul este iniiat de apsarea unui buton de pornire, care determin activarea benzii transportoare iar vehiculele vor trece succesiv prin cele 4 posturi. Bariera, n condiii normale, trebuie s stea ridicat i semaforul dezactivat. Cnd n staie sunt detectate 4 vehicule, cte unul n fiecare post, bariera trebuie cobort i semaforul activat, indicnd faptul c nu se mai poate trece. Att bariera ct i semaforul rmn n aceast stare pn cnd cele 4 vehicule au prsit staia, moment n care bariera trebuie ridicat i semaforul dezactivat.
Fi. 11
Fig. 5.12 Staie automat de splat autovehicule
n momentul n care se activeaz celula fotoelectric 1, se va activa postul 1. Cnd se activeaz fotocelula 2 iar fotocelula 1 nu mai este activat, se dezactiveaz postul 1. n momentul activrii fotocelulei 2 se activeaz postul 2. Acesta va fi dezactivat cnd fotocelula 2 nu este activ dar fotocelula 3 este activ. Analog pentru postul 3. Postul 4 se dezactiveaz cnd fotocelula 4 se dezactiveaz iar fotocelula 5 se activeaz..
Elemente de execuie: motorul benzii transportoare motorul barierei cu 2 sensuri de rotaie 1 semafor 4 posturi de lucru Post de Uscare Post de Clatire Post de Spalare cu Detergent Post de Inmuiere Semafor Bariera F1 Senzor de Inmuiere
F2 Senzor de Detergent
F3 Senzor de Clatire
F4 Senzor de Uscare
F5 Banda Transportoare Problema 4 18 64 Elemente de msur: 5 celule fotoelectrice 2 limitatoare de curs ale barierei
2. Soluia de automatizare
Pentru controlul acestei aplicaii se alege un automat programabil de tip PEP Smart pentru care se dezvolt un proiect Isagraf, proiect ce consta din 6 programe SFC ce ruleaz n paralel. Structura proiectului Isagraf este prezentat n figura 5.13.
Fig. 5.13 Programele componente ale proiectului Isagraf
Dicionarul de variabile globale:
Variabile de intrare booleene: start : contact de pornire Limita_SUS : limitator de curs sus pentru barier Limita_JOS : limitator de curs jos pentru barier Foto_1 : fotocelula postului 1 Foto_2 : fotocelula postului 2 Foto_3 : fotocelula postului 3 Foto_4 : fotocelula postului 4 Foto_5 : fotocelula postului 5
Variabile de ieire booleene: Banda : comand pornire / oprire band Bariera_sus : comand ridicare barier Bariera_jos : comand coborre barier Semafor : comand activare / dezactivare semafor Inmuiere : comand activare dezactivare post nmuiere Detergent : comand activare dezactivare post detergent Clatire : comand activare dezactivare post cltire Uscare : comand activare dezactivare post uscare
Problema 4 19 65 Programul bariera este prezentat n figura 5.14
Fig. 5.14 Programul Bariera Fig.5.15 Programul Start Problema 4 20 66 Programul Post1 este prezentat n figura 5.16.
Fig.5.16 Programul Post1
Problema 4 21 67 Programul Post2 este prezentat n figura 5.17.
Fig.5.17 Programul Post2
Problema 4 22 68 Programul Post3 este prezentat n figura 5.18.
Fig.5.18 Programul Post3 Problema 4 23 69 Programul Post4 este prezentat n figura 5.19
Fig.5.19 Programul Post4
Comentarii: Toate programele dezvoltate sunt independente i ruleaz n paralel, fapt ce uureaz foarte mult nelegerea programului
Propunere: S se modifice programul n cazul n care bariera se va ridica atunci cnd se elibereaz primul post de lucru S se modifice proiectul astfel nct s se dezvolte un singur program care s automatizeze acest proces Problema 4 24 70 Problema 5: Elevator clasificator de pachete
1. Descrierea procesului:
Pe o band transportoare vin 2 tipuri de pachete (mic i mare). Tipul pachetului este determinat de un cntar, ulterior pachetele fiind transportate n direcii diferite n funcie de tipul pachetului. Procesul pornete cu transportul unui pachet ctre cntar; aici pachetul este cntrit fiind astfel identificat n funcie de greutatea citit. n continuare pachetul este transportat pe banda 1 pn la planul elevator. Cilindrul C ridic pachetele. Apoi pachetele sunt transportate diferit; pachetele mici sunt plasate pe banda 2 de cilindrul A, iar pachetele mari sunt aezate pe banda 3 de cilindrul B. Cilindrul elevator C se retrage doar cnd cilindrii A i B au atins poziia final.
Fig. 5.20 Elevator clasificator pentru pachete
Elemente de execuie: 3 cilindri cu dublu efect (A, B, C) o bascul nsrcinat cu clasificarea pachetelor 4 benzi transportoare Elemente de msur: 6 limitatoare de curs 2 detectoare de poziie
2. Soluia de automatizare
Pentru controlul acestei aplicaii s-a ales un automat programabil de tip PEP Smart pentru care s-a dezvoltat un proiect Isagraf ce cuprinde 5 programe secveniale ce ruleaz n paralel i un program n seciunea de Begin, program ce se execut la nceputul fiecrui ciclu automat. Structura proiectului Isagraf este prezentat n figura 5.21
Fig. 5.21 Structura proiectului Isagraf
B0 A0 C0 C1 A1 B1 Banda 0 Banda 1 Banda 2 Banda 3 Cilindru A Cilindru B Cilindru C Cntar F0 F1 Problema 5 25 71 Dicionarul de variabile globale:
Variabile de intrare booleene: foto_0: fotocelula 0 foto_1 : fotocelula 1 A0 : Limit retragere cilindru A A1 : Limit avans cilindru A B0 : Limit retragere cilindru B B1 : Limit avans cilindru B C0 : Limit coborre cilindru C C1 : Limit ridicare cilindru C
Variabile de ieire booleene: Banda_0 : activare / dezactivare banda 0 Banda_1 : activare / dezactivare banda 1 Banda_2 : activare / dezactivare banda 2 Banda_3 : activare / dezactivare banda 3 A_avansat : avans cilindru A A_retras : retragere cilindru A B_avansat : avans cilindru B B_retras : retragere cilindru B C_ridicare : ridicare cilindru C A_retragere : retragere cilindru A
Variabile interne booleene:
eroare : cod de eroare la cntrirea pachetelor
Variabile globale analogice
cantar : variabil intern, reprezint valoarea real a greutii de pe cntar (integer) traductor_cantar : variabli de intrare, valoarea primit de la traductorul cntarului (integer, ntre 0 4096) pachet_actual : variabil intern, n care se memoreaz tipul pachetului actual ce urmeaz a fi transportat pachet_viitor : variabil intern, in care se memoreaz tipul pachetului de pe cntar (urmtorul ce va fi transportat) lim_inf : constant, greutatea minim a pachetului mic lim_sup_mic : greutatea maxim a pachetului mic mic : constant cu valoarea 1 mare : constant cu valoarea 2
Problema 5 26 72 Programul Banda_0 este prezentat n figura 5.22.
Fig.5.22 Programul Banda_0
Problema 5 27 73 Programul Banda_1 este prezentat n figura 5.23.
Fig.5.23 Programul Banda_1
Problema 5 28 74 Programul Cilin_A este prezentat n figura 5.24.
Fig.5.24 Programul Cilin_A
Problema 5 29 75 Programul Cilin_B este prezentat n figura 5.25
Fig.5.25 Programul Cilin_B
Problema 5 30 76 Programul Cilin_C este prezentat n figura 5.26
Fig.5.26 Programul Cilin_C Problema 5 31 77 Programul convers din seciunea Begin
Programul convers realizeaz conversia din uniti CAN (Convertor Analog Numeric) n valori exprimate n uniti de msur inginereti. Intrarea analogic a modulului de intrare lucreaz pe 12 bii i msoar un curent de 0 - 20 mA , dar traductorul de la cntar genereaz un curent de 4 - 20mA. n aceast situaie trebuie fcut o translaie de scal. Se observ c la valoarea minim a domeniului de msur traductorul genereaz 4 mA, corespunztoare valorii 819 citit de automat, valoare pentru care automatul trebuie s indice valoarea minim a mrimii msurate. Astfel formula de conversie este:
Val_ing = (Val_cit-819) *(Ds-Di)/(4095-819)
Unde : Val_ing valoarea n uniti inginereti Val_cit valoarea citit n uniti CAN Di domeniul inferior de msur Ds domeniul superior de msur
n cazul nostru Ds=100, Di=0, astfel nct instruciunea ce se execut n programul convers este
Propunere: S se modifice programul de conversie n cazul n care traductorul de temperatur are ca domeniu -15 +150 grade i genereaz un curent n gama 2-10 mA
Problema 5 32 78 Problema 6: Controlul temperaturii unui lichid
1. Descrierea procesului:
Problema const n meninerea temperaturii unui lichid ntre 2 valori determinate (60 i 65 grade), n timp ce nivelul n cele 2 rezervoare pstreaz o capacitate determinat. Dac temperatura se gasete ntre limitele fixate, valva 1 se va deschide iar valva 2 se va deschide pn cnd rezervorul 2 ajunge la capacitatea fixat; n acel moment, valva 2 se va nchide i va rmne aa pn cnd lichidul din rezervorul 2 se va gsi sub limita fixat. Cnd temperatura atinge marginile de temperatur fixat, valvele de intrare i de ieire se vor nchide ( indiferent dac rezervorul 2 i-a recuperat nivelul ) i vor rmne nchise pn cnd temperatura va fi reglat. Totdeauna va fi prioritar variaia temperaturii fa de variaia nivelului de lichid.
Fig. 5.27 Controlul temperaturii unui lichid
Elemente de execuie: 1 pomp cu motorul su 1 motor al echipamentului de pompat aerul 2 electrovalve 1 rezisten Elemente de msur: 2 senzori de nivel 1 traductor de temperatur
2. Soluia de automatizare
Pentru controlul acestei aplicaii s-a ales un automat programabil de tip PEP Smart pentru care s-a dezvoltat un proiect Isagraf ce cuprinde un program principal ,Main i programul seciunii de Begin, numit Convers.
Dicionarul de variabile globale:
Variabile de intrare booleene: senzor_plin : are valoarea TRUE cnd depozitul 2 este plin senzor_gol : are valoarea TRUE cnd depozitul 2 este gol
Valva E1 Valva E2 Motor Senzor de Temperatura Calorifer Depozit 1 Depozit 2 Dispozitiv de rcire Problema 6 33 79 Variabile de ieire booleene: valva_1 : comanda electrovalvei 1, atunci cnd are valoarea TRUE electrovalva 1 se mchide valva_2 : comanda electrovalvei 2, atunci cnd are valoarea TRUE electrovalva 2 se mchide rezistenta : comanda cuplarea / decuplarea rezistentei racire : comand dispozitivul de pompat aer pompa : comand motorul pompei
Variabile analogice : temp : variabil intern de tip Real, reprezint temperatura apei n grade Celsius temp_citita : variabil de intrare de tip Real ce reprezint valoarea analogic ( ntre 0 i 4095) primit de la traductorul de temperatur
Programul Convers al seciunii de Begin:
Programul convers realizeaz conversia din uniti CAN (Convertor Analog Numeric) n valori exprimate n uniti de msur inginereti. Intrarea analogic a modulului de intrare lucreaz pe 12 bii i msoar un curent de 0 - 20 mA , dar traductorul de la cntar genereaz un curent de 4 - 20mA. n aceast situaie trebuie fcut o translaie de scal. Se observ c la valoarea minim a domeniului de msur traductorul genereaz 4 mA, corespunztoare valorii 819 citit de automat, valoare pentru care automatul trebuie s indice valoarea minim a mrimii msurate. Astfel formula de conversie este:
Val_ing = (Val_cit-819) *(Ds-Di)/(4095-819)
Unde : Val_ing valoarea n uniti inginereti Val_cit valoarea citit n uniti CAN Di domeniul inferior de msur Ds domeniul superior de msur
n cazul nostru Ds=100, Di=0, astfel nct instruciunea ce se execut n programul convers este
Problema 6 34 80 Programul Main este prezentat n figura 5.28
401 301 Problema 6 35 81
Fig.5.28 Programul Main
Comentarii: Programul folosete variabile analogice deoarece evenimentele ce produc modifcri n sistem depind de o mrime cu variaie continu (temperatura) Problema 6 36 82 Problema 7 : Dozare i malaxare automat
1. Descrierea procesului:
Un malaxor pivotant primete produsele A i B cntrite de bascula C i brichete solubile aduse una cte una pe o band transportoare. Automatizarea permite realizarea unei amestecri a celor 3 produse. Ciclul de realizat este urmtorul: la acionarea butonului de alimentare se pornete cntrirea i alimentarea produselor n urmtorul mod: cntrirea produsului A prin deschidera valvei Va, pn la referina A cntrirea produsului B prin deschiderea valvei Vb, pn la referina B apoi, golirea basculei n malaxor prin deschiderea valvei Vc pn la referina zero simultan cu precedentele operaii are loc malaxorului alimentarea cu 2 brichete solubile Ciclul se termin cu rotaia malaxorului un anumit timp t i apoi pivotarea lui, meninndu-se rotaia n timpul golirii.
Figura:
Elemente de execuie: 3 electrovalve motorul benzii transportoare motorul de rotaie al malaxorului 2 motoare de pivotare ale malaxorului
Elemente de msur: 3 senzori de greutate un senzor de detecie 2 limitatoare de curs
Fig. 5.29 Proces de dozare i malaxare
Elemente de execuie: 3 electrovalve (Va, Vb, Vc) Motorul benzii transportoare cu un singur sens de rotaie Motorul de rotaie al malaxorului Motorul de pivotare al malaxorului, cu dou sensuri de rotaie Elemente de msur: 3 senzori de greutate, pentru referinele A, B i zero Brichete Solubile Banda de Alimentare Motor Va Vb A B Cantar Malaxor Pivotant Limitator Dreapta P1 Limitator Stanga P2 Md Ms Vc d Detector de trecere Problema 7 37 83 2 limitatoare de curs 1 detector de trecere
2. Soluii de automatizare
2.1 Varianta 1 : implementarea n mediul Isagraf
Aceast variant presupune utilizarea unui automat programabil de tip PEP Smart, pentru care s-a dezvoltat un proiect Isagraf ce cuprinde 1 program principal.
Dicionarul de variabile globale:
Variabile de intrare booleene: Start : buton de pornire d : detector de trecere brichete solubile A : detectorul greutii produsului A B : detectorul greutii produselor A + B Lim_stanga : limitator stnga malaxor Lim_dreapta : limitator dreapta malaxor
Variabile de ieire booleene: Valva_ A : comand deschiderea / nchiderea valvei A Valva_ B : comand inchiderea / nchiderea valvei B Valva_ C : comand deschiderea / nchiderea valvei C Mt : comand motorul benzii transportoare Rotire : comand rotaia malaxorului Piv_dreapta : comand pivotarea ctre dreapta a malaxorului Piv_stanga : comand pivotarea ctre stnga a malaxorului
Variabile globale de tip timer: timer : temporizare folosit la rotaia malaxorului
Problema 7 38 84 Programul principal Main este prezentat n figura 5.30:
5 Problema 7 39 85
Fig. 5.30 Programul principal
Problema 7 40 86 2.2 Varianta 2 : implementarea n limbajul Ladder Diagram
Aceast variant presupune folosirea unui automat programabil Allen Bradley, tip SLC500, pentru care se dezvolt o diagram de tip Grafcet i o diagram de tip Ladder.
Diagrama Grafcet este prezentata in figura 5.31:
Fig. 5.31 Diagrama Grafcet
Problema 7 41 87 Asocierea intrrilor i ieirilor fizice cu bii din regitrii de intrare / ieire este prezentat n tabelul 5.3:
Tabelul 5.3 Intrare fizic Adres intern Ieire fizic Adres intern START I:1/1 Valva_A O:3/1 A I:1/2 Valva_B O:3/2 B I:1/3 Valva_C O:3/3 Z I:1/4 Mt O:3/4 lim_dreapta I:1/5 Rotire O:3/5 d I:1/6 Piv_dreapta O:3/6 lim_stanga I:1/7 Piv_stanga O:3/7
Asocierea etapelor cu bii din fiierul de bit B3 i alegerea fiierului de timer este prezentat n tabelul 5.4:
Comentarii: n diagrama SFC se pot observa cele 2 secvene paralele, aducerea lichidelor i aducerea brichetelor n malaxor. Ieirea din paralelism se face atunci cnd ambele secvene s-au ncheiat Temporizarea a fost realizat cu instruciunile TSTART i TSTOP
Propunere: S se modifice diagrama Ladder folosind pentru activarea ieirilor instruciunea OTE (acolo unde este posibil) Problema 7 45 91 Problema 8: Umplerea i astuparea automat a sticlelor
1. Descrierea procesului:
Scopul acestei aplicaii l constituie controlul unui sistem de umplere i astupare a unor sticle. La conectarea sistemului, se pornete motorul benzii transportoare. Acesta se va opri cnd exist sticle n situaia de a fi umplute i n situaia de a fi astupate. Se cere ca simultan cu umplerea unei sticle alta deja umplut s fie astupat, aciune posibil datorit configuraiei sistemului. Cilindrul A este responsabil cu umplerea sticlelor, deplasndu-se ntre limitatoarele F1 i F2. Cilindrul C aduce dopurile din stiva de dopuri, pentru a fi mpinse de ctre cilindrul B pentru astuparea unei sticle. Astuparea sticlei se faca de ctre un dispozitiv de rotire, a crui micare este limitat de un limitator. Sticlele de umplut i cele de astupat sunt detectate de cte dou fotocelule.
Fig. 5.32 Umplerea i astuparea automat a sticlelor
Elemente de execuie: 1 cilindru (A) ce regleaz dozatorul volumetric 1 cilindru de avans (B) cu 3 poziii 1 cilindru (C) ce reprezint mecanismul de transfer al capacelor motorul bezii transportoare un mecanism de nurubare dopuri Elemente de msur: 6 limitatoare de curs 1 detector de poziie 1 fotocelul pentru detecie sticl de umplut 1 fotocelul pentru detecie sticl plin
Detector poziie sticl Detector umplere sticl Depozit lichid Cilindru A Cilindru B Cilindru C Valve antiretur Stiva de dopuri Vc F5 F3 F4 F1 F2 F6 F7 Problema 8 46 92 2. Soluia de automatizare
Pentru controlul acestei aplicaii s-a ales un automat programabil de tip PEP Smart pentru care s-a dezvoltat un proiect Isagraf ce cuprinde un program principal, numit main.
Dicionarul de variabile globale:
Variabile de intrare booleene: F1 : Limitator sus cilindru A F2 : Limitator jos cilindru A F3 : Limitator sus cilindru B F4 : Limitator jos cilindru B F5 : Limitator stanga cilindru C F6 : Limitator dreapta cilindru C F7 : Detector pozitie de preluat dop senzor_rotire : Limitator rotire dispozitiv de nurubare st_de_umplut : Senzor detecie sticl de umplut st_plina : Senzor detecie sticl plin
Variabile de ieire booleene: Banda : comand pornire / oprire band A_avans : comand avans cilindru A A_retragere : comand retragere cilindru A B_avans : comand avans cilindru B B_retragere : comand retragere cilindru B C_avans : comand avans cilindru C C_retragere : comand retragere cilindru C Insurubare : comanda de nurubare a dopului
Programul principal este prezentat n figura 5.33 Problema 8 47 93
Problema 8 48 94
Problema 8 49 95
Fig. 5.33 Programul principal
Comentarii: n program au fost folosite 2 paralelisme, fiecare avnd cte 2 secvene ce se execut simultan A doua secven paralel implementeaz condiia ca o dat cu umplerea unei sticle, alta s fie astupat
Propunere: S se modifce programul n situaia n care sticlele vin aleator pe banda transportoare Problema 8 50 96 Problema 9: Umplerea automat a unor containere
1. Descrierea procesului:
Aplicaia const n umplerea cu lichid a 3 containere (A, B, C) i evacuarea lor pe o band transportoare. Umplerea containerelor trebuie fcut n urmtoarea manier: - containerul A : 5 secunde cu lichid de tip A - containerul B : 7 secunde cu lichid de tip A i 7 secunde cu lichid de tip B - containerul C : 3 secunde cu lichid de tip C, 5 secunde cu lichid de tip B i 8 secunde cu lichid de tip A
Fig. 5.34 Umplerea automat a unor containere
n cadrul sistemului exist o band transportoare pe care vin, unul dup altul, cele trei containere A, B, C. Primul dintre ele care ajunge la platform este containerul C, apoi B i ultimul cel de tip A. Cilindrul E este responsabil cu evacuarea recipienilor cu ajutorul celei de-a doua benzi transportoare. Iniierea procesului se face prin pornirea benzii transportoare 1 pe care sunt aduse containerele. n momentul n care un container de tip C se gsete pe platform, banda 1 va fi oprit iar cilindrul D va avansa o poziie. Cnd containerul C activeaz detectorul 2, banda 1 va fi din nou activat iar cilindrul D va fi oprit; banda 1 se va opri din nou cnd containerul B ajunge la platform i n consecin cilindrul D va avansa din nou pn cnd containerul C activeaz detectorul 3 iar containerul B activeaz detectorul 2. n acest moment banda 1 este repornit pn cnd containerul A atinge platforma, moment n care banda este oprit. n acel moment cele trei valve vor fi deschise simultan, fiecare fiind meninut deschis un anumit timp, astfel nct contaienrul A se va umple cu lichid A timp de 5 secunde, containerul B cu lichid de tip B timp de 7 secunde iar containerul C timp de 3 secunde cu lichid de tip C. Cnd toate aceste temporizri au expirat, valvele vor fi nchise, cilindrul E va avansa pentru a evacua containerul A pn activeaz detectorul 4. n acest moment cilindrul E se retrage. Dup ce a ajuns n poziia de retragere, cilindrul D va fi retras pn activeaz detectoarele 1 i 2. Apoi containerele B i C vor fi umplute cu lichid de tip A, respectiv B, dup care urmeaz evacuarea containerului B. n final containerul C va fi umplut cu lichid de tip A i va fi evacuat. Dup evacuare cilindrul D va fi retras i un nou ciclu poate ncepe.
Lichid A Lichid B Lichid C Electrovalve C B A Containere C B A Cilindrul E Cilindrul D M1 Motor Banda 1 M2 Motor Banda 2 Banda 1 Banda 2 Detectoare 1,2,3 4 Problema 9 51 97 Elemente de execuie: 3 electrovalve 2 cilindri cu dublu efect 2 motoare ale benzilor transportoare Elemente de msur: 4 detectoare de poziie
2. Soluia de automatizare
Pentru controlul acestei aplicaii s-a ales un automat programabil de tip PEP Smart pentru care s-a dezvoltat un proiect Isagraf ce cuprinde un program principal.
Dicionarul de variabile globale:
Variabile de intrare booleene: Poz_A: detectorul de poziie A Poz_B: detectorul de poziie B Poz_C: detectorul de poziie C Lim_4: limitatorul de avans al cilindrului E
Variabile de ieire booleene: Banda_1 : activare / dezactivare banda 1 Banda_2 : activare / dezactivare banda 2 D_avans : avans cilindru D D_retragere : retragere cilindru D E_avans : avans cilindru E E_retragere : retragere cilindru E Valva_A : comanda de deschidere-nchidere valva A Valva_B : comanda de deschidere-nchidere valva A Valva_C : comanda de deschidere-nchidere valva A
Constante interne de tip INTEGER:
TA_container_1 : perioada de timp pentru umplerea containerului 1 cu lichid de tip A TB_container_2 : perioada de timp pentru umplerea containerului 2 cu lichid de tip B TC_container_3 : perioada de timp pentru umplerea containerului 3 cu lichid de tip C TA_container_2 : perioada de timp pentru umplerea containerului 2 cu lichid de tip A TB_container_3 : perioada de timp pentru umplerea containerului 3 cu lichid de tip B TA_container_3 : perioada de timp pentru umplerea containerului 3 cu lichid de tip A Problema 9 52 98 Programul principal este prezentat n figura
Problema 9 53 99
Problema 9 54 100
Problema 9 55 101
Fig. 5.35 Programul principal
Comentarii: n cadrul secvenelor de deschidere a valvelor, temporizrile au fost implementate prin testarea permanent a parametrului GSxxx.t asociat unei etape. Acest parametru indic timpul de cnd o etap este activ. O alt variant era folosirea unor variabile de tip Timer. Umplerea containerelor este facut n paralel cu ajutorul elementului de paralelism al diagramelor SFC
Problema 9 56
102
Problema10: Proiectarea unui regulator PID pentru reglarea unei temperaturi
1. Descrierea procesului:
Problema const n meninerea unei anumite temperaturi ntr-o instalaie de granulare prin reglarea debitului de abur, dar, ca orice regulator, se poate acorda pentru o mare varietate de procese. Regulatorul PID trebuie s funcioneze n dou regimuri de lucru, automat i manual, cu posibilitatea de a fi conectat n diferite scheme de reglare.
Temperatura este msurat cu un traductor de temperatur avnd semnal de ieire 4-20mA, msura se filtreaz iar valoarea real se transmite regulatorului n procente. Referina se citete de la un panou operator care comunic cu automatul prin interfaa serial 232.
Regulatorul face parte dintr-o schem n care se intenioneaz meninerea constant a temperaturii unui agent termic (n cazul acesta abur de joas presiune 4-6 bar) prin comanda debitului de intrare al gazului metan.
Bucla de reglare n aceast situaie este compus din: termocuplu (pentru msurarea temperaturii) care genereaz milivoli dup o curb care nu este liniar (ca alternativ la aceast soluie se poate utiliza orice alt traductor al crui semnal este n curent unificat). Soluia cu automate programabile este destul de flexibil i din faptul ca ele au module de intrare pentru toate tipurile de termocuple, eliminnd astfel din bucl convertorul milivoli - curent unificat, dar alegerea ntre cele dou metode se face strict economic. convertor 4-20 mA (pentru conversia n miliamperi a semnalului de la termocuplu (mV) i liniarizarea curbei valorilor) automat programabil SmartPLC cu module de intrri analogice, respectiv n termocuple i modul de ieiri analogice care la rndul lor sunt nite convertoare analog-numerice i invers (pentru realizarea algoritmului de reglare) Electroventil comandat n curent de 4-20mA, reprezentnd elementul de execuie (se mai poate folosi i un ventil pneumatic mpreun cu un convertor electropneumatic dac este necesar)
n fig. 4.12 este prezentat schematic bucla de reglare pentru varianta cu convertor, cealalt fiind mai simpl (ieirea termocuplului intrnd direct n automat):
PLC Ventil regulator convertor termocuplu cazan Camera de ardere Reglare_temp 57
103
Regulatorul se acordeaz prin: banda de proporionalitate [n procente] timp de integrare [n secunde] timp de derivare [n secunde] Valorile de acordare se citesc i ele de la interfaa operator odat cu referina.
n regim manual regulatorul transmite valoarea absolut a poziiei elementului de execuie (comanda direct), venit tot de la consola operator, de unde se citete i regimul de lucru.
Trecerea din regim manual n regim automat i invers trebuie s se fac fr variaii brute de comand, pentru a se evita intrarea sistemului n regimuri de lucru improprii. La comutarea regimurilor de lucru, pe ct posibil comanda va trebui s rmn aceeai.
Elementul de execuie primete la intrare valoarea absolut a poziiei. Meninerea acestei valori este o problem a elementului de execuie. Dac e necesar se poate insera un regulator de poziie ntre regulatorul de temperatur i elementul de execuie.
2. Soluia de automatizare
Pentru implementarea acestei aplicaii s-a ales un automat programabil de tip PEP Smart pentru care s- a dezvoltat un proiect Isagraf, a crui structur ierarhic poate fi vizualizat n figura 5.37 i ale crui seciuni standard sunt descrise n continuare.
Fig. 5.37 Structura proiectului Isagraf pentru implementarea regulatorului
Iniializrile de constante, msurile, filtrrile, adaptrile, evaluarea existenei condiiilor de funcionare, interfaa cu utilizatorul, sunt realizate n afara regulatorului de ctre alte taskuri care se ocup doar de aceste lucruri. Comanda se adapteaz i se transmite n afara regulatorului.
Numele de variabile s-au ales pentru varianta cu identificatori proprii. Pentru o versiune generic, impersonal, se lucreaz cu array-uri (vectori de variabile), iar accesul se face prin indexul la variabila respectiv.
n cadrul seciunii BEGIN, care se execut la nceputul fiecrui ciclu de automat, au loc urmtoarele aciuni: Msuri, filtrri, testare de ncadrare n limite, evaluare alarme, avarii, contorizri Adaptri, pregatire variabile de lucru Citirea variabilelor de control de la interfaa operator
Reglare_temp 58
104
n cadrul seciunii SEQUENTIAL, adic acolo unde este implementat logica de funcionare a programului, au loc, n principal, urmtoarele aciuni: secvena de iniializare, n care sunt iniializate anumite constante i este pornit timer-ul pentru perioada de eantionare. algoritmul de reglare, a crui descriere detaliat este prezentat n subcapitolul urmtor
Nu ntmpltor seciunea secvenial are o singur stare pentru fiecare regim de lucru. Aceast necesitate a aprut datorit faptului c automatul (care poate lucra multitasking) nu trece la o alt activitate dect dup terminarea unui ciclu main. ntr-un ciclu main se execut seciunea de BEGIN, cea de END i un anumit numr de stri din seciunea SEQUENTIAL, ct permite durata unui ciclu main. Dac pentru execuia aciunilor asociate unei stri, procesorului i-ar lua un timp mai ndelungat dect perioada unui ciclu predefinit, ciclul va fi prelungit pn cnd toate aciunile asociate strii sunt executate.
Cu aceast metod ciclul de reglare devine constant i ct mai mic posibil. Durata ciclului poate fi fixat i altfel (software), dar oricum, perioada va avea o valoare mai mare, pierzndu-se astfel din timpul de rspuns al regulatorului. Mai mult, n cazul n care ar exista mai multe etape, apare posibilitatea ca comanda ce se d elementului de execuie s nu fie consecina ultimei citiri, ceea ce face s se piard chiar noiunea de cauzalitate.
Seciunea END, care se execut la sfritul fiecrui ciclu automat, dup seciunea secvenial, realizeaz n principal urmtoarele aciuni: Adaptri de valori Actualizare ieiri: concret, n cazul algoritnului de reglare ce respect condiiile de mai sus, ieirea este comanda ctre elementul de execuie calculat conform algoritmului la ultimul ciclu main i ca urmare a ultimei valori a intrrii. Transmiterea ctre interfaa utilizator a valorilor calculate, pentru vizualizare
Diagrama logic de funcionare a regulatorului (Sequential Function Chart), n care pot fi identificate etapele n care se poate gsi automatul i tranziiile pe care le poate efectua, sunt ilustrate n figura 5.38.
Fig. 5.38 Diagrama logic de funcionare a regulatorului
Reglare_temp 59
105
Se observ c diagrama conine 3 etape i pot fi efectuate 4 tranziii ntre aceste etape.
Etape: Etapa 1: iniializare regulator Etapa 2: se execut un pas de reglare n regim automat Etapa 3: se execut un pas de reglare n regim manual
Tranziii: Tranziia 1- S1 -> S2: se execut dac sunt condiii de trecere n starea de calcul PID (regimul automat) Tranziia 2 - S1 -> S3: se execut dac sunt condiii de trecere n starea de comand manual (regimul manual) Tranziia 3 - S2 -> S1: salt necondiionat n etapa iniial Tranziia 4- S3 -> S1: salt necondiionat n etapa iniial
Variabilele declarate n cadrul proiectului sunt prezentate n tabelul 5.5:
Tabel 5.5 Variabilele folosite n cadrul proiectului Variabil Tip Descriere Run Logic Exist condiii generale de funcionare pentru regulatorul PID, evaluate n exterior 1 OK, adica sunt msuri bune, elemente de executie funcioneaz, resurse energetice ok, etc 0 not OK, nu se face reglare cu regulatorul PID ModRT Logic Regimul de lucru al regulatorului, evaluat n exterior 1 regim AUTOMAT (PID) 0 regim MANUAL (comand direct) timer_p1 Timer Timer de ciclu de eantionare cycle1 Timer Perioada de eantionare, constant [ms] banda1 Real Banda de proporionalitate, inversul amplificrii, n %, Td1 Real Constant de timp pentru efectul de derivare, valoare de acord Tint1 Real Constant de timp pentru efectul de integrare, valoare de acord kp1 Real Amplificarea, valoare calculat, dac banda este valoarea de acord deriv1 Real Componenta derivativ, variabil de calcul w real Calcul parial pentru incrementul de comand, variabil de lucru T_pv real Valoarea curent a temperaturii reglate, n % T_pv1 real Valoarea curent, la pasul anterior, a temperaturii reglate, n % T_pv2 real Valoarea curent, la pasul anteanterior, a temperaturii reglate, n % T_sp real Valoarea impus pentru temperatur, n % err1 real Eroarea (t_sp-t_pv) la pasul anterior Comanda ventil real Comanda curent, poziia absolut a elementului de executie, n % xo1 real Comand manual, poziia absolut a elementului de execuie, n %
n etapa 1 (Init) se actualizeaz (dac e nevoie) valorile variabilelor de lucru (dac regulatorul funcioneaz n alte regimuri de lucru, spre exemplu n cascad, sau n regim de selecie).
Aciunile asociate etapei 2 (Regim automat) sunt descrise n tabelul 5.6:
Reglare_temp 60
106
Tabel 5.6 Aciuni asociate etapei 2 iniializeaz ciclul timer_p1:=t#0s; calcul amplificare kp1:=100.0/banda1; calcul component derivativ deriv1:=Td1*1000.0*(T_pv-2.0*T_pv1+T_pv2)/real(cycle1); salvare valori pv anterioare T_pv2:=T_pv1; T_pv1:=T_pv; calcul noua comand (pt timpi, se lucreaza n [ms]=[s]*1000) w:=(T_sp-T_pv)+(T_sp-T_pv)*real(cycle1)/(Tint1*1000.0)-err1- deriv1; Comanda ventil:=Comanda ventil+Kp1*w; limitri la 0% i 100% if(Comanda ventil>100.0) then Comanda ventil:=100.0; end_if; if(Comanda ventil< 0.0) then Comanda ventil:= 0.0; end_if; salvare eroare err1:=T_sp-T_pv; pregatire trecere n regim manual xo1:=Comanda ventil;
n etapa 3 (Regim manual) este iniializat ciclul i pregatete trecerea n regim automat:
Tranziia 1 (intrare n regulator automat s1 -> s2) are loc dac s-a epuizat timpul pentru perioada de eantionare i sunt condiii de reglare n regim automat:
timer_p1>cycle1 i Run i ModRT
Tranziia 2 (intrare n regulator manual s1 -> s3) are loc dac s-a epuizat timpul pentru perioada de eantionare i sunt condiii de reglare n regim manual:
timer_p1>cycle1 i Run i notModRT
E important s se efectueze toate calculele necesare ntr-o singura stare (un sigur ciclu IsaGRAF) i, pentru uniformitate, e de dorit ca pe oricare ramur (automat sau manual), durata unui ciclu de reglare sa fie aceeai, ct mai scurt, adic doua cicluri IsaGRAF (init+automat sau init +manual), pentru ca modul de funcionare a ISaGRAF-ului (la un ciclu main execut seciunea de BEGIN , din seciunea SEQUENTIAL cte stri i permite ciclul maina i apoi seciunea END) s nu influeneze (mreasc) perioada de eantionare.
Un ciclu de eantionare, pentru valorile cu care se lucreaz la reglare, se calculeaz innd cont c un ciclu activ nseamn stare calcul - comanda + stare init (2 isa) iar un ciclu pasiv nseamn stare init (1 isa) unde se ateapt epuizarea timpului ales pentru ciclul de reglare. Daca ciclul isa se fixeaz, atunci se poate alege ca perioada de eantionare pentru reglare un multiplu de ciclu isa mai mare sau egal cu 2 i se introduc n secven etape lipsite de aciuni care asigur implicit realizarea perioadei. Dac sunt necesare regulatoare suplimentare (de exemplu de poziie) va trebuie asigurat o sincronizare .
Oricum, secvena n dou stri pe ramur este cea mai convenabil n cazul n care se adopt aceast soluie. Soluia corect de realizare a unui regulator este aceea n care funcia de reglare este descris ca o funcie C ce se va apela chiar n seciunea de BEGIN i va fi executat cu siguran cte un pas incremental la fiecare ciclu main.
Diagrama SFC a programului principal de reglare este prezentat n figura 5.39.
Reglare_temp 61
107
Fig. 5.39 Diagrama SFC a programului Reg_temp Reglare_temp 62