Sunteți pe pagina 1din 329

Cap.7.

- Despre automate programabile


(PLC).
7.1.- O primă introducere (Partea I-a).
7.1.1.- De ce “programabile” ?
Sistemele de conducere sunt, de regulă, cu stări finite şi pot fi realizate cu ajutorul unei
logici cablate sau cu ajutorul unei logici programate. 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ă ;
orice modificare a funcţiei, realizate de sistemul de conducere, necesită în acelaşi
timp modificări de hardware.
O sinteză complet diferită şi deosebită a sistemelor de conducere cu 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
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.
Diagrama logică pentru proiectarea sistemului de conducere ar putea fi ca cea din figura
7.1.
Fig.7.1.- Digrama logică pentru proiectarea unui sistem de conducere în varianta cablată şi programată.

Deci în cazul cel mai general trebuie îmbinată logica cablată cu logica programată,
realizând o anumită pondere convenabilă a celor două variante.
7.1.2.- Încă un fel de introducere.
Sistemele automate de control a proceselor formează la ora actuală un conglomerat de
dispozitive electronice,  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, dar pentru că reprezintă un rezultat rapid al progresului tehnologic, cele mai
complexe operaţii au fost rezolvate prin conectarea în sistem 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, va
trebui 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 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.
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 parametri de intrare).
În sistemele automate, PLC-urile sunt partea centrală a
sistemului de control sau a automatizării.
Prin executarea programului înregistrat în memorie, 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 Pentru a comanda mai multe procese simultan este posibil
unui PLC Omron-CPM1A. să conectăm 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-
Fig.7.3.- Unlogic
modelcomplex.
de schemă cu mai

7.1.3.- Cum arătau panourile clasice. 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 şi modului de operare.
Deci, deranjamentele survenite în instalaţiei 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ă conduce ş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.
Fig.7.4.- Un exemplu de panou Într-un cuvânt, panourile de automatizare convenţionale
de automatizare cu logica cablată. 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!
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 lung.
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%;
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;
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
Fig.7.5.- Aspectul unui panou cu doreşte realizarea unor funcţii complexe;
automat programabi (PLC). 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
care 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, 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
industrie, în perioada anilor ’60, ’70. Flexibilitatea 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.
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 vechi 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.Totul a fost bine până la punerea în aplicare a 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ă electricieni 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.
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 urma 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 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, 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, care să nu fie controlat de un automat programabil!
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 dispunea, 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
Fig.7.6.- Exemplul modalităţii aprinderii
luminii într-un loc de muncă.
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.

Fig.7.7.- Schema de principiu, pentru aprinderea luminii, cu ajutorul unui automat programabil.

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 automatului programabil, unitatea principală de procesare (CPU), elemente
constructive pentru semnalele de intrare şi ieşire (I/O), ceea ce ar putea fi reprezentat
ca în figura 7.8.

Fig.7.8.- Vederea exterioră (o variantă) a unui automat programabil, cu componenetele sale principale.
Aceasta este o variantă contructivă modulară, adică formată din mai multe module, ce
se pot conecta/deconecta prin rack destul de simplu. Dacă se deconectează toate modulele
şi se păstrează doar sursa de alimentare (de c.c. şi de c.a) cu rack, atunci contructiv
automatul apare ca în figura 7.9.

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


programabil.
Elementul principal al unui automat programabil este CPU, care se montează, de regulă,

Fig.7.10.- Forma constructivă (o variantă) a modulului CPU de la un automat programabil.


în slotul de lângă sursă, aşa cum se arată în figura 7.10.
Sistemul I/O permite realizarea unei interconexiuni fizice între diversele echipamente
exterioare automatului (senzori şi elementele de execuţie) şi PLC. Imaginea unui rack, cu
PUC-ul montat, respectiv montarea unui modul I/O este dată în figura 7.11.

