Automatul programabil



Automatul programabil


1 Introducere



Intr-o economie moderna, orice modernizare (control) are ca obiectiv sa ridice competivitatea unui produs, fie direct prin cost si calitate, fie indirect prin imbunatatirea conditiilor de munca.



Controlul implica conducerea unor sisteme dinamice avand stari continue.

Aceste sisteme sunt descrise de ecuatii diferentiale si au intrari si iesiri analogice.

Conducerea acestor sisteme se realizeaza cu calculatoare de proces echipate cu module de intrari/iesiri analogice performante. Exista situatii in care intrarile, iesirile si starile unor sisteme pot fi modelate prin variabile binare. In aceste cazuri cerintele impuse sistemelor de conducere sunt mai reduse, ultilizandu-se automatele programabile.

De la aparitia lor automatele programbile  s-au raspandit rapid in industrie reprezentand astazi unul din cele mai utilizate echipamente. Succesul lor se datoreaza in primul rand pretului si faptului ca pot fi puse in functiune si eventual programate de personal fara pregatire de nivel inalt in domeniul informaticii.

Automatele programabile sunt microcalculatoare simple, special construite pentru a rezolva, prin program, problemele de logica secventiala. Aceste echipamante ofera mai putine oportunitati decat calculatoarele informatice sau cel e de proces dar pot fi utlizate foarte usor de un personal mai putin specializat datorita limbajelor de programare mai simple. Derularea unui program automat este de tip sincron, ceeea ce elimina complicatiile care apar in cazul multi-taskingului.

Ceea mai mare parte a automatelor sunt construite pentru a inlocui releele , ele lucrand cu variabile booleane si avand unitatea centrala simplificata. Ca in toate domeniile, progresul tehnologic s-a concretizat si aici prin punerea la punct a unor automate programbile performante, de complexitatea calculaoarelor de proces care ofera multe facilitati si care pot fi utilizate in automatizari deosebit de complexe.



2 O scurta istorie a automatelor programbile



Primele automate programabile au fost introduse in anul 1969 in Statele Unite de catre inginerii de la General Motors pentru a satisface nevoile industreie de automabile. Scopul lor a fost de a inlocui releele utilizate pentru automatizarea liniilor de fabricatie cu echipamente mai ieftine si, in plus, mai flexibile. Primul automat a fost propus industriei de automobile sub numele de MODICON (Modular Digital Controller). Din punct de vedere hardware, in anii '70 tehnologia de realizare a unitatilor centrale ale automatelor programabile era dominata de procesoarele bit-slice. Circuitele AMD 2901 si 2903 echipau automatele MODICON si A-B (Allen Bradley). Chiar si azi unele automate sunt echipate cu aceste procesoare.

Aproximativ prin 1973 automatele programbile au inceput sa fie dotate cu facilitati de comunicare. Un astfel de sistem a fost MODICAN MODBUS. Acum automatele puteam comunica unele cu altele si se puteau situa la distante de procesul de condus. Din pacate, in lipsa unei standardizari corelata cu rapiditatea schimabarilor din tehnologia electica au facut ca multitudinea de protocoale utilizate , specifice firmelor producatoare , sa fie un cosmar pentru utilizatorii de automate programabile.

Anii '80 au constituit ani de incercare de standardizare a comunicatiilor utilizandu-se MAP (Manufacturing Automation Protocol) de la General Motors. Apoi s-a introdus, ca varianta europaeana, PROFIBUS promovat in special de firma SIEMENS. In acesti ani au fost realizate progrese insemnate in ceea ce priveste reducerea dimensiunilor autoomatelor programabile si aparitita limbajelor de programare realizabile prin intermediul calculatoarelor personale. In ceea ce priveste dimensiunile se poate constata ca un automat programabil poate atinge astazi dimensiunile unui releu, desi el poate ingloba sute de astfel de relee.

Din punct de vedere software cei mai multi dintre producatorii de automate au implementat la inceput limbajul LAD (Ladder Diagram). Acest limbaj a fost dezvolatat in jurul unei reprezentari schematice a circuiteleor cu contacte si relee. Pentru probleme simple de automatizare, programarea in Ladder Diagram este ideala deoarece este intuitive si poate fi inteleasa fara o pregatire speciala, dupa o scurta perioada de instrurire.

