CATEGORII DOCUMENTE |
CONTROLERE LOGICE PROGRAMABILE
CE ESTE DE FAPT UN MICROCONTROLER?
La modul general un controler ('controller' - un termen de origine anglo-saxona, cu
un domeniu de cuprindere foarte larg) este, actualmente, o structura electronica destinata
controlului (destul de evident!) a unui proces sau, mai general, a unei interactiuni caracteristice cu mediul exterior, fara sa fie necesara interventia operatorului uman. Primele controlere au fost realizate in tehnologii pur analogice, folosind componente electronice discrete si/sau componente electromecanice (de exemplu relee). Cele care fac apel la tehnica numerica moderna au fost realizate initial pe baza logicii cablate (cu circuite integrate numerice standard SSI si MSI ) si a unei electronici analogice uneori complexe, motiv pentru care 'straluceau' prin dimensiuni mari, consum energetic pe masura si, nu de putine ori, o fiabilitate care lasa de dorit.
Aparitia si utilizarea microprocesoarelor de uz general a dus la o reducere consistenta
a costurilor, dimensiunilor, consumului si o imbunatatire a fiabilitatii. Exista si la ora actuala o serie de astfel de controlere de calitate, realizate in jurul unor microprocesoare de uz general cum ar fi Z80 (Zilog), 8086/8088 (Intel), 6809 (Motorola), etc. Pe masura ce procesul de miniaturizare a continuat, a fost posibil ca majoritatea componentelor necesare realizarii unei astfel de structuri sa fie incorporate (integrate) la nivelul unui singur microcircuit (cip). Astfel ca un microcontroler ar putea fi descris ca fiind si o solutie (nu in sens exhaustiv !) a problemei controlului cu ajutorul a (aproape) unui
singur circuit.
Legat de denumiri si acronime utilizate, asa cum un microprocesor de uz general este
desemnat prin MPU (MicroProcessor Unit), un microcontroler este, de regula, desemnat ca MCU, desi semnificatia initiala a acestui acronim este MicroComputer Unit.
O definitie, cu un sens foarte larg de cuprindere, ar fi aceea ca un microcontroler
este un microcircuit care incorporeaza o unitate centrala (CPU) si o memorie impreuna
cu resurse care-i permit interactiunea cu mediul exterior. Resursele integrate la nivelul microcircuitului ar trebui sa includa, cel putin, urmatoarele componente:
a. o unitate centrala (CPU), cu un oscilator intern pentru ceasul de sistem
b. o memorie locala tip ROM/PROM/EPROM/FLASH si eventual una de tip RAM
c. un sistem de intreruperi
d. I/O - intrari/iesiri numerice (de tip port paralel)
e. un port serial de tip asincron si/sau sincron, programabil
f. un sistem de timere-temporizatoare/numaratoare programabile
Este posibil ca la acestea sa fie adaugate, la un pret de cost avantajos, caracteristici
specifice sarcinii de control care trebuie indeplinite:
g. un sistem de conversie analog numerica(una sau mai multe intrari analogice)
h. un sistem de conversie numeric analogic si/sau iesiri PWM (cu modulare in durata)
i. un comparator analogic
j. o memorie de date nevolatila de tip EEPROM
k. facilitati suplimentare pentru sistemul de temporizare/numarare (captare si
comparare)
l. un ceas de garda (timer de tip watchdog)
m. facilitati pentru optimizarea consumului propriu
Un microcontroler tipic mai are, la nivelul unitatii centrale, facilitati de prelucrare a
informatiei la nivel de bit, de acces direct si usor la intrari/iesiri si un mecanism de prelucrare a intreruperilor rapid si eficient.
Utilizarea unui microcontroler constituie o solutie prin care se poate reduce
dramatic numarul componentelor electronice precum si costul proiectarii si al
dezvoltarii unui produs.
OBSERVATIE: Utilizarea unui microcontroler, oricat de evoluat, nu elimina unele
componente ale interfetei cu mediul exterior (atunci cand ele sunt chiar necesare): subsisteme de prelucrare analogica (amplificare, redresare, filtrare, protectie-limitare), elemente pentru realizarea izolarii galvanice (optocuploare, transformatoare), elemente de comutatie de putere (tranzistoare de putere, relee electromecanice sau statice).
UNDE SUNT UTILIZATE MICROCONTROLERELE?
Toate aplicatiile in care se utilizeaza microcontrolere fac parte din categoria asa
ziselor sisteme incapsulate-integrate ("embedded systems"), la care existenta unui sistem de calcul incorporat este (aproape) transparenta pentru utilizator.Pentru ca utilizarea lor este de foarte ori sinonima cu ideea de control microcontrolerele sunt utilizate masiv in robotica si mecatronica. Conceptul de mecatronicaeste pana la urma indisolubil legat de utilizarea microcontrolerelor. Automatizarea procesului de fabricatie-productie este un alt mare beneficiar:
-CNC Computerised Numerical Controls-comenzi numerice pentru masinile unelte, automate programabile
-PLC, linii flexibile de fabricatie, etc. Indiferent de natura procesului
automatizat sarcinile specifice pot fi eventual distribuite la un mare numar de microcontrolere integrate intr-un sistem unic prin intermediul uneia sau mai multor magistrale.
Printre multele domenii unde utilizarea lor este practic un standard industrial se pot
mentiona: in industria de automobile (controlul aprinderii/motorului,
climatizare, diagnoza, sisteme de alarma, etc.), in asa zisa electronica de
consum (sisteme audio, televizoare, camere video si videocasetofoane, telefonie
mobila, GPS-uri, jocuri electronice, etc.), in aparatura electrocasnica (masini
de spalat, frigidere, cuptoare cu microunde, aspiratoare), in controlul mediului
si climatizare (sere, locuinte, hale industriale), in industria aerospatiala,
in mijloacele moderne de masurare - instrumentatie (aparate de masura, senzori
si traductoare inteligente), la realizarea de periferice pentru calculatoare,
in medicina. "Johnnie" (figura 1.1) un robot umanoid destul de simplu,
construit la Universitatea Tehnica din Munchen in 1998, utilizeaza 5
microcontrolere, conectate prin intermediul unei magistrale CAN la un
calculator PC. "Alpha" un alt robot umanoid (fotbalist ca destinatie) dezvoltat
la Universitatea din
Ca un exemplu din industria de automobile (automotive industry), unde numai la
nivelul anului 1999, un BMW seria 7 utiliza 65 de microcontrolere, iar un Mercedes din clasa S utiliza 63 de microcontrolere.
Practic, desi am prezentat ca exemple concrete numai sisteme robotice si mecatronice,
este foarte greu de gasit un domeniu de aplicatii in care sa nu se utilizeze microcontrolerele.
FAMILII DE MICROCONTROLERE REPREZENTATIVE
In prezentarea care urmeaza si care nu se doreste exhaustiva, accentul este pus pe
familiile mai cunoscute, de 8 biti si 16biti.
a. 8048 (Intel MCS-48 ) 'Bunicul' microcontrolerelor pe 8 biti, mai este inca folosit! Unele din caracteristicilesale arhitecturale se regasesc la urmatoarea generatie (MCS-51, 8051).
b. 8051 (Intel MCS-51 si multi altii: Atmel, Philips, Infineon, Atmel, Dallas-Maxim , Cygnal , etc.)A doua generatie de microcontrolere de 8 biti a firmei Intel care, desi aparuta acum 20 de ani, inca ocupa un segment semnificativ de piata. Cu o arhitectura destul de ciudata, estesuficient de puternic si usor de programat (odata invatat!). Arhitectura sa are spatii de memorie separate pentru program si date. Poate adresa 64KBytes memorie de program, din care primii 4(8..32)KBytes locali (ROM). Poate adresa 64KBytes memorie de date externa, adresabila doar indirect. Are 128 (256) octeti de RAM local, plus un numar de register speciale pentru lucrul cu periferia locala. Are facilitati de prelucrare la nivel de bit (un procesor boolean, adresare pe bit). Intel a dezvoltat si un "super 8051" numit generic 80151.
Actualmente exista zeci
de variante produse de diversi fabricanti (Philips, Infineon, Atmel,
c. 80C196 (Intel MCS-96)
Este un microcontroler pe 16 biti facand parte din generatia treia de microcontrolere a
firmei Intel. Destinat initial unor aplicatii din industria de automobile, are o arhitectura von Neumann, cu un spatiu de adresare de 64KBytes, o unitate de intrari/iesiri numerice de mare viteza (destinata initial controlului injectiei la un motor cu ardere interna), iesiri PWM, convertor analog numeric, timer watchdog. Exista multe variante, ultimele chronologic aparute, fiind mult superioare variantei initiale. Exista si o dezvoltare recenta sub forma familiei MCS-296 (80C296).
d. 80C186, 80C188 (Intel, AMD, s.a.)
Derivate din clasicele 8086/88 prin includerea pe acelasi microcircuit a 2 canale
DMA, 2 numaratoare/timere, un sistem de intreruperi si un controler pentru DRAM. Marele avantaj al acestor cvasi(aproape) microcontrolere (ele nu au memorie integrata!) este legat de utilizarea ca mediu de dezvoltare a unor platforme de calcul tip IBM-PC, compatibile 80x86, cu tot softul aferent.
e. 68HC05 (Freescale, ex Motorola )
Un microcontroler de 8 biti derivat din microprocesorul M6800 si care prezinta multe
asemanari cu un alt microprocesor raspandit, la timpul sau, 6502. Are un spatiu de memorie unic (64Kbytes) in care sunt plasate si registrele perifericelor (I/O, timere) cu un indicator de stiva (SP) hard pe 5biti (stiva de maxim 32 octeti !). Exista variante cu memorie EEPROM, CAN, port serial, etc. Este unul din cele mai raspandite microcontrolere (comparabil cu 8051). Varianta evoluata a acestei familii este seria 68HC08 bazata pe o noua unitate centrala de 8 biti numita CPU08, cu cea mai recenta dezvoltare sub forma seriei 68HCS08 destinata in mod special unor aplicatii din industria automobilului.
f. 68HC11, 68HC12, 68HC16 (Freescale)
68HC11 a fost unul din cele mai puternice microcontrolere pe 8 biti, foarte raspandit
in ciuda faptului ca Motorola a fost un timp singurul producator. Are un set de instructiuni asemanator cu alte produse ale firmei (6801, 6805, 6809). Are un spatiu de adrese unic de 64K. Nenumarate variante ca resurse: EEPROM, OTP, CAN, PWM, etc. Prezinta ca particularitate existenta unui program de incarcare rezident (bootstrap loader in ROM intern) cu care, la reset, un segment din memoria RAM externa poate fi incarcat cu cod program prin intermediul portului serial.
Variantele evoluate sunt de fapt microcontrolere de 16 biti:
- un 'super 68HC11', numit 68HC12 bazat pe o noua unitate centrala numita CPU12
care reprezinta extensia la 16 biti a arhitecturii HC11
- un 68HC16, mai putin raspandit, bazat pe o unitate centrala numita CPU16
g. 683xxx (Freescale)
Microcontrolere pe 32 de biti construite in jurul unui CPU analog microprocesorului
M68020 (CPU32), denumite si 'procesoare integrate'. Putere de calcul comparabila sau mai mare ca a lui Intel 80386.
h. PIC (Microchip )
Primul microcontroler din aceasta familie (PIC1650) a aparut acum mai bine de 20 de
ani pe vremea cand firma era proprietatea General Instruments. Este o familie de
microcontrolere care, in ultimii ani, a cunoscut o dezvoltare exploziva. Sunt disponibile
actualmente sub forma a 6 serii: PIC10, PIC12, PIC14, PIC16, PIC17 si PIC18. In seriile
respective exista variante cu memorie de program de tip OTP(C) sau FLASH(F). Au fost
primele microcontrolere de 8 biti cu arhitectura RISC: PIC16C5x avea un set de doar 33
instructiuni (Intel 8048 avea 90). Arhitectura este de tip Harvard si, ca o particularitate,
dimensiunea cuvantului pentru program este de 12, 14 sau 16 biti, cuvantul de date fiind tot de 8 biti. Exista foarte multe variante pentru cele sase serii, unele din ele fiind caracterizate printr-un numar mic de conexiuni exterioare (pini) si in consecinta dimensiuni mici, consum foarte mic, ideea de baza fiind costul redus. Cronologic, ultimul produs al firmei Microchip este seria dsPIC30F, de fapt un procesor numeric de semnal, de 16 biti, cu o periferie specifica optimizata pentru controlul actionarilor electrice (motoare electrice).
Firma Ubicom (ex Scenix) produce niste clone ale familiei PIC,
mult mai rapide decat originalele. Modulele Basic Stamp ale firmei Parallax
sunt bazate si pe astfel de microcontrolere (sunt foarte utilizate, si nu numai de hobbistii din robotica!).
i. AVR (Atmel)
Un concurent puternic al seriei PIC este familia numita AVR, a firmei ATMEL,
familie aparuta in ultimii ani, care ofera variante de microcontrolere oarecum asemanatoare ca resurse cu familia PIC, la performante similare sau mai bune. Sunt bazate pe o arhitectura diferita, dar unitatea centrala este tot de tip RISC, cu cuvantul de date de 8 biti. La fel ca la PIC dimensiunea cuvantului de program este mai mare, fiind de 16 biti. Exista cel putin 3 sub familii mari, in ordinea complexitatii resurselor, acestea fiind: AT Tiny, AT90 si ATMega.
j. COP4(00) si COP8(00) (NS -National Semiconductors)
COP4 este un microcontroler pe 4 biti, categorie de microcontrolere care, in general,
departe de a fi invechite, ocupa un segment relativ important al pietii. Printre caracteristici: pana la 2K ROM local, 32x4 pana la 160x4 RAM local, Microwire, numaratoare/timere, tensiune de alimentare 2.3-6V, numar mic de pini. COP8 reprezinta o serie de microcontrolere pe 8 biti, versatila, cu pret scazut, disponibila in multe variante. Arhitectura este similara lui 8051, dar setul de instructiuni este similar lui Z80.
k Z8 (Zilog)
Un derivat al microprocesorului Z80, reprezinta un compozit al mai multor arhitecturi
diferite. Nu este compatibil cu setul de instructiuni si nici cu perifericele standard Z80. Are trei spatii de adrese: program, date si un masiv de registre. Resurse locale tipice: UART, timere, DMA, sistem de intreruperi cu pana la 37 de surse. Exista o varianta cu un interpreter Tiny Basic in ROM-ul local (analog 8052AH Basic de la Intel) precum si o varianta cu resurse imbunatatite numita Super-8
l. Z180(Zilog), Rabbit ( Rabbit Semiconductors)
Z180 -ul firmei Zilog are un CPU similar cu Z80 dar imbunatatit, cu resurse locale
cum ar fi: management de memorie (memorie paginata de maxim 1MB), USART (numit
SIO), 2 canale DMA, timere, sistem de intreruperi, eventual PIO. Instructiuni suplimentare fata de setul standard Z80, printre care si inmultirea. Diversele sale variante nu include memorie locala. Rabbit 2000 sau 3000 este un microcontroler bazat pe un nucleu de Z180, deosebit de versatil ca resurse periferice disponibile si foarte usor de integrat in aplicatii. Sunt disponibile module realizate pe baza acestui microcontroler, module care adauga si memorie de tip ROM FLASH si RAM. Utilizarea unui mediu de programare foarte productiv numit Dynamic C precum si a facilitatilor de programare si depanare In-System au facut ca acest microcontroler sa cunoasca o raspandire destul de larga..
m. TMS370 (
Microcontrolerul standard pe 8 biti al firmei TI realizat in multe variante (de ordinul
zecilor), prezinta unele asemanari cu 8051 (memoria de date locala, stiva, modurile de
adresare). O varietate extrem de mare a resurselor locale.
n 80386EX (Intel)
Un 80386 destinat aplicatiilor de tip controler. Resurse locale: I/O seriale, timere/numaratoare, DMA, optimizarea consumului, controler de intreruperi, controler pentru RAM dinamic. Nu au memorie locala.
Marele avantaj al unui astfel de microcontroler este ca se poate utiliza ca platforma de dezvoltare un sistem de tip IBM PC impreuna cu tot mediul de programare aferent.
o SC 3/4/5xx Elan (AMD)
O serie de microcontrolere deosebit de performante realizate in jurul unei unitati
centrale de tip 386/486. Permit practic, doar prin adaugarea de memorie externa, obtinerea unui sistem de calcul compatibil PC, destinat unor aplicatii de control incapsulate-integrate ('embedded PC').
p 80C16x (Infineon, ex Siemens)
Unul din microcontrolerele de 16 biti foarte utilizat in Europa. Arhitectura deosebit de
performanta a CPU, de tip RISC, are diverse variante, cu resurse complexe: 80C165,
80C166, 80C167, etc.
q MSP430 (
Firma TI ofera si o familie de microcontrolere de 16 biti cu arhitectura RISC, cu
posibilitatea controlului compromisului viteza de calcul/consum propriu, destinata
aplicatiilor portabile (si nu numai), denumita MSP 430. Cu un spatiu de adresare de
64KBytes, are diverse variante de realizare a memoriei interne de program (OTP, FLASH), resurse diverse (printre care si o interfata pentru un sistem de afisare LCD).
r. Alte familii de microcontrolere
Fujitsu Microelectronics - ofera familii deosebit de
puternice de microcontrolere pe 8 biti (FMC-8), 16 biti (FMC-16) sau 32 de biti (FR). In
fiecare familie exista zeci de variante. Multe dintre ele sunt orientate pe aplicatiile din
industria de automobile sau din electronica de consum(audio,
video, electrocasnice). Renesas (ex
32 de biti (sau de 16/32 biti) care face parte din categoria structurilor IP ("Intelectual
Property"). Consortiul ARM a oferit licente ale acestei micro arhitecturi (nucleu ARM)
pentru numerosi producatori de circuite (Atmel, Philips, TI, OKI, etc.). Pe baza acestor licente se realizeaza si microcontrolere de mare performanta. Cele mai cunoscute si raspandite variante de nuclee sunt ARM7 si ARM9, cu implementarile lor simplificate numite ARM7T, ARM9T (T-"Thumb"). MPC500 (Freescale)- este o familie de microcontrolere bazata pe o unitate centrala de 32 de biti compatibila cu arhitectura (si cu setul de instructiuni) Power PC. Include si o unitate de prelucrare in virgula mobila.
OBSERVATIE Codurile prezentate sunt generice, identificarea completa a unui
microcontroler facandu-se si cu utilizarea unor prefixe/sufixe alfanumerice prin intermediul carora se precizeaza resursele disponibile si eventual alte caracteristici ale variantei constructive (frecventa maxima de ceas, tipul de capsula, gama de temperatura, etc.).
CRITERII DE ALEGERE A UNUI MICROCONTROLER
In momentul in care se doreste alegerea unui microcontroler (sau mai bine zis a unei
familii de microcontrolere) pentru dezvoltarea unei aplicatii de tip "embedded system" exista mai multe criterii care trebuie luate in considerare, tinand cont de implicatiile multiple ale acestei alegeri. Vom incerca sa grupam aceste criterii dupa cerintele impuse aplicatiei si sa prezentam cateva din intrebarile rezultate, la care trebuie dat un raspuns.
a. Costurile aplicatiei
Care va fi scara de productie: prototip, productie mica/medie sau de masa?
Care sunt costurile permise pentru microcontroler?
Care sunt costurile permise pentru mediul de programare si dezvoltare?
b. Timpul de dezvoltare al aplicatiei
-Ce limbaj de programare sa aleg?
-Ce limbaje de programare cunosc bine si ce medii de dezvoltare am utilizat?
-Ce modalitate de testare si depanare folosesc: simulator, sistem de dezvoltare, emulator?
c. Caracteristicile fizice
-Care este viteza de prelucrare (de calcul) necesara?
-De cata memorie am nevoie pentru program si respectiv date?
-Va fi necesara si o memorie externa?
-Ce fel de alimentare este disponibila si care sunt limitarile acesteia?
-De cate intrari si/sau iesiri am nevoie?
-Ce fel de intrari si/sau iesiri sunt necesare: intrari/iesiri analogice, iesiri numerice de curent mai mare?
-Care sunt resursele necesare in materie de temporizare/numarare si care ar fi caracteristicile lor cele mai importante (rezolutie, frecventa maxima de numarare) ?
-Ce tip de capsula, ce dimensiuni fizice si numar de pini ar trebui sa aiba?
-Care este gama temperaturilor de lucru necesare?
Aplicatia va functiona intr-un mediu cu caracteristici speciale, de exemplu in care exista perturbatii electromagnetice puternice?
d. Conectivitatea
Care sunt resursele de comunicatie necesare: cate porturi seriale asincrone si cu ce
caracteristici, ce tipuri de magistrale seriale sincrone sunt disponibile?
Este necesara o conectivitate Ethernet (o stiva TCP/IP), USB sau wireless (stive Bluetooth, Zigbee, etc.)?
e. Compatibilitate, scalabilitate si dezvoltarea ulterioara
-Cu ce tipuri de circuite se poate interfata cat mai simplu: sisteme de afisare, senzori, elemente de comanda si executie (relee, motoare de cc, motoare pas cu pas, etc.)?
-Cum se poate realiza extinderea ulterioara, atunci cand este necesara?
-Exista mai multe variante in familia respectiva de microcontrolere, care sa acopere
eventualele cerinte suplimentare in materie de viteza de lucru, resurse periferice sau de
memorie?
f. Alte aspecte
-Ce distribuitori exista si cat sunt de accesibili pentru mine?
-Care este suportul oferit de fabricant sau distribuitor sicare este baza de cunostinte existenta: site-uri web, documentatie on-line sau pe CD-uri, note de aplicatii, exemple de proiectare (reference designs), software din categoria freeware/shareware si, nu in ultimul rand,forumuri de discutii pentru utilizatori?
Din pacate raspunsurile la multe din aceste intrebari sunt corelate intre ele. Un
exemplu este legatura care exista intre criteriile de cost si cele de timp de dezvoltare.
Principial, utilizarea unui limbaj de nivel inalt impreuna cu un emulator pentru testare si
depanare poate duce la scurtarea consistenta a timpului de dezvoltare. Dar pretul unui
compilator este intotdeauna mai mare decat cel al unui asamblor (nimic nu e mai ieftin decat ceva ce poate fi gratis!), iar pretul unui emulator este si el mai mare decat cel al unor mijloace mai simple de testare si depanare.
In practica, de cele mai multe ori, alegerea unui microcontroler pentru a anumita
aplicatie este si trebuie sa fie rezultatul unui compromis
AUTOMATE PROGRAMABILE
CONTROLERE LOGICE PROGRAMABILE
Problemele de automatizare discontinua au fost tratate mult timp pe baza logicii circuitelor cu relee electromecanice; o cunoastere aprofundata a acestor probleme face apel la limbajul natural al reprezentarii logicii releelor. Utilizarea circuitelor semiconductoare in electronica industriala a marcat inlocuirea releelor cu logica statica asincrona, ale carei subansamble sunt constituite din componente discrete, prin interconectarea carora devine posibila extensia functionala a logicii cu relee cu circuite de numarare, de temporizare, de deplasare a informatiei, de calcul etc.
O caracteristica comuna unei clase importante de sisteme de conducere, indiferent ca sunt realizate cu relee sau cu circuite tranzistorizate, consta in aceea ca ele comanda dispozitive ca: bobine, electrovane, contactoare, lampi etc. si ca semnalele de intrare provin de la limitatoare de cursa, butoane.
Atat canalele informationale de intrare in dispozitivul de automatizare, cat si cele de iesire, ce piloteaza elementele de executie in proces, vehiculeaza semnale binare, corespunzatoare celor doua stari posibile "cuplat" sau "decuplat". Relatia dintre intrari si iesiri poate fi formalizata printr-o expresie logica de tipul: "daca limitatorul de cursa S1 este actionat si contactoul K este cuplat atunci motorul M va fi pornit.
Prelucrarea informatiilor, adica formarea conditiilor intr-un sistem cu relee sau tranzistoare, este determinata de conexiunile existente intre elementele ce prelucreaza semnalele .
Fiecare aplicatie cere ca proiectantul sa selecteze o combinatie unica de elemente de prelucrare a semnalelor, relee sau circuite tranzistorizate (de exemplu circuite numerice integrate) si sa le conecteze intr-un mod particular pentru a se obtine functia dorita. In consecinta, exista putine asemanari intre diferite aplicatii, ceea ce duce la cresterea costului sistemului.
In faza de proiectare se alege tipul si numarul de elemente de prelucrare a informatiei. Elaborarea schemelor, circuitelor, documentatia de executie, nu pot fi abordate decat atunci cand se cunosc in intregime specificatiile functionale ale sistemului de conducere. Modificari ulterioare realizarii sistemului nu se pot face in scurt timp si la un cost redus.
Automatele programabile au depasit performantele tehnico-economice ale dispozitivelor de comanda realizate in logica cu functii cablate prin:
capacitate sporita de prelucrare a datelor;
posibilitate de adaptare la cerintele procesului condus si la modificari post instalare;
simplitate in programare.
Pentru aplicatii de mare complexitate, caracterizate prin timpi de raspuns extrem de redusi, calcule aritmetice complexe, transferuri multiple de date, conducerea proceselor devine posibila doar prin utilizarea minicalculatoarelor, care au insa un cost mare si necesita personal cu inalta calificare pentru intretinerea si dezvoltarea sistemului.
Consideratiile expuse au determinat introducerea unor dispozitive desemnate sa opereze cu o singura intrare sau iesire binara la un moment dat, configurate asemanator sistemelor cu relee.
Aceste dispozitive au fost denumite automate programabile cu prelucrare pe bit (APB). Bazandu-se pe o organizare simplificata de calculator de proces si beneficiind de un set redus de instructiuni, APB realizeaza operatii logice in principal, si in proportie redusa calcule aritmetice fiind insa capabile sa interfateze, cu o ridicata siguranta in functionare, un numar mare de canale informationale de intrare si iesire, de un bit, asociate procesului condus.
Cu toate ca in arhitectura generala a unui APB, dezvoltata in jurul unei magistrale la care sunt conectate canalele de intrare-iesire asociate procesului, unitatea centrala si memorie, sugereaza structura unui calculator, diferentele sunt inca majore; unitatea centrala este o unitate logica capabila sa interpreteze un set restrans de instructiuni ce exprima functii de baza ca:
evaluarea expresiilor booleene cu atribuirea rezultatului logic unei variabile memorate sau unui canal de iesire,
secvente de numarare sau temporare.
Executia instructiunilor este ciclica, ceea ce permite adesea suprimarea software-ului de baza si renuntarea la principiul intreruperilor. Derularea ciclica rapida a programului in raport cu timpii de raspuns ai procesului permite sesizarea evenimentelor la putin timp dupa ce apar fara riscul pierderii de informatii.
Programarea structurilor de tip APB, APA (AP algoritmice), APC (automate cu prelucrare pe cuvant consta in scrierea directa a unui sir de instructiuni, conform unei diagrame de semnal, ciclograme, organigrame, sau unui set de ecuatii booleene. Diversitatea acestor puncte de plecare pentru programare demonstreaza intentia constructorilor de automate programabile de a se adapta cunostintelor si preferintelor utilizatorilor.
APB indeplinesc sarcini de conducere proprii echipamentelor de comanda discreta a proceselor industriale, si au o functionare binara permitand detectarea schimbarilor de stare a unor semnale furnizate de elemente de tip:
butoane cu mentinere, cu revenire
comutatoare basculante
limitatoare de cursa
detectoare de proximitate
si prelucreaza, in principal logic, informatiile furnizate de aceste elemente in vederea emisiei de semnale de iesire ce comanda elemente de tip:
contactoare
relee
electroventile
ambreiaje
elemente de semnalizare
CE ESTE UN PLC ?
PLC este un aparat digital care foloseste o memorie programabila pentru stocarea instructiunilor, pentru inmplementarea anumitor functii, cum ar fi: logice, secventiale, timere, numaratori si aritmetice ce pot fi controlate; cu intrsri sau iesiri analogice sau digitale ce comanda diferite tipuri de masini si procese.
Diferenta dintre un PLC si un calculator
-PLC este un calculator specializat, proiectat pentru a fi folosit in industrie
-arata diferit fata de un calculator personal
-nu are tastatura sau monitor.
Avantajele utilizari PLC in Automatizari Industriale:
-flexibilitate-pot fi puse" sa controleze alte sisteme usor si repede
-cost-foarte scazut fata de relee
-feziabilitate-componentele sunt facute din materiale care pot rezista ani inainte sa cedeze fizic
-programarea foarte usoara reduce timpul de instalare (decat sa legi un dulap de relee)
-usurinta de aimplementa un program nou (reprograma)
-pot lucra in cele mai miyerabile medii de productie
-permite un control mai complex al instalatiei
-ocupa mai outin spatiu decat un dulap de relee
-intretinerea este mai usoara
-pot fi conectate la un computer coordonator mai usor decat un dulap de relee.
In continuare avem cateva PLC produse de diferite firme:
Keyence, Japan
Schneider, Germany Siemens AG, Germany
O instructiune este un cuvant format din doua zone:
1- prima zona reprezinta codul operatiei si arata tipul de operatie care va fi executata (SI, SAU, SAU EXCLUSIV).
2- a doua zona arata operandul reprezentand adresa unui canal de pe un modul de interfata (intrare, iesire, special) sau a unui bit din memoria de date care intra in operatia specificata de codul operatiei.
Executia unei instructiuni presupune efectuarea urmatoarelor operatii:
1-aducerea instructiunii din memoria program MP in registrul instructiunii curente RIC,
2-incrementarea numaratorului de adrese al memoriei program NA in vederea prelucrarii instructiunii urmatoare,
3-transmiterea pe magistrala a adresei canalului cerut de instructiune si pregatirea acestuia in vederea dialogului cu modulul unitate centrala ICU,
4-decodificarea codului operatiei (in registrul DCO) si executarea operatiei in unitatea logica UL. Dialogul dintre unitatea centrala ICU si celelalte module in cadrul executiei unei instructiuni, se realizeaza prin intermediul magistralei interne BUS. Aceasta magistrala este parcursa de semnale:
semnale de adresa,
semnale de control,
semnale de informatie (stare).
Pentru scrierea programului, functionarea procesului trebuie descrisa sub una din urmatoarele forme:
-schema desfasurata cu relee,
-scheme logice,
-organigrama,
-organifaza.
Structura unui program scris in limbajul automatului programabil va trebui sa permita:
-reluarea ciclica a programului,
-recalcularea tuturor comenzilor catre iesiri, temporizari sau memoria de date in fiecare ciclu.
Intarzierea maxima introdusa de sistem (intarzierea cu care este sesizata schimbarea unei variabile de intrare sau intarzierea dintre aparitia conditiilor care determina o comanda si efectuarea comenzii) este egala cu durata unui ciclu de baleiere a memoriei program.
Durata unui ciclu de baleiere a memoriei program depinde de dimensiunea programului.
Functia de baza a unui controler programabil este aceea de a citi intrarile dispozitivului si apoi de a executa programul de control, conform programari controlerului, va inchide sau va deschide circuitul de iesire. In realitate acest ultim proces are loc in trei pasi, si anume: citirea intrari, scanarea program controler si apoi transmiterea comenzi de inchidere sau deschidere a circuitului de iesire cum se vede in figura.
MODULUL UNITATE DE CONTROL INDUSTRIAL (ICU)
Modulul ICU este partea inteligenta a sistemului el coordoneaza toate transferurile de date ce au loc pe magistrala sistemului. De asemenea modulul unitate centrala ICU efectueaza si operatiile logice asupra datelor receptionate de sistem din proces in conformitate cu programul existent in memoria program MP. Schema bloc si interconectarea modulului ICU la magistrala sistemului este prezentata in figura....
Memoria program MP este organizata in cuvinte de 16 biti, D0.D15. Cei mai semnificativi 4 biti indica codul operatiei iar ceilalti 12 biti reprezinta adresa operandului. Un cuvant de memorie reprezinta o instructiune. Capacitatea memoriei de program poate fi functie de aplicatie de 1,2,3 sau 4 Kcuvinte (1Kcuvant=1024 instructiuni). Continutul memoriei poate fi modificat cu ajutorul sistemului de programare CP. Memoria RAM este parte a consolei de programare sau a calculatorului si serveste mentinerii instructiunilor in fazele de verificare.
Adresa memoriei de program este furnizata de numaratorul de adrese NA. Acesta este incrementat de catre blocul de comanda BC la executia fiecarei instructiuni. Instructiunile de salt (J si JC) permit incarcarea numaratorului de adrese cu orice valoare in gama 0-4095.
Instructiunea de executie este stocata in registrul instructiunii curente RIC. Codul operatiei este decodificat in blocul de comanda iar adresa operandului este transmisa pe magistrala prin bufferele de adresa BA sau prepozitioneaza numaratorul de adrese (in cazul instructiunii de salt), UNITATEA LOGICA - UL - executa, sub controlul blocului de comanda, operatia logica indicata de codul operatiei intre data receptionata de la interfata adresata (intrare, iesire, temporizare, memorie de date) si starea bistabilului de stare (acumulator). Rezultatul este stocat in acumulator.
BLOCUL DE COMANDA - BC - primeste codul operatiei de la registrul instructiunii curente si elaboreaza semnale de control interne sau externe (catre modulele de interfata) necesare executarii corecte a instructiunii. MEMORIA DE DATE - MD - este de tip RAM si realizeaza memorarea variabilelor interne (intermediare). O parte a memoriei de date serveste la stocarile interne intermediare iar cealalta parte pentru imaginile iesirilor.
Rularea ciclica a programului este supravegheata de un circuit de tip "watch dog timer" care sesizeaza executia instructiunii cu adresa 0000 la intervale de timp de max 20 ms (timpul necesar executiei unui program de 4 Kcuvinte).
ECHIPAMENTE ELECTRICE CU LOGICA PROGRAMATA
Datorita posibilitatilor oferite de circuitele logice, schemele electrice clasice pot fi reprezentate sub forma unor scheme logice, asa cum s-a sugerat pentru cazuri simple.
Functiile logice ce intra in componenta acestor scheme logice, pot fi reprezentate prin expresii algebrice. De aici posibilitatea de a exprima schemele electrice prin expresii algebrice, astfel incat sa se obtina o implementare mai avantajoasa a functiilor unui circuit de comanda. Dintre functiile unui sistem de comanda si protectie (masurarea, prelucrarea logica/aritmetica si executia), functia de prelucrare a beneficiat in modul cel mai spectaculos de posibilitatile oferite de tehnicile electronice moderne. Expresiile algebrice ale schemelor logice se pot constitui intr-un program care trebuie executat de circuitul de comanda. Acest program poate fi pastrat intr-o memorie electronica de unde este apelat si executat folosind posibilitatile oferite de microprocesoare si circuitele lor anexe. Avand in vedere faptul ca functiile pe care le executa echipamentul sunt stabilite prin programarea si la nevoie reprogramarea (chiar repetata) a memoriei electronice, aceste echipamente de comanda sunt denumite echipamente electronice cu logica programata.
Structura acestor echipamente cu logica programata difera esential de cea a echipamentelor cu logica cablata, reprezentand un adevarat salt in realizarea unor echipamente noi si moderne.
Structura unui echipament cu logica programata
Partile principale ale unui echipament cu logica programata sunt :
interfetele de intrare/iesire
unitatea centrala continand memoria
-microprocesorul
-circuitele de tact
-sursa
-echipamentul de programare
-blocul de temporizare reprezentate in figura 3-6
Fig.3-6 Structura unui echipament cu logica programat
Programul, care este expresia algebrica a schemei logice este implementat in memorie prin intermediul echipamentului de programare. Semnalele de intrare acced in unitatea centrala prin intermediul interfetei de intrare, iar semnalele de iesire spre proces sunt transmise printr-o interfata de iesire.
Din punct de vedere constructiv echipamentele electrice cu logica programata (ELP) se construiesc fie pentru un numar fix de intrari-iesiri (uzual intre 8-32); in special cele mici si ieftine, fie modular, numarul de intrari - iesiri putand fi crescut in trpte pana la 128 sau chiar 4096 la cele mai mari.
In ceea ce priveste modul de lucru programul de memorie este executat secvential (serial), microprocesorul putand prelucra la un moment dat o singura instructiune. Datorita vitezei mari de prelucrare utilizatorul are senzatia modulului de lucru cu prelucrarea in paralel a informatiei, specific sistemelor cu logica cablata la care semnalele sosesc si sunt prelucrate practic in paralel (simultan).
Procesorul este elementul care determina posibilitatile instalatiei. Acesta este uzual de la 1 la 8 biti, dar poate fi si de 4 la 16 biti, acest numar precizand numarul de pozitii binare care pot fi prelucrate simultan. La instalatiile unde pentru comanda nu sunt necesare calcule aritmetice, prelucrari de text etc. se folosesc procesoare pe un bit. Datorita raspandirii mari si a pretului scazut sunt folosite tot mai des microprocesoarele uzuale de 8 biti si mai nou de 16 biti.
Structura unui echipament cu logica programata realizat cu un microprocesor de un bit este prezentata in figura 3-7
Fig. 3-7 Structura interna a unui ELP cu procesor de 1 bit
Numaratorul adreseaza un anumit cuvant din memoria program a carui continut este transmis partial pe un numar de conductoare paralele (bus) spre procesor stabilind instructia ce trebuie executata (de exemplu stabilirea unei iesiri, citirea unei intrari, operatii logice etc.), iar a doua parte la un decodificator de adrese care selecteaza o intrare sau o iesire care sa fie citita sau scrisa in functie de rezultatul operatiei din procesor. Memoria de date de tip citeste - scrie (RAM) permite pastrarea unor rezultate intermediare. Dupa executarea unei instructiuni numaratorul de adrese este imcrementat si fazele se repeta pana la executarea tuturor instructiunilor din program, dupa care se face un salt la prima instructiune. Astfel programul se executa ciclic si secvential.Durata de executie a programului depinde de tipul performantelor elementelor componente si este proportional cu lungimea sa. Pentru o memorie program de un kilocuvinte (1024 octeti) timpul de executie este cuprins intre 1-5 ms
In cazul utilizarii unor sisteme cu microprocesor structura lor se grupeaza in jurul bus-urilor de date, adrese si comenzi asa cum se prezinta in figura 3-8
Fig. 3-8 Structura interna a unui ELP cu microprocesor
Microprocesorul poate fi de 4,8 sau 16 biti, memoria program este de tip "citeste numai" (ROM si EPROM), iar memoria de date de tip "citeste-scrie" (RAM). Blocurile de intrare si iesire sunt similare functional si contructiv cu cele de la echipamentele pe un bit
Suplimentar se remarca existenta unui bloc de intreruperi. La aparitia unui semnal de avarie se intrerupe executia ciclica a programului dupa executia instructiunii in curs de efectuare, dupa care sare la o adresa specifica in memoria programului unde se afla o rutina de tratare a intreruperii, adica de executare a comenzilor corespunzatoare regimului de avarie.
Compararea echipamentelor utilizand functii cablate (ELC) cu cele cu logica programata (ELP)
Utilizarea LP constituie o modalitate calitativ superioara de realizare a echipamentelor de comanda. Se asigura o flexibilitate deosebita dispozitivelor de comanda, permitand usoare modificari si dezvoltari ulterioare. Daca in cazul LC orice modificare in functionarea echipamentului de comanda implica realizarea unui nou cablaj, unor noi legaturi intre elemente, in cazul ELP modificarea consta in simpla inscriere a unor alte expresii algebrice in memoria program, fara a fi necesare modificari in cablajul initial, realizandu-se astfel economii insemnate de timp si de manopera. Totodata aceasta facilitate a ELP permite tipizarea interfetelor de intrare si iesire si a unitatii centrale, personalizarea unei scheme de comanda facandu-se prin programul implementat. Acest aspect conduce si la regandirea si optimizarea ciclului de proiectare al unui echipament de comanda. Ciclul clasic: conceperea schemei, realizarea cablajului (interconectarea elementelor), verificarea functionarii, refacerea schemei, verificarea etc., se modifica in sensul ca se implementeaza programul in memorie cu echipamentul de programare, se vizualizeaza pe monitor si se verifica prin folosirea unor programe de autotestare. Eventualele modificari la punerea in functiune a instalatiei se fac prin echipament de programare fara a afecta cablajul realizat, eficienta activitatii de proiectare - implementare creste considerabil.
ELP se remarca si prin reducerea numarului de componente (datorita utilizarii unor circuite integrate pe scara larga), cresterea fiabilitatii (numar redus de componente, lipsa uzurii electrice si mecanice) si reducerea importanta a consumului de energie electrica.
Dintre dezavantajele ELP se pot aminti:
-costul relativ ridicat
-necesitatea unui personal calificat
-viteza limitata de raspuns.
Trebuie subliniat ca in timp costul a scazut constant si domeniul de aplicatie al ELP s-a extins si in cazul comenzilor cu numar foarte mic de intrari si iesiri (10 12). In momentul de fata se estimeaza ca peste 60% din totalul comenzilor industriale in tarile avansate sunt realizate cu ELP si acest procent este in crestere.
MODALITATI DE REALIZARE A PROGRAMELOR PENTRU ELP
In ELP functiile care trebuie executate si secventa acestora este stabilita de programul inscris in memoria program. Modul de proiectare al ELP, pornind de la problema tehnica data, implica parcurgerea unor etape distincte, care trebuie clarificate uneori impreuna cu beneficiarul. De o deosebita importanta este stabilirea clara a temei de proiectare si detalierea diverselor faze (stari) ale functionarii instalatiei. De asemenea se stabileste corespondenta dintre intrari - iesiri si semnalele/aparatele din instalatie. Pe baza acestor elemente folosind uneori tehnici grafice de reprezentare detaliata a functionarii si cu ajutorul unui echipament de programare adecvat, se intocmeste planul dorit, care se inmagazineaza in memorie. Stocarea se face in memorii PROM (Programable Read Only Memory) sau EPROM (Erasable - PROM) cu stergere cu lumina ultravioleta, iar in ultimul timp cu memorii EEPROM (cu stergere electrica) sau memorii RAM nevolatile (cu acumulator incorporat).
Prezentarea problemei tehnice in vederea programarii
Cea mai simpla forma de prezentare este descrierea verbala. Aceasta trebuie sa contina intr-o forma succinta si clara prezentarea problemei care trebuie rezolvata, folosind eventual cateva desene explicative. Dezavantajul principal al acestui mod de prezentare este forma lunga, greu de urmarit si neclara in care se face descrierea problemei. Descrierea verbala este de obicei completata cu alte moduri de prezentare cum sunt diagrame de timp, organigrame, diagrame de stari etc.
Diagramele de timp permit o usoara urmarire a starii fiecarui element al instalatiei la un moment dorit. Fiecarui element i se asociaza o axa de timp, iar starea elementului este reprezentata prin conventiile: conectat/deconectat, inchis/deschis, activ/ in repaus etc. Acest mod de prezentare permite o urmarire usoara a functionarii, dar devine prohibitiv din punct de vedere al efortului de intocmire si de realizare grafica la instalatiile complexe.
Organigrama, in forma utilizata in informatica, este o foarte eficienta modalitate de prezentare a problemei tehnice, fiind usor de urmarit si putand constitui o metoda de programare eficace.
Pentru instalatiile cu programare secventiala forma de prezentare care s-a impus este diagrama de stari (faze sau pasi). Trecerea de la o stare la alta are loc atunci cand sunt indeplinite conditiile de trecere date sub forma unor ecuatii logice intre marimile de intrare, iesire si cele interne ale sistemului.
Uneori se folosesc ca suport pentru programare, schemele electrice cu contacte si relee ale unei instalatii existente care urmeaza a fi echipate cu comanda cu logica programata.
Modalitati de intocmire a programelor
Exista numeroase feluri de a intocmi programele pentru ELP. Se remarca diferente intre producatori dar se manifesta si preferinte locale (geografice) si o evolutie in timp. Tendinta generala este usurarea activitatii utilizatorilor atat la familiarizarea cu echipamentul, cu limbajul cu limbajul, cat si din punct de vedere al intretinerii si depanarii.
Datorita faptului ca exista echipamente cu prelucrare pe un bit, (4 bit), 8 bit si 16 bit, dar si echipamente hibride (cu prelucrare pe 1 bit si 8 biti, cu doua procesoare distincte ) diferentele in partea de programare se datoreaza si partii hard.
Se pot diferentia 3 directii mai importante in domeniul programarii:
-utilizarea de limbaje dedicate
-utilizarea de limbaje universale
-introducerea directa a schemelor clasice cu contacte in echipamentul de programare.
Limbaje dedicate
Aceste limbaje sunt specifice intreprinderilor producatoare de echipamente, dar diferentele sunt neesentiale. Sunt utilizate in general:
-variabile de intrare ( I sau X ),
-variabile de iesire ( E sau Y ),
-variabile de memorare ( M ),
-variabile de temporizare (T sau D ).
Aceste marimi urmate la scriere de un numar care le localizeaza spatial (de exemplu I101 sau X101; E404 sau Y404; M109 sau T308) sunt in legatura functionala conform unei ecuatii logice. In general se folosesc operatori logici SI (AND;*), SAU (OR;+), NU (NOT; N) si simbolul de atribuire OUT ( = ) . Unele limbaje admit alternativ si simbolurile "SET" si "RESET" pentru punerea in "1", reducerea in "0" a unei variabile de iesire.
Dintre limbajele mai raspandite se pot aminti: PSE si DOLOG (AEG), STEP (SIEMENS), SUCOS (KLOECKNER MOELLER), MELSEC (MITSUBISHI), la noi in tara existand limbaje similare din seria AP. In tabelul 3.3 se dau mnemonici de instructiuni din cateva limbaje folosite mai frecvent.
Limbajul (Echipamentul) |
Instructiuni |
AP - micro (IPA - AUTOMATICA) |
AND; OR; ANDC; ORC; LD; LDC; STO; STOC; XOR, CMA; ZA; S; R; J; JC |
PSE (AEG) |
+; -; =; E; A; S; R; Z; T; D; L; 0..9 |
STEP (SIEMENS) |
U; UN: O; ON; =; S; R; ZV; ZR; L; T; M; etc. |
SUCOS ((KLOECKNER MOELLER) |
A; O;N; = |
MELSEC (MITSUBISHI) |
LD; LDI; AND; ANI; OR; ORI; MC; OUT; PLS; S; R; RST; ANB; ORB; NOP; END |
La automatele programabile din clasa superioara apropiate de calculatoarele de proces sunt implementate si operatii aritmetice (adunare, scadere, inmultire si impartire), comparatii etc.
Pentru cazurile analizate, figura 3-5, se prezinta in continuare programul scris in limbajul MELSEC:
a) |
b) |
c) |
d) |
e) |
LD X1 AND X2 AND X3 OUT Y1 END |
LD X1 OR X2 OR X3 OUT Y1 END |
LD X1 OR X2 AND X3 AND X4 OUT M7 LD X5 AND X6 OUT M8 OR M7 OR M8 OUT Y1 END |
LD X1 ANI Y2 OUT Y1 LD X2 ANI Y1 OUT Y2 LD Y1 OR Y2 OUT Y3 END |
LD X1 OR Y1 ANI X2 ANI X3 OUT Y1 END |
Programele a) si b) corespund unei legaturi in serie, respectiv paralel a trei contacte normale deschise. In cazul c) sunt folosite pentru stocarea unor marimi intermediare memoriile M7 si M8 corespunzator starilor logice a ramurilor in paralel [(X1+X2); X3; X4], respectiv (X5 ; X6). In cazul d) existand o interblocare a iesirilor Y1 si Y2 , se remarca folosirea variabilelor negate (ANI Y2 , ANI Y1). Cazul e) reprezinta o schema cu aspecte legate de siguranta in functionare.
Limbaje universale
Aceste limbaje sunt preluate din domeniul tehnicii de calcul si sunt folosite si la realizarea comenzilor. Ele sunt utilizate la anumite echipamente din clasa superioara, apropiate de calculatoarele de proces si la unele implementari de echipamente cu logica programata utilizand microsisteme de calcul. Utilizarea limbajelor de programare universale care, din punct de vedere hard, implica o structura de tip microcalculator, ofera pe langa prelucrarea logica a semnalelor de intrare si largi posibilitati de calcule aritmetice, grafica, prelucrari de text, intercomuicare cu un calculator central. Dintre limbajele cele mai raspandite se pot enumera: limbajele de asamblare, BASIC, FORTRAN, PASCAL, FORTH.
Limbajul de asamblare este folosit frecvent, diferitele variante ale acestuia nemijlocit legate de microprocesorul folosit. Acest limbaj permite un acces direct la resursele microsistemului si un programator cu experienta poate obtine un cod optimizat din punct de vedere al timpului de rulare si a memoriei folosite. Dezavantajul principal consta in necesitatea unor programatori specializati si productivitatea relativ redusa a activitatii de programare.
Introducerea directa a schemelor de comanda
Este o metoda raspandita si consta in transpunerea imediata, folosind simbolurile grafice pentru contacte, bobine, noduri etc. a schemelor cu contacte si relee clasice, mai intai pe monitor, pentru control, iar apoi echipamentul de comanda transpunea acestea in cod in cod masina. Echipamentul de comanda este scump, dar permite introducerea iterativa, rapida a schemelor de comanda in forma clasica.
Aplicatii si tipuri de programe
In vederea intelegerii modului de intocmire al programelor s-a ales limbajul MELSEC F utilizat de firma MITSUBISHI. Astfel in tabelul 1.4 se prezinta principalele comenzi logice folosite in cadrul acestui limbaj.
Tabelul 3.4.
Instr. |
Simbol |
Descrierea |
|
Instr. |
Simbol |
Descrierea |
LD Lade |
|
Inceputul unei legaturi. Contact ND. |
LDI Lade nicht |
|
Inceputul unei legaturi. Contact NI. |
|
AND Und |
|
Legatura SI cu un contact ND. (contact serie). |
ANI Und nicht |
|
Legatura SI cu un contact NI. (contact serie). |
|
OR Oder |
|
Legatura SAU cu un contact ND. (contact paralel). |
|
ORI Oder nicht |
|
Legatura SAU cu un contact NI. (contact paralel). |
ANB Und Block |
|
Circuit serie a 2 legaturi paralel |
|
ORB Oder Block |
|
Sfarsitul unei legaturi paralel. |
S Setzen |
|
Memorarea unor iesiri |
R Rck- setzen |
|
Stergerea din memorie iesirii. |
|
SFT Schieben |
|
Comanda pentru registrul de intrerupere. |
RST Rck- Schieben |
|
Anularea numaratorului si a registrului de intrerupere. |
|
MC Haupt- schalter |
|
Memorarea unei legaturi principale. |
MC Haupt- schalter |
|
Terminarea unei legaturi principale. |
|
CJP bedingter Sprung |
|
Comanda de salt la un anumit PAS. |
|
CJP bedingter Sprung |
|
Pasul la care se face saltul. |
OUT Aus |
|
Comanda de iesire CONECTAT. |
|
OUT Aus |
|
Producerea unui impuls unic. |
Se considera schema din figura 3.9 cuprinzand un contact de comanda X400 care permite actionarea unor contactoare Y430 si Y431, cu o anumita temporizare (K = 10s), folosind si o memorie intermediara M100.
Fig. 3.9. Schema propusa pentru realizarea programului in LP.
Fig. 3.10. Diagrama de timp.
Functionarea schemei este impusa de catre utilizator prin diagrama de timp prezentata in figura 3.10
Este necesara utilizarea unui element de temporizare notat cu T450 si reglat la un timp K = 10s, conform diagramei de timp. Prin folosirea comenzilor logice implementate in memoria microprocesorului, asociate unor adrese alese convenabil, se poate scrie programul din tabelul 3.5.
Tabelul 3.5.
PASUL |
INSTRUCTIA |
ADRESA |
STEP |
INST. |
DATA |
|
LD OUT OUT K LD OUT LD1 OUT |
|
La inceputul unei legaturi se folosesc instructiunile LD respectiv LDI, pentru contactul normal deschis respectiv normal inchis. Cu ajutorul echipamentului de programare acest program inmagazinat in memorie. Dupa testarea programului pe monitor, prin comanda RUN, echipamentul este conectat la instalatie.
Se considera schema mai complexa din figura 3.11 avand mai multe intrari X401, X402, X403, X404 si X405 formate din contacte normal deschise (primele patru), un contact normal inchis si trei iesiri Y432, Y433 si Y434 corespunzand bobinelor contactoare.
Fig. 3.11. Schema propusa
Pentru realizarea programului se pot folosi memoriile partiale notate cu M101 si M102, care isi pastreaza informatia si la disparitia tensiunii. Din analiza schemei, folosind comenzile logice ale EL se poate scrie programul prezentat in tabelul 3.6.
Acest program implementat in memoria unitatii centrale cu echipamentul de programare, este testat si apoi ELP este pregatit pentru conectarea instalatiei.
Tabelul 3.6.
PASUL |
INSTRUCTIA |
ADRESA |
PASUL |
INSTRUCTIA |
ADRESA |
|
STEP |
INST. |
DATA |
STEP |
INST. |
DATA |
|
|
LD AND ANI OUT LD OR ORI OUT |
|
|
LD AND OUT LD OR OUT ANI OUT |
|
Pentru a evidentia posibilitatea de simplificare a scrierii programului pot fi folosite comenzile logice ANB (conectare in serie a doua legaturi in paralel) si ORB (conectare in paralel a doua legaturi serie). In acest sens in figura 3.12 se prezinta schema propusa si in tabelul 3.7 programul realizat.
Fig. 3.12. Schema propusa
Fig. 3.13. Schema propusa
PASUL |
INSTRUCTIA |
ADRESA |
STEP |
INST. |
DATA |
|
LD AND LD AND ORB OUT LD OR LD OR ANB OR OUT |
|
Tabelul 3.7
Tabelul 3.8.
PASUL |
INSTRUCTIA |
ADRESA |
STEP |
INST. |
DATA |
|
LD OR ANI OUT ANI OUT K |
|
Fig. 3.14. Diagrama de timp.
Pe baza lor se stabileste programul prezentat in tabelul 3.8. Conform diagramei de timp se realizeaza o intarziere la revenirea contactului cu 19s.
Circuitul de palpaire din figura 3.15 format dintr-un contact normal deschis X402 si doua echipamente de temporizare T452 si T453, permite deconectarea timp de doua secunde a iesirii (becului) Y430 si conectarea ei timp de o secunda.
Diagrama de timp care poate fi realizata cu montajul din figura 3.15 este prezentata in figura 3.16. In tabelul 3.9 se prezinta programul intocmit pe baza schemei ce utilizeaza doua relee de timp, conform diagramei de timp impusa de utilizator
Tabelul 3.9
PASUL |
INSTRUCTIA |
ADRESA |
STEP |
INST. |
DATA |
|
LD ANI AUT K LD OUT K OUT |
|
Fig. 3.15. Circuit de palpaire.
Fig. 3.16. Diagrama de tim
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 5218
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved