Sunteți pe pagina 1din 55

Lucrarea nr. 3.

Automatizarea unei maini de gurire automat

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.
1

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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:
constant binar:
constant octal:
constant hexazecimal:
constant ASCII:

180123 sau 180_123


2#0101
8#17
16#F
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

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:
constant binar:
constant octal:
constant hexazecimal:
constant ASCII:

180123 sau 180_123


2#0101
8#17
16#F
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

<identificator>
iniial>};

{AT

<adres

direct>}:

<tip>

{:=<valoare

Constantele pot fi de tip ntreg sau reale.


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

constant zecimal:
constant binar:
constant octal:
constant hexazecimal:
constant ASCII:

180123 sau 180_123


2#0101
8#17
16#F
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:
<identificator>
iniial>};

{AT

<adres

direct>}:

<tip>

{:=<valoare

Constantele pot fi de tip ntreg sau reale.


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

constant zecimal:
constant binar:
constant octal:
constant hexazecimal:
constant ASCII:

180123 sau 180_123


2#0101
8#17
16#F
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.
4

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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.
5

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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
6

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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.
7

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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;


8

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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

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
10

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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.

11

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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 dintrun 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.

12

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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

13

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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
VB1

1
255, 233

// Atribuirea valorii 1 lui VB0


// 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.
14

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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.
15

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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
16

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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.
17

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

Tab. 1. Lista blocurilor OB

NUMELE PROGRAMULUI
Programul ciclic
ntreruperi de tip Time of day
ntreruperi de timp
ntreruperi ciclice (1 ms-1min)
ntreruperi hardware
Erori asincrone

NUMELE BLOCULUI
OB1
OB10-OB17
OB20-OB23
OB30-OB38
OB40-OB47
OB80 Eroare de timp
OB81 Eroare de surs
OB82 Diagnostic
OB83 Inserare modul
OB84 Hardware
OB85 Prioritate
OB86 Rack
OB87 Comunicare
Ciclu background
OB90
Pornire sau trecerea comutatorului OB100
Din START n STOP
OB101

PRIORITATEA
1
2
3-6
7-15
16-23
26
28

29
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.
18

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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.

19

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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

20

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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:
21

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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

22

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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

23

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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.

24

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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

25

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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.
26

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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

27

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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

28

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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- Se selecteaz etapa sau tranziia dup care se


pe i a unei tranziii
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 Se selecteaz o tranziie (dup care nu urmeaz
actuale
nici o etap)
Introducerea unei ra- Se selecteaz etapa dinaintea divergenei OR
muri alternative (divergen OR)
ncheierea unei ramuri Se selecteaz ultima tranziie dinaintea
alternative
(conver- convergenei OR a ramurii din dreapta
gen OR)
Introducerea
unei Se selecteaz tranziia dinaintea divergenei
ramuri paralele (diver- AND (cu condiia ca dup acea tranziie s mai
gen AND)
existe cel puin o etap)
ncheierea unei ramuri Se selecteaz ultima etap dinaintea convergenei
paralele (convergen AND a ramurii din dreapta
AND)
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.
29

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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: >,<,==,>=,<=,<>.
1.7.3.3. Specificarea aciunilor
n continuare vom descrie modul n care se pot asocia una sau mai multe aciuni unei etape i
tipurile aciunilor. Pentru a se asocia o aciune unei etape, se va selecta dreptunghiul de lng
etap care conine i numele etapei (de exemplu n figura 32 Step 1). Se efectueaz clic-dreapta i
se alege Insert New ElementAction. Ca urmare vor aprea dedesubt dou dreptunghiuri, ca n
figura 35.

Fig. 35. Csua cu aciuni dup adugarea unei noi aciuni

n dreptunghiul din stnga se va introduce tipul aciunii, iar n cel din dreapta aciunea propriuzis.
Vom prezenta n tabelul ce urmeaz tipurile de aciuni care sunt disponibile n Step 7 Manager.
Tipul aciunii
N
S
R
D
L

Semnificaie
Aciune nememorat, se execut att timp ct etapa este activ
Aciune memorat (de setare), se va executa pn cnd se realizeaz o
resetare
Aciune memorat (de resetare), aciunea va rmne resetat pn se
realizeaz o setare
Aciune ntrziat, se execut dac etapa este activ, dar numai la un anumit
timp de la activarea etapei
Aciune limitat, se execut dac etapa este activ, dar numai un anumit timp
de la activarea etapei
30

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

CALL
S1
S0

Apelarea unei proceduri (FB, FC, SFB, SFC)


Aciune executat o singur dat la activarea unei etape
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
CS
CU
CD
CR

Semnificaie
Contorul este ncrcat cu valoarea iniial
Valoarea contorului este incrementat
Valoarea contorului este decrementat
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.
31

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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.
32

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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);
33

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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 <nume>:<tip>
<corpul funciei>
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;
34

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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
35

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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
<Identifier>:<Type>:=<initialization>;
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
36

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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: <nume etapa>.x, <nume etapa>.t i <nume
actiune>.x. Variabila <nume etapa>.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 <nume etapa>. Variabila <nume etapa>.t este o variabil
37

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

