Sunteți pe pagina 1din 44

Laborator Controlere programabile

LUCRAREA DE LABORATOR NR. 1


Descriere controlerului PS4 201 MM1 i a simulatorului. Utilizarea mediului de programare SucoSoft
Descrierea echipamentului SUCO control PS 4-201-MM 1 este un controler compact, produs de firma Klockner Moeller. Controlerul PS 4-201-MM 1 (figura 1) are opt intrri i opt ieiri numerice. Acest numr poate fi crescut dac se utilizeaz module de extensie cuplate n reea, cu soft de tip SUCOnet K sau SUCOnet K1. Modulele din reea pot fi conectate pn la o distan de maximum 600 m. Programele utilizator sunt introduse cu ajutorul unui mediu de programare instalat pe un calculator, cu instruciuni din limbajul de programare standard (IL), prin unitatea de interfa programabil.

24V 0V G 1=Ready 3=NReady 2=Run 4=Battery

1 2 3 4

PRG SUCOnet K

PS4 - 201 - MM1

Controlerul PS 4-201-MM 1 1 - acumulator; 2 - buton reset; 3 - conector pentru extensie; 4 - comutator selectare mod de lucru. Intrrile i ieirile analogice au variaia cuprins ntre 0 i 10 voli. Rezoluia intrrii analogice este de 10 bii (1.024 incremeni), iar a ieirii analogice este de 12 bii (4.096 incremeni).

Laborator Controlere programabile


Intrrile i ieirile numerice sunt izolate galvanic fa de unitatea central de procesare (UCP) i pot fi alimentate separat. Fiecare intrare i ieire are un led de indicare a strii n care se afl. Modul de operare Setarea parametrilor de sistem Programul utilizator conine informaii asupra configurrii sistemului PS 4 201 n antetul fiierului surs *.q42. Aceste date sunt convertite de compilator i transferate controlerului. Pentru a seta parametrii sistemului se vor apsa tastele F1, F3 n ordine, pornind de la meniul principal. F1 Programare F3 Editorul parametrilor sistemului n continuare trebuie s se completeze numele fiierului i driverul corespunztor. Se introduce sau se seteaz numele cerut i driverele pentru a activa urmtorul ecran: F2 Parametrii sistemului Parantezele ptrate conin valorile setate implicit. Dup introducerea tuturor valorilor dorite pentru parametri, se revine prin apsarea tastei F1, Return. Acum se pot salva valorile setate. Opiunile care pot fi setate sunt prezentate n continuare. Program check in RUN: compilatorul construiete o sum de verificare care este salvat n programul compilat la o locaie definit. Dac se selecteaz Yes = 1, sistemul de operare al PS 4 200 verific programul utilizator, n timpul funcionrii cu acest algoritm al sumei de verificare. Controlerul este oprit dac sunt detectate deosebiri ntre sumele verificate. Eroarea este introdus n cuvntul de diagnosticare corespunztoare verificrii. Setarea implicit este No = 0. Start after NOT READY: definete modul de comportare al controlerului dup NOT READY. Setarea implicit este HALT. Starea controlerului poate fi setat cu ajutorul unui comutator care are trei poziii: 0 Halt (Stop) 1 Cold start (pornire la rece) 2 Warm start (pornire la cald) Maximum cycle time in ms: setarea implicit este de 60 ms. Valoarea maxim a timpului poate fi 255 ms. Aceste setri nu controleaz durata de ciclu al programului utilizator, ci numai definete o limit superioar pentru verificarea defeciunii. Se seteaz o durat de ciclu mai scurt numai dac se cunoate timpul real de procesare al programatorului. n acest caz, un timp mai lung de procesare indic o eroare. Selectarea timpului maxim pentru ciclare depinde de tipul i lungimea programului utilizator ce a fost realizat. Dac durata ciclului este depit, bitul ETC este setat n cuvntul de diagnosticare DSW i controlerul se schimb pe HALT. Active marker range: setarea implicit este MB0 pn la MB4096. Acest parametru seteaz lungimea memoriei pentru markerii folosii n programul utilizator. Dac se folosesc markeri n programul utilizator care nu au fost definii n setrile implicite, compilatorul va emite un mesaj de eroare corespunztor. Retentive marker range: n cazul cderii de tensiune, markerii reinui i pstreaz strile definite anterior. Sunt, de asemenea, pstrate strile definite n cazul restartrii sistemului de operare. Aceast lungime a markerului formeaz o parte a lungimii markerului activ selectat i nu se suprapune cu lungimea reinut la pornirea la rece. Editarea programului pentru controlerul PS4 201 MM1 Editarea programul utilizator poate fi considerat o operaie specific pentru controlerul programabil, acesta coninnd o descriere complet a tuturor secvenelor de control.

Laborator Controlere programabile


Pentru a crea un program utilizator, se vor selecta urmtoarele taste funcionale, pornind din meniul principal: -F1 - programare; -F2 - programare IL; -introducerea numelor fiierelor surs i de referin prin selectarea cilor directoare; -F2 - editarea fiierului program. Pentru fiierul atest.q42 se obine urmtorul ecran n care se poate edita programul (Figura 3.2):

Fereastra de editare program ncorporarea fiierului de configurare - este necesar pentru compilare. Deoarece fiierul de configurare conine informaii despre structura fizic de conectare a controlerului cu modulele de extensie local sau alte staii, compilatorul poate verifica dac adresarea i specificaiile sunt corecte. Sintaxa pentru aceast instruciune este: # include nume_fiier_config.k42 Aceast instruciune trebuie s fie ntotdeauna prima din program. Compilarea programului Programul scris trebuie compilat pentru a obine un program executabil. Pentru a compila programul se parcurg urmtoarele etape: se selecteaz F5 Compiler din Meniul de programare. se specific fiierul surs i de referin cerute prin intermediul unor ferestre afiate succesiv. se specific prin YES sau NO dac sunt incluse fiiere de configurare. Dac se rspunde cu YES, va trebui s se specifice unul din driver-ele standard (A, B, C...). Dac rspunsul este NO, se va cere s se selecteze driver-ul corespunztor pentru fiecare instruciune include gsit n timpul compilrii. Rspunsul NO este favorabil numai dac fiierele include sunt salvate pe discuri diferite.

Laborator Controlere programabile


Dup ce s-a selectat discul corespunztor prin F1, ncepe compilarea. Dac compilarea este executat fr erori, programul executabil poate fi transferat controlerului. Dac nu, erorile care sunt listate corespunztor numrului de bloc i linie, trebuie s fie rectificate. Un program executabil va fi generat numai dac toate erorile au fost rectificate. Dup ce programul a fost compilat, acesta numai poate fi decompilat n programul cod original. Din acest motiv, trebuie salvate urmtoarele fiiere (copii de rezerv): - .q42 - fiierul surs; - .z42 - fiierul de referin; - .k42 - fiierul de configurare.

Transferul programului pe controlerul PS 4-201-MM1 Odat ce compilatorul a convertit programul n cod main, acesta poate fi transferat de pe calculator pe controler. nainte de a efectua transferul prin apsarea tastelor F1, F2, F6 (transfer Drive->PLC), plecnd din meniul principal, trebuie parcuri urmtorii pai: conectarea calculatorului la controler, utiliznd cablul de programare ZB 4-303-KB1; alimentarea controlerului cu 24V DC, acesta indicnd strile Ready sau Not Ready; se seteaz selectorul modului de operare S2 a controlerului PS 4 -201-MM1 pe poziia 1 (Halt). La sfritul transferului se va da un mesaj de verificare a transferului. Odat ce transferul programului a fost confirmat, acesta poate fi lansat n execuie, de la controler sau de la calculator, din Sucosoft. Pentru lansarea programului de pe controler, se va poziiona comutatorul pe poziia Run MSET sau Run, i apoi se va aciona butonul de Reset.

Etapele de urmat in cadrul lucrrii: 1. Recunoaterea butoanelor de pe panoul dispozitivului 2. Se conecteaz cablul de programare ntre calculator (COM1) i cupla de programare de la PLC. 3. Se alimenteaz controlerul cu 24v CC. 4. Se studiaz modul de comutare ntre diferite regimuri de lucru. 5. Se va testa simulatorul de intrri digitale. 6. Familiarizarea cu mediul de programare al controlerului (SucoSoft) i modul de instalare 7. Stabilirea configuraiei hardware. 8. Se va configura sistemul F4 (limba, imprimanta i interfaa) 9. Configurarea parametrilor de sistem 10. Realizarea fiierului de configurare pentru cazul lucrrii de laborator (F4-deviceConfigurator) si salvarea acestuia.

Laborator Controlere programabile

LUCRAREA DE LABORATOR NR. 2