La inceputul anilor '90 existau mai mult de o mie de producatori de automate programabile, fiecare din ei avand implementat limbajul Ladder Diagram. Din pacate, in absenta oricarei standardizari, fiecare producator a avut implementari usor diferite. Aceste implementari au ca scop extinderea setului de instructiuni. Pentru aceasta s-au introdus asa numitele operatii speciale. Exemple de astfel de operatii speciale snt diferite tratari numerice ale variabilelor, ale contoarelor de mare viteza, ale controlului motoarelor electrice, etc. Programele scrise pentru sisteme diferite erau similare, dar setul de instructiuni variaza de la un producator la altul. Aceasta situatie tinde sa lege un programator de un anumit producator, mai ales in cazul elaborari unor aplicatii complexe unde se utilizeaza intreg setul de instructiuni si toate tehnicile de programare. Cu scopul eliminarii acestei dependente, in anul 1979 s-a construit un grup de lucru al Comisiei Electrotehnice Internationale (CEI) care si-a propus o standardizare completa a automatelor. Standardul dezvoltat, IEC 1131, ulterior numit IEC 61131 este o astfel de incercare, standardul fiind respectat de tot mai multi producatori.

3 Automatul programbil Control Logix de la Rockwell

In aceasta lucrare s-a ultilizat pentru conducerea procesului neliniar automatul programabil de ultima generatie , Control Logix, produs de Allen Bradley, care acum este membru Rockwell  Automation (Fig. 1).

Figura 1 Automatul programbil Control Logix


Automatul programabil Control Logix pe care l-am utilizat pentru conducerea procesului neliniar are o structura modulara :

Unitatea centrala - aceasta contine procesorul si memoriile ;

Modulele de intrare/iesire - acestea se impar in doua categorii si anume module care gestioneaza marimile analogice si module care se ocupa cu marimile digitale ;

Modulele de comunicatie - in cazul nostru avem un singur modul care gestioneaza comunicatia cu calculatorul sau cu celalalte automate prin protocolul EtherentIP ;

Carcasa inteligenta - aceste tipuri de automate programabile dispun de carcase inteligente prevazute cu sloturi in care se conecteaza fiecare modul in parte


In  continuare vom lua fiecare modul si il vom descrie.


3.1 Unitatea centrala de procesare



Unitatea centrala de procesare are o structura modulara, ea fiind incapsulata intr-un modul care se introduce intr-un slot din carcasa. Acest modul contine un procesor puternic, capabil sa gestioneze 32 de taskuri (1 task continuu si 31 periodice sau 32 periodice). Aceste taskuri sunt la randul lor structurate in mai multe programme.Un singur task poate cuprinde pana la 32 de rutine. Am mentinoat la inceputul acestui subparagraf ca , procesorul (L55) poate gestiona task-uri periodice si un singur task continuu. Fiecarui task periodic i se poate adauga de catre programtor un numar care repreznta prioritatea cu care taskul respectiv intrerupe activitatea curenta a procesorului preluand controlul acestuia. De asemenea fiecarui task periodic i se seteaza tot de catre programtor si perioada. Spre deosebire de taskurile periodice, intr-un proiect poate exista doar un singur task continuu. Acesta se ruleaza tot timpul, cu exceptia momentelor cand este intrerupt de vreun task periodic. Dupa ce s-a executat acest task periodic, controlul procesului este preluat din nou de task-ul continuu.

Tot in acest modul se afla si memoria sistemului care variaza de la 64K la procesoarele mai vechi (L50) la 7,5M la cele mai noi (L55). De asemenea la generatia de controlere L63 este disponibil si un card de memorie externa de 64M. Acesta este util deoarece la caderea sursei de alimentare datele continute in memorie nu se pierd, spre deosebire de celalalte tipuri de procesoare.

La acest proiect am utilizat un procesor de tip L55 cu 7,5M. Aceasta memorie se afla plasata in modulul care contine procesorul. Din punct de vedere structural memoria este impartita in doua regiuni : memeoria de baza si memoria de program. In memoria de baza se stocheaza variabilele corespunzatoare marimilor de intrare si iesire ale procesului si toate celalalte constante utilizate de program (se numesc tag). In memoria de program sunt stocate toate taskurile care exista in proiect.

Tot acest modul este prevaut si cu o interfata seriala RS232 pentru comunicatia cu echipamentele externe si o mini sursa de tensiune (baterie alcalina) care are rolul de a pastra datele incarcate in memoria controlerului in eventualitatea caderii tensiunii de la reteaua de alimentare. Daca si aceasta sursa redundanta nu mai functioneaza atunci la caderea tensiunii se vor pierde si datele din memoria automatului.


Fig 2 Unitatea centrala de procesare

3.2 Modulele de intrare/iesire


Legatura cu procesul este realizata la automatul programabil prin intermediul modulelor de intrare/iesire. In functie de tipul informatiei care este folosita la conducerea proceselor (marimile de proces pot fi fie analogice fie digitale) modulele sunt de doua tipuri : modulele care gestioneaza marimi digitale si module care se ocupa cu  preluarea si calcularea marimilor analogice din proces. In cazul nostru cele doua marimi ale procesului (iesirea si comanda procesului) sunt marimi de tip analogic si deci sunt gestionate de modulele analogice de comnuicatie (Fig 3).