de tip TIME i reprezint timpul scurs de la activarea etapei. Variabila <nume actiune>.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.
38

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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).
39

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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

40

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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 POUului.

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
Function) i limbajul n care va fi scris acesta (IL, LD, FBD, SFC, ST sau CFC). Dup ce au fost
selectate i aceste opiuni se apas din nou OK.

Fig. 48. Alegerea tipului de automat

41

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

Fig. 49. Setarea diferitelor opiuni referitoare la automatul selectat

Fig. 50. Fereastra New POU

Un proiect este format din urmtoarele patru componente:

POU (Program Organization Block);


Tipuri de date (Data Type);
Vizualizri (Visualization);
Resurse (Resources).

Comutarea ntre cele patru componente se va realiza cu ajutorul organizatorului de obiecte


descris mai sus, fiecrei componente corespunzndu-i un tab. n continuare prin POU vom face
referire la funcii, funcii bloc i programe propriu-zise. Fiecare din ele conine o parte de
declaraii (header) i corpul propriu-zis. Toate variabilele locale care se utilizeaz ntr-un POU
sunt declarate n zona de declaraii sub forma prezentat n paragraful anterior. Fiecare dintre
POU-uri poate fi scris n oricare din limbajele acceptate de mediu.

42

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

POU de tip program


Un program poate apela alt program sau o funcie, dar nu este permis apelarea unui program
dintr-o funcie. n cazul n care un program apeleaz un alt program i n acest mod variabilele
locale ale acestuia se schimb, atunci aceste valori sunt memorate pn la un nou apel al acelui
program chiar dac va fi apelat de un alt POU.
La crearea unui nou proiect se va genera n mod automat un POU de tip program intitulat
PLC_PRG. Fiecare proiect trebuie s conin un POU de tip program cu acest nume, el fiind
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 sarcini (task-uri), aceasta fiind
impus n cazul n care se adopt o strategie multitasking de elaborare a aplicaiei. Aspectele
legate de task-uri sunt prezentate n subcapitolul 1.9.5.
POU de tip funcie bloc
O funcie bloc este un POU, care furnizeaz una sau mai multe valori prin intermediul
variabilelor de ieire. Atunci cnd se declar o funcie bloc, trebuie s i se precizeze numele, iar
variabilele de intrare i de ieire trebuie precizate n partea de declaraii a acesteia. Definirea unei
funcii bloc ncepe cu cuvntul cheie FUNCTION_BLOCK. Pentru a apela o funcie bloc
trebuie creat o instan a acesteia.
Obs: pentru a asigura funcionarea corect a contoarelor este necesar ca acestea s fie prevzute
pe intrarea de numrare cu un bloc de sesizare a frontului cresctor (Fig. 51).

Exemplu:

Fig. 51. Modul de utilizare a unui contor n limbaj LD

n acest caz funcia bloc predefinit CTD (contor de tip Count Down) a fost instaniat cu
numele contor.
POU de tip funcie
O funcie este un POU, care ntoarce o singur valoare. Aceasta poate fi alctuit din mai multe
cmpuri ale unei structuri.
Valoarea ntoars de funcie este reprezentat chiar de numele funciei.

1.9.3. Definirea variabilelor globale