Utilizarea instruciunilor logice i de transfer pentru programarea controlerului PS 4 201 MM1
Programul pentru controlerul programabil este realizat dintr-o secven de instruciuni ce descriu operaiile ce dorim s le efectum. El este compus din directivele preprocesor i blocuri de program la sfritul programului principal avnd instruciunea EP sfrit program. n mod uzual obicei se utilizeaz directiva preprocesor: #include nume.k42 unde nume este numele fiierului de configurare. Fiierul de configurare este realizat naintea editrii programului selectnd F1, F4 (Device Configurator), stabilind partiia (C, D, E,F) i directorul n care se realizeaz salvarea fiierului precum i numele fiierului. Cu F2 se poate realiza configurarea iar cu F4 se realizeaz salvarea. Salvarea se poate realiza cu vechiul nume F2 - Save old name definit la nceput. Fiecare bloc va fi numerotat cu ajutorul unui numr ncepnd de la 0 reprezentat pe cinci cifre i poate avea un anumit comentariu dup care nu este interpretat de compilator. Exemplu: 00000 Primul program Crearea unui bloc se realizeaz cu ajutorul tastei funcionale F2 Open Block, din meniul de editare. Instruciunile din cadrul fiecrui block vor fi numerotate ncepnd de la 1 utiliznd trei cmpuri. Exemplu: 001 EP Ele vor fi reprezentate pe un singur rnd (excepie fcnd funciile). O instruciune este alctuit dintr-un operator i un operand. Operandul n unele cazuri poate s lipseasc exemplu instruciunea EP sfrit program. Operaiile descrise de operator (operaii logice, aritmetice i de transfer) vor utiliza ca al doilea operand memoria de lucru numit acumulator (se va nota cu A). Rezultatul operaiei logice aritmetice sau de ncrcare va fi stocat tot n aceast memorie A. Instruciuni de transfer Instruciunea de ncrcare Aceast instruciune are formatul urmtor: L operand Ea are ca efect ncrcare n memoria de lucru A a operandului respectiv. Nume operand poate fi:

Laborator Controlere programabile


