2_vl.pdf

Upload: mihai-paun

Post on 05-Jul-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/15/2019 2_VL.pdf

    1/44

      45

     

    REPREZENTAREA CU RELEE

    A VARIABILELOR LOGICE

    2.1.  Relee

    Releul  electromagnetic este format dintr-un solenoid (vezifigura 2.1) care, atunci când este alimentat cu tensiune, acţionează cu oforţă  asupra unei armături mobile schimbând starea contactelor(contactele normal închise se deschid iar cele normal deschise se

     închid).[22,1,18]

    Contactele se află  în starea “normală” atunci când bobina

    releului nu este alimentată cu tensiune.Un releu are o parte din contacte normal închise (lasă curentul

    să  treacă) şi altele normal deschise, f ără  legătură  galvanică  unul cualtul.

    Tensiunea de alimentare a bobinei releului este de valoare mică (nepericuloasă pentru om) 5 V , 12 V  sau 24 V .

    Fig. 2.1.

    22 

  • 8/15/2019 2_VL.pdf

    2/44

      46

    Butoanele  sunt acţionate manual (spre deosebire de relee),starea complementară  celei normale menţinându-se cât timp butonuleste apăsat.

    Starea contactului unui releu se menţine cât timp este alimentată cu tensiune bobina releului.

    Contactele releului se pot afla în circuite de tensiune mare şi potcomuta curenţi de valori mai mari sau mai mici în funcţie deconstrucţia acestora. Spre exemplu contactele unui releu suportă curenţi de ordinul a 20 mA,  iar contactele altui releu pot comutacurenţi de până  la 5  A. Există  relele care au contacte pentru curenţimici şi contacte („de forţă”) pentru curenţi de valori mari.

    De fapt, aparatul care are rolul de a comuta, prin închiderea şideschiderea circuitului pe baza unei comenzi (de natură  electrică),curenţi de valori mari se numeşte contactor (care poate fielectromagnetic sau static).

    În aceeaşi ordine de idei aparatul care închide şi deschidecircuite electrice care nu sunt parcurse de curent se numeşteseparator. El are rolul de a specifica faptul că  circuitul este subtensiune sau nu.

    De regulă, un circuit electric care suferă  dese intervenţii (spreexemplu pentru a fi recondiţionat) se cuplează la sursa de energie prinintermediul unui separator urmat de un contactor. Pornirea – oprireamaşinii (circuitului) se face cu contactorul. În caz de intervenţii lainstalaţia electrică se opreşte maşina cu contactorul şi apoi se deschide

    circuitul prin acţionarea separatorului.D.p.d.v. constructiv diferenţa esenţială  dintre contactor şiseparator este prezenţa camerei de stingere a arcului electric lacontactor. La deconectarea curenţilor mari între ploturi (elementelecontactorului prin care circulă curentul) apare un arc electric, care nutrebuie să se extindă în afară - se întrerupe în interiorul camerei.

    Fig. 2.2.

  • 8/15/2019 2_VL.pdf

    3/44

      47

     În figura 2.2 sunt prezentate simbolurile folosite pentru

    contactele releului, ND – normal deschise şi NI  – normal închise.Comanda unui releu constă, în cazul releelor electromagnetice

     în conectarea bobinei acestuia la sursa de alimentare sau în conectarea

    tensiunii de comandă în cazul releelor electronice.În cazul releului electromagnetic (din figura 2.1) comanda seface prin închiderea comutatorului din circuitul bobinei releului, iar încazul releului electronic (cu optotriac din figura 2.3) comanda se faceprin acţionarea întrerupătorului din circuitul de alimentare al LED-ului. [22]

    Prin convenţie un contact închis reprezintă  starea „1” logic(permite circulaţia curentului) iar un contact deschis reprezintă starea

    „0” logic (întrerupe circulaţia curentului).Ţinând seamă de această convenţie cu contacte ale releelor pot firealizate orice funcţii logice, în figurile 2.4,...,2.6 fiind prezentatecâteva implementări.

    În figura 2.4 avem un circuit SAU   realizat cu releele CRA  şiCRB, a căror contacte sunt notate respectiv  A şi  B. Circuitul SAU  arerolul 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şireacircuitului logic.

    Se constată  că  becul luminează  dacă  oricare din contacte este închis (sau amândouă) fiind conectat la sursa de alimentare. Se stingedacă  ambele contacte sunt deschise, adică  nici un releu nu este subtensiune (a se înţelege – bobină a releului).

    Fig. 2.3.

  • 8/15/2019 2_VL.pdf

    4/44

      48

     

    În figura 2.5 este prezentat circuitul  Ş  I   cu două  intrări. Beculluminează (este în starea „1” logic) dacă ambele contacte  A şi  B sunt

     închise, realizând astfel conectarea becului la liniile de alimentare cuenergie electrică. [23]

    Pentru a realiza o negaţie (un circuit  NU   ) se foloseşte uncontact normal închis al releului, ca în figura 2.6.

    Fig. 2.4.

    Fig. 2.5.

  • 8/15/2019 2_VL.pdf

    5/44

      49

     

    Becul este aprins numai dacă  releul nu este alimentat cutensiune, contactul A rămânând în starea normală (închis).

    Pe lângă releele “normale”, prezentate mai sus, există o clasă derelee care îndeplinesc funcţii de protec ţ ie specifice şi o altă clasă careacţionează având drept variabilă de intrare atât comanda cât şi timpul,motiv pentru care se numesc relee de timp.Releele de protecţie au în componenţă  un senzor (traductor) al uneimărimi supravegheate, un detector de valoare impusă (pentru mărimeaurmărită) şi un releu normal.În condiţiile în care mărimea monitorizată  iese din domeniul impusbobina releului este alimentată şi contactele releului iniţiază o acţiune

    specifică (spre exemplu semnalizează depăşirea limitelor).Principalele relee de protecţie sunt:

    -  relee maximale de curent, declanşează  dacă  curentul într-uncircuit depăşeşte valoarea impusă;

    -  relee minimale de tensiune, acţionează  dacă  tensiuneamonitorizată scade sub valoarea impusă;

    -  relee maximale de tensiune, acţionează  dacă  tensiuneamonitorizată depăşeşte valoarea impusă;

    -  relee de temperatură, acţionează  când temperatura incintei

    monitorizate scade sub o valoare (în cazul cuptoarelor) saucreşte peste o valoare impusă;

    -  relee de timp.

    Releele de timp sunt de două tipuri-  cu temporizare la conectare – contactele releului î şi schimbă 

    starea după  un timp prestabilit măsurat din momentul cândbobina releului a fost alimentată cu energie;

    Fig. 2.6.

  • 8/15/2019 2_VL.pdf

    6/44

      50

    -  cu temporizare la deconectare - contactele releului rămân înstarea în care au fost un interval de timp prestabilit după  cebobina releului a fost deconectată de la sursa de energie.

    În figura 2.7 sunt prezentate contactele a două relee de timpa)

     contactul normal deschis se închide la 5 secunde după alimentareabobinei,b) contactul care este închis pe durata alimentării bobinei, se deschidela 5 secunde după ce bobina nu mai este alimentată cu energie.

    Releele pot fi utilizate în diferite scopuri (semnalizare, protecţie,condiţionare, reglare a mărimilor, ş.a.) în continuare fiind prezentatecâteva aplicaţii.

    Exemplul 1. Circuitul "watchdog"

    În aplicaţiile industriale sistemele de conducere trebuie să funcţioneze continuu, iar în caz de defect al sistemului să  intre înfuncţiune sistemele de protecţie.

    a) b)Fig. 2.7.

    Fig. 2.8.

  • 8/15/2019 2_VL.pdf

    7/44

      51

    Circuitul "watchdog" semnalează oprirea programului rulat, pecalculatorul de proces prin închiderea unui contact, vezi figura 2.8.

    Instrucţiunile programului se execută sincronizat cu o frecvenţă de tact. Dacă  programul s-a oprit, frecvenţa de sincronizare ainstrucţiunilor nu va mai fi prezentă (lipseşte tensiunea cu frecvenţa de

    sincronizare).Bobina releului este alimentată  din tensiunea de sincronizare(impulsurile din figura 2.8) după redresare şi filtrare. Dacă programuls-a oprit lipseşte tensiunea de alimentare a releului şi contactul releuluise închide semnalizând starea sistemului sau alimentând circuitele deprotecţie.

    Exemplul 2. Circuitul de control al funcţionării unui cuptor

    Circuitele de autorizare  sunt circuite care permit declanşarea unui

    proces, în situaţia când sunt îndeplinite condiţiile impuse de siguranţaprocesului sau de modul de funcţionare al acestuia.

    În figura 2.9 este prezentat circuitul de control al pornirii unuicuptor.

    Cuptorul porneşte dacă  sunt îndeplinite cele patru condiţii şianume:

    -  presiunea gazului de ardere este între limitele admise (contactelerelelor de presiune maximă şi minimă sunt închise, respectiv LM  şi Lm);

    -  ventilatorul care furnizează aerul de amestec este pornit (releulde debit al aerului Lf  este închis);

    Fig. 2.9.

  • 8/15/2019 2_VL.pdf

    8/44

      52

    -  coşul de evacuare a gazelor arse nu este obturat (releul de pecoşul de ardere Lc este închis).

    Releele fiind în serie, alimentarea bobinei releului CR1  se facenumai dacă  toate sunt închise. Contactul normal deschis CR1 se

     închide şi becul verde semnalează  pornirea corectă. Contactulnormal închis se deschide şi becul roşu se stinge.

    Exemplul 3. Circuitul de pornire al unui motor de c.a.

    În figura 2.10 este prezentată schema de forţă pentru schimbareasensului de rotire al unui motor de curent alternativ trifazat.

    Pentru a inversa sensul de rotaţie al unui motor se impuneschimbarea sensului de rotaţie al câmpului magnetic învârtitor produsde înf ăşurările statorice ale maşinii. După cum se ştie rotaţia câmpuluimagnetic se produce în sensul succesiunii fazelor tensiunii de

    alimentare a circuitului statoric ( R – S – T) . Pentru a schimba sensulde rotaţie al rotorului (antrenat în mişcare de rotaţie de câmpulmagnetic învârtitor) este suficient să se schimbe ordinea alimentării cutensiune a două din înf ăşurările statorice.

    Pentru sensul direct ( în sensul de rotaţie al acelor ceasornicului)fazele R, S, T sunt conectate la înf ăşurările statorice notate cu 1, 2, 3

    Fig. 2.10.

  • 8/15/2019 2_VL.pdf

    9/44

      53

    ( astfel 1-R, 2-S, 3-T) de către contactele releului  M 1  , iar pentrurotirea în sens invers releul  M 2  conectează  înf ăşurările motoruluiastfel 1-R, 3-S, 2-T (faza 2 a fost inversată cu faza 3).

    Schema de comandă este prezentată în figura 2.11.

    Constatăm că  fiecare bobină  de releu are, în serie, un contactnormal închis al celuilalt releu ( M 2a cu M 1 şi M 1a  cu M 2 ). Contactulserie se numeşte  contact de interblocare  şi are rolul de a nu permitealimentarea cu tensiune a celuilalt releu (când unul dintre ele este subtensiune). Previne astfel manevrele greşite de conectare inversă  aalimentării motorului când acesta se află  în mişcare de rotaţie(operatorul apasă greşit butonul de inversare a sensului).

    Conectarea releului de schimbare a sensului se impune să  sefacă numai după ce motorul s-a oprit.Se impune această condiţie, pentru a nu solicita nici sarcina mecanică,

    dar nici înf ăşurările maşinii – dacă  rotorul maşinii are un sens derotaţie şi câmpul magnetic învârtitor alt sens, cresc solicitărilemecanice, creşte valoarea curentului prin înf ăşurări şi creştetemperatura înf ăşurării.

    Contactele M1b, M2b, aflate, în paralel, cu butoanele de sens senumesc contacte de automen ţ inere.Butoanele de sens conectează alimentarea pe bobina releului, cât timpsunt apăsate, după  care circuitul se deschide şi bobina releului este

    Fig. 2.11.

  • 8/15/2019 2_VL.pdf

    10/44

      54

    scoasă  de sub tensiune (iar acesta modifică  contactele la stareanormală şi motorul, dacă a pornit se opreşte). În schimb, dacă  există contact de automenţinere, la apăsarea butonului se alimentează bobinareleului şi aceasta închide contactul de automenţinere. După ce butonulnu mai este apăsat, curentul bobinei se închide prin contactul de

    automenţinere ( M 

    1 se alimentează  prin M 

    1b

    , iar M 

    2 se alimentează prin M 2b ).

    Releul  RT   este un releu de temperatură  care, dacă temperatura înf ăşurărilor motorului a depăşit limita admisă, se deschide şi întrerupealimentarea cu tensiune a releelor, ceea ce conduce la tăiereaalimentării motorului şi la oprirea acestuia.

    Pentru oprirea motorului se apasă butonul „stop” care scoate desub tensiune ambele relee.

    2.2.  Despre PLC

    Controlerul PLC  (Programmable Logic Controller ) este unsistem, care a apărut iniţial din necesitatea de a înlocui funcţia logică realizată  cu releele electromagnetice cu un ansamblu de contactoarestatice comandate de un program memorat capabil să  efectuezeconexiunile (care erau realizate de releele electromagnetice).Necesitatea se referă la creşterea fiabilităţii, la centralizarea sistemuluide comandă, la standardizarea şi modularizarea echipamentelor pentru

     înlăturarea rapidă a defectelor.Primul PLC a apărut în 1968 (realizat de firma “ Bedford

     Associates”) şi îndeplinea numai funcţia de control, prin program, ainstalaţiilor industriale. [24]Între timp controlerele PLC au fost dotate cu noi funcţii, pe lângă celedestinate controlului funcţionării instalaţiilor industriale, dintre carecea mai importantă este func ţ ia de reglare.

    Reglarea se referă  la posibilitatea sistemului de a elaboracomenzi prin intermediul cărora un proces să  î şi menţină  starea de

    funcţionare impusă, indiferent de perturbaţiile care acţionează (pentrua scoate sistemul din starea dată).

    Majoritatea producătorilor (ABB, Allen-Bradley, GE-Fanuc,Hitachi, Honeywell, LG Industrial Systems, Mitsubishi, Motorola,Omron, Rockwell Automation, Schneider Automation, Siemens,Toshiba, Yokogawa) de echipamente PLC au implementat funcţia dereglare după  abatere prin  algoritmi PID  [25,18,19]. În literatura despecialitate se afirmă  că  numai 10% din buclele de reglare nu sunt

  • 8/15/2019 2_VL.pdf

    11/44

      55

    realizate cu regulatoare de tipul PID, ceea ce înseamnă  că  sistemelePLC dotate cu funcţia de reglare PID acoperă 90% din necesităţile dereglare ale industriei.

    Comenzile sunt elaborate pe baza măsurării unor variabile ale

    procesului, ceea ce înseamnă  că  sistemul este prevăzut cuintr

    ă ri

      analogice şi cu intră ri numerice  (de la 4 la 40 intrări, în funcţie depreţ).

    În cele mai multe cazuri intr ările analogice acceptă semnal deintrare standardizat (spre exemplu tensiuni din domeniul 0,.., 1 V , 0,..,5 V, -10,.., +10 V sau curenţi din domeniul 2,.., 10 mA, 4,.., 20 mA)dar uneori intrările sunt specializate pentru un anumit tip de traductor(spre exemplu are intrări pentru măsurarea temperaturii cu otermorezistenţă sau pentru măsurarea temperaturii cu un termocuplu).Specializarea implică  dotarea intrării cu blocuri funcţionale (spre

    exemplu amplificatoare sau atenuatoare de semnal) care să  adaptezevalorile semnalului furnizat de traductor la domeniile standardizate,acceptate de controler.Spre exemplu, un termocuplu furnizează tensiuni de ordinul mV carevor fi amplificate de adaptor, pentru a se încadra într-unul dindomeniile tensiunilor de intrare standardizate ( de regulă în domeniul0,.., 5 V )

    Intrările pot fi stări contact sau nivele de tensiune de diferitevalori cu variaţie lentă sau rapidă în timp(spre exemplu există domenii

    de 12 Vcc , 24 Vcc, 5 Vcc, 100-120 Vac, 200-240 Vac, ş.a.).Observăm că, faţă  de controlerele de început, controlereleactuale au pe lângă  intrări de tip contact (de releu) atât intrări cât şiieşiri analogice. O parte din intrările analogice sunt folosite pentru aprelua semnale de la traductoare în scopul controlului şi protecţieiinstalaţiei şi o mică parte pentru a implementa funcţia de reglare a unorparametri (spre exemplu debit, temperatură, nivel ş.a.).

    De remarcat faptul că  tipul intrării şi domeniul valorilorsemnalului de intrare pot fi stabilite prin program, la iniţializareacontrolerului.

    Comenzile, care reprezintă ieşiri  ale controlerului, pot fi-  numerice – de tipul stări ale unui contact (de releu) ;-  analogice – un semnal de tensiune sau curent, cu domeniul

    precizat de necesităţile procesului.Domeniul ieşirilor analogice se stabileşte prin program, iar în cazulsistemelor ieftine este fixat la un domeniu ( spre exemplu 0,.., 5 V ), decătre producătorul echipamentului.

  • 8/15/2019 2_VL.pdf

    12/44

      56

    Ieşirile pot fi stări contact sau nivele de tensiune de diferitevalori (spre exemplu 24 Vcc, 5 Vcc, 100-120  Vac,  230  Vac, ş.a.),adoptate în aşa fel încât să  aibă  suficientă  energie pentru acţionareaunui element de execuţie.

    Elementele de execuţie  sunt dispozitive care pot modifica

    controlat, fluxul de materie sau fluxul de energie într-un proces.Drept elemente de execuţie uzuale sunt motoare electrice,maşini hidraulice, maşini termice, contactoare statice, dispozitivemecanice ş.a.

    Pentru prelucrarea numerică  (de către microprocesorulcontrolerului) a mărimilor analogice, după  adaptarea domeniuluisemnalul de intrare (în sensul că semnalul de la intrarea analogică esteconvertit – amplificat sau atenuat – într-un semnal care să se încadreze

     în domeniul intrării convertorului analog – numeric CAN) acesta estetransformat într-un semnal numeric de către CAN.

    Pe lângă  intrările şi ieşirile accesibile din exterior (conectate laprocesul industrial) controlerul are implementate:

    •  relee interne, care sunt folosite pentru efectuarea unor operaţiilogice (releele interne se întâlnesc uneori sub numele demarkeri, flaguri);

    •  relee de timp, care permit iniţierea unor activităţi la momente detimp prestabilite;

    •  număr ătoare  (care numără  spre exemplu de câte ori s-a

    modificat o intrare şi generează un semnal când numărătorul aajuns la o valoare prestabilită), regiştrii şi memorii;•  oscilatoare, care permit sincronizarea în timp a unor activităţi;•  comparatoare,  care permit compararea a două  semnale şi

    evidenţierea egalităţii sau inegalităţii acestora;•  sisteme de întrerupere  a unui program şi comutarea pe o altă 

    secvenţă  în cazul unor evenimente deosebite (spre exemplu încaz de defect al sistemului, în caz de nefuncţionare a unuitraductor ş.a.).

    O altă funcţie este  func ţ ia de comunicare a controlerului PLCcu alte echipamente (spre exemplu cu un microprocesor, cu uncalculator, cu un sistem de conducere centralizată, ş.a.).

    Fiecare producător de echipamente PLC oferă  un protocol decomunicare, prin intermediul căruia două  (sau mai multe) PLC se

     înţeleg şi pot schimba date între ele. Necazul este că rareori două PLC

  • 8/15/2019 2_VL.pdf

    13/44

      57

    ale unor producători diferiţi pot comunica între ele, datorită faptului că au protocoale de comunicaţie diferite.Notă: Prin termenul de  protocol de comunica ţ ie  se înţelege ospecificaţie a modului de codare a mesajelor schimbate între două entităţi. De fapt nu se referă numai la codarea datelor, ci şi la modul în

    care decurge dialogul. Spre exemplu:-  E1 trimite către E2 o cerere de conectare (connect request ),-  E2 către E1 un răspuns la cerere prin care acceptă conectarea,-   în continuare se transferă date de la E1 la E2 şi invers,-  după  ce E1 a terminat de transferat datele trimite către E2 o

    cerere pentru eliberarea conexiunii (disconnect request ),-  E2 trimite o confirmare (disconnect confirmation) şi legătura

    este eliberată, canalul de comunicaţie putând fi utilizat de alteechipamente.

    Comunicarea se poate face prin interfeţe standardizate (spreexemplu Ethernet, RS232, RS485), care permit integrarea PLC într-oreţea industrială sau chiar poate fi conectat la reţeaua Internet. Uneoricomunicarea poate fi wireless pe baza standardului IEEE 802.3.Notă: Termenul de interfa ţă standardizată  se referă  la o specificaţiecare precizează  atât la mediul fizic (modul de legare între ele aechipamentelor, spre exemplu prin 3 fire, prin 8 conductori ş.a.),nivelele semnalelor, viteza de transfer cât şi protocolul de comunicaţiedintre echipamente (care transmite primul, cum răspunde celălalt şi în

    ce ordine se transmit datele, câte date, ce semnificaţie au semnalelevehiculate pe liniile de conectare, ş.a.).Cea mai simplă interfaţă este RS232 care are avantajul că poate

    fi conectată  atât la PLC cât şi la orice calculator care dispune de unport serial. Dezavantajele interfeţei RS232 se referă  la viteza detransfer de maximum 19,2 kbps şi la distanţa mică dintre echipamente( de maximum 15 m).

    Datorită  faptului că  echipamentele lucrează  în timp real,comunicarea trebuie să  decurgă  în deplină  siguranţă, f ără  erori şi cu

     întârzieri cât mai mici. Din acest motiv se adoptă  protocoale de

    comunicaţie elaborate de diferite firme.Spre exemplu protocolul  MAP al firmei General Motors este folosit înU.S.A. iar în Europa sunt folosite  Profibus  (cu posibilitatea detransmisie până  la 1,2 km, rată de transfer de 9,6,.., 500 kbps, pentrumaximum 32 staţii) , Modbus Plus (cu posibilitatea de transmisie până la 450 m, rată de transfer de 1  Mbps la care se pot conecta maximum32 staţii) , FIP Bus, ş.a. [5]

  • 8/15/2019 2_VL.pdf

    14/44

      58

     Func ţ ia de diagnoză  a controler-ului se referă  la capacitateaacestuia de a-şi testa corecta funcţionalitate, de a elabora rapoarte laintervale de timp impuse, de a genera semnale de alarmare sauatenţionare la sesizarea unei anomalii.

    Funcţia de diagnoză  poate fi implementată  prin program şi

    extinsă pentru testarea funcţionării corecte a echipamentelor conectatela intrările şi la ieşirile sistemului. Pe lângă  testarea hardware-uluisistemului, sistemele evoluate au posibilitatea de a verificafuncţionarea corectă  a ansamblului de programe (soft-ul sistemului)prin rularea controlată a unor programe de autotestare, în sensul că segenerează intrări impuse şi se verifică corectitudinea comenzilor.

    O altă  clasă  de programe de diagnoză  au drept scop ajustarea parametrilor fizici ai sistemelor de măsur ă  în scopul compensăriierorilor.Spre exemplu, datorită  temperaturii mediului ambiant, parametrii

    adaptorului se modifică (f ără voia noastră). În aceste condiţii semnalulnumeric, corespunzător mărimii măsurate va fi mai mic sau mai maredecât cel real. Controlerul generează la intrare un semnal care conducela o valoare numerică  cunoscută. Dacă  se obţine altă  valoare,controlerul modifică  factorul de amplificare al adaptorului pentru aobţine valoarea numerică  corectă. Această  caracteristică  a sistemuluide a-şi modifica parametrii de funcţionare sau structura internă  înscopul micşorării efectului perturbaţiilor se numeşte adaptabilitate. 

    Elaborarea programului  pentru controler se face pe uncalculator oarecare utilizând:-  scheme de conexiuni (leadder logic diagram), similare celor din

    figurile 2.9, 2.11;-  pe baza descrierii schemelor logice cu ajutorul unui program

    specific controlerului, folosind instrucţiuni specifice;-  pe baza descrierii schemelor logice într-un limbaj de

    programare (spre exemplu în C) acceptat de controler;-  pe baza unor limbaje standardizate pentru controlere, de cele

    mai multe ori folosindu-se specificaţiile IEC 1131.

    Pentru programe simple sau pentru modificarea unui program existent în memoria PLC se poate folosi interfaţa locală a controlerului.

    Introducerea programului pentru controler, în memoria acestuia, seface prin intermediul unui conector, cu care este prevăzut sistemulPLC ( de regulă interfaţa asigură un transfer serial al datelor, fiind detipul RS232  sau USB -  Universal Serial Bus  ). Prin intermediulconectorului elementul de programare (un laptop, un calculator sau uncircuit specializat de programare) are acces la o magistrală.

  • 8/15/2019 2_VL.pdf

    15/44

      59

     Limbajele folosite de controlere nu au fost încă standardizate,

    fiecare producător folosind alte instrucţiuni, care de fapt au acelaşiscop – de implementare, prin intermediul controlerului, a unor funcţiilogice.

    Controlerele mai performante acceptă  instrucţiuni în limbajeevoluate, spre exemplu în limbajul C.Sunt speranţe de unificare a limbajelor de programare a PLC

    prin intermediul standardului IEC 1131  elaborat de ComisiaInternaţională  de Electrotehnică  IEC (  International ElectrotechnicalCommision) – vezi paragraful următor. De fapt producătorii deechipamente PLC nu au renunţat în totalitate la sistemul propriu deprogramare, ci au introdus suplimentar posibilitatea programării pebaza specificaţiilor standardului menţionat. Această  facilitate esteindicată prin compatibilitatea echipamentului cu standardul ( IEC 1131

    compliant ).Nu trebuie confundată  funcţia de comunicare cu funcţia de

    programare a controlerului. Cele două sunt separate atât fizic (pentruca să  se evite reprogramarea accidentală  a controlerului) cât şifuncţional.

    Pentru programarea PLC şi testarea funcţionalităţii există soft-uri dedicate (CAD) puse la dispoziţie de producătorii deechipamente. Spre exemplu “ PicoSoft” cu ajutorul căruia se potdesena schemele şi se poate simula funcţionarea este pus la dispoziţie

    gratuit (pentru platforme Windows) de firma Allen-Bradley. Poate fidescărcat de la adresa [25].

    Tabelul 1.

    TABEL COMPARATIV AL CARACTERISTICILOR UNITATILOR CENTRALE PLC

    COD IC697CPX772 IC697CPX782 IC697CPX928 IC697CPX935INTRARI/IESIRI NUMERICE 2k 12k 12k 12kINTRAR/IESIRIANALOGICE 8k 8k 8k 8k

    MEMORIA DISPONIBILAAPLICATIEI UTILIZATOR 512k 1 M 6 M

    1 M (Fastmemory)

    TIMPUL DE EXECUTIE AOPERATIILOR LOGICE 0.4ms/k 0.4ms/k 0.4ms/k 0.4ms/k

    INDEX ALPERFORMANTEI

    6.0 8.0 8.0 10.0

    PROCESOR 486DX4 486DX4 486DX4 486DX4FRECVENTAPROCESORULUI 96MHz 96MHz 96MHz 96MHz

    ARITMETICA IN VIRGULAMOBILA DA DA DA DA

  • 8/15/2019 2_VL.pdf

    16/44

      60

    În tabelul 1 sunt prezentate caracteristicile unităţilor centrale deprelucrare numerică  din componenţa unor PLC iar în tabelul 2 suntprezentate comparativ performanţele PLC produse de patru firmereprezentative. S-au marcat cu steluţe facilităţile oferite de producătorprivind caracteristicile ( scăzută *, medie **, ridicată ***).[26]

    Tabelul 2.

    Firma ABB Siemens Allan Bradley GE Fanuc

    Includerea in setul de instrucţiuni afuncţiilor trigonometrice

    ** * *** ***

    Includerea blocurilor PID *** *** *** ***Posibilitatea includerii de subrutineparametrizate

    - - ** ***

    Structuri predefinite in C pentruutilizatori

    * * *** **

    Software compatibil cu actualelesisteme de operare ** ** *** ***

    Comunicaţii prin cablu ** ** *** ***Furnizare piese de schimb (service) *** *** ** **Compatibilitate cu noile CPU ** ** ** ***Extensibilitate *** *** ** **Programare cu laptop standard ** ** ** ***Detectare si raportate defecte * * ** ***

    În figura 2.12 este prezentat aspectul exterior al unui PLC.

    Fig. 2.12.

  • 8/15/2019 2_VL.pdf

    17/44

      61

    Exemplul 1. Semnalizarea stării unui circuit electric

    Circuitul din figura 2.13 are rolul de a semnaliza luminos (cu unLED) starea alimentării sarcinii de curent alternativ, notată cu R.

    Precizăm, de la bun început, că  situaţia prezentată nu va fi niciodată  întâlnită în practică, datorită unor inconveniente printre care faptul că nu revine în starea iniţială f ără o comandă externă (vezi finalul logiciide comandă).Rezistorul R este alimentat cu ~220 V ca  de la sursa AC dacă bobinareleului C este sub tensiune.Circuitul de comandă  are două  butoane f ără  revenire (odată  apăsate

    rămân aşa) unul notat cu P – pentru pornire şi unul notat cu O – pentruoprire.

    Dacă P  este apăsat se alimentează bobina releului  B, contactulacestuia se închide şi bobina releului C  va fi conectată la sursa de c.c.notată  V CC . Contactul releului C   se închide şi sarcina este alimentată iar LED - ul se aprinde indicând prezenţa tensiunii în circuitul de forţă (de c.a.).

    Fig. 2.13.

  • 8/15/2019 2_VL.pdf

    18/44

      62

    Dacă O este apăsat se alimentează bobina releului  A, contactulacestuia se închide şi bobina releului C va fi deconectată  la sursa dec.c. Contactul releului C se deschide şi sarcina este scoasă  de subtensiune; iar LED-ul se stinge indicând faptul că  sarcina nu estealimentată.

    Pentru a aduce circuitul în starea iniţială  se impune a debloca celedouă butoane.Constatăm că  toată  logica de comandă, inclusiv releele sunt

    implementate de către PLC. În exteriorul acestuia se află  numaibutoanele care constituie intrări ale PLC şi sarcina, conectată  la unadin ieşirile controlerului.

    Exemplul 2. Transferul programului în memoria unui PLC

    În figura 2.14 la PLC s-au conectat la intrări 3 contacte ale unor

    mărimi din proces, iar la o ieşire s-a conectat un bec.PLC- ul prezentat are 6 intrări (notate cu  X ) , 6 ieşiri (notate cu Y ) ,două borne de alimentare  L1  ,  L2  şi un conector pentru programare(Programming).

    Contactele conectate la PLC pot avea orice nume, în schimb încadrul programului se vor folosi numai numele porţilor (ale bornelorPLC) la care este conectat contactul. Observăm că  în cadrul schemei

    Fig. 2.14.

  • 8/15/2019 2_VL.pdf

    19/44

      63

    de programare (din partea de jos a figurii ) apar notaţiile porţilor înscrise pe PLC ( X 1, X 2,  X 3 pentru contactele de intrare şi Y 1 pentrubecul conectat la ieşire).

    Se impune a face o distincţie clară  între elementele fizice

    conectate la PLC şi elementele din programul controler-ului asociateacestor elemente fizice, cu toate că pot avea aceeaşi denumire.În cazul figurii 2.14 programul din memoria controlerului

    (exprimat prin schema din partea de jos a figurii) conţine contactulnotat  X 1(element de programare) care este asociat elementului fizicconectat la prima bornă  de intrare a PLC şi care ca element fizic sepoate numi tot  X 1 sau altfel (spre exemplu START). De fapt,elementul de programare  X 1 are alocat un registru (o zonă  dememorie) în care se păstrează  valoarea ON sau OFF. Programul vaprelua starea contactului din registrul asociat (şi tot acolo va face

    actualizarea stării).

    Execuţia programului controlerului

     Programul controlerului se execută secven ţ ial  spre deosebirede circuitele cu relee unde acţiunea contactelor este asincronă (apare laorice moment de timp şi rezultatul se obţine imediat ce s-a schimbatstarea unui contact).

    După  încheierea programului acesta este reluat ciclic, de la

     început. Durata unui ciclu poate fi în domeniul 1,..., 100 ms.Etapele oricărui program sunt evidenţiate în continuare.A. Selftest

    Controlerul efectuează  o diagnosticare a stării sistemului şi în cazulfuncţionării corespunzătoare trece la etapa de preluare a mărimilorconectate la intrările PLC – ului.

    B. Actualizarea st ării intr ărilor  Secvenţialitatea înseamnă  că  la momente discrete de timp

    controlerul execută  o acţiune de testare a unui contact sau intrareanalogică, apoi al altui contact ş.a.m.d., până  când efectuează 

    actualizarea stării tuturor elementelor conectate la intrărilecontrolerului . De fapt, actualizarea constă  în memorarea stăriiintrărilor într-o memorie RAM.

    B.  Analiza circuitului  şi actualizarea în memorie a st ăriiie şirilor  

    În faza următoare analizează  prima ramură  a circuitului,calculează rezultatele şi modifică în memorie starea ieşirilor.

  • 8/15/2019 2_VL.pdf

    20/44

      64

    Trece la analiza următoarei ramuri de circuit ş.a.m.d. până la sfârşitulschemei. Acesta este ordinea impusă  în care se testează  şi secalculează rezultatele acţiunii contactelor.Ordinea impusă este:- se începe din colţul stânga sus al diagramei,

    - se parcurge prima ramură de la stânga la dreapta şi se memorează rezultatul (adică starea ieşirilor din ramura respectivă),- se trece la următoarea ramură în josul schemei, până la sfârşit.De reţinut faptul că se memorează, imediat ce se face calculul, stareaieşirilor circuitului (din simplul motiv că  starea memorată  va fiutilizată în restul calculelor, pe ramurile care urmează).Notă:  Există  posibilitatea, ca în calculele care se execută, să  sefolosească date ale intrărilor neactualizate, prin specificarea explicită aacestei opţiuni. S-a prevăzut această  posibilitate pentru a folosi încalcule date considerate sigure sau date care se eşantionează  la

    intervale mai mari de timp.C. Actualizarea st ării ie şirilor PLC  În această ultimă etapă se face actualizarea ieşirilor propriu-zise

    de la bornele controlerului PLC, după  care se reia programul de lapunctul A.

    Rezultă  că  pe parcursul analizei schemei (a derulăriiprogramului ) starea unei ieşiri se poate modifica de mai multe ori,dacă logica schemei o impune.

    Această  modalitate de parcurgere a schemei determină necesitatea de a nu schimba ordinea în care sunt poziţionate ramurilecircuitului, pentru că există probabilitatea ca să se obţină alte rezultate.Dacă  un contact condiţionează  funcţionarea altuia, prin schimbareapoziţiei se poate ca să fie testat mai întâi contactul al doilea – rezultă că primul contact nu va mai condiţiona funcţionarea celui de al doilea(la testarea celui de al doilea contact se va lua în considerare stareaneactualizată  , veche, din memorie a primului contact). Se impuneconcluzia că o ramură de circuit nu poate condiţiona funcţionarea uneiramuri din amonte (microprocesorul nu se întoarce să  reanalizeze

    ramurile deja parcurse).

    Exemplul 3. Realizarea unui generator de oscilaţiidreptunghiulare

    Actualizarea stării intrărilor la momente discrete de timp, în ordineaprecizată, permite realizarea unui oscilator cu un singur releu şi uncontact al acestuia, ca în figura 2.15.

  • 8/15/2019 2_VL.pdf

    21/44

      65

    La prima testare C1 este închis şi PLC alimentează  bobina releuluiC1care va fi în starea ON notată  cu H. Bobina fiind alimentată contactul C1 se deschide.C1=H în intervalul de timp dintre testări, notat cu Ta.A doua testare găseşte C1 deschis şi PLC taie alimentarea bobinei

    releului C1 care va fi în starea OFF, altfel scris C1=L. Contactul C1 se închide.C1=L în intervalul de timp dintre testări, Ta.

    La a treia testare C1 este închis şi PLC alimentează  bobina C1= H.Bobina fiind alimentată contactul C1 se deschide.C1=H în intervalul de timp dintre testări, Ta.

    A patra testare găseşte C1 deschis şi PLC taie alimentarea şi C1=L.Contactul C1 se închide.C1=L în intervalul de timp dintre testări, Ta.Ş.a.m.d.

    Constatăm că starea bobinei BC1 se modifică la fiecare testare,obţinând astfel o formă  de undă dreptunghiulară  de perioadă  2Ta şifactor de umplere de 50%.

    Din punctul de vedere al programării, contactul C 1 reprezintă ointrare pentru PLC iar bobina CR1 reprezintă o ieşire a controlerului.Se justifică  această  afirmaţie prin faptul că  intrarea C 1 determină 

    starea bobinei CR1 (alimentată sau nealimentată).Intrările PLC sunt prezente în instrucţiunile condiţionale ale

    programului iar ieşirile PLC sunt instrucţiunile care stabilesc stareaieşirilor.

    Structurile PLC pot implementa funcţii de memorare şiprelucrare matematică  avansată  a datelor (funcţii statistice, funcţiitrigonometrice, derivare, integrare, ş.a.).

    C1 C1

    L1 L2

    Fig. 2.15.

  • 8/15/2019 2_VL.pdf

    22/44

      66

     Structura hadware a unui PLC

    Din punct de vedere hardware, o instalaţie complexă  poateconţine mai multe PLC de sine stătătoare sau grupate într-un rack, cu o

    singură sursă de alimentare şi cu un bus de comunicaţie între ele şi cuexteriorul, vezi figura 2.16.

    Uneori există mai multe rack-uri locale, în apropierea instalaţiei,care comunică cu un sistem centralizat de conducere şi supraveghere.Costul sistemelor PLC fiind în continuă  scădere, există  tendinţa de aimplementa câte un PLC sau un grup de PLC - uri pentru fiecareelement din sistem (maşină, instalaţie, ş.a.) care să  preia funcţiilelocale de supraveghere şi conducere şi să  comunice cu sistemulcentralizat prin intermediul unei magistrale de comunicaţie. Se poatevorbi, în această situaţie de sisteme de conducere distribuite pentru că funcţia de conducere nu mai este centralizată (o parte din decizii se iau

    la nivel local).Orice controler PLC, indiferent de producător, are următoarele

    componente (vezi figura 2.17):-  sursă de alimentare cu energie electrică internă sau externă, care

    poate fi de c.a. (120 V  sau 220 V ) sau de c.c. ( 24 V );-  unitate centrală de prelucrare CPU (Central Processing Unit );

    Fig. 2.15

    Fig. 2.16.

  • 8/15/2019 2_VL.pdf

    23/44

      67

    -  memorii de tipul RAM şi memorii de tipul ROM (de obicei suntreinscriptibile electric, adică sunt EEPROM), blocul MEMORYdin figură;

    -  sistemul de preluare a semnalelor din proces INPUT;-  sistemul comenzilor către proces OUTPUT;

    -  o interfaţă  pentru programarea PLC, care poate fi integrată  însistemul intrărilor;-  una sau mai multe interfeţe pentru comunicarea cu alte

    echipamente (o magistrală  de comunicaţie cu exteriorul), carepoate fi integrată de blocurile I/O.

    -  un sistem de afişare (display şi LED - uri) a stărilorcontrolerului .

    Intrările şi ieşirile sistemului sunt o parte digitale ( DISCRETE şi REGISTER) şi altele (mai puţine) analogice ( ANALOG).Semnalul analogic de la intrare este convertit în semnal numeric prinintermediul unui CAN convertor analog – numeric la ieşirea căruia seobţine o valoare pe 8, 10 sau 12 biţi în funcţie de rezoluţiaconvertorului.O caracteristică  importantă  a sistemului intrărilor analogice (condiţionată de CAN) este viteza de conversie, exprimată prin timpul

    dintre momentul aplicării semnalului analogic şi momentul de timp lacare este disponibil semnalul digital corespunzător valorii analogice dela intrare. Dacă semnalele analogice din proces sunt rapid variabile întimp se impune ca PLC să dispună de un CAN performant, cu timp deconversie mic (spre exemplu de ordinul s µ  ).Pentru că  traductoarele conectate la intrările analogice au diferitedomenii de variaţie a semnalului se impune prezenţa unui adaptor

    Fig. 2.17.

  • 8/15/2019 2_VL.pdf

    24/44

      68

    (înainte de CAN) care să  modifice domeniul semnalului pentru a ficompatibil cu domeniul acceptat de CAN. Spre exemplu domeniile-10V ,...,+10V ; 0,...,10V ; 0,..., 100mV ; 2,...,10mA; 4,...,20mA  trebuieconvertite la domeniul acceptat de CAN, adică la domeniul 0,...,5V .

    Semnalele digitale de intrare, provenind de la traductoare, pot aveadiferite nivele de tensiune alocate cifrei zero logic şi cifrei unu logic.

    Controlerul lucrează  cu o singură  reprezentare a semnalelor digitale,motiv pentru care în structura PLC sunt prezente, la fiecare intrareadaptoare de semnal digital. În figura 2.18 este prezentată o schemă aadaptorului pentru reprezentări în c.c. a semnalelor digitale din proces.

    În figura 2.19 este prezentată  o schemă  a adaptorului pentrureprezentări în c.a. a semnalelor digitale din proces.

    Fig. 2.18.

    Fig. 2.19.

  • 8/15/2019 2_VL.pdf

    25/44

      69

     Constatăm că  în ambele scheme se foloseşte optocuplarea în scopulseparării semnalelor din proces de controlerul sistemului, pentruprotecţia acestuia.În cadrul schemei din figura 2.18 diodele D1 şi D2 au rolul de limitare

    a semnalului de la intrare.Scheme din figura 2.19 primeşte la intrare semnal de c.a. care esteredresat de puntea de diode PD, filtrat de grupul  R1, R,C  şi limitat cavaloare de dioda Zener D z.

    Semnalele digitale de ieşire, sunt furnizate procesului prinintermediul unui adaptor cu funcţia de a converti semnalul digitalfurnizat de CPU în semnal compatibil cu elementul de execuţie care vafi conectat la respectiva ieşire.

    Există elemente de execuţie la care PLC le furnizează un curent,

    ceea ce înseamnă  că elementul de execuţie se conectează  între bornade ieşire a PLC şi masă (sourcing output ).

    Există  elemente de execuţie care dispun de o sursă  proprie dealimentare şi se vor conecta între borna de ieşire a PLC şi sursa proprie(sinking output ).

    Elementele numerice de execuţie lucrează unele cu semnale deintrare de c.c. iar altele cu semnale de intrare de c.a. [15]

    Spre exemplu în figura 2.20 este prezentată o ieşire a PLC carefurnizează  semnale digitale de c.c. echipamentului conectat la

    respectiva ieşire.

    În figura 2.21 este prezentat adaptorul pentru o ieşire cu semnaldigital în curent alternativ.

    Fig. 2.20.

  • 8/15/2019 2_VL.pdf

    26/44

      70

     

    Semnalele analogice de comandă  (de la ieşirile PLC) se obţinprin convertirea semnalului digital într-un semnal analogic cu ajutorulunui circuit electronic CNA numit convertor numeric – analogic.

    2.3.  Elemente de programare a PLC

    Elaborarea programului de funcţionare al unui PLC se face prinintermediul unor instrucţiuni de programare specifice fiecăruiproducător de echipamente sau prin intermediul unor limbaje de

    programare a PLC impuse de standardul IEC 1131  (  International Electrotechnical Commision).În continuare vor fi prezentate principalele elemente de

    programare definite de IEC 1131, care standard datorită  diferitelorrevizuiri este cunoscut şi sub numele IEC 61131.Standardul nu se referă numai la programarea PLC, fiind un manual dedefinire a sistemelor cu logică  programabilă. Se compune din maimulte secţiuni, şi anume:

    -  informaţii generale (1);

    -  echipamente şi testarea acestora (2);-  limbaje de programare, conţine o descriere a instrucţiunilor şi

    informaţii privind standardele de programare (3);-  indicaţii pentru utilizarea sistemelor PLC (4);-  tehnici de comunicare (5);-  control prin logică fuzzy (6).

    Fig. 2.21.

  • 8/15/2019 2_VL.pdf

    27/44

      71

    În cadrul celei de a treia secţiuni sunt definite diferite modele (limbaje)de programare, şi anume:

    LD ( Ladder Diagram) – limbaj grafic, pe baza schemelor(diagramelor) cu contacte;

    FBD (Function Block Diagram) – limbaj grafic, pe baza

    schemelor bloc (scheme logice);IL  ( Instruction List ) – limbaj text, pe baza listelor demnemonici;

    ST  (Structured Text ) – limbaj text pe baza unui set deinstrucţiuni, similare celor din limbajul BASIC clasic de programare;

    SFC  (Sequential Function Charts) – este o metodă  grafică,specificând fluxul de date prin blocuri funcţionale, in care se înscriuinstrucţiuni ale unui alt limbaj de programare. [17,27]

    Tabelul 3.

    Numele Tipul Numărul biţilor Domeniul

    BOOL boolean 1 0 to 1SINT short integer 8 -128 la 127INT întreg 16 -32768 la 32767DINT double integer 32 -2.1e-9 la 2.1e9LINT long integer 64 -9.2e19 la 9.2e19USINT unsigned short

    integer8 0 la 255

    UINT unsigned integer 16 0 la 65536UDINT unsigned double

    integer32 0 la 4.3e9

    ULINT unsigned longinteger

    64 0 la 1.8e20 

    REAL nr. real 32 -LREAL long reals 64  -TIME durată  nespecificat -DATE dată  nespecificat -TIME_OF_DAY, TOD timp nespecificat -DATE_AND_TIME, DT dată şi timp nespecificat -STRING şir variabil 

    -BYTE 8 bits 8 -WORD 16 bits 16 -DWORD 32 bits 32 -LWORD  64 bits  64  -

  • 8/15/2019 2_VL.pdf

    28/44

      72

    În cadrul tabelului 3 sunt prezentate tipurile de date acceptate de PLCcare pot fi folosite în cadrul programelor.

    Înainte de a prezenta elementele principale ale celor cincilimbaje de programare se impun câteva consideraţii privind abordareaprogramării controlerelor.

    Secvenţialitatea execuţiei instrucţiunilor conduce la foarte multestări succesive ale automatului şi o proiectare necorespunzătoaredetermină  stări nedorite ale sistemului, ceea ce conduce la un efortconsiderabil pentru depanarea programelor. O proiectarenecorespunzătoare  împarte bugetul de timp necesar implementăriiastfel : 10% stabilirea temei, 10% concepţie, 30% scrierea programului(softul), 40% testare şi depanare, 10% elaborarea documentaţiei.

    O programare structurată determină un sistem fiabil, care poatefi cu uşurinţă completat (upgrade) şi care, de altfel, scurtează şi timpulnecesar implementării. Se afirmă [10]că o creştere la 30% a timpului

    alocat concepţiei (structurării) va micşora timpul alocat scrieriiprogramului la 10% şi va scădea timpul necesar depanării la 10% (iată o economie de 30%, adică o scădere a timpului necesar implementăriiautomatului).

    În figura 2.21 este prezentat modul orientativ de structurare şiindicaţii privind limbajul care ar trebui adoptat pentru sistemelesecvenţiale.

    Limbajul IL ( Instruction List),  poate fi considerat similarlimbajului de asamblare folosit de microprocesoare. Sunt puţine tipuri

    Fig. 2.21.

  • 8/15/2019 2_VL.pdf

    29/44

      73

    de controlere care mai pot fi programate prin intermediul listelor deinstrucţiuni (limbajul IL) şi tendinţa este de a nu mai fi utilizat. Cauzaprincipală  este faptul că  celelalte limbaje sunt mai uşor deimplementat.

    Limbajul ST(Structured Text)  de text structurat este similarlimbajelor de nivel înalt C şi Visual Basic.

    Există  un program principal (între PROGRAM   şi END_PROGRAM ) care apelează funcţii sau subrutine.În primele linii se declară  tipul variabilelor într-un bloc (care se

     încheie la  END_VAR). Blocul începe cu una din combinaţiilespecificate în tabelul 4.

    Tabelul 4.

    Declaratia DescriereVAR Începutul blocului de declarare a

    variabilelor (în general)END_VAR Sfârşitul blocului de declarare a

    variabilelorVAR_INPUT Declararea variabilelor ce se vor transfera

    unei funcţiiVAR_OUTPUT Declararea variabilelor ce se vor transfera

    dintr-o funcţieVAR_IN_OUT Declararea variabilelor ce se vor transfera

     între funcţie şi program apelant, atât ca

    intrare cât şi ca ieşireVAR_EXTERNAL Variabile externeVAR_GLOBAL Variabile globaleVAR_ACCESS Variabile de acces

    VAR_INPUT , VAR_OUTPUT şi VAR_IN_OUT   declară variabile carevor fi argumente ale unor funcţii – prin intermediul respectivelorvariabile se transferă date între program şi funcţiile pe care le apelează.

    Exemple de declaraţii pentru variabile:VAR A, B, C : INT ; END_VARVAR A : STRING[10] ; END_VARVAR A : STRING[10] := ‘mama’; END_VARVAR A : BOOL; END_VARVAR CONSTANT A : REAL := 6.12345 ; END_VARVAR RETAIN A : ARRAY[1..5,1..6] OF INT; END_VAR

  • 8/15/2019 2_VL.pdf

    30/44

      74

     În tabelul 5 sunt precizate cuvintele cheie asociate variabilelor,

    prin intermediul cărora se fac precizări asupra proprietăţilor acestora.

    Tabelul 5.

    Declaratia DescriereRETAIN Variabila î şi menţine valoarea şi după  întreruperea

    alimentării PLCCONSTANT Valoare constantă ce nu poate fi modificată AT Specifică locaţia de memorie ce se alocă vatiabileiOF Pecizează tipul variabilei (INT, BOOL,...)

    Funcţiile sunt încadrate de cuvintele cheie

    FUNCTION nume_func ţ ie şi END_FUNCTION .

    În tabelul 6 sunt prezentaţi operatorii aritmetici şi operatorii logici, începând cu cel mai prioritar.

    Tabelul 6.

    Operatoriaritmetici şi logici

    Descriere

    > Mai mare>= Mai mare şi egal= Egal

  • 8/15/2019 2_VL.pdf

    31/44

      75

    Tabelul 7.

    Instrucţiunile DescriereIF-THEN-ELSIF-ELSE-END_IF;

    IF

    CASE-valoare:-ELSE-END_CASE; CASE

    FOR-TO-BY-DO-END_FOR;

    FOR

    WHILE-DO-END_WHILE;

    WHILE

    Exemplu pentru IF:

    Dacă  bitul 02 al intrării I:000 (I:000/02) este OFF bitul 1 alieşirii O:001 (O:001/01) se setează ON, iar dacă 02 al intrării I:000 ON

    nu modifică nimic.

    IF (I:000/02 = 0) THENO:001/01 := 1;

    END_IF;

    Exemplu pentru IF complet:IF (I:000/00 = 1) THEN

    O:001/00 := 1;ELSIF (I:000/01 = 1 AND T4:0/DN = 1) THEN

    O:001/00 := 1;ELSE

    O:001/01 := 1;END_IF;

    Exemplu pentru CASE:

    În funcţie de valoarea variabilei N7:0 unul sau mai mulţi biţi aiportului de ieşire O:000 se modifică. Se setează  ON unul din biţii

    00,...,03 iar dacă N7:0 este mai mare ca 3 se setează toţi biţii 04,...,07 în OFF.CASE N7:0 OF0:O:000/00 := 1;1:O:000/01 := 1;2:

  • 8/15/2019 2_VL.pdf

    32/44

      76

    O:000/02 := 1;3:O:000/03 := 1;ELSEO:000 := 0;

    END_CASE;

    Exemplu de buclă FOR:

    Pentru domeniul 0,...,4 al variabilei N7:0 se adună  la variabilaF8:10 valorile F8:[ 0],..., F8:[4].

    F8:10 := 0;FOR (N7:0 := 0 TO 4) DO

    F8:10 := F8:10 + F8:[N7:0];END_FOR;

    Alt mod de a realiza o buclă.N7:0 := 0;

    REPEATN7:0 := N7:0 + 1;

    UNTIL N7:0 >= 10END_REPEAT;

    Exemplu de buclă WHILE:

    Vezi exemplul pentru FOR.

    F8:10 := 0;N7:0 := 1;WHILE (N7:0 < 5) DO

    F8:10 := F8:10 + F8:[N7:0];N7:0 := N7:0 + 1;

    END_WHILE;

    Exemplu de program principal:

    PROGRAM MAINVAR

    I: INT;END_VAR

  • 8/15/2019 2_VL.pdf

    33/44

      77

    I:= 0;REPEAT

    I:=I+1;UNTIL I>= 10;

    END_REPEAT

    END_PROGRAMExemplu de funcţie pentru un bistabil RS:

    FUNCTION_BLOCK SR(*Bistabilul RS*)

    VAR_INPUTS: BOOL;R: BOOL;

    END_VAR

    VAR_OUTPUTQ: BOOL;

    END_VARIF S OR R THEN

    Q: = S;ELSE

    (*nu se modifica starea ieşirii*)END_IF

    END_FUNCTION_BLOCK

    Instrucţiuni speciale:

    IIN();  Se face reîmprospătarea valorii de intrare imediat(immediate input update);

    EMPTY Variabilă neiniţializată.

    Limbajul ST are implementate principalele funcţii matematice, spreexemplu:

    ABS(A) – valoarea absolută;SQR(A) – radicalul de ordin doi;LN(A) – logaritmul natural;LOG(A) – logaritmul în baza zece;EXP(A) – exponenţiala;SIN(A), COS(A), TAN(A) – funcţii trigonometrice directe;ASN(A), ACS(A), ATN(A) – funcţii trigonometrice inverse;XPY(A,B) sau A**B – ridicarea la putere;

  • 8/15/2019 2_VL.pdf

    34/44

      78

    MAX(A,B) – furnizează valoarea maximă a celor două;

    Pe lângă  funcţiile matematice standardul IEC1131implementează o serie de funcţii pentru şiruri de caractere:

    CONCAT(A,B,...) – concatenarea şirurilor (de caractere);DELETE(IN:=A, L:=n, P:=m) – şterge n caractere din şirul A 

     începând cu poziţia m;FIND( IN1:=A, IN2:=B) – caută şirul B în şirul A şi furnizează 

    poziţia unde începe şirul B în cadrul şirului A;INSERT( IN1:=A, IN2:=B, P:=C) înserează şirul B în şirul A

     începând cu poziţia C;LEN(A) – furnizează lungimea şirului A;LEFT(IN:=A, L:=n) – furnizează n caractere din cadrul şirului

     A, începând din partea stângă a şirului;

    O altă serie de funcţii rezolvă problema setărilor sistemelor dincadrul PLC, spre exemplu setarea numărătoarelor se face cu funcţiile:CTD, CTU, CTUD.

    Astfel :CTD(CD:=A, LD:=B, PV:=C) – setează nu numărător care î şi

    scade valoarea registrului  A (care iniţial este setat la valoarea  B prinfuncţia LD - load preset ) cât timp A= C;

    TON (IN:=A, PT:=B)  - setează  în ON un circuit detemporizare;

    TOF (IN:=A, PT:=B)  - setează  în OFF un circuit detemporizare;

    RS(A,B)  - stabileşte intrările  A şi  B pentru un bistabil de tipulRS;

    Sistemul are funcţii pentru manipularea biţilor din cadrul unuicuvânt, spre exemplu:

    SHL(IN:=A, N:=m) - deplasează către stânga m biţi din A;SHR(IN:=A, N:=m) - deplasează către dreapta m biţi din A;ROR(IN:=A, N:=m) - roteşte către dreapta m biţi din A ;ROL(IN:=A, N:=m) - roteşte către stânga m biţi din A ;

  • 8/15/2019 2_VL.pdf

    35/44

      79

     De remarcat faptul că  limbajul ST permite apelarea de subprogramescrise în alte limbaje.

    Limbajul SFC (Sequential Function Charts)  , spre deosebire

    de celelalte limbaje, permite ca mai multe procese să  fie active înacelaş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 figurile2.22,...,2.27.

    Prin intermediul liniilor se indică trecerea de la un pas la altul,adică tranziţia automatului dintr-o stare în alta.

    Simbolul din figura 2.22 specifică  o instrucţiune condiţională (de tipul IF sau WAIT) indicând faptul că se va trece la pasul următorcând condiţia este îndeplinită.Prin intermediul blocurilor (a dreptunghiurilor) se indică  stareacircuitului. Spre exemplu simbolul din figura 2.23 indică prima stare acircuitului.

    De regulă o stare ( un pas al circuitului) are asociată o acţiune,vezi figura 2.24.

    Fig. 2.22. Fig. 2.23.

    Stare (pas) Acţiune

    Fig. 2.24.

  • 8/15/2019 2_VL.pdf

    36/44

      80

    Un macropas conţine un număr de instrucţiuni, cu simbolul în figura2.25. De regulă blocul este asociat subrutinelor şi funcţiilor.

    În figura 2.26 este prezentat simbolul pentru selecţia unei căi.Programul va urma numai una din cele două căi.

    Fig. 2.25.

    Fig. 2.26.

    Fig. 2.27.

  • 8/15/2019 2_VL.pdf

    37/44

      81

    În figura 2.27 este prezentat blocul care semnifică  două  ramurisimultane ( este vorba de un circuit ŞI).

    În figura 2.28 este prezentat un exemplu de aplicare a metodei SFCpentru un sistem care are drept scop deblocarea (descuierea) a două uşi. Prima uşă se deschide dacă sunt introduşi corect 3 digiţi, iar a douase deschide dacă sunt introduşi corect 2 digiţi. Daca unul din digiţi este

    incorect uşa rămâne blocată  (se dă  o nouă  comandă de închidere, cutoate că uşa este deja blocată).

    Limbajul FBD ( Function Block Diagram)

    Principiul pe baza căruia a fost implementat limbajul FBDconstă  în transferul datelor de la intrări către ieşiri prin intermediul

    Fig. 2.28.

  • 8/15/2019 2_VL.pdf

    38/44

      82

    blocurilor funcţionale. De fapt limbajul forţează programatorul  să evidenţieze transferul datelor prin sistem.Spre exemplu în figura 2.29 ieşirea O:000/01 este activă  dacă  laintrarea A avem o valoare mai mică decât la intrarea B (B=N7:2), undeintrarea  A  este determinată  de variabilele N7:0 şi N7:1prin relaţia

    )1:7(*)0:7sin(  N la N  A  =.

    Blocurile funcţionale ale limbajului FBD  au un corespondent îninstrucţiuni scrise în limbajul ST(Structured Text ). Spre exemplublocul din figura 2.30 este implementat în ST cu instrucţiunea

    ):,:,:(: C  MX  B IN  A MN  LIM O   ==== .

    Există  blocuri funcţionale definite (bistabili, timere, ş.a.), în cadrulunor biblioteci, dar pot fi definite noi blocuri funcţionale. După definirea blocului funcţional acesta poate căpăta oricâte instanţieri încadrul sistemului (folosind numele asociat blocului).Blocul divide  din figura 2.31 permite implementarea funcţiei de

     împărţire a două valori bac  / = .În prealabil se face o verificare pentru eliminarea erorii de împărţire lao valoare nulă, caz în care ieşirea se aduce la zero.

    Fig. 2.29.

    Fig. 2.30.

  • 8/15/2019 2_VL.pdf

    39/44

      83

     

    Blocul funcţional este de fapt o unitate care conţine un set deinstrucţiuni care efectuează  diferite prelucrări ale variabilelor deintrare pentru a genera valori ale variabilei de ieşire. De notat că se potfolosi, în cadrul prelucrării li variabile interne.Instrucţiunile (programul) cu care se implementează blocul funcţional

    divide sunt:

    FUNCTION_BLOCK divideVAR_INPUT

    a: INT;b: INT;

    END_VARVAR_OUTPUT

    c: INT;END_VAR

    IF b 0 THEN

    c := a / b;ELSEc := 0;

    END_IF;END_FUNCTION_BLOCK 

    Implementarea blocurilor funcţionale se poate face în oricare dinlimbajele definite de standardul IEC 1131.

    Blocurile pot fi prevăzute cu intrări de autorizare EN care dacă sunt inactive blochează funcţionarea circuitului.

    Conectarea ieşirii unui bloc la intrarea altuia se face prin unirea,cu o linie, a celor două elemente.

    Salturile condiţionate sau necondiţionate se fac spre puncteleetichetate (LABEL a, etc.).

    Dacă  există  mai multe reţele de blocuri fiecărei reţele îi esteasociat un număr şi ordinea execuţiei se face în ordinea crescătoare anumerelor asociate.

    Fig. 2.31.

  • 8/15/2019 2_VL.pdf

    40/44

      84

    Sistemul permite implementarea subrutinelor din care revenirea poarefi condiţionată sau necondiţionată, vezi figura 2.32 [11].

    În figura 2.33 [11] sunt prezentate modalităţile de ciclare.

    Există blocuri pentru conversia valorilor din BCD în numere întregi şiinvers, pentru conversia valorilor din numere întregi în numere reale,pentru rotunjire sau pentru trunchere.

    Fig. 2.32.

    Fig. 2.33.

  • 8/15/2019 2_VL.pdf

    41/44

      85

    Limbajul LD ( Ladder Diagram)

    Într-o traducere aproximativă LD reprezintă diagrame în scară.Explicaţia constă  în faptul că diagrama are pe laterale alimentarea cuenergie L1 şi L2 (în care  L1 este faza – firul cald, iar L2 este masa) între

    care se găsesc reţele electrice (rânduri , linii) conectate în paralel.Rândurile au în componenţă  temporizatoare, numărătoare, contactenormal închise sau normal deschise - de intrare şi bobine ale unor releesau elemente de execuţie - de ieşire (vezi figurile 2.11, 2.13, 2.14).Execuţia şi actualizarea se face de jos în sus şi pe linie de la stânga ladreapta (un exemplu se află  în figura 2.15) – fiecare linie fiindnumerotată pentru ca execuţia să se facă conform numărului de ordine.În cadrul diagramelor pot fi intercalate blocuri funcţionale.

    Figura 2.34 prezintă simbolizarea contactului normal deschis (IN001)şi a contactului normal închis (IN002, IN003 )

    Elementele de ieşire sunt bobinele (OUT001, OUT002) şi bobinelenegate (OUT003).

    Temporizatoarele sunt elemente care modelează funcţionarea releelor detimp şi a contactelor temporizate.Temporizatoarele, a căror reprezentare se află  în figura 2.36, permitrealizarea unei acţiuni întârziate cu un anumit interval de timp ce poate fiprogramat.

    a)   b)

    IN001   IN002   IN003

     

    Fig. 2.35.

    a) b)

    OUT 001 OUT 002 OUT 003

     

    Fig. 2.34.

  • 8/15/2019 2_VL.pdf

    42/44

      86

     

    Iniţializarea porneşte temporizarea. Baza de timp stabileşte

    valoarea cu care se incrementează timpul (0,01s; 0,1s sau 1s). Numărulde cuante de timp la care se termină  temporizarea este specificat prinprogram.

    În figura 2.37 este prezentat un numărător.

    Pentru desenarea schemelor cu contacte ( Ladder Diagram) se folosesceditoare puse la dispoziţie, de obicei, de către firmele producătoare de

    echipamente PLC.Exemple de editoare J-Ladder [31], DELMIA Automation LL1 [32],ISaGRAF, TRiLOGY [33], ş.a.

    Validare

    Iniţializare

    Ieşire

    Nr. temporizator

    Baza de timp

    Valoareaprestabilită

     

    Fig. 2.36.

    Numărare  Ieşire

    Ieşire negată

    Nr. numărător

    Valoareprestabilită

    Iniţializare

     

    Fig. 2.37.

  • 8/15/2019 2_VL.pdf

    43/44

      87

     Tabel din “ Introduction to Programmable Logic Controllers”

    Number Description Link/info

    1 PLC book http://claymore.engineer.gvsu.edu/~jackh/books/plcs2 PLC website http://www.plcs.net/3 PLC tutorial http://www.plcs.net/chapters/whatis1.htm

    4Quick PLCdescription

    http://support.automationdirect.com/docs/whatisaplc.html

    5 PLC History http://www.softplc.com/history.php6 Online Encyclopedia http://en.wikipedia.org/wiki/Programmable_logic_controller7 PLC online Forum http://www.plctalk.net/qanda/8 Course example http://claymore.engineer.gvsu.edu/~jackh/eod/egr450.html9 Course example http://www.pueblocc.edu/tec/auto_023.htm10 Course example http://www.cede.psu.edu/StudentGuide/EET220.htm

    11 Course examplehttp://www.tech.mtu.edu/courses/eet3370/EET3370%20Class%20Schedule%202.htm

    12 Course example http://www.utexas.edu/cee/petex/training/courses/iplc.html13

    PLC simulationsoftware

    http://www.tri-plc.com/trilogi.htm

    14PLC simulationsoftware

    http://www.ab.com/plclogic/pico/picosoft.html

    15 Mitsubishi http://www.meau.com/eprise/main/sites/public/PRODUCTS/default16 Toshiba http://www.tic.toshiba.com/productgroups.php?family=PLCs17 Siemens https://pia.khe.siemens.com/index.asp?Nr=214018 Sprecher & Schuh http://www.ssusa.cc/pages/mainpg/prodmainall.html19 Allen Bradley http://www.ab.com/plclogic/

    20 PLC bookProgrammable Logic Controllers An Introduction Third Edition W.Bolton 2003 Newnes Publications

    21PLC application

    websitehttp://www.fbk.com/control-instrumentation/plctran.asp?menu=3

    22Verification of PLCApplications

    http://wwwhome.cs.utwente.nl/~mader/DEMOS/IPA2001.ppt

    23 PLC Applications http://www.entertron.com/application.htm24 PLC help thread http://www.plctalk.net/qanda/showthread.php?s=&threadid=1223525 PLC Tutorial site http://www.freestudy.co.uk/plc.htm

    26 PLC Tutorial sitehttp://www.mikroelektronika.co.yu/english/product/books/PLCbook /plcbook.htm

    27 PLC info and tutorial http://www.mrplc.com/kb/28 Modicon http://www.modicon.com/Default.htm29 PLC history http://www.barn.org/FILES/historyofplc.html30 PLC primer http://www.industrialtext.com/freestuff.htm

    31 PLC information

    http://www.control.com/links_page#PLCs%20and%20related%20q

    uestions.32 PLC example http://www.htservices.com/Tutorials/plc_tutorial_2.htm

    33 Siemens PLC primerhttp://www.sea.siemens.com/step/templates/lesson.mason?plcs:1:2:1

    34 AB Pico Solutions http://www.ab.com/plclogic/pico/picosolutions.html

    35Applicationsexamples

    http://public.modicon.com/nRepository/index.nsf/aa_getdocs?OpenAgent&prod=nanocus

    36 TSX PLC manualhttp://www.modicon.com/nRepository/index.nsf/aa_getdocs?OpenAgent&prod=nanopro#

    37 BORS oil application http://www.modicon.com/85256AE8006D78AB/all/AFB0118DEA9

  • 8/15/2019 2_VL.pdf

    44/44

    9C0AC85256BFA004F60F3!OpenDocument

    38 PLC overviewhttp://www.mavrinac.com/technical/howto_plc_programming_for_beginners.txt

    39 PLC intro http://www.canadu.com/hjhtml/plcs1-4.html40 RTU vs PLC http://www.tetragenics.com/Articles/RTUvsPLC.htm41 Ladder Logic Ideas http://xtronics.com/toshiba/Ladder_logic.htm42 Ladder Logic editor http://home.scarlet.be/~dc11cd/dciplc.html

    43Ladder Logicexamples http://www.ibiblio.org/obp/electricCircuits/Digital/DIGI_6.html

    44 PLC tutorial site http://www.plcman.co.uk/45 Intro to IEC 61131 http://www.plcopen.org/TC1/intro_iec_61131-8.htm46 IEC 61131-3 FAQ http://www.holobloc.com/stds/iec/sc65bwg7tf3/html/faq.htm

    47Thread on PLC Scantime

    http://www.plctalk.net/qanda/showthread.php?t=8220&highlight=scan+cycle+time

    48Seamans on scantime

    http://www.sea.siemens.com/step/templates/lesson.mason?plcs:71:1

    49 PLC operation www.crakker.com/PLC_Primer.PDF

    50 Info on Grafcethttp://www.lurpa.ens-cachan.fr/grafcet/generalites/presentation_uk.html

    51 PLC failure info http://www.processwest.ca/Past_Issues.htm?ID=354

    52 Programmable LogicControllers ThirdEdition

    W. Bolton Linacre House, Jordan Hill Oxford 2003

    53picture of industrialmixer

    http://www.monoequip.com/images/Equipment/ind_cake_mixer.jpg

    54 PicoSoft http://www.ab.com/plclogic/pico/PicoSoftWeb6L.exe

    55

    GX-Developer

    http://www.meau.com/eprise/main/sites/public/DOWNLOADS/-search_results?SType=0&DocType=035&SessionNum=&UserID=&Division=00015&Opt1=Yes&submit1=Search&Family=0001520010&Series=000152001020030

    56 picture of relay timer http://web.mit.edu/cjoye/www/ebay/RelayTimer/

    57picture of relaycounter

    http://www.icc-gb.com/lc4h.html

    58 picture of box PLC http://www.controltech.cz/images/clanky/image30.jpg59 picture of optoisolator http://searchnetworking.techtarget.com/WhatIs/images/optoisol.gif60 plc shipment article http://www.drives.co.uk/news/worldnews/news_worldnews352.htm

    61 Honeywell contactor

    http://customer.honeywell.com/Honeywell/CatalogNavigator.aspx?Definition=Product&Catalog=Homes&Category=DP2030_10180&Product=DP2030B5011&ChannelID={2EB2F178-20ED-44E0-97FB-CCFB4218DD64}#LiteratureDownload

    62Price on startrelay/mounting $20

    http://www.mstores.umich.edu/catalog/grainger/electrical/relays/reay_sockets/2A584.html

    63Price on timed relay-$48-$70

    http://www.mstores.umich.edu/catalog/grainger/electrical/relays/time_delay_relays/5YZ86.html

    643 phase powerconverter example

    http://www.metalwebnews.com/howto/phase-converter/phase-converter.html

    65 ladder logic manual http://www.iu.hio.no/~georgm/pls/doc/s7kop__b.pdf66

    3 phase converterdata sheet

    http://www.phase-a-matic.com/PDF/RPL-2005-C.pdf

    67 PLC presentation http://www.kwandong.ac.kr/~sylee/cadcam_s/chap5Plc.ppt