Fig.7.11.- Vederea exterioară (pentru o variantă constructivă de PLC) în care se arată montarea unui
modul de I/O al automatului 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, care 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.
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. 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.
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 catre majoritatea firmelor), console (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 microcontrolere pe 16 sau 32 de biţi. În automate programa-
bile de marcă, cum ar fi Siemens, Hitachi şi Fujitsu, o să regăsiţi diferite tipuri de
microcontrolere produse de
diferite firme, cum ar fi
Motorola. Modulul de
comunicaţie este ataşată la unul
din porturile microcontro-
lerului. Automatele programa-
bile au 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

Fig.7.13.- Schema bloc cu evidenţierea componentelor unui


automat programabil.
sau stări de funcţionare PLC-urile sunt dotate cu indicatori optici (diode luminiscente sau
leduri).
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.- Programarea automatelor programabile.
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, 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 ajuta 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 ac, iar unele
automate programabile se alimentează printr-un modul separat. PLC-urile cu sursă de
alimentare separată sunt automate programabile mari. Pentru a determinarea 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 să obţineţi un senzor, de
exemplu, aţi putea 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 “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ă, care 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 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 mode 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
microcontrolerului ş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ă

Fig.7.14.- Imaginea de ansamblu a automatului


programabil Omron CPM1A.
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 divide vertical în două
părţi: o parte cu un convertor 230/24 Vdc ş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.

Fig.7.15.- Vederea cu conectorul


RS232 (interfaţa serială).
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. Prin existenţa la ieşirile automatului 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.

Fig.7.16.- O porţiune din schema internă a PLC-ului


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

Fig.7.17.- O exemplificare cum unui port de ieşire al PLC-ului îi corespunde un anume şir binar.
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.

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 Fig.7.18.- O modalitate de alimentare
a intrărilor PLC Omron CPM1A.
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 aratată în figura 7.18.
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” (schema de
relee), ceea ce nu este altceva decât
Fig.7.19.- Scanarea ciclică a PLC-ului. 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
(figura 7.20). Linia din partea stângă se numeşte
Fig.7.20.- Elementele de bază ale program- “bus bar” iar linia orizontală este linia de
mării în “ladder diagram”. instrucţiuni. Pe linia de instrucţiuni se dispun
elementele logice ale programului (contacte
normal-inchise, normal-deschise, porti logice, contactoare, etc). Combinănd mai multe
condiţii sau elemente logice pe linie, se poate determina care instructiune urmează să se
execute şi în final care anume element de ieşire îl poate comanda.
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 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). Condiţia poate simula
practic un comutator. Când comutatorul este închis, releul
este acţionat şi invers. Dacă utilizăm un comutator fără
automenţinere, când vom apasa prima oară comutatorul,
Fig.7.21.- Condiţia şi instruc-
ţiunea în cadrul unei “ladder releul va fi acţionat, iar când vom apasa a doua oară
diagram”. comutatorul, releul va reveni în poziţia iniţială.
Acesta este doar un exemplu simplu. Se poate foarte bine
implementa un sistem de alarmă intr-o locuinta. De exemplu, 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 in
“ON” iar ieşirea aferentă va capăta aceea stare. Se poate astfel acţiona un circuit sonor de
alarmare.
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
Fig.7.23.- Schema de conexiuni pe baza trebuie să răspundă la mai multe întrebări şi să
aplicaţiei realizate cu PLC-ul Omron. tragă concluzia corespunzătoare :
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. 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 Windows sau Linux, într-un rack ce poate acepta
module comune de I/O.
NOTĂ. Supliment la subcapitolul introductiv.
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
Fig.7.24.- Un cuplor recomandate prin standardul RS-574.
DB-9. Standardele.
Asociaţia industriei electronice (EIA) dezvoltă standardele privitoare la transmiterea
datelor. Standardele EIA au prefixul „RS”, ceea ce înseamnă 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-
485) DIN Measuring Bus
HLDC)

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.

Î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 ?

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


7.2.1.- Câteva aspecte de reamintit.
Un AP (Automat Programabil) este un dispozitiv apărut pentru a înlocui releele şi
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.
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 de intrare sunt implementate cu relee sau tranzistori.
Module de ieşire : conţin unul sau mai multe circuile 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ă 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ş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 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ştri 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ă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ă perioadele 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.
Î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.- O reamintire despre 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, 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. În funcţie de starea intrărilor si de
logica programului, schimbă configuraţ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 de
mai sus.
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 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
programabil.

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