numele intrrii care se ncarc (L I0.0 - ncarc intrarea I0.0 n acumulator) numele unui marker (memorie) care se ncarc (L M0.0 ncarc memoria M0.0 n acumulator). numele unei constante care se ncarc (L KB 1 ncarc constanta de tip byte 1 n acumulator. Instruciunea de ncrcare cu valoare negat LN operand - Ea are ca efect ncrcare n memoria de lucru A a valorii negate corespunztoare operandului respectiv. Instruciunea de ncrcare a coninutului registrului auxiliar GOR Aceast instruciune are ca efect ncrcarea coninutului registrului auxiliar n registrul de lucru i se utilizeaz la nivel de byte sau word. Instruciunea de transfer la ieire (alocare) Aceast instruciune are formatul: = operand Ea are ca efect transferul coninutului memoriei de lucru la adresa corespunztoare operandului. Operandul poate fi o memorie (marker) = M0.0 - coninutul acumulatorului se transfer n memoria M0.0 sau o ieire = Q 0.0 - coninutul acumulatorului se transfer la ieirea Q0.0. Instruciunea de transfer negat =N operand Coninutul acumulatorului se transfer cu valoare negat la operandul specificat Exemplu 1: S se realizeze un program care afieaz la ieirea Q0.0 valoarea logic a intrrii I0.0. L I.0.0. = Q.00 Instruciuni logice Instruciunile logice ce se pot realiza sunt: I, SI negat, SAU, SAU NEGAT, SAU exclusiv, SAU exclusiv negat i negare. Instruciunea I A operand Se efectueaz i logic ntre acumulator i operand iar rezultatul se depune n acumulator. Operandul poate fi o intrare, o memorie (marker) sau o ieire. Exemplu 2: S se realizeze un program care afieaz la ieirea Q0.0 valoarea logic a funciei I0.0*I0.1. L I0.0 ncarc I0.0 n acumulator A I0.1 Efectueaz I0.0*I0.1 i pstreaz rezultatul n acumulator =Q0.0 Transfer coninutul acumulatorului (I0.0*I0.1) la ieirea Q0.0

Laborator Controlere programabile


Instruciunea I negat AN operand - Se efectueaz i logic ntre acumulator i valoarea negat a operandului iar rezultatul se depune n acumulator. Operandul poate fi o intrare, o memorie (marker) sau o ieire.

Instruciunea SAU O operand - Se efectueaz sau logic ntre acumulator i operand iar rezultatul se dune n acumulator. Operandul poate fi o intrare, o memorie (marker) sau o ieire. Instruciunea SAU negat ON operand - Se efectueaz sau logic ntre acumulator i valoarea negat a operandului iar rezultatul se dune n acumulator. Operandul poate fi o intrare, o memorie (marker) sau o ieire. Instruciunea SAU exclusiv XO operand - Se efectueaz sau exclusiv logic ntre acumulator i operand iar rezultatul se dune n acumulator. Operandul poate fi o intrare, o memorie (marker) sau o ieire. Instruciunea SAU exclusiv negat XON operand - Se efectueaz sau logic ntre acumulator i valoarea negat a operandului iar rezultatul se dune n acumulator. Operandul poate fi o intrare, o memorie (marker) sau o ieire. Instruciunea de negare. NOT Se neag rezultatul stocat n registrul de lucru. Instruciunea Set S operand Efectueaz atribuirea valorii 1 operandului specificat dac coninutul registrului de lucru este egal cu 1. Operandul trebuie s fie de tip bit. Instruciunea Reset R operand Efectueaz atribuirea valorii 0 operandului specificat dac coninutul registrului de lucru este egal cu 1. Operandul trebuie s fie de tip bit. Instruciunea sfrit modul EM Aceast instruciune marcheaz sfritul modulului program. Instruciunea sfrit program EP Reprezint sfritul logic i fizic al programului. Instruciunea se amplaseaz dup ultimul pas din programul principal producnd un salt ctre sistemul de operare.

Laborator Controlere programabile


Lucrri experimentale 1. Se vor scrie programele n SucoSoft utiliznd instruciunile prezentate pentru urmtoarele aplicaii: Q0.0=I0.1*I0.3 + I0.2*I0.4 + I0.5 Partea de pornire/ oprire a unei instalaii dac exist condiii de pornire. START I0.0 STOP I0.3 COPO I0.5 INSTF Q0.2 INSTF=(START* COPO+INSTF)*STOP Se va realiza fiierul de referin i se vor introduce simbolurile urmtoare: START I0.0, STOP I0.3, COPO I0.5, INSTF Q0.2 Se va rescrie programul utiliznd simboluri 2. Se vor verifica programele i se vor transfera pe PLC. 3. Se vor simula programele i se vor nota observaiile.

Laborator Controlere programabile

LUCRAREA DE LABORATOR NR. 3


Utilizarea instruciunilor aritmetice i de salt pentru programarea controlerului PS 4 201 MM1
Instruciuni de salt Instruciunea de salt necondiionat JP etichet La ntlnirea acestei instruciuni se realizeaz un salt necondiionat n program pn la adresa dat de etichet. Eticheta poate fi specificat la nceputul unui modul imediat dup identificator. Instruciuni de salt condiionat JC etichet - La ntlnirea acestei instruciuni se realizeaz un salt n program pn la adresa dat de etichet, numai dac coninutul registrului acumulator este egal cu 1. n caz contrar se execut instruciunile urmtoare. JCN etichet - La ntlnirea acestei instruciuni se realizeaz un salt n program pn la adresa dat de etichet, numai dac coninutul registrului acumulator este egal cu 0. n caz contrar se execut instruciunile urmtoare. Ramificaie condiional BX etichet La ntlnirea acestei instruciuni se evalueaz valoarea expresiei condiionale (dat de variabila condiional X). Dac valoarea expresiei X este adevrat se realizeaz un salt la adresa dat de etichet. X poate fi unul din cei patru bii ai registrului de stare C (transport), Z(zero), P/M (plus/minus), V(depire). sau una din expresiile E, LT, GT, LE, GE. setate ca urmare a unei comparaii. Instruciunile vor avea semnificaiile urmtoare: BB nr etichet realizeaz un salt la adresa dat de etichet dac bitul nr este 1. BNB nr etichet realizeaz un salt la adresa dat de etichet dac bitul nr este 0. BC etichet - realizeaz un salt la adresa dat de etichet dac bitul de transport este 1. BNC etichet - realizeaz un salt la adresa dat de etichet dac bitul de transport este zero. BP etichet - realizeaz un salt la adresa dat de etichet dac bitul de semn este plus. BM etichet - realizeaz un salt la adresa dat de etichet dac bitul de semn este minus. BV etichet - realizeaz un salt la adresa dat de etichet dac bitul de depire este 1. BNV etichet - realizeaz un salt la adresa dat de etichet dac bitul de depire este zero. BE etichet - realizeaz un salt la adresa dat de etichet dac termenii comparai prin CMP sunt egali. BNE etichet - realizeaz un salt la adresa dat de etichet dac termenii comparai prin CMP nu sunt egali.

Laborator Controlere programabile


BLT etichet - realizeaz un salt la adresa comparai prin CMP este mai mic (<). BGT etichet - realizeaz un salt la adresa comparai prin CMP este mai mare (>). BLE etichet - realizeaz un salt la adresa comparai prin CMP este mai mic sau egal (<=). BGE etichet - realizeaz un salt la adresa comparai prin CMP este mai mare sau egal(>=). Instruciunea de comparaie CP operand Compar operandul specificat cu coninutul registrului de lucru i se seteaz operatorii condiionali BE, BNE,BLT, BGT, BLE, BGE. Aceti operatori condiionali care realizeaz o ramificaie condiional sunt utilizai mpreun cu CP. Biii condiionali sunt alterai imediat de comparaie. Operandul poate fi o intrare, o constant, o memorie (marker) sau o ieire de tipul byte sau word. Datele comparate trebuie s aib acelai tip. Instruciuni aritmetice Instruciunea de adunare ADD operand - Se efectueaz adunarea ntre coninutul acumulatorului i valoarea operandului iar rezultatul se depune n acumulator.Valoarea operandului nu este alterat. Operandul poate fi o intrare, o constant, o memorie (marker) sau o ieire de tipul byte sau word. Valorile implicate n adunare sunt ntregi cu semnul plus sau minus. Exemplu L MB 3 ADD KB 1 =MB3 Aceast secven de instruciuni realizeaz MB3=MB3+1. Instruciunea de scdere SUB operand - Efectueaz scderea ntre coninutul acumulatorului i valoarea operandului iar rezultatul se depune n acumulator. Valoarea operandului nu este alterat. Operandul poate fi o intrare, o constant, o memorie (marker) sau o ieire de tipul byte sau word. Valorile implicate n scdere sunt ntregi cu semnul plus sau minus. Exemplu L MB 1 SUB MB 3 =MB5 Aceast secven de instruciuni realizeaz MB5=MB1-MB3. Instruciunea de nmulire MUL operand - Efectueaz nmulirea ntre coninutul acumulatorului i valoarea operandului iar rezultatul se depune n acumulator. Valoarea operandului nu este alterat. Operandul poate fi o intrare, o constant, o memorie (marker) sau o ieire de tipul byte sau word. Valorile implicate n nmulire sunt ntregi cu semnul plus sau minus. dat de etichet dac relaia ntre termenii dat de etichet dac relaia ntre termenii dat de etichet dac relaia ntre termenii dat de etichet dac relaia ntre termenii

Laborator Controlere programabile


Instruciunea de mprire DIV operand - Efectueaz mprirea ntre coninutul acumulatorului i valoarea operandului iar rezultatul se depune n acumulator. Valoarea operandului nu este alterat. Operandul poate fi o intrare, o constant, o memorie (marker) sau o ieire de tipul byte sau word. La efectuarea operaiilor aritmetice biii condiionali din registrul de stare sunt actualizai: C (bit de transport) va fi egal cu 1 dac exist transport Z (zero) va fi egal cu 1 dac rezultatul operaiei este egal cu zero. V (depire) va fi egal cu 1 dac ca urmare a efecturii operaiei avem depire. (Pentru variabilele de tip byte vom avea valori fr depire n intervalul 128 , +127 iar pentru variabilele de tip word n intervalul 32768, +32767.) Lucrri experimentale 1. Se vor realiza programele pentru exemplele prezentate anterior. 2. Se va realiza un program care va analiza intrrile analogice: IAW4 i IAW6 i va genera ieirea Q 0.0 dac IAW4>IAW6, ieirea Q0.1 dac IAW4=IAW6 i ieirea Q0.2 dac IAW4<IAW6. 3. Se va compila programul i se va transfera pe controlerul programabil. 4. Se va simula folosind simulatorul pentru intrri analogice. 5. Se va realiza acelai program dar utiliznd intrrile prescrise IAW0 i IAW2. 6. Se va realiza un program care va memora numrul de acionri a intrrii I0.0 (trecere din 0 n 1) utiliznd instruciuni aritmetice. Pentru memorare se va utiliza markerul MW0. 7. Programul va fi compilat i transferat pe controlerul programabil. 8. Se va vizualiza ON LINE coninutul memoriei MW0, intrnd in modul TEST F2 i apoi STATUL DISPLAY IL - F4.

Laborator Controlere programabile

LUCRAREA DE LABORATOR NR. 4


Realizarea aplicaiilor utiliznd temporizri i generatoare de impulsuri
Bloc funcional TR Temporizator cu ntrziere la anclanare Sintaxa: apelare: TR <Numrul blocului> - S (baza de timp) Reprezentare: TR7-S [ ] S: start i set [ ] R: reset [ ] STOP: ntrerupere pentru timer [W] I: seteaz valoarea temporizrii [ ] EQ: ieirea temporizrii [W] Q: valoarea timpului rmas n uniti ai bazei de timp Baza de timp poate fi n ms (milisecunde) sau s (secunde). Dac intrarea S este 1, ieirea EQ o urmeaz, ntrziat de timpul T, unde: T= (valoarea temporizrii)*(baza de timp). Modul n care lucreaz aceast temporizare este prezentat n diagramele urmtoare.
S

0 EQ 1

Laborator Controlere programabile


S 1

0 EQ 1

Pentru T > durata setrii temporizrii (S) ieirea EQ rmne 0. Dac se acioneaz intrarea de STOP atunci la T se aduga i timpul ct e STOP.

Bloc funcional TF Temporizator cu ntrziere la revenire Reprezentare: TF7-ms-R [ ] S: [ ] R: [ ] STOP: [W] i: [ ] EQ: [W] Q:

start i set reset ntrerupere pentru timer seteaz valoarea timpului ieirea de control valoarea timpului rmas n ms

Ieirea temporizrii EQ se seteaz High pe frontul cresctor al mrimii S. Dac intrarea S trece n Low, ieirea EQ o urmeaz, ntrziat de timpul T (1), unde T = (factorul de ntrziere)*( baza de timp). Timpul setat ar trebui ntotdeauna s fie mai mare dect timpul ciclului pentru a asigura detectarea ntrzierii. Ieirea Q arat timpul trecut, n uniti din baza de timp selectat. Msurarea timpului poate fi ntrerupt printr-un semnal H la intrarea STOP; adic timpul de ntrziere T este extins cu durata egal cu timpul ct intrarea STOP este n HIGH. Ieirea EQ urmrete ieirea S numai dac intrarea STOP este LOW, cnd intrarea de set este HIGH. Cronometrul este resetat la starea iniial dac intrarea R este HIGH.

Laborator Controlere programabile


S 1

0u EQ 1

Dac se acioneaz intrarea de STOP atunci la T se aduga i timpul ct e STOP. Bloc funcional TGEN Generator de impulsuri Sintax: TGEN<bloc nr.> S: Start i set I: Perioada semnalului n ms (L KW 400, pentru 400ms) P: Ieirea pulsului baza de timp este n milisecunde; nu necesit nici o specificaie. Modul de funcionare a generatorului este dat de diagrama urmtoare. S

P T I va reprezenta perioada T a semnalului.

Lucrri experimentale 1. Se va implementa o temporizare la anclanare avnd ieirea la Q0.0 i fiind activat de I0.0 2. Se va simula programul i se vor da diferite valori pentru temporizri. 3. Se va implementa o temporizare la revenire avnd ieirea la Q0.2 i fiind activat de I0.2 4. Se va simula programul i se vor da diferite valori pentru temporizri. 5. Se va simula programul i se vor da diferite valori pentru temporizri. Se va analiz efectul butonului de STOP I0.1

Laborator Controlere programabile


6. Se va implementa un generator de impulsuri pe ieirea Q0.3 avnd perioada de 400ms. Setarea se va realiza prin intrarea I0.5. 7. Program pentru semnalizare avarie Daca semnalul de avarie AV- I0.2 este 1 el va activa lampa de semnalizare E1- Q0.1. Dac durata acestui semnal este mai mare de 2s va intra n funciune lampa cu funcionare intermitent E2 Q0.2 (perioad 400ms).

Laborator Controlere programabile

LUCRAREA DE LABORATOR NR. 5


Realizarea aplicaiilor pe baza reprezentrii Grafcet utiliznd funcii de control secvenial

Metoda de reprezentare Grafcet GRAFCET este o metod de reprezentare de tip graf, care comport dou tipuri de noduri: etape i tranziii. Arcele fac legtura ntre etape i tranziii. Pot fi de la etape la tranziii sau de la tranziii la etape. O etap poate s aib dou stri, adic s fie activ (reprezentat prin marcaj) sau inactiv. Etapa care trebuie s fie activ cnd sistemul este pus n funciune se numete etap iniial.

1 2

- etap inactiv - etap activ

- etap iniial

Reprezentarea etapelor Tranziiile sunt reprezentate ca n figura 3.5. Fiecrei tranziii Ti i este asociat o funcie numit funcie de receptivitate Ri. Ri = funcie logic (variabile de intrare sau/i de stare)
Ti Ri

Reprezentarea tranziiilor Dac sunt mai multe arce care sosesc sau pleac de la aceeai tranziie, reprezentarea conine i o linie dubl.

Laborator Controlere programabile


a) Ti Ri jonciune I c) Ti Ri

b)

Ti

Ri

distribuie I jonciune i distribuie I

Jonciuni i distribuii I Cnd dou sau mai multe linii se conecteaz la aceeai etap, se regrupeaz.

Ti

Ti+1 i

Ti a) distribuie SAU

Ti+1

a)

jonciune SAU

Jonciuni i distribuii SAU O tranziie poate s nu aib etape de intrare sau etape de ieire. n primul caz vom avea tranziie surs, iar n al doilea - tranziie final. Ansamblul etapelor active la un moment dat, definete situaia la acel moment. O situaie corespunde unei stri a sistemului. Evoluia strii se va face prin efectuarea tranziiilor. Aciunile sunt reprezentate ntr-un dreptunghi asociat etapelor, acestea putnd fi executate cnd etapa respectiv este activ.
i Aciuni i

Ti

Ri

i+1

Aciuni i+1

Reprezentarea aciunilor O tranziie este executabil dac urmtoarele dou condiii sunt ndeplinite: toate etapele care preced tranziia sunt active (se spune c tranziia este valid);

Laborator Controlere programabile


