Lucrarea 3

55
Lucrarea nr. 3. Automatizarea unei maşini de găurire automată 1 Lucrarea nr. 3. Automatizarea unei maşini de găurire automată 1. Introducere 1.1. Conectarea intrărilor şi ieşirilor unui automat programabil Cataloagele firmelor constructoare de AP indică modul specific de legare al intrărilor şi ieşirilor unui AP la un proces. În general conectarea unei intrări se face în funcţie de modul de realizare a acesteia de către producător. Există două variante de intrări: intrări în curent continuu şi intrări în curent alternativ. Modul de legare al unei intrări de curent continuu este prezentat în fig. 1. Fig. 1. Conectarea intrărilor automatului la o sursă de curent continuu La automatele cu alimentare în curent alternativ se realizează variante în care alimentarea se poate face fie direct de la sursa de curent alternativ (fig. 2), fie în curent continuu, obţinut în automat prin redresare. În acest ultim caz pe panoul automatului se vor găsi borne de curent continuu. Fig. 2. Conectarea intrărilor automatului la o sursă de curent alternativ Ieşirile automatelor programabile pot fi de două tipuri: ieşiri sub formă de tranzistor şi ieşiri sub formă de releu (fig. 3). Există, de obicei trei borne: una la care se cuplează sursa exterioară, borna de ieşire propriu-zisă şi borna de legătură cu pământul. Uneori borna de legătură cu sursa exterioară este comună pentru mai multe ieşiri, legătura fiind făcută în interior. Aceasta se poate vedea în cataloagele firmei producătoare. Activarea unei ieşiri sub formă de tranzistor are ca efect deschiderea tranzistorului, dacă este alimentat. Sarcina ieşirii trebuie să fie alimentată ca în fig. 3, astfel încât la activarea ieşirii să fie legată la sursa de alimentare. Activarea unei ieşiri sub formă de releu are ca efect închiderea contactului acestuia. Sarcina ieşirii trebuie să fie alimentată astfel încât la activarea ieşirii să fie legată la sursă.

description

electrotehnica

