Documente Academic
Documente Profesional
Documente Cultură
Fig.7.1.- Digrama logică pentru proiectarea unui sistem de conducere în varianta cablată şi programată.
ambele cerinţe, se pot îmbina ambele variante ale logicilor de conducere, adică se poate
merge pe ideea sistemelor mixte, ce folosesc logica cablată, respectiv logica
programată. De aceea proiectarea unui astfel de sistem de conducere poate respecta o
diagramă de lucru împărţită în două părţi specifice, dar îmbinate între ele : o componentă
a proiectului ce se referă la domeniul sistemului cu logica cablată, respectiv o
componentă a proiectului ce se referă la domeniul sitemului cu logica programată.
Aceasta presupune însă o foarte bună cunoaştere a procesului tehnologic, în cadrul
căruia urmează să fie implementate sistemul de conducere respectiv.
În această idee, diagrama logică pentru proiectarea sistemului de conducere ar putea fi ca
cea din figura 7.1.
În principiu deci, în cazul cel mai general, trebuie îmbinată logica cablată cu logica
programată, realizând o anumită pondere convenabilă a celor două variante una în
raport cu cealaltă.
Se poate remarca că în acest prim paragraf, se vorbeşte despre nişte principii generale (ce
nu au fost prezentate în nici unul din capitolele precedente) privind însăşi modalitatea de
execuţie (proiectare) a instalaţiilor de acţionre electrică, fără de care nu se poate realiza o
abordare ulterioară (tipuri de scheme, varainte de pornire, frânare, etc,etc).
7.1.2.- Încă un fel de introducere.
Sistemele automate de control ale proceselor tehnologice, care includ acţionările
electrice, formează la ora actuală un conglomerat de dispozitive electronice şi sisteme
de automatizare, care conferă stabilitate, acurateţe şi performanţă. Sistemele de operare
pot avea diverse forme de implementare pornind de la surse de alimentare şi până la
maşini electrice, dar pentru că reprezintă un rezultat rapid al progresului tehnologic, cele
mai complexe operaţii au fost rezolvate prin conectarea în sistemul respectiv a unor
automate programabile şi unităţi centrale de proces. Aceste automate programabile
(PLC - Programabille Logic Controller), aşa cum le vom denumi în continuare, pe
lângă conexiunile cu instrumentele de măsură şi senzorii din procesul de automatizare,
trebuie să permită comanda intregului proces şi ceea ce este şi important, să comunice
operatorului stările procesului, prin semnale vizuale şi sunet, şi/sau eventual legare la un
computer, printr-o reţea de comunicaţie corespunzătoare. Aceste caracteristici permit
exploatarea automatizării tehnologice la un înalt grad de flexibilitate, prin schimbarea şi
monitorizarea mult mai comodă a parametrilor de bază a procesului.
În figura 7.2 se dă vederea exterioară a unui automat programabil tip Omron-CPM1A (este un tip
mai vechi).Fiecare componentă din sistemul de control al
procesului joacă un anumit rol, în concordanţă cu
importanţa sa. Spre exemplu, fără niciun senzor, PLC-urile
nu ar putea ştii modul de variaţie în timp a parametrilor
principali ai procesului (consideraţi ca parametri de
intrare). De aceea, în sistemele automate, PLC-urile sunt
partea centrală a sistemului de control sau al automatizării.
Prin executarea programului înregistrat în memorie sa,
PLC-ul monitorizează în mod continuu stările sistemului
prin recepţia semnalelor de la dispozitivele de intrare
(senzori). Pe baza logici implementată în program, PLC-
ul determină ce acţiune trebuie executată pentru a comanda
un anumit instrument din cadrul procesului.
Fig.7.2.- Vederea exterioară a
unui PLC Omron-CPM1A.
Pentru a comanda mai multe procese simultan, este posibil să se conecteze mai multe
PLC-uri la o unitate centrală (un calculator); un astfel de sistem este prezentat în figura
7.3.
Fig.7.3.- Un model de schemă cu mai multe nivele de conducere în cadrul unui proces tehno-
logic mai complex.
Din figura anterioară se pot remarca deja mai multe „nivele de lucru” ale automatelor
programabile (principale/secundare), respectiv ale acţionărilor electrice, a liniilor de
comunicaţie „pe nivele” (eventual, între computerile şi PLC-urile locale) şi între nivele
până la computerul central.
Cam aşa se prezintă, în principiu, acţionările electrice şi automatizările corespunzătoare :
adică, nu prea se pot trasa graniţe precise între acţionarea electrică propriu zisă, partea
electronică (de putere/de comandă), respectiv automatizarea necesară, impusă de
condiţiile tehnologice în cadrul caruia se implementează
întregul ansamblu.
Acestea reprezintă, de fapt, variante de sisteme de
acţionare moderne.
7.1.3.- Cum arătau tablourile clasice de acţionare. La
începutul revoluţiei industriale, în special în perioada
anilor ’60-’70 (secolul trecut !), erau folosite mai ales
releele electromagnetice la automatizarea proceselor sau
a panourilor de automatizare, lucru ce necesita o densitate
de cabluri foarte mare pentru interconectarea releelor. În
anumite cazuri panoul de automatizare acoperea un perete
întreg. Descoperirea unei erorii în sistemul de
automatizare necesita foarte mult timp, cu atât mai mult
cu cât creştea şi complexitatea instalaţiei de automatizare.
În topul cauzelor defectării sistemului de automatizăre era
(şi acum este) releul electromagnetic, cu o durată de
viaţă limitată datorată construcţiei sale şi modului de
Fig.7.4.- Un exemplu de panou
de automatizare cu logica cablată.
operare. Deci, deranjamentele survenite în instalaţie erau
cu preponderenţă cauzate de fiabilitatea scăzută a releelor din panoul de automatizare,
fapt ce se încheia prin înlocuirea frecventă a acestora, ori această înlocuirea frecventă
conducea şi la oprirea producţiei. Întreţinerea era costisitoare, suprasolicitând şi cei mai
buni electricieni-depanatori în depistarea şi înlăturarea defectului. De regulă, un panou de
automatizare era folosit pentru conducerea unui singur proces şi nu putea fi adaptat
pentru cerinţele noilor tehnologii de lucru. Într-un cuvânt, panourile de automatizare
convenţionale se dovedeau inflexibile, deoarece îmbunătăţirea parametrilor de lucru ai
sistemului de automatizare, se realiza prin schimbarea topologiei de funcţionare a
panoului şi chiar a unor piese componente (lucru de altfel costisitor). Un exemplu tipic de
panou de automatizare convenţional apărea ca în figura 7.4. În figura 7.4 se poate observa
un număr destul de mare de cabluri şi conductoare electrice, relee (de timp, intermediare,
etc,…) şi alte elemente dintr-un panou de automatizare din perioada respectivă
(semnalizări optice şi acustice, eventual unele aparate de măsură). Totuşi panoul de
automatizare din figura 7.4 nu este foarte complex, aşa cum sunt sau au fost unele
panouri convenţionale în perioada respectivă, dar se poate imagina, destul de uşor, cum
arăta unul mult mai complex! Însuşi autorul acestor rânduri, şi-a început ucenicia prin
anii 1955 pe acea logica cablată, cu zeci de tablouri de genul celor din figura 7.4 (unele
specializate numai pentru semnalizări sau măsură), cu numeroase canale cu rastele pentru
cabluri, canale departajate pentru cabluri de comandă (cabluri începând cu trei fire, până
la 32 de fire), respectiv cabluri de fortă (de J.T. şi I.T.), fiecare etichetat (de unde pleacă
şi unde ajunge, tipul cablului şi secţiunea!), iar toate acestea erau şi foarte costisitoare.
Cele mai importante dezavantaje ale panourilor de automatizare convenţionale
sunt:
manopera costisitoare pentru interconectarea elementelor de automatizare cu
ajutorul conductoarelor;
dificultăţi în schimbarea sau înlocuirea componentelor;
dificultăţi în găsirea erorilor – necesită forţă de muncă cu experienţă vastă şi
calificată;
atunci când survine o problemă, timpul pentru remediere nu se poate stabili cu
exactitate, acesta fiind în majoritatea cazurilor un timp mai îndelungat.
7.1.4.- Cum arată panourile cu automate
programabile. Odată cu adoptarea automatului
programabil, s-au schimbat foarte multe în
proiectarea sistemelor de control automat. Au
apărut mai multe avantaje. Spre exemplu, în
figura 7.5 este prezentat un panou modern de
automatizare cu automat programabil (PLC).
Avantajele panourilor de automatizare cu
automate programabile se pot prezenta în căteva
subpuncte:
în comparaţie cu un panou de automatizare
classic, numărul necesar de conductoare este
redus cu 80%;
Fig.7.5.- Aspectul unui panou cu
automat programabi (PLC). consumul energetic este foarte mult redus,
deoarece PLC-ul consumă mult mai puţin decât
releele din panoul de automatizare convenţional;
funcţia de detectare a erorilor din automatul programabil este foarte rapidă şi
foarte uşor de utilizat şi de realizat;
schimbarea secvenţelor de operare din cadrul aplicaţiei este diferită de la proces,
la proces, şi poate fi realizată foarte uşor, înlocuind sau modificând programul scris în
automatul programabil cu ajutorul unui PC (aceasta acţiune nu necesită schimbarea
conductoarelor sau recablarea panoului de automatizare, aşa cum se întâmpla la panourile
de automatizare clasice, ci se rezumă eventual doar la o altă interconectare a
dispozitivelor necesare, la intrările şi/sau ieşirile PLC-ului);
panourile de automatizare cu PLC necesită câteva piese de schimb;
este mult mai ieftin în comparaţie cu un sistem de automatizare clasic, deoarece
fiind dotat cu un număr larg de intrări/ieşiri, se poate conecta un număr mare de
periferice, atunci când se doreşte realizarea unor funcţii complexe;
repunerea în funcţie a unui PLC se face mult mai repede şi mai uşor decât a
oricărui releu electromecanic sau de timp.
Există totuşi şi unele dezavantaje ale lucrului cu automate programabile, iar dintre
acestea se pot menţiona:
aplicaţii ‘fixe’: unele aplicaţii nu au nevoie de automat programabil datorită
gradului mai mic de complexitate, neexistand astfel necesitatea achiziţionării unui
automat programabil relativ mai sofisticat;
probleme de mediu: în unele medii există temperaturi ridicate sau alte condiţii ce
pot duce la deteriorarea automatelor programabile, astfel ca acestea sunt greu sau chiar
imposibil de utilizat;
funcţionare ‘fixă’: dacă nu apar schimbări în cadrul unui proces tehnologic (sau
nu sunt dese), de multe ori folosirea automatului programabil poate deveni mai
costisitoare.
7.1.5.- Cum s-a ajuns la necesitatea automatelor programabile (un scurt istoric).
Industria a început să recunoască necesitatea îmbunătăţirii şi creşterii productivităţii în domeniul său, în
perioada anilor ’60, ’70. Flexibilitatea tehnologică a devenit de asemenea o preocupare majoră (capacitatea
de a schimba rapid stările procesului şi a remedia deranjamentul a devenit o cerinţă foarte importantă
pentru satisfacerea clientului). Să încercăm să ne imaginăm o linie de producţie automatizată din anii ’60,
’70. Această automatizare conţine un număr destul de mare de cabluri electrice pentru controlul
automatizării şi în multe cazuri, acoperă o suprafaţă mare. Panoul clasic de automatizare conţine un număr
semnificativ de relee electromagnetice, ce realizează munca întregului sistem. Totodată metoda clasică de
cablare a panoului sau panourilor de automatizare implica existenţa un personal de întreţinere şi punere în
funcţie foarte calificat, personal care trebuia să cunoască schema de automatizare şi să interconecteze, cu
ajutorul cablurilor, toate releele şi alte elemente de automatizare. Un inginer trebuia să conceapă logic
schema, iar un electrician, având schema în faţă, trebuia să o implementeze cablând corespunzător releele.
Unele scheme conţineau peste o sută de relee electromagnetice de diferite tipuri. Planul după care se
executa cablarea panoului de automatizare se numea schemă monofilară sau "ladder schematic". În schema
monofilară erau afişate toate componentele: comutatoare, senzori, valve, relee etc, pe care le găsim în
sistemul de automatizare. Jobul electricianul era acela de interconectare a acestor componente. Cea mai
mare problema a acestei scheme de control o reprezentau releele electromagnetice. Însă instrumentele
mecanice sunt cele mai predispuse uzurii datorită părţilor componente în mişcare. Dacă un releu se defecta,
electricianul trebuia să verifice sau să examineze întregul sistem (întregul sistemul trebuia oprit până se
depista şi îndepărta cauza deranjamentului !). Deci, o altă problemă a acestui tip de automatizare era timpul
relativ mare a întreruperii funcţionării sistemului în caz de deranjament. În plus, dacă se dorea schimbarea
ciclurilor de funcţionare a sistemului (chiar şi o schimbare minoră), acest lucru se realiza cu costuri majore
şi pierderi mari de timp până când sistemul era din nou funcţional. Nu este chiar aşa greu de imaginat ce se
poate întâmpla dacă un inginer a făcut câteva greşeli minore pe parcursul realizării proiectului. Este de
asemenea uşor de imaginat, ce se va întâmpla dacă electricianul ar greşi în căteva puncte, cablarea
sistemului de automatizare. La final se poate imagina şi cazul a câtorva componente defecte. După aceea,
ca să aflăm dacă sistemul funcţionează, trebuie să se testeze funcţionarea acestuia. Cum iniţial în proiect au
fost strecurate greşeli, înclusiv de execuţie, cu siguranţa sistemul de automatizare nu va funcţiona. Aşadar,
această soluţie “clasică” de execuţie a sistemelor automate era foarte mult predispusă la conceperea unui lot
de panouri de automatizare cu multe exemplare rebut. Introducerea automatelor programabile a eliminat
din start acest dezavantaj.
General Motors a fost prima companie, care a recunoscut nevoia înlocuirii tehnicii de cablare clasică a
panourilor de automatizare. Înlocuirea vechii tehnologii de cablare a panourilor de automatizare a sporit
competiţia producătorilor de autoturisme prin creşterea productivităţii şi calităţi. Nu numai industria auto a
avut de câştigat de pe urma noii tehnologii. Flexibilitatea, întreţinerea ieftină şi uşoară, dar şi posibilitatea
schimbării rapide a ciclurilor de producţie, a devenit o necesitate crucială în actuală evoluţie a economie de
piaţă. Ideea companiei General Motors a constat în implementarea logicii cablate într-un
microcalculator, logică care a înlocuit tehnica clasică de cablare a releelor. În majoritatea aplicaţiilor,
microcalculatorul are la bază soluţii cu microcontrolere pe 8 sau 16 biţi (dar sunt şi pe 32, respectiv 64 de
biţi), în funcţie de complexitatea sistemului de automatizare. Deci, calculatorul avea să ia locul blocurilor
sau panourilor de automatizare cu numeroase relee. Orice schimbarea a ciclurilor de operare sau de
producţie se poate face foarte uşor modificând programul scris în automatul programabil. Deci, în prezent,
schimbarea schemei de comanda este mult mai comoda. Dar totul a fost bine până la punerea în aplicare a
acestei tehnologiei, când o nouă problemă a apărut şi anume aceea de a-i face pe electricieni să accepte şi
să-şi însuşească funcţionarea sistemului de automatizare cu noile dispozitive. Sistemele sunt de regulă
complexe şi necesită cunoaşterea anumitor tehnici de programare. A fost un mare semn de întrebare dacă
electricienii ar putea să-şi însuşească tehnici de programare pe lângă atribuţiile iniţiale de serviciu. Divizia
Hidromatic de la General Motors a recunoscut necesitatea implementării noii tehnologii şi astfel a pus
bazele primului proiect cu automat programabil (au mai fost câteva companii în lume care au creeat
dispozitive capabile să controleze procese industriale, dar aceste dispozitive electronice erau nişte simple
controlere secvenţiale şi nu PLC-uri aşa cum le cunoaştem noi astăzi). Noile dispozitive trebuiau să aibă
anumite caracteristici: să funcţioneze corect în medii industriale (vibraţii, temperaturii ridicate, praf),
să fie flexibile şi de dimensiuni reduse ca un computer şi să permită reprogramarea acestora daca se
dorea realizarea altor operaţii. Ultimul criteriu şi cel mai important era acela ca noile dispozitive să poată
fi programate şi întreţinute uşor de către electricieni şi tehnicieni existenţi. După ce cerinţele au fost trasate,
General Motors a căutat companii interesate, care pot să proiecteze aceste dispozitive în corelaţie cu
aplicaţiile unde urmau să fie implementate.
Gould Modicon a dezvoltat primul dispozitiv, care respecta aceste specificaţii. Cheia succesului a fost
aceea că pentru programare nu era necesar învăţarea unui anumit limbaj de programare. Programare
se efectua într-un limbaj asemenea schemelor clasice monofilare (ladder diagram), cu particularităţile
proprii. Din acest motiv electricienii şi tehnicienii puteau foarte uşor să înveţe programarea respectivă,
deoarece schema logică trasată în program era foarte asemănătoare cu schema clasică. Iniţial, PLC-urile s-
au numit PC Controllers sau controlere programabile. Această denumire se confunda de multe ori cu
numele de calculator personal (PC). Pentru a elimina această confuzie, denumirea PC a fost atribuită doar
calculatoarelor personale, iar controlerele programabile s-au denumit “programmable logic controllers”
sau simplu: PLC. La început PLC-urile au fost dispozitive simple. La intrările acestora erau conectate
comutatoare, senzorii digitali etc, iar la ieşiri se comanda pornirea şi oprirea funcţionării altor dispozitive.
Când au apărut primele PLC-uri acestea nu erau capabile să controleze procese mai complexe, cum ar fi:
controlul temperaturii, a poziţiei, presiunii, etc. Cu toate acestea, odată cu trecerea anilor, au apărut şi PLC-
uri, care au fost capabile să realizeze aceste funcţii. În prezent, automatele programabile sunt capabile să
controleze procese foarte complexe, inclusiv controlul poziţiei. Modul de realizare şi programare a acestora
a fost mult îmbunătăţit. Au fost concepute module speciale, care ataşate PLC-ului pot lărgi aria de
operabilitate a acestuia. Un exemplu în acest sens este modulul de comunicaţie, care permite
interconectarea mai multor automate programabile. În prezent este foarte greu să ne imaginăm un proces
tehnologic ceva mai complex, care să nu fie controlat de un automat programabil!
Iar toate aceste aspecte fac parte acum din noile concepţii despre acţionările electrice automatizate.
7.1.6.- Cam ce trebuie să facă un automat programabil ?
Să luăm un exemplu foarte simplu : cazul când trebuie să se aprindă lumina într-un
anumit loc de muncă. În figura 7.6 se arată cum se poate realiza aprinderea luminii printr-
o acţiune manuală asupra întrerupătorului de lumină. Numai că se dispune, de exemplu,
ca aprinderea luminii să se producă după un anumit interval de timp, după ce
întrerupătorul de lumină a fost trecut pe „on”. În principiu, acest lucru se poate realiza cu
ajutorul unui scheme ce conţine un automat
programabil, ce poate juca rolul unui „timer”
(desigur, acest lucru se poate obţine mai simplu
cu ajutorul unui releu de timp, ales în mod
convenabil !), iar schema va apare ca în figura
7.7.
Ce recunoaştem în cadrul acestei scheme de
principiu : elementul (elementele) de input,
elementul (elementele) de output şi automatul
programabil, care este format din mai multe
componente printre care se pot specifica, în
principal : sursa de alimentare şi rack-ul
Fig.7.6.- Exemplul modalităţii aprinderii automatului programabil, unitatea
luminii într-un loc de muncă. principală de procesare (CPU), elemente
constructive pentru semnalele de intrare şi
Fig.7.7.- Schema de principiu, pentru aprinderea luminii, cu ajutorul unui automat programabil.
ieşire (I/O), ceea ce ar putea fi reprezentat ca în figura 7.8.
Aceasta este o variantă contructivă modulară, adică formată din mai multe module, ce
Fig.7.8.- Vederea exterioră (o variantă) a unui automat programabil, cu componenetele sale principale.
Fig.7.12.- Un segment de “scară”, ce folosea “logică scării” la programarea unui automat progra-
mabil.
În figura 7.12 în prima “treaptă a scării” este prevazut un pushbutton prin închiderea
căruia se aprinde o sursă luminoasă, iar a 2-a treaptă a scării se referă la “end”, adică
finele programului.
Aceasta era de fapt logica ladder !
Adică, era un fel de „schemă monofilară”, dezvoltată secvenţial, astfel încât automatul să
execute operaţiunile într-o anumită ordine, iar variantă această de programare era foarte
pe înţelesul electricianului cu o anumită pregătire nu foarte dezvoltată, care astfel putea
să realizeze programarea automatului relativ uşor.
Trebuie reţinut că iniţial automatele programabile erau folosite, pentru “procese” destul
de simple, dar odată cu evoluţia lor s-a ajuns la programe foarte complexe, ce folosesc
elemente de logică booleană, respectiv elemente de programare, ca în cazul unor medii de
programare evoluate.
7.1.8.- Câteva elemente mai de detaliu la început nu strică!.
După unele generalităţi şi prezentări foarte sumare, se consideră util să fie date şi câteva
detalii, care parţial se vor referi la un PLC de tip Omron (o variantă mai veche).
7.1.8.1.-Din nou despre componentele automatelor programabile.
PLC-ul este actualmente un sistem industrial cu microcontroler (iniţial a fost numit
procesor în loc de microcontroler), care se compune dintr-o partea hardware şi software
specifică şi adaptată să funcţioneze în medii industriale : este, de fapt, un calculator
specializat. O schemă bloc ar putea fi prezentată ca în figura 7.13.
O atenţie deosebită trebuie acordată separării galvanice a microcontrolerului faţă de
partea de forţă şi execuţie din mediul industrial (adică, de exteriorul său).
Componentele pot diferi ca număr, de la un exemplar la altul, dar elementele care se
regăsesc in general sunt urmatoarele:
unitatea centrală : reprezintă partea cea mai importantă a automatului
programabil şi este compusa din 3 parti importante: procesor, memorie şi sursa de
alimentare. Prin intermediul acesteia se realizeaza practic conducerea intregului proces;
unitatea de programare : la ora actuală este reprezentată în multe cazuri de
către un calculator prin intermediul căruia pot fi scrise programe, ce apoi sunt incărcate
pe unitatea centrală şi rulate; în cazul în care se doreşte o unitate mai uşor de manevrat
sunt puse la dispozitia programatorilor (de către majoritatea firmelor), console (adică,
sisteme de gen laptop) prin intermediul carora pot fi scrise programe pentru automate;
modulele de intrare/ieşire : permit interconectarea cu procesul, primind sau
transmiţând semnale către acesta; acestea pot fi cuplate direct cu unitatea centrală sau
prin control la distanta (dacă este cazul pentru un anumit proces);
şina : dispozitivul pe care sunt montate unitatea centrală, modulele de
intrare/ieşire şi alte module funcţionale adiţionale (dacă este cazul).
7.1.8.2.- Unitatea centrala de procesare – CPU.
Unitatea centrală de procesare
(CPU) este creierul
automatului programabil. CPU
este în mod uzual un
microcontroler. Odinioară,
aceste microcontrolere erau pe
8 biţi, cum ar fi 8051, iar
actualmente sunt microcontr-
olere pe 16 sau 32 de biţi. În
automate programabile de
marcă, cum ar fi Siemens,
Hitachi şi Fujitsu, o să regăsiţi
diferite tipuri de micro-
controlere produse de diferite
firme, cum ar fi Motorola.
Modulul de comunicaţie este
Fig.7.13.- Schema bloc cu evidenţierea componentelor unui ataşată la unul din porturile
automat programabil. microcontrolerului. Automatele
programabile posedă diferite
rutine pentru verificare memoriei, asta din motive de siguranţă. La modul general
vorbind, unitatea generală de procesare efectuează o serie întreagă de rutine de verificare
a stării tehnice a PLC-ului. Pentru semnalizarea diferitelor erori sau stări de funcţionare
PLC-urile sunt dotate cu indicatori optici (diode luminiscente sau leduri, sau blocaje de
lucru).
7.1.8.3.- Memoria.
Memoria sistemului – actualmente de tip FLASH - este utilizată de automatul
programabil pentru stocarea programului folosit la controlul automatizării. Înainte să fie
scris în memorie, programul trebuie compilat, cu ajutorul altui program cu ajutorul căruia
a fost scrisă logica automatizării, de exemplu, în leader diagram. Reprogramarea sau
rescrierea memoriei se realizează, de regulă, cu ajutorul unui cablu serial.
Memoria utilizată este împărţită în diferite blocuri cu diferite funcţii. Anumite părţi ale
memoriei sunt folosite pentru a înregistra stările porturilor (intrare sau ieşire). Fiecare
stare a memoriei este stocată printr-un bit: 1 sau 0. Fiecărei intrări sau ieşiri îi corespunde
un bit din memorie. Alte părţi ale memoriei stochează variabilele pe care le foloseşte
programul. Spre exemplu, perioada de temporizare ori valoarea numărată pot fi stocate în
această parte a memoriei.
7.1.8.4.- Despre programarea automatelor programabile (elemente iniţiale).
PLC-ul poate fi reprogramat cu ajutorul unui computer (cea mai comodă cale !), dar
poate fi programat şi manual cu ajutorul unei console. Acest lucru înseamnă că fiecare
automat programabil poate fi programat cu ajutorul unui computer, care are instalat un
program special pentru operaţia asta. Astăzi, calculatoarelor pot utiliza linii de transmisie
pentru interconectarea PLC-urilor şi programarea lor. Este un avantaj enorm pentru
industrie, pentru că odată ce PLC-ul este conectat la PC, pentru început se poate citi
programul deja scris în acesta (asta dacă am mai fost programat anterior). Comunicaţia cu
PLC-ul este foarte importanta deoarece, pe lângă celelalte avantaje pe care le aduce,
permite monitorizarea procesului de automatizare de la distanţă, inclusiv verificarea stării
PLC-ului.
Aproape fiecare program pentru programarea automatelor programabile include diferite
opţiuni utile ca: trecerea din ON in OFF a intrărilor şi ieşirilor, simularea programului în
timp real ş.a.m.d. Aceste opţiuni sunt necesare pentru determinarea erorilor sau a
funcţionării defectuoase a programului. Programatorul poate adăuga comentarii, numele
intrărilor şi ieşirilor, adică elemente foarte utile în întreţinerea sistemului. Spre exemplu,
adăugarea comentariilor ajuta electricienii şi tehnicieni să înţeleagă mult mai bine schema
de comandă schiţată în mediu de programare ladder diagram. De asemenea, aceste
comentarii ajută foarte mult la întreţinerea şi depanarea automatizării.
7.1.8.5.- Sursa de alimentare.
Sursa de alimentare are rolul de a alimenta cu energie electrică automatul programabil.
Majoritatea PLC-urilor lucrează cu tensiunii de 24 V c.c. sau 230 V a.c., iar unele
automate programabile se alimentează printr-un modul separat. PLC-urile cu sursă de
alimentare separată sunt automate programabile mari. Pentru a determina puterea
electrică a sursei de alimentare va trebui să cunoaştem consumul PLC-urilor, determinat
în mare parte, de către necesarul de curent al ieşirilor. Sursa de alimentare trebuie să
îndeplinească anumite cerinţe de compatabilitate electromagnetică, ca de exemplu: să fie
imună la perturbaţii electromagnetice, medii corozive, întâlnite cu preponderenţă în
mediul industrial.
7.1.8.6.- Întrările automatului programabil.
Inteligenţa unui sistem de automatizare depinde în mare măsură de capabilitatea
automatului programabil să citească semnalul provenit de la diferiţi senzori şi dispozitive
de intrare. Taste, kepad-uri, comutatoare cu şi fără automenţinere, sunt căteva din
elementele, care au făcut legătura dintre om şi maşina. Pe de altă parte, pentru a verifica
piesele, care sunt în mişcare, pentru a verifica presiunea sau nivelul de fluid, este nevoie
de traductoare, care să transmită la ieşirea lor un semnal unificat (0…5 V sau 4…20 mA),
recunoscut de automatul programabil. Sunt diferite metode de obţinere a semnalelor de la
un senzor, de exemplu, se poate folosi un optocuplor sau un transformator.
7.1.8.7.- Ieşirile automatului programabil.
Un sistem de automatizare este incomplet dacă la ieşirile sale nu este conectat niciun
dispozitiv. Cele mai întâlnite dispozitive sunt: motoare, bobine, relee, indicatoare, sunete
de semnalizare, etc. Pentru a porni un motor sau pentru a alimenta un releu, PLC-ul
transmite un semnal “1” logic la ieşirea aferentă – în funcţie de caracteristicile
programului. În acest caz, spunem că ieşirea automatului programabil este digitală.
Totuşi, ieşirile pot fi şi analogice; o ieşire analogică este utilizată pentru a genera un
semnal analogic (ex. un motor funcţionează cu o anumită viteză, ce corespunde unei
anumite tensiuni).
7.1.8.8.- Extensia numărului de intrări / ieşiri.
Orice automat programabil are un număr limitat de intrări / ieşiri. Numărul de intrări sau
ieşiri poate fi însă mărit prin conectarea unui modul extern. Acest modul este o extensie
de intrări şi ieşiri, extensie care diferă de la PLC, la PLC (ex. dacă ieşirea este un releu,
atunci tranzistorul, care acţionează releul poate fi un mod de extensie).
7.1.9.1.- Câteva cuvinte desprea PLC
Omron CPM1A.
Un automatul programabil se adoptă de abia
după ce s-a trasat schema de comandă “clasică”
şi se cunoaşte cu exactitate numărul de
intrări/ieşiri şi senzori sau traductoarele
necesare. Pentru a creea nişte exemple mult mai
uşor de înţeles şi aplicat practic, s-a ales, spre
descriere, automatul programabil produs de
compania OMRON, micro class CPM1A.
Adjectivul “micro” semnifică existenţa unui
număr minim de opţiuni ataşate automatului
programabil. Dar chiar şi aşa, modelul pe
mărginea căruia se va discuta în cele ce
urmează, este suficient pentru înţelegerea
modului de funcţionare şi implementare practică
a automatelor programabile.
Fiecare PLC este în esenţă un sistem cu
microcontroler; unitatea centrala de procesare a
automatului programabil se bazează pe un
microcontroler, sau mai recent, pe un procesor
PC de generaţie mai veche, care are conectate
diferite periferice: intrări ieşiri digitale sau relee
ca în cazul dat. Oricum, acesta nu este un sistem
cu microcontroler obişnuit. O întreagă echipă a
lucrat pentru perfecţionarea microcon-trolerului
Fig.7.14.- Imaginea de ansamblu a automatului
programabil Omron CPM1A. şi dezvoltarea programului folosit la
programarea lui. Iniţial s-a utilizat programarea
în ansambler, care se mai utilizează şi în prezent la programarea microcontrolerelor. Firmele producătoare
de PLC-uri au trebuit să dezvolte acest mod de programare pentru a fi mult mai uşor înţeles de electricieni
şi tehnicieni, şi bineînţeles, pentru a se aprofunda într-un timp cât mai scurt; astfel s-a născut programarea
“în ladder”. O imagine de ansamblu cu PLC-ul OMRON CPM1A se poate vedea în figura 7.14.
Pe panoul din faţă sunt 4 indicatoare cu LED şi conectorul RS232 pentru interfaţa cu PC-ul. În afară de
acestea, se mai pot vedea terminalele de intrare şi ieşire. Cu ajutorul acestor terminale (cu şuruburi) se
poate conecta PLC-ul în schema de automatizare. Prin clemele
L1 şi L2 se alimentează PLC-ul, în acest caz cu 230Vac.
Automatele programabile lucrează de obicei la 24 Vdc, deci
pentru controlul lor prin intermediul senzorilor va trebui să
existe acces la masa sursei de tensiune continuă, care le
alimentează intern. În acest sens, orice PLC trebuie prevăzut cu
o clemă de acces la masă sau GND. În cazul dat această clemă
este notată “COM”. Microcontrolerul PLC-ului este alimentat
printr-o referinţă internă de tensiune sau regulator dc de tensiune
la 5 Vdc. Ieşirile automatului programabil sunt pe 24 Vdc, de
unde se poate intui uşor la ce putem folosi aceste ieşiri (spre
exemplu: pentru comanda unor relee intermediare aflate între
PLC şi partea de execuţie a procesului). PLC-ul OMRON mai
cuprinde două găuri pentru prinderea acestuia în tabloul de
automatizare sau se poate monta, mult mai uşor, pe un rack
industrial sau binecunoscuta şină omega.
Automatul programabil prezentat are doar 8 cm înălţime şi se
Fig.7.15.- Vederea cu conectorul divide vertical în două părţi: o parte cu un convertor 230/24 Vdc
RS232 (interfaţa serială). şi alta cu CPU-ul, memoria, intrările digitale şi releele de ieşire
aferente. Dacă se îndepărtează porţiunea de plastic din partea
stângă se descoperă conectorul RS-232, adica interfaţa serială cu PC-ul (vezi figura 7.15). Această interfaţă
este utilizată pentru programarea automatului programabil cu ajutorul calculatorului. Atunci când se
instalează PLC-ul nu este neaparat necesar să se instaleze interfaţa, dar este recomandat să se facă lucru
asta pentru a schimba anumite setări ale
programului pe parcursul efectuării
încercărilor şi operaţiilor de punere în
funcţie a automatizării.
Pentru o informare mai bună a
programatorilor asupra stării automatului
programabil, pe panoul frontal al acestuia
sunt dispuse 4 indicatoare cu led-uri
(Power, Run, Comm şi Error / Alm). Pe
lângă aceste leduri, mai există şi
indicatoarele de stare pentru fiecare intrare
şi ieşire a automatului programabil. Aceste
leduri se găsesc în imediata vecinătate a
şuruburilor de fixare (ex. D0….D5). Spre
exemplu, dacă o ieşire este activă, atunci
ledul aferent luminează şi invers.
7.1.9.2.-Ieşirile automatului
programabil OMRON CPM1A.
Cu excepţia tranzistorului de ieşire în
conexiune NPN sau PNP, automatul
programabil poate avea la ieşire şi relee.
Fig.7.16.- O porţiune din schema internă a PLC-ului Prin existenţa la ieşirile automatului
Omron CPM1A. programabil a releelor se pot conecta mult
mai uşor dispozitivele externe. Modelul
CPM1A conţine exact la ieşire aceste relee. CPM1A are în total 4 relee ale căror contacte se regăsesc la
terminalele de ieşire ale automatului programabil. În realitate, schema internă a unei ieşiri a PLC-ului arată
ca în figura 7.16.
Odată cu activarea optocuplorului, prin trecerea în zero logic a ieşiri microcontrolerului, bobina releeului
este alimentată iar contactele A şi B se închid. În cazul dat contactele A şi B pot să închidă sau să întrerupă
un circuit extern. Deci starea acestor contacte este determinată de starea porturilor de ieşire a
microcontrolerului. În figura 7.17 este exemplificat cazul în care portului de ieşire îi corespunde un anumit
şir de cifre binare, şir notat cu IR010. Aşa cum se întâmpla şi la programarea individuală a
microcontrolerelor şi în cazul PLC-urilor va trebui să fie setată starea porturilor de ieşire la începutul scrieri
programului. Folosind programarea în ladder a PLC-ului se pot defini foarte uşor stările de intrare şi ieşire.
Dacă nu se definesc stările ieşirilor (iniţiale !), se poate întâmpla ca atunci când se pune în funcţie
automatul programabil, acestă să pornească, spre exemplu, un motor, când de fapt ar fi trebui să aştepte să
primească o comandă pe o intrare ca să facă acest lucru.
Fig.7.17.- O exemplificare cum unui port de ieşire al PLC-ului îi corespunde un anume şir binar.
Fig. 7.22.- Porţiunea din schemă în “ladder diagram” pentru exemplul propus cu PLC-ul Omron.
În imaginea din figura 7.23 este prezentat schema de
interconexiuni a aplicaţiei realizate pe baza programului de
mai sus, prezentat în figura 7.22.
7.1.10.- Câteva scurte comentarii la acest
subcapitol introductiv.
Aşa cum s-a amintit deja în treacăt, PLC-ul nu
este singura opţiune pentru controlul unui proces
tehnologic mai extins. A fost o perioadă în care s-
a dezbătul destul de mult ce trebuie « să
rămână » la controlul unui proces : PLC-ul sau
PC-ul ? În final a rămas (cel puţin până la ora
actuală !) că este bină să fie folisită o combinaţie
oarecare a celor două tehnologii.
a) PLC vs releu. Când s-a început prima dată
programarea programarea PLC-urilor, a apărut şi
întrebarea dacă totuşi “releele” nu sunt
mai bune, deşi preţurile PLC-urilor
scădeau mereu.
În general, în cazul unei proiectări ce se
referă la astfel de situaţii, proiectantul
trebuie să răspundă la mai multe întrebări şi să
Fig.7.23.- Schema de conexiuni pe baza tragă concluzia corespunzătoare :
aplicaţiei realizate cu PLC-ul Omron. Există o nevoie de flexibilitate în logica de
control ? Vor fi modificări frecvente ale acestei
logici ? Va fi nevoie de modificări rapide ale logicii de control ? Dacă unele obiective
ale tehnologiei vor impune unele modificări, atunci se impune realizarea acestor
modificări : prin hardware-relee sau prin software-PLC ?
Este necesar ca logica de control similară, să fie folosită pe maşini sau zone
tehnologice diferite ? Trebuie ţinut seama de faptul că oricum este mult mai uşor să fie
descărcat un program pentru un PLC, decât de a construi un panou de relee.
Se prevede o dezvoltare într-un viitor destul de apropiat ? Un PLC poate
accepta cu uşurinţă un nou modul într-un slot sau să fie realizată o extindere
corespunzătoare.
Se pune problema unei fiabilităţi ridicate ? Un PLC se comportă din acest
punct de vedere mult mai bine decât multe componente de control individuale.
Exită o preocupare pentru downtime ? Unele intervenţii în cadrul PLC pot fi
efectuate fără nici o întrerupere a sistemului de control, spre deosebire de
cazul panourilor cu relee când întreruperile sunt aproape inevitabile.
Se impun unele condiţii privind spaţiul de utilizare ? Variantă panou
relee/PLC poate conduce la o economie de spaţiu folosit.
Se pune problema unui număr sporit de ieşiri ? PLC-urile pot fi mai
rapide decât omoloagele lor mecanice.
Se pune problema colectării unor date specifice de lucru şi/sau
teletransmiterea lor ? Acest lucru este posibil numai în cazul PLC-urilor şi al PC-
urilor.
Care sunt costurile totale în cele două variante ? Trebuie ţinută seama şi de
pierderile ce se pot produce, nu numai de costurile investiţiilor.
b) PLC vs dedicate Controller. Un controler dedicat este oarecum un instrument unic,
dedicat pentru controlul unui anumit parametru, cum ar fi, de exemplu, un controler PID
pentru controlul temperaturii în cadrul unui proces de încălzire. Tipul acesta de controlere
au avantajul unui singur pachet, ce cuprinde de obicei afişajul şi unele butoane.
Acest element poate fi foarte util în cazul unor aplicaţii simple, dar un PLC
poate concura ca preţ şi funcţionalitae cu această variantă mai ales în cazul în
care se folosesc mai multe astfel de controlere dedicate. Trebuie amintit că un
PLC oferă un grad mare de flexibilitate prin aceea că poate fi programat să se
ocupe de mai multe scenarii diferite.
c) PLC vs PC (calculatoare personale). Dezbaterea în această privintă se continuă şi
acum, iar răspunsul difinitiv nu a fost dat(încă!). Este însă cert că ambele variante au
avantaje şi dezavantaje, iar în final trebuie judecat despre ceea ce se întâmplă cu cele
două elemente, ce sunt folosite în diversele zone ale unui sector tehnologic. În tabelul
următor sunt redate câteva din aspectele mai esenţile :
Specific PLC PC-ul
Mediu PLC a fost conceput special pentru conditii aspre PC-urile comune nu sunt concepute pentru medii
cu « zgomote » electrice, câmpuri magnetice, dure.PC-uri industriale sunt disponibile, dar
vibratii, temperaturi extreme sau umiditate. costa mai mult.
Uşurinţa PLC-ul este proiectat mai prietenos pentru Sisteme de operare precum Windows sunt
utilizării tehnicieni, deoarece acestea folosesc logica comune. Conectarea I / O pentru PC-ul nu este
ladder (scară) şi se pot executa uşor conexiunile. întotdeauna la fel de simplă
Flexibilitate PLC-uri cu format rack se pot modifica uşor, PC-urile tipice sunt limitate de numărul de
respe-ctiv adăuga piese. Acestea sunt concepute carduri ce pot conectate şi nu sunt uşor
pentru modulariare şi extindere. extensibile.
Viteză PLC-uri executa un singur program în ordine PC-urile, de design, sunt menite să se ocupe de
secvenţială. Au o capacitate mai bună de a sarcini simultane. Ele însă au dificultăţi în ma-
gestiona evenimente in timp real. nipularea evenimente în timp real.
Limbaje de Limbajele sunt de obicei în cu logica « scara », Un PC este foarte flexibil şi puternic sub aspectul
programare bloc funcţie sau text structurat. programării.
Gestionarea Memoria este limitată în capacitatea sa de a stoca Aceasta este elementul în care PC-ul exceleaza,
datelor o cantitate mare de date. din cauza că are un hard disk. Stocarea datelor pe
termen lung, istoria şi trend-ul se realizează cel
mai bine pe un PC.
Pur şi simplu prea greu pentru a compara preţurile, cu atât de multe variabile cum ar fi : I /
Cost
O , hardware-ul necesar, programare, etc.
Există însă deja şi hibrizi PLC/PC, cum ar fi, de exemplu, WinPLC. Acest tip de
hardward înceară să folosească cele două platforme, cu punctele forte ale ambelor. Deci
un CPU ar putea fi capabil să ruleze în Windows sau Linux, într-un rack ce poate acepta
module comune de I/O.
Întrebări recapitulative (ajutătoare) pntru partea I-a.
1.- Despre logica cablată şi logica programată.
2.- Ce este un automat programabil, avantaje/dezavantaje în raport cu vechile sisteme de automatizare industrială.
3.- Cum s-a ajuns la necesitatea automatelor programabile (PLC) ?
4.- Ce trebuie să facă un automat programabil şi care ar putea să fie structura sa constructivă ?
5.- Cum funcţionează un PLC ?
6.- Ce alte variante există pentru automatizarea instalaţiilor industriale ?
Se recomandă parcurgerea anexelor (de la sfârşitul capitolului 7) privind interfeţele
seriale RS-232 şi RS-485 despre care s-a amintit în cele anterioare.
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
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.
Notă: Prin termenul de protocol de comunicaţie se înţelege o specificaţie a modului de codare a mesajelor
schimbate între două entităţi. De fapt nu se referă numai la codarea datelor, ci şi la modul în care decurge
dialogul între entităţile respective. Spre exemplu:
- E1, trimite către E2 o cerere de conectare (connect request),
- E2, dă către E1 un răspuns la cerere prin care acceptă conectarea,
- în continuare se transferă date de la E1, la E2 adică se produce comunicarea E1→E2,
- după ce E1 a terminat de transferat datele trimise către E2, apare o cerere pentru eliberarea
conexiunii (disconnect request),
- E2, trimite o confirmare (disconnect confirmation, E1≠E2) şi legătura este eliberată, canalul de
comunicaţie putând fi utilizat de alte echipamente (entităţi).
Comunicarea se poate face prin interfeţe standardizate (spre exemplu, Ethernet, RS-
232, RS-485, etc), care permit integrarea PLC într-o reţea industrială sau poate fi
conectat la reţeaua Internet. Uneori comunicarea este de tip wireless, pe baza
standardului IEEE 802.3.
Pentru programe simple sau pentru modificarea unui program existent în memoria PLC,
se poate folosi interfaţa locală a controlerului (consola proprie dacă există în dotare).
Introducerea programului pentru controler, în memoria acestuia, se face prin intermediul
unui conector, cu care este prevăzut sistemul PLC (de regulă interfaţa asigură un
transfer serial al datelor, fiind de tipul RS-232 sau USB – (Universal Serial Bus). Prin
intermediul conectorului, elementul de programare (un laptop, un calculator sau un
circuit specializat de programare) are acces la o magistrală a controlerului.
Limbajele folosite de controlere nu au fost încă (!) standardizate, fiecare
producător folosind alte instrucţiuni, care de fapt au acelaşi scop : de implementare, prin
intermediul controlerului, a unor funcţii logice. Controlerele mai performante acceptă
instrucţiuni în limbaje evoluate, spre exemplu în limbajul C.
Se încearcă unificarea limbajelor de programare a PLC prin intermediul recomandărilor standardului
IEC-1131 elaborat de Comisia Internaţională de Electrotehnică IEC (International Electrotechnical
Commission).
De fapt producătorii de echipamente PLC nu au renunţat în totalitate la sistemul propriu
de programare (evident din motive comerciale!), ci au introdus suplimentar doar
posibilitatea programării pe baza specificaţiilor standardului menţionat. Această facilitate
este indicată prin compatibilitatea echipamentului cu standardul (IEC 1131 compliant).
În principiu însă, nu trebuie confundată funcţia de comunicare, cu funcţia de
programare a controlerului. Cele două funcţii sunt separate atât fizic (pentru ca să se
evite reprogramarea accidentală a controlerului), cât şi funcţional.
Pentru programarea PLC şi testarea funcţionalităţii există soft-uri dedicate (de exemplu,
CAD) puse la dispoziţie de producătorii de echipamente.
Spre exemplu, “PicoSoft” cu ajutorul căruia se pot desena schemele şi se poate simula funcţionarea; este
pus la dispoziţie gratuit (pentru platforme Windows) de firma Allen-Bradley (SUA).
Astfel, în tabelul 1 sunt prezentate caracteristicile unităţilor centrale de prelucrare numerică din
componenţa unor PLC, iar în tabelul 2 sunt prezentate comparativ performanţele PLC produse de patru
firme reprezentative. S-au marcat cu steluţe caracteristicile (scăzută *, medie **, ridicată ***).
Tabelul 1.
COD IC697CPX772 IC697CPX782 IC697CPX928 IC697CPX935
Intrari/iesiri numerice 2k 12k 12k 12k
Intrar/iesiri analogice 8k 8k 8k 8k
Memoria disponibila
512k 1M 6M 1M
aplicatiei utilizator
Timpul de executie a
0.4ms/k 0.4ms/k 0.4ms/k 0.4ms/k
operatiilor logice
Indexul de performanta 6.0 8.0 8.0 10.0
Procesorul 486DX4 486DX4 486DX4 486DX4
Frecventa procesorului 96MHz 96MHz 96MHz 96MHz
Aritmetica in virgula mobila DA DA DA DA
Tabelul 2.
Firma ABB Siemens Allan Bradley GE Fanuc
Includerea in setul de instrucţiuni a
** * *** ***
funcţiilor trigonometrice
Includerea algoritmilor PID *** *** *** ***
Posibilitatea includerii de subrutine
- - ** ***
parametrizate
Structuri predefinite in C pentru
* * *** **
utilizatori
Software compatibil cu actualele
** ** *** ***
sisteme de operare
Comunicaţii prin cablu ** ** *** ***
Furnizare piese de schimb (service) *** *** ** **
Compatibilitate cu noile CPU ** ** ** ***
Extensibilitate *** *** ** **
Programare cu laptopul standard ** ** ** ***
Detectare si raportate defecte * * ** ***
Fig. 7.41
În figura 7.42 este prezentată o schemă a adaptorului pentru reprezentarea în c.c. a semnalelor digitale din
proces.
Fig. 7.42
În figura 7.43 este prezentată o schemă a adaptorului pentru reprezentarea în c.a. a semnalelor digitale din
proces.
Fig. 7.43
Se constată că în ambele scheme se foloseşte optocuplarea, în scopul separării semnalelor din proces, de
controlerul sistemului, pentru protecţia reciprocă.
În cadrul schemei din figura 7.42 diodele D1 şi D2 au rolul de limitare a semnalului de la intrare.
Schema din figura 7.43 primeşte la intrare semnal de c.a., care este redresat de puntea de diode PD, filtrat
de grupul C,R,R1 şi limitat ca valoarede semnal, de dioda Zener Dz.
Semnalele digitale de ieşire, sunt furnizate procesului de către PLC, de asemenea, prin
intermediul unui adaptor, cu funcţia de a converti semnalul digital furnizat de CPU în
semnal compatibil, de data asta, cu elementul de execuţie, care va fi conectat la
respectiva ieşire.
Există elemente de execuţie cărora PLC le furnizează şi un curent, ceea ce înseamnă că
elementul de execuţie se conectează între borna de ieşire a PLC şi masă (sourcing
output). Dar există elemente de execuţie, care dispun de o sursă proprie de alimentare şi
se vor conecta între borna de ieşire a PLC şi sursa proprie de alimentare (sinking
output).
Elementele numerice de execuţie lucrează unele cu semnale de comandă de curent
continuu, iar altele cu semnale de comandă de curent alternativ.
Spre exemplu în figura 7.44 este prezentată o ieşire a PLC, care furnizează semnale digitale de c.c.
echipamentului conectat la respectiva ieşire.
Fig. 7.44
În figura 7.45 este prezentat adaptorul de semnal pentru o ieşire cu semnal digital în curent
alternativ.Optocuplorul primind semnal de comandă va comanda triacul în sensul intrării în conducţie a
acestuia.
Fig. 7.45
CONFIGURATIA 1
RESURSA 1 RESURSA 2
FB1 FB1
FB2 FB2
Fig. 7.46
Din figura 7.46 se costată că configuraţia I, are 2 resurse, iar fiecare dintre resursele sale
are câte 2 task-uri (sarcini); fiecare sarcină se rezolvă prin programul său (P1, P2), unul
dintre programe poate fi în două variante (FB1, FB2), iar task-urile fiecărei resurse pot
„colabora” şi direct cu una din cele 2 variante (FB1, FB2), chiar în mod diferit în cadrul
fiecărei resurse. De fapt, cele prezentate anterior sunt cuprinse în digrama resursei I din
figura 7.46.
Mai trebuie observate câteva elemente specifice precum :
Din punctul de vedere al software, resursele conţin instanţieri ale unor
programe de prelucrare (codul sursă), de fapt conţin POU (Program
Organisation Units), ce are în componenţă : programe, funcţii şi funcţii bloc.
Pe lângă instrucţiunile, care implementează algoritmul de prelucrare (adică,
POU), resursa dispune de o interfaţă prin intermediul căreia sunt precizaţi
parametrii formali.
Din punctul de vedere hardware, resursele pot fi un CPU sau un sistem virtual
(de simulare).
Activarea unei resurse (lansarea în execuţie) determină iniţializarea variabilelor
proprii şi activarea taskurilor resursei.
Programele pot intra în execuţie imediat sau la comanda taskurilor, iar resursele
pot avea taskuri sau nu.
Notă. Prin instanţiere se înţelege că un program este copiat în cadrul resursei, particularizându-se
parametrii pentru respectiva resursă.
În figura 7.46 a fost prezentat un exemplu de configuraţie.
Taskul conţine instrucţiuni, care comandă activarea unor programe sau a unor funcţii
bloc (din cadrul programelor), într-o ordine prestabilită, la momente de timp periodice
sau la apariţia unor evenimente exterioare controlerului (de exemplu, o întrerupere).
Astfel, Taskul 1, din figura 7.46, lansează în execuţie programul P1 la diferite momente
de timp şi funcţia bloc FB1 la alte momente de timp. Similar pentru celelalte taskuri. Dar
Taskul 1 poate fi întrerupt, de exemplu, de Taskul 2 dacă acesta are prioritate mai mare.
După ce a fost întrerupt, se execută Taskul 2 şi după ce acesta îşi termină treaba, se
revine la Taskul 1 (care se continuă de unde a fost întrerupt).
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ă).
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.
Fig. 7.47
Din figura 7.47 se constată că, în mod practic, se conectează ieşirea FB1 (care este o
instanţiere a FB_X), la intrarea FB2 (care este o instanţiere a FB_Y).
7.2.7.- Elemente privind programele pentru PLC.
Programul este un element POU care, prin intermediul instrucţiunilor unui limbaj de
programare, implementează algoritmul de prelucrare a semnalelor în vederea controlului
unui proces cu ajutorul unui controler.
Declararea programului se face cu instrucţiunea (aproape ca la o programare obişnuită) :
PROGRAM nume_program. ...... END_PROGRAM.
Pot fi create instanţieri ale unui program, prin specificarea unui identificator
numai în cadrul resurselor.
Programul are toate proprietăţile funcţiilor bloc la care se adaugă posibilitatea
folosirii variabilelor de acces (cu declaraţia VAR_ACCESS ... END_VAR).
Programul poate avea în componenţă funcţii bloc şi funcţii.
Comunicarea între programe se face prin intermediul variabilelor (care sunt vizibile în modulul, care le-a
definit şi în modulele subordonate) sau al căilor de acces (adică, prin intrmrdiul variabilor de acces).
Variabilele declarate la nivelul de resursă, sunt variabile globale şi permit comunicaţia numai între
programe aflate în cadrul resursei respective (adică, sunt „văzute” de programele aceleiaşi resurse).
Comunicaţia între programe, în cadrul aceleiaşi configuraţii şi resurse diferite, este pre-zentată schematic
în figura 7.48.
Fig. 7.48
Comunicaţia între programe aflate în configuraţii diferite se face prin funcţii bloc şi este
prezentată schematic în figura 7.49.
CONFIGURATION C CONFIGURATION D
PROGRAM A
send1 rcv1 PROGRAM B
SEND RCV
Fig. 7.49
Comunicaţia între configuraţii diferite se poate realiza şi prin aşa-numitele variabile de
acces.
7.2.8.- Unele detalii despre DATE şi VARIABILE.
Datele pot fi numerice, şir de caractere sau literari, prin care se exprimă timpul.
Variabilele sunt nume simbolice prin intermediul cărora se memorează datele, pentru unele intervale de
timp mai lungi sau mai scurte.
7.2.8.1.- DATE.
Pentru a prezenta tipurile de date, mai jos, sunt prezentate câteva exemple de reprezentare a datelor (pe
tipuri) :
Numere întregi cu sau fără semn: +1, -10, 120, -890, ş.a.
Numere reale: 0.1, 1.56, - 15.9, +1.3, -1.3E+2, -1.3e+4, 5.6e12, ş.a.
Numerice cu specificarea bazei (2,8,16): 2#1001 (9 în zecimal), 8#27 (23 în zecimal), 16#1F (31
în zecimal), 16#e1 (241 în zecimal), ş.a.
Numere binare: 0 ‚ FALSE, 1, TRUE
Şir de caractere: ‘a’ (un caracter), ‘ ’ (şirul vid), ’Aas’ (3 caractere) , ‘numar’ (5 caractere), ş.a.
Exprimarea duratei de timp: t#12ms, T#15ms,TIME#25ms, T#2h3m15s, t#139ms, ş.a.
Exprimarea datei (anul –luna - ziua) : d#2009-09-30, DATE#2009-12-31, D#2019-06-17, ş.a.
Exprimarea timpului din cadrul unei zile (ora: minutul: secunda:) :
TIME_OF_DAY#17:36:54.31, time_of_day#15:36:55.36, tod#11:32:17.3, TOD#11:32:17.3, ş.a.
Exprimarea datei şi a timpului din cadrul unei zile: DATE_AND_TIME#2009-09-30-
11:32:17.3, dt#2009-09-30-11:32:17.3, ş.a.
Tipurile de date elementare şi spaţiul de memorie alocat, sunt prezentate în tabelele 3-5.
Tabelul 3. Şiruri de caractere
Nr. Numele Tipul Nr. biţi
1 TIME Durata
2 DATE Data
3 TIME_OF_DAY or TOD Timpul zilei
4 DATE_AND_TIME or DT Data şi timpul zilei
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
Nume contact
nume
In
Out
In FB Out
Nume bobină
In Out
b)
Fig. 7.50
În continuare se vor face doar câteva precizări privind câteva tipuri de limbaje (urmând
ca toate detalierile să se facă rvrntual în cadrul unei specializări); un accent oarecare se va
acorda limbajului LD.
Limbajul IL (Instruction List), poate fi considerat similar limbajului de
asamblare folosit de microprocesoare. Sunt puţine tipuri de controlere care mai pot fi
programate prin intermediul listelor de instrucţiuni (IL) şi tendinţa este de a nu mai fi
utilizat. Cauza principală este faptul că celelalte limbaje sunt mai uşor de implementat.
Limbajul ST (Structured Text) de text structurat este similar limbajelor de
nivel înalt C şi Visual Basic. Există un program principal (între PROGRAM şi
END_PROGRAM) care apelează funcţii sau subrutine.
Limbajul SFC (Sequential Function Charts), spre deosebire de
celelalte limbaje, acest limbaj permite ca mai multe procese să fie active în acelaşi
moment de timp. De fapt programele se activează concurenţial, în sensul că se străduie
să acapareze resursele sistemului, mai exact să preia din timpul de lucru al controlerului.
Limbajul mai este cunoscut sub numele Grafcet sau IEC 848.
Principalele elemente ale grafurilor SFC sunt prezentate în figurile 7.51,...,7.53
Prin intermediul liniilor se indică trecerea de la un pas la altul, adică tranziţia automatului
dintr-o stare în alta.
Fig. 7.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.
a) c)
b) d)
Fig. 7.55
Alte variante :
3. Contactul sensibil la tranziţia low – high (Pozitivă), din figura 7.55c
Dacă stânga contactului este ON, atunci când variabila booleană asociată (specificată prin
“nume”) efectuează o tranziţie din OFF (low), în ON (high), atunci partea din dreapta
contactului devine ON. Rămâne pe ON numai în intervalul de timp asociat evaluării apoi devine
iarăşi OFF.
4. Contactul sensibil la tranziţia high – low (Negativă), din figura 7.55d
Dacă stânga contactului este ON atunci când variabila booleană asociată (specificată prin
“nume”) efectuează o tranziţie din ON (high), în OFF (low), atunci partea din dreapta
contactului devine ON. După evaluare devine iarăşi OFF.
Contactele pot fi asociate intrărilor (preluând stări ale procesului) sau ieşirilor (comenzi
ale PLC către procesul condus) microcontrolerului sau reprezintă variabile interne
(folosite la implementarea algoritmului de conducere). Variabilele interne nu sunt
accesibile din exteriorul microcontrolerului – sunt numai “de lucru”.
Bobinele.
Bobina normală transferă starea circuitelor din stânga în dreapta simbolului grafic,
memorând starea (circuitelor din stânga) în variabila logică (nume) asociată bobinei.
Starea din dreapta simbolului depinde atât de starea circuitelor din dreapta cât şi de
variabila asociată bobinei.
Bobinele sunt elemente de programare, ce modelează funcţionalitatea bobinelor reale
din componenţa contactoarelor şi releelor (de comandă a contactelor). Starea de alimentat
a bobinei contactorului real (sau a releului) este reprezentată prin starea ON a variabilei
booleane asociată elementului de programare numit bobină. Starea OFF corespunde
contactorului real a cărui bobină nu este alimentată cu energie electrică.
Unei ieşiri a automatului i se poate asocia o bobină şi mai multe contacte. Pe de altă parte
bobinele pot fi utilizate ca variabile interne, fără a fi accesibile din exterior, având rolul
de element de programare a algoritmului de comandă.
Există următoarele tipuri şi reprezentări de bobine:
1. Bobina normală, din figura 7.56a
Starea legăturilor din stânga contactului este copiată în dreapta şi în variabila
booleană asociată (specificată prin “nume”).
2. Bobina negată, din figura 7.56b
Starea legăturilor din stânga contactului este copiată în dreapta, iar variabila booleană asociată
(specificată prin “nume”) este negată.
3. Setarea bobinei, din figura 7.56c
Variabila booleană asociată (specificată prin “nume”) este forţată în starea ON şi rămâne aşa până
ce bobina este resetată.
4. Resetarea bobinei, din figura 7.56d
Variabila booleană asociată (specificată prin “nume”) este forţată în starea OFF şi rămâne aşa
până ce bobina este setată.
nume nume nume nume
S R
a) b) c) d)
Fig. 7.56
5. Bobină sensibilă la
tranziţia low – high (Pozitivă), din figura 7.57a
Dacă stânga contactului efectuează o tranziţie din OFF (low), în ON (high), atunci variabila
booleană asociată (specificată prin “nume”) devine ON.
6. Bobină sensibilă la tranziţia high – low (Negativă), din figura 7.57b
Dacă stânga contactului efectuează o tranziţie din ON (high) în OFF (low), atunci variabila
booleană asociată (specificată prin “nume”) devine ON pe durata evaluării. Apoi starea din sânga
este copiată în dreapta (adică, devine OFF).
nume nume
P N
a) Fig. 7.57 b)
7. Bobinele cu reţinere sunt prezentate în figura 7.58
Funcţionarea corespunde punctelor 1, 3, 4 asociind simbolurile din figura 7.58 cu cele din figura
7.56 (7.58a, cu 7.56a bobina normală; 7.58b, cu 7.56c stare a bobinei, 7.58c, cu 7.56d resetare a
bobinei) dar se păstrează starea bobinelor de la un restart la altul.
Deprinderea diferilor variante de butoane, bobine, etc presupune eventual o specializare pe problemel
programării PLC-urilor.
nume nume nume
M SM RM
a) b) c)
Fig. 7.58
Temporizatoarele.
Temporizatoarele sunt elemente de programare (blocuri funcţionale) având rolul de a
întârzia anumite activităţi sau de a realiza activităţi pe o durată de timp prestabilită
(intervale de timp). Astfel, sunt modelate relee de timp şi contacte temporizate.
Stabilirea duratei de timp se face programând mai întâi baza de timp (adică, a unui
generator de cuante de timp) pentru a genera impulsuri la intervale de ordinul a 1 s, 1 ms,
0,1 ms, etc. Apoi se programează intervalul de temporizare exprimat în unităţi ale bazei
de timp.
Notă. Există automate, care au o singură bază de timp (spre exemplu, generează cuante de timp la fiecare
μs) pentru toate temporizatoarele şi nu mai este necesar să fie programată baza de timp.
Temporizatoarele au cel puţin o intrare de iniţializare (de pornire a temporizării) şi cel puţin o ieşire. Există
intrări, care pe baza unor condiţii logice, pot activa sau inhiba (adică, acţiunea de temporizare nu mai are
loc) funcţionarea temporizatorului.
Temporizatoarele complexe permit întârzieri variabile, durata întârzierii fiind impusă de starea unor
variabile logice (adică de îndeplinirea unor condiţii logice).
În figura 7.59 este prezentat simbolul grafic al unui temporizator TON, având rolul de a întârzia comanda
(trecerea din L în H) aplicată la intrarea IN, cu un interval de timp TP.
TON
IN
Q
R
TS
TP
a) b)
Fig. 7.59
Starea ieşirii Q se modifică la valoarea logică a intrării IN după un interval de timp TP, vezi zona 1 din
figura 7.59b. Dacă temporizarea este nulă (fără temporizare), atunci ieşirea Q urmăreşte starea intrării IN.
Dacă intrarea îşi schimbă starea înainte de încheierea intervalului de temporizare ieşirea nu îşi mai schimbă
starea, zona 2 din figura 7.59b.
Intrarea R este pentru resetarea ieşirii Q. Ieşirea este zero indiferent de starea intrării IN, pe durata cât R
este activ, zona 3 din figura 7.59b.
Prin intermediul intrării TP, din figura 7.59a , se stabileşte valoarea timpului de întârziere. Ieşirea TS
permite citirea timpului după care se încheie temporizarea.
În figura 7.60 este prezentat simbolul grafic al unui temporizator TOFF, având rolul de a întârzia comanda
(trecerea din H în L) aplicată la intrarea IN cu un interval de timp TP.
TOF
F
IN
Q
R
TS
TP
a) b)
Fig. 7.60
În mod normal, fără temporizare, Q urmăreşte IN. Dacă intervine temporizarea căderea semnalului IN
conduce la căderea în zero a semnalului Q după trecerea intervalului TP de temporizare, vezi zona 1 din
figura 7.60b. În zona 2 constatăm că ieşirea Q nu îşi schimbă starea deoarece a apărut o variaţie a
semnalului IN (din L, în H) înainte de încheierea temporizării.
Zona 3 prezintă acţiunea semnalului de resetare (semnal la borna R), care trece ieşirea Q în zero, indiferent
dacă temporizarea s-a încheiat sau nu.
Temporizatorul TP, din figura 7.61, lucrează ca un circuit basculant monostabil, care la tranziţia intrării IN
din L, în H, basculează ieşirea Q, în H, îi menţine starea un timp TP după care basculează în starea L,
indiferent de ce face intrarea IN (pe durata temporizării TP).
Semnalul de resetare R basculează necon-diţionat ieşirea
TP Q în L, chiar dacă nu s-a încheiat temporizarea (întrerupe
temporizarea).
IN
Numărătoarele.
Q Numărătorul CT are rolul de a contoriza (count)
impulsurile sosite pe intrarea de numărare CU
R (numără crescător) / CD (numără
TS
TP
CTU
CU
QU
Fig. 7.61
R
descrescător), vezi figura 7.62, care prezintă un CV
numărător CTU (CounT Up) .
Intrarea PV este pentru iniţializarea numărătorului. Se PV
precizează limita până la care vor fi numărate impulsurile,
după care ieşirea devine activă.
Intrarea R este pentru resetarea numărătorului, acesta reluând Fig. 7.62
procesul de numărare. Există numărătoare care pot număra
atât descrescător cât şi crescător (dar nu simultan). Au două intrări una CU şi una CD, care specifică modul
de numărare. Dacă impulsurile de numărare se aplică la CU atunci se numără crescător.
Alte blocuri funcţionale.
Se menţionează faptul că numărătoarele şi temporizatoarele se încadrează în categoria
blocurilor funcţionale. Fiecare producător de controlere îşi realizează o bibliotecă
proprie de funcţii şi funcţii bloc, ce pot fi apelate de programele utilizator.
Pentru desenarea schemelor cu contacte (Ladder Diagram) se folosesc editoare puse la
dispoziţie, de obicei, de către firmele producătoare de echipamente PLC.
Exemple de editoare : J-Ladder [52], DELMIA Automation LL1 [48], ISaGRAF, TRiLOGY [55], Easy
Soft (de la Moeller), Twido Soft (de la Schneider Electric), ALPCSWIN260 şi GX IEC Developer (de la
Mitsubishi), LOGO , PG20 şi STEP7 Lite (de la Siemens) ş.a. Unele dintre ele pot fi recuperate prin
Internet
BIBLIOGRAFIA.
1.- Theodor Borangiu, Andrei Nick Ivănescu, Sorin Brotac, Automate programabile,
U.P.B., Fac de Automatică şi Calculatoare. (extragere Internet).
2.- prof dr.ing. Cristian Bucur, capitolul 8 („Circuite logice programabile”) din
cursul Circuite electronice în comutaţie, Ed U.P.G. Ploieşti, 2010.
Pentru cei interesaţi, în prima biblio (se poate obţine prin internet) se propun mai multe
exemple/aplicaţii de automatizare a proceselor productive :
1.- Controlul unei macarale folosite în cadrul unui proces tehnologic.
2.-Comanda mişcării de dute-vino a unui mobil.
3.-Automatizarea unei dozări şi malaxări de produse.
4.-Staţia automată de spălare a automobolelor.
5.- Controlul temperaturii unui lichid.
Se foloseşte programarea ISAGraf, diagrame Grafcet şi Ladder.
Parcurgând cu atenţie exemplele propuse în lucrarea menţionată, se pot desprinde câteva aspecte privind
felul cum “se rezolvă” o anumită tema de automatizare :
1.- Descrierea procesului, ceea ce presupune cunoaşterea tuturor detaliilor legate de automatizarea şi
evidenţierea lor exactă cu toate conexiunile specifice; se remarcă de fiecare dată execuţia sumară, dar cu
toate detaliile necesare, a unei schiţe a instalaţiei procesului ce trebuie automatizat. Tot în cadrul acestui
punct se stabilesc :
--- elementetele de execuţie cu nominalizarea lor;
--- elementele de măsură cu nominalizarea lor.
2.- Se stabilesc soluţiile automatizării, eventual în mai multe variante, cu precizarea :
--- variabilelor de intrare booleene;
--- variabilelor de ieşire booleene;
--- variabilelor analogice;
--- variabilelor de tip timer şi a altor tipuri de variabile.
3.- Comentarii diverse, eventual propuneri pentru modifficări de soluţii, diagrame, etc.
4.- Pot fi adăugate şi alte elemente/aspecte utile pentru o bună rezolvare a temei.
AVANTAJELE.
În comparaţie cu cazul racordării dispozitivelor periferice cu controlerul prin conductoare
separate, reţeaua industrială are următoarele avantaje :
micsorează de câteva ori costurile pentru cablu şi pozarea sa;
măreşte distanţa maximă până la traductoare şi dispozitivele de execuţie ce
trebuie conectate;
simplifică conducerea reţelei traductoarelor şi a mecanismelor de execuţie;
simplifică modificarea sistemului, în cazul modificării tipurilor de traductoare, a
protocolului de interacţiune, respectiv în cazul multiplicării dispozitivelor intrare/ieşire;
permite reglare la distanţă a traductoarelor şi diagnosticarea lor.
DEZAVANTAJE.
în cazul întreruperii cablului se pierde posibilitatea obţinerii datelor şi a
conducerii mai multor dispozitive (în funcţie de locul defecţiunii şi a topologiei reţelei
există posibilitatea unei funcţionări autonome a unui segment de reţea şi a schemei de
conducere);
pentru o creştere a fiabilităţii apare necesitatea rezervării unor canale de legătură
sau să se folosească o topologie în inel a reţelei.
7.3.4.-Unele tipuri de reţele industriale.
Modbus/RS-485, este reţeaua cea mai simplă, cea mai ieftină, respectiv cea mai răspândită reţea
industrială.
P-NET – Specificaţia electrică P-NET se bazează pe standardul RS-485 (vezi suplimentul pentru
partea I-a), ce foloseşte o pereche de torsodate protejate.
Ethernetul industrial;
Profinet;
FOUNDATION Fieldbus HSE (High Speed Ethernet)(FF H2), este o variantă de Ethernet
industrial dezvoltat de FOUNDATION Fieldbus (FF);
EtherCAT;
Ethernet Powerlink;
Ether/IP;
SERCOS III.
HART, reţea pentru traductoarele analogice şi reglarea lor.
FF H1, este un protocol de magistrală, analog lui ProfiBus PA, dezvoltat de către
FOUNDATION field bus (FF).
AS-Interface, este o reţea ieftină şi protejată contra perturbaţiilor pentru traductoare discrete de
mică productivitate.
CAN, este o reţea industrială pentru automatizarea în transport şi construcţia de maşini.
CANbus;
CANopen;
DeviceNet;
SDS, o reţea cu răspândire mică în Rusia;
J1939, o reţea cu răspân dire mică în Rusia.
Profibus, este o reţea industrială, conformă cu un standard internaţional, realizată cu o
participare foarte activă a firmei Siemens AG şi care cuprinde următoarele profile :
Profibus DP;
Profibus FMS;
Profibus PA.
Reţelele industriale pentru automatizarea clădirilor.
Pentru automatizarea clădirilor se folosesc următoarele reţele :
LonWorks;
BACnet;
EIB
Adesea însă în locul acetor tipuri de reţele se foloseşte Ethernet industrial şi/sau RS-485.
În cadrul industriei auto se folesc reţelele (mai puţin utilizate însă) :
LIN, dezvoltată de consorţiul European pentru auto;
FlexRay, protocol de reţea pentru auto.
7.3.5.-Sistemul distribuit de conducere.
Sistemul distribuit de conducere (Distributed Control System, DCS), reprezintă un
sistem de conducere al proceselor tehnologice, ce se caracterizează prin realizarea unui
sistem distribuit de intrări, ieşiri şi prelucrarea descentralizată a datelor.
DCS-eul se aplică pentru conducerea proceselor tehnologice de tip continuu şi hibrid
(deşi, apreciind în mod strict, sfera de aplicare a DCS-eului nu este limitată de acest
aspect). Procesele tehnologice continui se referă la acele procese ce se desfăşoară ziua şi
noaptea, luni de zile şi chiar ani, iar o oprire chiar destul de scurtă poate conduce la
defecţiunile produselor tehnologice, defectarea instalaţiei tehnologice sau chiar accidente
umane. Exemplul clasic al unui proces continuu este cel referitor la prepararea sticlei în
cuptorul de sticlă.
Sfera aplicării DCS-eului este destul de extinsă :
chimia şi petrochimia;
prelucrarea ţiţeiului şi extracţia ţiţeiului;
industria sticlei;
industria alimentară : lactate, zaharuri, de bere;
extracţia gazelor şi transportul acestora;
metalurgia;
utilizarea energiei s.a.m.d.
Cerinţele contemporane pentru DCS-eurile sunt :
fiabilitatea stabilă şi funcţionare sigură;
o simplitate relativă a configuraţiei şi a execuţiei sale;
menţinerea arhitecturii distribuite în teritoriu;
o configurare unică a bazei de date;
o interfaţa dezvoltată de tip om-maşină.
Scurt istoric.
Primele DCS-euri au fost propuse pieţii în anul 1975 de către compania Honeywell (sistemul TDC 2000)
şi Yokogawa (sistemul CENTIUM). Producătorul american Bristol Babcock a propus , în acelaşi an,
controlerul său universal UCS 3000. Uneori la sistemul DCS se raportează şi sistemul Contronic 3 al
firmei Schoppe & Faeser.
În anul 1979 compania Fisher & Porter a propus sistemul său DCI-4000, iar Invensys a propus sistemul
SPECTRUM. În anul 1980 compania Bailey a propus sistemul NETWORK 90, iar compania Alfa Laval
a propus sistemul SattLine.
Cum se prezintă piaţa contemporană ?
Sistemele DCS contempoarane se prezintă astfel :
Areva T&D
PACiS
ABB
System 800xA
Emerson Process Managment
Ovation
Honeywell
Experion PKS
TDC3000
Total Plant Solution (TPS)
Invensys Foxbor
I/A Series
Foxboro A2 (Eurotherm Suite)
Siemens
SIMATIC PCS7 (incluzând CEMAT şi BRAUMAT)
APACS
QUADLOG
SPPA-T3000
Yokogawa
CENTUM CS 3000
În cadrul menţionat anterior firmele producătoare ocupă mai mult de jumătate din piaţa sistemelor DCS.
Producătorii mai puţin importanţi sunt : Alstom, Metso, Yamatake, Toshiba, Hitachi, Fuji.
7.3.6.- O introducere în comunicaţiile industriale.
Reţelele de comunicaţii reprezintă soluţiile de bază pentru domeniul automatizărilor.
Datorită lor sunt posibile interconectările, respectiv schimbul de date dintre diferitele
componente şi dispozitive ale sistemului de automatizare. În cadrul acestor subparagrafe
se cuprind unele informaţii generale despre tehnologia şi proiectarea comunicaţiilor
industriale.
7.3.6.1.- Cerinţele speciale pentru sitemele de comunicaţii industriale.
Reţelele industriale.
Reţelele industriale trebuie să satisfacă unele cerinţe speciale, care în funcţie de anumite
condiţii de severitate pot fi fie de un nivel mai ridicat sau de un nivel mai inferior în
raport cu reţelele obişnuite. Aşa cum confirmă o analiză finală, susccesul sau insuccesul
unei întreprinderi depinde funcţionalitatea şi eficacitatea sistemului său de automatizare.
Sistemul comunicaţiilor industriale trebuie să asigure conectarea celor mai
simple traductoare şi a mecanismelor de execuţie la controlerele, de asemenea,
conectarea controlerelor între ele, respectiv a acestora la calculatoare.
Pentru a elimina probemele ce apar la “curgerea” proceselor tehnologice şi
activitatea sectoarelor productive, este necesar să se asigure o informare operativă :
informaţia necesară trebuie să fie acolo unde ea este necesară şi la momentul de
timp necesar.
O serie de condiţii privind factorilor productivi cum ar fi perturbaţiile
electromagnetice, un ridicat grad de contaminare, umiditatea şi unele sarcini
mecanice, presupun cerinţe ridicate pentru structura reţelei şi a componentelor sale.
O cerinţă deosebită reprezintă exactitatea datelor. Factorii perturbatori ce pot
acţiona asupra transmiţătorilor de date sau asupra mediului de transmisie, trebuie să fie
evidenţiaţi şi semnalizaţi, asrfel încât utilizatorul să fie sigur pe exactitatea şi
corectitudinea datelor recepţionate.
Destul de rar un anumit sistem de automatizare seamănă cu un altul, de aceea
sistemul reţelei industriale trebuie să fie elastic, asigurând posibilitatea adaptării la
cerinţele unei probleme concrete.
7.3.6.2.- Tipurile şi categoriile de reţele.
Clasificarea reţelelor.
Pentru a separa reţele de comunicaţii industriale (deci, reţele industriale de legătură) pe
diferite categorii, se poate realiza o clasificare primară bazată pe întinderea reţelei. O
reţea poate fi calisificate pe următoarele grupe :
Reţeaua universală (GAN) : reţeaua ce cuprinde întreaga lume terestră, de
exemplu Internet;
Reţeaua teritorială (WAN): reţeaua ce cuprinde anumite regiuni şi ţări, de
exemplu, reţeaua Datex-P a oficiului poştal al Germaniei sau reţeaua Intranet a unor
mari întreprinderi.
Reţeaua locală (LAN), ce corespunde unei legături în limitele unui teritoriu
limitat, de exemplu, din interiorul unei clădiri. O reţea locală se caracterizează, în cazul
general, printr-o structură omogenă de transmitere a datelor.
La ce categorie poate fi raportată reţeaua industrială ?
Reţelele industriale de legătură se include în grupa reţelelor locale, deşi ele admit şi
un schimb interreţele (de exemplu, prin intermediul Internet-ului) şi o transmitere a unei
anumite informaţii din sectorul industrial în orice punct al lumii.
7.3.6.3.- Funcţiile de comunicare din cadrul sistemelor de automatizare.
Sistemele legăturilor industriale pot execută diferite funcţii :
Legătura cu procesul sau de nivel sectorial : o conectare directă a
mecanismelor de execuţie şi a traductoarelor la controlerele programabile logic.
Schimbul de date poate fi ciclic, în funcţie de desfăşurarea procesului, dar poate fi aciclic
prin aplicarea comenzilor de conducere.
Schimbul de date : schimbul de date dintre controlere programabile sau între
controlerele programabile şi un partener inteligent (de exemplu, un PC) cu aplicarea
protocoalelor şi a interfeţelor în condiţiile industriale.
Comunicaţii IT : controlerele programabile pot fi integrate în cadrul
tehnologiei informaţionale contemporane, datorită căreia se poate realiza schimbul de
informaţii în toată lumea cu ajutorul unor instrumente standard, cum ar fi poşta
electronică sau Web-browser.
7.3.6.4.- Termenii folosiţi la folosirea unei reţele industriale.
Introducere.
În cadrul acestui paragraph se precizează unii termini, destul de larg folosiţi la proiectarea
sistemelor de comunicaţii. În principiu acest paragraf poate fi “ocolit” acum şi folosit
eventual mai târziu, când un anumit termen este întâlnit în cadrul unui text.
Termenii şi explicaţiile.
Protocol.
Protocol, reprezintă o sumă de reguli, conform cu care se realizează conducerea
transmiterii datelor. Cu ajutorul protocolului, de exemplu, se descrie structura datelor,
structura pachetelor de date, respectiv codarea lor. Cu ajutorul protocoalelor, de
asemenea, se pot descrie mecanismele de conducere, ca şi cerinţele prevăzute pentru
mijloacele de programare şi aparatele respective.
Conexiunea.
Conexiunea reprezintă un canal virtual dintre doi parteneri de comunicaţie. O sesiune de
comunicare cu folosirea protocoalelor, privitoare la conexiune, presupune următoarele :
--- stabilirea conexiunii;
--- efectuarea schimbul de date;
--- încheierea conexiunii.
Legătura, orientată pentru stabilirea conexiunii, poate fi comparată cu o discuţie
telefonică, când după formarea numărului telefonic al abonatului, se realizează
conexiunea, apoi se realizează schimbul de date (convorbirea), după care
conexiunea din nou se întrerupe (abonaţii aşează braţul telefonului în furcă).
Arhitectura „client/server”.
Arhitectura „client/server” permite mai multor utilizatori să folosească împreună
resursele comune. Serverul oferă oficiile sale clienţilor, iar clienţii folosesc oficiile,
propuse de server, prin emiterea diverselor probleme spre acesta. Serverul prelucrează
sarcinile şi expediază rezultatele către clienţi. În cazul general un server poate deservi
simultan mai mulţi clienţi. O anume interfaţa OPC se bazează pe arhitectura
„client/server”.
Principiul „master/slave” („stăpân/sclav”).
Dacă comunicarea se realizează după principiul „master/slave”, atunci există o singură
staţie „master”, ce poate iniţia schimbul de date cu dispozitivele slave, din propria
iniţiativă. Apoi dispozitivele slave răspund dispozitivului master. Dispozitivul slave în
răspunsul său poate transmite date. Spre deosebire de dispozitivul master, un dispozitiv
slave niciodată nu poate activa o comunicaţie la iniţiativa sa. Pe principiul
„master/slave” se bazează, de exemplu, protocolul PROFIBUS-DP.
Schimbul (comunicarea) sincron/asincron.
Noţiunea de „sincron/asincron” se referă la principiul de execuţie al service-ului Dacă
service-ul se execută sincron, atunci conducerea programului revine iniţiatorului chemării
numai după obţinerea rezultatelor efectuării service-ului.
Dacă service-ul se execută asincron, atunci conducerea programului revine iniţiatorului
chemării imediat după abordarea service-ului. Rezultatul service-ului revine la iniţiatorul
chemării într-un timp nedeterminat, cu alte cuvinte, asincron.
Modelul etalon ISO/OSI.
Modelul de nivel mediu “Open Systems Interconnection” (OSI), este un model etalon
ce descrie transmiterea datelor în cadrul reţelelor, care si-a căpătat denumirea sa în
cinstea organizaţiei internaţionale de standardizare (ISO). Modelul constă din 7 nivele : 2
nivele fizice (adică, nivel de aparate; nivelul 1 şi 2), 2 nivele orientate spre transmiterea
datelor (nivelul 3 şi 4) şi 3 nivele orientae spre problemele aplicative (nivelele 5, 6 şi 7).
OSI reprezintă modelul etalon, dar nu se recunoaşte (până acum!) ca un standard. Însă în
cazul multor dispozitive din domeniul telecomunicaţiilor şi a execuţiei reţelelor se
consideră ca bază modelul ISO/OSI.
Nivelul de câmp.
În cadrul nivelului de câmp (în sensul de câmp direct aplicativ) se realizează schimbul de
date dintre dispozitivele nivelului de câmp şi un nivel mai superior în care se dispune
nodul ce realizează conducerea. Dispozitivele de câmp se dispun la nivelul unui sector
productiv, ele execută măsurări, formează semnale şi transmit comenzile la nivelul mai
superior din sistemul de conducere al proceselor sau sistemul de conducere general al
uzinei. Schimbul de date ce se transmit la cest nivel este relativ mic. Pentru nivelul de
câmp este tipică o structură ierarhică de comunicaţii, când de fapt câteva dispozitive de
câmp fac schimbul de date cu un dispozitiv master.
La nivelul de câmp se realizează adunarea semnalelor procesului cu ajutorul
dispozitivelor intrare/ieşire, după care ele se transmit prin sitemul de comunicaţii
controlerului comandabil. Soluţia tip Siemens pentru legăturile la nivel de câmp şi
legătura cu procesul se realizează cu sistemul de interfeţe PROFIBUS-DP şi AS.
Nivelul sectorului productiv.
Acesta este acel nivel, în care semnalele semnalele obţinute de la process, cu ajutorul
dispozitivelor de intrare/ieşire, ajung la controlerul programabil prin intermediul sistemul
de comunicaţii. La nivelul sectorului productive (care altfel poate fi denumit nivelul
celulei separate de automatizare) se conectează între ele controlerele programabile,
calculatoarele personale (PC) şi dispozitivele conduceri operaţionale şi a vizualizării.
La nivelul sectorului productiv controlerele programabile fac schimb de informaţii, ceea
ce le permite să realizeze să conducă sarcinile (problemele) generale, pentru că la
controlerele programabile se conectează sistemele conducerii operationale şi de
vizualizare. Schimbul de date la nivelul sectorului productiv (nivelul celulei separate de
automatizare) se poate realize cu ajutorul componentelor Siemens prevăzute pentru
Industrial Ethernet, dar şi pentru PROFIBUS.
Nivelul superior de conducere.
La acest nivel se hotăresc şi se îndeplinesc unele probleme mult mai largi, ce
influienţează întregul proces productiv sau tehnologic în totalitate (funcţii de
management). În cadrul acestor probleme se include conservarea valorilor procesului,
optimizarea procesului şi funcţiile analitice, de asemenea funcţiile de protocolare şi
ahivare. Este posibil, de exemplu, să fie adunate datele necesare de la mai multe sectoare
productive sau de la uzine separate şi prelucrarea lor centralizată. Astfel de celule pot fi
chiar mai mult de o mie.
La nivelul superior de conducere se pot hotărâ problemele controlului pe întreg process
productiv în totalitae. Aici sunt adunate datele din întreaga uzină, iar comenzile (de
exemplu, receptura) pot fi transmise la celulele productive dispuse inferior. Pentru
asigurarea legăturii şi a schimbului de date la nivelul superior de conducere sistemul ideal
de comunicaţie este Industrial Ethernet de la Siemens.
Fig. 7.64
Nodurile active controlează comunicaţiile din magistrală. Fiecare nod activ în
limitele unui ciclu obţine doar o singură dată marker-ul şi poate să facă schimbul de date
cu nodurile active şi pasive. Imediat ce timpul menţinerii marker-ului s-a scurs, nodul
transmite marker-ul către dispozitivul master următor.
Nodurile pasive nu pot fi iniţiatori de link-uri. Ele nu primesc marker-e şi
răspund doar la cererile din partea altor staţii. Exemplul tipic de staţie pasivă este
dispozitivul slave DP.
7.3.8.4.- Locul PROFIBUS-ului în cadrul modelului etalon ISO/OSI.
PROFIBUS se bazează pe modelul etalon ISO/OSI, dar nu cuprinde toate nivelele sale.
Nivelul 1.
La nivelul fizic (nivelul 1), unde se stabilesc caracteristicile electrice şi mecanice ale magistralei, pentru
PROFIBUS se foloseşte interfaţa, larg răspândită , RS-485. Prin standardul PROFIBUS parametri
magistralei, ce pot fi modificate pentru îndeplinirea necesităţilor speciale ale sistemului magistralei sunt
cele prezentate în tabelul următor :
Caracteristicile electrice :
Numărul maxim de noduri 126
Vitezele standard de transmisie 9.6 / 19.2 / 45.45 / 93.75 / 187.5 / 500 /1500 / 3000 / 6000 /
12000 кbut/s
Lungimea cablului Depinde de viteza de transmisie şi mediul de legătură; se
găseşte în limitele 200m şi 900 km.
Topologia Magistrală, Stea, Inel (numai pt.reţele optice)
Cablu Perechea torsodată ecranată
Cablu cu fibră optică.
Sarcina potrivită La ambele capete ale segmentului de magistrală trebuie
să fie conectate rezistori potriviţi.
Conectarea Conector cu 9 pini D-sub la dispozitivul de interfaţă, cu o
anumită distribuire a pinilor.
Nivelul 2.
La nivelul de canal (nivelul 2) se foloseşte metoda descrisă anterior pentru accesarea
magistralei şi a serviciilor de bază pentru transmiterea datelor. Acest nivel este cunoscut,
de asemenea, ca nivelul de legătură cu nivelul de câmp (FDL). El asigură universalitatea
protocolului pentru accesul la magistrală, ce descrie caracteristicile de bază ale
comunicării pentru diverse probleme aplicative. Serviciile FDL pot fi subîmpărţite în
servicii de conducere şi servicii productive. Cu ajutorul serviciilor de conducere se pot
regla parametri locali, necesari pentru folosirea serviciilor productivive. Serviciile
productive răspund de schimbul de date dintre diferitele noduri ale PROFIBUS-ului.
Pentru transmiterea datelor sunt prevăzute următoarele servicii :
SDN (transmiterea datelor fără confirmare);
SDA (transmiterea datelor cu confirmare);
SRD (transmiterea şi cererea datelor cu răspuns),
ceea ce se arată şi în figura 7.65 :
Nivelul 3 ... 7.
Nivelele 3 ... 7 într-o formă implicită
sunt realizate cu ajutorul
protocoalelor FMS şi DP, descrise în
standardul PROFIBUS. În
protocolul DP nivelele 3 ... 6 nu
Fig. 7. 65 există în totalitate. Adaptarea se
asigură cu ajutorul unei interfeţe de
nivel inferior (LLI) destinată nivelului 7, în cadrul căruia se realizează astfel de
modificări precum stabilirea link-urilor, efectuarea link-ului şi controlul.
S7-comunicaţia este un PROFIBUS lărgit, care face ca magistrala să devină o
componentă omogenă a familiei SIMATIC, cu ajutorul căruia se realizează, de asemenea,
elementele nivelului de reţea (nivelul 3) şi a nivelului de transport (nivelul 4).
În figra 7.66 se arată cam cum se încadrează PROFIBUS-ul în cadrul ISO/OSI şi ce fel de
protocoale se folosesc; tot din această figură rezultă că întradevăr S7 se referă la o varintă
lărgită a PRIFUBUS-ului.
Nivelul de câmp.
În cadrul nivelului de câmp (în sensul de câmp direct aplicativ) se realizează schimbul de
date dintre dispozitivele nivelului de câmp şi un nivel mai superior în care se dispune
nodul ce realizează conducerea. Dispozitivele de câmp se dispun la nivelul unui sector
productiv, ele execută măsurări, formează semnale şi transmit comenzile la nivelul mai
superior din sistemul de conducere al proceselor sau sistemul de conducere general al
uzinei. Schimbul de date ce se transmit la cest nivel este relativ mic. Pentru nivelul de
câmp este tipică o structură ierarhică de comunicaţii, când de fapt câteva dispozitive de
câmp fac schimbul de date cu un dispozitiv master.
La nivelul de câmp se realizează adunarea semnalelor procesului cu ajutorul
dispozitivelor intrare/ieşire, după care ele se transmit prin sitemul de comunicaţii
controlerului comandabil. Soluţia tip Siemens pentru legăturile la nivel de câmp şi
legătura cu procesul se realizează cu sistemul de interfeţe PROFIBUS-DP şi AS.
Nivelul sectorului productiv.
Acesta este acel nivel, în care semnalele semnalele obţinute de la process, cu ajutorul
dispozitivelor de intrare/ieşire, ajung la controlerul programabil prin intermediul sistemul
de comunicaţii. La nivelul sectorului productive (care altfel poate fi denumit nivelul
celulei separate de automatizare) se conectează între ele controlerele programabile,
calculatoarele personale (PC) şi dispozitivele conduceri operaţionale şi a vizualizării.
La nivelul sectorului productiv controlerele programabile fac schimb de informaţii, ceea
ce le permite să realizeze să conducă sarcinile (problemele) generale, pentru că la
controlerele programabile se conectează sistemele conducerii operationale şi de
vizualizare. Schimbul de date la nivelul sectorului productiv (nivelul celulei separate de
automatizare) se poate realize cu ajutorul componentelor Siemens prevăzute pentru
Industrial Ethernet, dar şi pentru PROFIBUS.
Nivelul superior de conducere.
La acest nivel se hotăresc şi se îndeplinesc unele probleme mult mai largi, ce
influienţează întregul proces productiv sau tehnologic în totalitate (funcţii de
management). În cadrul acestor probleme se include conservarea valorilor procesului,
optimizarea procesului şi funcţiile analitice, de asemenea funcţiile de protocolare şi
ahivare. Este posibil, de exemplu, să fie adunate datele necesare de la mai multe sectoare
productive sau de la uzine separate şi prelucrarea lor centralizată. Astfel de celule pot fi
chir mai mult de o mie.
La nivelul superior de conducere se pot hotărâ problemele controlului pe întreg process
productiv în totalitae. Aici sunt adunate datele din întreaga uzină, iar comenzile (de
exemplu, receptura) pot fi transmise la celulele productive dispuse inferior. Pentru
asigurarea legăturii şi a schimbului de date la nivelul superior de conducere sistemul ideal
de comunicaţie este Industrial Ethernet de la Siemens.
În figra 7.66 se arată cam cum se încadrează PROFIBUS-ul în cadrul ISO/OSI şi ce fel de protocoale se
folosesc; tot din această figură rezultă că întradevăr S7 se referă la o varintă lărgită a PRIFUBUS-ului.
Fig. 7.66
Există o variantă S5 Siemens pentru PROFIBUS cu toate elementele sale de dezvoltare pentru sisteme mai
puţin dezvoltate, dar varianta ultimă (la nivelul anului 2010 !) pentru sistemele cele mai perfecţionate este
S7.
7.3.8.5.- Configuraţia tipică pentru sistemul S7.
Protocolul S7 este folosit pentru legătura cu controlelerele programabile (PLC) tip
SIMATIC S7/M7 (deci specific Siemens). El dispune de următoarele proprietăţi de bază :
Este optimizat pentru comunicaţiile SIMATIC;
Elementele protocolului sunt adaptate pentru necesităţile SIMATIC;
O viteză mare în raport cu alte protocoale ale sistemelor de automatizare,
destinate pentru transmiterea de date;
Este acesibil (acest lucru este important !) pentru magistralele sistemelor de nivel
superior şi nivelul unei celule separate de automatizare, cum ar fi Industrial Ethernet şi
nivelul de câmp cu PROFIBUS.
În figura 7.67 este dat un exemplu de
configuraţie specifică pentru S7.
Protocolul S7 propune servicii de
comunicaţii simple şi eficace, realizate
pe principiul „client-server”. Schimbul
de date se realizează între problema de
automatizare aplicativă, staţia de lucru
SIMATIC PC (client) şi o altă
problemă de automatizare (server).
Datele sunt puse la dispoziţie de către
controlerul programabil, iar din acest
motiv astfel de staţii sunt servere. Datele
sunt cerute de problema, ce lucrează în
cadrul PC-ului, iar ca urmare PC-ul
apare ca un client. În etapa stabilirii
legăturii, dar de asemenea, şi în cazul
serviciilor de lucru cu buffer-e speciale
Fig.7.67 de transmi-sie/recepţie, PC-ul tot la fel
poate apare în rolul serverului. Dezvoltările sunt numeroase şi pe multe direcţii.
Serviciul pentru evenimente şi alarme.
Un aspect deosebit al lui S7 este probabil serviciul pentru evenimente şi alarmele.
Pentru semnalizarea diverselor evenimentelor pot fi folosite “alarmele”. Alarmele trebuie
să fie programate deoarece ele sunt iniţiate de către o funcţie specială S7-blocuri şi nu
prin modificarea stării procesului tehnologic controlat, dar împreună cu alarma propriu-
zisă se pot transmise încă 10 valori însoţitoare. Alarmele reprezintă unele evenimente
deosebite şi care se pun în funcţie de către dispozitivul partenerial; alarmele se dispun în
buffer-e special destinate, în legătură cu anuminte evenimente specifice pentru procesul
tehnologic şi nu pot fi eliminate. Alarmele se stabilesc prin OPC Alarms & Events (în
afară de interfaţa menţionată mai este importantă OPC-interfaţa Data Access).
NOTĂ.
Ce este un OPC ?
OPC = OLE for Process Control (OLE pentru controlul proceselor).
La momentul apariţiei OPC, pentru toate componentele arhitecturii Microsoft se folosea termenul OLE.
Iniţial prin OLE se înţelegeau mecanismele de înserare (încastrare) a obiectelor în cadrul documentelor
combinate.
Din acel moment însă s-au produs multe modificări şi acum OPC-ul ar trebui să fie descifrat precum un
„COM pentru conducerea (controlul) proceselor”, deoarece OPC se bazează pe modelul componento-obiect
(COM). Modelul COM reprezintă elementul cheie ale sistemelor operaţionale Windows, controlând
interacţiunea dintre numeroasele componente de programe.
Datorită aplicării COM OPC-server devine „cunoscută” partea sistemului operaţional Windows şi de aceea
se eliberează de dependenţa de numele fişierelor, de locul dispunerii lor şi de versiune. Ca o continuare a
dezvoltării tehnologiei COM, DCOM-ul susţine lucrul aplicaţiilor distribuite şi asigură interacţiunea dintre
componenetele de programe, dispuse pe diferite calculatoare din reţea. Până la apariţia OPC era necesară
depunerea unor eforturi deosebite pentru controlul diverselor dispozitive de producţii diferite prin
asigurarea unor programe aplicative. Exista o cantitate enormă de diferite sisteme şi protocoale, în
condiţiile în care pentru fiecare utilaj şi pentru fiecare protocol utilizatorul era obligat să comande o
asigurare de programe speciale, ce permiteau deschiderea accesului spre interfeţe speciale şi care conţineau
driverele necesare. Programele aplicative, în acest fel depindeau de un anume producător concret, de un
protocol sau sistem. OPC pe baza de COM sau DCOM are o interfaţă programabilă unificată, independentă
de producătorul concret, ceea ce a devenit punctul de cotitură în organizarea schimbului de date în cadrul
sistemelor de automatizare.
Dar ce este un COM ?
La baza construcţiei OPC stă modelul coponentă-obiect (COM = Component Object Model) al firmei
Microsoft.
COM este un standard ce permite formarea obiectelor în Windows sub forma unor module separate şi
adresarea către aceste obiecte dintr-o anumită parte/exterior lor. Fiecare obiect poate fi privit ca o extensie
a unui sistem operaţional. Obiectele nu depind de limbajele de programare şi în principiu sunt accesibile în
orice aplicaţie.
Obiectele COM sunt componente, care se realizează în mediul Windows şi presupun o reunire dată de
funcţii ale altor componente prin interfeţele lor. COM-obiect-ul poate fi folosit simultan de mai multe
aplicaţii. Datele şi codul de obiect al obiectului nu este observabil (transparent) pentru utilizatorul COM-
obiect-ului.
NOTĂ. Noţiunea de “obiect” în limitele modelului component-obiect nu corespunde cu noţiunea de
“obiect”, care se foloseşte în limbajele de programare orientate spre obiect. COM–obiect-ul trebuie privit
ca un modul autonom perfecţionat. COM-obiect-ul nu dispune de proprietăţi tipice ale limbajelor de
programare cu orientare pe obiecte, cum ar fi, de exemplu, ereditatea.
.
Exemplul unui sistem cu dublarea canalelor de legătură între sataţia SIMATIC S7 şi staţia PC.
Fig. 7.68
NOTĂ. Problematica reţelor industriale SIMATIC NET se descrie la nivelul a 9 capitole (perioada anilor
2003-04), dar în afară de această problematică propriu-zisă apar conexe o serie de alte multiple capitole
legate de : configurare tip web-master, configurarea command-line, accesul la exploatare,
configurare IP-adresa, punere în funcţiune, SIMATIC NET exploatare radio, ş.a.
Alăturat, faţă de cele anterioare, se tratează problematici tehnologico-constructive de tipul : configurarea
reţelelor pentru Ethernet industrial, componentele active şi topologii, componentele pasive pentru
reţelele electrice, idem pentru cele cu fibre optice, convertoare optice pentru Ethernet industrial,
indicatoare de montaj pentru reţele din clădiri, SIMATIC NET – reţele electro-optice, ş.a.
Dar la ora actuală pe piaţă există în jur de 50 de tipuri de magistrale industriale, însă cele mai importante
dintre ele sunt :
CAN
PROFIbus
LON
Foundation Fieldbus.
Câteva cuvinte despre fiecare !
CAN (Controller Area Network), este o magistrală de tip serial dezvoltată de companiile Bosch şi Intel
pentru industria de automobile, dar la ora actuală ea se foloseşte şi în cadrul sistemelor distribuite de
control mai ales pentru legăturile dintre traductoarele inteligente, a acţionărilor inteligente, respectiv în
cadrul unor sisteme de înalt nivel.
CAN este o magistrală cu mai multe master-noduri baztă pe o pereche de conductoare din cupru. Viteza de
transmisie depinde de lungimea magistralei : la distanţa de 40 metri viteza de transmitere a datelor este de 1
Mbit/s, dar la distanţa de 1000 metri viteza scade la 50Kbit/s. Există varianta CiA (CAN in Automation),
CAL (CAN Aplication Layer), CANopen.
Fondation Fieldbus – FF, este o magistrală industrială ce a rezultat la unificarea companiilor nord-
americane ISP-Foundation şi WorldFIP. Magistrala FF este orientată pe un control continuu în medii
umede, medii cu pericol de explozie, respectiv din aceste motive se proiectează pe baza unei logici de
tnsiune mică. Această magistrală este foarte asemănătoare cu magistrală PROFIbus-PA, dar şi cu unele
elemente din PROFIbus-FSM.
LON (Local Operating Network) este o magistrală ce se dezvolta iniţial de către companiile Echelon,
Motorola şi Toshiba pentru sistemele inteligente de automatizare ale clădirilor. La ora actuală ea se
foloseşte şi în cadrul sistemelor de automatizare industriale. Magistrala LON este destinată pentru
inteligenţa distribuită, astfel încât fiecare „neuron” (microschema unui nod) conţine 3 microprocesore,
dintre care unul este special stabilit pentru susţinerea comunicaţiei conform cu protocolul LonTalk, care
admite mari sarcini ale calculaţiei; o reţea LON poate cuprinde deja circa 32000 de noduri.
PROFIbus (PROcess Fieldbus) este tipul de magistrală cel mai răspândit în Europa şi SUA. PROFIbus
este standardul european (EN 50170), care la ora actuală este susţinut în SUA de organizaţia profesională
PROFIbus Trade Organization. Există câteva variante a protocoalelor de reţea, fiecare orientat pe un
anumit domeniu de aplicaţie :
PROFIbus-FSM;
PROFIbus-DP;
PROFIbus-PA.
PROFIbus-FSM este un protocol universal de comunicaţie. El se bazează pe diferite probleme
supervizoare de înalt nivel corespunzătoare PROFIbus-sistem.. FSM-eul a luat startul când utilizatorii
sistemelor industriale au început să aplice protocolul MAP (Manufacturing Automation Protocol), iar ca
rezultat mai multe elemente ale schimbului de informaţii sunt asemănătoare celor din MAP. Şi totuşi
sarcinile de înalt nivel ale acestui protocol îl fact neeficient pentru nivele inferioare ale traductoarelor.
PROFIbus-DP este un protocol productiv optimizat, destinat special pentru susţinerea timpului critic al
accesului la informaţii între nodurile inteligente distribuite şi nivelel ierarhice inferioare ale sistemului
PROFIbus şi apelează la unele elemente CAL. Acest protocol poate fi folosit în sisteme distribuite cu un
singur sau mai multe master-noduri, admiţând conectarea la magistrală până la 128 dispozitive.
PROFIbus-PA se foloseşte, de regulă, în cadrul sistemelor de automaţizare din mediile „umede” din
ramurile chimice şi ale prelucrării produselor petroliere în cadrul cărora se foloseşte o logică de tensiune
mică. De fapt, PROFIbus-DP se foloseşte de aceleaşi protocoale ca cele anterioare, dar într-o realizare
fizică diferită.
SUPLIMENT 1
Acest supliment este legat de subcapitolul introductiv (prima parte).
RS-232.
La punctul 7.1.9.1. al acestui subcapitol introductiv s-a amintit despre interfaţa serială de tip RS-232.
Ce reprezintă de fapt RS-232 ?
RS-232 (Recommended Standard 232) pentru telecomunicaţii, reprezintă standardul pentru transmisia
serială (sincronă şi asincronă) a datelor binare dintre un terminal (Data Terminal Equipment, DTE) şi un
dispozitiv de comunicaţie (Data Commucation Equipment, DCE).
Descriere.
RS-232 este o interfaţă pentru transmiterea informaţiei între două dispozitive, la o distanţă de 15 m.
Informaţia se transmite prin conductoare, cu un nivel al semnalelor diferit de cel standard, de 5 V, în
vederea obţinerii unei stabilităţi mai mari în raport cu perturbaţiile. Transmisia asincronă a datelor se
realizează cu stabilirea vitezei şi sincronizarea nivelului de semnal impulsului de start.
Destinaţia.
Interfaţa RS-232-C a fost dezvoltată pentru o folosire simplă aşa cum rezultă prin definire : “Interfaţa
dintre terminalele dispozitivelor şi dispozitivele de legătură, cu schimbul unui cod binar serial”.
Cel mai adesea se foloseşte în mediul industrial şi în cadrul unor dispozitive speciale; uneori se foloseşte la
unele calculatoare personale contemporane.
Principiul de lucru.
Conform cu structura sa este un protocol asincron serial obişnuit, adică partea transmiţătoare, pe rând,
emite în linie semnale de 0 şi 1, iar partea receptoare le primeşte şi le memorează.
Datele se transmit prin pachete de un bait (8 biţi).
Iniţial se transmite bitul de start, de polaritate inversă stării (idle) a liniei libere (neocupate), după care se
transmite direct cadrul informaţiei utile, de la 5, la 8 biţi.
Observând bitul de start, cel ce recepţionează aşteaptă un interval de timp T1 şi enumără primul bit, apoi la
intervalele T2 enumără ceilalţi biţi informaţionali. Ultimul bit, bitul de stop (starea neocupată a liniei)
arată că transmisia este încheiată. Sunt posibile 1, 1.5, 2 biţi de stop. La finalul baitului, cel de înaintea
bitului de stop, se poate transmite bitul de paritate (parity bit) pentru controlul calităţii transmisiei. El
permite observarea eventual a unei greşeli printr-un număr impar apărut.
Cuploarele.
Dispozitivele pentru legături conform cu un canal serial folosesc cabluri cu
9 sau 25 fire respectiv cuploare de tip D-sub. De regulă se notează cu DB-9,
DB-25, CANNON9, CANNON25.
Iniţial în cadrul RS-232 se foloseau DB25, dar pentru că multe din
aplicaţiile foloseau numai o parte din contactele standard, s-a ajuns la
folosirea tipului DB9 (D-miniatură), care sunt recomandate prin standardul
RS-574.
Standardele.
Asociaţia industriei electronice (EIA) dezvoltă standardele privitoare la
Fig.7.24.- Un cuplor transmiterea datelor. Standardele EIA au prefixul „RS”, ceea ce înseamnă
DB-9. standard recomandat, dar la ora actuală aceste standarde se notează, pur şi
simplu, „EIA”. RS-232 au fost introduse în anul 1962, acest standard s-a
dezvoltat, iar în anul 1969 el a ajuns deja la a treia ediţie (RS-232C), respectiv în anul 1987 era RS-232D,
denumit, de asemenea, ca EIA-232D. RS-232 este identic cu standardele CCITT V.24/V.28,
X.20bis/X.21bis, respectiv ISO IS2110. Ultima modificare (la nivelul acestui document !) este „E” din
1991 ca standard EIA/TIA-232E. În această variantă nu apar niciun fel de modificări tehnice ce pot duce la
incompatibilităţi cu precedentele variante.
NOTĂ.
În practică, în funcţie de calitatea cablului, distanţa de 15 este posibil să nu fie valabila pentru o anumită
viteză de transmitere şi să se ajungă, de exemplu, doar la 1.5 m pentru o viteză de 115200 bod pentru un
cablu neecranat de tip plat sau rotund. Pentru înlăturarea acestei limitări, dar şi pentru o izolare galvanică
dintre nodurile reţelei de transmisie se poate folosi combinaţia RS-232 – RS-422 (cu conservarea întregului
program) sau combinaţia RS-232 – RS-485 (cu o oarecare limitare a programului), iar în acest caz distanţa
de transmitere poate fi mărită până la 1 km la o viteză de 9600 bod, în condiţiile folosirii unui cabulu cu o
pereche torsodată de categoria 3.
RS-485.
RS-485 (Recommended Standard 485, EIA-485, Electronic Industrie Allience-485) este un standard pentru
transmisia datelor prntr-un canal simi-duplex, multidrop serial.
Standardul RS-485 a fost dezvoltat în comun de 2 asociaţii : EIA – Electronics Industries Association şi
TIA – Telecommucation Industry Association. Mai înainte EIA marca toate standardele sale cu prefixul
„RS” (Recommended Standard) şi mulţi ingineri continuă să folosească această notaţie şi totuşi în mod
oficial „RS” a fost înlocuită cu EIA/TIA cu scopul simplificării identificării provenienţei acestor standarde.
La ora actuală, diferitele dezvoltări ale standardului RS-485 cuprind un larg spectru de aplicaţii şi acest
standard a devenit standardul de bază pentru formarea unei familii întregi de reţele industriale foarte des
folosite în cadrul automatizărilor industriale.
În cadrul standardului RS-485 pentru transmiterea şi receptarea datelor se foloseşte o pereche unică de
conductoare torsodate, iar transmisia datelor se realizează cu ajutorul semnalelor diferenţiale. Printr-un
conductor (notat A) se transmite semnalul original, iar prin celălalt (notat B) copia sa inversată. Cu alte
cuvinte, dacă pe un conductor avem „1”, pe celălalt avem „0”, iar în acest fel între conductoarele perechii
torsodate există permanent o diferenţa de potenţial : pentru „1” diferenţa este este pozitivă,iar pentru „0” ea
este negativă.
Caracteristicile tehnice ale interfeţei RS-485.
Interfaţa RS-485 susţine următoarele standarde :
USA Franţa Germania Altele
EIA/TIA-422 CCITT V.10 — DIN 66 259-3 IEEE 1118
90kbit/1.2 km nesimetrice
CCITT V.11 — DIN 66 259-4 (4-Ware RS- (4-Ware BitBus)
EIA/TIA-422A simetrice 485)
EIA/TIA −485 ISO/IEC 8482 (4-
Interfaţa sistemelor de măsură Ware RS-485)
BitBus (Intel, Protocol DIN 66 348-2 (4-Wire RS-
HLDC) 485) DIN Measuring Bus
Susţinerea reţelelor:
BitBus, ModBus,
InterBus-S, DIN
Measuring Bus
NOTĂ.
1.- Standardul RS-485 se referă numai la caracteristicile electrice ale mediului fizic, dar nu şi despre
platforma de programare.
2.- Standardul RS-485 nu se referă la :
posibilitatea reunirii reţelelor simetrice cu cele nesimetrice;
parametri calităţii semnalului, nivelul de deformare (%);
metodele de acces la linia de legătură;
protocolul de schimb;
configuraţia de apartaj (mediul de schimb, cabluri);
tipurile de conectoare/deconectoare, numerotarea contactelor;
calitatea susrsei de alimentare (stabilizaţia, pulsaţia, accesul);
reflectarea în cadrul liniilor lungi.
Caracteristicile electrice şi temporale ale interfeţei RS-485.
la 32 emisie/recepţie, în cazul unei configuraţii ale reţelei multinodale (pentru un segment,
lungimea maximă a reţelei de segment : 1200 m)
numai un singur transmiţător este activ;
numărul maxim de noduri din reţea : 250 cu considerarea amplificatoarelor magistralei;
Caracteristica viteza de schimb/lungimea liniei (dependenţă exponenţială) :
--- 62,5 kb/s 1200 m (o pereche torsodată);
--- 375 kb/s 300 m (o pereche torsodată);
--- 500 kb/s;
--- 1000 kb/s;
--- 2400 kb/s 100 m (2 perechi torsodate);
--- 10000 kb/s 10 m.
NOTĂ. Viteza de schimb : 62,5 kb/s, 375 kb/s, 2400 kb/s sunt menţionate prin standardul RS-485. Pentru
viteze mai mari de 500 kb/s se recomandă folosirea perechii torsodate ecranate.
Tipul receptoarelor/transmiţătoaelor – diferenţial, potenţial. Modificarea tensiunilor de
intrare/ieşire în liniile A şi B : Ua (Ub) de la -7 V, la +12 V (+7 V)
Condiţiile impuse pentru cascada de ieşire : cascada de ieşire reprezintă o susrsă de tensiune cu o
rezistenţă de ieşire mică, |Uies|=1,5:5,0 V (nu < 1,5 V şi nu > 6,0 V)
--- starea logicului „1” : Ua mai mare decât Ub (histerezis 200 mV) – MARK, OFF;
--- starea logicului „0” : Ua mai mic decât Ub (histerezis 200 mV) – SPACE, ON;
--- cascada de ieşire trebuie să suporte regimul de scurtcircuit, să admită un current maxim de 250
mA, gradientul semnalului de ieşire 1,2 V/mks şi o schemă de limitare pentru puterea de ieşire.
Condiţiile impuse pentru o cascadă de intrare : o cascadă de intrare reprezintă o intrare diferenţială
cu rezistenţă de intrare mare şi o caracteristică de prag de la -200 mV, până la +200 mV;
--- gama admisibilă a tensiunilor de intrare Uag (Ubg) în raport cu pământul (GND), de la -7 V,
până la +12 V;
--- semnalul de intrare este o tensiune diferenţială (Ui+0,2 V) sau mai mult;
--- nivelul stării receptorului cascadei de intrare – vezi starea transmiţătorului cascadei de ieşire.
Protocoalele de reţea ce lucrează peste RS-485, sunt :
LanDrive
Profibus DP
Modbus
DMX512
Oven
HDLC
DCON
Reţelele industriale executate pe baza de RS-485, sunt :
LanDrive
Profibus
Modbus
Ultimele indicative de protocoale şi denumiri de reţele pot fi căutate pe internet pentru extinderea
documentaţiilor.
Supliment 2.
În cele următoare se prezintă sub forma sintetică (o forma prescurtată : idei,
prezentări grafice, material sistematizat pe 13 capitole, etc) un material extras de pe
internet, ce poate fi extrem de folositor pentru sistematizarea cunoştinţelor (mai ales
că este foarte detaliat) privind PLC-eurile. Poate fi recomandat mai ales pentru cazul
când se urmăreşte o specializare detaliată privind tematica PLC-urilor. Se
RECOMANDĂ mai ales cap.10 pentru programare în LD, respectiv cap.9 pentru
Reţele industriale de comunicaţie pentru automatizare (o parte a ideilor acestui
supliment se regăsesc în partea scrisă a capitolului 7).
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.
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.
- 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
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
C
o
n
f
r
o
m
4.Comutativitatea
5.Distributivitatea
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
Element neutru.
Ditributivitate.
Elementul opus.
Idempotenţa.
Proprietăţile lui 0 şi 1.
Absorbţia.
De Morgan.
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.
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
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
Gestionează conexiunile;
Corectare erori;
Controlul transferului.
Exemplu :
T
C
P
Rutarea mesajelor;
Controlul congestiei;
Transmisie nod-nod.
Exemple :
IP
E
x
e
m
p
l
e
T
o
a
t
e
.
9.4.8.- Reţele industriale – comparaţie.
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
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.
–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
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.
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.
A := B;
Tip dată la tip dată
INT la INT
sau
Configuratie_Canal_Analogic la Configuratie_Canal_Analogic
13.3.- Instrucţiuni de control şi buclare.
IF .. THEN .. ELSE
CASE
FOR
WHILE …
REPEAT UNTIL
13.3.1.- Instrucţiunile IF…TEN…ELSE.
IF conditie= true
THENactiune1
ELSE actiune2 (condiţia nu e adevarată)
Exemplu :
IF plouaTHEN Stai_acasaELSE
Mergi_La_Plimbare
D := B*B -4*A*C ;
IF D < 0.0 THEN
NROOTS := 0 ;
ELSIF D = 0.0 THEN
NROOTS := 1 ;
X1 := -B/(2.0*A) ;
ELSE
NROOTS := 2 ;
X1 := (-B + SQRT(D))/(2.0*A) ;
X2 := (-B -SQRT(D))/(2.0*A) ;
END_IF ;
13.3.2.- Instrucţiunea CASE : IF repetitive
CASE selector OF
valoare_selector :actiune
ELSE …..
END_CASE;
TW := BCD_TO_INT(THUMBWHEEL);
TW_ERROR := 0;
CASE TW OF
1,5: DISPLAY := OVEN_TEMP;
2: DISPLAY := MOTOR_SPEED;
3: DISPLAY := GROSS -TARE;
4,6..10: DISPLAY := STATUS(TW -4);
ELSE DISPLAY := 0 ;
TW_ERROR := 1;
END_CASE;
QW100 := INT_TO_BCD(DISPLAY);
13.4.- Instrucţiunea FOR.
SUM := 0 ;
FOR valoare_initialaTO valoare_finalaDO
END_FOR ;
Exemplu :
SUM := 0 ;
FOR I := 1 TO 3 DO
FOR J := 1 TO 2 DO
SUM := SUM + J ;
END_FOR ;
SUM := SUM + I ;
END_FOR ;
J := 101 ;
FOR I := 1 TO 100 BY 2 DO
IF WORDS[I] = 'KEY' THEN
J := I ;
EXIT ;
END_IF ;
END_FOR ;
13.5.- Instrucţiunea WHILE.
J := 1;
WHILE J <= 100 & WORDS[J] <> 'KEY' DO
J := J+2 ;
END_WHILE ;
13.6.- Instrucţiunile REPEAT…UNTIL.
J := -1 ;
REPEAT
J := J+2 ;
UNTIL J = 101 OR WORDS[J] = 'KEY'
END_REPEAT ;
13.7.- Instrucţiunile EXIT şi RETURN.
Instrucţiunea EXIT va fi folosită pentru a termina interaţiile înainte să fie
satisfăcută condiţia de încheiere a iteraţiilor.
SUM := 0 ;
FOR I := 1 TO 3 DO
FOR J := 1 TO 2 DO
IF FLAG THEN EXIT ; END_IF
SUM := SUM + J ;
END_FOR ;
SUM := SUM + I ;
END_FOR ;
BIBLIOGRAFIE.
E.van der Wal, Structured Text-a high level language, www.plcopen.org
SR EN 61131-3, Automate programabile. Partea 3. Limbaje de programare
C.G.Haba, Sisteme de comandă a maşinilor electrice, Ed. Gh.Asachi, Iaşi.
Materialul acestui supliment a fost extras de pe Internet cu adresa :
www.ee.tuiasi.ro/~cghaba/spmenote curs.htm, deci autorul este C.G. Haba.
Supliment 3.
În continuare se prezintă, tot ca supliment, manualul utilizatorului
pentru un releu inteligent de tip ZELIO LOGIC 2 (Scneider electric,
conform cu documentaţia 2004) cu toate detaliile pentru programarea
sa (vezi pagina următoare).
ZELIO LOGIC 2
Releu inteligent – manualul utilizatorului
ianuarie 2004
CAP 1. O cunoaştere iniţială a unui releu inteligent.
1.1.- O prezentare.
Releele inteligente sunt realizate pentru simplificarea schemelor electrice în cazul
soluţionării problemelor complexe. Ele sunt foarte simple pentru exploatare, iar
funcţionalitatea lor şi productivitatea lor ridicată, permite utilizatorului să economisească
timpul şi banii.
Acest manual al utilizatorului este destinat pentru cei ce nu au o experienţă prea mare în
dezvoltarea sistemelor de automatizare, dar ar dori totuşi să folosească releele inteligente.
Vederea din fată a unui astfel de releu este dată în figura următoare :
Referinţa Descrierea.
1 Reflectarea stărilor ieşirilor (B … E reprezintă ieşirile analogice); fiecare ieşire analogică
poate fi folosită în calitate de ieşire discretă.
2 Reflectarea regimului de lucru ((RUN/STOP) şi a regimului de programare (LD/FBD).
3 Reprezentarea datelor (număr şi timpul pentru dispozitivele ce permit astfel de posibilităţi)
4 Reprezentarea stărilor ieşirilor.
5 Menu-ul de context / tastele pentru acţiune rapidă / icoanele ce reflectă regimul de lucru.
Tasta Menu/OK. Tasta albastră şi este dispusă sub ecran. Această tastă se
foloseşte pentru confirmarea : menu, submenu, programe, parametri, etc.
Taste de navigare sau Z-taste. Z-tastele sunt taste de culoarea gri, dispuse în
linie de la stânga (Z1), la dreapta (Z4), sub LCD. Săgeţile ce arată direcţia de
mişcare sunt dispuse deasupra tastelor. Tastele de navigare se folosesc pentru
deplasarea în sus, în jos, la stânga şi la dreapta
Poziţia pe ecran este prezentată printr-o zonă intermitentă (clipire) :
patrat ■ pentru o poziţie ce corespunde unui contact (numai în regimul de
programare);
cerc ● pentru o bobină (numai în regimul de programare).
NOTĂ. Când tastele pot fi folosite pentru alte acţiuni, în afară de deplasare, atunci se
afişează rândul din meniul de context (De exemplu : 1, 2, 3 şi 4, ca intrări legate cu Zx-
taste).
Menu-ul de context.
Când cursorul este plasat (pe un) într-un parametru modificabil, atunci la apăsarea tastei
Shift apare menu-ul de context.
Ilustrarea este dată în figura următoare :
+ / - : se folosesc pentru obţinerea diferitelor valori posibile ale câmpului ales
(tipurile input-urilor, output-urilor, a blocurilor funcţionale, a valorilor numerice, etc);
Ins. : instalează un rând, când cursorul se găseşte deasupra unui parametru, sau o
funcţie automată când cursorul se afla deasupra unui câmp liber;
Del. : îndepărtează elementul indicat sau rândul;
Param. : afişează parametri funcţiei automate (se va putea vedea numai dacă
funcţia automată posedă parametrul).
1.4.- Exemple.
Descrierea/Acţiunea Ecranul
Alegerea limbajului
SAU +
(Alegerea este evidenţiată prin clipirea textului) Tasta Menu/OK se foloseşte pentru confirmarea alegeri
limbajului. Ecranul se reîntoarce la menu-ul principal (MAIN)
(regimul STOP).
Reîntoarcerea la ecranul INPUT S– OUTPUTS
+ 7 ori
Se intră în menu-ul alegerii limbajului.
+ 3 ori
Din meniul CONFIGURATION se intră în submeniul
modificării datei/timp – CHANGE D/T
+ 3 ori
Se intră în menu-ul configurării datei şi a timpului :
3 Se alege parametrul pentru modificare prin folosirea tastelor săgeţilor ← sau→ din
menu-ul de context (valorile admisibile pentru modificare devin clipitoare).
4 Se modifică valoarea parametrului cu ajutorul tastelor + (↑) şi – (↓) din menu-ul de
context.
5 Se confirmă modifcarea prin apăsarea tastei Menu/OK.
Rezultatul : display-ul revine de la ecranul INPUTS/OUTPUTS, la ecranul
TEXT/DISPLAY.
Limbajul FBD.
Funcţiile în legătură cu parametri în limbajul FBD sunt :
Input-urile numerice de tip Constant;
Ceasul;
Amplificator;
Timer-e : TIMER A/C, TIMER B/H, TIMER Li;
Contoarele : PRESET COUNT;
Contoare rapide;
Blocul CAM.
Accesul la blocurile FBD pentru parametri trebuie cunoscută de către utilizator :
numărul blocului şi introducerea lui. Numărul apare în lista de legătură în colţul din
dreapta-sus al blocului. Dacă parametri sunt afişabili (şi nu sunt blocaţi), atunci ei apar în
cadrul ferestrei, altfel apare comunicarea NO PARAMETERS.
Procedura modificării parametrului este :
Pasul Descrierea.
1 Cursorul se dispune deasupra menu-ului PARAMETERS din menu-ul principal
(PARAMETERS clipeşte) şi se confirmă alegerea făcută prin apasarea tastei Menu/OK.
Rezultatul : fereastra parametrilor se deschide prin afişarea primuluiparametru.
2 Se alege funcţia pentru modificare. Pentru ca să fie aleasă funcţia necesară se listează toate
funcţiile (cu ajutorul tastelor de navigare ↑ şi ↓) până ce se ajunge la cea necesară.
3 Se alege parametrul ce se modifică. Se folosesc tastele ← şi → pentru alegerea parametrului
ce trebuie modificat.
4 Se modifică parametrul cu ajutorul tastelor + şi – (↓ şi ↑) din menu-ul de context
5 Se confirmă modificarea prin apăsarea tastei Menu/OK, care deschide fereastra de
confirmare.
6 Se confirmă din nou prin dubla apăsare Menu/OK.
Rezultatul : display-ul se returnează la ecranul INPUTS/OUTPUTS în regimul RUN şi la
menu-ul principal în regimul STOP.
Aici se propune utilizatorului alegerea confirmării stării de comutare, care este inversă
celei curente : YES clipeşte totdeauna.
Dacă programul se află în regimul :
STOP : se propune RUN PROG..
RUN : se propune STOP PROG..
Tastele cursorului ↑↓ se folosesc pentru alegere. Când alegerea regimului este confirmată
prin tasta Menu/OK, atunci display-ul se comută pe ecranul INPUTS/OUTPUTS.
Erorile posibile.
Nu există memorie de rezervă. Comunicarea erorii : TRASFER ERROR : NO
MEMORY.
Configuraţia programului ce se transferă nu este compatibil cu configuraţia
aparatului. Comunicarea erorii : TRANSFER ERROR : CONFIG INCOPAT (se
precizează numărul erorilor). Se poate referi la menu-ul FAULT pentru determinarea
numărului erorii şi posibilitatea înlăturării sale.
Alegerea limbii.
Limba curentă este indicată prin simbolul alegerii (simbolul rombului negru).
Procedura alegerii limbii este :
Paşii Descriere.
1 Se alege limba folosind tastele de navigaţie : ↓↑ (alegerea devine clipitoare)
2 Se confirmă alegerea făcută cu ajutorul Menu/OK.
Rezultatul : display-ul se returnează la ecranul INPUTS/OUTPUTS în regimul RUN,
respectiv la menu-ul principal în regimul STOP.
Descrierea erorilor.
Numărul Tipul erorii.
00 Nu sunt erori
01 Eroarea depinde de EEPROM. Această eroare este legată de problema transferului
dintre memorie şi controller. Dăcă eroarea se produce des, atunci trebuie realizată
legăura cu serverul-centrului.
02 Eroarea notării valorilor ceasului. Dăcă eroarea se produce des, atunci trebuie realizată
legtura cu serverul de centru.
04 Suprasarcina la tranzistoarele de output (avertizare). Imediat ce temperature
tranzistorului de input atinge 170 C, grupa formată din 4 output-urilor, din care face
parte, se dezactivează. Pentru activarea acestei grupe de output-uri, la incept trebuie
înlăturată cauza supraîncălzirii (de exemplu, scurtcircuit), iar apoi îndepărtată eroarea
din menu-ul FAULT.
50 Programul de asigurare al modulului este degradat. Se reîncarcă programul de asigurare
al modulului şi aplicaţia utilizatorului. Dacă această eroare apare din nou, atunci trebuie
realizată legătura cu serverul-centrului.
51 Suprasolicitarea timer-ului. Avertizare sau eroare în legătură cu alegerea făcută în
menu-ul CONFURATION (display-ul modulului) sau în fereastra configurării
(instrumentarul pentru programarea Zelio Soft 2) Timpul ciclului la nivelul modulului
este prea mic în comparaţie cu timpul execuţiei programului aplicaţiei înscrise în
controler. Dacă aplicaţia necesită un timp strict, atunci se poate alungi timpul ciclului
din modul. Pentru aceasta se configurează modulul fie în menu-ul CONFIGURATION
(display-ul modulului) sau în fereastra configuraţiei (instrumentarul pentru programarea
Zelio Soft 2). Dacă aplicaţia nu necesită controlul timpului ciclului, atunci în menu-ul
CONFIGURATION se alege : No action for the WATCHDOG.
52 Controlerul a executat o operaţiune necunoscută. Dacă eroarea se repetă constant, atunci
se reîncarcă programul modulului şi aplicaţia utilizatorului. Dacă această eroare apare
din nou, atunci trebuie realizată legătura cu serverul-centrului.
53 Este distrus link-ul dintre modul şi magistrala extensiei. Se verifică funcţionarea corectă
a extensiei.
54 Este distrus link-ul dintre modul şi extensia input/output. Se verifică funcţionarea
corectă a extensiei.
58 Erorea persistă în programul asigurării (asigurarea programată specifică pentru
controler) sau în cadrul dispozitivelor controlerului. Dacă eroarea apare în mod
constant, atunci se reîncarcă programul modulului şi aplicaţia utilizatorului.
59 La punerea în funcţie a aplicaţiei modului : aplicaţia nu se poate comuta în regim RUN,
deoarece nu este compatibilă cu modulul.
Dacă această eroare se repetă din nou, atunci trebuie realizată legătura cu serverul-
centrului.
60 La pornirea aplicaţiei modulului : aplicaţia nu se comuta în rgimul RUN, deoarece ea nu
este compatibilă cu magistrala extensiei.
Dacă această eroare se repetă din nou, atunci trebuie realizată legătura cu serverul-
centrului.
61 La pornirea aplicaţiei modulului : aplicaţia nu se comuta în rgimul RUN, deoarece ea nu
este compatibilă cu extensia input/output.
Dacă această eroare se repetă din nou, atunci trebuie realizată legătura cu serverul-
centrului.
62 Versiunea nu este compatibilă la reîncarcarea programului din memoria de rezervă.
Dacă această eroare se repetă din nou, atunci trebuie realizată legătura cu serverul-
centrului.
63 Configuraţia aparaturii este incompatibilă la reîncarcarea programului din memoria de
rezervă.
Dacă această eroare se repetă din nou, atunci trebuie realizată legătura cu serverul-
centrului.
Dacă cheia apare, atunci înseamnă că modulul este protejat printr-o parolă. În fereastră
apare declaraţia CLEAR şi numărul de încercări 1/5. Ca rezultat pot fi următoarele
comunicări :
Password is correct : adică, parola este deconectată şi modulul revine la menu-ul
PASSWORD.
Password is incorrect : contoarul încercărilor CLEAR se măreşte cu o unitate,
respectiv apare următoarea imagine a ferestrei :
Această alegere poate fi făcută numai în acel caz când releul inteligent se găseşte în
regimul de STOP.
NOTĂ. Implicit releul inteligent este configurat să lucreze în regimul Slow
NOTĂ. Această funcţie este accesibilă la releul inteligent cu o conectare directă a
alimentării electrice.
NOTĂ. Pentru revenire la menu-ul de bază din menu-ul CONFIGURATION se foloseşte
tasta cursorului ← .
Alegerea tipului de filtru.
Tipul curent este arătat de simbolul de alegere (rombul negru).
Procedura alegeri filtrului este :
Paşii Descriere.
1 Se alege tipul filtrului : ↓↑ (alesul clipeşte).
2 Se confirmă cu ajutorul Menu/OK.
Rezultatul : display-ul revine la menu-ul principal.
NOTĂ. Zelio Logic conţine un program de modul, care determină ziua săptămânii la
introducerea datei corecte.
Exemplul 1 :
Exemplul 1 :
Când output-ul Q1 este deconectat, atunci output-ul Q2 este activ. Output-ul Q2 va vea
totdeauna starea inversă în raport cu Q1.
NOTĂ. Funcţiile şi , SET şi RESET trebuie să fie folosite numai osingură dată
pentru fiecare bobină.
Dacă se foloseşte bobina SET, atunci se recomandă să se realizeze acţiunea RESET
pentru această bobină.
Folosirea bobinei SET asupra sa însăşi poate fi justificată în cazul chemării semnalului
de alarmă, care poate fi anulat numai printr-o comandă program INIT + RESET.
Exemplul de folosire a releului de comutare.
Aceasta este o funcţie foarte comodă, care permite conectarea sau deconectarea luminii
folosind o singură tastă. Dacă tasta este legată de input-ul I1, iar lampa la output-ul Q1,
atunci de fiecare dată când tasta este apăsată, lumina, dacă a fost deconectată, se va
conecta şi invers. Pentru instalarea unui comutator ambisens, pur şi simplu se conectează
input-urile în paralel, iar tasta se va conecta la ambele input-uri.
Exemplul de folosire a bonelor SET (conectează) şi RESET (deconectează).
Soluţia următoare se aplică pentru controlul alimentării instalaţiei cu ajutorul tastelor de
conectare şi deconectare.
Tasta BP2 este conectată la input-ul I2 a releului inteligent, iar tasta BP3 la input-ul I3.
Instalaţia de control, în cazul dat lampa cu denumirea L1, este conectată la output-ul Q2.
Se apasă tasta BP2 pentru conectarea lămpii.
Se apasă tasta BP3 pentru deconectarea sa.
NOTĂ. Bobina RESET are prioritate asupra bobinei SET.
Încuierea.
Implicit, după conectarea alimentării starea output-urilor corespunde cu iniţializarea
programului
Pentru restaurarea stărilor output-urilor, conservate în timpul întreruperii alimentării, se
activează încuierea output-urilor în cadrul ferestrei parametrilor, confirmând
introducerea parametrului .
Acest tip de diagramă în logica Ladder se foloseşte adesea pentru controlul diverselor
stări ale unor instalaţii.
Iniţializarea.
Stările contactelor la iniţializarea programului sunt :
Regimul normal-deschis (starea directă) -- neactive;
Regimul normal-închis (starea inversă) -- active.
Încuierea.
Implicit, după conectarea alimentării starea output-urilor corespunde cu iniţializarea
programului
Pentru restaurarea stărilor output-urilor, conservate în timpul întreruperii alimentării, se
activează încuierea output-urilor în cadrul ferestrei parametrilor, confirmând introducerea
parametrului .
NOTĂ. Pentru folosirea tastelor cursorului în acest fel, iniţial se verifică dacă ele sunt
activate prin funcţia Zx=KEYS din menu-ul CONFIGURATION. Numărul tastei, în
acest caz apare în menu-ul de context, în partea de jos a ecranului, ca în figura următoare:
În
cazul contrar, când releul inteligent se găseşte în regimul RUN, atunci aceste taste se
folosesc numai pentru navigare prin menu.
Exemplu de folosire a tastei “săgeata stânga”.
Acest exemplu arată cum se pote stabili releul de comutare, care va folosi în calitate de
input tasta Z1, iar ca output Q1.
Parmetrul. Descrierea
Numărul modulului 1 Se pot folosi 8 module numerotate de la 1, la 8.
Tipul configurării datei 2 D/W : Zilele săptămânii.
Ziua acţiunii (tipul D/W) 3 Zilele de acţiune pot fi :
0 : luni ;
1 : marţi ;
...
6 : duminica
Zilele nealese se menţionează cu simbolul _ .
Timpul iniţial (tipul D/W) 4 Timpul iniţial de acţiune se stabileşte în formatul:
Ora: Minutul
(C 00.00, până la 23.59).
Timpul final (tipul D/W) 5 Timpul final de acţiune se stabileşte în formatul :
Ora : Minutul
(C 00.00, până la 23.59).
Blocarea parametrilor : 6 Acest parametru se foloseşte pt. blocarea
parametrilor blocului funcţional Clock. După
blocare, valoarea iniţial stabilită nu mai apare în
blocate, deblocate menu-ul PARAMETER.
Intervalele de lucru. 7 Sunt accesibile 4 intervale de lucru : A, B, C, D.
NOTĂ. Un exemplu din capitolul 7 descrie un alt mod de folosire a intervalelor de timp.
În cazul unor variante complexe este posibil ca două intervale să fie conexe.
Parametri de comparare.
Formula de comparare este :
CONST X + VAL1 < Operatorul de coparare > CONST Y + VAL2
în care s-a notat :
CONST X şi CONST Y, constante în intervalul : -32767 şi 32767;
VAL1, VAL2, sunt valori stabilite de contoare pentru comparare; alegerea se face
în menu-ul ?????.
Operatorii de comparare se ot alege din fereastra PARAMETERS :
Zelio Descriere Simbol Descriere
> mai mare J inegal
mai mare sau egal J mai mic sau egal
= egal < mai mic
deblocat
neactiv Această funcţie se poate folosi la conservarea stării valorii curente a contoarului în cazul
activ deconectării alimentării.
Output-ul se comută în starea neactivă la finalul duratei impulsului. Dacă comutarea este
activă înainte de modifcarea stării, atunci impulsul de output va fi prelungit până la
suprapunerea cu aşa numita durată a impulsului (sincronizarea).
4.10.- Blocul funcţional TIMER.
Blocul funcţional Timer se foloseşte pentru reţinerea (întârzierea) şi controlul acţiunilor
în decursul unei perioade date de timp. El posedă input de descărcare, un input de control
şi un output pentru indicarea finalizării peroadei de timp stabilite.
Stabilirea parametrilor blocului funcţional se poate realiza :
prin introducerea unui rând al diagramei Ladder;
prin menu-ul PARAMETER, dacă funcţia nu este blocată.
Caracteristicile de timp pot fi stabilite prin folosirea uneia din cele 2 valori stabilite, în
funcţie de tipul timer-ului
Sunt stabilite în total 11 tipuri de timer-e (în detaliu vezi paragraful reglării parametrilor).
Folosirea în calitatea de contact.
Reprezentarea Funcţia Numărul Descrierea.
TNo. Normal deschis De la 1 Funcţionarea contactului depinde de stabilirea
parametrilor timer-ului. Stabilirea parametrilor
se descrie la finalul acestui paragraf.
tNo. Normal închis la G Idem.
Folosirea în calitate de bobină.
Element Descriere/Folosire.
TT Folosit în calitate de bobină în diagrama Ladder, acest element reprezintă un input de
control al timer-ului. Funcţionarea lui depinde de tipul folosit (vezi tabelulurmător).
RT Folosit în calitate de bobină în diagrama Ladder, acest element reprezintă n input de
descărcare. Stabilirea bobinei pentru descărcarea valorii curente a timer-ului : contactul
T se dezactivează şi blocul este gata pregătit pentru ciclu nou.
Stabilirea parametrilor.
Elementul Descrierea/Folosirea.
Tipul Există 11 tipuri de timer-e. Toate tipurile determină o anumită formă de acţiune pentru
diferite tipuri de probleme posibile.
A : reţinerea (întârzierea) acţiunii;
a : pentru lucrul cu un impulsstart/stop;
C : reţinerea (întârzierea) deconectării;
A/C : o combinaţie dintre timer-e A şi C;
B : deconectorul actvaţiei impulsului de control : impulsul coincident cu cu
frontul de la input-ul de control;
W : deconectorul dezactivării inpulsului de comandă : impulsul coincident cu
frontul dat de la input-ul de control;
D : clipire simetrică;
d : “clipirea” cu impulsul de comandă : sincron;
L : “clipirea” cu controlul reţinerii : asincron;
I : “clipirea” cu impulsul de control : asincron;
T : activare totală.
t=00.00 Această valoare se denumeste valoarea stabilită. Efectul acestei valori se modifică în
sau funcţie de tipul folosit. Se poate referi la un tabel următor pentru detaliere.
A=00.00 Pentru timer-e de tip A/C şi L, acest parametru se înlocuieşte cu următoarele :
B=00.00 A : A/C reţinere la încuiere;
B : A/C timer de reţinere la deconectare.
s Baza de timp a valorii stabilite. Exista 5 stări posibile :
1/100 secunde : 00.00 s (maximum 99.99);
1/10 secunde : 000.0 s (maximum 999.9);
minute: secunde : 00.00 m:s (maximum 99.59);
ore : 0000 o (maximum 9999)
Numai pentru tipul T (activării totale).
Acest parametru se foloseşte pentru blocare valorii stabilite a blocului funcţional. După
blocare valoarea stabilită nu mai apre în menu-ul PARAMETER.
T sau t Folosit ca contact, acest element al blocului funcţional reprezintă output-ul timer-ului.
Lucrul său depinde tipul ales (vezi unul dintabelele următoare).
Această funcţie se foloseşte pentru conservarea stării curente a timer-ului la
deconectarea (întreruperii) alimentării.
Urmează o figură în care sunt nominalizate elementele principale ale blocului funcţional
Timer.
La introducerea lui TT1 trebuie să fie stabiliţi parametri blocului funcţional al timer-ului
NOTĂ. Se folosesc următoarele taste : Sel./Ok pentru alegerea sau confirmarea
parametrului, Z2 şi Z3 pentru modificarea valorii parametrului ales, Z1 şi Z4 pentru
deplasarea de la un parametru, la altul.
În cele următoare se prezintă o succesiune ale ecranelor/comenteriilor privind folosirea
timer-ului în cadrul aplicaţiei date :
Ecranul Comentariu
Acesta este primul ecran. La început se
alege tipul de timer. ( 1 ori tasta → apoi
de 3 ori tasta ↑)
Se alege timer tip B, cu impus. Apoi se
alege baza de timp ( de 2 ori →, apoi de
2 ori ↑)
NOTĂ. Pentru punerea în funcţie a timer-ului este necesar ca releul în regimu RUN.
Stabilirea parametrilor.
Ecranul parametrilor Comparatorului, tipul histerezisului în regimul de lucru cu panoul
frontal apare astfel :
Activarea input-ului I1 face să apară textul pe LCD; iar activarea input-ului I2 conduce
la dispariţia textului.
Fiecare rând cuprinde 5 câmpuri cu câte 2 simboluri în care fiecare este pentru stabilirea
contactelor (condiţiilor). Cele 4 coloane centrale se pot folosi, de asemene, pentru
formarea legăturilor. Ultima coloana trisimbolică se foloseşte pentru bobine (acţiuni).
Legăturile trebuie să fie realizate între coloanele bobinelor şi cele ale contactelor.
Diagrama Ladder se inserează la releul inteligent cu ajutorul tastelor de la panoul
frontal (vezi descrierea tastelor de comandă din paragraful 3 al capitolului 1).
Dacă se foloseşte bobina S (Set) Dacă nu există bobina R (Reset), Bobina R (Reset) trebuie să fie folosită
în diagrama Ladder atunci bobina corespunzătoare se pentru descărcare.
va stabili în 1.
NOTĂ. Releele inteligente realizează o programă de sus în jos, respectiv de la
stânga, la dreapta.
3.- Se desenează legătura prin mişcarea cursorului în poziţia necesară cu ajutorul tastelor
de la Z1, la Z4;
4.- Se relaxează Shift.
Se repetă această acţiune de mai multe ori în funcţie de necesitate, pentru a lega (racorda)
elementele necesare.
Îndepărtarea legăturilor dintre elemente.
1.- Se deplasează cursorii sau asupra legăturii ce urmează să fie îndepărtată, cu
ajutorul tastelor de la Z1, la Z4 : ;
2.- Se apsă Shift : apare menu-ul de context;
3.- Cu tasta Menu/OK (Del.) se îndepărtează legătura;
4.- Se relaxează Shift.
În locuirea unei legături cu un contact.
Pentru înlocuirea unei legături cu un contact, pur şi simplu se dispune cursorul
deasupra câmpului dat şi se inserează contactul aşa cum se descrie la înserarea unui
element.
Fereastra PARAM este accesibilă, numai dacă blocul funcţional are parametri.
3.- Se relaxează Shift : apare menu-ul de context.
I1 corespunde poziţiei adevărate ale lui PB1, i1 corespunde stării inverse ale lui PB1, apăsrea lui
apăsarea lui PB1 activează input-ul I1, care la PB1 dezactivează input-ul i1, respectiv output-ul
rândul său închide Q1 şi aprinde lampa L1. Q1, ceea ce duce la stingerea lămpii L1.
Cazul general.
Tabelul următor ilustrează lucrul unui contact, legat de un releu inteligent.
Butonul PB1 este legat la input-ul I1, iar lampa L1 este conectată la output-ul Q1 al
releului inteligent.
Repaus. Funcţionare.
Schema electică Simbolul Zelio Schema electrică Simbolul Zelio
I1 = 0 I1 = 1
i1 = 1 i1 = 0
I1 = 1 I1 = 0
i1 = 0 i1 = 1
NOTĂ. Funcţia inversă poate lucra cu toate contactele din diagrama Ladder, fie că
reperzintă output-uri, relee auxuliare sau blocurile funcţinale.
I1 sau i1
sau
I1 sau i1
Bobina (SET)
Bobina (RESET)
I1—i2 M1 Clipeşte
Clipeşte M
I1—i2 M1
Clipeşte Q
de 2 ori
Apare cursorul ●
de 2 ori
Legătura este realizată.
de 3 ori
Cursorul se găseşte la
începutul rândului.
de atâtea ori cât este necesar să se
ajungă la începutul rândului.
I-ul se găseşte pe rândul 2 şi
clipeşte.
i- ul se găseşte pe rândul 2 şi
clipeşte.
1 se găseşte pe rândul 2 şi
clipeşte.
Clipeşte .
2 se găseşte pe rândul 2 şi
clipeşte.
de 2 ori
Acest exemplu aplicativ simplu arată unui utilizator, cum se poate insera o diagramă
Ladder. Următoarele puncte trebuie reţinute :
Când clipeşte ■ sau ●, atunci tasta Shift adaugă elementul (contact, bobina sau
simbolul grafic de legătură a elementelor);
Când clipeşte elementul (I, Q, No., …etc), se poate folosi Shift + săgeţile Z2 şi
Z3 de la claviatură pentru alegerea elementului necesar;
De asemenea, se pot folosi tastele de la Z1, la Z4 pentru deplasări în
cadruldiagramei Ladder.
Cap.7.- Depanarea
7.1.- Introducere.
Imediat ce aplicaţia a fost inserată sub forma unei digrame Ladder, este necesar să se
realizeze depanarea
Primul pas este acela că releul inteligent trebuie adus în regimul RUN, iar pentru aceasta
se alege punctul RUN/STOP din menu-ul principal, respectiv se confirmată pornirea
programului.
Din acest moment releul inteligent prelucrează input-urile şi output-urile fizice, conform
cu comenzile introduse în diagrama Ladder.
În continuare este prezentat ecranul releului la pornire.
Pentru modificarea lucrului releului inteligent, utilizatorul poate modifica sau reprezenta
unii dintre parametri blocului funcţional.
Modificarea diagramelor Ladder.
În mod ABSOLUT, NU ESTE POSIBILĂ modificarea rândurilor diagramei Ladder în
regimul RUN.
Dar se pot modifca parametri blocului funcţional în regimul MONITORING.
Folosirea Z-tastelor în calitate de butoane.
Dacă funcţia este activată, atunci pe ecranul INPUTS/OUTPUTS apare numărul tastei în
menu-ulde context, în partea de jos a ecranului, la paăsarea tastei SHIFT
Activarea tastei se poate face pur şi simplu prin alegerea sa : ↑→←↓.
NOTĂ. Apare reprezentarea numărului tastei folosite în cadrul programului.
De exemplu :
еню LD FBD
Descriere.
1 Numărarea mijloacelor de transport şi modificarea manuală a numărului mijloacelor de transport
ce se găsesc în fapt în parcarea auto.
2 Startul tmer-ului iluminării.
3 Startul timer-ului ventilatorului.
4 Prelucrarea funcţiei output-ului manual.
5 Controlul output-urilor : indicatorul gradului de umplere al parcării, blocarea intrării, iluminarea
parcării auto şi conectarea ventilatorului.
La enumerarea în sus şi în jos, contoarul se încuie, când parcarea auto se umple (dacă
mijloacelor de transport se permite manual întrarea, atunci nu se produce nici
evidenţierea, nici enumerarea).
IMPORTANT : Pentru contoarul dat bobinele CC şi DC trebuie să apară câte o singură
dată în cadrul diagramei Ladder. În afară de aceasta, output-ul Q2 se activează când
intrarea în parcare este interzisă. Aceasta conduce la folosirea unui releu auxiliar
(ajutător) pentru blocarea/deblocarea manuală a porţilor cu ajutorul tastelor cursorului.
Orele de lucru :
De luni, până vineri, de la
08.30, până la 17.30;
Sâmbăta, de la 09.30, până la
12.00;
Duminica închis.
Se folosesc deci 2 intervale.
Arow Keys.
Urmează un index alfabetic, care oricum nu este redat aici pentru că nu se potriveşte cu
partea tradusă .
Traducere B.Siro 01.01.2011, după documentaţia rusească de pe Internet.
SUPLIMENT 4
Urmează, tot ca supliment, documentaţia întreagă a unui volum privind
programarea PLC-urilor în limbajele Grafcet, Ladder şi Structured
Text, ca fiind cele mai utilizate de producătorii de PLC-uri (vezi pagina
următoare, ce prezintă şi coperta exterioră a volumului), Poate fi o bună
bază teoretică şi practică pentru învăţarea programării PLC-urilor
pentru cei care doresc acest lucru, iar documentaţii suplimentare pot fi
regăsite, într-o mare măsură, pe Internet (şi aici se vor regasi, mai ales în
partea generală, unele idei ale capitolului 7)
PREFAŢĂ
Lucrarea “Automate şi Microprogramare” reprezintă un suport teoretic şi practice de
proiectare a soluţiilor de conducere automată a proceselor industriale utilizând
echipamente de tip automat programabil.
Lucrarea este dedicată în primul rând studenţilor facultăţii de Automatică şi Calculatoare
din Universitatea Politehnica Bucureşti, care audiază cursul şi frecventează laboratorul de
Automate şi Microprogramare. De asemenea este utilă studenţilor din facultăţile cu profil
de automatică aparţinând universităţilor tehnice din ţară.
Cartea este structurată în 4 capitole, în care sunt prezentate cele mai representative tehnici
de programare, suportate de majoritatea producătorilor de automate programabile
industriale:
- limbajul grafic Grafcet;
- diagrame de tip Ladder;
- limbaje literare de tip Structured Text.
De asemenea sunt prezentate in detaliu mediile de programare logică avansată ISaGRAF
şi IndraLogic, fiind descrise pe larg atât metodele de dezvoltare a unor proiecte ample cât
şi detalii despre implementarea interfeţelor grafice necesare vizualizării şi supervizării
aplicaţiei implementate.
Prezentarea funcţionării dispozitivelor de tip automat programabil reprezintă baza de
cunoştinţe necesare unui viitor inginer automatist în scopul dezvoltării de sisteme
automate performante.
Metodele si soluţiile originale prezentate în cadrul lucrării, cum ar fi consideraţiile asupra
trecerii de la diagrame logice la programe de tip treaptă, ajută viitorii specialişti
înconceperea unor soluţii software corecte indiferent de tipul automatului cu care se
lucrează.
Prezentarea detaliată a lucrului cu cele mai noi medii de programare logică, descrierea în
amănunt a soluţiilor de automatizare pentru procese industriale complexe, cuprinzând
programe ciclice, secvenţiale, ecrane de vizualizare, programe de comunicaţie, prezintă
un grad evident de noutate în literatura ştiinţifică şi tehnică din ţară.
Multe din informaţiile si soluţiile prezentate în carte înglobează experienţa şi cunoştinţele
colectivului centrului de cercetare de excelenţă CIMR din cadrul Facultăţii de
Automatică şi Calculatoare din Universitatea POLITEHNICA Bucureşti.
Autorul
CUPRINS
Capitolul 1: CARACTERISTICI ŞI PERFORMANŢE ALE AUTOMATELOR PROGRAMABILE
1.1. Structura automatelor programabile 7
1.2. Module de intrare ieşire 9
1.3. Funcţionarea automatelor programabile 11
1.4. Diagrame logice 13
BIBLIOGRAFIE 113
În diagrama de mai sus, intrarea 1 nu este văzută înainte de ciclul 2. Acest lucru se
întâmplă deoarece atunci când s-a activat intrarea 1, ciclul 1 terminase deja de testat
intrările. Intrarea 2 nu este văzută înainte de ciclul 3. Acest lucru are loc deoarece ciclul 2
deja terminase de testat intrările. Intrarea 3 nu este văzută niciodată, deoarece când ciclul
3 testa intrările, semnalul 3 nu era incă activ, iar la începutul ciclului 4 era deja inactiv.
Pentru a evita acest lucru trebuie ca intrarea să fie activă pentru cel puţin un timp de
răspuns la intrare + un timp de scanare.
Dacă nu este posibil ca intrările să fie active atât de mult timp, AP-ul nu mai poate citi
intrările active nemaiputând implementa corect o aplicaţie de control. Există o cale de a
rezolva acest neajuns (mai precis două):
Funcţia de extindere a impulsului. Această funcţie extinde lungimea (durata)
unui semnal de intrare până la momentul la care AP-ul testează intrările, în ciclul
următor.
Funcţia de întrerupere. Această funcţie întrerupe ciclul de scanare pentru a rula
o rutină specială scrisă de utilizator. Când se activează o intrare, indiferent de starea
ciclului de scanare, AP-ul opreşte execuţia programului principal şi execută rutina
deîntrerupere (fig. 1.4). O rutină poate fi privită ca un mini-program în afara programului
principal. După ce a terminat execuţia rutinei de întrerupere, se întoarce în punctul în care
se oprise şi continuă normal procesul de scanare.
cu semnificaţia:
EN = Enable;
EU = Unload Enable;
DN = Done;
EM = Stack Empty;
ER = Error;
UL = Unload;
IN = Inhibit;
FD = Found.
Formatul general de adresare este Rf:e.s sau Rf:e/b cu semnificaţiile deja cunoscute.
Aceste tipuri de fişiere sunt folosite în cadrul instrucţiunilor de tip stivă, shiftare,
secvenţiere, prezentate în capitolul 2.4.
Fişierele de tip Integer.
Acest tip de fişier conţine elemente de un cuvânt, maxim 255 de elemente.
Formatul de adresare este Nf:e. unde e = 0..255 reprezintă numărul elementului.
Sunt folosite în instrucţiuni de comparaţie, matematice,etc. Semnificaţia cuvintelor şi
biţilor elementelor va fi prezentată în cadrul capitolul 2.4, unde sunt descrise
instrucţiunile.
În partea stângă se găsesc instrucţiuni de intrare (una sau mai multe) care formează
întotdeauna o expresie logică de intrare. Expresia logică de la intrare este alcatuită din
operatori logici (ŞI, SAU).
În partea dreaptă se găsesc instrucţiuni de ieşire, una sau mai multe. Efectul instrucţiunii
de ieşire depinde de valoarea logică a expresiei de la intrare.
Executarea ramurilor:
se calculează expresia logică a instrucţiunii de intrare;
se execută instrucţiunea de ieşire în funcţie de valoarea logică a expresiei de la
intrare.
→tot aşa ramură cu ramură.
Programul este executat ciclic, deci se trece la scanarea primei ramuri după scanarea
ultimei ramuri.
În cazul unui bloc AND se poate face reprezentarea grafică:
Dacă A şi B sunt adevărate atunci C
devine sau rămâne adevărată.
HSC (High Speed Counter). Numărătorul de mare viteză HSC este un numărător
hardware şi operează asincron faţă de scanarea programului ladder. Spre deosebire de
celelalte numărătoare HSC nu contorizează tranziţiile FALSE-TRUE ale ramurii ci
tranziţiile intrării I:0/0. Frecvenţa maximă acceptată este de 8 kHz. Această instrucţiune
este valabilă numai pentru controlere I/O fixe cu 24 intrări VDC. O singură instrucţiune
HSC este permisă pe un singur controler. Simbolul sau grafic este :
Parametrii instrucţiunii sunt :
Această instrucţiune are asociat un fişier de
trei cuvinte (octeţi). Cuvântul 0 este cuvântul de
control şi conţine biţii de stare:
bitul 10 (UA) actulizează acumulatorul
pentru a reflecta starea imediată a numărătorului
când HSC devine activă;
bitul 12 (OV) indică o depăşire a numărătorului;
bitul 13 (DN) indică egalarea presetului de către acumulator;
bitul 15 (CU) arată starea de activ/inactiv a instrucţiunii HSC.
Cuvântul 1 conţine valoarea de preset în gama 1 - 32.767,iar cuvântul 2 valoarea
acumulată.
Cum funcţionează?
Fiecare tranziţie a intrarii I:0/0 face ca acumulatorul să se incrementeze; când
acumulatorul egalează valoarea presetului bitul Done (C5:0/DN) este setat şi
acumulatorul pus pe zero.
Pentru a afla starea HSC-ului, programul ladder trebuie să interogheze bitul Done
(C5:0/DN). Imediat cum acesta a fost detectat activ trebuie dezactivat (cu instrucţiunea
OTU) înainte ca acumulatorul (C5:0.ACC) să egaleze valoarea presetului (C5:0.PRE)
pentru ca altfel bitul Overflow (C5:0/OV) este setat.
Valoarea acumulatorului (C5:0.ACC) de obicei este actualizată de fiecare dată
când ramura cu HSC este evaluată, actualizarea însemnând transferarea valorii
acumulatorului hardware în acumulatorul HSC software. După actualizare instrucţiunea
HSC resetează bitul C5:0/UA.
Dacă se doreşte testarea C5:0.ACC în programul ladder după rangul care conţine
instrucţiunea HSC, trebuie mai intâi să se seteze bitul C5:0/UA. Acest lucru este necesar
întrucât intrarea I:0/0 poate să tranziteze de câteva ori de la ultima evaluare a lui HSC.
Instrucţiuni de comparare.
Sunt instrucţiuni de intrare şi au ca operanzi cuvinte ale fişierelor de date.
EQU (Equal) Compară (A) cu (B), unde A şi B sunt adrese de cuvinte. Dacă (A)
= (B), atunci instrucţiunea devine TRUE.
NEQ (Not Equal).Devine TRUE dacă (A) diferit de (B).
LES (Less Than).Devine TRUE dacă (A) < (B).
LEQ (Less Than or Equal).Devine TRUE dacă (A) ≤ (B).
GRT (Greater Than). Devine TRUE dacă (A) > (B).
GEQ (Greater Than or Equal). Devine TRUE daca (A) ≥ (B).
MEQ (Masked Comparison for Equal). Permite testarea egalităţii după
aplicarea unei măşti (poate fi o valoare hexa).
LIM (Limit Test). Permite testarea încadrării unei valori între două limite. Low Limit
=val./adr. limită inferioară. Test = val./adr.val. test. High Limit =val./adr. limită
superioară. Este TRUE când Low Lim ≤ Test ≤ High Lim.
Parametrii necesari acestor instrucţiuni sunt:
Source = adresă valoare
Compare = o constantă întreagă sau adresa unei referinţe.
Instrucţiuni matematice.
O instrucţiune matematică acceptă doi operanzi, dintre care maxim unul poate fi o
constantă. Sunt instrucţiuni de ieşire.
ADD (Add) Dest = A + B.
SUB (Substract) Dest = A – B.
MUL (Multiply) Dest = A * B.
DIV (Divide) Dest = A / B.
NEG (Negate) Dest = (complement faţă de 2) Sursa.
CLR (Clear) Dest ← 0.
SQR (Square Root)
SCL (Scale Data) Dest ← (Sursa):Rate.
Instrucţiuni logice şi de mutare.
Sunt instrucţiuni de ieşire. Instrucţiunile logice se aplică bit cu bit datelor stocate la
adresele sursă. Când condiţiile de pe ramură sunt TRUE, atunci :
MOV (Move) (Dest) ← (Sursa).
MVM (Masked Move). Analog cu MOV, dar după ce sursa a fost trecută prin
Mask; masca poate fi o valoare hexa (o constantă).
AND (And) (Dest) = A AND B.
OR (Or) (Dest) = A OR B.
XOR (Exclusive Or) (Dest) = A XOR B.
Instrucţiuni de lucru cu stiva.
Instrucţiunile FFL (FIFO Load) şi FFU (FIFO Unload) se folosesc împreună.
Instrucţiunea FFL încarcă octeţi într-un fişier creat de utilizator numit stivă FIFO.
Instrucţiunea FFU descarcă octeţi din stiva FIFO în aceeaşi ordine în care au fost
introduşi. Pentru folosirea acestor instrucţiuni sunt necesari următorii parametrii:
Source reprezintă o adresă de cuvânt sau o constantă (-32.768 până la 32.767) în
care se află valoarea de introdus în stiva FIFO.
Destination reprezintă o adresă de cuvânt care memorează valoarea extrasă din
stiva FIFO.
FIFO reprezintă adresa stivei. Trebuie să fie o adresă indexată de cuvânt dintr-
unul din fişierele de intrare, ieşire, stare, bit, sau întregi. Pentru ambele instrucţiuni FFL
şi FFU trebuie să avem aceeaşi stivă.
Length reprezintă numărul de elemente din stivă (maxim 128). Ambele
instrucţiuni FFL şi FFU trebuie să aibă acelaşi număr de elemente.
Position reprezintă următoarea locaţie disponibilă din stiva unde se pot încărca
date. Această valoare se schimbă după fiecare operaţie de încărcare sau descărcare.
Acelaşi număr este folosit pentru ambele instrucţiuni FFL şi FFU.
Control reprezintă adresa fişierului de control, fişier în care sunt stocate date
despre biţii de stare, lungimea stivei şi valoarea poziţiei. Această adresă nu trebuie
folosită pentru nici o altă instrucţiune.
Biţii de stare din elementul de control sunt folosiţi
astfel:
Bitul Empty EM (bit12) este setat de
instrucţiunea FFU indicând că stiva e goală
Bitul Done DN (bit 13) este setat de instrucţiunea FFL pentru a indica faptul că
stiva e plină; aceasta inhibă încărcarea stivei.
Bitul FFU Enable (bit 14) este setat la tranziţia din fals în adevărat a rangului
FFU şi resetat la tranziţia inversă.
Bitul FFL Enable (bit 15) este setat la tranziţia din FALSE, în TRUE a ramurii
FFL şi resetat la tranziţia inversă.
Blocul funcţional PID.
Un bloc funcţional reprezintă un set de instrucţiuni (invizibile utilizatorului) care, având
cunoscut un anumit număr de parametri de intrare, sunt capabile să obţină o serie de
valori de ieşire, calculate după un anumit algoritm, care nu este transparent utilizatorului.
Utilizatorul poate doar să configureze blocul funcţional introducând valorile parametrilor
de intrare.
PID este un bloc funcţional apelat ca o instrucţiune de ieşire cu ajutorul căreia se pot
conduce procese după temperatură, presiune, nivel sau debit folosind bucle de reglare.
Instrucţiunile PID controlează în mod normal o buclă închisă folosind intrările de la un
modul analogic şi furnizând anumite ieşiri pentru un modul analogic de ieşire.
Aceste instrucţiuni pot opera în modul eşantionat sau în modul STI (Selectable Timed
Interrupts - Întreruperi de Timp Reglabile). În modul eşantionat, instrucţiunile
actualizează periodic ieşirile la o rată ce poate fi aleasă. În modul STI, instrucţiunile
trebuie să fie plasate în subrutine de întrerupere STI; ieşirile vor fi actualizate în
momentele de scanare ale STI.
Intervalul STI şi rata de actualizare a buclei trebuie să fie la fel pentru a executa corect
ecuaţia. Blocul funcţional PID foloseşte următoarea formulă:
Instrucţiunile PID se pun pe o ramură fără condiţionări logice. Dacă ramura nu este
parcursă, ieşirile rămân la valorile anterioare, iar termenul integral este resetat. În timpul
programării se introduc adresele Blocului de Control, a Variabilelor de Proces şi a
Variabilelor de Control după ce instrucţiunile PID au fost puse pe ramură:
Blocul de Control este un fişier care memorează datele necesare instrucţiunilor
pentru operare. Mărimea fişierului este fixată la 23 de cuvinte şi poate fi introdusă ca o
adresă de fişier pentru întregi. De exemplu: N10:0 va aloca elementele de la N10:0 până
la N10:22.
Variabila de Proces PV este adresa unui element care stochează valoarea intrării
din proces. Această adresă poate fi un cuvânt rezervat unei intrări analogice unde va fi
stocată valoarea respectivei intrări. Această valoare poate fi un întreg dacă se alege scala
0 -16383.
Variabila de Control cv este adresa unui element care stochează valoarea ieşirii
instrucţiunii PID. Domeniul de ieşire este 0 – 16383 (16383 corespunde unui nivel de
100% din ieşire).
După ce au fost introduse adresele pentru CB, PV şi CV, va apare următorul ecran cu
ajutorul căruia se vor introduce datele necesare configurării şi acordării modulului PID:
În partea stângă sunt parametri instrucţiunii PID care trebuie introduşi:
[F1] Auto/Manual AM (word 0, bit 1), se face alegerea între Auto şi Manual.
Auto arată că PID controlează ieşirile automat. Manual arată că utilizatorul controlează
ieşirile (setează);
[F2] Mode TM (word 0, bit 0), se face alegerea între modurile eşantionat şi STI;
[F3] Control CM (word 0, bit 2), se face alegerea între E = SP - PV şi E= PV –
SP; varianta E = PV - SP presupune incrementarea ieşirii CV; când intrarea PV > SP, iar
varianta E = SP - PV presupuneincrementarea CV când intrarea PV < SP.
Setpoint SP (word 2), este punctul de control dorit pentru proces. Se introduce
valoarea dorită şi se tastează ENTER. Valoarea se poate schimba în programul ladder
prin instrucţiuni;
Gain KC (word 3), este factorul de amplificare proporţional, în gama 0.1 - 25.5.
O regulă este setarea lui la o valoare egală cu 1.5 din valoarea necesară pentru a
determina la ieşire oscilaţii când reset = 0 şi rate terms = 0;
Reset Ti (word 4) este factorul de timp al integratorului, având valori în gama 0.1
- 25.5 min. O regulă este setarea lui la perioada naturală măsurată înaintea calibrării;
Rate Td (word 5), este termenul derivativ, putând lua valori în gama 0.01 - 2.55
min. O regulă este setarea lui la 1/8 din Ti;
Maximum Scaled Smax (word 7), dacă setpoint este citit în mărimi inginereşti,
acest parametru corespunde valorii setpoint când intrarea atinge 16383;
Minimun Scaled Smin (word 8), dacă setpoint este citit în mărimi inginereşti,
acest parametru corespunde valorii setpoint când intrarea atinge valoarea 0;
Deadband DB (word 9) este o valoare pozitivă. DB este centrată în jurul valorii
SP, având lăţimea introdusă de utilizator. DB este introdusă când PV şi SP trec prin zero.
DB are efect numai după ce PV intră în DB şi trece de SP;
Loop Update (word 13) este un intervalul de timp între calculele PID. O regulă
este setarea lui la o valoare de 5 - 10 ori mai mică decât perioada naturală de încărcare;
Scaled Process PV (word 14) este pentru afişare;
Scaled Error (word 15) este pentru afişare; Output CV % (word 16) afişează
ieşirea CV în procente ( pentru intervalul 0 - 16383). Dacă este în mod Auto, această
setare este numai pentru afişare. Dacă este în mod Manual, valoarea CV se poate
schimba, iar noua valoare ajunge la ieşire;
[F4] Output (CV) Limit OL (word 0, bit 3) se poate alege între YES (se
limitează ieşirea între valorile min şi max) şi NO (nu se limitează ieşirea);
În coloana din dreapta sunt indicatorii (flags) asociaţi instrucţiunii PID:
Time Mode Bit TM (word 0, bit 0) specifică modul PID; este setat de către
modul TIMED şi este resetat de către modul STI; poate fi setat/resetat prin instrucţiuni
în programele ladder;
Auto / Manual Bit AM (word 0, bit 01), arată că operaţiile sunt automate când
este resetat şi manuale când este setat; poate fi setat/resetat prin instrucţiuni în
programele ladder;
Control Mode Bit CM (word 0, bit 02), este resetat dacă controlul este E = PV -
SP; poate fi setat/resetat prin instrucţiuni în programele ladder;
Output Limiting Enabled Bit OL (word 0, bit 03) este setat când a fost
selectată o limită pentru CV prin [F4]; poate fi setat/resetat prin instrucţiuni în
programele ladder;
Reset and Gain Range Enhancement Bit RG (word 0, bit 4), dacă este setat
face ca valoarea Reset Minute/Repeat şi factorul de amplificare să fie multiplicat de 10
ori;
Scale Setpoint Flag SC (word 0, bit 05), este resetat când se specifică o scală
pentru setpoint;
Loop Update Time Too Fast TF (word 0, bit 06) este setat de către algoritmul
PID dacă timpul de actualizare al buclei, care a fost dat, nu poate fi atins de către
program (din cauza limitărilor temporale de scanare). Dacă acest bit este setat se poate
încerca corectarea problemei prin actualizarea buclei la o rată mai mică sau mutarea
instrucţiunii într-o subrutină STI;
Derivitive (Rate) Action Bit DA (word 0, bit 07) dacă este setat face ca
Derivitive Rate să fie evaluată după eroare în loc de PV; dacă este resetat, Derivitive Rate
funcţionează ca procesorul 5/02;
DB, Set When Error is în DB (word 0, bit 08), este setat când PV este în
intervalul DB şi are valoarea 0;
Output Alarm, Upper Limit UL (word 0, bit 09) este setat când ieşirea CV
depăşeste limita superioară;
Output Alarm, Lower Limit LL (word 0, bit 10), este setat când ieşirea CV
depăşeste limita inferioară;
Setpoint Out of Range SP (word 0, bit 11), este setat când setpoint nu se
încadrează în scala dată;
Process Var Out of Range PV (word 0, bit 12) este setat când PV nu se
încadrează în intervalul 0 - 16383;
PID Done DN (word 0, bit 13), este setat când algoritmul PID a terminat
calculele;
PID Enable EN (word 0, bit 15), este setat când ramura instrucţiunii PID este
adevarată;
În exemplul dat, pentru ca instrucţiunea de ieşire OTE să seteze bitul B3/12, trebuie să nu
se întrerupă continuitatea logică pe ramură, adică trebuie ca starea XIC = TRUE ^ starea
XIO = TRUE. Concret, conform tabelului precedent:
Dacă B3/10 = 1 şi B3/11 = 0, deci dacă este gasită o cale continuă de instrucţiuni de
intrare adevărate, atunci instrucţiunea de ieşire devine sau rămâne adevărată. În acest caz
condiţiile ramurii sunt adevărate. Când nu este găsită această continuitate logică a
instrucţiunilor de intrare, atunci instrucţiunea de ieşire OTE devine sau rămâne falsă. În
acest caz condiţiile ramurii sunt false.
Modul de variaţie al stării bitului B3/12 în funcţie de stările biţilor B3/10 si B3/11 este:
Etapele iniţiale sunt activate cu ajutorul instrucţiunii OSR. Mici modificări apar atunci
când în diagrama Grafcet există divergenţe şi paralelisme.
În cazul în care dintr-o etapă se poate tranzita în diferite alte etape din cauza existenţei
mai multor condiţii de tranziţie, trebuie editată câte o ramură de tip 2 pentru fiecare
condiţie de tranziţie. Starea de activare a unei etape se testează cu instrucţiunea XIC
aplicată bitului asociat etapei.
Dacă ulterior activării unei tranziţii urmează un paralelism în care mai multe secvenţe vor
rula simultan, o dată cu dezactivarea etapei curente vor fi activate toate etapele iniţiale ale
tuturor secvenţelor paralele.
Ieşirile digitale pot fi activate şi dezactivate atât cu instrucţiunea OTE cât şi cu
instrucţiunile pereche OTL şi OTU. Instrucţiunea OTE se foloseşte atunci când o acţiune
este activă numai în etapa curentă şi va trebui dezactivată o dată cu dezactivarea etapei.
Dacă o ieşire trebuie să îşi menţină valoarea şi în etapele următoare, ea trebuie activată
obligatoriu cu instrucţiunea OTL.
Exemplu: Să considerăm că avem de controlat un proces a cărui diagramă Grafcet este
reprezenată în figura 2.20:
Pentru a construi diagrama Ladder
pornind de la diagrama Grafcet, în
primul rând trebuie stabilite poziţiile
intrărilor şi ieşirilor, precum şi
asocierea etapelor din diagrama
Grafcet cu biţi din fişierul de tip bit
B3. Presupunând că pe slotul 1 al
automatului se găseşte un modul de
intrări digitale cu 16 intrări iar pe
slotul 3 un modul de ieşiri digitale cu
24 ieşiri, putem conecta intrările şi
ieşirile către proces conform tabelului
2.21:
Asocierea etapelor Grafcet cu biţi din fişierul de Bit B3 se poate face conform tabelului
2.22:
Bitul B3/0 va fi rezervat instrucţiunii OSR
ca parametru intern. Se poate trece acum
la scrierea ramurilor diagramei Ladder,
conform algoritmului descris anterior.
Etapa 1 va fi activată iniţial cu ajutorul
instrucţiunii OSR astfel:
Deoarece în etapa 1 nu au loc acţiuni, nu se
mai scrie nici o ramură de tip 1 pentru etapă.
În schimb, deoarece are loc o divergenţă
pornind din etapa 1, trebuie scrise două ramuri de tip 2 pentru cele două condiţii de
tranziţie ce se exclud:
Pentru tranziţia cu condiţia i1:
- nivelul 2 reprezintă programarea în limbaj ST sau IL a acţiunilor din cadrul paşilor sau
condiţiile ataşate tranziţiilor, aşa cum se arată mai jos stânga.
Operaţii SFC.
O operaţie SFC este o secvenţă SFC fiu, pornită sau oprită după cum se schimbă starea
pasului. Poate avea unul din atributele: N (non stored), S (set), R (reset).
Sintaxa operaţiilor este :
<prog_fiu>(N); prog_fiu este pornit când pasul devine activ şi opritcând pasul devine
inactiv;
<prog_fiu>; acelaşi efect, atributul N fiind opţional;
<prog_fiu>(S); prog_fiu este pornit când pasul devine activ şi îşi păstrează starea când
pasul devine inactiv;
<prog_fiu>(R); prog_fiu este oprit când pasul devine activ şi îşi păstrează starea când
pasul devine inactiv.
Secvenţa SFC fiu prog_fiu trebuie să fie un program SFC fiu al programului curent.
Folosirea atributelor S(Set) sau R(Reset) pentru o acţiune SFC are exact aceleaşi efecte
cu folosirea lui GSTART şi GKILL într-o operaţie de tipul impuls din ST.
Convenţia IL.
Codul IL poate fi introdus direct într-un bloc SFC, după cum urmează:
ACTION(P): (* sau N*)
#info=IL
<instrucţiune>
<instrucţiune>
…
#endinfo
END_ACTION;
3.2.5. Condiţii ataşate tranziţiilor.
Fiecărei tranziţii îi este ataşată o expresie booleană care condiţionează trecerea la pasul
următor. Această condiţie este de obicei implementată în limbajele ST sau LD la nivelul
2 al tranziţiei. Pot fi utilizate şi alte modalităţi de implementare, cum ar fi :
- convenţia limbajului ST;
- convenţia limbajului LD;
- convenţia limbajului IL;
- apelul funcţiilor dintr-o tranziţie.
Convenţia ST.
Limbajul ST poate descrie condiţia ataşată tranziţiei. Expresia finală
a acesteia trebuie să fie de tip boolean şi să se termine cu punct şi
virgulă. Expresia poate conţine constante TRUE sau FALSE, o
singură variabilă de intrare sau o variabilă internă booleană sau o
combinaţie de variabile ce conduce la o valoare booleană.
Convenţia LD.
Limbajul LD poate descrie condiţia ataşată tranziţiei. Un exemplu de programare în LD
pentru tranziţii este redat alăturat.
Convenţia IL.
Condiţia este descrisă conform următoarei sintaxe:
#info=IL
<instrucţiune>
<instrucţiune>
…
#endinfo
valoarea conţinută în registrul IL (current result) la sfârşitul secvenţei condiţionând
tranziţia:
current result=0 → condiţia este FALSE
current result<>0 → condiţia este TRUE
Apelul procedurilor.
Nume: numele procedurii;
Semnificaţia: apelează o procedură din biblioteca ISaGRAF sau dinbiblioteca
utilizatorului şi accesează parametrii returnaţi;
Sintaxa: (*apelarea unei proceduri*)
<nume_bloc>(<p1>, <p2> ...);
(* obţinerea valorii returnate*)
<rezultat>:= <nume_bloc>, <ret_param1>;
...
<rezultat>:= <nume_bloc>, <ret_paramN>;
Operanzi: parametrii sunt expresii care potrivesc tipul parametrilor specificaţi pentru
acea procedură
Valoarea returnată: vezi sintaxa pentru a obţine parametrii returnaţi
Exemple de apelare a unei proceduri:
(*program ST care apelează o procedură*)
(*declararea procedurii în dicţionar*)
(*trigb1: bloc R_TRIG – rising edge detection*)
(*apelarea procedurii din limbajul ST*)
trigb1 (b1);
(*returnează parametrii de acces*)
IF (trigb1.Q) THEN nb_edge := nb_edge + 1;
END_IF;
3.3.4. Operatori booleeni specifici ST.
Următorii operatori booleeni sunt specifici limbajului ST:
- REDGE: rising edge detection;
- FEDGE: falling edge detection;
Alţi operatori booleeni standard care pot fi folosiţi sunt:
- NOT: negarea booleană;
- AND (&): ŞI logic;
- OR: SAU logic;
- XOR: SAU logic exclusive.
Operatorul « REDGE »
Nume: REDGE
Semnificaţia: evaluează frontul crescător al unei expresii boolene complete
Sintaxa: <edge>:=REDGE(<expr_logica>,<var_booleana>);
Operanzi: primul operand este orice variabilă booleană sau expresie complexă, al doilea
operand este o variabilă booleană internă folosită pentru a reţine ultima stare a expresiei
Valoarea returnată: TRUE atunci când expresia logică de la intrare trece din FALSE,
în TRUE în cadrul a două cicluri automate, FALSE altfel.
Frontul crescător al unei expresii nu poate fi detectat mai mult decât o dată în acelaşi
ciclu de execuţie, folosind operatorul REDGE. Acest operator poate fi folosit pentru a
descrie condiţia ataşată unei tranziţii SFC.
Operatorul « FEDGE »
Nume: FEDGE
Semnificaţia: evaluează frontul descrescător al unei expresii boolene
Sintaxa: <edge>:=FEDGE(<expr_logica>,<var_booleana>);
Operanzi: primul operand este orice variabilă booleană sau expresie complexă, al doilea
operand este o variabilă booleană internă folosită pentru a reţine ultima stare a expresiei
Valoarea returnată: TRUE atunci când expresia logică de la intrare trece din TRUE, în
FALSE în cadrul a două cicluri automate, FALSE altfel.
Frontul descrescător al unei expresii nu poate fi detectat mai mult decât o dată în acelaşi
ciclu de execuţie, folosind operatorul FEDGE. Acest operator poate fi folosit pentru a
descrie condiţia ataşată unei tranziţii SFC.
Atribuirea
Nume: :=
Semnificaţia: atribuie o variabilă unei expresii
Sintaxa: <var>:=<expr>;
Operanzi: variabila trebuie să fie internă sau de ieşire variabila şi expresia trebuie să aibă
acelaşi tip.
Expresia poate fi apelată de un subprogram sau o funcţie din biblioteca ISaGRAF.
Instrucţiunea RETURN
Nume: RETURN
Semnificaţia: termină execuţia programului curent
Sintaxa: RETURN;
Operanzi: nici unul
Într-un bloc SFC, instrucţiunea RETURN indică sfârşitul execuţiei unui singur bloc.
Instrucţiunea IF-THEN-ELSIF-ELSE
Nume: IF...THEN...ELSIF...THEN...ELSE...END_IF
Semnificaţia: execută una din două liste de declaraţii ST, selecţia este făcută în
concordanţă cu valoarea expresiei booleene.
Sintaxa: IF <expr_bool> THEN
<instrucţiune>;
<instrucţiune>;
...
ELSIF <expr_bool> THEN
<instrucţiune>;
<instrucţiune>;
...
ELSE
<instrucţiune>;
<instrucţiune>;
...
END_IF;
Instrucţiunile ELSE şi ELSIF sunt opţionale. Dacă instrucţiunea ELSE nu este scrisă, nu
este executată nicio instrucţiune când condiţia este FALSE.
Instrucţiunea CASE
Nume: CASE...OF...ELSE... END_CASE
Semnificaţia: execută una din câteva liste de declaraţii ST,selecţia este făcută în
concordanţă cu o expresie întreagă
Sintaxa: CASE <expr_int> OF
<valoare>: <instrucţiuni>
<valoare>, <valoare>: <instrucţiuni>;
...
ELSE
<instrucţiuni>;
END_CASE;
Valorile CASE trebuie să fie expresii constante întregi. Câteva valori, separate prin
virgule, pot duce la aceeaşi listă de instrucţiuni. Instrucţiunea ELSE este opţională.
Instrucţiunea WHILE
Nume: WHILE ... DO ... END_WHILE
Semnificaţia: structură iterativă pentru un grup de instrucţiuni ST, condiţia “continue”
este evaluată înaintea oricărei iteraţii.
Sintaxa: WHILE <expr_bool> DO
<instrucţiune>;
<instrucţiune>;
....
END_WHILE;
Instrucţiunea REPEAT
Nume: REPEAT ... UNTIL ... END_REPEAT
Semnificaţia: structură iterativă pentru un grup de instrucţiuni ST, condiţia “continue”
este evaluată după orice iteraţie.
Sintaxa: REPEAT
<instrucţiune>;
<instrucţiune>;
....
UNTIL <expr_bool>
END_REPEAT;
Instrucţiunea FOR
Nume: FOR ... TO ... BY ... DO ... END_FOR
Semnificaţia: execută un număr limitat de iteraţii folosind o variabilă index analog
întreagă
Sintaxa: FOR <index> := <mini> TO <maxi> BY <step> DO
<instrucţiune>;
<instrucţiune>;
END_FOR;
Operanzi: index: variabilă analog internă care creşte la fiecare buclă
mini: valoare iniţială pentru index (înaintea primei bucle)
maxi: valoarea maximă permisă pentru index
step: indexul de creştere la fiecare buclă
Instrucţiunea [BY step] este opţională. Dacă nu este specificată, pasul de incrementare
este 1.
Instrucţiunea EXIT
Nume: EXIT
Semnificaţia: ieşirea dintr-o instrucţiune iterativă FOR, WHILE sau REPEAT
Sintaxa: EXIT;
Operanzi: nici unul.
Instrucţiunea TSTART
Nume: TSTART
Semnificaţia: porneşte incrementarea unei variabile de tip timer, fără a-i reseta valoarea
Sintaxa: TSTART (<var_timp>);
Operanzi: orice variabilă timer inactivă
Valoarea returnată: nici una
Exemplu: Program SFC care foloseşte instrucţiunile TSTART şi TSTOP
În cazul în care b100 este adevarată, diagrama de
timp va fi întotdeauna falsă.
Instrucţiunea TSTOP
Nume: TSTOP
Semnificaţia: opreşte incrementarea
unei variabile de tip timer, fără a-i
modifica valoarea;
Sintaxa: TSTOP (<var_timp>);
Operanzi: orice variabilă timer activă;
Valoarea returnată: nici una.
Instrucţiunea GSTART
Nume: GSTART
Semnificaţia: porneşte un program fiu SFC punând un jeton în fiecare etapă iniţială
Sintaxa: GSTART (<progr_fiu>);
Operanzi: programul SFC specificat trebuie să fie un fiu al celui în care este scrisă
instrucţiunea;
Valoarea returnată: nici una
Exemplu: Folosirea lui GSTART şi GKILL
Instrucţiunea GKILL
Nume: GKILL
Semnificaţia: opreşte un program fiu SFC prin îndepărtarea jetoanelor existente în
etapele sale;
Sintaxa: GKILL (<prog_fiu>);
Operanzi: programul SFC specificat trebuie să fie un fiu al celui în care este scrisă
instrucţiunea;
Valoarea returnată: nici una.
Instrucţiunea GFREEZE.
Nume: GFREEZE
Semnificaţia: suspendă execuţia unui program SFC fiu; programele suspendate pot fi
repornite prin instrucţiunea GRST
Sintaxa: GFREEZE (<prog_fiu>);
Operanzi: programul SFC specificat trebuie să fie un fiu al celui în care este scrisă
instrucţiunea;
Valoarea returnată: nici una.
Instrucţiunea GRST
Nume: GRST
Semnificaţia: reporneşte un program fiu SFC
suspendat prin instrucţiunea GFREEZE
Sintaxa: GRST (<prog_fiu>);
Operanzi: programul SFC specificat trebuie să fie un
fiu al celui în care este scrisă instrucţiunea;
Valoarea returnată: nici una.
Instrucţiunea GSTATUS.
Nume: GSTATUS
Semnificaţia: returnează starea curentă a unui program SFC;
Sintaxa: <ana_var> := GSTATUS (<prog_fiu>);
Operanzi: programul SFC specificat trebuie să fie un fiu al celui în care este scrisă
instrucţiunea;
Valoarea returnată: 0 = programul este inactiv (oprit);
1 = programul este activ (pornit);
2 = programul este îngheţat.
Operaţii booleene:
boolean AND: ŞI boolean între două sau mai multe valori:
<var_0> :=<var_1> AND <var_2>
boolean OR: SAU boolean între două sau mai multe valori:
<var_0> :=<var_l> OR <var_2>
boolean Exclusive XOR : SAU exclusiv boolean între două valori de intrare
<var_0> :=<var_1> XOR <var_2>
Operaţii aritmetice:
adunarea a două sau mai multe variabile analogice:
<var_0> :=<var_l> + <var_2>
scăderea a două variabile analogice:
<var_0> :=<var_l> - <var_2>
înmulţirea a două sau mai multe variabile analogice:
<var_0> :=<var_l> * <var_2>
împărţirea a două variabile analogice:
<var_0> :=<var_l> / <var_2>
Operaţii logice:
AND_MASK: ŞI bit cu bit
<rezultat> := AND_MASK <(16#abc,16#f0f)>
(*rezultatul este 16#a0c*)
OR_MASK: SAU bit cu bit
<rezultat> := OR_MASK <(16#abc,16#f0f)>
(*rezultatul este 16#fbf*)
XOR_MASK: SAU EXCLUSIV bit cu bit
<rezultat> := XOR_MASK <(16#012,16#011)>
(*rezultatul este 16#003*)
NOT_MASK: NEGAŢIE bit cu bit
<rezultat> := NOT_MASK <(16#1234)>
(*rezultatul este 16#FFFF_EDCB*)
Comparaţii:
mai mic: se testează dacă o valoare este mai mică decât alta (analog, de tip timer
sau mesaj)
<rezultat> := <(‘z’ < ’B’)>
(*rezultatul este fals*)
mai mic sau egal: se testează dacă o valoare este mai mică sau egală decât alta
(analog sau mesaj)
<rezultat> := <(10 <= 25)>
(*rezultatul este adevărat*)
mai mare: se testează dacă o valoare este mai mare decât alta (analog, de tip
timer sau mesaj)
<rezultat> := <(‘ab’ > ‘a’)>
(*rezultatul este adevărat*)
mai mare sau egal: se testează dacă o valoare este mai mare sau egală decât alta
(analog sau mesaj)
<rezultat> := <(10 >= 25)>
(*rezultatul este fals*)
egal: testeaza dacă o valoare este egală cu alta (analog sau mesaj)
<rezultat> := <(10 = 25)>
(*rezultatul este fals*)
diferit : testează dacă o valoare este diferită de alta (analog sau mesaj)
<rezultat> := <(‘ab’ <> ‘ab’)>
(*rezultatul este fals*)
Conversia datelor:
BOO: converteşte orice variabilă în valoare de tip Boolean:
<rezultat1> := BOO <(10)> ;
(*rezultatul1 este adevărat*)
<rezultat2> := BOO <(t#0s)> ;
(*rezultatul2 este fals*)
ANA: converteşte orice variabilă în valoare de tip întreg:
<rezultat1> := ANA <(true)> ;
(*rezultatul1 este 1*)
<rezultat2> := ANA <(t#1s46ms)> ;
(*rezultatul2 este 1046*)
REAL: converteşte orice variabilă în valoare de tip real:
<rezultat1> := REAL <(true)> ;
(*rezultatul1 este 1.00*)
<rezultat2> := REAL <(198)> ;
(*rezultatul2 este 198.0*)
TMR: converteşte orice variabilă analogică într-o valoare de tip timer:
<rezultat> := TIMER <(1234)> ;
(*rezultatul este t#1s234ms*)
MSG: converteşte orice variabilă într-o valoare de tip mesaj:
<rezultat> := MSG <(true)> ;
(*rezultatul este ‘TRUE’*)
Altele:
CAT: concatenarea mai multor mesaje într-unul singur:
<numelemeu> := <(‘Dl’ + ‘’)+’Sorin’> ;
(* numelemeu := ‘Dl Sorin’ *)
SYSTEM: accesul la parametrii sistemului;
OPERATE: accesul la canalele I/O.
CTDU. Acest bloc funcţional este o combinaţie între cele două, adică prezintă ambele
funcţii de numărare incrementală şi decrementală, precum şi cele de reset şi load. Ieşirile
lui digitale sunt aceleaşi ca la cele două blocuri prezentate mai sus şi de aceea nu se va
arăta decât un exemplu
de utilizare în limbajul Ladder Diagram, în fig. 4.8.
TON. Timer On Delay are drept scop întârzierea cu un anumit timp a unui semnal digital
boolean. El are drept intrări: IN – aici se conectează variabila a cărei schimbare din false
în true se doreşte a fi întârziată, PT – o variabilă de tip TIME sau o constantă în formatul
TIME care spune cât timp se doreşte a fi întârziat semnalul, iar ca ieşiri are Q – variabila
care va deveni true după trecerea timpului PT, precum şi ET – cea care dă valoarea
timpului actual al timerului.
Modul de funcţionare presupune că atât timp cât intrarea IN este false, ieşirea Q să
rămână false. Imediat ce IN devine true, atunci timpul din timer, ET va începe să crească
de ordinul milisecundelor, până când valoarea sa atinge ceea ce utilizatorul a specificat în
PT, după care va rămâne constant. Dacă intrarea IN devine false, timerul se
reiniţializează. Ieşirea Q devine true numai dacă IN este true şi ET este egal cu PT, altfel
este false.
Exemplul de utilizare este cel din fig. 4.9.
Graficul ce explică funcţionarea acestui bloc este cel din fig. 4.10.
Graficul ce explică funcţionarea acestui bloc este cel din fig. 4.12.
Dacă se doreşte ca automatul să stea într-o etapă un interval de timp variabil, atunci se
foloseşte o altă metodă care se bazează pe proprietăţile acţiunilor din IndraLogic. După
cum a fost menţionat mai sus, sunt trei tipuri de acţiuni: cele care se execută la intrarea
într-o etapă, cele care se execută la fiecare ciclu atât timp cât automatul se află în acea
etapă şi cele care se execută la ieşirea dintr-o etapă. În plus trebuie să se folosească o
funcţie predefinită a mediului de programare şi anume funcţia TIME(). Această funcţie
returnează în milisecunde timpul care a trecut de când automatul a fost pornit sub forma
unei variabile de tip TIME.
Modul de folosire este următorul: variabila1:=TIME().
Metoda propusă presupune memorarea momentului de timp în care se intră în etapa
respectivă (în engleza “time stamp”) şi apoi citirea periodică a funcţiei TIME(), până
când diferenţa între cele două momente de timp este egală sau mai mare cu intervalul de
timp. Paşii care trebuiesc urmaţi sunt:
se crează etapa dorită dacă aceasta nu există deja;
se selectează etapa respectivă şi se apasă butonul din dreapta al mouse-ului;
se alege de acolo “Add Entry Action” în limbajul ST;
se declară o variabilă de timp în care se va memora “time stamp”- ul de intrare
folosind funcţia TIME();
se apasă dublu click pe etapa respectivă pentru a se putea introduce acţiunile
dorite a se efectua la fiecare ciclu;
se declară o variabilă de timp în care se va memora “time stamp”-ul curent
folosind funcţia TIME();
condiţia de ieşire din etapa este: “time-stamp” curent – “timestamp”de intrare
>= variabila de timp.
Exemplul simplificat de configurare se poate observa în fig. 4.15 şi 4.16.
Apoi se merge la editorul de taskuri aşa cum s-a precizat mai sus.
După care se trece la adăugarea unui nou task prin apăsarea butonului din dreapta al
mouse-ului când pointerul acestuia se află deasupra pictogramei “Task configuration” şi
alegându-se opţiunea “Append task” (vezi fig. 4.18.). Acestui task creat i se poate
modifica numele iar în dreapta ferestrei de editare se pot găsi opţiunile pe care
programatorul le are pentru acel task. În mod implicit acesta este un task ciclic fără o
durată predefinită, cu prioritate 1 (a doua prioritate) vezi fig. 4.19.
După ce acest task a fost creat, i se poate adăuga o apelare a unui program prin apăsarea
butonului din dreapta a mouse-ului, când pointer-ul acestuia se afla în dreptul
pictogramei cu numele task-ului definit, prin alegerea opţiunii “Append Program Call”
sau “Insert Program Call” dacă mouse-ul s-a aflat în dreptul pictogramei cu programul
ales (vezi fig. 4.20).
Odată definit, unui program call trebuie să i se configureze care din programele existente
în proiect va fi apelat de acesta. Pentru aceasta se foloseşte butonul special “...” care va
deschide fereastra denumită “Input Assistant”, ce permite alegerea din lista de programe
a celui care se doreşte a fi chemat, aşa cum rezultă din fig. 4.21.
Odată apelat, programul este executat conform proprietăţilor definite pentru task. Un task
poate apela mai multe programe prin repetarea paşilor de mai sus, iar ele vor fi executate
în ordinea apelării lor de acest task ca în fig. 4.22.
La apăsarea dublu click deasupra unui obiect, se deschide automat meniul de configurare
al acestui tip de element (ca în fig. 4.26).
Dacă se alege opţiunea “Text” se poate introduce textul ce se doreşte a fi afişat pe ecran,
iar prin alegerea opţiunii “Input” se poate configura tipul butonului (cu automenţinere sau
fără), precum şi variabila ce se doreşte a fi manipulată de acest buton. Dacă în câmpul
acesta se începe cu “.” Atunci apare lista variabilelor globale din care se poate alege
denumirea celei dorite, iar la apăsarea butonului “OK” se închide fereastra, butonul fiind
configurat.
Pentru configurarea obiectului de tip “LED” se deschide ca şi anterior meniul de
configurare iar prin alegerea opţiunii “Text” se poate introduce textul ce se doreşte a fi
afişat pe ecran. Se trece apoi la configurarea culorilor pe care acest led trebuie sa le ia în
funcţie de valoarea variabilei booleene, ca în fig. 4.27.
Opţiunile de aici sunt “Inside color” şi anume culoarea pe care o ia în mod implicit
obiectul (dacă variabila de care este legat este false) şi “Alarm color” unde se va
configura cea de-a doua culoare (cea pe care obiectul o să o aibă dacă variabila de care
este legat devine true).
Legarea de variabila dorită se face prin alegerea meniului denumit “Variables” iar la
opţiunea “Change color” se va scrie variabila de care se doreşte a se lega obiectul (vezi
fig. 4.28).
SFÂRŞIT.