funcia de receptivitate asociat tranziiei are valoarea adevrat sau este egal cu 1. Execuia unei tranziii const n a dezactiva toate etapele dinaintea tranziiei i a activa toate etapele de dup. Aceste operaii sunt indisociabile i sunt executate simultan. Execuia unei astfel de tranziii este considerat de durat nul. Reguli de execuie a tranziiilor: toate tranziiile executabile sunt imediat executate; etapa ce este simultan activat i dezactivat este considerat activ; mai multe tranziii simultan executabile sunt simultan executate. O variabil de intrare de durat foarte mic este considerat un eveniment. n reprezentarea de tip Grafcet este introdus o variabil de temporizare t/i/ - o variabil logic care va fi egal cu 1, dac a trecut un interval de timp , din momentul ultimei treceri a etapei i de la starea inactiv la starea activ. Ca exemplu, pentru secvena din figura a este prezentat modul de efectuare a tranziiilor, prin diagrama din figura b.
a i b Ti a Xi Xi i+1 t/i+1/10 s Ti+1 b t/i+1/20 s 1 0 1 0 1 0 1 0 1 0 1 0 b) 10 s 20 s

a)

Diagrama pentru reprezentarea modului de efectuare

a tranziiilor

- unde: Xi reprezint starea etapei i, iar Xi+1 reprezint starea etapei i+1; t/i+1/10s i t/i+1/20s sunt variabile de temporizare raportate la etapa i+1; a i b - funcii de receptivitate. Aciunile pot fi mprite n dou categorii: aciuni de nivel impulsiv i aciuni de nivel (pot fi condiionate sau necondiionate). Aciunile de nivel sunt definite numai pentru situaii stabile. Aciunile impulsive au durat foarte scurt i realizeaz schimbarea unei variabile sau contorizarea unei mrimi. Pentru sistemul modelat, aceste aciuni pot fi ieiri. Funcia de receptivitate poate fi un eveniment extern sau un eveniment i o condiie.

Macroetape i pseudo-macroetape Macroetapele i pseudo-macroetapele sunt utilizate pentru descrierea sistemelor complexe. Acestea permit detalierea separat a unor pri din GRAFCET.

Laborator Controlere programabile


5 M30

Reprezentarea macroetapei Macroetapa are numai o intrare i o ieire. Execuia unei tranziii nainte de macroetap conduce la activarea etapei de intrare din descrierea macroetapei. Pseudo-macroetapa - reprezint o parte din GRAFCET, care este reprezentat concentrat.

ii

Aciuni i

Reprezentarea pseudo-macroetapei Aciunile sunt reprezentate de aciunile ce aparin etapelor ce intr n descrierea pseudomacroetapei. Blocul funcional SK (control secvenial) Aceast funcie utilizeaz reprezentarea GRAFCET. Controlul secvenial d posibilitatea ca diferitele sarcini s fie executate ntr-o anumit ordine, conform reprezentrii GRAFCET. Aciunile prevzute n funcia de control secvenial sunt executate pas cu pas. Secvena unui pas asigur activarea acelui pas numai dac pasul anterior a fost dezactivat. Aceasta permite secvenelor complexe s fie programate simplu i clar. Paii cureni activi sunt ntotdeauna indicai n acest fel, simplificnd astfel diagnosticarea erorilor. Avantajele blocului secvenial SK: structura clar a secvenelor complexe; paii de cuplare ntre etape nu trebuie programai; caracteristici simple de setare i resetare a pailor; modificrile la blocul funcional SK sunt posibile, fr probleme; diagnosticri simple ale erorilor prin programul ce indic paii activi; procesare rapid a pailor din secven. Programarea controlului secvenial permite reprezentarea grafic sau structural a etapelor. Etapa de start sau iniial definete poziia iniial, coninnd condiiile de start i de iniializare de la nceputul procesului. n reprezentarea Grafcet aceast etapa este ntotdeauna simbolizat printr-un dreptunghi cu linie dubl. Paii sunt numerotai consecutiv, fiecrui pas fiindu-i asignate anumite aciuni. Aciunile sunt executate numai atunci cnd etapa corespunztoare este activ. O caracteristic important este aceea c numai un singur pas este activ la un moment dat, n timp ce ceilali sunt ignorai. Programul lucreaz n pasul curent pn cnd este executat tranziia urmtoare. Numai dup execuia acestei tranziii, programul continu cu procesarea pasului urmtor.

Laborator Controlere programabile


Cu ramurile de tip SAU, poate fi executat numai un singur pas dintre paii programai n paralel (o singur linie orizontal). Cu ramurile de tip I pot fi executate mai multe bifurcaii paralele, n acelai timp (linie dubl orizontal). O ramur I poate fi sincronizat. Sincronizarea asigur ca tranziia final a secvenei I s nu fie procesat, pn cnd ultima etap a ramurilor paralele nu devine activ. Sintaxa funciei de control secvenial SK <Nr. Blocului funcional> - <Nr. de pai> - R (R numai dac se cere o funcie de memorare) Nr. blocului funcional: este limitat numai de mrimea memoriei. Nr. de pai: 199 Adncimea de cascadare: 8 Timpul de execuie: cu SET = RESET = 0: aproximativ 130 ms cu RESET = 1: aproximativ 240 ms cu SET = 1: aproximativ 250 ms cu SINO invalid: aproximativ 150 ms Reprezentarea va fi urmtoarea: SK i - j [ ] S: S [ ] R: R programul de iniializare [b] SINO: SINO [b] ERR: ERR [b] SQNO: SQNO [ ] TG: TG [$] INIT: INIT [$] AC1: AC1 [$] AC2: AC2 [$] AC3: AC3 . . [$] ACj: ACj activeaz funcia de control secvenial reseteaz funcia de control secvenial i activeaz definete contorul numrului de etap indic starea de eroare indic numrul etapei care se execut indic schimbarea numrul etapei de executat numele subprogramului de iniializare numele etapei 1 (exemplu $START) numele etapei 2 numele etapei 3 numele etapei j

Subprogramul de iniializare va stabili numrul primei etape de executat. $INIT denumire suprogram L KB 1 ncarc 1 n registrul de lucru = SKi SINO transfer numrul etapei (1) ce urmeaz a se executa la contorul de etap EM sfrit modul Paii individuali sunt creai de subprograme care conin aciuni ce urmeaz a fi executate. Condiiile necesare de trecere la o alt etap trebuie programate ntre sfritul unui pas i nceputul altuia. Paii pot fi executai, fie succesiv, fie n paralel sau ntr-o anumit ordine permind astfel, formarea unor secvene complexe necesare realizrii aplicaiei.

Laborator Controlere programabile


Funcia de control secvenial pentru execuia liniar a pailor este alctuit din urmtoarele elemente: iniializarea blocului funcional SK; procesarea blocului funcional SK; schema strilor blocului funcional. Iniializare: Intrarea SINO specific ce pas (etap) urmeaz s fie procesat. nainte ca secvena pasului s fie apelat pentru prima dat, aceast intrare trebuie iniializat cu numrul primului pas ce urmeaz a fi procesat. Iniializarea este cel mai bine ndeplinit de subprogramul INIT, care rmne activ atta timp ct intrarea RESET=1. Operandul INB 0.0 (indicator pentru primul ciclu dup Reset sau dup apsarea butonului de reset), poate fi folosit pentru intrarea de Reset a funciei de control secvenial. Intrarea de Reset este setat la 1, n primul ciclu dup nceperea programului. Programul INIT asigneaz intrrii SINO, numrul primului pas. Aceasta iniializare asigur c blocul funcional SK cunoate numrul primei etape ce urmeaz a fi procesat. Valoarea numrtorul de pas SINO va fi schimbat n funcie de etapa ce urmeaz a fi executat. Secvena logic a programului utilizator poate fi scris simplu. Pentru a activa blocul funcional, intrarea de SET trebuie s fie 1. Aceasta activeaz simultan etapa (pasul) definit la intrarea SINO. Dac ambele intrri S i R sunt 1 n acelai timp, va fi executat numai subprogramul de iniializare. Lucrri experimentale 1. S se realizeze reprezentarea grafcet a unui proces secvenial alctuit din trei etape. In prima etap este fcut ieire Q0.1. Din aceast etap se poate trece n etapa a doua, dac este activat intrarea I0.2. n etapa a doua se realizeaz ieirea Q0.2. Din aceast etap se poate trece n etapa a treia dac este activat intrarea I0.3. n etapa a treia se realizeaz ieirea Q0.3. Din aceast etap se poate trece n prima etap dac este activat intrarea I0.1. La activarea butonului de STOP-I0.0 se oprete procesul. 2. Se va edita programul folosind funcia de control secvenial i se va compila. 3. Se va transfera programul, se va simula i se va testa comportarea acestuia la diverse combinaii ale intrrilor.

Laborator Controlere programabile

LUCRAREA DE LABORATOR NR. 6


Realizarea programului pentru automatizarea unui proces ciclic secvenial