testează intrările doar in porţiunea corespunză-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 7.29). O
rutină poate fi privită ca un mini-program în afara
Fig. 7.29.- Extinderea programului principal. După ce a terminat execuţia
impulsului prin între- rutinei de întrerupere, se întoarce în punctul în care se
rupere.
oprise şi continuă normal procesul de scanare.
7.2.3.- O anumită logică realizată cu ajutorul
releelor.
Releul electromagnetic este format dintr-un solenoid (vezi figura 7.30) care, atunci când
este alimentat cu 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 relee), 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ă relele 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
NI – normal închise.
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 închiderea întrerupătorului
din circuitul bobinei releului, iar în cazul releului
Fig.7.31.- Prezentarea unor simboluri electronic (cu optotriac din figura 7.32) comanda
de contacte şi butoane
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).
Fig.7.32.- Schema unui releu electronic cu Ţinând seamă de această convenţie, cu
optotriac. 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.- Unele detalii despre PLC.
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 PLC 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 are implementate:
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).
O altă funcţie, este funcţia de comunicare a controlerului PLC, 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 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.
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. 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,
- după ce E1 a terminat de transferat datele trimite către E2, apare o cerere pentru
eliberarea conexiunii (disconnect request),
- E2 trimite o confirmare (disconnect confirmation) şi legătura este eliberată,
canalul de comunicaţie putând fi utilizat de alte echipamente.

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, 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 (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 (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 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. 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.
Elaborarea programului pentru controler se face pe un calculator oarecare utilizând:
scheme de conexiuni (leadder 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
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.
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, ci au introdus
suplimentar posibilitatea programării pe baza specificaţiilor standardului menţionat.
Această facilitate este indicată prin compatibilitatea echipamentului cu standardul (IEC
1131 compliant).
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).
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

Î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 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 aşa !) 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 (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.- Execuţia programului controlerului.
Programul controlerului se execută secvenţial spre deosebire de circuitele cu relee
unde 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,
 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, se poate ca acesta 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 (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 (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 sistem (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, î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
altele la nivelul ierarhic următor).
Dar, orice controler PLC, indiferent de producător, are următoarele componente (vezi
figura 7.41):
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ă de 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 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. Spre exemplu, domeniile : -10V,...,+10V; 0,...,10V; 0,..., 100mV; 2,...,10mA;
4,...,20mA, trebuie convertite la domeniul acceptat de CAN, adică la domeniul 0,...,5V.
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 prin intermediul
unui adaptor, cu funcţia de a converti semnalul digital furnizat de CPU în semnal
compatibil cu elementul de execuţie, care va fi conectat la respectiva ieşire.
Există elemente de execuţie cărora PLC le furnizează un curent, ceea ce înseamnă că
elementul de execuţie se conectează între borna de ieşire a PLC şi masă (sourcing
output).
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
Semnalele analogice de comandă (de la ieşirile PLC) se obţin prin convertirea semnalului
digital într-un semnal analogic cu ajutorul unui circuit electronic numit CNA convertor
numeric – analogic.
7.2.6.- Elementele primare de programare a PLC.
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, care standard datorită diferitelor revizuiri este cunoscut şi sub numele IEC 61131.
Standardul respectiv nu se referă numai la programarea PLC, 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ă 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 şi 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.
Configuraţia se referă la controlerul de care dispune sistemul proiectat, specificând
elementele hardware ce vor fi utilizate, modalitatea şi punctele de conectare a 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 comunică, între ele, prin intermediul variabilelor de acces (vezi mai jos).
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 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 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 :
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 resursă sunt variabile globale şi permit comunicaţia
numai între programe aflate în cadrul resursei respective.
Comunicaţia între programe, în cadrul aceleiaşi configuraţii şi resurse diferite, este pre-
zentată în figura 7.48.

Fig. 7.48

Comunicaţia între programe aflate în configuraţii diferite prin funcţii bloc este prezentată
î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 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.- 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 În
nume
In
Out

In FB Out

Nume bobină
In Out

b)
Fig. 7.50
continuare se vor face doar câteva precizări privind câteva tipuri de limbaje (urmând ca
toate detalierile să se facă î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

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) b)
Fig. 7.57
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.
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ă.
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

TOF
F
IN
Q
R
TS
TP

a) b)
Fig. 7.60
TP.
Î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-
TP diţionat ieşirea 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 descrescător), vezi figura 7.62, care prezintă un
TP numărător CTU (CounT Up) .
Intrarea PV este pentru iniţializarea
numărătorului. Se precizează limita până la care
vor fi numărate impulsurile, după care ieşirea
Fig. 7.61 devine activă.
Intrarea R este pentru resetarea numărătorului, acesta reluând 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 CTU blocuri funcţionale.
Se menţionează faptul că numărătoarele
şi temporizatoarele se încadrează în
categoria CU blocurilor funcţionale. Fiecare
QU
producător de controlere îşi realizează o
bibliotecă R proprie de funcţii şi funcţii bloc, ce
pot fi CV apelate de programele utilizator.
Pentru desenarea schemelor cu contacte
(Ladder PV Diagram) se folosesc editoare puse
la dispoziţie, de obicei, de către firmele
producătoare de echipamente PLC.
Fig. 7.62
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.

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.
În prima bibliografie 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 cunoasterea 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.- Comentari 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.- Care sunt detaliile principale pentru DATE şi VARIABILE din programele PLC ?
9.- Elementele generale ale unor limbaje de programare pentru PLC.
10.- Să se prezinte elementele principale pentru limbajul LD : liniile de conectare, contactele, bobinele,
temporizatoarele, numărătoarele.