Transcript of Lucrarea 3

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    1

    Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    1. Introducere 1.1. Conectarea intrrilor i ieirilor unui automat programabil

    Cataloagele firmelor constructoare de AP indic modul specific de legare al intrrilor i ieirilor unui AP la un proces. n general conectarea unei intrri se face n funcie de modul de realizare a acesteia de ctre productor. Exist dou variante de intrri: intrri n curent continuu i intrri n curent alternativ. Modul de legare al unei intrri de curent continuu este prezentat n fig. 1.

    Fig. 1. Conectarea intrrilor automatului la o surs de curent continuu La automatele cu alimentare n curent alternativ se realizeaz variante n care alimentarea se poate face fie direct de la sursa de curent alternativ (fig. 2), fie n curent continuu, obinut n automat prin redresare. n acest ultim caz pe panoul automatului se vor gsi borne de curent continuu.

    Fig. 2. Conectarea intrrilor automatului la o surs de curent alternativ

    Ieirile automatelor programabile pot fi de dou tipuri: ieiri sub form de tranzistor i ieiri sub form de releu (fig. 3). Exist, de obicei trei borne: una la care se cupleaz sursa exterioar, borna de ieire propriu-zis i borna de legtur cu pmntul. Uneori borna de legtur cu sursa exterioar este comun pentru mai multe ieiri, legtura fiind fcut n interior. Aceasta se poate vedea n cataloagele firmei productoare. Activarea unei ieiri sub form de tranzistor are ca efect deschiderea tranzistorului, dac este alimentat. Sarcina ieirii trebuie s fie alimentat ca n fig. 3, astfel nct la activarea ieirii s fie legat la sursa de alimentare. Activarea unei ieiri sub form de releu are ca efect nchiderea contactului acestuia. Sarcina ieirii trebuie s fie alimentat astfel nct la activarea ieirii s fie legat la surs.

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    2

    Fig. 3. Conectarea elementelor de execuie (sarcinii) la ieirile automatelor

    a. ieire sub form de tranzistor. b. ieire sub form de releu

    1.2. Automatul Siemens S7-200 Va fi programat n mediul Step7 Micro/WIN utiliznd limbajele STL, LAD i FBD. Se poate folosi att adresarea direct, ct i cea indirect. Adresarea direct:

    intrri: I0.0 I0.7, I1.0 I1.7; memorie intern: poate fi adresat pe bit (V0.0 V0.7, V1.0 V1.7 .), pe octet

    (VB0, VB1, VB2 ), pe cuvnt (VW0 este alctuit din octeii VB0 i VB1, octetul cel mai semnificativ fiind VB0, VW2,VW4), sau pe dublu cuvnt (VD0 alctuit din octeii VB0, VB1, VB2 i VB3, octetul cel mai semnificativ fiind VB0, VD4, VD8). n mod similar se adreseaz i memoria intern cu prefixul M, diferena dintre cele dou fiind c memoria intern V se poate utiliza pentru pointeri;

    ieiri: Q0.0 Q0.7, Q1.0 Q1.7. Pentru adresarea indirect variabilele trebuie declarate n Symbol Table. Constantele pot fi de tip ntreg sau reale.

    Constantele de tip ntreg se pot specifica n mai multe baze, de exemplu:

    constant zecimal: 180123 sau 180_123 constant binar: 2#0101 constant octal: 8#17 constant hexazecimal: 16#F constant ASCII: Un text

    Caracterul _ poate fi introdus pentru a facilita citirea mai uoar a constantelor. Constantele reale vor fi specificate folosind literele e sau E sau caracterul ., de exemplu: 4e2, -3.4, 3E10.

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    3

    1.3. Automatul Siemens S7-300 Va fi programat n mediul Step 7 Manager, utiliznd limbajele STL, LAD, FBD, Step7GRAPH i SCL. Programarea acestor automate este uor de realizat, iar depanarea poate fi realizat i offline folosind simulatorul PLC Sim. Se poate folosi att adresarea direct, ct i cea indirect. Adresarea direct:

    intrri: I124.0 I124.7, I125.0 I125.7, I126.0 I126.7; memorie intern: poate fi adresat pe bit (M0.0 M0.7, M1.0 M1.7 .), pe octet

    (MB0, MB1, MB2 ), pe cuvnt (MW0 este alctuit din octeii MB0 i MB1, octetul cel mai semnificativ fiind MB0, MW2,MW4), sau pe dublu cuvnt (MD0 alctuit din octeii MB0, MB1, MB2 i MB3, octetul cel mai semnificativ fiind MB0, MD4, MD8);

    ieiri: Q124.0 Q124.7, Q125.0 Q125.7. Adresele de intrare i de ieire prezentate sunt cele implicite alese de sistem, ele pot fi modificate la configurarea hardware a automatului.

    Pentru adresarea indirect, variabilele trebuie declarate fie la Symbols ca variabile globale, fie n interiorul obiectelor (OB, FB sau FC) ca variabile locale.

    Constantele pot fi de tip ntreg sau reale. Constantele de tip ntreg se pot specifica n mai multe baze, de exemplu:

    constant zecimal: 180123 sau 180_123 constant binar: 2#0101 constant octal: 8#17 constant hexazecimal: 16#F constant ASCII: Un text

    Caracterul _ poate fi introdus pentru a facilita citirea mai uoar a constantelor. Constantele reale vor fi specificate folosind literele e sau E sau caracterul ., de exemplu: 4e2, -3.4, 3E10.

    1.4. Automatul ABB KT97 Va fi programat n mediul AC1131 (CoDeSys) utiliznd limbajele IL, LAD, FBD, SFC i ST. Programarea acestor automate este uor de realizat, iar depanarea poate fi realizat i offline folosind simulatorul. Se poate folosi att adresarea direct, ct i cea indirect. Adresarea direct:

    intrri: %IX62.0 %IX62.15, %IX63.0 %IX63.7; memorie intern: poate fi adresat pe bit (%M0.0 %M0.7, %M1.0 %M1.7 .),

    pe octet (%MB0.0, %MB1.0, %MB2.0 ), pe cuvnt (%MW0, %MW2, %MW4), sau pe dublu cuvnt (%MD0, %MD4, %MD8);

    ieiri: %QX62.0 %QX62.15. Pentru adresarea indirect variabilele trebuie declarate la Global Variables n pagina Resources sau n antetul fiecrui program, folosind urmtoarea sintax:

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    4

    {AT }: {:=}; Constantele pot fi de tip ntreg sau reale.

    Constantele de tip ntreg se pot specifica n mai multe baze, de exemplu:

    constant zecimal: 180123 sau 180_123 constant binar: 2#0101 constant octal: 8#17 constant hexazecimal: 16#F constant ASCII: Un text

    Caracterul _ poate fi introdus pentru a facilita citirea mai uoar a constantelor. Constantele reale vor fi specificate folosind literele e sau E sau caracterul ., de exemplu: 4e+2, -3.4, 3E10.

    1.5. Automatul Moeller XC200 Va fi programat n mediul easy Soft CoDeSys. Programarea acestor automate este uor de realizat, iar depanarea poate fi realizat i offline folosind simulatorul. Se poate folosi att adresarea direct, ct i cea indirect. Adresarea direct:

    intrri: %IX0.0 %IX0.7; memorie intern: aceasta poate fi adresat pe bit (%MX0.0 %MX0.7, %MX1.0

    %MX1.7 .), pe octet (%MB0, %MB1, %MB2 ), pe cuvnt (%MW0 este alctuit din octeii %MB0 i %MB1, octetul cel mai semnificativ fiind %MB1, %MW2, %MW4), sau pe dublu cuvnt (%MD0 alctuit din octeii %MB0, %MB1, %MB2 i %MB3, octetul cel mai semnificativ fiind %MB3, MD4, MD8);

    ieiri: %QX0.0 %QX0.5. Pentru adresarea indirect variabilele trebuie declarate la Global Variables n pagina Resources sau n antetul fiecrui program, folosind urmtoarea sintax: {AT }: {:=}; Constantele pot fi de tip ntreg sau reale.

    Constantele de tip ntreg se pot specifica n mai multe baze, de exemplu:

    constant zecimal: 180123 sau 180_123 constant binar: 2#0101 constant octal: 8#17 constant hexazecimal: 16#F constant ASCII: Un text

    Caracterul _ poate fi introdus pentru a facilita citirea mai uoar a constantelor. Constantele reale vor fi specificate folosind literele e sau E sau caracterul ., de exemplu: 4e+2, -3.4, 3E10.

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    5

    1.6. Prezentarea modului de programare n Step 7 MicroWin Seria de automate programabile S7-200 este destinat aplicaiilor de automatizare de mic complexitate i cuprinde mai multe tipuri de uniti centrale. Pentru realizarea unui program cu aceast serie sunt necesare, n afara automatului, un calculator PC, mediul de programare Step 7 MicroWIN 32 i un cablu de comunicaie ntre PC i automat legat ntre portul PPI al automatului i portul serial al calculatorului pe care ruleaz programul. Firma SIEMENS produce astzi i o serie nou de automate de clas mic S7-22x, prevzute cu faciliti de comunicare pe reea nglobate, n unitatea central. Un automat S7-200 const dintr-un modul CPU, singur sau cu mai multe extensii. Un modul CPU este alctuit dintr-o unitate central, surs i intrri/ieiri, ntr-o structur compact. Un modul CPU are o serie de LED-uri de stare (RUN, STOP) i de vizualizare a strii intrrilor i ieirilor. Step 7 MicroWIN 32 este un pachet software pentru programarea i configurarea automatelor din seria S7-200. Acest pachet software permite setarea parametrilor hardware, editarea, depanarea i ncrcarea n automat a programelor elaborate. Limbajele suportate de Step 7 MicroWIN 32 sunt:

    STL, care este un limbaj de tip text, alctuit din instruciuni; LAD, care este un limbaj semi-grafic, alctuit din obiecte, prin interconectarea

    crora se realizeaz circuite, numite reele, care sunt asemntoare celor realizate cu contacte i relee;

    FBD, care este un limbaj semi-grafic, alctuit din obiecte, prin interconectarea crora se realizeaz circuite numite reele, care sunt asemntoare celor realizate cu circuite integrate.

    Atunci cnd se scrie un program n limbajele acceptate de acest pachet software se pot utiliza dou moduri de adresare: direct i indirect. Adresarea direct specific aria de memorie, dimensiunea i locaia. Se pot adresa diferite arii de memorie: V, M-pentru locaii din memoria intern, I-pentru locaii reprezentnd imaginile n memoria RAM ale intrrilor automatului, Q-pentru locaii reprezentnd imaginile n memoria RAM ale ieirilor automatului, T-pentru temporizatoare, C-pentru contoare, HC-pentru contoarele de mare vitez, AC-pentru acumulatoare, L-pentru variabile locale, AQ/AI-pentru ieirile/intrrile analogice, S-pentru variabilele utilizate pentru mprirea programului n segmente logice i SM-pentru locaii speciale de memorie, adresate ca bit, octet, cuvnt sau dublu cuvnt. Pentru aceasta se folosete pe lng arie i terminaia B, pentru octet, W, pentru cuvnt i D, pentru dublu cuvnt. Locaiile V i M sunt de acelai tip. Amndou sunt n memoria principal la CPU200. Exist mici diferene n unele aplicaii, de exemplu TD200 are nevoie de octei M pentru funciile tastelor i de octei V pentru mesaje. La adresarea pe byte, cuvnt sau dublu cuvnt se specific byte-ul de start al adresei. La variabilele care ocup mai muli octei se folosete memorarea big-endian byte order*.

    * Big-endian byte-order nseamn c primul octet este interpretat ca octetul cel mai semnificativ, iar urmtorii octei sunt n ordinea e la cel mai semnificativ spre cel mai puin semnificativ.

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    6

    Variabilele care ncep cu litera T sunt variabile legate de temporizatoarele (timere) automatului. Acestea sunt de fapt numrtoare de impulsuri, care au perioade diferite, asociate cu numrul care urmeaz dup litera T. Valorile perioadei sunt la CPU S7-200 egale cu 1 ms, 10 ms sau 100 ms. Fiecrui timer i se asociaz dou valori:

    Valoarea curent, care este un ntreg ce reprezint timpul scurs de la validarea intrrii timerului;

    O valoare pe bit, care are o evoluie n timp n funcie de un parametru (valoarea presetat) i de tipul timerului.

    Ambele valori sunt accesate utiliznd aceeai variabil, compus din litera T urmat de un numr. Accesul la una din cele dou valori este funcie de context. Instruciunile cu operanzi pe bit au acces la valoarea de bit, n timp ce instruciunile cu operanzi pe cuvnt acceseaz valoarea curent (fig. 4).

    Fig. 4. Adresarea n funcie de context avariabilelor de tip timer

    Variabilele care ncep cu litera C sunt variabile legate de contoarele automatului. Acestea sunt numrtoare de impulsuri care provin din exterior i care trebuie asociate unei intrri. Fiecrui contor i se asociaz dou valori:

    Valoarea curent, care este un ntreg ce reprezint numrul de impulsuri numrate de la validarea intrrii contorului;

    O valoare pe bit, care are o evoluie n timp n funcie de un parametru (valoarea presetat) i de tipul contorului.

    Ambele valori sunt accesate utiliznd aceeai variabil, compus din liter C urmat de un numr. Accesul la una din cele dou valori este funcie de context, la fel ca la timere. Instruciunile cu operanzi pe bit au acces la valoarea de bit, n timp ce instruciunile cu operanzi pe cuvnt acceseaz valoarea curent. Contoarele de mare vitez au de asemenea un mod de adresare direct, care se realizeaz prin folosirea literelor HC, urmate de numrul contorului. Contoarele de mare vitez sunt folosite pentru evenimente rapide, care nu pot fi controlate n cadrul ciclurilor automatului, adic a acelora care au schimbri de stare aa de rapide nct pot fi pierdute dac sunt legate de intrrile obinuite ale automatului. La CPU S7-200 sunt disponibile trei contoare de mare vitez al cror coninut, pe patru octei, poate fi accesat direct, utiliznd variabilele HC0, HC1 i HC2. Intrrile acestor contoare sunt de obicei legate la traductoare incrementale, care dau un numr de impulsuri pe rotaie i un impuls de reset la fiecare rotaie. HC0 este un contor UP/DOWN, care accept o singur intrare de ceas cu frecvena de maximum 2 KHz. Intrarea de numrare este legat la I0.0, iar direcia de numrare este setat

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    7

    prin intermediul unui bit special de memorie SM37.1 (Dac este 0, contorul numr direct i dac este 1 contorul numr invers). Contoarele HC1 i HC2 sunt contoare de mare vitez, foarte flexibile care pot fi configurate s funcioneze n 12 moduri. Configuraiile posibile sunt: contoare bidirecionale cu control intern al direciei de numrare, contoare bidirecionale cu control extern al direciei de numrare, contoare UP/DOWN cu intrri diferite din exterior pentru numrare direct i invers i contoare de impulsuri n cuadratur. nainte de a fi utilizat, un contor de mare vitez, trebuie realizat setarea unor bii din categoria biilor speciali de memorie, legai de contor. Aceti bii stabilesc nivelul de activare, al resetrii i startului. Ei sunt SM47.0, pentru HC1 i SM57.0, pentru HC2, pentru reset respectiv SM47.1 i SM57.1 pentru start. Dup setarea acestor bii contorul trebuie configurat i validat. Configurarea se realizeaz prin alegerea unuia din cele 12 moduri de lucru posibile. Se utilizeaz pentru aceasta instruciuni din setul de instruciuni al automatului. Diagramele de semnale i alte indicaii n legtur cu modul de utilizare al contoarelor de mare vitez se gsesc n manualele firmei productoare. Acumulatorii sunt dispozitive care pot fi utilizate ca memorii. Acetia se pot utiliza pentru transferul datelor ctre proceduri. La CPU S7-200 exist patru acumulatori (AC0, AC1, AC2, AC3). Un acumulator poate fi adresat i setat ca octet, cuvnt sau dublu cuvnt, n funcie de instruciunea utilizat. Variabilele care ncep cu literele SM sunt asociate biilor speciali de memorie. Acetia sunt un mijloc de comunicare ntre CPU i program, fiind utilizai pentru selectarea i controlul unor funcii speciale:

    Bii de stare care sunt actualizai de unitatea central la fiecare ciclu; Bii de stare a rezultatelor unor operaii aritmetice; Bii de identificare a tipului CPU i a prezenei modulelor de externe.

    Pentru mai multe detalii se poate consulta help-ul programului Step 7 MicroWIN 32 sau manualele firmei.

    Bitul special de memorie SM0.1 este 1 n primul ciclu i 0 n celelalte cicluri. El este utilizat la pentru introducerea marcajului iniial. n cadrul unui program n Ladder Diagram (LAD), introducerea marcajului iniial se va face ca n fig. 5. Se observ c transferul marcajului iniial n locaiile corespunztoare (aici MB0) se face numai n primul ciclu, deoarece validarea blocului de transfer n memorie a vectorului I0 este realizat numai n primul ciclu.

    Fig. 5. Introducerea marcajului iniial

    La automatul S7-200 este posibil adresarea prin intermediul pointerilor care se numete adresare indirect. Acest lucru este posibil pentru ariile de memorie de tip I, Q, M, V, T, C. Valorile pe bit sau analogice nu pot fi adresate indirect.

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    8

    Pentru a adresa o locaie n mod indirect trebuie creat mai nti un pointer ctre acea locaie. La CPU S7-200, pointerii sunt locaii de memorie pe dublu cuvnt, care conin adrese ale altei locaii de memorie. Pentru pointeri se pot folosi doar locaiile de tip V i acumulatorii. Un pointer se creeaz mutnd adresa unei locaii de memorie ntr-o alt locaie. La mutare, operandul care va reprezenta pointerul este precedat de caracterul &. n cazul n care se dorete accesarea unei valori specificate printr-un pointer se folosete caracterul * n faa operandului. Utilizarea adresrii indirecte este ilustrat n exemplul din fig. 6.

    Fig. 6. Lucrul cu pointeri n Step7 MicroWin

    Asupra pointerilor se pot efectua operaii aritmetice. Dac, n programul de mai sus, se intercaleaz instruciunea +D +4, AC1, atunci programul de mai sus va conduce la transferul n AC0 a datelor de la adresa VB104.

    n continuare vom descrie modul de lucru cu versiunea 4.0 a programului de consol STEP 7 MicroWIN 32. Aceast versiune are o serie de mbuntiri fa de versiunile anterioare printre care amintim: posibilitatea configurrii aplicaiilor cu noile tipuri de automate din seria 22x, posibilitatea configurrii unor reele Modbus, ASi i Ethernet, posibilitatea utilizrii unor vrjitori (Wizard) pentru configurare etc.

    n acest paragraf nu ne propunem s prezentm numai modul de realizare a unui program, utiliznd cea mai simpl legtur, realizat printr-un cablu cu convertor de reea serial. Vom presupune deci, c programul este instalat i c un anumit tip de automat din seria S7-200 este legat prin intermediul unui cablu cu convertor de la RS-232 la RS-485 la interfaa serial a calculatorului.

    La pornirea programului pe ecran va apare interfaa din fig. 7. Fereastra conine diferite componente ale mediului. Cea mai mare parte a spaiului de lucru este rezervat ferestrei de editare, a arborelui de instruciuni i ferestrei de navigare. Fereastra de ieire n care se afieaz o serie de informaii asupra operaiilor pe care le execut programul i eventualele erori de compilare. Fereastra de instruciuni mai conine i fereastra arborelui proiectului. Aceasta permite schimbarea n fereastra de editare a editorului de program, a editorului tabelei de simboluri, a editorului tabelei de stare, a editorului de blocuri de date. Aceste ferestre se pot maximiza, minimiza sau cascada. Lansarea diferitelor editoare este posibil i din fereastra de navigare.

    Fereastra editorului de program este o fereastr de editor de semigrafic sau text n funcie de tipul editorului lansat i de limbajul ales pentru editare. Primul lucru care trebuie fcut este setarea comunicaiei ntre program i automat. nainte de a seta comunicaia cu programul de consol se va avea n vedere realizarea prin intermediul comutatoarelor de pe convertor a vitezei de transmisie dorite.

    Pentru a ajunge n fereastra de setare a comunicaiei, exist mai multe ci: Selectarea din meniul programului a opiunii PLC Type Communication;

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    9

    Apsarea butonului Communication din fereastra de navigare. La oricare cale aleas va apare fereastra Communication. Aceasta arat ca n fig. 8. Dac se apas butonul Set PG/PC Interface, n care se poate alege interfaa adecvat (n cazul nostru PC/PPI cable), iar prin apsarea butonului Properties se pot seta proprieti pentru interfaa selectat. Aceste proprieti trebuie s coincid cu cele ale cablului de legtur i portului la care este conectat acesta.

    Fig. 7. Interfaa cu utilizatorul a programului STEP 7-MicroWin 32

    Fig. 8. Fereastra Communication

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    10

    Dup realizarea setrilor dorite, la revenirea n fereastra din fig. 8 parametrii de comunicaie vor fi modificai corespunztor, iar prin efectuarea unui dublu clic n fereastr se va realiza i vizualiza legtura cu automatul. Cu aceasta faza de setare a comunicaiei se consider ncheiat

    1.6.1. Componentele unui proiect Un proiect are urmtoarele componente:

    Blocul de program. Acesta cuprinde codul programului principal (MAIN), al subrutinelor i al rutinelor de ntrerupere;

    Tabela de simboluri (Symbol Table). Aceasta conine un tabel de asociere a variabilelor din memorie cu nume simbolice alese de programator;

    Tabela de stri (Status Chart). Aceasta conine unul sau mai multe tabele unde se poate urmri starea intrrilor, ieirilor i a variabilelor programului;

    Blocul de date (Data Block). Acesta conine date care reprezint valori iniiale ale unor locaii de memorie, constante i comentarii;

    Blocul sistem (System Block). Acesta conine date care se pot ncrca n automat i care se refer la adresa automatului, parametrii comunicaiei, definirea zonelor de memorie care vor fi folosite la memorarea unor date la cderea tensiunii, setarea unor ieiri de siguran la trecerea din RUN n STOP a automatului, setarea unor parametri ai filtrelor de pe intrrile automatului etc.;

    Tabela de referine ncruciate (Cross References). Aceasta poate conine un tabel unde se afl o list cu operanzii utilizai n program, locul i contextul n care sunt utilizai.

    1.6.2. Editorul de programe Dac se apas butonul Program Block, n fereastra de navigare se deschide editorul de programe. Un program n STEP 7 MicroWin are trei tipuri de uniti de organizare (POU - Program Organization Unit ):

    Programul principal (OB1); Subrutine; Rutine de ntrerupere.

    Se poate realiza o editare a programului ntr-unul din limbajele STL, LAD sau FBD. Comutarea ntre acestea este posibil chiar n timpul editrii din meniul View. Deoarece scrierea unui program n LAD este mai comod dect n limbajul STL, vom descrie n cele ce urmeaz numai programarea n LAD i vom face numai unele precizri asupra programrii n FDB, care a devenit mai bine implementat n aceast versiune. Un program n LAD este alctuit din una sau mai multe reele. Fereastra editorului LAD este mprit n celule. n fiecare celul poate fi plasat o instruciune, poate fi scris un operand al instruciunii (parametru) sau poate fi plasat o linie de legtur orizontal sau vertical. Linia de alimentare stng este prezent n fiecare reea, iar linia de alimentare dreapt nu exist. Construirea unei reele se face prin plasarea n celulele din suprafaa editorului a unui obiect al limbajului. Plasarea se poate face n mai multe moduri. Cel mai comod este alegerea obiectului din arborele de instruciuni i realizarea unui dublu clic pe acesta. Orice obiect plasat are unul sau mai muli parametri pe care programatorul trebuie s-i seteze nainte de compilarea programului. Recomandat este ca parametrizarea s se realizeze imediat dup plasarea obiectului. Pentru a realiza parametrizarea se utilizeaz tastatura, dup ce n prealabil se selecteaz celula pentru parametru. Orice parametrizare trebuie realizat n

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    11

    concordan cu valorile acceptate de obiectul respectiv. O parametrizare incorect conduce la erori de compilare. Ea este semnalat nc din faza de editare prin sublinierea cu o linie roie a parametrului incorect. n afara obiectelor limbajului, o reea are un titlu i un comentariu, care pot fi folosite pentru documentarea programului. Regulile cele mai importante care trebuie respectate la scrierea unui program n LAD sunt urmtoarele:

    Fiecare reea trebuie s nceap cu un contact, n timp ce o reea nu se poate termina cu un contact. Aceast regul poate fi ocolit utiliznd un contact legat la o variabil care este ntotdeauna egal cu unu. Bitul special de memorie SM0.0 poate fi folosit pentru acest scop;

    O reea poate avea mai multe contacte plasate n serie sau n paralel; O bobin nu poate fi plasat la nceputul unei reele, aceasta fiind posibil de utilizat

    la sfritul reelei; Bobinele nu pot fi legate n serie, dar pot fi legate n paralel n orice punct al reelei; Mai multe obiecte ale limbajului pot fi legate n serie utiliznd ieirea ENO, dac

    utilizarea acestei ieiri este suportat de automatul cu care se lucreaz. Seria 22x accept acest mod de legare n cadrul reelei;

    Numrul de celule pe orizontal sau pe vertical nu poate depi 32 n aceeai reea; n aceast versiune nu este necesar plasarea instruciunilor END, RET i RETI, ele

    fiind nserate automat de ctre compilator. Utilizarea subrutinelor ntr-un program este util pentru mprirea acestuia n mai multe pri mai mici, mai uor de gestionat i documentat. n acest fel se obin performane mai bune n programare. Iniial un program are n componen o subrutin (SUBR_0) i o rutin de ntrerupere (INT_0). Pentru scrierea instruciunilor acestora se selecteaz ferestrele corespunztoare din editorul de program. Pentru a crea o nou subrutin se poate realiza un clic dreapta n fereastra de editare i apoi se alege Insert Subroutine. ntreruperile sunt generate de evenimente. naintea apelului unei rutine de ntrerupere trebuie stabilit o asociere ntre eveniment i segmentul de program, care se execut atunci cnd evenimentul apare. Pentru aceasta se folosete instruciunea ATCH (fig. 9).

    Fig. 9. Instruciunea de ataare a unui eveniment unei rutine de ntrerupere

    Invalidarea acestei asocieri se realizeaz cu instruciunea DTCH (fig. 10), care realizeaz dezactivarea ntreruperii. Pentru a crea o nou rutin de ntrerupere se poate realiza un clic dreapta n fereastra de editare i apoi se alege Insert Interrupt. Numrul evenimentului asociat unei ntreruperi este funcie de tipul automatului folosit. n help-ul programului Step 7 MicroWin se gsesc tabele de asociere a evenimentelor cu numere. De asemenea sunt precizate n aceste tabele i prioritile asociate acestor ntreruperi.

    Fig. 10. Instruciune de dezactivare a unei ntreruperi.

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    12

    Servirea cererilor de ntrerupere multiple se face n tehnica LIFO i n funcie de prioriti. Stiva LIFO are 128 locaii. Din momentul n care ncepe execuia unei rutine de ntrerupere ea nu mai poate fi ntrerupt dect de o ntrerupere cu prioritate mai mare. Versiunea 4.0 a programului are un editor FBD mai bine pus la punct dect versiunile anterioare. La fel ca i editorul LAD, editorul FBD este semi-grafic bazat pe reele i celule n care se pot introduce blocuri i parametri. Nu mai exist linii de alimentare i legarea blocurilor se face automat sau manual, n acest ultim caz utilizndu-se Line Down, Line Up, Line Right i Line Left de pe bara de scule. Legarea manual este destul de greoaie. Pentru a putea utiliza bistabilele R-S i S-R trebuie ca n ToolsOptionsGeneral s fie selectat Programming Mode: IEC 1131-3 i Mnemonic SetInternational, ca n fig. 11.

    Fig. 11. Fereastra Options

    1.6.3. Tabela de variabile globale i tabela de variabile locale Variabilele globale sunt variabilele care au domeniul de vizibilitate extins la toate unitile dintr-un proiect. Ele asociaz nume simbolice adreselor de memorie ale automatului sau intrrilor i ieirilor. Numele simbolice trebuie s nceap cu o liter. Dac se utilizeaz modul de programare SIMATIC, variabilele simbolice se definesc n Symbol Table, iar dac se utilizeaz modul de programare IEC 1131-3 acestea se definesc n Global Variable Table.

    Fig. 12. Tabela variabilelor globale

    n fig. 12 este prezentat o tabel de variabile globale, iar n fig. 13 modul n care aceast tabel este reflectat n programul MAIN.

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    13

    Fig. 13. Reflectarea n unitatea de program a variabilelor globale

    Fiecare unitate de program (POU) a unui proiect are propria sa tabel de variabile locale de 64 octei de tip L. Aceast tabel definete variabile cu domeniu de vizibilitate restrns la unitatea de program respectiv. Utilizarea variabilelor locale este recomandat atunci cnd se dorete elaborarea unor subrutine generale, utilizabile i n alte programe. Dac este vorba de subrutine atunci variabilele locale pot fi de mai multe tipuri:

    IN reprezint un parametru provenit din apelarea POU; OUT reprezint un parametru returnat n programul apelant; IN_OUT reprezint un parametru nlocuit la apelare, modificat n cursul execuiei

    subrutinei i returnat n programul apelant; TEMP reprezint valori care sunt salvate temporar n stiva variabilelor locale i care

    dup ce subrutina s-a executat sunt distruse.

    1.6.4. Status Chart Termenul status se refer la informaii asupra valorilor curente ale operanzilor atunci cnd programul este executat n automat. Aceste informaii se pot vizualiza ntr-o tabel completat de utilizator numit Status Chart i/sau direct n program dac se selecteaz DebugStatus Chart i/sau DebugProgram Status. n fig. 15 sunt prezentate informaiile de stare din program, iar n fig. 16 informaiile din Status Chart.

    Fig. 15. Informaii de stare ntr-un program STEP 7 MicroWin

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    14

    Fig. 16. Informaii de stare n Status Chart din STEP 7 MicroWin

    Informaiile de stare sunt disponibile dac sunt ndeplinite urmtoarele condiii: Programul a fost compilat i ncrcat n automat; Comunicaia cu automatul este stabilit; S-a selectat DebugStatus Chart i/sau Debug Program Status.

    1.6.5. Data Block Fereastra Data Block (Data Initialize) permite iniializarea valorilor unor variabile de tip V. Editorul din fereastra blocului de iniializare este un editor de text liber, neavnd zone definite pentru introducerea informaiilor. Un spaiu sau TAB constituie separator de cmpuri, iar o singur linie conine maximum 255 caractere. O linie din blocul de iniializare conine adresa de start pentru una sau mai multe valori aflate ntr-o list i un comentariu, care trebuie precedat de caracterele //. Prima linie trebuie s aib o adres explicit. Urmtoarele linii pot s nu conin adrese explicite, caz n care adresele care vor fi iniializate urmeaz adresei explicite anterioare i este de aceeai form cu ea. Dup ce o linie este introdus i se apas tasta ENTER se realizeaz n mod automat aranjarea liniei pe cmpuri. Se poate omite specificarea tipului variabilei. n acest caz se atribuie valoarea unei locaii de memorie n concordan cu lungimea datei. n fig. 17 este prezentat un bloc valid de iniializare. // //Comentariu la un bloc de date // VB0 1 // Atribuirea valorii 1 lui VB0 VB1 255, 233 // Atribuire multipla: 255 lui VB1 si 233 lui VB2

    Fig. 17. Iniializarea de date

    Erorile care pot apare la scrierea unui bloc de iniializare sunt:: Specificarea unui alt tip de zona de memorie dect cel de tip V; Specificarea unei constante mai mari dect zona de memorie; Nerespectarea condiiei ca zona de memorie s precead data; Specificarea unei adrese de mai multe ori.

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    15

    La compilare sunt specificate erorile i din Data Block. Dac n fereastra de ieire se realizeaz un dublu clic pe eroare, se deschide fereastra i cursorul este poziionat pe acea eroare. Dac se alege PLC Create Data Block from RAM, valorile curente din RAM sunt introduse n blocul de date. Pentru aceasta trebuie ca automatul s fie conectat la PC i s fie n modul STOP.

    1.6.6. System Block La apsarea butonului System Block va apare fereastra din fig. 18 cu mai multe pagini, n cadrul crora se pot realiza setri importante ale automatului. n pagina Output Table se poate realiza setarea strii unor ieiri ale automatului la trecerea din RUN n STOP. Se poate realiza de asemenea o ngheare a ieirilor. Aceste setri sunt importante pentru realizarea unor modificri ON-LINE ale unor programe i anumite ieiri sunt legate la elemente de acionare, care trebuie s se afle n stri date la oprirea automatului. O astfel de ieire este, de exemplu, ieirea legat la electromagnetul de acionare a frnei unui lift.

    Fig. 18. Fereastra System Block (pagina Output Table)

    n pagina Input Filters se pot realiza parametrizri ale filtrelor digitale de pe intrrile automatului. Parametrizarea unui filtru digital nseamn stabilirea timpului ct un semnal de intrare trebuie s rmn activ pentru a fi acceptat ca valid. n felul acesta, un astfel de filtru rejectez zgomotele care apar pe linii de intrare impunnd condiia ca acestea s rmn stabile un timp nainte da a fi acceptate de automat.

    n pagina Analogue Input Filters, dac automatul are module de intrri analogice, se poate seta o filtrare software a anumitor intrri. Filtrarea software se realizeaz prin medierea unui numr de eantioane de pe intrarea analogic.

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    16

    Filtrul realizeaz modificarea unei intrri analogice la ultima valoare de intrare, dac aceasta depete o valoare numit band moart (dead band), fa de valoarea medie. Numrul de eantioane i banda moart se stabilete pentru toate intrrile care se bifeaz n pagin. n pagina Pulse Catch Bits se poate realiza gestionarea impulsurilor scurte de pe intrrile automatului. Pe intrrile automatului pot apare impulsuri scurte a cror schimbare de stare i revenirea n starea iniial nu poate fi sesizat de automat deoarece au loc ntr-un timp mai scurt dect durata ciclului automatului. Modelele CPU-22x permit prin aceste setri prelungirea impulsului pn la ciclul urmtor, astfel nct s fie citite n faza PIIT (Process Image Input Table) a noului ciclu. n pagin trebuie efectuat bifarea intrrilor care s realizeze prelungirea impulsului. Acest lucru nu poate fi realizat la modelele CPU-21x.

    n pagina Communication Port(s) se poate realiza schimbarea adresei automatului i a vitezei de comunicaie. Valorile implicite ale adresei i vitezei sunt 2 respectiv 9600 bps. Toate modificrile fcute n fereastra System Block devin operaionale dup ncrcarea acestuia n automat.

    1.6.7. Cross References Fereastra Cross References are trei pagini: Cross References, Byte Usage i Bit Usage. Aceast fereastr permite cunoaterea modului de utilizare a variabilelor n cadrul programului. Se pot evidenia numele variabilei, blocul n care este utilizat, locul i contextul. Se mai pot evidenia care octet i bit din care arie este utilizat n cadrul programului.

    1.6.8. Realizarea unui program n STEP 7 MicroWIN Pentru a realiza i ncrca un program, utiliznd STEP 7-MicroWIN 32 trebuie realizai urmtorii pai:

    Instalarea programului STEP 7-MicroWIN 32 pe un PC; Conectarea cablului de legtur dintre PC i automat; Conectarea automatului la sursa de alimentare; Setarea comunicaiei dintre PC i automat; Analiza caietului de sarcini i ntocmirea grafului automatizrii; Realizarea programului pentru automat, utiliznd una din metodele expuse n

    capitolele anterioare; Crearea programului n mediul de programare; ncrcarea programului n automat; Testarea programului, utiliznd simulatoare de proces i facilitile oferite de meniul

    Debug Program Status i/sau Debug Status Chart. Presupunnd c primii pai au fost efectuai n conformitate cu cele expuse n paragraful anterior, vom descrie modul de realizare a programului pornind de la caietul de sarcini.

    1.7. Prezentarea modului de programare n Step 7 Manager

    1.7.1. Particulariti hardware i software ale AP din seria S7-300 Seria de automate programabile S7-300 este destinat aplicaiilor de automatizare de complexitate medie care cer memorie i vitez de execuie mai mare, un numr mai mare de intrri/ieiri i posibiliti de programare i comunicaie cu alte automate mai extinse. Seria

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    17

    cuprinde mai multe tipuri de uniti centrale. Pentru realizarea unui program cu aceast serie sunt necesare, n afara automatului, de un calculator PC, de mediul de programare Step 7 Manager i un cablu de comunicaie ntre PC i automat. Un automat S7-300 const dintr-un modul CPU, singur sau cu mai multe extensii. Un modul CPU este alctuit dintr-o unitate central, surs i intrri/ieiri, ntr-o structur compact. Un modul CPU are o serie de LED-uri de stare (RUN, STOP) i de vizualizare a strii intrrilor i ieirilor. Step 7 Manager este un pachet software pentru programarea i configurarea automatelor programabile din seria SIEMENS S7-300 i S7-400, crearea i depanarea programelor i configurarea i conectarea n reea a automatelor. Acest program de consol ine seama de particularitile hardware i software ale automatelor din aceast clas. Aceste particulariti vor fi analizate n cele ce urmeaz. Pe un automat programabil S7-300, ca de altfel toate automatele, se execut dou tipuri de programe:

    Sistemul de operare; Programele utilizator.

    Specific acestor automate este modul cum sunt organizate programele utilizator. Automatul din clasa S7-300, are un sistem de operare care conine toate funciile i secvenele care nu sunt asociate cu un program de control specific. Sarcinile sistemului de operare, la automatele din clasa S7-300, sunt:

    Conduce repornirea complet (Complete restart) i repornirea sistemului (Restart); Apeleaz programul utilizator; Detecteaz ntreruperile i apeleaz blocurile de servire a ntreruperii; Detecteaz i semnaleaz erorile; Gestioneaz ariile de memorie; Gestioneaz comunicaia cu modulele i cu ali parteneri.

    Programul utilizator este creat cu scopul rezolvrii unor sarcini specifice ale unei automatizri. n STEP 7 se poate realiza structurarea unui program utilizator, prin mprirea lui n pri de sine stttoare numite blocuri. Acest lucru favorizeaz nelegerea uoar a programelor i realizarea cu uurin a modificrilor. Programul utilizator este alctuit din blocuri, instruciuni i adrese. nainte ca un bloc s fie procesat el trebuie apelat. Apelarea blocurilor de tip OB se face de ctre sistemul de operare, iar apelarea celorlalte tipuri se face din interiorul blocurilor scrise de utilizator, n mod asemntor cu apelarea unei rutine. Principalele blocuri ale unui program sunt urmtoarele: OB (Organization Block) este interfaa ntre sistemul de operare i programul utilizator. Acest bloc este apelat de ctre SO ca urmare a generrii unei ntreruperi ciclice sau a altor tipuri de ntreruperi, cum este, de exemplu, ntreruperea generat la pornirea automatului. De asemenea blocurile OB gestioneaz rspunsul la erori. De cele mai multe ori tipul predominant de program executat de automat este cel ciclic (blocul OB1). Aceasta nseamn c SO apeleaz n mod ciclic blocul OB1 pentru fiecare execuie a programului scris de utilizator. Programul ciclic poate fi ntrerupt de evenimente (ntreruperi). Dac un astfel de eveniment are loc, blocul care se execut este ntrerupt, la terminarea comenzii care se executa, i un alt OB, acela care este desemnat pentru ntreruperea respectiv, este apelat. Lista blocurilor de tip OB, i a ntreruperilor care le apeleaz, pentru automatele din clasa S7-300 este dat n Tab. 1. Nu toate automatele accept toate ntreruperile din aceast list.

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    18

    Tab. 1. Lista blocurilor OB NUMELE PROGRAMULUI NUMELE BLOCULUI PRIORITATEAProgramul ciclic OB1 1 ntreruperi de tip Time of day OB10-OB17 2 ntreruperi de timp OB20-OB23 3-6 ntreruperi ciclice (1 ms-1min) OB30-OB38 7-15 ntreruperi hardware OB40-OB47 16-23 Erori asincrone OB80 Eroare de timp

    OB81 Eroare de surs OB82 Diagnostic OB83 Inserare modul OB84 Hardware OB85 Prioritate OB86 Rack OB87 Comunicare

    26 28

    Ciclu background OB90 29 Pornire sau trecerea comutatoruluiDin START n STOP

    OB100 OB101

    27 27

    Pentru informaii asupra blocurilor care pot fi folosite pentru un automat dat se utilizeaz n STEP 7 Manager opiunea Properties, aa cum se va prezenta mai jos. De asemenea trebuie precizat c prioritile pentru automatele din clasa S7-300 sunt fixe, ele pot fi modificate doar pentru clasa S7-400. Fiecare bloc OB primete informaii de start ntr-un cmp de 20 octei, care sunt transferai ctre el de ctre SO. Aceste informaii specific: evenimentul care a pornit blocul, data i ora la care a pornit, eroarea care a avut loc i altele (de exemplu la o ntrerupere hardware se specific adresa modulului care a generat ntreruperea). La pornirea automatului, dup execuia blocului de pornire fr erori, se va executa blocul OB1. Programul executat cuprinde: pornirea monitorizrii timpului de ciclu, citirea intrrilor i actualizarea PIIT (Process Image Input Table), procesarea instruciunilor din program (instruciuni coninute n OB1 i alte blocuri apelate de el), scrierea la ieiri a valorilor din PIOT (Process Image Output Table), sarcini ale sistemului de operare (primirea i transmiterea datelor globale etc.) Programul ciclic OB1 poate fi ntrerupt de: o alt ntrerupere, comanda de STOP, cderea alimentrii, apariia unei erori. Se poate realiza o configurare a tipurilor de OB care ntrerup ciclul OB1, fie prin intermediul lui STEP 7, fie prin apelarea unei funcii de sistem. Primul ciclu al unui automat ncepe cu OB100, aa cum se vede n fig. 19. Blocul OB100 poate fi folosit de ctre programatori pentru realizarea unor operaii unice, cum este operaia de introducere a marcajului iniial n cazul n care se utilizeaz metoda activrii i dezactivrii sincrone pentru proiectarea programului.

    Fig. 19. Primul ciclu al unui automat din clasa S7-300

    Timpul de ciclu (scan time) este timpul necesar sistemului de operare pentru execuia programului ciclic i a tuturor blocurilor care ntrerup programul ciclic. Aa cum se vede n fig. 20 timpul de ciclu nu este acelai la fiecare ciclu.

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    19

    Dac utilizatorul a specificat un timp minim pentru ciclu (Tmin) i acesta este mai mare dect timpul necesar procesrii instruciunilor, restul de timp va fi utilizat pentru executarea unui bloc special de fond (background) numit OB90 (fig. 21). Acesta are o caracteristic special si anume aceea c timpul su de execuie nu este monitorizat de sistemul de operare, aa c nu se pot programa bucle de lungime mare n acest bloc.

    Fig. 20. Cicluri de diferite lungimi

    Fig. 21. Prelungirea unui ciclu cu un bloc de fond

    Partea din programele utilizator care nu se execut ciclic va fi plasat n blocuri care nu se execut dect n anumite condiii. Aceste blocuri pot fi activate de diferite evenimente: evenimente care au loc la o anumit dat i or (time of day interrupt), evenimente care au loc cu o ntrziere setabil sau evenimente ciclice. n STEP 7 Manager sunt opt blocuri de tip Time-of-day interrupt. Blocurile au numere de la OB10 la OB17. Utilizatorul poate programa aceste blocuri pentru a fi procesate: o singur dat, la fiecare minut, la fiecare or, o dat pe zi, o dat pe sptmn, o dat pe lun sau o dat pe an. Pentru pornirea ntreruperilor de acest tip trebuie mai nti ca acestea s fie setate, iar apoi s fie activate. Exist trei opiuni pentru pornire:

    Pornirea automat a acestora. Acest lucru are loc dac se seteaz i se activeaz ntreruperile time-of-day din STEP 7 Manager. Se pot alege una din urmtoarele opiuni: Non (n acest caz nici un bloc OB nu este procesat, chiar dac este ncrcat n automat), activated once (n acest caz ntreruperile time-of-day sunt dezactivate dup procesarea lor o singur dat) sau activate o dat pe minut, or, zi, lun, an;

    Setarea din STEP 7 Manager i activarea prin apelul funciei de sistem SFC30 (ACT_TINT) din programul utilizator;

    Setarea prin apelarea funciei de sistem SFC28 (SET_TINT) i activarea prin apelul funciei de sistem SFC30 (ACT_TINT) din programul utilizator.

    n Step 7 Manager sunt patru blocuri de tip time-delay interrupt (OB20 la OB23), fiecare din ele fiind procesat dup o ntrziere care poate fi setat. Blocurile sunt pornite prin apelul funciei de sistem SFC32 (SRT_DINT), timpul de ntrziere fiind un parametru al funciei. Atunci cnd se apeleaz SFC32, trebuie precizat numrul blocului OB, timpul n milisecunde i un identificator specific dat de utilizator.

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    20

    n afara apelului funciei SFC32, utilizatorul mai trebuie s scrie blocul corespunztor (OB20 OB23) i s-l ncarce ca parte a programului su. Aceste ntreruperi sunt procesate doar n modul RUN. Se poate realiza o anulare a ntreruperii, dac ea nu a fost procesat, prin apelul funciei SFC33 (CAN_DINT). Utiliznd funcia SFC34 (QRY_DINT) se poate afla starea ntreruperii. Utilizatorul poate dezactiva sau ntrzia ntreruperile de acest tip prin apelul funciilor SFC39 i SFC42. n Step 7 Manager sunt nou ntreruperi ciclice prin intermediul crora se poate realiza pornirea unor programe la intervale de timp echidistante i predefinite. Aceste intervale de timp pot fi modificate. n Step 7 Manager sunt cel mult opt ntreruperi hardware independente una de alta fiecare din ele avnd propriul bloc OB. Prin intermediul lui STEP 7 Manager se furnizeaz urmtoarele informaii pentru fiecare semnal care este considerat generator de ntrerupere:

    Ce canal va fi triggerat i n ce condiii; Care bloc OB va fi ataat fiecrui canal individual.

    Dac apare o ntrerupere hardware, sistemul de operare identific ntreruperea determinnd care bloc OB este asociat ntreruperii, iar n cazul n care nici o ntrerupere de prioritate mai mare nu este activ, l activeaz. Confirmarea executrii ntreruperii are loc dup procesarea blocului. Utilizatorul poate dezactiva sau ntrzia ntreruperile de acest tip prin apelul funciilor SFC39 i SFC42.

    Trebuie ca utilizatorul s se asigure c fiecare OB ciclic ruleaz un timp mai mic dect intervalul de timp la care apare alt ntrerupere ciclic. Dac procesarea blocului nu este complet i s-a scurs un timp, astfel nct blocul trebuie din nou apelat, se apeleaz blocul de eroare OB80.

    1.7.2. Crearea unui proiect n Step7 Manager La pornirea programului pe ecran va apare interfaa din fig. 22. Fereastra conine diferite componente ale mediului. Cea mai mare parte a spaiului de lucru este rezervat ferestrei proiectului.

    Fig. 22. Fereastra programului Step7 Manager

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    21

    Programul de consol STEP 7 Manager ine seama de particularitile hardware i software ale acestor automate. Se va descrie modul de lucru cu versiunea 5.4 a acestui program. Ne propunem, ca mai sus, s analizm modul de realizare a unui program, utiliznd o legtur cu cablu cu convertor ntre automat i PC-ul unde ruleaz STEP 7 Manager. Vom presupune c programul este instalat i c pe reeaua serial este legat un automat. n STEP 7 Manager proiectul este utilizat pentru memorarea datelor i programelor care realizeaz o automatizare. Acestea se memoreaz ntr-un proiect sub form de obiecte, care sunt aranjate sub form arborescent, ntr-un mod asemntor cu cel din Windows Explorer. Singura deosebire este c icoanele obiectelor au o form diferit. Proiectul este structurat pe mai multe nivele:

    Nivelul 1: Proiect; Nivelul 2: Subreele, staii sau programe; Nivelul 3: Depinde de obiectele de la nivelul 2.

    Un exemplu de proiect cu mai multe nivele este prezentat n fig. 23.

    Fig. 23. Proiect n STEP 7 Manager

    Obiectul Project este entitatea care conine toate datele despre o soluie de automatizare. Acesta conine la rndul lui obiectele prezentate n fig.22. Obiectul Station cuprinde la rndul su obiectele Hardware i Programmable Module. Obiectul Hardware permite introducerea ntr-un rack a automatului folosit, mpreun cu modulele de extensie i eventual configurarea unei reele avnd n componen automatul care urmeaz a fi programat. Obiectul Programmable Module este n acelai timp un obiect, la nivelul Station i un fiier-obiect, la nivelul Programmable Module. Obiectul Programmable Module conine obiectul S7 Program (M7 Program), care la rndul su conine obiectele Source File i Blocks. A realiza un proiect n STEP 7 Manager nseamn a crea obiectele, a le seta proprietile dorite i a scrie programele pentru blocurile componente. Exist dou ci pentru realizarea unui proiect:

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    22

    Utilizarea unui Wizard, care pornete automat la lansarea programului STEP 7 Manager, cu setrile implicite;

    Crearea manual a proiectului. Vom descrie n continuare modul manual de creare a unui proiect. Crearea manual a proiectului presupune alegerea FileNew de unde se ajunge n fereastra din fig. 24, unde se d un nume proiectului i se alege directorul n care va fi memorat proiectul.

    Fig. 24. Fereastra New Project

    La apsarea butonului OK se revine n fereastra principal, unde se adaug din meniu prin Insert StationSimatic S300 Station i se ajunge n fereastra din fig. 25, unde se realizeaz un dublu clic pe Hardware ceea ce are ca efect activarea unei ferestre n care se alege mai nti un rack din list i ca urmare va apare fereastra din fig. 26.

    Fig. 25. Fereastra my_proj dup nserarea staiei

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    23

    Fig. 26. Fereastra HW Config dup introducerea unui rack

    Apoi se introduce n slotul 2 al acestuia automatul care trebuie programat prin dublu clic pe acel automat, dup ce a fost selectat slotul. Dup introducerea automatului n rack se pot vedea o serie de informaii despre automatul selectat cum ar fi: adresele hardware implicite ale tuturor intrrilor, ieirilor i a altor module ale automatului setate de productor (fig. 27).

    Fig. 27. Fereastra HW Config dup introducerea automatului

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    24

    Aceast setare poate fi schimbat de utilizator numai dac se lucreaz ONLINE cu automatul. Se salveaz aceast alegere i se revine n fereastra principal. Proiectul este acum gata, avnd n componena automatul ales i un singur bloc, blocul OB1.

    Fig. 28. Fereastra proiectului dup introducerea automatului

    Introducerea altor blocuri i funcii se poate face din meniu prin alegerea opiunii Insert. Prin dublu clic asupra unui OB, FB, FC sau a altui element se deschide editorul pentru acel bloc i se pot realiza programe. Nu exist deosebiri importante ntre editoarele din STEP 7 Manager i cele din Step 7 MicroWIN.

    Dac n fereastra de configurare din fig. 27 se selecteaz automatul ales i se realizeaz un clic dreapta alegndu-se Object Properties; va apare o fereastr n care se pot realiza o serie de setri ale unor parametri ai blocurilor de ntreruperi de tip Time-of-Day, Cyclic Interrupts, Hardware Interrupts precum i alte setri privind comunicaia sau memoriile retentive. Pentru tipul de automat ales sunt active numai acele elemente care sunt implementate n sistemul de operare al automatului respectiv. Celelalte valori, care nu se pot modifica sunt invalidate. Se vede c n cazul automatului Se pot realiza de asemenea i schimbri ale adreselor variabilelor de intrare i ieire ale automatului. Pentru a efectua o astfel de schimbare trebuie selectat slotul n care este montat modulul respectiv, se realizeaz un clic dreapta i se alege Object Properties... In fereastra care apare (fig. 29) se pot schimba adresele implicite pentru variabilele de intrare/ieire. n prealabil trebuie realizat o deselectare a casetei System Default. Dup efectuarea oricror modificri, care se fac OFF-LINE acestea trebuie salvate n proiect i apoi ncrcate sub forma unor date de sistem n automat odat cu ncrcarea programului.

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    25

    Fig. 29. Fereastra de schimbare a adreselor implicite pentru un modul al unui modul

    Blocurile de tip FB sunt situate ierarhic sub blocurile OB. Ele conin acea parte a programului care poate fi apelat de mai multe ori n OB1. Parametrii formali i statici ai unui bloc FB sunt salvai n blocuri de date DB separate. Crearea unui bloc FB se face din fereastra principal prin alegerea opiunii InsertS7 Block Function Block, dup care n fereastra din fig. 30 se introduce numele funciei, limbajul n care va fi scris funcia i dac este prevzut cu posibiliti de apelare cu mai multe instane.

    Fig. 30. Fereastra Properties pentru introducerea unui FB

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    26

    Dup crearea blocului se execut dublu clic pe bloc, ceea ce deschide editorul blocului. Fereastra editorului conine, n partea de sus un tabel pentru declararea variabilelor locale i n partea de jos poriunea pentru scrierea codului. nainte de a putea fi apelat un bloc FB, acestuia trebuie s i se defineasc i s introduc parametrii n tabelul variabilelor locale. Toi parametrii de intrare/ieire specifici ai blocului trebuie transferai din/n programul apelant. Parametrii unui bloc FB sunt de cinci feluri: IN - n care caz reprezint intrri ale blocului, OUT - n care caz reprezint ieiri ale blocului, IN_OUT - n care caz sunt parametrii de intrare/ieire, STAT - n care caz sunt parametri statici i TEMP - n care caz sunt parametrii temporari.

    n timpul introducerii variabilelor va fi rezervat un spaiu n stiva local, pentru variabilele temporare, iar pentru variabilele de intrare/ieire i statice n instana blocului de date cu care blocul va fi asociat ulterior.

    Dup stabilirea variabilelor se poate trece la scrierea codului, care se poate face n oricare din limbajele suportate de mediu. Evident c scrierea codului unei funcii trebuie precedat de o analiz a caietului de sarcini al automatizrii. Un bloc este apelat n mai multe instane. O instan a unui bloc este considerat structura compus din blocul FB i blocul DB asociat lui. Dac limbajul selectat este GRAPH atunci se va utiliza un editor special Step7 GRAPH, care implementeaz limbajul SFC pe care l vom prezenta n detaliu mai jos. Funciile create cu acest editor nu pot avea mai multe instane. Apelarea lor se va face cu parametrii specifici acestui tip de programare.

    Pentru a crea o instan a unui bloc trebuie creat i asociat acestuia, blocul de date. Blocul de date este generat automat de ctre compilator la introducerea apelului de funcie, numele acestuia trebuie stabilit de ctre programator. n cadrul unei instane a blocului de date se stabilesc valori iniiale diferite pentru parametrii blocului. Spre deosebire de FB, funciile FC sunt funcii care nu au memorie proprie, parametrii actuali sunt salvai n stiva proprie. Crearea unui bloc FC se face n mod asemntor cu crearea unui bloc FB. Spre deosebire de FB, funciile FC nu pot fi create n limbajul SFC. Blocurile de date sunt utilizate pentru memorarea unor date ale programului utilizator. Spre deosebire de variabilele locale, care sunt memorate n stiva local, datele din DB nu sunt terse atunci cnd blocul este nchis (dup ce blocul a fost executat). Exist dou tipuri de blocuri de date: blocuri de date de tip instan i blocuri de date partajate. Crearea unui bloc de date se face cu opiunea: InsertS7 Block Data Block. Ca urmare a alegerii acestei opiuni se deschide o fereastra, n care se poate alege numele blocului i tipul acestuia.

    Blocurile de date din STEP 7 Manager nu pot conine instruciuni. Ele conin doar seciunea de declarare a variabilelor. Fiecare FB, FC sau OB poate citi sau scrie date n DB partajate.

    Deschiderea unui bloc de date se poate face n dou moduri: Declaration View i Data View. Modul Declaration View este utilizat pentru determinarea structurii blocului de date, iar modul Data View, pentru modificarea datelor. Un bloc de date de tip instan este asociat fiecrui apel de FB. Parametrii actuali i datele statice sunt salvai ntr-o instan a blocului de date. nainte de a crea un bloc de date de tip instan trebuie creat blocul FB corespunztor. Dac acest lucru nu se ntmpl STEP 7 Manager l creeaz n mod automat.

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    27

    Blocurile de date partajate pot fi utilizate de toate blocurile unui program. Valorile iniiale ale variabilelor dintr-un bloc de date sunt valorile care sunt ncrcate n automat la ncrcarea blocului i la prima modificare, sunt alterate. La o nou pornire a automatului nu se revine la valoarea iniial a variabilei. Acest lucru se ntmpl numai dac se rencarc blocul de date. Blocurile de date de tip partajat conin structuri care pot fi definite de programator la crearea blocului. Aceste structuri pot conine tipuri de date elementare (bool, byte, word etc.) sau tipuri complexe (DATE_AND_TIME, STRING, ARRAY, STRUCT) sau tipuri de date definite de utilizator). Adresarea unei variabile dintr-un bloc de date partajat se face cu regulile adresrii elementelor unei structuri, numele structurii fiind numele blocului de date. Blocurile de date de tip instan conin variabile simple care reprezint parametrii actuali ai blocurilor de tip FB i variabilele statice ale acestora.

    Observaie: Tehnica de programare ncurajat de acest mod de organizare a sistemului de operare a programului Step7 Manager este bazat pe mprirea automatizrii n taskuri individule. La rndul lor aceste taskuri pot fi mprite n sub-taskuri. Tehnica de programare se bazeaz pe identificarea relaiilor i interblocrilor ntre acestea, ceea ce conduce la complicaii greu de depit pentru programatorii nceptori, cernd mult experien. Programul Step7 Manager permite utilizarea metodelor structurate de programare, pornind de la graful automatizrii, care sunt mai indicat pentru programatorii cu mai puin experien.

    1.7.3. Programarea n Step7 GRAPH Pentru a putea elabora un program n limbajul SFC pentru automatul programabil S7-300 trebuie s se creeze mai nti un proiect nou. Blocul de baz al fiecrui proiect este OB1, care poate fi editat doar n limbajele LAD, FBD sau STL. De aceea, n mediul Step 7 Manager programele n limbajul SFC se introduc sub forma unor funcii bloc. Pentru a crea un graf trebuie s se selecteze obiectul Blocks din arborele proiectului i apoi opiunea Insert S7 Block Function Block. n fereastra care apare (fig. 31.) trebuie apoi ales numele funciei bloc (aici FB3) i limbajul n care se va programa blocul ( n cazul de fa GRAPH). Apsnd butonul OK, funcia bloc va fi creat i aceasta poate fi apoi programat efectund dublu-clic pe aceasta.

    Fig. 31. Crearea unei funcii bloc n limbajul GRAPH

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    28

    n fereastra care se deschide, va aprea un graf format dintr-o singur etap (etapa iniial) i o tranziie (fig. 32.).

    Fig. 32. Iniial funcia bloc conine o etap (S1 Step1) i o tranziie (T1)

    Exist trei moduri n care poate fi vizualizat funcia bloc, acestea pot fi selectate din meniul View, i anume:

    Sequencer : se vizualizeaz ntreg graful; Single Step: se vizualizeaz fiecare etap separat; Permanent instructions : se vizualizeaz instruciunile permanente care se execut fie

    nainte, fie dup execuia grafului. Funciile de parcurgere a tranziiilor pot fi programate n limbajele LAD sau FBD. Acest aspect poate fi setat folosind opiunea Options Application Settings(fig. 33.). La pagina General poate fi setat aceast opiune (n zona Conditions in New Blocks). O alt opiune important se gsete la pagina Compile/Save, unde poate fi setat varianta n care va fi introdus funcia bloc atunci cnd aceasta este apelat. Deoarece un graf este o funcie bloc i nu un program (bloc organizaional OB), pentru ca acesta s se execute, el trebuie mai nti apelat (iniializat). De aceea funcia bloc corespunztoare grafului trebuie apelat ntr-un bloc organizaional (de obicei OB1) i numai apoi graful va evolua conform regulilor generale de evoluie a unui graf. Dac la apelarea funciei bloc, nu se dorete dect iniializarea grafului, atunci la pagina Compile/Save, seciunea FB Parameters trebuie aleas opiunea Minimum. n acest fel la apelare, funcia bloc va avea o singur intrare i nici o ieire (pe lng intrarea EN i ieirea ENO). Acestei intrri (denumit INIT_SQ) trebuie s i se transmit valoarea 1 logic atunci cnd se dorete iniializarea grafului.

    Fig. 33. Fereastra Application Settings

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    29

    1.7.3.1. Construirea grafului Dup ce toate aceste opiuni au fost setate, se poate trece la construirea grafului (regulile de construire a unui graf sunt aceleai cu cele din recomandrile IEC). Comenzile necesare construirii grafului se gsesc n meniul din stnga ferestrei. n tabelul urmtor vom prezenta opiunile mpreun cu semnificaiile lor i cu condiiile n care pot fi selectate.

    Simbol Semnificaie Condiie n care poate fi selectat

    Introducerea unei eta-pe i a unei tranziii

    Se selecteaz etapa sau tranziia dup care se dorete introducerea perechii etap + tranziie

    Introducerea unui salt Se selecteaz o tranziie (dup care nu urmeaz

    nici o etap). Trebuie specificat etapa ctre care se efectueaz saltul (Si)

    Terminarea ramurii actuale

    Se selecteaz o tranziie (dup care nu urmeaz nici o etap)

    Introducerea unei ra-muri alternative (diver-gen OR)

    Se selecteaz etapa dinaintea divergenei OR

    ncheierea unei ramuri alternative (conver-gen OR)

    Se selecteaz ultima tranziie dinaintea convergenei OR a ramurii din dreapta

    Introducerea unei ramuri paralele (diver-gen AND)

    Se selecteaz tranziia dinaintea divergenei AND (cu condiia ca dup acea tranziie s mai existe cel puin o etap)

    ncheierea unei ramuri paralele (convergen AND)

    Se selecteaz ultima etap dinaintea convergenei AND a ramurii din dreapta

    1.7.3.2. Programarea condiiilor de parcurgere a tranziiilor Dup ce s-a construit graful, se poate trece la programarea condiiilor de parcurgere a tranziiilor. Elementele care se vor folosi n acest caz se gsesc tot n meniul din stnga i sunt prezentate n urmtorul tabel (pentru cazul n care se alege programarea n limbajul LAD). Simbol Semnificaie

    Contact normal deschis

    Contact normal nchis

    Deschiderea unei ramuri paralele (pentru realizarea unei condiii OR)

    nchiderea unei ramuri paralele

    Comparator

    Comparator ntre timpul de activitate al etapei (timpul scurs de la ultima activare a etapei) i un interval de timp oarecare. Se folosete operandul Stepi.T.

    Comparator ntre timpul de activitate al etapei (timpul scurs de la ultima activare a etapei, respectiv de la ultima perturbaie aprut) i un interval de timp oarecare. Se folosete operandul Stepi.U.

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    30

    Obs.: Ultimele dou comparatoare pot fi realizate i folosind comparatorul simplu, diferena fiind c n cazul ultimelor dou comparatoare parametrii sunt introdui automat. n figura urmtoare se prezint modul n care se introduce o condiie de parcurgere a unei tranziii pentru cazul n care tranziia trebuie parcurs la un anumit timp de la ultima activare a etapei anterioare.

    Fig. 34. Parcurgerea unei tranziii la 100ms dup activarea etapei 4

    Se observ faptul c timpul scurs de la ultima activare a unei etape poate fi adresat prin operandul Stepi.T unde i reprezint numrul etapei. Se poate de asemenea folosi operandul Stepi.U care reprezint acelai lucru ca i Stepi.T doar c n cazul apariiei unei perturbaii (eroare de supervizare sau de interblocare), cronometrarea este reluat de la 0. Un al treilea operand foarte important, utilizat des n condiiile de parcurgere a tranziiilor este Stepi.X care reprezint variabila boolean asociat etapei i (care este 1 logic dac etapa este activ i 0 logic dac etapa este inactiv). Ultimul operand de acest gen este Transi.TT. Acest operand boolean este 1 logic atunci cnd tranziia i are att condiia de validare ct i cea de parcurgere adevrat, respectiv cnd tranziia este parcurs. n cazul contactelor, operanzii pot fi adrese de intrare, de ieire sau de memorie intern, sau variabile definite n Symbol Table. n cazul comparatorului se poate folosi orice operator logic dintre urmtorii: >,=,

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    31

    CALL Apelarea unei proceduri (FB, FC, SFB, SFC) S1 Aciune executat o singur dat la activarea unei etape S0 Aciune executat o singur dat la dezactivarea unei etape

    Aciunea propriu-zis poate fi o zon de memorie de intrare, ieire, memorie intern sau o variabil declarat n Symbol Table. n cazul aciunilor ntrziate i limitate, trebuie specificat i un timp sub forma T#xHxxMxxSxxxMS.

    De exemplu:

    Fig.36. Aciune ntrziat

    n acest caz, ieirea Q124.0 va deveni 1 logic la dou secunde de la activarea etapei 1. n continuare vom prezenta modul n care se utilizeaz un contor n cadrul unui graf. n acest caz avem patru tipuri de aciuni speciale, care sunt prezentate n urmtorul tabel. Tipul aciunii Semnificaie CS Contorul este ncrcat cu valoarea iniial CU Valoarea contorului este incrementat CD Valoarea contorului este decrementat CR Contorul este ncrcat cu valoarea zero

    Fiecare dintre aceste aciuni se va executa fie la activarea fie la dezactivarea unei etape, ceea ce nseamn c ele trebuie precedate fie de S1, respectiv de S0. De exemplu:

    Fig. 37. Introducerea unei aciuni de ncrcare cu o anumit valoare (aici 0) a unui contor

    n acest caz, contorul C1 este ncrcat cu valoarea 0 (C#0). Apoi dac se dorete parcurgerea unei tranziii n funcie de valoarea unui contor, este necesar s se compare valoarea contorului cu o valoare oarecare.

    1.7.3.4. Specificaii suplimentare n cazul n care un program este alctuit din mai multe grafuri interdependente (de exemplu n cazul n care condiiile de parcurgere a tranziiilor unui graf implic variabilele booleene asociate etapelor celuilalt graf), atunci cele dou grafuri trebuie incluse n cadrul aceleiai funcii bloc. Pentru aceasta se efectueaz clic-dreapta n spaiul de lucru i se alege opiunea Insert New Element Sequencer. n acest fel se pot introduce oricte grafuri paralele. n cazul n care un graf trebuie s conin mai multe etape iniiale, se va proceda n felul urmtor: se selecteaz etapa care trebuie s devin etap iniial, se efectueaz clic-dreapta i se alege opiunea Object Properties, iar aici se bifeaz opiunea Initial step. n acest fel oricte etape ale unui graf pot deveni etape iniiale.

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    32

    De asemenea n Step 7 Manager se pot specifica o serie de instruciuni permanente (n LAD sau FBD) care s se execute naintea sau dup executarea grafului. Instruciunile permanente sunt executate o dat la fiecare ciclu, indiferent de starea grafului. Aceste instruciuni permanente sunt de dou tipuri: condiii sau apeluri de proceduri. Condiiile sunt de fapt reele n limbajul LAD. Pentru a introduce instruciuni permanente, trebuie s se selecteze n organizatorul de obiecte pagina Graphic i apoi una din opiunile:

    Permanent instructions before sequencer; Permanent instructions after sequencer.

    Fig. 38. Exemplu de instruciune permanent

    Apoi n fereastra de lucru, n cadrul dreptunghiului intitulat Permanent instructions before/after sequencer se efectueaz clic-dreapta i se alege opiunea Insert New Element Permanent Instruction Condition respectiv Call. n final funcia bloc trebuie salvat, astfel se va realiza automat i compilarea, i se va genera i obiectul DB corespunztor dac n urma compilrii nu au rezultat erori. Rmne doar ca funcia bloc, respectiv graful sau grafurile (n cazul n care funcia bloc conine mai multe grafuri paralele), s fie iniializat. Pentru aceasta se va apela funcia bloc n blocul OB1.

    Fig. 39. Apelarea unei funcii bloc (editat n limbajul GRAPH) n OB1

    Observaie: Variabila ini este o variabil care trebuie s devin 1 logic atunci cnd se dorete aducerea grafului n starea iniial (etapele iniiale ale grafului s devin active). Aceasta se ntmpl fie la pornirea sistemului, fie dup apariia unei avarii.

    1.8. Prezentarea modului de programare n AC1131 1.8.1. Crearea unui proiect n AC1131

    Cunoscuta firm ABB produce mai multe serii de uniti centrale: seria 40, seria 50, seria 70 i seria 90. Seriile 40 i 50 sunt destinate aplicaiilor de mic i medie complexitate cu pn la 110 intrri/ieiri. Seria 90 este destinat aplicaiilor de mare complexitate cu peste 1000 intrri/ieiri. n cele ce urmeaz ne vom referi la seria 90 de AP, n special la modelul 07 KT 97. Mediul de programare necesar este AC 1131 i este n concordan cu recomandrile IEC 61131. Limbajele suportate de acest mediu reprezint toat gama de limbaje recomandate de IEC: IL, LD, FBD, SFC i ST. Programarea acestor automate este uor de realizat i depanat, mai ales din cauza simulatorului OFF-LINE.

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    33

    Vom descrie n cele ce urmeaz modul de lucru cu versiunea 4.3.1 a programului. Vom presupune c programul este instalat pe un calculator i c exist o legtur serial ntre AP i PC prin cablul furnizat de firma ABB.

    La lansarea programului AC 1131 apare fereastra programului (fig. 40) care conine urmtoarele elemente:

    Bara de meniu (Menu bar), localizat n partea de sus care conine toate comenzile; Bara de unelte (Tool bar), care se afl sub bara de meniu i care conine butoane

    pentru selectarea rapid a comenzilor; Organizatorul de obiecte (Object organizer), care este n partea stng i care conine n

    partea de jos patru posibiliti de selectare a obiectelor unui program; Spaiul de lucru (Work space) n care se deschid diferitele editoare ale mediului i

    managerul de bibliotec; Fereastra de mesaje (Message windows), n care apar mesajele mediului de programare,

    din care cele mai importante sunt erorile i atenionrile de la compilare; Bara de stare (Status bar) care conine informaii despre starea curent a programului.

    Fig. 40. Elementele ferestrei a programului AC 1131

    Pentru realizarea unui program care s poat fi ncrcat ntr-un automat ABB este necesar s se creeze n mediul de programare un proiect.

    Proiectul conine urmtoarele obiecte necesare unui program: POU (Program Organization Unit); Tipuri de date (Data Type);

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    34

    Vizualizri (Visualization); Resurse (Resources).

    Funciile, blocurile de funcii i programele sunt POU. Fiecare din ele conine o parte de declaraii i corpul propriu-zis. Toate variabilele care se utilizeaz ntr-un POU sunt declarate n zona de declaraii sub forma prezentat mai sus. Corpul unui POU poate fi scris n oricare din limbajele acceptate de mediu. Un program poate apela alt program sau o funcie, dar nu este permis apelarea unui program dintr-o funcie. Dac un program cheam un alt program i n acest mod variabilele din acesta se schimb, atunci aceste valori sunt memorate pn la un nou apel al programului chiar dac va fi apelat de un alt POU.

    n cadrul programelor exist unul predefinit care are numele PLC_PRG. Fiecare proiect trebuie s conin acest program special. El este apelat de ctre sistemul de operare al automatului la fiecare ciclu. tergerea acestui program se poate face numai atunci cnd se realizeaz o configurare de taskuri, n cazul n care se adopt o strategie multitasking de elaborare a aplicaiei. Vom preciza aceste lucruri mai jos. O funcie este un POU, care ntoarce o singur dat. Aceasta poate fi alctuit din mai multe cmpuri ale unei structuri. Declararea unei funcii nseamn asocierea cu un nume i un tip. Numele funciei este chiar valoarea ntoars de funcie. Declaraia unei funcii are urmtoarea sintax:

    FUNCTION : END_FUNCTION

    Valorile transmise funciei trebuie declarate n partea de declaraii a unei funcii. Pentru o funcie nu se pot prevedea valori de ieire. Un Function Block este un POU, care furnizeaz una sau mai multe valori sub forma parametrilor de ieire. Atunci cnd se declar un Function Block, trebuie s i se precizeze numele, iar valorile de intrare i de ieire trebuie precizate n partea de declaraii a acestuia. Etapele pentru crearea i ncrcarea n AP unui proiect sunt urmtoarele:

    Crearea unui proiect se face n fereastra principal, alegnd n Object Organizer pagina POU. Apoi se alege FileNew, din meniul principal. Dup alegerea acestei opiuni se va deschide fereastra Select CPU (fig. 41). n aceast fereastr trebuie s se aleag tipul de automat din lista automatelor ABB posibil s fie programate cu mediul de programare AC 1131. Dup ce se selecteaz automatul i se apas butonul OK, va apare o alt fereastr New POU (fig. 42). n aceast fereastr se las nemodificat PLC_PRG, dar se alege limbajul n care acesta va fi scris;

    Dup nserarea blocului PLC_PRG se pot vedea urmtoarele obiecte globale, n fiierul Global variables din pagina Resources: o Obiectul Systemkonstanten, care conine variabilele sistem. Aceste variabile sunt

    folosite pentru setarea bufferelor de transmisie i recepie, n cazul funcionrii n reea a automatului, monitorizarea taskurilor, monitorizarea funciilor pentru lucrul n virgul mobil, configurarea intrrilor i ieirilor analogice, configurarea modului de funcionare a contoarelor de mare vitez. Valorile acestora sunt iniializate cu valori date. Pentru a schimba configurarea, trebuie modificate aceste valori, n conformitate cu documentaia pus la dispoziie de firm;

    o Obiectul Fehlermerker conine flagurile erorilor de sistem;

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    35

    o Obiectul Auslastung conine flaguri care reflect utilizarea automatului; o Obiectul Global_Variables este un obiect gol, n care se pot introduce variabilele

    globale ale programului. n cadrul paginii de resurse se selecteaz Global_Variables i se selecteaz din meniu Project Import. Se alege fiierul de importat, care n cazul lui 07 KT 97 va fi K97_onb.exp. Acest fiier conine declaraiile pentru toate intrrile i ieirile automatului. Deschiznd cu dublu clic acest fiier, se pot vedea numele simbolice care pot fi folosite pentru intrri i ieiri;

    Fig. 41. Fereastra Select CPU

    Proiectul creat conine i o bibliotec IEC_S90_V41.lib. n aceast bibliotec se gsesc o serie de obiecte: bistabile, contoare, funcii pentru manipularea stringurilor, timere i triggere. Pentru a putea folosi i alte obiecte se pot ncrca biblioteci disponibile n cadrul programului de consol. Acest lucru se poate face utiliznd Insert Additional Library. Coninutul fiecrei biblioteci se poate vedea imediat dup ncrcare n Library Manager. Tot aici se gsesc informaii despre utilizarea obiectelor componente.

    Fig. 42. Fereastra New POU

    Se revine n pagina POU i se trece la editarea programului PLC_PRG. Editarea acestuia se face prin lansarea automat a editorului corespunztor limbajului pentru care s-a optat la crearea programului.

    1.8.2. Editoarele mediului AC1131 Editorul de text

    Editorul de text va fi folosit pentru toate limbajele de programare. El prezint principalele faciliti ale editoarelor de text din Windows. n plus prezint facilitatea Syntax Colouring, adic

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    36

    diferite elemente ale limbajului sunt prezentate n culori diferite. Culorile folosite implicit sunt urmtoarele:

    Albastru, pentru cuvinte cheie; Verde pentru comentarii n partea de declarare; Gri, pentru comentarii n editor (n LD i FBD) ; Roz, pentru adrese; Rou, pentru erori; Negru, pentru variabile, operatori de asignare etc.

    Principalele comenzi ale editorului se gsesc ntr-un meniu contextual, care poate fi afiat la apsarea butonului drept al mouse-ului. Comentariile sunt incluse n secvene speciale (* si *). Exemplu: (*Acesta este un comentariu.*)

    Comentariile sunt permise n toate editoarele de text, n orice loc se dorete, adic n toate declaraiile din limbajele IL, ST precum i n tipurile de date definite de utilizator. n limbajele FBD i LD se pot introduce comentarii pentru fiecare reea. Pentru a realiza acest lucru trebuie selectat reeaua creia i se va ataa comentariul i apoi se alege comanda Insert Comment din bara de meniuri.

    Constantele se identific prin cuvntul cheie CONSTANT i se pot declara local sau global n felul urmtor: VAR CONSTANT ::=; END_VAR Exemplu: VAR CONSTANT c1 : REAL :=2.86; (* 1. Constant*) END_VAR Editoarele pentru limbajele LD i FBD

    Aceste editoare sunt editoare semi-grafice, programele fiind alctuite din reele. La deschiderea editorului, pe ecran apare o singur reea. Se pot aduga noi reele prin alegerea uneia dintre opiunile InsertNetwork (before) sau InsertNetwork (after). Zona activ din cadrul unei reele este marcat printr-un dreptunghi cu linie punctat. La introducerea unui obiect, acesta se va plasa n zona marcat. Editorul SFC

    Un POU scris n SFC este alctuit dintr-o serie de etape, conectate ntre ele prin arce i tranziii, cu respectarea regulilor din IEC1131. La deschiderea editorului SFC apare automat o etap iniial i o tranziie. Etapele sunt de dou feluri:

    Etape simple, care au asociat o aciune i un flag. Acesta din urm indic dac etapa este activ. Aciunile unei etape simple pot fi implementate n orice limbaj, prin realizarea unui dublu clic pe etap. Dac aciunea unei etape simple a fost implementat atunci va apare un triunghi n colul din dreapta sus al etapei;

    Etape IEC, care au asociate una sau mai multe aciuni i un flag care indic starea etapei. O etap IEC are o aciune ataat, care se gsete ntr-un dreptunghi la

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    37

    dreapta etapei. Se pot aduga mai multe aciuni utiliznd Extras AssociateAction. n cadrul unei etape aciunile pot avea mai multe atribute, care apar ntr-un dreptunghi din stnga aciunii:: o N aciune nememorat sau boolean, care este activ att timp ct etapa este

    activ; o S aciune de setare, care aciune memorat. O astfel de aciune rmne activ

    pn la o aciune de resetare; o R aciune de resetare; o L aciune limitat n timp. O astfel de aciune este activat o perioad limitat

    n timp, dac etapa este activ; o D aciune ntrziat n timp. O astfel de aciune devine activ dup trecerea

    unui timp dat dup activarea etapei; o P aciune n impuls. O astfel de aciune este executat o singur dat la

    activarea etapei, sub forma unui puls care dureaz un singur ciclu; o SD aciune memorat i ntrziat n timp. O astfel de aciune este ntrziat

    cu valoarea parametrului SD i va rmne activ pn la efectuarea unei aciuni de resetare. Setarea aciuni are loc, dup ntrzierea dat, chiar dac etapa de care este legat nu mai este activ;

    o SL aciune memorat i limitat n timp. O astfel de aciune este activat la un anumit interval de timp de la activarea etapei i este i limitat n timp.

    Atributele L, D, SD, SL au nevoie de o valoare ataat care este de forma unei constante de timp. Aceasta se introduce n dreptunghiul destinat atributului lsnd un spaiu ntre atribut i constant (fig. 43)

    Fig. 43. Declararea atributelor unei etape

    Pentru etapele IEC se mai pot aduga aciuni de intrare i de ieire. O aciune de intrare se execut o singur dat la activarea etapei, iar o aciune de ieire se execut o singur dat la dezactivarea etapei.

    Adugarea unei etape de intrare se face selectnd etapa i alegnd din meniu opiunea InsertAdd Entry-Action. Dup adugarea unei aciuni de intrare n colul din stnga jos al etapei apare un dreptunghi cu litera E. Adugarea unei etape de ieire se face selectnd etapa i alegnd din meniu opiunea InsertAdd Exit-Action. Dup adugarea unei aciuni de ieire n colul din dreapta jos al etapei apare un dreptunghi cu litera X. O aciune de intrare sau ieire poate fi scris n orice limbaj. Pentru a edita o aciune de intrare sau de ieire se execut un dublu clic pe colul corespunztor. Un exemplu de etap cu aciuni de intrare i ieire este prezentat n fig. 44.

    Fig. 44. Exemplu de etap cu aciuni de intrare i ieire

    n SFC sunt declarate implicit trei variabile: .x, .t i .x. Variabila .x este o variabil boolean care are valoarea TRUE, dac etapa este activ i FALSE, n caz contrar. n varianta SFC, fr atributul IEC aceast variabil implicit are numele . Variabila .t este o variabil

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    38

    de tip TIME i reprezint timpul scurs de la activarea etapei. Variabila .x ofer posibilitatea de a vedea dac o aciune este activ sau nu, ea avnd valoarea TRUE dac aciunea este activ. Dac o etap este activ un numr de indicatori sunt setai. Acetia sunt n acelai timp i variabile care pot fi setate cu scopul de a controla fluxul ntr-un program SFC. Pentru utilizarea acestora, trebuie declarate n cadrul programului, ca variabile globale sau locale, de intrare sau ieire. Cele mai importante flaguri sunt:

    SFCInit, variabil de tip BOOL. Atunci cnd aceast variabil este setat n TRUE se trece automat n etapa iniial i celelalte flaguri sunt resetate. Etapa iniial este activ dar nu se execut;

    SFCPause, variabil de tip BOOL. Atunci cnd aceast variabil devine TRUE execuia diagramei SFC este oprit. Pentru repornire trebuie trecut n FALSE;

    SCFCurrentStep, variabil de tip string. n aceast variabil este memorat numele etapei curente;

    SFCErrorPOU, variabil de tip string. Aceast variabil conine numele blocului n care apare o eroare.

    Intr-un program SFC se pot realiza una sau mai multe ramuri paralele sau simultane. Ele poart n AC 1131 denumirea de Alternative Branch i Parallel Branch. Pentru editarea unei ramuri paralele trebuie selectat tranziia la care se dorete realizarea unei ramuri paralele. Apoi se alege opiunea InsertAlternative Branch. Aceast opiune va introduce n paralel cu tranziia selectat o alt tranziie. Dezvoltarea ulterioar a fiecrei ramuri paralele se face prin InsertStep-Transition. Pentru editarea unei ramuri simultane trebuie selectat etapa pentru care se dorete realizarea unei ramuri simultane. Apoi se alege opiunea InsertParallel Branch. Aceast opiune va introduce n paralel cu etapa selectat o alt etap. Dezvoltarea ulterioar a fiecrei ramuri simultane se face prin InsertStep-Transition. Se vede c, pentru evitarea greelilor, inserarea elementelor etap i tranziie se face simultan. De asemenea tergerea unui singur element nu este permis. Se poate realiza o tergere doar dac se selecteaz elemente pereche (etap-tranziie) sau dac prin tergere nu se ncalc regulile de construcie GRAFCET.

    1.8.3. Definirea sarcinilor (taskurilor) n mod normal derularea unui program pe un automat programabil este de tip sincron, adic exist un singur fir reprezentat de programul ciclic. Acesta poart diferite nume: OB1, n cazul automatelor firmei SIEMENS, Main, n cazul automatelor OMRON, PLC_PRG, n cazul automatelor ABB.

    La automatele ABB exist posibilitatea realizrii mai multor fire (taskuri) de execuie utiliznd Task Configuration, care este un obiect n cadrul pagina Resources, din Object Organizer.

    Pentru a putea utiliza un task, acesta trebuie declarat. Prin declararea unui task se nelege setarea unor atribute ale acestuia:

    Atribuirea unui nume; Stabilirea unei prioriti; Stabilirea intervalului de activare ciclic a taskului; Stabilirea unei variabile globale pe a crui front cresctor este activat taskul.

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    39

    Aceste atribute pot fi declarate ntr-o fereastr care se deschide atunci cnd se alege opiunea InsertAppend Task. n fereastra Taskattributes, care se deschide (fig. 45) se pot seta atributele de mai sus.

    Fig. 45. Fereastra Taskattributes

    Numele taskului este un identificator i este numele programului care reprezint taskul. Pentru fiecare task trebuie s se ataeze cel puin un program, care este apelat atunci cnd taskul este activ. Prioritatea taskului este un numr cuprins ntre 0 i 31. Prioritatea cea mai mare dintre dou taskuri cu numere diferite o are acela a crui numr este mai mic. Intervalul se introduce sub forma unei constante de tip TIME. n caseta Single se introduce variabila pe al crei front cresctor se va activa taskul. Dac se introduce la un task att o variabil de activare ct i un interval de activare, atunci numai intervalul de activare va fi luat n considerare.

    Regulile de execuie a mai multor taskuri sunt: Se execut acel task care are condiia ndeplinit: fie s-a scurs timpul de activare, fie

    variabila stabilit pentru activare a avut un front cresctor; Dac dou taskuri au condiii de activare simultane atunci mai nti se execut taskul

    cu prioritatea cea mai mare; Dac dou taskuri au condiii de activare simultane i aceeai prioritate, atunci se

    execut taskul care a stat mai mult n coada de ateptare, ceea ce nsemn c prioritile sunt dinamice i bazate pe vrst.

    Facilitatea de a putea avea mai multe taskuri este deosebit de util mai ales pentru realizarea aciunilor la avarii a unui sistem condus de automatul programabil. Un alt mod de utilizare a taskurilor, activate pe fronturi cresctoare ale unor variabile este acela n care se dorete realizarea unor programe care s conin pri de reglare a condiiilor de funcionare sau un mod de lucru manual al sistemului.

    1.8.4. Finalizarea proiectului Dup ce ntreg programul a fost redactat, acesta trebuie compilat prin alegerea opiunii Project Build din bara de meniuri. Dup ce compilarea a avut loc, se va afia un mesaj n fereastra de mesaje situat n partea de jos a ecranului. Dac n urma compilrii au fost gsite erori, acestea vor fi enumerate n fereastra de mesaje mpreun cu numele POU i numrul rndului unde a aprut fiecare eroare. Odat ce toate erorile au fost eliminate, proiectul poate fi ncrcat pe automatul programabil. Pentru aceasta trebuie stabilit n prealabil o conexiune cu AP prin legtur serial. Se vor seta apoi parametrii de comunicare prin opiunea Online Communication Parameters(fig. 46), de unde se alege comanda New, iar n fereastra care apare se va alege opiunea Serial(RS232).

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    40

    Se vor specifica de asemenea portul (COM1, COM2, etc.) i viteza de transmisie (n acest caz 19200).

    Fig. 46. Specificarea parametrilor de comunicare

    ncrcarea are loc prin alegerea opiunii OnlineLogin i apoi OnlineDownload din bara de meniuri. n continuare se poate realiza o monitorizare on-line a programului, putndu-se chiar modifica starea variabilelor.

    Este indicat ns, ca naintea ncrcrii unui proiect pe automat s se realizeze simularea offline a acestuia, procedndu-se n felul urmtor: n meniul Online se alege Simulation Mode, apoi n acelai meniu se selecteaz Login i apoi Run pentru a porni simularea (fig. 47). Pentru a schimba starea unei variabile de intrare sau intern din TRUE n FALSE sau invers se efectueaz dublu clic pe variabila respectiv i apoi se apas CTRL+F7 (astfel modificarea devine definitiv). n figura urmtoare se observ c una dintre intrri fiind n starea TRUE la rndul ei ieirea devine TRUE.

    Fig. 47. Modul de simulare a unui proiect

  • Lucrarea nr. 3. Automatizarea unei maini de gurire automat

    41

    1.9. Prezentarea modului de programare n easy Soft CoDeSys 1.9.1. Introducere n mediul de programare CoDeSys

    Easy Soft CoDeSys (Controlled Development System) este un mediu de programare pentru automatele programabile ale firmei Moeller.

    Folosind acest mediu, se pot dezvolta programe pentru automatizarea celor mai complexe sarcini din toate ramurile industriei.

    Limbajele suportate de acest mediu reprezint toat gama de limbaje recomandate de IEC: IL, LD, FBD, SFC i ST, avnd n plus i limbajul CFC. Tipurile de variabile disponibile n mediul de programare CoDeSys sunt cele din standardul IEC: BOOL, BYTE, DATE, DINT, DWORD, INT, LREAL, REAL, SINT, STRING, TIME, UDINT, USINT, WORD.

    1.9.2. Crearea unui proiect Pentru a crea un nou proiect se va proceda n felul urmtor:

    Se alege FileNew, din meniul principal; Apoi se va deschide automat fereastra Target Settings (Fig. 48). n aceast fereastr

    trebuie s se aleag tipul de automat din lista automatelor Moeller care pot fi programate cu soft-ul CoDeSys. Dup ce se selecteaz automatul i se apas butonul OK, fereastra Target Settings (Fig. 49) se va extinde i se vor putea seta diferite opiuni, ca de exemplu: Target Platform, Memory Layout, General, Network Functionality i Visualization. n cadrul acestui proiect se va dori de asemenea realizarea unei comunicri cu un panou operator al firmei MicroInnovation. Pentru a putea realiza acest lucru trebuie bifat opiunea Download Symbol file de la pagina General. Dup selectarea opiunilor dorite se apas butonul OK;

    Astfel va aprea fereastra New POU (Fig. 50), unde trebuie specificat numele POU-ului.

    n cazul n care se va lsa nemodificat numele POU-ului (PLC_PRG), proiectul va conine un singur POU care se va executa ciclic nemaifiind necesar o configurare a task-urilor n cazul n care se modifica numele POU-ului va fi necesar o configurare a task-urilor. Dup specificarea numelui POU-ului se va alege tipul acestuia (Program, Function Block sau Functio