Tema lucrrii Realizarea programului PLC pentru urmtoarea aplicaie. Procesul ce constituie obiectul acestei aplicaii este alctuit dintr-o etap iniial i din opt etape ce se desfoar secvenial i ciclic. Pornirea secvenei ciclice se poate realiza prin acionarea butonului de START, dac sunt ndeplinite condiiile de pornire CP. Oprirea instalaiei se realizeaz dac este acionat butonul STOP, indiferent de etapa n care se afl. Duratele n care sunt active etapele sunt egale i luate astfel nct, s poat acoperi efectuarea aciunilor cu timpul de execuie cel mai mare. Pentru a nu se folosi opt temporizri i pentru a putea controla timpul de desfurare a fiecrei etape, se utilizeaz un semnal dreptunghiular (N), de perioad constant, ce permite trecerea de la o etap la alta, atunci cnd se detecteaz un front cresctor sau descresctor. Din figura urmtoare se poate observa c, pe perioada unei etape palierul semnalului este constant. n etapa 1 N=1, n etapa 2 N=0, n etapa 3 N=1 i aa mai departe. Se observ c succesiunea etapelor este 1, 2, 3, 4, 5, 6, 7, 8, dup care se repet (1,2, ...).

Semnal de comutare a etapelor Semnalul dreptunghiular se va realiza cu ajutorul funciei TGENi disponibil n Sucosoft. Activarea funciei se realizeaz prin acionarea butonului START, iar semnalul generat este transferat n memoria (de tip bit) M0.0. Lucrri experimentale 1. Realizarea schemei Grafcet pentru procesul prezentat

Laborator Controlere programabile

Reprezentarea Grafcet a procesului Simbolurile utilizate n reprezentarea Grafcet au urmtoarea semnificaie: 1. A1 Aciuni etapa 1 2. A2 Aciuni etapa 2 3. A3 Aciuni etapa 3 4. A4 Aciuni etapa 4 5. A5 Aciuni etapa 6 6. A7 Aciuni etapa 7 7. A8 Aciuni etapa 8 8. N Semnal comutare etape 9. START Pornire proces ciclic 10. CP Condiii de pornire 11. STOP Oprire proces ciclic 2. Realizarea programului pentru controlerul programabil cu ajutorul funciei de control secvenial plecnd de la reprezentarea Grafcet a procesului.

Laborator Controlere programabile


Programul pentru controlerul programabil PS4 201 MM1 ce permite automatizarea acestui proces este urmtorul:
" Printout of file: e:luc.q42 00000 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 00001 $INI 001 002 003 00002 $E0 001 002 003 004 005 006 007 00003 END 001 00004 $E1 001 002 003 004 005 006 007 008 00005 END 001 Date: 21. 3. 5"

" #include "luc.k42" SK0 -9 Funcie de control secvenial [ ] S: 'START Pornire proces ciclic [ ] R: 'STOP Oprire proces ciclic [b] SINO: [b] ERR: [b] SQNO: [ ] TG: [$] INIT: $INI [$] AC1: $E0 [$] AC2: $E1 [$] AC3: $E2 [$] AC4: $E3 [$] AC5: $E4 [$] AC6: $E5 [$] AC7: $E6 [$] AC8: $E7 [$] AC9: $E8 TGEN0 Funcie generator de semnal dreptunghiul [ ] S: 'START Pornire proces ciclic [w] I: KW 600 [ ] P: M 0.0 Semnal comutare etape EP "iniializare L KB 1 = SK0 SINO Funcie de control secvenial EM "Etapa 0 L 'START Pornire proces ciclic A 'CP Condiii de pornire AN 'STOP Oprire proces ciclic A 'N Semnal comutare etape JCN END L KB 2 = SK0 SINO Funcie de control secvenial " EM " L K 1 = Q 0.0 =N Q 0.7 LN 'N AN 'STOP JCN END L KB 3 = SK0 SINO secvenial " EM

Aciuni etapa 1 Aciuni etapa 8 Semnal comutare etape Oprire proces ciclic Funcie de control

Laborator Controlere programabile


00006 $E2 001 002 003 004 005 006 007 008 00007 END 001 00008 $E3 001 002 003 004 005 006 007 008 00009 END 001 00010 $E4 001 002 003 004 005 006 007 008 00011 END 001 00012 $E5 001 002 003 004 005 006 007 008 00013 END 001 00014 $E6 001 002 003 004 005 006 007 008 00015 END " L K 1 = Q 0.1 =N Q 0.0 L 'N AN 'STOP JCN END L KB 4 = SK0 SINO secvenial " EM " L K 1 = Q 0.2 =N Q 0.1 LN 'N AN 'STOP JCN END L KB 5 = SK0 SINO secvenial " EM " L K 1 = Q 0.3 =N Q 0.2 L 'N AN 'STOP JCN END L KB 6 = SK0 SINO secvenial " EM " L K 1 = Q 0.4 =N Q 0.3 LN 'N AN 'STOP JCN END L KB 7 = SK0 SINO secvenial " EM " L K 1 = Q 0.5 =N Q 0.4 L 'N AN 'STOP JCN END L KB 8 = SK0 SINO secvenial " Aciuni etapa 2 Aciuni etapa 1 Semnal comutare etape Oprire proces ciclic Funcie de control

Aciuni etapa 3 Aciuni etapa 2 Semnal comutare etape Oprire proces ciclic Funcie de control

Aciuni etapa 4 Aciuni etapa 3 Semnal comutare etape Oprire proces ciclic Funcie de control

Aciuni etapa 5 Aciuni etapa 4 Semnal comutare etape Oprire proces ciclic Funcie de control

Aciuni etapa 6 Aciuni etapa 5 Semnal comutare etape Oprire proces ciclic Funcie de control

Laborator Controlere programabile


001 00016 $E7 001 002 003 004 005 006 007 008 00017 END 001 00018 $E8 001 002 003 004 005 006 007 008 00019 END 001 EM " L K 1 = Q 0.6 =N Q 0.5 LN 'N AN 'STOP JCN END L KB 9 = SK0 SINO secvenial " EM " L K 1 = Q 0.7 =N Q 0.6 L 'N AN 'STOP JCN END L KB 1 = SK0 SINO secvenial " EM

Aciuni etapa 7 Aciuni etapa 6 Semnal comutare etape Oprire proces ciclic Funcie de control

Aciuni etapa 8 Aciuni etapa 7 Semnal comutare etape Oprire proces ciclic Funcie de control

3. Se vor utiliza simboluri n program specificate n continuare. Fiierul de referin va conine urmtoarele elemente.
Symbol A1 A2 A3 A4 A5 A6 A7 A8 N GN START CP STOP Operand Q 0.0 Q 0.1 Q 0.2 Q 0.3 Q 0.4 Q 0.5 Q 0.6 Q 0.7 M 0.0 SK0 TGEN0 I 0.0 I 0.3 I 0.5 M/B Terminal Operand comment Aciuni etapa 1 Aciuni etapa 2 Aciuni etapa 3 Aciuni etapa 4 Aciuni etapa 5 Aciuni etapa 6 Aciuni etapa 7 Aciuni etapa 8 Semnal comutare etape Funcie de control

Funcie generator de semnal dreptunghiul Pornire proces ciclic Condiii de pornire Oprire proces ciclic

secvenial

4. Se va compila programul i se va transfera pe PLC 5. Se va simula i se vor da valori diferite pentru perioada semnalului. Perioada semnalului se va citi de la intrarea analogic IAW0. Reglarea perioadei semnalului se va realiza din poteniometrul P1 disponibil pe controler.

Laborator Controlere programabile

LUCRAREA DE LABORATOR NR. 7


Automatizarea operaiilor de dozare, ambalare i etichetare a pastelor finoase cu controlere PS4

Lucrarea de laborator const n realizarea programului pentru PLc n SucoSoft pentru urmtoarea aplicaie. Aplicaia prezint o soluie de automatizare a operailor de dozare, ambalare i etichetare a pastelor finoase scurte. Sistemul de automatizarea a fost conceput pentru o structur mecanic propus pentru efectuarea acestor operaii. Sistemul a fost conceput ca o main automat pentru dozare, ambalare i etichetare (figura 3.27). Secvenele de operaii efectuate sunt urmtoarele: A. Antrenare ambalaj. Antrenarea ambalajului se realizeaz pn la sesizarea ambalaj pregtit sau poziie de prindere, dac nu exista deja ambalaj pregtit. B. Pregtire ambalaj. Aceast operaie se realizeaz numai la pornirea mainii, dac nu exist deja ambalaj pregtit (pung). Folia pentru ambalaj este antrenat pn n poziia de oprire (prindere). Se fixeaz folia, se lipete, (lipitur pe dou nivele), iar n continuare se taie. n acest fel s-a pregtit partea de jos a pungii. Ambalajul este antrenat pn la sesizarea ambalaj pregtit. C. Dozarea. Se elibereaz dozatoarele 1 i 2, iar la atingerea greutii G2, se nchide dozatorul 2. Dozatorul 1 va permite o ncrcare mai lent i implicit o dozare mai precis. La atingerea greutii G1 (greutatea dorit), se nchide i dozatorul G1. D. Ambalarea. Se fixeaz folia i se lipete, (lipitur pe dou nivele). E. Etichetarea. Se acioneaz dispozitivul de etichetare i se taie ntre cele dou rnduri de lipituri F. Evacuarea. Se acioneaz dispozitivul de evacuare. Dup aceast operaie se continu cu repetarea ciclic a etapelor A, C, D, E, F.

Laborator Controlere programabile

Main automat pentru dozare, ambalare i etichetare 1 dozator 1 2 rol antrenare ambalaj 3 dozator 2 4 folie ambalaj 5 dispozitiv de msurare a greutii 6 paste finoase ambalate Pornirea mainii se realizeaz prin acionarea butonului de Start, iar oprirea prin acionarea butonului de Stop sau Avarie. Lucrri experimentale 1. Se va realiza schema Grafcet a procesului.