Fiecare proiect va conine i o lista de variabile globale, care vor putea fi folosite de toate
obiectele de tip POU. Avantajul utilizrii acestor variabile este acela c pot fi transferate valori
foarte uor ntre diferite POU-uri. Variabilele globale vor fi declarate ntr-o list special
denumit Global_Variables (Fig. 52).
Pentru a accesa aceast lista se va proceda n felul urmtor:
43

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

Se alege pagina Resources;


Se efectueaz dublu clic pe ramura Global Variables a fiierului Global Variables.

Fig. 52. Modul de declarare a variabilelor globale

n cadrul acestei liste, variabilele se vor defini conform prototipului precizat mai sus.

1.9.4. Editoarele mediului CoDeSys


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 Coloring, adic
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.
n plus comentariile pot fi adugate oriunde sunt inserate nume de variabile.
n LD un comentariu poate fi adugat fiecrui contact i fiecrei bobine prin alegerea opiunilor
Extras Options din bara de meniuri (fig. 53).

44

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

Fig. 53. Adugarea unui comentariu unui contact sau unei bobine

Constantele se identific prin cuvntul cheie CONSTANT i se pot declara local sau global n
felul urmtor:
VAR CONSTANT
<Identifier>:<Type>:=<initialization>;
END_VAR

Exemplu:
VAR CONSTANT
c1 : REAL :=2.86; (* 1. Constant*)
END_VAR

Editoarele pentru limbajele LD i FBD


Aceste editoare sunt editoare 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 enunate la prezentarea general a limbajului. La deschiderea editorului
SFC apare automat o etap iniial i o tranziie. Regulile de construcie i de evoluie ale unui
graf sunt identice cu cele din standardul internaional.
Compilarea, simularea sau ncrcarea n automat a unui program n limbajul SFC este permis
numai dac se ncarc biblioteca iecsfc.lib. Procedura de ncrcare a unei biblioteci n mediul de
programare CoDesys este urmtoarea:
n pagina Resouces al mediului de programare se executa dublu clic pe Library manager, apoi
InsertAdditional Library. n fereastra, care va apare se va alege din directorul Lib_Common
biblioteca iecsfc.lib.

1.9.5. Definirea sarcinilor (task-urilor)


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
45

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

automatelor SIEMENS, Main, n cazul automatelor OMRON, PLC_PRG, n cazul automatelor


ABB i Moeller.
La automatele Moeller exist posibilitatea realizrii mai multor fire (taskuri) de execuie utiliznd
Task Configuration, care este un obiect n cadrul paginaui Resources. Pentru a putea utiliza un task,
acesta trebuie mai nti declarat. Prin declararea unui task se nelege definirea urmtoarelor
aspecte:

Nume;
Prioritate;
Intervalul de activare ciclic a task-ului sau variabila global pe a crei front
cresctor este activat task-ul;
POU-urile de tip program care aparin task-ului.

Fig. 54. Fereastra Taskattributes