SUPLIMENT 1.
În cadrul documentaţiilor parcurse s-au găsit de mai multe ori menţionarea despre PicoSoft,
un soft ce se pune gratuit la dispoziţie de Allen Bradley, pentru programarea şi testare PLC-
urilor de acest tip.
În figura următoare apare pagina extrasa de pe internet (cu adresa corespunzătoare), care
arată cum se poate downloada PicoSoft-ul :
Pachetul PicoSoft-ului, denumit „dniinstl” este de 2.428 kB şi prin desfăşurare pune la
dispoziţie iconul (scurtătura), prin click-area căruia apare fereastra de lucru, ca în figura
următoare (pe fondul desktop-ului unui calculator; pe partea stânga jos, se poate observa şi
iconul pentru PicoSoft 6) :
Fereastra de lucru are desfăşurat „?” ce cuprinde o serie de help-uri : Help Topics, User
Interface, Visit Beginner’s Course, ce permit o bună instruire a sistemului de lucru cu
fereastra respectivă, mai ales dacă help-urile respective se printează sub forma de
documentaţie scrisă, existentă la indemâna utilizatorului pe masa sa.

SUPLIMENT 2.
Rockwell Automation, Allen-Bradley (dar şi Schneider Electric), consideră că
varianta PLC este deja o etapă mai veche, iar cea mai nouă este Programmable
Automation Controllers (PAC), prezentând seturile sale de variante, în forma celor
următoare :

PROGRAMMABLE CONTROLLERS
Solutions that Set the Industry Standard
Allen-Bradley control solutions set the standard — from the Programmable
Logic Controller (PLC) invented nearly 30 years ago to the more recent
technology embodied in the rugged, scalable, highly-functional Programmable
Automation Controller (PAC). The reason? You move forward with our control
solutions while protecting the control investment you made in the past. We
offer multiple types of controllers to fit your specific needs:

Programmable Automation Controllers


 Merge PC-based and PLC architecture
 Provide multidiscipline automation (i.e., process, discrete, motion, drive
and batch) within a single hardware and software platform
 Provide scalability and application portability within an open, modular
architecture

Programmable Logic Controllers


Implement specific functions such as:
 I/O control  timing  report generation  arithmetic

 logic  communication  data file  counting


manipulation

Safety Programmable Controllers


Monitor and maintain the safety function for industrial automation equipment
even in the event of fault(s) in the safety-related parts of the machine control
system.
PAC Versus PLC
Consider a PAC versus a PLC if your application requires:
 advanced control algorithms
 extensive database manipulation
 HMI functionality in one platform
 integrated custom control routines

 complex process simulation


 very fast CPU processing
 memory requirements that exceed PLC
specifications

Desfăşurarea celor 3 variante (grupate sub o singură denumire


“Programmable Controllers”), în perioada noiembrie 2010, era
organizată de Allen Bradley ca în figura alăturată :
Tot în acceeaşi perioadă Allen Bradley propunea o literatură
foarte bogată (pdf) cu diverse subiecte, după cum urmează :

Title                             Cat. No(s). Pub. Type                Pub. No.                       Language      Date             Info      PDF        


Application
Alfe Heat Treating
  Profile/Customer LOGIX-AP003A-EN-P  English  July 2001 279KB
Application Solution 
Success Story
Application
APP SOLUTIONS
  Profile/Customer 6723-1.3 English  July 1996 1667KB
ROSBORO LUMBER 
Success Story
APPLICATION GUIDE February
DAG6.5.8 User Manual AG-UM008C-EN-P  English  9907KB
SCADA SYSTEM  2005