Laborator Controlere programabile

2. Se vor stabili numrul de intrri i ieiri necesare pentru controlul procesului. 3. Se va realiza fiierul de configurare specificnd elementele hardware utilizate. Pentru aceast aplicaie se poate utiliza un modul master PS4 201 MM1 i un modul slave LE 116-XD1.
PC PS4 - 201-MM1 LE 116-XD1

3. Stabilirea valorii msurate (greutatea)

Laborator Controlere programabile


Msurarea greutii se realizeaz cu ajutorul unui traductor de greutate care furnizeaz un semnal cuprins ntre 0 i 10V proporional cu greutatea msurat. Precizia msurrii este dat de cei 10 bii pe care se realizeaz conversia intrrii analogice. 10v Precizia de msurare Pm = 10 = 9,76mV 2 Intrarea analogic IAW4 va fi n funcie de valoarea greutii msurate. Greutii G2 (la care se nchide dozatorul 2) i va corespunde o valoare de 7V, iar lui G1 o valoare de 8V. Valoarea hexa corespunztoare pentru G2 va fi: 210 7 = 717 = 2CDH 10 Valoarea hexa corespunztoare pentru G1 va fi: 210 8 = 819 = 333H 10 4. Realizare fiier de referin. Fiierul de referin va cuprinde elementele din tabloul urmtor. Simbol RUN START PO CTAI CEVAC PET STOP AP MG AR D1 D2 PRIND LIP TAI ETIC EVAC T1 T2 CS TP TL Operand I 0.0 I 0.1 I 0.3 I 0.4 I 0.5 I 0.7 I 0.6 I 0.2 IAW4 Q 0.0 Q 0.1 Q 0.2 Q 0.3 Q 0.4 Q 0.5 Q 0.6 Q 0.7 M 0.0 M 0.1 M 0.2 SK0 TR0 TR1 Comentariu Execuie program Pornire instalaie Poziie oprire Confirmare tiere Confirmare evacuare Poziie etichetare Oprire instalaie Ambalaj pregtit Msurare greutate Antrenare rol ambalaj Deschidere dozator 1 Deschidere dozator 2 Prindere ambalaj Lipire Tiere pung Etichetare ambalaj Evacuare produs ambalat Memorarea primului ciclu Ieire temporizare prindere Ieire temporizare lipire Funcie de control secvenial Temporizare prindere Temporizare lipire

5. Relizare programului i compilarea lui n SUCO soft S30-S4-200.


" Printout of file: e:it.q42 00000 Date: 21. 3. 5"

"Maina automata de dozare, ambalare si etichetare

Laborator Controlere programabile


001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 00001 $I 001 002 003 00002 $1 001 002 003 004 005 006 007 008 00003 END 001 00004 $2 001 002 003 004 005 006 # include "it.k42" SK0 -9 [ ] S: 'RUN [ ] R: 'STOP [b] SINO: [b] ERR: [b] SQNO: [ ] TG: [$] INIT: $I [$] AC1: $1 [$] AC2: $2 [$] AC3: $3 [$] AC4: $4 [$] AC5: $5 [$] AC6: $6 [$] AC7: $7 [$] AC8: $8 [$] AC9: $9 TR0 -S [ ] S: 'PRIND [ ] R: 'LIP [ ] STOP: [w] I: KW 5 [ ] EQ: M 0.1 prindere [w] Q: TR1 -S [ ] S: 'LIP [ ] R: 'TAI [ ] STOP: [w] I: KW 4 [ ] EQ: M 0.2 lipire [w] Q: EP "iniializare L KB 1 = SK0 SINO EM " L K 1 = M 0.0 L 'START A 'AP AN 'STOP JCN END L KB 2 = SK0 SINO " EM " L K 1 = 'AR =N 'EVAC ambalat L 'PO AN 'STOP JCN END Execuie program Oprire instalaie

Temporizare prindere Prindere ambalaj Lipire Ieire temporizare Temporizare lipire Lipire Taiere punga Ieire temporizare

Memorare primul ciclu Pornire instalaie Ambalaj pregtit Oprire instalaie

Antrenare rola ambalaj Evacuare produs Poziie oprire Oprire instalaie

Laborator Controlere programabile


007 008 009 010 011 012 013 00005 ET1 001 002 00006 END 001 00007 $3 001 002 003 004 005 006 007 008 00008 END 001 00009 $4 001 002 003 004 005 006 007 00010 END 001 00011 $5 001 002 003 004 005 006 007 008 00012 END 001 00013 $6 001 002 003 004 005 006 007 008 00014 END 001 L 'AP JC ET1 L M 0.0 JCN END L KB 5 = SK0 SINO JP END " L KB 3 = SK0 SINO " EM " L K 1 = 'D1 = 'D2 L 'MG CP KHW 2CD BLT END L KB 4 = SK0 SINO " EM " L K 0 = 'D2 L 'MG CP KHW 333 BLT END L KB 5 = SK0 SINO " EM " L K 0 = 'D1 =N 'PRIND L M 0.1 prindere AN 'STOP JCN END L KB 6 = SK0 SINO " EM " L K 1 =N 'PRIND = 'LIP L M 0.2 lipire AN 'STOP JCN END L KB 7 = SK0 SINO " EM Ambalaj pregtit Memorare primul ciclu

Deschidere dozator 1 Deschidere dozator 2 Msura greutate

Deschidere dozator 2 Msura greutate

Deschidere dozator 1 Prindere ambalaj Ieire temporizare Oprire instalaie

Prindere ambalaj Lipire Ieire temporizare Oprire instalaie

Laborator Controlere programabile


00015 $7 001 002 003 004 005 006 007 008 00016 END 001 00017 $8 001 002 003 004 005 006 007 008 00018 END 001 00019 $9 001 002 003 004 005 006 007 008 00020 END 001 "etichetare L K 1 =N 'LIP = 'ETIC L 'PET AN 'STOP JCN END L KB 8 = SK0 SINO " EM " L K 1 =N 'ETIC = 'TAI L 'CTAI AN 'STOP JCN END L KB 9 = SK0 SINO " EM " L K 1 =N 'TAI = 'EVAC L 'CEVAC AN 'STOP JCN END L KB 2 = SK0 SINO " EM Lipire Etichetare ambalaj Poziie etichetare Oprire instalaie

Etichetare ambalaj Taiere punga Confirmare taiere Oprire instalaie

Taiere punga Evacuare produs ambalat Confirmare evacuare Oprire instalaie

6. Transferul programului i simularea acestuia.

Laborator Controlere programabile

LUCRAREA DE LABORATOR NR. 8


Programarea controlerelor programabile pe baza diagramelor Ladder

Scrierea unui program n limbajul orientat pe scheme de contacte (Ladder Diagram LD) presupune desenarea unei diagrame (diagram LD) similare unei scheme electrice cu contacte. Elementele componente ale diagramei LD modeleaz funcionarea elementelor unei scheme cu contacte. De aceea interpretarea funcionrii diagramei LD este similar interpretrii schemelor electrice cu contacte. Elementele de baz utilizate pentru scrierea unui program n limbaj LD sunt contactele, bobinele, temporizatoarele, numrtoarele i blocurile funcionale (funciile). Contactele Contactele sunt elemente de programare care modeleaz contactele aparatelor electrice de comutaie. Ca i n cazul acestora din urm, contactele pot fi de tip n.d. i n..
IN001 a) IN002 b) IN003

Contacte: a) n.d., b) n.. (dou variante). n cadrul unui program LD, contactele pot fi asociate intrrilor AP, ieirilor PLC sau unor variabile interne. La intrri pot fi conectate dispozitive care au dou stri de funcionare cum ar fi contactele auxiliare ale contactoarelor i releelor, contactele n.. sau n.d. ale butoanelor de comand, limitatoarelor de curs, detectoarelor de mrimi fizice, elementelor de protecie, ieirile digitale ale unor aparate de msur, protecie sau comand, ieirile digitale ale altor PLC sau sisteme de comand etc. Pe lng contactele obinuite, unii productori pun la dispoziia programatorilor i alte elemente de programare corespunztoare intrrilor AP, ntlnite, ndeosebi, n cazul circuitele numerice, cum ar fi intrri cu memorie (latch), intrri active pe frontul cresctor sau active pe frontul descresctor. Bobinele Bobinele sunt elemente de programare care modeleaz funcionarea bobinele contactoarelor i releelor electromagnetice. Ca i n cazul bobinelor din schemele electrice, bobinele din programele LD pot avea dou stri: alimentate sau nealimentate. Ele pot fi asociate ieirilor automatului dar i unor variabile interne modelnd astfel releele auxiliare din cadrul schemelor electrice cu contacte. Fiecare ieire este de asemenea identificat n mod unic, modul de identificare diferind de la un productor la altul. Fiecrei ieiri i se asociaz o singur bobin i unul sau mai multe contacte ce pot fi utilizate n schem n mod asemntor contactelor auxiliare ale contactoarelor i releelor. La aceste ieiri pot fi conectate dispozitive care au dou stri de funcionare cum ar fi bobinele contactoarelor sau releelor, elemente de semnalizare acustic sau luminoas, sarcini de

Laborator Controlere programabile