Fig. 3Modulele de intrare/iesire


Modulele analogice pe care le-am avut la dispozitie sunt de tipul 1756 - IF 6I

si respectiv  1756-OF6VI , avand fiecare cate 6 porturi izolate de intrare respectiv iesire. Ambele module analogice prelucreaza doar marimi electirce (analogice) continue, de aceea fiecare port de intrare/iesire este prevazut cu un punct de potential nul - masa si un punct «plus». Potentialul acestuia se masoara in functie de nulul asociat lui. De asemenea cele doua module permit selectarea mai multor intervalle in care marimile de proces pot functiona. Astfel se pot utliza 3 domenii : [-10V ;+10V], [0 ;+5V] si [0 ;+10V]. Toate aceste optiuni se pot selecta foarte usor cu ajutorul programelor pe care acest automat le utilizeaza. Legatura intre calculatorul pe care ruleaza aceste programe si automatul programabil se face prin modulul de Ethernet IP descris in paragraful urmator.

3.3 Modulul de comunicatie Ethernet IP (Ethernet Industrial Protocol)


Pe langa portul de comnuicatie seriala (RS 232) situat pe modulul unitatii centrale mai exista si module separate pentru stabilirea unei comunicatii a automatului programabil cu alte aparate. Aceste module se conecteaza direct intr-un slot al carcasei inteligente.

Avand in vedere ca protocolul Ethernet este foarte utlizat pentru proiectarea unei retele "obisnuite", tehnologia lui s-a implementat si in cazul echipamentelor industriale. Astfel au fost proiectate module de comunicatii intre echipamentele industriale care utlizeaza un astfel de protocol.

In cazul nostru automatul este echipat cu un modul de comunicatie care utilizeaza un astfel de protocol (1756-ENBT, Fig 4).



Fig. 4 Modulul de comunicatie EthernetIP


Dupa ce s-a instalat fizic in unul din sloturile carcasei, modulului de EthernetIP i se atribuie o adresa prin care se poate identifica pe o retea. Aceasta adresa nu este altceva decat un IP (un set de 4 numere cuprinse intre 0 si 255). Acest IP va deveni de fapt adresa de identificare a automatului in care se afla situat modulul.

De asemenea prin intermediul acestui modul se pot accesa si utiliza si celalalte module (analogice si digitale) si de mai multi operatori care se afla conectati la reteaua industriala unde functioneaza automatul. 'Poarta' de acces la toate modulele automatului programabil o reprezinta carcasa inteligenta.


3.4 Carcasa inteligenta - backplane



Fiecare modul, fie cele care contin microprocesoarele, fie modulele de intrare/iesire sau cele de comunicatii cu reteaua industriala sunt instalate intr-o carcasa inteligenta (Fig. 5). Modulele singure nu pot fi operationale. Asadar automatul programabil reprezinta (in cazul nostru) un sistem modular in care buna functionare a partilor lui componente este asifurata de controlerul carcasei.


Fig 5 Carcasa inteligente ControlLogix


Fiecare modul in parte este identificat in functie de locul in care se afla plasat in carcasa. Fiecare slot in parte este identificat cu un numar de la 0 (slot-ul de langa sursa de alimentare) pana la n-1(unde n reprezinta numarul de slot-uri disponibile). Exista carcase cu patru, sapte si respectiv noua sloturi in functie de numarul modulelor cu care este chipat automatul. De asemenea fiecare carcasa are propria ei sursa de alimentare. Pentru proiectul nostru am utilizat o carcasa cu sapte sloturi disponibile. La automatul programabil Control Logix nu exista nici o regula de plasare a modulelor in sloturile din carcasa, astfel modulul cu unitatea de procesare poate fi plasat in oricare din sloturi. Acelasi principiu se aplica si pentru celalalate module.

Toate modulele care compun sistemul Control Logix, indifferent daca sunt modele de intrare/iesire, module de comunicatie pentru retele industriale sau modele care detin unitatile de procesare pot fi instalate sau dezinstalate din sloturile carcasei fara a intrerupe alimentarea acesteia. Astfel daca un modul ce controleaza un proces mai complex se strica , iar oprirea intregii instalatii tehnologice ar fi foarte costisitoare, el se poate schimba fara oprirea alimentarii. Totusi pentru evitarea unei astfel de situatii se instaleaza de obicei pe langa sistemul principal care conduce procesul si un sistem redundant. Astfel cand se defecteaza unul din automate sistemul redundant preia controlul procesului evitand oprirea instalatiei tehnologice.