ARC Brief - OEM    White Paper OEM-WP001A-EN-P  English  August 2003 284KB
ControlLogix Family October
1756 Brochure/Magazine 1756-1.3-NOV99 English  4167KB
Brochure  1999
Converting PLC-5 or SLC
500 Logic to Logix5550 November
1756-L55 Reference Manual 1756-RM085B-EN-P  English  1501KB
Logic Reference 2001
Manual 
1756-L1,1756-
L1M1,1756-
L1M2,1756-
L1M3,1756-
L55,1756-
L55M12,1756-
L55M13,1756-
L55M14,1756-
L55M16,1756-
L55M22,1756-
L55M23,1756-
Create Tag Descriptions
L55M24,1756-
Automatically with
L61,1756- White Paper LOGIX-WP004A-EN-P  English  March 2004 1159KB
User-Defined Data
L62,1756-
Types 
L63,1769-
L20,1769-
L30,1769-
L31,1769-
L32,1769-
L35C,1769-
L35E,1789-
L60,1794-
L33,1794-
L34,PowerFlex
700S
1747-BA,
1754-BAT,
1755-BAT,
1756-BA1,
1756-BA2,
1756-BATA,
1756-BATM,
Guidelines for Handling
1757-PLXBAT,
Lithium Batteries Technical Data AG-5.4-AUG09 English  August 2009 362KB
1763-BA,
Technical Data 
1769-BA,
1770-XO,
1770-XR,
1770-XY,
1770-XYB,
1770-XYC,
1770-XZ
Import/Export Project 1756-L61, Programming Manual 1756-PM019C-EN-P  English  March 2010
Components  1756-L62, 5141KB
1756-L63,
1756-L64,
1756-L65,
1756-L61S,
1756-L62S,
1756-L63S,
1756-LSP,
1756-L63XT,
1768-L43,
1768-L45,
1768-L43S,
1768-L45S,
1769-L23-
QBFC1B,
1769-L23E-
QB1B, 1769-
L23E-QBFC1B,
1769-L31,
1769-L32E,
1769-L35E,
1769-L32C,
1769-L35CR,
1789-L10,
1789-L30,
1789-L60, 20D
DriveLogix,
20D-DL2-
ENET0, 20D-
DL2-LEB0,
20D-DL2-
CKE1, 20D-
DL2-CKS1
1756-L1,
1756-L1M1,
1756-L1M2,
1756-L1M3,
1756-L53,
1756-L55,
1756-L55M12,
1756-L55M13,
1756-L55M14,
1756-L55M16,
Logix Error Codes for 1756-L55M22,
October
PLC and SLC Messages, 1756-L55M23, Quick Reference 1756-QR108A-EN-E  English  289KB
2002
R10.x and Later  1756-L55M24,
1756-L63,
1769-L20,
1769-L30,
1789-L60,
1794-L33,
1794-L34,
PowerFlex
700S,
PowerFlex
700SE
September
Logix White Paper    White Paper LOGIX-WP001A-EN-P  English  1818KB
2000
MicroLogix Press
Clutch/Brake Product   Profile MACS-PP002A-EN-P  English  August 2000 641KB
Profile 
Pro-Set 200 / RSView November
6500 User Manual 6500-UM001B-EN-P  English  2395KB
Design Manual  2002
PROD DATA FOR PRO- February
  Technical Data 6500-2.9 English  193KB
SET 200  1998
1756-L1,1756-
Programming Messages Application
L1M1,1756-
In a ControlLogix Profile/Customer 1756-AP002A-US-E English  March 2000 385KB
L1M2,1756-
System  Success Story
L1M3
Reuse Ladder Code
Investment With Partial
  White Paper LOGIX-WP005A-EN-P  English  March 2004 424KB
Import/Export White
Paper 
RSLogix 5000 Add-on
9324 RSLogix February
Instructions Capability Profile 9324-PP004A-EN-P  English  269KB
5000 V16 2007
Profile 
RSLogix 5000
Programming Software November
9324 White Paper 9324-WP001A-EN-P  English  800KB
Support for Multiple 2001
Revisions of Controllers 
RSLogix 5000 Start
9324 RSLogix November
Pages Capability Profile IASIMP-PP001A-EN-P  English  269KB
5000 2006
Profile 
1756, 1769,
Select a Controller 1794, 1761,
Quick Reference 1756-QR103B-EN-E  English  January 2005 293KB
Quick Reference  1762, 1764,
1747, 1785

Supliment 3.
În cele următoare se prezintă sub forma sintetică (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. RECOMAND mai ales cap.10 pentru
programare în LD, respectiv cap.9 pentru Reţele industriale.

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 );
–el