putere mic, intrrile digitale ale unor aparate de msur, protecie sau comand, intrrile digitale ale altor PLC sau sisteme de comand etc. n Fig.2 sunt date simbolurile folosite pentru reprezentarea bobinelor. Avnd n vedere c bobinele sunt asociate ieirilor i c acestea pot fi negate, putem ntlni ca element de programare n limbajul LD, bobina negat (Fig.2b). ntr-un automat, fiecare ieire este identificat n mod unic, identificarea fiind diferit de la productor la productor. Fiecrei ieiri i se asociaz unul sau mai multe contacte avnd acelai identificator i care pot fi folosite n diagrama LD.
OUT 001 OUT 002 OUT 003

Temporizatoarele Temporizatoarele sunt elemente de programare care modeleaz funcionarea releelor de timp i a contactelor temporizate. Ele sunt utilizate pentru a realiza aciuni ntrziate sau ce dureaz un anumit interval de timp. Productorii de PLC furnizeaz att funcii elementare de temporizare ct i funcii mai complexe. n acest fel, temporizatoarele utilizate n programele LD au o flexibilitate i o funcionalitate mult mai mare dect temporizatoarele utilizate n schemele electrice. Temporizatoarele simple permit realizarea unei aciuni ntrziate cu un anumit interval de timp ce poate fi programat. Funciile de temporizare mai complexe au n vedere obinerea unor temporizri variabile, funcie de anumite condiii care apar la un moment dat. n cadrul programelor LD, un temporizator are o structur de tipul celei din Fig.3.
Validare Ieire Nr. temporizator

a) b) Bobine: a) normal (dou variante), b) negat.

Baza de timp

Iniializare

Valoarea prestabilit

Structura unui temporizator. Fiecare temporizator din schem este identificat n mod unic, modul de identificare fiind diferit de la un productor la altul. Materializarea temporizatoarelor n PLC se realizeaz utiliznd circuite numrtoare. Ca urmare, indicarea temporizrii se va face preciznd numrul de incremente de timp pe care temporizato rul l va numra (valoarea prestabilit) i durata unui increment (baza de timp). n cazul n care implementarea limbajului permite utilizarea unor baze de timp diferite pentru temporizatoare diferite, trebuie precizat pentru fiecare temporizator aceast baz de timp. Valorile uzuale pe care le poate avea baza de timp sunt 0,01s; 0,1s sau 1s. n cazul n care baza de timp este aceeai pentru toate temporizatoarele, precizat n manualul de programare a AP, aceasta este omis. Ca urmare, valoarea prestabilit poate fi exprimat n uniti de timp (s). Temporizatoarele au cel puin o intrare de iniializare, la activarea creia ncepe temporizarea i o ieire. n unele variante, acestea sunt prevzute i cu o intrare de validare i nc o ieire care reprezint negata primei ieiri. Numrtoarele Numrtoarele sunt elemente de programare care poate primi o serie de impulsuri care sunt analizate n cadrul programului LD pentru a detecta numrul de apariii ale unor evenimente cum ar

Laborator Controlere programabile


fi: numrul de pai efectuai de un motor pas cu pas, numrul de conectri-deconectri ale unui aparat. Numrul acestor evenimente poate fi comparat cu anumite valori prestabilite i n funcie de rezultatul acestor comparaii pot fi luate anumite decizii i date comenzile corespunztoare. Exist mai multe tipuri de numrtoare, printre cele mai uzuale fiind: numrtoarele unidirecionale, cresctoare sau descresctoare i numrtoarele bidirecionale care pot numra att descresctor ct i cresctor. n cadrul programelor LD, un numrtor are o structur de tipul celei din Fig.4.
Numrare Ieire Nr. numrtor

Ieire negat Iniializare Valoare prestabilit

Structura unui numrtor. Fiecare numrtor din schem este identificat n mod unic, modul de identificare fiind diferit de la un productor la altul. Pentru fiecare numrtor se precizeaz valoarea prestabilit, aceasta reprezentnd valoarea maxim pe care o va numra numrtorul dup care va activa ieirea. Numrtorul are cel puin dou intrri, una de numrare i una de iniializare (la activarea acesteia numrtorul ncepe s numere impulsurile sosite la intrarea de numrare) i o ieire. Alte variante de numrtoare sunt prevzute i cu o intrare de validare i o ieire care reprezint negata primei ieiri. Blocurile funcionale Pentru materializarea unor funcii mai complexe menite s uureze scrierea programelor n limbaj LD sunt utilizate blocuri funcionale. Aceste blocuri modeleaz diverse categorii de funcii dintre care cele mai utilizate sunt urmtoarele: funcii de ncrcare a unor constante numerice, funcii aritmetice, funcii logice pe 8 sau 16 bii, funcii de conversie a informaiei din diferite formate (binar, BCD, Gray etc), funcii de tratare a ntreruperilor, funcii pentru detectarea fronturilor cresctoare sau descresctoare a semnalelor, funcii pentru realizarea controlerelor i secveniatoarelor, funcii pentru actualizarea rapid a intrrilor i ieirilor, funcii pentru comanda numrtoarelor de mare vitez. De obicei, formatul i modul de funcionare a blocurilor funcionale difer de la un automat la altul, fiind specific fiecrui productor n parte. Prin intermediul standardului IEC 61131-3 i a altor iniiative recente se caut standardizarea unor astfel de blocuri astfel nct ele s aib nu numai aceeai interfa dar i acelai comportament, diferena fiind dat numai de modul n care acestea sunt materializate pentru fiecare automat n parte. Standardul are drept scop i asigurarea c aceste blocuri funcionale pot fi utilizate, folosind aceeai interfa n oricare alt limbaj din cele 4 adoptate. Restricii n scrierea programelor orientate pe scheme de contacte Atunci cnd se realizeaz scrierea unui program LD pentru un automat programabil concret, trebuie s se in seama de limitrile pe care pachetul de programe le poate avea. Limitri importante pe care le pot avea pachetele de programe ce utilizeaz limbajul LD sunt cele legate de formatul diagramei care materializeaz schema cu contacte. O parte din aceste limitri in de proprietile intrinseci ale limbajului; altele sunt specifice diferitelor programe comerciale i sunt datorate soluiilor tehnice adoptate de firmele productoare pentru implementarea diverselor elemente ale limbajului. O parte a acestor limitri sunt prezentate n continuare: a) o bobin trebuie s fie alimentat ntotdeauna prin intermediul unui contact;

Laborator Controlere programabile


b) bobina trebuie s fie introdus ntotdeauna la captul din dreapta al liniei; c) toate contactele trebuie s fie pe direcie orizontal; d) numrul contactelor pe o linie de alimentare a unei bobine este limitat prin program; e) un grup de contacte poate alimenta o singur bobin; f) realizarea buclelor poate fi realizat ntr-un singur mod sau poate s nu fie permis; g) sensul curentului prin circuit este de la stnga la dreapta diagramei. De obicei manualele de utilizare ale programelor conin toate informaiile necesare pentru ca utilizatorul s poat scrie programul n formatul acceptat de PLC. Transcrierea schemelor electrice cu contacte Scrierea unui program n limbajul LD poate fi realizat ntr-un mod simplu pornind de la schema electric cu contacte al unui circuit care ar ndeplini aceeai funcie. Ceea ce trebuie s fac programatorul este s transpun schema respectiv folosind elementele de programare ale limbajului. Pentru acest lucru el va trebui s parcurg urmtoarele etape: definirea listei dispozitivelor conectate la intrrile i ieirile AP, atribuirea unor identificatori de intrare i de ieire acestor dispozitive, trasarea diagramei LD, indicarea conexiunilor la PLC a elementelor de comand. Scrierea programului n diagrame LD pentru controlerul programabil Mitsubishi FX -2N -5A Editarea programului se va realiza n mediul de programare MELSECMEDOC FX/WIN versiunea 3.20. Pornirea programului se realizeaz fcnd dublu clic pe icoana . Pentru crearea unui fiier nou se execut comanda File->New i se va deschide fereastra PLC type settings cu ajutorul creaia se stabilete tipul de PLC. Se va selecta FX2N ca n figura urmtoare.

Figura Dup ce se d OK n fereastra PLC type settings se deschid dou ferestre de programare: una utiliznd instruciuni iar urmtoare diagrame Ladder n Fig. 8 se indic principalele elemente ale ferestrei de scriere a programului de aplicaie. Pentru aceasta avem la dispoziie comenzile din bara de meniuri (accesibile direct sau prin intermediul unor combinaii ale tastelor funcionale - scurtturi) i bare de butoane. Scriere programului cu ajutorul diagramelor Ladder Elementele programului de aplicaii sunt introduse ntre cele dou bare de alimentare. Introducerea contactelor

Laborator Controlere programabile

Fig Elementele ferestrei de editare a programului de aplicaiei n mediul de programare MELSEC-MEDOC FX/WIN Contact normal deschis: se utilizeaz butonul corespunztor sau tasta funcional F5 meniul TOOLS i apoi Contact. Contact normal nchis: se utilizeaz butonul corespunztor din bara de butoane sau tasta funcional F6. n ambele cazuri apare fereastra de dialog Input device (Fig. 9) unde trebuie introdus operandul respectiv.