Aspectele amintite vor fi declarate ntr-o fereastr care se deschide dup ce s-a efectuat dublu
clic pe obiectul Task Configuration. n fereastra care se deschide, se efectueaz clic dreapta pe
obiectul System events i se apas Insert Task. Ca urmare se va deschide o nou fereastra, numit
Taskattributes (Fig. 54), unde se pot seta primele trei elemente din cele amintite mai sus.
Numele taskului reprezint un identificator asemntor celor ce reprezint variabile. Fiecrui
task trebuie s i se ataeze cel puin un program care este apelat atunci cnd task-ul este activ.
Prioritatea taskului este un numr cuprins ntre 0 i 31, prioritatea cea mai mare avnd-o taskurile cu numere mici de prioritate. Intervalul de timp se introduce sub forma unei constante de
tip TIME (de ex: t#200ms). Dac la tip se alege opiunea triggered by event, atunci n cmpul event
trebuie specificat variabila pe al crei front cresctor se va activa task-ul.
Astfel, sunt definite urmtoarele reguli de execuie a mai multor taskuri:

Se execut acel task care are condiia ndeplinit: s-a scurs timpul de activare sau
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;
46

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

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 nseamn c
prioritile sunt dinamice i bazate pe vrst;
n cadrul unui task, POU-urile de tip program se vor executa n ordinea n care au
fost introduse n lista de programe a acelui task.

n continuare trebuie specificate POU-urile de tip program, care s fie executate n cadrul taskului. Acest lucru se realizeaz efectund clic dreapta pe numele task-ului definit i selectnd
opiunea AppendProgram Call. Va aprea fereastra Program Call (fig. 55) n care se va selecta
numele POU-ului.
n cadrul unui task se pot executa oricte POU-uri.

Fig. 55. Asocierea unui POU la un task

Acest aspect al proiectrii, i anume facilitatea de a putea avea mai multe taskuri, este deosebit
de util mai ales pentru realizarea aciunilor la avarii ale 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.9.6. Realizarea configuraiei automatului


Configuraia automatului se realizeaz selectnd opiunea Ressources din organizatorul de obiecte
(fig. 56), iar n cadrul acesteia se selecteaz PLC Configuration. Ca urmare va aprea urmtoarea
fereastr:

Fig. 56. PLC Configuration

47

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

n cadrul acestei ferestre se pot observa adresele de intrare i de ieire ale automatului precum i
biii speciali de intrare i de ieire. De asemenea aici trebuie specificate modulele suplimentare,
care sunt ataate automatului. Dup cum se observ, ultimele apte poziii sunt goale (Empty
Slot), ceea ce nseamn c se pot ataa n total apte module.
Pentru ataarea unui modul suplimentar se efectueaz clic dreapta pe prima locaie intitulat
Empty Slot (poziie liber) i se selecteaz Replace Element (nlocuire a elementului). Va aprea o
list care cuprinde toate modulele care se pot ataa automatului. Se va selecta de aici modulul
amintit mai sus i vom observa c acesta apare n loc de Empty Slot. Apsnd pe semnul plus de
dinaintea numelui modulului, va aprea o list cu adresele modulului. Selectnd una din adrese,
n partea dreapt va aprea fereastra Base parameters care conine proprietile intrrii sau ieirii
respective.

1.9.7. 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-ului 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 fie prin legtur serial, fie prin
Ethernet.
ncrcarea are loc prin alegerea opiunii Online Login i apoi Online Download din bara de
meniuri. n prealabil trebuie setai parametrii de comunicare alegnd opiunea Online
Communication Parameters. Exist dou variante: Serial (RS232) - n acest caz trebuie specificat
viteza de transmisie (9600, 19200, 38400) i portul (COM1, COM2) sau Tcp/Ip n
acest caz trebuie specificat IP-ul automatului (192.168.119.200) i portul (1200).
n continuare se poate realiza o monitorizare online 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.
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 fig. 57 se observ c una dintre intrri fiind n starea TRUE la rndul ei
ieirea devine TRUE.

Fig. 57. Modul de simulare a unui proiect

48

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

2. Caietul de sarcini
n figura 58 este prezentat o maina de gurit mpreun cu schema electric care trebuie
realizat pentru a putea efectua un ciclu automat de gurire. Iniial trebuie poziionat piesa, fapt
semnalat de traductorul PP, iar apoi la apsarea de ctre operatorul uman a butonului de pornire
BP se declaneaz ciclul automat de gurire.
Mai nti are loc deplasarea cu avans rapid a capului de gurire ntre traductoarele R1 i R2
(pentru aceasta se alimenteaz contactoarele K2 i K3). Apoi are loc o deplasare cu avans lent a
capului de gurire ntre traductoarele R2 i R3 (se alimenteaz doar contactorul K2). Urmeaz
retragerea capului de gurire cu avans rapid, pn la atingerea traductorului R1 (prin alimentarea
contactorului K1). O nou gaur va fi efectuat dup trecerea a dou secunde, pn cnd s-au
fcut cinci guri succesive.
Se va prevedea i alimentarea motorului electric de antrenare a pompei hidraulice care asigur
presiunea pentru circuitul hidraulic prin intermediul contactorului C1.
Butonul de pornire i senzorul de poziionare a piesei vor fi simulate printr-un ntreruptor.
La nceputul fiecrui ciclu, capul de gurire trebuie adus n poziia retras dac nu se afla deja
acolo, iar abia apoi se realizeaz cele cinci guri.
Un nou ciclu va putea fi efectuat abia dup ce s-a poziionat o noua piesa i dup ce s-a apsat
din nou butonul de pornire.
Observaie.
1. Obinerea vitezei de avans rapid se face utiliznd un regulator unidirecional de debit (RDU). Dac se
alimenteaz V2 de la distribuitorul D1, exist dou ci de ntoarcere pentru lichidul din pistonul P: una care
trece prin RDU si alta care trece prin distribuitorul D2, dac se alimenteaz bobina V3. Pe prima cale se
poate regla debitul de lichid astfel ca viteza s fie mai mic dect aceea care se obine pe cea de-a doua cale.
Pentru cazul in care este alimentat bobina V1 a distribuitorului, RDU este prevzut cu o supap care nu
opune rezisten trecerii lichidului i n consecin viteza pistonului este maxim.
2. Traductoarele de proximitate R2 i R3 au logic negativ.

49

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

50

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

3. Modul de lucru
3.1. Automatul S7-200
Se procedeaz n felul urmtor:

Se pornete mediul de programare Step7MicroWin i se ntocmete Symbol Table,


conform legturilor dintre automat i reactor prezentate n fig. 59;
Se realizeaz graful automatizrii conform caietului de sarcini;
Se alctuiete programul cu una din metodele:
o Activarea i dezactivarea sincron;
o Utilizarea variabilelor SCR.
Se execut montajul din fig. 59, folosind modelul de reactor de etilare. Se vor face
numai legturile punctate;

Fig. 59. Legturile dintre automatul S7-215 i Maina automat de gurit

Se ncarc programul n automat;


Se verific funcionarea automatizrii conform caietului de sarcini.

3.2. Automatul S7-300


Se procedeaz n felul urmtor:

Se pornete mediul de programare Step7 Manager i se introduc variabilele n


obiectul Symbols, conform legturilor dintre automat i reactor prezentate n fig. 60;
Se realizeaz graful automatizrii conform caietului de sarcini;
51

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

Se alctuiete programul cu una din metodele:


o Activarea i dezactivarea sincron;
o Utilizarea limbajului SFC (folosind o funcie bloc editat n limbajul GRAPH).
Se execut montajul din fig. 60, folosind modelul de reactor de etilare. Se vor face
numai legturile punctate;

Fig. 60. Legturile dintre automatul S7-314C-2DP i Maina automat de gurit

Se ncarc programul n automat;


Se verific funcionarea automatizrii conform caietului de sarcini.

52

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

3.3. Automatul ABB

Fig. 61. Legturile dintre automatul ABB 07KT97 i Maina automat de gurit

53

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

Se procedeaz n felul urmtor:

Se pornete mediul de programare AC1131 i se introduc variabilele n obiectul


Global Variables din tab-ul Resources, conform legturilor dintre automat i reactor
prezentate n fig. 61;
Se realizeaz graful automatizrii conform caietului de sarcini;
Se alctuiete programul cu una din metodele:
o Activarea i dezactivarea sincron;
o Utilizarea limbajului SFC (Pentru ca graful s poat fi editat n standardul
internaional trebuie adugat o bibliotec special alegnd opiunea Window
Library Manager din bara de meniuri. Apare o fereastr nou iar n lista
bibliotecilor deja adugate care conine iniial o singur bibliotec se
efectueaz clic-dreapta i se alege opiunea Additional Library. Din lista
bibliotecilor afiate se alege biblioteca IECSFC_S90_V41.lib).
Se execut montajul din fig. 61, folosind modelul de reactor de etilare. Se vor face
numai legturile punctate;
Se ncarc programul n automat;
Se verific funcionarea automatizrii conform caietului de sarcini.

3.2. Automatul XC200


Se procedeaz n felul urmtor:

Se pornete mediul de programare easy Soft CoDeSys i se introduc variabilele n


obiectul Global Variables din tab-ul Resources, conform legturilor dintre automat i
reactor prezentate n fig. 62;
Se realizeaz graful automatizrii conform caietului de sarcini;
Se alctuiete programul cu una din metodele:
o Activarea i dezactivarea sincron;
o Utilizarea limbajului SFC.
Se execut montajul din fig. 62, folosind modelul de reactor de etilare. Se vor face
numai legturile punctate;
Se ncarc programul n automat;
Se verific funcionarea automatizrii conform caietului de sarcini.

54

Lucrarea nr. 3. Automatizarea unei maini de gurire automat

Fig. 62. Legturile dintre automatul Moeller XC200 i Maina automat de gurit

55

S-ar putea să vă placă și