Sunteți pe pagina 1din 311

Cap.7.

- Despre automate programabile


(PLC).
Problematica acestui capitol este foarte vastă şi ea nu poate fi redată numai în cadrul unui
singur capitol, în condiţiile în care despre subiectele automatelor programabile se scriu
cărţi întregi. Aşa dar, va fi vorba de prezentarea doar a unor idei de bază, urmând ca
perfecţionările ulterioare ale absolventului electromecanic să obţină performanţele
necesare operării în cadrul acestui domeniu foarte căutat.
Dezvoltarea acestui capitol se va face la nivelul a trei etape :
--- un prim nivel de cunoaştere;
--- o cunoaştere mai dezvoltată a problematicii automatelor programabile;
--- despre sistemele de conducere distribuite şi elementele comunicaţiilor.
La prima vedere, tematica prezentată nu are nici o legătură cu acţionările electrice, deşi
acţionările electrice actuale aproape că nu pot fi înţelese fără noţiunile sumare din cadrul
acestui capitol. Adică, elementele acestui capitol sunt foarte diferite faţă de acţionările de
tip mai vechi, cu variante de scheme clasice (deşi şi acestea se mai găsesc într-o măsură
destul de importantă „în lucru”) şi fac parte din „noul val” de variante de tipuri de
acţionări electrice, despre care se vor prezenta doar anumite elemente de iniţiere, dar fără
de care acestea nu pot fi înţelese. Înţelegerea acestora „de acum” se bazează pe
elementele mai vechi, care se presupun a fi însă bine cunoscute : se poate spune că este o
„schimbare de generaţii” a variantelor tipurilor de acţionări electrice şi nu poţi cunoaşte
„noul” fără o cunoaştere temeinică a ceea ce este acum „mai vechi”.
Deci, iată prima parte a acestui capitol.
7.1.- O primă introducere (Partea I-a).
7.1.1.- De ce “programabile” ?
Sistemele de conducere ale unei activităţi industriale, mai ales cele ce cuprind acţionări
electrice, sunt, de regulă, cu stări finite şi ele pot fi realizate cu ajutorul unei logici
cablate sau cu ajutorul unei logici programate. Aceasta este una dintre observaţiile de
bază privind această activitate.
Sistemele realizate cu ajutorul unei logici cablate se caracterizează prin aceea că :
funcţia ce se realizează depinde de conexiunile dintre diversele module, adică
depinde de cablajele ce se execută între diversele elemente ale unei acţionări;
dar orice modificare a funcţiei, realizate în cadrul sistemului de conducere,
necesită în acelaşi timp modificări de hardware.
O sinteză complet diferită şi deosebită a sistemelor de conducere cu aceleaşi stări finite,
se poate obţine cu ajutorul unei logici programate şi în această categorie intră, în
principiu, toate sistemele ce operează cu ajutorul unor programe înscrise într-o
memorie. Tipul acesta de sisteme se pot considera ca fiind sisteme universale, în sensul
în care pot implementa orice fel de funcţii fără a necesita modificări ale hard-ului. De
aceea pentru a realiza un set oarecare de funcţii, adică pentru o temă de proiectare dată,
activitatea trebuie să înceapă cu formarea unor programme ce se implementează în
memoria sistemului. Din aceste motive, tipul de sisteme ce lucrează pe baza de
programme, trebuie să posede (cel puţin) :
o unitate centrală cu ajutorul căreia se execută instrucţiunile programului, ca şi
în cazul unui calculator ce lucrează într-un anumit mediu de programare ;
memorie în care se păstrează instrucţiunile programului;
circuite de interfată (pentru semnalele de intrare/ieşire) cu ajutorul cărora
sistemul dat de conducere, comunică cu procesul în cadrul căruia este implementat.
Trebuie precizat totuşi, că deşi logica programată se extinde tot mai mult în raport cu
logica cablată, fiecare dintre aceste două variante îşi au avantajele şi dezavantajele lor,
iar alegerea unei anumite variante nu se realizează totdeauna cel mai uşor.
Sisteme cu logică programată pot rezolva mai bine probleme de mare complexitate,
care necesită un volum mare de date, respectiv unii algoritmi complecşi, în timp ce logică
cablată permite obţinerea unei viteze de răspuns maxime. În cazurile în care se impun

Fig.7.1.- Digrama logică pentru proiectarea unui sistem de conducere în varianta cablată şi programată.
ambele cerinţe, se pot îmbina ambele variante ale logicilor de conducere, adică se poate
merge pe ideea sistemelor mixte, ce folosesc logica cablată, respectiv logica
programată. De aceea proiectarea unui astfel de sistem de conducere poate respecta o
diagramă de lucru împărţită în două părţi specifice, dar îmbinate între ele : o componentă
a proiectului ce se referă la domeniul sistemului cu logica cablată, respectiv o
componentă a proiectului ce se referă la domeniul sitemului cu logica programată.
Aceasta presupune însă o foarte bună cunoaştere a procesului tehnologic, în cadrul
căruia urmează să fie implementate sistemul de conducere respectiv.
În această idee, diagrama logică pentru proiectarea sistemului de conducere ar putea fi ca
cea din figura 7.1.
În principiu deci, în cazul cel mai general, trebuie îmbinată logica cablată cu logica
programată, realizând o anumită pondere convenabilă a celor două variante una în
raport cu cealaltă.
Se poate remarca că în acest prim paragraf, se vorbeşte despre nişte principii generale (ce
nu au fost prezentate în nici unul din capitolele precedente) privind însăşi modalitatea de
execuţie (proiectare) a instalaţiilor de acţionre electrică, fără de care nu se poate realiza o
abordare ulterioară (tipuri de scheme, varainte de pornire, frânare, etc,etc).
7.1.2.- Încă un fel de introducere.
Sistemele automate de control ale proceselor tehnologice, care includ acţionările
electrice, formează la ora actuală un conglomerat de dispozitive electronice şi sisteme
de automatizare, care conferă stabilitate, acurateţe şi performanţă. Sistemele de operare
pot avea diverse forme de implementare pornind de la surse de alimentare şi până la
maşini electrice, dar pentru că reprezintă un rezultat rapid al progresului tehnologic, cele
mai complexe operaţii au fost rezolvate prin conectarea în sistemul respectiv a unor
automate programabile şi unităţi centrale de proces. Aceste automate programabile
(PLC - Programabille Logic Controller), aşa cum le vom denumi în continuare, pe
lângă conexiunile cu instrumentele de măsură şi senzorii din procesul de automatizare,
trebuie să permită comanda intregului proces şi ceea ce este şi important, să comunice
operatorului stările procesului, prin semnale vizuale şi sunet, şi/sau eventual legare la un
computer, printr-o reţea de comunicaţie corespunzătoare. Aceste caracteristici permit
exploatarea automatizării tehnologice la un înalt grad de flexibilitate, prin schimbarea şi
monitorizarea mult mai comodă a parametrilor de bază a procesului.
În figura 7.2 se dă vederea exterioară a unui automat programabil tip Omron-CPM1A (este un tip
mai vechi).Fiecare componentă din sistemul de control al
procesului joacă un anumit rol, în concordanţă cu
importanţa sa. Spre exemplu, fără niciun senzor, PLC-urile
nu ar putea ştii modul de variaţie în timp a parametrilor
principali ai procesului (consideraţi ca parametri de
intrare). De aceea, în sistemele automate, PLC-urile sunt
partea centrală a sistemului de control sau al automatizării.
Prin executarea programului înregistrat în memorie sa,
PLC-ul monitorizează în mod continuu stările sistemului
prin recepţia semnalelor de la dispozitivele de intrare
(senzori). Pe baza logici implementată în program, PLC-
ul determină ce acţiune trebuie executată pentru a comanda
un anumit instrument din cadrul procesului.
Fig.7.2.- Vederea exterioară a
unui PLC Omron-CPM1A.
Pentru a comanda mai multe procese simultan, este posibil să se conecteze mai multe
PLC-uri la o unitate centrală (un calculator); un astfel de sistem este prezentat în figura
7.3.

Fig.7.3.- Un model de schemă cu mai multe nivele de conducere în cadrul unui proces tehno-
logic mai complex.
Din figura anterioară se pot remarca deja mai multe „nivele de lucru” ale automatelor
programabile (principale/secundare), respectiv ale acţionărilor electrice, a liniilor de
comunicaţie „pe nivele” (eventual, între computerile şi PLC-urile locale) şi între nivele
până la computerul central.
Cam aşa se prezintă, în principiu, acţionările electrice şi automatizările corespunzătoare :
adică, nu prea se pot trasa graniţe precise între acţionarea electrică propriu zisă, partea
electronică (de putere/de comandă), respectiv automatizarea necesară, impusă de
condiţiile tehnologice în cadrul caruia se implementează
întregul ansamblu.
Acestea reprezintă, de fapt, variante de sisteme de
acţionare moderne.
7.1.3.- Cum arătau tablourile clasice de acţionare. La
începutul revoluţiei industriale, în special în perioada
anilor ’60-’70 (secolul trecut !), erau folosite mai ales
releele electromagnetice la automatizarea proceselor sau
a panourilor de automatizare, lucru ce necesita o densitate
de cabluri foarte mare pentru interconectarea releelor. În
anumite cazuri panoul de automatizare acoperea un perete
întreg. Descoperirea unei erorii în sistemul de
automatizare necesita foarte mult timp, cu atât mai mult
cu cât creştea şi complexitatea instalaţiei de automatizare.
În topul cauzelor defectării sistemului de automatizăre era
(şi acum este) releul electromagnetic, cu o durată de
viaţă limitată datorată construcţiei sale şi modului de
Fig.7.4.- Un exemplu de panou
de automatizare cu logica cablată.
operare. Deci, deranjamentele survenite în instalaţie erau
cu preponderenţă cauzate de fiabilitatea scăzută a releelor din panoul de automatizare,
fapt ce se încheia prin înlocuirea frecventă a acestora, ori această înlocuirea frecventă
conducea şi la oprirea producţiei. Întreţinerea era costisitoare, suprasolicitând şi cei mai
buni electricieni-depanatori în depistarea şi înlăturarea defectului. De regulă, un panou de
automatizare era folosit pentru conducerea unui singur proces şi nu putea fi adaptat
pentru cerinţele noilor tehnologii de lucru. Într-un cuvânt, panourile de automatizare
convenţionale se dovedeau inflexibile, deoarece îmbunătăţirea parametrilor de lucru ai
sistemului de automatizare, se realiza prin schimbarea topologiei de funcţionare a
panoului şi chiar a unor piese componente (lucru de altfel costisitor). Un exemplu tipic de
panou de automatizare convenţional apărea ca în figura 7.4. În figura 7.4 se poate observa
un număr destul de mare de cabluri şi conductoare electrice, relee (de timp, intermediare,
etc,…) şi alte elemente dintr-un panou de automatizare din perioada respectivă
(semnalizări optice şi acustice, eventual unele aparate de măsură).  Totuşi panoul de
automatizare din figura 7.4 nu este foarte complex, aşa cum sunt sau au fost unele
panouri convenţionale în perioada respectivă, dar se poate imagina, destul de uşor, cum
arăta unul mult mai complex! Însuşi autorul acestor rânduri, şi-a început ucenicia prin
anii 1955 pe acea logica cablată, cu zeci de tablouri de genul celor din figura 7.4 (unele
specializate numai pentru semnalizări sau măsură), cu numeroase canale cu rastele pentru
cabluri, canale departajate pentru cabluri de comandă (cabluri începând cu trei fire, până
la 32 de fire), respectiv cabluri de fortă (de J.T. şi I.T.), fiecare etichetat (de unde pleacă
şi unde ajunge, tipul cablului şi secţiunea!), iar toate acestea erau şi foarte costisitoare.
Cele mai importante dezavantaje ale panourilor de automatizare convenţionale
sunt:
manopera costisitoare pentru interconectarea elementelor de automatizare cu
ajutorul conductoarelor;
dificultăţi în schimbarea sau înlocuirea componentelor;
dificultăţi în găsirea erorilor – necesită forţă de muncă cu experienţă vastă şi
calificată;
atunci când survine o problemă, timpul pentru remediere nu se poate stabili cu
exactitate, acesta fiind în majoritatea cazurilor un timp mai îndelungat.
7.1.4.- Cum arată panourile cu automate
programabile. Odată cu adoptarea automatului
programabil, s-au schimbat foarte multe în
proiectarea sistemelor de control automat. Au
apărut mai multe avantaje. Spre exemplu, în
figura 7.5 este prezentat un panou modern de
automatizare cu automat programabil (PLC).
Avantajele panourilor de automatizare cu
automate programabile se pot prezenta în căteva
subpuncte:
în comparaţie cu un panou de automatizare
classic, numărul necesar de conductoare este
redus cu 80%;
Fig.7.5.- Aspectul unui panou cu
automat programabi (PLC). consumul energetic este foarte mult redus,
deoarece PLC-ul consumă mult mai puţin decât
releele din panoul de automatizare convenţional;
funcţia de detectare a erorilor din automatul programabil este foarte rapidă şi
foarte uşor de utilizat şi de realizat;
schimbarea secvenţelor de operare din cadrul aplicaţiei este diferită de la proces,
la proces, şi poate fi realizată foarte uşor, înlocuind sau modificând programul scris în
automatul programabil cu ajutorul unui PC (aceasta acţiune nu necesită schimbarea
conductoarelor sau recablarea panoului de automatizare, aşa cum se întâmpla la panourile
de automatizare clasice, ci se rezumă eventual doar la o altă interconectare a
dispozitivelor necesare, la intrările şi/sau ieşirile PLC-ului);
panourile de automatizare cu PLC necesită câteva piese de schimb;
este mult mai ieftin în comparaţie cu un sistem de automatizare clasic, deoarece
fiind dotat cu un număr larg de intrări/ieşiri, se poate conecta un număr mare de
periferice, atunci când se doreşte realizarea unor funcţii complexe;
repunerea în funcţie a unui PLC se face mult mai repede şi mai uşor decât a
oricărui releu electromecanic sau de timp.
Există totuşi şi unele dezavantaje ale lucrului cu automate programabile, iar dintre
acestea se pot menţiona:
 aplicaţii ‘fixe’: unele aplicaţii nu au nevoie de automat programabil datorită
gradului mai mic de complexitate, neexistand astfel necesitatea achiziţionării unui
automat programabil relativ mai sofisticat;
 probleme de mediu: în unele medii există temperaturi ridicate sau alte condiţii ce
pot duce la deteriorarea automatelor programabile, astfel ca acestea sunt greu sau chiar
imposibil de utilizat;
 funcţionare ‘fixă’: dacă nu apar schimbări în cadrul unui proces tehnologic (sau
nu sunt dese), de multe ori folosirea automatului programabil poate deveni mai
costisitoare.
7.1.5.- Cum s-a ajuns la necesitatea automatelor programabile (un scurt istoric).
Industria a început să recunoască necesitatea îmbunătăţirii şi creşterii productivităţii în domeniul său, în
perioada anilor ’60, ’70. Flexibilitatea tehnologică a devenit de asemenea o preocupare majoră (capacitatea
de a schimba rapid stările procesului şi a remedia deranjamentul a devenit o cerinţă foarte importantă
pentru satisfacerea clientului). Să încercăm să ne imaginăm o linie de producţie automatizată din anii ’60,
’70. Această automatizare conţine un număr destul de mare de cabluri electrice pentru controlul
automatizării şi în multe cazuri, acoperă o suprafaţă mare. Panoul clasic de automatizare conţine un număr
semnificativ de relee electromagnetice, ce realizează munca întregului sistem. Totodată metoda clasică de
cablare a panoului sau panourilor de automatizare implica existenţa un personal de întreţinere şi punere în
funcţie foarte calificat, personal care trebuia să cunoască schema de automatizare şi să interconecteze, cu
ajutorul cablurilor, toate releele şi alte elemente de automatizare. Un inginer trebuia să conceapă logic
schema, iar un electrician, având schema în faţă, trebuia să o implementeze cablând corespunzător releele.
Unele scheme conţineau peste o sută de relee electromagnetice de diferite tipuri. Planul după care se
executa cablarea panoului de automatizare se numea schemă monofilară sau "ladder schematic". În schema
monofilară erau afişate toate componentele: comutatoare, senzori, valve, relee etc, pe care le găsim în
sistemul de automatizare. Jobul electricianul era acela de interconectare a acestor componente. Cea mai
mare problema a acestei scheme de control o reprezentau releele electromagnetice. Însă instrumentele
mecanice sunt cele mai predispuse uzurii datorită părţilor componente în mişcare. Dacă un releu se defecta,
electricianul trebuia să verifice sau să examineze întregul sistem (întregul sistemul trebuia oprit până se
depista şi îndepărta cauza deranjamentului !). Deci, o altă problemă a acestui tip de automatizare era timpul
relativ mare a întreruperii funcţionării sistemului în caz de deranjament. În plus, dacă se dorea schimbarea
ciclurilor de funcţionare a sistemului (chiar şi o schimbare minoră), acest lucru se realiza cu costuri majore
şi pierderi mari de timp până când sistemul era din nou funcţional. Nu este chiar aşa greu de imaginat ce se
poate întâmpla dacă un inginer a făcut câteva greşeli minore pe parcursul realizării proiectului. Este de
asemenea uşor de imaginat, ce se va întâmpla dacă electricianul ar greşi în căteva puncte, cablarea
sistemului de automatizare. La final se poate imagina şi cazul a câtorva componente defecte. După aceea,
ca să aflăm dacă sistemul funcţionează, trebuie să se testeze funcţionarea acestuia. Cum iniţial în proiect au
fost strecurate greşeli, înclusiv de execuţie, cu siguranţa sistemul de automatizare nu va funcţiona. Aşadar,
această soluţie “clasică” de execuţie a sistemelor automate era foarte mult predispusă la conceperea unui lot
de panouri de automatizare cu multe exemplare rebut. Introducerea automatelor programabile a eliminat
din start acest dezavantaj.
General Motors a fost prima companie, care a recunoscut nevoia înlocuirii tehnicii de cablare clasică a
panourilor de automatizare. Înlocuirea vechii tehnologii de cablare a panourilor de automatizare a sporit
competiţia producătorilor de autoturisme prin creşterea productivităţii şi calităţi. Nu numai industria auto a
avut de câştigat de pe urma noii tehnologii. Flexibilitatea, întreţinerea ieftină şi uşoară, dar şi posibilitatea
schimbării rapide a ciclurilor de producţie, a devenit o necesitate crucială în actuală evoluţie a economie de
piaţă. Ideea companiei General Motors a constat în implementarea logicii cablate într-un
microcalculator, logică care a înlocuit tehnica clasică de cablare a releelor. În majoritatea aplicaţiilor,
microcalculatorul are la bază soluţii cu microcontrolere pe 8 sau 16 biţi (dar sunt şi pe 32, respectiv 64 de
biţi), în funcţie de complexitatea sistemului de automatizare. Deci, calculatorul avea să ia locul blocurilor
sau panourilor de automatizare cu numeroase relee. Orice schimbarea a ciclurilor de operare sau de
producţie se poate face foarte uşor modificând programul scris în automatul programabil. Deci, în prezent,
schimbarea schemei de comanda este mult mai comoda. Dar totul a fost bine până la punerea în aplicare a
acestei tehnologiei, când o nouă problemă a apărut şi anume aceea de a-i face pe electricieni să accepte şi
să-şi însuşească funcţionarea sistemului de automatizare cu noile dispozitive. Sistemele sunt de regulă
complexe şi necesită cunoaşterea anumitor tehnici de programare. A fost un mare semn de întrebare dacă
electricienii ar putea să-şi însuşească tehnici de programare pe lângă atribuţiile iniţiale de serviciu. Divizia
Hidromatic de la General Motors a recunoscut necesitatea implementării noii tehnologii şi astfel a pus
bazele primului proiect cu automat programabil (au mai fost câteva companii în lume care au creeat
dispozitive capabile să controleze procese industriale, dar aceste dispozitive electronice erau nişte simple
controlere secvenţiale şi nu PLC-uri aşa cum le cunoaştem noi astăzi). Noile dispozitive trebuiau să aibă
anumite caracteristici: să funcţioneze corect în medii industriale (vibraţii, temperaturii ridicate, praf),
să fie flexibile şi de dimensiuni reduse ca un computer şi să permită reprogramarea acestora daca se
dorea realizarea altor operaţii. Ultimul criteriu şi cel mai important era acela ca noile dispozitive să poată
fi programate şi întreţinute uşor de către electricieni şi tehnicieni existenţi. După ce cerinţele au fost trasate,
General Motors a căutat companii interesate, care pot să proiecteze aceste dispozitive în corelaţie cu
aplicaţiile unde urmau să fie implementate.
Gould Modicon a dezvoltat primul dispozitiv, care respecta aceste specificaţii. Cheia succesului a fost
aceea că pentru programare nu era necesar învăţarea unui anumit limbaj de programare. Programare
se efectua într-un limbaj asemenea schemelor clasice monofilare (ladder diagram), cu particularităţile
proprii. Din acest motiv electricienii şi tehnicienii puteau foarte uşor să înveţe programarea respectivă,
deoarece schema logică trasată în program era foarte asemănătoare cu schema clasică. Iniţial, PLC-urile s-
au numit PC Controllers sau controlere programabile. Această denumire se confunda de multe ori cu
numele de calculator personal (PC). Pentru a elimina această confuzie, denumirea PC a fost atribuită doar
calculatoarelor personale, iar controlerele programabile s-au denumit “programmable logic controllers”
sau simplu: PLC. La început PLC-urile au fost dispozitive simple. La intrările acestora erau conectate
comutatoare, senzorii digitali etc, iar la ieşiri se comanda pornirea şi oprirea funcţionării altor dispozitive.
Când au apărut primele PLC-uri acestea nu erau capabile să controleze procese mai complexe, cum ar fi:
controlul temperaturii, a poziţiei, presiunii, etc. Cu toate acestea, odată cu trecerea anilor, au apărut şi PLC-
uri, care au fost capabile să realizeze aceste funcţii. În prezent, automatele programabile sunt capabile să
controleze procese foarte complexe, inclusiv controlul poziţiei. Modul de realizare şi programare a acestora
a fost mult îmbunătăţit. Au fost concepute module speciale, care ataşate PLC-ului pot lărgi aria de
operabilitate a acestuia. Un exemplu în acest sens este modulul de comunicaţie, care permite
interconectarea mai multor automate programabile. În prezent este foarte greu să ne imaginăm un proces
tehnologic ceva mai complex, care să nu fie controlat de un automat programabil!
Iar toate aceste aspecte fac parte acum din noile concepţii despre acţionările electrice automatizate.
7.1.6.- Cam ce trebuie să facă un automat programabil ?
Să luăm un exemplu foarte simplu : cazul când trebuie să se aprindă lumina într-un
anumit loc de muncă. În figura 7.6 se arată cum se poate realiza aprinderea luminii printr-
o acţiune manuală asupra întrerupătorului de lumină. Numai că se dispune, de exemplu,
ca aprinderea luminii să se producă după un anumit interval de timp, după ce
întrerupătorul de lumină a fost trecut pe „on”. În principiu, acest lucru se poate realiza cu
ajutorul unui scheme ce conţine un automat
programabil, ce poate juca rolul unui „timer”
(desigur, acest lucru se poate obţine mai simplu
cu ajutorul unui releu de timp, ales în mod
convenabil !), iar schema va apare ca în figura
7.7.
Ce recunoaştem în cadrul acestei scheme de
principiu : elementul (elementele) de input,
elementul (elementele) de output şi automatul
programabil, care este format din mai multe
componente printre care se pot specifica, în
principal : sursa de alimentare şi rack-ul
Fig.7.6.- Exemplul modalităţii aprinderii automatului programabil, unitatea
luminii într-un loc de muncă. principală de procesare (CPU), elemente
constructive pentru semnalele de intrare şi

Fig.7.7.- Schema de principiu, pentru aprinderea luminii, cu ajutorul unui automat programabil.
ieşire (I/O), ceea ce ar putea fi reprezentat ca în figura 7.8.
Aceasta este o variantă contructivă modulară, adică formată din mai multe module, ce
Fig.7.8.- Vederea exterioră (o variantă) a unui automat programabil, cu componenetele sale principale.

Fig.7.9.- Forma constructivă (o variantă) a surselor de tensiune cu rack-ul său la un automat


programabil.
Modulele de I/O pot fi, în principiu, de tip input/output – digital/analogice. Un modul
I/O de tip digital se poate referi la semnale discrete de tipul pornit/oprit, semnale
realizate de unele tipuri de butoane, senzori de limită sau selector de switch-uri, etc.
Un modul de I/O analogic converteşte un semnal de tensiune/curent într-un echivalent
digital, ce poate fi înţeles de CPU; exemple de dispozitive analogite pot fi traductoarele
de presiune, debitmetrele, termocuplele pentru citirea temperaturii, etc.
7.1.7.- Cum se programa un automat programabil ?
La ora actuală se realizează un program cu ajutorul unui PC (program specific/dedicat
realizat de producătorul PLC-ului), care se depune în CPU-ul automatului ceea ce
permite acestuia apoi să lucreze în cadrul procesului tehnologic unde se implementează.
La început însă, automatele programabile erau foarte simple şi programarea lor se realiza
conform cu aşa-numita „logică scării” (logica ladder). Fiecare „treaptă a scării”
corespundea unei anumite comenzi ce trebuia efectuată cu ajutorul unui element de
acţiune din cadrul schemei tehnologice (releu, electrovalvă, servomotor, etc). Pe aceste
„trepte ale scării” erau dispuse nişte simboluri (în loc de cuvinte), care se interconectau
cu nişte linii, pentru a indica circulaţia curentului, de exemplu, spre bobina unui releu.
Numărul simbolurilor a crescut, adică „treptele scării” s-au înmulţit, iar întreaga
diagramă arăta chiar ca o „scară”, pentru că treptele scării erau montate (ca la orice
scară!) între „lateralele scării”, care ar putea fi privite ca două „barete”, conectate la o
sursă de alimentare, adică ar fi o versiune a schemei defăşurate cu dispunerea
elementelor pe verticală, dar rotită cu 90 de grade. Un segment dintr-o astfel de „scară”
(ce funcţionează deci după logica ladder), este dată în figura 7.12.

Fig.7.12.- Un segment de “scară”, ce folosea “logică scării” la programarea unui automat progra-
mabil.

În figura 7.12 în prima “treaptă a scării” este prevazut un pushbutton prin închiderea
căruia se aprinde o sursă luminoasă, iar a 2-a treaptă a scării se referă la “end”, adică
finele programului.
Aceasta era de fapt logica ladder !
Adică, era un fel de „schemă monofilară”, dezvoltată secvenţial, astfel încât automatul să
execute operaţiunile într-o anumită ordine, iar variantă această de programare era foarte
pe înţelesul electricianului cu o anumită pregătire nu foarte dezvoltată, care astfel putea
să realizeze programarea automatului relativ uşor.
Trebuie reţinut că iniţial automatele programabile erau folosite, pentru “procese” destul
de simple, dar odată cu evoluţia lor s-a ajuns la programe foarte complexe, ce folosesc
elemente de logică booleană, respectiv elemente de programare, ca în cazul unor medii de
programare evoluate.
7.1.8.- Câteva elemente mai de detaliu la început nu strică!.
După unele generalităţi şi prezentări foarte sumare, se consideră util să fie date şi câteva
detalii, care parţial se vor referi la un PLC de tip Omron (o variantă mai veche).
7.1.8.1.-Din nou despre componentele automatelor programabile.
PLC-ul este actualmente un sistem industrial cu microcontroler (iniţial a fost numit
procesor în loc de microcontroler), care se compune dintr-o partea hardware şi software
specifică şi adaptată să funcţioneze în medii industriale : este, de fapt, un calculator
specializat. O schemă bloc ar putea fi prezentată ca în figura 7.13.
O atenţie deosebită trebuie acordată separării galvanice a microcontrolerului faţă de
partea de forţă şi execuţie din mediul industrial (adică, de exteriorul său).
Componentele pot diferi ca număr, de la un exemplar la altul, dar elementele care se
regăsesc in general sunt urmatoarele:
 unitatea centrală : reprezintă partea cea mai importantă a automatului
programabil şi este compusa din 3 parti importante: procesor, memorie şi sursa de
alimentare. Prin intermediul acesteia se realizeaza practic conducerea intregului proces;
 unitatea de programare : la ora actuală este reprezentată în multe cazuri de
către un calculator prin intermediul căruia pot fi scrise programe, ce apoi sunt incărcate
pe unitatea centrală şi rulate; în cazul în care se doreşte o unitate mai uşor de manevrat
sunt puse la dispozitia programatorilor (de către majoritatea firmelor), console (adică,
sisteme de gen laptop) prin intermediul carora pot fi scrise programe pentru automate;
 modulele de intrare/ieşire : permit interconectarea cu procesul, primind sau
transmiţând semnale către acesta; acestea pot fi cuplate direct cu unitatea centrală sau
prin control la distanta (dacă este cazul pentru un anumit proces);
 şina : dispozitivul pe care sunt montate unitatea centrală, modulele de
intrare/ieşire şi alte module funcţionale adiţionale (dacă este cazul).
7.1.8.2.- Unitatea centrala de procesare – CPU.
Unitatea centrală de procesare
(CPU) este creierul
automatului programabil. CPU
este în mod uzual un
microcontroler. Odinioară,
aceste microcontrolere erau pe
8 biţi, cum ar fi 8051, iar
actualmente sunt microcontr-
olere pe 16 sau 32 de biţi. În
automate programabile de
marcă, cum ar fi Siemens,
Hitachi şi Fujitsu, o să regăsiţi
diferite tipuri de micro-
controlere produse de diferite
firme, cum ar fi Motorola.
Modulul de comunicaţie este
Fig.7.13.- Schema bloc cu evidenţierea componentelor unui ataşată la unul din porturile
automat programabil. microcontrolerului. Automatele
programabile posedă diferite
rutine pentru verificare memoriei, asta din motive de siguranţă. La modul general
vorbind, unitatea generală de procesare efectuează o serie întreagă de rutine de verificare
a stării tehnice a PLC-ului. Pentru semnalizarea diferitelor erori sau stări de funcţionare
PLC-urile sunt dotate cu indicatori optici (diode luminiscente sau leduri, sau blocaje de
lucru).
7.1.8.3.- Memoria.
Memoria sistemului – actualmente de tip FLASH - este utilizată de automatul
programabil pentru stocarea programului folosit la controlul automatizării. Înainte să fie
scris în memorie, programul trebuie compilat, cu ajutorul altui program cu ajutorul căruia
a fost scrisă logica automatizării, de exemplu, în leader diagram. Reprogramarea sau
rescrierea memoriei se realizează, de regulă, cu ajutorul unui cablu serial.
Memoria utilizată este împărţită în diferite blocuri cu diferite funcţii. Anumite părţi ale
memoriei sunt folosite pentru a înregistra stările porturilor (intrare sau ieşire). Fiecare
stare a memoriei este stocată printr-un bit: 1 sau 0. Fiecărei intrări sau ieşiri îi corespunde
un bit din memorie. Alte părţi ale memoriei stochează variabilele pe care le foloseşte
programul. Spre exemplu, perioada de temporizare ori valoarea numărată pot fi stocate în
această parte a memoriei.
7.1.8.4.- Despre programarea automatelor programabile (elemente iniţiale).
PLC-ul poate fi reprogramat cu ajutorul unui computer (cea mai comodă cale !), dar
poate fi programat şi manual cu ajutorul unei console. Acest lucru înseamnă că fiecare
automat programabil poate fi programat cu ajutorul unui computer, care are instalat un
program special pentru operaţia asta. Astăzi, calculatoarelor pot utiliza linii de transmisie
pentru interconectarea PLC-urilor şi programarea lor. Este un avantaj enorm pentru
industrie, pentru că odată ce PLC-ul este conectat la PC, pentru început se poate citi
programul deja scris în acesta (asta dacă am mai fost programat anterior). Comunicaţia cu
PLC-ul este foarte importanta deoarece, pe lângă celelalte avantaje pe care le aduce,
permite monitorizarea procesului de automatizare de la distanţă, inclusiv verificarea stării
PLC-ului.
Aproape fiecare program pentru programarea automatelor programabile include diferite
opţiuni utile ca: trecerea din ON in OFF a intrărilor şi ieşirilor, simularea programului în
timp real ş.a.m.d. Aceste opţiuni sunt necesare pentru determinarea erorilor sau a
funcţionării defectuoase a programului. Programatorul poate adăuga comentarii, numele
intrărilor şi ieşirilor, adică elemente foarte utile în întreţinerea sistemului. Spre exemplu,
adăugarea comentariilor ajuta electricienii şi tehnicieni să înţeleagă mult mai bine schema
de comandă schiţată în mediu de programare ladder diagram. De asemenea, aceste
comentarii ajută foarte mult la întreţinerea şi depanarea automatizării.
7.1.8.5.- Sursa de alimentare.
Sursa de alimentare are rolul de a alimenta cu energie electrică automatul programabil.
Majoritatea PLC-urilor lucrează cu tensiunii de 24 V c.c. sau 230 V a.c., iar unele
automate programabile se alimentează printr-un modul separat. PLC-urile cu sursă de
alimentare separată sunt automate programabile mari. Pentru a determina puterea
electrică a sursei de alimentare va trebui să cunoaştem consumul PLC-urilor, determinat
în mare parte, de către necesarul de curent al ieşirilor. Sursa de alimentare trebuie să
îndeplinească anumite cerinţe de compatabilitate electromagnetică, ca de exemplu: să fie
imună la perturbaţii electromagnetice,  medii corozive, întâlnite cu preponderenţă în
mediul industrial.
7.1.8.6.- Întrările automatului programabil.
Inteligenţa unui sistem de automatizare depinde în mare măsură de capabilitatea
automatului programabil să citească semnalul provenit de la diferiţi senzori şi dispozitive
de intrare. Taste, kepad-uri, comutatoare cu şi fără automenţinere, sunt căteva din
elementele, care au făcut legătura dintre om şi maşina. Pe de altă parte, pentru a verifica
piesele, care sunt în mişcare, pentru a verifica presiunea sau nivelul de fluid, este nevoie
de traductoare, care să transmită la ieşirea lor un semnal unificat (0…5 V sau 4…20 mA),
recunoscut de automatul programabil. Sunt diferite metode de obţinere a semnalelor de la
un senzor, de exemplu, se poate folosi un optocuplor sau un transformator.
7.1.8.7.- Ieşirile automatului programabil.
Un sistem de automatizare este incomplet dacă la ieşirile sale nu este conectat niciun
dispozitiv. Cele mai întâlnite dispozitive sunt: motoare, bobine, relee, indicatoare, sunete
de semnalizare, etc. Pentru a porni un motor sau pentru a alimenta un releu, PLC-ul
transmite un semnal “1” logic la ieşirea aferentă – în funcţie de caracteristicile
programului. În acest caz, spunem că ieşirea automatului programabil este digitală.
Totuşi, ieşirile pot fi şi analogice; o ieşire analogică este utilizată pentru a genera un
semnal analogic (ex. un motor funcţionează cu o anumită viteză, ce corespunde unei
anumite tensiuni).
7.1.8.8.- Extensia numărului de intrări / ieşiri.
Orice automat programabil are un număr limitat de intrări / ieşiri. Numărul de intrări sau
ieşiri poate fi însă mărit prin conectarea unui modul extern. Acest modul este o extensie
de intrări şi ieşiri, extensie care diferă de la PLC, la PLC (ex. dacă ieşirea este un releu,
atunci tranzistorul, care acţionează releul poate fi un mod de extensie).
7.1.9.1.- Câteva cuvinte desprea PLC
Omron CPM1A.
Un automatul programabil se adoptă de abia
după ce s-a trasat schema de comandă “clasică”
şi se cunoaşte cu exactitate numărul de
intrări/ieşiri şi senzori sau traductoarele
necesare. Pentru a creea nişte exemple mult mai
uşor de înţeles şi aplicat practic, s-a ales, spre
descriere, automatul programabil produs de
compania OMRON, micro class CPM1A.
Adjectivul “micro” semnifică existenţa unui
număr minim de opţiuni ataşate automatului
programabil. Dar chiar şi aşa, modelul pe
mărginea căruia se va discuta în cele ce
urmează, este suficient pentru înţelegerea
modului de funcţionare şi implementare practică
a automatelor programabile. 
Fiecare PLC este în esenţă un sistem cu
microcontroler; unitatea centrala de procesare a
automatului programabil se bazează pe un
microcontroler, sau mai recent, pe un procesor
PC de generaţie mai veche, care are conectate
diferite periferice: intrări ieşiri digitale sau relee
ca în cazul dat. Oricum, acesta nu este un sistem
cu microcontroler obişnuit. O întreagă echipă a
lucrat pentru perfecţionarea microcon-trolerului
Fig.7.14.- Imaginea de ansamblu a automatului
programabil Omron CPM1A. şi dezvoltarea programului folosit la
programarea lui. Iniţial s-a utilizat programarea
în ansambler, care se mai utilizează şi în prezent la programarea microcontrolerelor. Firmele producătoare
de PLC-uri au trebuit să dezvolte acest mod de programare pentru a fi mult mai uşor înţeles de electricieni
şi tehnicieni, şi bineînţeles, pentru a se aprofunda într-un timp cât mai scurt; astfel s-a născut programarea
“în ladder”. O imagine de ansamblu cu PLC-ul OMRON CPM1A se poate vedea în figura 7.14.
Pe panoul din faţă sunt 4 indicatoare cu LED şi conectorul RS232 pentru interfaţa cu PC-ul. În afară de
acestea, se mai pot vedea terminalele de intrare şi ieşire. Cu ajutorul acestor terminale (cu şuruburi) se
poate conecta PLC-ul în schema de automatizare. Prin clemele
L1 şi L2 se alimentează PLC-ul, în acest caz cu 230Vac.
Automatele programabile lucrează de obicei la 24 Vdc, deci
pentru controlul lor prin intermediul senzorilor va trebui să
existe acces la masa sursei de tensiune continuă, care le
alimentează intern. În acest sens, orice PLC trebuie prevăzut cu
o clemă de acces la masă sau GND. În cazul dat această clemă
este notată “COM”. Microcontrolerul PLC-ului este alimentat
printr-o referinţă internă de tensiune sau regulator dc de tensiune
la 5 Vdc. Ieşirile automatului programabil sunt pe 24 Vdc, de
unde se poate intui uşor la ce putem folosi aceste ieşiri (spre
exemplu: pentru comanda unor relee intermediare aflate între
PLC şi partea de execuţie a procesului). PLC-ul OMRON mai
cuprinde două găuri pentru prinderea acestuia în tabloul de
automatizare sau se poate monta, mult mai uşor, pe un rack
industrial sau binecunoscuta şină omega.
Automatul programabil prezentat are doar 8 cm înălţime şi se
Fig.7.15.- Vederea cu conectorul divide vertical în două părţi: o parte cu un convertor 230/24 Vdc
RS232 (interfaţa serială). şi alta cu CPU-ul, memoria, intrările digitale şi releele de ieşire
aferente. Dacă se îndepărtează porţiunea de plastic din partea
stângă se descoperă conectorul RS-232, adica interfaţa serială cu PC-ul (vezi figura 7.15). Această interfaţă
este utilizată pentru programarea automatului programabil cu ajutorul calculatorului. Atunci când se
instalează PLC-ul nu este neaparat necesar să se instaleze interfaţa, dar este recomandat să se facă lucru
asta pentru a schimba anumite setări ale
programului pe parcursul efectuării
încercărilor şi operaţiilor de punere în
funcţie a automatizării.
Pentru o informare mai bună a
programatorilor asupra stării automatului
programabil, pe panoul frontal al acestuia
sunt dispuse 4 indicatoare cu led-uri
(Power, Run, Comm şi Error / Alm). Pe
lângă aceste leduri, mai există şi
indicatoarele de stare pentru fiecare intrare
şi ieşire a automatului programabil. Aceste
leduri se găsesc în imediata vecinătate a
şuruburilor de fixare (ex. D0….D5). Spre
exemplu, dacă o ieşire este activă, atunci
ledul aferent luminează şi invers.
7.1.9.2.-Ieşirile automatului
programabil OMRON CPM1A.
Cu excepţia tranzistorului de ieşire în
conexiune NPN sau PNP, automatul
programabil poate avea la ieşire şi relee.
Fig.7.16.- O porţiune din schema internă a PLC-ului Prin existenţa la ieşirile automatului
Omron CPM1A. programabil a releelor se pot conecta mult
mai uşor dispozitivele externe. Modelul
CPM1A conţine exact la ieşire  aceste relee. CPM1A are în total 4 relee ale căror contacte se regăsesc la
terminalele de ieşire ale automatului programabil. În realitate, schema internă a unei ieşiri a PLC-ului arată
ca în figura 7.16.
Odată cu activarea optocuplorului, prin trecerea în zero logic a ieşiri microcontrolerului, bobina releeului
este alimentată iar contactele A şi B se închid. În cazul dat contactele A şi B pot să închidă sau să întrerupă
un circuit extern. Deci starea acestor contacte este determinată de starea porturilor de ieşire a
microcontrolerului. În figura 7.17 este exemplificat cazul în care portului de ieşire îi corespunde un anumit
şir de cifre binare, şir notat cu IR010. Aşa cum se întâmpla şi la programarea individuală a
microcontrolerelor şi în cazul PLC-urilor va trebui să fie setată starea porturilor de ieşire la începutul scrieri
programului. Folosind programarea în ladder a PLC-ului se pot defini foarte uşor stările de intrare şi ieşire.
Dacă nu se definesc stările ieşirilor (iniţiale !), se poate întâmpla ca atunci când se pune în funcţie
automatul programabil, acestă să pornească, spre exemplu, un motor, când de fapt ar fi trebui să aştepte să
primească o comandă pe o intrare ca să facă acest lucru.

Fig.7.17.- O exemplificare cum unui port de ieşire al PLC-ului îi corespunde un anume şir binar.

7.1.9.3.- Intrările automatului programabil


OMRON-CPM1A.
Diferiţi senzori, chei, comutatoare şi alte elemente asemenea se
pot conecta la intrările PLC-ului. Pentru a putea să conectăm
senzorii menţionaţi la intrările PLC-ului va trebui să folosim o
sursa de alimentare, care să activeze circuitele de intrare. Este
necesar să facem acest lucru deoarece porturile de intrare ale
microcontrolerului, care echipează PLC-ul sunt izolate galvanic,
cu ajutorul unor optocuploare, de partea propriu zisă de
comandă a automatului programabil. Cum pentru activarea unui
optocuplor este nevoie de o sursa de tensiune externă, pentru
funcţionarea corectă a senzorilor de intrare, va trebui să
intercalăm aceşti senzori pe traseul de alimentare al intrării
optocuploarelor. Cea mai simplă metodă este aceea să utilizăm
sursa de tensiune de 24 Vdc a PLC-ului. O astfel de metodă este Fig.7.18.- O modalitate de alimentare
aratată în figura 7.18. a intrărilor PLC Omron CPM1A.
7.1.9.4.-Cum funcţionează PLC-ul ?
Funcţia de bază a unui automat programabil este aceea de scanare continuă a stărilor
programului. Prin scanare se înţelege verificarea continuă a condiţiilor programului într-
o perioadă de timp (adică, verificarea ciclică, corespunzătoare unui timp de ciclu). Acest
proces de scanare a stărilor se compune din trei paşi:
Testarea intrărilor. Pentru început PLC-ul testează fiecare intrare cu intenţia
de a depista care este în starea “ON” şi care este în starea “OFF”. Cu alte cuvinte, PLC-
ul verifică dacă este conectat vreun senzor sau comutator la intrări; după aceea, acest pas
este memorat şi va fi folosit în următorul pas.
Executarea programului. În această etapă PLC-ul execută programul,
instrucţiune, cu instrucţiune. Cunoscând starea intrărilor obţinută din pasul precedent,
atunci programul va executa paşii necesarii. Reacţia executării unui pas, se poate observă
prin activarea unei anumite ieşiri, care poate fi memorată şi utilizată în pasul următor.
Verifică şi corectează starea ieşirilor. În pasul final, PLC-ul verifică starea
ieşirilor şi corectează, dacă este cazul, aceste erori, utilizându-se de logica programului.
Scanarea ciclică a stărilor PLC-ului este sugerată bine prin figura 7.19.
7.1.9.5.- Ladder diagram.
În decursul timpului, încă de la apariţia
PLC-urilor, s-au prezentat mai multe soluţii
de programare a automatelor programabile -
cea mai populară soluţie fiind programarea
în “ladder diagram”. Ca atare, în prezent,
multe automatelor programabile pot fi
programate în “ladder diagram” (adică,
aproximativ conform cu o schemă cu relee),
Fig.7.19.- Scanarea ciclică a PLC-ului. ceea ce nu este altceva decât desenarea unei
scheme clasice de comandă cu relee, dar cu
o simbolistică aparte.  Acest mod de programare era mult mai uşor de înţeles atât de
electricieni cât şi de tehnicieni, pentru că
simbolurile aparatelor şi contactelor acestora
erau foarte similare cu cele din schemele clasice
de automatizare.
În figura 7.20 sunt date elementele de bază ale
programării în „ladder diagram”.
Ladder diagram constă dintr-o linie verticală,
pe care o regăsiţi în partea stângă a programului,
şi una sau mai multe linii orizontale, pe care se
înseriază, spre exemplu: contactele de intrare,
ieşire şi anumite elemente logice de program
Fig.7.20.- Elementele de bază ale program- (figura 7.20). Linia din partea stângă se numeşte
mării în “ladder diagram”. “bus bar” iar linia orizontală este linia de
instrucţiuni. Pe linia de instrucţiuni se dispun
elementele logice ale programului (contacte normal-inchise, normal-deschise, porţi
logice, contactoare, etc). Combinănd mai multe condiţii sau elemente logice pe o linie, se
poate determina care instructiune urmează să se execute şi în final care anume element de
ieşire poate fi comandat.
Cele mai multe instrucţiuni se pot realiza cu ajutorul unui singur operand, iar altele cu
mai mulţi operanzi. Acest operand poate să fie o cifră binară dintr-o anumită locaţie a
memoriei sau un număr. Într-un exemplu precedent am prezentat operandul 0 din locatia
de memorie IR000. În acest caz, când se doreşte apelarea acestui operand, atunci se
foloseşte semnul „#” sub cifra scrisă (precizarea asta e foarte importantă pentru un
compilator, ca să poată face diferenţa dintre o constantă şi respectiv o adresă de
memorie).
Deci, aşa cum se poate observa din figura 7.20, ladder diagram constă dintre o parte
condiţională (partea stângă) şi una instrucţională
(partea dreaptă). Când condiţia este realizată,
instrucţiunea este executată.
În figura 7.21 este prezentat un exemplu de program in
ladder diagram, unde releul IR010.00 este acţionat când
intrarea microcontrolerului  este în “00”. Condiţia poate fi
activa (ON) sau inactivă (OFF). Această condiţie poate
simula practic un comutator : când comutatorul este
închis, releul este acţionat şi invers. Dacă utilizăm un
comutator (buton) fără automenţinere, atunci când vom
Fig.7.21.- Condiţia şi instruc-
ţiunea în cadrul unei “ladder apasa prima oară comutatorul, releul va fi acţionat, iar
diagram”. când vom apasa a doua oară comutatorul, releul va reveni
în poziţia iniţială.
Acesta este doar un exemplu simplu. Se poate foarte bine implementa astfel, de exemplu,
un sistem de alarmă intr-o locuinta. Astfel, condiţia poate fi reprezentată de uşile de la
intrarea în casa. Puteţi privi aceste uşi ca fiind nişte comutatoare conectate la intrările
PLC-ului. Dacă alarma este armată şi o uşă este deschisă neautorizat, comutatorul aferent
condiţionează intrarea aferentă a PLC-ului în “ON” iar ieşirea aferentă va capăta aceea
stare : adică, se poate astfel acţiona un circuit sonor de alarmare.
Aceste elemente ale unor exemple extrem de simple trebuiesă conducă la o înţelegere cât
mai bună avariantelor de programare în ladder diagram.
7.1.9.6.- Un exemplu oarecare cu PLC-ul OMRON CPM1A.
În exemplul următor este trasat un program simplu. Exemplu constă într-un dispozitiv de intrare
(comutator) şi unul de ieşire (bec). Intrarea 000.00 reprezintă condiţia de executare a instrucţiunii 010.00.
Dacă anulăm intrarea sau altfel spus “închidem comutatorul”, ieşirea aferentă va comuta şi va aprinde
becul. Pentru o funcţionare corespunzătoare a programului va trebui să închidem instrucţiunea aferentă
printr-o altă linie de program “END”.

Fig. 7.22.- Porţiunea din schemă în “ladder diagram” pentru exemplul propus cu PLC-ul Omron.
În imaginea din figura 7.23 este prezentat schema de
interconexiuni a aplicaţiei realizate pe baza programului de
mai sus, prezentat în figura 7.22.
7.1.10.- Câteva scurte comentarii la acest
subcapitol introductiv.
Aşa cum s-a amintit deja în treacăt, PLC-ul nu
este singura opţiune pentru controlul unui proces
tehnologic mai extins. A fost o perioadă în care s-
a dezbătul destul de mult ce trebuie « să
rămână » la controlul unui proces : PLC-ul sau
PC-ul ? În final a rămas (cel puţin până la ora
actuală !) că este bină să fie folisită o combinaţie
oarecare a celor două tehnologii.
a) PLC vs releu. Când s-a început prima dată
programarea programarea PLC-urilor, a apărut şi
întrebarea dacă totuşi “releele” nu sunt
mai bune, deşi preţurile PLC-urilor
scădeau mereu.
În general, în cazul unei proiectări ce se
referă la astfel de situaţii, proiectantul
trebuie să răspundă la mai multe întrebări şi să
Fig.7.23.- Schema de conexiuni pe baza tragă concluzia corespunzătoare :
aplicaţiei realizate cu PLC-ul Omron. Există o nevoie de flexibilitate în logica de
control ? Vor fi modificări frecvente ale acestei
logici ? Va fi nevoie de modificări rapide ale logicii de control ? Dacă unele obiective
ale tehnologiei vor impune unele modificări, atunci se impune realizarea acestor
modificări : prin hardware-relee sau prin software-PLC ?
Este necesar ca logica de control similară, să fie folosită pe maşini sau zone
tehnologice diferite ? Trebuie ţinut seama de faptul că oricum este mult mai uşor să fie
descărcat un program pentru un PLC, decât de a construi un panou de relee.
Se prevede o dezvoltare într-un viitor destul de apropiat ? Un PLC poate
accepta cu uşurinţă un nou modul într-un slot sau să fie realizată o extindere
corespunzătoare.
Se pune problema unei fiabilităţi ridicate ? Un PLC se comportă din acest
punct de vedere mult mai bine decât multe componente de control individuale.
Exită o preocupare pentru downtime ? Unele intervenţii în cadrul PLC pot fi
efectuate fără nici o întrerupere a sistemului de control, spre deosebire de
cazul panourilor cu relee când întreruperile sunt aproape inevitabile.
Se impun unele condiţii privind spaţiul de utilizare ? Variantă panou
relee/PLC poate conduce la o economie de spaţiu folosit.
Se pune problema unui număr sporit de ieşiri ? PLC-urile pot fi mai
rapide decât omoloagele lor mecanice.
Se pune problema colectării unor date specifice de lucru şi/sau
teletransmiterea lor ? Acest lucru este posibil numai în cazul PLC-urilor şi al PC-
urilor.
Care sunt costurile totale în cele două variante ? Trebuie ţinută seama şi de
pierderile ce se pot produce, nu numai de costurile investiţiilor.
b) PLC vs dedicate Controller. Un controler dedicat este oarecum un instrument unic,
dedicat pentru controlul unui anumit parametru, cum ar fi, de exemplu, un controler PID
pentru controlul temperaturii în cadrul unui proces de încălzire. Tipul acesta de controlere
au avantajul unui singur pachet, ce cuprinde de obicei afişajul şi unele butoane.
Acest element poate fi foarte util în cazul unor aplicaţii simple, dar un PLC
poate concura ca preţ şi funcţionalitae cu această variantă mai ales în cazul în
care se folosesc mai multe astfel de controlere dedicate. Trebuie amintit că un
PLC oferă un grad mare de flexibilitate prin aceea că poate fi programat să se
ocupe de mai multe scenarii diferite.
c) PLC vs PC (calculatoare personale). Dezbaterea în această privintă se continuă şi
acum, iar răspunsul difinitiv nu a fost dat(încă!). Este însă cert că ambele variante au
avantaje şi dezavantaje, iar în final trebuie judecat despre ceea ce se întâmplă cu cele
două elemente, ce sunt folosite în diversele zone ale unui sector tehnologic. În tabelul
următor sunt redate câteva din aspectele mai esenţile :
Specific  PLC PC-ul

Mediu PLC a fost conceput special pentru conditii aspre PC-urile comune nu sunt concepute pentru medii
cu « zgomote » electrice, câmpuri magnetice, dure.PC-uri industriale sunt disponibile, dar
vibratii, temperaturi extreme sau umiditate. costa mai mult.

Uşurinţa PLC-ul este proiectat mai prietenos pentru Sisteme de operare precum Windows sunt
utilizării tehnicieni, deoarece acestea folosesc logica comune. Conectarea I / O pentru PC-ul nu este
ladder (scară) şi se pot executa uşor conexiunile. întotdeauna la fel de simplă

Flexibilitate PLC-uri cu format rack se pot modifica uşor, PC-urile tipice sunt limitate de numărul de
respe-ctiv adăuga piese.  Acestea sunt concepute carduri ce pot conectate şi nu sunt uşor
pentru modulariare şi extindere. extensibile.

Viteză PLC-uri executa un singur program în ordine PC-urile, de design, sunt menite să se ocupe de
secvenţială. Au o capacitate mai bună de a sarcini simultane. Ele însă au dificultăţi în ma-
gestiona evenimente in timp real. nipularea evenimente în timp real.

Fiabilitatea Un PLC nu se blochează pe perioade lungi de Un PC de blocat şi crashing este un eveniment


timp.("Niciodată" nu poate fi cuvantul potrivit, frecvent.
dar suficient de aproape de el pote fi considerat
ca adevărat)

Limbaje de Limbajele sunt de obicei în cu logica « scara », Un PC este foarte flexibil şi puternic sub aspectul
programare bloc funcţie sau text structurat. programării.

Gestionarea Memoria este limitată în capacitatea sa de a stoca Aceasta este elementul în care PC-ul exceleaza,
datelor o cantitate mare de date. din cauza că are un hard disk. Stocarea datelor pe
termen lung, istoria şi trend-ul se realizează cel
mai bine pe un PC.

Pur şi simplu prea greu pentru a compara preţurile, cu atât de multe variabile cum ar fi : I /
Cost
O , hardware-ul necesar, programare, etc.

Există însă deja şi hibrizi PLC/PC, cum ar fi, de exemplu, WinPLC. Acest tip de
hardward înceară să folosească cele două platforme, cu punctele forte ale ambelor. Deci
un CPU ar putea fi capabil să ruleze în Windows sau Linux, într-un rack ce poate acepta
module comune de I/O.
Întrebări recapitulative (ajutătoare) pntru partea I-a.
1.- Despre logica cablată şi logica programată.
2.- Ce este un automat programabil, avantaje/dezavantaje în raport cu vechile sisteme de automatizare industrială.
3.- Cum s-a ajuns la necesitatea automatelor programabile (PLC) ?
4.- Ce trebuie să facă un automat programabil şi care ar putea să fie structura sa constructivă ?
5.- Cum funcţionează un PLC ?
6.- Ce alte variante există pentru automatizarea instalaţiilor industriale ?
Se recomandă parcurgerea anexelor (de la sfârşitul capitolului 7) privind interfeţele
seriale RS-232 şi RS-485 despre care s-a amintit în cele anterioare.

7.2.- O altă etapă de cunoaştere pentru PLC (Partea II-a).


7.2.1.- Câteva aspecte de reamintit şi de aprofundat.
Un AP (Automat Programabil) este un dispozitiv apărut pentru a înlocui releele şi
respectiv schemele secvenţiale necesare pentru controlul sistemelor automate.
Principiul de lucru de bază al unui AP este următorul: verifică starea intrărilor şi, în
funcţie de acestea, activează sau dezactivează ieşirile, iar utilizatorul introduce un
program, care face ca automatul să dea rezultatele dorite.
Putem considera AP-ul ca o cutie plină de relee individuale, numărătoare, ceasuri şi
locaţii de memorare a datelor. În general componentele unui automat programabil sunt:
Unitate centrală
Module de intrare / ieşire;
Regiştrii de intrare / ieşire;
Memorie de date;
Regiştrii interni;
Circuite de temporizare;
Circuite de numărare,
aşa cum apare, sub formă de module (blocuri), în cadrul figurii 7.25

Fig.- 7.25- Schema structurală (de blocuri) pentru un automat programabil.

Componenţa şi funcţionarea principalelor module este următaore :


Unitatea centrală : conţine un procesor, o unitate de calcul aritmetic şi
diferite tipuri de memorie. Gama de procesoare folosite de către producătorii de automate
programbile este foarte diversificată, câteva exemple ar putea fi procesoarele Motorola,
Intel, Siemens. Procesoarele folosesc o memorie de lucru de tip RAM pentru execuţia
instrucţiunilor, programul de executat fiind, de obicei memorat într-o memone de tip
Flash. Dimensiunile memoriilor diferă de la un tip de automat la altul, influenţând
performanţele şi costul automatului programabil.
Modulele de intrare : conţin unul sau mai multe circuite de intrare. Acestea
există fizic, sunt conectate la lumea exterioară PLC-ului şi recepţionează semnale de la
comutatoare, senzori, etc. Semnalele citite pot fi de două tipuri: digitale sau analogice.
De regulă circuitele de intrare sunt implementate cu relee sau tranzistori.
Modulele de ieşire : conţin unul sau mai multe circuile de ieşire. Acestea
există fizic, sunt conectate la lumea exterioară PLC-ului şi transmit semnale digitale sau
analogice către diferite elemente de execuţie. Ca variantă constructivă pot fi aleşi
tranzistorii, releele sau triac-ele.
Regiştrii de intrare : sunt regiştri asociaţi intrărilor fizice. Valoarea
semnalelor de intrare este convertită în formă binara de către circuitele de intrare şi
memorată în aceşti regiştri. Pentru intrările de tip digital, un singur bit dintr-un registru
poate memora starea activă/inactivă a intrării, dar în cazul unei intrări analogice sunt
necesari mai mult biţi pentru memorarea valorii în format numeric.
Regiştrii de ieşire : sunt regiştri asociaţi ieşirilor fizice. Valoarea semnalelor
de ieşire este scrisă aici în formă binară, coversia într-un semnal electric de o anumită
valoare fiind făcută de către circuitele de ieşire (convertoare digital-analogice). Pentru
ieşirile de tip digital, un singur bit dintr-un registru poate memora starea activă/inactivă a
ieşirii, dar în cazul unei ieşiri analogice sunt necesari mai mult biţi pentru scrierea valorii
în format binar.
Regiştrii interni : nu recepţionează semnale din mediul extern, nici nu există
fizic. Conţin relee simulate prin biţii din regiştri şi au fost introduse pentru a elimina
releele interne fizice. Există şi regişiri speciali, care sunt dedicaţi unui anumit scop.
Unele relee sunt intotdeauna deschise, altele sunt întotdeauna închise. Unele sunt
deschise numai o dată la pornire şi sunt folosite pentru iniţializarea dalelor memorate.
Numărătoarele : nici acestea nu există fizic. Sunt numărătoare simulate şi pot
fi programate să contorizeze impulsuri. De obicei, aceste numărătoare pot număra în
variantele : crescător, descrescător şi în ambele sensuri. Anumiţi producători includ şi
numărătoare de mare viteză implementate hard, pe care am putea să le considerăm ca
existente fizic. Şi acestea pot număra : crescător, descrescător sau în ambele sensuri.
Circuitele de temporizare : nici circuitele de temporizare nu există fizic.
Sunt simulate software şi contorizează perioadele timp. Pot fi găsite în diverse variante
în ceea ce priveşte parametrii. Astfel, Pasul de incrementare variază de la 1ms până la
1s.
Memoria de date : în mod normal este vorba de simpli regiştri, care
memorează date. De obicei sunt folosiţi pentru aplicaţii matematice sau pentru
manipularea datelor. Pot fi folosiţi şi pentru memorarea datelor cât timp AP-ului i se
întrerupe alimentarea. La pornire, vor avea acelaşi conţinut ca înainte de oprire.
În ceea ce priveşte modulele de intrare-ieşire, există o mare varietate a acestor module ce
pot intra în componenţa unui AP. Există două categorii mari de module:
1. Module I/O analogice: semnalul pe care îl transmit sau îl recepţionează are o
valoare analogică
2. Module l/O digital: semnalul este de tip digital, putând avea doar două valori.
În funcţie de mărimile fizice citite sau de semnalele transmise, iată câteva exemple de
module ce pot fi ataşate unui AP:
intrări/ieşiri de curent continuu;
intrări/ieşiri de curent alternativ;
intrări/ieşiri de tensiuni continui sau alternative;
module de citit temperaturi;
module de reglare PID;
module de control Fuzzy.
Intrările de curent continuu. Sunt circuite disponibile ce funcţionează la 5, 12, 24
şi 48 de volţi. Modulele de intrare permit conectarea unor dispozitive de tip tranzistor
PNP sau NPN. În cazul unui comutator nu se pune problema conectării de tip NPN sau
PNP. Fotocuploarele sunt folosite pentru a izola circuitele interne ale AP-ului de intrări.
Acest lucru este necesar pentru a elimina zgomotele şi se realizează prin conversia
semnalului de intrare din formă electrică, in formă luminoasă şi apoi invers.
Intrările de curent alternativ. Modulele de intrare obişnuite funcţionează la 24,
48, 110, 220 volţi. Dispozitivele legate la intrarea de curent alternativ sunt sesizate mai
greu de către AP. De cele mai multe ori acest lucru nu are importanţă pentru cel care
programează AP-ul, dar este bine de ştiut că se pierde timp din cauză că dispozitivele pe
bază de curent alternativ sunt de obicei dispozitive mecanice, care sunt mai lente, în plus
apare şi o întârziere de cel puţin 25 ms datorită filtrării, care are loc la intrarea în AP. De
reţinut că AP-urile funcţionează la cel mult 5 Vcc.
Ieşirile cu relee. Ieşirile cele mai obişnuite sunt cele de tip releu. Releele pot fi
folosite atât cu sarcină de curent alternativ, cât şi continuu. Metoda standard de conectare
a sarcinilor la ieşirile AP-ului presupune folosirea unei surse de curent alternativ, însă
poate fi folosit şi curentul continuu.
Releele se află în interiorul automatului programabil. Atunci când programul, care
rulează în automat indică ieşirii să devină activă (adevărată), AP-ul va aplica o tensiune
bobinei releului, care va închide contactul corespunzător. La închiderea contactului
începe să circule curent prin circuitul extern. Atunci când programul indică dezactivarea
ieşirii, AP-ul va întrerupe tensiunea aplicată bobinei releului, circuitul extern va fi
deschis, deci inactiv.
7.2.2.- Despre un anumit fel ciclic de funcţionare al automatelor programabile.
Automatele programabile funcţionează scanând (executând) continuu un program. Putem
spune că un ciclu de scanare are trei paşi
importanţi, aşa cum apare în figura 7.26 :
 Pasul 1-TESTAREA INTRĂRILOR-AP-ul
cercetează starea intrărilor (activ/inactiv în
cazul intrărilor numerice sau valoarea unei intrări
analogice) şi o copiază, în formă binară, în
anumiţi regiştri asociaţi intrărilor.
 Pasul 2-EXECUTAREA PROGRAMU-
LUI-AP-ul execută programul instrucţiune cu
instrucţiune şi în funcţie de starea intrărilor
respectiv logica programului, schimbă configu-
raţia registrilor de ieşire, în formă binară.
 Pasul 3-ACTUALIZAREA IEŞIRI-LOR-în
Fig.7.26.- Ciclul de funcţionare final AP-u actualizează şi starea ieşirilor fizice pe
al unui automat programabil. baza stării ieşirilor rezultate din pasul anterior.
După cel de-al treilea pas, AP-ul revine la pasul 1
şi reia ciclul. Un ciclu de scanare este definit ca timpul în care se execută cei trei paşi
menţionaţi anterior.
De fapt sunt mai mult de trei paşi. Mai are loc verificarea sistemului şi actualizarea
valorilor curente ale ceasului şi numărătorului intern.
Timpul de răspuns.
Un parametru important este timpul total de răspuns al unui automat programabil. Unui
automat programabil îi trebuie un anumit timp
pentru a reacţiona la schimbările valorilor de
intrare. În unele aplicaţii viteza nu este
importantă, în altele însă este foarte importantă.
Iată schema ce trebuie avută în vedere la
determinarea timpului de răspuns : figura 7.27.
AP-ul poate vedea dacă o intrare este activă sau
Fig. 7.27.- Schema pentru determinarea inactivă doar dacă o citeşte. Cu alte cuvinte, el
timpului de răspuns al unui automat testează intrările doar in porţiunea corespunză-
programabil.

Fig. 7.28.- Situaţii posibile de variaţie a intrărilor.


toare a ciclului de scanare, aşa cum apare în cadrul figurii 7.28.
În diagrama din figura 7.28, intrarea 1 nu este văzută înainte de ciclul 2. Acest lucru se
întâmplă deoarece atunci când s-a activat intrarea 1, ciclul 1 terminase deja de testat
intrările.
Intrarea 2 nu este văzută înainte de ciclul 3. Acest lucru are loc deoarece ciclul 2 deja
terminase de testat intrările. Intrarea 3 nu este văzută niciodată, deoarece când ciclul 3
testa intrările, semnalul 3 nu era încă activ, iar la începutul ciclului 4 era deja inactiv.
Pentru a evita acest lucru trebuie ca intrarea să fie activă pentru cel puţin un timp de
răspuns la intrare + un timp de scanare.
Dacă nu este posibil ca intrările să fie active atât de mult timp, AP-ul nu mai poate citi
intrările active nemaiputând implementa corect o aplicaţie de control.
Există o cale de a rezolva acest neajuns (mai precis două):
Funcţia de extindere a impulsului. Această funcţie
extinde lungimea (durata) unui semnal de intrare până la
momentul la care AP-ul testează intrările, în ciclul
următor.
Funcţia de întrerupere. Această funcţie întrerupe
ciclul de scanare pentru a rula o rutină specială scrisă de
utilizator. Când se activează o intrare, indiferent de starea
ciclului de scanare, AP-ul opreşte execuţia programului
principal şi execută rutina de întrerupere (vezi figura
Fig. 7.29.- Extinderea
impulsului prin între-
rupere.
7.29). O rutină poate fi privită ca un mini-program în afara programului principal. Dup ă
ce a terminat execuţia rutinei de întrerupere, se întoarce în punctul în care se oprise şi
continuă normal procesul de scanare.
7.2.3.- O anumită logică realizată cu ajutorul releelor.
Acest paragraf are rolul de apreciza anume elemente de logică binară ce se pot realiza cu
ajutorul releelor electromagnetice ataşate fizic sau prin simulare, la PLC-uri.
Releul electromagnetic este format dintr-un solenoid (vezi figura 7.30) care, atunci când
este alimentată bobina lui cu o tensiune, acţionează cu o anumită forţă asupra unei
armături mobile, schimbând starea contactelor (contactele normal închise se deschid, iar
cele normal deschise se închid).
Este cunoscut că contactele releului se
află în starea “normală” atunci când
bobina releului nu este alimentată cu
tensiune.
Un releu poate avea o parte din
contacte normal închise (lasă curentul
să treacă) şi altele normal deschise,
fără legătură galvanică unul cu altul.
Starea contactului unui releu se
Fig.7.30. O schemă cu un releu pentru a prezenta o
logică tip releu. menţine cât timp este alimentată cu
tensiune bobina releului respectiv.
Tensiunea de alimentare a bobinei releului poate fi de valoare mică (mai puţin
periculoasă pentru om) 6 V, 12 V sau 24 V, dar poate avea şi valori mai mari (120...220
V).
Dar să ne reamintim şi alte elemente ale unui circuit electric.
Butonul este acţionat manual (spre deosebire de releu), starea complementară celei
normale menţinându-se cât timp butonul este apăsat.
Contactele releului se pot afla în circuite de tensiune mare şi pot comuta curenţi de valori
mai mari sau mai mici în funcţie de construcţia
acestora. Spre exemplu contactele unui releu
suportă curenţi de ordinul a 20 mA, iar contactele
altui releu pot comuta curenţi de până la 5 A. Este,
de asemenea, cunoscut că releele care au contacte
(denumite „de comandă”) pentru curenţi mici şi
contacte (denumite„de forţă”) pentru curenţi de
valori mari.
În figura 7.31 sunt prezentate simbolurile folosite
pentru contactele releului, ND – normal deschise şi
Fig.7.31.- Prezentarea unor simboluri NI – normal închise.
de contacte şi butoane Comanda unui releu constă, în cazul releelor
electromagnetice, în conectarea bobinei acestuia la
sursa de alimentare sau în conectarea
tensiunii de comandă în cazul releelor
electronice.
În cazul releului electromagnetic (din
figura 7.31) comanda se face prin

Fig.7.32.- Schema unui releu electronic cu


optotriac.
închiderea întrerupătorului din circuitul bobinei releului, iar în cazul releului electronic
(cu optotriac-ul din figura 7.32) comanda se face prin acţionarea întrerupătorului din
circuitul de alimentare al LED-ului.
Prin convenţie, un contact închis reprezintă starea „1” logic (permite circulaţia
curentului), iar un contact deschis reprezintă starea „0” logic (întrerupe circulaţia
curentului).
Ţinând seamă de această convenţie, cu contacte ale releelor pot fi realizate orice funcţii
logice, în figurile 7.33,...,7.35 fiind prezentate câteva implementări.

Fig. 7.33.

În figura 7.33 avem un circuit SAU, realizat cu releele CRA şi CRB, a căror contacte
sunt notate respectiv A şi B. Circuitul SAU are rolul de a comuta în zero ieşirea numai
dacă toate intrările sunt în zero.L1 şi L2 sunt liniile de alimentare ale becului, L1 fiind
faza, iar L2 nulul reţelei de alimentare cu energie electrică. Ieşirea circuitului numită
OUT este considerată în starea „1” logic dacă becul se aprinde. Becul stins semnifică
„0” logic la ieşirea circuitului logic. Se constată că becul luminează dacă oricare din
contacte este închis (sau amândouă) fiind conectat la sursa de alimentare. Se stinge dacă
ambele contacte sunt deschise, adică nici un releu nu este sub tensiune (a se înţelege –
bobină a releului !).În figura 7.34 este prezentat circuitul ŞI cu două intrări. Becul
luminează (adică, este în starea „1” logic) dacă ambele contacte A şi B sunt închise,
realizând astfel conectarea becului la liniile de alimentare cu energie electrică.
Fig. 7.34

Pentru a realiza o negaţie (un circuit cu semnal logic NU ) se foloseşte un contact normal
închis al releului, ca în figura 7.35.

Fig. 7.35.

Becul este aprins numai dacă releul nu este alimentat cu tensiune, contactul A rămânând
în starea normală (adică, închis).
Este cunoscut că pe lângă releele “normale”, prezentate mai sus, există o clasă de relee,
care îndeplinesc funcţii de protecţie specifice şi o altă clasă care acţionează având drept
variabilă de intrare atât comanda cât şi timpul, motiv pentru care se numesc relee de
timp. În condiţiile în care mărimea monitorizată iese din domeniul impus, bobina releului
este alimentată şi contactele releului iniţiază o acţiune specifică (spre exemplu
semnalizează depăşirea limitelor).
Releele de protecţie au în componenţă un senzor (traductor) al unei mărimi
supravegheate, un detector de valoare impusă (pentru mărimea urmărită) şi un releu
normal.
În cadrul schemelor de acţionare au fost folosite mai multe tipuri de relee de protecţie
printre care avem:
relee maximale de curent, declanşează dacă curentul într-un circuit depăşeşte
valoarea impusă;
relee minimale de tensiune, acţionează dacă tensiunea monitorizată scade sub
valoarea impusă;
relee maximale de tensiune, acţionează dacă tensiunea monitorizată depăşeşte
valoarea impusă;
relee de temperatură, acţionează când temperatura incintei monitorizate scade
sub o valoare (în cazul cuptoarelor) sau creşte peste o valoare impusă;
relee de timp.
Releele de timp sunt de două tipuri:
cu temporizare la conectare, adică contactele releului îşi schimbă starea după un
timp prestabilit, măsurat din momentul când bobina releului a fost alimentată cu energie;
cu temporizare la deconectare, adică contactele releului rămân în starea în care
au fost un interval de timp prestabilit, după ce bobina releului a fost deconectată de la
sursa de energie.
În figura 7.36 sunt prezentate contactele a două relee de timp : a) contactul normal
deschis se închide la 5 secunde după alimentarea bobinei, b) contactul care este închis pe
durata alimentării bobinei, se deschide la 5 secunde după ce bobina nu mai este
alimentată cu energie.

a) b)
Fig. 7.36

Releele pot fi utilizate în diferite scopuri (semnalizare, protecţie, condiţionare, reglare a


mărimilor, etc) în continuare fiind prezentate câteva aplicaţii.
Exemplul 1. Circuitul "watchdog".
În aplicaţiile industriale sistemele de conducere trebuie să funcţioneze continuu, iar în cazul unui defect al
sistemului, să intre în funcţiune sistemele de protecţie.

Fig. 7.37
Circuitul "watchdog" semnalează oprirea programului rulat, pe calculatorul de proces, prin închiderea unui
contact, vezi figura 7.37.
Instrucţiunile programului se execută sincronizat cu o frecvenţă de tact. Dacă programul s-a oprit, frecvenţa
de sincronizare a instrucţiunilor nu va mai fi prezentă (pentru că lipseşte tensiunea cu frecvenţa de
sincronizare).
Bobina releului este alimentată din tensiunea de sincronizare (impulsurile din figura 7.37) după redresare şi
filtrare. Dacă programul s-a oprit lipseşte tensiunea de alimentare a releului şi contactul releului se închide
semnalizând starea sistemului sau alimentând circuitele de protecţie (eventual şi de semnalizare
optică/acustică).
Circuitele de autorizare sunt circuite care permit declanşarea unui proces, în situaţia când sunt îndeplinite
condiţiile impuse de siguranţa procesului sau de modul de funcţionare al acestuia.
Exemplul 2. Circuitul de control al funcţionării unui cuptor.
În figura 7.38 este prezentat circuitul de control al pornirii unui cuptor.
Cuptorul porneşte dacă sunt îndeplinite următoarele patru condiţii şi anume:
 presiunea gazului de ardere este între limitele admise (contactele relelor de presiune maximă şi
minimă sunt închise, respectiv LM şi Lm);
 ventilatorul care furnizează aerul de amestec este pornit (releul de debit al aerului Lf este închis);
 coşul de evacuare al gazelor arse nu este obturat (releul de pe coşul de ardere Lc este închis).
Fig. 7.38
Releele fiind în serie, alimentarea bobinei releului CR1 se face numai dacă toate sunt închise. Contactul
normal deschis CR1 se închide şi becul verde semnalează pornirea corectă. Contactul normal închis se
deschide şi becul roşu se stinge, respectiv se consideră că programul de pornire al cuptorului a fost realizat.

7.2.4.- Alte detalii specifice pentru PLC.


A.- Unele funcţii speciale.
Deci, Controlerul PLC (Programmable Logic Controller) este un sistem, care a apărut
iniţial din necesitatea de a înlocui funcţiile logice realizate cu releele electromagnetice, cu
un ansamblu de contactoare statice comandate, de un program memorat, capabil să
efectueze conexiunile (care erau realizate de releele electromagnetice). Necesitatea se
referă la creşterea fiabilităţii, la centralizarea sistemului de comandă, la
standardizarea şi modularizarea echipamentelor pentru înlăturarea rapidă a
defectelor.
Între timp controlerele însă PLC-urile au fost dotate cu noi funcţii, pe lângă cele
destinate controlului funcţionării instalaţiilor industriale, dintre care cea mai importantă
este :
Funcţia de reglare.
Reglarea se referă la posibilitatea sistemului de a elabora comenzi prin intermediul
cărora un proces să-şi menţină starea de funcţionare impusă, indiferent de perturbaţiile
care acţionează (pentru a scoate sistemul din starea dată).
Majoritatea producătorilor (ABB, Allen-Bradley, GE-Fanuc, Hitachi, Honeywell, LG Industrial
Systems, Mitsubishi, Motorola, Omron, Rockwell Automation, Schneider Automation, Siemens,
Toshiba, Yokogawa) de echipamente PLC au implementat funcţia de reglare după abatere
prin algoritmi PID .
În literatura de specialitate se afirmă că numai 10% din buclele de reglare nu sunt
realizate cu regulatoare de tipul PID, ceea ce înseamnă că sistemele PLC dotate cu
funcţia de reglare PID acoperă 90% din necesităţile de reglare ale industriei.
Comenzile sunt elaborate pe baza măsurării unor variabile ale procesului, ceea ce
înseamnă că sistemul este prevăzut cu intrări analogice şi cu intrări numerice (tipic este
de la 4, la 40 intrări, dar numărul poate fi crescut prin adăugarea unor module electronice
de extensie).
În cele mai multe cazuri intrările analogice acceptă semnal de intrare standardizat (spre
exemplu tensiuni din domeniul 0,.., 1 V , 0,.., 5 V, -10,.., +10 V sau curenţi din domeniul
2,.., 10 mA, 4,.., 20 mA) dar uneori intrările sunt specializate pentru un anumit tip de
traductor (spre exemplu, are intrări pentru măsurarea temperaturii cu o termorezistenţă
sau pentru măsurarea temperaturii cu un termocuplu). Specializarea implică dotarea
intrării cu blocuri funcţionale (spre exemplu, amplificatoare sau atenuatoare de
semnal), care să adapteaze valorile semnalului furnizat de traductor, la domeniile
standardizate, acceptate de controler.
Spre exemplu, un termocuplu furnizează tensiuni de ordinul mV, care vor fi amplificate
de adaptor, pentru a se încadra într-unul din domeniile tensiunilor de intrare standardizate
(de regulă în domeniul 0,.., 5 V).
Intrările numerice pot fi stări de tip contact sau nivele de tensiune de diferite valori cu
variaţie lentă sau rapidă în timp (spre exemplu, există domenii de 12 Vcc , 24 Vcc, 5 Vcc,
100-120 Vac, 200-240 Vac, etc).
Observăm că, controlerele actuale au pe lângă intrări de tip contact (de releu) atât
intrări cât şi ieşiri analogice. O parte din intrările analogice sunt folosite pentru a prelua
semnale de la traductoare în scopul controlului şi protecţiei instalaţiei şi o mică parte
pentru a implementa funcţia de reglare a unor parametri (spre exemplu debit,
temperatură, nivel, etc).
Tipul de intrări şi domeniul valorilor semnalului de intrare, pot fi stabilite prin program,
la iniţializarea controlerului.
Comenzile, care reprezintă ieşiri ale controlerului, pot fi:
numerice, adică de tipul stări ale unui contact (de releu) ;
analogice, adică – un semnal de tensiune sau curent, cu domeniul precizat de
necesităţile procesului.
Domeniul ieşirilor analogice se stabileşte prin program, iar în cazul sistemelor ieftine este
fixat la un domeniu (spre exemplu, de 0,.., 5 V), de către producătorul echipamentului.
Ieşirile pot fi stări tip contact sau nivele de tensiune de diferite valori (spre exemplu, 24
Vcc, 5 Vcc, 100-120 Vac, 230 Vac,etc), adoptate în aşa fel încât să aibă suficientă energie
pentru acţionarea unui element de execuţie.
Elementele de execuţie sunt dispozitive, care pot modifica controlat, fluxul de materie
sau fluxul de energie într-un proces. Drept elemente de execuţie uzuale sunt : motoare
electrice, maşini hidraulice, maşini termice, contactoare statice, dispozitive mecanice
ş.a.
Pentru prelucrarea numerică (de către microprocesorul controlerului) a mărimilor
analogice, după adaptarea domeniului semnalul de intrare (în sensul că semnalul de la
intrarea analogică este convertit – amplificat sau atenuat – într-un semnal, care să se
încadreze în domeniul intrării convertorului analog – numeric CAN) acesta este
transformat într-un semnal numeric de către CAN.
Pe lângă intrările şi ieşirile accesibile din exterior (conectate la procesul industrial) controlerul actual mai
are implementate o serie de alte elemente precum:
relee interne, care sunt folosite pentru efectuarea unor operaţii logice (releele interne se întâlnesc
uneori sub numele de markeri, flaguri);
relee de timp, care permit iniţierea unor activităţi la momente de timp prestabilite;
numărătoare (care numără spre exemplu de câte ori s-a modificat o intrare şi generează un
semnal când numărătorul a ajuns la o valoare prestabilită), regiştrii şi memorii;
oscilatoare, care permit sincronizarea în timp a unor activităţi;
comparatoare, care permit compararea a două semnale şi evidenţierea egalităţii sau inegalităţii
acestora;
sisteme de întrerupere a unui program şi comutarea pe o altă secvenţă în cazul unor evenimente
deosebite (spre exemplu în caz de defect al sistemului, în caz de nefuncţionare a unui traductor etc).
Funcţia de comunicare este o altă funcţie a controlerului PLC, adică,
comunicare cu alte echipamente (spre exemplu cu un microprocesor, cu un calculator, cu
un sistem de conducere centralizată, etc).
Fiecare producător de echipamente PLC oferă un aşa-numit protocol de comunicaţie,
prin intermediul căruia două (sau mai multe) PLC „se înţeleg” şi pot schimba date între
ele. Dezavantajul este acela, că rareori două PLC ale unor producători diferiţi pot
comunica între ele, datorită faptului că au protocoale de comunicaţie diferite,
specifice producătorului respectiv.

Notă: Prin termenul de protocol de comunicaţie se înţelege o specificaţie a modului de codare a mesajelor
schimbate între două entităţi. De fapt nu se referă numai la codarea datelor, ci şi la modul în care decurge
dialogul între entităţile respective. Spre exemplu:
- E1, trimite către E2 o cerere de conectare (connect request),
- E2, dă către E1 un răspuns la cerere prin care acceptă conectarea,
- în continuare se transferă date de la E1, la E2 adică se produce comunicarea E1→E2,
- după ce E1 a terminat de transferat datele trimise către E2, apare o cerere pentru eliberarea
conexiunii (disconnect request),
- E2, trimite o confirmare (disconnect confirmation, E1≠E2) şi legătura este eliberată, canalul de
comunicaţie putând fi utilizat de alte echipamente (entităţi).

Comunicarea se poate face prin interfeţe standardizate (spre exemplu, Ethernet, RS-
232, RS-485, etc), care permit integrarea PLC într-o reţea industrială sau poate fi
conectat la reţeaua Internet. Uneori comunicarea este de tip wireless, pe baza
standardului IEEE 802.3.

Notă: Termenul de interfaţă standardizată se referă la o specificaţie, care


precizează atât aspectul fizic (modul de legare între ele al echipamentelor, spre exemplu
prin 3 fire, prin 8 conductori, etc), nivelele semnalelor, viteza de transfer, cât şi
protocolul de comunicaţie dintre echipamente (care transmite primul, cum răspunde
celălalt şi în ce ordine se transmit datele, câte date, ce semnificaţie au semnalele
vehiculate pe liniile de conectare, etc).
Cea mai simplă interfaţă este RS-232 (vezi anexa la finele capitolului 7), care are avantajul că poate fi
conectată atât la PLC cât şi la orice calculator, ce dispune de un port serial. Dezavantajele interfeţei RS-
232 se referă la viteza de transfer de maximum 19,2 kbps şi la distanţa mică dintre echipamente (de
maximum 15 m).
Datorită faptului că echipamentele lucrează în timp real, comunicarea trebuie să decurgă în deplină
siguranţă, fără erori şi cu întârzieri cât mai mici. Din acest motiv se adoptă protocoale de comunicaţie
elaborate de diferite firme.
Spre exemplu protocolul MAP al firmei General Motors este folosit în U.S.A., iar în Europa sunt folosite
Profibus (Siemens) (cu posibilitatea de transmisie până la 1,2 km, rată de transfer de 9,6,.., 500 kbps,
pentru maximum 32 staţii) , Modbus Plus (Scneider electric) (cu posibilitatea de transmisie până la 450
m, rată de transfer de 1 Mbps la care se pot conecta maximum 32 staţii) , FIP Bus, ş.a.
Funcţia de diagnoză a controler-ului se referă la capacitatea acestuia de a-şi testa/
corecta funcţionalitate, de a elabora rapoarte la intervale de timp impuse, de a genera
semnale de alarmare sau atenţionare la sesizarea unei anomalii.
Funcţia de diagnoză poate fi implementată prin program şi extinsă pentru testarea
funcţionării corecte a echipamentelor conectate la intrările şi la ieşirile sistemului. Pe
lângă testarea hardware-ului sistemului, sistemele evoluate au posibilitatea de a verifica
funcţionarea corectă a ansamblului de programe (soft-ul sistemului) prin rularea
controlată a unor programe de autotestare, în sensul că se generează intrări impuse şi se
verifică corectitudinea comenzilor.
O altă clasă de programe de diagnoză au drept scop ajustarea parametrilor fizici ai
sistemelor de măsură în scopul compensării erorilor. Spre exemplu, datorită
temperaturii mediului ambiant, parametrii adaptorului de semnal se modifică (fără voia
noastră!). În aceste condiţii semnalul numeric, corespunzător mărimii măsurate va fi mai
mic sau mai mare, decât cel real. Atunci, controlerul generează la intrare un semnal, ce
conduce la o valoare numerică cunoscută. Dacă se obţine altă valoare, controlerul
modifică factorul de amplificare al adaptorului pentru a obţine valoarea numerică corectă.
Această caracteristică a sistemului de a-şi modifica parametrii de funcţionare sau
structura internă în scopul micşorării efectului perturbaţiilor se numeşte
adaptabilitate.

B,- O oarecare iniţiere în eleborarea programului pentru PLC.


Elaborarea programului pentru controler se face pe un calculator oarecare utilizând:
scheme de conexiuni (ladder logic diagram), similare celor din figurile 7.38;
pe baza descrierii schemelor logice cu ajutorul unui program specific
controlerului, folosind instrucţiuni specifice;
pe baza descrierii schemelor logice într-un limbaj de programare (spre exemplu,
în limbajul C) acceptat de controler;
pe baza unor limbaje standardizate pentru controlere, de cele mai multe ori
folosindu-se specificaţiile IEC-1131.

Pentru programe simple sau pentru modificarea unui program existent în memoria PLC,
se poate folosi interfaţa locală a controlerului (consola proprie dacă există în dotare).
Introducerea programului pentru controler, în memoria acestuia, se face prin intermediul
unui conector, cu care este prevăzut sistemul PLC (de regulă interfaţa asigură un
transfer serial al datelor, fiind de tipul RS-232 sau USB – (Universal Serial Bus). Prin
intermediul conectorului, elementul de programare (un laptop, un calculator sau un
circuit specializat de programare) are acces la o magistrală a controlerului.
Limbajele folosite de controlere nu au fost încă (!) standardizate, fiecare
producător folosind alte instrucţiuni, care de fapt au acelaşi scop : de implementare, prin
intermediul controlerului, a unor funcţii logice. Controlerele mai performante acceptă
instrucţiuni în limbaje evoluate, spre exemplu în limbajul C.
Se încearcă unificarea limbajelor de programare a PLC prin intermediul recomandărilor standardului
IEC-1131 elaborat de Comisia Internaţională de Electrotehnică IEC (International Electrotechnical
Commission).
De fapt producătorii de echipamente PLC nu au renunţat în totalitate la sistemul propriu
de programare (evident din motive comerciale!), ci au introdus suplimentar doar
posibilitatea programării pe baza specificaţiilor standardului menţionat. Această facilitate
este indicată prin compatibilitatea echipamentului cu standardul (IEC 1131 compliant).
În principiu însă, nu trebuie confundată funcţia de comunicare, cu funcţia de
programare a controlerului. Cele două funcţii sunt separate atât fizic (pentru ca să se
evite reprogramarea accidentală a controlerului), cât şi funcţional.
Pentru programarea PLC şi testarea funcţionalităţii există soft-uri dedicate (de exemplu,
CAD) puse la dispoziţie de producătorii de echipamente.
Spre exemplu, “PicoSoft” cu ajutorul căruia se pot desena schemele şi se poate simula funcţionarea; este
pus la dispoziţie gratuit (pentru platforme Windows) de firma Allen-Bradley (SUA).
Astfel, în tabelul 1 sunt prezentate caracteristicile unităţilor centrale de prelucrare numerică din
componenţa unor PLC, iar în tabelul 2 sunt prezentate comparativ performanţele PLC produse de patru
firme reprezentative. S-au marcat cu steluţe caracteristicile (scăzută *, medie **, ridicată ***).
Tabelul 1.
COD IC697CPX772 IC697CPX782 IC697CPX928 IC697CPX935
Intrari/iesiri numerice 2k 12k 12k 12k
Intrar/iesiri analogice 8k 8k 8k 8k
Memoria disponibila
512k 1M 6M 1M
aplicatiei utilizator
Timpul de executie a
0.4ms/k 0.4ms/k 0.4ms/k 0.4ms/k
operatiilor logice
Indexul de performanta 6.0 8.0 8.0 10.0
Procesorul 486DX4 486DX4 486DX4 486DX4
Frecventa procesorului 96MHz 96MHz 96MHz 96MHz
Aritmetica in virgula mobila DA DA DA DA

Tabelul 2.
Firma ABB Siemens Allan Bradley GE Fanuc
Includerea in setul de instrucţiuni a
** * *** ***
funcţiilor trigonometrice
Includerea algoritmilor PID *** *** *** ***
Posibilitatea includerii de subrutine
- - ** ***
parametrizate
Structuri predefinite in C pentru
* * *** **
utilizatori
Software compatibil cu actualele
** ** *** ***
sisteme de operare
Comunicaţii prin cablu ** ** *** ***
Furnizare piese de schimb (service) *** *** ** **
Compatibilitate cu noile CPU ** ** ** ***
Extensibilitate *** *** ** **
Programare cu laptopul standard ** ** ** ***
Detectare si raportate defecte * * ** ***

În continuare se dau câteva exemple simple de programare


Exemplul 1. Semnalizarea stării unui circuit electric.
Circuitul din figura 7.39 are rolul de a semnaliza luminos (cu un LED) starea alimentării sarcinii de curent
alternativ, notată cu R.
Fig. 7.39
Se precizează, de la bun început, că situaţia prezentată nu va fi niciodată întâlnită în practică, datorită unor
inconveniente, printre care şi faptul că sistemul nu revine în starea iniţială fără o comandă externă (vezi
finalul logicii de comandă).
Rezistorul R este alimentat cu tensiune alternativă 220 Vca de la sursa AC, dacă bobina releului C este sub
tensiune.
Circuitul de comandă are două butoane fără revenire (odată apăsate rămân astfel !) unul notat cu P –
pentru pornire şi altul notat cu O – pentru oprire.
Dacă P este apăsat, se alimentează bobina releului B, contactul acestuia se închide şi bobina
releului C va fi conectată la sursa de c.c. notată VCC. Contactul releului C se închide, sarcina este
alimentată, iar LED - ul se aprinde, indicând prezenţa tensiunii în circuitul de forţă (de c.a. al rezistorului R
şi LED-ului).
Dacă O este apăsat, se alimentează bobina releului A, contactul acestuia se închide şi bobina
releului C va fi deconectată la sursa de c.c. Contactul releului C se deschide, sarcina este scoasă de sub
tensiune, iar LED-ul se stinge indicând faptul că sarcina nu este alimentată.
Pentru a aduce circuitul în starea iniţială se impune deblocarea celor două butoane.
Din cele anterioare se constată că toată logica de comandă, inclusiv releele, sunt implementate de
către PLC, iar în exteriorul acestuia se află numai butoanele, care constituie intrări ale PLC-ului şi
sarcina, conectată la una din ieşirile controlerului.
Exemplul 2. Transferul programului în memoria unui PLC.
În figura 7.40 la PLC s-au conectat la intrări 3 contacte ale unor mărimi din proces, iar la o ieşire s-a
conectat un bec.
PLC- ul prezentat are 6 intrări (notate cu X) , 6 ieşiri (notate cu Y) , două borne de alimentare L1 , L2 şi un
conector pentru programare (Programming).
Contactele conectate la PLC pot avea orice nume, în schimb în cadrul programului se vor folosi numai
numele porţilor (adică, ale bornelor PLC) la care este conectat contactul. Observăm că în cadrul schemei
de programare (din partea de jos a figurii) apar notaţiile porţilor înscrise pe PLC (X1,X2, X3 pentru
contactele de intrare şi Y1 pentru becul conectat la ieşire).
Se impune să se facă o distincţie clară între elementele fizice conectate la PLC şi elementele din
programul controler-ului, asociate acestor elemente fizice (cu toate că pot avea aceeaşi denumire).
Fig. 7.40
În cazul figurii 7.40 programul din memoria controlerului (exprimat prin schema din partea de jos a
figurii), conţine contactul notat X1 (element de programare), care este asociat elementului fizic conectat la
prima bornă de intrare a PLC-ului şi care ca element fizic se poate numi tot X1 sau altfel (spre exemplu,
START). De altfel, elementul de programare X1 are alocat un registru (o zonă de memorie), în care se
păstrează valoarea ON sau OFF a lui X1. Programul va prelua starea contactului din registrul asociat (şi tot
acolo va face actualizarea stării).
7.2.5.- Iniţiere în execuţia programului unui controler.
Programul controlerului se execută secvenţial (de exemplu, ca într-o programare
MATLAB : rând, cu rând...), spre deosebire de circuitele cu relee la care acţiunea
contactelor este asincronă (evenimentul constând în schimbarea stări unui contact, ce
poate apare la orice moment de timp şi rezultatul se obţine imediat).
După încheierea programului acesta este reluat ciclic, de la început. Durata unui ciclu
poate fi în domeniul 1,..., 100 ms (vezi punctul 7.2.2. cu figurile 7.26, 7.27).
Etapele oricărui program sunt evidenţiate în cele următoare.
A. Selftest
Controlerul efectuează o diagnosticare a stării sistemului şi în cazul funcţionării
corespunzătoare, trece la etapa de preluare a mărimilor conectate la intrările PLC – ului.
B. Actualizarea stării intrărilor
Secvenţialitatea înseamnă că la momente discrete de timp, controlerul execută o acţiune
de testare a unui contact sau intrare analogică, apoi al altui contact ş.a.m.d., până când
efectuează actualizarea stării tuturor elementelor conectate la intrările controlerului. De
fapt, actualizarea constă în memorarea stării intrărilor într-o memorie RAM.
C. Analiza circuitului şi actualizarea în memorie a stării ieşirilor
În faza următoare, controlerul analizează prima ramură (treaptă a scării) a circuitului,
calculează rezultatele şi modifică în memorie starea ieşirilor.
Trece la analiza următoarei ramuri (trepte) de circuit ş.a.m.d., până la sfârşitul schemei.
Acesta este ordinea în care se testează şi se calculează rezultatele acţiunii contactelor.
Reluând cele anterioare, rezultă că ordinea secvenţială este următoarea :
 se începe din colţul stânga sus al diagramei (schemei),
 se parcurge prima ramură de la stânga la dreapta şi se memorează rezultatul
(adică starea ieşirilor din ramura respectivă),
 se trece la următoarea ramură în josul schemei, până la sfârşit.
De reţinut faptul că se memorează starea ieşirilor circuitului, imediat ce se face calculul.
Notă: Există posibilitatea, ca în calculele care se execută, să se folosească date ale
intrărilor neactualizate, prin specificarea explicită a acestei opţiuni. S-a prevăzut această
posibilitate pentru a utiliza în calcule date considerate sigure sau date care se actualizează
(se testează) la intervale mai mari de timp (vezi timpul total de răspuns şi figurile 7.28,
7.29, de la punctul 7.2.2).
D. Actualizarea stării ieşirilor PLC.
În această ultimă etapă, se face actualizarea ieşirilor propriu-zise de la bornele
controlerului PLC, conform ieşirilor memorate în etapa anterioară, după care se reia
programul de la punctul A.
Rezultă că pe parcursul analizei schemei (a derulării programului), starea din memorie a
unei ieşiri se poate modifica, dacă logica schemei o impune, de mai multe ori.
Această modalitate de parcurgere a schemei determină necesitatea de a nu schimba
ordinea în care sunt poziţionate ramurile circuitului, pentru că există probabilitatea ca
să se obţină alte rezultate.
Spre exemplu, dacă un contact condiţionează funcţionarea altuia, prin schimbarea poziţiei
acestuia, se poate ca prin aceasta să fie testat mai întâi contactul al doilea – rezultă că
primul contact nu va mai condiţiona funcţionarea celui de al doilea (la testarea celui de al
doilea contact se va lua în considerare starea neactualizată, din memorie a primului
contact !). Se impune concluzia că o ramură (treaptă) de circuit nu poate condiţiona
funcţionarea unei ramuri din amonte (adică, microprocesorul nu se întoarce să analizeze
din nou ramurile deja parcurse).
Astfel, intrările PLC se regăsesc în instrucţiunile condiţionale ale programului, iar ieşirile
PLC sunt modificate cu instrucţiuni, care stabilesc starea ieşirilor.
Pe de altă parte, structurile PLC pot implementa funcţii de memorare şi prelucrare
matematică avansată a datelor ( precum ar fi : funcţii statistice, funcţii trigonometrice,
derivare, integrare, etc).
Costul sistemelor PLC fiind în continuă scădere, există tendinţa de a implementa câte un
PLC sau un grup de PLC - uri pentru fiecare element din sistemul dat (maşină, instalaţie,
etc) care să preia funcţiile locale de supraveghere şi conducere şi să comunice cu sistemul
centralizat prin intermediul unei magistrale de comunicaţie.
Se poate vorbi deci, în această situaţie de sisteme de conducere distribuite
pentru că funcţia de conducere nu mai este centralizată (o parte din decizii se iau la nivel
local şi doar altele la nivelul ierarhic următor).
Dar, orice controler PLC, indiferent de producător, are următoarele componente (vezi
figura 7.41 ca o schemă de principiu, relativ simplă) proprii :
sursă de alimentare cu energie electrică internă sau externă, care poate fi de c.a.
(120 V sau 220 V) sau de c.c. ( 24 V);
unitate centrală de prelucrare CPU (Central Processing Unit);
memorii de tipul RAM şi memorii de tipul ROM (de obicei sunt reinscriptibile
electric, adică sunt de tipul EEPROM), notate MEMORY în figură;
sistemul INPUT de preluare a semnalelor din proces;
sistemul OUTPUT al comenzilor către proces;
interfaţă pentru programarea PLC, care de regulă este separată de sistemul
intrărilor;
una sau mai multe interfeţe pentru comunicarea cu alte echipamente (o
magistrală de comunicaţie cu exteriorul), care poate fi integrată în blocurile I/O;
un sistem de afişare a stărilor controlerului (display alfanumeric şi LED - uri).

Fig. 7.41

Intrările şi ieşirile sistemului sunt unele digitale (DISCRETE şi REGISTER) şi altele


(mai puţine ca număr) analogice (ANALOG). Semnalul analogic de la intrare este
convertit în semnal numeric prin intermediul unui CAN (convertor analog – numeric), la
ieşirea căruia se obţine o valoare numerică exprimată prin 8, 10,...,16 biţi în funcţie de
rezoluţia convertorului.
O caracteristică importantă a sistemului intrărilor analogice (condiţionată de CAN) este
viteza de conversie, exprimată prin timpul dintre momentul aplicării semnalului analogic
şi momentul de timp la care este disponibil semnalul digital corespunzător valorii
analogice. Dacă semnalele analogice ale procesului (în cadrul căruia se implementează
controlerul) au o variaţie rapidă în timp, se impune ca PLC-ul să dispună de un CAN
performant, cu timp de conversie mic (de ordinul μs au ns).
Pe de altă parte, pentru că traductoarele conectate la intrările analogice au diferite
domenii de variaţie a semnalului, se impune să se intercaleze un adaptor (înainte de
CAN!), care să modifice domeniul semnalului pentru a fi compatibil cu domeniul
acceptat de CAN. De exemplu, domeniile : -10V,...,+10V; 0,...,10V; 0,..., 100mV; sau
2,...,10mA; 4,...,20mA, trebuie convertite la domeniul acceptat de CAN, adică la
domeniul 0,...,5V.
Alt aspect este legat de faptul că semnalele digitale de intrare, provenind de la
traductoare, pot avea diferite nivele de tensiune alocate cifrei zero logic şi cifrei unu
logic. Dar controlerul lucrează cu o singură reprezentare a semnalelor digitale, motiv
pentru care în structura PLC sunt prezente, la fiecare intrare, adaptoare de semnal digital.

În figura 7.42 este prezentată o schemă a adaptorului pentru reprezentarea în c.c. a semnalelor digitale din
proces.
Fig. 7.42
În figura 7.43 este prezentată o schemă a adaptorului pentru reprezentarea în c.a. a semnalelor digitale din
proces.

Fig. 7.43
Se constată că în ambele scheme se foloseşte optocuplarea, în scopul separării semnalelor din proces, de
controlerul sistemului, pentru protecţia reciprocă.
În cadrul schemei din figura 7.42 diodele D1 şi D2 au rolul de limitare a semnalului de la intrare.
Schema din figura 7.43 primeşte la intrare semnal de c.a., care este redresat de puntea de diode PD, filtrat
de grupul C,R,R1 şi limitat ca valoarede semnal, de dioda Zener Dz.

Semnalele digitale de ieşire, sunt furnizate procesului de către PLC, de asemenea, prin
intermediul unui adaptor, cu funcţia de a converti semnalul digital furnizat de CPU în
semnal compatibil, de data asta, cu elementul de execuţie, care va fi conectat la
respectiva ieşire.
Există elemente de execuţie cărora PLC le furnizează şi un curent, ceea ce înseamnă că
elementul de execuţie se conectează între borna de ieşire a PLC şi masă (sourcing
output). Dar există elemente de execuţie, care dispun de o sursă proprie de alimentare şi
se vor conecta între borna de ieşire a PLC şi sursa proprie de alimentare (sinking
output).
Elementele numerice de execuţie lucrează unele cu semnale de comandă de curent
continuu, iar altele cu semnale de comandă de curent alternativ.
Spre exemplu în figura 7.44 este prezentată o ieşire a PLC, care furnizează semnale digitale de c.c.
echipamentului conectat la respectiva ieşire.

Fig. 7.44
În figura 7.45 este prezentat adaptorul de semnal pentru o ieşire cu semnal digital în curent
alternativ.Optocuplorul primind semnal de comandă va comanda triacul în sensul intrării în conducţie a
acestuia.

Fig. 7.45

În principiu, semnalele analogice de comandă (de la ieşirile PLC-ului) se obţin prin


convertirea semnalului digital, într-un semnal analogic cu ajutorul unui circuit electronic
numit CNA, convertor numeric – analogic.
7.2.6.- Unele elementele primare de programare a PLC-urilor.
Elaborarea programului de funcţionare al unui PLC se face prin intermediul unor
instrucţiuni de programare specifice fiecărui producător de echipamente sau prin
intermediul unor limbaje de programare pentru PLC impuse de standardul IEC- 1131
(International Electrotechnical Commission).
În continuare vor fi prezentate principalele aspecte de programare definite de IEC 1131,
standard care datorită diferitelor revizuiri este cunoscut şi sub numele IEC 61131.
Standardul respectiv nu se referă numai la programarea PLC-urilor, fiind un manual de definire a
sistemelor cu logică programabilă. Se compune din mai multe secţiuni, şi anume: informaţii generale
(1); echipamente şi testarea acestora (2); limbaje de programare, conţine o descriere a instrucţiunilor şi
informaţii privind standardele de programare (3); utilizarea sistemelor PLC (4); tehnici de comunicare
(5);control prin logică fuzzy (6).
În principiu, documentaţia poate fi organizată logic în două clase, după cum urmează :
 Modelul software, care defineşte elemente numite comune, de fapt stabileşte
organizarea logică a software-ului, în conexiune cu hardware-ul. Modelul
software are în componenţă:
- configuraţii;
- resurse;
- taskuri;
- unităţi de organizare a programelor POU;
- tipuri de date;
- variabile;
- diagrame funcţionale secvenţiale SFC (Sequential Function
Chart), o metodă grafică, specificând fluxul de date prin blocuri
funcţionale, în care se înscriu instrucţiuni ale unui alt limbaj de
programare.
 Specificaţii pentru limbaje de programare, în cadrul celei de a treia secţiuni.
Limbajele de programare recomandate sunt:
- LD (Ladder Diagram) – limbaj grafic, pe baza schemelor
(diagramelor) cu contacte;
- FBD (Function Block Diagram) – limbaj grafic, pe baza
schemelor bloc (scheme logice);
- IL (Instruction List) – limbaj text, pe baza listelor de mnemonici;
- ST (Structured Text) – limbaj text pe baza unui set de instrucţiuni,
similare celor din limbajul BASIC clasic de programare.
Înainte însă de a prezenta unele aspecte principale ale celor patru limbaje de programare
(detalierea urmând să fie efectuată eventual la o anume specializare), se impun câteva
consideraţii privind abordarea programării controlerelor.
Secvenţialitatea execuţiei instrucţiunilor conduce la foarte multe stări succesive ale
automatului, iar o proiectare necorespunzătoare determină stări nedorite ale sistemului,
ceea ce conduce la un efort considerabil pentru depanarea programelor.
O proiectare necorespunzătoare împarte bugetul de timp necesar implementării astfel : 10% stabilirea
temei, 10% concepţiei, 30% scrierea programului (softul), 40% testare şi depanare, 10% elaborarea
documentaţiei.
O programare structurată determină un sistem fiabil, care poate fi cu uşurinţă completat
(upgradat) şi care, de altfel, scurtează şi timpul necesar implementării.
Se afirmă că o creştere la 30% a timpului alocat concepţiei (structurării), va micşora timpul alocat scrierii
programului la 10% şi va scădea timpul necesar depanării la 10% (iată o economie de 30%, adică o
scădere a timpului necesar implementării automatului).
Orice proiect are cel puţin o configuraţie, care specifică resursele (şi trebuie să fie cel
puţin o resursă). În cadrul resurselor se definesc unităţile de organizare a programelor
POU (Program Organisation Units) şi task-urile (adică, sarcinile) .
În cadrul unui POU avem : programe, funcţii şi funcţii bloc.
Să luăm în discuţie elementele mai principale ale modelului software.
Configuraţia se referă la controlerul de care dispune sistemul proiectat, specificând
elementele hardware ce vor fi utilizate, modalitatea şi punctele de conectare ale intrărilor
şi ieşirilor controlerului, asocierea intrărilor şi ieşirilor controlerului cu adrese de
memorie (unde să se memoreze valorile).
Lansarea în execuţie a unei configuraţii presupune iniţializarea variabilelor locale şi
activarea resurselor pe care le conţine. Configuraţiile pot comunica, între ele, prin
intermediul variabilelor de acces (vezi precizarea în cele următoare).
Resursele sunt elemente ale sistemului PLC (atât hardware cât şi software) prin
intermediul cărora se procesează o parte sau toate semnalele atât cele furnizate de
traductoare cât şi comenzile PLC către procesul condus (vezi figura 7.46).

CONFIGURATIA 1

RESURSA 1 RESURSA 2

Task1 Task2 Task3 Task4

Program Program Program Program


P1 P2 P3 P2

FB1 FB1

FB2 FB2
Fig. 7.46

Din figura 7.46 se costată că configuraţia I, are 2 resurse, iar fiecare dintre resursele sale
are câte 2 task-uri (sarcini); fiecare sarcină se rezolvă prin programul său (P1, P2), unul
dintre programe poate fi în două variante (FB1, FB2), iar task-urile fiecărei resurse pot
„colabora” şi direct cu una din cele 2 variante (FB1, FB2), chiar în mod diferit în cadrul
fiecărei resurse. De fapt, cele prezentate anterior sunt cuprinse în digrama resursei I din
figura 7.46.
Mai trebuie observate câteva elemente specifice precum :
 Din punctul de vedere al software, resursele conţin instanţieri ale unor
programe de prelucrare (codul sursă), de fapt conţin POU (Program
Organisation Units), ce are în componenţă : programe, funcţii şi funcţii bloc.
 Pe lângă instrucţiunile, care implementează algoritmul de prelucrare (adică,
POU), resursa dispune de o interfaţă prin intermediul căreia sunt precizaţi
parametrii formali.
 Din punctul de vedere hardware, resursele pot fi un CPU sau un sistem virtual
(de simulare).
 Activarea unei resurse (lansarea în execuţie) determină iniţializarea variabilelor
proprii şi activarea taskurilor resursei.
 Programele pot intra în execuţie imediat sau la comanda taskurilor, iar resursele
pot avea taskuri sau nu.
Notă. Prin instanţiere se înţelege că un program este copiat în cadrul resursei, particularizându-se
parametrii pentru respectiva resursă.
În figura 7.46 a fost prezentat un exemplu de configuraţie.
Taskul conţine instrucţiuni, care comandă activarea unor programe sau a unor funcţii
bloc (din cadrul programelor), într-o ordine prestabilită, la momente de timp periodice
sau la apariţia unor evenimente exterioare controlerului (de exemplu, o întrerupere).
Astfel, Taskul 1, din figura 7.46, lansează în execuţie programul P1 la diferite momente
de timp şi funcţia bloc FB1 la alte momente de timp. Similar pentru celelalte taskuri. Dar
Taskul 1 poate fi întrerupt, de exemplu, de Taskul 2 dacă acesta are prioritate mai mare.
După ce a fost întrerupt, se execută Taskul 2 şi după ce acesta îşi termină treaba, se
revine la Taskul 1 (care se continuă de unde a fost întrerupt).

Spre exemplu, dacă în Resursa 1(figura 7.46) se declară:


TASK 1 (INTERVAL := t#20ms, PRIORITY := 3) ;
TASK 2 (INTERVAL := t#5ms, PRIORITY := 2) ;
Atunci, Taskul 1 se execută la fiecare 20 ms, iar Taskul 2 se execută la fiecare 5 ms. Dar, prioritatea mai
mare este alocată Taskului 2; deci dacă Taskul 1 este încă în execuţie şi s-au scurs 5 ms de la ultima
lansare a Taskului 2, atunci se întrerupe execuţia Taskului 1 şi se execută Taskul 2, după care se revine la
execuţia Taskului 1, din punctul în care a fost întrerupt.

Funcţia este un elementul POU, care dacă este invocat şi executat, furnizează ca
rezultat o singură dată.
 Rezultatul execuţiei (data de ieşire) se transmite procedurii, care a apelat funcţia
prin intermediul variabilei nume_funcţie.
 Data poate fi elementară sau derivată (adică, matrice, structură).
 Funcţia poate fi utilizată în expresii, ceea ce conduce la execuţia procedurii şi
folosirea rezultatului în cadrul expresiei.
 Funcţiile pot fi implementate de sistemul de operare (adică, pot fi funcţii
standard) sau pot fi definite de utilizator.
Declararea funcţiilor utilizator se face (aproape ca în mediile de programare obişnuite) astfel:
FUNCTION nume_funcţie. ...... END_FUNCTION
Spre exemplu, se defineşte funcţia reală SMP (reală, în sensul că data de ieşire furnizată de funcţie în
variabila SMP este o dată reală).

FUNCTION SMP : REAL


VAR_INPUT
A,B : REAL ; (* Interfaţa externă - intrări *)
C : REAL := 1.0;
END_VAR
SMP := A*B/C; (* Funcţia propriu-zisă *)
END_FUNCTION
Se remarcă faptul că, în cadrul instrucţiunilor de definire a funcţiei, trebuie să existe cel puţin o atribuire
pentru variabila SMP (atribuirile se realizează cu simbolul „:=”).
Funcţiile standard sunt clasificate după datele asupra căreia acţionează şi după modalitatea de prelucrare.
Există o posibilitatea de control a execuţiei unei funcţii prin intermediul unei variabile binare de intrare
EN (Enable) şi a unei variabile de ieşire ENO. Variabila de intrare EN permite blocarea execuţiei corpului
funcţiei, iar variabila de ieşire ENO arată dacă funcţia a fost executată şi furnizează indicaţii privind
modalitatea în care s-a încheiat execuţia funcţiei. Cele două variabile de control pot fi accesate din
exteriorul funcţiei.

Funcţia bloc este un elementul POU, care dacă este invocat şi executat furnizează ca
rezultat una sau mai multe date (spre deosebire de funcţie care furnizează o singură dată).
Funcţiile bloc pot fi standard, prezente în cadrul bibliotecilor sistemului de operare, sau
pot fi definite de utilizator.
De notat că funcţiile bloc definite de utilizator pot fi incluse în bibliotecile sistemului.

Declararea funcţiei bloc se face astfel:


FUNCTION BLOCK nume_funcţie. ...... END_FUNCTION_BLOCK.
Iată şi câteva elemente privind variabilele :
 Variabilele de intrare se declară cu VAR_INPUT sau cu VAR_IN_OUT, iar variabilele de
ieşire cu VAR_OUTPUT.
 Variabilele interne (locale) se declară cu VAR.
 Din exteriorul procedurii (adică, a function block) sunt accesibile numai variabilele de intrare şi
cele de ieşire.
 O funcţie bloc (dacă a fost declarată) poate face parte din corpul variabilelor de intrare ale unei
alte funcţii bloc (incluzând-o în corpul variabilelor de intrare).
 Pot fi create oricâte instanţieri ale unei funcţii bloc, prin specificarea unui identificator numai în
cadrul altor funcţii bloc sau în cadrul programelor.
 Funcţia bloc este accesibilă în modulul în care a fost definită, dar poate fi vizibilă şi în alte module
prin declararea GLOBAL.
Comunicaţia („legătura”) funcţiilor bloc în interiorul programelor este prezentată în
figura 7.47.

Fig. 7.47
Din figura 7.47 se constată că, în mod practic, se conectează ieşirea FB1 (care este o
instanţiere a FB_X), la intrarea FB2 (care este o instanţiere a FB_Y).
7.2.7.- Elemente privind programele pentru PLC.
Programul este un element POU care, prin intermediul instrucţiunilor unui limbaj de
programare, implementează algoritmul de prelucrare a semnalelor în vederea controlului
unui proces cu ajutorul unui controler.
Declararea programului se face cu instrucţiunea (aproape ca la o programare obişnuită) :
PROGRAM nume_program. ...... END_PROGRAM.
 Pot fi create instanţieri ale unui program, prin specificarea unui identificator
numai în cadrul resurselor.
 Programul are toate proprietăţile funcţiilor bloc la care se adaugă posibilitatea
folosirii variabilelor de acces (cu declaraţia VAR_ACCESS ... END_VAR).
 Programul poate avea în componenţă funcţii bloc şi funcţii.
Comunicarea între programe se face prin intermediul variabilelor (care sunt vizibile în modulul, care le-a
definit şi în modulele subordonate) sau al căilor de acces (adică, prin intrmrdiul variabilor de acces).
Variabilele declarate la nivelul de resursă, sunt variabile globale şi permit comunicaţia numai între
programe aflate în cadrul resursei respective (adică, sunt „văzute” de programele aceleiaşi resurse).
Comunicaţia între programe, în cadrul aceleiaşi configuraţii şi resurse diferite, este pre-zentată schematic
în figura 7.48.

Fig. 7.48

Comunicaţia între programe aflate în configuraţii diferite se face prin funcţii bloc şi este
prezentată schematic în figura 7.49.

CONFIGURATION C CONFIGURATION D

PROGRAM A
send1 rcv1 PROGRAM B
SEND RCV

FB1 SD1 RD1 FB2


FB_X FB_Y
b
a

Fig. 7.49
Comunicaţia între configuraţii diferite se poate realiza şi prin aşa-numitele variabile de
acces.
7.2.8.- Unele detalii despre DATE şi VARIABILE.
Datele pot fi numerice, şir de caractere sau literari, prin care se exprimă timpul.
Variabilele sunt nume simbolice prin intermediul cărora se memorează datele, pentru unele intervale de
timp mai lungi sau mai scurte.
7.2.8.1.- DATE.
Pentru a prezenta tipurile de date, mai jos, sunt prezentate câteva exemple de reprezentare a datelor (pe
tipuri) :
 Numere întregi cu sau fără semn: +1, -10, 120, -890, ş.a.
 Numere reale: 0.1, 1.56, - 15.9, +1.3, -1.3E+2, -1.3e+4, 5.6e12, ş.a.
 Numerice cu specificarea bazei (2,8,16): 2#1001 (9 în zecimal), 8#27 (23 în zecimal), 16#1F (31
în zecimal), 16#e1 (241 în zecimal), ş.a.
 Numere binare: 0 ‚ FALSE, 1, TRUE
 Şir de caractere: ‘a’ (un caracter), ‘ ’ (şirul vid), ’Aas’ (3 caractere) , ‘numar’ (5 caractere), ş.a.
 Exprimarea duratei de timp: t#12ms, T#15ms,TIME#25ms, T#2h3m15s, t#139ms, ş.a.
 Exprimarea datei (anul –luna - ziua) : d#2009-09-30, DATE#2009-12-31, D#2019-06-17, ş.a.
 Exprimarea timpului din cadrul unei zile (ora: minutul: secunda:) :
TIME_OF_DAY#17:36:54.31, time_of_day#15:36:55.36, tod#11:32:17.3, TOD#11:32:17.3, ş.a.
 Exprimarea datei şi a timpului din cadrul unei zile: DATE_AND_TIME#2009-09-30-
11:32:17.3, dt#2009-09-30-11:32:17.3, ş.a.
Tipurile de date elementare şi spaţiul de memorie alocat, sunt prezentate în tabelele 3-5.
Tabelul 3. Şiruri de caractere
Nr. Numele Tipul Nr. biţi

1 STRING Şir cu lungimea variabilă


2 BYTE Şir de 8 biţi 8
3 WORD Şir de 16 biţi 16
4 DWORD Şir de 32 biţi 32
5 LWORD Şir de 64 biţi 64

Tabelul 4. Timpul şi durata (de timp)


Nr. Numele Tipul

1 TIME Durata
2 DATE Data
3 TIME_OF_DAY or TOD Timpul zilei
4 DATE_AND_TIME or DT Data şi timpul zilei

Tabelul 5. Date numerice


Nr. Numele Tipul Nr. biţi

1 BOOL Boolean 1
2 SINT Întreg scurt 8
3 INT Întreg 16
4 DINT Întreg dublu 32
5 LINT Întreg lung 64
6 USINT Întreg scurt fără semn 8
7 UINT Întreg fără semn 16
8 UDINT Întreg dublu fără semn 32
9 ULINT Întreg lung fără semn 64
10 REAL Numere reale 32
11 LREAL Numere reale lungi 64
Pot exista şi date derivate, care sunt date declarate de utilizator prin intermediul construcţiei:
TYPE nume data: ..... END_TYPE.
Sunt posibile 4 tipuri de date derivate şi anume enumerări, domenii, matrice şi date structurate (vezi
detalii la specializare).
7.2.8.2.- VARIABILE.
Variabilele pot fi cu un singur element, dacă domeniul corespunde tipurilor de date elementare sau
variabile cu elemente multiple al căror domeniu corespunde datelor structurate sau matricilor.
Variabilele cu un singur element sunt singurele, care pot face asocierea datelor cu intrările, ieşirile şi
locaţiile de memorie ale controlerului.
Reprezentarea directă a variabilelor cu un singur element se face cu semnul de procent „%„ la care se
adaugă prefixul de locaţie, specificând unde se găseşte la microcontroler sau dimensiunea.
În tabelul 6 sunt prezentate prefixul de locaţie şi dimensiunea.
Tabelul 6.
Nr. Prefixul Semnificaţia Tipul

1 I Intrare
2 Q Ieşire
3 M Locaţie de memorie
4 X Un bit BOOL
5 Nici un Un bit BOOL
prefix
6 B Octet (8 bits) BYTE
7 W Cuvânt(16 bits) WORD
8 D Cuvânt dublu (32 bits) DWORD
9 L Cuvânt lung (64 bits) LWORD
7.2.8.3.- Declararea tipului variabilei.
Fiecare POU (Program organization units) se impune să aibă la început o declarare a variabilelor ce vor
fi folosite în cadrul procedurii (program, funcţie sau funcţie bloc).
 Variabilele sunt locale, cu excepţia celor declarate drept globale (cu VAR_GLOBAL).
 Accesarea datelor declarate ca fiind globale de alte proceduri se poate face numai dacă sunt
declarate în POU ca variabile externe (cu VAR_EXTERNAL). În cadrul acestei structuri nu
este permisă iniţializarea variabilelor.
 Transferul datelor de la POU către alte structuri se face prin intermediul datelor declarate de ieşire
(cu VAR_OUTPUT).
 Preluarea de date de la alte structuri se face prin intermediul variabilelor declarate de intrare (cu
VAR_INPUT).
 Transferul datelor se poate face şi cu variabile declarate ca fiind atât de intrare cât şi de ieşire (cu
VAR_IN_OUT).
 Cuvântul cheie RETAIN permite unei variabile să îşi păstreze valoarea şi după restartarea la cald
a sistemului.
Declararea numelui se face cu construcţia:
VAR .... END_VAR.
Pentru a preciza tipul se completează VAR ca în tabelul 7.
Tabelul 7.
Cuv. cheie Utilizare

VAR Declară variabilele locale POU.


VAR_INPUT Variabile de intrare pentru procedură. Declarate în exteriorul procedurii. Nu
pot fi modificate în POU.
VAR_OUTPUT Variabile de ieşire ale procedurii. Declarate în exteriorul procedurii. Nu pot fi
modificate în POU.
VAR_IN_OUT Variabile de intrare sau de ieşire, cerute de proceduri externe. Pot fi
modificate în POU .

VAR_EXTERNAL Declararea ca externe a unor variabile stabilite drept globale în altă


procedură. Pot fi modificate în POU.
VAR_GLOBAL Declară variabile globale.
VAR_ACCESS Declară variabile de acces.
RETAIN Declară variabile care îşi păstrează valoarea la restartul sistemului.
CONSTANT Declară constante (nu se pot modifica).
AT Asociere a unui nume simbolic unei variabile în reprezentarea directă.

7.2.9.- Câte ceva despre limbaje de programare.


Mai întâi vor fi evidenţiate elementele grafice (comune), care au aceeaşi funcţionalitate
în cadrul limbajelor grafice (definite de recomandările IEC 61131) LD (Ladder Diagram),
FBD (Function Block Diagram) şi SFC (Sequential Function Chart).
Reţeaua este o reprezentare a modului în care este controlat un sistem fizic,
specificând transferul informaţional între elemente de la un pas, la altul.
Reţeaua este formată din linii conţinînd elemente de circuit.
În cazul LD se transferă puterea (electrică), în cazul FBD se transferă semnale, iar în
cazul SFC se specifică ordinea în care se execută activităţile.
Transferul are loc astfel :
în LD, transferul are loc de la alimentare (reprezentată printr-o linie verticală în
stânga desenului), la masă (reprezentată pintr-o linia verticală în dreapta desenului);
în FBD, transferul semnalelor se face de la ieşirea unei funcţii (sau funcţiei
bloc), la intrarea altei funcţii; intrările sunt în stânga, iar ieşirile în dreapta simbolului
grafic al funcţiei;
în SFC, execuţia are loc de sus, în jos, de la o activitate, la alta, trecând printr-
o etapă de tranziţie.
Limbajul LD foloseşte reprezentarea grafică a sistemelor electrice cu contacte, ca în
figura 7.50a, iar celelalte două limbaje (FBD şi SFC) reprezintă elementele prin
intermediul unor blocuri de forma unor dreptunghiuri ca în figura 7.50b.
Elementele grafice sunt conectate prin linii orizontale şi verticale semnificând
transferul informaţional, de la ieşirea elementului evaluat la intrarea altui element.
Evaluarea (calculul) stării unui element se face numai dacă toate intrările au fost
precizate (adică, stabilite anterior). Prin evaluare se determină starea elementului de
circuit şi se setează ieşirile acestuia.
În cazul LD evaluarea elementelor se face de sus, în jos, linie cu linie. Instrucţiunile
condiţionale (şi de salt) modifică succesiunea evaluării liniilor.

Nume contact
nume
In
Out

In FB Out

Nume bobină
In Out

b)
Fig. 7.50
În continuare se vor face doar câteva precizări privind câteva tipuri de limbaje (urmând
ca toate detalierile să se facă rvrntual în cadrul unei specializări); un accent oarecare se va
acorda limbajului LD.
Limbajul IL (Instruction List), poate fi considerat similar limbajului de
asamblare folosit de microprocesoare. Sunt puţine tipuri de controlere care mai pot fi
programate prin intermediul listelor de instrucţiuni (IL) şi tendinţa este de a nu mai fi
utilizat. Cauza principală este faptul că celelalte limbaje sunt mai uşor de implementat.
Limbajul ST (Structured Text) de text structurat este similar limbajelor de
nivel înalt C şi Visual Basic. Există un program principal (între PROGRAM şi
END_PROGRAM) care apelează funcţii sau subrutine.
Limbajul SFC (Sequential Function Charts), spre deosebire de
celelalte limbaje, acest limbaj permite ca mai multe procese să fie active în acelaşi
moment de timp. De fapt programele se activează concurenţial, în sensul că se străduie
să acapareze resursele sistemului, mai exact să preia din timpul de lucru al controlerului.
Limbajul mai este cunoscut sub numele Grafcet sau IEC 848.
Principalele elemente ale grafurilor SFC sunt prezentate în figurile 7.51,...,7.53
Prin intermediul liniilor se indică trecerea de la un pas la altul, adică tranziţia automatului
dintr-o stare în alta.

Fig. 7.51 Fig. 7.52


De exemplu, prin simbolul din figura 7.51 se specifică o instrucţiune condiţională (de
tipul IF sau WAIT) indicând faptul că se va trece la pasul următor când condiţia este
îndeplinită. Prin intermediul blocurilor (a dreptunghiurilor) se indică starea circuitului;
spre exemplu, simbolul din figura 7.52 indică prima stare a circuitului.
De regulă o stare (un pas al circuitului) are asociată o acţiune, aşa cum se arată în figura
7.53, etc.

Stare (pas) Acţiune

Fig. 7.53
Limbajul FBD (Function Block Diagram).
Principiul, pe baza căruia a fost implementat limbajul FBD constă în transferul datelor de
la intrări către ieşiri prin intermediul blocurilor funcţionale.
De fapt limbajul forţează programatorul să evidenţieze circulaţia datelor prin sistem.
Spre exemplu, în figura 7.54 ieşirea O:000/01 este activă dacă la intrarea A avem o valoare mai mică decât
la intrarea B (B=N7:2), unde intrarea A este determinată de variabilele N7:0 şi N7:1 prin relaţia
A  sin( N 7 : 0) * la ( N 7 : 1) .

Fig. 7.54
Blocurile funcţionale ale limbajului FBD au un corespondent în instrucţiuni scrise în limbajul
ST(Structured Text).
Limbajul LD (Ladder Diagram).
Într-o traducere aproximativă LD reprezintă diagrame în scară. Explicaţia constă în
faptul că diagrama are pe laterale Barele (verticale) de alimentarea cu energie L1 şi L2 (în
care L1 este faza – firul cald, iar L2 este masa), între care se găsesc reţelele electrice
(rândurile , liniile, „treptele scării”) conectate în paralel.
Rândurile au în componenţă temporizatoare, numărătoare, contacte normal închise
sau normal deschise - de intrare şi bobine ale unor relee sau elemente de execuţie - de
ieşire (vezi figurile următoare).
Execuţia şi actualizarea se face de jos, în sus, iar pe linie de la stânga, la dreapta –
fiecare linie fiind numerotată pentru ca execuţia să se facă conform numărului de ordine.
În cadrul diagramelor pot fi intercalate blocuri funcţionale. Elementele grafice ale
limbajului sunt organizate în linii de circuit, conectate între două linii verticale de
alimentare cu energie (linia din stânga este sursa de alimentare, iar linia din dreapta este
masa). Fluxul de putere (curentul) se închide, prin elemente de circuit, de la sursa de
alimentare, la masă.
Liniile de conectare.
Conectarea printr-o linie orizontală a două elemente semnifică faptul că starea
elementului din stânga condiţionează starea elemetului următor (din dreapta).
Dacă la intrarea unui element se conecteză, prin linii verticale, ieşirile mai multor
elemente atunci ieşirea elementului în cauză este în OFF numai dacă toate elementele
conectate sunt în OFF - la intrare se efectuează funcţia ŞI.
Contactele.
Contactul transferă starea liniilor din stânga simbolului la dreapta acestuia după ce
efectuează funcţia logică ŞI asupra liniilor orizontale din stânga contactului. Fiecare
contact are asociată o variabilă logică desemnată prin intermediul numelui contactului.
Variabila logică asociată contactului nu îşi modifică starea (nu se memorează).
Evaluarea stării contactului se face în funcţie de variabila logică asociată (nume), aşa
încât există următoarele tipuri şi reprezentări de contacte:
1. Contactul normal deschis, din figura 7.55a
Starea legăturilor din stânga contactului este copiată în dreapta, dacă variabila
booleană asociată (specificată prin “nume”) este ON.
2. Contactul normal înschis, din figura 7.55b
Starea legăturilor din stânga contactului este copiată în dreapta, dacă variabila
booleană asociată (specificată prin “nume”) este OFF.

nume nume nume


P

a) c)

nume nume nume


N

b) d)
Fig. 7.55
Alte variante :
3. Contactul sensibil la tranziţia low – high (Pozitivă), din figura 7.55c
Dacă stânga contactului este ON, atunci când variabila booleană asociată (specificată prin
“nume”) efectuează o tranziţie din OFF (low), în ON (high), atunci partea din dreapta
contactului devine ON. Rămâne pe ON numai în intervalul de timp asociat evaluării apoi devine
iarăşi OFF.
4. Contactul sensibil la tranziţia high – low (Negativă), din figura 7.55d
Dacă stânga contactului este ON atunci când variabila booleană asociată (specificată prin
“nume”) efectuează o tranziţie din ON (high), în OFF (low), atunci partea din dreapta
contactului devine ON. După evaluare devine iarăşi OFF.
Contactele pot fi asociate intrărilor (preluând stări ale procesului) sau ieşirilor (comenzi
ale PLC către procesul condus) microcontrolerului sau reprezintă variabile interne
(folosite la implementarea algoritmului de conducere). Variabilele interne nu sunt
accesibile din exteriorul microcontrolerului – sunt numai “de lucru”.
Bobinele.
Bobina normală transferă starea circuitelor din stânga în dreapta simbolului grafic,
memorând starea (circuitelor din stânga) în variabila logică (nume) asociată bobinei.
Starea din dreapta simbolului depinde atât de starea circuitelor din dreapta cât şi de
variabila asociată bobinei.
Bobinele sunt elemente de programare, ce modelează funcţionalitatea bobinelor reale
din componenţa contactoarelor şi releelor (de comandă a contactelor). Starea de alimentat
a bobinei contactorului real (sau a releului) este reprezentată prin starea ON a variabilei
booleane asociată elementului de programare numit bobină. Starea OFF corespunde
contactorului real a cărui bobină nu este alimentată cu energie electrică.
Unei ieşiri a automatului i se poate asocia o bobină şi mai multe contacte. Pe de altă parte
bobinele pot fi utilizate ca variabile interne, fără a fi accesibile din exterior, având rolul
de element de programare a algoritmului de comandă.
Există următoarele tipuri şi reprezentări de bobine:
1. Bobina normală, din figura 7.56a
Starea legăturilor din stânga contactului este copiată în dreapta şi în variabila
booleană asociată (specificată prin “nume”).
2. Bobina negată, din figura 7.56b
Starea legăturilor din stânga contactului este copiată în dreapta, iar variabila booleană asociată
(specificată prin “nume”) este negată.
3. Setarea bobinei, din figura 7.56c
Variabila booleană asociată (specificată prin “nume”) este forţată în starea ON şi rămâne aşa până
ce bobina este resetată.
4. Resetarea bobinei, din figura 7.56d
Variabila booleană asociată (specificată prin “nume”) este forţată în starea OFF şi rămâne aşa
până ce bobina este setată.
nume nume nume nume
S R

a) b) c) d)
Fig. 7.56
5. Bobină sensibilă la
tranziţia low – high (Pozitivă), din figura 7.57a
Dacă stânga contactului efectuează o tranziţie din OFF (low), în ON (high), atunci variabila
booleană asociată (specificată prin “nume”) devine ON.
6. Bobină sensibilă la tranziţia high – low (Negativă), din figura 7.57b
Dacă stânga contactului efectuează o tranziţie din ON (high) în OFF (low), atunci variabila
booleană asociată (specificată prin “nume”) devine ON pe durata evaluării. Apoi starea din sânga
este copiată în dreapta (adică, devine OFF).

nume nume
P N

a) Fig. 7.57 b)
7. Bobinele cu reţinere sunt prezentate în figura 7.58
Funcţionarea corespunde punctelor 1, 3, 4 asociind simbolurile din figura 7.58 cu cele din figura
7.56 (7.58a, cu 7.56a bobina normală; 7.58b, cu 7.56c stare a bobinei, 7.58c, cu 7.56d resetare a
bobinei) dar se păstrează starea bobinelor de la un restart la altul.
Deprinderea diferilor variante de butoane, bobine, etc presupune eventual o specializare pe problemel
programării PLC-urilor.
nume nume nume
M SM RM

a) b) c)
Fig. 7.58
Temporizatoarele.
Temporizatoarele sunt elemente de programare (blocuri funcţionale) având rolul de a
întârzia anumite activităţi sau de a realiza activităţi pe o durată de timp prestabilită
(intervale de timp). Astfel, sunt modelate relee de timp şi contacte temporizate.
Stabilirea duratei de timp se face programând mai întâi baza de timp (adică, a unui
generator de cuante de timp) pentru a genera impulsuri la intervale de ordinul a 1 s, 1 ms,
0,1 ms, etc. Apoi se programează intervalul de temporizare exprimat în unităţi ale bazei
de timp.

Notă. Există automate, care au o singură bază de timp (spre exemplu, generează cuante de timp la fiecare
μs) pentru toate temporizatoarele şi nu mai este necesar să fie programată baza de timp.
Temporizatoarele au cel puţin o intrare de iniţializare (de pornire a temporizării) şi cel puţin o ieşire. Există
intrări, care pe baza unor condiţii logice, pot activa sau inhiba (adică, acţiunea de temporizare nu mai are
loc) funcţionarea temporizatorului.
Temporizatoarele complexe permit întârzieri variabile, durata întârzierii fiind impusă de starea unor
variabile logice (adică de îndeplinirea unor condiţii logice).

În figura 7.59 este prezentat simbolul grafic al unui temporizator TON, având rolul de a întârzia comanda
(trecerea din L în H) aplicată la intrarea IN, cu un interval de timp TP.

TON

IN
Q
R
TS
TP

a) b)

Fig. 7.59
Starea ieşirii Q se modifică la valoarea logică a intrării IN după un interval de timp TP, vezi zona 1 din
figura 7.59b. Dacă temporizarea este nulă (fără temporizare), atunci ieşirea Q urmăreşte starea intrării IN.
Dacă intrarea îşi schimbă starea înainte de încheierea intervalului de temporizare ieşirea nu îşi mai schimbă
starea, zona 2 din figura 7.59b.
Intrarea R este pentru resetarea ieşirii Q. Ieşirea este zero indiferent de starea intrării IN, pe durata cât R
este activ, zona 3 din figura 7.59b.
Prin intermediul intrării TP, din figura 7.59a , se stabileşte valoarea timpului de întârziere. Ieşirea TS
permite citirea timpului după care se încheie temporizarea.
În figura 7.60 este prezentat simbolul grafic al unui temporizator TOFF, având rolul de a întârzia comanda
(trecerea din H în L) aplicată la intrarea IN cu un interval de timp TP.

TOF
F
IN
Q
R
TS
TP

a) b)
Fig. 7.60
În mod normal, fără temporizare, Q urmăreşte IN. Dacă intervine temporizarea căderea semnalului IN
conduce la căderea în zero a semnalului Q după trecerea intervalului TP de temporizare, vezi zona 1 din
figura 7.60b. În zona 2 constatăm că ieşirea Q nu îşi schimbă starea deoarece a apărut o variaţie a
semnalului IN (din L, în H) înainte de încheierea temporizării.
Zona 3 prezintă acţiunea semnalului de resetare (semnal la borna R), care trece ieşirea Q în zero, indiferent
dacă temporizarea s-a încheiat sau nu.
Temporizatorul TP, din figura 7.61, lucrează ca un circuit basculant monostabil, care la tranziţia intrării IN
din L, în H, basculează ieşirea Q, în H, îi menţine starea un timp TP după care basculează în starea L,
indiferent de ce face intrarea IN (pe durata temporizării TP).
Semnalul de resetare R basculează necon-diţionat ieşirea
TP Q în L, chiar dacă nu s-a încheiat temporizarea (întrerupe
temporizarea).

IN
Numărătoarele.
Q Numărătorul CT are rolul de a contoriza (count)
impulsurile sosite pe intrarea de numărare CU
R (numără crescător) / CD (numără
TS
TP
CTU

CU
QU
Fig. 7.61
R
descrescător), vezi figura 7.62, care prezintă un CV
numărător CTU (CounT Up) .
Intrarea PV este pentru iniţializarea numărătorului. Se PV
precizează limita până la care vor fi numărate impulsurile,
după care ieşirea devine activă.
Intrarea R este pentru resetarea numărătorului, acesta reluând Fig. 7.62
procesul de numărare. Există numărătoare care pot număra
atât descrescător cât şi crescător (dar nu simultan). Au două intrări una CU şi una CD, care specifică modul
de numărare. Dacă impulsurile de numărare se aplică la CU atunci se numără crescător.
Alte blocuri funcţionale.
Se menţionează faptul că numărătoarele şi temporizatoarele se încadrează în categoria
blocurilor funcţionale. Fiecare producător de controlere îşi realizează o bibliotecă
proprie de funcţii şi funcţii bloc, ce pot fi apelate de programele utilizator.
Pentru desenarea schemelor cu contacte (Ladder Diagram) se folosesc editoare puse la
dispoziţie, de obicei, de către firmele producătoare de echipamente PLC.
Exemple de editoare : J-Ladder [52], DELMIA Automation LL1 [48], ISaGRAF, TRiLOGY [55], Easy
Soft (de la Moeller), Twido Soft (de la Schneider Electric), ALPCSWIN260 şi GX IEC Developer (de la
Mitsubishi), LOGO , PG20 şi STEP7 Lite (de la Siemens) ş.a. Unele dintre ele pot fi recuperate prin
Internet

BIBLIOGRAFIA.
1.- Theodor Borangiu, Andrei Nick Ivănescu, Sorin Brotac, Automate programabile,
U.P.B., Fac de Automatică şi Calculatoare. (extragere Internet).
2.- prof dr.ing. Cristian Bucur, capitolul 8 („Circuite logice programabile”) din
cursul Circuite electronice în comutaţie, Ed U.P.G. Ploieşti, 2010.
Pentru cei interesaţi, în prima biblio (se poate obţine prin internet) se propun mai multe
exemple/aplicaţii de automatizare a proceselor productive :
1.- Controlul unei macarale folosite în cadrul unui proces tehnologic.
2.-Comanda mişcării de dute-vino a unui mobil.
3.-Automatizarea unei dozări şi malaxări de produse.
4.-Staţia automată de spălare a automobolelor.
5.- Controlul temperaturii unui lichid.
Se foloseşte programarea ISAGraf, diagrame Grafcet şi Ladder.
Parcurgând cu atenţie exemplele propuse în lucrarea menţionată, se pot desprinde câteva aspecte privind
felul cum “se rezolvă” o anumită tema de automatizare :
1.- Descrierea procesului, ceea ce presupune cunoaşterea tuturor detaliilor legate de automatizarea şi
evidenţierea lor exactă cu toate conexiunile specifice; se remarcă de fiecare dată execuţia sumară, dar cu
toate detaliile necesare, a unei schiţe a instalaţiei procesului ce trebuie automatizat. Tot în cadrul acestui
punct se stabilesc :
--- elementetele de execuţie cu nominalizarea lor;
--- elementele de măsură cu nominalizarea lor.
2.- Se stabilesc soluţiile automatizării, eventual în mai multe variante, cu precizarea :
--- variabilelor de intrare booleene;
--- variabilelor de ieşire booleene;
--- variabilelor analogice;
--- variabilelor de tip timer şi a altor tipuri de variabile.
3.- Comentarii diverse, eventual propuneri pentru modifficări de soluţii, diagrame, etc.
4.- Pot fi adăugate şi alte elemente/aspecte utile pentru o bună rezolvare a temei.

Întrebările recapitulative (ajutătoare) pentru partea II-a.


1.- Să se prezinte sumar componenetele unui automat programabil.
2.- Care sunt paşii de funcţionare la un PLC şi ce reprezintă timpul total de răspuns ?
3.- Prezentăţi elementele logicii releelor.
4. Prezentaţi funcţiile principale ale unui PLC.
5.- Cum se execută programul controlerului ?
6.- Ce reprezintă CAN şi CNA si cum se aplică practic ?
7.- Elementele primare de programare ale PLC : configuraţiile, task-ul, funcţia, funcţia bloc.
8.- Elementele generale ale unor limbaje de programare pentru PLC.
9.- Să se prezinte elementele principale pentru limbajul LD : liniile de conectare, contactele, bobinele,
temporizatoarele, numărătoarele.

7.3.- Despre sistemele de conducere distribuite şi comunicaţiile


(partea III-a)
7.3.1.- O introducere la acest subcapitol.
O bună dezvoltare, la nivel de idei, privind problema comunicaţiilor şi a sistemelor
distribuite de conducere, este dată în cap. 9 (“Reţele industriale”) al suplimentului 3 din
cadrul părţii a II-a al acestui capitol 7 al cursului.
De fapt, cred că întregul ansamblu de probleme privind comunicaţiile, respectiv a
sistemelor distribuite de conducere, legate de folosirea automatelor programabile, trebuie
considerat într-o bună măsură ca un “subiect” de sine-stătător, într-o strânsă
interdependenţă cu problema PLC-urilor, dar cu aspecte teoretico-practice proprii,
respectiv cu o dezvoltare proprie, uneori legată de tipurile de PLC pe care le deserveşte.
Ca şi în cadrul problematicii generale ale PLC-urilor, există o serie de standardizări,
unele la nivel foarte general, care permit o serie de ramificaţii, impuse de anumite firme
producătoare de PLC-uri, care îşi valorifica şi propriile lor sisteme de comunicaţii şi
siteme distribuite de conducere. Mai mult, ele au chiar un anumit specific spaţio-
geografic : european (preponderent mai ales Siemens şi Schneider), american (Allen
Bradley), asiatic (Mitsubishi, ş.a.). Sub acest aspect, unele documentaţii pot părea
adresate foarte strict unei anumite “variante”, cu justificări foarte pronunţate pentru
anumite aspecte, fără prea multe sistematizări generale, care pot îngreuna într-o bună
măsură o documentare corectă. Cumva anume deci, cineva, va trebui să fi parcurs, măcar
şi susccint, ceea ce va găsi aici, să-şi formeze o anumită idee, iar apoi documentarea va
trebui să continue pe internet pentru o aprofundare a diverselor aspecte, dacă acest lucru
impune, pentru că anume din materialele evidenţiate aici, unele sunt deja ceva mai vechi
(anii 2002 – 2003), iar evoluţia pieţei şi implicit a ideilor specifice este în general, pentru
acest segment, foarte rapidă.
ATÂT, referitor la această introducere!
7.3.2.- Despre automatizările industriale.
Automatizările industriale reprezintă denumirea comună a diferitelor dispozitive
mecanice, electrice, pneumatice, hidraulice şi electronice utilizate pentru automatizarea
proceselor industriale, de tip discret, continuu şi hibrid, maşini-unelte cu comandă
numerică, clădiri, vehicule şi infrastructura de transport, logistica, roboţi industriali.
7.3.2.1.- Deosebirea automatizărilor industriale de electronica pentru consumul
larg.
a) În primul rând este vorba de o gamă mult mai extinsă a temperaturilor,
având în vedere că un mare număr de dispozitive de acţionare sunt dispuse în aer liber
sau în camere neîncălzite, respectiv în dulapuri; se disting următoarele intervale de
temperaturi :
 0 … 55°C — diapazonul de temperature pentru electronicele ce funcţionează în
clădiri;
 −20 … +75°C — gama lărgită de temperatură;
 −40 … +85°C — gama largă de temperatură;
 −55 … +110°C —gama de temperature folosită în automatica aviatică.
b) Tehnologia specială de fabricare a microschemelor (chip-urilor). În cazul
microcontrolerelor industriale, ca regulă nu se recomandă folosirea ventilatoarelor
(pentru procesoarele, blocurile de alimentare,etc) pentru că elementele aflate în miscare
sunt, în general, mai puţin fiabile, de aceea microschemele trebuie să se răcească prin
circulaţia aerului (adică, a convecţiei). Din aceste motive ele se execută cu ajutorul unei
tehnologii speciale, care permite o reducere pronunţată a consumului de energie electrică.
c) Stabilitatea la vibraţii. Dispozitivele automaticii industriale trebuie să se
comporte stabil în cazul unor vibraţii constante, ca şi în cazul unor lovituri singulare.
d) Certificatele şi standardele. După execuţia dispozitivelor electronice,
producătorul lor trebuie să execute o serie de experimente după diverse metode, în
privinţa asigurării caracteristicilor lor, după care se poate admite folosire în cadrul
diverselor obiecte. Costurile acestor certificări sunt importante şi pot duce în medie la
50% din costul execuţiei dispozitivului.
Sunt necesare şi unele certificări separate pentru a intra în folosinţă :
 în cazul dispozitivelor comercializabile (în domeniile cu specific : ţiţei, căldură,
gaze);
 în cazul vaselor marine (registrul mărilor, DNV (registrul marin norvegian),
registrul marin Loyd, registrul marin german;
 pentru traductoare trebuie obţinut certificatul metrologic de stat;
 în cazul tehnicii militare (în SUA există o serie de standarde MIL-STD).
7.3.3.-Reţelele industriale.
O reţea industrială are rolul de a transmite diverse date, dar care leagă diverse
traductoare, mecanisme de execuţie, controlerele industriale, fiind folosită pentru
automatizarea industrială. Acest termen se foloseşte în mod deosebit în cadrul sistemelor
de automatizare a conducerii proceselor tehnologice (ASU TP). Elementele acesteia sunt
prevăzute prin standardul IEC 61158. Dispozitivele folosesc reţeaua pentru :
 transmiterea datelor între senzori, controlerele şi mecaniasmele de execuţie;
 diagnosticarea şi configurarea ulterioară a senzorilor şi dispozitivelor de execuţie;
 calibrarea senzorilor;
 alimentarea senzorilor şi a mecanismelor de execuţie;
 transmiterea datelor între senzori şi mecanismele de execuţia, ocolind controlerul
central;
 legătura dintre senzori, mecanismele de execuţie, PLC şi ASU TP de nivel
superior;
 legătura dintre controlerele şi sistemul SCADA.
În cadrul reţelelor industriale, pentru transmiterea datelor se folosesc :
 cablurile;
 liniile cu fibre optice;
 legături fără fir (modemurile radio Wi-Fi).
Reţelele industriale pot interacţiona cu reţelele obişnuite de calculatoare, sau într-un
caz particular poate fi folosită reţeaua globală Internet.
Termenul magistrala de câmp reprezintă, de fapt, termenul englezesc fieldbus, dar
termenul de reţea industrială ar putea reprezenta o traducere mai exactă a termenului
englezesc, fiind folosit la ora actuală în literature tehnică de specialitate.

AVANTAJELE.
În comparaţie cu cazul racordării dispozitivelor periferice cu controlerul prin conductoare
separate, reţeaua industrială are următoarele avantaje :
micsorează de câteva ori costurile pentru cablu şi pozarea sa;
măreşte distanţa maximă până la traductoare şi dispozitivele de execuţie ce
trebuie conectate;
simplifică conducerea reţelei traductoarelor şi a mecanismelor de execuţie;
simplifică modificarea sistemului, în cazul modificării tipurilor de traductoare, a
protocolului de interacţiune, respectiv în cazul multiplicării dispozitivelor intrare/ieşire;
permite reglare la distanţă a traductoarelor şi diagnosticarea lor.
DEZAVANTAJE.
 în cazul întreruperii cablului se pierde posibilitatea obţinerii datelor şi a
conducerii mai multor dispozitive (în funcţie de locul defecţiunii şi a topologiei reţelei
există posibilitatea unei funcţionări autonome a unui segment de reţea şi a schemei de
conducere);
 pentru o creştere a fiabilităţii apare necesitatea rezervării unor canale de legătură
sau să se folosească o topologie în inel a reţelei.
7.3.4.-Unele tipuri de reţele industriale.
Modbus/RS-485, este reţeaua cea mai simplă, cea mai ieftină, respectiv cea mai răspândită reţea
industrială.
 P-NET – Specificaţia electrică P-NET se bazează pe standardul RS-485 (vezi suplimentul pentru
partea I-a), ce foloseşte o pereche de torsodate protejate.
Ethernetul industrial;
 Profinet;
 FOUNDATION Fieldbus HSE (High Speed Ethernet)(FF H2), este o variantă de Ethernet
industrial dezvoltat de FOUNDATION Fieldbus (FF);
 EtherCAT;
 Ethernet Powerlink;
 Ether/IP;
 SERCOS III.
HART, reţea pentru traductoarele analogice şi reglarea lor.
FF H1, este un protocol de magistrală, analog lui ProfiBus PA, dezvoltat de către
FOUNDATION field bus (FF).
AS-Interface, este o reţea ieftină şi protejată contra perturbaţiilor pentru traductoare discrete de
mică productivitate.
CAN, este o reţea industrială pentru automatizarea în transport şi construcţia de maşini.
 CANbus;
 CANopen;
 DeviceNet;
 SDS, o reţea cu răspândire mică în Rusia;
 J1939, o reţea cu răspân dire mică în Rusia.
Profibus, este o reţea industrială, conformă cu un standard internaţional, realizată cu o
participare foarte activă a firmei Siemens AG şi care cuprinde următoarele profile :
 Profibus DP;
 Profibus FMS;
 Profibus PA.
Reţelele industriale pentru automatizarea clădirilor.
Pentru automatizarea clădirilor se folosesc următoarele reţele :
 LonWorks;
 BACnet;
 EIB
Adesea însă în locul acetor tipuri de reţele se foloseşte Ethernet industrial şi/sau RS-485.
În cadrul industriei auto se folesc reţelele (mai puţin utilizate însă) :
 LIN, dezvoltată de consorţiul European pentru auto;
 FlexRay, protocol de reţea pentru auto.
7.3.5.-Sistemul distribuit de conducere.
Sistemul distribuit de conducere (Distributed Control System, DCS), reprezintă un
sistem de conducere al proceselor tehnologice, ce se caracterizează prin realizarea unui
sistem distribuit de intrări, ieşiri şi prelucrarea descentralizată a datelor.
DCS-eul se aplică pentru conducerea proceselor tehnologice de tip continuu şi hibrid
(deşi, apreciind în mod strict, sfera de aplicare a DCS-eului nu este limitată de acest
aspect). Procesele tehnologice continui se referă la acele procese ce se desfăşoară ziua şi
noaptea, luni de zile şi chiar ani, iar o oprire chiar destul de scurtă poate conduce la
defecţiunile produselor tehnologice, defectarea instalaţiei tehnologice sau chiar accidente
umane. Exemplul clasic al unui proces continuu este cel referitor la prepararea sticlei în
cuptorul de sticlă.
Sfera aplicării DCS-eului este destul de extinsă :
chimia şi petrochimia;
prelucrarea ţiţeiului şi extracţia ţiţeiului;
industria sticlei;
industria alimentară : lactate, zaharuri, de bere;
extracţia gazelor şi transportul acestora;
metalurgia;
utilizarea energiei s.a.m.d.
Cerinţele contemporane pentru DCS-eurile sunt :
 fiabilitatea stabilă şi funcţionare sigură;
 o simplitate relativă a configuraţiei şi a execuţiei sale;
 menţinerea arhitecturii distribuite în teritoriu;
 o configurare unică a bazei de date;
 o interfaţa dezvoltată de tip om-maşină.

Scurt istoric.
Primele DCS-euri au fost propuse pieţii în anul 1975 de către compania Honeywell (sistemul TDC 2000)
şi Yokogawa (sistemul CENTIUM). Producătorul american Bristol Babcock a propus , în acelaşi an,
controlerul său universal UCS 3000. Uneori la sistemul DCS se raportează şi sistemul Contronic 3 al
firmei Schoppe & Faeser.
În anul 1979 compania Fisher & Porter a propus sistemul său DCI-4000, iar Invensys a propus sistemul
SPECTRUM. În anul 1980 compania Bailey a propus sistemul NETWORK 90, iar compania Alfa Laval
a propus sistemul SattLine.
Cum se prezintă piaţa contemporană ?
Sistemele DCS contempoarane se prezintă astfel :
Areva T&D
PACiS
ABB
System 800xA
Emerson Process Managment
Ovation
Honeywell
Experion PKS
TDC3000
Total Plant Solution (TPS)
Invensys Foxbor
I/A Series
Foxboro A2 (Eurotherm Suite)
Siemens
SIMATIC PCS7 (incluzând CEMAT şi BRAUMAT)
APACS
QUADLOG
SPPA-T3000
Yokogawa
CENTUM CS 3000
În cadrul menţionat anterior firmele producătoare ocupă mai mult de jumătate din piaţa sistemelor DCS.
Producătorii mai puţin importanţi sunt : Alstom, Metso, Yamatake, Toshiba, Hitachi, Fuji.
7.3.6.- O introducere în comunicaţiile industriale.
Reţelele de comunicaţii reprezintă soluţiile de bază pentru domeniul automatizărilor.
Datorită lor sunt posibile interconectările, respectiv schimbul de date dintre diferitele
componente şi dispozitive ale sistemului de automatizare. În cadrul acestor subparagrafe
se cuprind unele informaţii generale despre tehnologia şi proiectarea comunicaţiilor
industriale.
7.3.6.1.- Cerinţele speciale pentru sitemele de comunicaţii industriale.
Reţelele industriale.
Reţelele industriale trebuie să satisfacă unele cerinţe speciale, care în funcţie de anumite
condiţii de severitate pot fi fie de un nivel mai ridicat sau de un nivel mai inferior în
raport cu reţelele obişnuite. Aşa cum confirmă o analiză finală, susccesul sau insuccesul
unei întreprinderi depinde funcţionalitatea şi eficacitatea sistemului său de automatizare.
Sistemul comunicaţiilor industriale trebuie să asigure conectarea celor mai
simple traductoare şi a mecanismelor de execuţie la controlerele, de asemenea,
conectarea controlerelor între ele, respectiv a acestora la calculatoare.
Pentru a elimina probemele ce apar la “curgerea” proceselor tehnologice şi
activitatea sectoarelor productive, este necesar să se asigure o informare operativă :
informaţia necesară trebuie să fie acolo unde ea este necesară şi la momentul de
timp necesar.
O serie de condiţii privind factorilor productivi cum ar fi perturbaţiile
electromagnetice, un ridicat grad de contaminare, umiditatea şi unele sarcini
mecanice, presupun cerinţe ridicate pentru structura reţelei şi a componentelor sale.
O cerinţă deosebită reprezintă exactitatea datelor. Factorii perturbatori ce pot
acţiona asupra transmiţătorilor de date sau asupra mediului de transmisie, trebuie să fie
evidenţiaţi şi semnalizaţi, asrfel încât utilizatorul să fie sigur pe exactitatea şi
corectitudinea datelor recepţionate.
Destul de rar un anumit sistem de automatizare seamănă cu un altul, de aceea
sistemul reţelei industriale trebuie să fie elastic, asigurând posibilitatea adaptării la
cerinţele unei probleme concrete.
7.3.6.2.- Tipurile şi categoriile de reţele.
Clasificarea reţelelor.
Pentru a separa reţele de comunicaţii industriale (deci, reţele industriale de legătură) pe
diferite categorii, se poate realiza o clasificare primară bazată pe întinderea reţelei. O
reţea poate fi calisificate pe următoarele grupe :
Reţeaua universală (GAN) : reţeaua ce cuprinde întreaga lume terestră, de
exemplu Internet;
Reţeaua teritorială (WAN): reţeaua ce cuprinde anumite regiuni şi ţări, de
exemplu, reţeaua Datex-P a oficiului poştal al Germaniei sau reţeaua Intranet a unor
mari întreprinderi.
Reţeaua locală (LAN), ce corespunde unei legături în limitele unui teritoriu
limitat, de exemplu, din interiorul unei clădiri. O reţea locală se caracterizează, în cazul
general, printr-o structură omogenă de transmitere a datelor.
La ce categorie poate fi raportată reţeaua industrială ?
Reţelele industriale de legătură se include în grupa reţelelor locale, deşi ele admit şi
un schimb interreţele (de exemplu, prin intermediul Internet-ului) şi o transmitere a unei
anumite informaţii din sectorul industrial în orice punct al lumii.
7.3.6.3.- Funcţiile de comunicare din cadrul sistemelor de automatizare.
Sistemele legăturilor industriale pot execută diferite funcţii :
Legătura cu procesul sau de nivel sectorial : o conectare directă a
mecanismelor de execuţie şi a traductoarelor la controlerele programabile logic.
Schimbul de date poate fi ciclic, în funcţie de desfăşurarea procesului, dar poate fi aciclic
prin aplicarea comenzilor de conducere.
Schimbul de date : schimbul de date dintre controlere programabile sau între
controlerele programabile şi un partener inteligent (de exemplu, un PC) cu aplicarea
protocoalelor şi a interfeţelor în condiţiile industriale.
Comunicaţii IT : controlerele programabile pot fi integrate în cadrul
tehnologiei informaţionale contemporane, datorită căreia se poate realiza schimbul de
informaţii în toată lumea cu ajutorul unor instrumente standard, cum ar fi poşta
electronică sau Web-browser.
7.3.6.4.- Termenii folosiţi la folosirea unei reţele industriale.
Introducere.
În cadrul acestui paragraph se precizează unii termini, destul de larg folosiţi la proiectarea
sistemelor de comunicaţii. În principiu acest paragraf poate fi “ocolit” acum şi folosit
eventual mai târziu, când un anumit termen este întâlnit în cadrul unui text.
Termenii şi explicaţiile.
Protocol.
Protocol, reprezintă o sumă de reguli, conform cu care se realizează conducerea
transmiterii datelor. Cu ajutorul protocolului, de exemplu, se descrie structura datelor,
structura pachetelor de date, respectiv codarea lor. Cu ajutorul protocoalelor, de
asemenea, se pot descrie mecanismele de conducere, ca şi cerinţele prevăzute pentru
mijloacele de programare şi aparatele respective.
Conexiunea.
Conexiunea reprezintă un canal virtual dintre doi parteneri de comunicaţie. O sesiune de
comunicare cu folosirea protocoalelor, privitoare la conexiune, presupune următoarele :
--- stabilirea conexiunii;
--- efectuarea schimbul de date;
--- încheierea conexiunii.
Legătura, orientată pentru stabilirea conexiunii, poate fi comparată cu o discuţie
telefonică, când după formarea numărului telefonic al abonatului, se realizează
conexiunea, apoi se realizează schimbul de date (convorbirea), după care
conexiunea din nou se întrerupe (abonaţii aşează braţul telefonului în furcă).
Arhitectura „client/server”.
Arhitectura „client/server” permite mai multor utilizatori să folosească împreună
resursele comune. Serverul oferă oficiile sale clienţilor, iar clienţii folosesc oficiile,
propuse de server, prin emiterea diverselor probleme spre acesta. Serverul prelucrează
sarcinile şi expediază rezultatele către clienţi. În cazul general un server poate deservi
simultan mai mulţi clienţi. O anume interfaţa OPC se bazează pe arhitectura
„client/server”.
Principiul „master/slave” („stăpân/sclav”).
Dacă comunicarea se realizează după principiul „master/slave”, atunci există o singură
staţie „master”, ce poate iniţia schimbul de date cu dispozitivele slave, din propria
iniţiativă. Apoi dispozitivele slave răspund dispozitivului master. Dispozitivul slave în
răspunsul său poate transmite date. Spre deosebire de dispozitivul master, un dispozitiv
slave niciodată nu poate activa o comunicaţie la iniţiativa sa. Pe principiul
„master/slave” se bazează, de exemplu, protocolul PROFIBUS-DP.
Schimbul (comunicarea) sincron/asincron.
Noţiunea de „sincron/asincron” se referă la principiul de execuţie al service-ului Dacă
service-ul se execută sincron, atunci conducerea programului revine iniţiatorului chemării
numai după obţinerea rezultatelor efectuării service-ului.
Dacă service-ul se execută asincron, atunci conducerea programului revine iniţiatorului
chemării imediat după abordarea service-ului. Rezultatul service-ului revine la iniţiatorul
chemării într-un timp nedeterminat, cu alte cuvinte, asincron.
Modelul etalon ISO/OSI.
Modelul de nivel mediu “Open Systems Interconnection” (OSI), este un model etalon
ce descrie transmiterea datelor în cadrul reţelelor, care si-a căpătat denumirea sa în
cinstea organizaţiei internaţionale de standardizare (ISO). Modelul constă din 7 nivele : 2
nivele fizice (adică, nivel de aparate; nivelul 1 şi 2), 2 nivele orientate spre transmiterea
datelor (nivelul 3 şi 4) şi 3 nivele orientae spre problemele aplicative (nivelele 5, 6 şi 7).
OSI reprezintă modelul etalon, dar nu se recunoaşte (până acum!) ca un standard. Însă în
cazul multor dispozitive din domeniul telecomunicaţiilor şi a execuţiei reţelelor se
consideră ca bază modelul ISO/OSI.

Se admit următoarele 7 nivele :


--- nivelul fizic (nivelul 1) : descrie transmiterea datelor/bit prin reţea la nivelul cablurilor şi conectorilor;
--- nivelul de canal (nivelul 2) : la nivel de canal datele se grupează în cadre, la ele se adaugă informaţia
necesară pentru transmiterea cadrelor. Nivelul 2 răspunde de transportul cadrelor de date, de la un nod, la
altul şi pentru corecţia erorilor.
--- nivelul de reţea (nivelul 3) : nivelul de reţea împreună cu nivelul 2 conduce maşrut-ul cadrelor.
Exemplul unui astfel de nivel este protocolul Internet.
--- nivelul de transport (nivelul 4) : codifică transmiterea pachetelor de date. La acest nivel se face
verificarea dacă toate pachetele au fost receptate în totalitate. Exemplul tipic al nivelului 4 este TCP
(protocolul conducerii transmisiilor).
--- nivelul de sesiune (nivelul 5) : la nivelul unei sesiuni se stabileşte legătura (corespondenţa) dintre
procese, ce se desfăşoară în cadrul diferitelor staţii. El răspunde de deschiderea “sesiunii” şi de dialogul
neîntrerupt sub forma emiterii de sarcini şi a răspunsurilor dintre aplicaţiile separate.
--- nivelul de reprezentare (nivelul 6) : nivelul de reprezentare răspunde de convertirea datelor în cadre,
necesare pentru o aplicaţie concretă. La nivelul acesta se realizează, de asemenea, compactarea datelor de
text şi convertirea diferitelor coduri, folosite de către partenerii de comunicaţii.
--- nivelul aplicativ (nivelul 7) : nivelul aplicativ răspunde de problemele aplicative, direct permisive
pentru utilizator, de exemplu, pentru transmiterea fişierelor sau a programelor poştale. Pentru un utilizator
transmiterea de date se prezintă ca o succesiune de sarcini şi răspunsuri.

Punctul de acces la service (SAP).


Punctul de acces la service este punctul la care nivelul modelului etalon ISO/OSI
prevede service-ul său următorului nivel mai superior.
Schimbul de informaţie dintre 2 nivelele vecine se realizează în totalitate prin intermediul
punctelor de acces la service. Punctul de acces la service este o interfaţă între nivele
superioare şi inferioare. Dacă SAP-ul se dispune între nivelul 3 (nivelul de reţea) şi
nivelul 4 (nivelul de transport), atunci un astfel de punct de acces la sevice este denumit
NSAP (punctul de acces la service-urilor de reţea), iar punctul SAP dintre nivelul 4 şi 5
(nivelul de sesiune) este denumit punctual TSAP (punctual de acces la service-urile de
transport).
Ca regulă, punctului de acces la service-uri se acordă un număr de resurse şi parteneri
de comunicare, de aceea punctele SAP, necesare pentru asigurarea comunicaţiei, se
definesc cu denumiri şi numere unice.

7.3.7.- Locul SIMATIC NET în cadrul proiectării sistemelor de comunicaţii


industriale.
Unul dintre sistemele de comunicţii foarte dezvoltat este SIMATIC NET asigurat de
firma Siemens, de aceea în cadrul acestei secţiuni se descriu posibilităţile aplicării
producţiei SIMATIC NET. Trebuie menţionat că acesta este dominant în Europa, dar şi
în alte părţi ale lumii
7.3.7.1.- SIMATIC NET pentru sisteme de comunicaţii industriale.
Caracteristicile producţiei SIMATIC NET.
Numele de SIMATIC NET reuneşte toată familia de produse de comunicaţii şi reţelei firmei Siemens.
Diferitele reţele asigură unui larg cerc de cerinţe pentru caracteristicile de exploatare aplicabile diferitelor
probleme ce apar la proiectarea sistemelor de automatizare :
SIMATIC NET asigură soluţii corespunzătoare sarcinilor comunicaţiilor industriale
contemporane;
SIMATIC NET ocupă un loc central în cadrul sistemului de automatizare SIMATIC;
SIMATIC NET asigură o interfaţă de un singur tip între sisteme şi alte componenete ale
automatizării;
Comunicarea se caracterizează prin deplinătatea şi a unei integrări de sută, la sută în sistem.
Reţelele de comunicare din familia SIMATIC NET reprezintă componentele concepţiei TIA din Siemens.
7.3.7.2.- Sistemele de comunicaţii SIMATIC NET.
Introducere.
Magistralele sistemului SIMATIC NET şi funcţiile lor se realizează într-o formă
piramidală a modelului de automatizare,aşa cum apare în figura 7.63. În cadrul acestei
secţiuni se descriu nivelele acestui model :
Fig. 7.63

Nivelul de câmp.
În cadrul nivelului de câmp (în sensul de câmp direct aplicativ) se realizează schimbul de
date dintre dispozitivele nivelului de câmp şi un nivel mai superior în care se dispune
nodul ce realizează conducerea. Dispozitivele de câmp se dispun la nivelul unui sector
productiv, ele execută măsurări, formează semnale şi transmit comenzile la nivelul mai
superior din sistemul de conducere al proceselor sau sistemul de conducere general al
uzinei. Schimbul de date ce se transmit la cest nivel este relativ mic. Pentru nivelul de
câmp este tipică o structură ierarhică de comunicaţii, când de fapt câteva dispozitive de
câmp fac schimbul de date cu un dispozitiv master.
La nivelul de câmp se realizează adunarea semnalelor procesului cu ajutorul
dispozitivelor intrare/ieşire, după care ele se transmit prin sitemul de comunicaţii
controlerului comandabil. Soluţia tip Siemens pentru legăturile la nivel de câmp şi
legătura cu procesul se realizează cu sistemul de interfeţe PROFIBUS-DP şi AS.
Nivelul sectorului productiv.
Acesta este acel nivel, în care semnalele semnalele obţinute de la process, cu ajutorul
dispozitivelor de intrare/ieşire, ajung la controlerul programabil prin intermediul sistemul
de comunicaţii. La nivelul sectorului productive (care altfel poate fi denumit nivelul
celulei separate de automatizare) se conectează între ele controlerele programabile,
calculatoarele personale (PC) şi dispozitivele conduceri operaţionale şi a vizualizării.
La nivelul sectorului productiv controlerele programabile fac schimb de informaţii, ceea
ce le permite să realizeze să conducă sarcinile (problemele) generale, pentru că la
controlerele programabile se conectează sistemele conducerii operationale şi de
vizualizare. Schimbul de date la nivelul sectorului productiv (nivelul celulei separate de
automatizare) se poate realize cu ajutorul componentelor Siemens prevăzute pentru
Industrial Ethernet, dar şi pentru PROFIBUS.
Nivelul superior de conducere.
La acest nivel se hotăresc şi se îndeplinesc unele probleme mult mai largi, ce
influienţează întregul proces productiv sau tehnologic în totalitate (funcţii de
management). În cadrul acestor probleme se include conservarea valorilor procesului,
optimizarea procesului şi funcţiile analitice, de asemenea funcţiile de protocolare şi
ahivare. Este posibil, de exemplu, să fie adunate datele necesare de la mai multe sectoare
productive sau de la uzine separate şi prelucrarea lor centralizată. Astfel de celule pot fi
chiar mai mult de o mie.
La nivelul superior de conducere se pot hotărâ problemele controlului pe întreg process
productiv în totalitae. Aici sunt adunate datele din întreaga uzină, iar comenzile (de
exemplu, receptura) pot fi transmise la celulele productive dispuse inferior. Pentru
asigurarea legăturii şi a schimbului de date la nivelul superior de conducere sistemul ideal
de comunicaţie este Industrial Ethernet de la Siemens.

NOTĂ. Privind comunicaţia industrială cu PC.


În calitatea sa de component al sistemului automatizării industriale, calculatorul personal (PC), poate
îndeplini sarcinile de conducere nivelului de câmp, iar pe de altă parte poate fi folosit pentru conducerea
conducerii operaţionale şi vizualizării la nivelul unei celule separate de automatizare (pentru sectorul
productiv) sau la nivelul superior de conducere. În cadrul acestei documentaţii se prezintă comunicaţia
industrială cu PC, numai prin PROFIBUS şi Industrial Ethernet.
7.3.8.- Comunicaţia industrială prin PROFIBUS.
Introducere.
În cadrul acestei secţiuni se face o descriere generală a magistralei din sistemul PROFIBUS.
7.3.8.1.- Descrierea PROFIBUS-ului.
Introducere.
PROFIBUS este un standard internaţional deschis, ce descrie un sistem de magistrală, destinată pentru
stabilirea comunicaţiei cu procesele şi dispozitivele de câmp, la nivelul sectorului de câmp, de asemenea
pentru schimbul de date în limitele unei celule separate de automatizare. Schimbul de date prin
PROFIBUS se realizează fie prin intermediul unui cablu de cupru (perechea torsodată), fie cu ajutorul
unui cablu cu fibră optică, nesupus perturbaţiilor electromagnetice.
În cadrul acestei secţiuni sunt descrise dispozitivele ce pot fi folosite în comunicaţie în sistemul
PROFIBUS. Se descriu, de asemenea, mecanismele de acces la magistrală, după cum, se precizează locul
PROFIBUS-ului în cadrul modelului etalon ISO/OSI.
7.3.8.2.- Protocoalele şi dispozitivele pentru SIMATIC NET PROFIBUS.
Legătura cu procesul şi schimbul de date.
În familia SIMATIC NET se găsesc următoarele protocoale PROFIBUS şi tipuri de dispozitive :
a) Pentru legătura cu procesul la nivelul de câmp, avem (la nivelul anului 2005-2006) :

Protocolul. Modulul tipic O descriere Partenerii tipici de


pt. PC comunicare Siemens
Dispozitiv master CP 5613 Dispozitiv de bază pentru citirea ET 200B
DP clasa 1 CP 5614 datelor de intrare şi transmiterea da- ET 200X
CP 5511 telor de ieşire de la/la dispozitivul ET 200L
CP 5611 master DP. Dispozitivul master lărgit ET 200LS
DPV1 (opţional) poate fi folosit, de CP 5614
asemenea, pentru datele dispoziti-
velor master DPV1 în regimul asin-
cron.
Dispozitiv master CP 5611 Dispozitive pentru diagnosticarea şi CP 5613
DP clasa 2 CP 5511 reglarea sistemelor DP. Dispozitivul CP 342–5
CP 5613 master lărgit DPV1 (opţional) poate CP 343–5
fi folosit,de asemenea, pentru datele CP 443–5
dispozitivelor master DPV1. Si dispozitivele master
menţionate anterior.
Dispozitiv master CP 5611 Modulul distributive intrare/ieşire, de CP 5613
DP. CP 5511 exemplu, pt.convertirea semnalelor CP 5614
CP 5614 de process şi transmiterea datelor de CP 5511
ieşire. CP 5611
CP 342–5
CP 443–5
FMS CP 5613 Un protocol deschis pentru conec- CP 5613
CP 5614 tarea controlerelor programabile de la CP 343–5
diverşi producători într-o singură re- CP 443–5
ţea la nivelul unei celule separate de CP 5431
automatizare, cu câteva noduri. FMS/DP
Protocol S7 CP 5613 Funcţii optimizante încastrate pt.le- CP 5611
CP 5614 garea sistemelor SIMATIC S7/C7 pt. CP 5613
CP 5511 un cerc larg de probleme CP 342–5,
CP 5611 343–5
CP 443–5
S5-comunicaţii com- CP 5613 Servere simple de comunicare pe CP 5431
patibile. CP 5614 baza PROFIBUS FDL pt.schimbul CP 5434
CP 5511 de date cu dispozitivele S5 şi S7. CP 342–4,
CP 5611 343–5
CP 443–5

7.3.8.3.- Metoda de accesare a magistralei PROFIBUS.


Introducere.
Specificaţia PROFIBUS este destul de flexibilă, permiţând aplicarea diferitelor
protocoale, optimal corespunzătoare pentru rezolvarea problemelor date din cadrul
diverselor domenii de aplicare. Controlul unic al accesului la magistrală se realizează la
nivelul de canal FDL (nivelul 2 al modelului etalon OSI/ISO).
Transmiterea marker-ului.
În cadrul PROFIBUS-ului pentru controlul accesului la magistrală se foloseşte
tehnologia transmiterii marker-ului. Asta înseamnă, că numai acea staţie, care posedă
marker-ul în momentul respectiv, poate transmite nişte date în reţea. După un interval de
timp oarecare fixat, marker-ul se transmite staţiei următoare, iar după realizarea
întregului ciclu, marker-ul (token) ajunge din nou la prima staţie, aşa cum se arată în
figura 7.64.
Nodurile active şi pasive.
În cadrul PROFIBUS-ului se disting 2 tipuri de bază de noduri :

Fig. 7.64
Nodurile active controlează comunicaţiile din magistrală. Fiecare nod activ în
limitele unui ciclu obţine doar o singură dată marker-ul şi poate să facă schimbul de date
cu nodurile active şi pasive. Imediat ce timpul menţinerii marker-ului s-a scurs, nodul
transmite marker-ul către dispozitivul master următor.
Nodurile pasive nu pot fi iniţiatori de link-uri. Ele nu primesc marker-e şi
răspund doar la cererile din partea altor staţii. Exemplul tipic de staţie pasivă este
dispozitivul slave DP.
7.3.8.4.- Locul PROFIBUS-ului în cadrul modelului etalon ISO/OSI.
PROFIBUS se bazează pe modelul etalon ISO/OSI, dar nu cuprinde toate nivelele sale.
Nivelul 1.
La nivelul fizic (nivelul 1), unde se stabilesc caracteristicile electrice şi mecanice ale magistralei, pentru
PROFIBUS se foloseşte interfaţa, larg răspândită , RS-485. Prin standardul PROFIBUS parametri
magistralei, ce pot fi modificate pentru îndeplinirea necesităţilor speciale ale sistemului magistralei sunt
cele prezentate în tabelul următor :
Caracteristicile electrice :
Numărul maxim de noduri 126
Vitezele standard de transmisie 9.6 / 19.2 / 45.45 / 93.75 / 187.5 / 500 /1500 / 3000 / 6000 /
12000 кbut/s
Lungimea cablului Depinde de viteza de transmisie şi mediul de legătură; se
găseşte în limitele 200m şi 900 km.
Topologia Magistrală, Stea, Inel (numai pt.reţele optice)
Cablu Perechea torsodată ecranată
Cablu cu fibră optică.
Sarcina potrivită La ambele capete ale segmentului de magistrală trebuie
să fie conectate rezistori potriviţi.
Conectarea Conector cu 9 pini D-sub la dispozitivul de interfaţă, cu o
anumită distribuire a pinilor.
Nivelul 2.
La nivelul de canal (nivelul 2) se foloseşte metoda descrisă anterior pentru accesarea
magistralei şi a serviciilor de bază pentru transmiterea datelor. Acest nivel este cunoscut,
de asemenea, ca nivelul de legătură cu nivelul de câmp (FDL). El asigură universalitatea
protocolului pentru accesul la magistrală, ce descrie caracteristicile de bază ale
comunicării pentru diverse probleme aplicative. Serviciile FDL pot fi subîmpărţite în
servicii de conducere şi servicii productive. Cu ajutorul serviciilor de conducere se pot
regla parametri locali, necesari pentru folosirea serviciilor productivive. Serviciile
productive răspund de schimbul de date dintre diferitele noduri ale PROFIBUS-ului.
Pentru transmiterea datelor sunt prevăzute următoarele servicii :
SDN (transmiterea datelor fără confirmare);
SDA (transmiterea datelor cu confirmare);
SRD (transmiterea şi cererea datelor cu răspuns),
ceea ce se arată şi în figura 7.65 :
Nivelul 3 ... 7.
Nivelele 3 ... 7 într-o formă implicită
sunt realizate cu ajutorul
protocoalelor FMS şi DP, descrise în
standardul PROFIBUS. În
protocolul DP nivelele 3 ... 6 nu
Fig. 7. 65 există în totalitate. Adaptarea se
asigură cu ajutorul unei interfeţe de
nivel inferior (LLI) destinată nivelului 7, în cadrul căruia se realizează astfel de
modificări precum stabilirea link-urilor, efectuarea link-ului şi controlul.
S7-comunicaţia este un PROFIBUS lărgit, care face ca magistrala să devină o
componentă omogenă a familiei SIMATIC, cu ajutorul căruia se realizează, de asemenea,
elementele nivelului de reţea (nivelul 3) şi a nivelului de transport (nivelul 4).
În figra 7.66 se arată cam cum se încadrează PROFIBUS-ul în cadrul ISO/OSI şi ce fel de
protocoale se folosesc; tot din această figură rezultă că întradevăr S7 se referă la o varintă
lărgită a PRIFUBUS-ului.
Nivelul de câmp.
În cadrul nivelului de câmp (în sensul de câmp direct aplicativ) se realizează schimbul de
date dintre dispozitivele nivelului de câmp şi un nivel mai superior în care se dispune
nodul ce realizează conducerea. Dispozitivele de câmp se dispun la nivelul unui sector
productiv, ele execută măsurări, formează semnale şi transmit comenzile la nivelul mai
superior din sistemul de conducere al proceselor sau sistemul de conducere general al
uzinei. Schimbul de date ce se transmit la cest nivel este relativ mic. Pentru nivelul de
câmp este tipică o structură ierarhică de comunicaţii, când de fapt câteva dispozitive de
câmp fac schimbul de date cu un dispozitiv master.
La nivelul de câmp se realizează adunarea semnalelor procesului cu ajutorul
dispozitivelor intrare/ieşire, după care ele se transmit prin sitemul de comunicaţii
controlerului comandabil. Soluţia tip Siemens pentru legăturile la nivel de câmp şi
legătura cu procesul se realizează cu sistemul de interfeţe PROFIBUS-DP şi AS.
Nivelul sectorului productiv.
Acesta este acel nivel, în care semnalele semnalele obţinute de la process, cu ajutorul
dispozitivelor de intrare/ieşire, ajung la controlerul programabil prin intermediul sistemul
de comunicaţii. La nivelul sectorului productive (care altfel poate fi denumit nivelul
celulei separate de automatizare) se conectează între ele controlerele programabile,
calculatoarele personale (PC) şi dispozitivele conduceri operaţionale şi a vizualizării.
La nivelul sectorului productiv controlerele programabile fac schimb de informaţii, ceea
ce le permite să realizeze să conducă sarcinile (problemele) generale, pentru că la
controlerele programabile se conectează sistemele conducerii operationale şi de
vizualizare. Schimbul de date la nivelul sectorului productiv (nivelul celulei separate de
automatizare) se poate realize cu ajutorul componentelor Siemens prevăzute pentru
Industrial Ethernet, dar şi pentru PROFIBUS.
Nivelul superior de conducere.
La acest nivel se hotăresc şi se îndeplinesc unele probleme mult mai largi, ce
influienţează întregul proces productiv sau tehnologic în totalitate (funcţii de
management). În cadrul acestor probleme se include conservarea valorilor procesului,
optimizarea procesului şi funcţiile analitice, de asemenea funcţiile de protocolare şi
ahivare. Este posibil, de exemplu, să fie adunate datele necesare de la mai multe sectoare
productive sau de la uzine separate şi prelucrarea lor centralizată. Astfel de celule pot fi
chir mai mult de o mie.
La nivelul superior de conducere se pot hotărâ problemele controlului pe întreg process
productiv în totalitae. Aici sunt adunate datele din întreaga uzină, iar comenzile (de
exemplu, receptura) pot fi transmise la celulele productive dispuse inferior. Pentru
asigurarea legăturii şi a schimbului de date la nivelul superior de conducere sistemul ideal
de comunicaţie este Industrial Ethernet de la Siemens.

În figra 7.66 se arată cam cum se încadrează PROFIBUS-ul în cadrul ISO/OSI şi ce fel de protocoale se
folosesc; tot din această figură rezultă că întradevăr S7 se referă la o varintă lărgită a PRIFUBUS-ului.

Fig. 7.66
Există o variantă S5 Siemens pentru PROFIBUS cu toate elementele sale de dezvoltare pentru sisteme mai
puţin dezvoltate, dar varianta ultimă (la nivelul anului 2010 !) pentru sistemele cele mai perfecţionate este
S7.
7.3.8.5.- Configuraţia tipică pentru sistemul S7.
Protocolul S7 este folosit pentru legătura cu controlelerele programabile (PLC) tip
SIMATIC S7/M7 (deci specific Siemens). El dispune de următoarele proprietăţi de bază :
 Este optimizat pentru comunicaţiile SIMATIC;
 Elementele protocolului sunt adaptate pentru necesităţile SIMATIC;
 O viteză mare în raport cu alte protocoale ale sistemelor de automatizare,
destinate pentru transmiterea de date;
 Este acesibil (acest lucru este important !) pentru magistralele sistemelor de nivel
superior şi nivelul unei celule separate de automatizare, cum ar fi Industrial Ethernet şi
nivelul de câmp cu PROFIBUS.
În figura 7.67 este dat un exemplu de
configuraţie specifică pentru S7.
Protocolul S7 propune servicii de
comunicaţii simple şi eficace, realizate
pe principiul „client-server”. Schimbul
de date se realizează între problema de
automatizare aplicativă, staţia de lucru
SIMATIC PC (client) şi o altă
problemă de automatizare (server).
Datele sunt puse la dispoziţie de către
controlerul programabil, iar din acest
motiv astfel de staţii sunt servere. Datele
sunt cerute de problema, ce lucrează în
cadrul PC-ului, iar ca urmare PC-ul
apare ca un client. În etapa stabilirii
legăturii, dar de asemenea, şi în cazul
serviciilor de lucru cu buffer-e speciale
Fig.7.67 de transmi-sie/recepţie, PC-ul tot la fel
poate apare în rolul serverului. Dezvoltările sunt numeroase şi pe multe direcţii.
Serviciul pentru evenimente şi alarme.
Un aspect deosebit al lui S7 este probabil serviciul pentru evenimente şi alarmele.
Pentru semnalizarea diverselor evenimentelor pot fi folosite “alarmele”. Alarmele trebuie
să fie programate deoarece ele sunt iniţiate de către o funcţie specială S7-blocuri şi nu
prin modificarea stării procesului tehnologic controlat, dar împreună cu alarma propriu-
zisă se pot transmise încă 10 valori însoţitoare. Alarmele reprezintă unele evenimente
deosebite şi care se pun în funcţie de către dispozitivul partenerial; alarmele se dispun în
buffer-e special destinate, în legătură cu anuminte evenimente specifice pentru procesul
tehnologic şi nu pot fi eliminate. Alarmele se stabilesc prin OPC Alarms & Events (în
afară de interfaţa menţionată mai este importantă OPC-interfaţa Data Access).
NOTĂ.
Ce este un OPC ?
OPC = OLE for Process Control (OLE pentru controlul proceselor).
La momentul apariţiei OPC, pentru toate componentele arhitecturii Microsoft se folosea termenul OLE.
Iniţial prin OLE se înţelegeau mecanismele de înserare (încastrare) a obiectelor în cadrul documentelor
combinate.
Din acel moment însă s-au produs multe modificări şi acum OPC-ul ar trebui să fie descifrat precum un
„COM pentru conducerea (controlul) proceselor”, deoarece OPC se bazează pe modelul componento-obiect
(COM). Modelul COM reprezintă elementul cheie ale sistemelor operaţionale Windows, controlând
interacţiunea dintre numeroasele componente de programe.
Datorită aplicării COM OPC-server devine „cunoscută” partea sistemului operaţional Windows şi de aceea
se eliberează de dependenţa de numele fişierelor, de locul dispunerii lor şi de versiune. Ca o continuare a
dezvoltării tehnologiei COM, DCOM-ul susţine lucrul aplicaţiilor distribuite şi asigură interacţiunea dintre
componenetele de programe, dispuse pe diferite calculatoare din reţea. Până la apariţia OPC era necesară
depunerea unor eforturi deosebite pentru controlul diverselor dispozitive de producţii diferite prin
asigurarea unor programe aplicative. Exista o cantitate enormă de diferite sisteme şi protocoale, în
condiţiile în care pentru fiecare utilaj şi pentru fiecare protocol utilizatorul era obligat să comande o
asigurare de programe speciale, ce permiteau deschiderea accesului spre interfeţe speciale şi care conţineau
driverele necesare. Programele aplicative, în acest fel depindeau de un anume producător concret, de un
protocol sau sistem. OPC pe baza de COM sau DCOM are o interfaţă programabilă unificată, independentă
de producătorul concret, ceea ce a devenit punctul de cotitură în organizarea schimbului de date în cadrul
sistemelor de automatizare.
Dar ce este un COM ?
La baza construcţiei OPC stă modelul coponentă-obiect (COM = Component Object Model) al firmei
Microsoft.
COM este un standard ce permite formarea obiectelor în Windows sub forma unor module separate şi
adresarea către aceste obiecte dintr-o anumită parte/exterior lor. Fiecare obiect poate fi privit ca o extensie
a unui sistem operaţional. Obiectele nu depind de limbajele de programare şi în principiu sunt accesibile în
orice aplicaţie.
Obiectele COM sunt componente, care se realizează în mediul Windows şi presupun o reunire dată de
funcţii ale altor componente prin interfeţele lor. COM-obiect-ul poate fi folosit simultan de mai multe
aplicaţii. Datele şi codul de obiect al obiectului nu este observabil (transparent) pentru utilizatorul COM-
obiect-ului.
NOTĂ. Noţiunea de “obiect” în limitele modelului component-obiect nu corespunde cu noţiunea de
“obiect”, care se foloseşte în limbajele de programare orientate spre obiect. COM–obiect-ul trebuie privit
ca un modul autonom perfecţionat. COM-obiect-ul nu dispune de proprietăţi tipice ale limbajelor de
programare cu orientare pe obiecte, cum ar fi, de exemplu, ereditatea.

Reculul stabilităţii legăturii.


Acesta este un alt aspect deosebit a S7-telui şi el se referă la siguranţa comunicaţiei :
orice element receptor de date („date”, în sensul cel mai larg) trebuie să fie sigur că
„datele receptate” sunt absolut corecte. Pe de altă parte, între diversele componente,
legate la o magistrală de comunicaţii, care trebuie să comunice între ele, conform cu cele
stabilite printr-un protocol, se poate produce un recul al stabilităţii unei legături.
O S7-legătură standardizată se stabileşte printr-un canal de legătură fără rezervare (adică,
CP - reţea – CP). Dar siguranţa comunicaţiei poate fi crescută pe calea rezervării
canalului de legătură, prin dublarea unor componente (de exemplu, CPU, CP sau a
reţelei) sau prin dublarea tuturor componentelor reţelei.
Reculul stabilităţii legăturii se previne, cel puţin, prin două canale de legătura de rezervă.
Mecanismele de control şi al sincronizării asigură în mod automat conectatrea canalului
pasiv (de rezervă) de legătură, în cazul distrugerii canalului activ de legătură, iar în acest
caz legătura nu se întrerupe.
De exemplu, timpul în care se realizează depistarea ruperii cablului, nu depăşeşte 1
secundă în condiţiile unui trafic activ de date prin canalul respectiv. Imediat ce ruperea
cablului este depistată, intră în lucru acea parte a protocolului, care este destinată special
pentru reculul stabilităţii legăturii. Dar în funcţie de numărul de legături, aflate în lucru şi
folosite de PC, această operaţiune poate ocupa un interval mai mare de o secundă, ceea ce
impune luarea unor măsuri speciale din faza de proiectare a reţelei de comunicaţie.
Gradul de rezervare pentru reculul stabilităţii legăturii poate fi ridicat în două feluri :
prin creşterea numărului de procese comunicaţionale (CP) şi numărului de reţele folosite.
În cadrul S7 se poate configura o rezervare de legătură prin S7-REDCONNECT în
variantele :
 Legătura cu două canale;
 Legătura cu patru canale.
(“Enable max. CP redundancy (with 4 connection path)”.
În figura 7.68 este prezentat unul din modele.

.
Exemplul unui sistem cu dublarea canalelor de legătură între sataţia SIMATIC S7 şi staţia PC.
Fig. 7.68

NOTĂ. Problematica reţelor industriale SIMATIC NET se descrie la nivelul a 9 capitole (perioada anilor
2003-04), dar în afară de această problematică propriu-zisă apar conexe o serie de alte multiple capitole
legate de : configurare tip web-master, configurarea command-line, accesul la exploatare,
configurare IP-adresa, punere în funcţiune, SIMATIC NET exploatare radio, ş.a.
Alăturat, faţă de cele anterioare, se tratează problematici tehnologico-constructive de tipul : configurarea
reţelelor pentru Ethernet industrial, componentele active şi topologii, componentele pasive pentru
reţelele electrice, idem pentru cele cu fibre optice, convertoare optice pentru Ethernet industrial,
indicatoare de montaj pentru reţele din clădiri, SIMATIC NET – reţele electro-optice, ş.a.

Dar la ora actuală pe piaţă există în jur de 50 de tipuri de magistrale industriale, însă cele mai importante
dintre ele sunt :
CAN
PROFIbus
LON
Foundation Fieldbus.
Câteva cuvinte despre fiecare !
CAN (Controller Area Network), este o magistrală de tip serial dezvoltată de companiile Bosch şi Intel
pentru industria de automobile, dar la ora actuală ea se foloseşte şi în cadrul sistemelor distribuite de
control mai ales pentru legăturile dintre traductoarele inteligente, a acţionărilor inteligente, respectiv în
cadrul unor sisteme de înalt nivel.
CAN este o magistrală cu mai multe master-noduri baztă pe o pereche de conductoare din cupru. Viteza de
transmisie depinde de lungimea magistralei : la distanţa de 40 metri viteza de transmitere a datelor este de 1
Mbit/s, dar la distanţa de 1000 metri viteza scade la 50Kbit/s. Există varianta CiA (CAN in Automation),
CAL (CAN Aplication Layer), CANopen.
Fondation Fieldbus – FF, este o magistrală industrială ce a rezultat la unificarea companiilor nord-
americane ISP-Foundation şi WorldFIP. Magistrala FF este orientată pe un control continuu în medii
umede, medii cu pericol de explozie, respectiv din aceste motive se proiectează pe baza unei logici de
tnsiune mică. Această magistrală este foarte asemănătoare cu magistrală PROFIbus-PA, dar şi cu unele
elemente din PROFIbus-FSM.
LON (Local Operating Network) este o magistrală ce se dezvolta iniţial de către companiile Echelon,
Motorola şi Toshiba pentru sistemele inteligente de automatizare ale clădirilor. La ora actuală ea se
foloseşte şi în cadrul sistemelor de automatizare industriale. Magistrala LON este destinată pentru
inteligenţa distribuită, astfel încât fiecare „neuron” (microschema unui nod) conţine 3 microprocesore,
dintre care unul este special stabilit pentru susţinerea comunicaţiei conform cu protocolul LonTalk, care
admite mari sarcini ale calculaţiei; o reţea LON poate cuprinde deja circa 32000 de noduri.
PROFIbus (PROcess Fieldbus) este tipul de magistrală cel mai răspândit în Europa şi SUA. PROFIbus
este standardul european (EN 50170), care la ora actuală este susţinut în SUA de organizaţia profesională
PROFIbus Trade Organization. Există câteva variante a protocoalelor de reţea, fiecare orientat pe un
anumit domeniu de aplicaţie :
PROFIbus-FSM;
PROFIbus-DP;
PROFIbus-PA.
PROFIbus-FSM este un protocol universal de comunicaţie. El se bazează pe diferite probleme
supervizoare de înalt nivel corespunzătoare PROFIbus-sistem.. FSM-eul a luat startul când utilizatorii
sistemelor industriale au început să aplice protocolul MAP (Manufacturing Automation Protocol), iar ca
rezultat mai multe elemente ale schimbului de informaţii sunt asemănătoare celor din MAP. Şi totuşi
sarcinile de înalt nivel ale acestui protocol îl fact neeficient pentru nivele inferioare ale traductoarelor.
PROFIbus-DP este un protocol productiv optimizat, destinat special pentru susţinerea timpului critic al
accesului la informaţii între nodurile inteligente distribuite şi nivelel ierarhice inferioare ale sistemului
PROFIbus şi apelează la unele elemente CAL. Acest protocol poate fi folosit în sisteme distribuite cu un
singur sau mai multe master-noduri, admiţând conectarea la magistrală până la 128 dispozitive.
PROFIbus-PA se foloseşte, de regulă, în cadrul sistemelor de automaţizare din mediile „umede” din
ramurile chimice şi ale prelucrării produselor petroliere în cadrul cărora se foloseşte o logică de tensiune
mică. De fapt, PROFIbus-DP se foloseşte de aceleaşi protocoale ca cele anterioare, dar într-o realizare
fizică diferită.

Întrebarile recapitulative privind secţiune III-a a capitolului 7.


1.- Ce deosebire este între automatizările industriale şi electronica de lag consum ?
2.- Ce reprezintă reţelele industriale şi ce tipuri de reţele industriale se cunosc ?
3.-Care sunt tipurile şi categoriile generale de reţele ?
4.- Care sunt funcţiile de comunicare din cadrul sistemelor de automatizare şi care sunt termenii principali
la folosirea unor reţele industriale ?
5.- Prezentaţi succint sistemul de comunicaţii SIMATIC NET.
6.- Prezentaţi succint metoda de acces la magistrala PROFIBUS.
7.- Ce reprezintă serviciul pentru evenimente şi alarme din cadrul SIMATIC NET ?
8.- Ce reprezintă reculul stabilităţii şi cum se rezolvă, în general, această problemă de comunicaţie ?

SUPLIMENT 1
Acest supliment este legat de subcapitolul introductiv (prima parte).
RS-232.
La punctul 7.1.9.1. al acestui subcapitol introductiv s-a amintit despre interfaţa serială de tip RS-232.
Ce reprezintă de fapt RS-232 ?
RS-232 (Recommended Standard 232) pentru telecomunicaţii, reprezintă standardul pentru transmisia
serială (sincronă şi asincronă) a datelor binare dintre un terminal (Data Terminal Equipment, DTE) şi un
dispozitiv de comunicaţie (Data Commucation Equipment, DCE).
Descriere.
RS-232 este o interfaţă pentru transmiterea informaţiei între două dispozitive, la o distanţă de 15 m.
Informaţia se transmite prin conductoare, cu un nivel al semnalelor diferit de cel standard, de 5 V, în
vederea obţinerii unei stabilităţi mai mari în raport cu perturbaţiile. Transmisia asincronă a datelor se
realizează cu stabilirea vitezei şi sincronizarea nivelului de semnal impulsului de start.
Destinaţia.
Interfaţa RS-232-C a fost dezvoltată pentru o folosire simplă aşa cum rezultă prin definire : “Interfaţa
dintre terminalele dispozitivelor şi dispozitivele de legătură, cu schimbul unui cod binar serial”.
Cel mai adesea se foloseşte în mediul industrial şi în cadrul unor dispozitive speciale; uneori se foloseşte la
unele calculatoare personale contemporane.
Principiul de lucru.
Conform cu structura sa este un protocol asincron serial obişnuit, adică partea transmiţătoare, pe rând,
emite în linie semnale de 0 şi 1, iar partea receptoare le primeşte şi le memorează.
Datele se transmit prin pachete de un bait (8 biţi).
Iniţial se transmite bitul de start, de polaritate inversă stării (idle) a liniei libere (neocupate), după care se
transmite direct cadrul informaţiei utile, de la 5, la 8 biţi.
Observând bitul de start, cel ce recepţionează aşteaptă un interval de timp T1 şi enumără primul bit, apoi la
intervalele T2 enumără ceilalţi biţi informaţionali. Ultimul bit, bitul de stop (starea neocupată a liniei)
arată că transmisia este încheiată. Sunt posibile 1, 1.5, 2 biţi de stop. La finalul baitului, cel de înaintea
bitului de stop, se poate transmite bitul de paritate (parity bit) pentru controlul calităţii transmisiei. El
permite observarea eventual a unei greşeli printr-un număr impar apărut.
Cuploarele.
Dispozitivele pentru legături conform cu un canal serial folosesc cabluri cu
9 sau 25 fire respectiv cuploare de tip D-sub. De regulă se notează cu DB-9,
DB-25, CANNON9, CANNON25.
Iniţial în cadrul RS-232 se foloseau DB25, dar pentru că multe din
aplicaţiile foloseau numai o parte din contactele standard, s-a ajuns la
folosirea tipului DB9 (D-miniatură), care sunt recomandate prin standardul
RS-574.
Standardele.
Asociaţia industriei electronice (EIA) dezvoltă standardele privitoare la
Fig.7.24.- Un cuplor transmiterea datelor. Standardele EIA au prefixul „RS”, ceea ce înseamnă
DB-9. standard recomandat, dar la ora actuală aceste standarde se notează, pur şi
simplu, „EIA”. RS-232 au fost introduse în anul 1962, acest standard s-a
dezvoltat, iar în anul 1969 el a ajuns deja la a treia ediţie (RS-232C), respectiv în anul 1987 era RS-232D,
denumit, de asemenea, ca EIA-232D. RS-232 este identic cu standardele CCITT V.24/V.28,
X.20bis/X.21bis, respectiv ISO IS2110. Ultima modificare (la nivelul acestui document !) este „E” din
1991 ca standard EIA/TIA-232E. În această variantă nu apar niciun fel de modificări tehnice ce pot duce la
incompatibilităţi cu precedentele variante.
NOTĂ.
În practică, în funcţie de calitatea cablului, distanţa de 15 este posibil să nu fie valabila pentru o anumită
viteză de transmitere şi să se ajungă, de exemplu, doar la 1.5 m pentru o viteză de 115200 bod pentru un
cablu neecranat de tip plat sau rotund. Pentru înlăturarea acestei limitări, dar şi pentru o izolare galvanică
dintre nodurile reţelei de transmisie se poate folosi combinaţia RS-232 – RS-422 (cu conservarea întregului
program) sau combinaţia RS-232 – RS-485 (cu o oarecare limitare a programului), iar în acest caz distanţa
de transmitere poate fi mărită până la 1 km la o viteză de 9600 bod, în condiţiile folosirii unui cabulu cu o
pereche torsodată de categoria 3.

RS-485.
RS-485 (Recommended Standard 485, EIA-485, Electronic Industrie Allience-485) este un standard pentru
transmisia datelor prntr-un canal simi-duplex, multidrop serial.
Standardul RS-485 a fost dezvoltat în comun de 2 asociaţii : EIA – Electronics Industries Association şi
TIA – Telecommucation Industry Association. Mai înainte EIA marca toate standardele sale cu prefixul
„RS” (Recommended Standard) şi mulţi ingineri continuă să folosească această notaţie şi totuşi în mod
oficial „RS” a fost înlocuită cu EIA/TIA cu scopul simplificării identificării provenienţei acestor standarde.
La ora actuală, diferitele dezvoltări ale standardului RS-485 cuprind un larg spectru de aplicaţii şi acest
standard a devenit standardul de bază pentru formarea unei familii întregi de reţele industriale foarte des
folosite în cadrul automatizărilor industriale.
În cadrul standardului RS-485 pentru transmiterea şi receptarea datelor se foloseşte o pereche unică de
conductoare torsodate, iar transmisia datelor se realizează cu ajutorul semnalelor diferenţiale. Printr-un
conductor (notat A) se transmite semnalul original, iar prin celălalt (notat B) copia sa inversată. Cu alte
cuvinte, dacă pe un conductor avem „1”, pe celălalt avem „0”, iar în acest fel între conductoarele perechii
torsodate există permanent o diferenţa de potenţial : pentru „1” diferenţa este este pozitivă,iar pentru „0” ea
este negativă.
Caracteristicile tehnice ale interfeţei RS-485.
Interfaţa RS-485 susţine următoarele standarde :
USA Franţa Germania Altele
EIA/TIA-422 CCITT V.10 — DIN 66 259-3 IEEE 1118
90kbit/1.2 km nesimetrice
CCITT V.11 — DIN 66 259-4 (4-Ware RS- (4-Ware BitBus)
EIA/TIA-422A simetrice 485)
EIA/TIA −485 ISO/IEC 8482 (4-
Interfaţa sistemelor de măsură Ware RS-485)
BitBus (Intel, Protocol DIN 66 348-2 (4-Wire RS-
HLDC) 485) DIN Measuring Bus

Susţinerea reţelelor:
BitBus, ModBus,
InterBus-S, DIN
Measuring Bus

NOTĂ.
1.- Standardul RS-485 se referă numai la caracteristicile electrice ale mediului fizic, dar nu şi despre
platforma de programare.
2.- Standardul RS-485 nu se referă la :
posibilitatea reunirii reţelelor simetrice cu cele nesimetrice;
parametri calităţii semnalului, nivelul de deformare (%);
metodele de acces la linia de legătură;
protocolul de schimb;
configuraţia de apartaj (mediul de schimb, cabluri);
tipurile de conectoare/deconectoare, numerotarea contactelor;
calitatea susrsei de alimentare (stabilizaţia, pulsaţia, accesul);
reflectarea în cadrul liniilor lungi.
Caracteristicile electrice şi temporale ale interfeţei RS-485.
 la 32 emisie/recepţie, în cazul unei configuraţii ale reţelei multinodale (pentru un segment,
lungimea maximă a reţelei de segment : 1200 m)
 numai un singur transmiţător este activ;
 numărul maxim de noduri din reţea : 250 cu considerarea amplificatoarelor magistralei;
 Caracteristica viteza de schimb/lungimea liniei (dependenţă exponenţială) :
--- 62,5 kb/s 1200 m (o pereche torsodată);
--- 375 kb/s 300 m (o pereche torsodată);
--- 500 kb/s;
--- 1000 kb/s;
--- 2400 kb/s 100 m (2 perechi torsodate);
--- 10000 kb/s 10 m.
NOTĂ. Viteza de schimb : 62,5 kb/s, 375 kb/s, 2400 kb/s sunt menţionate prin standardul RS-485. Pentru
viteze mai mari de 500 kb/s se recomandă folosirea perechii torsodate ecranate.
 Tipul receptoarelor/transmiţătoaelor – diferenţial, potenţial. Modificarea tensiunilor de
intrare/ieşire în liniile A şi B : Ua (Ub) de la -7 V, la +12 V (+7 V)
 Condiţiile impuse pentru cascada de ieşire : cascada de ieşire reprezintă o susrsă de tensiune cu o
rezistenţă de ieşire mică, |Uies|=1,5:5,0 V (nu < 1,5 V şi nu > 6,0 V)
--- starea logicului „1” : Ua mai mare decât Ub (histerezis 200 mV) – MARK, OFF;
--- starea logicului „0” : Ua mai mic decât Ub (histerezis 200 mV) – SPACE, ON;
--- cascada de ieşire trebuie să suporte regimul de scurtcircuit, să admită un current maxim de 250
mA, gradientul semnalului de ieşire 1,2 V/mks şi o schemă de limitare pentru puterea de ieşire.
 Condiţiile impuse pentru o cascadă de intrare : o cascadă de intrare reprezintă o intrare diferenţială
cu rezistenţă de intrare mare şi o caracteristică de prag de la -200 mV, până la +200 mV;
--- gama admisibilă a tensiunilor de intrare Uag (Ubg) în raport cu pământul (GND), de la -7 V,
până la +12 V;
--- semnalul de intrare este o tensiune diferenţială (Ui+0,2 V) sau mai mult;
--- nivelul stării receptorului cascadei de intrare – vezi starea transmiţătorului cascadei de ieşire.
Protocoalele de reţea ce lucrează peste RS-485, sunt :
 LanDrive
 Profibus DP
 Modbus
 DMX512
 Oven
 HDLC
 DCON
Reţelele industriale executate pe baza de RS-485, sunt :
 LanDrive
 Profibus
 Modbus
Ultimele indicative de protocoale şi denumiri de reţele pot fi căutate pe internet pentru extinderea
documentaţiilor.

Supliment 2.
În cele următoare se prezintă sub forma sintetică (o forma prescurtată : idei,
prezentări grafice, material sistematizat pe 13 capitole, etc) un material extras de pe
internet, ce poate fi extrem de folositor pentru sistematizarea cunoştinţelor (mai ales
că este foarte detaliat) privind PLC-eurile. Poate fi recomandat mai ales pentru cazul
când se urmăreşte o specializare detaliată privind tematica PLC-urilor. Se
RECOMANDĂ mai ales cap.10 pentru programare în LD, respectiv cap.9 pentru
Reţele industriale de comunicaţie pentru automatizare (o parte a ideilor acestui
supliment se regăsesc în partea scrisă a capitolului 7).

Cap1.- AUTOMATE PROGRAMABILE (AP).


1.- Avantajele AP.
Flexibilitatea
Uşurinţă în modificarea programului şi corectare a erorilor
Număr mare de resurse
Cost redus
Costuri reduse de punere în funcţiune
Posibilitatea vizualizării funcţionării
Viteza de funcţionare
Metode diferite de programare
Siguranţa în funcţionare
Documentaţia
Simplitatea achiziţiei sistemului de comandă
Modificarea funcţionalităţii schemei de comandă
Achiziţionarea rapidă a elementelor schemei de comandă
1.1.- Flexibilitatea.
AP elimină necesitatea ca să fie realizată o schemă de comandă pentru
fiecare sistem de acţionare specific.
cu un singur tip de AP pot fi implementate scheme de comandă diferite
pe un singur AP pot fi implementate mai multe scheme de comandă; acesta
pot să comande în acelaşi timp mai multe sisteme de acţionare.
ceea ce diferă la două AP care implementează schemele de comandă
diferite este programul stocat în memoria fiecăruia.
1.2.- Uşurinţă în modificarea programului şi corectare a erorilor.
Cu ajutorul AP, modificarea schemei de comandă şi corectarea erorilor se
poate face foarte simplu prin modificarea programului de aplicaţie din memoria AP
cu ajutorul unei console de programare.
La schemele de comandă clasice, atunci când sunt necesare modificări ale
schemei sau corectarea erorilor
–trebuiesc refăcute legăturile fizice dintre elementele schemei
–uneori, este necesară modificarea chiar a structurii schemei de comandă prin
adăugrarea de noi elemente.
Modificarea structurii şi refacerea legăturilor fizice necesită
–timp de lucru destul de mare
–abilitate din partea tehnicianului în urmărirea acestor legături.
1.3.- Număr mare de resurse.
Schemele clasice
modificarea unei scheme de comandă prin adăugarea, de exemplu, a unor
contacte,necesita adăugarea unor relee sau blocuri de contacte suplimentare.
Consecinţe
–costuri suplimentare şi
–modificarea schemei de amplasare care să includă şi componentele noi.
AP
adăugarea de contacte noi sau alte elemente intermediare (numărătoare,
temporizatoare etc) se face foarte simplu prin adăugarea unor linii de program.
dacă nu se depăşeşte capacitatea AP, nu se modifică nici necesarul de
elemente componente ale schemei
Consecinţă
–nu avem creştere a costului implementării obţinute.
1.4.- Cost redus.
Costurile AP, realizate cu ajutorul circuitelor numerice integrate pe scară foarte largă,
continuă să scadă datorită evoluţiei tehnologice în domeniul electronicii.
Această evoluţie aduce şi alte avantaje cum ar fi:
- miniaturizarea,
–consum redus de energie,
–creşterea vitezei de lucru.
1.5.- Costuri reduse de punere în funcţiune.
Schemele clasice
 Buna funcţionare putea fi verificată doar după ce era realizată fizic schema
cu relee pentru a fi apoi testată şi verificată.
AP
 Se reduc costurile necesare punerii în funcţiune a schemei de comandă
deoarece este posibilă scrierea programului de aplicaţie, testarea acestuia, simularea
şi efectuarea modificărilor în laborator, înainte de a fi realizată fizic schema.
1.6.- Posibilitatea vizualizării funcţionării
În cazul AP este posibilă urmărirea funcţionării acestuia pe un ecran.
Pot fi observate porţiunile din schema de comandă care sunt în funcţiune şi
pot fi detectate vizual mai uşor cazurile în care apare o funcţionare defectuoasă.
În unele scheme de comandă se poate realiza uşor identificarea unor
funcţionări defectuoase prin afişarea unor mesaje de eroare.
Elementele schemei de comandă pot fi uşor identificate în cadrul
programului AP prin atribuirea acestora a unor nume simbolice, sugestive
Se pot adăuga comentarii pentru a uşura citirea schemei.
1.7.- Viteza de funcţionare
Sistemele clasice
Datorită inerţiei părţilor mecanice în mişcare a elementelor (contactoare,
relee), viteza de funcţionare a acestora este limitată şi pentru anumite aplicaţii
inacceptabilă
AP
Pe măsura evoluţiei tehnologiilor electronice, viteza de funcţionare a
schemelor creşte tot mai mult ea fiind determinatăîn primul rând de timpul de
baleiere a programului.
La ora actuală, mărimea timpului de baleiere a programului este de ordinul
milisecundelor.
1.8.- Metode diferite de programare
La ora actuală, majoritatea producătorilor de AP dau utilizatorilor
posibilitatea de a scrie programele de aplicaţie pentru AP utilizând diverse modele
şi limbaje de programare.
Unele limbaje sunt mai apropiate de schemele clasice cu relee, în timp ce,
altele sunt mai apropiate de limbajele de programare.
1.9.- Siguranţa în funcţionare
Prin utilizarea dispozitivelor electronice, siguranţa în funcţionare a
schemelor de comandă realizate cu AP este mai ridicată decât a celor clasice ce
utilizează relee mecanice.
Întreţinerea dispozitivelor electronice este mai uşoară iar cheltuielile de
reparaţii sunt şi ele reduse.
1.10.- Documentaţia
Schemele clasice
Modificări ale schemei de comandă, fizic realizate în circuitul electric, nu
erau operate şi în schema electrică din documentaţie.
După mai mulţi ani documentaţia poate să lipsească sau să fie incompletă
AP
Programul de aplicaţie prin care AP urmează să implementeze schema de
comandă, poate fi listat cu uşurinţă la o imprimantă.
Se poate obţine oricând prin listare schema de comandă care este în acel
moment în funcţionare
1.11.- Securitatea
Schemele clasice
--- Posibilitatea de intervenţie şi de modificare în timpul funcţionării nu este
întotdeauna asigurată
AP
--- Modificarea programului după care funcţionează schema de comandă nu poate fi
modificat decât dacă AP este oprit şi reprogramat.
1.12.- Simplitatea achiziţiei sistemului de comandă
Sistemele clasice
Erau alcătuite de cele mai multe ori din multe elemente diferite achiziţionate
de la producători diferiţi.
Obţinerea acestor produse atât pentru realizarea schemei dar şi pentru
înlocuirea unor elemente defecte în decursul funcţionării acesteia este costisitoare
Necesită timp şi alocare de resurse umane.
AP
Automatele conţin de la început toate elementele necesare, deci acestea sunt
disponibile toate odată la momentul achiziţiei.
În mod normal, schemele de comandă nu folosesc toate resursele unui AP.
Astfel, dacă avem nevoie de numărătoare, contacte temporizate sau alte elemente în
plus, ele sunt deja acolo, în AP, la dispoziţia noastră.
1.13.- Modificarea funcţionalităţii schemei de comandă
Funcţionalitatea schemei de comandă poate fi modificată uşor prin
reprogramarea AP
Se pot realiza schimbări uşoare şi rapide în fluxul de producţie în care intră
acestea, ceea ce constituie un avantaj.
De exemplu, în cazul liniilor de asamblare comandate cu ajutorul AP,
modificările necesare în cazul schimbării produsului asamblat necesitând un timp
de ordinul minutelor necesar reprogramării AP.
1.14.- Achiziţionarea rapidă a elementelor schemei de comandă
 Prin achiziţionarea AP sunt de fapt achiziţionate simultan releele cu
contacte, numărătoarele, temporizatoarele necesare realizării schemei de comandă
care poate fi implementată prin program.
 De obicei, numărul acestora este mai mare decât necesarul real, ele sunt deja
disponibile prin program şi nu este necesară comanda lor.
 AP actuale, permit utilizarea unor blocuri funcţionale complexe care oferă o
gamă largă de posibilităţi de implementare a schemei de comandă.

2.- Dezavantajele automatelor programabile.


Noutatea tehnologiei
Aplicaţiile specifice
Influenţa mediului
Funcţionarea nesigură la apariţia unor defecte
2.1.- Noutatea tehnologiei.
AP constituie o noutate tehnologică pentru majoritatea electricienilor şi
tehnicienilor
Impune un nou mod de gândire diferit de cel necesar schemelor de comandă
clasice bazate pe relee cu contacte.
Necesită utilizarea calculatorului pentru scrierea şi rescrierea programelor
de aplicaţii pentru AP
Utilizează simboluri diferite faţă de standardele naţionale
2.2.- Aplicaţii specifice.
 Există anumite scheme de comandă care sunt specifice unor anumite scheme
de acţionare şi nu presupun modificarea acestora.
 În aceste cazuri nu se justifică utilizarea unor sisteme de comandă bazate pe
elemente ce pot fi programate, cum ar fi AP.
 Pentru rezolvarea acestor situaţii, producătorii recurg de cele mai multe ori
la soluţii clasice care se dovedesc a fi şi mai avantajoase din punct de vedere al
costului.
 Exemplu: utilizarea controlerelor mecanice cu came pentru realizarea unor
anumite secvenţe de comenzi.
2.3.- Influenţa mediului.
În construcţia AP intră componente electronice care sunt sensibile la anumite
condiţii de mediu cum ar fi:
--- temperaturi,
--- radiaţii
--- vibraţii ridicate.
2.4.- Nefuncţionare în siguranţă la apariţia unor defecte
Schemele clasice
În cazul unei scheme de comandă clasice butonul de oprire deconectează
schema de comandă de la sursa de alimentare oprind funcţionarea acesteia.
Dacă are loc o întrerupere a tensiunii de alimentare, funcţionarea schemei de
comandă se întrerupe şi nu este reluată dacă tensiunea de alimentare este
restabilită.
AP
În cazul anumitor programe ale AP condiţii de mai sus nu sunt întotdeauna
îndeplinite ceea ce determină o funcţionare nesigură în condiţii de defectare.
2.5.- Funcţiile principale ale AP.
În cadrul funcţionării sale, AP trebuie să realizeze cel puţin primele trei
funcţii prezentate mai jos:
--- citirea intrărilor,
--- rezolvarea ecuaţiilor booleene şi execuţia secvenţelor de calcul logic,
--- comanda ieşirilor.
2.6.- Funcţiile suplimentare ale AP.
În funcţie de complexitatea procesului pe care îl comandă, AP poate să
realizeze una sau mai multe din funcţiile prezentate mai jos:
– stocarea în memorie a rezultatelor parţiale sau a stării intrărilor şi ieşirilor;
– înregistrarea valorilor de consemn şi transferarea acestora către proces;
– implementarea unor funcţii de calcul aritmetic, incrementare, decrementarea,
decalaj de biţi; codificare, registru de deplasare bit cu bit;
2.5.1.- Citirea intrărilor.
– Funcţionarea AP presupune urmărirea variaţiilor unor semnale provenite de la
proces. În acest scop, intrările AP sunt citite la intervale bine stabilite de timp.
Fiecare citire se face pe rând dar, având în vedere că timpul dintre citirile a două
intrări diferite este foarte mic (de ordinul microsecundelor) pentru o anumită
categorie de procese, se poate considera că citirile se fac simultan pentru toate
intrările.
2.5.2.- Rezolvarea ecuaţiilor booleene şi execuţia secvenţelor de calcul logic.
Implementarea schemei de comandă în cadrul AP se realizează prin
modelarea acesteia prin intermediul
–unor ecuaţii booleene sau a
–unor secvenţe de calcul logic unde variabilele sunt semnalele deintrare ale AP
Rezultatele sunt valorile care trebuie să fie atribuite ieşirilor AP.
Această operaţie se execută în fiecare ciclu ţinând seama de valorile
actualizate ale intrărilor.
Ecuaţiile sunt rezolvate pe rând dar, având în vedere că timpul dintre
rezolvarea a două ecuaţii diferite este foarte mic, pentru o anumită categorie de
procese, se poate considera că rezultatele se obţin simultan pentru toate ecuaţiile.
2.5.3.- Comanda ieşirilor.
Funcţionarea AP presupune ca acesta să emită prin intermediul ieşirilor
semnale de comandă pe baza
– valorilor intrărilor;
– programului care implementează funcţia de comandă.
Fiecare ieşire este comandată pe rând dar, având în vedere că timpul dintre
comenzile a două ieşiri diferite este foarte mic (de ordinul microsecundelor), pentru
o anumită categorie de procese, se poate considera că toate ieşirile sunt comandate
simultan.
2.6.1.- Stocarea în memorie a rezultatelor parţiale sau a stării intrărilor şi ieşirilor.
În cazul unor programe de complexitate ridicată ce presupun o serie de
calcule laborioase, este posibil ca registrele procesorului să nu fie suficiente pentru
stocarea rezultatelor intermediare.
Pentru a evita această problemă AP trebuie să poată stoca temporar aceste
rezultate într-o memorie de lucru pentru a le putea utiliza mai târziu.
În acelaşi scop, există posibilitatea stocării valorilor intrărilor şi ieşirilor într-
un ciclu anterior.
2.6.2.- Implementarea unor funcţii de calcul aritmetic.
Este uneori necesar ca AP să poată realiza funcţii de calcul aritmetic cum ar
fi:
– radicalul,
– ridicarea la putere
– funcţii trigonometrice,
– operaţii asupra datelor din memorie (incrementarea, decrementarea,
decalaj de biţi la stânga sau la dreapta, codificare etc).
2.6.3.- Dialogul de exploatare.
În perioada de exploatare, sunt necesare dialoguri om-maşină având drept
scop conducerea maşinii, realizarea de reglaje sau efectuarea depanării.
Elementele prevăzute în acest scop sunt:
–butoane,
–elemente de semnalizare,
–panouri de comandă configurabile,
–terminale de exploatare,
–terminale de reglare,
–terminale de depanare.
2.6.4.- Dialogul de supervizare.
Sistemele de comandă se integrează într-un proces de producţie care adesea
este condus şi supravegheat de la un punct de comandă şi control central.
AP trebuie să aibă posibilitatea de a dialoga într-un mod bine determinat cu
terminalele periferice ale sistemului central.
2.6.5.- Dialogul de programare.
--- Prima punere în funcţiune precum şi eventualele modificări datorită evoluţiei
procesului de producţie necesită existenţa unui dialog de programare.
--- Cele mai uzuale căi de a realiza acest dialog este utilizarea unui calculator sau a
unei console de programare.
--- Legătura dintre dispozitivele de programare şi AP se realizează în general
folosind o linie de comunicaţie serială.
2.6.6.- Dialog cu elementele periferice (imprimantele).
Imprimantele sunt utilizate pentru a lista informaţiile existente în memoria
AP sau informaţiile oferite de software-ul utilizat pentru programarea acestuia fiind
astfel uşurată vizualizarea programului şi a datelor legate de AP.
Utilizatorul are posibilitatea de a urmări mult mai uşor programul indiferent
dacă acesta este sub forma listei de instrucţiuni sau diagramă de tip schemă cu
contacte.
Se poate verifica mult mai uşor atât corectitudinea schemei implementate cât
şi calitatea acesteia.
Principalele informaţii care pot fi listate la imprimantă sunt:
–diagrama bazată pe schemă de contacte;
–programul sub formă de listă de instrucţiuni;
–referinţele încrucişate;
–blocurile de comentarii;
–starea registrelor procesorului din unitatea centrală;
–lista şi starea condiţiilor de forţare;
–valorile impuse temporizatoarelor şi numărătoarelor.

Cap.2.- Circuitele logice combinaţionale (CLC).


2.1.- Definiţie.
Sisteme la care semnalele de ieşire depind doar de combinaţia valorilor
semnalelor aplicate la intrare.
2.2.- Descriere.
--- Funcţionarea circuitelor combinaţionale este descrisă de un set de funcţii
booleene :

--- Valorile aplicate la intrare şi valorile la ieşire pot fi doar 0 şi 1.

2.3.- Observaţii.
Materializarea FB determină structura internă a CLC
FB poate fi reprezentată folosind diverse expresii booleene =>un CLC poate
avea diverse structuri realizând aceeaşi funcţionalitate
Următoarele denumiri se pot folosi una în locul celeilalte:
–variabilă = semnal de intrare = intrare;
–funcţie = semnal de ieşire = ieşire.
2.4.- Specificarea CLC.
--- CLC pot fi specificate în 2 moduri:
–funcţional–descrie funcţionarea circuitului indicând modul în
care se modifică ieşirile la modificarea intrărilor (circuitul
este tratat ca o cutie neagră)
–structural–descrie structura internă a circuitului prin
specificarea elementelor componente şi legăturile dintre
acestea
2.5.- Supraproblema 1.
Se dă structura circuitului
Se cere valoarea ieşirilor circuitului pentru o anumită combinaţie a valorilor
intrărilor
2.5.1.- Supraproblema 1.Procedeu.
1. Se porneşte de la intrările circuitului. Pentru fiecare poartă logică care depinde
doar de intrările circuitului se determină expresia FB a ieşirii acesteia
2. Pentru fiecare poartă logică care are ca intrări intrările circuitului sau ieşirile
altor porţi logice se determină expresia FB a ieşirii
3. Se repetă paşii 1 şi 2 până când ieşirile porţilor sunt de fapt ieşirile circuitului.
4. Aplicând proprietăţile algebrei booleene se simplică FB obţinute (etapă opţională
dar utilă pentru reducerea volumului de calcul)
5. În expresiile obţinute se înlocuiesc valorile pentru care se caută valorile la ieşirea
CLC.
2.5.2.- Supraproblema 1.Exemplu :
Să se determine valorile la ieşirile circuitului din figură pentru x1=0, x2=1,
x3=1 şi x4=0.

Se determină expresiile ieşirilor

Funcţiile corespunzătoare celor două ieşiri sunt:


–F1(x1,x2,x3,x4)=x1x3’+x2(x3.x4+x1)
–F2(x1,x2,x3,x4)= x2(x3.x4+x1)

Înlocuim valorile x1=0, x2=1, x3=1şi x4=0


–F1(0,1,1,0)=0.1’+1.(1.0+0)=0+0.0=0
–F2(0,1,1,0)= 1.(1.0+0)=1.0=0
2.6.- Subproblema 2.
Se dă structura circuitului
Se cere valoarea ieşirilor circuitului pentru toate combinaţiile valorilor
intrărilor
2.6.1.- Subproblema 2. Procedeu.
1. Se porneşte de la intrările circuitului. Pentru fiecare poartă logică care depinde
doar de intrările circuitului se determină expresia FB a ieşirii acesteia
2. Pentru fiecare poartă logică care are ca intrări intrările circuitului sau ieşirile
altor porţi logice se determină expresia FB a ieşirii
3. Se repetă paşii 1 şi 2 până când ieşirile porţilor sunt de fapt ieşirile circuitului.
4. Se obţine o formă normală (sumă de produse sau produse de sume) prin
desfacerea parantezelor
5. Se determină forma canonică normal disjunctivă sau conjunctivă (facem să apară
variabilele lipsă folosind proprietatea x+x’=1)
6. Pe baza formei canonice se construieşte tabela de adevăr
2.6.2.- Subproblema 2. Exemplu.
Să se determine valorile la ieşirile circuitului pentru toate combinaţiile
posibile aplicate la intrări.

Se determină expresiile ieşirilor

Funcţiile corespunzătoare celor două ieşiri sunt:


–F1(x1,x2,x3,x4)=x1x3’+x2(x3.x4+x1)
–F2(x1,x2,x3,x4)= x2(x3.x4+x1)
Determinăm formele normale disjunctive (sume de produse)
–F1(x1,x2,x3,x4)=x1x3’+x2.x3.x4+x1. x2
–F2(x1,x2,x3,x4)= x2.x3.x4+x1. x2

Determinăm formele canonice normal disjunctive


–F1(x1,x2,x3,x4)=x1x3’.(x2+ x2’).( x4+ x4’)+
+(x1+ x1’).x2.x3.x4+x1. x2.(x3+ x3’) .(x4+ x4’)
–F2(x1,x2,x3,x4)= (x1+ x1’).x2.x3.x4+x1. x2.(x3+ x3’). .(x4+ x4’)
Desfacem parantezele
–F1=x1.x2.x3’. x4+x1x2. x3’. x4’+x1.x2’.x3’. x4+x1x2’. x3’. x4+
+x1.x2.x3.x4+ x1’ .x2.x3.x4+ x1. x2.x3 .x4 +x1. x2. x3’ .x4+x1.
x2.x3.x4’+x1. x2. x3’ .x4’
–F2(x1,x2,x3,x4)= x1.x2.x3.x4+ x1’ .x2.x3.x4+ x1. x2.x3 .x4 +x1. x2. x3’
.x4+x1. x2.x3.x4’+x1. x2. x3’ .x4’

Eliminăm termenii care se repetă


–F1=x1.x2.x3’. x4+x1x2. x3’. x4’+x1.x2’.x3’. x4+
+x1.x2.x3.x4+ x1’ .x2.x3.x4+x1. x2.x3.x4’
=m1+m2+m3+m6+m8+m15
–F2(x1,x2,x3,x4)= x1.x2.x3.x4+ x1’ .x2.x3.x4+x1. x2. x3’ .x4+x1.
x2.x3.x4’+x1. x2. x3’ .x4’=m2+m3+m8+m15
Construim tabela de adevăr pentru cele două funcţii F1şi F2trecând
valori de 1 în dreptul mintermilor care intră în componenţa FCND . Restul
valorilor vor fi 0.

Cap 3.- Circuite logice combinaţionale (CLC). Sinteză.


3.1.- Proble3ma de sinteză.
Cunoscând modul de funcţionare a circuitului combinaţional exprimat prin
valorile semnalelor de ieşire corespunzătoare diferitelor combinaţii ale variabilelor
de intrare, se cere să se stabilească structura circuitului
3.2.- Metodologie.
Sinteza cuprinde două părţi: sinteza abstractăşi sinteza structurală
sinteza abstractă= stabilirea expresiilor FB care corespund condiţiilor
impuse între semnalele de ieşire şi de intrare.
–Obs.Pentru ca circuitul realizat să fie cât mai simplu şi deci
mai economic, se caută expresiile minime ale funcţiilor.
–Din punct de vedere matematic, problemele de sinteză
presupun minimizarea funcţiilor booleene în sistemul
de funcţii elementare alese din considerente practice;
sinteza structurală = determinarea structurii fizice a circuitului sintetizat.
–Sinteza structurală se face în funcţie de tipul circuitelor
logice elementare (module) şi de numărul de intrări ale
acestora, de semnalele disponibile în diferite puncte ale
sistemului etc.

3.3.- Algoritm.
Din condiţiile problemei se stabilesc corespondenţele între combinaţiile
semnalelor de intrare şi ieşire folosind tabelul de adevăr, diagrama V-K etc.
Se realizează minimizarea funcţiilor booleene care rezultă din etapa
precedentă
Se implementează dacă este cazul cu funcţiile elementare impuse de
realizarea practică
Se stabileşte logigrama (schema logică) plecând de la forma minimă obţinută
pentru funcţiile de ieşire în pasul al treilea
Se analizează circuitul obţinut pentru a vedea dacă corespunde condiţiilor
impuse iniţial (etapă facultativă).
3.4.- Exemplu.
Un motor electric este alimentat de la 3 generatoare. Funcţionarea fiecărui
generator este monitorizată prin activarea a unuia sau două dispozitive de
avertizare când generatorul se defectează. Circuitul de monitorizare activează
dispozitivele de avertizare când sunt îndeplinite următoarele condiţii:
–O lampă de semnalizare este aprinsă dacă unul sau două
generatoare sunt defecte
–O hupă de avertizare (avertizare sonoră) este activată dacă
două sau mai multe generatoare se defectează
3.4.1.- Exemplu. Alocarea variabilelor.
 se numerotează generatoarele cu 1,2,3 şi se alocă variabilele x1, x2, x3
 xi=0 semnifică generator în stare de funcţionare, xi=1 semnifică generator
defect
 circuitul de monitorizare are două ieşiri cărora le corespund două FB, A(x1,
x2, x3)şi L(x1, x2, x3) pentru avertizare acustică, respectiv luminoasă.
 A=1 dacă alarma sonoră este activă
 L=1 dacă alarma luminoasă este activă
3.4.2.- Exemplu. Tabelul de adevăr.
 Pe baza descrierii funcţionării se construieşte următorul table de adevăr:
3.4.3.- Exemplu. Diagramele V-K.
 Pe baza tabelului de adevăr se construiesc diagramele V-K şi se fac
următoarele grupări ale valorilor de 1.

3.4.4.- Exemplu. Expresii minime ale funcţiei de ieşire.


 Pe baza grupărilor realizate se scriu expresiile minime ale funcţiilor L şi A
L(x1, x2, x3)= x1x3’+x1’ x2+ x2’ x3
A(x1, x2, x3)= x1x2+x2x3+x2x3
 Făcându-se minimizarea după valorile de 0 pentru Lse poate obţine expresia:
L(x1, x2, x3)= (x1+x2+x3)(x1’+x2’+ x3’)
3.4.5.- Exemplu. Schema logică.
 Folosind primele două expresii se obţine schema logică
3.5.- Sinteza folosind circuite ŞI-NU.
În general o FB poate fi scrisă ca o sumă de termeni disjunctivi Pi(termeni
produs) şi literale Lj
F=P1+P2+...+Pk+L1+...+Lm
Negând F de două ori (proprietatea de involuţie) şi aplicând proprietăţile lui
De Morgan se obţine
F=(P1’P2’...Pk’L1’...Lm’)’

Schemele logice realizate cu circuite SI, SAU, NU se transformă în circuite


realizate doar cu porţi SI-NU urmărind etapele din figurile care urmează
Înainte de conversie

După conversie, cu literalele negate


După conversie, cu literalele în forma normală

3.5.1.- Exemplu. Sinteza folosind circuite ŞI-NU.


 Se dă funcţia f(x1’x2,x3,x4)=m1+m3+m5+m7+ m9+m11+m13+m14+m15. Se

cere să se materializeze folosind porţi SI-NU


 Expresia minimă a funcţiei este
f(x1’x2,x3,x4)=x1x2x3+x4
care poate fi rescrisă
f(x1’x2,x3,x4)=((x1x2x3)’(x4)’)’
 Schemele logice ale celor două funcţii sunt prezentate în continuare
--- Materializare cu circuite SI,SAU, NU

--- Materializate cu circuite SI-NU

3.6.- Sinteza folosind circuite SAU-NU.


 În general o FB poate fi scrisă ca produs de termeni conjunctivi Si (termeni
produs) şi literale Lj
 F=(S1S2...Sk)(L1...Lm)
 Negând F de două ori (proprietatea de involuţie) şi aplicând proprietăţile lui
De Morgan se obţine
 F=(S1’+S2’+...+Sk’+L1’+...+Lm’)’
 Schemele logice cu realizate cu circuite SI, SAU, NU se transformă în circuite
realizate doar cu porţi SAU-NU urmărind etapele din figurile care urmează
--- Înainte de conversie

--- După conversie, cu literalele negate

--- După conversie, cu literalele în forma normală


3.6.1.- Exemplu. Sinteza folosind circute SAU-NU.
Se dă funcţia f(x1’x2,x3,x4)=m0+m1+m3+m5+m15. Se cere să se
materializeze folosind porţi SAU-NU
Expresia minimă a funcţiei grupând valorile de 0 este
f(x1’x2,x3,x4)=(x3+x4’) (x1+ x2’+x3’) (x1’+x2) (x1’+x3) (x2’+x4)
care poate fi rescrisă
f(x1’x2,x3,x4)=((x1x2x3)’(x4)’)’
Schemele logice ale celor două funcţii sunt prezentate în continuare
--- Materializare cu circuite SI, SAU, NU

--- Materializate cu circuite SAU-NU


Cap.4.- Funcţii booleene.
4.1.- Definiţii.
O variabilă care poate lua doar valorile 0 şi 1 va fi denumită variabilă binară
booleană, variabilă bivalentă booleană sau simplu variabilă binară.
O funcţie booleană este o funcţief:{0,1} n →{0,1} m pentru m,n≥0. Fiecărei n-
tuplex=(x1,…,xn)  {0,1} n , funcţia îi pune în corespondenţă o m-tuplă unică
f(x)=y=(y1,…,ym)  {0,1} m .

Datorită asocierii cu circuitele numerice, componentele x1,…,xn se mai


numesc variabile de intrare sau intrări, iar componentele vectorului y, y1,…,ym se
mai numesc variabile de ieşire sau ieşiri.
n>1, m=1funcţii booleene cu o singură ieşire şi n intrări.
n>1,m>1funcţii booleene cu n intrări şi m ieşiri.
4.2.- Funcţii booleene.
 Pentru o funcţie care depinde de n variabile avem:
 2 n combinaţii de valori pentru variabile ;
 2 2 n =funcţii de n variabile.
4.3.- Funcţii booleene de 2 variabile.
n=2 nr. de variabile ;
2^2=4 combinaţii de valori pentru variabile ;
(2^2)^2=16 funcţii de 2 variabile ;

- F0 = 0 Funcţia constantă 0
- F1 = A.B (SI) AND
- F2 = AB' Inhibiţie(A dar nu B)
- F3 = A Identitate
- F4 = A B Inhibiţie(B dar nu A)
- F5 = B Identitate
- F6 = AB' + A'B SAU-Exclusiv(XOR), se notează şi A’  B
- F7=A+B SAU
- F8 = (A + B)' SAU-NU(NOR) (în logica matematică denumită funcţia lui
Peirce, se mai notează A ↓B
- F9 = A'B' + AB Echivalenţă, se notează şi A≡B
- F10=B' Complement,NU (NOT)
- F11 = A + B' Implicaţie (B implică A), se notează şi B →A
- F12 = A' Complement,NU (NOT)
- F13= A' + B Implicaţie (A implică B), se notează şi A →B
- F14 = (AB)' SI-NU(NAND)-în logica matematică denumită funcţia Sheffer, se
mai notează A ↑B
- F15 = 1 Funcţia constantă 1

Cap.5.- Limbajul de programare tip « Listă de instrucţiuni »


(IL).
5.1.- Generalităţi.
Funcţionarea AP se bazează pe executarea de către procesorul unităţii
centrale a unui set de instrucţiuni.
Instrucţiunea este cea mai mică unitate independentă de program fiind
formată din simbolul sau denumirea operaţiei şi operandul sau operanzii.
În cazul AP, operaţiile cele mai des utilizate sunt cele ale algebrei booleene:
–ŞI (AND, *),
–SAU (OR, +),
–NU (NOT, N),
–ŞI-NU (NAND, ANDC),
–SAU-NU (NOR, ORC),
–SAU-EXCLUSIV (XOR), la care se adaugă
–operaţiile de temporizare, numărare şi memorare.
5.2.- Extensii ale operaţiilor de bază.
În ultimul timp, datorită creşterii capacităţii de prelucrare şi a vitezei de
execuţie, la operaţiile de bază au fost adăugate:
--- operaţii aritmetice, cum sunt adunarea, înmulţirea,
împărţirea,
--- operaţii logice pe mai mulţi biţi, cum sunt deplasări la stânga şi la
dreapta,
--- operaţii de conversie a informaţiei dintr-un cod într-altul,
--- funcţii de memorare de tip bistabil,
--- alte funcţii speciale specifice AP.
5.3.- Tipuri de operanzi.
Operanzii acestor instrucţiuni sunt:
–intrări (notate cu I, X sau IN),
–ieşiri (notate cu E, Y sau OUT),
–elemente de memorare (notate cu M) - modelează releele intermediare din
schemele electrice cu contacte,
–elemente de temporizare (notate cu T)
–elemente de numărare/contorizare (notate cu C).
operanzii sunt în corespondenţă directă cu resursele fizice pe care AP le are
la dispoziţie: intrări, ieşiri, variabile intermediare (în strânsă legătură cu
dimensiunea memoriei de lucru a AP), temporizatoare şi numărătoare
implementate prin program sau prin circuite şi module specializate.
corespondenţă indicată prin alăturarea la notaţiile prezentate anterior a unui
identificator numeric care arată numărul resursei respective
5.4.- Exemple de identificatori.
Varianta 1:
– primele două cifre ale părţii numerice =modulul pe care se
află resursa corespunzătoare variabilei respective (intrare,
ieşire etc).
–a treia cifră = resursa (numărul de ordine) în cadrul modului
precizat de primele două cifre.
Varianta 2:
–identificatorul modulului şi numărul de ordine sunt separate
de punct.
Varianta 3:
–variabilele de intrare, de ieşire şi de memorie
nu sunt identificate prin nici un simbol.
–Faptul că o variabilă este de intrare, de ieşire
sau de memorie este identificat prin prima
cifră a numărului de identificare. Aceasta
corespunde modului de alocare a locaţiilor din
memoria de lucru a AP.
–Adresele începând de la 000 sunt alocate
intrărilor, adresele dela 200 sunt alocate ieşirilor
şi adresele de la 400 sunt alocate variabilelor de
memorie (relee interne).

5.5.- Nume de instrucţiuni.


--- De la apariţia AP, fiecare producător şi-a dezvoltat limbajul propriu de tip listă
de instrucţiuni, alegerea numelor instrucţiunilor depinzând mult şi de limba vorbită
de respectivii producători.
--- Deşi se aseamănă între ele din punct de vedere funcţional, aceste limbaje au
nume diferite şi folosesc pentru aceeaşi instrucţiune denumiri şi formate diferite.

5.6.- Exemplu : Schemă electrică cu


contacte.
5.6.1.- Exemplu : Program IL General Electric.

5.6.2.- Exemplu : Program IL Kloeckner-Moeller.

5.6.3.- Exemplu : Program IL Siemens.


5.6.4.- Exemplu : Program IL Telemecanique.

5.6.5.- Exemplu : Program IL Hitachi.

5.6.6.- Exemplu : Program IL Mitsubishi

5.7.- Limbajul Standard IEC 61131-3.


Lista de instrucţiuni este compusă dintr-o secvenţă de instrucţiuni.
Fiecare instrucţiune începe pe o linie nouă şi conţine operatorul (opţional cu
modificatori) şi dacă este necesar, unul sau mai mulţi operanzi.
Instrucţiunea poate fi precedată de o etichetă urmată de caracterul “:”
5.7.1.- Exemple de câmpuri ale instrucţiunilor.
5.7.2.- Operatorii şi semnificaţiile lor.
LD Atribuie operandului rezultatul curent;
ST Memorează rezultatul curent la locaţia operandului;
S Atribuie operandului de tip Boolean valoarea 1;
R Atribuie operandului de tip Boolean valoarea 0;
AND SI logic
& SI logic
OR SUA logic
XOR SAU-EXCLUSIV logic
ADD Adunare
SUB Scădere
MUL Înmulţire
DIV Împărţire
GT Comparaţie :>
GE Comparaţie:>=
EQ Comparaţie:=
NE Comparaţie:<>
LE Comparaţie:<=
LT Comparaţie:<
JMP Salt la etichetă ;
CAL Apelul unui bloc funcţional ;
RET Întoarecere dintr-o funcţie sau bloc funcţional)
5.7.3.- Exemplu de apel al unui bloc funcţional.
1. CAL cu lista de intrări: CAL C10(CU:=%IX10, PV:=15)
2. CAL cu încărcarea/stocare intrărilor: LD 15
STC10.PV
LD%IX10
STC10.CU
CALC10
3.Folosirea operatorilor de intare:
LD 15
PV C10
LD %IX10
CU C10
5.7.4.- Tipuri de blocuri funcţionale.

BIBLIOGRAFIE.
 E.van der WalInstruction List-an assembler type of language,
www.plcopen.org
 SR EN 61131-3, Automate programabile. Partea 3. Limbaje de programare
- C.G.Haba, Sisteme de comandă a maşinilor electrice, Ed. Gh.Asachi, Iaşi

Cap.6.- Minimizarea funcţiilor booleene.


6.1.- Introducere.
Deoarece FB modelează funcţionarea circuitelor logice sau schemelor cu contacte
minimizarea poate determina reducerea costurilor de materializare a acestor
scheme.

6.2.- Problema minimizării.


Fiind dată o FB F(sau mai multe FB, F1,..,Fs), se cere să se obţină o expresie a FB
(sau a FB F1,..,Fs) care să îndeplinească o condiţie de minimalitate.
6.2.1.- Criterii de minimalitate.
--- apariţia unui număr minim de literale
--- apariţia unui număr minim de literale într-o expresie normal disjunctivă (sumă
de produse)
--- număr minim de termeni produs într-o expresie normal disjunctivă
--- diferenţă minimă între numărul de variabile în formă normală şi numărul de
variabile în formă negată (luată în modul)
--- funcţia să poată fi materializată cu număr minim de module dintr-un anumit set
(porţi logice, contactoare de un anumit tip,...)
--- timpii de întârziere introduşi de circuitul materializat să fie minim, etc
6.2.2.- Problema minimizării FB în forma normal disjunctivă.
Fiind dată o FB în forma normal disjunctivă să se găsească o expresie tot în forma
normal dijunctivă care să aibă un număr minim de literale.
6.2.2.1.- Metoda 1.
Se aplică proprietăţile algebrei booleene :
– distributivitatea;
– idempotenţă;
– absorbţia.
Metoda 1. Exemplu
Se dă funcţia
f(x,y,z)=m0+m2+m3+m4+m5+m7=
x’.y’.z’+ x’.y.z’+ x’.y.z+
x.y’.z’+ x.y’.z+ x.y.z.
Adăugăm m0+m7
f(x,y,z)=m0+m2+m3+m4+m5+m7=
x’.y’.z’+ x’.y.z’+ x’.y.z+
x.y’.z’+ x.y’.z+ x.y.z+x’.y’.z’
+ x.y.z.
Combinăm m0 şi m2, m0 şi m4, m3 şi m7, m5 şi m7 şi obţinem:
f(x,y,z)=x’.z’(y+y’)+y’.z’.(x+x’)+y.z.
(x’+x) +x.z.
(y’+y)=x’.z’+y’.z’+y.z+x.z
Dacă combinăm m0 şi m2, m4 şi m5, m3 şi m7, obţinem:
f(x,y,z)=x’.z’(y+y’)+x.y’.(z’+z)+y.z.(x’+x)=
x’.z’+x.y’+y.z
Dacă în mod similar grupăm m2cu m3, m4cu m0şi m5cu m7, se obţine pentru
funcţia fexpresia:
f(x,y,z)=x’.y+y’.z’+x.z
Observaţii:
–pentru aceeaşi funcţie am obţinut mai multe expresii reduse faţă de expresia
iniţială
–dintre cele trei expresii însă numai ultimele două sunt expresii minime
–pentru o FB se pot obţine una sau mai multe expresii minime

6.2.2.2.- Metoda 2. Diagrama Veitch-Karnaugh.


--- este o metodă graficăpentru minimizarea cu uşurinţă a FB cu până la 6 variabile
--- căsuţele sunt aranjate în astfel încât mintermii (maxtermii) sunt reprezentaţi
într-o dispoziţie geometrică care permite evidenţierea mintermilor adiacenţi ;
--- fiecare căsuţă care are un 1 corespunde unui minterm a FCND a funcţiei;
--- două celule adiacente în diagramă corespund la doi mintermi care diferă între ei
doar prin forma unei singure variabile ;
--- perechea de valori de 1 se încercuieşte indicând astfel că mintermii
corespunzători se combină rezultând un singur termen.
Regula prin care se determină cum pot fi grupate căsuţele conţinând valori
de 1 este următoarea:
–-o mulţime de 2i celule pot fi grupate dacă există i variabile ale funcţiei
booleene, care iau toate cele 2i combinaţii posibile în acea mulţime de căsuţe în
timp ce celelalte n-i variabile au aceeaşi valoare pentru aceeaşi mulţime de căsuţe.
– termenul corespunzător grupării va conţine cele n-i variabile în care
variabila este în formă normală, dacă ea apare ca 1 pentru toate căsuţele grupării şi
în forma negată, dacă ea apare ca 0 pentru toate căsuţele grupării.
Din punct de vedere grafic, regula de mai sus ne spune că putem încercui
mulţimi dreptunghiulare având 2i valori de 1, prin aceasta înţelegând şi mulţimile
dreptunghiulare obţinute dacă muchiile opuse diagramei ar fi unite.
Se pot determina variabilele şi forma pe care acestea o au în termenul
rezultant:
–dacă o încercuire acoperă căsuţe în care variabila este 0 atunci
variabila apare în termenul rezultant în forma negată
–dacă o încercuire acoperă căsuţe în care variabila este 1, atunci
variabila apare în termenul rezultant în forma normală.
–dacă o încercuire acoperă atât căsuţe în care variabila este 0
cât şi căsuţe în care variabila este 1, atunci acea variabilă
nu mai apare în termenul rezultant.
6.2.2.3.- Metoda 2. Exemplul 1.

C
o
n
f
r
o
m

figurilor putem scrie:


g(x,y,z)=xz+y’z+x’yz’
h(x,y,z,w)=x’w+xz’w+x’z+yzw’

6.2.3.-Teorema implicanţilor primi.


 pentru o funcţie booleană, o expresie sub forma normală (sumă de produse)
minimală este o sumă de implicanţi primi ai funcţiei.
 Observaţie:
–pentru a obţine o expresie minimală a funcţiei nu va trebui să
luăm în considerare termenii care nu sunt implicanţi
primi
6.3.- Diagramele V-K şi implicanţii primi.
În cadrul diagramei V-K, un implicant prim este reprezentat printr-o încercuire
rectangulară de valori de 1 (conform regulii prezentate anterior), care dacă
încercăm să o mărim (acoperind de două ori mai multe căsuţe) va cuprinde şi valori
de 0.
6.4.- Obţinerea expresiei minimale.
Expresie minimală se va obţine astfel prin alegerea încercuirilor cele mai mari şi
astfel încât fiecare valoare de 1 să fie cuprinsă în cât mai puţine încercuiri
6.5.- Metoda 2. Exemplul 2.

Funcţia f se poate scrie ca suma tuturor implicanţilor primi:


f(x,y,z)=t1+t2+t3+t4+t5
forma minimală se obţine însă ca suma:
f(x,y,z)=t1+t3+t5= x’yz+ xyw+ xy’z’

Cap.7.- Noţiuni de algebră booleeană.


7.1.- Definiţii.
Algebră booleană = o structură algebrică formată din:
--- O mulţime B
--- Două operaţii binare notate cu (+) şi (.)
--- O operaţie unară notată cu (‘) pentru care sunt valabile 6 axiome:

7.1.1.- Axiomele algebrei booleene.


1. Mulţimea B conţine cel puţin două elemente diferite
2. Axioma închiderii: operaţiile (+) şi (.) sunt operaţii interne adică:

3. Existenţa elementelor neutre pentru operaţiile binare

4.Comutativitatea
5.Distributivitatea

6.Existenţa elementului opus

7.1.2.- Denumirea operaţiilor logice.


Operaţia “+”se numeşte sumă logică, adunare logică, surjecţieşi o vom numi
pe scurt sumă;
Operaţia “.”se numeşte produs logic, înmulţire logică, conjuncţie şi o vom
numi pe scurt produs ;
Operaţia “‘”se numeşte negare sau complementare.
7.1.3.- Prioritatea operaţiunilor.
În cadrul unei algebre booleene operaţiile au urmatoareaprioritate
() – expresiile din paranteză ;
’ – operaţia de complementare ;
. – operaţia de înmulţire logică ;
+ – operaţia de sumare logică.
7.1.4.- Principiul dualităţii.
•Axiomele algebrei booleene sunt prezentate în perechi fiecare axiomă din pereche
fiind duala celeilalte
•O axiomă se poate obţine din dualasa modificând operaţia “+”cu operaţia “.”şi
elementul 0 cu elementul 1 (şi invers).
•Exemplu: existenţa elementului opus

7.2.- Proprietăţile algebrei booleene.


1.- Idempotenţa.

2.- Proprietăţile lui 0 şi 1.

3.Unicitatea lui 0 şi 1
4.Elementele 0 şi 1 sunt unice
5.Unicitatea elementului opus
Pentru  a  B, a’este unic
6.Distincţia dintre 0 şi 1
Elementele 0 şi 1 sunt distincte
7.Involuţia

8.Absorbţia

9.Asociativitatea

10.De Morgan

7.2.1.- Exemple de algebră booleene.


Algebra binară
B={0,1} împreună cu operaţiile

Definirea alternativă a operaţiilor


 Comutativitate.

 Element neutru.

 Ditributivitate.

 Elementul opus.

 Idempotenţa.
 Proprietăţile lui 0 şi 1.

 Absorbţia.

 De Morgan.

7.3.- Funcţiile booleene de două variabile.


n=2 nr. de variabile
2^2=4 combinaţii de valori pentru variabile
(2^2)^2=16 funcţii de 2 variabile

F0 = 0 Funcţia constantă 0
F1 = A.B (SI) AND
F2 = AB' Inhibiţie (A dar nu B)
F3 = A Identitate
F4 = A B Inhibiţie (B dar nu A)
F5 = B Identitate
F6 = AB' + A'B SAU-Exclusiv (XOR), se notează şi A  B
F7=A+B SAU
F8 = (A + B)' SAU-NU (NOR) (în logica matematică denumită funcţia lui
Peirce, se mai notează A ↓B
F9 = A'B' + AB Echivalenţă, se notează şi A≡B
F10=B' Complement, NU (NOT)
F11 = A + B' Implicaţie (B implică A), se notează şi B →A
F12 = A' Complement, NU (NOT)
F13= A' + B Implicaţie (A implică B), se notează şi A →B
F14 = (AB)' SI-NU (NAND) -în logica matematică denumită funcţia Sheffer,
se mai notează A ↑B
F15 = 1 Funcţia constantă 1.

Cap.8.- Reprezentarea funcţiilor booleene.


8.1.- Reprezentările FB pot fi :
Grafice
Analitice
Tabele de adevăr
Scheme de operatori (porţi logice)
Arbori de decizie binară
Diagrame Veitch-Karnaugh
Scheme cu contacte
Hipercub
Diagrame de semnale
8.1.1.- Reprezentările analitice.
Simbolice
–forme normale necanonice disjunctive şi conjunctive
–forme normale canonice disjunctive şi conjunctive
–simbol de marcare
Coduri
–vectori booleeni
–numere convenţionale
–notaţia cubică poziţională
8.1.2.- Tabele de adevăr.
Unei funcţii de n variabile i se asociază o tabelă cu:
--- 2^n linii –corespund celor 2^n combinaţii posibile ale variabilelor
--- n+1 coloane – n coloane corespunzătoare celor n variabile şi o coloană pentru
valorile funcţiei
Funcţie de 2 variabile
Funcţie de trei variabile

8.2.- Definiţii.
 Un literal este apariţia unei variabile în forma normală sau negată.
–Ex. x, x’, a, a’, x1, x1’etc.
 Un termen produs sau termen normal conjunctiv este produsul logic al mai
multor literale. Fiecare literal apare o singură dată
–Ex. x.z’, a.b’.c,x1’.x2.x3
 Un minterm sau constituent al unităţii este un termen produs, care include
toate variabilele de care depinde funcţia.
–Ex. Pentru f(x,y,z)
x.y.z, x’.y.z sunt mintermi,
x.y nu este minterm pentru ca lipseşte variabila z
–Ex. Pentru f(a,b,c,d)
a.b.c.d’, a’.b.c.d’sunt mintermi
a.d nu este minterm pentru că lipsesc variabilele b şi c
 Un maxterm sau constituent al lui 0 este un termen sumă, care include toate
variabilele de care depinde funcţia.
–Ex. Pentru f(x,y,z)
x+y+z,x’+y+z sunt maxtermi,
x+y nu este maxterm pentru ca lipseşte variabila z
–Ex. Pentru f(a,b,c,d)
a+b+c+d’, a’+b+c+d’sunt mintermi
a+d nu este maxterm pentru că lipsesc variabilele bşi c
 Un termen sumă sau termen normal disjunctiv este suma logică a mai multor
literale. Fiecare literal apare o singură dată
–Ex. x+z’, a+b’+c, x1’+x2+x3
 O expresie sumă de produse sau formă normală disjunctivă este formată din
suma logică a mai multor termeni produs.
Ex. a.b’.c’+a’.b.c+a’.b.c’
Observaţie
Pentru simplificare, când nu există dubii, operatorul “.” se poate omite
Ex. ab’c’+a’bc+a’bc’
 O expresie produs de sume sau formă normală conjunctivă este formată din
produsul logic a mai multor termeni sumă.
Ex. (a+b’+c’).(a’+b+c).(a’+b+c’)
Observaţie
Pentru simplificare, când nu există dubii, operatorul “.” se poate omite
Ex. (a+b’+c’)(a’+b+c)(a’+b+c’)
8.3.- Tabela de adevăr şi mintermi
Regulă:
Fiecărei combinaţii de valori îi corespunde un minterm în care
–xi apare normal dacă pentru combinaţia respectivă xi=1
–xi apare negat dacă pentru combinaţia respectivă xi=0
Funcţie de 2 variabile

Funcţie de trei variabile.

8.4.- Tabela de adevăr şi maxtermi.


Regulă:
Fiecărei combinaţii de valori îi corespunde un maxtermîn care
–xi apare negat dacă pentru combinaţia respectivă xi=1
–xi apare normal dacă pentru combinaţia respectivă xi=0
8.5.- Tabele de adevăr şi mintermi
Funcţie de două variabile

Funcţie de trei variabile.


8.6.- Forma canonică normal disjunctivă.
O funcţie f(x1,x2,...,xn) poate fi scrisă sub forma canonică normal disjunctivă:

unde αk=f(kn-1,kn-2,...,k1,k0) este valoarea funcţiei din tabelul de adevăr


corespunzător mintermului mk.
8.7.- Forma canonică normal disjunctivă.
Funcţie de două variabile.

 FCND este formată din suma logică a mintermilorpentru care funcţia ia


valoarea 1.
 Observaţie: FCND are atâţia mintermicâte valori de 1 are funcţia.
8.8.- Forma canonică normal conjunctivă.
O funcţie f(x1,x2,...,xn) poate fi scrisă sub forma canonică normal conjunctivă:
unde βk=f(kn-1,kn-2,...,k1,k0) este valoarea funcţiei din tabelul de adevăr
corespunzător maxtermului Mk
Funcţie de două variabile :

Funcţie de trei variabile :

FCNC este formată din produsul logic al maxtermilorpentru care funcţia ia


valoarea 0.
Observaţie: FCNC are atâţia maxtermi câte valori de 0 are funcţia
8.9.- Reprezentarea FB folosind simboluri.
Există două variante :
--- NSI/IEEE 91-1973
--- IEC
Cap.9.- Reţele industriale.
9.1.- Terminologie.
TOPOLOGIE–Forma reţelei
CAN –Controler pentru accesul la reţea
PHY –Nivel fizic
MAC –Media Access Control
MULTICAST –Date trimise la mai multe destinaţii
ÎNCAPSULARE–Nivelul de date
DETERMINISM –Întârzierea maximă a datelor poate fi determinată
REPEATABILITATE–Sosirea datelor este repetabilă
INTEROPERABILE –Dispozitivele pot să lucreze împreună
--- INTERSCHIMBABILE–Dispozitive similare pot fi schimbate între ele
9.2.- Criterii de selecţie.
--- De firmă vs. deschise
--- Dimensiunea datelor& viteza
--- Determinism
-- Topologii disponibile
--- Corectarea erorilor
--- Organizaţiile de standardizare
--- Modelul de reţea
9.3.- Modele de reţele.
Tradiţional
– Câmpul Sursă identifică nodul care transmite
- Câmpul Destinaţie identifică nodul care recepţionează
– Foarte limitat
Producător/Consumator
– Bazat pe conexiune
- Opeare multicast
– Foarte eficient
9.4.- Modele OSI.
9.4.1.- OSI – Nivel aplicaţie.

D
a
t
e
l
e consumate şi generate
Exemple:
Ethernet: e-mail, ftp
DeviceNet: procesarea dispozitivelor I/OAplicaţie
9.4.2.- OSI – Nivel de prezentare & Nivel sesiune.

Formatarea datelor
Conexiuni aplicaţie

Exemple :
Ethernet/IP

9.4.3.- OSI – Nivel transport.

Gestionează conexiunile;
Corectare erori;
Controlul transferului.

Exemplu :

T
C
P

9.4.5.- OSI – Nivel Reţea.

Rutarea mesajelor;
Controlul congestiei;
Transmisie nod-nod.

Exemple :
IP

9.4.6.- OSI – Nivel legătură de date.

Media Access Control


–Acces multiplu prin sesizarea purtătoarei (CSMA-
Carrier Sense Multiple Access )
–Transfer jeton
Control logic al legăturii
–Transmisie/Recepţie bit
–Verificare erori
–Controlul transmisiei
Exemple: Toate.

9.4.7.- OSI – Nivel Fizic.

Transferă şirul de biţi


Componente electro-mecanice

E
x
e
m
p
l
e

T
o
a
t
e
.
9.4.8.- Reţele industriale – comparaţie.

9.5.- Reţele multibit.


înlocuire imediată a conexiunior electrice clasice;
viteză mare;
mărime redusă a datelor digitale;
nu conţin date pentru diagnosticare.
9.5.1.- AS – I Număr minim de componente.

9.5.2.- AS – I Topologii.
9.5.3.- Reţeaua AS – I.
cea mai bună pentru dispozitive “binare”cum ar fi limitatoare de cursă,
fotodetectoare şi detectoare de prezenţă;
reducerea costurilor cu 15-40%;
circuite AS-I permit accesul la reţea;
1 Master, 31 Slave(62 înV2.1);
4 ni,4 nd per nod (maxim
248);
100 m lungime totală (cablu galben);
topologii: arborescentă, în linie, stea şi altele;
alimentarea şi datele integrate în aceeaşi reţea;
durata unui ciclu e de 5mscu toate cele 31slave;
prioritatea nodurilor stabilită în sistem de Master sau în afara sistemului;
cablu plat sau rotund.
9.5.4.- Reţele seriale.
 Orientate UART (Universal AsynchronousReceiver-Transmitter) –RS-
232/422/485;
 Materializare cu costuri scăzute;
 Eficientă pentru transmitere de mesaje;
 Viteză mică (nu satisface condiţiile de timp real);
 Model de reţea Sursă/Destinaţie;
 Standarde de firmă sau deschise (open standard).
9.5.5.- Aplicaţii ale reţelelor seriale.
înregistratoare
instrumente
acţionări
cititoare de coduri de bare
cititoare de radiofrecvenţă
rezervoare de combustibil
staţii de tratare a apei reziduale
9.5.6.- MODBUS.
--- tehnologie a anilor 1960;
--- şiruri de date de comunicaţie simple, concise;
--- suport fizic RS232/422/485;
--- dispozitive modelate ca registre şi bobine;
--- set de instrucţiuni bine definit;
--- 1 Master, 254 Slaves;
--- materializare cu cost redus;
--- reprezentare a reţelei bobină/registru;
--- viteză redusă–(nu satisface condiţiile de timp real);
--- 247 noduri maximum;
--- nu are certificare formală;
--- promovat de grupul Schneider.
--- Avantaje
–standard deschis şi larg răspândit
–set de comenzi clar şi concis
–număr mare de instalări
–materializare cu cost redus
--- Dezavantaje
–model de reţea sursă/destinaţie
–greu de depanat
--- MODBUS pe scurt.
--- toate dispozitivele ar trebui să suporte Modbus;
--- unelte de configurare la îndemână;
--- poate fi utilizat de majoritatea utilizatorilor;
--- acces uşor la dispozitive de adptare cu alte reţele;
--- unelte gratuite pe web;
--- creşte penetraţia pe piaţă.
9.5.7.- Limitările reţelor seriale.
Standarde electrice insuficiente;
Cele mai multe sunt protocoale de firmă;
Susceptibile la zgomot;
Probleme cu masa;
Probleme cu punctele de capăt;
Probleme la configurare;
--- Performanţe limitate;
--- Greu de depanat;
--- Suport pe viitor incert.
9.6.- Reţele multi-octet.
Orientate în principal pe octet;
Prezintă un anumit determinism;
Operare pseudotimp real;
Depanare îmbunătăţită;
Cost redus–suport pentru senzori mici;
Date analogice;
Volum mic de mesaje simple;
În general nu are posibilităţi pentru comunicaţii de la egal la egal;
Model Sursă/Destinaţie sau Producător/Consumator îmbunătăţit.
9.7.- INTERBUS – S.
De tip inel, Reţea cu registru de deplasare;
Suportă subreţelemultiple;
--- Auto-configurare;
--- Cerinţe ale aplicaţiilor;
–Număr mare de I/O;
–Redundanţă.
9.8.- DeviceNet.
CAN Nivel aplicaţie
DeviceNet transportă
–date I/O
–alte date decât cele de control
Folosind
–Comunicaţii Master/Slave
Între
–Dispozitive reprezentate de obiecte.
9.8.1.-Istoric DeviceNet.
~1985 CAN dezvoltat de BOSCH;
~1993 AB dezvoltăDeviceNet;
~1995 Dreptul de proprietate tranferat organizaţiei ODVA(Open DeviceNet Vendor
Association);
~1996 Masă critică de producători/Utilizatori.
9.8.2.- Caracteristicile DeviceNet.
Trunchi cu with Drops;
64 Noduri;
Pot exista mai mulţi Masteri;
Înlocuirea sau introducerea unui nod nou se poate face sub tensiune;
Cablul include alimentare şi linii de date;
Rate de transfer de 125K, 250K şi 500K Baud.
9.8.3.- DeviceNet & CAN.

-
-
-

S
e
m
n
a
l
i
z
a
r
e

f
i
z
i
c
ă
-
-
-

C
o
n
t
r
o
l
u
l

a
c
c
e
s
u
l
u
i

l
a

m
e
d
i
u
-
-
-

C
o
n
t
r
o
l
u
l

c
o
l
i
z
i
u
n
i
l
o
r

p
r
i
n

a
r
b
i
t
r
a
r
e

l
a

n
i
v
e
l

d
e

b
i
t

9.8.4.- Structura de comunicaţii DeviceNet.


Bazat pe conexiune
În principal Master/Slave
Suportă conexiuni I/O Connection de tip:
–cu interogare (polling)
–schimbarea stării
–pulsuri
Capacitate redusă de comunicare cu egali (peer)
Nu permite multicasting
9.8.5.- Modelul obiect al DeviceNet-ului.
Dispozitivele descrise ca o serie de obiecte
Obiectele descriu comportamentul exterior
Obiecte cerute:
–Obiectul Identitate (IdentityObject)
–Obiectul DeviceNet
–Obiectul Router
–Obiectul conexiune (ConnectionObject)
CIP –Control & Information Protocol.
9.8.6.- Profile DeviceNet.
 “Standardizează”operaţiile dispozitivelor asemănătoare

 Un profil DeviceNet specifică
–Modelul Obiect
–Datele I/O
–Datele de configurare
 Producătorii pot adăuga extensii
9.8.7.- Aplicaţii perfecte DeviceNet.
--- Conductoare lungi/extinse
--- Dimensiuni fizice mici
--- 64 dispozitive
--- I/O mici şi nu foarte rapide
--- Tipuri diferite de dispozitive
--- Deterministic nu foarte critic
--- Aplicaţie tipică:Transportor cu bandă.
9.8.8.- Profile acţionări c.c./c.a.
Include scalari,c.a.,vectoric.a.& c.c.
Obiecte specifice acţionărilor
–Supervizor de control
–Sistem de acţionare c.a./c.c.
–Datele motorului
Inter-operabile nu interschimbabile.
9.8.9.- Preocupări şi provocări DeviceNet.
Testarea conformităţii
Îmbunătăţiri/revizuiri ale specificaţiilor
Promovarea ca standard internaţional
Presiunea impusă datorită cerinţelor pentru performanţă
Redundanţă
--- Operare de tip egal la egal.
9.8.10.- Alte protocoale CAN.
------- J1939
–standard sponsorizat de SAE
–Comunicare între componentele vehicolului
–Mesaje între egali (peerto peer)
------- CANOpen
–Standard al Comunităţii Europene
–specificaţia Can în Automatică (CiA)
–largă răspândire în domenii de la cel al bunurilor de larg consum la cel medical şi
al aplicaţiilor industriale.
9.9.- ProfiBus.
Initiativă germană din 1989
bazată pe RS485
circuitul Profibus conţine o stivă, MAC (Media Access Control)
Versiuni multiple DP, FMS, PA
127 noduri,1000m
244 Octeţi/Mesaj,12Mbaud
Reţea de tip Master/Slave cu interogare (Polling)
Sprijinit de ProfibusTrade Organization.
Avantaje
–Viteză mare
–Grad mare de determinism
–circuitele ASIC implementează o stivă de comunicare
–acceptat universal în Europa
Dezavantaje
–Cost ridicat
–Magistrala nu are alimentare
–Model traditional Master/Slave.
9.10.- Reţele bazate pe mesaje – Control/Net.
Deterministe & repeatabile;
Cpacitate mare de I/O& mesaje;
99 Noduri per subreţea;
Comunicaţie Multicast & Peer;
Adaptabilă de către utilizator;
Poziţia pe piaţă e nesigură;
Scumpă.
9.10.1.- Aplicaţii Control/Net.
Cerinţe ale aplicaţiei:
–Număr mare de I/O
–Număr mare de noduri
–Secvenţiere şi poziţionare precisă
–Control cu sincronizare precisă
Reţele cu care intră în competiţie:
–ProfiBus FMS
–MODBUSPlus
–Ethernet/IP.
9.11.- Ethernet.
Cea mai populară reţea din istorie ( peste 200 000 000 noduri şi creşterea
continuă)
--- introdusă de Xerox din 1970
standard IEEE 802.3
–Nivel fizic (caracteristici electrice)
–Nivel legătură de date (MAC, corectare a erorilor şi formare de cadre –frame
format).
9.11.1.- Variante ale Ethernet-ului.

9.11.2.- Alimentare prin Ethernet (PoE – Power Over Ethernet).


IEEE 802.3AF -Power-over-Ethernet
--- Perechile nefolosite (7-8, 4-5) asigură alimentarea
Include validarea dispozitivului
Acceptat în iunie2003
Injectoare& Taps
9.11.3.- Tipuri de dispozitive PoE.
 "PoE-Compatible" or "Active Ethernet
 Dispozitive necompatibilePoE
--- Tap pasiv–fără conversie
 Tap reglate–se reglează conform cerinţelor dispozitivelor
--- Dispozitive injectoare–furnizează alimentare pentru reţele Cat5.
--------- Dezavantaje
–Necesarul de curent trebuie calculat cu atenţie
–Trebuie atenţie cu dispozitivele apărute înaintea standardizării
–Unele dispozitive utilizează firelePoE
–Probleme cu emisiile EM şi încălzirea
---------- Avantaje
–Puncte de acces la distanţă fără fir cu cost redus
–Aduce punctele de acces mai aproape de antenă (cablu mai mic pentru antenă)
---------- Pasive vs. Reglate.
9.11.4.- Nivelurile de aplicaţie Ethernet.
Modbus/TCP (www.modbus.org)
Ethernet/IP (www.odva.org)
-------- ProfiNet (www.profibus.com)
9.11.4.1.- Modbus/TCP.
Structura de bază a mesajelor este Modbus
Arhitectura reţelei de tip Registru/Bobină identică
Simplu de materializat
-------- Unelte disponibile imediat
Întâlnită la multe automate programabile şi interfeţe om-maşină
Simplitatea este marea slăbiciune şi forţă.
Avantaje
–Nivel de aplicaţie folosindTCP/IP
–Materializat cu uşurinţă
–Mesaje concise
–Foloseşte Modbus, care este larg utilizat şi înţeles
Dezavantaje
–Posibilitate de interschimbare redusă sau 0
–Tipuri de date limitate
–Limitare a dimensiunii datelor transferate
9.11.4.2.- PROFInet.
NU are legătură cu Profibus
Bazat pe MSDCOM –Distributed Component Object Module
Modularitate a procesului cu inteligenţă distribuită
Suport redus
Comunicaţie tip TCP/IP.
9.11.4.3.- Ethernet/IP.
CIP – Common Industrial Protocol (Model obiect de tip DeviceNet) folosind
Ethernet
Suport de la producători semnificativ
Arhitectură specifică producătorului
Sprijinit de ODVA
Compatibilă cu DeviceNet & ControlNet.
BIBLIOGRAFIE.
John S. Rinaldi, Industrial Automation Networking 2004 & Beyond, Real Time
Automation, www.rtaautomation.com.

Cap.10.- Limbajul de programare de tip “Scheme cu contacte”


(LD).

10.1.-Originile limbajului LD.


Limbajul bazat pe scheme cu contacte - LadderDiagram (LD) – provine de la
reprezentarea grafică folosită pentru schemele electrice de comandă
–Comenzile erau realizate cu ajutorul releelor

Limbajul LD a fost dezvoltat pentru a uşura crearea programelor şi


menţierea facilă a acestora
–reprezentări realizate cu calculatorul bazate pe reprezebtarea grafică a schemelor
cu contacte care erau uşor de înţeles
–se reduc costurile de învăţare a limbajului şi de suport tehnic

10.2.- Scrierea limbajului în LD.


--- Scrierea unui program în limbajul LD presupune desenarea unei diagrame
(diagramă LD) similare unei scheme electrice cu contacte.
--- Elementele componente ale diagramei LD modelează funcţionarea elementelor
unei scheme cu contacte.
--- Interpretarea funcţionării diagramei LD este similară interpretării schemelor
electrice cu contacte.
--- Elementele de bază utilizate pentru scrierea unui program în limbaj LD sunt:
-contactele,
–bobinele,
–temporizatoarele,
–numărătoarele şi
–blocurile funcţionale (funcţiile).
10.2.1.- Contactele.
Contactele sunt elemente de programare care modelează contactele
aparatelor electrice de comutaţie.
Ca şi în cazul acestora din urmă, contactele pot fi de tip n.d. (a) şi n.i.(b).

În cadrul unui program LD, contactele pot fi


asociate intrărilor AP, ieşirilor AP sau unor variabile interne.
La intrări pot fi conectate dispozitive care au două stări de funcţionare cum
ar fi:
–contactele auxiliare ale contactoarelor şi releelor,
–contactele n.î. sau n.d. ale butoanelor de comandă,
–contactele n.î. sau n.d. ale limitatoarelor de cursă,
–contactele n.î. sau n.d. ale detectoarelor de mărimi fizice,
–contactele n.î. sau n.d. ale elementelor de protecţie,
–ieşirile digitale ale unor aparate de măsură, protecţie sau comandă,
–ieşirile digitale ale altor AP sau sisteme de comandă etc.
Pe lângă contactele obişnuite, unii producători pun la dispoziţia
programatorilor şi alte elemente de programare corespunzătoare intrărilor AP,
întâlnite, îndeosebi, în cazul circuitele numerice, cum ar fi:
- intrări cu memorie (latch),
- intrări active pe frontul crescător
- intrări active pe frontul descrescător.
10.2.2.- Bobinele.
Bobinele sunt elemente de programare care modelează funcţionarea bobinele
contactoarelor şi releelor electromagnetice.
Ca şi în cazul bobinelor din schemele electrice, bobinele din programele LD
pot avea două stări: alimentate sau nealimentate.

Ele pot fi asociate ieşirilor automatului


dar şi unor variabile interne modelând astfel releele auxiliare din cadrul schemelor
electrice cu contacte. Bobinele sunt elemente de programare care modelează
funcţionarea bobinele contactoarelor şi releelor electromagnetice.
Ca şi în cazul bobinelor din schemele electrice, bobinele din programele LD
pot avea două stări: alimentate sau nealimentate.
Ele pot fi asociate ieşirilor automatului dar şi unor variabile interne
modelând astfel releele auxiliare din cadrul schemelor electrice cu contacte.
Fiecare ieşire este identificată în mod unic, modul de identificare diferind de
la un producător la altul.
Fiecărei ieşiri i se asociază o singură bobină şi unul sau mai multe contacte ce
pot fi utilizate în schemă în mod asemănător contactelor auxiliare ale contactoarelor
şi releelor.
La aceste ieşiri pot fi conectate dispozitive care au două stăride funcţionare
cum ar fi:
–bobinele contactoarelor sau releelor,
–elemente de semnalizare acustică sau luminoasă,
–sarcini de putere mică,
–intrările digitale ale unor aparate de măsură, protecţie sau comandă,
–intrările digitale ale altor AP sau sisteme de comandă etc.
10.2.3.- Temporizatoarele.
Temporizatoarele sunt elemente de programare care modelează funcţionarea
releelor de timp şi a contactelor temporizate.
Sunt utilizate pentru a realiza acţiuni întârziate sau ce durează un anumit
interval de timp.

--- Producătorii de AP (automate pro-


gramabile) furnizează atât funcţii elementare de temporizare cât şi funcţii mai
complexe.
--- Temporizatoarele utilizate în programele LD au o flexibilitate şi o funcţionalitate
mult mai mare decât temporizatoarele utilizate în schemele electrice.
--- Temporizatoarele simple permit realizarea unei acţiuni întârziate cu un anumit
interval de timp ce poate fi programat.
--- Temporizatoarele complexe au în vedere obţinerea unor temporizări variabile,
funcţie de anumite condiţii ce apar la un moment dat.
--- Fiecare temporizator din schemă este identificat în mod unic, modul de
identificare fiind diferit de la un producător la altul.
--- În cazul în care baza de timp este aceeaşi pentru toate temporizatoarele,
precizată în manualul de programare a AP, aceasta este omisă.
--- Valoarea prestabilită poate fi exprimată în unităţi de timp (s).
--- Temporizatoarele au cel puţin o intrare de iniţializare, la activarea căreia începe
temporizarea şi o ieşire.
--- În unele variante, temporizatoarele sunt prevăzute şi cu o intrare de validare şi
încă o ieşire care reprezintă negata primei ieşiri.

10.2,4.- Numărătoarele.
Numărătoarele sunt elemente de programare care poate primi o serie de
impulsuri ce sunt analizate în cadrul programului LD pentru a detecta numărul de
apariţii ale unor evenimente cum ar fi:
– numărul de paşi efectuaţi de un motor pas cu pas,
– numărul de conectări-deconectări ale unui aparat.
– numărul de sticle care au fost umplute într-o staţie de îmbuteliere, etc.

Numărul de evenimente poate fi comparat cu anumite valori prestabilite şi în


funcţie de rezultatul acestor comparaţii pot fi luate anumite decizii şi date comenzile
corespunzătoare.
Există mai multe tipuri de numărătoare, printre cele mai uzuale fiind:
–numărătoarele unidirecţionale crescătoare
–numărătoarele unidirecţionale descrescătoare şi
–numărătoarele bidirecţionale ce pot număra atât descrescător cât şi crescător.
Fiecare numărător din schemă este identificat în mod unic, modul de
identificare fiind diferit de la un producător la altul.
Pentru fiecare numărător se precizează valoarea prestabilită, aceasta
reprezentând valoarea maximă pe care o va număra numărătorul după care va
activa ieşirea.
Numărătorul are cel puţin două intrări, una de numărare şi una de
iniţializare (la activarea acesteia numărătorul începe să numere impulsurile sosite la
intrarea de numărare) şi o ieşire.
Alte variante de numărătoare sunt prevăzute şi cu o intrare de validare şi o
ieşire care reprezintă negata primei ieşiri.
10.2.5.- Blocurile funcţionale.
Pentru materializarea unor funcţii mai complexe menite să uşureze scrierea
programelor în limbaj LD sunt utilizate blocurile funcţionale (BF).
BF modelează diverse categorii de funcţii, cele mai utilizate fiind:
–funcţii de încărcare a unor constante numerice,
–funcţii aritmetice,
–funcţii logice pe 8 sau 16 biţi,
–funcţii de conversie a informaţiei din diferite formate (binar, BCD, Gray, etc),
–funcţii de tratare a întreruperilor,
–funcţii pentru detectarea fronturilor crescătoare sau descrescătoare a semnalelor,
–funcţii pentru realizarea controlerelor şi secvenţiatoarelor,
–funcţii pentru actualizarea rapidă a intrărilor şi ieşirilor,
–funcţii pentru comanda numărătoarelor de mare viteză.
Formatul şi modul de funcţionare al blocurilor funcţionale diferă de la un
automat la altul, fiind specific fiecărui producător în parte.
10.3.- Restricţii în scrierea programelor orientate pe scheme de contacte.
Atunci când se realizează scrierea unui program LD pentru un automat
programabil concret, trebuie să se ţină seama de limitările pe care pachetul de
programe le poate avea:
–limitări privitoare la formatul diagramei LD
–limitări legate de modul de execuţie al programului
Limitările ţin de:
–proprietăţile intrinseci ale limbajului;
–implementările specifice ale diferitelor pachete de programe comerciale
Sunt datorate soluţiilor tehnice adoptate de firmele producătoare pentru
implementarea diverselor elemente ale limbajului.
--- O parte a acestor limitări sunt prezentate în continuare:
– o bobină trebuie să fie alimentată întotdeauna prin intermediul unui contact;
– bobina trebuie să fie introdusă întotdeauna la capătul din dreapta al liniei;
– toate contactele trebuie să fie pe direcţie orizontală;
– numărul contactelor pe o linie de alimentare a unei bobine este limitat prin
program;
– un grup de contacte poate alimenta o singură bobină;
– realizarea buclelor poate fi realizată într-un singur mod sau poate să nu fie
permisă;
– sensul curentului prin circuit este de la stânga, la dreapta diagramei.
De obicei manualele de utilizare ale programelor conţin toate informaţiile
necesare pentru ca utilizatorul să poată scrie programul în formatul acceptat de
AP.
Funcţionarea AP se bazează pe execuţia repetată a programului pe care îl
are înscris în memorie. Fiecare ciclu de execuţie a programului cuprinde 3 etape
separate:
–citirea intrărilor
–execuţia instrucţiunilor din program
–actualizarea ieşirilor
Durata unui astfel de ciclu depinde atât de viteza procesorului cu care este
dotat AP, cât şi de lungimea programului utilizatorului.
Etapa de citire a intrărilor, se citesc stările terminalelor de intrare în AP şi
conform acestora se înscrie informaţia în tabelul intrărilor.
Etapa de execuţie a instrucţiunilor din program, valorile intrărilor sunt
folosite pentru execuţia instrucţiunilor, rezultatul acestora fiind înscrise în tabela
ieşirilor.
Etapa de actualizare a ieşirilor constă în transferarea informaţiei din tabela
ieşirilor către terminalele de ieşire a automatului.
Cele trei etape amintite mai sus se execută separat, modificarea semnalelor
de la intrările AP în etapa a doua nu are efect asupra valorilor intrărilor folosite
pentru execuţia instrucţiunilor. Ele vor fi folosite doar după ce vor fi citite în
următoarea etapă de citire a intrărilor.
Dacă în etapa a doua, în urma execuţiei uneia sau mai multor instrucţiuni se
modifică valoarea unei ieşiri în tabela de ieşiri, această modificare nu va apare
efectiv la terminalul de ieşire corespunzător, decât în etapa a treia. Atunci se
realizează actualizarea ieşirilor pe baza tabelei ieşirilor calculată în etapa de
execuţie a instrucţiunilor care a precedat-o.
În scrierea unui program în limbajul LD trebuie avute în vedere şi modul în
care este interpretat programul scris.
10.4.- Interpretarea programelor LD.
Există două moduri de interpretare a unui program LD:
–citirea se face pe linie -se citesc contactele pe linie, de la stânga la dreapta, linie cu
linie, începând cu prima linie şi terminând cu ultima;
–citirea se face pe coloană - se citesc contactele pe coloană, câte unul, de sus până
jos, coloană cu coloană, începând cu prima coloană din stânga şi terminând cu
ultima din dreapta.
În ambele situaţii trebuie să se aibă în vedere diferenţa faţă de schemele de
comandă cu relee:
–Relee: Omodificare în starea unui contact din circuitul de alimentare a bobinei
unui contactor poate duce la modificarea imediată a stării acesteia indiferent dacă
mai există sau nu alte elemente legate în serie sau paralel cu acel contact.
–Program LD:starea bobinei nu va fi modificată decât după ce se va citi starea
tuturor elementelor prin care aceasta este alimentată.
Datorită vitezei mari de execuţie a procesorului, acest lucru nu pune în
general nici o problemă. Ea trebuie considerată în cazurilor unor aplicaţii critice
unde ar putea să apară o funcţinare diferită de cea dorită.
10.4.1.- Interpretarea programelor LD – Citirea pe linie.
10.4.2.- Interpretarea programelor LD – Citirea pe verticală.

10.4.3.- Limbajul LD în standardul IEC 61131-3.


Prin introducerea acestui limbaj în standardul IEC 61131-3 s-a căutat
uniformizarea unui întreg set de limbaje care se proclamau a fi de tip scheme cu
contacte.
10.4.4.- Execuţia prgramului.
Liniile programlui sunt evaluate de la stânga la dreapta şi de sus în jos
Ramificaţiile din cadrul unei linii sunt evaluate de la stânga sus la dreapta
jos.
10.4.5.- Bobine fără memorie.
The referenced bit is reset when processor power is cycled
– Bobină -( )-
Pune bitul în 1, când linia este evaluată la 1 logic şi pune în 0, când linia este
evaluată la 0 logic
– Bobină negată -(/ )-
Pune bitul în 0, când linia este evaluată la 1 logic şi pune în 1, când linia este
evaluată la 0 logic
În general nu e folosită datorită confuziei pe care o poate introduce.
– Bobină Set (Latch) -(S)-
Pune bitul în 1, când linia este evaluată la 1 logic şi nimic când
linia este evaluată la 0 logic
– Bobină Reset (Unlatch) -(R)-
Pune bitul în 0, când linia este evaluată la 1 logic şi nimic când linia este
evaluată la 0 logic
10.4.6.- Contactele.
Contact normal deschis -||-
–Validează linia de program la dreapta elementului, dacă linia este validată în
stânga acestuia şi bitul corespunzător e în 1 logic.
Contact normal închis -|/|-
–Validează linia de program la dreapta elementului dacă linia este validată în
acestuia şi bitul corespunzător este în 0 logic.
Contact activ pe frontul crescător -|P|-
–Validează partea dreaptă a liniei de program pentru un ciclu când partea stângă
este validată
Contact activ pe frontul descrescător -|N|-
–Validează partea dreaptă a liniei de program pentru un ciclu când partea stângă
este invalidată.
10.5.- Operaţii cu memorare sau fără memorare.
Definiţie
–Valorile cu memorare îşi menţin valoarea şi după un ciclu
deconectare-reconectare la sursa de alimentare
–Valorile fără memorare iau valoarea iniţială (de obicei 0) după un ciclu
deconectare-reconectare la sursa de alimentare
IEC61131-3permitevalorilor săfiedefiniteca fiind cu memorare
–În majoritatea AP-urilor doar temporizatoarele şi bobinele sunt elemente cu
memorare.
10.5.1.- Bobine cu memorare.
 Bitul din memorie corespunzător rămâne nemodificat după întreruperea şi
reconectarea alimentării
– Bobină cu memorie -(M)-
 Pune bitul în 1 când linia este validă şi o pune în 0 când este invalidă.
– Bobină Set cu memorare (Latch) -(SM)-
 Pune bitul în 1 când linia este validă şi nu face nimic când este falsă
– Bobină Reset cu memorare (Unlatch) -(RM)-
 Pune bitul în 0 când linia este validă şi nu face nimic când este falsă.
10.5.2.- Bobine activate pe front.
 Bobină activată pe frontul positiv -(P)-
–Pune bitul în 1 logic cînd linia din stânga trece din starea invalidă în
starea validă
–Bitul rămâne în această stare
--- Bobină activată pe frontul negativ -(N)-
–Pune bitul în 0 logic cînd linia din stânga trece din starea validă în
starea invalidă
–Bitul rămâne în această stare.
10.6.- Temporizatoarele în LD.
Există 3 instrucţiuni ce realizează funcţiile de temporizare în cadrul
standardului IEC61131-3
–TP –Temporizator tip impuls
–TON –Temporizator la conectare
–TOF –Temporizator la
deconectare
Valorile timpului
–Baza de timp este de 1ms (1/1000 s)
–Valorile sunt introduse folosind formatul literal.
10.6.1.- Timers în Ladder Diagram.
Două variante de vizualizare în funcţie de folosirea ieşirilor EN/ENO
–prima metodă necesită elemente suplimentare de programare dacă este necesară
utilizarea stării temporizatorului în alte linii de program;

–a doua metodă asociază un bit lui Q ce poate fi apoi folosit de alte linii de program,
ENO=EN.
10.6.2.- Funcţionarea temporizatoarelor.
IN = condiţia de intrare a liniei
Q = ieşirea comparatorului
–diferă în funţie de tipul de temporizator
PT = valoarea prestabilită
ET = timpul scurs de la activarea temporizatorului

10.7.- Numărătoarele în LD.


--- Trei instrucţiuni cu funcţii de numărător în IEC61131
– CTU –Numărător crescător
– CTD –Numărător descrescător
– CTUD –Numărător bidirecţional
--- Toate trei contorizează tranziţiile liniei
--- Două vizualizări posibile în funcţie de utilizarea ieşirilor EN/ENO
–prima metodă necesită elemente de programare suplimentare dacă starea
temporizatorului este necesară în alte linii de program
–a doua metodă asociază ieşirii Q un bit care poate fi folosit în alte linii de
program,ENO=EN
10.7.1. Funcţionarea numărătoarelor.
Parameteri
–CU/CD = Numărare crecătoare/descrescătoare
–Q/QU/QD = Ieşirea comparatorului
–R = Aducere în Zero
–LD = Încărcarea CVcu PV
–PV = Valoarea prestabilită
–CV = Valoarea numărată de la momentul activării.

Parameteri
–CU/CD = Numărare crecătoare/descrescătoare
–Q/QU/QD = Ieşirea comparatorului
–R = Aducere în Zero
–LD = Încărcarea CV cuPV
–PV = Valoarea prestabilită
–CV = Valoarea numărată de la momentul activării
10.8.- Setul de instrucţiuni IEC1131-3.
IEC61131-3 furnizează un set de bază de instrucţiuni cu care se realizează
operaţiile de bază (81 instrucţiuni LD) :
–Conversii ale tipurilor de date-Trunc,Int_to_Sint, Dint_to_Real, Bcd_To_Int …
–OperaţiiBooleene-Bit Test, Bit Set, One Shot, Semaphores …
–Temporizatoare/ Numărătoare-Ton, Tp,Ctu, Ctd, Ctud
–Operaţii aritmetice simple -Add, Sub, Mul, Div, Mod, Move, Expt
–Diferite operţii matematice-Abs, Sqrt, Ln, Log, Exp, Sin, Cos, Tan, Asin, Acos,
Atan;
–Deplasări de biţi-Shl, Shr, Ror, Rol;
–Operaţii logice-And, Or, Xor, Not;
–Selecţie-Sel, Max, Min, Limit, Mux;
–Comparaţie-GT, GE, EQ, LE, LT, NE;
–Siruri de caractere-Len, Left, Right, Mid, Concat, Insert, Delete, Replace, Find;
–Control -JMP, LBL, JSR, RET.
10.8.1.- Extinderea setului de intrucţiuni IEC1131-3.
Toate operaţiile complexe sunt lăsate pentru a fi definite de producător sau
utilizator
–Operaţiile cu fişiere,PID, diagnostic, bucle For/Next,căutările, sortările nu sunt în
IEC1131-3
–Sunt permise extensii astfel încât producătorii să vină în întâmpinarea cerinţelor
clienţilor
–Toţi producătorii au definite propriile lor extensii
BIBLIOGRAFIE.
Ron Bliss, Introduction to IEC1131-3 Ladder Diagram, Allen-Bradley
SR EN 61131-3, Automate programabile. Partea 3. Limbaje de programare
C.G.Haba, Sisteme de comandă a maşinilor electrice, Ed. Gh.Asachi, Iaşi.

Cap. 11.- Standardizarea dezvoltării programelor de aplicaţii


pentru automate programabile.- E.v.d.Wal/PLCopen (www.plcopen.org)
1.- Standardul IEC61131-3

2.- IEC61131-3 : Elemente comune.


3.-Funcţii. . .
4.- . . . & Blocuri funcţionale (BF).

5.- Exemplu de Bloc funcţional.

6.- Programe : proiectare


ierarhizată.
7.- Diagrame funcţionale secvenţiale (DFS).

8.- DFS secvenţe paralele.

9.- Standardul IEC61131-3.

10.- Limbajele de programare din IEC61131-3.


11.- Diagrame bazate pe scheme cu contacte (DL).

12.- Lista de instrucţiuni (IL).

13.- Text structurat (ST).

14.- Diagrame de BF (DBF).

15.- Standardul IEC 61131-3.


16.- Medii de programare IEC.

Care este beneficial acestui standard ?


Utilizatori ? Care utilizatori ?

•Linii de producţie din industria auto;


•Staţii de tratarea apei;
•Echipamentede prelucrare şi împachetare în ind. alimentară;
•Industria cablurilor;
•Sisteme automatizate din ind. semiconductorilor;
•Parcuri de distracţie;
•Etc.
Această arie largă presupune existenţa unor pregătiri diferite!
Care este totuşi beneficiul standardizării ?

Cap.12.- Structura automatelor programabile.


12.1.- Introducere.
Automatul programabil se poate prezenta sub formă:
–monolitică
–un ansamblu de blocuri funcţionale care sunt grupate în jurul unei căi de
comunicaţie (magistrală internă).
În acest caz, fiecare bloc poate fi realizat fizic sub forma unui modul specific.
Organizarea modulară permite atât o flexibilitate crescută în configurarea AP în
funcţie de necesităţile utilizatorului cât şi o depanare şi o întreţinere mai uşoară.
Un AP este un calculator industrial, care a fost adaptat din punct de vedere
al hardware-lui şi al software-lui pentru a fi utilizat în anumite aplicaţii specifice.
12.2.- Tipuri de AP.

12.3.- Dimensiunile AP.


AP Micro : <32 I/O
APMici: 32-128 I/O
APMedii: 128 -1024 I/O
APMari: 1024-4096 I/O
APFoarte Mari: 4096-8192 I/O
12.4.- Elementele componente ale AP.
Unitatea centrală de prelucrare
Programatorul/Monitorul
Module de intrare/ieşire
Sertare şi carcase
şi opţional
Imprimantă
Unităţi de stocare a informaţiei.
12.4.1.- Unitatea centrală de prelucrare.
Conţine :
 Procesorul
 Memoria
 Sursa de alimentare.
12.4.1.1.- Procesorul.
 Unul sau mai multe microprocesoare care realizează:
calcule aritmetice şi logice;
 Comunicaţia şi interacţiunea dintre celelalte componente.
12.4.1.2.- Memoria.
Aceasta poate fi de mai multe tipuri:
 ROM
 RAM.
 ROM (read only memory) – această memorie este utilizată pentru stocarea
sistemului de operare al AP;
 RAM (random access memory) –este împărţită în mai multe blocuri având
fiecare o utilizare specifică.
 Sunt păstrate:
–imaginile ieşirilor şi intrărilor AP,
–valorile prestabilite şi actuale ale temporizatoarelor şi contoarelor,
–zona de lucru a procesorului,
–zona de stocare a programului,
–alte zone de memorie având destinaţie specială.
 Memoria RAM îşi pierde conţinutul la întreruperea sursei de alimentare de
aceea, pentru menţinerea programului şi a datelor stocate în aceasta, AP trebuie să
aibă prevăzută o sursă de alimentare auxiliară (baterie).
12.4.1.3.- Sursa de alimentare.
Realizează adaptarea şi conversia tensiunii alternative în tensiune continuă
pentru alimentarea diferitelor elemente ale AP.
Poate furniza o tensiune pentru alimentarea elementelor conectate la intrări
şi ieşiri (senzori, elemente de execuţie etc).
12.4.2.- Programatorul/Monitorul.
Acesta este un dispozitiv care comunică cu elementele AP şi care permite
transferarea programului de aplicaţie în memoria AP, monitorizarea şi vizualizarea
funcţionării AP.
Programatorul poate fi:
–un programator manual,
–un terminal industrial
–un calculator personal.
12.4.3.- Module de intrare/ieşire.
Aceste module sunt dispozitive prin care AP comunică cu sistemul de acţionare sau
instalaţia pe care trebuie să le comande şi cu mediul exterior.
12.4.4.- Sertare şi carcase.
Aceste elemente permit montarea într-un ansamblu unitar a elementelor AP.
12.4.5.- Imprimanta.
Imprimantele sunt folosite pentru listarea programului de aplicaţie după care
funcţionează AP şi a altor mesaje şi informaţii legate de sistemul comandat.
12.4.6.- Unitătile de stocare a informaţiei.
Sunt folosite ca dispozitive de stocare secundare pentru:
–programul de aplicaţie din memoria AP
–alte date şi informaţii utile pentru salvarea acestora sau încărcarea lor pe/de pe
suportul magnetic (bandă sau disc magnetic).
Programele de aplicaţii pot fi realizate şi înregistrate pe suport magnetic în
laboratoare de dezvoltare a aplicaţiilor de bază pentru AP şi apoi încărcate în
memoria AP aflate în sistemele de comandă plasate în halele de producţie.
Versiunile mai vechi de AP erau dotate cu casetofoane. Versiunile recente
utilizează unităţi de disc flexibil sau unităţi de disc dur.
12.5.- Module de intrare/ieşire totul sau nimic (digitale).
 Semnalele sunt de tip logic
 Valorile tipice sunt:
–“0” logic = 0 V
–“1” logic =
5 Vcc;
12 Vcc;
24 Vcc;
48 Vcc;
12 Vca;
24 Vca;
120 Vca;
240 Vca.
12.5.1.- Modulele de intrare digitale.
 Permit unităţii centrale a AP să efectueze o citire a stării logice a
traductoarelor sau senzorilor care îi sunt asociaţi.
 Modulele au în general 4, 8, 16 sau 32 de intrări.
 Fiecărei intrări îi corespunde o cale ce prelucrează semnalul electric pentru a
elabora o informaţie binară, bitul de intrare care este memorat.
Schema bloc a căii de semnal pentru o intrare digitală, este :
--- Ansamblul de biţi de intrare formează cuvântul de intrare. Periodic, procesorul
automatului adresează (citeşte modulul), conţinutul cuvântului de intrare este astfel
copiat în zona de date ale automatului.
--- Fiecare cale este filtrată împotriva paraziţilor şi a contactelor imperfecte şi
izolate electric pentru a mări fiabilitatea şi securitatea sistemului (izolare galvanică).
--- Un modul de intrare este definit în principal prin numărul de intrări pe care le
are şi caracteristicile electrice acceptate (tensiune, tipul curentului etc).
12.5.2.- Structura şi conectarea senzorilor (cu 3 fire) la intrările dugutale tip NPN.

12.5.3.- Structura şi conectarea senzorilor (cu 2 fire) la intrările dugutale tip NPN.

12.5.4.- Structura şi conectarea senzorilor (cu 3 fire) la intrările digitale tip PNP.

12.5.5.- Structura şi conectarea


senzorilor (cu 2 fire) la intrările
dugutale tip PNP.
12.5.6.- Module de numărare de mare viteză.
Sunt module de intrare digitale care au de îndeplinit funcţia de numărare a
impulsurilor aplicate la intrarea modulului.
Informaţia transmisă către memoria automatului, atunci când AP va adresa
acest modul, va fi numărul de impulsuri sosite de la ultima adresare sau numărul
total de impulsuri numărate de la iniţializare.
Sunt utilizate în general pentru numărarea impulsurilor cu frecvenţă mare
provenind de la senzori, encodere, sau contacte.
Utilizarea modulelor de numărare de mare viteză uşurează munca
programatorului deoarece el poate degreva unitatea centrală a AP de astfel de
funcţii care consumă din puterea şi timpul de calcul al acesteia.

12.6.- Module de ieşire digitale.


Un modul de ieşire permite automatului programabil să acţioneze asupra
elementelor de acţionare.
Realizează corespondenţa: stare logică - semnal electric.
Periodic, procesorul adresează modulul de ieşire şi realizează înscrierea
biţilor unui cuvânt de memorie pe căile de ieşire ale modulului.
Elementele de comutaţie ale modulului sunt :
–electronice ( tranzistoare şi triacuri );
–electromecanice (contacte de relee interne modulului).
Ieşirile cu tranzistoare sunt utilizate în cazul comenzii dispozitivelor de c.c.
Ieşirile cu triacuri sunt folosite pentru comanda dispozitivelor de c.a.
Ieşirile cu relee pot fi utilizate atât pentru comanda dispozitivelor de c.c. cât
şi a celor de c.a.
Modulele care au număr mare de ieşiri
–au avantajul că prin utilizarea lor se ocupă mai puţine locuri pe magistrala
automatului.
–au dezavantajul că nu pot furniza un curent mare de comandă pentru ieşiri.
Schema bloc a căii de semnal pentru o ieşire digitală, este :
12.6.1.- Ieşirea digitală electromecanică.

12.6.2.- Ieşiri digitale de tip static.

12.7.- Module de intrare/ieşire analogice.


Având în vedere că AP sunt dispozitive numerice, modulele analogice trebuie
să realizeze o corespondenţă între mărimi analogice (curenţi sau tensiuni) şi valori
numerice.
Rezoluţia (cea mai mică valoare de curent sau tensiune) este dată de numărul
de biţi utilizaţi pentru codificarea numerică.
O altă caracteristică a unui astfel de modul este viteza de conversie.
12.7.1.- Module de intrare analogice.
Există două tipuri de module de intrare analogice:
–intrări analogice care realizează detectarea depăşirii unui prag de tensiune sau
curent,
–intrări analogice de măsură.
12.7.2.- Module de intrare analogice cu prag.
Schema bloc a căii de semnal pentru o intrare analogică cu detecţie de prag, este :

12.7.3.- Module de intrare analogice de măsură.


--- Modulele sunt prevăzute cu circuite de conversie analog numerică (A/N).
--- Modulele de intrare analogice de măsură de tensiune pot fi :
–unipolare (primesc la intrare numai tensiuni pozitive în general0÷10V)
–bipolare (primesc la intrare tensiuni negative şi pozitive în general -10÷+10V).
--- Modulele de curent sunt unipolare şi primesc la intrare curenţi în general în
gama 4÷20mA.
--- Există posibilitatea reglării atenuării sau amplificării semnalului de intrare ceea
ce permite mărirea domeniului de măsură.
--- Un astfel de modul poate sau nu să efectueze o serie de operaţiuni de liniarizare a
semnalului de intrare înainte de a fi scris cuvântul de intrare în memorie.
Schema bloc a căii de semnal pentru o intrare analogică de măsură, este :
12.7.4.- Modulele de ieşire analogice.
Fiecare ieşire este imaginea analogică a valorilor numerice codificate pe un
grup de biţi (8 sau 12) definit de program.
Modulele analogice de ieşire permit conectarea AP la elemente de
preacţionare (variatoare de putere, variatoare de viteză,...) pentru a realiza funcţii
de comandă şi de reglare.
Fiecare ieşire este definită prin natura semnalului furnizat şi prin limitele
sale (0-10V, 4-20 mA).
Schema bloc a căii de semnal pentru o ieşire analogică, este :

12.7.5.- Module intrare/ieşire la distanţă.


Folosite în cazul în care instalaţia comandată prin intermediul AP este
formată din mai multe echipamente care sunt amplasate în locuri diferite aflate la o
anumită distanţă unul faţă de celălalt şi faţă de AP.
Caracteristici:
–calea prin care este transmisă informaţia
–distanţa de la care se realizează această transmisie.
Transmisia informaţiei se face prin intermediul unei legături prin:
–cablu torsadat (distanţe de sute de metri)
–cablu cu fibre optice (distanţe de kilometri).
Utilizate datorită imunităţii crescute la perturbaţii.
12.7.6.- Module de comunicare.
Cea mai utilizată legătură pentru dialog între AP şi elementele periferice
(terminale de programare sau exploatare, imprimante, ...), este cea serie.
Acest mod de comunicare permite schimbul de caractere compuse din biţi
transmişi unul după altul pe linia de comunicare.
Viteza de transmisie se exprimă în biţi pe secundă (bauds).
12.7.6.1.- Module de comunicare cu server.
Aceste module sunt utilizate pentru a permite AP să realizeze o comunicaţie
bidirecţională cu un server care poate fi un PC sau un alt AP.
În general, comunicarea de la server la AP prin intermediul acestor module
este folosită pentru programarea AP.
Pot fi modificaţi anumiţi parametri în program sau chiar întregul program
existent în memoria AP.
În sens invers, AP poate să transmită serverului o serie de informaţii care pot
fi folosite de acesta pentru a determina durata unor procese, încheierea anumitor
etape, apariţia unor situaţii de funcţionare necorespunzătoare.
De obicei aceste module permit comunicarea AP cu serverul prin intermediul
unei legături seriale de tip RS232.
12.7.6.2.- Module de comunicare de la egal, la egal (per-to-per).
Modulele de la egal la egal sunt utilizate pentru a permite comunicare AP
între ele.
Informaţiile pe care acestea le schimbă între ele sunt utilizate pentru
obţinerea unei funcţionări în care AP să coopereze în vederea îndeplinirii unor
sarcini.
12.7.6.3.- Module de comunicare ASCII.
--- Au capacitatea de a recepţiona şi a transmite informaţia codificată folosind
fişiere în cod ASCII.
--- Avantajul acestor module este faptul că pot fi folosite pentru a realiza interfaţa
dintre AP şi alte echipamente care recunosc informaţia în cod ASCII cum ar fi
imprimantele sau terminalele de dialog cu utilizatorul.
12.7.6.4.- Module pentru controlul poziţiei.
--- Aceste module sunt utilizate în cadrul aplicaţiilor care necesită poziţionarea
spaţială a unor elemente componente prin intermediul unor elemente de acţionare.
--- Modulele pot fi utilizate pentru controlul poziţiei în sisteme în
–buclă deschisă:
–buclă închisă.
12.7.6.4.1.- Modulele de poziţionare în buclă deschisă.
În această categorie intră modulele de control a poziţiei bazate pe utilizarea
motoarelor pas cu pas (MPP).
Asigură o serie de funcţii, în special de accelerare şi încetinire
Este mult uşurată comanda MPP cu ajutorul AP în aplicaţii ce implică
poziţionarea precisă în două sau trei axe.
Alte funcţii:
–poziţionare a sistemului într-o poziţie iniţială
–protecţie a sistemului prin limitarea cursei anumitor elemente mobile.
12.7.6.4.2.- Modulele de poziţionare în buclă închisă.
Utilizate pentru comanda maşinilor cu comandă numerică, linii de asamblare
automate sau robotică.
Cele mai întâlnite aplicaţii presupun poziţionarea unei mese mobile care este
acţionată de motoare de c.c. sau de c.a.
Pentru închiderea buclei, în cazul controlului poziţiei se utilizează un
encoder.
Pentru reglajul vitezei, închiderea buclei este realizată cu ajutorul unui
tahometru.
12.8.- Module video.
Folosite în special în aplicaţiile care necesită realizarea unor operaţii de
inspecţie în cadrul procesului de fabricaţie.
Se poate face un reglaj automat al procesului pentru eliminarea pieselor
fabricate necorespunzător.
12.9.- Module cititoare pentru coduri de bare.
--- Utilizarea codurilor de bare pentru identificarea automată a devenit o practică
curentă în cadrul liniilor de asamblare automată.
--- Folosite pentru a codifica informaţia referitoare la diverse etape ale procesului de
producţie/asamblare pentru a urmări traseul şi evoluţia anumitor produse în cadrul
fluxului tehnologic.
--- Permite ţinerea evidenţei exacte a stocurilor existente şi a celor care sunt în curs
de a fi finalizate.
--- Îmbogăţesc capacitatea unui AP cu funcţii ce permit citirea informaţiilor astfel
codificate pentru a fi ulterior folosite în comanda instalaţiei.
12.10.- Module pentru reglajul automat.
AP pot fi utilizate în acest scop în cazul în care nu se urmăreşte aplicarea
unor algoritmi de reglare de complexitate ridicată.
Variante:
–utilizarea unor module de prelucrare speciale;
–utilizarea modulelor de intrare/ieşire obişnuite şi materializarea prin program a
algoritmilor de reglaj.
Cele mai utilizate module pentru reglajul automat sunt cele care
implementează algoritmii de tip PID.
Ajustarea sistemului se realizează prin reglarea potenţiometrelor care
stabilesc parametrii buclelor de reacţie proporţională, diferenţială şi integrală.

12.10.1.- Reglaj automat realizat prin program.


În cazul în care bucla de reglare este materializată prin program, ajustarea
sistemului se realizează prin modificarea unor parametri din program. În acest caz
pentru intrări se utilizează module de intrare analogice obişnuite în timp ce pentru
ieşiri se pot utiliza module de intrare analogice sau digitale.
Există module prin care se materializează alţi algoritmi de reglare automată
cum ar fi module pentru controlul folosind reacţia pozitivă sau folosind logica fuzzy.
Ca şi în cazul reglării PID, ca urmare a creşterii puterii de calcul a unităţii
centrale, aceşti algoritmi pot fi materializaţi prin programul automatului
programabil.
12.11.- Dispozitive de intrare/ieşire pentru interfaţa om-maşină.
Funcţii:
–(principală) cea de programare a AP.
–monitorizarea funcţionării AP,
–verificarea programului înscris în memoria AP
–depanarea circuitului
Prin intermediul acestor terminale, operatorul uman poate introduce sau
modifica programul unui AP la locul în care acesta se află, fără a mai fi nevoie de
alte dispozitive sau aparate ajutătoare.
Prin cuplarea terminalului, comportarea AP poate fi examinată în timpul
funcţionării.
Informaţiile necesare operatorului sunt afişate prin intermediulunui ecran
cu:
–tub catodic
–cu cristale lichide.
Dimensiunile acestora pot varia de la câteva linii de caractere până la un
ecran.
În primul caz, dispozitivul de afişare va fi mai ieftin însă nu va permite decât
afişarea unei porţiuni mici din programul AP şi un număr restrâns de informaţii
legate de starea AP.
Informaţiile către AP sunt introduse de către operatorul uman prin
intermediul:
–unor butoane,
–a tastaturii,
–a ecranelor sensibile la atingere,
–cititoarelor de coduri de bare.
12.12.- Terminale simple.
Dispozitive simple care au de cele mai multe ori doar un monitor şi o
tastatură.
Sunt dotate cu inteligenţă, întreaga funcţionalitate privind comunicarea
dintre om şi maşină este înglobată în AP.
Afişează informaţia transmisă de AP şi permit introducerea şi transmiterea
informaţiei de la utilizator la AP.
Transmiterea informaţiei prin intermediul acestor terminale se realizează în
format ASCII.
Avantaj: preţ de cost redus, terminalul poate fi utilizat cu o gamă largă de
AP.
Dezavantaj: nu permit încărcarea unui program sau modificarea acestuia în
memoria AP.
Utilizarea lor devine din ce în ce mai redusă.
12.13.- Terminale industriale dedicate.
--- Au încorporată o anumită inteligenţă care le permite să îndeplinească o parte
mai mică sau mai mare din funcţiile amintite mai sus.
--- O serie de terminale permit scrierea directă a programului în memoria AP.
--- O altă categorie de terminale sunt dotate cu memorie proprie astfel încât
programul poate fi scris în această memorie după care el este transferat în memoria
AP.
--- Mare parte din aceste dispozitive permit utilizatorului să depaneze programul
scris chiar în timpul funcţionării acestuia.
--- Pot fi introduse valori pentru intrările sau pentru ieşirile automatului astfel încât
să se poată urmări funcţionarea acestuia în diversesituaţii.
Terminale industriale dedicate (vedere).

12.14.- Programatoare de mână.


Sunt utilizate în general pentru programarea AP de dimensiuni mici.
Cuplate la AP, ele pot afişa informaţii privind:
–starea AP,
–starea intrărilori
–starea ieşirilor,
–valorile diferitelor variabile interne,
–valoarea curentă şi cea prestabilită a numărătoarelor
–valoarea curentă şi cea prestabilită a temporizatoarelor.
Programatoarele de mână pot fi folosite pentru depanarea AP prin
monitorizarea funcţionării acestuia şi prin modificarea intrărilor, ieşirilor sau alţi
parametri ai programului.
Avantaje: dimensiunile mici care le fac portabile.
Dezavantaje: au înglobată inteligenţă redusă, dimensiunea mică a ecranului
de afişare (la un moment dat nu poate fi vizualizată decât o mică parte a
programului din memoria calculatorului).
Vederea exterioră programatoare de
mână.

12.15.- Calculatoare personale.


Datorită creşterii numărului de calculatoare personale disponibile, acestea au
devenit în ultimul timp unul dintre celemai folosite dispozitive de interfaţă om
maşină.
Avantajele:
–permit programarea oricărui tip de AP cu condiţia să avem pachetul de programe
corespunzător;
–în cazul în care calculatorul personal este de tip portabil, acesta permite
programarea şi depanarea AP în locul de funcţionare;
–asigură o suprafaţă de afişare a informaţiei mare atât alb-negru cât şi color;
–permit păstrarea unor copii ale programului şi realizarea de verificări periodice
pentru a vedea dacă programul în memoria AP nu s-a modificat datorită unor
semnale perturbatoare;
–permit documentarea programelor prin adăugarea de comentarii la liniile de
program
–permit imprimarea documentaţiei la o imprimantă;
–permit simularea funcţionării AP în vederea depanării programului ce urmează a
fi încărcat în memoria acestuia;
–asigură accesul la o gamă largă de dispozitive şi suporturi de stocare a informaţiei;
–permit utilizarea unor nume simbolice pentru intrări, ieşiri, variabile interne,
temporizatoare sau numărătoare uşurând astfel înţelegerea programului AP;
–permit realizarea unor pachete de programe care să ofere informaţii bogate legate
de starea de funcţionare a AP utile în procesul de depanare a acestuia.
Vedre exterioară calculator personal.

12.16.- Alegerea unui AP.


Criteriu
Numărul de intrări şi ieşiri logice
Memoria
Numărul de module speciale deI/O
Posibilităţile de extindere
Timpul de scanare
Posibilităţi de comunicaţie
Pachetele de programe software
Suporttehnic
Preţul
Exemplu de foaie de catalog.

Cap.13.- Limbajul de programare de tip “Text structurat”


(ST).
13.1.- Operatori în ST.
Simbol Operaţie
(expresie) Evaluarea parantezei
identificator(listă de parametri) Evaluarea funcţiei
Exemple:
LN(A), MAX(X,Y), etc.
** Ridicare la putereExponentiation
- Negare
NOT Complement
* Înmulţire
/ Împărţire
MOD Modulo
+ Adunare
- Scădere
< , > , <= , >= Comparare
= Egalitate
<> Inegalitate
& SI logic
AND SI logic
XOR SAU-EXCLUSIV
OR SAU logic
13.2.- Instrucţiunea de atribuire.
A := B;

A := B;
Tip dată la tip dată
INT la INT
sau
Configuratie_Canal_Analogic la Configuratie_Canal_Analogic
13.3.- Instrucţiuni de control şi buclare.
IF .. THEN .. ELSE
CASE
FOR
WHILE …
REPEAT UNTIL
13.3.1.- Instrucţiunile IF…TEN…ELSE.
IF conditie= true
THENactiune1
ELSE actiune2 (condiţia nu e adevarată)
Exemplu :
IF plouaTHEN Stai_acasaELSE
Mergi_La_Plimbare

D := B*B -4*A*C ;
IF D < 0.0 THEN
NROOTS := 0 ;
ELSIF D = 0.0 THEN
NROOTS := 1 ;
X1 := -B/(2.0*A) ;
ELSE
NROOTS := 2 ;
X1 := (-B + SQRT(D))/(2.0*A) ;
X2 := (-B -SQRT(D))/(2.0*A) ;
END_IF ;
13.3.2.- Instrucţiunea CASE : IF repetitive
CASE selector OF
valoare_selector :actiune
ELSE …..
END_CASE;

TW := BCD_TO_INT(THUMBWHEEL);
TW_ERROR := 0;
CASE TW OF
1,5: DISPLAY := OVEN_TEMP;
2: DISPLAY := MOTOR_SPEED;
3: DISPLAY := GROSS -TARE;
4,6..10: DISPLAY := STATUS(TW -4);
ELSE DISPLAY := 0 ;
TW_ERROR := 1;
END_CASE;
QW100 := INT_TO_BCD(DISPLAY);
13.4.- Instrucţiunea FOR.
SUM := 0 ;
FOR valoare_initialaTO valoare_finalaDO
END_FOR ;
Exemplu :
SUM := 0 ;
FOR I := 1 TO 3 DO
FOR J := 1 TO 2 DO
SUM := SUM + J ;
END_FOR ;
SUM := SUM + I ;
END_FOR ;

J := 101 ;
FOR I := 1 TO 100 BY 2 DO
IF WORDS[I] = 'KEY' THEN
J := I ;
EXIT ;
END_IF ;
END_FOR ;
13.5.- Instrucţiunea WHILE.
J := 1;
WHILE J <= 100 & WORDS[J] <> 'KEY' DO
J := J+2 ;
END_WHILE ;
13.6.- Instrucţiunile REPEAT…UNTIL.
J := -1 ;
REPEAT
J := J+2 ;
UNTIL J = 101 OR WORDS[J] = 'KEY'
END_REPEAT ;
13.7.- Instrucţiunile EXIT şi RETURN.
Instrucţiunea EXIT va fi folosită pentru a termina interaţiile înainte să fie
satisfăcută condiţia de încheiere a iteraţiilor.
SUM := 0 ;
FOR I := 1 TO 3 DO
FOR J := 1 TO 2 DO
IF FLAG THEN EXIT ; END_IF
SUM := SUM + J ;
END_FOR ;
SUM := SUM + I ;
END_FOR ;
BIBLIOGRAFIE.
E.van der Wal, Structured Text-a high level language, www.plcopen.org
SR EN 61131-3, Automate programabile. Partea 3. Limbaje de programare
C.G.Haba, Sisteme de comandă a maşinilor electrice, Ed. Gh.Asachi, Iaşi.
Materialul acestui supliment a fost extras de pe Internet cu adresa :
www.ee.tuiasi.ro/~cghaba/spmenote curs.htm, deci autorul este C.G. Haba.

Supliment 3.
În continuare se prezintă, tot ca supliment, manualul utilizatorului
pentru un releu inteligent de tip ZELIO LOGIC 2 (Scneider electric,
conform cu documentaţia 2004) cu toate detaliile pentru programarea
sa (vezi pagina următoare).

ZELIO LOGIC 2
Releu inteligent – manualul utilizatorului
ianuarie 2004
CAP 1. O cunoaştere iniţială a unui releu inteligent.
1.1.- O prezentare.
Releele inteligente sunt realizate pentru simplificarea schemelor electrice în cazul
soluţionării problemelor complexe. Ele sunt foarte simple pentru exploatare, iar
funcţionalitatea lor şi productivitatea lor ridicată, permite utilizatorului să economisească
timpul şi banii.
Acest manual al utilizatorului este destinat pentru cei ce nu au o experienţă prea mare în
dezvoltarea sistemelor de automatizare, dar ar dori totuşi să folosească releele inteligente.
Vederea din fată a unui astfel de releu este dată în figura următoare :

Descrierea panoului din faţă a releului


Referinţa Descrierea
1 Picioruşul extensibil de montaj.
2 Cleme pentru conectarea alimentării.
3 Dysplai cu cristale lichide, 4 rânduri, 18 simboluri/rând.
4 Cleme pentru ieşiri.
5 Cleme pentru ieşirile analogice (0 – 10 volţi),care pot fi folosite ca discrete în cazul unor
modele.
6 Lăcaş pentru memoria de rezervă sau pentru cablul de conectare la PK (?) - PC.
7 Butonul Shift.
8 Butonul de alegere şi confirmare (Menu/OK).
9 Cleme pentru ieşirile specifice releelor.
10 Butoanele-săgeţi sau dacă sunt configurate, atunci sunt Z-butoane.

Descrierea display-ului, a cărui vedere este dată în figura următoare :

Referinţa Descrierea.
1 Reflectarea stărilor ieşirilor (B … E reprezintă ieşirile analogice); fiecare ieşire analogică
poate fi folosită în calitate de ieşire discretă.
2 Reflectarea regimului de lucru ((RUN/STOP) şi a regimului de programare (LD/FBD).
3 Reprezentarea datelor (număr şi timpul pentru dispozitivele ce permit astfel de posibilităţi)
4 Reprezentarea stărilor ieşirilor.
5 Menu-ul de context / tastele pentru acţiune rapidă / icoanele ce reflectă regimul de lucru.

1.2.- Caracteristicile şi conectarea.


Conectarea releului de c.c.

1.3.- Tastele de comandă.


Descrierea.
Tastele, dispuse pe panoul frontal al releului, sunt destinate pentru configurarea
programării şi controlul (conducerea) aplicaţiei, de asemenea, pentru supravegherea
lucrului aplicaţiei. Display-ul cu cristale lichide se activează pentru 30 de secunde când
utilizatorul apasă oricare tastă
Exemplu :
Tasta Shift. Tasta albă şi este dispusă la dreapta ecranului. Când tasta Shift
este apăsată, deasupra Z-tastelor apare menu-ul de context (ins, del, Param, ş.a.)

Tasta Menu/OK. Tasta albastră şi este dispusă sub ecran. Această tastă se
foloseşte pentru confirmarea : menu, submenu, programe, parametri, etc.

Taste de navigare sau Z-taste. Z-tastele sunt taste de culoarea gri, dispuse în
linie de la stânga (Z1), la dreapta (Z4), sub LCD. Săgeţile ce arată direcţia de
mişcare sunt dispuse deasupra tastelor. Tastele de navigare se folosesc pentru
deplasarea în sus, în jos, la stânga şi la dreapta
Poziţia pe ecran este prezentată printr-o zonă intermitentă (clipire) :
patrat ■ pentru o poziţie ce corespunde unui contact (numai în regimul de
programare);
cerc ● pentru o bobină (numai în regimul de programare).
NOTĂ. Când tastele pot fi folosite pentru alte acţiuni, în afară de deplasare, atunci se
afişează rândul din meniul de context (De exemplu : 1, 2, 3 şi 4, ca intrări legate cu Zx-
taste).

Menu-ul de context.
Când cursorul este plasat (pe un) într-un parametru modificabil, atunci la apăsarea tastei
Shift apare menu-ul de context.
Ilustrarea este dată în figura următoare :
 + / - : se folosesc pentru obţinerea diferitelor valori posibile ale câmpului ales
(tipurile input-urilor, output-urilor, a blocurilor funcţionale, a valorilor numerice, etc);
 Ins. : instalează un rând, când cursorul se găseşte deasupra unui parametru, sau o
funcţie automată când cursorul se afla deasupra unui câmp liber;
 Del. : îndepărtează elementul indicat sau rândul;
 Param. : afişează parametri funcţiei automate (se va putea vedea numai dacă
funcţia automată posedă parametrul).

3.- Tastele de comandă.

 ←↑→↓ :Direcţia link-ului (apare în cazul în care cursorul se află în câmpul de


link-are).

 1 2 3 4 : acest rând apare când Zx-tastele se foloses în calitate de input în


program.

 ← → : Alegerea parametrilor pentru modificari.


 + / - : Permit observarea diferitelor valori posibile pentru un parametru dat.

 Cheia, indică faptul că programul este protejat printr-o parolă.


 , indică starea modulului. RUN este în execuţie, STOP este oprit.
 Se indică (semnul exclamării!) că au apărut erori (vezi menu-ul FAULT).
 Se indică că modulul este legat de calculator.

1.4.- Exemple.
Descrierea/Acţiunea Ecranul
Alegerea limbajului

SAU +
(Alegerea este evidenţiată prin clipirea textului) Tasta Menu/OK se foloseşte pentru confirmarea alegeri
limbajului. Ecranul se reîntoarce la menu-ul principal (MAIN)
(regimul STOP).
Reîntoarcerea la ecranul INPUT S– OUTPUTS

Tasta Menu/OK se foloseşte pentru confirmarea alegerii


limbajului.
De fapt acest subparagraph stabileşte cum se pot folosi tastele
releului inteligent (în afara releului fără ecran).

Exemplul 1 se referă la alegerea limbajului (aceeaşi


procedură este independentă de varianta de execuţie).
Conectarea

La conectare apare ecranul INPUTS – OUTPUTS (vezi Cap.2-


Descrierea menu / ecran INPUTS – OUTPUTS. Implicit limba
aleasă este cea engleză.
Se intră menu-ul principal (MAIN), si se trece la menu-ul
alegerii limbajului : LANGUAGE.

+ 7 ori
Se intră în menu-ul alegerii limbajului.

Opţiunea activată se însemnează prin rombul negru.♦


Exemplul 2 : se referă la modificarea datei şi a timpului la
conectare sau în cazul unei întreruperi îndelungate a
alimentării.
Din ecranul de INPUTS /OUTPUTS se intră în menu-ul principal
(MAIN), iar după aceea se intră în CONFIGURATION

+ 3 ori
Din meniul CONFIGURATION se intră în submeniul
modificării datei/timp – CHANGE D/T

+ 3 ori
Se intră în menu-ul configurării datei şi a timpului :

Se alege parametrul pentru modificare folosind tastele de


navugare (alegerea este evidenţiată prin clipirea parametrului) :

Tasta Menu / OK se foloseşte pentru confirmarea modificării.


Ecranul se returnează în menu-ul principal (MAIN) (regim
Se modifică parametrul folosind tastele de navigare : STOP).

apoi se confirmă prin tasta Menu / OK .


Revenirea la ecranul INPUTS/OUTPUTS

Tasta Menu / OK se foloseşte pentru confirmarea alegerii


limbajului.

1.5.- Diferenţele în limbajele de programare. Se folosesc : LD / FBD.


Unele funcţii sau menu apar legate de tipul limbajului de programare folosit : LD sau
FBD.
Funcţiile accesibile în dependenţă de limbajul folosit : LD / FBD.
Funcţia LD FBD
Programarea aplicaţiei de pe panoul frontal al releului x
Stabilirea parametrilor pentru blocurile funcţionale. x x
Controlul aplicaţiei. x x
Controlul dezvoltării aplicaţiei. x x

Functions accessible according to the mode used: LD and FBD


Cap.2.- Descrierea Menu-ului.
2.1.- Prezentarea Menu-ului.
Descrierea
Aceste funcţii sunt comasate în menu-ul principal (MAIN).

Rândul clipitor indică unde ne găsim în momentul respectiv.


Triunghiul dirijat în sus ▲ indică faptul că în partea superioară (sus) se mai află unele
rânduri de menu, accesibile prin defilare, în timp ce triunghiul dirijat spre partea
inferioară (jos) ▼, indică faptul că unele rânduri ale menu-ului se găsesc şi mai jos.
Controlul (conducerea) Menu-ului.
Implicit apare ecranul INPUTS/OUTPUTS independent de limbajul LD sau FBD.
Apăsarea tastei Menu/OK comută ecranul de la INPUTS/OUTPUTS, la menu-l
principal MAIN. Punctul Menu din pimul rând al ecranului este ales implicit (clipeşte).
Tastele săgeţilor pot fi folosite pentru deplasarea cursorului pe alte puncte ale menu-ului.
Se apasă tasta albastră Menu/OK pentru a fi afişat punctul corespunzător din menu sau
pentru deplasarea la primul submenu.
NOTĂ. Diversele funcţii ale menu-ului se modifică corespunzător cu limbajul de
programare folosit : LD sau FBD.

2.2.- Ecranul INPUTS – OUTPUTS.


Descrierea.
Această interfaţă este de cel mai înalt nivel dacă nici o funcţie de reprezentare nu este
activată : TEXT (LD) sau DISPLAY (FBD). Acest ecran este arătat (în figura
următoare) în mod implicit independent de limbajul de programare : LD sau FBD şi
regimul : STOP sau RUN.
Exemplu
Ecranul INPUTS/OUTPUTS poate fi folosit în vederea observării :
Stării input-urilor : de la 1, la 9; de la A, la P (1)
Regimul de lucru : RUN/STOP (2)
Limbajul de programare : LD/FBD (3)
Data şi timpul : dacă releul este dotat cu ceas (4)
Starea output-urilor : de la 1, la 9; de la A, la G (5)
Starea Z-tastelor : de la 1, la 4 (6).
În regimul Simulation sau Monitoring, când programul se găseşte în RUN, stările active
INPUTS/OUTPUTS sunt reprezentate în negativ (adică în alb pe fond negru)
Apăsarea simultană pe tastele Shift şi Menu/OK comută ecranul din
INPUTS/OUTPUTS pe ecranul TEXT (LD) sau DISPLAY (FBD).
Accesul la menu-ul principal.
Apăsarea tastei Menu/OK comută ecranul din INPUTS/OUTPUTS, pe menu-ul
principal.
2.3.- Ecranele TEXT şi DISPLAY.
Descriere.
Funcţia display-ului este folosită pentru prezentarea textului sau a valorilor numerice
(valoarea curentă, valoarea statutară,etc) pe LCD în locul ecranului INPUTS/OUTPUTS :
În limbajul LD funcţia activă este TEXT,
În limbajul FBD funcţia activă este DISPLAY.
Dacă sunt active simultan mai multe funcţii ale display-ului, atunci se pot observa
următoarele :
 În limbajul LD este reprezenta numai ultimul bloc activat;
 În limbajul FBD este reprezentată o superpoziţie a tuturor ecranelor FBD.
NOTĂ. Funcţiile display-ului pot fi programate numai cu ajutorul unui instrument
programabil (pentru o informare completă se poate contacta Zelio Soft 2 on-lin).
Apăsarea simultană a tastelor Shift şi Menu/OK comută display-ul din ecranul TEXT
(LD) sau DISPLAY (FBD) pe ecranul INPUTS/OUTPUTS.
Modificările admisibile.
Toţi parametri pentru care este stabilită opţiunea Modificări Admisibile pot fi modificaţi
din panoul frontal. Descrierea procedurii modificării pentru reprezentarea valorilor este
dată în tabelul următor :
Pasul Descrierea
1 Se apasă tasta SHIFT (tasta albă) pentru afişarea menu-ului de contxt
Rezultatul : cuvântul Param este afişat în partea inferioară a ecranului.
2 Se apasă tasta → (fără a elibera tasta Shift) pentru afişarea meniului de context.
Rezultatul : parametrul ce poate fi modificat apare clipitor şi se afişează următorul
menu de context :

3 Se alege parametrul pentru modificare prin folosirea tastelor săgeţilor ← sau→ din
menu-ul de context (valorile admisibile pentru modificare devin clipitoare).
4 Se modifică valoarea parametrului cu ajutorul tastelor + (↑) şi – (↓) din menu-ul de
context.
5 Se confirmă modifcarea prin apăsarea tastei Menu/OK.
Rezultatul : display-ul revine de la ecranul INPUTS/OUTPUTS, la ecranul
TEXT/DISPLAY.

2.4.- Menu-ul PROGRAMMING.


NOTĂ. Acest menu se referă la limbajul LD (regimul STOP).
Această funcţie permite introducerea diagramelor logicii Ladder, ce se vor realiza cu
ajutorul releului inteligent.
Programul poate fi scris numai în limbajul LD; informaţia referitoare la programarea
diagramelor în logica Ladder este dată în capitolul 5 – Input-ul diagramelor în logica
Ladder. Un exemplu este dat în figura următoare :
Imediat ce modificările sunt confirmate, display-ul se returnează la menu-ul principal.
NOTĂ. Această funcţie poate protejată prin parolare.

2.5.- Menu-ul PARAMETER.


Descriere.
Acest menu permite utilizatorului introducerea şi modificarea parametrilor aplicaţiei
direct prin ecran folosind tastele releului. Această funcţie poate fi apelată în cadrul
ambelor limbaje : LD şi FBD, dar conţinutul va depinde de limbajul folosit.
Dacă parametri sunt afişabili (şi nu sunt blocaţi), atunci ei apar în fereastră, altfel apare
comunicarea NO PARAMETERS.
Limbajul LD.
Funcţiile în legătură cu parametri în limbajul LD sunt :
Relee auxiliare (închizătoare);
Output-urile discrete (închizătoare);
Ceasul;
Comparatoare analogice;
Taimer-ele;
Contoarele;
Contoarele rapide.
Numai funcţiile în legătură cu parametri, folosite în cadrul programului, sunt enumerate
în menu-ul PARAMETERS. Toate funcţiile, ce posedă parametri, sunt enumerate în
menu-ul PARAMETERS.
Procedura modificării parametrului este :
Pasul Descriere.
1 Cursorul se dispune deasupra menu-ului PARAMETERS din menu-ul principal
(PARAMETERS clipeşte) şi se confirmă alegerea făcută prin apăsarea tastei Menu/OK.
Rezultatul : fereastra parametrilor se deschide cu primul parametru.
2 Se alege funcţia pentru modificare. Pentru a aplica funcţia necesară, se listează toate
funcţiile (cu ajutorul tastelor de navigare ↓ şi ↑) până la obţinerea celei necesare.
3 Se alege parametrul pentru modificare. Se folosesc tastele → şi ← pentru alegerea
parametrului de modificat.

Limbajul FBD.
Funcţiile în legătură cu parametri în limbajul FBD sunt :
Input-urile numerice de tip Constant;
Ceasul;
Amplificator;
Timer-e : TIMER A/C, TIMER B/H, TIMER Li;
Contoarele : PRESET COUNT;
Contoare rapide;
Blocul CAM.
Accesul la blocurile FBD pentru parametri trebuie cunoscută de către utilizator :
numărul blocului şi introducerea lui. Numărul apare în lista de legătură în colţul din
dreapta-sus al blocului. Dacă parametri sunt afişabili (şi nu sunt blocaţi), atunci ei apar în
cadrul ferestrei, altfel apare comunicarea NO PARAMETERS.
Procedura modificării parametrului este :
Pasul Descrierea.
1 Cursorul se dispune deasupra menu-ului PARAMETERS din menu-ul principal
(PARAMETERS clipeşte) şi se confirmă alegerea făcută prin apasarea tastei Menu/OK.
Rezultatul : fereastra parametrilor se deschide prin afişarea primuluiparametru.
2 Se alege funcţia pentru modificare. Pentru ca să fie aleasă funcţia necesară se listează toate
funcţiile (cu ajutorul tastelor de navigare ↑ şi ↓) până ce se ajunge la cea necesară.
3 Se alege parametrul ce se modifică. Se folosesc tastele ← şi → pentru alegerea parametrului
ce trebuie modificat.
4 Se modifică parametrul cu ajutorul tastelor + şi – (↓ şi ↑) din menu-ul de context
5 Se confirmă modificarea prin apăsarea tastei Menu/OK, care deschide fereastra de
confirmare.
6 Se confirmă din nou prin dubla apăsare Menu/OK.
Rezultatul : display-ul se returnează la ecranul INPUTS/OUTPUTS în regimul RUN şi la
menu-ul principal în regimul STOP.

Parametri (în regimul RUN).


Există, de asemenea, posibilitatea modificarea parametrilor dinamici în regimul RUN,
dacă ei nu sunt blocaţi. Modificarea poate efectuată astfel :
Din menu-ul PARAMETERS;
Din menu-ul MONITORING : se trece la funcţia de modificare, folosind tastele
cursorului (↑↓→←) şi se deschide fereastra parametrilor din menu-ul de context (tastei
SHIFT).

2.6.- Menu-ul MONITORING.


Descriere.
NOTĂ. Este accesibil numai în regimul LD/RUN.
Regimul MONITORING se foloseşte pentru afişarea stărilor INPUTS/OUTPUTS în
regimul dinamic al releului inteligent.
În acest regim diagrama de link-uri este, de asemenea, afişată ca şi în menu-ul
PROGRAMMING (modulul în regimul de STOP), dar apare într-o formă inversată
(atunci când input-urile sau output-urile sunt active (devin albe pe un fond negru). De
exemplu :

Acest regim permite utlizatorului să modifice în modul dinamic valorile parametrilor


funcţiilor de automatizare, dacă ele sunt deblocate.
Modificarea parametrilor.
Pentru modificarea parametrilor se procedează astfel :
Pasul Descrierea
1 Se folsesc tastele cursorului pentru deplasare spre elementul ce ar trebui modificat : primul pas al
procedurii introducerea elementului.
2 Se apasă simultan tastele SHIFT şi Param pentru chemarea ferestrei parametrilor.
3 Se folosesc tastele cursorului pentru deplasarea în câmpul parametrului ce trebuie modificat :
→←
4 Se modifică valoarea parametruli folosind tastele + şi - .
5 Se confirmă modificarea prin apăsarea tastei Menu/OK, care deschide fereastra confirmării.
Se confirmă di nou apăsând de 2 ori Menu/OK.
6 Se confirmă din nou prin apăsarea Menu/OK.
Rezultatul : revenirea la ecranul parametrului.
7 Se confirmă din nou prin apăsarea Mrnu/OK.
Rezultatul : display-ul se comută la ecranul INPUTS/OUTPUTS.

2.7.- Menu-ul RUN/STOP.


Descriere.
Această funcţie permite utilizatorului să activeze sau să oprească programul conţinut în
releul inteligent :
STOP : programul este oprit, output-urile sunt dezactivate, valorile curente
(pentru contoare, timer-e, etc) sunt restartate (dacă funcţia blocării nu este activată).
RUN : programul se execută.
NOTĂ. Când se realizează comutarea din STOP, în RUN, atunci programul se
iniţializează.
Exemplu :

Aici se propune utilizatorului alegerea confirmării stării de comutare, care este inversă
celei curente : YES clipeşte totdeauna.
Dacă programul se află în regimul :
STOP : se propune RUN PROG..
RUN : se propune STOP PROG..
Tastele cursorului ↑↓ se folosesc pentru alegere. Când alegerea regimului este confirmată
prin tasta Menu/OK, atunci display-ul se comută pe ecranul INPUTS/OUTPUTS.

2.8.- Menu-ul Configuration.


Descriere.
Menu-ul Configuration este format din următoarele puncte :
PASSWORD
FILTER
ZxKEYS
CHANGE D/T
CHANGE SUMMWINT
WATCHDOG CYCLE.
NOTĂ. Dacă programul este parolat (semnul cheii este reprezentat în menu-ul de
context), atunci utilizatorul trebuie să introducă mai întâi parola, apoi să treacă la
submenu.
Diferitele puncte ale menu-ului Configuration sunt descrise în detaliu în capitolul 3.
Menu-ul Configuration.

2.9.- Menu-ul CLEAR PROGRAM.


Descriere.
NOTĂ. Se poate accesa numai în regimul limbajului de programare LD.
Această funcţie permite ştergerea întregului program
NOTĂ. Dacă programul este protejat (este reprezentat simbolul cheii), atunci utilizatorul
trebuie să introducă parola înainte de ştergerea programului.
Ştergerea programului.
Când este ales acest punct al menu-ului, atunci implicit este aleasă varianta NO; altfel se
respectă paşii :
Paşii Descriere.
1 Se alege YES folosind tastele ↓ şi ↑
2 Se confirmă ştergerea programului prin apăsarea tastei Menu/OK.
Rezultatul : display-ul se returnează la menu-ul principal (MAIN).

2.10.- Menu-ul TRANSFER.


Descriere.
Această funcţie se foloseşte pentru :
Conservarea aplicaţiei într-un modul din memoria de rezervă.
Încărcarea programului într-un modul din memoria de rezervă
Apoi programul poate fi încărcat într-un alt modul al memoriei de rezervă
Exemplu :
NOTĂ. Memoria de rezervă este accesibilă în mod opţional.
NOTĂ. Dacă programul este protejat (este reprezentat simbolul cheii), atunci utilizatorul
trebuie să introducă parola înainte de a putea să realizeze o copie de rezervă a
programului.
NOTĂ. Dacă în memoria de rezervă este deja înscrisă aplicaţia, atunci ea va fi ştearsă la
o nouă înscriere (verificarea memoriei în privinţa existenţei aplicaţiei nu se execută).
Transferul modulului → Memoria de rezervă.
Procedura transferului este :
Paşii Descriere.
1 Se alege tipul de transfer : ZELIO > MEMORY folosind tastele cursorului ↑↓.
2 Se confirmă transferu cu tasta Menu/OK (Se introduce parola dacă programul este
protejat).
3 Se aşteaptă până când transferal nu se încheie. Pe display apare : >>>MEMORY, apoi
TRANSFER.OK după ce transferal s-a realizat.
4 Încă odată se apasă tasta Menu/OK pentru ieşirea din menu.
Rezultatul : display-ul se returnează la ecranul INPUTS/OUTPUTS în regimul RUN,
respectiv la menu-ul principal în regimul STOP.

Transferul memoria de rezervă → Modul.


Procedura transferului este :
Paşii Descriere.
1 Se tipul de transfer : MEMORY > ZELIO folosind tastele cursorului↓↑.
2 Se confirmă transferal cu tasta Menu/OK.
3 Se aşteaptă până se realizează transferal. Pe display se afişează : >>> MODULE, apoi
TRANSFER.OK când transferal s-a realizat.
4 Încă odată se apasă tasta Menu/OK pentru ieşirea din menu
Rezultatul : display-ul se returnează la ecranul INPUTS/OUTPUTS în regimul RUN,
respectiv la menu-ul principal în regimul STOP.

Erorile posibile.
Nu există memorie de rezervă. Comunicarea erorii : TRASFER ERROR : NO
MEMORY.
Configuraţia programului ce se transferă nu este compatibil cu configuraţia
aparatului. Comunicarea erorii : TRANSFER ERROR : CONFIG INCOPAT (se
precizează numărul erorilor). Se poate referi la menu-ul FAULT pentru determinarea
numărului erorii şi posibilitatea înlăturării sale.

2.11.- Menu-ul LANGUAGE MENU.


Descrierea.
Această funcţie permite utilizatorului să aleagă limba cu care va lucra. Toate
comunicările pot fi efectuate în 6 limbi :
English
French
German
Italian
Spanish
Portuguese.
Exemplu :

Alegerea limbii.
Limba curentă este indicată prin simbolul alegerii (simbolul rombului negru).
Procedura alegerii limbii este :
Paşii Descriere.
1 Se alege limba folosind tastele de navigaţie : ↓↑ (alegerea devine clipitoare)
2 Se confirmă alegerea făcută cu ajutorul Menu/OK.
Rezultatul : display-ul se returnează la ecranul INPUTS/OUTPUTS în regimul RUN,
respectiv la menu-ul principal în regimul STOP.

2.12.- Menu-ul VERSION.


Descriere.
Această funcţie permite utilizatorului să stabilească versiunea tuturor componentelor
sistemului :
Tipul aparatelor de asigurare (acoperire)
Asigurarea (acoperirea) programată încastrată.
Funcţiile FBD
Funcţiile LD.
Exemplu :
Această informaţie este accesibilă atât pentru modulul dat, cât şi pentru extensiile ataşate.
Simbolul săgeţii, dispus în partea dreaptă inferioară a ecranului că există extensia(iile)
legată de modul.
Exemplu :

Pentru ieşire se apasă tasta Menu/OK, display-ul se returnează la ecranul


INPUTS/OUTPUTS în regimul RUN, respectiv la menu-ul principal în regimul STOP.

2.13.- Menu-ul FAULT.


Descriere.
Această funcţie afişează numerele erorilor sau avertizărilor ce sunt prevăzute prin
programele de asigurare ale releului (controlul supraplinului, timpul ciclului este prea
mare, etc).
Exemplu :

Resetarea la zero a contoarului de erori.


Acest menu se foloseşte pentru stergerea erorilor, aşa cum se arată în DELETE.
Succesiunea acţiunilor este următoare :
Paşii Descrierea.
1 Se alege YES/NO folosind tastele cursorului ↑ şi ↓.
2 Se confirmă alegerea făcută cu ajutorul Menu/OK.
Rezultatul : display-ul se returnează la ecranul INPUTS/OUTPUTS în regimul RUN,
respectiv la menu-ul principal în regimul STOP.

Descrierea erorilor.
Numărul Tipul erorii.
00 Nu sunt erori
01 Eroarea depinde de EEPROM. Această eroare este legată de problema transferului
dintre memorie şi controller. Dăcă eroarea se produce des, atunci trebuie realizată
legăura cu serverul-centrului.
02 Eroarea notării valorilor ceasului. Dăcă eroarea se produce des, atunci trebuie realizată
legtura cu serverul de centru.
04 Suprasarcina la tranzistoarele de output (avertizare). Imediat ce temperature
tranzistorului de input atinge 170 C, grupa formată din 4 output-urilor, din care face
parte, se dezactivează. Pentru activarea acestei grupe de output-uri, la incept trebuie
înlăturată cauza supraîncălzirii (de exemplu, scurtcircuit), iar apoi îndepărtată eroarea
din menu-ul FAULT.
50 Programul de asigurare al modulului este degradat. Se reîncarcă programul de asigurare
al modulului şi aplicaţia utilizatorului. Dacă această eroare apare din nou, atunci trebuie
realizată legătura cu serverul-centrului.
51 Suprasolicitarea timer-ului. Avertizare sau eroare în legătură cu alegerea făcută în
menu-ul CONFURATION (display-ul modulului) sau în fereastra configurării
(instrumentarul pentru programarea Zelio Soft 2) Timpul ciclului la nivelul modulului
este prea mic în comparaţie cu timpul execuţiei programului aplicaţiei înscrise în
controler. Dacă aplicaţia necesită un timp strict, atunci se poate alungi timpul ciclului
din modul. Pentru aceasta se configurează modulul fie în menu-ul CONFIGURATION
(display-ul modulului) sau în fereastra configuraţiei (instrumentarul pentru programarea
Zelio Soft 2). Dacă aplicaţia nu necesită controlul timpului ciclului, atunci în menu-ul
CONFIGURATION se alege : No action for the WATCHDOG.
52 Controlerul a executat o operaţiune necunoscută. Dacă eroarea se repetă constant, atunci
se reîncarcă programul modulului şi aplicaţia utilizatorului. Dacă această eroare apare
din nou, atunci trebuie realizată legătura cu serverul-centrului.
53 Este distrus link-ul dintre modul şi magistrala extensiei. Se verifică funcţionarea corectă
a extensiei.
54 Este distrus link-ul dintre modul şi extensia input/output. Se verifică funcţionarea
corectă a extensiei.
58 Erorea persistă în programul asigurării (asigurarea programată specifică pentru
controler) sau în cadrul dispozitivelor controlerului. Dacă eroarea apare în mod
constant, atunci se reîncarcă programul modulului şi aplicaţia utilizatorului.
59 La punerea în funcţie a aplicaţiei modului : aplicaţia nu se poate comuta în regim RUN,
deoarece nu este compatibilă cu modulul.
Dacă această eroare se repetă din nou, atunci trebuie realizată legătura cu serverul-
centrului.
60 La pornirea aplicaţiei modulului : aplicaţia nu se comuta în rgimul RUN, deoarece ea nu
este compatibilă cu magistrala extensiei.
Dacă această eroare se repetă din nou, atunci trebuie realizată legătura cu serverul-
centrului.
61 La pornirea aplicaţiei modulului : aplicaţia nu se comuta în rgimul RUN, deoarece ea nu
este compatibilă cu extensia input/output.
Dacă această eroare se repetă din nou, atunci trebuie realizată legătura cu serverul-
centrului.
62 Versiunea nu este compatibilă la reîncarcarea programului din memoria de rezervă.
Dacă această eroare se repetă din nou, atunci trebuie realizată legătura cu serverul-
centrului.
63 Configuraţia aparaturii este incompatibilă la reîncarcarea programului din memoria de
rezervă.
Dacă această eroare se repetă din nou, atunci trebuie realizată legătura cu serverul-
centrului.

Cap.3.- Menu-ul Configuration.


3.1.- Menu-ul PASSWORD.
Descrierea.
Dacă programul este protejat prin parolare (apare cheia), atunci utilizatorul trebuie să
introducă parola pentru unele operaţii.
Prin parolare pot fi protejate următoarele menu-uri :
PROGRAMING (programarea, regimul LD STOP);
MORNITORING (regimul LD RUN);
PARAMETER (menu-ul parametrilor);
CONFIGURATION (menu-ul configuraţiei, regimul STOP);
CLEAR PROGRAM (menu-ul ştergerii programului, regimul LD STOP);
MODULE > MEM TRANSFER (menu-ul transferului, regimul STOP);
NOTĂ. Există posibilitatea ieşirii din ecran fără întroducerea parolei, folosind
combinaţia tastelor SHIFT (tasta albă) şi Menu/OK (tasta albastră).
NOTĂ. La revenirea în menu-ul de bază din menu-ul configurării (CONFIGURATION)
se folosesc tasta cursorului ←.
Introducerea parolei.
Iniţial cheia nu apare şi fiecare cifră se înlocuieşte cu ?.

Declaraţia ENTER apare în cadrul ferestrei.


NOTĂ. Din acest moment apare iconul cheii.
Procedura introducerii parolei este :
Paşii Descriere
1 Se apasă →, simbolurile ? vor fi înlocuite cu 0 ( 0 din stânga clipeşte)
2 Se alege cifră pentru introducere : → ←.
3 Se alege valoarea cifrei cu tastele + şi – în menu-ul de context.
4 Se confirmă introducerea parolei prin tasta Menu/OK, care va deschide fereastra de
confirmare.
5 Se confirmă din nou cu tasta Menu/OK.
Rezultatul : display-ul se returnează la menu-ul principal.

Îndepărtarea unei parole.


Pentru îndepărtarea parolei se foloseşte aceeaşi procedură ca şi pentru introducere.

Dacă cheia apare, atunci înseamnă că modulul este protejat printr-o parolă. În fereastră
apare declaraţia CLEAR şi numărul de încercări 1/5. Ca rezultat pot fi următoarele
comunicări :
 Password is correct : adică, parola este deconectată şi modulul revine la menu-ul
PASSWORD.
 Password is incorrect : contoarul încercărilor CLEAR se măreşte cu o unitate,
respectiv apare următoarea imagine a ferestrei :

Dacă parola incorectă se introduce de 5 ori, atunci funcţia de protecţie se blochează


pentru 30 de minute. În intervalul acestei perioade, dacă alimentarea modulului este
deconectată, atunci numărarea timpului începe din nou la reconectare.
Modificarea parolei.
Pentru modificarea parolei pur şi simplu se înlocuieşte vechiul prin introducerea celui
nou.

3.2.- Menu-ul FILTER.


Descrierea.
Această funcţie permite alegerea vitezei de stabilire a modificărilor stărilor tuturor input-
urilor discrete. Sunt posibile 2 variante :
 Fast (rapid);
 Slow (încet)
Răspunsul în timp :
Filtraţia Comutarea Timpul răspunsului
Inceată ON → OFF 5ms
OFF → ON 3ms
Rapidă ON → OFF 0.5ms
OFF → ON 0.3ms

Această alegere poate fi făcută numai în acel caz când releul inteligent se găseşte în
regimul de STOP.
NOTĂ. Implicit releul inteligent este configurat să lucreze în regimul Slow
NOTĂ. Această funcţie este accesibilă la releul inteligent cu o conectare directă a
alimentării electrice.
NOTĂ. Pentru revenire la menu-ul de bază din menu-ul CONFIGURATION se foloseşte
tasta cursorului ← .
Alegerea tipului de filtru.
Tipul curent este arătat de simbolul de alegere (rombul negru).
Procedura alegeri filtrului este :
Paşii Descriere.
1 Se alege tipul filtrului : ↓↑ (alesul clipeşte).
2 Se confirmă cu ajutorul Menu/OK.
Rezultatul : display-ul revine la menu-ul principal.

3.3.- Menu-ul Zx KEYS.


Descrierea.
NOTĂ. Este accesibilă numai în limbajul LD.
Punctul Zx=KEYS permite utilizatorului să hotărască permitere sau nu a folosirii
claviaturii cursorului în calitate de taste.
Opţiunea dată se poate găsi în următoarele stări :
Inactive : adică, tastele sunt accesibile numai pentru stabilirea parametrilor,
configurarea şi programarea releului inteligent.
Active : de asemenea, ele pot fi folosite la diagrame cu logica Ladder.
În această configuraţie ele lucrează ca Zx taste, nefiind necesară conectarea blocului
contactelor de input.
NOTĂ. Pentru revenirea la menu-ul de bază din menu-ul CONFIGURATION se
foloseşte tasta ← .
Tastele Zx în regimul RUN.
Implicit tastele Z se folosesc ca taste ale cursorului. În regimul RUN, pe ecranul
INPUTS/OTPUTS, ecranele TEXT sau DISPLAY, numerele Z tastelor, folosite în
cadrul programului, apar în rândul menu-ului de context
Pentru activarea tastelor pur şi simplu se alege tasta ←↑↓→ necesară.
NOTĂ. Numărul tastelor, folosite în cadrul programului, se afişează pe display.

În momentul în care funcţia este activată, display-ul se returnează la menu-ul principal.


NOTĂ. Funcţia nu este activă în men-ul PARAMETERS, regimul MONITORING, în
ecranele parametrilor tuturor blocurilor funcţionale şi ecranelor de configurare.

3.4.- Menu-ul CHANGE D/T.


Descriere.
Această funcţie se foloseşte pentru precizarea datei şi a timpului pentru modulele cu ceas
Exemplu :
Parametri modifcabili sunt :
Ziua/Săptămâna/Luna/Anul;
Timpul;
Minutele, valorile se conservă prin apăsarea tastei Menu/OK : dacă se doreşte
stabilirea orei, zilei, etc. Trebuie introduce minutele şi secundele.
Secundele;
CAL : calibrarea internă a ceasurilor în secunde dintr-o săptămână. Cristalul de
cuarţ ce controlează ceasul din cadrul unui releu inteligent, are o derivă lunară, care se
modifică în funcţie de acţiunea factorilor mediului. Valoarea maximă pentru această
derivă este aproximativ un minut/lună.
Pentru aprecierea acestei derive se poate observa ceasul modulului în comparaţie cu
unceas obişnuit în decursul a câtorva săptămâni.
De exemplu :
Dacă utilizatorul vrea să micşoreze această derivă, atunci el poate, de exemplu, introduce
o corecţie de – 15 secunde pe săptămână pentru a compensa deriva de 60 de
secunde/lună. Introducerea compensaţiei se face duminica la ora 13.00
NOTĂ. Această corecţie nu-şi are sensul dacă modulul este supus unor intermitenţe în
alimentare cu energie electrică sau în cazul unor variaţii mari de temperatură.
NOTĂ. Pentru revenirea la menu-ul de bază din menu-ul CONFIGURATION, se
foloseşte tasta cursorului ← .
Configurarea ceasului.
Aceasta se face prin următoarea succesiune de acţiuni :
Paşii Descrierea.
1 Se alege parametrul pentru corecţie cu ajutorul tastelor ← şi → .
Rezultatul : parametrul ales va începe să clipească (la intorducere în acest regim se ale ge
ziua).
2 Se modifică valoarea parametrului. Tastele + şi – din menu-ul de context se folosesc
pentru modificarea valorii curente.
3 Se confirmă modificarea prin apăsarea Menu/OK.
Rezultatul : display-ul revine la menu-ul principal.

NOTĂ. Zelio Logic conţine un program de modul, care determină ziua săptămânii la
introducerea datei corecte.

3.5.- Menu-ul SUMM/WINT (vară/iarna).


Descriere.
Această funcţie se foloseşte pentru modificarea automată a diapazonului de timp
vara/iarna pentru releele cu ceas.
De exemplu :
Sunt posibile următoarele regimuri de lucru :
NON : adică nu se modifică diapazonul;
AUTOMATIC : schema se realizează automatic, datele sunt stabilite inţial
conform cu zona geografică : EUROPE, GB, USA)
OTHER ZONE : (manual) modificarea este automată, dar trebuie indicată luna :
M şi duminica : S (1, 2, 3, 4 sau 5) când trebuie să se producă modificarea vara/iarna.
NOTĂ. Pentru revenirea la menu-ul de bază din menu-ul CONFIGURATION, se
foloseşte tasta cursorului ← .
Reglarea schemei vara/iarna.
Paşii Descrierea.
1 Se alege parametrul pentru corecţie folosind tastele ← şi → .
Rezultatul : parametrul ales începe să clipească.
2 Se modifică valoarea parametrului. Tastele + şi – din menu-ul de context se folosesc pentru
modificarea valorii curente.
3 Se confirmă modificarea prin apăsrea Menu/OK.
Rezultatul : display-ul revine la menu-ul principal.

3.6.- Menu-ul WATCHDOG CYCLE (timer-ul de pază).


Descriere.
Timpul execuţiei programului depinde de tipul şi cantitatea input-urilor/output-urilor şi
cantitatea extensiei.
Valoarea timpului ciclului de execuţie implicit este 10 milisecunde.
De exemplu :

Dacă durata ciclului de execuţie a programului şi a funcţiilor de programare încastrate


depăşeşte valoarea ciclului, ales de programator (adică N ori 10ms), atunci
WATCHDOG poate fi folosit pentru realizarea unei anumite acţiuni.
NOTĂ. Pentru revenirea la menu-ul de bază din menu-ul CONFIGURATION, se
foloseşte tasta cursorului ← .
Acţiunile WATCHDOG.
Sunt posibile următoarele acţiuni :
INACTIF : adică regimul normal de lucru;
ALARME : se realizează o stare de avertizare, număul de avertizare,
corespunzător prea plinului timpului de ciclu, corespunzător cu menu-ul FAULT;
ERREUR : programa se opreşte (regimul de STOP) şi numărul erorii
corespunzător depăşirii timpului de execuţie ciclului din menu-ul FAULT.
Parametrul.
Parametrul de reglare N poate accepta valorile de la 1, la 9, iar acesta înseamnă că :
Perioada WATCHDOG = N x 10 milisecunde
Reglarea timer-ului de pază.
Pentru reglare se efectuiază următoarele acţiuni :
Paşii Descrierea.
1 Se reglează parametrul CYCLE folosind tastele + şi – din menu-ul de context.
2 Se confirmă rândul de meniu cu una di taste ← → .
Rezultatul : parametrul CYCLE este confirmat şi parametrul WATCHDOG este activat şi
clipeşte.
3 Se regleză parametrul WATCHDOG, folosind tastele + şi – din menu-ul de comtext.
4 Se confirmă modificarea prin apăsrea Menu/OK.
Rezultatul : display-ul revine la menu-ul principal.

Cap.4.- Funcţiile de control.


4.1.- Introducere.
Formarea aplicaţiei din panoul frontal al modului este posibilă numai în cadrul limbajului
LD.
Această secţiune descrie toate elementele din cadrul unei diagrame cu logica Ladder în
regimul LD, ce se pot folosi la un releu inteligent.
Pentru o înţelegere mai bună a funcţiei, executate de fiecare element, acolo unde aceasta
este necesar se propune un exemplu de lucru.
Diagrama poate conţine până la 120 de rânduri.
NOTĂ. Fiecare rând poate fi format din maxim 5 contacte şi trebuie să conţină totdeauna
o bobină. Atunci când aplicaţia necesită mai mult de 5 contacte, se pot folosi releele
auxiliare.
În continuare se dă un exempu de diagramă în logica Ladder :
4.2.- Input-urile discrete.
Un input discret poate fi folosit numai ca un contact.
Reprezentare Funcţia Nr.la cleme Descrierea.
INo. Normal deschis De la 1, la R Input-ul fizic al releului. Acest contact
(exclusiv II, IM, IO) returnează starea senzorului(contactor,
în funcţie de modul. traductor, etc) conectat cu input-ul
corespunzător.
iNo. Normal închis Idem. Idem

Exemplul 1 :

Când contactul de input I1 este închis, atunci output-ul Q1 este activat.


Exemplul 2 :

Când contactul de input I1 este deschis, atunci output-ul Q1 este activat.

NOTĂ. Când contactele analogice de input Ib şi IC sunt configurate ca contacte,


atunci ele în mod automat lucrează ca input-uri discrete.

4.3.- Output-urile discrete.


Output-ul discret se poate folosi ca o bobină sau ca un contact.
Folosirea în calitate de bobină :
Posibilit.aplicare Nr.pe modul Descriere
De la 1, la G Bobina excitată numai în acel caz în care contactele, cu care
QNo. este legată, sunt închise.
în funcţie Bobina se excită prin modificarea stării. În acest fel se
QNo. realizează că se comută releul de control.
S QN° de releu Bobina “Set”, denumită,de asemenea, bobina de instalare
(dispozitiv). Această bobină se excită prin închiderea
contactelor legate cu ea. Ea se menţine activă, chiar după ce
contactele de deschid.
R QNo. Bobina “Reset”, denumită de asemenea, bobina de
descărcare. Această bobină se deconectează la închiderea
contactelor legate cu ea. Ea rămâne în starea de repaus chiar
dacă apoi contactele se deschid.
Folosirea în calitate de contact.
Reprezentarea Funcţia. Nr.pe modul Descrierea
QNo. Normaldeschis De la 1, la G, în Output-ul fizic al releului. Output-ul poate fi
folosit ca un contact a cărui stare este
determinată la un moment dat.
qNo. Normal închis funcţie de releu Idem

Exemplul 1 :

Când output-ul Q1 este activ, atunci output-ul Q2 se activează de asemenea.


Exemplu 2 :

Când output-ul Q1 este deconectat, atunci output-ul Q2 este activ. Output-ul Q2 va vea
totdeauna starea inversă în raport cu Q1.
NOTĂ. Funcţiile şi , SET şi RESET trebuie să fie folosite numai osingură dată
pentru fiecare bobină.
Dacă se foloseşte bobina SET, atunci se recomandă să se realizeze acţiunea RESET
pentru această bobină.
Folosirea bobinei SET asupra sa însăşi poate fi justificată în cazul chemării semnalului
de alarmă, care poate fi anulat numai printr-o comandă program INIT + RESET.
Exemplul de folosire a releului de comutare.

Aceasta este o funcţie foarte comodă, care permite conectarea sau deconectarea luminii
folosind o singură tastă. Dacă tasta este legată de input-ul I1, iar lampa la output-ul Q1,
atunci de fiecare dată când tasta este apăsată, lumina, dacă a fost deconectată, se va
conecta şi invers. Pentru instalarea unui comutator ambisens, pur şi simplu se conectează
input-urile în paralel, iar tasta se va conecta la ambele input-uri.
Exemplul de folosire a bonelor SET (conectează) şi RESET (deconectează).
Soluţia următoare se aplică pentru controlul alimentării instalaţiei cu ajutorul tastelor de
conectare şi deconectare.
Tasta BP2 este conectată la input-ul I2 a releului inteligent, iar tasta BP3 la input-ul I3.
Instalaţia de control, în cazul dat lampa cu denumirea L1, este conectată la output-ul Q2.
Se apasă tasta BP2 pentru conectarea lămpii.
Se apasă tasta BP3 pentru deconectarea sa.
NOTĂ. Bobina RESET are prioritate asupra bobinei SET.
Încuierea.
Implicit, după conectarea alimentării starea output-urilor corespunde cu iniţializarea
programului
Pentru restaurarea stărilor output-urilor, conservate în timpul întreruperii alimentării, se
activează încuierea output-urilor în cadrul ferestrei parametrilor, confirmând
introducerea parametrului .

4.4.- Releele auxiliare (ajutătoare).


Releele auxiliare, cu notaţia M, lucrează exact la fel ca şi bobinele-output Q. Singura
deosebire constă în aceea că ele nu posedă niciun fel de conectări. Toate releele auxiliare
sunt 31 (numerotate în sistemul hexa de la 1, la 9 şi de la A, la Y, fără folosirea
simbolurilor I, M şi O). Ele se folosesc pentru conservarea stărilor. Apoi starea
conservată poate fi folosită drept contact.
Exemplul de folosire a releului auxiliar (ajutător).
Se folosesc două relee auxiliare pentru conservarea unor stări de output. Apoi aceste relee
sunt folosite pentru comanda unei bobinei

Acest tip de diagramă în logica Ladder se foloseşte adesea pentru controlul diverselor
stări ale unor instalaţii.
Iniţializarea.
Stările contactelor la iniţializarea programului sunt :
Regimul normal-deschis (starea directă) -- neactive;
Regimul normal-închis (starea inversă) -- active.
Încuierea.
Implicit, după conectarea alimentării starea output-urilor corespunde cu iniţializarea
programului
Pentru restaurarea stărilor output-urilor, conservate în timpul întreruperii alimentării, se
activează încuierea output-urilor în cadrul ferestrei parametrilor, confirmând introducerea
parametrului .

4.5.- Tastele cursorului.


Tastele cursorului lucrează identic ca nişte input-uri fizice I. Singura deosebire este că ele
nu posedă niciun fel de conectări.
Ele se folosesc ca taste.
Ele se pot folosi numai ca contacte :
Reprezentarea Funcţia Nr. pe releu Descrierea
ZNo. Normal deschis De le 1, Ele apar ca taste ale cursorului pentru releul
inteligent. Contactele returnează starea tastei
respective.
De la Z1, la Z4 de la stânga zNo. Normal la
dreapta.
zNo. Normal închis la 4. Idem

NOTĂ. Pentru folosirea tastelor cursorului în acest fel, iniţial se verifică dacă ele sunt
activate prin funcţia Zx=KEYS din menu-ul CONFIGURATION. Numărul tastei, în
acest caz apare în menu-ul de context, în partea de jos a ecranului, ca în figura următoare:

În

cazul contrar, când releul inteligent se găseşte în regimul RUN, atunci aceste taste se
folosesc numai pentru navigare prin menu.
Exemplu de folosire a tastei “săgeata stânga”.
Acest exemplu arată cum se pote stabili releul de comutare, care va folosi în calitate de
input tasta Z1, iar ca output Q1.

Output-ul Q1 modifică stare la apăsarea tastei .

4.6.- Blocul funcţional Ceasul.


Blocul funcţional Ceasul (Clock) se foloseşte pentru stabilirea timpului exact al execuţiei
unor acţiuni. El acţionează identic ca şi timer-ul săptămânal programabil şi are 4
diapazoane operative (A, B, C, D) folosite pentru controlul output-ului său.
Parametri blocului funcţional pot fi stabiliţi :
la introducerea unui rând al diagramei în logica Ladder;
din menu-ul PARAMETER dacă blocul nu este protejat.
Activarea ceasului este săptămânală, trebuie pur şi simplu să se configureze :
 Zilele săptămânii;
 Diapazonul timpului de activare, stabilind timpul iniţial :
CON (ON) şi timpul final DECON (OFF).
În cazul folosirii ca contact :
Reprezentarea. Funcţia. Numărul Descrierea.
Normal deschis De la 1 Contactul este închis, când ceasul se găseşte în
No
perioada “Conectat”
No Normal închis la 8 Contactul este închis, când ceasul se găseşte în
perioada “Deconectat”.

Parametri blocului funcţional Ceasul (Clock).


Ecranul configurării parmetrilor : D/W (ziua/săptămâna)

Parmetrul. Descrierea
Numărul modulului 1 Se pot folosi 8 module numerotate de la 1, la 8.
Tipul configurării datei 2 D/W : Zilele săptămânii.
Ziua acţiunii (tipul D/W) 3 Zilele de acţiune pot fi :
 0 : luni ;
 1 : marţi ;
 ...
 6 : duminica
Zilele nealese se menţionează cu simbolul _ .
Timpul iniţial (tipul D/W) 4 Timpul iniţial de acţiune se stabileşte în formatul:
Ora: Minutul
(C 00.00, până la 23.59).
Timpul final (tipul D/W) 5 Timpul final de acţiune se stabileşte în formatul :
Ora : Minutul
(C 00.00, până la 23.59).
Blocarea parametrilor : 6 Acest parametru se foloseşte pt. blocarea
parametrilor blocului funcţional Clock. După
blocare, valoarea iniţial stabilită nu mai apare în
blocate, deblocate menu-ul PARAMETER.
Intervalele de lucru. 7 Sunt accesibile 4 intervale de lucru : A, B, C, D.

Exemplul de control al timpului cu folosirea blocului funcţional Clock.


Controlul instalaţiei se realizează de luni, până sâmbăta în decursul a 2 intervale de timp :
de la 09.00, la 13.00 şi de la 15.00, la 19.00.
Instalaţia este legată cu output-ul Q2 al releului inteligent, folosind blocul funcţional
Clock cu numărul 1. Rândul privind controlul din diagrama logicii Ladder este :

La introducerea lui 1, utilizatorul trebuie să precizeze intervalele de lucru


NOTĂ. Se folosesc următoarele taste : Menu/OK pentru alegerea sau confirmarea
parametrului, Z2 şi Z3 pentru modificarea valorii parametrului ales, Z1 şi Z4 pentru
deplasarea de la un parametru, la altul.

NOTĂ. Un exemplu din capitolul 7 descrie un alt mod de folosire a intervalelor de timp.
În cazul unor variante complexe este posibil ca două intervale să fie conexe.

4.7.- Blocul funcţional Contoar.


Blocul funcţional Contoar se foloseşte pentru calculul impulsurilor. Funcţia Contoar
poate fi resetatată la zero sau la o valoare iniţial stabilită (în funcţie de parametrul ales).
El poate fi folosit ca un contact pentru determinarea :
Atingerea valorii unui statut (numeraţia în sus);
Atingerea valorii de 0 (numeraţia în jos).
La parametri blocului funcţional ne putem adresa :
La inroducerea unui rând al diagramei logicii Ladder;
Din menu-ul PRAMETER, dacă blocul nu a fost blocat.
În cazul folosirii ca un contact.
În cazul folosirii contoarului în calitate de contact, el se închide la egalitatea valorii
stabilite cu valoarea curentă a contoarului :
Valoarea curentă a contoarului a atins valoarea stabilită (regimul TO);
Valoarea curentă a contoarului a devenit 0 (regimul FROM).
Reprezentare Funcţia Numărul Descrierea.
CNo. Normal deschis De le 1 Contact închis când contoarul atinge valoarea
stabilită.
cNo Norma închis la G Contact închis atâta timp cât contoarul nu a
atins valoarea stabilită.

În cazul folosirii ca bobină.


Element Descriere/Folosire Exemplu
CC Numără inpulsurile de input. Acest element reprezintă Exemplul de aplicaţie : numeraţia în sus a
input-ul blocului Contoar. De fiecare dată când bobina este blocului funcţional Contoar cu numărul 1.
scurtcicuitată, contoarul creşte sau scade cu o unitate (1) , în
funcţie de sensul ales al numărării.
RC Coborâre (descărcare) spre valoarea iniţială. Exemplul aplicaţiei : descărcarea contoarului
Acest input coboară funcţia contoarului către valoarea sa Nr1 când este apăsată săgeată sus :
iniţială :
 Valoarea curentă a contoarului se coboară către
valoarea sa iniţială;
 Valoarea curentă a contoarului se coboară spre
valoarea stabilită, dacă tipul de numeraţie este FROM.
DC Direcţionarea numeraţiei. Acest element reprezintă input- Exemplul aplicaţiei : numeraţia în sus sau în jos
ul contoarului, care determină sensul numeraţiei. Dacă acestă în funcţie de starea input-ului releului.
bobină este activată, atunci blocul funcţional numără în jos,
dacă nu este activată, atunci numeraţia se face în sus.
T Tipul contoarului. Acest parametru se foloseşte pentru
stabilirea tipului contoarului :
 TO : numeraţia în sus începând cu zero;
 FROM : numeraţia în jos începând cu o valoare
stabilită.
P Valoarea stabilită. Această valoare se dispune între 0 şi
32767 şi reprezintă :
 Valoarea ce se atinge la numeraţia în sus
(regimul TO);
 Valoarea iniţială în cazul numeraţiei în jos
(regimul FROM).
Acest parametru se foloseşte pentru blocarea valorii stabilite
pentru blocul funcţional Contoar. După blocare, valoarea blocat, deblocat
stabilită nu mai apare în menu-ul PARAMETER.
C sau c Se foloseşte ca un contact, acest element al blocului Exemplul aplicaţiei : conectarea indicatorului
funcţional Contoar indică egalitatea dintre valoarea stabilită legat cu output-ul Q1 al releului inteligent, se
şi valoarea curentă. realizează la atingerea valorii stabilite; în alte
condiţii indicatorul este deconectat :

Această funcţie de încuiere se poate folosi pentru


conservarea valorilor curente ale contoarului în cazul neactivată
întreruperi alimentării.
activată
În figura următoare se prezintă elementele blocului funcţional Contoar :

Notăţiile din figură au următoarele semnificaţii :


1 – Input-ul de control;
2 – Input-ul de numeraţie;
3 – Output-ul contoarului la atingerea valorii stabilite;
4 – Blocajul parametrilor;
5 – Sensul numeraţiei;
6 – Tipul contoarului (TO : în sus/FROM : în jos);
7 – Valoarea stabilită;
8 – Încuierea.
Un exemplu de folosire al blocului funcţional Contoar.
Ecranul. Descrierea.
Avansarea şi decărcare :
Contoarul creşte de fiecare dată când se activează input-ul I1.
Contoarul se descarcă (complet !) de fiecare dată când se activează
input-ul I2.
Avansarea şi descărcarea :
Contoarul scade de fiecare dată când se activează input-ul I1.
Contoarul se descarcă (complet !) de fiecare când se activează input-ul
I2.
Numeraţia în sus, în jos şi descărcarea :
Contoarul creşte de fiecare dată când se activează input-ul I1.
Contoarul descreşte de fiecare dată când se activează input-ul I3.
Contoarul se descarcă complet de fiecare dată când se activează input-ul
I2.
Valoarea curentă a contoarului.
Această valoare, în orice moment de timp concret, reprezintă numeraţia succesivă în sus
sau în jos, care se produce începând de la descărcarea precedentă a contoarului, până la
valoarea sa iniţială.
Această valoare se dispune în intervalul [0 … 32767]. Imediat ce aceste valori au fost
atinse, valoarea curentă devine nulă (în cazul numeraţiei în jos), respectiv +32767 (în
cazul numeraţiei în sus).
Iniţializarea.
Starea contactelor şi valoare curentă la iniţializare ete :
 regimul normal deschis (starea directă) la neactivare;
 regimul normal închis (starea inversă) la activare;
 valoare curentă este nulă.
Încuierea.
Implicit, după conectarea alimentării starea contoarului depinde de iniţializarea
programului.
Pentru restabilirea stării contoarului, conservate în timpul întreruperii alimentării, se
activează încuierea contoarului în fereastra parametrilor, confirmând introducerii
parametrului .
Funcţia enumerării în sus : TO.
Diagrama următoare arată acţiunile contoarului în regimul TO : numeraţia în sus până la
valoarea stabilită.

Funcţia enumerării în jos : FROM.


Diagrama următoare arată acţiunea contoarului în rgimul FROM : numeraţia în jos de la
valoarea stabilită :
4.8.- Blocul funcţional de compare a contoarului.
Descrierea.
Această funcţie se foloseşte pentru compararea valorilor curente ale unuia sau a două
contoare cu o valoare dată (stabilită).
NOTĂ. Blocul comparării contoarului poate fi programat numai prin folosirea pachetului
de programare (pentru o informare se poate adresa on-line documentaţie Zelio Soft 2)
Folosirea în calitate de contact.
Reprezentare Funcţia Numărul Descrierea
VNo. Normal deschis 1 Contactul este închis, când formula de
comparare a fost verificată.
vNo. Normal închis 1 Idem

Parametri de comparare.
Formula de comparare este :
CONST X + VAL1 < Operatorul de coparare > CONST Y + VAL2
în care s-a notat :
CONST X şi CONST Y, constante în intervalul : -32767 şi 32767;
VAL1, VAL2, sunt valori stabilite de contoare pentru comparare; alegerea se face
în menu-ul ?????.
Operatorii de comparare se ot alege din fereastra PARAMETERS :
Zelio Descriere Simbol Descriere
> mai mare J inegal
mai mare sau egal J mai mic sau egal
= egal < mai mic

Dacă funcţia este blocată, atunci valoarea stabilită nu poate fi modificată.

4.9.- Blocul funcţional Contoarul rapid.


Descriere.
Funcţia contoarului rapid permite numărarea impulsurilor cu frecvenţa până la 1 kHz.
Se poate folosi ca un contact K1 pentru determinarea :
Atingerea valorii stabilite (numeraţia în sus);
Atingerea valorii stabilite (numeraţia în jos).
Output-urile contoarului rapid sunt legate neexplicit cu output-urile modulului I1 şi I2 :
Impuls (frontal) la input-ul I1 creşte valoarea contoarului;
Impuls (frontal) la input-ul I2 micşorează valoare contoarului.
Aceste input-uri nu trebuie folosite în program. Funcţia contoarului rapid poate fi
descărcată cu ajutorul bobinei RK1 la zero sau la valoarea stabilită (în funcţie de
parametrul ales).
Contoarul lucreaz numai în condiţia când bobina de activare TK1 este activă. Regimul
repetitiv poate fi folosit cu o anumită întârziere.
NOTĂ. Dacă valoarea curentă a contoarului depăşeşte limita superioară : +32767, atunci
ea devine -32768.
Dacă valoarea curentă a contoarului se găseşte la limita inferioară : -32768, atunci ea
devine egală cu +32767.
Folosirea în calitea de contact.
În condiţiile folosirii în calitate de contact K, contoarul indică că valoarea curentă şi
valoarea stabilită sunt egale (enumeraţia a atins pragul) :
Valoarea curentă a contoarului a atins valoarea stabilită (regimul TO);
Valoarea curentă a contoarului este egală cu zero (regimul FROM).
Reprezentarea Funcţia Numărul Descrierea.
K1 Normal deschis 1 Contact închis la atingerea valorii stabilite de
către contoar.
k1 Normal închis 1 Contact închis până ce contoarul nu atinge
valoarea stabilită.
Folosire în calitate de bobină.
Element Descriere/Folosire. Exemplu.
TK1 Funcţia de activare. Acest element conectează Exemplul de aplicare : activarea
contoarul. input-ului I1 conectează contoarul :

RK1 Descărcarea la valoarea iniţială. Exemplul de aplicare : descărcarea


Acest input descarcă contoarul la starea sa contoarului la apăsarea săgeţii în sus
iniţială :
 Valoarea contoarului se descarcă la
zero, dacă el este de tip TO;
 Valoarea curentă se descarcă la
valoarea stabilită, dacă el este de tip FROM.
Setarea parametrilor.
Elementul Descriere/Folosire.
Tip ciclu Tipul ciclului de numeraţie :
 Singular;
 Repetitiv : în acest caz apare parametrul I (continuitatea impulsului).
I Durata impulsului. Această valoare trebuie să fie între 1 şi 32787 (x100ms)
Acest parametru apare numai numai în cazul în care ciclul este repetitiv.
P Valoarea stabilită. Această valoare se dispune între 0 şi 32767 şi reprezintă :
 Valoarea stabilită la numeraţia în sus (regimul TO);
 Valoarea iniţială în regimul de numeraţie în jos de la valoarea stabilită (regimul
FROM).
T Tipul contoarului. Acest parametru poate fi folosit pentru alegerea regimului de lucru
al contoarului :
 TO : numeraţia în sus până la valoarea stabilită;
 FROM : numeraţia în jos de la valoarea stabilită.
Acest parametru se foloseşte pentru blocarea valorii stabilite a blocului funcţional. După
blocat blocare valoarea stabilită nu mai apare în menu-ul PARAMETER.

deblocat
neactiv Această funcţie se poate folosi la conservarea stării valorii curente a contoarului în cazul
activ deconectării alimentării.

Un exemplu : ecranul parametrului pentru contoarul rapid la Zelio/regimul de lucru cu


panou.

Notaţiile pentru figura panoului sunt :


1 – Тipul ciclului;
2 – Durata impulsului;
3 – Blocarea parametrului;
4 – Тipul contoarului;
5 – Valoarea stabilită;
6 – Соnservarea valorii curente.
Valoarea curentă a contoarului.
Această valoare, în orice moment de timp concret, reprezintă numeraţia succesivă în sus
sau în jos, care se produce începând de la descărcarea precedentă a contoarului, până la
starea sa iniţială.
Dacă valoarea curentă a contoarului depăşeşte limita superioară : +32767, atunci ea
devine -32768.
Dacă valoarea curentă a contoarului devine mai mică de limita inferioară : -32768, atunci
ea devine +32767.
Iniţializarea.
La iniţializare starea contactelor la valoarea curentă este :
regimul normal-deschis (starea directă) – neactivă;
regimul normal-închis (starea inversă) – activă;
valoarea curentă egală cu zero.
Conservarea stării.
Pentru restabilirea stării contoarului, conservate pe timpul întreruperii alimentării, se
activează aceasta în fereastra parametrilor contoarului, confirmând întroducerea.
Funcţia de numeraţie în sus în regimul ciclului singular.
Diagrama următoare demostrează felul de lucru al contoarului cu iniţializarea în zero (0) :

Funcţia de numeraţie în jos în rgimul ciclului singular.


Diagrama următoare demostrează felul de lucru al contoarului cu numeraţia inversă şi
iniţializarea la valoarea stabilită :

Funcţia de numeraţie în sus în regimul unui ciclu repetitiv.


Diagrama următoare demostrează felul cum lucrează contoarul cu forţarea la 0 a valorii
curente la iniţializare sau când valoarea contoarului a atins valoarea stabilită.
Output-ul se comută în starea neactivă la finalul dratei date a impulsului. Dacă comutarea
este activă înainte de modificarea stării, atunci impulsul de output va fi continuat până la
sincronizarea cu durata impulsului.
Funcţia numeraţiei în jos în regimul unui ciclu repetitiv.
Diagrama următoare demostrează felul de lucru al contoarului numeraţiei inverse cu
forţarea valorii curente la valoarea stabilită în cazul iniţializării sau la atingerea lui 0 :

Output-ul se comută în starea neactivă la finalul duratei impulsului. Dacă comutarea este
activă înainte de modifcarea stării, atunci impulsul de output va fi prelungit până la
suprapunerea cu aşa numita durată a impulsului (sincronizarea).
4.10.- Blocul funcţional TIMER.
Blocul funcţional Timer se foloseşte pentru reţinerea (întârzierea) şi controlul acţiunilor
în decursul unei perioade date de timp. El posedă input de descărcare, un input de control
şi un output pentru indicarea finalizării peroadei de timp stabilite.
Stabilirea parametrilor blocului funcţional se poate realiza :
prin introducerea unui rând al diagramei Ladder;
prin menu-ul PARAMETER, dacă funcţia nu este blocată.
Caracteristicile de timp pot fi stabilite prin folosirea uneia din cele 2 valori stabilite, în
funcţie de tipul timer-ului
Sunt stabilite în total 11 tipuri de timer-e (în detaliu vezi paragraful reglării parametrilor).
Folosirea în calitatea de contact.
Reprezentarea Funcţia Numărul Descrierea.
TNo. Normal deschis De la 1 Funcţionarea contactului depinde de stabilirea
parametrilor timer-ului. Stabilirea parametrilor
se descrie la finalul acestui paragraf.
tNo. Normal închis la G Idem.
Folosirea în calitate de bobină.
Element Descriere/Folosire.
TT Folosit în calitate de bobină în diagrama Ladder, acest element reprezintă un input de
control al timer-ului. Funcţionarea lui depinde de tipul folosit (vezi tabelulurmător).
RT Folosit în calitate de bobină în diagrama Ladder, acest element reprezintă n input de
descărcare. Stabilirea bobinei pentru descărcarea valorii curente a timer-ului : contactul
T se dezactivează şi blocul este gata pregătit pentru ciclu nou.
Stabilirea parametrilor.
Elementul Descrierea/Folosirea.
Tipul Există 11 tipuri de timer-e. Toate tipurile determină o anumită formă de acţiune pentru
diferite tipuri de probleme posibile.
 A : reţinerea (întârzierea) acţiunii;
 a : pentru lucrul cu un impulsstart/stop;
 C : reţinerea (întârzierea) deconectării;
 A/C : o combinaţie dintre timer-e A şi C;
 B : deconectorul actvaţiei impulsului de control : impulsul coincident cu cu
frontul de la input-ul de control;
 W : deconectorul dezactivării inpulsului de comandă : impulsul coincident cu
frontul dat de la input-ul de control;
 D : clipire simetrică;
 d : “clipirea” cu impulsul de comandă : sincron;
 L : “clipirea” cu controlul reţinerii : asincron;
 I : “clipirea” cu impulsul de control : asincron;
 T : activare totală.
t=00.00 Această valoare se denumeste valoarea stabilită. Efectul acestei valori se modifică în
sau funcţie de tipul folosit. Se poate referi la un tabel următor pentru detaliere.
A=00.00 Pentru timer-e de tip A/C şi L, acest parametru se înlocuieşte cu următoarele :
B=00.00  A : A/C reţinere la încuiere;
 B : A/C timer de reţinere la deconectare.
s Baza de timp a valorii stabilite. Exista 5 stări posibile :
 1/100 secunde : 00.00 s (maximum 99.99);
 1/10 secunde : 000.0 s (maximum 999.9);
 minute: secunde : 00.00 m:s (maximum 99.59);
 ore : 0000 o (maximum 9999)
Numai pentru tipul T (activării totale).
Acest parametru se foloseşte pentru blocare valorii stabilite a blocului funcţional. După
blocare valoarea stabilită nu mai apre în menu-ul PARAMETER.
T sau t Folosit ca contact, acest element al blocului funcţional reprezintă output-ul timer-ului.
Lucrul său depinde tipul ales (vezi unul dintabelele următoare).
Această funcţie se foloseşte pentru conservarea stării curente a timer-ului la
deconectarea (întreruperii) alimentării.
Urmează o figură în care sunt nominalizate elementele principale ale blocului funcţional
Timer.

1 – Input-ul de control al timer-ului;


2 – Input-ul de descărcare al timer-ului;
3 – Output-ul timer-ului (la atingera valorii stabilite;
4 – Blocarea parametrilor;
5 – Valoarea stabilită pentru timp; pentru timer-e de tip A/C sau LI acest
parametru este înlocuit cu parametri : a) reţinerea încuiabilă (?); b) reţinerea
neîncuiabilă (?) ;
6 – Stabilirea bazei de timp;
7 – Conservarea valorii curente;
8 – Tipul de timer.
Grafice pentru tipurile de timer-e :
Tipul A : reţinerea acţiunii
Tipul a : lucru cu impuls la start/stop

Tipu C : reţinere la deconectare

Tipul A/C : combinatia de timer-e A şi C


Tipul B : întrerupătorul activării impulsului de control : impulsul concomitent cu
frontul de la input-ul de control.

Tipul W : întrerupătorul dezactivării impulsului

Tipul D : clipire simetrică


Tipul d : clipirea cu impulsul de control : soncron.

Tipul Li : clipirea cu controlul menţinerii : asincron

Tipul T : activarea totală cu descărcare :


Timpul total de lucru : t1 + t2 + t3 =
Pentru un timer de activare totală, valoarea stabilită poate fi atinsă :
dupa un pas : t;
după câţiva paşi : t1 + t2 + … + tn.
Iniţializarea.
Starea contactelor şi a valorii curente la iniţializare este :
 regimul normal-deschis (starea directă) – neactive;
 regimul normal-închis (starea inversă) – active;
 valoarea curentă egală cu zero.
Exemplu : Folosirea blocului funcţional Timer.
Realizarea timer-ului priveşte iluminarea unei scări de acces :
Butoanele la fiecare etaj sunt legate cu input-ul I1 al releului inteligent.
Timer-ul numărul 1 conectează pentru 2 minute şi 30 secunde output-ul Q1.
Output-ul Q4 este legat cu sistemul de iluminare.
Controlul printr-o diagramă Ladder este următoarea :

La introducerea lui TT1 trebuie să fie stabiliţi parametri blocului funcţional al timer-ului
NOTĂ. Se folosesc următoarele taste : Sel./Ok pentru alegerea sau confirmarea
parametrului, Z2 şi Z3 pentru modificarea valorii parametrului ales, Z1 şi Z4 pentru
deplasarea de la un parametru, la altul.
În cele următoare se prezintă o succesiune ale ecranelor/comenteriilor privind folosirea
timer-ului în cadrul aplicaţiei date :
Ecranul Comentariu
Acesta este primul ecran. La început se
alege tipul de timer. ( 1 ori tasta → apoi
de 3 ori tasta ↑)
Se alege timer tip B, cu impus. Apoi se
alege baza de timp ( de 2 ori →, apoi de
2 ori ↑)

Cum s-a ales baza de timp, adică M : S,


se introduce durata necesară. (de 2 ori
→, apoi ↑)

După alegerea duratei stabilirea


parametrilor este terminată. Se apasă
tasta Menu/OK pentru revenirea (după
confirmare) la introducere diagramei
Ladder.

NOTĂ. Pentru punerea în funcţie a timer-ului este necesar ca releul în regimu RUN.

Comportarea după întreruperea alimentării.


Dacă se produce o întrerupere a alimentării cu energie electrică în timpul lucrului timer-
ului, rezultă că timpul ce a trecut al timer-ului se pierde. La o nouă conectare a releului
timer-ul se iniţializează pentru nou ciclu.
Dacă este necesar, atunci este posibil să se conserve valoarea timpului ce a trecut, înainte
de întreruperii alimentării. Pentru restabilirea stării contoarului, la întreruperea
alimentării, se activează încuierea timer-ului în feeastra parametrilor, confirmând
introducerea . Oprirea releului inteligent iniţializează blocurile funcţionale ale timer-
elor.

4.11.- Blocul funcţional al comparatorului anlogic.


Blocurile funcţionale ale comparatorului analogic se folosesc pentru compararea valorii
analogice măsurate cu valoarea internă, ca şi pentru compararea a 2 valori analogice
măsurate.
Rezultatul obţinut al comparării se foloseşte sub forma de contact. Funcţiile analogice ale
automatizării se pot folosi cu relee, dotate cu ceasuri şi alimentae în c.c. Existenţa output-
urilor hibride discret/analogice, se caracterizează prin existenţa input-urilor discrete
enumerate de la IB, la IG (în configuraţia maximă). Funcţia A comparatorului analogic
se foloseşte pentru :
Execuţia comparării între valorile măsurate analogic şi valorile interne;
Compararea a 2 valori măsurate analogic;
Compararea a 2 valori măsurate analogic cu valoarea histerezisului.
Folosirea în calitate de contact.
Reprezentarea Funcţia. Numărul. Descrierea.
ANo. Normal deschis De la 1 Contactul indică nivelul valorii măsurate analogic
în raport cu valoarea internă sau reprezentarea
comparaţiei dintre 2 valori măsurate analogic.
Această valoare depinde de tipul şi cinfigurarea
blocului funcţional analogic.
aNo. Normal închis la G Idem
NOTĂ. Blocul funcţional analogic se foloseşte numai ca contact.

Stabilirea parametrilor.
Ecranul parametrilor Comparatorului, tipul histerezisului în regimul de lucru cu panoul
frontal apare astfel :

iar în cazul unei comparaţii simple, astfel :


Notaţiile sunt următoarele :
1 – tipul comparaţiei;
2 – formula comparaţiei;
3 – blocarea parametrilor;
4 şi 5 – parametri formulei de comparaţie.
Dacă funcţia este blocată, atunci valoarea internă sau valoarea histerezisului (în funcţie
de tipul ales) nu mai apar în menu-ul PARAMETER.
Când blocul funcţional nu este blocat, atunci valorile acesibile se dispun între 0 şi 9.9 V.
Stabilirea parametrilor blocului funcţional se poate realiza :
 la construirea diagramei Ladder;
 din menu-ul PARAMETER, dacă funcţia nu afost blocată.
Tipurile de comparatoare.
Formula simplă de comparare :
VAL1 < Operatorul de comparare > VAL2

Pentru comparare cu histerezis :


VAL1 – H ≤ VAL2 ≤ VAL1 + H
În tabelul următor x1 şi x2 reprezintă input-urile analogice (sau valorile interne) pentru
comparare.
Valorile posibile : valorile interne, lb, lc, ld, le, lf şi lg, cu x1 diferit de x2.
Blocul. Tipul comparatorului. Descriere.
1 x1 > x2 Contactul apare închis când condiţia x1 > x2 este ndeplinită.
2 x1 ≥ x2 Contactul apar închis când condiţia x1 ≥ x2 este îndeplinită.
3 x1 = x2 Contactul apare închis când condiţia x1 = x2 este îndeplinită.
4 x1 ≠ x2 Contactul apare închis când condiţia x1 ≠ x2 este îndeplinită.
5 x1 ≤ x2 Contactul apare închis când condiţia x1 ≤ x2 este îndeplinită.
6 x1 < x2 Contactul apare închis când condiţia x1 < x2 este îndeplinită.
7 x1 – H ≤ x2 ≤ x1 + H Contactul apare închis când condiţia x1-H ≤ x2 ≤ x1+H este
îndeplinită (H reprezintă parametrul histerezisului).
Valoarea internă R şi parametrul histerezisului H, pot lua valori de la 0.0, la 9.9.
Iniţializarea.
Starea contactelor şi valoarea curentă la iniţializare sunt :
 regimul normal-deschis (starea directă) – neactivate;
 regimul normal-închis (starea inversă) – activate.
Un exemplu- folosirea blocului funcţional analogic.
Exemplul se referă la conectarea unui element de încălzire, folosind output-ul Q1 al
releului inteligent, la o scădere a temperaturii sub 20°C. Se foloseşte un traductor de
temperatură ce asigură un semnal 0 -10 în domeniul de temperaturi de la -10º, la 40ºC.
Temperatura de 20ºC corespunde unui nivel de tensiune de 6 V la traductor.
Ecranul. Comentariu.
Contactul A1 al blocului funcţional analog
se foloseşte pentru controlul output-ului
Q1.
Contactul analogic A1 al blocului
funcţional se configurează astfel : lb=<
Variabila (valoarea internă). Tensiunea
variabilei = 6.0 V.

4.12.- Blocul funcţional al modificării iarna/vara.


Descriere.
Output-ul acestei funcţii este STOP în vremea de iarnă şi RUN în vreme de vară.
Implicit o modificare a vremii iarna/vară nu este, dar această funcţie poate fi activată în
menu-ul CONFIGURATION/CHANGE SUMMER/WINTER.
NOTĂ. Această funcţie este accesibilă numai la relee ce conţin ceasuri de timp real.
Dacă această opţiune este acceptată, atunci trebuie stabilite datele de comutare :
Fie folosind una dintre zonele geografice prestabilite;
Fie configurând manual datele (luna/duminica).
Folosirea în calitate de contact.
Reprezentarea Funcţia. Numărul. Descrierea.
WNo. Normal deschis 1 Contactul este închis în vreme de vară.
wNo. Normal închis 1 Idem
Parametri.
Sunt accesibile următoarele regimuri de lucru :
 No : a nu modifica vremea;
 Modificare automată, datele sunt stabilite conform cu zona geografică
(EUROPE, GB, USA);
 OTHER ZONE : modificarea este automată dar se stabileşte luna: M şi
duminica: S (1,2,3,4 sau 5) de comutare.

4.13.- Blocul funcţional al iluminării ecranului LCD.


Descriere.
Output-ul iluminării ecranului se foloseşte pentru controlul programat al iluminării LCD.
În regimurile se STOP şi RUN ecranul LCD se iluminează 30 de secunde după ce
utilizatorul a apăsat o tastă de pe faţada frontală.
Folosirea în calitate de bobină.
Reprezentarea Funcţia. Numărul. Descrierea.
LNo. Normal deschis 1 LCD este iluminat pe toată perioada când
bobina este activă.

4.14.- Blocul funcţional TEXT.


Descriere.
Funcţia TEXT se foloseşte pentru redarea textului sau a valorilor numerice (valorii
curente sau valoarea stabilită) pe LCD în locul ecranului INPUTS/OUTPUTS.
Blocul TEXT poate reprezenta maxim 4 rânduri formate din :
Rândurile de text (câte una pe câte un rând al ecranului) maxim 18 simboluri;
Valori numerice (vezi Zelio Soft 2 on-line)
Se pot folosi până la 16 blocuri de text (de la X1, la XG) simultan într-un program, dar
numai blocul final activ va fi reprezentat.
Apăsarea simultană a tastelor Shift şi Menu/OK comută display-ul de la ecranul TEXT,
la ecranul INPUTS/OUTPUTS.I
Apăsarea simultană din nou a celor 2 taste, reîntoarce display-ul la ecranul TEXT.
NOTĂ. Blocul de text poate fi programat numai cu ajutorul unor mijloace de programare
(vezi Zelio Soft 2 on-line).
Folosirea în calitate de bobină.
Reprezentarea Funcţia. Numărul. Descrierea.
TXNo. Normal deschis 1 Display-ul se activează la activarea
contactului conectat
RXNo. Normal închis 1 Display-ul se dezactivează la activarea
contactului conectat.
Informaţia este reprezentată la modul dacă contactul conectat la bobina de tex TX este
activ. Informaţia dispare dacă contactul RX este activat (se realizează revenirea la
ecranul INPUTS/OUTPUTS).
Exemplu – Folosirea blocului funcţional TEXT.

Activarea input-ului I1 face să apară textul pe LCD; iar activarea input-ului I2 conduce
la dispariţia textului.

4.15.- Input-uri/output-uri de tip MODBUS.


Descrierea.
Modulul de extensie MODBUS SR3 MBU01BD poate fi adăugat la modulul tip Zelio 2
SR3 BxxBD.
În regimul LD aplicaţia nu poate folosi cuvinte de 16-bite. Transmiterea de la master este
neimplicită şi este total clară.
NOTĂ. Modulul MODBUS Zelio 2 funcţionează numai în regimul Modbus slave.
Parametri.
Parametri pot fi stabiliţi numai cu ajutorul unui program asigurator (vezi Zeli Soft 2 On-
line).
Cuvinte pentru transfer la dispozitivul Master.
Cuvinte ce se trimet dispozitivului Master sunt descrise automat dublând input-
urile/output-urile discrete în modul următor :
În figura anterioară sunt redate stările input-urilor/output-urilor discrete astfel :
C I1 până la IG : starea input-urilor discrete pentru SR3 BxxBD base;
C IH până la IR: starea input-urilor discrete pentru SR3 XTxxBD extension;
C Q1 până la QA: starea output-urilor discrete pentru SR3BxxxBD base;
C QB până la QG: starea output-urilor discrete pentru SR3 XTxxxBD extension.
Cuvintele expediate de dispozitivul master.
Cuvintele expediate de dispozitivul Master nu sunt receptate de modulul Zelio 2 (în
regimul LD). Adresa (Hexa) pentru aceste cuvinte de 16-biti este următoarea :
0010/0011/0012/0013.

Cap.5.- Inserarea diagramelor Ladder.


5.1.- Regulile de inserare a diagramelor Ladder.
Descrierea.
Un releu inteligent permite inserarea până la 120 de rânduri ale diagramei Ladder.
Ecranul releului inteligent poate fi folosit pentru reprezentarea simultană a 4 rânduri ale
diagramei astfel (ca în figura următoare) :
În continuare sunt redate semnificaţiile notaţiilor din figura precedentă :
Numărul. Descrierea.
1 Coloana pentru stabilirea contactelor (condiţii).
2 Coloana pentru stabilirea contactelor (condiţii) şi a link-urilor.
3 Coloana pentru stabilirea bobinelor (acţiuni).
4 Coloana pentru desenarea legăturilor (link-urilor).

Fiecare rând cuprinde 5 câmpuri cu câte 2 simboluri în care fiecare este pentru stabilirea
contactelor (condiţiilor). Cele 4 coloane centrale se pot folosi, de asemene, pentru
formarea legăturilor. Ultima coloana trisimbolică se foloseşte pentru bobine (acţiuni).
Legăturile trebuie să fie realizate între coloanele bobinelor şi cele ale contactelor.
Diagrama Ladder se inserează la releul inteligent cu ajutorul tastelor de la panoul
frontal (vezi descrierea tastelor de comandă din paragraful 3 al capitolului 1).

5.1.- Regulile de inserare a diagramelor Ladder.


Regula. Fals. Corect.
Fiecare bobină trebuie să fie
stabilită numai o singură dată în
coloana din dreapta.

Contactele şi bobinele pot fi


inserate de mai multe ori după
nevoie în 5 coloane de stânga.

Legăturile trebuie să “meargă”


de la stânga, la dreapta.

Dacă se foloseşte bobina S (Set) Dacă nu există bobina R (Reset), Bobina R (Reset) trebuie să fie folosită
în diagrama Ladder atunci bobina corespunzătoare se pentru descărcare.
va stabili în 1.
NOTĂ. Releele inteligente realizează o programă de sus în jos, respectiv de la
stânga, la dreapta.

5.2.- Posibilitatea introducerii elementelor.


Inserarea unui element.
Un element (contact sau bobină) poate fi inserat numai în cazul cursorului clipitor
reprezentat pe ecran.
Contactele se inserează în 5 coloane de stânga, iar bobinele se pot insera numai în
ultima coloană.
Inserarea unui contact.
1.- Se stabileşte cursorul clipitor la poziţia necesară cu ajutorul tastelor de la Z1, la
Z4.
2.- Se apasă Shift (tasta albă) : apare menu-ul de context.
3.- Se inserează contactul folosind tastele Z2 (-) sau Z3 (+);
4.- Se lege tipul de contact necesar (i, Q, q, M, m, T, t, …) cu ajutorul tastelor Z2 (-) şi
Z3 (+);
5.- Se relaxează Shift;
6.- Cu tasta Z4 se stabileşte numărul;
7.- Se apasă Shift : apare menu-ul de context;
8.- Se alege numărul (1,2,…9,A…) cu ajutorul tastelor Z2 (-) şi Z3 (+);
9.- Se relaxează Shift.
Inserarea unei bobine.
1.- Se stabileşte un cursor clipitor la poziţia necesară (ultima coloană) cu ajutorul
tastelor de Z1, la Z4;
2.- Se apasă Shift : apare menu-ul de context;
3.- Se inserează bobina cu ajutorul tastelor Z2 (-) sau Z3 (+);
4.- Se alege tipul necesr de bobină cu ajutorul tastelor Z2 (-) şi Z3 (+);
5.- Se relaxează Shift;
6.- Cu tasta Z4 se stabileşte numărul;
7.- Se apasă Shift : apare menu-ul de context;
8.- Se alege numărulcu tastele Z2 (-) şi Z3 (+);
9.- Se relaxează Shift;
10.- Cu tasta Z1 se alege funcţia bobinei;
11.- Se apasă Shift : apare menu-ul de context;
12.- Se alege funcţia cu tastele Z2 (-) şi Z3 (+);
13.- Cu tastele Z1, până la Z4 : se trece la un nou rând al programului.
Inserarea bobinelor unor blocuri funcţionale chiamă ecranul stabilirii parametrilor
blocului funcţional.
Modificarea elementelor.
În cazul modificării unui element într-o digaramă Ladder existentă, pur şi simplu “se
trece” la elementul inlocuibil şi se aplică aceeaşi procedură ca la introducerea unu
element nou.
Îndepărtarea unui element.
1.- Se stabileşte cursorul clipitor asupra elementului cu pricina;
2.- Se apasă Shift : apare menu-ul de context;

3.- Cu tastele Menu/OK (Del.) se îndepartează elementul dat;


4.- Se relaxează tasta Shift.
NOTĂ. În majoritatea cazurilor elementul îndpărtat va fi înlocuit cu o legătură.

5.3.- Posibilitaea inserării legăturilor.


Inserarea legăturilor dintre elemente.
Legătura poate fi stabilită numai în cazul apariţiei cursorului clipitor .
1.- Se stabileşte cursorul clipitor la poziţia necesară cu ajutorul tastelor de la Z1, la
Z4;
2.- Se apasă Shift : contactl se realizează si apare menu-ulde context ;

3.- Se desenează legătura prin mişcarea cursorului în poziţia necesară cu ajutorul tastelor
de la Z1, la Z4;
4.- Se relaxează Shift.
Se repetă această acţiune de mai multe ori în funcţie de necesitate, pentru a lega (racorda)
elementele necesare.
Îndepărtarea legăturilor dintre elemente.
1.- Se deplasează cursorii sau asupra legăturii ce urmează să fie îndepărtată, cu
ajutorul tastelor de la Z1, la Z4 : ;
2.- Se apsă Shift : apare menu-ul de context;
3.- Cu tasta Menu/OK (Del.) se îndepărtează legătura;
4.- Se relaxează Shift.
În locuirea unei legături cu un contact.
Pentru înlocuirea unei legături cu un contact, pur şi simplu se dispune cursorul
deasupra câmpului dat şi se inserează contactul aşa cum se descrie la înserarea unui
element.

5.4.- Posibilitatea introducerii parametrilor funcţiilor.


La inserarea diagramei Ladder, trebuie introduşi parametri funcţiilor de automatizare. Cu
ajutorul ecranului se pot introduce :
Funcţiile cu parametri :
 Releul auxiliar (încuiabile = ce spot încuia);
 Input-uri discrete (încuiabile);
 Ceasul;
 Comparatoarele analogice;
 Timer-e;
 Contoarele rapide.
Stabilirea parametrilor blcurlor funcţionale se poate realiza :
La inserarea unui rând al diagramei Ladder;
Din menu-ul PARAMETER, dacă blocul nu este blocat.
Indiferent de ecranul afişat al unui anumit parametru, principiul introducerii parametrului
este unul şi acelaşi :
1.- Se dispune cusorul clipitor asupra parametrului modificabil cuajutorul tastelor cu
ajutorul tastelor de la Z1, la Z4 ;
2.- Se apasă Shift : contactul este realizat şi se afişează menu-ul de context. Se apsă Z4
pentru accesarea menu-ului de configurare.

Fereastra PARAM este accesibilă, numai dacă blocul funcţional are parametri.
3.- Se relaxează Shift : apare menu-ul de context.

4.- Se alege parametrul pentru modificare cu ajutorul tastelor Z1 ◄ şi Z4 ►(alegerea


apare prin clipirea parametrului);
5.- Parametrul se modifică cu tastele Z2 ▼ şi Z3 ▲;
6.- Se confirmă introducerea şi conservarea cu tasta Menu/OK. Display-ul se returnează
la fereastra inserării diagramei Ladder.

5.5.- Îndepărtarea şi inserarea rândurilor unei diagrame Ladder.


Îndepărtarea rândurilor.
Rândurile unei diagrame Ladder se îndepărtează una duă alta. Principiul este următorul :
1.- Se dispune cursorul deasupra unui loc gol al rândului (făra element sau pegătură) cu
ajutorul tastelor de la Z1, la Z4 : . Dacă este absolut necesar se
îndepărtează un element pentru a realiza un astfel de loc gol.
2.- Se apasă Shift : apare menu-ul de context,

apoi cu tasta Menu/OK (Del.) se îndepărtează rândul


3.- Apare menu-ul de confirmare al îndepărtării; se alege varianta convenabilă cu ajutorul
tastelor Z2 ▼ şi Z3 ▲.
4.- Se confirmă alegerea cu tasta Menu/OK.
Rândul este îndepărtat.
NOTĂ. Se pot îndepărta toate rândurile unei diagrame Ladder conservate într-un releu
inteligent. Pentru aceasta se trece la punctul “CLEAR PROG.” din menu-ul principal şi
se confirmă ştergerea tuturor rândurilor diagramei Ladder.
Inserarea unui rând la o diagramă Ladder.
1.- Se dispune cursorul pe rândul imediat mai jos fată de cea realizată anterior cu tastele
Z2 ▼şi Z3 ▲.
2.- Se apasă Shift : apare menu-ul de context.
3.- Cu ajutorul tastei Z1 (ins) se introduce rândul.
4.- Se relaxează Shift.

Cap.6.- Realizarea unei aplicţii simple.


6.1.- Reprezentarea diagramei Ladder.
În cadrul acestei secţiuni se va folosi un exemplu simplu, pentru a înţelege felul cum
lucrează diagrama Ladder, cu ajutorul căreia se formează un întrerupător bilateral. În
figura următoare este dată schema generală de legături :
Urmează explicarea formării diagramei Ladder
Schema obişnuită. Diagrama Ladder.

Cele 2 poziţii ale întrerupătorului, identificabile I1 şi I2 sunt 2 contacte, reprezintă input-urile 1 şi


prin notaţiile VV1 şi VV2, controlează lampa L1. 2 ale releului.
Q1 este bobina ce corespunde output-ului 1 al
releului.
Folosirea releului inteligent înseamnă că întrerupătoarele obişnuite (cu poziţiile închis sau
deschis) pot fi folosite în locul întrerupătorului bipoziţional ( se mai numeşte întrerupător
de scară pentru se foloseşte pentru comanda iluminării scărilor din blocuri).
Întrerupătoarele se identifică ca fiind S1 şi S2 (vezi prima figură). Întrerupătoarele S1 şi
S2 sunt conectate la input-urile I1 şi I2 ale releului inteligent. De fiecare dată,
modificarea stărilor lui I1 şi I2, reclamă modificarea stării output-ului Q1, ce controlează
lampa L1. Diagrama Ladder foloseşte posibilităţile dispunerii contactelor în paralel sau în
serie cu funcţia inversă, reprezentată ca i1 şi i2 (vezi în continuare).
NOTĂ. Pentru realizarea uni întrerupător bipoziţional optimal se pot folosi bobinele
releului d comabdă la distanţă (vezi pargr.3, cap.4 : Output-uri discrete)
6.2.- Folosirea funcţiei inverse.
Exemplul practic.
Funcţia inversă a releului inteligent se notează cu I şi se foloseşte pentru obţinerea stării
inverse input-ului I, folosit în cadrul releului. Pentru a ilustra lucrului cu acestă funcţie se
va prezenta o schemă electrică simplă :
Schema Conectarea la releu.
electrică

În funcţie de diagrama Lader există două soluţii :


Diagrama Ladder 1 Diagrama Ladder 2
Lumina stinsă. Lumina aprinsă.

I1 corespunde poziţiei adevărate ale lui PB1, i1 corespunde stării inverse ale lui PB1, apăsrea lui
apăsarea lui PB1 activează input-ul I1, care la PB1 dezactivează input-ul i1, respectiv output-ul
rândul său închide Q1 şi aprinde lampa L1. Q1, ceea ce duce la stingerea lămpii L1.

Cazul general.
Tabelul următor ilustrează lucrul unui contact, legat de un releu inteligent.
Butonul PB1 este legat la input-ul I1, iar lampa L1 este conectată la output-ul Q1 al
releului inteligent.
Repaus. Funcţionare.
Schema electică Simbolul Zelio Schema electrică Simbolul Zelio
I1 = 0 I1 = 1
i1 = 1 i1 = 0

I1 = 1 I1 = 0
i1 = 0 i1 = 1

NOTĂ. Funcţia inversă poate lucra cu toate contactele din diagrama Ladder, fie că
reperzintă output-uri, relee auxuliare sau blocurile funcţinale.

5.3.- Reprezentările (simbolurile) folosite în cadrul diagramei Ladder.


Un releu inteligent posedă un display format din 4 rânduri pentru reprezentarea diagramei
Ladder.
NOTĂ. Aplicarea Zelio Soft 2 permite reprezentarea diagramelor Ladder în 3 formate
diferite.
Urmează prezentarea tabelară a simbolurilor.
Elementul schemei electrice Elementul diagramă Ladder Elementul releu Zelio.

I1 sau i1

sau

I1 sau i1

Bobina (SET)

Bobina (RESET)

Alte elemente sunt, de asemenea, accesibile în cazul folosiri releului inteligent :


Blocul funcţional Timer : se foloseşte pentru reţinere şi comanda unei acţiuni în
cadrul unui interval de timp;
Blocul funcţional Contoar : se foloseşte pentru numerarea impulsurilor, date la
input;
Blocul funcţional al Ceasului : se foloseşte pentru activarea sau dezactivarea
acţiunilor la memente exacte;
Blocul funcţional al Comparatorului analog : se foloseşte pentru compararea
unei valori analogice cu valoarea internă sau cu o altă valoare analogică cu considerarea
unui hsterezis;
Relee auxiliare (ajutătoare) : ele se folosesc pentru conservarea stărior releului
inteligent;
Z taste : după confirmarea acestei funcţii, tastele Z ot fi folosite ca butoane de
input.Z
NOTĂ. Pentru obţinerea unei informaţii suplimentare despre toate elementele diagramei
Ladder, accesibile la folosirea releului inteligent, vezi cap.4 – “Funcţiile de automatizare
LD”, pentru o descriere detaliată.

6.4.- Aplicaţie : Realizarea întrerupătorului bipoziţional.


Inserarea diagramei Ladder.
Conform cu exemplele din tabelele ce urmează, utilizatorul poate insera o diagramă
Ladder pentru un întrerupător bipoziţional.
Din ecranul principal (el se obţine la conectarea alimentării) trebuie urmate comenzile din
cloana “Acţiune” şi apăsate butoanele indicate.
Coloana “Ecran” arată ceea ce utilizatorul va vedea pe ecran releului inteligent.f1
Coloana “Comentarii” va da o informaţie oarecare suplimentară referitor la valorile ce se
introduc şi acţiuni.u
Acţiunea. Ecran. Comentarii.
PROGRAMMING Se aşează cursorul pe
PARAMETER PROGRAMMING, iarel va
RUN / STOP începe să clipeasscă la alegerea
CONFIGURATION sa.
n După “o arătare” scurtă : LINE 1
LINE 2 (arox. 2 sec), va apare cursorul
LINE 3 clipitor .
LINE 4
ins - + Del. Apare menu-ul de context

I1 Cursorul cliptor este stabilit


pe I şi releul inteligent ne roagă
să stabilim tipul de contact.
I1 Clipeşte 1. Utilizatorul a ales
neîmplicit contactul destinat
pentru input-ul (I), iar a releului
acum cere utilizatorului să aleagă
numărul de input.
I1● Clipeşte ● indicând punctul de
legare pentru efectuarea legăturii.

I1 Clipeşte . Doar abia s-a


realizat legătura cu input-ul I1, iar
se deplasează şi este gata să
producă al 2-lea contact.
I1—I1 Partea dreaptă a lu I clipeşte,
adică releul vă roagă să alegeţi
tipul contactului
I1—i1 Clipeşte i, ceea ce înseamnă că s-
a ales un contact invers.

I1—i1 La dreapta clipeşte 1. Acum


trebuie introdus numărul input-
ului
I1—i2 Clipeşte 2.

I1—i2 ● Cursorul clipeşte pe ● apoi pe


I1—i2 :
de 11 ori
… ● punctul de legătură;
apoi punctul contactului.
I1—i2 Cât ne găsim la finalul rândului,
se poate insera bobina.

I1—i2 M1 Clipeşte

Clipeşte M

I1—i2 M1
Clipeşte Q

de 2 ori
Apare cursorul ●

de 2 ori
Legătura este realizată.

de 3 ori
Cursorul se găseşte la
începutul rândului.
de atâtea ori cât este necesar să se
ajungă la începutul rândului.
I-ul se găseşte pe rândul 2 şi
clipeşte.

i- ul se găseşte pe rândul 2 şi
clipeşte.

1 se găseşte pe rândul 2 şi
clipeşte.

Clipeşte .

I se găseşte pe rândul 2 şi clpeşte.

Al doilea 1 pe rândul 2 clipeşte.

2 se găseşte pe rândul 2 şi
clipeşte.

Clipeşte ● . Aceasta înseamnă că


se poate realiza legătura în acest
punct.
● s-a modificat, în cel ce repre-
zintă legătura virtuală dintre
rânduri.

Acum trebuie confirmată modifi-


carea. Clipeşte YES.

Din nou apare menu-ul de bază.


Este ales I/O (clipeşte).
Este ales RUN/STOP (clipeşte).

de 2 ori

Acum se pune în funcţiune


programul.

Din nou apare me-ul de bază.

Acest exemplu aplicativ simplu arată unui utilizator, cum se poate insera o diagramă
Ladder. Următoarele puncte trebuie reţinute :
Când clipeşte ■ sau ●, atunci tasta Shift adaugă elementul (contact, bobina sau
simbolul grafic de legătură a elementelor);
Când clipeşte elementul (I, Q, No., …etc), se poate folosi Shift + săgeţile Z2 şi
Z3 de la claviatură pentru alegerea elementului necesar;
De asemenea, se pot folosi tastele de la Z1, la Z4 pentru deplasări în
cadruldiagramei Ladder.

Cap.7.- Depanarea
7.1.- Introducere.
Imediat ce aplicaţia a fost inserată sub forma unei digrame Ladder, este necesar să se
realizeze depanarea
Primul pas este acela că releul inteligent trebuie adus în regimul RUN, iar pentru aceasta
se alege punctul RUN/STOP din menu-ul principal, respectiv se confirmată pornirea
programului.
Din acest moment releul inteligent prelucrează input-urile şi output-urile fizice, conform
cu comenzile introduse în diagrama Ladder.
În continuare este prezentat ecranul releului la pornire.

Notţiile făcute în legătură cu eran sunturmătoarele :


1.- Afişarea stărilor de input;
2.- Reprezentarea regimurilor de lucru (RUN/STOP);
3.- Reprezentarea datei şi a timpului, pentru relee cu ceas;
4.- Afişarea stărilor de output;
5.- Menu-ul de context/tastele/iconurile, ce arată regimul de lucru.
Când input-urile sau output-urile se activează, atunci ele se reprezintă inversat (adică, ca
fiind albe pe fond negru).
Această concepţie este denumită ca fiind lucrul dinamic al funcţiilor releului
inteligent. Termenii RUN şi dinamic vor avea în conţinuare aceeaşi valoare.
Descrierea simbolurilor din menu-ul de context este dată în continuare, odată cu figura
respectivă :

1.- Starea modulului : RUN – pornit, STOP – oprit;


2.- Reprezentarea erorilor apărute (vezi menu-ul FAULT);
3.- Se artă că modulul este conectat la calculator
4.- Cheia indică faptul că programul este protejat prin parolare.

7.2.- Regimul dinamic al diagramei Ladder.


Reprezentarea diagramei Ladder.
NOTĂ. Este accesibilă numai în regimul LD/RUN.
Releul inteligent poate prezenta dinamica de lucru a diagramei Ladder, iar pentru aceasta
pur şi simplu se chiamă menu-ul MONITORING şi cu ajutorul tastelor cursorului se
aleg rândurile pentru reprezentare.
Fiecare dintre contactele închise sau bobină excitată sunt reprezentate în regimul inversat
(adică, reprezentare albă pe fond negru), aşa cum apare în figura următoare :

Pentru modificarea lucrului releului inteligent, utilizatorul poate modifica sau reprezenta
unii dintre parametri blocului funcţional.
Modificarea diagramelor Ladder.
În mod ABSOLUT, NU ESTE POSIBILĂ modificarea rândurilor diagramei Ladder în
regimul RUN.
Dar se pot modifca parametri blocului funcţional în regimul MONITORING.
Folosirea Z-tastelor în calitate de butoane.
Dacă funcţia este activată, atunci pe ecranul INPUTS/OUTPUTS apare numărul tastei în
menu-ulde context, în partea de jos a ecranului, la paăsarea tastei SHIFT
Activarea tastei se poate face pur şi simplu prin alegerea sa : ↑→←↓.
NOTĂ. Apare reprezentarea numărului tastei folosite în cadrul programului.
De exemplu :

NOTĂ. Această funcţie nu este activă în menu-ul PARAMETERS, regimul


MONITORING şi în ecranele parametrilor tuturor blocurilor funcţionale şi în ecranele de
configurare.

7.3.- Regimul dinamic al parametrilor blocului funcţional.


O prezentare.
În regimul dinamic valaorea stabilită din blocul funcţional poate fi modificată în mod
dinamic, dacă blocul nu este blocat.
Funcţiile cu parametri în regimul LD sunt :
Releul auxiliar (ajutător, încuiabil);
Input-urile discrete (încuiabile);
Ceasul;
Comparatoarele analogice;
Timer-e;
Contoarele;
Contoarele rapide.
Funţiile cu parametri în regimul LD (???) (poate FBD) :
 Input-urile numerice de tip constanta
 Ceasul
 Gein (?);
 Timer-e : TIMER A/C, TIMER B/H, TIMER Li;
 Contoarul : PRESET COUNT/UP DOWN COUNT
 Contoarul rapid : PRESET H-METER
 blocul CAM,
Accesul/ Modificarea parametrilor.
Se poate relaţiona cu parametri cu ajutorul ecranelor :
MONITORING : în cadrul diagramei Ladder (conform cu tabelul) :
Paşii Descrierea.
1 Se folosesc tastele cursorului prntru deplasarea spre elementul de modificat.
2 Se apasă simultan tastele Shift şi Param pentru chemarea ferestrei parametrilor.
3 Se folosesc tastele cursorulu pentru deplasarea şi modificarea câmpului parametrului : ←→ .
4 Se modifică valoarea parametrului cu ajutorul tastelor + şi -, în condiţiile apăsării lui SHIFT.
5 Se confirmă modificarea cu tasta Menu/OK, care deschide fereastra confirmării.
Se confirmă din nou cu Menu/OK pentru conservarea modificării.
PARAMETER : dacă blocul funcţional nu este blocat (vezi cap2. – Descrierea
Menu/2.4.- Menu-ul Parametrilor).

7.4.- Regimul dinamic al menu-urilor.


Unele menu-uri sunt accesibile în regimul RUN, în timp ce altele nu sunt accesibile. În
continuare este dat tabelul centralizator :
М

еню LD FBD

7.5.- Reacţia releului inteligent la întreruperea alimentării cu energie electrică.


Întreruperea alimentării cu energia electrică poate duce la repornirea releului şi pierderea
oricăror date neconservate. N releu inteligent are posibilitatea conservării timpul curent în
decursula circa 10 ani. În afară de aceasta, are posibilitea să conserve variabilele
configurate cu opţiunea Latching şi stabilite în fereastra parametrilor.
Această funcţie poate fi folosită pentru conservarea stărilor vaorilor curente în condiţiile
întreruperii curentului pentru :
Regimul LD
Releul auxiliar (ajutător, încuiabil);
Input-urile discrete (încuiabile);
Timer-e;
Contoare;
Contoare rapide.
Regimul FBD
 Timer-e A/C, B/H, Li;
 Funcţii de programare CAM BLOCK;
 Contoarul PRESET COUNT, UP DOWN COUNT;
 Contoar de ceas PRESET H-METER;
 Funcţia arhivării datelor ARCHIVE;
 Contoarul rapid.
Regimulde siguranţă.
Dacă rezultatul pierderii vremii stabilite trebuie să blocheze comanda bobinei, atunci pur
şi simplu se foloseşte contactul ceasului înseriat cu bobina de acţiune, după cum urmează:
Ecranul. Comentariu.
Rândul contactului pentru bobina Q1 va fi activă
chiar dacă timpul şi data stabilită sunt pierdute.

Rândul contactului pentru bobina Q2 va fi activă


numai după stabilirea ceasului.

Ecranul stabilirii parametrului blocului funcţional a


ceasului 1.

Cap.8.- Exemplul unei aplicaţii.


8.1.- Formalizarea.
Problema pusă caută să lărgească şi să centralizeze sistemul conduceri unei parcări auto
subterane de la o clădire oficială. Porţile de intrare şi ieşire a parcării auto se comandă cu
ajutorul unei bariere automate tipice, care prelucrează funcţii standard de tipul deschideri
şi închiderii cu menţinerile corespunzătoare în timp pentru trecerea mijloacelor de
transport, prelucrează biletele de plată, are un sistem încastrat de comunicare cu paza, o
blocare externă a barierei în poziţia de închis …
În afară de aceasta, noua clădire necesită adăugarea funcţiilor pentru enumerarea
numărului mijloacelor de transport, parcate în parcarea auto şi controlul display-ului ce
informează pe utilizatori că locurile din parcare sunt ocupate, blocând în paralel bariera în
poziţia închisă. La această funcţie trebuie adăugat în mod special posibilitatea accesului
mijloacelor de salvare…
Problema prevede, de asemenea, interdicţia de lucru a parcării auto în afara orelor de
lucru, dar permite personalului de pază să elimine acestă funcţie în cazuri deosebite de
necesitate. Orele de lucru normale sunt : de luni, până vineri, de la 08.30, până la 17.30,
sâmbata de la 09.30, până la 12.00, iar duminica toată ziua este închisă.
Din motive de siguranţă, de asemenea, este necesar să se micşoreze elemente de
atmosferă de tip dioxidului de carbon, folosind ventilatorul când nivelul măsurat al
concentraţiei depăşeşte limita admisibilă (se foloseşte un traductor ce asigură la ieşire
între 0 şi 10 V).
Există, de asemenea, necesitatea comenzilor de conectare a iluminatului cerută de sosirea
unui mijloc de transport, iar cu ajutorul unor butoane, dispuse pe lânga toate punctele de
acces pietonal. Pentru economia electroenergiei, iluminatul trebuie să fie deconectat după
10 minute – intervalul de timp considerat în general suficient pentru utilizator pentru
parcarea maşinii, să iasă din ea, să intre în lift sau să se întoarcă în maşină şi să
părăsească parcarea auto.
Pentru suplimentarea sistemului, se va prevedea modificarea manuală a mijloacelor de
transport de la autoparcarea, mărind sau micşorând numărul mijloacelor de transport în
raport de cum este determinat de către releul inteligent.
În principiu, aceasta reprezintă formalizarea unei probleme date.

8.2.- Analiza problemei.


În cazul dat acesta se face sub formă tabelată :
Notările pentru releu. Descrierea.
Input-ul I1 Reprezentarea intrării maşinilor.
Input-ul I2 Reprezentarea ieşirii maşinilor.
Contorul C1 Enumerarea numărului de maşini din parcar (maximum 93).
Output-ul Q1 Indicaţia ocupării parcării auto.
Output-ul Q2 Blocarea barierei (interdicţia deschiderii barierei) când parcarea
este plină sau în perioada nelucrătoare.
Tasta funcţională Z4 Deblocarea manuală a barierei.
Tasta funcţională Z2 Permite reluarea controlului automat al intrării.
Tasta funcţională Z1 Creşterea manuală a numărului de maşini din parcare.
Tasta funcţională Z3 Micşorarea manuală a numărului de maşini din parcare.
Blocul funcţional Ceas numărul 1. Prelucrează timpul accesului.
Input-urile I3 şi I4. Butone în punctele de acces pentru pietoni pentru conectarea
iluminatului. Unul pentru lift şi unul pentru scară (pentru accesul
pietonilor prin intrare pentru maşini, nu există).
Output-ul Q3. Controlul iluminatului.
Blocul funcţional Timer numărul 1. Tmer-ul pentru iluminat (10 minute).
Input-ul analogic IB Traductorul nivelului de dioxid de carbon.
Blocul funcţional analogic A1, cu Compară valoaea produsă de traductor cu valoarea stabilită.
valoarea de prag corespunzătoare la
8.5 Volţi.
Output-ul Q4. Controlul ventilatorului de aerisire a erului impurificat.
Blocul funcţional Timer numărul 2. Timer-ul ventilatorului (15 minute).

NOTĂ. Pentru obţinerea acestei rezolvări este necesar un releu cu input-uri


analogice, blocul funcţional Ceas şi cel puţin câte 4 input-uri/output-uri discrete.

8.3.- Rezolvarea problemei.


Formarea diagramei Ladder.

Descrierea diagramei Ladder (de fapt şi comentarea ei ) se face în tabelul următor :

Descriere.
1 Numărarea mijloacelor de transport şi modificarea manuală a numărului mijloacelor de transport
ce se găsesc în fapt în parcarea auto.
2 Startul tmer-ului iluminării.
3 Startul timer-ului ventilatorului.
4 Prelucrarea funcţiei output-ului manual.
5 Controlul output-urilor : indicatorul gradului de umplere al parcării, blocarea intrării, iluminarea
parcării auto şi conectarea ventilatorului.
La enumerarea în sus şi în jos, contoarul se încuie, când parcarea auto se umple (dacă
mijloacelor de transport se permite manual întrarea, atunci nu se produce nici
evidenţierea, nici enumerarea).
IMPORTANT : Pentru contoarul dat bobinele CC şi DC trebuie să apară câte o singură
dată în cadrul diagramei Ladder. În afară de aceasta, output-ul Q2 se activează când
intrarea în parcare este interzisă. Aceasta conduce la folosirea unui releu auxiliar
(ajutător) pentru blocarea/deblocarea manuală a porţilor cu ajutorul tastelor cursorului.

8.4.- Configurarea blocurilor funcţionale.


Configurarea blocurilor funcţionale este dată în continuare sub o formă tabelară :
Blocul funcţional. Comentarii.
Blocul funcţional al Contoarului C1. Valoarea stabilită = 93 (numărul maxim
al mijloacelor de transport de la parcarea
auto)

Acolo unde este necesar această valoare


poate fi modificată în decursul
activităţilor.

Blocul funcţional Ceasul .

Orele de lucru :
 De luni, până vineri, de la
08.30, până la 17.30;
 Sâmbăta, de la 09.30, până la
12.00;
 Duminica închis.
Se folosesc deci 2 intervale.

Blocul funcţional Timer T1. Timer-ul iluminatului : 10 minute.

Blocul funcţional analogic A1.


Compară nivelul măsurat al dioaxidului
de carbon cu vlaorea stabilită : 8.5 V.

Blocul funcţional Timer T2.

Durată de lucru a ventilatorului la


depăşirea limitei pragului dioxidului de
carbon : 15 minute.

Cap. 9.- Îndepărtarea neregularităţilor.


9.1.- Comunicările releului inteligent.
Este de fapt vorba de explicarea comunicărlor releului inteligent. Aceste comunicări, de
regulă, indică despre acţiunile incompatibile, pe care utilizatorul încercă să le aplice; ele
se dau în continuare sub formă tabelată.
Comunicarea. Neregularitatea. Acţiunea de îndepărtare.
NO PARAMETER Utilizatorul a cerut opţiune
PARAMETER, dar parametri accesibili
nu sunt (diagram nu conţine nici un
element cu parametri)
TRANSF.ERR. În timpul transferului aplicaţiei din PC, Se recomandă consultarea documentaţiei
s-a produs o bruscă întrerupere a privind programarea relelor inteligente
legăturii. pentru PC – ZelioSoft.
TRANSFER A fost cerut transferul în EEPROM, dar Se controlează existenţa şi instalarea
ERROR:NO EEPROMU-ul nu este găsit sau este corectă a EEPROM-ului.
MEMORY incorect nominalizat.
TRANSFER Utlizatorul a încercat să încrie aplicaţia Se controlează originea programului ce
ERROR:CONFIG în releul inteligent, dar configuraţia se transferă şi se alege eventual un
INCOMPAT. aplicaţiei şi a releului nu au coincis. program ce este compatibil cu un releu
dat.
TRANSFER Această eroare apare dacă una dintre Check the firmware version used.
ERROR:VERSION versiunile releului inteligent nu
INCOMPAT. corespunde cu cerinţele : funcţiilor
firmwarw, LD sau FBD.
Output-urile apar Unul sau mai multe output-rilorstatice Se îndepărtează neregularitatea, apoi se
active pe display şi sunt scurtcircuitate sau suprasolicitate. preşte releul pentru a scăpa de clipirea
clipesc. output-urilor, respectiv se aduce din nou
la regimul de RUN (descărcarea
automată).

9.2.- Întrebările frecvente.


În ajutorul utilizatorului, atunci când învaţă depsre releul inteligent, este format tabelul
următor, ce conţine întrebările cele mai curente.
Întrebarea. Răspunsul.
Eu nu pot obţine accesul la Unii parametri nu sunt accesibili, referiţi-va la documentaţia pentru a
unii parametri. vedea cum se poate modifica un parametru. Exemplul elementului ce nu
poate fi modificat: direcţia numeraţiei din blocul funcţional al contoarului.
Acest element este accesibil numai în diagrama Ladder la conectarea la
linia respectivă.
Eu până acum nu pot obţine Pentru accesarea parametrilor se folosesc tastele cursorului ← şi →,
accesul la unii parametri. respectiv se alege parametrul dat. Tastele ↑ şi ↓ se folosesc pentru
modificarea valorii parametrului. Apoi se apasă Menu/OK pentru
confirmarea modificării.
Eu nu pot să trec releul în ATENŢIE. Se verifică dacă simbolul erorii (!) nu apare în rândul menu-
regimul RUN folosind tasta ului de context. Pentru a trece releul în RUN, se repară eroarea.
Menu/OK la alegerea
punctului RUN/STOP din
menu-ul principal.
Eu vreau să modific rândurile Convingeţi-vă că releul ete oprit. Modificările în regimul RUN nu se
diagramei Ladder, dar tasta acceptă.
Menu/OK nu lucrează.
Când încerc modificarea Nu-I obligatoriu; o astfel de situaţie poate apare dacă 4 rânduri goale sunt
rândurilor diagramei Ladder, introduse la începutul diagramei Ladder.
atunci releul îmi arată un
ecran gol cu numărul
rândurilor (LINE No.). Asta
înseamnă că toată lucrarea
mea s-a pierdut ?
Eu am o diagramă Ladder ce Asta nu este posibil
foloseşte tastele Z (↓↑→←).
Eu doresc s-o testez, dar când
reprezint diagrama în regimul
RUN, atunci Z tastele nu mai
funcţionează, Ce ar trebui să
mai fac ?
Eu am realizat o diagramă Nu, acesta nu este posibil.
Ladder pe un modul cu
funcţia de ceas. Pot eu să
folosesc memoria de rezervă
pentru deplasrea sa, ca în
cadrul releului fără ceas ?
La introducerea într-o Este forte posibil că releul inteligent nu posedă ceas, iar pentru aceasta la
diagramă Ladder a blocului blocul funcţional Clock nu putem să apelăm. Verificaţi nomenclatura de
funcţional Clock, el nu apare execuţie.
pentru alegerea contactelor.
Este normal acest lucru ?
La introducere într-o Este foarte posibil ca releul inteligent nu posedă input-uri analogice, iar
diagramă Ladder a blocului pentru aceasta nu se poate apela la blocul funcţional Analog. Verificaţi
funcţional Analog, acesta nu nomenclatura de execuţie.
apare la alegerea contactelor.
Este normal acest lucru ?

Cap.10.- Transferul aplicaţiei.


10.1.- Cum se transferă o aplicaţie.
Descriere.
Această funcţie se foloseşte pentru :
Încarcarea aplicaţiei, conţinută în cadrul modulului, în memoria de rezervă;
Încarcarea aplicaţiei, conservate în memoria de rezervă, în modul.
Apoi programul poate fi încărcat pe un alt modul, din acea memorie de rezervă.

NOTĂ. Accesul la memoria de rezervă este opţional.


NOTĂ. Dacă programul ete protejat (apare simbolul cheii), utilizatorul trebuie să
introducă parola înainte de a putea face o copie de rezervă a programului.
NOTĂ. Dacă în memoria de rezervă este deja înscrisă aplicaţia, ea va fi ştearsă la o nouă
înscriere (verificarea memoriei în ceea ce priveşte existenţa în cadrul său a aplicaţiei, nu
se face).
Transferul Modul → Memoria de rezervă.
Procedura acestui fel de transfer este :
Paşii. Descrierea.
1 Se alege tipul de transfer : ZELIO > MEMORY, folosind tastele cursorului ↑↓.
2 Se confirmă transferul cu tasta Menu/OK (Se introduce parola, dacă programul este parolat).
3 Se aşteaptă până nu se termină transferul. Pe display apare >>> MEMORY, apoi TRANSFER,
respectiv OK după ce transferul s-a încheiat.
4 Se mai apasă odată tasta Menu/OK pentru ieşirea din menu.
Rezultatul : display-ul se returnează la ecranul INPUTS/OUTPUTS în regimul RUN sau la
menu-ul principal în regimul de STOP.
Transferul Memoria de rezervă → Modul.
Procedura acestui fel de transfer este :
Paşii. Descrierea.
1 Se alege tipul de transfer : MEMORY > ZELIO, folosind tastele cursorului ↑↓.
2 Se confirmă transferul cu tasta Menu/OK.
3 Se aşteaptă până nu se termină transferul. Pe display apare >>> MODULE, apoi TRANSFER,
respectiv OK după ce transferul s-a încheiat.
4 Încă odată se apasă tasta Menu/OK pentru ieşirea din menu.
Rezultatul : display-ul revine la ecranul INPUTS/OUTPUTS în regimul RUN sau la menu-ul
principal în regimul STOP.

NOTĂ. Câmpurile de comentarii şi alte observaţii, introduse în programul Zelio Soft nu


se înscriu la releul inteligent şi de aceea vor fi pierdute la transferul programului la un PC
Greşelile posibile.
Nu există memorie de rezervă, atunci apare comunicarea : TRANSFER
ERROR : NO MEMORY.
Configuraţia programului transferabil este incompatibilă cu configuraţia
aparatului, atunci apare comunicarea : TRANSFER ERROR : CONFIG INCOMPAT.
Se recomandă menu-ul FAULT pentru determinarea numărul erorii, respectiv osibilitatea
de îndreptare.
Cap 11.- Forme.

Blocul funcţional Clock.


Blocul funcţional Counter.

Blocul funcţional Timer.

Blocul funcţiional Analog.

Arow Keys.

Urmează un index alfabetic, care oricum nu este redat aici pentru că nu se potriveşte cu
partea tradusă .
Traducere B.Siro 01.01.2011, după documentaţia rusească de pe Internet.
SUPLIMENT 4
Urmează, tot ca supliment, documentaţia întreagă a unui volum privind
programarea PLC-urilor în limbajele Grafcet, Ladder şi Structured
Text, ca fiind cele mai utilizate de producătorii de PLC-uri (vezi pagina
următoare, ce prezintă şi coperta exterioră a volumului), Poate fi o bună
bază teoretică şi practică pentru învăţarea programării PLC-urilor
pentru cei care doresc acest lucru, iar documentaţii suplimentare pot fi
regăsite, într-o mare măsură, pe Internet (şi aici se vor regasi, mai ales în
partea generală, unele idei ale capitolului 7)
PREFAŢĂ
Lucrarea “Automate şi Microprogramare” reprezintă un suport teoretic şi practice de
proiectare a soluţiilor de conducere automată a proceselor industriale utilizând
echipamente de tip automat programabil.
Lucrarea este dedicată în primul rând studenţilor facultăţii de Automatică şi Calculatoare
din Universitatea Politehnica Bucureşti, care audiază cursul şi frecventează laboratorul de
Automate şi Microprogramare. De asemenea este utilă studenţilor din facultăţile cu profil
de automatică aparţinând universităţilor tehnice din ţară.
Cartea este structurată în 4 capitole, în care sunt prezentate cele mai representative tehnici
de programare, suportate de majoritatea producătorilor de automate programabile
industriale:
- limbajul grafic Grafcet;
- diagrame de tip Ladder;
- limbaje literare de tip Structured Text.
De asemenea sunt prezentate in detaliu mediile de programare logică avansată ISaGRAF
şi IndraLogic, fiind descrise pe larg atât metodele de dezvoltare a unor proiecte ample cât
şi detalii despre implementarea interfeţelor grafice necesare vizualizării şi supervizării
aplicaţiei implementate.
Prezentarea funcţionării dispozitivelor de tip automat programabil reprezintă baza de
cunoştinţe necesare unui viitor inginer automatist în scopul dezvoltării de sisteme
automate performante.
Metodele si soluţiile originale prezentate în cadrul lucrării, cum ar fi consideraţiile asupra
trecerii de la diagrame logice la programe de tip treaptă, ajută viitorii specialişti
înconceperea unor soluţii software corecte indiferent de tipul automatului cu care se
lucrează.
Prezentarea detaliată a lucrului cu cele mai noi medii de programare logică, descrierea în
amănunt a soluţiilor de automatizare pentru procese industriale complexe, cuprinzând
programe ciclice, secvenţiale, ecrane de vizualizare, programe de comunicaţie, prezintă
un grad evident de noutate în literatura ştiinţifică şi tehnică din ţară.
Multe din informaţiile si soluţiile prezentate în carte înglobează experienţa şi cunoştinţele
colectivului centrului de cercetare de excelenţă CIMR din cadrul Facultăţii de
Automatică şi Calculatoare din Universitatea POLITEHNICA Bucureşti.
Autorul
CUPRINS
Capitolul 1: CARACTERISTICI ŞI PERFORMANŢE ALE AUTOMATELOR PROGRAMABILE
1.1. Structura automatelor programabile 7
1.2. Module de intrare ieşire 9
1.3. Funcţionarea automatelor programabile 11
1.4. Diagrame logice 13

Capitolul 2: DESCRIEREA LIMBAJULUI LADDER DIAGRAM


2.1. Organizarea memoriei şi moduri de adresare pentru automatul Allen Bradley 21
2.2. Structura internă a fişierelor de date implicite 23
2.3. Programarea automatului Allen Bradley prin metoda Ladder Diagram 26
2.4. Tipuri de instrucţiuni 29
2.5. Dezvoltarea unei diagrame Ladder pornind de la o diagramă Grafcet 43
Capitolul 3: MEDIUL DE PROGRAMARE LOGICĂ ISaGRAF
3.1. Structura unui proiect ISaGRAF 48
3.2. Descrierea limbajului Sequencial Function Chart 52
3.2.1. Componente de bază 53
3.2.2. Divergenţe şi convergenţe 55
3.2.3. Paşi macro 56
3.2.4. Operaţii în cadrul etapelor 57
3.2.5. Condiţii ataşate tranziţiilor 60
3.2.6. Regulile dinamicii limbajului SFC 61
3.2.7. Ierarhizarea programelor SFC 62
3.3. Descrierea limbajului Structured Text 63
3.3.1. Elemente de sintaxă în Structured Text 63
3.3.2. Expresii şi paranteze 64
3.3.3. Apelarea funcţiilor şi procedurilor 64
3.3.4. Operatori booleeni specifici ST 65
3.3.5. Instrucţiuni fundamentale în ST 66
3.3.6. Extensii ale limbajului ST 69
3.4. Operatori, proceduri şi funcţii standard 73
3.4.1. Operatori standard 73
3.4.2. Proceduri standard 76
3.4.3. Funcţii standard 78
3.5. Variabile şi constante în ISaGRAF 81
3.5.1. Domeniile variabilelor 81
3.5.2. Principalele tipuri de variabile 82
3.5.3. Expresii constante 82

Capitolul 4: DESCRIEREA MEDIULUI DE PROGRAMARE INDRALOGIC


4.1. Structura unui proiect IndraLogic 84
4.1.1. Conceptul POU 85
4.1.2. Conceptul Data types 85
4.1.3. Conceptul Vizualization 86
4.1.4. Resursele implicate 86
4.2. Tipuri de date în IndraLogic 87
4.2.1. Tipuri de date predefinite 87
4.2.2. Tipuri de date definite de utilizator 88
4.2.3. Variabile globale 88
4.3. Diferenţe importante IndraLogic – ISaGRAF 89
4.4. Blocuri funcţionale 90
4.5. Problematica timpului în IndraLogic 94
4.6. Taskuri şi configurarea acestora 98
4.7. Conceptul de vizualizare 101
4.8. Configurarea unui proiect pentru simulare pe calculator 106
4.9. Configurarea comunicaţiei cu automatul BOSCH-Rexroth IndraControl L40 110

BIBLIOGRAFIE 113

CAP 1. CARACTERISTICI ŞI PERFORMANŢE ALE


AUTOMATELORPROGRAMABILE.
Un AP (Automat Programabil) este un dispozitiv apărut pentru a înlocui releele şi
schemele secvenţiale necesare pentru controlul sistemelor automate [Borangiu, 1986].
Principiul de bază al unui AP este următorul: verifică starea intrărilor şi, în funcţie de
acestea, activează sau dezactivează ieşirile. Utilizatorul introduce un program, care face
ca automatul să dea rezultatele dorite.
1.1. Structura automatelor programabile.
Un AP este compus în principal din: unitate centrală (UC), zonă de memorie şi circuite
pentru recepţionarea datelor de intrare/ieşire (fig. 1.1).
Putem considera AP-ul ca o cutie plină de relee individuale, numărătoare, ceasuri şi
locaţii de memorare a datelor. În general componentele unui automat programabil sunt:
Unitate centrală;
Module de intrare / ieşire;
Regiştri de intrare / ieşire;
 Memorie de date;
Regiştri interni;
Circuite de temporizare;
Circuite de numărare.

Funcţionarea lor este următoarea:


Unitatea centrală: conţine un procesor, o unitate de calcul aritmetic şi diferite
tipuri de memorie. Gama de procesoare folosite de către producătorii de automate
programbile este foarte diversificată, câteva exemple ar putea fi procesoarele Motorola,
Intel, Siemens. Procesoarele folosesc o memorie de lucru de tip RAM pentru execuţia
instrucţiunilor, programul de executat fiind de obicei memorat într-o memorie de tip
Flash. Dimensiunile memoriilor diferă de la un tip de automat la altul, influenţând
performanţele şi costul automatului programabil.
Module de intrare: conţin unul sau mai multe circuite de intrare.
Acestea există fizic, sunt conectate la lumea exterioară şi recepţionează semnale de la
comutatoare, senzori etc. Semnalele citite pot fi de două tipuri, digitale sau analogice. De
regulă circuitele deintrare sunt implementate cu relee sau tranzistori.
Module de ieşire: conţin unul sau mai multe circuite de ieşire. Acestea există
fizic, sunt conectate la lumea exterioară şi transmit semnale digitale sau analogice către
diferite elemente de execuţie. Ca variantă constructivă pot fi aleşi tranzistorii, releele sau
triacele.
Regiştri de intrare: sunt regiştri asociaţi intrărilor fizice. Valoarea semnalelor de
intrare este convertită în formă binară de către circuitele de intrare şi memorată în aceşti
regiştri. Pentru intrările de tip digital, un singur bit dintr-un registru poate memora starea
activă/inactivă a intrării, dar în cazul unei intrări analogice sunt necesari mai mult biţi
pentru memorarea valorii în format numeric.
Regiştri de ieşire: sunt regiştri asociaţi ieşirilor fizice. Valoarea semnalelor de
ieşire este scrisă aici în formă binară, coversia într-un semnal electric de o anumită
valoare fiind facută de către circuitele de ieşire (convertoare digital – analogice). Pentru
ieşirile de tip digital, un singur bit dintr-un registru poate memora starea activă/inactivă a
ieşirii, dar în cazul unei ieşiri analogice sunt necesari mai mult biţi pentru scrierea valorii
în format binar.
Regiştri interni : nu recepţionează semnale din mediul extern, nici nu există fizic.
Conţin relee simulate prin biţi din regiştri şi au fost introduse pentru a elimina releele
interne fizice. Există şi regiştri speciali care sunt dedicaţi unui anumit scop. Unele relee
sunt intotdeauna deschise, altele sunt întotdeauna închise. Unele sunt deschise numai o
dată la pornire şi sunt folosite pentru iniţializarea datelor memorate.
Numărătoare: Nici acestea nu există fizic. Sunt numărătoare simulate şi pot fi
programate să contorizeze impulsuri. De obicei, aceste numărătoare pot număra
crescător, descrescător şi în ambele sensuri. Anumiţi producători includ şi numărătoare
de mare viteză implementate hard, pe care am putea să le considerăm ca existente fizic.
Şi acestea pot număra crescător, descrescător sau în ambele sensuri.
Circuite de temporizare : Nici circuitele de temporizare nu există fizic. Sunt
simulate software şi contorizează perioade de timp. Pot fi găsite în diverse variante în
ceea ce priveşte parametrii. Pasul de incrementare variază de la 1ms până la 1s.
Memoria de date: în mod normal este vorba de simpli regiştri care memorează
date. De obicei sunt folosiţi pentru aplicaţii matematice sau pentru manipularea datelor.
Pot fi folosiţi şi pentru memorarea datelor cât timp AP-ului i se întrerupe alimentarea. La
pornire, vor avea acelaşi conţinut ca înainte de oprire.

1.2. Module de intrare – ieşire.


Există o mare varietate de module de intrare – ieşire ce pot intra în componenţa unui AP.
Există două categorii mari de module:
1. Module I/O analogice: semnalul pe care îl transmit sau îl recepţionează are o valoare
analogică
2. Module I/O digitale: semnalul este de tip digital, putând avea doar două valori.
În funcţie de mărimile fizice citite sau de semnalele transmise, iată câteva exemple de
module ce pot fi ataşate unui AP:
intrări/ieşiri de curent continuu;
intrări/ieşiri de curent alternative;
intrări/ieşiri de tensiuni continue sau alternative;
module de citit temperature;
module de reglare PID;
module de control Fuzzy.
Intrări de curent continuu
Sunt disponibile circuite care funcţionează la 5, 12, 24 şi 48 de volţi. Modulele de intrare
permit conectarea unor dispozitive de tip tranzistor PNP sau NPN. În cazul unui
comutator nu se pune problema conectării de tip NPN sau PNP. Fotocuploarele
(optocuploarele) sunt folosite pentru a izola circuitele interne ale AP-ului de intrări. Acest
lucru este necesar pentru a elimina zgomotele şi se realizează prin conversia semnalului
de intrare din formă electrică în formă luminoasă şi apoi invers.
Intrări de curent alternativ
Modulele de intrare obişnuite funcţionează la 24, 48, 110, 220 volţi. Dispozitivele legate
la intrarea de curent alternativ sunt sesizate mai greu de către AP. De cele mai multe ori
acest lucru nu are importanţă pentru cel care programează automatul programabil, dar
este bine de ştiut că se pierde timp din cauză că dispozitivele pe bază de curent alternativ
sunt de obicei dispozitive mecanice, care sunt mai lente. În plus apare şi o întârziere de
cel puţin 25 ms datorită filtrării care are loc la intrarea în AP. De reţinut că AP-urile
funcţionează la cel mult 5 VCC.
Ieşiri cu relee
Ieşirile cele mai obişnuite sunt cele de tip releu. Releele pot fi folosite atât cu sarcină de
curent alternativ, cât şi continuu. Metoda standard de conectare a sarcinilor la ieşirile AP-
ului presupune folosirea unei surse de curent alternativ, însă poate fi folosit şi curentul
continuu.
Releele se află în interiorul automatului programabil. Atunci când programul care rulează
în automat indică ieşirii să devină activă (adevarată), AP-ul va aplica o tensiune bobinei
releului, care va închide contactul corespunzător. La închiderea contactului începe să
circule curent prin circuitul extern. Atunci când programul indică dezactivarea ieşirii,
AP-ul va întrerupe tensiunea aplicată bobinei releului, circuitul extern va fi deschis, deci
inactiv.

1.3. Funcţionarea automatelor programabile


Automatele programabile funcţionează scanând (executând) continuu un program. Putem
spune că un ciclu de scanare are trei paşi
importanţi (fig. 1.2).
Pasul 1 - TESTAREA
INTRĂRILOR - AP-ul cercetează starea
intrărilor (activ/inactiv în cazul intrărilor
numerice sau valoarea unei intrări analogice)
şi o copiază, în formă binară, în anumiţi
regiştri asociaţi intrărilor.
Pasul 2 - EXECUTAREA
PROGRAMULUI - AP-ul execută programul
instrucţiune cu instrucţiune. În funcţie de
starea intrărilor si de logica programului, schimbă configuraţia registrilor de ieşire, în
formă binară.
Pasul 3 - ACTIVAREA IEŞIRILOR - În final AP-ul actualizează şi starea ieşirilor
fizice pe baza stării ieşirilor rezultate din pasul anterior.
După cel de-al treilea pas, AP-ul revine la pasul 1 şi reia ciclul. Un ciclu de scanare este
definit ca timpul în care se execută cei trei paşi de mai sus.
De fapt sunt mai mult de trei paşi, mai au loc verificarea sistemului şi actualizarea
valorilor curente ale ceasului şi numărătorului intern.
Timpul de răspuns
Timpul total de răspuns este un parametru important al unui automat programabil. Unui
automat programabil îi trebuie un anumit timp pentru a reacţiona la schimbările valorilor
de intrare. În unele aplicaţii viteza nu
este importantă, în altele da.
AP-ul poate vedea dacă o intrare este
activă sau inactivă doar dacă o citeşte.
Cu alte cuvinte, el testează intrările doar
în porţiunea corespunzătoare a ciclului
de scanare (fig. 1.3).

În diagrama de mai sus, intrarea 1 nu este văzută înainte de ciclul 2. Acest lucru se
întâmplă deoarece atunci când s-a activat intrarea 1, ciclul 1 terminase deja de testat
intrările. Intrarea 2 nu este văzută înainte de ciclul 3. Acest lucru are loc deoarece ciclul 2
deja terminase de testat intrările. Intrarea 3 nu este văzută niciodată, deoarece când ciclul
3 testa intrările, semnalul 3 nu era incă activ, iar la începutul ciclului 4 era deja inactiv.
Pentru a evita acest lucru trebuie ca intrarea să fie activă pentru cel puţin un timp de
răspuns la intrare + un timp de scanare.
Dacă nu este posibil ca intrările să fie active atât de mult timp, AP-ul nu mai poate citi
intrările active nemaiputând implementa corect o aplicaţie de control. Există o cale de a
rezolva acest neajuns (mai precis două):
Funcţia de extindere a impulsului. Această funcţie extinde lungimea (durata)
unui semnal de intrare până la momentul la care AP-ul testează intrările, în ciclul
următor.
Funcţia de întrerupere. Această funcţie întrerupe ciclul de scanare pentru a rula
o rutină specială scrisă de utilizator. Când se activează o intrare, indiferent de starea
ciclului de scanare, AP-ul opreşte execuţia programului principal şi execută rutina
deîntrerupere (fig. 1.4). O rutină poate fi privită ca un mini-program în afara programului
principal. După ce a terminat execuţia rutinei de întrerupere, se întoarce în punctul în care
se oprise şi continuă normal procesul de scanare.

1.4. Diagrame logice.


Datorită diversităţii firmelor producătoare şi
tipurilor de automate programabile, există mai
multe variante de programare a unui automat
programabil, dintre care pot fi amintite:
Programarea cu ajutorul limbajelor grafice,
de tip Grafcet sau ISaGRAF.
Programarea prin diagrama Ladder
Programarea în limbaje de nivel înalt (C,
Pascal).
Limbajul Grafcet
Limbajul Grafcet reprezintă o modalitate de descriere grafică a unui system logic
secvenţial, fiind util datorită generalităţii şi facilităţilor de care dispune, spre exemplu
posibilitatea descrierii secvenţelor paralele [Arzen,1994]. Elementele constitutive ale unei
diagrame Grafcet sunt următoarele:
Etape: corespund unei stări stabile a sistemului automat şi sunt identificate printr-
un număr unic.
Etapele pot fi:
iniţiale: aceste etape sunt active iniţial
(etapa 1 din fig.1.5).
normale: sunt celelalte etape, care nu sunt
active iniţial (prima etapă 3 din fig.1.5). Ele se pot
activa la un moment dat (etapa 3 cu un punct
ataşat din fig.1.5).
Tranziţii: o tranziţie indică posibilitatea
evoluţiei dintr-o stare activă într-o nouă stare.
Fiecărei tranziţii îi este asociată o condiţie logică,
în funcţie de valorile logice ale unor variabile de intrare sau de starea activă sau inactivă a
altor etape. Condiţia de tranziţie nu este validată decât dacă etapele imediat precedente
sunt active.
Acţiuni asociate etapelor: deoarece
o etapă poate fi activă sauinactivă la un
moment dat, există acţiuni asociate
etapelor, care se execută numai la
activarea acestora. Pot exista şi acţiuni
condiţionate, ce se execută dacă,
suplimentar, mai este adevarată încă o
condiţie logică. Acţiunile pot fi diverse:
deschiderea unei vane;
oprirea sau pornirea unui motor (fig.1.7);
incrementarea unui contor;
pornirea unei temporizări.
Ramificaţii (divergenţe): au loc între mai multe
secvenţe posibile, atunci când condiţiile de tranziţie se
exclud între ele. Convergenţa diferitelor ramuri are loc
atunci când sunt îndeplinite condiţiile de
tranziţie pe fiecare ramură. Se pot stabili priorităţi dacă
nu se exclude condiţiile de tranziţie.
Secvenţe simultane (paralelism): mai multe secvenţe
pot fi activate simultan, plecând de la o condiţie de tranziţie.
Evoluţia, pe fiecare ramură, se efectuează simultan. Joncţiunea
nu se poate efectua decât atunci când toate secvenţele sunt
terminate.
Macro-etape: macro
etapa este o reprezentare unică a unui ansamblu de etape şi
de tranziţii. Sunt caracterizate de o etapă iniţială şi una
finală.
Etapa iniţială se supune regulilor cunoscute. Etapa finală nu
poate avea acţiuni asociate. Cât timp macro-etapa este
activă, evoluţia Grafcet-ului respectă regulile obişnuite de
evoluţie. Macro-etapa devine activă când etapa anterioară etapei iniţiale este activă şi
condiţia de tranziţie a sa devine adevarată. Ea este dezactivată când etapa finală este
activă şi condiţia de tranziţie asociată este adevărată. Stările unei macro-etape pot fi:
de repaus: nicio etapă componentă nu este activă;
activă: cel puţin o etapă componentă este activă, în afară de etapa finală;
de sfârşit: etapa finală este activă.
O macro-etapă poate conţine una sau mai multe etape iniţiale. Aceste etape pot fi activate
la punerea sub tensiune sau prin program.
Dinamica unei diagrame Grafcet este următoarea: dacă o etapă este activă şi una din
condiţiile de tranziţie ataşate este adevărată, etapa actuală se dezactivează şi se activează
etapa următoare (sau etapele următoare, în
cazul unui paralelism).
Un exemplu de diagramă Grafcet este
prezentat în fig. 1.10.
Ladder Diagram
Cea mai raspândită modalitate de construire a
unui program ce va fi executat de către un
automat programabil este varianta construirii
unei diagrame în trepte, numită Ladder
diagram. O astfel de diagramă este formată
din ramuri, pe fiecare ramură existând
instrucţiuni specifice automatului respectiv.
Întrucât instrucţiunile pot fi împărţite în două
mari categorii, de intrare şi de ieşire, pe orice
ramură trebuie să existe cel puţin o
instrucţiune de ieşire. Fiecare instrucţiune are
asociat un simbol grafic. Instrucţiunile folosite într-o diagramă Ladder vor fi descrise în
capitolul 2.
Programarea în limbaje de nivel înalt.
În ultima vreme a existat o puternică preocupare pentru integrarea performanţelor de
conducere şi control a automatelor programabile cu posibilitaţile de calcul şi de memorie
ale calculatoarelor personale. De aceea majoritatea automatelor programabile posedă un
port de comunicaţie cu un PC, de tip RS-232 sau RS-485, putându-se stabili o legatură cu
PC-ul chiar în timpul execuţiei unui program de către AP.
De asemenea, pentru a profita de larga răspândire a limbajelor de nivel înalt, cum ar fi C
sau Pascal, unii producători au echipat AP-urile cu procesoare compatibile INTEL,
acestea putând executa setul de instrucţiuni al procesoarelor Intel, extins cu instrucţiuni
specifice automatelor programabile. În plus mulţi producători au dezvoltat compilatoare
C pentru procesoarele pe care le folosesc în automatele programabile. Există două
variante de construire a unui program în limbaj de nivel înalt.
Prima variantă constă în crearea unui program în limbajul de programare C (Borland sau
Microsoft), integrând funcţiile specifice de automat programabil şi funcţiile de
comunicaţie între calculator şi automat. În acest caz programul rulează în calculator,
acesta dând permanent comenzi controllerului şi primind răspunsuri în legatură cu
executarea acestora. Avantajul unui astfel de program ar fi capacitatea mare de memorie
şi puterea de calcul a unui calculator personal şi deci posibilitatea creării unor module
software complexe folosind numeroase variabile. Atunci când un număr mare de
automate sunt legate împreună la un singur calculator, timpul necesar computerului să
primească şi să proceseze toate informaţiile de I/O poate produce scăderea semnificativă
a răspunsului sistemului, făcând astfel dificil controlul procesului. Pentru a evita acest
neajuns, programele trebuiesc implementate în fiecare automat şi rulate independent de
computer. Această capabilitate de partajare a acţiunilor permite utilizatorului să
determine ce decizii de control vor fi luate de computer şi care de către automat. Această
facilitate poate elibera calculatorul pentru a efectua operaţii de supervizare cum ar fi
împrospătarea ecranului, generarea de rapoarte sau monitorizarea performanţelor
sistemului.
Din acest motiv reiese şi utilitatea celei de-a doua variante, de altfel şi cea mai des
uzilizată, care constă în crearea unor programe de control ce pot rula direct în memoria
automatului. Programele se construiesc şi se compilează în C pe un calculator personal,
apoi programul executabil este convertit în formatul de fisier Intel HEX cu ajutorul unui
program utilitar, după care este descărcat în memoria de tip FLASH EPROM a
automatului, de unde poate rula de sine stătător. Un oarecare dezavantaj îl constituie
limitarea dimensiunii codului şi a datelor programului.
Se obisnuieşte construcţia a două module software ce rulează simultan, unul în calculator
şi celălalt în controller. Schimbul de informaţii între cele două dispozitive se poate face
prin intermediul unor structuri de date definite în ambele module, acestea putând fi
citite/scrise cu funcţii specifice.
Setul de instructiuni C specifice automatului programabil de tip Microdac
Pentru a putea înţelege cum se poate construi un pachet software de control în limbajul C,
va fi prezentată pe scurt o parte a colecţiei de funcţii specifice lucrului cu modulele de
intrare/iesire pentru un automat programbil de tip Microdac, construit de firma Grayhill.
Aceste funcţii sunt implementate cu întreruperi disponibile din Microdac [Grayhill,
1995].
Uint md_read_dio_status(Uchar group) citeşte starea de ON/OFF a unui grup
de module digitale;
char md_read_dio_point(Uchar point) citeşte starea de ON/OFF a unui singur
modul digital;
void md_write_dout(Uint value0, Uint value1) înscrie toate ieşirile digitale
(max. 32) printr-un singur apel;
char md_activate_dout_point (Uchar point) activează o singură ieşire digitală;
char md_deactivate_dout_point (Ucaher point) dezactivează o ieşire digitală;
Uint md_read_ain(Uchar chanel) citeşte valoarea unei intrări analogice;
void md_write_aout(Uchar channel, Uint value) setează ieşirea analogică
channel cu valoarea value;
void _md_delay (Uint msec) opreşte execuţia programului pentru un număr dat
de milisecunde;
Ulong md_get_counter (void) întoarce valoarea timer-ului;
void md_set_counter (Ulong counter) setează timer-ul cu valoarea count;
Uchar md_get_ctr_res (void) întoarce rezoluţia curentă a timer-ului care poate fi
1ms sau 500μs.
Aceste funcţii sunt definite într-o bibliotecă specifică Mdac.lib şi nu pot fi apelate decât
din automat. Există funcţii analogice, definite în fişierul header "proware.h" ce pot fi
apelate din programul calculatorului, dar viteza de execuţie este evident mult mai scăzută.
Schimbul de date cu calculatorul este realizat prin apelarea unei funcţii speciale
proware(&err, &addr, &cmd, posn, mod, pointer)

Capitolul 2. DESCRIEREA LIMBAJULUI LADDER


DIAGRAM.
În acest capitol sunt prezentate pricipalele caracteristici ale automatelelor programabile
produse de firma Allen Bradley, întrucât aceste tipuri de automate sunt recunoscute
pentru performanţele şi fiabilitatea lor, ocupând un important segment de piaţă în
domeniul sistemelor de control industrial.
Structura şi programarea acestor automate vor fi prezentate în mod particular pentru
modelul SLC500, de uz didactic, principalele caracteristici fiind însă comune tuturor
automatelor produse de firma Allen Bradley.
Automatul SLC500 prezintă o structură standard de automat programabil, cu menţiunea
că modulele de intrare ieşire au în componenţă în general 16 circuite de intrare sau de
ieşire, mai multe module putând fi montate pe rack-uri având un număr standard de
sloturi: 4, 6 sau 10 module putând fi ataşate unităţii centrale.
Sloturile sunt numerotate, slotul 0 fiind întotdeauna rezervat unităţii centrale, celelalte
fiind atribuite modulelor de intrare/ieşire. Numărul slotului este important pentru
adresarea corectă a intrărilor şi ieşirilor.
Automatul dispune de o interfaţă serială de tip RS-485 prin care pot fi legate mai multe
automate într-o reţea de automate sau, cu ajutorul unui adaptor RS-485 - RS-232, se
poate conecta la un computer.
Editarea programelor se face cu ajutorul calculatorului personal, prin intermediul unui
mediu de programare integrat care permite şi transferal programului în memoria
automatului, de unde va putea rula. Programarea se face prin metoda „Ladder
Diagram”, realizarea unui program necesitând cunoaşterea organizării memoriei acestui
tip de automat.
Programul editat este transformat în instrucţiuni specifice procesorului din automat şi
descărcat în memoria automatului. Există şi varianta rulării programului din memoria
calculatorului, dar timpul pierdut cu transferul datelor între calculator şi controller poate
afecta performanţele programului. Tipurile de instrucţiuni folosite într-o diagramă Ladder
sunt practic aceleaşi indiferent de producătorul automatului programabil.

2.1. Organizarea memoriei şi moduri de adresare pentru automatul


Allen Bradley.
La baza adresării şi organizării memoriei stă noţiunea de fişier (file).Memoria este
împărţită în fişiere, care sunt de 2 tipuri:
fişiere program;
fişiere de date.
Fiecare program creat pentru automatul Allen Bradley are associate atât fişiere program,
cât şi fişiere de date.
Fişierele program sunt numerotate şi pot fi maxim 256. Implicit sunt create doar 3
fişiere program şi anume:
fişierul 0, ce cuprinde informaţii referitoare la configuraţia hardware a
automatului;
fişierul 1 este rezervat;
fişierul 2, conţine diagrama Ladder realizată de către utilizator.
Celelate posibile fişiere program sunt create numai în situaţia în care utilizatorul foloseşte
subrutine.
Fişierele de date conţin informaţii asociate cu intrările şi ieşirile (externe) precum şi cu
toate celelalte instrucţiuni care compun diagrama Ladder. În plus, ele mai conţin
informaţii cu privire la operaţiile procesorului. Fişierele de date sunt numerotate şi pot fi
maxim 256. Implicit sunt create primele 10 fişiere. Fiecare fişier conţine maxim 256
elemente formate din 1 sau 3 cuvinte. Structura acestor fişiere de date este prezentată mai
jos:
0: Imagine ieşiri: conţine valorile intrărilor în format binar;
1: Imagine intrări: conţine valorile ieşirilor în format binar;
2: Stare: conţine informaţii de stare;
3: Bit: utilizat de catre instructiunile pe bit;
4: Timer: utilizat de către instrucţiunile de temporizare (timer);
5: Counter: utilizat de către instrucţiunile de numărare (counter);
6: Control: utilizat în instrucţiuni de stivă, shiftare, secvenţiere etc;
7: Întregi: folosit de catre instrucţiunile care au ca parametri operanzi de tip Integer;
8: Rezervat
9: Folosit în reţea
10 – 255: pot fi create de utilizator atunci când fişierele create implicit nu sunt suficiente
şi pot fi de tipul Bit, Timer, Counter, Control sau Integer.
În scopul adresării, diferenţa între fişierele menţionate mai sus se face folosind un
indicator de fişier (o literă) şi un număr al fişierului. Modul de alocare al identificatorului
pentru fiecare tip de fişier este următorul:
Fişierele de date conţin elemente.
Elementele pot fi de un cuvânt sau
de trei cuvinte. Un cuvânt are 16
biţi. În consecinţă este necesară
adresarea la nivel de:
I) element
II) cuvânt
III) bit
În continuare se vor exemplifica
fiecare din cele trei tipuri de
adresare :
Adresarea la nivel de
element: N7:15, în care :
N este tipul fişierului;
7 este numărul fişierului;
: este delimitatorul de element;
15 este numărul elementului.
Adresarea la nivel de cuvânt: T4:7.ACC, în care :
T7:4, au aceeaşi semnificaţie ca în primul caz;
. ,este delimitatorul de cuvânt;
ACC, este cuvântul adresat.
Adresarea la nivel de bit: B3/15, în care :
/, este delimitatorul de bit;
15, este bitul adresat.

2.2. Structura internă a fişierelor de date implicite.


Fişierele de imagine ale intrărilor şi ieşirilor.
Biţii din aceste fişiere corespund ieşirilor şi intrărilor fizice ale automatului. Formatul
general de adresare pentru aceste fişiere este: O:s/b, respectiv I:s/, unde, O – ieşire, I –
intrare, s – numărul slotului pe care se găseşte modulul de I/O, / – delimitatorul de bit, b
– numărul intrării adresate
Exemplu:
O:4/6 : ieşirea 6 de pe slotul 4;
I:1/7: intrarea 7 de pe slotul 1.
Fişierele de tip Bit
Formatul general de adresare pentru aceste fişiere este: Bf:e/b sau Bf/b, unde, B –
identifică tipul fişierului, f – numărul fişierului, e – cuvântul din cadrul fişierului,b – bitul
adresat
Exemplu:
B3:1/5 – bitul 5 din cuvântul 1 al fişierului de bit B3;
B3/18 – bitul 18 al fişierului B3.
Aceste tipuri de fişiere sunt folosite în cadrul instrucţiunilor pe bit, prezentate în cap. 2.4.
Fişierele de tip Timer.
Aceste fişiere conţin elemente a câte trei cuvinte, având maxim 256 de elemente. Un
element tipic are structura din tabelul 2.2:

Formatul de adresare este: Tf:e.s sau Tf:e/b


unde, T – identifică tipul fişierului (Timer), f
– numărul fişierului, e – elementul din cadrul
fişierului, s – cuvântul din cadrul elementului,
b – bitul adresat.
Exemplu:
T4:0.ACC – cuvântul ACC din elementul 0 al fişierului de Timer 4;
T4:1/DN – bitul DN din elementul 1 al fişierului de Timer 4.
Aceste tipuri de fişiere sunt folosite în cadrul instrucţiunilor timer, prezentate în cap.2.4.
Fişierele de tip Counter.
Aceste fişiere conţin elemente de trei cuvinte, având maxim 256 de elemente. Un element
tipic are structura din tabelul 2.3:
cu semnificaţia:
CU = Count Up;
CD = Count Down;
DN = Done;
OV = Overflow;
UN = Underflow;
UA = Update Accumulated Value.
Formatul general de adesare este: Cf:e.s sau Cf:e/b, semnificaţiile fiind cele de la
fişierele de tip timer.
Observaţie: Pentru fişierele care au o anumită notaţie pentru biţi sau cuvinte
constituente, adresarea se poate face folosind notaţia respectivă.
Astfel, de exemplu, C5:0.PRE <=> C5:0.1.
Aceste tipuri de fişiere sunt folosite în cadrul instrucţiunilor de tip counter, prezentate în
capitolul 2.4.
Fişierele de tip Control.
Aceste fişiere conţin elemente de trei cuvinte, având maxim 256 de elemente. Un element
tipic are structura din tabelul 2.4:

cu semnificaţia:
EN = Enable;
EU = Unload Enable;
DN = Done;
EM = Stack Empty;
ER = Error;
UL = Unload;
IN = Inhibit;
FD = Found.
Formatul general de adresare este Rf:e.s sau Rf:e/b cu semnificaţiile deja cunoscute.
Aceste tipuri de fişiere sunt folosite în cadrul instrucţiunilor de tip stivă, shiftare,
secvenţiere, prezentate în capitolul 2.4.
Fişierele de tip Integer.
Acest tip de fişier conţine elemente de un cuvânt, maxim 255 de elemente.
Formatul de adresare este Nf:e. unde e = 0..255 reprezintă numărul elementului.
Sunt folosite în instrucţiuni de comparaţie, matematice,etc. Semnificaţia cuvintelor şi
biţilor elementelor va fi prezentată în cadrul capitolul 2.4, unde sunt descrise
instrucţiunile.

2.3. Programarea automatului Allen Bradley prin metoda Ladder


Diagram.
Programarea automatului Allen-Bradley SLC 500 se face folosind limbajul Ladder
Diagram. Programul încărcat în memoria automatului conţine instrucţiuni; o parte din
aceste instrucţiuni determină lucrul cu dispozitive de intrare/ieşire externe.
Un program în Ladder Diagram este o înşiruire de ramuri. Întrucât instrucţiunile pot fi
împărţite în două mari categorii, de intrare şi de ieşire, pe orice ramură trebuie să existe
cel puţin o instrucţiune de ieşire. Fiecare instrucţiune are asociat un simbol grafic şi o
valoare logică – TRUE sau FALSE.

În partea stângă se găsesc instrucţiuni de intrare (una sau mai multe) care formează
întotdeauna o expresie logică de intrare. Expresia logică de la intrare este alcatuită din
operatori logici (ŞI, SAU).
În partea dreaptă se găsesc instrucţiuni de ieşire, una sau mai multe. Efectul instrucţiunii
de ieşire depinde de valoarea logică a expresiei de la intrare.
Executarea ramurilor:
se calculează expresia logică a instrucţiunii de intrare;
se execută instrucţiunea de ieşire în funcţie de valoarea logică a expresiei de la
intrare.
→tot aşa ramură cu ramură.
Programul este executat ciclic, deci se trece la scanarea primei ramuri după scanarea
ultimei ramuri.
În cazul unui bloc AND se poate face reprezentarea grafică:
Dacă A şi B sunt adevărate atunci C
devine sau rămâne adevărată.

OR (SAU logic) poate fi format, de exemplu, prin


ramificarea instrucţiunilor:
Tabela de adevăr pentru acest tip de bloc este prezentată în tabelul 2.6:

Pentru a mări flexibilitatea realizării


programelor, există posibilitatea de a
introduce expresii logice complexe pe o
ramură, mărind astfel complexitatea blocului
logic generat:

În mod asemănator poate avea loc şi o


ramificare a instrucţiunilor de ieşire.

De asemenea se poate impune şi o condiţie


suplimentară pentru emisia unei anumite
ieşiri.

În exemplul precedent, dacă (A AND B)


AND E sau C AND E sunt adevărate,
atunci F este adevărată.

Exemplu de diagramă Ladder:


Prima ramura Ladder prezentată în exemplul următor conţine două instrucţiuni de intrare
şi o instrucţiune de ieşire. O instrucţiune de ieşire este situată în dreapta ramurii, lângă
bara verticală dublă. Instrucţiunile de intrare sunt întotdeauna situate la stânga
instrucţiunilor de ieşire.
Prima ramură din diagrama de mai sus nu este corectă, întrucât conţine două instrucţiuni
de intrare şi nici una de ieşire. Celelalte ramuri sunt corect editate, cu observaţia că
ultima ramură are doar o instrucţiune de ieşire, situaţie întâlnită doar atunci când acea
instrucţiune trebuie executată la fiecare ciclu automat.

2.4. Tipuri de instrucţiuni.


Pentru procesoarele folosite de către automatul SLC500, instrucţiunile folosite în
diagramele Ladder se împart în :
instrucţiuni pe bit;
instrucţiuni de tip timer/counter;
instrucţiuni de I/O şi întreruperi;
instrucţiuni de comparare;
instrucţiuni matematice;
instrucţiuni logice şi de mutare;
instrucţiuni pentru lucrul cu fişiere;
instrucţiuni de shiftare;
instrucţiuni de secvenţiere;
instrucţiuni de control;
blocuri funcţionale.
În continuare sunt prezentate cele mai utilizate tipuri de instrucţiuni într-o diagramă
Ladder:
Instrucţiuni pe bit:
Toate instrucţiunile pe bit necesită, ca parametru, adresa unui bit dintr-un fişier de date.
 --] [-- XIC (Examine if Close). Instrucţiune de intrare. Este TRUE când bitul
testat este 1 (on).
 --]/[-- XIO (Examine if Open). Instrucţiune de intrare. Este TRUE când bitul
testat este 0 (off).
 --( )-- OTE (Output Energize). Instrucţiune de ieşire. Este TRUE (setează
bitul de ieşire) când toate condiţiile precedente din ramură sunt TRUE. Resetează bitul
altfel.
 --(L)-- OTL (Output Latch). Instrucţiune de ieşire. Bitul adresat devine TRUE
(1), când condiţiile precedente de pe ramură sunt TRUE. Când condiţiile devin FALSE,
OTL rămâne TRUE până când o ramură ce conţine o instrucţiune OTU cu aceeaşi
adresă devine TRUE.
 --(U)-- OTU (Output Unlatch). Instrucţiune de ieşire. Bitul adresat devine
FALSE (0) când condiţiile precedente de pe ramură sunt TRUE. Când condiţiile devin
FALSE, OTU rămâne FALSE până când o ramură ce conţine o instrucţiune OTL cu
aceeaşi adresă devine TRUE.
 --[OSR]-- OSR (One-Shot Rising). Instrucţiune de intrare.Trece ramura în
TRUE pentru o scanare, la fiecare tranziţie din FALSE – TRUE a condiţiilor
precedente din ramură.
OSR este o instrucţiune de intrare utilă activării unei instrucţiuni de ieşire o singură dată
şi anume la prima scanare a programului de către automat. Este des folosită pentru
activarea unei etape iniţiale dintr-o diagramă Grafcet sau pentru testarea tranziţiei din
starea inactivă in cea activă a unei intrări digitale. Necesită ca parametru adresa unui bit
care va fi folosit intern de către instrucţiune, pnetru memorarea starii anterioare (de la
ciclul automat anterior) a expresiei de dinaintea ei de pe ramură. Exemplu:
Când instrucţiunea de intrare trece din FALSE (ciclul
automat anterior) în TRUE (ciclul automat curent),
instrucţiunea OSR condiţionează ramura astfel încât
ieşirea trece în TRUE pentru o scanare a programului
(adică in cadrul ciclului automat actual). Apoi, la
următoarele cicluri automat, ieşirea devine sau rămâne FALSE pentru următoarele
scanări, până când intrarea face o nouă tranziţie din FALSE, în TRUE.
Instrucţiuni de tip Timer/Counter.
 TON (Timer On-Delay). Instrucţiune de ieşire.Simbolul grafic este dat în
figura 2.8.
 Parametrii instrucţiunii sunt :
Timer : adresa unei element din
fişierul de tip timer T4;
Timer base: reprezintă pasul de
incrementare al acumulatorului pentru
numărare. În cazul automatului nostru este
fixat la 0.01 sec = 10 ms.
Preset: valoarea presetată – se introduce atunci când se editează programul; se
introduce o valoare numerică pe 16 biţi < 2^16;Preset = timpul dorit de măsurat/ baza de
timp. Ex : dacă vrem să numărăm 10 sec, atunci preset = 10/0.01 =1000.
Acc: valoare acumulată – se introduce la editare; de obicei este 0 ca valoare de
start a acumulatorului, valoarea acestuia fiind incrementată în timpul execuţiei
programului, la fiecare ciclu automat, cu o valoare numerică egală cu valoarea timpului
scurs de la ciclul anterior imparţit la baza de timp.
Cum funcţionează?
Dacă expresia de la intrare este adevarată atunci instrucţiunea TON
incrementează accumulatorul la fiecare ciclu automat cu numărul de incremente de timp
trecute de la ciclul anterior.
Dacă valoarea accumulatorului depăşeşte valoarea presetată → atunci bitul DN
din primul cuvânt al elementului de timer folosit devine 1 (acest bit putând fi testat intr-
ramura următoare), asta înseamnând că a trecut timpul dorit.
Dacă expresia de la intrare este falsă, contorizarea se opreşte, accumulatorul şi
biţii de stare (EN, TT, DN.....) sunt resetaţi.
 TOF (Timer Off-Delay). Instrucţiune de ieşire. Analog cu TON, dar
incrementarea valorii din acumulator are loc atâta timp cât în ramură condiţiile sunt
FALSE. Când condiţiile devin TRUE, ( ACC ) = 0.
 RTO (Retentive Timer). Instrucţiune de ieşire. Analog cu TON, dar dacă
condiţiile de pe ramură trec din TRUE, în FALSE atunci (ACC) rămâne la ultima
valoare.
 CTU (Count Up). Instrucţiune de ieşire.
Simbolul său grafic este dat în figura 2.9.
 Parametrii instrucţiunii:
Counter: adresa unei element din fişierul
counter C5;
Preset: valoarea presetată – se introduce
atunci când se editează programul
Acc: reprezintă valoarea acumulată după fiecare incrementare a numărătorului
Cum funcţionează?
Instrucţiunea incrementează ACC – la fiecare trecere din FALSE, în TRUE a
expresiei de la intrare (în cadrul a două cicluri automate consecutive). Numărătoarea se
opreşte când condiţiile devin FALSE.
Dacă valoarea ACC depăşeşte PRE → atunci bitul DN din primul cuvânt al
bitului folosit devine 1.
Resetarea se face numai prin instrucţiunea Reset.
 CTD (Count Down). Instrucţiune de ieşire. Similar cu CTU, cu deosebirea că
decrementeză valoarea acumulată. Necesită ca
parametri adresa unui element dintr-un fişier de tip Counter precum şi o valoare
presetată şi una iniţială pentru acumulator.
 RES (Reset). Instrucţiune de ieşire. Dacă expresia de la intrare este adevarata –
resetează accumulatorul şi biţii de stare ai elementului adresat. Simbolul său grafic ete dat
în figura 2.10.
Parametrul adresa – poate fi adresa unui element de
tip timer sau a unuia de tip counter, cum ar fi :
Timer: ACC ← 0, DN ← 0, TT ← 0, EN ← 0.
Counter: ACC ← 0, CU ← 0, CD ← 0, OV ← 0,
UN ← 0, DN ← 0.

 HSC (High Speed Counter). Numărătorul de mare viteză HSC este un numărător
hardware şi operează asincron faţă de scanarea programului ladder. Spre deosebire de
celelalte numărătoare HSC nu contorizează tranziţiile FALSE-TRUE ale ramurii ci
tranziţiile intrării I:0/0. Frecvenţa maximă acceptată este de 8 kHz. Această instrucţiune
este valabilă numai pentru controlere I/O fixe cu 24 intrări VDC. O singură instrucţiune
HSC este permisă pe un singur controler. Simbolul sau grafic este :
 Parametrii instrucţiunii sunt :
Această instrucţiune are asociat un fişier de
trei cuvinte (octeţi). Cuvântul 0 este cuvântul de
control şi conţine biţii de stare:
bitul 10 (UA) actulizează acumulatorul
pentru a reflecta starea imediată a numărătorului
când HSC devine activă;
bitul 12 (OV) indică o depăşire a numărătorului;
bitul 13 (DN) indică egalarea presetului de către acumulator;
bitul 15 (CU) arată starea de activ/inactiv a instrucţiunii HSC.
Cuvântul 1 conţine valoarea de preset în gama 1 - 32.767,iar cuvântul 2 valoarea
acumulată.
Cum funcţionează?
Fiecare tranziţie a intrarii I:0/0 face ca acumulatorul să se incrementeze; când
acumulatorul egalează valoarea presetului bitul Done (C5:0/DN) este setat şi
acumulatorul pus pe zero.
Pentru a afla starea HSC-ului, programul ladder trebuie să interogheze bitul Done
(C5:0/DN). Imediat cum acesta a fost detectat activ trebuie dezactivat (cu instrucţiunea
OTU) înainte ca acumulatorul (C5:0.ACC) să egaleze valoarea presetului (C5:0.PRE)
pentru ca altfel bitul Overflow (C5:0/OV) este setat.
Valoarea acumulatorului (C5:0.ACC) de obicei este actualizată de fiecare dată
când ramura cu HSC este evaluată, actualizarea însemnând transferarea valorii
acumulatorului hardware în acumulatorul HSC software. După actualizare instrucţiunea
HSC resetează bitul C5:0/UA.
Dacă se doreşte testarea C5:0.ACC în programul ladder după rangul care conţine
instrucţiunea HSC, trebuie mai intâi să se seteze bitul C5:0/UA. Acest lucru este necesar
întrucât intrarea I:0/0 poate să tranziteze de câteva ori de la ultima evaluare a lui HSC.
Instrucţiuni de comparare.
Sunt instrucţiuni de intrare şi au ca operanzi cuvinte ale fişierelor de date.
 EQU (Equal) Compară (A) cu (B), unde A şi B sunt adrese de cuvinte. Dacă (A)
= (B), atunci instrucţiunea devine TRUE.
 NEQ (Not Equal).Devine TRUE dacă (A) diferit de (B).
 LES (Less Than).Devine TRUE dacă (A) < (B).
 LEQ (Less Than or Equal).Devine TRUE dacă (A) ≤ (B).
 GRT (Greater Than). Devine TRUE dacă (A) > (B).
 GEQ (Greater Than or Equal). Devine TRUE daca (A) ≥ (B).
 MEQ (Masked Comparison for Equal). Permite testarea egalităţii după
aplicarea unei măşti (poate fi o valoare hexa).
LIM (Limit Test). Permite testarea încadrării unei valori între două limite. Low Limit
=val./adr. limită inferioară. Test = val./adr.val. test. High Limit =val./adr. limită
superioară. Este TRUE când Low Lim ≤ Test ≤ High Lim.
Parametrii necesari acestor instrucţiuni sunt:
Source = adresă valoare
Compare = o constantă întreagă sau adresa unei referinţe.
Instrucţiuni matematice.
O instrucţiune matematică acceptă doi operanzi, dintre care maxim unul poate fi o
constantă. Sunt instrucţiuni de ieşire.
 ADD (Add) Dest = A + B.
 SUB (Substract) Dest = A – B.
 MUL (Multiply) Dest = A * B.
 DIV (Divide) Dest = A / B.
 NEG (Negate) Dest = (complement faţă de 2) Sursa.
 CLR (Clear) Dest ← 0.
 SQR (Square Root)
 SCL (Scale Data) Dest ← (Sursa):Rate.
Instrucţiuni logice şi de mutare.
Sunt instrucţiuni de ieşire. Instrucţiunile logice se aplică bit cu bit datelor stocate la
adresele sursă. Când condiţiile de pe ramură sunt TRUE, atunci :
 MOV (Move) (Dest) ← (Sursa).
 MVM (Masked Move). Analog cu MOV, dar după ce sursa a fost trecută prin
Mask; masca poate fi o valoare hexa (o constantă).
 AND (And) (Dest) = A AND B.
 OR (Or) (Dest) = A OR B.
 XOR (Exclusive Or) (Dest) = A XOR B.
Instrucţiuni de lucru cu stiva.
Instrucţiunile FFL (FIFO Load) şi FFU (FIFO Unload) se folosesc împreună.
Instrucţiunea FFL încarcă octeţi într-un fişier creat de utilizator numit stivă FIFO.
Instrucţiunea FFU descarcă octeţi din stiva FIFO în aceeaşi ordine în care au fost
introduşi. Pentru folosirea acestor instrucţiuni sunt necesari următorii parametrii:
 Source reprezintă o adresă de cuvânt sau o constantă (-32.768 până la 32.767) în
care se află valoarea de introdus în stiva FIFO.
 Destination reprezintă o adresă de cuvânt care memorează valoarea extrasă din
stiva FIFO.
 FIFO reprezintă adresa stivei. Trebuie să fie o adresă indexată de cuvânt dintr-
unul din fişierele de intrare, ieşire, stare, bit, sau întregi. Pentru ambele instrucţiuni FFL
şi FFU trebuie să avem aceeaşi stivă.
 Length reprezintă numărul de elemente din stivă (maxim 128). Ambele
instrucţiuni FFL şi FFU trebuie să aibă acelaşi număr de elemente.
 Position reprezintă următoarea locaţie disponibilă din stiva unde se pot încărca
date. Această valoare se schimbă după fiecare operaţie de încărcare sau descărcare.
Acelaşi număr este folosit pentru ambele instrucţiuni FFL şi FFU.
 Control reprezintă adresa fişierului de control, fişier în care sunt stocate date
despre biţii de stare, lungimea stivei şi valoarea poziţiei. Această adresă nu trebuie
folosită pentru nici o altă instrucţiune.
Biţii de stare din elementul de control sunt folosiţi
astfel:
 Bitul Empty EM (bit12) este setat de
instrucţiunea FFU indicând că stiva e goală
 Bitul Done DN (bit 13) este setat de instrucţiunea FFL pentru a indica faptul că
stiva e plină; aceasta inhibă încărcarea stivei.
 Bitul FFU Enable (bit 14) este setat la tranziţia din fals în adevărat a rangului
FFU şi resetat la tranziţia inversă.
 Bitul FFL Enable (bit 15) este setat la tranziţia din FALSE, în TRUE a ramurii
FFL şi resetat la tranziţia inversă.
Blocul funcţional PID.
Un bloc funcţional reprezintă un set de instrucţiuni (invizibile utilizatorului) care, având
cunoscut un anumit număr de parametri de intrare, sunt capabile să obţină o serie de
valori de ieşire, calculate după un anumit algoritm, care nu este transparent utilizatorului.
Utilizatorul poate doar să configureze blocul funcţional introducând valorile parametrilor
de intrare.
PID este un bloc funcţional apelat ca o instrucţiune de ieşire cu ajutorul căreia se pot
conduce procese după temperatură, presiune, nivel sau debit folosind bucle de reglare.
Instrucţiunile PID controlează în mod normal o buclă închisă folosind intrările de la un
modul analogic şi furnizând anumite ieşiri pentru un modul analogic de ieşire.
Aceste instrucţiuni pot opera în modul eşantionat sau în modul STI (Selectable Timed
Interrupts - Întreruperi de Timp Reglabile). În modul eşantionat, instrucţiunile
actualizează periodic ieşirile la o rată ce poate fi aleasă. În modul STI, instrucţiunile
trebuie să fie plasate în subrutine de întrerupere STI; ieşirile vor fi actualizate în
momentele de scanare ale STI.
Intervalul STI şi rata de actualizare a buclei trebuie să fie la fel pentru a executa corect
ecuaţia. Blocul funcţional PID foloseşte următoarea formulă:

iar simbolul său grafic este dat în figura 2.13

Instrucţiunile PID se pun pe o ramură fără condiţionări logice. Dacă ramura nu este
parcursă, ieşirile rămân la valorile anterioare, iar termenul integral este resetat. În timpul
programării se introduc adresele Blocului de Control, a Variabilelor de Proces şi a
Variabilelor de Control după ce instrucţiunile PID au fost puse pe ramură:
 Blocul de Control este un fişier care memorează datele necesare instrucţiunilor
pentru operare. Mărimea fişierului este fixată la 23 de cuvinte şi poate fi introdusă ca o
adresă de fişier pentru întregi. De exemplu: N10:0 va aloca elementele de la N10:0 până
la N10:22.
 Variabila de Proces PV este adresa unui element care stochează valoarea intrării
din proces. Această adresă poate fi un cuvânt rezervat unei intrări analogice unde va fi
stocată valoarea respectivei intrări. Această valoare poate fi un întreg dacă se alege scala
0 -16383.
 Variabila de Control cv este adresa unui element care stochează valoarea ieşirii
instrucţiunii PID. Domeniul de ieşire este 0 – 16383 (16383 corespunde unui nivel de
100% din ieşire).

Structura blocului de control este dată în figura 2.14.

După ce au fost introduse adresele pentru CB, PV şi CV, va apare următorul ecran cu
ajutorul căruia se vor introduce datele necesare configurării şi acordării modulului PID:
În partea stângă sunt parametri instrucţiunii PID care trebuie introduşi:
[F1] Auto/Manual AM (word 0, bit 1), se face alegerea între Auto şi Manual.
Auto arată că PID controlează ieşirile automat. Manual arată că utilizatorul controlează
ieşirile (setează);
[F2] Mode TM (word 0, bit 0), se face alegerea între modurile eşantionat şi STI;
[F3] Control CM (word 0, bit 2), se face alegerea între E = SP - PV şi E= PV –
SP; varianta E = PV - SP presupune incrementarea ieşirii CV; când intrarea PV > SP, iar
varianta E = SP - PV presupuneincrementarea CV când intrarea PV < SP.
Setpoint SP (word 2), este punctul de control dorit pentru proces. Se introduce
valoarea dorită şi se tastează ENTER. Valoarea se poate schimba în programul ladder
prin instrucţiuni;
Gain KC (word 3), este factorul de amplificare proporţional, în gama 0.1 - 25.5.
O regulă este setarea lui la o valoare egală cu 1.5 din valoarea necesară pentru a
determina la ieşire oscilaţii când reset = 0 şi rate terms = 0;
Reset Ti (word 4) este factorul de timp al integratorului, având valori în gama 0.1
- 25.5 min. O regulă este setarea lui la perioada naturală măsurată înaintea calibrării;
Rate Td (word 5), este termenul derivativ, putând lua valori în gama 0.01 - 2.55
min. O regulă este setarea lui la 1/8 din Ti;
Maximum Scaled Smax (word 7), dacă setpoint este citit în mărimi inginereşti,
acest parametru corespunde valorii setpoint când intrarea atinge 16383;
Minimun Scaled Smin (word 8), dacă setpoint este citit în mărimi inginereşti,
acest parametru corespunde valorii setpoint când intrarea atinge valoarea 0;
Deadband DB (word 9) este o valoare pozitivă. DB este centrată în jurul valorii
SP, având lăţimea introdusă de utilizator. DB este introdusă când PV şi SP trec prin zero.
DB are efect numai după ce PV intră în DB şi trece de SP;
Loop Update (word 13) este un intervalul de timp între calculele PID. O regulă
este setarea lui la o valoare de 5 - 10 ori mai mică decât perioada naturală de încărcare;
Scaled Process PV (word 14) este pentru afişare;
Scaled Error (word 15) este pentru afişare; Output CV % (word 16) afişează
ieşirea CV în procente ( pentru intervalul 0 - 16383). Dacă este în mod Auto, această
setare este numai pentru afişare. Dacă este în mod Manual, valoarea CV se poate
schimba, iar noua valoare ajunge la ieşire;
[F4] Output (CV) Limit OL (word 0, bit 3) se poate alege între YES (se
limitează ieşirea între valorile min şi max) şi NO (nu se limitează ieşirea);
În coloana din dreapta sunt indicatorii (flags) asociaţi instrucţiunii PID:
Time Mode Bit TM (word 0, bit 0) specifică modul PID; este setat de către
modul TIMED şi este resetat de către modul STI; poate fi setat/resetat prin instrucţiuni
în programele ladder;
Auto / Manual Bit AM (word 0, bit 01), arată că operaţiile sunt automate când
este resetat şi manuale când este setat; poate fi setat/resetat prin instrucţiuni în
programele ladder;
Control Mode Bit CM (word 0, bit 02), este resetat dacă controlul este E = PV -
SP; poate fi setat/resetat prin instrucţiuni în programele ladder;
Output Limiting Enabled Bit OL (word 0, bit 03) este setat când a fost
selectată o limită pentru CV prin [F4]; poate fi setat/resetat prin instrucţiuni în
programele ladder;
Reset and Gain Range Enhancement Bit RG (word 0, bit 4), dacă este setat
face ca valoarea Reset Minute/Repeat şi factorul de amplificare să fie multiplicat de 10
ori;
Scale Setpoint Flag SC (word 0, bit 05), este resetat când se specifică o scală
pentru setpoint;
Loop Update Time Too Fast TF (word 0, bit 06) este setat de către algoritmul
PID dacă timpul de actualizare al buclei, care a fost dat, nu poate fi atins de către
program (din cauza limitărilor temporale de scanare). Dacă acest bit este setat se poate
încerca corectarea problemei prin actualizarea buclei la o rată mai mică sau mutarea
instrucţiunii într-o subrutină STI;
Derivitive (Rate) Action Bit DA (word 0, bit 07) dacă este setat face ca
Derivitive Rate să fie evaluată după eroare în loc de PV; dacă este resetat, Derivitive Rate
funcţionează ca procesorul 5/02;
DB, Set When Error is în DB (word 0, bit 08), este setat când PV este în
intervalul DB şi are valoarea 0;
Output Alarm, Upper Limit UL (word 0, bit 09) este setat când ieşirea CV
depăşeste limita superioară;
Output Alarm, Lower Limit LL (word 0, bit 10), este setat când ieşirea CV
depăşeste limita inferioară;
Setpoint Out of Range SP (word 0, bit 11), este setat când setpoint nu se
încadrează în scala dată;
Process Var Out of Range PV (word 0, bit 12) este setat când PV nu se
încadrează în intervalul 0 - 16383;
PID Done DN (word 0, bit 13), este setat când algoritmul PID a terminat
calculele;
PID Enable EN (word 0, bit 15), este setat când ramura instrucţiunii PID este
adevarată;

Exemplu de diagramă Ladder:


Ramura Ladder prezentată în exemplul următor conţine două instrucţiuni de intrare şi o
instrucţiune de ieşire. O instrucţiune de ieşire este situată în dreapta ramurii, lângă bara
verticală dublă dreapta. Instrucţiunile de intrare sunt întotdeauna situate la stânga
instrucţiunilor de ieşire.
XIC = Examine if Close – examinează bitul
de la adresa B3/10;
XIO = Examine if Open - examinează bitul
de la adresa B3/11
OTE = Output Energize –
activează/dezactivează bitul de la adresa B3/12
Fiecare instrucţiune din ramura precedentă are adresa fişierului unde sunt stocate stările
ON(1) / OFF(0) ale biţilor. Adresele instrucţiunilor de mai sus indică fişierul Bit 3 (B3),
biţii 10, 11, 12.
Parcurgerea unei astfel de diagrame se face de sus în jos (ramură cu ramură) şi de la
stânga la dreapta (în cadrul unei ramuri). Execuţia instrucţiunilor se face prin testarea
condiţiilor logice ale ramurilor.
Starea logică a unei instrucţiuni poate fi adevărat (TRUE T) sau fals (FALSE F).
Ansamblul stărilor logice ale instrucţiunilor de intrare determină continuitatea logică a
ramurii. În funcţie de stările logice ale datelor stocate în biţii adresaţi, stările logice ale
instrucţiunilor pot fi, ca în figura 2.17.

În exemplul dat, pentru ca instrucţiunea de ieşire OTE să seteze bitul B3/12, trebuie să nu
se întrerupă continuitatea logică pe ramură, adică trebuie ca starea XIC = TRUE ^ starea
XIO = TRUE. Concret, conform tabelului precedent:
Dacă B3/10 = 1 şi B3/11 = 0, deci dacă este gasită o cale continuă de instrucţiuni de
intrare adevărate, atunci instrucţiunea de ieşire devine sau rămâne adevărată. În acest caz
condiţiile ramurii sunt adevărate. Când nu este găsită această continuitate logică a
instrucţiunilor de intrare, atunci instrucţiunea de ieşire OTE devine sau rămâne falsă. În
acest caz condiţiile ramurii sunt false.
Modul de variaţie al stării bitului B3/12 în funcţie de stările biţilor B3/10 si B3/11 este:

O posibilă variaţie în timp a stărilor logice ale


instrucţiunilor XIC, XIO şi OTE este:
Având în vedere cele prezentate se poate trage concluzia că o ramură din diagrama
Ladder este echivalentă cu o instrucţiune de tipul:
If condiţie then ieşire.
Câmpul condiţie din model poate însemna testarea unei intrări sau testarea unei anumite
combinaţii logice între variabilele de intrare. În exemplul dat s-a prezentat un bloc AND
(şi logic), între valoarea bitului B3/10 şi valoarea negată a bitului B3/11.

2.5 Dezvoltarea unei diagrame Ladder pornind de la o diagramă


Grafcet
Pentru ca un program de control conceput sub forma unei diagrame Ladder să
funcţioneze corect şi să fie dezvoltat uşor, o soluţie foarte eficientă este ridicarea iniţială
a unei diagrame de tip Grafcet pornind de la specificaţiile procesului.
Elementele principale ale unei diagrame Grafcet sunt etapele, tranziţiile, acţiunile
asociate etapelor, divergenţele, paralelismul etc. Etapele de creare ale unei diagrame
Ladder pentru un automat Allen Bradley SLC 500 sunt următoarele:
Se construieşte diagrama Grafcet de control logic al procesului;
Se identifică intrările, ieşirile necesare automatului, precum şi numărul necesar de
temporizări şi contorizări;
Se asociază intrările şi ieşirile cu biţi din fişierele de imagine ale intrărilor şi
ieşirilor;
Se asociază fiecare etapă a diagramei Grafcet cu câte un bit dintr-un fişier de tip
BIT al automatului Allen Bradley (spre exemplu din fişierul B3);
Se alocă pentru fiecare temporizare sau contorizare câte un element dintr-un fişier
de tip Timer sau Counter;
Pentru fiecare etapă se scriu, în principiu două ramuri de tipul:

Etapele iniţiale sunt activate cu ajutorul instrucţiunii OSR. Mici modificări apar atunci
când în diagrama Grafcet există divergenţe şi paralelisme.
În cazul în care dintr-o etapă se poate tranzita în diferite alte etape din cauza existenţei
mai multor condiţii de tranziţie, trebuie editată câte o ramură de tip 2 pentru fiecare
condiţie de tranziţie. Starea de activare a unei etape se testează cu instrucţiunea XIC
aplicată bitului asociat etapei.
Dacă ulterior activării unei tranziţii urmează un paralelism în care mai multe secvenţe vor
rula simultan, o dată cu dezactivarea etapei curente vor fi activate toate etapele iniţiale ale
tuturor secvenţelor paralele.
Ieşirile digitale pot fi activate şi dezactivate atât cu instrucţiunea OTE cât şi cu
instrucţiunile pereche OTL şi OTU. Instrucţiunea OTE se foloseşte atunci când o acţiune
este activă numai în etapa curentă şi va trebui dezactivată o dată cu dezactivarea etapei.
Dacă o ieşire trebuie să îşi menţină valoarea şi în etapele următoare, ea trebuie activată
obligatoriu cu instrucţiunea OTL.
Exemplu: Să considerăm că avem de controlat un proces a cărui diagramă Grafcet este
reprezenată în figura 2.20:
Pentru a construi diagrama Ladder
pornind de la diagrama Grafcet, în
primul rând trebuie stabilite poziţiile
intrărilor şi ieşirilor, precum şi
asocierea etapelor din diagrama
Grafcet cu biţi din fişierul de tip bit
B3. Presupunând că pe slotul 1 al
automatului se găseşte un modul de
intrări digitale cu 16 intrări iar pe
slotul 3 un modul de ieşiri digitale cu
24 ieşiri, putem conecta intrările şi
ieşirile către proces conform tabelului
2.21:

Asocierea etapelor Grafcet cu biţi din fişierul de Bit B3 se poate face conform tabelului
2.22:
Bitul B3/0 va fi rezervat instrucţiunii OSR
ca parametru intern. Se poate trece acum
la scrierea ramurilor diagramei Ladder,
conform algoritmului descris anterior.
Etapa 1 va fi activată iniţial cu ajutorul
instrucţiunii OSR astfel:
Deoarece în etapa 1 nu au loc acţiuni, nu se
mai scrie nici o ramură de tip 1 pentru etapă.
În schimb, deoarece are loc o divergenţă
pornind din etapa 1, trebuie scrise două ramuri de tip 2 pentru cele două condiţii de
tranziţie ce se exclud:
Pentru tranziţia cu condiţia i1:

Pentru tranziţia cu condiţia i2:

Pentru etapa 2 trebuie scrise cele


2 ramuri tipice:
Etapa 3 nu are acţiuni asociate, iar tranziţia din
această etapă este condiţionată de activarea
etapei 103, astfel încât pentru etapa 3 se scrie o singură ramură de tip 2 şi anume:

Această ramură este valabilă ca


ramură de tip 2 şi pentru traziţia
din etapa 103, fiind suficientă
editarea ei o singură dată.

Pentru etapa 101 se scriu cele două ramuri tipice:

Analog pentru etapa 102:

Capitolul 3. MEDIUL DE PROGRAMARE LOGICĂ


ISaGRAF.
ISaGRAF este un mediu avansat CASE (Computer Aided Software Engineering) fiind
proiectat să transforme orice computer industrial sau placă cu microcontroller într-o
arhitectură open PLC de înaltă performanţă şi cu un preţ scăzut. ISaGRAF utilizează
metode standard de programare a PLC-urilor industriale pentru dezvoltarea unor aplicaţii
puternice fără a avea nevoie de cunoştinţe în programarea de nivel înalt sau experienţă
hardware.
ISaGRAF este un mediu de programare dezvoltat de CJ International destinat aplicaţiilor
pentru automate programabile. Acest mediu permite programarea, simularea, testarea
aplicaţiilor folosind limbajele standardului IEC 1131-3 [CJ International, 1998].
Mediul de programare ISaGRAF este compatibil cu Windows 2000. Aplicaţiile
ISaGRAF sunt complet portabile şi pot rula pe orice target hardware fără nici o
modificare.
Targetul ISaGRAF poate fi orice computer industrial, microcontroller sau PLC echipat cu
module de I/O analogice sau digitale rulând orice sistem de operare multitasking.
ISaGRAF poate fi implementat pe orice configuraţie hardware care suportă un compilator
ANSI C.
Caracteristici:
 Mediu de dezvoltare complet;
 Independenţă faţă de configuraţia hardware a unui PLC;
 Limbaje de programare specificate în standardul IEC 1131-3;
 Facilităţi de simulare;
 ON şi OFF line debugger;
 Dezvoltarea de biblioteci software.

3.1. Structura unui proiect ISaGRAF.


Un proiect ISaGRAF este compus din mai multe unităţi numite programe. Un program
este considerat a fi o unitate logică care descrie operaţiile dintre variabilele procesului.
Programele aplicaţiei sunt conectate într-o structură arborescentă şi pot fi implementate
folosind limbaje grafice sau literale, programatorul având la dispoziţie următoarele
opţiuni:

Flow Chart (FC) pentru programare la nivel înalt;


Ladder Diagram (LD) doar pentru operaţii booleene;

Structured Text (ST) pentru orice operaţii ciclice;


Instruction List (IL) pentru operaţii la nivel jos;

Function Block Diagram (FBD) pentru operaţii ciclice complexe

Sequential Function Chart (SFC) pentru programare la nivel înalt


Limbajul utilizat pentru scrierea unui program se alege la crearea acestuia şi nu poate fi
schimbat mai târziu. Nu este posibil ca acelaşi program să combine mai multe limbaje,
excepţie se poate face în cazul în care se combină FBD şi LD.

Operaţii ciclice şi secvenţiale.


Programele descriu fie operaţii ciclice, fie secvenţiale. Programele ciclice sunt executate
la fiecare ciclu al sistemului ţintă. Execuţia programelor secvenţiale respectă regulile
dinamice fie ale limbajului SFC, fie ale limbajului FC.
Programele sunt legate între ele într-o structură arborescentă. Programele aflate în vârful
ierarhiei sunt activate de către sistem. Subprogramele (nivele mai jos în ierarhie) sunt
activate de către programul părinte.
Structura ierarhică a unui program se descompune în patru secţiuni sau grupuri:
Begin : programe executate la începutul fiecărui ciclu al sistemului ţintă;
Sequential : programe ce respectă regulile dinamice SFC sau FC;
End : programe executate la sfârşitul fiecărui ciclu al sistemului ţintă;
Functions : set de subprograme nededicate.
Programele din secţiunile Begin şi End descriu operaţii ciclice şi nu sunt dependente de
timp. Se scriu în limbajele LD sau ST. Programele principale sunt executate la începutul
respectiv sfârşitul fiecărui ciclu de execuţie. Secţiunea Begin se utilizeaza pentru
adaptarea unor valori de intrare (ex: citirea unei valori de la un traductor).
Programele secţiunii Sequential descriu operaţii secvenţiale unde variabila timp
sincronizează operaţiile primare. Execuţia programelor principale ale acestei secţiuni se
face conform regulilor SFC sau FC. Trebuie să existe cel puţin un program secvenţial
Sequencial; restul doar dacă este nevoie.
Programele secţiunii Functions sunt subprograme ce pot fi apelate de orice alt program
al aplicaţiei. Un program al secţiunii Function poate apela un alt program al acestei
secţiuni.
Programele principale şi programele fiu ale secţiunii Sequential trebuie să fie descrise în
limbajele SFC sau FC. Programele secţiunilor ciclice (Begin şi End) nu pot fi descrise în
SFC sau FC. Orice program al oricărei secţiuni poate avea unul sau mai multe
subprograme. Orice program al oricărei secţiuni poate avea unul sau mai multe programe
fiu, în conformitate cu limbajul fiecăruia. Subprogramele nu pot fi descrise în SFC sau
FC.
Programele secţiunii Begin sunt de obicei folosite pentru descrierea operaţiilor
preliminare în scopul citirii corecte a unor valori de la dispozitivele de intrare. Variabilele
de intrare citite sunt utilizate frecvent de către programele secţiunii Sequential pentru ca
după o eventuală prelucrare valorile variabilelor de ieşire să fie transmise dispozitivelor
de ieşire.
Programele secţiunii End sunt utilizate pentru a descrie operaţii de protecţie înainte de a
trimite o variabilă către un dispozitiv de ieşire.

Programe SFC / FC child.


Orice program SFC al secţiunii secvenţiale poate controla alte programe SFC. Acest tip
de programe, situate pe un nivel ierarhic inferior, se numesc program SFC fiu, ele fiind
programe paralele ce pot fi pornite
(started), oprite (killed), îngheţate (frozen), repornite (restarted) de către programul
părinte. Important este ca ambele programe, părinte şi fiu, să fie scrise în SFC. Un
proogram SFC fiu poate conţine variabile locale şi cuvinte cheie.
Atunci când un program părinte porneşte un program SFC fiu transmite un jeton SFC
fiecărui pas iniţial al programului fiu. Această comandă este descrisă de declaraţia
GSTART. În cazul opririi unui program fiu de către părintele său, sunt eliminate toate
jetoanele existente. Această comandă este descrisă de declaraţia GKILL. Dacă este
îngheţat, un program fiu SFC îşi suspendă execuţia şi îşi păstrează jetoanele pentru o
eventuală repornire. Programul suspendat poate fi repornit folosind declaraţia GRST.
Şi în cazul programelor FC ale secţiunii secvenţiale pot exista subprograme FC fiu, dar
un părinte FC este blocat în timpul execuţiei unui subprogram FC. Astfel nu sunt
posibile operaţii simultane în programul FC părinte şi subprogramul FC.
Funcţii şi subprograme.
Execuţia unui subprogram sau a unei funcţii este condusă de către programul părinte.
Execuţia programului părinte este suspendată până la terminarea funcţiei sau a
subprogramului.
Un program al oricarei secţiuni poate avea unul sau mai multe programe. Un subprogram
poate fi controlat numai de către părintele său. El poate conţine variabile locale. Pentru
descrierea unui subprogram nu pot fi utilizate limbajele SFC şi FC. Programele secţiunii
Functions sunt subprograme ce pot fi apelate de orice program al aplicaţiei. Spre
deosebire de alte subprograme, acestea nu sunt dedicate programului părinte şi pot apela
programe ale aceleiaşi secţiuni. Pentru o mai mare flexibilitate pot fi grupate în librării de
funcţii.
Reguli de execuţie.
ISaGRAF este un sistem sincron. Toate operaţiile sunt declanşate de către ceas.
Intervalul dedicat execuţiei se numeşte durata ciclului:

Operaţiile de bază ce se execută pe durata unui ciclu sunt:

Acest sistem face posibile:


 garantarea unor valori constante pe durata unui ciclu pentru variabile;
 stabilitatea ieşirilor, acestea nefiind modificate decât o singură dată într-un ciclu
de execuţie;
 accesul sigur la aceleaşi variabile globale al mai multor programe;
 estimarea şi controlul timpului de răspuns a întregii aplicaţii.

3.2. Descrierea limbajul Sequential Function Chart (SFC).


Sequential Function Chart (SFC) este un limbaj grafic utilizat pentru a descrie operaţii
secvenţiale. Procesul este reprezentat printr-o succesiune de paşi finiţi expliciţi legaţi prin
tranziţii. Fiecărei tranziţii îi este ataşată o condiţie de tip boolean. Acţiunile ce au loc la
fiecare pas sunt descrise folosind celelalte limbaje (ST, IL, LD sau FBD).
Un program SFC se reprezintă ca un graf orientat cu noduri de tip etape şi tranziţii.
Legăturile multiple sunt utilizate pentru a reprezenta convergenţe şi divergenţe. Unele
părţi ale programului pot fi descrise separat şi reprezentate în program printr-un simbol.
Aceste părţi sunt cunoscute sub denumirea de macro etape.
Regulile grafice de bază ale SFC:
Un nod de tip etapă nu poate fi urmat de un nod de acelaşi tip;
Un nod de tip tranziţie nu poate fi urmat de un nod
de acelaşi tip.
Programarea SFC este de obicei separată în două niveluri
- nivelul 1 arată organigrama programului, numerele
paşilor şi tranziţiilor şi comentariile ataşate acestora,
cum se arată alături.

- nivelul 2 reprezintă programarea în limbaj ST sau IL a acţiunilor din cadrul paşilor sau
condiţiile ataşate tranziţiilor, aşa cum se arată mai jos stânga.

3.2.1. Componentele de bază (simbolurile grafice)


ale limbajului SFC sunt:
Etapele şi etapele iniţiale (steps and initial
steps):
O etapă este reprezentată printr-un pătrat. Fiecare
etapă este referită de un număr înscris în interiorul
pătratului. Descrierea etapei se face în interiorul
dreptunghiului legat de pătrat. Aceasta este cunoscuta ca nivelul 1 al etapei.
Nivelul 2 conţine descrierea acţiunilor ce au loc în etapa respectivă şi este referit într-o
fereastră separată.

În momentul rulării, un jeton arată că etapa este activă.


Starea iniţială a unui program SFC se exprimă cu ajutorul etapelor iniţiale, reprezentate
grafic printr-un pătrat cu margine dublă. Când programul este pornit automat se plasează
câte un jeton în interiorul fiecărei etape iniţiale.
Un program SFC trebuie să conţină cel puţin o etapă iniţială. Fiecare etapă are două
atribute ce pot fi utilizate de celelalte limbaje:
- GSnnn.x starea pasului: activ/inactiv (variabilă booleană)
- GSnnn.t cât timp este activ pasul (timp) (nnn este numărul de referinţă al pasului).
Tranziţii (transitions):
Tranziţiile sunt reprezentate printr-o bară orizontală ce taie linia de legătură dintre doi
paşi. Similar etapelor, tranziţiile sunt referite printr-un număr şi au aceeaşi organizare pe
nivele, aşa cum se arată în figura
3.5.
Legături orientate (oriented
links):
Liniile simple sunt utilizate pentru
legăturile dintre paşi şi tranziţii.
Atunci când nu este specificată
explicit orientarea se consideră a fi Fig. 3.6.- Legături orientate.
de sus în jos, aşa cum se arată în figura 3.6.
Salt către un pas (jump to a step):
Simbolul de salt poate fi utilizat pentru a indica o legătura dintre o tranziţie şi un pas, fără
a fi nevoie să se deseneze linia de conexiune. Saltul trebuie referit cu numărul pasului
destinaţie. Saltul nu poate fi utilizat pentru a lega un pas şi o tranziţie.

3.2.2. Divergenţe şi convergenţe (divergences and


convergences):
Divergenţele şi convergenţele sunt utilizate pentru a
reprezenta legături multiple între paşi şi tranziţii.
Divergenţele sunt conexiuni multiple de la un simbol SFC
(pas sau tranziţie) către mai multe simboluri SFC.
Convergenţele sunt conexiuni multiple de la mai multe
simboluri SFC către un singur simbol. Structurile de acest tip
Fig. 3.7.- Salt către o pot fi simple sau duble după cum urmează:
etapă. Divergenţe simple: Legături multiple de la un pas
la mai multe tranziţii. Aceasta permite trecerea jetonului activ
către mai multe ramuri. Divergenţele simple reprezintă posibilitatea rulării uneia dintre
părţile unui proces (funcţia OR):
Convergenţe simple: Legături multiple de la mai multe tranziţii către acelaşi pas.
Sunt folosite în general pentru a grupa ramuri ce s-au despărţit de la aceeaşi traziţie.
Divergenţe duble: Legături multiple
de la o tranziţie către mai mulţi paşi. Au
corespondenţe în execuţia în paralel a
operaţiunilor într-un proces.
Divergenţele duble reprezintă procese
care rulează în parallel (funcţia AND).
Convergenţe duble: Legături
multiple de la mai mulţi paşi către aceeaşi tranziţie. Folosite în general pentru a grupa
ramuri ce s-au despărţit prin aceeaşi
dublă divergenţă.
3.2.3. Paşi Macro (Macro steps)
Macrourile sunt un mod unic de reprezentare a unei succesiuni unice de paşi şi tranziţii.
Corpul unui macro este descris separat în programul SFC, el apărând ca un singur simbol
în reprezentarea SFC principală. Numărul de referinţă ce apare în simbolul macro-ului
este referinţa pentru primul pas din corpul unui macro. Acest prim pas trebuie să fie de
tipul pasde început (beginning step). Corespondentul său la terminarea reprezentării este
pasul de sfârşit (ending step).
Reprezentarea unui macro trebuie să fie independentă, neexistând legături în nicio
direcţie. Simbolul unui macro poate fi inclus în reprezentarea altui macro. Deoarece un
macro este reprezentat printr-un set unic de paşi şi tranziţii, nu poate fi folosit mai
mult decât o dată în programul SFC.
3.2.4. Operaţii în cadrul etapelor.
Nivelul 2 al unei etape SFC conţine descrierea detaliată a operaţiilor ce se execută
în timpul activării. Această descriere se face utilizând facilităţile literale ale SFC
şi alte limbaje cum ar fi ST. Tipurile de operaţii ce sunt accesibile la acest nivel
sunt:
- operaţii asupra variabilelor booleene;
- operaţii de tipul impuls în ST;
- operaţii de tipul nonimpuls în ST;
- operaţii în SFC.

Operaţii asupra variabilelor booleene:


Atribuirea de valori unor variabile booleene în timpul activării unui pas. Aceste variabile
pot fi de ieşire sau interne. Valorile se stabilesc la activarea sau dezactivarea pasului :
<var_bool>(s):
variabila primeşte valoarea TRUE când pasul devine active.
Sintaxa acestor operaţii este :
<var_bool>(N); asociază starea pasului activ/inactiv cu
TRUE/FALSE (1/0 logice) valoarea variabilei
<var_bool>; acelaşi efect atributul n fiind optional;
/<var_bool>; asociază negatul stării pasului cu valoarea variabilei.
Sunt disponibile şi alte caracteristici care permit setarea sau resetarea unei variabile
booleene, atunci când pasul este activ. Sintaxa acestor operaţii este :
<var_bool>(S); variabila primeşte valoarea TRUE când pasul devine activ;
<var_bool>(R); variabila primeşte valoarea FALSE când pasul devine activ.

Operaţii de tipul impuls (pulse actions):


Succesiune de instrucţiuni ST sau IL, care se execută numai o singură dată într-un singur
ciclu automat, de obicei primul în care etapa este activă.
Sintaxa operaţiilor este :
ACTION(P):
(*instrucţiuni Structured Text*)
END_ACTION;

Operaţii de tipul nonpuls (non-stored actions):


Succesiune de instrucţiuni ST sau IL, care se execută la fiecare ciclu automat în care
etapa este activă.
Sintaxa operaţiilor este :
ACTION(N):
(*instructiuni Structured Text*)
END_ACTION;

Operaţii SFC.
O operaţie SFC este o secvenţă SFC fiu, pornită sau oprită după cum se schimbă starea
pasului. Poate avea unul din atributele: N (non stored), S (set), R (reset).
Sintaxa operaţiilor este :
<prog_fiu>(N); prog_fiu este pornit când pasul devine activ şi opritcând pasul devine
inactiv;
<prog_fiu>; acelaşi efect, atributul N fiind opţional;
<prog_fiu>(S); prog_fiu este pornit când pasul devine activ şi îşi păstrează starea când
pasul devine inactiv;
<prog_fiu>(R); prog_fiu este oprit când pasul devine activ şi îşi păstrează starea când
pasul devine inactiv.
Secvenţa SFC fiu prog_fiu trebuie să fie un program SFC fiu al programului curent.
Folosirea atributelor S(Set) sau R(Reset) pentru o acţiune SFC are exact aceleaşi efecte
cu folosirea lui GSTART şi GKILL într-o operaţie de tipul impuls din ST.

Apelul funcţiilor şi al funcţiilor bloc în cadrul unei operaţii.


Subprograme, funcţii sau funcţii bloc (scrise în ST, IL, LD sau FBD) sau funcţii C şi
funcţii bloc C pot fi direct apelate din interiorul unei operaţii după cum urmează:
Pentru subprograme şi funcţii C:
ACTION(P):
result:=sub_prog();
END_ACTION;
sau
ACTION(N):
result:=sub_prog();
END_ACTION;
Pentru funcţii bloc C sau în ST, IL, LD, FBD avem :
ACTION(P):
Fb(in1,in2);
result1:=Fb.out1;
result2:=Fb.out2;
END_ACTION;
sau
ACTION(N):
Fb(in1,in2);
result1:=Fb.out1;
result2:=Fb.out2;
END_ACTION;

Convenţia IL.
Codul IL poate fi introdus direct într-un bloc SFC, după cum urmează:
ACTION(P): (* sau N*)
#info=IL
<instrucţiune>
<instrucţiune>

#endinfo
END_ACTION;
3.2.5. Condiţii ataşate tranziţiilor.
Fiecărei tranziţii îi este ataşată o expresie booleană care condiţionează trecerea la pasul
următor. Această condiţie este de obicei implementată în limbajele ST sau LD la nivelul
2 al tranziţiei. Pot fi utilizate şi alte modalităţi de implementare, cum ar fi :
- convenţia limbajului ST;
- convenţia limbajului LD;
- convenţia limbajului IL;
- apelul funcţiilor dintr-o tranziţie.

Convenţia ST.
Limbajul ST poate descrie condiţia ataşată tranziţiei. Expresia finală
a acesteia trebuie să fie de tip boolean şi să se termine cu punct şi
virgulă. Expresia poate conţine constante TRUE sau FALSE, o
singură variabilă de intrare sau o variabilă internă booleană sau o
combinaţie de variabile ce conduce la o valoare booleană.

Convenţia LD.
Limbajul LD poate descrie condiţia ataşată tranziţiei. Un exemplu de programare în LD
pentru tranziţii este redat alăturat.

Convenţia IL.
Condiţia este descrisă conform următoarei sintaxe:
#info=IL
<instrucţiune>
<instrucţiune>

#endinfo
valoarea conţinută în registrul IL (current result) la sfârşitul secvenţei condiţionând
tranziţia:
current result=0 → condiţia este FALSE
current result<>0 → condiţia este TRUE

Apelul funcţiilor dintr-o tranziţie.


Orice subprogram sau funcţie (scrisă în FBD, LD, ST sau IL) sau funcţie C poate fi
apelată pentru a evalua condiţia ataşată tranziţiei conform sintaxei:
<sub_program>();
Valoarea returnată de un subprogram trebuie să fie de tip boolean şi să returneze un
rezultat ce va fi evaluat astfel:
val_ret=0 → condiţia este FALSE
val_ret<>0 → condiţia este TRUE
Dacă nu este ataşată nicio expresie tranziţiei, atunci se consideră implicit valoarea TRUE.

3.2.6. Regulile dinamicii limbajului SFC.


Cele cinci reguli ale dinamicii limbajului SFC sunt:
Starea iniţială: caracterizată prin paşi iniţiali care sunt prin
definiţie în stare activă la începutul operaţiilor. Fiecare program SFC
trebuie să conţină cel puţin un pas iniţial.
Depăşirea unei tranziţii: tranziţia poate fi validată când toţi paşii care o preced
direct sunt activi, în caz contrar fiind invalidată. Tranziţia nu poate fi depaşită decât dacă
este validată şi condiţia asociată este TRUE.
Schimbarea stării paşilor: depăşirea unei tranziţii conduce simultan la activarea
paşilor care o succed şi la dezactivarea imediată a paşilor precedenţi.
Depăşirea simultană a tranziţiilor: tranziţiile care trebuiesc depăşite simultan
pot fi indicate prin două linii. Dacă aceste tranziţii sunt descrise separat, indicatorul de
stare al paşilor precedenţi (GSnnn.x) poate fi utilizat pentru descrierea condiţiilor de
trecere.
Activarea şi dezactivarea simultană a unui pas: dacă în timpul operaţiilor, un
pas este simultan activat şi dezactivat, se dă prioritate activării.

3.2.7. Ierarhizarea programelor SFC.


Sistemul ISaGRAF permite descrierea pe verticală a structurii programelor SFC. Acestea
sunt organizate într-o ierarhie arborescentă. Fiecare program SFC poate controla (porni,
opri) alte programe SFC. Acestea din urmă se numesc fii ai programului SFC care le
controlează. Regulile pe care le implică structura ierarhizată sunt :
Programele SFC care nu au un părinte se numesc programe SFC principale.
Programele SFC principale sunt activate de sistem la începutul aplicaţiei.
Un program poate avea mai multe programe fiu.
Un program fiu nu poate avea mai mult decât un părinte.
Un program fiu nu poate fi controlat decât de părintele său.
Un program nu poate controla fiii unui program fiu al său.
Operaţiile pe care le poate efectua un părinte pentru controlul fiilor săi sunt:
Start (GSTART) Porneşte programul fiu: activează fiecare pas iniţial al său. Fii
progamului fiu nu sunt porniţi automat.
Kill (GKILL) Opreşte programul fiu dezactivând fiecare pas activ. Toţi fiii
programului fiu sunt de asemenea opriţi.
Freeze (GFREEZE) Suspendă execuţia programului (dezactivând fiecare pas
activ şi suspendând verificarea condiţiilor de depăşire a tranziţiilor) şi salvează starea
paşilor programului astfel încât programul să poată fi repornit. Toţi fiii programului fiu
sunt suspendaţi din execuţie.
Restart (GRST) Reporneşte un progam SFC suspendat reactivându-i toţi paşii
dezactivaţi la suspendarea din execuţie. Programele fiu nu sunt automat repornite.
Get status (GSTATUS) Obţine starea curentă (activ, inactiv, suspendat) a unui
program fiu.
3.3. Descrierea limbajului Structured Text (ST).
Structured Text (ST) este un limbaj structurat de nivel înalt proiectat pentru procesele de
automatizare. Acest limbaj este utilizat în special pentru a implementa proceduri
complexe ce nu pot fi uşor exprimate într-un limbaj grafic. ST este limbajul implicit
pentru descrierea operaţiilor din interiorul paşilor şi a condiţiilor ataşate tranziţiilor din
limbajul SFC. Este folosit la scrierea programelor din secţiunile Begin şi End, descrierea
acţiunilor din etape şi scrierea condiţiilor de tranziţie.

3.3.1. Elemente de sintaxă în Structured Text.


Un program ST este o listă de declaraţii ST. Fiecare declaraţie se termină cu separatorul
punct şi virgulă. Cuvintele utilizate în codul sursă (identificatori de variabile, constante,
cuvinte cheie) sunt despărţite de separatori inactivi (space, end of line, tabs) sau de
separatori activi, care au o semnificaţie bine definită (de exemplu, > semnifică mai mare,
operaţie de comparaţie). Comentariile pot fi incluse oriunde în text dar trebuiesc
încadrate între (* şi *). Pentru o mai bună lizibilitate a codului se recomandă câteva
reguli: să nu se scrie mai mult de o declaraţie pe un rând, să se folosească alinierea
declaraţiilor complexe, inserarea de comentarii.
Tipurile de bază ale instrucţiunilor ST sunt :
Atribuire de valori (variabila:=expresie);
Apelare de subprograme sau funcţii;
Apelare de funcţii bloc;
Instrucţiuni de selecţie (IF,THEN, ELSE, CASE…);
Instrucţiuni de iteraţie (FOR, WHILE, REPEAT…);
Instucţiuni de control (RETURN, EXIT…),
Instrucţiuni dedicate legăturilor cu alte limbaje.

3.3.2. Expresii şi paranteze.


Expresiile ST combină operatori ST cu operanzi (variabile sau constante). Pentru fiecare
expresie tipul operanzilor trebuie să fie acelaşi. De exemplu:
(boo_var1 AND boo_var2) are tipul BOO
not (boo_var1) are tipul BOO
(sin (3.14) + 0.5) are tipul ANALOG REAL
(t#1s23 + 1.78 ) este o expresie invalidă
Parantezele sunt folosite pentru a separa părţi ale expresiei şi pentru a stabili explicit
priorităţile operaţiilor. Când o expresie complexă nu are paranteze, succesiunea
operaţiilor este dată de priorităţile implicite între operatorii ST. O expresie poate conţine
maxim opt nivele de paranteze.

3.3.3. Apelarea funcţiilor şi procedurilor.


Apelarea funcţiilor ST standard poate fi folosită pentru oricare dintre următoarele
obiecte: subprograme, funcţii de librării şi proceduri scrise în limbajul IEC, funcţii şi
proceduri C, funcţii de conversie de tip.

Apelul subprogramelor şi al funcţiilor.


Nume : numele subprogramului sau al funcţiei de bibliotecă scris în limbajul IEC sau în
C;
Semnificaţia: apelează un subprogram sau funcţie în ST, IL, LD sau FBD sau o funcţie
C şi primeşte valoarea returnată
Sintaxa: <variabila>:=<subprog>(<par1>, ... <parN>);
Operanzi: tipul valorii returnate şi apelarea parametrilor trebuie să urmărească interfaţa
definită pentru subprograme.
Valoarea returnată: valoarea returnată de subprogram
Exemple de apelare a unei funcţii:
val_2 := min (16, max (0, val_1));
msg := right (mesaj, mlen (mesaj)-1) + left (mesaj,1);

Apelul procedurilor.
Nume: numele procedurii;
Semnificaţia: apelează o procedură din biblioteca ISaGRAF sau dinbiblioteca
utilizatorului şi accesează parametrii returnaţi;
Sintaxa: (*apelarea unei proceduri*)
<nume_bloc>(<p1>, <p2> ...);
(* obţinerea valorii returnate*)
<rezultat>:= <nume_bloc>, <ret_param1>;
...
<rezultat>:= <nume_bloc>, <ret_paramN>;
Operanzi: parametrii sunt expresii care potrivesc tipul parametrilor specificaţi pentru
acea procedură
Valoarea returnată: vezi sintaxa pentru a obţine parametrii returnaţi
Exemple de apelare a unei proceduri:
(*program ST care apelează o procedură*)
(*declararea procedurii în dicţionar*)
(*trigb1: bloc R_TRIG – rising edge detection*)
(*apelarea procedurii din limbajul ST*)
trigb1 (b1);
(*returnează parametrii de acces*)
IF (trigb1.Q) THEN nb_edge := nb_edge + 1;
END_IF;
3.3.4. Operatori booleeni specifici ST.
Următorii operatori booleeni sunt specifici limbajului ST:
- REDGE: rising edge detection;
- FEDGE: falling edge detection;
Alţi operatori booleeni standard care pot fi folosiţi sunt:
- NOT: negarea booleană;
- AND (&): ŞI logic;
- OR: SAU logic;
- XOR: SAU logic exclusive.

Operatorul « REDGE »
Nume: REDGE
Semnificaţia: evaluează frontul crescător al unei expresii boolene complete
Sintaxa: <edge>:=REDGE(<expr_logica>,<var_booleana>);
Operanzi: primul operand este orice variabilă booleană sau expresie complexă, al doilea
operand este o variabilă booleană internă folosită pentru a reţine ultima stare a expresiei
Valoarea returnată: TRUE atunci când expresia logică de la intrare trece din FALSE,
în TRUE în cadrul a două cicluri automate, FALSE altfel.
Frontul crescător al unei expresii nu poate fi detectat mai mult decât o dată în acelaşi
ciclu de execuţie, folosind operatorul REDGE. Acest operator poate fi folosit pentru a
descrie condiţia ataşată unei tranziţii SFC.

Operatorul « FEDGE »
Nume: FEDGE
Semnificaţia: evaluează frontul descrescător al unei expresii boolene
Sintaxa: <edge>:=FEDGE(<expr_logica>,<var_booleana>);
Operanzi: primul operand este orice variabilă booleană sau expresie complexă, al doilea
operand este o variabilă booleană internă folosită pentru a reţine ultima stare a expresiei
Valoarea returnată: TRUE atunci când expresia logică de la intrare trece din TRUE, în
FALSE în cadrul a două cicluri automate, FALSE altfel.
Frontul descrescător al unei expresii nu poate fi detectat mai mult decât o dată în acelaşi
ciclu de execuţie, folosind operatorul FEDGE. Acest operator poate fi folosit pentru a
descrie condiţia ataşată unei tranziţii SFC.

3.3.5. Instrucţiuni fundamentale în ST


Instrucţiunile fundamentale ale limbajului ST sunt:
atribuirea
instrucţiunea RETURN
instrucţiunea IF-THEN-ELSEIF-ELSE
instrucţiunea CASE
instrucţiunea iterativă WHILE
instrucţiunea iterativă REPEAT
instrucţiunea iterativă FOR
instrucţiunea EXIT

Atribuirea
Nume: :=
Semnificaţia: atribuie o variabilă unei expresii
Sintaxa: <var>:=<expr>;
Operanzi: variabila trebuie să fie internă sau de ieşire variabila şi expresia trebuie să aibă
acelaşi tip.
Expresia poate fi apelată de un subprogram sau o funcţie din biblioteca ISaGRAF.

Instrucţiunea RETURN
Nume: RETURN
Semnificaţia: termină execuţia programului curent
Sintaxa: RETURN;
Operanzi: nici unul
Într-un bloc SFC, instrucţiunea RETURN indică sfârşitul execuţiei unui singur bloc.
Instrucţiunea IF-THEN-ELSIF-ELSE
Nume: IF...THEN...ELSIF...THEN...ELSE...END_IF
Semnificaţia: execută una din două liste de declaraţii ST, selecţia este făcută în
concordanţă cu valoarea expresiei booleene.
Sintaxa: IF <expr_bool> THEN
<instrucţiune>;
<instrucţiune>;
...
ELSIF <expr_bool> THEN
<instrucţiune>;
<instrucţiune>;
...
ELSE
<instrucţiune>;
<instrucţiune>;
...
END_IF;
Instrucţiunile ELSE şi ELSIF sunt opţionale. Dacă instrucţiunea ELSE nu este scrisă, nu
este executată nicio instrucţiune când condiţia este FALSE.

Instrucţiunea CASE
Nume: CASE...OF...ELSE... END_CASE
Semnificaţia: execută una din câteva liste de declaraţii ST,selecţia este făcută în
concordanţă cu o expresie întreagă
Sintaxa: CASE <expr_int> OF
<valoare>: <instrucţiuni>
<valoare>, <valoare>: <instrucţiuni>;
...
ELSE
<instrucţiuni>;
END_CASE;
Valorile CASE trebuie să fie expresii constante întregi. Câteva valori, separate prin
virgule, pot duce la aceeaşi listă de instrucţiuni. Instrucţiunea ELSE este opţională.
Instrucţiunea WHILE
Nume: WHILE ... DO ... END_WHILE
Semnificaţia: structură iterativă pentru un grup de instrucţiuni ST, condiţia “continue”
este evaluată înaintea oricărei iteraţii.
Sintaxa: WHILE <expr_bool> DO
<instrucţiune>;
<instrucţiune>;
....
END_WHILE;

Instrucţiunea REPEAT
Nume: REPEAT ... UNTIL ... END_REPEAT
Semnificaţia: structură iterativă pentru un grup de instrucţiuni ST, condiţia “continue”
este evaluată după orice iteraţie.
Sintaxa: REPEAT
<instrucţiune>;
<instrucţiune>;
....
UNTIL <expr_bool>
END_REPEAT;

Instrucţiunea FOR
Nume: FOR ... TO ... BY ... DO ... END_FOR
Semnificaţia: execută un număr limitat de iteraţii folosind o variabilă index analog
întreagă
Sintaxa: FOR <index> := <mini> TO <maxi> BY <step> DO
<instrucţiune>;
<instrucţiune>;
END_FOR;
Operanzi: index: variabilă analog internă care creşte la fiecare buclă
mini: valoare iniţială pentru index (înaintea primei bucle)
maxi: valoarea maximă permisă pentru index
step: indexul de creştere la fiecare buclă
Instrucţiunea [BY step] este opţională. Dacă nu este specificată, pasul de incrementare
este 1.

Instrucţiunea EXIT
Nume: EXIT
Semnificaţia: ieşirea dintr-o instrucţiune iterativă FOR, WHILE sau REPEAT
Sintaxa: EXIT;
Operanzi: nici unul.

3.3.6. Extensii ale limbajului ST.


Următoarele funcţii sunt extensii ale limbajului ST:
TSTART –TSTOP: controlul printr-o variabilă de tip timer. Instrucţiunile şi
funcţiile următoare sunt disponibile să controleze execuţia programelor fiu SFC. Pot fi
folosite în interiorul blocurilor ACTION() ... END_ACTION; în etapele SFC.
GSTART: începe un program SFC;
GKILL: opreşte un program SFC;
GFREEZE: suspendă un program SFC;
GRST: reporneşte un program SFC suspendat
GSTATUS: obţine starea curentă a programului SFC
Câmpurile următoare pot fi folosite pentru a accesa starea unui pas SFC:
GSnnn.x, valoare booleană care reprezintă starea pasului.
GSnnn.t, timpul trecut de la ultima activarea a pasului nnn este numărul de referinţă al
pasului.
Exemplu: Se consideră un program prog şi alt program care are nevoie de activarea
etapei programului prog.

Instrucţiunea TSTART
Nume: TSTART
Semnificaţia: porneşte incrementarea unei variabile de tip timer, fără a-i reseta valoarea
Sintaxa: TSTART (<var_timp>);
Operanzi: orice variabilă timer inactivă
Valoarea returnată: nici una
Exemplu: Program SFC care foloseşte instrucţiunile TSTART şi TSTOP
În cazul în care b100 este adevarată, diagrama de
timp va fi întotdeauna falsă.

Timerul menţine aceeaşi valoare în


timpul unui ciclu automat.

Instrucţiunea TSTOP
Nume: TSTOP
Semnificaţia: opreşte incrementarea
unei variabile de tip timer, fără a-i
modifica valoarea;
Sintaxa: TSTOP (<var_timp>);
Operanzi: orice variabilă timer activă;
Valoarea returnată: nici una.

Instrucţiunea GSTART
Nume: GSTART
Semnificaţia: porneşte un program fiu SFC punând un jeton în fiecare etapă iniţială
Sintaxa: GSTART (<progr_fiu>);
Operanzi: programul SFC specificat trebuie să fie un fiu al celui în care este scrisă
instrucţiunea;
Valoarea returnată: nici una
Exemplu: Folosirea lui GSTART şi GKILL

Instrucţiunea GKILL
Nume: GKILL
Semnificaţia: opreşte un program fiu SFC prin îndepărtarea jetoanelor existente în
etapele sale;
Sintaxa: GKILL (<prog_fiu>);
Operanzi: programul SFC specificat trebuie să fie un fiu al celui în care este scrisă
instrucţiunea;
Valoarea returnată: nici una.

Instrucţiunea GFREEZE.
Nume: GFREEZE
Semnificaţia: suspendă execuţia unui program SFC fiu; programele suspendate pot fi
repornite prin instrucţiunea GRST
Sintaxa: GFREEZE (<prog_fiu>);
Operanzi: programul SFC specificat trebuie să fie un fiu al celui în care este scrisă
instrucţiunea;
Valoarea returnată: nici una.
Instrucţiunea GRST
Nume: GRST
Semnificaţia: reporneşte un program fiu SFC
suspendat prin instrucţiunea GFREEZE
Sintaxa: GRST (<prog_fiu>);
Operanzi: programul SFC specificat trebuie să fie un
fiu al celui în care este scrisă instrucţiunea;
Valoarea returnată: nici una.

Instrucţiunea GSTATUS.
Nume: GSTATUS
Semnificaţia: returnează starea curentă a unui program SFC;
Sintaxa: <ana_var> := GSTATUS (<prog_fiu>);
Operanzi: programul SFC specificat trebuie să fie un fiu al celui în care este scrisă
instrucţiunea;
Valoarea returnată: 0 = programul este inactiv (oprit);
1 = programul este activ (pornit);
2 = programul este îngheţat.

3.4. Operatori , proceduri şi funcţii standard.


3.4.1. Operatori standard. Exemplele date sunt editate în Structured Text.
Transferul datelor:
atribuirea: alocarea unei variabile în altă variabilă:
<var_0> :=<var_l>
negaţia analogică : alocarea negării unei variabile:
<var_0> :=-<var_l>

Operaţii booleene:
boolean AND: ŞI boolean între două sau mai multe valori:
<var_0> :=<var_1> AND <var_2>
boolean OR: SAU boolean între două sau mai multe valori:
<var_0> :=<var_l> OR <var_2>
boolean Exclusive XOR : SAU exclusiv boolean între două valori de intrare
<var_0> :=<var_1> XOR <var_2>

Operaţii aritmetice:
adunarea a două sau mai multe variabile analogice:
<var_0> :=<var_l> + <var_2>
scăderea a două variabile analogice:
<var_0> :=<var_l> - <var_2>
înmulţirea a două sau mai multe variabile analogice:
<var_0> :=<var_l> * <var_2>
împărţirea a două variabile analogice:
<var_0> :=<var_l> / <var_2>
Operaţii logice:
AND_MASK: ŞI bit cu bit
<rezultat> := AND_MASK <(16#abc,16#f0f)>
(*rezultatul este 16#a0c*)
OR_MASK: SAU bit cu bit
<rezultat> := OR_MASK <(16#abc,16#f0f)>
(*rezultatul este 16#fbf*)
XOR_MASK: SAU EXCLUSIV bit cu bit
<rezultat> := XOR_MASK <(16#012,16#011)>
(*rezultatul este 16#003*)
NOT_MASK: NEGAŢIE bit cu bit
<rezultat> := NOT_MASK <(16#1234)>
(*rezultatul este 16#FFFF_EDCB*)

Comparaţii:
mai mic: se testează dacă o valoare este mai mică decât alta (analog, de tip timer
sau mesaj)
<rezultat> := <(‘z’ < ’B’)>
(*rezultatul este fals*)
mai mic sau egal: se testează dacă o valoare este mai mică sau egală decât alta
(analog sau mesaj)
<rezultat> := <(10 <= 25)>
(*rezultatul este adevărat*)
mai mare: se testează dacă o valoare este mai mare decât alta (analog, de tip
timer sau mesaj)
<rezultat> := <(‘ab’ > ‘a’)>
(*rezultatul este adevărat*)
mai mare sau egal: se testează dacă o valoare este mai mare sau egală decât alta
(analog sau mesaj)
<rezultat> := <(10 >= 25)>
(*rezultatul este fals*)
egal: testeaza dacă o valoare este egală cu alta (analog sau mesaj)
<rezultat> := <(10 = 25)>
(*rezultatul este fals*)
diferit : testează dacă o valoare este diferită de alta (analog sau mesaj)
<rezultat> := <(‘ab’ <> ‘ab’)>
(*rezultatul este fals*)

Conversia datelor:
BOO: converteşte orice variabilă în valoare de tip Boolean:
<rezultat1> := BOO <(10)> ;
(*rezultatul1 este adevărat*)
<rezultat2> := BOO <(t#0s)> ;
(*rezultatul2 este fals*)
ANA: converteşte orice variabilă în valoare de tip întreg:
<rezultat1> := ANA <(true)> ;
(*rezultatul1 este 1*)
<rezultat2> := ANA <(t#1s46ms)> ;
(*rezultatul2 este 1046*)
REAL: converteşte orice variabilă în valoare de tip real:
<rezultat1> := REAL <(true)> ;
(*rezultatul1 este 1.00*)
<rezultat2> := REAL <(198)> ;
(*rezultatul2 este 198.0*)
TMR: converteşte orice variabilă analogică într-o valoare de tip timer:
<rezultat> := TIMER <(1234)> ;
(*rezultatul este t#1s234ms*)
MSG: converteşte orice variabilă într-o valoare de tip mesaj:
<rezultat> := MSG <(true)> ;
(*rezultatul este ‘TRUE’*)

Altele:
CAT: concatenarea mai multor mesaje într-unul singur:
<numelemeu> := <(‘Dl’ + ‘’)+’Sorin’> ;
(* numelemeu := ‘Dl Sorin’ *)
SYSTEM: accesul la parametrii sistemului;
OPERATE: accesul la canalele I/O.

3.4.2. Proceduri standard.


Procedurile standard suportate de sistemul ISaGRAF sunt predefinite şi nu trebuiesc
declarate într-o bibliotecă.

Proceduri pentru variabile booleene sunt :


SR: Set dominant bistable - setare bistabil ;
RS: Reset dominant bistable - resetare bistabil;
R_Trig: Rising edge detection - detectare front crescător a unei variabile
booleene;
F_Trig: Falling edge detection - detectare front descrescător a unei variabile
booleene;
SEMA: Semaphore – semafor.

Proceduri de număratoare sunt :


CTU: Up counter - numără crescător de la 0 la o valoare dată, 1 câte 1
CTD: Down counter - numără descrescător de la o valoare dată la 0, 1 câte 1
CTUD: Up-down counter - număra reversibil, de la 0 la o valoare dată sau de la
o valoare dată la 0.

Proceduri de contorizare sunt :


TON: On-delay timing - incrementează un timer intern până la o anumită
valoare, de la detectarea frontului crescător al semnalului declanşator până la detectarea
frontului descrescător;
TOF: Off-delay timing - incrementează un timer intern până la o anumită
valoare, de la detectarea frontului descrescător al semnalului declanşator până la
detectarea frontului crescător;
TP: Pulse timing - incrementează un timer intern până la o anumită valoare de la
detectarea frontului crescător al semnalului declanşator un interval de timp determinat.

Proceduri pentru valori întregi sunt :


CMP: Full comparison function block - compară două valori şi transmite dacă
sunt egale, sau dacă prima este mai mică sau mai mare decât a doua;
StackInt: Stack of integer analogs - gestionează o stivă de întregi

Proceduri pentru valori reale sunt :


AVERAGE: Running average over N samples - memorează o valoare la fiecare
ciclu automat şi calculează valoarea medie a tuturor valorilor memorate; doar ultimele N
valori sunt memorate
HYSTER: Boolean hysteresis on defference of reals - histerizisul unei valori
reale oferindu-se ca intrare limita superioară;
LIM_ALRM: High/low limit alarm with hysteresis - histerezisul unei valori
reale oferindu-se ca intrare atât limita superioară cât şi cea inferioară
INTEGRAL: Integration over time - integrarea unei variabile reale în timp
DERIVATE: Differentiation according to time - derivarea unei variabile reale
în timp.

Proceduri pentru generarea semnalelor sunt :


BLINK: Blinking boolean signal - generarea unui semnal boolean în pulsuri
SIG_GEN: Signal generator - generarea unei varietaţi de semnale: boolean
pulsatoriu, incremental, sinusoidal

3.4.3. Funcţii standard.


Funcţiile standard suportate de sistemul ISaGRAF sunt predefinite şi nu trebuiesc
declarate într-o bibliotecă.

Funcţiile matematice sunt :


ABS: Absolute value - returnează valoarea absolută (pozitivă) a valorii reale;
EXPT: Exponent - returnează rezultatul real al operaţiei (bazaexponent) ‘baza’
fiind primul argument şi ‘exponent’ al doilea;
LOG: Logarithm - calculează logaritmul (baza 10) a unei valori reale;
POW: Power calculation - returneaza rezultatul real al operatiei (bazaexponent)
‘baza’ fiind primul argument si ‘exponent’ al doilea; exponentul este o valoare reală;
SQRT: Square root - calculează rădăcina pătrată a unei valori reale;
TRUNC: Truncate decimal part - trunchează o valoare reală pentru a avea doar
partea întreagă.

Funcţiile trigonometrice sunt :


ACOS: Arc cosine - Calculează arccosinusul unei valori reale;
ASIN: Arc sine - Calculează arcsinusul unei valori reale;
ATAN: Arc tangent - Calculează arctangenta unei valori reale;
COS: Cosine - Calculează cosinusul unei valori reale;
SIN: Sine - Calculează sinusul unei valori reale;
TAN: Tangent - Calculează tangenta unei valori reale.

Funcţii de control a şirurilor de biţi sunt :


ROL: Rotate Left - Rotirea la stânga a biţilor unui întreg; rotirea se face
pe 32 de biţi;
ROR: Rotate Right - Rotirea la dreapta a biţilor unui întreg; rotirea se face
pe 32 de biţi;
SHL: Shift Left - Deplasarea la stânga a biţilor unui întreg; deplasarea este făcută
pe 32 de biti;
SHR: Shift Right - Deplasarea la dreapta a biţilor unui întreg; deplasarea este
făcută pe 32 de biţi

Funcţiile de control a datelor sunt :


MIN: Minimum - Calculează minimul dintre două valori întregi;
MAX: Maximum - Calculează maximul dintre două valori întregi;
LIMIT: Limit - Limitează valoarea unei variabile într-un interval precizat;
MOD: Modulo - Calculează modulul unei valori întregi;
MUX4, MUX8: Multiplexer (4 or 8 entries) - Multiplexor cu 4 sau 8 intrări;
selectează o valoare între 4 sau 8 valori întregi;
ODD: Odd parity - Testează paritatea unui întreg: rezultatul este par sau impar;
RAND: Random value - Generează o valoare întreagă aleatoare într-un interval
dat;
SEL: Binary selector - Selectează o valoare dintre două valori întregi.

Funcţiile de conversie a datelor sunt :


ASCII: Character – ASCII code - Generează codul ASCII al unui character;
CHAR: ASCII code – Character - Generează un caracter pornind de la codul
ASCII dat ca parametru.

Funcţiile pentru şiruri de caractere sunt :


DELETE: Delete sub-string - Şterge subşir de caractere;
FIND: Find sub-string - Găseşte un subşir într-un şir; oferă poziţia în şir a
subşirului
INSERT: Insert string - Introduce un subşir într-un şir începând cu o anumită
poziţie dată;
LEFT: Extract left of a string - Extrage un număr specificat de caractere din
partea stângă a unui şir de caractere;
MID: Extract middle of a string - Extrage un număr specificat de caractere
dintr-un şir pornind de la o poziţie specificată;
MLEN: Get string length - Calculează lungimea unui şir de caractere
REPLACE: Replace sub-string - Înlocuieşte o parte a unui şir de caractere cu
un nou set de caractere;
RIGHT: Extract right of a string - Extrage un număr specificat de caractere din
partea dreaptă a unui şir de caractere;
DAY_TIME: Time of day - Întoarce data/ timpul ca un şir de caractere.

Funcţiile pentru vectori sunt :


ARCREATE: Create array of integer values - Creează un vector de valori
întregi;
ARREAD: Read array element - Citeşte un element dintr-un vector de valori
întregi;
ARWRITE: Write array element - Scrie o valoare într-un vector de valori
întregi.

Funcţiile pentru gestionarea fişierelor binare sunt :


F_ROPEN: Open a binary file in Read mode - Deschide un fişier binar în
modul citire; se va folosi FX_READ şi F_CLOSE; această funcţie nu este inclusă în
simulatorul ISaGRAF;
F_WOPEN: Open a binary file in Write mode - Deschide un fişier binar în
modul scriere; se va folosi FX_WRITE şi F_CLOSE ; această funcţie nu este inclusă în
simulatorul ISaGRAF;
F_CLOSE: Close a binary file - Închide un fişier binar deschis cu funcţiile
F_ROPEN sau F_WOPEN; această funcţie nu este inclusă în simulatorul ISaGRAF
F_EOF: Test the end of a binary file - Testează dacă s-a ajuns la sfârşitul
fişierului;
FA_READ: Read an analog value in a binary file - Citeşte variabile analogice
dintr-un fişier binar; folosit cu F_ROPEN şi F_CLOSE;
FA_WRITE: Write an analog value to a binary file - Scrie variabile analogice
într-un fişier binar; folosit cu F_WOPEN şi F_CLOSE;
FM_READ: Read a message string in a binary file - Citeşte variabile mesaj
dintr-un fişier binary;
FM_WRITE: Write a message string to a binary - Scrie variabile mesaj într-un
fişier binary.

3.5. Variabile şi constante în ISaGRAF.


3.5.1. Domeniile variabilelor.
Variabilele pot fi de tip LOCAL sau GLOBAL. Variabilele locale pot fi folosite doar de
un program. Variabilele globale pot fi folosite de orice program al aplicaţiei curente.
Numele variabilelor trebuie să respecte următoarele reguli:
numele nu trebuie să depăsească 16 caractere;
primul caracter trebuie să fie o literă;
următoarele caractere pot fi litere, numere sau caracterul underscore.
O variabilă este identificată prin nume, comentariu, atribut, adresă şi alte câmpuri
specifice.

Tipurile de atribute ale variabilelor sunt :


Boolean înseamnă logic. Astfel de variabile pot lua una dintre cele două valori booleene:
TRUE sau FALSE. Variabilele booleene se folosesc de obicei în expresii booleene.
Variabilele booleene pot avea unul dintre următoarele atribute:
INTERNAL: variabilă din memoria internă modificată de program;
CONSTANT: variabilă din memorie cu atributul read only şi cu o valoare
iniţială;
INPUT: variabilă conectată la un dispozitiv de intrare;
OUTPUT: variabilă conectată la un dispozitiv de ieşire.
Variabilele de tip timer sunt întotdeauna variabile interne.
Variabilele Input şi Output fac parte din domeniul Global. Pentru I/O digitale se
asociaza o variabilă booleană iar pentru I/O analogice se asociază întotdeauna o variabilă
analogică integer. Variabilele care nu reprezintă semnale I/O trebuie declarate cu tipul
intern.

3.5.2. Principalele tipuri de variabile.


Orice constantă, expresie sau variabilă folosită într-un program (scris în orice limbaj)
trebuie să fie caracterizată de un anumit tip. Coerenţa trebuie să fie apoi urmată în
operaţiile grafice şi în instrucţiunile literale. Principalele tipuri de variabile disponibile
pentru programe sunt :
--- BOOLEAN: valori binare de tipul true/ false;
--- ANALOG: valori întregi (integer) sau reale (real);
--- TIMER: valori de tip timer,
--- MESSAGE: şiruri de caractere.

3.5.3. Expresii constante.


Expresiile constante sunt raportate de tipul de variabilă. Aceeaşi notaţie nu poate fi
folosită pentru a reprezenta expresiile constante ale diferitelor tipuri.

Constante de tip boolean:


TRUE: este echivalentul numărului întreg 1;
FALSE: este echivalentul numărului întreg 0.

Constante de tip integer:


Constantele de tip întreg sunt reprezentate pe 32 de biţi, având valorile cuprinse între
-2^32 şi 2^32. Pot fi exprimate şi în alte baze de numeraţie şi trebuie să înceapă cu un
prefix care să identifice baza folosită.

Constante analogice de tip real:


Constantele analogice reale pot fi scrise fie printr-o reprezentare zecimală, fie printr-o
reprezentare ştiinţifică. Punctul zecimal este folosit pentru a diferenţia o constantă reală
de una de tip întreg. Reprezentarea ştiinţifică foloseşte literele ‘E’ şi ‘F’ pentru a separa
mantisa de exponent. Partea exponenţială a unei expresii ştiinţifice reale trebuie să fie o
valoare întreagă cu semn între -37 şi +37. Mai jos sunt prezentate cateva exemple de
constante reale:
3.14159;
+1.0;
-1.0E+12
Numarul 123 nu reprezintă o constantă reală, reprezentarea lui corectă este 123.0

Constante de tip timer:


Constantele de tip timer sunt valori cuprinse între 0 şi 23h59m59s999ms. Cea mai mică
unitate permisă este milisecunda. Unităţile de timp standard folosite în expresii de tip
timer sunt:
HOUR: litera h trebuie să fie urmată de oră;
MINUTE: litera m trebuie să fie urmată de numărul de minute;
SECOND: litera s trebuie să fie urmată de numărul de secunde;
MILLISECOND: literele ms trebuie să fie urmate de numărul de milisecunde.
O constantă de tip timer trebuie să înceapă cu prefixul ‘T#’ sau ‘time#’. Unele unităţi pot
să nu apară. Exemple:
T#1H450MS - 1 oră, 450 milisecunde;
time#1H3M - 1 oră, 3 minute.

Capitolul 4. DESCRIEREA MEDIULUI DE


PROGRAMARE INDRALOGIC
Mediul de programare IndraLogic reprezintă o soluţie completă atât pentru programarea
unui automat programabil cât şi pentru a realiza interfaţa grafică cu utilizatorul pentru
automatele de tip Bosch-Rexroth seria IndraControl. El se bazează pe mediul numit
CoDeSys, versiunea 2.3, service pack 2, creat de firma Smart Software Solutions (3S),
dar are în plus câteva funcţii specifice pentru acest tip de automate.

4.1. Structura unui proiect IndraLogic.


Un proiect IndraLogic este un fişier al cărui nume corespunde cu cel al proiectului şi în
care se regăsesc atât configuraţiile stabilite de programator cât şi programele ce vor fi
executate în automat. Proiectul este împărţit în patru zone de interes, după cum se poate
vedea şi în fig. 4.1:
- programele ce vor rula pe automat;
- structurile de date complexe declarate de programator;
- vizualizările;
- resursele implicate.
4.1.1. Conceptul POU.
POU sau Program Organization Unit se regăseşte în prima zonă de interes a unui proiect
IndraLogic şi reprezintă o funcţie, un bloc funcţional sau un program. Fiecare POU este
constituit dintr-o zonă de declaraţii şi un corp. Acest corp poate fi scris într-unul din
limbajele de programare conform IEC care include IL (Instruction List), ST (Structure
Text), SFC (Sequential Flow Chart), FBD (Function Block Diagram) sau LD (Ladder
Diagram). O funcţie este un POU a cărui ieşire este un singur element de date (care poate
fi format din mai multe elemente sau structuri). Funcţiile nu au elemente de stare internă,
astfel că fiecare apel al unei funcţii cu un anumit argument va avea acelaşi rezultat. La
declararea unei funcţii trebuie să se hotărască tipul de date returnat. Un bloc funcţional
este un POU a cărui rezultat poate fi diferit chiar dacă argumentul de intrare este acelaşi
dar, spre deosebire de o funcţie, blocul nu returnează o valoare. El poate avea mai multe
instanţe (copii) ce au comportament particular în funcţie de starea lor internă. Fiecare
dintre instanţe are identificatorul propriu (numele instanţei), şi o structură de date ce
conţine intrările, ieşirile, şi variabilele interne. Instanţele se declară local sau global ca
variabile unde numele blocului este identificatorul. Un program este un POU ce poate
returna mai multe valori în timpul rulării. Programele sunt recunoscute global în proiect.
Toate valorile se reţin de la ultima rulare până la următoarea rulare. Programele nu pot fi
apelate de către o funcţie, şi nu pot exista mai multe instanţe ale aceluiaşi program.
Dacă un POU a apelat un program, valorile interne ale acestuia modificându-se, acele
valori sunt reţinute şi folosite la următoarea rulare chiar dacă programul este apelat şi de
un alt POU.
Important în această categorie este programul denumit PLC_PRG. El este un program
special predefinit, fiind apelat exact o singură dată pe ciclu de automat. Prima dată când
se iniţiază un nou proiect, se va deschide o fereastră de configurare a acestui program.

4.1.2. Conceptul Data types.


Data types este cea de-a doua zonă de interes într-un proiect IndraLogic, şi reprezintă pe
lângă tipurile de date standard predefinite şi pe cele definite specific de programator. Se
pot crea aici structuri, enumeraţii şi referinţe.

4.1.3. Conceptul Visualization.


IndraLogic oferă posibilitatea de a face şi o interfaţa om-maşină.
Aici se pot trasa obiecte geometrice, tabele de variabile şi alte elemente de desenare în
mod offline. Online, elementele desenate îşi modifică proprietăţile astfel încât să
corespundă stărilor din automatul programabil.

4.1.4. Resursele Implicate.


Această zonă permite programatorului să configureze şi să organizeze proiectul pentru a
urmări valorile anumitor variabile în modul online:
Global Variables – declararea variabilelor globale ce pot fi folosite în întreg
proiectul şi pentru variabile de reţea;
Library manager – permite adăugarea sau excluderea unor librării de funcţii,
structuri de date, etc.;
Log – este un sistem de arhivare a acţiunilor pe parcursul unei sesiuni online;
PLC Configuration – este un instrument pentru configurarea elementelor
hardware ale automatului (carduri de intrare, ieşire, comunicaţie etc.);
Task Configuration – permite organizarea programelor în taskuri ce se vor
executa pe automat;
Watch and Recipe Manager – utilizat la vizualizarea anumitor variabile şi
setarea valorilor implicite ale unor variabile;
Target system settings – se foloseşte pentru a selecta şi configura automatul şi
proprietăţile acestuia pe care va rula proiectul, iar în funcţie de această alegere mai pot
apărea şi resurse suplimentare cum ar fi:
Sampling Trace – pentru realizarea statisticilor valorilor variabilelor în timp;
Parameter Manager – este folosit la schimbul de date cu alte controlere în
reţele;
PLC Browser – este un monitor al controllerului;
Tools – a cărui apariţie depinde de automatul ales, dând posibilitatea de a chema
instrumente externe mediului IndraLogic.

4.2. Tipuri de date în IndraLogic.

4.2.1. Tipuri de date predefinite


Variabile de tip Bool – tipul de variabilă booleană poate lua doar două valori
TRUE sau FALSE.
Variabile de tip Integer. Acest tip de variabilă se foloseşte pentru a memora
numere întregi cu semn sau fără semn. Ele sunt împărţite în următoarele categorii:
BYTE – număr întreg fără semn codificat pe opt biţi de date;
WORD – număr întreg fără semn codificat pe şaisprezece biţi de date;
DWORD – număr întreg fără semn codificat pe treizeci şi doi de biţi de date;
SINT – număr întreg codificat pe opt biţi de date cu semn cu valori între (-128,
127);
USINT – număr întreg codificat pe opt biţi de date fără semn cu valori între (0,
255);
INT – număr întreg codificat pe şaisprezece biţi de date cu semn cu valori între (-
32768, 32767);
UINT – număr întreg codificat pe şaisprezece biţi de date fără semn cu valori
între (0 , 65535);
DINT – număr întreg codificat pe treizeci şi doi de biţi de date cu semn cu valori
între (-2147483648, 2147483647);
UDINT – număr întreg codificat pe treizeci şi doi de biţi de date fără semn cu
valori între (0, 4294967295).
Variabile de tip Real. Acest tip de variabilă se foloseşte pentru reprezentarea
numerelor în formatul virgulă mobilă (numere reale) şi sunt de două tipuri:
REAL – numere reale codificate pe treizeci şi doi de biţi de date;
LREAL – numere reale codificate pe şaizeci şi patru de biţi de date.
Variabile de tip String. Sunt tipul de variabile în care se poate memora un şir de
caractere. Numărul de caractere, cunoscut drept lungimea acestora se poate seta la
declarare, iar dacă acesta nu este definit, implicit se acordă 80 de caractere lungime.
Variabile de tip Time. Acest tip de variabile este folosit pentru reţinerea
momentelor de timp. Are rezoluţie de milisecundă iar intervalul de valori este (0,
49d17h2m47s295ms). Tipurile de tip Time sunt:
TIME
TIME_OF_DAY(TOD)
DATE
DATE_AND_TIME
Ultimele două tipuri de date sunt tratate intern ca DWORD, timpul fiind redat în
secunde, şi nu în milisecunde.

4.2.2. Tipuri de date definite de utilizator.


 Variabile de tip Array. Aceste variabile sunt folosite pentru declararea vectorilor
şi a matricilor. Se pot defini câmpuri de date cu până la trei dimensiuni de orice tip de
date, predefinite sau definite de utilizator.
 Variabile de tip Struct. Acest tip de date reprezintă structuri pe care
programatorul le poate implementa, structuri ce pot conţine toate tipurile de date şi la
rândul lor pot fi grupate în array-uri.
 Variabile de tip Pointer. Sunt variabile ce pot indica un pointer către orice tip de
date sau bloc funcţional chiar şi pe cele definite de utilizator. Acest tip de date se
foloseşte în conjuncţie cu funcţia ADR pentru a asigna valoarea dorită.
 Variabile de tip Enumeration. Cu ajutorul lor se dă posibilitatea utilizatorului să
creeze un număr de string-uri constante ce vor fi considerate valori ale enumerării.
Important este faptul că acelaşi string constant nu poate fi folosit în două enumerări.

4.2.3. Variabile globale.


Variabilele globale sunt variabilele ce pot fi accesate din orice program şi chiar pot fi
modificate de către utilizatori din reţeaua unde se află automatul. La ele au acces toate
resursele de pe automat, spre deosebire de variabilele locale ale blocurilor funcţionale sau
programelor, la care nu au acces decât cei care le-au creat. În aceste variabile globale pot
fi definite orice tip de date predefinit sau definit de utilizator, care se pot iniţializa cu o
valoare tipică, vezi fig. 4.2. Dacă nu este iniţializată, atunci variabila este implicit 0
pentru date numerice sau caracterul vid în cazul şirurilor de caractere.

4.3. Diferenţe importante IndraLogic – ISaGRAF.


Între cele două medii de programare sunt foarte multe asemănări dar şi unele diferenţe
majore care trebuie analizate.
Prima dintre diferenţe şi cea mai importantă este structura unui proiect IndraLogic. Dacă
în structura proiectului ISaGRAF există 4 secţiuni în care pot rula programele, aici nu
mai este valabilă această împărţire.
Toate programele au aceeaşi prioritate la execuţie, depinzând numai de setările impuse de
utilizator prin configurarea task-urilor.
O altă diferenţă importantă este structura unei etape IndraLogic. Aceasta are anumite
proprietăţi foarte bine definite şi, spre deosebire de ISaGRAF, utilizatorului nu îi este dat
accesul la timpul în care o etapă este activă sau nu. În schimb, prin meniul de proprietăţi
se pot seta parametrii de timp ai unei etape (timpul minim sau maxim cât automatul
rămâne în etapa respectivă), opţiuni de
inserare a unei etape+tranziţie,
paralelism sau divergenţă, proprietăţi
vizuale ale etapei (înălţime, lăţime,
comentarii) şi cele legate de acţiunile
asociate etapei.
Spre deosebire de proprietăţile
acţiunilor din ISaGRAF, acţiunile din
IndraLogic sunt de trei tipuri:
Entry Action – se execută o singură
dată la intrare într-o etapă;
Action – se execută pe tot parcursul
etapei la fiecare ciclu;
Exit Action – se execută o singura
dată la ieşirea din etapă.
Fiecare din aceste tipuri de acţiuni are propriul ei ecran de editare, pentru prima şi ultima
fiind activate dacă se apasă dublu-click pe colţurile de jos ale etapei iar tipul Action prin
dublu-click în interiorul chenarului etapei, aşa cum se poate vedea în fig. 4.3.

4.4. Blocuri funcţionale.


R_TRIG. Acest bloc funcţional face detecţia trecerii unei variabile booleene de la un
nivel low la un nivel high sau de la false la true. Această variabilă poate fi o intrare
digitală sau orice altă variabilă booleană existentă. Ieşirea acestui bloc va rămâne false
atât timp cât intrarea în acest bloc este false. Imediat ce intrarea acestui bloc devine true,
şi ieşirea lui va avea aceeaşi valoare pentru un ciclu automat, după care devine false, până
când la intrare se va detecta încă o trecere din false în true.
Exemplu de utilizare în limbajul Ladder se poate observa în fig. 4.4.

Iar în limbaj ST:


Rise(CLK:=VARIAB_INPUT);
IOUTPUT:=Rise.Q;
F_TRIG. Acest bloc funcţional este analogul lui R_TRIG doar că în loc să detecteze
tranziţia de la false la true el detectează trecerea de la true la false. Exemplul de utilizare
în limbajul ladder este prezentat în fig.4.5.

CTU. Acest bloc funcţional numără impulsurile de la intrare, incrementând o valoare de


la care se porneşte această numărare. Blocul funcţional are drept intrări booleene: CU
(variabila pe al cărui front crescător se doreşte numărarea, incrementarea valorii
counterului făcându-se cu o singură unitate la un puls), RESET (variabilă care
reiniţializează counterul cu valoarea 0), intrare de tip integer PV (reprezintă valoarea cu
care se compară numărul de pulsuri incrementate), şi două ieşiri: Q(variabila de ieşire
booleană care devine true când valoarea din counter este egală sau depăşeşte valoarea
PV) şi CV (valoarea actuală a counterului).
Exemplul de utilizare în limbaj Ladder este cel din fig. 4.6.
CTD. Acest bloc funcţional decrementează o valoare cu o unitate la fiecare puls, tranziţie
de la false la true a variabilei de la intrarea sa. El are drept intrări booleene: CD (variabilă
pe al cărui front descrescător se decrementează valoarea din counter), LOAD (pe frontul
crescător al acestei variabile se va face încărcarea counterului cu o valoare prestabilită),
intrare de tip integer PV (valoarea cu care se doreşte iniţializarea counterului), ieşirea
booleana Q (va fi adevarată atât timp cât valoarea counterului este 0) şi ieşirea de tip
integer CV (valoarea actuală a counterului).
Exemplul de utilizare în limbaj Ladder este cel din figura 4.7.

CTDU. Acest bloc funcţional este o combinaţie între cele două, adică prezintă ambele
funcţii de numărare incrementală şi decrementală, precum şi cele de reset şi load. Ieşirile
lui digitale sunt aceleaşi ca la cele două blocuri prezentate mai sus şi de aceea nu se va
arăta decât un exemplu
de utilizare în limbajul Ladder Diagram, în fig. 4.8.

TON. Timer On Delay are drept scop întârzierea cu un anumit timp a unui semnal digital
boolean. El are drept intrări: IN – aici se conectează variabila a cărei schimbare din false
în true se doreşte a fi întârziată, PT – o variabilă de tip TIME sau o constantă în formatul
TIME care spune cât timp se doreşte a fi întârziat semnalul, iar ca ieşiri are Q – variabila
care va deveni true după trecerea timpului PT, precum şi ET – cea care dă valoarea
timpului actual al timerului.
Modul de funcţionare presupune că atât timp cât intrarea IN este false, ieşirea Q să
rămână false. Imediat ce IN devine true, atunci timpul din timer, ET va începe să crească
de ordinul milisecundelor, până când valoarea sa atinge ceea ce utilizatorul a specificat în
PT, după care va rămâne constant. Dacă intrarea IN devine false, timerul se
reiniţializează. Ieşirea Q devine true numai dacă IN este true şi ET este egal cu PT, altfel
este false.
Exemplul de utilizare este cel din fig. 4.9.

Graficul ce explică funcţionarea acestui bloc este cel din fig. 4.10.

TOF. Timer Off Delay are o funcţionalitate


asemănătoare. Are aceleaşi intrari şi ieşiri
dar face o întârziere a frontului descrescător
alvariabilei de la intrare.
Modul de funcţionare presupune că atât timp
cât intrarea este true ieşirea Q să rămână
true. Imediat ce IN devine false, timpul din
timer ET va începe să crească de ordinul
milisecundelor până când valoarea sa atinge
ceea ce utilizatorul a specificat în PT, după
care va rămâne constant. Dacă intrarea IN
devine true, timerul se reiniţializează.
Ieşirea Q devine false numai dacă IN este false şi ET este egal cu PT, altfel este true.
Exemplul de utilizare este prezentat în fig. 4.11.

Graficul ce explică funcţionarea acestui bloc este cel din fig. 4.12.

4.5. Problematica Timpului în


IndraLogic.
Măsurarea timpului în mediul de programare
IndraLogic necesită o abordare diferită de cea
din ISaGRAF. Dacă se doreşte ca automatul
să aştepte un timp într-o etapa înainte de a efectua tranziţia la etapa următoare,
utilizatorul nu are acces la variabila de timp locală, care măsoară durata cât automatul se
află în acea stare, şi de aceea trebuie găsite alte soluţii. Prima soluţie provine chiar din
proprietăţile unei etape. Printre aceste proprietăţi utilizatorul poate stabili timpul minim
cât automatul trebuie să stea în etapa respectivă. Pentru aceasta se urmează paşii de mai
jos:
se creează etapa dorită, dacă aceasta nu există deja;
condiţia de ieşire din etapa respectivă trebuie să fie adevărată;
se selectează etapa respectivă şi se apăsa butonul din dreapta al mouse-ului;
se selectează de aici “Step Attributes”;
se completează cu valoarea de timp dorită în formatul Time şi se apasă “OK”.
Acest procedeu a fost ilustrat în fig. 4.13 şi 4.14.

Dacă se doreşte ca automatul să stea într-o etapă un interval de timp variabil, atunci se
foloseşte o altă metodă care se bazează pe proprietăţile acţiunilor din IndraLogic. După
cum a fost menţionat mai sus, sunt trei tipuri de acţiuni: cele care se execută la intrarea
într-o etapă, cele care se execută la fiecare ciclu atât timp cât automatul se află în acea
etapă şi cele care se execută la ieşirea dintr-o etapă. În plus trebuie să se folosească o
funcţie predefinită a mediului de programare şi anume funcţia TIME(). Această funcţie
returnează în milisecunde timpul care a trecut de când automatul a fost pornit sub forma
unei variabile de tip TIME.
Modul de folosire este următorul: variabila1:=TIME().
Metoda propusă presupune memorarea momentului de timp în care se intră în etapa
respectivă (în engleza “time stamp”) şi apoi citirea periodică a funcţiei TIME(), până
când diferenţa între cele două momente de timp este egală sau mai mare cu intervalul de
timp. Paşii care trebuiesc urmaţi sunt:
se crează etapa dorită dacă aceasta nu există deja;
se selectează etapa respectivă şi se apasă butonul din dreapta al mouse-ului;
se alege de acolo “Add Entry Action” în limbajul ST;
se declară o variabilă de timp în care se va memora “time stamp”- ul de intrare
folosind funcţia TIME();
se apasă dublu click pe etapa respectivă pentru a se putea introduce acţiunile
dorite a se efectua la fiecare ciclu;
se declară o variabilă de timp în care se va memora “time stamp”-ul curent
folosind funcţia TIME();
condiţia de ieşire din etapa este: “time-stamp” curent – “timestamp”de intrare
>= variabila de timp.
Exemplul simplificat de configurare se poate observa în fig. 4.15 şi 4.16.

4.6. Taskuri şi configurarea acestora.


Task-ul este definit de un nume, o prioritate şi de un tip ce determină satisfacerea cărei
condiţii va porni acel task. Aceste condiţii pot fi definite de un moment de timp (ciclic,
“freewheeling”), sau un eveniment intern sau extern, de exemplu frontul crescător al unei
variabile globale sau o întrerupere în automatul programabil.
Pentru fiecare task se poate specifica o serie de programe ce vor fi pornite de task. Dacă
taskul este executat în ciclul prezent, atunci aceste programe vor fi procesate pe întreaga
lungime a unui ciclu. Ordinea în care se executa taskurile va fi determinată de
combinaţia, de prioritatea şi condiţiile de începere.
Editorul pentru configurarea taskurilor se poate găsi în categoria “Resources”, “Task
Configuration”. Odată deschis editorul, se pot defini taskurile şi proprietăţile acestora.
Programele construite nu vor fi executateîn “run-time” până când nu au fost apelate într-
un task.
Pentru a putea înţelege mai uşor paşii de configurare a unui program, s-a ales următorul
exemplu. Se defineşte un program numit Test şi apoi se va configura un task pentru
acesta.
La crearea unui noi proiect, primul pas este cel de a crea programul. În acest caz s-a optat
pentru limbajul SFC, vezi fig. 4.17.

Apoi se merge la editorul de taskuri aşa cum s-a precizat mai sus.
După care se trece la adăugarea unui nou task prin apăsarea butonului din dreapta al
mouse-ului când pointerul acestuia se află deasupra pictogramei “Task configuration” şi
alegându-se opţiunea “Append task” (vezi fig. 4.18.). Acestui task creat i se poate
modifica numele iar în dreapta ferestrei de editare se pot găsi opţiunile pe care
programatorul le are pentru acel task. În mod implicit acesta este un task ciclic fără o
durată predefinită, cu prioritate 1 (a doua prioritate) vezi fig. 4.19.

După ce acest task a fost creat, i se poate adăuga o apelare a unui program prin apăsarea
butonului din dreapta a mouse-ului, când pointer-ul acestuia se afla în dreptul
pictogramei cu numele task-ului definit, prin alegerea opţiunii “Append Program Call”
sau “Insert Program Call” dacă mouse-ul s-a aflat în dreptul pictogramei cu programul
ales (vezi fig. 4.20).

Odată definit, unui program call trebuie să i se configureze care din programele existente
în proiect va fi apelat de acesta. Pentru aceasta se foloseşte butonul special “...” care va
deschide fereastra denumită “Input Assistant”, ce permite alegerea din lista de programe
a celui care se doreşte a fi chemat, aşa cum rezultă din fig. 4.21.
Odată apelat, programul este executat conform proprietăţilor definite pentru task. Un task
poate apela mai multe programe prin repetarea paşilor de mai sus, iar ele vor fi executate
în ordinea apelării lor de acest task ca în fig. 4.22.

4.7. Conceptul de vizualizare.


Vizualizarea IndraLogic este o reprezentare grafică a variabilelor proiectului care oferă
posibilitatea introducerii de date în automatul programabil în timp real cu ajutorul mouse-
ului sau a tastaturii. Editorul de vizualizări, care este o parte integrantă a mediului de
programare, permite utilizarea unor elemente grafice care pot fi configurate astfel încât să
fie conectate la variabilele proiectului prin intermediul unui dialog corespunzător unui
singur element al unei vizualizări. Parametrii de bază pot fi setaţi prin activarea unor
opţiuni, iar prin introducerea variabilelor procesului se poate obţine parametrizarea
dinamică.
Elementele posibile ale unei vizualizări se regăsesc în bara din meniul mediului de
programare, putând fi inserate diferite forme geometrice, poze în format „bitmap”, fişiere
„metafile”, butoane şi chiar alte vizualizări existente. Formele geometrice ce pot fi
introduse sunt: dreptunghiuri, dreptunghiuri cu colturi rotunjite, elipse/cercuri şi
poligoane. Un exemplu de vizualizare este cel din fig. 4.23.
În exemplul de mai sus s-au folosit majoritatea elementelor grafice disponibile în editorul
specializat, s-au introdus şi cele cinci poze în format bitmap ale roboţilor, diferitele stări
de funcţionare fiind accentuate şi prin parametrizarea dinamică a coordonatelor (pentru a
sugera mişcarea) şi a culorilor (pentru a evidenţia stare normală sau anormală de
funcţionare).
Pentru o uşoară înţelegere se va da un exemplu simplu de configurare a unui buton şi a
unui indicator tip led. În prealabil au fost declarate aceste variabile ca fiind globale, şi în
plus s-a creat un program de control în limbajul Ladder care este definit: atât timp cât
butonul este true variabila led este true.
Primul pas pentru a putea realiza o vizualizare este crearea unui asemenea obiect prin
apăsarea butonului din dreapta al mouse-ului când cursorul acestuia se afla în dreptul
pictogramei “Visualization” şi alegerea opţiunii “Add Object”, rezultatul putând fi
văzut în fig. 4.24.
Odată cu denumirea acestui obiect, pe ecran apare şi editorul de ecrane. În bara de sus a
acestuia există posibilitatea de a alege elementele pe care programatorul doreşte să le
insereze în ecran. În exemplul dat se aleg două obiecte: unul de tip “button” şi unul de tip
“circle” (vezi fig. 4.25).

La apăsarea dublu click deasupra unui obiect, se deschide automat meniul de configurare
al acestui tip de element (ca în fig. 4.26).
Dacă se alege opţiunea “Text” se poate introduce textul ce se doreşte a fi afişat pe ecran,
iar prin alegerea opţiunii “Input” se poate configura tipul butonului (cu automenţinere sau
fără), precum şi variabila ce se doreşte a fi manipulată de acest buton. Dacă în câmpul
acesta se începe cu “.” Atunci apare lista variabilelor globale din care se poate alege
denumirea celei dorite, iar la apăsarea butonului “OK” se închide fereastra, butonul fiind
configurat.
Pentru configurarea obiectului de tip “LED” se deschide ca şi anterior meniul de
configurare iar prin alegerea opţiunii “Text” se poate introduce textul ce se doreşte a fi
afişat pe ecran. Se trece apoi la configurarea culorilor pe care acest led trebuie sa le ia în
funcţie de valoarea variabilei booleene, ca în fig. 4.27.

Opţiunile de aici sunt “Inside color” şi anume culoarea pe care o ia în mod implicit
obiectul (dacă variabila de care este legat este false) şi “Alarm color” unde se va
configura cea de-a doua culoare (cea pe care obiectul o să o aibă dacă variabila de care
este legat devine true).
Legarea de variabila dorită se face prin alegerea meniului denumit “Variables” iar la
opţiunea “Change color” se va scrie variabila de care se doreşte a se lega obiectul (vezi
fig. 4.28).

Rezultatul se poate observa în fig. 4.29.


4.8. Configurarea unui proiect
pentru simulare pe calculator.
IndraLogic permite utilizatorilor să îşi
simuleze programele şi modul de execuţie al
acestora pe un sistem automatizat. Se vor lua
etapele de configurare şi creare ale unui
proiect care să înglobeze şi interfaţa dată
caexemplu mai sus.
Mai întâi se creează un nou proiect din meniul
“File”, apelând opţiunea “New”. Se deschide
automat meniul de configurare al automatului
pe care se va dori rularea programului. Dacă
se alege opţiunea “None” atunci mediul de programare intră automat în modul de
simulare (vezi fig.4.30).
După alegerea opţiunii “None”, se trece la configurarea primului program ce va rula pe
automat. Aici sunt mai multe opţiuni iar automatul va denumi în mod implicit primul
program “PLC_PRG” dar numele acestuia poate fi modificat, cu observaţia că el nu va fi
introdus automat în niciun task, aceasta operaţie rămânând la latitudinea programatorului.
Tipul limbajului folosit se alege din acest meniu, apăsând cu mouse-ul în dreptul opţiunii
dorite, în cazul acestui exemplu “LD” pentru limbajul “Ladder Diagram” ca în fig. 4.31.
Automat se va deschide editorul pentru tipul de program dorit, în bara de sus putându-se
introduce elementele dorite.

Configurarea elementelor din diagramă se face prin completarea câmpurilor “???” cu


numele variabilelor dorite ca în fig. 4.33. Dacă acestea au fost declarate anterior, (prin
scrierea acestora în corpul de declaraţii ale programului) se pot alege din lista care apare
la scrierea caracterului “.”.
Dacă nu au fost declarate anterior, se va deschide automat interfaţa de declarare numita
“Declare Variable” (vezi fig. 4.33), unde utilizatorul poate alege:
clasa variabilei: locală (VAR), argument de intrare (VAR_INPUT), argument de
ieşire (VAR_OUTPUT), argument intrare-ieşire (VAR_IN_OUT) sau globală
(VAR_GLOBAL);
numele variabilei;
tipul variabilei; prin apăsarea butonului “...” se poate alege unul din tipurile
definite sau predefinite de variabile;
valoarea iniţială;
adresa: în memoria internă, ieşire a automatului, intrare a automatului;
comentariile făcute de utilizator;
tipul de utilizare (constantă, retain, persistent).
După configurarea variabilelor şi terminarea programului se trece la compilare sau
execuţie (se va face automat şi compilarea). Compilarea se poate alege din meniul
“Project”, opţiunea “Build” doar pentru programul a cărui editare se face la momentul
respectiv, sau opţiunea “Rebuild All” care face compilarea tuturor programelor editate în
proiect. Pentru simulare se alege din meniul “Online” opţiunea “Login” şi apoi “Run”. În
modul online ramura ladder are culoarea albastră când condiţia este îndeplinită iar
valoarea ei este true (vezi fig. 4.34).
4.9. Setări pentru comunicarea cu automatul BOSCHRexroth
IndraControl L40.
Primul pas pentru a se putea lucra cu automatul este cel de a stabili legătura prin interfaţa
Ethernet. Acest lucru se face prin fixarea manuală a IP-ului pe unitatea centrală folosind
tastele de navigare.
Folosind tasta ENTER de pe automat (vezi fig. 4.35.) se
poate intra în meniul de configurare. Prima opţiune din
acest meniu este cel pentru configurarea interfeţei
Ethernet. Apăsând încă o dată tasta ENTER se intră în
submeniul ce permite fixarea adresei IP, Subnet Mask şi
Gateway.
Navigarea între aceste opţiuni enumerate se poate face cu
ajutorul tastelor „▼” şi „▲”. Dacă se doreşte revenirea la meniul anterior aceasta se
poate face prin apăsarea tastei ESC. Odată ce s-a ales opţiunea dorită pentru configurare
prin apăsarea tastei ENTER se intră în meniul ce permite configurarea adreselor dorite în
grupe de câte trei cifre. O adresă are forma AAA.BBB.CCC.DDD şi prin apăsarea tastei
ENTER se poate naviga între cele patru grupe de cifre, numărul respectiv se poate
modifica, tasta „▼” decrementând valoarea, iar „▲” incrementând acea valoare. După
configurarea celor patru grupe automatul cere confirmarea adresei prin afişarea textului
“OK ?”. Dacă se apasă ENTER modificările efectuate sunt memorate, daca se apasă ESC
atunci toate modificările sunt ignorate.
Al doilea pas este configurarea mediului de programare IndraLogic.
Acest lucru se face din meniul „Online” opţiunea „Communication Parameters”. Întâi se
configurează gateway-ul apăsând butonul cu acelaşi nume, utilizatorul putând alege de
aici tipul conexiunii (local sau TCP/IP) ca în fig. 4.36.
După ce s-a configurat Gateway-ul, trebuie realizată o nouă conexiune. Aceasta se
realizează prin apăsarea butonului „New”. Aici se selectează opţiunea ”TCP/IP (level 2
route)” se confirmă cu OK şi apoi se modifică câmpul ”Address” cu adresa IP a
automatului ca în fig. 4.37.

SFÂRŞIT.

Revizuit la 25.06. si 18.07 2014 B.Siro.

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