Fereastra de introducere a operandului Dac se face clic pe Reference va apare o fereastr de dialog care ne permite alegerea tipului de operand folosit. Acesta poate indica o intrare (X000, X001 ... X005), o ieire (Y000...Y003), un element de temporizare (T000...T00n), element auxiliar (M000...M00n), elemente ale blocurilor funcionale.

Laborator Controlere programabile

Fereastra Device details Introducerea bobinelor Pentru introducerea bobinelor se utilizeaz butonul corespunztor sau tasta funcional F7. Ca i n cazul contactelor va apare fereastra de dialog Input device n care trebuie precizat indicatorul bobinei (Y000...Y003). Introducerea temporizatoarelor Pentru introducerea temporizatoarelor se utilizeaz acelai buton i aceeai tast funcinal utilizat pentru bobine. n fereastra de dialog Input device, pe lng indicatorul temporizatorului (T000...T00n) trebuie indicat i valoarea temporizrii sub forma Km, unde m este valoarea temporizrii n milisecunde. Introducerea numrtoarelor Pentru introducerea numrtoarelor (contoarelor) se utilizeaz acelai buton i aceeai tast funcinal utilizat pentru bobine. n fereastra de dialog Input device, pe lng indicatorul numrtorului (C000...C00n) trebuie indicat i valoarea numrtorului pentru care bobina este activat sub forma Km. Introducerea funciilor speciale Pentru introducerea funciilor speciale se utilizeaz butonul corespunztor sau tasta funcional F8. Ca urmare apare fereastra de dialog Input instruction (Fig. 10) unde trebuie introduse mnemonicul funciei precum i parametrii acestora. Fiecare instruciune are lista ei proprie de parametri acestea fiind date n manualul de programare a familiei Mitsubishi FX de PLC.

Fig.10 Fereastra Input instruction

Conversia i verificarea programului Pentru a putea fi transferat n memoria PLC, programul de aplicaie scris folosind limbajul LD trebuie convertit n formatul recunoscut de PLC. Pentru aceasta se execut comanda Tools -> Convert. Programul poate fi verificat dac este corect executnd comanda Option -> Program check. n acest caz va apare dialogul urmtor.

Laborator Controlere programabile

Dialogul Syntax error check Salvarea programului Programul de aplicaie poate fi salvat folosind comanda File -> Save as. Numele fiierului trebuie sa respecte convenia de nume pentru fiierele sistemului de operare MS-DOS. Transferul programului Pentru transferul programului pe PLC se va selecta PLC -: Transfers i apoi Write. Lucrri experimentale Se va instala i lansa programul MELSECMEDOC FX/WIN. Se vor scrie programele pe baza diagramelor LD pentru PLC pentru urmtoarele aplicaii: Y000=X001*X003 + X002*X004 + X005 Partea de pornire/ oprire a unei instalaii dac exist condiii de pornire. START X000 STOP X001 COPO X005 INSTF Y002 INSTF=(START* COPO+INSTF)*STOP Program pentru semnalizare avarie Daca semnalul de avarie AV este 1 el va activa lampa de semnalizare E1. Dac durata acestui semnal este mai mare de 2s va intra n funciune hupa (H) i va iniia secvena de avarie (SAV). Intrri AV-X000 START X001 STOP- X002 Ieiri E1- Y000 H-Y001 SAV-Y002 Se vor verifica programele i se vor transfera pe PLC. Se vor simula programele i se vor nota observaiile.

Laborator Controlere programabile

LUCRAREA DE LABORATOR NR. 9


Automatizarea operaiilor de dozare, ambalare i etichetare a pastelor finoase cu controlere Twido

Lucrarea i propune realizarea unei soluii de automatizare cu controlere Twido a aplicaiei prezentat n lucrarea 7. Aplicaia prezint o soluie de automatizare a operailor de dozare, ambalare i etichetare a pastelor finoase scurte. Sistemul de automatizarea a fost conceput pentru o structur mecanic propus pentru efectuarea acestor operaii. Sistemul a fost conceput ca o main automat pentru dozare, ambalare i etichetare. Secvenele de operaii efectuate sunt urmtoarele: Antrenare ambalaj. Antrenarea ambalajului se realizeaz pn la sesizarea ambalaj pregtit sau poziie de prindere, dac nu exista deja ambalaj pregtit. Pregtire ambalaj. Aceast operaie se realizeaz numai la pornirea mainii, dac nu exist deja ambalaj pregtit (pung). Folia pentru ambalaj este antrenat pn n poziia de oprire (prindere). Se fixeaz folia, se lipete, (lipitur pe dou nivele), iar n continuare se taie. n acest fel s-a pregtit partea de jos a pungii. Ambalajul este antrenat pn la sesizarea ambalaj pregtit. Dozarea. Se elibereaz dozatoarele 1 i 2, iar la atingerea greutii G2, se nchide dozatorul 2. Dozatorul 1 va permite o ncrcare mai lent i implicit o dozare mai precis. La atingerea greutii G1 (greutatea dorit), se nchide i dozatorul G1. Ambalarea. Se fixeaz folia i se lipete, (lipitur pe dou nivele). Etichetarea. Se acioneaz dispozitivul de etichetare i se taie ntre cele dou rnduri de lipituri Evacuarea. Se acioneaz dispozitivul de evacuare. Dup aceast operaie se continu cu repetarea ciclic a etapelor A, C, D, E, F. Pornirea mainii se realizeaz prin acionarea butonului de Start, iar oprirea prin acionarea butonului de Stop sau Avarie. Lucrri experimentale Se va realiza schema Grafcet a procesului. Se vor stabili numrul de intrri i ieiri necesare pentru controlul procesului. Se va configura fiierul creat specificnd elementele hardware utilizate. n varianta n care se utilizeaz controlere TWIDO ale firmei Schnaider, prolema de automatizare poate fi rezolvat utiliznd un modul master TWDLMDA20DRT i un modul slave de intrri ieiri analogice, TWDAMM3HT.

Laborator Controlere programabile

Structura hardware cu controlere TWIDO 3. Stabilirea valorii msurate (greutatea) Msurarea greutii se realizeaz cu ajutorul unui traductor de greutate, care furnizeaz un semnal cuprins ntre 0 i 10V, proporional cu greutatea msurat. Precizia msurrii este dat de cei 12 bii (4096 incremeni), pe care se realizeaz conversia intrrii analogice. 10v Precizia de msurare Pm = 12 = 2,44mV . 2 Intrarea analogic %IW1.0 va fi n funcie de valoarea greutii msurate. Greutii G2 (la care se nchide dozatorul 2) i va corespunde o valoare de 7V, iar lui G1 o valoare de 8V. Valoarea hexa corespunztoare pentru G2 va fi: 212 7 = 2867 = B33H . 10 Valoarea hexa corespunztoare pentru G1 va fi: 212 8 = 3277 = CCCH . 10 Se vor definii simboluri conform tabelului urmtor Operand Simbol Comentariu

%I0.0.11 %Q0.0.0 %I0.0.5 %I0.0.2 %I0.0.4 %Q0.0.6 %Q0.0.7 %Q0.0.1 %Q0.0.2 %Q0.0.4

AP AR CEVAC CLIPIRE CTAI ETIC EVAC ID1 ID2 LIP

Ambalaj pregtit Antrenare rol ambalaj Confirmare evacuare Confirmare lipire Confirmare tiere Etichetare ambalaj Evacuare produs ambalat nchidere dozator 1 nchidere dozator 2 Lipire

Laborator Controlere programabile


%IW0.1.0 %I0.0.10 %I0.0.7 %I0.0.3 %Q0.0.3 %I0.0.8 %I0.0.6 %I0.0.0 %I0.0.1 %I0.0.9 %Q0.0.5 %TM1 %TM0 MG PA PET PO PRIND RDET REVE RUN START STOP TAI TL TP Msurare greutate coninut Prezen ambalaj Poziie etichetare Poziie oprire Prindere ambalaj Revenire dispozitiv etichetare Revenire dispozitiv evacuare Execuie program Pornire instalaie Oprire instalaie Tiere pung Temporizare lipire Temporizare prindere

Realizarea programului i analizarea lui n TwidoSoft. Programul pe baza schemei Grafcet, pentru controlul acestui proces este prezentat n continuare. Lista de instruciuni =*= 1 LD %I0.0.1 AND %I0.0.10 AND %I0.0.11 #2 =*= 2 LD %I0.0.3 AND %I0.0.11 #3 LD %I0.0.3 ANDN %I0.0.11 AND %M0 ANDN %I0.0.9 #5 =*= 3 LD [ %IW0.1.0 >= 2867 ] #4 =*= 4 LD [ %IW0.1.0 >= 3277 ] #5 =*= 5 LD %TM0.Q ANDN %I0.0.9

Laborator Controlere programabile


#6 =*= 6 LD %TM1.Q ANDN %I0.0.9 #7 =*= 7 LD %I0.0.7 #8 =*= 8 LD %I0.0.4 AND %I0.0.6 ANDN %I0.0.9 #9 =*= 9 LD %I0.0.5 AND %I0.0.9 #2 LD %X1 ST %M0 LD %X2 ST %Q0.0.0 LD %X3 ST %Q0.0.1 ST %Q0.0.2 LD %X4 ST %Q0.0.2 LD %X5 ST %Q0.0.3 IN %TM0 LD %X6 ST %Q0.0.4 IN %TM1 LD %X7 ST %Q0.0.6 LD %X8 ST %Q0.0.5 LD %X9 ST %Q0.0.7 END