Echipamente Numerice CURS

110
1. MICROCONTROLERUL ELEMENT DE BAZĂ ÎN ECHIPAMENTELE NUMERICE Utilizarea microprocesoarelor (a logicii programate) în echipamentele de comandă, survenită după anii 70, a adus avantaje majore în raport cu soluţiile existente: flexibilitate funcţională ridicată, consumuri de energie reduse, volum şi greutate minime, fiabilitate mărită şi - nu în ultimul rând - posibilitatea implementării unor strategii de comandă performante. Soluţiile de comandă în logică programată implică utilizarea de structuri digitale complexe ca circuite specializate (ASIC - Application Special Integrated Circuit), microprocesoare (µP) de uz general sau cu funcţii speciale, microcontrolere C), procesoare numerice de semnal (Digital Signal Processor - DSP) dar şi echipamente numerice precum automate programabile (PLC - Programmable Logic Controller), regulatoare digitale, sisteme CNC pentru maşini - unelte (Computerized Numerical Control), calculatoate industriale etc. Microcontrolere se constituie în prezent ca cel mai bun compromis între structuri numerice de comandă de uz general şi cele specializate; ele oferă o alocare optimă a task-urilor la resurse hardware şi software precum şi facilităţi pentru conducerea în timp real. Raportul preţ - performanţă este foarte convingător, chiar circuite din clasa economică pe 8 biţi putând suporta prelucrări complexe, cu precizie bună şi viteză de procesare ridicată. 1.1 Structura sistemelor microprogramabile Microcontrolerul este un circuit integrat de tip microprocesor, fiind orientat structural si funcţional spre lucrul cu intrări şi ieşiri. Dacă se înglobează intr-un circuit integrat pe lângă microprocesor, memorie ROM , memoria RAM şi elementele de intrare/ieşire necesare unei anumite aplicaţii se obţine cel mai complex circuit integrat numit microcontroler. Un microcontroler este similar unui microprocesor. Ambele conţin o unitate centrala de prelucrare sau UCP (Central Processing Unit). CPU execută instrucţiuni care îndeplinesc operaţiile de baza logice, matematice şi de curgere a informaţiei. Pentru a construi un calculator complet, microprocesorul necesită memorie pentru păstrarea datelor şi a programelor şi interfeţe de intrare-ieşire (I/O) pentru conectarea dispozitivelor externe cum ar fi tastatura sau monitorul. Spre diferenţa de microprocesor, microcontrolerul este un calculator pe un chip deoarece el conţine şi memorie şi interfeţe de intrare-ieşire pe lângă CPU. Deoarece memoria şi interfeţele care încap pe un chip sunt limitate, microcontrolerele tind să fie utilizate în sisteme mai mici care necesită doar un microcontroler şi câteva elemente adiţionale, [30]. Pentru a alege un microcontroler din marea varietate de microcontrolere existente pe piaţă trebuie ţinut cont de câteva caracteristici importante ale acestora: numărul de biţi pe care îl poate procesa simultan, numărul mai mare de biţi indicând un chip mai rapid şi mai puternic. Circuitele de 8 biţi sunt foarte populare, dar există şi circuite de 4, 16, 32 biţi. consumul de putere este important mai ales în cazul sistemelor alimentate de la baterie. Circuitele realizate în tehnologia CMOS au un consum redus de putere. Multe din dispozitivele CMOS au un mod special de "aşteptare" (stand-bye sau sleep) care limitează consumul de curent la câţiva miliamperi când un circuit este inactiv. un alt considerent în proiectarea circuitelor cu microcontrolere este modul de memorare a programului. Dintre modalităţile de memorare amintim memoriile EPROM, EEPROM, ROM, NVRAM (nonvolatile RAM) şi FLASH EPROM. opţiuni de intrare-ieşire. Majoritatea sistemelor necesită interfeţe cu senzori, tastatura, comutatoare, relee, monitoare etc. În general microcontrolerele au porturi pentru interfaţarea cu lumea exterioară.

Transcript of Echipamente Numerice CURS

Page 1: Echipamente Numerice CURS

1. MICROCONTROLERUL – ELEMENT DE BAZĂ ÎN

ECHIPAMENTELE NUMERICE

Utilizarea microprocesoarelor (a logicii programate) în echipamentele de comandă,

survenită după anii 70, a adus avantaje majore în raport cu soluţiile existente: flexibilitate

funcţională ridicată, consumuri de energie reduse, volum şi greutate minime, fiabilitate

mărită şi - nu în ultimul rând - posibilitatea implementării unor strategii de comandă

performante. Soluţiile de comandă în logică programată implică utilizarea de structuri

digitale complexe ca circuite specializate (ASIC - Application Special Integrated Circuit),

microprocesoare (µP) de uz general sau cu funcţii speciale, microcontrolere (µC),

procesoare numerice de semnal (Digital Signal Processor - DSP) dar şi echipamente

numerice precum automate programabile (PLC - Programmable Logic Controller), regulatoare

digitale, sisteme CNC pentru maşini - unelte (Computerized Numerical Control), calculatoate

industriale etc.

Microcontrolere se constituie în prezent ca cel mai bun compromis între structuri

numerice de comandă de uz general şi cele specializate; ele oferă o alocare optimă a task-urilor

la resurse hardware şi software precum şi facilităţi pentru conducerea în timp real. Raportul

preţ - performanţă este foarte convingător, chiar circuite din clasa economică pe 8 biţi

putând suporta prelucrări complexe, cu precizie bună şi viteză de procesare ridicată.

1.1 Structura sistemelor microprogramabile

Microcontrolerul este un circuit integrat de tip microprocesor, fiind orientat structural si

funcţional spre lucrul cu intrări şi ieşiri. Dacă se înglobează intr-un circuit integrat pe lângă

microprocesor, memorie ROM , memoria RAM şi elementele de intrare/ieşire necesare unei

anumite aplicaţii se obţine cel mai complex circuit integrat numit microcontroler.

Un microcontroler este similar unui microprocesor. Ambele conţin o unitate centrala de

prelucrare sau UCP (Central Processing Unit). CPU execută instrucţiuni care îndeplinesc

operaţiile de baza logice, matematice şi de curgere a informaţiei.

Pentru a construi un calculator complet, microprocesorul necesită memorie pentru

păstrarea datelor şi a programelor şi interfeţe de intrare-ieşire (I/O) pentru conectarea

dispozitivelor externe cum ar fi tastatura sau monitorul. Spre diferenţa de microprocesor,

microcontrolerul este un calculator pe un chip deoarece el conţine şi memorie şi interfeţe de

intrare-ieşire pe lângă CPU. Deoarece memoria şi interfeţele care încap pe un chip sunt limitate,

microcontrolerele tind să fie utilizate în sisteme mai mici care necesită doar un microcontroler şi

câteva elemente adiţionale, [30].

Pentru a alege un microcontroler din marea varietate de microcontrolere existente pe piaţă

trebuie ţinut cont de câteva caracteristici importante ale acestora:

numărul de biţi pe care îl poate procesa simultan, numărul mai mare de biţi indicând un chip mai

rapid şi mai puternic. Circuitele de 8 biţi sunt foarte populare, dar există şi circuite de 4, 16, 32

biţi.

consumul de putere este important mai ales în cazul sistemelor alimentate de la baterie.

Circuitele realizate în tehnologia CMOS au un consum redus de putere. Multe din dispozitivele

CMOS au un mod special de "aşteptare" (stand-bye sau sleep) care limitează consumul de curent

la câţiva miliamperi când un circuit este inactiv.

un alt considerent în proiectarea circuitelor cu microcontrolere este modul de memorare a

programului. Dintre modalităţile de memorare amintim memoriile EPROM, EEPROM, ROM,

NVRAM (nonvolatile RAM) şi FLASH EPROM.

opţiuni de intrare-ieşire. Majoritatea sistemelor necesită interfeţe cu senzori, tastatura,

comutatoare, relee, monitoare etc. În general microcontrolerele au porturi pentru interfaţarea cu

lumea exterioară.

Page 2: Echipamente Numerice CURS

Pe piaţa naţionala şi internaţională se găsesc microcontrolere de 4 biţi, de 8 biţi, de 16 biţi,

de 32 de biţi. Cele mai folosite microcontrolere sunt cele de 8 şi 16 biţi. În al doilea caz avem

microcontrolere cu arhitectura Von Neuman, având magistrala internă unică la care comunică

toate elementele, sau microcontrolere cu arhitectura Harvard, având două magistrale, una pentru

memoria ROM de programe şi alta pentru memoria RAM de date. În acest caz cele două tipuri

de memorii utilizează acelaşi spaţiu de adrese, ele nu se confundă datorita existenţei unor

instrucţiuni adecvate lucrului cu memoriile.

În tabelul 1, se prezintă câteva exemple de microcontrolere de la 4 la 32 de biţi, începând

de la cel mai simplu, microcontrolerul COPS400 care este foarte rar utilizat, continuând cu

câteva microcontrolere foarte populare, cum sunt 87C752, 68HC11F1 şi 80C166/167 şi

terminând cu microcontrolerul de 32 de biţi foarte performant TriCore TC1775,[35].

Tabelul 1.Caracteristicile câtorva microcontrolere semnificative

Microcontroler

(nume)

RAM

(B)

ROM

(kB)

CLOCK

(MHz)

PPI

(nr.)

SPI

(nr.)

PIT

(nr.)

ADC

(nr.)

PWM

(nr.)

National

Semicond.

COPS400

(4 biţi)

32

0.256

2.5

2x4

1x8

1

-

-

-

Hitachi

HD44780

(4 biţi)

80

1.2

2

1x16

1x40

- - - -

Philips 87C752

(8 biţi)

64 2 12 1x5

2x8

I2C 1 5 1

Motorola

68HC11FI

(8 biţi)

512

1

4

1x6

6x8

2

1

8

-

CYPRESS

CY8Cxxxxx

(8biti)

2048

32

24

2x8

2x14

2x24

5x20

I2C

UART

IrDA

LCD

8

16

Siemens

80C166/167

(16 biţi)

1024

32

20

1x2

1x10

4x16

2

2

10

-

SiemensTCI775

(32 biţi)

72k 20 40 1x32

11x16

4 3 2 2

Microcontrolerele de 4 şi 8 biţi au fost cele mai răspândite dispozitive inteligente, în

principal datorită simplităţii faţă de microcontrolerele de 16 si 32 de biţi. În ciuda acestei

simplităţi, microcontrolere de 8 biţi încă domină o parte importantă a pieţei de microcontrolere.

Deşi au structura relativ simplă, aceste microcontrolere sunt capabile să controleze multe

dispozitive începând cu maşinile de spălat şi aparatele video până la automatele programabile.

Deşi prezintă limitări de procesare datorită dimensiunii reduse a cuvântului şi a vitezei mici,

totuşi costul scăzut şi prezenţa elementelor interne pentru periferice (drivere de display, interfeţe

paralele şi seriale, convertoare A/D etc) le face foarte atractive.

Aceste dispozitive inteligente sunt foarte potrivite pentru un număr de aplicaţii de

producţie în serie în care o soluţie de cost scăzut necesită un număr minim de cip-uri.

În tabelul 2 sunt prezentate cele mai populare microcontrolere de 4 si 8 biţi. Dintre cele

de 4 biţi, microcontrolerul HD44780 este dedicat unei sarcini speciale, şi anume driver de afişaj

LCD.

Page 3: Echipamente Numerice CURS

Tabelul 2. Exemple de microcontrolere de 4 şi 8 biţi

Nr

crt.

Tip Producător Biti Caracteristici

1 TMS1000 Texas

Instruments

4 4kB ROM; 128x4 biţi RAM; 16 linii de

ieşire; 8biţi ADC; 12 grupuri de instrucţiuni

2 NEC7500 Nippon

Electrinics

4 6kB ROM; 256x4 bits RAM; 35 linii I/O

individuale; 4 canale ADC de 8 biţi; port

serial I/O de 8 biţi; 2 grupuri de instrucţiuni

3 HD44780 Hitachi 4 1.2kB ROM; 80x8biţi display RAM; 64x8

RAM generator de caractere; 40 linii

segment;16 linii uzuale; 7 grupuri de

instrucţiuni

4 80C552 Phillips 8 8kB ROM;256x8 bits RAM; 6 porturi de 8

biţi; 8 canale ADC; USART; 5 grupuri de

instrucţiuni

5 68HC11 Motorola 8 12kB ROM; 0.5kB EEPROM; 1kB RAM;

6 porturi de 8 biţi; 1 port de 6 biţi; 8 canale

ADC; USART; SPI; 5 grupuri de instrucţiuni

6 TMS370 Texas

Instruments

8 16kB ROM; 0.5kB EEPROM; 0.5kB RAM;

5 porturi I/O de 8 biţi; 4 porturi de 3 biţi; 8

canale; ADC; USART; SPI; 14 moduri de

adresare

7 M8C CYPRESS 8 26 porturi I/O; 16 blocuri digitale; 12 blocuri

analogice; Memoria 32KB Flash; Viteza

CPU 24 MHz; 9 functii SROM; 3 tipuri de

instructiuni; Arhitectura 4xMIPS care

cuprinde memoria SROM si memoria Flash

Microcontrolerul diferă de un microprocesor în multe feluri. În primul rând şi cel mai

important este funcţionalitatea sa deoarece pentru a putea fi utilizat unui microprocesor trebuie

să i se adauge alte componente ca memorie, sau componente pentru primirea şi trimiterea de

date. Pe scurt, aceasta înseamnă că microprocesorul este inima calculatorului. Pe de altă parte,

microcontrolerul este proiectat să fie toate acestea într-unul singur. Nu sunt necesare alte

componente externe pentru aplicarea sa pentru că toate perifericele necesare sunt deja incluse în

el. Astfel, economisim timpul şi spaţiul necesare pentru construirea de aparate.

1. 1.1 Unitatea de memorie

Memoria este o parte a microcontrolerului a cărei funcţie este de a înmagazina date. Cel

mai uşor mod de a explica este de a-l descrie ca un dulap mare cu multe sertare. Dacă

presupunem că am marcat sertarele într-un asemenea fel încât să nu fie confundate, oricare din

conţinutul lor va fi atunci uşor accesibil. Este suficient să se ştie desemnarea sertarului şi astfel

conţinutul lui ne va fi cunoscut în mod sigur.

Două noi concepte ne sunt aduse: adresarea şi locaţia de memorie. Memoria constă din

toate locaţiile de memorie, şi adresarea nu este altceva decât selectarea uneia din ele. Aceasta

înseamnă că noi trebuie să selectăm locaţia de memorie la un capăt, şi la celălalt capăt trebuie să

aşteptăm conţinutul acelei locaţii. În afară de citirea dintr-o locaţie de memorie, memoria trebuie

de asemenea să permită scrierea în ea. Aceasta se face prin asigurarea unei linii adiţionale numită

Page 4: Echipamente Numerice CURS

linie de control. Vom desemna această linie ca R/W (citeşte /scrie). Linia de control este folosită

în următorul fel: dacă r/w=1, se face citirea, şi dacă opusul este adevărat atunci se face scrierea în

locaţia de memorie. Memoria este primul element, dar avem nevoie şi de altele pentru ca

microcontrolerul nostru să funcţioneze.

1.1.2 Unitatea Centrală de Procesare

Să adăugăm alte 3 locaţii de memorie pentru un bloc specific ce va avea o capabilitate

incorporată de înmulţire, împărţire, scădere şi să-i mutăm conţinutul dintr-o locaţie de memorie

în alta. Partea pe care tocmai am adăugat-o este numită "unitatea de procesare centrală" (CPU).

Locaţiile ei de memorie sunt numite regiştrii. Regiştrii sunt deci locaţii de memorie al căror rol

este de a ajuta prin executarea a variate operaţii matematice sau a altor operaţii cu date oriunde

se vor fi găsit datele. Să privim la situaţia curentă. Avem două entităţi independente (memoria şi

CPU) ce sunt interconectate, şi astfel orice schimb de informaţii este ascuns, ca şi

funcţionalitatea sa. Dacă, de exemplu, dorim să adăugăm conţinutul a două locaţii de memorie şi

întoarcem rezultatul înapoi în memorie, vom avea nevoie de o conexiune între memorie şi CPU.

Mai simplu formulat, trebuie să avem o anumită "cale" prin care datele circulă de la un bloc la

altul.

1.1.3 Bus-ul

Calea este numită "bus"- magistrală. Fizic, el reprezintă un grup de 8, 16, sau mai multe

fire. Sunt două tipuri de bus-uri: bus de adresă şi bus de date.

Primul constă din atâtea linii cât este cantitatea de memorie ce dorim să o adresăm, iar

celălalt este atât de lat cât sunt datele, în cazul nostru 8 biţi sau linia de conectare. Primul

serveşte la transmiterea adreselor de la CPU la memorie, iar cel de al doilea la conectarea tuturor

blocurilor din interiorul microcontrolerului.

În ceea ce priveşte funcţionalitatea, situaţia s-a îmbunătăţit, dar o nouă problemă a apărut

de asemenea: avem o unitate ce este capabilă să lucreze singură, dar ce nu are nici un contact cu

lumea de afară. Pentru a înlătura această deficienţă, să adăugăm un bloc ce conţine câteva locaţii

de memorie al căror singur capăt este conectat la bus-ul de date, iar celălalt are conexiune cu

liniile de ieşire la microcontroler ce pot fi văzute cu ochiul liber ca pini la componenta

electronică.

1.1.4 Unitatea Intrare-ieşire

Aceste locaţii ce tocmai le-am adăugat sunt numite "porturi". Sunt diferite tipuri de

porturi: intrare , ieşire sau porturi pe două-căi. Când se lucrează cu porturi, mai întâi de toate este

necesar să se aleagă cu ce port urmează să se lucreze, şi apoi să se trimită date la, sau să se ia

date de la port. Când se lucrează cu el portul se comportă ca o locaţie de memorie. Ceva este pur

şi simplu scris în sau citit din el, şi este posibil de a remarca uşor aceasta la pinii

microcontrolerului.

Page 5: Echipamente Numerice CURS

Fig.1 Schema bloc generală a unui microcontroler cu elementele de baza si conexiunile interne

Astfel microcontrolerul este acum terminat, şi tot ce mai rămâne de făcut este de a-l pune

într-o componentă electronică unde va accesa blocurile interioare prin pinii exteriori. În figura 1

este explicitată schema logică generală a unui microcontroler, liniile subţiri ce merg din interior

către părţile laterale ale microcontrolerului reprezintă fire conectând blocurile interioare cu pinii

capsulei microcontrolerului.

1.1.5 Comunicaţia serială

Cu aceasta am adăugat la unitatea deja existentă posibilitatea comunicării cu lumea de

afară. Totuşi, acest mod de comunicare are neajunsurile lui. Unul din neajunsurile de bază este

numărul de linii ce trebuie să fie folosite pentru a transfera datele. O alternativă ar fi să reducem

numărul de linii într-un aşa fel încât să nu scădem funcţionalitatea.

Să presupunem că lucrăm doar cu 3 linii, şi că o linie este folosită pentru trimiterea de

date, alta pentru recepţie şi a treia este folosită ca o linie de referinţă atât pentru partea de intrare

cât şi pentru partea de ieşire. Pentru ca aceasta să funcţioneze, trebuie să stabilim regulile de

schimb ale datelor. Aceste reguli sunt numite protocol. Protocolul este de aceea definit în avans

ca să nu fie nici o neînţelegere între părţile ce comunică una cu alta.

Pentru că avem linii separate de recepţie şi de transmitere, este posibil să recepţionăm şi să

transmitem date (informaţii) în acelaşi timp. Blocul aşa numit full-duplex mode ce permite acest

Page 6: Echipamente Numerice CURS

mod de comunicare este numit blocul de comunicare serială. Spre deosebire de transmisia

paralelă, datele sunt mutate aici bit cu bit, sau într-o serie de biţi, de unde vine şi numele de

comunicaţie serială. După recepţia de date trebuie să le citim din locaţia de transmisie şi să le

înmagazinăm în memorie în mod opus transmiterii unde procesul este invers. Datele circulă din

memorie prin bus către locaţia de trimitere, şi de acolo către unitatea de recepţie conform

protocolului.

1.1.6 Unitatea Timer

Pentru a putea fi folosit în industrie mai are nevoie de câteva blocuri. Unul din acestea este

blocul timer care este important, pentru că ne dă informaţia de timp, durată, protocol etc., [30].

Unitatea de bază a timer-ului este un contor liber (free-run) care este de fapt un registru a cărui

valoare numerică creşte cu unu la intervale egale, aşa încât luându-i valoarea după intervalele T1

şi T2 şi pe baza diferenţei lor să putem determina cât timp a trecut. Acesta este o parte foarte

importantă a microcontrolerului al cărui control cere cea mai mare parte a timpului nostru.

1.1.7 Watchdog-ul

Încă un aspect foarte important este funcţionarea fără defecte a microcontrolerului în

timpul funcţionării. Să presupunem că urmare a unei anumite interferenţe (ce adesea se întâmplă

în industrie) microcontrolerul nostru se opreşte din executarea programului, sau şi mai rău,

începe să funcţioneze incorect. Bineînţeles, când aceasta se întâmplă cu un calculator, îl resetăm

pur şi simplu şi va continua să lucreze. Totuşi, nu există buton de resetare pe care să-l apăsăm în

cazul microcontrolerului care să rezolve astfel problema. Pentru a depăşi acest obstacol, este

nevoie de a introduce încă un bloc numit watchdog – “câinele de pază”. Acest bloc este de fapt

un alt contor liber (free-run) unde programul trebuie să scrie un zero ori de câte ori se execută

corect. În caz că programul se "înţepeneşte", nu se va mai scrie zero, iar contorul se va reseta

singur la atingerea valorii sale maxime. Aceasta va duce la rularea programului din nou, şi corect

de această dată pe toată durata. Acesta este un element important al fiecărui program ce trebuie

să fie fiabil fără supravegherea omului.

1.1.8 Convertorul Analog-Digital

Pentru că semnalele periferice sunt substanţial diferite de cele pe care le poate înţelege

microcontrolerul (zero şi unu), ele trebuie convertite într-un mod care să fie înţeles de

microcontroler. Această sarcină este îndeplinită de un bloc pentru conversia analog-digitală sau

de un convertor AD. Acest bloc este responsabil pentru convertirea unei informaţii despre o

anumită valoare analogică într-un număr binar şi pentru a o urmări pe tot parcursul la un bloc

CPU aşa ca blocul CPU să o poată procesa.

Pentru o aplicaţie reală, un microcontroler singur nu este de ajuns. În afară de

microcontroler, avem nevoie de un program pe care să-l execute, şi alte câteva elemente ce

constituie o interfaţă logică către elementele de stabilizare.

1.1.9 Analiza sistemelor microprogramabile

Firmele cele mai cunoscute care produc microcontrolere sunt: SIEMENS şi PHILIPS în

Europa; INTEL, MOTOROLA, TEXAS INSTRUMENTS, MICROCHIP şi CYPRESS în SUA;

HITACHI şi MITSUBISHI în Japonia. În continuare se prezintă câteva familiile de

microcontrolere care sunt cele mai reprezentative, punându-se accent pe familia de

microcontrolere de tip Cypress deoarece acest tip de microcontrolere a fost utilizat la

Page 7: Echipamente Numerice CURS

modernizarea circuitelor de comandă şi protecţie ale echipamentelor electrice pentru atmosfere

potenţial explozive.

80C196 (Intel MCS-96) Este un microcontroler pe 16 biţi făcând parte din generaţia treia de

microcontrolere a firmei Intel. Destinat iniţial unor aplicaţii din industria de automobile, are o

arhitectură von Neumann, cu un spaţiu de adresare de 64KBytes, o unitate de intrări/ieşiri

numerice de mare viteză (destinată iniţial controlului injecţiei la un motor cu ardere internă),

ieşiri PWM, convertor analog numeric, timer watchdog. Există multe variante, ultimele

cronologic apărute, fiind mult superioare variantei iniţiale. Există şi o dezvoltare recentă sub

forma familiei MCS-296 (80C296)

80C186, 80C188 (Intel, AMD, ş.a.) Derivate din clasicele 8086/88 prin includerea pe acelaşi

microcircuit a 2 canale DMA, 2 numărătoare/timere, un sistem de întreruperi şi un controler

pentru DRAM. Marele avantaj al acestor cvasi(aproape) microcontrolere (ele nu au memorie

integrată!) este legat de utilizarea ca mediu de dezvoltare a unor platforme de calcul tip IBM-PC,

compatibile 80x86, cu tot softul aferent.

68HC05 (Freescale - www.freescale.com, ex Motorola ) Un microcontroler de 8 biţi derivat din

microprocesorul M6800 şi care prezintă multe asemănări cu un alt microprocesor răspândit, la

timpul său, 6502. Are un spaţiu de memorie unic (64Kbytes) în care sunt plasate şi registrele

perifericelor (I/O, timere) cu un indicator de stivă (SP) hard pe 5biţi (stivă de maxim 32 octeţi !).

Există variante cu memorie EEPROM, CAN, port serial, etc. Este unul din cele mai răspândite

microcontrolere (comparabil cu 8051). Varianta evoluată a acestei familii este seria 68HC08

bazată pe o nouă unitate centrală de 8 biţi numită CPU08, cu cea mai recentă dezvoltare sub

forma seriei 68HCS08 destinată în mod special unor aplicaţii din industria automobilului.

68HC11, 68HC12, 68HC16 (Freescale) 68HC11 a fost unul din cele mai puternice

microcontrolere pe 8 biţi, foarte răspândit în ciuda faptului că Motorola a fost un timp singurul

producător. Are un set de instrucţiuni asemănător cu alte produse ale firmei (6801, 6805, 6809).

Are un spaţiu de adrese unic de 64K. Nenumărate variante ca resurse: EEPROM, OTP, CAN,

PWM, etc. Prezintă ca particularitate existenţa unui program de încărcare rezident (bootstrap

loader în ROM intern) cu care, la reset, un segment din memoria RAM externă poate fi încărcat

cu cod program prin intermediul portului serial. Variantele evoluate sunt de fapt microcontrolere

de 16 biţi:

un "super 68HC11", numit 68HC12 bazat pe o nouă unitate centrală numită CPU12, care

reprezintă extensia la 16 biţi a arhitecturii HC11

un 68HC16, mai puţin răspândit, bazat pe o unitate centrală numită CPU16

PIC (Microchip- www.microchip.com ) Primul microcontroler din această familie (PIC1650) a

apărut acum mai bine de 20 de ani pe vremea când firma era proprietatea General Instruments.

Este o familie de microcontrolere care, în ultimii ani, a cunoscut o dezvoltare explozivă. Sunt

disponibile actualmente sub forma a 6 serii: PIC10, PIC12, PIC14, PIC16, PIC17 şi PIC18. In

seriile respective există variante cu memorie de program de tip OTP(C) sau FLASH (F). Au fost

primele microcontrolere de 8 biţi cu arhitectură RISC: PIC16C5x avea un set de doar 33

instrucţiuni (Intel 8048 avea 90). Arhitectura este de tip Harvard şi, ca o particularitate,

dimensiunea cuvântului pentru program este de 12, 14 sau 16 biţi, cuvântul de date fiind tot de 8

biţi. Există foarte multe variante pentru cele şase serii, unele din ele fiind caracterizate printr-un

număr mic de conexiuni exterioare (pini) şi în consecinţă dimensiuni mici, consum foarte mic,

ideea de bază fiind costul redus. Cronologic, ultimul produs al firmei Microchip este seria

dsPIC30F, de fapt un procesor numeric de semnal, de 16 biţi, cu o periferie specifică optimizată

pentru controlul acţionărilor electrice (motoare electrice). Firma Ubicom (ex Scenix,

www.ubicom.com) produce nişte clone ale familiei PIC, mult mai rapide decât originalele.

Modulele Basic Stamp ale firmei Parallax (www.parallax.com) sunt bazate si pe astfel de

microcontrolere (sunt foarte utilizate, şi nu numai de profesionişti în robotică).

Page 8: Echipamente Numerice CURS

AVR (Atmel- www.atmel.com ) Un concurent puternic al seriei PIC este familia numită AVR, a

firmei ATMEL, familie apărută în ultimii ani, care oferă variante de microcontrolere oarecum

asemănătoare ca resurse cu familia PIC, la performanţe similare sau mai bune. Sunt bazate pe o

arhitectură diferită, dar unitatea centrală este tot de tip RISC, cu cuvântul de date de 8 biţi. La fel

ca la PIC dimensiunea cuvântului de program este mai mare, fiind de 16 biţi. Există cel puţin 3

sub familii mari, în ordinea complexităţii resurselor, acestea fiind: AT Tiny, AT90 şi ATMega.

COP4(00) şi COP8(00) (NS -National Semiconductors - www.national.com ) COP4 este un

microcontroler pe 4 biţi, categorie de microcontrolere care, în general, departe de a fi învechite,

ocupă un segment relativ important al pieţii. Printre caracteristici: până la 2K ROM local, 32x4

până la 160x4 RAM local, Microwire, numărătoare/timere, tensiune de alimentare 2.3-6V,

număr mic de pini. COP8 reprezintă o serie de microcontrolere pe 8 biţi, versatilă, cu preţ scăzut,

disponibilă în multe variante. Arhitectura este similară lui 8051, dar setul de instrucţiuni este

similar lui Z80.

Z8 (Zilog, - www.zilog.com ) Un derivat al microprocesorului Z80, reprezintă un compozit al

mai multor arhitecturi diferite. Nu este compatibil cu setul de instrucţiuni şi nici cu perifericele

standard Z80. Are trei spaţii de adrese: program, date şi un masiv de registre. Resurse locale

tipice: UART, timere, DMA, sistem de întreruperi cu până la 37 de surse. Există o variantă cu un

interpreter Tiny Basic în ROM-ul local (analog 8052AH Basic de la Intel) precum şi o variantă

cu resurse îmbunătăţite numită Super-8.

Z180(Zilog), Rabbit ( Rabbit Semiconductors- www.rabbitsemiconductor.com ) Z180 -ul firmei

Zilog are un CPU similar cu Z80 dar îmbunătăţit, cu resurse locale cum ar fi: management de

memorie (memorie paginată de maxim 1MB), USART (numit SIO), 2 canale DMA, timere,

sistem de întreruperi, eventual PIO. Instrucţiuni suplimentare faţă de setul standard Z80, printre

care şi înmulţirea. Diversele sale variante nu includ memorie locală. Rabbit 2000 sau 3000 este

un microcontroler bazat pe un nucleu de Z180, deosebit de versatil ca resurse periferice

disponibile şi foarte uşor de integrat în aplicaţii. Sunt disponibile module realizate pe baza

acestui microcontroler, module care adaugă şi memorie de tip ROM FLASH şi RAM. Utilizarea

unui mediu de programare foarte productiv numit Dynamic C precum şi a facilitaţilor de

programare şi depanare In-System au făcut ca acest microcontroler sa cunoască o răspândire

destul de larga.

TMS370 (Texas Instruments- www.ti.com ) Microcontrolerul standard pe 8 biţi al firmei TI

realizat în multe variante (de ordinul zecilor), prezintă unele asemănări cu 8051 (memoria de

date locală, stiva, modurile de adresare). O varietate extrem de mare a resurselor locale.

80386EX (Intel) Un 80386 destinat aplicaţiilor de tip controler. Resurse locale: I/O seriale,

timere/numărătoare, DMA, optimizarea consumului, controler de întreruperi, controler pentru

RAM dinamic. Nu au memorie locală. Marele avantaj al unui astfel de microcontroler este că se

poate utiliza ca platformă de dezvoltare un sistem de tip IBM PC împreună cu tot mediul de

programare aferent.

MSP430 (Texas Instruments) Firma TI oferă şi o familie de microcontrolere de 16 biţi cu

arhitectura RISC, cu posibilitatea controlului compromisului viteză de calcul/consum propriu,

destinată aplicaţiilor portabile (şi nu numai), denumită MSP 430. Cu un spaţiu de adresare de

64KBytes, are diverse variante de realizare a memoriei interne de program (OTP, FLASH),

resurse diverse (printre care şi o interfaţa pentru un sistem de afişare LCD).

CYPRESS (Cypress Semiconductors – www.cypress.com ). Proiectarea unor produse

embedded, utile si ieftine poate fi o provocare chiar si pentru cei mai experimentaţi ingineri. In

prezent, proiectele embedded necesita optimizarea numărului de componente, a dimensiunii

fizice, a consumului de putere sau a costului, sau a tuturor celor de mai sus. Produsele

embedded complet optimizate folosesc foarte puţine resurse care se irosesc. Aceasta forţează

adesea proiectanţii sa aleagă componente mai puţin costisitoare care cred ei ca vor funcţiona

acolo unde componente mai scumpe ştiu ca vor funcţiona. Mă refer la aceasta situaţie numind-o

"Constrângerea dezvoltării embedded".

Page 9: Echipamente Numerice CURS

Constrângerea dezvoltării embedded este acel sentiment îngrozitor care apare când iţi dai

seama ca partea pe care ai pus bazele proiectului tău se dovedeşte a fi insuficienta.

Aceasta se întâmpla de obicei in mijlocul unui proiect si provine din micşorarea anumitor resurse

importante - determinând oprirea procesului de dezvoltare. Deoarece microcontrolerul pe care

operatorul îl utilizează include o varietate de resurse incluse intr-un chip, exista din abundenta

oportunităţi pentru a experimenta constrângerea.

Probleme comune MCU când se folosesc unităţi de microcontroler tradiţionale, exista trei

tipuri majore de resurse care, in mod obişnuit, sunt insuficiente:

spaţiul memoriei program;

conexiunile I/O;

setul periferic disponibil.

In continuare sunt prezentate câteva tehnici comune de proiectare care ajuta la oprirea

constrângerii înainte de a începe. Când se proiectează un sistem îmbunătăţit, codul ales pare

totdeauna ca umple tot spaţiul disponibil si apoi el creste mai mult. Daca este utilizat un nivel

mai ridicat al limbajului de proiectare, cum ar fi C, se poate rezolva problema spaţiului codului

prin cumpărarea unui compilator mai eficient. Preţul unui compilator este in mod obişnuit legat

de abilitatea sa de a genera cod care este eficient atât in ceea ce priveşte spaţiul cat si in ceea ce

priveşte timpul de funcţionare. In timp ce costul uneltei de dezvoltare este întotdeauna un punct

important, o doza suplimentara de eficienta reduce costul, daca aceasta permite finalizarea

proiectului fără optimizări suplimentare pe aplicaţia concepută. De asemenea, se poate optimiza

software-ul pentru a reduce spaţiul codului - fie prin codificarea in limbaj de asamblare, fie in C.

Totuşi, acesta este un proces care necesita timp care produce răspunsuri diminuate cu cat

se lucrează mai mult la el. O alta cale este utilizarea de intrări/ieşiri necesare realizării a tot ceea

ce necesita proiectul. In aceasta situaţie, se pot multiplexa funcţiile pe acelaşi pin (folosirea

aceluiaşi pin atât ca intrare cat si ca ieşire) sau chiar se poate folosi ieşirea pentru doua funcţii

diferite (implementând atât starea sus cat si starea jos a pinului).

Setul periferic disponibil al unui anumit microcontroler este o alta caracteristica ce

cauzează probleme pentru un proiectant. La jumătatea drumului proiectului, se descoperă că mai

este nevoie de un periferic care nu a fost luat în considerare la începutul proiectului. Adesea se

poate substitui implementarea unui software al unui periferic hardware care lipseşte. Un exemplu

in acest sens este o rutina software pentru a face comunicaţie asincrona pe un port pin fără

periferic hardware. Aceasta poate fi o buna soluţie atâta timp cat există suficient spaţiu CPU

disponibil pentru a manevra volumul de lucru suplimentar.

Adesea, proiectanţii experimentează "Constrângerea dezvoltării embedded" la proiecte

reuşite ale lor. In ciuda tehnicilor descrise mai înainte, "Constrângerea" primejduieşte căutările

de a finaliza un proiect la timp si cu un anumit buget.

Cauze fundamentale ale "Constrângerii" sunt lipsa flexibilităţii si volumul total de

microcontrolere ce se afla pe piaţa. Când este selectat un microcontroler, utilizatorul trebuie să

caute prin grămada de informaţii pana găseşte setul complet de caracteristici de care are nevoie

pentru proiectul său. De cele mai multe ori, cerinţele si caracteristicile sistemului se modifica pe

la jumătatea drumului fiind necesară o re-configurare a resurselor sau de a modifica

microcontrolerul la jumătatea procesului de proiectare. Cele mai multe MCU nu furnizează o

cale de upgradare clara pentru a găsi un nou dispozitiv atunci când cel curent nu mai este util

pentru aplicaţia dorită. Deoarece exista atât de multe microcontrolere disponibile (si

caracteristicile lor variază atât de mult), găsirea piesei upgradate care are tocmai resursele

necesare crescute este extrem de rara. De aceea, chiar cea mai mica modificare in mijlocul

ciclului de proiectare poate conduce la eşecuri majore.

Pentru a rezolva aceasta problema si a uşura "Constrângerea", Cypress MicroSystems, a

dezvoltat o linie de sisteme semnal mixat care se caracterizează prin controler pe placa. Aceste

dispozitive PSoC permit personalizarea setului periferic in aşa fel încât sa se adapteze cel mai

bine la aplicaţia dorită - in orice moment pe durata procesului de dezvoltare. Fiecare parte

Page 10: Echipamente Numerice CURS

conţine blocuri de circuite analogice si blocuri de circuite digitale care pot fi configurate in

perifericele care se potrivesc cel mai bine aplicaţiei. În cazul în care circuitele de comandă şi

protecţie, spre exemplu, necesită o modificare în setul de caracteristici al sistemului se poate

modifica simplu configuraţia iniţială fără a mai fi nevoie de alegerea unei noi piese. Blocurile

analogice si digitale incorporate sunt folosite pentru a crea periferice pe aceste dispozitive.

Blocurile PSoC digitale pot implementa o varietate de funcţii microcontroler standard, cum ar fi

timere, PWMe (Pulse Width Modulators) si canale de comunicaţie seriala. Ele pot, de asemenea,

sa implementeze funcţii care nu sunt in mod normal disponibile in hardware pe microcontrolere -

cum ar fi PRS (Pseudo Random Sequence generators) si CRC (Cyclical Redundancy Checkers).

Fiecare din blocurile digitale serveşte ca o resursa de 8 biţi, însemnând ca se poate face

un timer de 8 biţi de la un bloc digital. Blocurile digitale pot fi, de asemenea, instruite împreuna

daca este nevoie de lăţimi bit mai mari - făcând un PWM de 16 biţi din doua blocuri digitale ce

lucrează împreuna.

Pe de alta parte, blocurile analogice ale acestei noi arhitecturi sunt construite in jurul

amplificatoarelor operaţionale. Trei tipuri de blocuri analogice suporta o larga varietate de

funcţii. Unul din aceste blocuri analogice are mai multe multiplexoare analogice care se pot seta

pentru a controla topologia caii de răspuns si o matrice rezistor programabil de precizie. Celelalte

doua tipuri de blocuri analogice sunt, de asemenea, construite in jurul amplificatoarelor

operaţionale, dar au reţele de condensatoare pentru a fixa caracteristicile blocului.

Se pot folosi blocurile analogice singure pentru a crea filtre si stadii de amplificare, sau

împreuna cu blocurile digitale pentru a crea funcţii cum ar fi convertoare A/D si convertoare

D/A. Setul periferic este ales de către utilizator, aşa ca nu trebuie recurs la a face periferice

software care consuma din spaţiul codului si reduc performanta.

Noul dispozitiv se caracterizează, de asemenea, prin resurse generoase de interconectare.

Este posibilă dirija atât a semnalelor analogice cat si semnalelor digitale intre diferite si variate

blocuri funcţionale, creând astfel arhitectura sistemului dorita chiar pe dispozitiv. De aceea, un

semnal analog ce vine intr-un pin de la un senzor este condus prin stadii succesive de

amplificare, filtrare si conversie A/D si introdus in CPU pentru procesare. Nivelul crescut de

flexibilitate a interconectării este o alta caracteristica a acestei arhitecturi, care va permite sa

lucraţi pe toate problemele de I/O pe care le puteţi întâmpina.

Unelte de dezvoltare

Alegerea siliciului este influenţata in mare măsura de disponibilitatea uneltelor de înalta

calitate. Cypress MicroSystems a creat, de asemenea, un IDE (Integrated Development

Environment) pentru dezvoltare cu aceste produse. Numit "PsoC Designer", programul va

permite configurarea resursele analogice si digitale de la o interfaţa grafica utilizator. Utilizatorul

creează setul periferic care se potriveşte cel mai bine aplicaţiei si software-ul generează automat

un set de fişiere care setează biţii registrului corespunzător pentru a implementa alegerile făcute.

IDE-ul creează, de asemenea, interfeţe de programare pentru perifericele selectate pentru a iuţi

dezvoltarea software-lui.

1.2 Arhitectură generală a microcontrolerului Cypress

Diagrama PSoC ilustrată în figura 2, ilustrează arhitectura nivelului înalt al familiei de

dispozitive PSoC. Fiecare bloc al diagramei este prezentat pe larg în paragrafele: PsoC Core,

Sistemul Digital, Sistemul Analogic şi Resursele sistem. Toate aceste paragrafe reprezintă

reţeaua de comunicaţii a sistemului magistrală (System bus).

Page 11: Echipamente Numerice CURS

Fig.2 Arhitectura generală a microcontrolerului din familia Cypress

1.2.1 PSoC Core

PSoC Core este un mediu de programare puternic care suportă un set de instrucţiuni

bogat. El compensează SRAM pentru stocarea datelor, un controller de întreruperi pentru

executarea simplă a noilor adrese, un temporizator sleep şi watchdog precum şi multiple surse de

timp (clock) care include PLL ,IMO (oscilatorul principal intern),ILO (oscilatorul intern cu

viteza redusa si ECO (cristalul oscilator extern de 32.768 kHz),[72]. Toate aceste temporizatoare

împreuna cu driverele de temporizare programabile(ca resursa sistem),asigura o flexibilitate in

integrarea aproape a tuturor necesitaţilor temporale in dispozitivul PSoC, [67].

Procesorul,denumit M8C este un procesor puternic cu viteza de peste 24MHz.Are o

arhitectura 4xMIPS pe 8 biti Harvard. Fiind incorporata si memoria SROM si memoria Flash,

acesta asigura si permite o programare flexibila. PSoC GIPO permite conectarea la procesor a

diferitelor resurse digitale si analogice. Fiecare pin al dispozitivului trebuie selectat din 8 opţiuni

permiţând astfel o flexibilitate in interfaţa cu exteriorul. De asemenea fiecare pin este capabil sa

genereze întreruperi la nivel înalt, jos si schimbări de la ultima citire, [64].

1.2.2 Sistemul Digital

Sistemul digital este compus din linii digitale adunate in blocuri digitale(array) si

interconectări Global, Array(matrice) si linii digitale (GDI,ADI si RDI).Blocurile digitale au cate

4 linii ,aceste blocuri variind de la un dispozitiv PSoC la altul. Aceasta permite alegerea optima

de către sistem a resurselor pentru diverse aplicaţii. Blocurile digitale pot fi conectate la orice

GIPO prin o serie de magistrale globale care pot dirija orice semnal către orice pin. De asemenea

magistralele permit multiplexarea semnalelor si efectuarea operaţiilor logice. Aceasta

configuraţie permite proiectarea controllerelor periferice fixe, [38].

Page 12: Echipamente Numerice CURS

1.2.3 Sistemul Analogic

Sistemul analogic este compus din coloane analogice adunate într-o matrice, referinţe

analogice, multiplexarea analogică a intrărilor si dispozitive analogice. Blocul sistem analog este

alcătuit din mai mult de 4 coloane cu peste 12 blocuri analogice, depinzând de caracteristicile

dispozitivului PSoC. Fiecare bloc cuprinde un circuit opamp, care permite crearea unui flux

complex de semnale.

Fiecare coloana analogică conţine:

CT bloc de timp continuu(continous Time) tip B(ACB);

un bloc de condensatoare variabile Tip C(ASC);

un bloc de condensatoare variabile tip D(ASD);

Coloanele analogice din procesoarele PSoC CY8C21x24,CY8C21x23,CY7C603xx si

CYWUSB6953 conţin fiecare cate un bloc CT(ACE) de tip E si un bloc SC(ASE) de tip E.

1.2.4 Resursele sistem

Resursele sistem permit capabilităţi adiţionale ale PSoC care depind de caracteristicile

dispozitivului PSoC. Aceste resurse includ:

ceas digital care creste flexbilitatea matricilor mixte de semnale ale PSoc;

peste 4 MAC-uri care permit multiplicarea rapida cu 8 biti sau multiplicarea cu 8 biti cu 32

acumulatori.

Peste doua coprocesoare pentru aplicatii de pocesare a semnalelor digitale.

I2C functii cu I2C slave on master.

Un acumlator intern care furnizeaza o valoare absouta de 1.3 pentru diferitele subsisteme ale

PSoC.

SPM care genereaza operarea normala cu tensiuni a acumulatorului intern.

MUX analog care permite fiecarui pin I/O o conectare la magistrala interna analogica comuna.

5 iesiri fullsped (2Mb/sec)USB.

Diferite sisteme de reset suportate de M8C.

1.2.5 Caracteristicile dispozitivului PSoC

Exista o mulţime de cipuri in familia PSoC Mixed Signal Array, dar diferenţiind

grupurile de cipuri PSoC, acestea se disting după numărul de linii digitale si coloanele analogice

de care dispun. Sistemul digital poate avea 4, 2 sau o linie digitala. Sistemul analogic poate avea

4, 2 sau o coloana analogică. Fiecare dispozitiv PSoC are o combinaţie unica de linii digitale si

coloane analogice.

In tabelul 3, sunt ilustrate resursele sistem disponibile fiecărui grup de dispozitive PSoC.

CY8C21x34, CY7C603xx si CYWUSB6952 sunt singurele dispozitive PSoC care au I/O

multiplexate analogic, iar CY8C24x94 si CY7C64215 au resurse sistem USB. Pentru realizarea

obiectivului cercetării s-a utilizat familia de microcontrolere cu performanţele cele mai ridicate şi

anume CY8C29466.

Tabelul 3. Resursele specifice disponibile pentru cele mai reprezentative dispozitive PSoC

Dispozitiv

PSoC

Intr

ări

Dig

ital

e

Mag

istr

ale

Dig

ital

e

Blo

curi

dig

ital

e

Intr

ări

anal

og

ice

Ieşi

ri

anal

og

ice

Blo

curi

Anal

ogic

e

SR

AM

Fla

sh

CY8C29X66 64 4 16 12 4 12 2KB 32KB

CY8C27X43 44 2 8 12 4 12 256 biti 16KB

Page 13: Echipamente Numerice CURS

CY8C24X94 50 1 4 48 2 6 1KB 16KB

CY8C24X23 24 1 4 12 2 6 256 biti 4KB

CY8C24X13 16 1 4 8 1 3 256 biti 4KB

CY8C21X34 28 1 4 28 0 4 512biti 8KB

CY8C21X23 16 1 4 8 0 4 256 biti 4KB

CY8C20X34 28 0 0 28 0 3 512biti 8KB

Familia PSoC CY8C29x66 poate avea pana la 6 porturi IO care se leagă de

interconectării analogi si digitali globali, realizând accesul la 16 blocuri digitale si 12 blocuri

analoage.

Inima PSoC este un motor puternic care sprijină o setare aparenta bogata. Miezul include

un CPU, o memorie, ceasuri si un GPIO configurabil (Scop general IO).

Miezul CPU M8C este un procesor puternic cu viteze de pana la 12 MHz, care realizează

un microprocesor cu 2 MIPS de 8 biţi Harvard. CPU utilizează un verificator întrerupt cu 25 de

vectori, pentru a simplifica programarea evenimentelor din timp real.

Executarea programului este temporizata si protejata folosind temporizatorii de somn si

veghere (WDT). Memoria include 32 KB de Flash pentru stocarea programului si 2 KB de

SRAM pentru stocarea informaţiilor. Flashul programului utilizează 4 nivele de protecţie pe

blocuri de 64 biţi, permiţând protecţia de software IP,[80].

Dispozitivul PSoC cuprinde generatori de ceas interni, incluzând un IMO de 24 MHz

(oscilatori principal intern) pana la 4% peste temperatura si voltaj. O putere mai mica ILO de 32

kHz este realizata pentru temporizatorul de somn si WDT. Daca se doreşte o acurateţe cat mai

mare, este disponibil ECO (oscilatorul extern de 32.768 kHz) pentru a fi utilizat ca un ceas de

timp real (RTC) si poate genera opţional un sistem de 24 MHz utilizând PLL. Ceasurile,

împreuna cu divizorii de ceas realizează flexibilitatea de a integra aproape orice cerinţa de timp

in dispozitivul PSoC. PSoC GPIO realizează legătura cu CPU, resurse digitale si analoage ale

dispozitivului. Fiecare pin are capacitatea de a genera o întrerupere a sistemului la un nivel

ridicat si se poate schimba de la ultima citire, acestor pini putându-se selectata diferite opţiuni de

lucru care permit o flexibilitate mare in realizarea interfeţei externe.

Sistemul digital este alcătuit din 16 blocuri digitale PSoC, iar arhitectura acestuia este

prezentată în figura 3. Fiecare bloc este o resursa de 8 biţi care poate fi utilizata singura sau in

combinaţie cu alte blocuri pentru a forma 8, 16, 24 si 32 biţi periferici, care sunt numiţi

referinţele modulare ale utilizatorului. Configuraţiile periferice digitale cuprind următoarele:

PMW (intre 8 si 32 biţi).

PMW cu banda moarta (intre 8 si 32 biţi).

Contoare (intre 8 si 32 biţi).

Timer (regulator) (intre 8 si 32 biti).

UART de 8 biţi cu paritate selectabila (pana la 4).

SPI Master si Slave (pana la 4 fiecare).

I2C Slave si Multi-master (1 disponibil ca o resursa a sistemului).

Generator/Verificator de redundanta ciclica (intre 8 si 32 biti).

IrDA (pana la 4).

Pseudo Generatori secvenţiali (intre 8 si 32 biti).

Page 14: Echipamente Numerice CURS

Fig.3 Sistemul digital al microcontrolerului Cypress

Blocurile digitale pot fi conectate la orice GPIO printr-o serie de bus-uri globale care pot

conduce orice semnal la orice pin. Bus-urile permit de asemenea realizarea operaţiilor logice

clasice. Sistemul analogic, prezentată în figura 4, este alcătuit din 12 blocuri configurabile,

fiecare cuprinzând un circuit care permite crearea unor fluxuri de semnal analogic complex.

Perifericele analoage sunt foarte flexibile si pot fi realizate sa sprijine cerinţele aplicaţiei

specifice. Unele dintre funcţiile analoage PSoC sunt prezentate in continuare.

Convertor Analog - Digital (pana la 4, cu rezoluţia intre 6 si 14 biţi, selectabili ca Incremental,

Delta Sigma si SAR).

Filtre (2, 4, 6 sau 8 pol band-pass, low-pass si notch).

Amplificatori (pana la 4, cu spor selectabil pana la 48x).

Amplificatori de instrumente (pana la 2 cu spor selectabil pana la 93x).

Comparatori (pana la 4, cu 16 praguri selectabile).

DAC (pana la 4, cu rezoluţie intre 6 si 9 biti).

Către Sistemul

Analogic Către Magistrale Ceasurile Digitale

De la Inima PSoC

SISTEMUL DIGITAL

Aria Blocurilor Digitale

Interconectare

Digitală Globală

Page 15: Echipamente Numerice CURS

Fig.4 Sistemul analogic al microcontrolerului Cypress

DAC multiplicator (pana la 4, cu rezolutie intre 6 si 9 biti).

Driveri de iesire a informatiei curente (4 de 40mA ca resursa a miezului PSoC).

Referinta de 1,3V (ca resursa a sistemului).

Dialer DTMF.

Modulatori.

Corelatori.

Detectori de varf.

Orice alte topologii posibile.

Blocurile analogice sunt prevăzute in coloane de 3 care cuprind un bloc CT (timp

continuu) si 2 blocuri SC (condensator de schimbare).

1.2.6 Resursele sistemului adiţional

Resursele sistemului, unele dintre ele au fost prezentate anterior, au o capacitate

suplimentare utila pentru a completa sistemele. Resursele adiţionale includ un multiplicator,

decimator, o pompa de schimbare, detecţie de voltaj scăzut si puterea de resetare.

In continuare sunt prezentate meritele fiecărei resurse de sistem:

Aria Configuraţiei de

Intrare

Page 16: Echipamente Numerice CURS

Divizorii ceasului digital realizează trei frecvente de ceas pentru a fi utilizate in aplicaţii.

Ceasurile pot fi utilizate atât in sistem analogic cat si digital. Pot fi generate ceasuri suplimentare

folosind blocurile digitale PSoC ca divizori de ceas.

Doi MAC furnizează un multiplicator de 8 biţi cu acumulator de 32 biţi pentru a ajuta la filtrele

generale si la cele digitale.

Decimatorul furnizează un filtru de hard pentru semnalul digital, procesând aplicaţii inclusiv

crearea de Delta Sigma ADC.

Module I2C furnizează comunicare de 100 si 400 kHz intre fire. Modurile slave, master si multi-

master sunt toate sprijinite.

Întreruperi ale detectării voltajului slab (LVD) poate semnala aplicaţii de nivele scăzute ale

voltajului, in timp ce circuitul POR elimina nevoia de un supervizor de sistem.

O referinţa interna de 1,3 volţi furnizează o referinţa absoluta pentru un sistem analogic, inclusiv

ADC si DAC.

1.3 SOFTWARE-UL DE PROGRAMARE A MICROCONTROLERE-LOR DIN

FAMILIA CYPRESS

Se va evidenţia in continuare flexibilitatea cu care se poate programa un microcontroler

de tip Cypress, numit prescurtat PsoC – (Programmable System on Chip) „Sistem Programabil

pe Chip”. Programarea microcontrolerului se realizează prin intermediul software-ului PSoC

Designer 5.0 (Integrated Development Environment for Cypress MicroSystems' Programmable-

System-on-Chip technology) şi este utilizat ca interfaţă in vederea configurării şi programării din

punct de vedere al sistemului analogic, respectiv al sistemului digital al PSoC. Resursele celor

două tipuri de sisteme integrat in microcontroler sunt:

Sistemul Digital:

Blocuri PSoC digitale;

Magistrale globale intrare/ieşire;

Magistrale de date intrare/ieşire;

Magistrale de interconectare;

Sistemul Analogic:

Blocuri PSoC analogice;

Surse configurabile de clock;

Intrări configurabile;

Ieşiri configurabile;

În figura 5 este prezentată interfaţa grafică a softwar-ului PSoC Designer care conţine

următoarele subsisteme:

Editorul de dispozitive

Editorul de aplicaţii

Debugger

Editorul de dispozitive (device editor) este subsistemul de unde utilizatorul poate alege

dispozitivele de care are nevoie în derularea proiectului.

Editorul de aplicaţii este subsistemul de unde utilizatorul poate accesa interfaţa de scriere

în limbaj C sau asamblare.

Debugger este subsistemul de unde utilizatorul compilează datele scrise.

În funcţie de complexitatea aplicaţiei din biblioteca microcontrolerului se pot alege o

serie de module analogice/digitale care dacă sunt corect interconectate se comportă precum

componentele electronice clasice.

In momentul când se doreşte începerea unei noi aplicaţii iniţial se va deschide interfaţa

grafică a editorului de dispozitive (vezi fig.5). Acesta interfaţă cuprinde următoarele subsisteme:

„Resursele Globale”, „Parametrii Modului Ales”, „Setarea Pinilor”

Page 17: Echipamente Numerice CURS

Resursele Globale permit utilizatorului sa seteze principalii parametrii ai plăcii de

dezvoltare cu ar fi:

Power Setting [Vcc/SysClock Freq]: Acest parametru permite utilizatorului să selecteze

frecvenţa de clock cât şi tensiunea nominală cu care se operează. În funcţie de frecvenţa aleasă se

calibrează Internal Main Oscillator (IMO).

CPU_Clock: Această secţiune permite utilizatorului să aleagă viteze de clock predefinite între

93,75kHz şi 24MHz. Aceste seteri sunt direct proporţionale cu setările SysClock. Se poate

asigura o mai bună stabilite prin utilizarea unui oscilator extern de 32 kHz.

32K_Select: Aceasta setare permite utilizatorului selecţia oscilatorului intern de 32kHz sau a

unui oscilator extern.

Sleep_Timer: Acest parametru odată selectat permite setarea temporizării cu care lucrează placa

de dezvoltare. Daca acest parametru este setat si daca procesorul nu este activ în momentul

activării acesta va lucra la frecvenţa specificata prin separarea parametrului Sleep Timer.

Fig.5 Interfaţa grafică de programare a software-lui PsoC Designer

VC1 şi VC2: Acestea sunt resurse variabile care prin setarea lor pot oferii o anumită frecvenţă

internă de clock care ulterior poate fi utilizată de către blocurile analogice sau digitale.

VC3_Divider şi VC3_Source: Acest sistem de clock este similar sistemelor VC1 şi VC2.

Principala diferenţă între resursele VC1, VC2 şi VC3 este aceea că acesta din urmă se poate

schimba pentru una sau mai multe surse de clock şi nu poate fi folosit ca şi clock de intrare aşa

de flexibil precum VC1 şi VC2. Nu poate fi utilizat ca intrare directă a PSoC, dar poate fi utilizat

direct la o intrare digitală a PSoC.

Resurse Globale

Definire Pini Interconectare module Microcontroler

Setare Parametrii Modul

Page 18: Echipamente Numerice CURS

Fig. 6 Interfaţa grafică a software-lui PsoC Designer de interconectare a dispozitivelor

analogice şi digitale

SysClock_Source şi SysClock*2 Disable: Acest parametru permite sistemului de 24 MHz sa fie

selectat de la o sursă interioară sau exterioară. Parametrul SysClock*2 Disable permite clock-

ului intern de 48 MHz sa fie inactiv.

Analog Power Acest parametru controlează partea analogică a PSoC. Acest control se realizează

în trei etape : 1. Analog Blocks Off, 2. Continuous Time Blocks ON/Switched Capacitor Blocks

OFF, şi 3. Continuous Time Blocks ON/Switched Capacitor Blocks ON. Pentru cele două cazuri

în care blocurile sunt active (ON) este posibilă selectarea nivelelor de redus, mediu, înalt al

buffer-erelor interne. Această secţiune afectează consumul total al PSoC.

Ref Mux: Acest parametru odată cu selectarea lui permite controlul potenţialului resurselor

analogice. Valoarea aleasă va controla maximul tensiunii care se va putea aplica la intrarea unui

circuit capacitiv, cât şi a tensiunii de ieşire a aceluiaşi circuit. Ambele valori de referinţă şi

tensiunea vârf la vârf pot fi selectate prin intermediul acestui parametru.

AgndBypass: Existenţa unor mici perturbaţii şi zgomote la ieşirea PSoC poate fi redusă prin

controlarea AgndBypass. Plaja de valori în care trebuie să fie cuprins capacitorul extern este

0,01μF÷0,1μF.

Op-Amp Bias: Pentru majoritatea proiectelor acest parametru se lasă la valoarea Low. Setarea

opţiunii High oferă slew rate bună, însă o mai mică amplitudine a tensiunii.

A_Buff_Power: Setează ieşirea analogică a buffer-ului. High înseamnă o tensiune mai stabilă.

Page 19: Echipamente Numerice CURS

2. AUTOMATE PROGRAMABILE INDUSTRIALE

Un automat programabil (AP, PLC - Programmable Logic Controller) este un echipament

electronic înzestrat cu memorie programabilă de către utilizator cu ajutorul unui limbaj

specializat. Instrucţiunile compunând funcţiile de automatizare (logică combinatorică şi

secvenţială, calcul aritmetic, tratare date, reglare etc) sunt stocate intern. Prin intermediul

modulelor de intrare şi de ieşire (logice, numerice sau analogice) se realizează funcţii de

comandă, măsurare şi control a unor instalaţii sau procese din mediul industrial. AP face deci apel în funcţionarea sa la principiile logicii programate, fiind un echipament

numeric realizat în jurul unuia sau mai multor microprocesoare (microcontrolere). Trăsătura distinctă faţă de alte dispozitive (echipamente) microprogramate ţine de specificitatea sa pentru aplicaţii industriale, constructorii realizând elementele de interfaţare astfel încât să se asigure o compatibilitate completă cu elementele de execuţie şi traductoarele industriale. AP au fost concepute iniţial pentru a se substitui structurilor de comandă cu contacte şi relee din liniile automate de fabricaţie, devenite din ce în ce mai complexe, voluminoase, cu rată mare de defectare, greu de depanat, cu consum important de energie şi – dezavantaj major

- cu o structură funcţională rigidă. AP înlătură aceste dezavantaje în mod spectaculos. Dacă

primele AP se constituiau ca sisteme numerice de comandă cu intrări şi ieşiri binare, treptat

interfeţele s-au dezvoltat – diversificat iar posibilităţile de comandă / conducere au devenit foarte

complexe.

Simultan cu dezvoltările hardware, evoluţia AP este marcată de integrarea lor fizică şi

procedurală (software) în reţele complexe de conducere ierarhizată, cu mai multe nivele decizionale şi executive.

2. 1 STRUCTURI ASOCIATE AUTOMATELOR PROGRAMABILE

Figura 7 redă locul automatului programabil şi conexiunile în cadrul unei instalaţii

electromecanice, fiind evidenţiate cele 2 mari subsisteme: partea operativă – PO şi partea de

comandă – PC. Acţionorii sunt elemente de execuţie: motoare, electrovane, cilindri hidro sau

pneumatici etc. Preacţionorii sunt elemente fizice de interfaţare a PC cu elemente de

execuţie. Pot fi: relee, contactoare, distribuitoare etc.

Fig. 7 Locul AP într-o instalaţie industrială.

Elementele fizice constituente şi legătura lor cu exteriorul sunt puse în evidenţă şi de fig. 3.2,

3.3. Unitatea centrală a unui automat programabil este organizată în jurul unui microprocesor de

8 sau 16 biţi a cărui putere de tratare şi viteză determină complexitatea AP (a setului de instrucţiuni

asociat) şi viteza de scrutare

Page 20: Echipamente Numerice CURS

a programului. Unele echipamente sunt multiprocesor (multitasking), permiţând un volum

important de prelucrări. Ex.:

Automate Télémécanique: microprocesoare I 8052, 8031, 8086, 80386, 80C52, ... Automate Merlin

Gérin (PB, April): microprocesoare I 8031, M 6809, 68000. Într-un AP, în majoritatea cazurilor, UC (microprocesor, memoria sistem sau monitor) nu sunt accesibile utilizatorului. Memoria utilizator este destinată stocării programelor de aplicaţie. Are două zone: - zona program (RAM - rar, REPROM, EEPROM); - zona date (RAM cu baterii pentru păstrare conţinut).

Capacitate: minim 1, 2 Kcuv. (Kword), până la 256 Kword sau mai mult / 8 sau 16 biţi. Pe

multe automate, este modulară, putându-se extinde cu 8, 16 sau 32 Kcuv.Accesul la informaţia

memorată poate fi:

- Explicit - utilizatorul precizând întâi adresa fizică şi apoi conţinutul care urmează să fie înscris

sau citit.

E

x.

PB

100:

O

C 30

SI

010

instrucţiune

a nr. 1 O

C 31

MZ

021

instrucţiune

a nr. 2 Se lucrează deci la nivel de limbaj specific AP, metoda fiind depăşită.

- Implicit (transparent), adaptat limbajelor grafice. Utilizatorul introduce linii de programe

sau reţele, afectându-le simboluri sau etichete. La compilare, UC interpretează datele şi organizează

spaţiul memoriei.

Ex. TSX 47; 47-20; TSX 80 (Télémécanique); April 5000.

Organizarea memoriei este de obicei particulară pentru fiecare tip de AP. Majoritatea posedă

însă o zonă de memorie pe bit şi o zonă de memorie pe cuvânt pentru utilizator. Adesea se

adaugă memorii pe bit sau cuvânt sistem, utilizate în comun (în anumite condiţii) cu UC. La

modelele evoluate, utilizatorul poate - printr-o procedură de configurare - să organizeze el însuşi

memoria.

Fig. 8 Organizarea fizică a unui AP

Exemple: TSX 47 (Télémécanique):

- Capacitate 8,16 sau 32 Ko (modulară) + memorie biţi şi cuvinte pe RAM on-board;

- Memorie biţi interni (256);

- Memorie biţi imagine I/E (256);

- Memorie cuvinte interne (128);

- Memorie cuvinte constante (128);

- Memorie biţi şi cuvinte sistem (24 biţi, 4 cuvinte);

- Memorie biţi şi cuvinte asociate blocurilor de funcţii.

APRIL 5000 (Merlin Gérin):

- Capacitate memorie (extindere prin cartuş adiţional):

- program 64 Kcuv. (→160 Kcuv.);

- date 48 Kcuv. (→64 Kcuv. + 16Kcuv. / UC);

- memorie biţi imagine intrare – ieşire (I/E): 1000;

- memorie biţi interni: 4096;

- memorie biţi interni memoraţi: 2048;

- memorie biţi sistem şi biţi afectaţi GRAFCET;

Page 21: Echipamente Numerice CURS

- memorie cuvinte interne simple, dependentă de configurare;

- memorie cuvinte interne duble, dependentă de configurare.

Fig. 9 Organizarea structurală a unui AP

2.2 INTERFEŢELE AP

Interfeţele realizează - prin modulele I / E (intrări / ieşiri) - adaptarea în nivel, punerea în formă

şi izolarea galvanică a semnalelor. Modelele mai noi conţin şi unităţi de conversie analog/numerică şi

numeric/analogică, de numărare rapidă, achiziţie numerică, poziţionare, cuplare în reţele etc,

sub controlul microprocesorului local şi al celui principal, prin întreruperi .

Module I / E numerice

Intrări numerice - fig. 10

Nivele ale tensiunii de intrare: 24, 48 Vcc sau Vca; 220 Vca; curent de intrare 10 - 20 mA.

Filtrul de intrare limitează frecvenţa semnalelor de intrare la max 20 - 50 Hz. Modulele de intrare

numerică mai pot conţine:

- elemente de adaptare şi protecţie;

- elemente de punere în formă semnale (îmbunătăţire fronturi prin triggerare);

- elemente de vizualizare stări canale.

Ieşiri numerice sunt de 2 tipuri:

- Dinamice (cu comutări prin contacte de releu) - fig. 3.5. Tensiuni compatibile: 24Vcc 220

Vca; Curenţi: 2...3 A / 220 Vca. Timp de răspuns: 20… 40 ms. Contactele la ieşire pot fi şi normal

închise.

- Statice - fig. 3.6. Pentru sarcină în c.a. se utilizează triacuri iar în c.c se folosesc şi

ieşiri pe tranzistor. Curenţi:1 → 2 A; Tensiuni: → 220 Vca.; Timp de răspuns:1 ms →20 ms.

Puterea pentru acţionori este furnizată de o sursă exterioară. Unele ieşiri numerice sunt

prevăzute cu o legătură inversă de protecţie, ca în exemplul din fig. 11

Intrări analogice - fig. 12 Sunt de două tipuri:

- intări detectoare de prag;

- intrări pentru convertoare A/N.

Se poate face în general reglajul domeniului, iar la unele modele este posibilă liniarizarea unor

semnale de la traductoare. Există canale specializate, putându-se, de exemplu, conecta sonde rezistive,

termice.

Ieşiri analogice - fig. 13 Sunt definite după gama de semnal (unificat de obicei):

- [0¸ 10] Vcc;

Page 22: Echipamente Numerice CURS

- [4¸ 20] mA.

Aceste module permit realizarea funcţiilor de reglare când elementele de execuţie sunt sisteme

de acţionare reglabile sau alte instalaţii cu referinţă continuă.

Adresare module Fiecare intrare şi ieşire posedă un cod distinct. Se utilizează proceduri specifice

pentru schimbul informaţiilor între module I/E şi imaginile memorie I/E, permiţând achiziţia ciclică a

intrărilor şi actualizarea

ieşirilor.

Codificarea explicită - la automate simple. Adresele sunt fixe, date de constructor printr-o

tabelă. Ex. Télémécanique TSX 80.

Codificare implicită - la automate modulare. Se defineşte prin poziţia bitului în modul şi a

acestuia în rack (poziţia geografică).

Ex. 0, F - bitul F, modulul 0 (Télémécanique TSX 47, TSX 47 - 20, TSX 47 - 30). Sau: 905 -

bitul 05, modulul 9. (Merlin Gérin APRIL 5000).

La acest tip de codificare, mutarea unei cartele I/E în rack conduce la schimbarea implicită a

adreselor.

Diferenţierea intrare-ieşire. Poate fi:

- implicită, când UC face distincţie între I şi E pornind de la o codificare materială a cartelei sau

a modulului.

Ex. PB 80, TSX 80.

- explicită, când utilizatorul trebuie să completeze, printr-un simbol complementar, codul I/E.

Ex. TSX47 I - intrare; I0,0 , I0,F; O - ieşire; O7,4

APRIL 5000 % IX - intrare; % IX 100; % QX - ieşire; % QX 904.

2.3 CICLUL DE FUNCŢIONARE TIP AL UNUI AP - ACHIZIŢIA INTRĂRILOR ŞI

ACTUALIZAREA IEŞIRILOR

Ciclul de funcţionare tip al unui AP se poate realiza prin două moduri:

- Implicit (transparent). UC controlează direct, ciclic această funcţie. Este varianta care se

impune - fig.

3.10. La fiecare ciclu de scrutare, informaţiile I şi E sunt schimbate, global şi simultan între

modulele I/E

şi imaginile memorie corespunzătoare. Luarea în considerare a schimbării stării unei variabile de

intrare nu este posibilă în cursul unui ciclu de scrutare. Ex. TSX 47; 47-20; 47-30; PB 80; APRIL

5000.

Fig. 10 Canal de intrare numerică.

Page 23: Echipamente Numerice CURS

Fig. 11 Canal de ieşire numerică cu releu. Fig. 12 Canal de ieşire numerică cu triac.

- Explicit. Achiziţia intrărilor şi actualizarea ieşirilor depind de instrucţiuni plasate de utilizator

în program. Comutările se fac separat sau simultan, la parcurgerea instrucţiunilor respective. Ex. TSX

80. Instrucţiunea

x [ ] actualizează I/E, utilizatorul punând între paranteze codul (adresa) modulelor. Observaţie:

unele automate (evoluate) recunosc ambele tipuri de acces (ciclic şi imediat).

Ex. TSX 47-30: READBIT; WRITEBIT; APRIL 5000: IN; OUT. Ciclul de scrutare

este dependent de configuraţia AP:

Fig. 13 Ieşire numerică cu reacţie.

Fig. 14 Canale de intrări analogice.

Fig. 15 Structura tip a unui canal de ieşire analogică.

a. Automate monoprocesor (monoprelucrare, monofuncţie) - fig. 17

Ciclul de scrutare este controlat în întregime de un µP şi are cu durată de la câteva ms până la

100 ms, după mărimea programului. Supravegherea acestui ciclu se face printr-un sistem de tip

watchdog ("câine de pază"). Dacă durata lui depăşeşte o valoare fixată, un bit intern este activat (în

general comutat), un contact - disponibil la rigletă - comută şi el, iar la unele automate se poate

determina oprirea ciclului de scrutare.

b. Automate multiprocesor (multifuncţie)

Structura din fig. 18 determină o funcţionare tip multiprelucrare (multi-tasking), un

task corespunzând tratării unei funcţii de automatizare bine determinată şi specifică.

Periodicitatea executării fiecărui task depinde de specificitatea sa. Ele sunt executate în paralel sub

controlul procesorului principal (supervizor) în funcţie de un şir de priorităţi stabilite de constructor -

fig.19. Task-ul de bază se execută sistematic la fiecare ciclu de scrutare, corespunzând ciclului de

scrutare de la AP monofuncţie cu gestionarea I/E la început şi sfârşit de ciclu. În general aceste

echipamente sunt multilimbaj: reţele de contacte, GRAFCET, literal etc. Ele sunt echipate cu

module I / E inteligente. Ex. TSX 67 - 87 Télémécanique. Uneori este evidentă partajarea

sarcinilor între echipamentul industrial (AP) şi o extensie tip microcalculator cu rol de terminal

inteligent pentru operator, ca în fig.20.

Page 24: Echipamente Numerice CURS

Fig. 16 Exemple de cicluri de scrutare.

2.4 AUTOMATE PROGRAMABILE ÎN STRUCTURI IERARHIZATE

Pe măsura dezvoltării structurilor de producţie automatizate (maşini asociate prin transfer, celule

de producţie, linii automate, ateliere şi secţii automatizate - informatizate), configuraţia părţii de

comandă (PC) a devenit mai complexă. La fiecare maşină sau subansamblu de linie, se asociază

propria PC (AP), dispusă în imediata apropiere pentru facilitarea intervenţiilor (punere în funcţiune,

întreţinere etc). Dezvoltarea acestei configuraţii creează premisele formării sistemelor integrate de

producţie - fig. 3.15, 3.16. Aspectele care sunt importante pentru sistemele multiprocesor şi reţelele de

AP sunt:

Repartiţia task-urilor procesor - interfaţă. În afara repartiţiei "inteligenţei" între

procesoarele sistemului (P principal, µP de reglare, µP de comenzi specializate - de ex. pentru

poziţionare) care permite o evidentă decompoziţie funcţională ce ameliorează performanţele, se

autorizează o punere în funcţiune progresivă şi o urmărire (chiar depanare) mai comode; o altă

problemă care trebuie analizată la configurarea unei aplicaţii este repartizarea task-urilor în raport cu

interfaţa, mai exact cu module inteligente ale acesteia.

După specificitatea sau repetivitatea ciclurilor tehnologice, se pot distinge diferite variante. O

configuraţie judicioasă se bazează pe cunoaşterea:

- traductoarelor şi preacţionorilor (specializaţi) disponibili;

- modulelor specializate ale AP;

-posibilităţilor software.

Page 25: Echipamente Numerice CURS

Fig.17 Organizare monoprocesor Fig. 18Automat multiprocesor.

Fig. 19 Organizare execuţie task-uri la AP multiprelucrare.

Fig. 20 Structură de prelucrare de tip biprocesor

Comunicaţii, legături, terminale. AP poate realiza următoarele tipuri de comunicaţii:

1 - cu terminale de programare (la punerea la punct a aplicaţiei);

2 - cu detectori şi elemente de execuţie - prin programul specific aplicaţiei;

3 - cu terminalele de exploatare (dialog om-maşină). Intervin mai multe tipuri de dialog:

- Dialogul de conducere (realizat prin butoane, lămpi, comutatoare, tastaturi, terminale de exploatare

fixe sau mobile, elemente de afişare mesaje). Sunt afişate valori ale mărimilor urmărite, stări sau

situaţii anormale. Mesajele sunt memorate şi apelate de program.

- Dialogul de reglaj. Se selectează prin comutatoare şi terminale de exploatare diferite opţiuni,

temporizări etc. în scopul ameliorării sau adaptării la aplicaţie a programului.

- Dialogul de depanare, constituie un ajutor în diagnosticarea stărilor de nefuncţionalitate. Terminalele

(de obicei amovibile) pot afişa etapele de oprire ale maşinii, pot facilita diferite accesări etc.

- Dialogul de coordonare - supervizare. Intervine în structurile de comandă automată a mai multor

maşini, fiecare echipată cu un AP. Sunt vehiculate informaţii simple (starea unei maşini,

sfârşitul unei operaţii, defect la o celulă) sau complexe (tipul operaţiilor efectuate şi al produselor,

informaţii de gestiune etc.) sub formă serială sau paralelă. Sistemul de supervizare include:

Page 26: Echipamente Numerice CURS

- un terminal (ecran-tastatură) pentru dialogul om-maşină;

- o imprimantă pentru jurnalul de activitate;

- o unitate de stocare informaţii.

Fig. 21Structură de producţie cu AP.

Fig. 22 Integrarea automatelor într-o întreprindere informatizată.

Se afişează indicaţii de stare a producţiei şi maşinilor, opriri, cauze şi localizări de defecte, indici

statistici. Se pot introduce / modifica referinţe. Pentru fiecare tip de informaţie se apelează pagini ecran cu

structură distinctă.

Într-un dialog de coordonare – supervizare sunt asigurate următoarele funcţii: - Lansare producţie (variante, cantităţi, în ce ordine);

- Funcţia de reglare - se fac reglaje automate şi se indică reglajele manuale necesare;

- Funcţia de dialog de conducere - afişează procedurile în curs (mers normal, etape de pregătire, teste),

lansarea procedurilor, conducerea celulelor, supraveghere;

- Funcţii de avertizare-prevenire relative la timpii de funcţionare ai unor subansamble, cicluri de ungere etc;

- Urmărirea defectelor (maşina, subansamblul, starea opririlor de urgenţă); - Diagnosticare;

- Jurnale de funcţionare (bilanţuri) - la imprimantă;

- Statistici rebut (absolut, procentual, pe tipuri, unităţi de timp);

- Statistici opriri (pentru reglaje, datorită defecţiunilor), în unităţi absolute şi procentuale, pe durate;

- Arhivare evenimente.

Page 27: Echipamente Numerice CURS

Module de comunicaţie (AP - terminale, AP - supervizor). Se utilizează în special legătura serială

asincronă (RS 232 C) ori varianta în contratact RS 422. RS 485 asigură comunicaţii de bună calitate pe

distanţe mai mari.. Modulul de legătură asigură punerea în formă a informaţiei, însă unitatea centrală este cea

care gestionează comunicaţia (debit, paritate, format şi gestiune trafic). Emisia şi recepţia pot fi simultane

sau alternate. Mai nou, AP se construiesc cu disponibilităţi de integrare directă în reţea prin protocoale de tip Ethernet, Modbus, Profibus, CAN etc.

Tipuri de conexiuni:

- Fir cu fir (între AP şi captori, elemente de execuţie, între AP-urile unei reţele reduse);

- Punct cu punct - între două AP, între un AP şi perifericile sale;

- Multipunct - între AP şi mai multe elemente de tratare a informaţiei;

- În reţea. Reţelele pot fi în buclă (cu AP în noduri) sau distribuite în paralel la un bus (magistrală) comun. Legăturile

se fac cu cablu coaxial, prin fibră optică şi mai nou wireless (prin undă radio). Dacă echipamentele

interconectate sunt de naturi diferite reţeaua este eterogenă şi necesită interfeţe specializate pentru a asigura

compatibilitate în comunicare. Reţelele omogene leagă AP de acelaşi tip sau compatibile. Comunicarea se

face simplu, prin cuvinte sau blocuri de mesaj, cu ajutorul modulelor de cuplare în reţea integrate în AP.

Terminalele de programare permit acces direct la programele utilizator ale diferitelor AP conectate.

3.5 ELEMENTE CONEXE AP ÎN INSTALAŢIILE AUTOMATIZATE

Funcţionarea (şi iniţial integrarea) unei instalaţii condusă prin AP presupune cunoaşterea foarte exactă

a elementelor care furnizează informaţii din instalaţie (captori) şi a elementelor de execuţie activate de AP.

3.5.1 Captori

Semnalele provenind de la captori pot fi :

- logice - de la captori de tip contact, detectoare de proximitate, detectoare de distanţă (fig. 3.17 a) - numerice (paralel sau serie) - transmit poziţia, presiunea, temperatura (fig. 3.17 b)

- analogice (fig. 3.17 c)

Captorii pot fi:

- cu comutaţie electromecanică – fig. 3.18.

- cu comutaţie electronică (statică): detectoare de proximitate (inductive pentru obiecte metalice, capacitive

pentru obiecte nemetalice), detectoare fotoelectrice, magnetice etc. - fig. 3.19, 3.20.

Detectoarele de proximitate inductive sunt construite dintr-un oscilator (al cărui bobinaj este dispus în

partea sensibilă care trebuie să detecteze prezenţa, trecerea, defilarea unei piese), un etaj de triggerare şi un

amplificator de ieşire. Când o piesă feromagnetică este plasată în câmpul magnetic creat, curenţii induşi

constituie o sarcină adiţională care provoacă diminuarea oscilaţiilor, situaţie sesizată de circuitul de prag şi

care comută etajul static (tranzitor, triac) final.

Detectoarele capacitive pot sesiza prezenţa obiectelor izolante, lichide, pulverulente. Se compun dintr-un

oscilator al cărui condensator constituie faţa sensibilă. Când un material conductor sau izolant de

permitivitate r > 1 este plasat în acest câmp, capacitatea de cuplaj se modifică şi provoacă oscilaţii.

Conectarea la AP se poate realiza prin (fig. 3.19):

- 2 fire: semnalul este transmis prin firele de alimentare. Se utilizează o sarcină pe circuitul intern al

senzorului şi AP sesizează dacă circuitul este închis sau nu. Conectarea se face direct la AP cu module de

intrare care elimină efectul curenţilor reziduali.

- 3 fire (2 alimentare + semnal).

Dacă este necesar un răspuns rapid, intrările standard ale AP nu sunt satisfăcătoare, ele comportând o

temporizare (10 ms) pentru eliminarea efectelor vibraţiei contactelor.

Detectoarele fotoelectrice – fig. 3.20 sesizează întreruperea unui fascicul luminos (în infraroşu de obicei, cu

semnal modulat pentru a elimina influenţa iluminatului ambiant) între un emiţător şi un fotoreceptor.

Codoare de poziţie (traductoare, codificatoare) - fig. 3.21 - liniare - fig 3.21a, traduc poziţia unui element mobil prin tensiunea dată de un montaj potenţiometric.

Ex: pistoane, cilindri pneumatici.

- rotative - fig. 3.21b; un disc este solidar cu elementul mobil şi are piste marcate prin fante binare.

Poziţia curentă este tradusă cu elemente fotoreceptoare. Exemple de utilizare sunt în fig. 3.22.

Codoarele de poziţie pot fi absolute (cu fiecare poziţie codificată distinct) sau incrementale relative, la care

Page 28: Echipamente Numerice CURS

important este numărul de impulsuri eliberate de la o poziţie iniţială, număr proporţional cu deplasarea.

Detectoarele de cod de bare (fig. 3.23) sunt captori optici asociaţi cu un mic ansamblu de tratare care

verifică codul detectat, stochează informaţia, o transmite la cerere aparatului. Se face deci o recunoaştere

grafică a obiectelor, acestea putând fi de mai multe tipuri.

Elementele de marcare permit organizarea proceselor de fabricaţie şi distribuţie identificând obiectele prin afectarea unui cod purtat de către o plăcuţă ce însoţeşte obiectul (paletă, cărucior etc.). Produsul poate fi

urmărit ca atare şi / sau se poate specifica stadiul prelucrării lui.

Traductoarele de greutate / forţă (fig. 3.24) sunt construite pe baza unor doze (timbre) tensometrice care,

în funcţie de forţă, dezechilibrează mai mult sau mai puţin o punte Wheatstone. Semnalul analogic este

convertit numeric local de dispozitivul de cântărire, iar acesta poate comunica cu AP prin canale numerice.

Traductoarele de cuplu sesizează gradul de torsiune al unui arbore elastic montat între arborele conducător

şi cel condus.

Traductoarele de presiune (monostrat, vacuostat) sunt alte tipuri de dispozitive tip captor pentru AP.

Fig. 3.17 Tipuri de semnale.

Fig. 3.18 Captori de tip limitator.

Page 29: Echipamente Numerice CURS

Fig. 3.19 Senzor de proximitate şi conectare prin 2 sau 3 fire la AP.

Fig. 3.20 Senzori fotoelectrici.

Fig. 3.21 Codoare de poziţie.

Fig. 3.22 Utilizare codoare de poziţie.

Fig. 3.23 Citire în cod de bare. Fig. 3.24 Cântar automat cu AP.

Page 30: Echipamente Numerice CURS

3.5.2. Elemente de execuţie

Elementele de execuţie conectate la un AP pot fi preacţionori (amplificatori intermediari de energie) şi

/ sau acţionori care activează direct instalaţia sau procesul tehnologic - fig. 3.25. Tipuri: - Acţionori electrici: motoare, electrovane, rezistenţe de încălzire, electromagneţi, capete de sudură prin

rezistenţă, prin ultrasunete, capete de decupare cu laser etc. Preacţionori: contactoare, variatoare de viteză.

- Acţionori pneumatici: pistoane pneumatice. Asigură viteze de execuţie ridicate. Preacţionori: distribuitoare

(electro) pneumatice.

- Acţionori hidraulici: pistoane, motoare (pompe). Necesită un grup generator de presiune. Asigură

forţe (cupluri) mari la viteze relativ reduse, ce permit un control precis al poziţiei.

AP poate comanda direct:

- micromotoare; - lămpi de semnalizare;

- electrovane de debit (P < 10W);

- contactoare. AP comandă indirect (prin elemente intermediare):

- electrovane hidraulice (30 < P < 50 W);

- cilindri hidraulici sau pneumatici;

- motoare electrice sau hidraulice.

La comanda prin contactoare, AP poate fi informat direct, printr-un contact auxiliar de starea (anclanşat - declanşat) a contactorului (fig. 3.26). Funcţia de comutaţie asigurată de AP este completată de:

- funcţia de secţionare circuit, care izolează circuitul comandat pentru efectuarea unor intervenţii;

- funcţia de protecţie la scurtcircuit (fuzibile sau disjunctoare magnetice);

- funcţia de protecţie la suprasarcini (releu termic).

Configuraţiile des întâlnite pentru comanda motoarelor electrice cu viteză constantă sunt redate în

fig.3.27. În configuraţia 1, fiecărei funcţii îi corespunde câte un element distinct, iar AP poate dialoga cu

fiecare. În configuraţia 2, disjunctorul magnetic înlocuieşte secţionerul şi fuzibilele. În configuraţia 3,

contactorul asigură funcţiile de comutaţie, iar protecţiile revin disjunctorului. În ultima variantă toate

funcţiile sunt integrate într-un singur element. În cazul comenzii motoarelor cu viteză variabilă, AP trimite

semnale direct la contactoarele de conectare (eventual cu ajutorul lor se schimbă sensul de rotaţie) şi sub

formă analogică sau numerică la variatoarele de viteză. Reacţiile spre automat intervin de la toate etajele:

contactoare, variatoare, motor - fig. 3.28.

Comanda instalaţiilor electropneumatice Fiecare canal comandat poate fi completat cu o reacţie numerică de tip TOT - NIMIC ce informează

AP asupra poziţiilor extreme ale pistonului (fig. 3.29). Această configuraţie se poate repeta pentru fiecare

element de execuţie comandat (organizarea clasică). Mai nou, interfeţele electropneumatice pot comanda

direct cilindrii, fără intermedierea prin electrovane - fig. 3.30. Avantajele acestui sistem:

- simplitate în racordare (suprimare rigletă, conectori electrovane);

- imunitate mai bună la perturbaţii, fiind eliminat traseul circuitelor electrice AP - element de execuţie.

Alte posibilităţi / configuraţii (atipice) sunt posibile în funcţie de disponibilităţile unor AP şi de necesităţile

impuse de instalaţiile conduse. De asemenea se pot constitui structuri combinate în raport cu variantele

prezentate.

Ca o încheiere a prezentării elementelor hardware asociate AP şi elementelor conexe, trebuie

subliniată importanţa cunoaşterii şi respectării caracteristicilor echipamentului, ale procesului şi instalaţiilor

conduse. O implantare corectă şi eficientă a AP nu este posibilă fără documentaţiile complete ale părţii

operative, ale părţii de comandă şi fără a face o serie de evaluări legate de compatibilitatea structurală,

funcţională şi parametrică a celor 2 părţi. Automatele actuale sunt concepute pentru o funcţionare internă

transparentă pentru utilizator. Acesta trebuie să cunoască însă foarte bine elementele de interfaţare cu

instalaţia electromecanică din punct de vedere al caracteristicilor funcţionale, electrice, de conectare, de

protejare şi - nu în ultimul rând, de extindere a lor fie din punct de vedere cantitativ (de exemplu creşterea

numărului de canale numerice) fie calitativ (cum poate fi introducerea ulterioară a unui modul de numărare

rapidă pentru impulsuri în sisteme de poziţionare, a unui convertor analog - numeric sau altele). Mai nou,

sunt folosite pe scară din ce în ce mai largă reţele de automate; deci trebuie avute în vedere şi elementele

specifice de conectare şi comunicare într-o asemenea structură.

Page 31: Echipamente Numerice CURS

Fig. 3.25 Acţionori şi preacţionori asociaţi AP.

Fig. 3.26 Comandă cu confirmare.

3.6 PROGRAMAREA AUTOMATELOR PROGRAMABILE

Numărul mare al constructorilor de automate programabile determină coexistenţa mai multor tehnici şi

limbaje de programare concomitent cu o ofertă bogată de pachete software de firmă. Indiferent însă de

particularităţile constructive şi funcţionale, o bună parte din elementele de programare au trăsături comune.

3.6.1 Limbaje de programare. Aspecte generale

Limbajele simbolice se subdivid în:

Page 32: Echipamente Numerice CURS

OC 30 SI 010 OC 31 MU A00

a. Limbaje de tip mnemonic - utilizează abrevieri ale termenilor care definesc operaţii de achiziţie a

intrărilor, tratare a informaţiei şi activare a ieşirilor.

Ex: (Merlin Gerin):

010, 011: intrări

020 : ieşire

Fig. 3.27 Comenzi de motoare cu AP.

Fig. 3.28 Configuraţie complexă de comandă a motoarelor cu AP.

Fig. 3.29 Comandă cu confirmare pentru cilindrii pneumatici.

Page 33: Echipamente Numerice CURS

OC 33 MZ A00 OC 34 SI A00 OC 35 ET 020

Fig. 3.30 Comanda prin interfaţă electropneumatică.

OC 32 SI/ 011 SI,SI / : testare bit/ bit negat ("dacă"- în limba franceză)

MZ, MU : pune variabila la 1 respectiv la 0 (mets à un, à zéro)

A00 : variabilă internă

ET : şi logic;

OCxx : adresa memorie

b. Limbaje de tip boolean - se bazează pe implementarea ecuaţiilor logice aferente în special unor

structuri combinaţionale.

Ex1: (Renault): S5 E8 E9 + /E11 = A21 (S: etichetă; E: intrări; A: acţiuni).

c. Limbaje de tip literal - apelează la construcţii mnemonice similare cu ale unor limbaje de programare de

nivel înalt: IF - THEN - ELSE , WHILE - DO etc. Partea literală (simbolică) se completează pentru

inteligibilitate cu o serie de structuri şi construcţii grafice.

d. Limbajele grafice s-au dezvoltat simultan cu posibilitatea utilizării unor terminale de programare cu

facilităţi de vizualizare (tip display). Ele predomină în etapa actuală practic la toate tipurile de AP şi cunosc

două variante, în unele cazuri completâdu-se. S-au impus: - limbajul cu contacte: ("LADDER" - termenul cel mai uzitat, "Contact Plan Programming", "Kontact-plan

" - KOP, "Echelle"); permite implementarea structurilor combinaţionale, secvenţiale, precum şi a unor

blocuri specifice schemelor de comandă clasice: temporizatoare, numărătoare, programatoare ciclice etc.

Unitatea de bază este constituită dintr-o reţea cu dimensiuni relativ reduse (ex. 4 linii x 9 coloane).

- diagrame de stări ("GRAFCET" = Graphe Fonctionnel de Commande Etapes-Transitions, "Sequential

Function Chart "). GRAFCET se constituie ca o succesiune de etape şi tranziţii. Etapelor li se asociază

acţiuni (uneori condiţionate) iar tranziţiilor condiţii logice (receptivităţi) pentru a trece sistemul în starea

următoare. GRAFCET prezintă avantajul că se poate utiliza practic în toate stadiile de descriere a

funcţionării unei structuri automate, de la specificaţii prin caietul de sarcini, la redarea în detaliu a

elementelor utilizate (intrări, ieşiri). Acţiunile şi receptivităţile se descriu prin reţele LADDER. Se

menţionează originea franceză a instrumentului GRAFCET şi utilizarea sa pe scară internaţională (în

prezent normă CEI), similar cu preluarea LADDER - ului (de origine americană) de către toate firmele

constructoare de AP.

O prezentare panoramică a limbajelor de programare asociate diferitelor mărci de AP :

a.Télémécanique (grupul Schneider) - Franţa, produce familia de automate programabile TSX. Pentru

aplicaţii clasice de automatizări sunt disponibile pachetele de programe: PL 7-x.

PL 7-1: limbaj boolean; ex. de mnemonice: L (load ) - citeşte stare bit, A (and), O (or ), XO (xor ), (Pulse)

- elaboreză un impuls, N (Neg.) - inversare variabilă etc.

PL 7-2: limbaje LADDER, GRAFCET.

PL 7-3: limbaje LADDER, GRAFCET, LITERAL (structurat)

b. Siemens - produce automate în seria SIMATIC (versiuni : S 5, S7).

Limbajul de bază este livrabil sub denumirea STEP (5, apoi 7) şi are următoarele componente :

- limbaj literal STL (Statement List ) - limbaj LADDER

- limbaj GRAFCET - CSF (Control System Flowchart )

Page 34: Echipamente Numerice CURS

c . Allen - Bradley - produce automate programabile în seriile SLC 500 (Small Logic Controllers) - seria de

echipamente mici şi PLC - 5 - seria de automate medii – mari. Automatele mici pot fi programate prin:

- limbaj LADDER;

- limbaj literal , cu asociere de structuri grafice. Exemple de mnemonice: XIC (Examine If Closed ) - testare bit; XIO (Examine If Open ) - testare bit; OTE

(Output Energize) - activare ieşire; TON (Time On - Delay ) – temporizare; CTU (Count Up) - numără

comutări; MUL (Multiply) – multiplicare; MOV ( Move ) – transfer.

Există intrucţiuni pentru: tratare intrări/ieşiri, temporizare-numărare, tratare întreruperi, comparare, operaţii

aritmetice şi logice, transfer, manipulare fişiere, salturi, tratare biţi. Automatele medii-mari folosesc

preponderent limbajul GRAFCET şi limbajul LADDER. Au disponibilităţi (instrucţiuni) puternice pentru

prelucrări aritmetice (calcule în virgulă mobilă), implementare algoritmi de reglare (PID), analiză statistică

proces etc.

d. Omron - produce familia SYSMAC - C.

Sunt utilizate limbajele LADDER şi simbolic (mnemonice). Exemple de mnemonice / instrucţiuni: LD-

testare varibilă directă; SDEC-decodificare 7 segmente; NOT-testare variabilă negată; MLPX-multiplexare;

OUT-activare ieşire; ROOT-radical; CNT-numărare; KEEP-releu bistabil; DIV – împărţire.

e. AEG - produce automate programabile încadrate în familia MODICON. Seria A, prin pachetul Dolog

AKF, este programabilă prin lista de instrucţiuni, LADDER şi GRAFCET, iar seria 984 utilizează

diagramele LADDER şi o formă grafică bazată pe blocuri de funcţii. Instrucţiunile acoperă o zonă largă, de

la funcţii logice şi aritmetice standard, la liniarizări şi algoritmi PID. Unele echipamentele pot fi programate

în limbaje de nivel înalt - C. Diagramele cu blocuri de funcţii combină într-o reprezentare grafică unică,

utilizarea structurilor logice cu a elementelor (blocurilor) funcţionale: registre, timere, numărătoare,

comparatoare.

f. GE - Fanuc produce familia (seria) 90. Practic toate automatele se pot programa prin diagrame cu blocuri

de funcţii şi limbaj literal. Majoritatea (serile 90-30, 90-70 ) posedă şi instrucţiuni de prelucrare complexă,

exemplu PID. Subfamilia 90-70 acceptă programare structurată şi în limbaj C, iar prin pachetul / interfaţă de

control proces CIMPLICITY 90 sunt disponibile structuri de tip WINDOWS.

Ca o evaluare globală, se poate observa pe de o parte utilizarea cvasi-generală (la toate categoriile de

echipamente şi majoritatea firmelor) a limbajului LADDER, iar pe de altă parte capacitatea de integrare a

elementelor structurale şi funcţionale dintr-o automatizare prin limbajul GRAFCET. Se mai constată tendinţa

de utilizare a unor limbaje de nivel înalt şi a unor tehnici bazate pe o grafică conversaţională, aspect

explicabil prin faptul că sistemele de producţie integrate (CIM) includ automatele programabile în reţele

ierarhizate şi distribuite, programarea unităţilor nemaifăcându-se local, ci de la echipamente puternice.

Extinderea, accesibilitatea utilizării precum şi posibilităţile puternice asociate limbajelor LADDER şi

GRAFCET justifică o tratare detailată a acestora în continuare.

Pentru o prezentare inteligibilă, cursivă şi unitară, majoritatea elementelor asociate acestor limbaje de

programare vor fi referite la echipamentele din seria TSX Télémécanique.

3.6.2 Variabile de operare

Sub această denumire vor fi cuprinse toate variabilele program, incluzând prin abuz de limbaj şi

mărimile constante (inclusiv cuvinte constante). În acest sens larg, fiecare entitate cu care lucreză programul

(imagini ale intrărilor/ieşirilor, biţi/cuvinte sistem, blocuri funcţionale, stări ale automatului) posedă un

identificator atribuit de constructor sau de utilizator. În unele cazuri apar explicit în program şi identificatori

asociaţi unor parametri ai blocurilor funcţionale. Numărul variabilelor de operare este limitat fie în mod

explicit fie prin dimensiunea memoriei program. De asemenea numele rezervate pentru fiecare categorie sunt

limitate, iar organizarea memoriei (de obicei la firma constructore) alocă spaţii (zone) distincte.

a. Biţi interni - variabile binare utilizabile pentru memorarea unor stări (valori) logice intermediare. Ex: TSX

47: B00 - B 255; April 5000: % MXO - % MX 4095. Exemplu de utilizare: variabile de trecere dintr-o linie

în alta sau dintr-o reţea în alta (LADDER).

Page 35: Echipamente Numerice CURS

b. Cuvinte interne - variabile constituite din 8 sau 16 biţi, utilizabile pentru memorarea unor valori (stări).

Ex: TSX 17-20: W0-W127; APRIL 5000: % MWO- % MD???? (până la limita memoriei disponibile) -

cuvinte interne duble. Tratarea informaţiei la nivel de cuvânt (“word”, de aici abrevierea W) este utilizată

pentru: efectuarea operaţiilor cu valori numerice (operaţii aritmetice, conversii, tratarea informaţiei provenite

din exterior - comutatoare decadice, traductoare analogice); lucrul cu blocuri de funcţii (valori preselectare

temporizatoare, numărătoare, valori curente - de evoluţie pentru aceste blocuri, dialog cu periferice prin

schimb de mesaje alfanumerice). După codul numeric utilizat, variabile de tip cuvânt intern necesită

identificatori diferiţi. Ex: TSX 17-20: în zecimal - valoarea ca atare; în hexazecimal: H'07C2'; în binar

L'1101100000011100'. Transferarea unei valori la un cuvânt intern se poate face de către utilizator prin:

- proceduri specifice definirii unor blocuri (de exemplu, valorile de prescriere de la numărătoare); - operaţii de transfer propriu-zise.

c. Cuvinte constante - permit memorarea unor valori constante, asociate de obicei unor moduri de

configurare. Ex: CWO - CW6143.

d. Cuvinte indexate - indexarea cuvintelor constă în adăugarea conţinutului unui cuvânt intern la adresa unui

alt cuvânt intern sau constant. Ex: TSX: W5 (W120); W5 cuvânt intern, W120 cuvânt intern index. Dacă

W120 = 08, atunci W5 (W120) corespunde cuvântului de adresă W5 + 08 = W13. Modificând conţinutul

indexului se pot parcurge succesiv cuvintele unui tabel.

e. Biţi imagine intrări / ieşiri - asociază unor locaţii de memorie valorile binare ale intrărilor şi ieşirilor la

fiecare ciclu de scrutare. Adresarea se face distinct pentru intrări şi ieşiri. Ex: TSX 17-20: I0,5 - intrare

modul 0, canal5, O1,6 - ieşire modul 1, canal 10.

f. Biţi sistem - variabile logice utilizate pentru: definirea stării de funcţionare a automatului, urmărirea execuţiei programului, facilităţi legate de scrierea programului. Starea acestor biţi se modifică de către

unitatea de comandă în timpul execuţiei programului sau de către utilizator - prin program şi proceduri de

setare. Ex. - TSX 17-20:

SY00: (pornire "la rece"). Normal pe zero, este comutat după o revenire a alimentării cu pierderea datelor.

De asemenea poate fi setat de utilizator în mod iniţializare. Starea pe 1 a sa determină o ştergere generală

(biţi I/O, biţi interni, valori curente) şi preluarea valorilor iniţiale de către parametrii funcţiilor. SY01: (pornire "la cald"). Normal pe zero, este comutat pe 1 după o revenire a alimentării fără pierderi de

date (datorită unui acumulator de salvare). Comutarea pe 1 determină resetarea numai a biţilor de ieşire şi

interni nedeclaraţi salvabili. Ciclul de scrutare este reluat din punctul în care a dispărut alimentarea.

SY03: actualizare ceas de timp real.

SY05-SY07: baze de timp (100 ms, 1s, 1min).

SY09: normal pe 0, setat nu mai permite activarea ieşirilor în RUN.

SY10: diagnostic intrări / ieşiri disjunctate după 10 secunde.

SY13: stare acumulator (baterie). SY17: depăşire (carry) la adunare şi decalaj circular biţi.

SY18: depăşire aritmetică.

SY19: inhibare task rapid.

SY20: depăşire index.

SY21: iniţializare GRAFCET - etapele active sunt dezactivate iar cele iniţiale sunt activate.

SY22: dezactivare etape GRAFCET (toate etapele).

La automatul April 5000 se foloseşte terminologia de "eveniment sistem" - % ES. Ex: % ES2: punere sub

tensiune (Off - On). Pentru controlul I/O, se asociază entităţi denumite "evenimente interfaţă" - % EI.

g. Cuvinte sistem - permit realizarea unor funcţii de tipul: ceas de timp real; afişare în binar sau BCD a unor

valori / cuvinte; protejare programe la multiplicare.

Ex: TSX17- 20:

SW17: conţine suma de verificare (checksum) RAM. SW18: checksum cartuş EPROM. Permite realizarea unei proceduri de împiedicare a duplicării unor

programe, în conjuncţie cu SW17.

SW41: memorează durata cea mai lungă a unui ciclu.

SW50-SW53: valori pentru ceasul de timp real.

Page 36: Echipamente Numerice CURS

SW54-SW57: valori pentru memorarea datei ultimului defect de reţea.

SW58: ora curentă.

SW59: data curentă.

h. Biţi şi cuvinte asociate blocurilor de funcţii.

i. Biţi şi cuvinte asociaţi GRAFCET. În afara identificatorilor de etapă - tranziţie, fiecărei etape i se poate

asocia (ex. TSX 17-20) un cuvânt (X i, v) conţinând durata în secunde a etapei. Acesta poate fi util pentru

controlul temporizării asociate unei tranziţii.

3.6.3 Programarea în LADDER

Prezentarea se va exemplifica prin pachetul pentru automatele TSX. Schema cu contacte este

constituită din mai multe linii orizontale conţinând simboluri grafice de test (contacte), de acţiune (bobine) şi

pentru blocuri funcţionale: temporizatoare, numărătoare, monostabile etc. Schema este fracţionată în reţele

cu număr redus de linii (4) astfel încât să poată fi vizualizată la terminalul de programare o singură reţea la

un moment dat. Fiecare reţea are asociată o etichetă (label).

Simboluri grafice de test:

- conexiune orizontală:

- conexiune verticală: - contact direct: test al stării bitului asociat:

- contact invers: test al stării inverse a bitului asociat:

Simboluri grafice pentru acţiuni:

- transfer direct:

- transfer invers (transferă inversul rezultatului logic în bitul adresat):

- setare bobină (cu memorare până la reset): - resetare bobină (cu memorare pînă la set):

- salt (jump) la o reţea desemnată prin eticheta respectivă:

- bobine "salvate" în cazul pierderii alimentării:

Simboluri grafice pentru blocuri de funcţii:

Simboluri pentru blocuri de operaţii:

-[<]- Comparaţii: <, > , < >, < =, > =, =. -[OPER.]- Operaţii aritmetice : +, -, x, /, modulo;

Operaţii logice: SI, SAU, XOR;

Operaţii de conversie: BCD BIN, ASCII BIN;

Deplasare circulară registre;

Transfer şiruri de biţi sau tabele cuvinte. Ex. 1 (TSX 17-20) - fig. 3.31 se referă la comanda de pornire reversibilă cu automenţinere a unui motor.

După cum se observă nu trebuie neapărat realizată o asociere directă între un contact normal închis şi

simbolul de test al contactului invers din reţeaua LADDER. Automatul execută reţelele de contacte unele după altele, în ordinea introducerii lor în program. Un

LADDER poate fi modificat sau completat cu reţele noi (prin inserare). Pentru o anumită reţea, ordinea de

tratare a zonei de test este specificată de constructor. De exemplu la TSX 17-20, se citesc stările contactelor

pe coloane, începând din stânga.

Ciclul de scrutare (zeci - sute de ms) are structura din fig. 3.32. Se observă că dacă un bit intern sau de ieşire

este comandat în mai multe locuri din program, se actualizează starea comandată la ultima referire în

LADDER. În schimb, stările logice ale biţilor de ieşire şi interni pot fi citite de mai multe ori în program. Ex:

Dacă O 0,5 apare în reţelele de contacte 2 şi 6, la actualizarea ieşirilor se va comuta starea ieşirii O 0,5

conform ultimei reţele executate, reţeaua 6.

Page 37: Echipamente Numerice CURS

Programarea blocurilor (TSX 17 - 20)

Blocuri temporizatoare. În fig. 3.33 intervin următorii parametri de programare:

Ti , P: valoare preselectată;

Ti , B: cuantă de timp (1min ; 1s ; 0,1s ; 0,01s );

t = Ti, P x Ti B; i: numărul blocului

Ti, P este încărcată în valoarea curentă Ti, V când E = 0. În timpul t, E trebuie pus la 1. Comanda

C lansează temporizarea când este 1, după care revenirea la zero determină reţinerea valorii curente Ti,

V. După t, D devine 1 iar R = 0. Diagrama din fig. 3.33 explică comportarea blocului pentru toate

combinaţiile

de comenzi. Biţii Ti, D şi Ti, R asociaţi ieşirilor D şi R pot fi testaţi (citiţi) de program la fel ca biţii I/O. Tot

în fig. 3.33 este inserat o reţea LADDER care foloseşte un temporizarator. T0 realizează o temporizare de 2

sec. (cu o precizie de 10 ms = cuanta de timp). B0 este un bit intern; I0,X constituie intrări iar O0,5 ieşire.

Monostabile. Se elaborează un impuls cu durată programabilă.

Mi, P: valoare prescrisă;

Mi B: cuantă de timp (la fel ca la temporizator).

tM = Mi, P x Mi, B;

În timpul evoluţiei monostabilului, S nu trebuie menţinut la 1 - fig. 3.34. Deci lansarea funcţiei M se face pe

frontul ascendent al comenzii S. Starea bitului Mi,R asociat ieşirii R, se poate testa de către program la fel ca

un bit I/O.

Numărătoare. Se pot număra impulsuri (evenimente) înainte sau înapoi ori simultan în ambele sensuri, în

funcţie de comutările survenite la intrările U şi D.

P=1: valoarea preselectată Ci,P este încărcată în valoarea curentă Ci,V.

P=0: numărătorul poate evolua.

Semnalele asociate sunt redate în fig. 3.34. E devine 1 când Ci,V trece de la 0 la 9999 (pe D) - similar cu

Borrow. F devine 1 când Ci,V trece de la 9999 la 0 (pe U) - similar cu Carry. Biţii (Ci, D), (Ci, F) şi (Ci, E)

asociaţi numărătorului Ci pot fi testaţi prin program.

3.6.4 Programarea în GRAFCET

3.6.4.1 Elemente generale

Se utilizează 3 elemente grafice de bază:

- Etapa (starea) corespunde unei comportări invariante a automatului în raport cu intrările şi ieşirile.

- Tranziţia: indică posibilitatea trecerii de la o stare (etapă) la alta în condiţiile realizării unor anumite

condiţii (receptivităţi).

- Legăturile: arată căile de evoluţie ale sistemului. Pot fi orientate (prin săgeţi) sau nu. Etapele sunt numerotate şi li se asociază un bit Xi. Xi = 0: etapă inactivă; Xi = 1: etapă activă (acţiunile

asociate sunt executate).

Receptivităţile sunt funcţii logice în care intervin variabile de intrare, de etapă, interne, de ieşire etc. O

tranziţie este validată dacă toate etapele imediat precedente sunt active.

Alte reguli:

- Realizarea unei tranziţii dezactivează simultan toate etapele imediat precedente conectate la această tranziţie şi activează toate etapele imediat următoare conectate cu aceasta.

- Durata unei etape nu poate fi zero pentru că durata de îndeplinire a unei tranziţii este limitată inferior de

fenomene fizice.

- Dacă în timpul funcţionării o aceeaşi etapă trebuie să fie simultan activată şi dezactivată, ea rămîne activă.

Page 38: Echipamente Numerice CURS

Fig. 3.31 Transpunerea in limbaj LADDER a unei scheme cu contacte şi relee.

Fig. 3.32 Structura ciclului de scrutare pentru programarea în LADDER.

Fig. 3.33 Lucrul cu temporizatoare în LADDER / TSX.

Fig. 3.34 Blocuri monostabil şi numărător pentru LADDER / TSX.

Page 39: Echipamente Numerice CURS

Simboluri grafice utilizate:

- etapă iniţială. Este activă la început de ciclu. Cel mai des semnifică starea de repaus, fără nici o

acţiune asociată. Dacă are asociate acţiuni, ele se descriu printr-un LADDER în zona de tratare

Posterioară. Observaţie: iniţializarea sistemului constă în trecerea dintr-o situaţie vidă (nici o

etapă activă - nici o evoluţie posibilă) la o stare iniţială prin comandă operator sau comandă de la

altă structură de comandă.

- etapă. O etapă devine activă dacă:

- etapa din amonte este activă;

- condiţia de tranziţie amonte este îndeplinită.

Etapele sunt tratate în zona Secvenţială a programului, iar acţiunile asociate (descrise prin

LADDER) în zona Posterioară. Există automate la care acţiunile sunt programate în limbaj literal.

- etapă activă la un moment precis al funcţionării.

- tranziţia: separă obligatoriu 2 etape şi permite trecerea de la una la următoarea. Descrierea

receptivităţilor (sau a condiţiilor de tranziţie) se efectuează prin LADDER tratat în zona program

Secvenţială.

- receptivitate satisfăcută totdeauna (asociată reluării automate a ciclului).

- activare simultană de etape sau dezactivare simultană.

- divergenţă (ramificaţie) la diferite etape, una singură fiind cea spre care evoluează sistemul;

- convergenţă (sfîrşit ramificaţie).

- legătură orientată

3.6.4.2 Structuri tip

Diferitele tipuri de GRAFCET vor fi ilustrate prin exemple concludente. Structurile descrise separat se

pot considera şi ca părţi dintr-un GRAFCET complex.

A. Secvenţa liniară (unică)

Structura este compusă dintr-o succesiune de etape care vor fi activate sau dezactivate una după alta.

O aplicaţie este asociată cu fig. 3.35. Ciclul de funcţionare al unei maşini de găurit cuprinde etapele:

Fig. 3.35 Instalaţia comandată cu AP şi GRAFCET - ul liniar asociat.

Page 40: Echipamente Numerice CURS

- strîngere pneumatică piesă;

- găurire;

- eliberare piesă.

Intervin următoarele comenzi şi semnale de control: - a1: manocontact (senzor presiune). Confirmă strângerea de către pistonul P;

- a0: piston retras;

- b0: burghiu sus;

- b1: burghiu la cota finală de găurire;

- c, d: comenzi Start (cu două mâini simultan);

- a+, a -: comenzi la distribuitorul pneumatic pentru strângere, respectiv slăbire; - b+, b -: comenzi la distribuitorul pneumatic pentru avans / retragere cap găurire.

B. GRAFCET cu divergenţă (ramificaţie)

Secvenţele cu ramificaţie oferă posibilitatea mai multor evoluţii la un moment dat, dintre care numai

una este realizată. Deci, în general, condiţiile de evoluţie sunt exclusive unele în raport cu altele.

O aplicaţie este asociată cu fig. 3.36. O instalaţie de ridicat funcţionează astfel: în stare de repaus este

semnalizată disponibilitatea instalaţiei prin ieşirea O0,02. Limitatorii de cursă sus (I 0,04) şi jos (I 0,02) dau

informaţia pentru poziţiile extreme. Butonul "Start" I 0,03 de la etajul inferior comandă urcarea, iar butonul

"Start" I 0,05 de la etajul superior comandă coborârea. Evident că dacă instalaţia este în aşteptare jos, nu

poate decât urca, iar dacă este în aşteptare sus nu poate decât coborî.

C. GRAFCET cu secvenţe simultane (paralelism structural)

Intervin structurile din fig. 3.37. Activarea şi dezactivarea simultană a mai multor secvenţe paralele

necesită utilizarea unor etape de sincronizare (de aşteptare). O aplicaţie este asociată cu fig. 3.38. Un transfer de piese de pe o bandă (1) pe alta (2) se realizează cu

ajutorul a două pistoane plasate perpendicular. Operaţiile de avans şi retragere ale celor două pistoane se pot

realiza simultan, adică retragerea P1 este comandată în acelaşi timp cu avansul P2. Etapele 5 şi 7 sunt de

sincronizare.

Elemente speciale

a. Funcţia de temporizare – fig. 3.39a. Când etapa este activă, se declanşează un numărător de impulsuri.

Sfârşitul numărării este determinat prin compararea conţinutului cu valoarea preselectată.

b. Considerarea fronturilor – fig. 3.39b.

Fig. 3.36 Explicativă la aplicaţia pentru GRAFCET cu divergenţă.

Fig. 3.37 Secvenţe simultane în GRAFCET.

Page 41: Echipamente Numerice CURS

c. Tipuri de acţiuni

- acţiuni continui - Durata y = durata etapei X1 (fig. 3.40a);

- acţiuni condiţionale - A este executată dacă X2 este activă şi dacă B = 1 (fig. 3.40b).

Utilizări:

- oprire de urgenţă, prin inhibarea acţiunii (sau acţiunilor) în curs (fig. 3.40c);

- realizarea unei comenzi întârziate (fig. 3.40d).

- realizarea unei comenzi de o durată impusă.

- acţiuni memorate - o comandă poate continua pe durata mai multor etape consecutive prin:

- repetarea comenzii la fiecare etapă;

- utilizarea unei etape care va rămâne activă în acelaşi timp cu etapele considerate; - utilizarea unei memorii auxiliare.

d. Forţarea (fig. 3.41): este utilizată şi local dar mai ales în sensul în care un graf de nivel superior forţează

unul inferior adică activează şi menţine active anumite etape şi le dezactivează pe toate celelalte. Forţarea

poate fi: continuă, temporară sau condiţională.

e. Macroreprezentări – fig. 3.42. Cu ajutorul macroreprezentărilor părţi din GRAFCET, care la un moment dat nu sunt utile la nivel de detaliu, pot fi redate prin:

- macroetape: reprezintă condensat şi în mod unic un ansamblu de etape şi tranziţii caracterizate printr-o

etapă de intrare (IN) şi una de ieşire (OUT). O macroetapă se inserează în graf ca o etapă normală şi

respectă regulile de evoluţie. IN poate avea asociate acţiuni dar nu şi OUT. Realizarea tranziţiei amonte

activează etapa IN. Activarea etapei OUT validează tranziţia aval, a cărei îndeplinire dezactivează etapa

OUT.

Fig. 3.38 Explicativă la aplicaţia cu secvenţe simultane.

a. b.

Fig. 3.39 Temporizări şi fronturi în GRAFCET.

a. b. c. d.

Fig. 3.40 Tipuri de acţiuni în GRAFCET.

Fig. 3.41 Forţări în GRAFCET.

Page 42: Echipamente Numerice CURS

Fig. 3.42 Macroreprezentări pentru GRAFCET.

- subprograme (task-uri): se trece controlul la GRAFCET-ul subprogram, după executarea căruia (sesizată

prin activarea etapei finale) se revine în programul principal. Spre deosebire de macroetape, subprogramele

pot fi apelate (aceleaşi) din mai multe locuri ale GRAFCET-ului.

3.6.4.3 Structurarea şi tratarea unui program GRAFCET

Ciclul de scrutare are structura din fig. 3.43. Programele GRAFCET sunt divizate în 3 zone:

1. Zona de tratare preliminară - conţine toate instrucţiunile

care nu depind de etapele GRAFCET. Intervin reţelele de

contacte pentru mers automat / manual, informaţii relative la

opriri de securitate etc. Programul din această zonă este citit la

fiecare ciclu de scrutare.

2. Zona de tratare secvenţială - conţine instrucţiunile

GRAFCET: etape şi tranziţii. Receptivităţile asociate

tranziţiilor se descriu prin LADDER în această zonă. La

fiecare ciclu de scrutare sunt citite numai etapele active şi

tranziţiile valide, celelalte fiind ignorate.

3. Zona de tratare posterioară - conţine reţelele de contacte

corespunzând acţiunilor (comenzilor) asociate etapelor.

La automatele TSX, cu ajutorul biţilor sistem SY21,

SY22 şi SY23 se gestionează modurile de lucru (mers normal

instalaţie, oprire de securitate, mers cu comandă manuală

pentru reglaje etc).

SY21: iniţializare GRAFCET - punerea la 1 printr-o bobină

SET a acestui bit determină dezactivarea etapelor active şi

activarea etapei (sau etapelor) iniţiale;

SY22: resetare GRAFCET - punerea la 1 printr-o bobină SET

a acestui bit determină dezactivarea tuturor etapelor. SY23: blocare GRAFCET - punerea la 1 printr-o bobină SET a

acestui bit determină îngheţarea programului la etapa în curs

(menţinerea în activitate a etapelor deja active şi menţinerea

dezactivată a celor inactive).

La sfîrşitul zonei secvenţiale, aceşti biţi sistem sunt automat

repuşi la 0.

Fig. 3.43 Ciclul de scrutare pentru GRAFCET.

Următoarea aplicaţie (fig. 3.44) pune în evidenţă zonele tipice ale unui program GRAFCET şi

Page 43: Echipamente Numerice CURS

modul cum se folosesc reţele LADDER pentru descrierea receptivităţilor şi a acţiunilor. La comanda

START CICLU, un cărucior se deplasează spre dreapta până la activarea limitatorului de cursă LD.

Rămâne în repaus aici 5 sec şi apoi revine spre stânga până la extremitatea marcată de limitatorul LS.

Tabelul 3.1 redă asocierea variabilelor GRAFCET cu intrări şi ieşiri ale unui automat TSX 17-20.

Tabel 3.1

S start ciclu I0,0

LS limitator stânga I0,1 LD limitator dreapta I0,2

MD motor dreapta O7,0

MS motor stânga O7,1

Fig. 3.44 Aplicaţie cu evidenţierea zonelor preliminară, secvenţială şi posterioară din GRAFCET.

Page 44: Echipamente Numerice CURS

3 EXEMPLU DE COMANDA NUMERICA A UNEI ACTIONARI

ELECTROMECANICE

3.1. Problema de soluţionat, restricţiile impuse şi etapele de sinteză ale variantelor posibile

Se propune ca sistemul de acţionare electrică să îndeplinească următoarele condiţii principale

de funcţionare:

să permită pornirea motorului M numai prin acţionarea butonului de pornire I, dacă

sunt îndeplinite în totalitate condiţiile de pornire impuse de către sistemele de

protecţii specifice sistemului;

să memoreze comanda de pornire; (să comande pornirea motorului cu temporizarea de pornire dT propusă şi să semnalizeze optic pe

durata temporizării la pornire);

să semnalizeze optic punerea sub tensiune a motorului;

să semnalizeze optic corespunzător motivul de refuz al pornirii;

să menţină motorul sub tensiune atât timp cât sunt îndeplinite condiţiile normale de

funcţionare ;

să permită oprirea motorului M prin acţionarea manuală a butonului de oprire O, sau

prin acţionarea automată a subsistemelor de protecţie;

să semnalizeze optic corespunzător cauza deconectării automate;

să permită cicluri succesive de pornire-oprire a motorului M.

să deconecteze automat sarcina la dispariţia tensiunii şi să nu repună automat sub

tensiune consumatorul, la reapariţia acesteia.

3.1.1. Soluţia clasică cu contacte şi relee

Se propune, în prima etapă, pentru modelarea condiţiilor de funcţionare ale contactorului C,

respectiv ale motorului M, schema electrică cu contacte şi relee, figura 3.1, care va conţine:

un contactor electromagnetic de putere, C -pentru comutaţia de putere a motorului M;

butoanele I şi O pentru comanda manuală a contactorului C;

subsistemele de protecţie Umin -pentru controlul minimal al tensiunii electrice, Rsc-

pentru controlul maximal în regim de scurtcircuit, Rss –pentru controlul în regim de

suprasarcina şi Rtemp- pentru controlul efectiv al temperaturii din consumatorul de

putere M;

un contact K1 de blocaj, care să restricţioneze accesul la circuitul de comandă al

acţionării.

Funcţia logică a circuitului de comanda al bobinei contactorului C, respectiv al motorului

M va fi condiţionată în totalitate de contactele cablate ale respectivului circuit, după cum

rezultă din expresia:

(1)

Pentru circuitul de semnalizări optice se sintetizează o schemă electrică corespunzătoare

fiecărui subsistem, în conformitate cu metodele clasice cunoscute (algebrică, Quine Mc-

Clusky, Tison, etc.)

C=(I+C)*O*Rtemp*Umin*Rss*Rsc*K1

Page 45: Echipamente Numerice CURS

Fig. 3.1. Schema electrică cu contacte şi relee

3.1.2. Schema sistemică a circuitului de comandă, control şi protecţie

Aceasta este prezentată explicit în Fig. 3.2, în care sunt inventariate toate intrările logice în

sistemul Black-Box, în număr de opt, pe latura din stânga a acestuia, respectiv toate ieşirile, în

număr de opt, pe latura din dreapta a acestuia.

Fig. 3.2. Schema sistemică a circuitului sintetizat

M

releu suprasarcina

releu de scurtcircuit

releu termic

R S TC

C

K1rel. min. tensiune

C C C

Umin

Rsc

Rss

Rtemp.

UminRssRsc

IO Rtemp.

R,S,T

M

blocare pornie (K1)

rel.de temperatura

rel. min. tensiune

comanda pornire (I)

comanda oprire (O)

releu suprasarcina

releu de scurtcircuit

temporizare pornire (K2)

semnaliz. pornire motor

semnaliz. releu minimal de tensiune

semnaliz. releu de suprasarcina

semnaliz. releu de temperaura

semnaliz. releu de scurtcircuit

semnaliz. contact blocare pornire (K1)

semnaliz. temporizare pornire (K2)

comanda pornire/oprire motor

Page 46: Echipamente Numerice CURS

3.1.3. Implementarea unui circuit cu microprocesor în schema sistemică

Din considerente de ordin didactic în această etapă s-a elaborat o soluţie de comandă

logică şi de control cu microprocesor ce utilizează kit-ul procesor 14.000A, [….] echipat cu

microprocesorul de un bit MMC-4500, Motorola.

Fig. 3.3. Schema de conexiuni la KIT-ul Procesor 14.000A

În Fig.3.3. se prezintă explicit conexiunile de intrare-ieşire, proiectate, la sistemul cu

microprocesor de tip KIT Procesor14.000A, la care intrările de date TTL sunt marcate cu I0,

I1,…. I15, iar ieşirile logice cu Q0, Q1, …Q15. In circuitul din fig.3.3 s-a prevăzut o ieşire

suplimentară, pentru a permite şi semnalizarea optică a punerii sub tensiune a microsistemului,

după alimentarea cu tensiune a acestuia şi după lansarea în execuţie a programului e funcţionare

al aplicaţiei proiectate, (portul Q0-semnaliz. prezenţă tensiune +5V).

Schema explicită de interfaţare TTL la sistemul KIT Procesor 14.000A este prezentată în

fig. 3.4. Fiecare element informaţional oferă un semnal logic TTL, la portul corespunzător, prin

intermediul unor rezistenţe R de polarizare. De menţionat că porturile de intrare ne utilizate ale

kit-ului trebuiesc conectate la potenţialul de referinţă al sursei, adică la masa circuitului electric.

Porturile de ieşire ale Kit-ului comandă fie LED-uri de semnalizare optică, fie bobina

unui microreleu. Activarea ori cărei sarcini de pe un port de ieşire se face cu semnal O logic la

portul corespunzător.

K+5V

Kit procesor

Q0

Q1

Q3

Q4

Q5

Q6

Q7

Q8

A1, A2

A31, A32

A3

R,S,T

M

Q2

14.1000A

comanda oprire (O)

comanda pornire (I)

blocare pornie (K1)

temporizare pornire (K2)

rel.de temperatura

rel. min. tensiune

releu suprasarcina

releu de scurtcircuit

RS

semnaliz. prezenta tensiune (+5V)

semnaliz. pornire motor

semnaliz. releu minimal de tensiune

semnaliz. releu de suprasarcina

semnaliz. releu de temperaura

semnaliz. releu de scurtcircuit

semnaliz. contact blocare pornire (K1)

comanda pornire/oprire motor

semnaliz. teporizare pornire (K2)

I1

I2

I3

I4

I5

I6

I7

I8

Page 47: Echipamente Numerice CURS

Fig. 3.4. Schema explicită de interfaţare TTL la sistemul KIT Procesor 14.000A

3.1.4. Algoritmul de funcţionare al microsistemului

3.1.4.1. Kit-ul procesor 14.000A. Acesta este un automat programabil uşor de programat şi

perfect adaptabil pentru numeroase proiecte de automatizare. Are la bază microprocesorul de un

bit MMC 4500, în condiţiile în care care un sistem de 8 biţi ridică probleme de eficienţă şi cost.

Fluxul de prelucrare al datelor şi de generare a comenzilor în Kit-ul 14000A este prezentat în

figura 3.5

Figura 3.5. Arhitectura microsistemului 14.000A

Kit procesor

Q0

A1, A2

A31, A32

14.1000A

rel. min. tensiune

releu suprasarcina

releu de scurtcircuit

rel.de temperatura

temporizare pornire (K2)

blocare pornie (K1)

A3

RS

comanda pornire (I)

comanda oprire (O)

1

0

0

0

0

0

0

0

0

1

Q1

Q2

Q3

Q4

Q5

Q6

Q8

Q7

K +5V

semnaliz. prezenta tensiune (+5V)

semnaliz. pornire motor

comanda pornire/oprire motor

semnaliz. contact blocare pornire (K1)

semnaliz. teporizare pornire (K2)

semnaliz. releu minimal de tensiune

semnaliz. releu de suprasarcina

semnaliz. releu de scurtcircuit

semnaliz. releu de temperaura

8xR2

9xR1

I1

I2

I3

I4

I5

I6

I7

I8

I0

I I I I I I I0 1 2 3 4 5 15Q Q Q Q Q Q0 1 2 3 4 5 15Q

MULTIPLEXOR DEMULTIPLEXOR

LD, LDC

OR, ORC

XNOR

IN

REZULTATE

RR

REGISTRU

UNITATE LOGICAAND, ANDC

STO, STOC

OUT

Page 48: Echipamente Numerice CURS

Stările logice ale intrărilor I0, I1, I2, …I15 pot fi citite una câte una, prin intermediul unui circuit

MULTIPLEXOR. Valoarea unei date de intrare se poate încărca prin intermediul UNITĂŢII

LOGICE în REGISTRUL DE REZULTAT (RR), aflat pe post de registru acumulator de un bit.

Tot cu ajutorul UNITĂŢII LOGICE în REGISTRUL DE REZULTAT se pot încărca diverse

combinaţii (ŞI, SAU, NU, SAU-EXCLUSIV, etc.,) între o variabilă de intrare şi propria stare

curentă a registrului RR.

Funcţiile unităţii logice se aleg cu ajutorul uneia din următoarele instrucţiuni:

LD, (LOAD)-încarcă data de intrare în RR;

LDC, (LOAD COMPLEMENTAT)- încarcă data de intrare complementată în RR;

AND-încarcă valoarea funcţiei logice (I AND RR) în RR;

ANDC (AND COMPLEMENTAT)- încarcă valoarea funcţiei logice (I complementat

AND RR) în RR

OR- încarcă valoarea funcţiei logice (I OR RR) în RR

ORC- încarcă valoarea funcţiei logice (I complementat OR RR) în RR

XNOR (XOR NEGAT)- încarcă valoarea funcţiei logice (I+ OR RR complementat) în

RR, sau mai explicit dacă I=RR, încarcă 1 logic în RR.

Conţinutul registrului RR poate fi transferat la oricare din cele 16 ieşiri Q0, Q1, Q2, …Q15,

printr-un circuit demultiplexor, ce conţine la ieşire un număr de 16 celule de memorie.

Transferul de date la ieşire se face cu una din cele două instrucţiuni:

STO, (STORE)-transferă valoarea conţinută în RR la ieşire;

STOC (STORE COMPLEMENTAT) -transferă valoarea complementată a lui RR la

ieşire;

La redactarea unui program, instrucţiunile de citire -adica de transfer a informaţiei în RR,

sau de scriere -adica de transfer a informaţiei din RR, trebuie însoţite de adresa intrării (respectiv

ieşirii) la care se face referire.

Figura 3.5 prezintă doar un detaliu al arhitecturii Kit-ului 14.000A, care pune în evidenţă

operarea cu 9 din totalul de 16 instrucţiuni ale kit-ului. O imagine mai detaliată a arhitecturii Kit-

ului 14.000A este prezentată în fig. 3.6. Pentru a fi urmărită mai uşor, instrucţiunile sunt

încercuite.

Prima noutate adusă de schema din fig. 3.6 este apariţia a două registre IEN şi OEN în

fluxul de intrare-ieşire al datelor. Scopul acestor registre este acela de a valida sau inhiba

circulaţia datelor între periferie (multiplexor, demultiplexor) şi unitatea centrală (unitatea logică,

registrul RR). Registrele IEN şi OEN pot fi încărcate cu starea logică a uneia din cele 16 intrări,

I0, I1,….I15, acest lucru se face cu instrucţiunea IEN, respectiv OEN. Instrucţiunea IEN (INPUT

ENABLE), încarcă registrul IEN cu starea logică a intrării selectate prin program. Scopul

instrucţiunii IEN este de a crea una sau mai multe intrări cu prioritate absolută în controlul

procesului, indiferent de stările celorlalte intrări. Schimbarea stării registrului IEN s face cu o

nouă instrucţiune IEN. La iniţializarea sistemului (la punerea sub tensiune sau la resetarea

acestuia), registrul IEN se află în starea logica O. Pentru validarea accesului datelor de intrare,

este necesară încărcarea lui cu starea logica 1. Pentru aceasta una din intrările kit-ului (de

exemplu I0) se conectează la +5V, pentru a avea permanent starea logică 1, iar programul trebuie

să înceapă cu instrucţiunea IEN I0

Page 49: Echipamente Numerice CURS

Fig. 3.6. Arhitectura de detaliu a Kit-ului 14.000A

Instrucţiunea OEN (OUTPUT ENABLE) încarcă registrul OEN cu starea logică a unei

intrări selectate prin program. Deci, registrul OEN controlează accesul datelor spre cele 16 ieşiri

ale kit-ului. În funcţie de valoarea cu care este încărcat apar două situaţii: Registrul OEN este 1

logic, datele circulă neafectate de la registrul RR la ieşiri; Registrul OEN este 0 logic, kit-ul

procesor refuză sau ignoră orice instrucţiune de scriere STO sau STOC. Scopul instrucţiunii

OEN este acela de a crea o intrare sau mai multe intrări care să condiţioneze comanda

elementelor de execuţie din proces. Schimbarea stării registrului OEN s face cu o nouă

instrucţiune OEN. La iniţializarea sistemului (la punerea sub tensiune sau la resetarea acestuia),

registrul OEN se află în starea logica O. Pentru validarea accesului datelor de intrare, este

necesară încărcarea lui cu starea logica 1. Pentru a valida executarea instrucţiunilor STO sau

STOC, este necesară încărcarea sa cu starea logica 1 de la una din intrări (de exemplu I0)

conectată la +5V, pentru a avea permanent starea logică 1, iar programul trebuie să înceapă cu

instrucţiunea OEN I0

Kit-ul procesor 14.000 A conţine un circuit de memorie, vezi fig. 3.6, în care se află

înscris programul de aplicaţie. Instrucţiunile sunt scrise succesiv, începând cu prima adresă din

MEMORIE, în ordinea crescătoare a adreselor Pentru ca instrucţiunile să poată fi executate rând

pe rând, intrările de adrese ale memoriei sunt conectate la un circuit NUMĂRĂTOR, care

primeşte impulsuri de tact de la un circuit oscilator, CLOKC şi adresează memoria, începând de

la adresa 0 până a adresa 255, după care reia numărarea de la adresa 0 în mod ciclic. În

STO, STOC

LD, LDC

AND, ANDC

OR, ORC

XNOR

IEN OEN

VALIDARE

SCRIERE

UNITATE LOGICA

RR

REZULTAT

REGISTRU

NUMARATOR CLOCK TEMPORIZARI

T1 T2 T4

X2X1

NOPO, JUMP

RTN

SKZ

R1, C1 R2, C2 R4, C4

MEMORIE DE

PROGRAM

MULTIPLEXOR

I I I I I I I0 1 2 3 4 5 15....

Q Q Q Q Q Q0 1 2 3 4 5 15Q ....

DEMULTIPLEXOR

M M M M M MM

OENIEN

Page 50: Echipamente Numerice CURS

majoritatea cazurilor, programul de aplicaţie are mai puţin de 256 de instrucţiuni. Pentru a evita

parcurgerea inutilă a locaţiilor libere rămase in memorie, Kit-ul procesor 14.000 A are

instrucţiuni speciale care pot comanda numărătorului reluarea numărării de la adresa 0 sau de la

o altă adresă de program. Aceste instrucţiuni se numesc INSTRUCŢIUNI DE SALT.

Pentru a executa un salt în program sunt necesare două instrucţiuni: NOPO si JMP.

Acest lucru se datorează construcţiei kit-ului procesor. NOPO este o instrucţiune pregătitoare, ea

trebuie scrisă înaintea instrucţiunii JMP, care execută saltul propriu-zis. Instrucţiunile NOPO şi

JMP trebuie însoţite de numărul sau eticheta liniei de program la care se execută saltul. De

reţinut că instrucţiunea NOPO poate sta în program la mai multe instrucţiuni distanţă de

instrucţiunea JMP, dar obligatoriu înaintea acesteia.

Pentru diversificarea posibilităţilor de programare, Kit-ul procesor 14.000 A are şi o

instrucţiune de salt condiţionat: SKZ (SKIP IF RR=0). Efectul instrucţiunii SKZ este următorul:

dacă registrul RR are valoarea 0, se sare (se ignoră) următoarea instrucţiune de program. Spre

deosebire de perechea NOPO-JMP, care execută salt necondiţionat, la orice linie de program,

instrucţiunea SKZ are o singură funcţiune-cea următoare ei şi numai atunci când RR=0.

Tehnica saltului condiţionat echivalează folosirea instrucţiunilor IEN, OEN în probleme

de decizie de tipul IF-THEN-ELSE. Alegerea tehnicii de programare este la dispoziţia

proiectantului de aplicaţie.

Apelarea subrutinelor este o tehnică de programare utilă atunci când fragmente de

program se repetă de un număr de ori. Tehnica presupune definirea unui astfel de fragment ca un

program autonom, numit subrutină, şi apelarea lui prin salt din programul principal, ori de câte

ori este nevoie. La Kit-ul procesor 14.000 A saltul la subrutină se face tot cu perechea NOPO-

JMP, revenirea din subrutină în programul principal se face cu instrucţiunea RTN (RETURN). O

subrutină se termină obligatoriu cu RET, această instrucţiune nu are nevoie de o adresă auxiliară,

deoarece adresa de revenire este memorată automat la executarea fiecărui apel de subrutină.

După executarea instrucţiunii RTN se reintră în programul principal cu executarea instrucţiunii

care urmează apelului de subrutină. In interiorul unei subrutine se interzice folosirea instrucţiunii

JMP, face excepţie apelarea celui de al doilea nivel de subrutină. Două nivele de subrutină

înseamnă posibilitatea apelării unei subrutine dintr-o altă subrutină. Kit-ul procesor 14.000 A

oferă această facilitate. In acelaşi program, o subrutină poate fi atât de nivel 1, când se apelează

din programul principal, cât şi de nivel 2, când este apelat dintr-o subrutină.

Pentru oprirea temporară a activităţii Kit-ului procesor 14.000 A se foloseşte

instrucţiunea NOPF, urmată de unul din simbolurile T1, T2 sau T4. Această instrucţiune

declanşează un circuit monostabil pe kit, care blochează un imp tactul (clock-ul)

microprocesorului. Duratele celor trei temporizări pot fi reglate cu ajutorul unor potenţiometre

aflate pe kit.

Din punct de vedere constructiv Kit-ul procesor 14.000 A asigură temporizări astfel:

T1=130ms…1,3s; T2, T4=30ms…300ms.

Folosirea instrucţiunii NOPF este necesară la comanda unor elemente de execuţie

electromecanice, cu inerţie la acţionare şi revenire. Pauzele în program pot fi folosite şi la

comanda unor elemente de semnalizare.

Programele subprogramele pentru Kit-ul procesor 14.000 A sunt scrise în limbaj literar,

cu mnemonicele corespunzătoare instrucţiunilor şi adreselor de execuţie a instrucţiunilor. Pentru

ca un program să poată fi înţeles şi executat de către microprocesor este necesară compilarea lui

din limbajul scris (sursă, limbaj cu mnemonice sau de asamblare), în limbaj specific

microprocesorului numit limbaj în cod obiect sau cod maşină. Codurile obiect suntnumere scrise

în sistem hexazecimal:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F.. Procedura de traducere a unui program

sursă în cod obiect se numeşte ASAMBLARE. Aceasta poate fi făcută manual, de către

utilizator, sau automat, cu ajutorul calculatorului, utilizând programe specifice de asamblare.

Page 51: Echipamente Numerice CURS

Pentru Kit-ul procesor 14.000 A se prezintă instrucţiunile acestuia, codurile zecimale ale

intrărilor şi ieşirilor, cu codurile obiect, scrise în sistem hexazecimal şi binar.

Algoritmul de funcţionare al sistemului propus Algoritmul sintetizat şi propus în fig.3.7 oferă următoarele facilităţi secvenţiale

programului de lucru al unităţii cu microprocesor de tip Kit procesor 14.000 A.

iniţializarea porturilor de ieşire ale unităţii, imediat după punerea sub tensiune a

acesteia; în primele cicluri maşină, fiecare port, (al ieşirilor Qi conectate), este

adus la starea 1 logic, mai puţin portul Q0, prin care se semnalizează prezenţa

tensiunii 5V. Se consideră validă comanda de activare a ieşirilor cu semnalul 0

logic, având în vedere conexiunea OPEN COLECTOR a porturilor Qi . Semnalul

0 logic pe porturile de ieşire nu produc efect asupra elementelor de execuţie

conectate (LED-uri, micro-relee ).

Cod DECA Cod HEXA Cod BINAR MNEMONICA FUNCTIE

0 0 0000 NOPO Fixează adresa de salt

1 1 0001 LD DATA

2 2 0010 LDC

3 3 0011 AND

4 4 0100 ANDC

5 5 0101 OR

6 6 0110 ORC

7 7 0111 XNOR

8 8 1000 STO

9 9 1001 STOC

10 A 1010 IEN

11 B 1011 OEN

12 C 1100 JMP Salt în program

13 D 1101 RTN Revenire din subrutină

14 E 1110 SKZ Dacă RR 0, ignoră următoarea instrucţiune

15 F 1111 NOPF Pauză în execuţie

se verifică starea sistemelor de protecţie; se semnalizează optic dacă una sau mai

multe protecţii sunt acţionate; dacă nu sunt îndeplinite condiţiile de pornire din

punctul de vedere al protecţiilor se semnalizează optic corespunzător şi se

comandă saltul la eticheta ET0, ciclul se reia succesiv până la îndeplinirea

condiţiilor de funcţionare normală;

dacă starea protecţiilor este corespunzătoare, se trece la controlul stării

contactului K1, de blocaj, care permite accesul la comanda de pornire numai a

persoanelor autorizate ce deţin accesul pe respectivul contact; Dacă starea lui K1

este necorespunzătoare, se semnalizează acest lucru şi se comandă reluarea

ciclului de control şi comandă începând de la eticheta ET0;

se verifică ciclic starea butonului de pornire I. Când acesta este acţionat se trece la

etapa de interogare a contactului K2 prin care se stabileşte dacă pornirea motorului

va fi fără sau cu temporizarea programata T; Dacă este programată temporizarea T

la pornire, se semnalizează optic, prin portul corespunzător, pe toată durata

temporizării;

Page 52: Echipamente Numerice CURS

Fig. 3.7. Algoritmul de funcţionare al sistemului propus drept exemplu

înainte de a se da comanda de pornire motorului M, se verifică dacă nu a apărut

restrictii sau o comandă de oprire, O, care se execută prioritar;

după pornirea motorului, se semnalizează optic faptul că motorul este pornit şi se

comandă saltul la eticheta ET2, prin care se reiau ciclic toate interogările în

legătură cu subsistemele de protecţie-contactul de blocaj şi butonul de oprire. Ne

PROTECTIIOK=?

NU

DA

DA

BLOCARE, K1=?

NUCOMANDA PORNIRE

I=?

TEMPORIZ. PORNIREK2=?

DA

NUPROTECTII

OK=?

TEMPORIZARE LA PORNIRE= T[s]SI

SEMNALIZARE OPTICA

TEMPORIZARE PORNIRE

START

ET 0

INITIALIZEAZAPORTURI IESIRE SISEMNALIZEAZA TENS. +5v

SUBR 1SEMNALIZARE OPTICA

STARE SUBSISTEME

ET 2

DA

NU

DA

NUET 1

si RESTRICTII

ET 3

PORNESTE MOTOR

SI SEMNALIZ OPTIC

OPRESTE MOTOR SI

SEMNALIZEAZA OPTICET 4

Page 53: Echipamente Numerice CURS

îndeplinirea în totalitate a condiţiilor programate de funcţionare corectă a

sistemului electromecanic va conduce automat la comanda de deconectare

automată a consumatorului M şi la semnalizarea optică corespunzătoare a

motivului pentru care s-a produs deconectarea tensiunii la consumator.

3.1.5. Sinteza programului sursă pentru algoritmul propus

ETICHETA PROG.

Adresa PROGRAM Cod SURSA Cod OBIECT COMENTARII

1 00 IEN I0 AO IEN=1

2 01 OEN I0 BO OEN=1

3 ET 0 02 LD I0 10 RR=1

4 03 STOC Q0 90 Q0=0, LED +5V aprins

5 04 STO Q1 81 Q1=1

6 05 STO Q2 82 Q2=1

7 06 STO Q3 83 Q3=1

8 07 STO Q4 84 Q4=1

9 08 STO Q5 85 Q5=1

10 09 STO Q6 86 Q6=1

11 0A STO Q7 87 Q7=1

12 0B STO Q8 88 Q8=1

13 0C NOPO SUBR 1 04

14 0D JMP SUBR 1 C1 Salt SUBR 1

15 0E LDC I3 23 Veifica protectii Umin

16 0F ANDC I4 44 Veifica protectii s.s.

17 10 ANDC I5 45 Veifica protectii s.c.

18 11 ANDC I6 46 Veifica protectii temperat.

19 12 ANDC I8 48 Verifica contact blocaj K1

20 13 SKZ EF

21 14 NOPO ET 1 01

22 15 SKZ EF

23 16 JMP ET 1 C9 Daca RR=1, salt la ET1

24 17 NOPO ET 0 00

25 18 JMP ET 0 C2 Daca RR=0, salt la ET 0

26 ET 1 19 LD I1 11 Verifica comanda de pornire I

27 1A SKZ EF

28 1B NOPO ET 0 00

29 1C SKZ EF

30 1D JMP ET0 C2 Daca RR=1, salt la ET0

31 1E LD I7 17 Verifica temporizare pornire K2

32 1F SKZ EF

33 20 STOC Q4 94 Daca RR=1, aprinde led temporizare pornire

34 21 SKZ EF

35 22 NOPF T1 F1 Pauza T1 =1s

36 23 SKZ EF

37 24 NOPF T1 F1 Pauza T1 =1s

Page 54: Echipamente Numerice CURS

38 25 SKZ EF

39 26 NOPF T1 F1 Pauza T1 =1s

40 27 SKZ EF

41 28 NOPF T1 F1 Pauza T1 =1s

42 29 SKZ EF

43 2A NOPF T1 F1 Pauza T1 =1s

44 2B SKZ EF

45 2C STO Q4 84 Stinge led temporizare pornire

46 ET 2 2D LDC I2 22 Verifica buton oprire O

47 2E ANDC I3 43 Veifica protectii Umin

48 2F ANDC I4 44 Veifica protectii s.s.

49 30 ANDC I5 45 Veifica protectii s.c.

50 31 ANDC I6 46 Veifica protectii temperat.

51 32 ANDC I8 48 Verifica contact blocaj K1

52 33 SKZ EF

53 34 NOPO ET 3 03

54 35 SKZ EF

55 36 JMP ET 3 C9

56 37 NOPO ET4 03

57 38 JMP ET 4 CD

58 ET 3 39 STOC Q2 9D Porneste motor

59 3A STOC Q1 91 Semnalizeaza motor pornitt

60 3B NOPO ET 2 02

61 3C JMP ET 2 CD

62 ET 4 3D STOC Q2 92 Opreste motor

63 3E STOC Q1 91 Semnalizeaza motor oprit

64 3F NOPO ET 0 00

65 40 JMP ET 0 C2

66 SUBR. 1 41 LD I3 13 Citeste stare releu min. tensiune

67 42 STOC Q5 95 Afisaza stare releu min. tensiune

68 43 LD I4 14 Citeste stare releu suprasarcina

69 44 STOC Q6 96 Afisaza stare releu suprasarcina

70 45 LD I5 15 Citeste stare releu scurtircuit

71 46 STOC Q7 97 Afisaza stare releu scurtircuit

72 47 LD I6 16 Citeste stare releu temperatura

73 48 STOC Q8 98 Afisaza stare releu temperatura

74 49 LD I8 18 Citeste stare contact blocaj K1

75 4A STOC Q3 93 Afisaza stare contact blocaj K1

76 4B RTN DF

Programul în cod OBIECT urmează a fi încărcat într-o memorie RAM şi rulat pe un

sistem de exersare-dezvoltare, de tip SED 14, elaborat pentru dezvoltarea aplicaţiilor pe kit-ul

procesor 14.000A, ocazie cu care el poate fi testat şi corectat. După terminarea fazei de testare

programul poate fi scris (copiat) într-o memorie PROM-EPROM cu ajutorul aceluiaşi sistem.

Prin ataşarea cip-ului PROM-EPROM inscripţionat-cu programul aplicaţie, pe un nou kit

procesor acesta poate lucra independent în sistemul proiectat, cu funcţiile logice

corespunzătoare.

Page 55: Echipamente Numerice CURS

4. IMPLEMENTAREA SISTEMULUI MICROPROGRAMABIL PE CHIP

(PSOC) ÎN SCHEMA SISTEMICĂ

4.1.1 Sistemul microprogramabil din familia de microcontrolere Cypress

In acest capitol se propune implementarea, în chema electrică fin Fig. 3.1, a unui sistem

microprogramabil de tip microcontroler. Microcontrolerul este un circuit integrat de tip

microprocesor, fiind orientat structural si funcţional spre lucrul cu intrări şi ieşiri. Dacă se

înglobează intr-un circuit integrat pe lângă microprocesor, memorie ROM , memoria RAM şi

elementele de intrare/ieşire necesare unei anumite aplicaţii se obţine cel mai complex circuit

integrat numit microcontroler. Un microcontroler este similar unui microprocesor. Ambele

conţin o unitate centrala de prelucrare sau UCP (Central Processing Unit). CPU execută

instrucţiuni care îndeplinesc operaţiile de baza logice, matematice şi de curgere a informaţiei.

Diagrama PSoC ilustrată în figura 4.1, ilustrează arhitectura nivelului înalt al familiei de

dispozitive PSoC. Fiecare bloc al diagramei este prezentat pe larg în paragrafele: PSoC Core,

Sistemul Digital, Sistemul Analogic şi Resursele sistem. Toate aceste paragrafe reprezintă

reţeaua de comunicaţii a sistemului magistrală (System bus).

Fig.4.1 Arhitectura sistemului microprogramabil pe chip din familia Cypress

Pentru a construi un calculator complet, microprocesorul necesită memorie pentru

păstrarea datelor şi a programelor şi interfeţe de intrare-ieşire (I/O) pentru conectarea

dispozitivelor externe cum ar fi tastatura sau monitorul. Spre diferenţa de microprocesor,

microcontrolerul este un calculator pe un chip deoarece el conţine şi memorie şi interfeţe de

intrare-ieşire pe lângă CPU. Deoarece memoria şi interfeţele care încap pe un chip sunt limitate,

microcontrolerele tind să fie utilizate în sisteme mai mici care necesită doar un microcontroler şi

câteva elemente adiţionale.

Referinţă

Analogică

Intrare

Analogică

Clock

Digital

Multiplicare

Acumulare

(MAC)

I2C USB Multiplx. IO

Analogică

Reset Sistem

POR sau LVD

Referintă

Tensiune

Internă

Oscilator principal Int. Oscillator low speed Crystal Oscillator

CPU (M8C)

WatchDog

SROM Flash

Memory

SRAM

Intrerrupt

controller

Magistrală analogică de

interconectare

Magistrală digitală de

interconectare

Port 7 Port 5 Port 6 Port 4 Port 3 Port 2 Port 1 Port 0 Driver

Analogic Magistrală

Magistrală

Resursele Sistemului

Aria Blocurilor Digitale Aria Blocurilor Analogice

4 rânduri digitale 4 coloane analogice

Decimators Switch

Mode

Pump

Page 56: Echipamente Numerice CURS

Pentru a alege un microcontroler din marea varietate de microcontrolere existente pe piaţă

trebuie ţinut cont de câteva caracteristici importante ale acestora:

numărul de biţi pe care îl poate procesa simultan, numărul mai mare de biţi

indicând un chip mai rapid şi mai puternic. Circuitele de 8 biţi sunt foarte

populare, dar există şi circuite de 4, 16, 32 biţi.

consumul de putere este important mai ales în cazul sistemelor alimentate de la

baterie. Circuitele realizate în tehnologia CMOS au un consum redus de putere.

Multe din dispozitivele CMOS au un mod special de "aşteptare" (stand-bye sau

sleep) care limitează consumul de curent la câţiva miliamperi când un circuit este

inactiv.

un alt considerent în proiectarea circuitelor cu microcontrolere este modul de

memorare a programului. Dintre modalităţile de memorare amintim memoriile

EPROM, EEPROM, ROM, NVRAM (nonvolatile RAM) şi FLASH EPROM.

opţiuni de intrare-ieşire. Majoritatea sistemelor necesită interfeţe cu senzori,

tastatura, comutatoare, relee, monitoare etc. În general microcontrolerele au porturi

pentru interfaţarea cu lumea exterioară.

Pe piaţa naţionala şi internaţională se găsesc microcontrolere de 4 biţi, de 8 biţi, de 16 biţi,

de 32 de biţi. Cele mai folosite microcontrolere sunt cele de 8 şi 16 biţi. În al doilea caz avem

microcontrolere cu arhitectura Von Neuman, având magistrala internă unică la care comunică

toate elementele, sau microcontrolere cu arhitectura Harvard, având două magistrale, una pentru

memoria ROM de programe şi alta pentru memoria RAM de date. În acest caz cele două tipuri de

memorii utilizează acelaşi spaţiu de adrese, ele nu se confundă datorita existenţei unor

instrucţiuni adecvate lucrului cu memoriile.

Proiectarea unor produse embedded, utile si ieftine poate fi o provocare chiar si pentru cei

mai experimentaţi ingineri. In prezent, proiectele embedded necesita optimizarea numărului de

componente, a dimensiunii fizice, a consumului de putere sau a costului, sau a tuturor celor de

mai sus. Produsele embedded complet optimizate folosesc foarte puţine resurse care se irosesc.

Aceasta forţează adesea proiectanţii sa aleagă componente mai puţin costisitoare care cred ei ca

vor funcţiona acolo unde componente mai scumpe ştiu ca vor funcţiona.

Pentru a rezolva aceasta problema si a uşura problematica prezentată mai sus, Cypress

MicroSystems, a dezvoltat o linie de sisteme semnal mixat care se caracterizează prin controler

pe placa. Aceste dispozitive PSoC permit personalizarea setului periferic in aşa fel încât sa se

adapteze cel mai bine la aplicaţia dorită - in orice moment pe durata procesului de dezvoltare.

Fiecare parte conţine blocuri de circuite analogice si blocuri de circuite digitale care pot fi

configurate in perifericele care se potrivesc cel mai bine aplicaţiei. În cazul în care circuitele de

comandă şi protecţie, spre exemplu, necesită o modificare în setul de caracteristici al sistemului

se poate modifica simplu configuraţia iniţială fără a mai fi nevoie de alegerea unei noi piese.

Blocurile analogice si digitale incorporate sunt folosite pentru a crea periferice pe aceste

dispozitive. Blocurile PSoC digitale pot implementa o varietate de funcţii microcontroler

standard, cum ar fi timere, PWMe (Pulse Width Modulators) si canale de comunicaţie seriala.

Ele pot, de asemenea, sa implementeze funcţii care nu sunt in mod normal disponibile in

hardware pe microcontrolere - cum ar fi PRS (Pseudo Random Sequence generators) si CRC

(Cyclical Redundancy Checkers).

Alegerea siliciului este influenţata in mare măsura de disponibilitatea uneltelor de înalta

calitate. Cypress MicroSystems a creat, de asemenea, un IDE (Integrated Development

Environment) pentru dezvoltare cu aceste produse. Numit "PsoC Designer", programul va

permite configurarea resursele analogice si digitale de la o interfaţa grafica utilizator. Utilizatorul

creează setul periferic care se potriveşte cel mai bine aplicaţiei si software-ul generează automat

un set de fişiere care setează biţii registrului corespunzător pentru a implementa alegerile făcute.

Page 57: Echipamente Numerice CURS

IDE-ul creează, de asemenea, interfeţe de programare pentru perifericele selectate pentru a iuţi

dezvoltarea software-lui.

4.1.3. Schema sistemică a circuitului de comandă numerică cu microcontroler de tip

Cypress

În figura 4.3 este prezentată schema sistemică a sistemului de comandă numerică dedicat

comutaţiei si protecţiei unui consumator de tip motor electric, în care sunt inventariate toate

intrările, respectiv ieşirile logice ale sistemului microprogramabil.

Fig.4.2 Schema sistemică a circuitului numeric

În faza de definire a problemei se determină semnalele de intrare şi ieşire din sistem,

viteza de variaţie a acestora, cantitatea şi viteza de prelucrare cerută, tipul de erori şi modul lor

de tratare.

La proiectarea şi realizarea sistemelor în logică programată se parcurg următoarele etape:

alegerea configuraţiei microsistemului, care se face pe baza analizei de sistem. În

această etapă se determină numărul porturilor de intrare şi celor de ieşire, numărul

dispozitivelor de transmisie a informaţiilor, capacitatea memoriei, tipurile şi

numărul dispozitivelor de interfaţă cu procesul. Tot în această fază se face o

analiză preliminară a performanţelor cerute sistemului şi a măsurilor speciale care

se iau în vedere la obţinerea acestora.

proiectarea programului, care constă într-o descriere schematică a operaţiilor pe

care sistemul de calcul trebuie să le execute pentru a rezolva sarcinile impuse;

scrierea limbajului sursa în limbaj de asamblare sau într-un limbaj de programare

superior;

asamblarea programului – fază executată automat şi care are drept rezultat

obţinerea programului în cod maşină;

testarea programului – este o fază care are drept scop asigurarea că programul

execută corect sarcinile care i-au fost impuse. Ciclul de scriere, asamblare si

Page 58: Echipamente Numerice CURS

testare se parcurge de obicei de mai multe ori până la obţinerea unui program n

cod maşină care să funcţioneze corect. În această etapă se pot utiliza software-uri

grafice, dedicate, pentru simularea corectă a funcţionarii.

În final trebuie verificat dacă programul scris satisface cerinţele impuse prin tema de

proiectare. Se verifică, în această etapă, îndeosebi viteza de răspuns a sistemului. Dacă sistemul

nu corespunde, în anumite condiţii, cerinţelor impuse, se încearcă optimizarea sistemului. Dacă

nici aşa nu se obţin condiţiile dorite, se reia analiza sistemului şi se determină ce sarcini ale

sistemului în logică programată pot fi relativ uşor rezolvat în logică cablată.

4.1.4. Implementarea circuitului cu microcontroler în schema sistemică

O altă rezolvare a aplicaţiei prezentate în subcapitolul 3.1 se poate aborda apelând la o

soluţie de comandă logică şi de control cu microcontroler ce utilizează un sistem

microprogramabil aparţinând companiei americane Cypress MicroSystems.

În fig.3.4. se prezintă explicit conexiunile de intrare-ieşire, proiectate, la sistemul cu

microcontroler de tip CY3C29466 din familia de Cypress, la care intrările de date TTL sunt

marcate şi ieşirile logice sunt conectate la porturile dedicate ale microcontrolerului. Pentru a

păstra aceeaşi logică, adoptată şi la construcţia schemei sistemice, driverele considerate ca intrări

ale sistemului s-au amplasat în partea stângă a sistemului microprogramabil, iar driverele

considerate ieşiri în parte dreaptă. De menţionat însă că datorită faptului că microcontrolerul din

familia Cypress este foarte versatil si permite alegerea porturilor de intrare / ieşire după cum

doreşte utilizatorul, din cei 28 de pini – 24 dintre aceştia pot fi utilizaţi ca porturi de

intrare/ieşire.

Fig.4.3 Schema explicită de interfaţare TTL a microcontrolerului

Porturile de ieşire ale microcontrolerului comandă fie led-uri de semnalizare optică, fie

bobina unui microreleu. Activarea ori cărei sarcini de pe un port de ieşire se face cu semnal 1

logic la portul corespunzător.

P0[1]

P0[3]

P0[5]

P0[7]

P2[7]

P2[5]

P2[3]

P2[1]

P1[7]

P1[5]

P1[3]

P1[1]

Vss

1

2

3

4

5

6

7

8

9

10

11

12

13

14

Vdd

P0[6]

P0[4]

P0[0]

P0[2]

P2[6]

P2[4]

P2[2]

P2[0]

P1[0]

P1[2]

P1[4]

P1[6]

28

27

26

25

24

23

22

21

20

19

18

17

16

15

VDD(5V)

VDD

P

C

L_PermitePornire.K1

L_BlocarePornire.K1

R

R

R

R

R

R

R

R

L_temporizare.K2

L_Umin

L_Rss

L_Rse

L_Rt

L_PornireM

C Y

8 C

2 9

4 6

6

PSoC

Cypress

MicroSystems

Rss

Rse

Rrt

RUmin

K2

K1

O

Page 59: Echipamente Numerice CURS

4.1.2 Comanda numerică a sistemului de acţionare electromecanică propus

Se va evidenţia in continuare flexibilitatea cu care se poate programa un microcontroler

de tip Cypress, numit prescurtat PSoC – (Programmable System on Chip) „Sistem Programabil

pe Chip”. Programarea microcontrolerului se realizează prin intermediul software-ului PSoC

Designer 5.0 (Integrated Development Environment for Cypress MicroSystems' Programmable-

System-on-Chip technology) şi este utilizat ca interfaţă in vederea configurării şi programării din

punct de vedere al sistemului analogic, respectiv al sistemului digital al PSoC, []. Resursele celor

două tipuri de sisteme integrat in microcontroler sunt:

Fig.4.4 Algoritmul de proiectare utilizând microcontrolerul Cypress

Pentru a putea dezvolta un proiect, utilizând un microcontroler de tip Cypress programat

cu ajutorul software-ului dedicat PSoC Designer 5.0, trebuie identificate componentele grafice

puse la dispoziţia utilizatorului şi anume:

INTRARE – Acest simbol toate intrările disponibile în programul grafic

PSoC Designer

IEŞIRE – Acest simbol defineşte toate ieşirile disponibile în programul

grafic PSoC Designer

Tot ce trebuie este o idee pentru a putea

începe programarea microcontrolerului in

PSOC Designer

Amplasarea componentelor grafice prin

metoda Drag and Drop

Salvarea proiectului în mod frecvent

Simularea și testarea modului în care a fost

gândit proiectul

IDEEA

PROIECTARE

SALVARE PROIECT

SIMULARE

Funcţionare corespunzătoare?

NU PERSONALIZARE COD

Construire Proiect Atribuire Pini

PROGRAMARE MICROCONTROLER

DA

Page 60: Echipamente Numerice CURS

VALUATOR – Acest simbol defineşte variabilele locale şi analiza de

expresii, tabele de adevăr şi funcţiile de stare ale componentelor din PSoC

Designer

INTERFATĂ – Acest simbol defineşte interfaţa cu comunicaţiile exterioare

Programul grafic pune la dispoziţia utilizatorului interfeţele grafice prezentate mai sus,

însă pentru a dezvolta o aplicaţie trebuie parcurşi, secvenţial, trei paşi esenţiali şi anume:

Pasul 1

Pasul 2

Pasul 3

PSoC Designer utilizează aceleaşi expresii logice acceptate de limbajul de programare C.

Să presupunem acum că dorim să verificăm validitatea unor date de intrare şi apoi să facem un

calcul sau să afişăm un mesaj de eroare, dar să nu le facem pe amândouă. Pentru aceasta va

trebui să punem o întrebare şi, bazându-ne pe răspuns, să alegem una sau alta dintre variantele de

evoluţie a programului.

SELECTARE INTRĂRI ȘI IEȘIRI

DEFINIRE A

COMPORTAMENTULUI

IEȘIRILOR FUNCȚIE DE

INTRĂRI

SIMULARE SI VERIFICARE PE

CALCULATOR

Page 61: Echipamente Numerice CURS

Tabelul 1 Sintaxe utilizate în programul PSoC Designer

OPERATOR EXPRESIE DEFINIŢIE

>> TRANSFER UN BIT LA DREAPTA Deplasează toţi biţii la dreapta cu un bit

<< TRANSFER UN BIT LA STÂNGA Deplasează toţi biţii la stânga cu un bit

&& SI LOGIC ADEVĂRAT dacă ambii operanzi sunt adevăraţi

|| SAU LOGIC ADEVĂRAT dacă cel puţin unul dintre operanzi este adevărat

<= MAI MIC SAU EGAL ADEVĂRAT daca operandul din stânga este mai mic sau egal decât operandul din dreapta

>= MAI MARE SAU EGAL ADEVĂRAT daca operandul din stânga este mai mare sau egal decât operandul din dreapta

!= TESTE DE INEGALITATE ADEVĂRAT dacă operanzii nu sunt egali

( PARANTEZĂ LA STÂNGA Închide partea din stânga a unei ecuaţii

) PARANTEZĂ LA DREAPTA Închide partea din dreapta a unei ecuaţii

!Valoare NU LOGIC ADEVĂRAT dacă Valoare este egală cu zero, altfel FALS

- MINUS Scade operandul din dreapta din cel din stânga

+ PLUS Adună operandului din stânga valoare operandului din dreapta

* ÎNMULŢIRE Înmulţeşte operandul din stânga cu cel din dreapta

/ ÎMPĂRŢIRE Împarte operandul din stânga cu cel din dreapta

% DIVIZIUNE MODULO Egal cu Restul împărţirii valorii din dreapta la valoarea din stânga

< MAI MIC ADEVĂRAT dac valoarea din stânga este mai mică decât valoarea din dreapta

> MAI MARE ADEVĂRAT dac valoarea din stânga este mai mare decât valoarea din dreapta

& SI LA NIVEL DE BIT 1 daca ambele valori din stânga şi dreapta sunt 1

~Valoare NU LA NIVEL DE BIT 1 daca Valoare este 0

^ XOR LA NIVEL DE BIT 1 daca valoarea din stânga şi din dreapta sunt 1, dar nu ambele, altfel 0

== EGALITATE 1 daca valoarea din stânga este egală cu valoarea din dreapta

| OR LA NIVEL DE BIT 1, dacă 1 în stânga, dreapta sau ambele

Pentru a pune o întrebare în C++, facem o presupunere care poate fi adevărată sau falsă.

Calculatorul evaluează presupunerea pentru a constata dacă este adevărată sau falsă. În C++

presupunerile iau forma expresiilor logice sau booleene. O astfel de expresie este alcătuită din valori

Page 62: Echipamente Numerice CURS

logice şi operaţii. Aceste funcţii ale unităţii logice se aleg cu ajutorul instrucţiunilor prezentate în

tabelul 1.

4.1.4. Programarea microcontrolerului din schema sistemică

Utilizarea logicii programate constituie o modalitate calitativ superioară de realizare a

echipamentelor electrice de comandă şi protecţie destinate atmosferei potenţial explozive. Se

asigură o flexibilitate deosebită a dispozitivelor de comandă şi protecţie permiţând modificări şi

dezvoltări ulterioare. Dacă în cazul logicii programate, utilizate în realizarea echipamentelor de

comandă şi protecţie actuale, orice modificare în funcţionarea echipamentului de comandă şi

protecţie implică realizarea unui cablaj nou, unor legături noi între elemente în cazul

echipamentelor cu logică programabilă modificarea constă în simpla înscriere a unor alte valori

în memoria program a microcontrolerului (microprocesorului).

Fig.4.5 Interfaţa grafică a bibliotecii de dispozitive prevăzute în software-ul PSoC Designer 5

Se realizează astfel economii însemnate de timp şi manoperă, totodată aceste facilităţi ale

utilizării echipamentelor cu logică programabilă permit tipizarea echipamentelor de intrare/ieşire

şi a unităţii centrale, personalizarea unui anumit dispozitiv de comandă făcându-se prin

programul implementat. Ciclul clasic schemă electrică – realizare cablaj (interconectarea

elementelor) – verificarea funcţionării – refacerea schemei etc., se modifică existând posibilitatea

realizării „în paralel” a punerii la punct a programelor pe un echipament de programare cu

execuţia electrică şi mecanică uzual cu elemente tipizate, a părţii electronice: unitatea centrală,

sursă de alimentare şi intrări, ieşiri într-un număr corespunzător aplicaţiei. Toate eventualele

modificări la punerea în funcţiune a instalaţiei se fac prin echipamentul de programare fără a

afecta cablajul realizat. Eficienţa activităţii de proiectare – implementare creşte considerabil.

Echipamentul de comandă şi protecţie cu microcontroler se remarcă prin reducerea numărului de

componente (datorită utilizării unor circuite integrate conţinute în arhitectura

microcontrolerului), creşterea fiabilităţii (numărul redus de componente externe

microcontrolerului conduce la o uzură electrică şi mecanică) şi reducerea importantă a

Page 63: Echipamente Numerice CURS

consumului de energie electrică. Există posibilitatea utilizării unor programe de autotestare ceea

ce uşurează activitatea de întreţinere şi de service. Datorită executării secvenţiale a operaţiilor,

există situaţii în special în cazul comenzilor rapide cum este cazul comenzii de decuplare la

scurtcircuit în care timpul de răspuns al releelor cu logică programată nu este satisfăcător şi se

impune utilizarea acestora în combinaţie cu logica electronică cablată[].

În figura 4.5 este prezentată interfaţa grafică a bibliotecii de dispozitive prevăzute în

software-ul PSoC Designer 5. Pentru a dezvolta aplicaţia propusă trebuie urmărită cu atenţie

schema sistemică concepută pentru a identifica, componentele care trebuie alese din biblioteca

programului grafic.

Lisa dispozitivelor ce urmează a fi alese pentru dezvoltarea aplicaţiei:

Nr.crt. Dispozitiv Librărie drivere/Mod de alegere

1 Buton pornire - P INTRARE / Tactile/Button/Normally Open/Internal Pullup N_O

2 Contact pornire - K1 INTRARE / Tactile/Switch/Normally Open/Internal Pullup N_O

3 Contact

Temporizare - K2 INTRARE / Tactile/Switch/Normally Open/Internal Pullup N_O

4 Contact Releu

Suprasarcină - Rss INTRARE / Tactile/Switch/Normally Open/Internal Pullup N_O

5 Contact Releu

scurtcircuit - Rsc INTRARE / Tactile/Switch/Normally Open/Internal Pullup N_O

6 Contact releu tens.

min. - RUmin INTRARE / Tactile/Switch/Normally Open/Internal Pullup N_O

7 Contact releul

temperatură - Rt INTRARE / Tactile/Switch/Normally Open/Internal Pullup N_O

8 Buton oprire - O INTRARE / Tactile/Button/Normally Closed/Internal Pullup N_O

9 Led Pornire IEŞIRE/Display/LED/Single Color/On/Off

10 Led Temporizare IEŞIRE/Display/LED/Single Color/On/Off

11 Led Rsc IEŞIRE/Display/LED/Single Color/On/Off

12 Led Rss IEŞIRE/Display/LED/Single Color/On/Off

13 Led Rt IEŞIRE/Display/LED/Single Color/On/Off

14 Led RUmin IEŞIRE/Display/LED/Single Color/On/Off

15 Led Blocare Pornire IEŞIRE/Display/LED/Single Color/On/Off

16 Led Permite Pornire IEŞIRE/Display/LED/Single Color/On/Off

După alegerea dispozitivelor din biblioteca de drivere ale programului grafic se va obţine,

pentru aplicaţia data, o interfaţă grafica similară celei prezentate în figura 4.5

Pornind de la schema electrică de acţionare propusă, s-a construit o aplicaţie grafică, în

vederea programării microcontrolerului în conformitate cu algoritmul logic construit. Aplicaţia

grafică emulează driverele de intrare – ieşire ale sistemului de acţionare real şi a fost împărţită

sugestiv în următoarele subdiviziuni:

Pornire autorizată care cuprinde următoarele drivere de intrare – ieşire:

contactul K1 de blocaj, care restricţionează accesul la circuitul de comandă al

acţionării

LED BlocarePornire, care semnalizeze optic corespunzător motivul de refuz al

pornirii;

LED PermitePornire, care semnalizeze optic corespunzător motivul de accept al

pornirii;

Page 64: Echipamente Numerice CURS

Fig.4.6 Interfaţa grafică a circuitului de comandă, control şi protecţie (1)

Comandă care cuprinde următoarele drivere de intrare:

Butonul de pornire P, care permite pornirea motorului M numai dacă sunt

îndeplinite în totalitate condiţiile de pornire impuse de către sistemele de protecţii

specifice sistemului;

Butonul de oprire I, care permite oprirea motorului M şi totodată să permită

cicluri succesive de pornire-oprire a motorului M

Bloc de temporizare care cuprinde următoarele drivere de intrare:

Contactul K2, prin care se stabileşte dacă pornirea motorului va fi fără sau cu

temporizarea programata T;

Temporizator Temp, prin care se generează intervale de timp utilizate la setarea

temporizării T;

Protecţii care cuprinde următoarele drivere de intrare:

Contact Rsc, care corespunde subsistemului de protecţie pentru controlul maximal

în regim de scurtcircuit;

Contact Rss, care corespunde subsistemului de protecţie pentru controlul în regim

de suprasarcina;

Contact Rt, care corespunde subsistemului de protecţie pentru controlul efectiv al

temperaturii din înfăşurările motorului M;

Contact RUmin, care corespunde subsistemului de protecţie pentru controlul

minimal al tensiunii electrice.

Semnalizări care cuprinde următoarele drivere de ieşire:

LED L_Rsc, care semnalizează optic motivul de decuplare instantanee cauzată de

regimul de scurtcircuit;

Page 65: Echipamente Numerice CURS

LED L_Rss, care semnalizează optic motivul de decuplare instantanee cauzată de

regimul de suprasarcina;

LED L_Rt, care semnalizează optic motivul de decuplare instantanee cauzată de

supratemperatura din înfăşurările motorului M;

LED L_RUmin, care semnalizează optic motivul de decuplare instantanee cauzată

de scăderea tensiunii electrice sub pragul de referinţă limită admis;

LED L_Pornire, care semnalizează optic pornirea motorului daca toate condiţiile

de pornire sunt îndeplinite;

LED L_Temporizare, care semnalizează optic faptul că pornirea motorului s-a

realizat cu temporizarea de pornire dT propusă.

Funcţii de transfer care cuprinde următoarele drivere corespondenţă între intrări şi ieşiri:

Funcţia de transfer FcTransfer_1;

Funcţia de transfer FcTransfer_2;

Funcţia de transfer FcTIMP.

Fig.4.7 Sinteza logica a evaluatorului FcTransfer_1

În figura 4.7,a este prezentată interfaţa grafică în care s-a sintetizat funcţia de evaluare, de

tip Table Lookup, corespunzătoare intrărilor P, K1, Rss, Rsc, RUmin, Rt. Funcţia de evaluare

este elementul care leagă intrările logice de ieşirile de control. Funcţiile de evaluare reprezintă

esenţă o metodă eficientă de analiză a expresiilor, de evaluare a priorităţilor, de identificare a

tipului de ieşiri şi de administrare a stărilor logice. Pentru sintetizarea funcţiei de evaluare

FcTransfer_1 sau ales intrările prezentate mai sus, prin apăsarea butonului ”Set Inputs”, utilizând

interfaţa din fig. 4.7,b. După alegerea intrărilor se apasă Next şi pe ecran va apărea un interfaţa

grafică ”Add Values”, care permite programatorului altor valori logice a ieşirii obiect. În cazul

de faţă avem nevoie de două stări ale funcţiei de evaluare, valori care există implicit si anume

ON căruia îi corespunde valoarea 1 logic, respectiv OFF căruia îi corespunde valoarea 0 logic.

Tabelul Table Lookup este ultima etapă care face corelaţia dintre butoanele/contactele de intrare

şi ieşire, în cazul de faţă funcţia de evaluare.

a)

b)

c)

Page 66: Echipamente Numerice CURS

Tabelul 2 Tabelul de adevăr al funcţiei de evaluare ”FcTransfer_1”

Intrare 1 (Rt)

Intrare 2 (Rss)

Intrare 3 (Rsc)

Intrare 4 (RUmin)

Intrare 5 (P)

Intrare 6 (K1)

Ieşire FcTransf_1

0 0 0 0 0 0 0

0 0 0 0 0 1 0

0 0 0 0 1 0 0

0 0 0 0 1 1 1

0 0 0 1 0 0 0

0 0 0 1 0 1 0

.

.

.

1 1 1 1 1 0 0

1 1 1 1 1 1 0

În tabelul 2 este prezentată tabela de adevăr a funcţiei de evaluare ”FcTransfer_1”, în

care după cum se vede avem 6 intrări cu toate combinaţiile posibile. Pentru cazul aplicaţiei

noastre tabela de adevăr se exemplifică astfel: FcTransfer_1 a fost creată pentru a sintetiza

combinaţiile posibile ale intrărilor alese si anume aceasta trebuie sa aibă valoarea 1 logic

(Adevărat) nu mai in cazul în care contactul K1 este închis (1L) şi butonul de pornire P este

apăsat (1L), respectiv protecţiile motorului nu trebuie să fie active. Tabelul nu a fost prezentat în

totalitate, liniile intermediare fiind evidente, ci s-a pus accent pe linia 4 a acestuia (linia

îngroşată) deoarece aceste combinaţii ale intrărilor trebuie sa activeze funcţia de evaluare

FcTransfer_1.

Fig.4.8 Sinteza logica a funcţiei de transfer corespunzătoare condiţiei de ”pornire autorizată”

Pentru subdiviziunea de Pornire autorizată care cuprinde contactul K1 de blocaj, LED-ul

BlocarePornire, respectiv LED-ul PermitePornire, se utilizează tot o funcţie de transfer de tip

Table Lookup. Tot ce trebuie realizat în cazul de faţă este alegerea ca intrare a contactului K1

precum în figura 4.8. În partea din stânga a figurii este prezentată interfaţa grafică a funcţiei de

transfer corespunzătoare comenzii de permitere a pornirii motorului. Astfel, se amplasează o

stare a intrării (din partea stângă a interfeţei) la o stare corespunzătoare a ieşirii (din partea

dreaptă a interfeţei), prin metoda ”drag and drop”. În cazul nostru dorim ca atunci când contactul

Page 67: Echipamente Numerice CURS

K1 este închis (ON) să se aprindă ledul corespunzător permiterii efectuării comenzii. Pentru

cazul în care contactul nu este apăsat ledul rămâne stins. În mod similar se face si pentru

comanda de BlocarePornire, doar ca de această data ledul se aprinde când contactul nu este

închis. Pentru a permite comanda de pornire se poate utiliza un led de culoare verde, care să

indice faptul că s-a permis comanda, iar pentru comanda de blocare a pornirii se poate utiliza un

led de culoare roşie, care să indice faptul că o posibilă comandă de pornire este blocată.

După ce s-a finalizat procesul de amplasare a stărilor ON/OFF se pasă OK şi se revine la

proiectul iniţial, putându-se observa o linie roşie de conexiune între driverul de intrare şi ce de

ieşire, precum în figura4.6.

Pentru a sintetiza temporizarea la pornire a motorului s-a utilizat o funcţie de evaluare

FC_TIMP, de tip Priority Encoder. O astfel de funcţie de evaluare evaluează din punct de vedere

logic dacă valoare de intrare este ”Adevărată” începând cu prima expresie a funcţiei grafice. În

interfaţa grafică se pot adăuga până la 63 de expresii logice. Utilizând această o funcţie de

evaluare starea logică a elementului de ieşire depinde de condiţiile de intrare introduse.

Expresiile introduse aparţin limbajului de programare C şi sunt de tipul if-then-else-if-then.

Pentru situaţia în care se stabileşte că pornirea motorului se va realiza cu temporizarea

programata T, s-a ales un element de intrare de tip Interval Generator. Utilizând acest element se

generează temporizări programate, iar pentru aplicaţia descrisă s-a ales o temporizare de 1000ms.

Fig.4.9 Sinteza logica a evaluatorului FC_TIMP

În figura 4.9 este prezentată detaliat interfaţa grafică a evaluatorului TC_TIMP, utilizat la

stabilirea temporizării le pornire, în care expresiile de tip Boole utilizate au următoare

semnificaţie: dacă generatorul de interval este declanşat atunci evaluatorul va incrementa câte o

secundă (1000ms).

Evaluatorul FcTransfer_2, utilizează ca intrare contactul K2, care atunci când este închis

pornirea motorului se realizează direct, fără temporizare.

Fig.4.9 Sinteza logica a evaluatorului FcTransfer_2

Page 68: Echipamente Numerice CURS

Dacă comutatorul K2 este închis atunci pornirea motorului trebuie să se realizeze direct

(FcTransfer_2__LipsaTemp), iar dacă comutatorul K2 este deschis atunci evaluatorul TC_TIMP

va incrementa câte o secundă. Deoarece generatorul de interval a fost programat la 1000ms

FC_TIMP va incrementa o singură dată şi astfel se va atinge T = 2s, durata temporizării dorite.

De menţionat că in condiţii reale de funcţionare temporizarea la pornire este cuprinsa, în general,

între 5 – 10 s. În această situaţie condiţia a doua din figura 4.9 va devenii:

If (K2 == K2__Off) && (FC_TIMP > 10) then FcTransfer_2 = FcTransfer__Temp

Pentru expresia de mai sus s-a utilizat un ŞI logic a cărui valoare este adevărată dacă

ambii operanzi sunt adevăraţi, adică evaluatorul FcTransfer_2 va fi adevărat dacă vom avea

contactul K2 deschis şi după scurgerea timpului programat de temporizare.

Fig.4.10 Sinteza logica a funcţiei de transfer corespunzătoare pornirii motorului

Semnalizările optice sunt realizate cu led-uri şi anume: LED L_Rsc, LED L_Rss, LED

L_Rt, LED L_RUmin, LED L_Pornire, LED L_Temporizare. Pentru ca fiecare din aceste

semnalizări să funcţioneze precum a fost impus prin condiţiile iniţiale s-a utilizat funcţii de

transfer de tip Table Lookup, similare cu cele utilizate în cazul subdiviziunii de ”pornire

autorizată”. Interfeţele grafice ale funcţiilor de transfer sunt identice cu cele prezentate în figura

4.8. Fiecare dintre aceste semnalizări corespunde unui anumit tip de avarie ceea ce însemna că

in interfaţa logică se va alege individual pentru fiecare tip de intrare-ieşire.

Funcţia care integrează toate celelalte subsisteme de evaluare este funcţia de transfer

Pornire, care utilizează un evaluator de tip Priority Encoder. În figura 4.10 este prezentată

interfaţa logică a evaluatorului, în care sunt consideraţi operatori de intrare funcţiile logice

FcTransfer_1, FcTransfer_2, respectiv butonul de oprire O.

Tabela de adevăr a funcţiei de transfer corespunzătoare pornirii motorului este prezentată

în tabelul 3. Conform acestui tabel de adevăr motorul trebuie să pornească dacă:

sunt îndeplinite condiţiile de pornire – butonul de pornire autorizată K1 închis, butonul de

pornire apăsat şi în sistem să nu existe nici o avarie – ceea ce corespunde la faptul că

funcţia FCTransfer_1 este adevărată (1L)

este îndeplinită condiţia de interogare a contactului K2 prin care se stabileşte dacă

pornirea motorului va fi fără sau cu temporizarea programata T; Dacă este programată

temporizarea T la pornire, se semnalizează optic, prin portul corespunzător, pe toată

durata temporizării;

este îndeplinită condiţia de interogare a butonului de oprire O prin care se stabileşte că

trebuie să existe posibilitatea ca în orice moment motorul să poată fi oprit.

Page 69: Echipamente Numerice CURS

Tabelul 3 Tabelul de adevăr al funcţiei de transfer ”Pornire”

Intrare 1 (FcTransfer_1)

Intrare 2 (FcTransfer_2)

Intrare 3 (O)

Ieşire (Pornire)

0 0 0 0

0 0 1 0

0 1 0 0

0 1 1 0

1 0 0 1

1 0 1 0

1 1 0 1

1 1 1 0

Deoarece în figura 4.10 nu au putut fi exemplificate toate expresiile logice, acestea sunt

prezentate explicit în figura 4.11. Această reprezentare este echivalentul expresiilor în limbajul

de programare C al tabelului 3.

Fig.4.11 Expresiile logice corespunzătoare pornirii motorului

După proiectarea grafică şi scrierea unor expresii logice clasice se trece la simularea

proiectului dezvoltat. Pentru aceasta se va folosii simulatorul cu care este prevăzut software-ul de

programare a microcontrolerului – PsoCDesigner5.0, cu ajutorul căruia se verifică dacă logica

din condiţiile iniţiale a fost corect exprimată în programarea grafică. Înainte de trecere la etapa

de simulare trebuie salvat proiectul etapa aceasta fiind prezentată şi în algoritmul din figura 4.4.

La intrarea în modul de simulare se observă că pe ecran va apărea o interfaţă similară

celeia în care sa realizat proiectul, cu excepţia faptului că lângă fiecare componentă de

intrare/ieşire se găseşte câte o căsuţă în care apare poziţia curentă a fiecărui element ales.

Page 70: Echipamente Numerice CURS

Fig.4.12 Simularea funcţionării sistemului de comandă numerică dezvoltat

În interfaţa grafică din figura 4.12 s-a simulat subdiviziunea de pornire autorizată, iar

pentru componenta de intrare K1 utilizând butonul din stânga al Mouse-ului se oferă posibilitatea

schimbării valorii componentei de intrare On sau Off (Buton apăsat Buton relaxat). Se observă

că în cazul în care contactul K1 este deschis se va aprinde ledul care indică blocarea comenzii de

pornire.

Fig.4.13 Simularea funcţionării sistemului de comandă numerică dezvoltat

În figura 4.13 s-a simulat pornirea motorului, caz în care contactul de pornire autorizată

K1 este închis, semnalizându-se optic prin ledul PermitePornire acest lucru, butonul de pornire P

Page 71: Echipamente Numerice CURS

este apăsat, nu există nici un fel de avarie în circuitul electric controlat, butonul de oprire O este

deschis, respectiv contactul de temporizare K1 este apăsat, deci pornirea are loc fără temporizare.

Fig.4.14 Simularea funcţionării sistemului de comandă numerică dezvoltat

În acest caz se semnalizează pornirea motorului prin intermediul Led-ului Pornire,

respectiv ledul L_Temporizare indică faptul ca pornirea a avut loc fără temporizare.

Fig.4.15 Simularea funcţionării sistemului de comandă numerică dezvoltat

În figura 4.14 s-a simulat pornirea motorului după intervalul programat de timp, în cazul

nostru 2 secunde. Se poate observa că FC_TIMP a ajuns la 3 secunde caz în care motorul a

Page 72: Echipamente Numerice CURS

primit deja comanda de pornire. În figura 4.15 s-a simulat cazul în care avem prezente avarii în

circuitul electric controlat, caz în care se observă că toate avariile apărute în sistem sunt

semnalizate corespunzător, iar tensiunea a fost decuplată instantaneu deoarece ieşirea Pornire

este OFF

Fig.4.16 Selectarea dispozitivului microprogramabil

După ce proiectul a fost simulat se trece la programarea efectivă a microcontrolerului, iar

pentru asta trebuie ale tipul de microcontroler, iar în figura 4.16 este prezentată interfaţa grafică

de alegere a familiei de microcontroler. În partea dreaptă a acestei interfeţe grafice sunt date

caracteristicile fiecărui tip de microcontroler. Pentru cazul nostru am ales un microcontroler cu

28 de pini seria CY8C29466.

Fig.4.17 Selectarea pinilor microcontrolerului

După alegerea tipului de microcontroler se apasă Next şi se ajunge la interfaţa prezentată

în figura 4.17 în care i se permite programatorului să aşeze componentele de intrare/ieşire la

oricare din pinii microcontrolerului. Se observă ca în momentul când este selectat un pin

locaţiile unde acesta ar putea fi amplasat sunt identificabile prin culoarea verde. După

particularizarea pinilor microcontrolerului se apasă Next, iar programul PSoCDesigner 5.0 va

realiza programarea automată a microcontrolerului fără să mai fie nevoie să scriem alte linii de

programare.

După compilarea programului se va genera automat codul C++:

Page 73: Echipamente Numerice CURS

#include <m8c.h> // part specific constants and macros

#include "PSoCAPI.h" // PSoC API definitions for all User Modules

#include "driverdecl.h"

#include "CMXSystem.h"

#include "CMXSystemExtern.h"

#include "TransferFunction.h"

#include "cmx.h"

#include "ProjectProperties.h"

#include "Custom.h"

// Channel includes

void main( void )

{

// Initialize Project

M8C_EnableGInt; // Turn on interrupts

SystemTimer_Start();

SystemTimer_SetInterval(SystemTimer_64_HZ);

SystemTimer_EnableInt();

// Initialize Channels

I2C_CFG &= 0xFC; // Disable I2C in case it's

not used.

// Initialize Variables

SystemVars.ReadOnlyVars.pse_BocarePornire = 0;

SystemVars.ReadOnlyVars.pse_FC_TIMP = 0;

SystemVars.ReadOnlyVars.pse_FcTransfer_1 = 0;

SystemVars.ReadOnlyVars.pse_FcTransfer_2 = 0;

SystemVars.ReadOnlyVars.pse_K1 = 0;

SystemVars.ReadOnlyVars.pse_K2 = 0;

SystemVars.ReadOnlyVars.pse_L_Rsc = 0;

SystemVars.ReadOnlyVars.pse_L_Rss = 0;

SystemVars.ReadOnlyVars.pse_L_Rt = 0;

SystemVars.ReadOnlyVars.pse_O = 0;

SystemVars.ReadOnlyVars.pse_P = 0;

SystemVars.ReadOnlyVars.pse_PermitePornire = 0;

SystemVars.ReadOnlyVars.pse_Pornire = 0;

SystemVars.ReadOnlyVars.pse_Rsc = 0;

SystemVars.ReadOnlyVars.pse_Rss = 0;

SystemVars.ReadOnlyVars.pse_Rt = 0;

SystemVars.ReadOnlyVars.pse_Temp = 0;

// Driver instantiations

CMX_GSWITCH_Instantiate(&pse_K1);

CMX_GSWITCH_Instantiate(&pse_O);

CMX_DIO_Instantiate(&pse_PermitePornire);

CMX_DIO_SetValue(&pse_PermitePornire,

(BYTE)SystemVars.ReadOnlyVars.pse_PermitePornire);

CMX_GSWITCH_Instantiate(&pse_P);

CMX_DIO_Instantiate(&pse_BocarePornire);

CMX_DIO_SetValue(&pse_BocarePornire,

(BYTE)SystemVars.ReadOnlyVars.pse_BocarePornire);

CMX_DIO_Instantiate(&pse_L_Rsc);

CMX_DIO_SetValue(&pse_L_Rsc, (BYTE)SystemVars.ReadOnlyVars.pse_L_Rsc);

CMX_GSWITCH_Instantiate(&pse_Rt);

CMX_DIO_Instantiate(&pse_L_Rss);

Page 74: Echipamente Numerice CURS

CMX_DIO_SetValue(&pse_L_Rss, (BYTE)SystemVars.ReadOnlyVars.pse_L_Rss);

CMX_GSWITCH_Instantiate(&pse_Rss);

CMX_DIO_Instantiate(&pse_L_Rt);

CMX_DIO_SetValue(&pse_L_Rt, (BYTE)SystemVars.ReadOnlyVars.pse_L_Rt);

CMX_GSWITCH_Instantiate(&pse_Rsc);

CMX_DIO_Instantiate(&pse_Pornire);

CMX_DIO_SetValue(&pse_Pornire, (BYTE)SystemVars.ReadOnlyVars.pse_Pornire);

CMX_GSWITCH_Instantiate(&pse_K2);

CMX_INTERVAL_Instantiate(&pse_Temp);

// Custom initization code.

CustomInit();

// End Initialize Project

while(1)

{

// Sync loop sample rate

#if ( SAMPLE_DIVIDER )

SystemTimer_SyncWait(SAMPLE_DIVIDER, SystemTimer_WAIT_RELOAD);

#endif

// update input variables

SystemVars.ReadOnlyVars.pse_K1 = CMX_GSWITCH_GetValue(&pse_K1);

SystemVars.ReadOnlyVars.pse_K2 = CMX_GSWITCH_GetValue(&pse_K2);

SystemVars.ReadOnlyVars.pse_O = CMX_GSWITCH_GetValue(&pse_O);

SystemVars.ReadOnlyVars.pse_P = CMX_GSWITCH_GetValue(&pse_P);

SystemVars.ReadOnlyVars.pse_Rsc = CMX_GSWITCH_GetValue(&pse_Rsc);

SystemVars.ReadOnlyVars.pse_Rss = CMX_GSWITCH_GetValue(&pse_Rss);

SystemVars.ReadOnlyVars.pse_Rt = CMX_GSWITCH_GetValue(&pse_Rt);

SystemVars.ReadOnlyVars.pse_Temp =

CMX_INTERVAL_GetValue(&pse_Temp);

// Custom Post Input function

CustomPostInputUpdate();

// run transfer function and update output variables

TransferFunction();

// CustomPreOutputUpdate();

CustomPreOutputUpdate();

// set outputs

CMX_DIO_SetValue(&pse_BocarePornire,

(BYTE)SystemVars.ReadOnlyVars.pse_BocarePornire);

CMX_DIO_SetValue(&pse_L_Rsc,

(BYTE)SystemVars.ReadOnlyVars.pse_L_Rsc);

CMX_DIO_SetValue(&pse_L_Rss,

(BYTE)SystemVars.ReadOnlyVars.pse_L_Rss);

CMX_DIO_SetValue(&pse_L_Rt,

(BYTE)SystemVars.ReadOnlyVars.pse_L_Rt);

CMX_DIO_SetValue(&pse_PermitePornire,

(BYTE)SystemVars.ReadOnlyVars.pse_PermitePornire);

CMX_DIO_SetValue(&pse_Pornire,

(BYTE)SystemVars.ReadOnlyVars.pse_Pornire);

}

}

Page 75: Echipamente Numerice CURS

5. IMPLEMENTAREA UNUI AUTOMAT PROGRAMABIL ÎN SCHEMA

SISTEMICĂ ÎN SCHEMA SISTEMICĂ

Informatii generale asupra software-ului EASY-SOFT

Proiectarea grafică a aplicaţiei propuse se face utilizând software -ul EASY SOFT 6.10,

ce este oferit gratuit ca utilitar de către furnizorul de echipamente MOELLER, ce permite atât

simularea cât şi vizualizarea aplicaţiei. EASY-SOFT este un program pentru PC-uri care permite

crearea, salvarea, simularea, documentarea şi transferul facil al schemelor (diagramelor)

proiectate înspre un sistem funcţional ales de către proiectant. De asemenea oferă on-line un

display al circuitului în funcţiune precum şi un display al tuturor funcţiilor asociate ale

parametrilor de tip releu. Facilităţile programului permit formate de vizualizare, editare şi tipărire

ale programelor de tip SPECIFIC, IEC -în acord cu standardele internaţionale sau ANSI -în

acord cu standardele Americane. Câteva meniuri ale programului de proiectare amintit simplifică

mult activitatea de proiectare a aplicaţiei. Activitatea de proiectare grafică a circuitului funcţional

poate fi ceată doar prin selecţia contactelor, bobinelor, releelor funcţionale sau ale blocurilor

funcţionale din fereastra Toolbox şi aducerea lor în fereastra Circuit Diagram, prin procedura

cunoscută drag and drop. Mouse-ul poate fi utilizat pentru realizarea conexiunilor dintre

diferitele componente din schemă, dacă conexiunile nu sunt trasate automat. Diagrama

circuitului poate fi introdusă prin comenzi ale tastaturii, simplificând astfel proiectarea de pe un

laptop. Adnotări pot fi făcute pe contacte şi bobine pentru o mai bună identificare a

componentelor. Un listing al componentelor alese, al coordonatelor şi conexiunilior lor,

împreună cu comentariile conexe, poate fi printat pentru a realiza o documentaţie a proiectului

conceput. Acest instrument virtual de simulare permite testarea schemelor proiectate făra ca

dispozitivul să fie conectat. Programul proiectat poate fi testat în întregime sau pe secţiuni şi

utilizează intrări, ieşiri, break points şi facilităţi de afişare pentru a ajuta în faza de simulare.

Diagrama (schema proiectată) testată poate fi transferată dispozitivului automat

programabil prin intermediul unui cablu conectat între acesta şi calculatorul PC.

Dispozitivele EASY400 500 600 700 sunt automate programabile cu funcţia de relee de

control electronic, dotate cu funcţii logice, cu temporizatoare, cu numărătoare şi comutatoare

temporizate, ce pot fi interfaţate drept dispozitive de intrare. Spre deosebire de seria precedentă,

dispozitivele EASY 800 oferă funcţii suplimentare de tip aritmetice şi permit un conexiuni pe

reţele de Internet. Prin conexiuni de internet se permite conectarea împreună a maximum 8

dispozitive de tip releu într un sistem integrat de control.. Controlerele de tip Easy 800 permit

implementarea sistemelor de mare viteză şi distribuţia funcţiunilor pentru fiecare staţie de

procesare pe reţeaua NET.

Dispozitivele MFD Titan sunt realizate in totalitate cu procesoarele Easy. Un dispozitiv

MFD oferă aceleaşi funcţii de control ca şi cele de tip Easy 800, dar au capabilitatea de a afişa

informaţii pe un display grafic propriu şipermit ca atare intervenţii în proces asupra variabilelor

de intrare.

Cu dispozitivele Easy se pot sintetiya diagrame de circuite logice în tehnica ladder.. Acest

lucru se poate realiza utilizând direct butoanele aferente şi display ul dispozitivului sau prin

utilizarea unui calculator PC şi a soft ului EASY-SOFT, care permite nu numai sinteza

aplicaţiilor ci şi testarea acestora. Informaţiile în legătură cu diagramele pot fi printate în format

DIN, ANSY sau format EASY.

Seria de dispozitive EASY 800 and MFD permite:

conectarea contactelor în serie şi în paralel;

comutaţia releelor de ieşire şi a unor relee auxiliare;

setarea circuitelor de ieşire ca bobine, relee de impuls, pe front crescător sau descrescător

sau a unor relee de tip latch, adica cu memorie;

Page 76: Echipamente Numerice CURS

selectia releelor de timp cu funcţii diferite (la acţionare, la acţionare/cu întârziere

aleatoare , la revenire, la revenire cu cu întârziere aleatoare, cu temporizare şi la

acţionare şi la revenire, aleatoare sau nu, cu sincronizare sau nu, etc.

utilizarea de numărătoare directe sau inverse;

numărarea de impulsuri de viteză mare;

afişarea de text;

procesarea de mărimi analogice, cele de tip DC;

programarea pe 7 zile sau pe durata unui an de zile;

procesarea aritmetică a semnalelor;

trasarea fluxului de informaţie pe diagrame;

încărcarea, salvarea şi protecţia cu password a schemelor (diagramelor) proiectate.

comunicarea pe reţele de NET;

Există trei moduri de bază de aplicaţii pentru care dispozitivele MFD pot fi utilizate:

aplicaţii ca dispozitiv de afişaj cu display;

aplicaţii ca terminal prevăzut cu modul de display şi butoane;

aplicaţii fără vizualizare, deci fără modul de display.

SINTEZA DIAGRAMEI APLICAŢIEI PE BAZA PROGRAMULUI DE PROIECTARE

GRAFICĂ EASY SOFT 6 PRO

După lansarea în execuţie a directorului EASY SOFT 6 PRO, intalat în PC, se observă că

fereastra deschisa conţine trei secţiuni: 1-Toolbox, 2-Properties field şi 3-Circuit Diagram, Fig

5.1

Figura 5.1 lansarea în execuţie a directorului EASY SOFT 6 PRO şi cele trei secţiuni: 1-Toolbox,

2-Properties field şi 3-Circuit Diagram

Page 77: Echipamente Numerice CURS

Din fereastra Toolbox -cu instrumente virtuale de tip EASY se alege varianta dorită de

automat programabil, în cazul de faţă am ales modelul EASY 620-DC-TC, pentru

considerentele enumerate anterior şi cu un click pe instrumentul dorit, prin operaţiunea drag and

drop, acesta se aduce în fereastra Circuit Diagram. Prin click dreapta pe instrumentul selecţionat

se deschide în fereastra Properties Field o nouă fereastră în care apar detaliile tehnice ale

dispozitivului ales. Prin dublu click pe instrumentul ales din fereastra Circuit Diagram aceasta

devine operaţională.

Urmează etapa în care din zona cu Toolbox, sunt aduse în zona Circuit Diagram, rand

pe rând, toate componentele cu care se construieşte aplicaţia. In fig … apar contacte de rele,

formate din instrumentele I -Input Basic Unit, relee- din instrumentele Q -Output Basic Unit,

relee intermediare sau markeri, din instrumentele de tip M -Marker şi relee de timp, din

instrumente de tip -Timing relay. Fiecare instrument poate fi setat pentru o anumită funcţiune,

de tip Contactor, cu efect la acţionare -Make, sau la revenire -Break, dar şi din punct de vedere al

performanţelor de comutaţie în calitate de Contactor, Releu de impuls, activ la comanda de

setare, -Set, sau cu revenire la comanda Reset. Temporizări diverse Setpoint pot fi propuse pe

domenii de timp şi în limite extrem de largi, precum şi funcţii diverse de comutaţie. Fiecare

componentă selectată din spaţiul Circuit Diagram poate fi indexată -cu un indice numeric şi

poate să conţină un comentariu suplimentar, în spaţiul Comment.

Diagrama de circuit, sintetizată secvenţial pentru rezolvarea problemei propuse, apare fragmentat

în fereastra Diagram Circuit în următoarele planşe grafice, Fig 5.2,5.3,5.4,5.5,5.6,5.7,5.8,

5.9,5.10 precum şi detalii asupra setărilor instrumentelor folosite în schema electrică respectivă.

Figura 5.2 Diagrama de circuit pentru rezolvarea problemei propuse

Page 78: Echipamente Numerice CURS

Figura 5.3

Figura 5.4

Page 79: Echipamente Numerice CURS

Figura 5.5

Figura 5.6

Page 80: Echipamente Numerice CURS

Figura 5.7

Figura 5.8

Page 81: Echipamente Numerice CURS

Figura 5.9

Figura 5.10

După finalizarea diagramei secvenţiale a circuitului electric şi salvarea informaţiei

acesteia, de exemplu fişierul EX1.e60, se poate trece la faza de simulare, prin click în zona

Simulation din fereastra Toolbox. Pentru activarea componentelor aferente intrărilor de date se

dă click pe comutatorul I/R function , se selectează modul de conectare al intrării, prin contacte-

Page 82: Echipamente Numerice CURS

tip I, sau rezistenţe, tip R şi se setează tipurile de contacte ce se utilizează pentru fiecare intrare

în parte (normal închise, normal deschise, cu sau fără memorie pe starea acţionată, etc,) vezi

fig…k

Figura 5.11

Din comutatorul Display se comandă afişarea stării intrărilor I, a ieşirilor Q-outputs, sau

marker-ilor M markers, etc., vezi fig.l. După lansarea în execuţie a programului de simulare,

prin activarea comutatorului grafic PLAY de pe toolbar-ul aplicaţiei pot fi vizualizate stări ale

contactelor I al intrărilor după acţionarea contactelor corespunzătoare din zona I -inputs, vezi

fig…l., sau ale ieşirilor Q, vezi Fig…m.. Pentru intrări, culoarea verde înseamnă starea normală a

contactelor, iar pentru ieşiri, verde reprezintă starea activată ca efect al comenzilor primite în

cadrul programului grafic dezvoltat şi simulat.

În figura 5.12 se observă că primul contact I1 este deschis, iar celelalte contacte I2, I8

sunt închise, deci sunt îndeplinite condiţiile de pornire ale motorului conectat la portul Q2 al

aplicaţiei, se aşteaptă doar comanda de pornire prin activarea lui I1.

Page 83: Echipamente Numerice CURS

Figura 5.12

In figura 5.13 se prezintă starea porturilor de ieşire Q. După cum se vede Q1 a fost activat, deci

led-ul care este conectat la acestă ieşire anunţă că s-a primit comanda de pornire şi că o

temporizare la acţionare este în curs de executare. In Fig…n portul Q2 este acţionat şi comanda

de pornire este deci transmisă motorului.

Figura 5.12 Starea porturilor de ieşire

Page 84: Echipamente Numerice CURS

Figura 5.13

Ca efect al acţionării unei protecţii, de exemplu releul de temperatură, portul Q8 a fost activat în

consecinţă comanda de oprire automată a motorului a fost executată , portul Q2 a fost deci

dezactivat, Fig…o

Figura 5.14

Page 85: Echipamente Numerice CURS

Figura 5.15

Figura 5.16 Conexiunea electrică a modulului EASY 620-DC-TC

După verificarea funcţionării corecte a schemei proiectate a circuitului secvenţial, se

poate trece la etapa de transfer a aplicaţiei în memoria dispozitivului de comandă numerică ales

pentru aplicaţia descrisă. Prin cablu de comunicaţie specific instrumentelor EASY se face

Page 86: Echipamente Numerice CURS

conexiunea dintre modulul selectat şi calculator, la portul USB al acestuia. În fereastra Toolbars

se activează comutatorul Communication şi se executa clic pe comutatorul Connection, setat

Online. După ce instrumentul a fost identificat, programul exersat poate fi transferat din

calculator în modulul conexat, prin comanda pe comutatorul PC-Device, Fig p… În felul acesta

modulul ales de automat programabil poate fi instalat şi utilizat în aplicaţia descrisă, Fig. q ,

conform a ceea ce se doreşte şi a fost descris în cuvinte, la începutul capitolului şi grafic, prin

algoritmul de funcţionare, de asemenea prezentat.

Page 87: Echipamente Numerice CURS

6. COMANDA NUMERICA A ACŢIONĂRII UTILIZÂND SISTEME DE ACHIZIŢII DE

DATE ŞI MEDIUL DE PROGRAMARE GRAFICĂ HP VEE Pro & DT VPI

Aceiaşi problemă de comandă numerică a unei acţionări electrice, precum cea prezentată în

aplicaţiile precedente din cadrul capitolului, urmează a fi rezolvată utilizând tehnologia

computerizată şi sisteme de achiziţii de date, pentru controlul şi comanda în timp real a procesului

amintit. Schema de principiu a ansamblului sistem de control-comandă şi proces este prezentată în

fig. 6.1. După cum se observă se apelează la o unitate de tip Personal Computer, cu sistem de

operare specific, la care se ataşează un sistem de tip Data Aquisition Board (Sistem de Achiziţii de

Date), prin conectarea acesteia la una din magistralele PC-ului (ISA, PCI, USB sau PCMCIA).

Pentru rezolvarea aplicaţiei propuse s-a ales o unitate de interfaţare DAQ de tip -DT 304, a

firmei Datatranslation, SUA, cu magistrală de tip PCI, ce realizează conexiunea cu procesul prin

intermediul unui cablu ecranat , SC şi a unui pannel terminal, T.P.

Pentru proiectarea software a aplicaţiei propuse se apelează la un program de proiectare

grafică, HP-VEE Pro, compatibil cu sistemul DAQ propus DT 304, de la firma Hewlett-Packard,.

Figura 6.1 Schema de principiu a ansamblului sistem de control-comandă şi proces

SISTEMUL DE ACHIZIŢII DE DATE, DAQ, DT 304 este un sistem de achiziţii de date

multifuncţional din seria DT 300, pentru conectare la magistralele PCI ale calculatoarelor

personale, care are câteva caracteristici speciale şi anume:

viteză mare de transfer bus-master a datelor, fără intervenţia procesorului central CPU,

eliberând astfel resursele sistemului pentru procesarea datelor;

capabilităţi flexibile de triggerare şi de clock;

nu necesită sistem de întreruperi, eliberând considerabil resursele sistemului;

suport software Windows extensiv.

PanelS.C. ( Shielded Cable )

ISA Bus; PCI Bus

Data

DAQ

AcquisitionBoard

DriverSoftware

&

PC

Personal Computer&Software:

- Windows x.xMS DOS and

- Application software

Accessories

Terminal

T.P.

;...

ECHIPAMENTELECTRIC

CAPSULAT

PRESURIZAT

Ex...p

Page 88: Echipamente Numerice CURS

Sistemul de achiziţii de date DT304 conţine un număr de 16 intrări analogice, de tip single-

ended, sau 8 intrări diferenţiale, 23 de linii de intrare/ieşire -I/O, digitale şi un număr de 4 canale

numărătoare/timere.

Rezoluţia convertorului analog-digital este realizată pe 12 biţi, la o frecvenţă maximă de

eşantionare de 400kHz. Sistemul DT 304 dispune şi de două canale de ieşie analogice.

Cu facilitatea plug and play a magistralei PCI, sistemul nu necesită jumpere sau comutatoare

pentru setări, iar arhitectura, accesoriile şi software-ul seriei DT 300, instalarea şi upgradarea

acestor plăci este extrem de facilă şi de accesibilă.

Intrările analogice. Seria de placi DT 300 este proiectată pentru a dispune de 16 intrări

single ended şi respectiv 8 diferenţiale. În plus, o conexiune Amp Low permite intrărilor single

ended să fie conectate la un potenţial de referinţă comun, altul de cât cel de ground, pentru a

asigura o funcţionare pseudo diferenţială a intrărilor analogice.

Prin software se selectează funcţionarea unipolară sau bipolară, amplificarea de 1, 2, 4, sau 8

ori a fiecărei intrări analogice şi intervalele de tensiune ale intrărilor: 0-10V, 0-5V, 0-2.5V, 0-

1.25V, +/- 10V,

+/-5V,

+/-2,5V şi

+/-1,25 V.

Pentru o şi mai multă flexibilitate, o listă de 1024 de locaţii de amplificări ale canalelor

permite utilizatorului să execute eşantionări non secvenţiale ale canalelor şi valori diferite ale

amplificării acestora.

Subsistemul analogic de intrare poate fi calibrat automat, software.

Seria DT 300 de plăci de achiziţii de date poate realiza achiziţionarea unui singur eşantion,

de pe ori care dintre canale, sau a unui număr de eşantioane, de pe canale multiple. Pentru a

achiziţiona date de pe mai multe canale, seria DT 300 asigură două moduri de scanare: continuu şi

triggerate. Utilizând achizitionarea continuuă, placa realizează scanarea continua a listei

amplificării şi a canalelor şi achiziţionează date pâna la comanda stop sau până ce se realizează un

număr setat de eşantioane. Utilizând comanda triggerată de scanare, sistemul scanează lista de

amplificări-canale cu viteză mare, cu un interval programat între scanări, emulând un sistem de

eşantionare-memorare simultană. Utilizând o sursă de triggerare internă sau externă, se poate

retriggera o operaţie de scanare triggerată, pentru a putea cicla prin intermediul listei amplificare-

canale până la de 256 de ori per trigger; aceasta permite să se achiziţioneze un semnal temporar, de

date, pe fiecare canal, pentru fiecare triggerare, pâna la 256 de eşantioane per trigger.

Scanarea poate fi astfel sincronizată utilizând clock-ul intern sau unul extern plăcii de achiziţii.

Circuitul de clock şi cel de triggerare al convertorului A/D al seriei DT 300 este asigurat de doua

numărătoare-temporizatoare de 24 de biţi şi un oscilator de 20MHz. Patru numărătoare adiţionale,

de 16 biţi, sunt la dispoziţia utilizatorului.

Page 89: Echipamente Numerice CURS

Seria de circuite DT 300 asigură flexibilitate de triggerare, atât în modul trigger cât şi în situaţiile de

post şi pre triggerare. In situatiile de post triggerare, placa realizează achiziţia de date după ce un

semnal TTL de triggerare sau un semnal software a fost lansat. În schemele de pre-triggerare,

achiziţia de date se produce până la apariţia unui semnal de triggerare. Mai există şi modul “about

trigger”, când placa achiziţionează date atât înaintea cât şi după semnalul de trigger.

Performanţele de precizie ale conversiei analog digitale sunt asigurate cu cea mai mare fineţe,

datorită modului ENOB -effective number of bits, care specifică precizia totală a funcţiei de transfer

a convertorului A/D. Pentru DT 304, ENOB-ul proiectat este de 11.5 biţi.

Ieşirile analogice ale plăcii DT 304 sunt în număr de două, tip serial. Viteza de conversie pentru

fiecare canal de ieşire este tipică:-10kHZ. Rezoluţia şi domeniul de variaţie al mărimii de ieşire se

selectează software.

Intrările şi ieşirile digitale sunt în număr de 23. Aceste linii sunt divizate pe porturi, după cum

urmează:

Portul A, liniile 0…7;

Portul B, liniile 8…15;

Portul C, liniile 16…22.

Utilizând presesetările software, porturile A şi B pot fi combinate pentru a configura o intrare-ieşire

virtuală de 16 linii. Se poate programa fiecare port pentru a citi sau scrie date.

Se pot citi stările porturilor A sau B, cu rate de 3MHz, prin includerea liniilor digitale drept canale

de intrare în lista celor analogice. În felul acesta cele 16 linii digitale ale portului A şi B sunt citite ca

fiind un singur cuvânt de date.

Ieşirile digitale au capabilitate de curent suficientă pentru a comanda direct module statice, de tip

releu, absorbind max. 12 mA şi generând max. 15 mA.

Toate conexiunile plăcii DT 304 sunt accesibile printr-un conector cu 68 de pini. Panelul STP 300

este recomandat pentru a simplifica conectarea plăcii la proces.

Transferul datelor de tip bus-master, este realizat prin magistrala PCI la computerul gazdă. Prin

setarea unei bloc de memorie în computerul gazdă, sistemul DT 304 transferă datele fără intervenţia

procesorului central CPU, permiţând acestuia alte sarcini, precum analiza datelor sau grafică.

DT 304 nu necesita sistem de întreruperi, astfel instalarea driver-ului plăcii este facilă şi resursele

sistemului sunt disponibile pentru alte utilităţi.

Toate sistemele DT 300 sunt compatibile cu software-ul standard DT Open Layers, ceea ce face

posibilă upgradarea hard, prin încărcarea directă a noilor drivere, fără necesitatea re programării

ulterioare pentru utilizarea unor programe existente deja.

Page 90: Echipamente Numerice CURS

Schema bloc a seriei DT 300 este prezentată în fig.., iar datele tehnice ale modulului DT 304

utilizat sunt prezentate în figura 6.2.

Figura 6.2 Schema bloc a seriei DT 300 - Data Acquisition Board.

MEDIUL DE PROGRAMARE GRAFICA HP VEE PRO & DT VPI 6.0, PENTRU

ACHIZITII DE DATE HP VEE Pro este un limbaj de programare grafică pentru dezvoltarea

unor programe de control al instrumentelor electronice de măsurare şi pentru sisteme de

achiziţii de date. Cu ajutorul software-ului HP VEE se pot proiecta programe de dezvoltare

grafică, prin interconectarea unor obiecte funcţionale, ce formează o schemă bloc.

DT VPI este interfaţa sistemelor de achiziţii de date produse de Data Translation, care împreună

cu HP VEE constituie mediul de programare utilizat în cadrul proiectului de cercetare ce vizează

eleborarea unei tehnologii de încercarea nedistructivă, sintetică a contactoarelor

electromagnetice de putere.

Multitudinea de funcţii a mediului HP VEE face din acesta un instrument universal pentru

dezvoltarea unor instrumente de măsură şi control. Utilizând HP VEE, se pot realiza:

Page 91: Echipamente Numerice CURS

colectări de date de la instrumente şi module specializate de tip plug-in;

controlul interfeţelor şi echipamentelor;

afişarea datelor utilizând diferite tipuri de display-uri grafice, alfa numerice, etc.;

încărcarea şi utilizarea comenzilor ActiveX, pentru a adăuga funcţionalitate mediului HP

VEE;

comunicarea cu alte tipuri de programe Windows utilizînd automatizări ActiveX;

salvarea programelor utilizând formate diferite: binare, ASCII, tabel, etc.;

procesarea datelor;

calculul, analiza şi simularea datelor;

utilizarea buclelor de program;

controlul şi reglajul în procese de reglare, pentru a simula, măsura şi calcula variabile de

ieşire;

creearea programelor structurale şi a interfeţelor utilizator, etc.

Software-ul VEE Pro lucrează cu obiecte. Iată principalele moduri în care utilizatorul HP VEE

interacţionează cu obiectele:

obţinerea obiectelor, din menu ;

deplasarea obiectelor în cadrul mediului de dezvoltare;

schimbarea dimensiunii obiectelor;

conectarea şi cablarea obiectelor;

ştergerea obiectelor şi a conexiunilor dintre acestea;

selectarea obiectelor;

schimbarea view-lui unor obiecte;

deschiderea căsuţei de dialog Properties a unui obiect;

ştergerea unor obiecte;

mutarea diagramei bloc în cadrul mediului de dezvoltare, etc.

SINTEZA PROGRAMULUI DE SIMULARE A PORNIRII MOTORULUI CU HP VEE

PRO & DT VPI 6.0.

După instalarea programului de proiectare grafică amintit şi al software-ului de funcţionare

al sistemului DAQ ales, se deschide aplicaţia din iconul Agilent VEE Pro 6.0. Din acest moment se

poate construi schema grafică a modelului de simulare al aplicaţiei, utilizând instrumentele

specifice, selectate din bara de instrumente grafice a lui VEE Pro 6.0., vezi fig 6.3

Page 92: Echipamente Numerice CURS

Figura 6.3 Fereastra de lucru a programului de proiectare grafică

Proiectul grafic pentru modelul de simulare al pornirii motorului, în care apar instrumentele

grafice precum :

butonul de pornire (lansare în execuţie al simulatorului)-Start MOTOR ;

butonul de oprire al motorului, respectiv al simulării- STOP ;

comutatoarele bipoziţionale Umin, Iss, Isc, Riz, Cond. pornire, prin care se simulează

starea subsistemelor de protecţie de tip minimal de tensiune, de suprasarcină, de

scurtcircuit, de control al rezistenţelor de izolaţie, respectiv de condiţionare a pornirii prin

cheie de comandă;

potenţiometrul de prescriere al temporizării la comanda de pornire a acţionării,

Temporizare pornire ;

dispozitivele de semnalizare optică de tip display Color Alarm, şi AlphaNumeric, pentru

toate subsistemele logice de condiţionare ce apar în circuitul grafic ;

instrumentele de condiţionare logică de tip NOTa şi AND ;

instrumente de temporizare programabila, de tip Delay, apar explicit în planşa din fig…..

Page 93: Echipamente Numerice CURS

Figura 6.4 Programul grafic VEE Pro pentru simularea controlului şi comenzii acţionării

Utilizând facilităţile software-ului VEE Pro, se pot proiecta interfeţe grafice ale aplicaţiei

descrise, prin utilizarea instrumentelor Create User Objects sau Create User Functions, din bara

cu instrumentele de lucru, aşa cum se vede în fig 6.5

Page 94: Echipamente Numerice CURS

Figura 6.5

Figura 6.6 Panelul grafic în care se aşteaptă comanda de pornire, click, pe Start MOTOR

Page 95: Echipamente Numerice CURS

Figura 6.7

Figura 6.8 Panelul grafic în care se execută comanda de pornire, click pe Start MOTOR: se

afişează starea subsistemelor de protecţie şi instrumentul grafic PROTECŢII semnalizează

Protecţii OK. Pană la pornirea efectivă a motorului se execută întârzierea programată de 1.431s

Figura 6.8 Panelul grafic în care se arată că motorul este pornit, MOTOR PORNIT.

Page 96: Echipamente Numerice CURS

Figura 6.9

Figura 6.9 Panelul grafic în care se arată că motorul a primit comanda automată de oprire, Stop

Motor, ca urmare a acţionării protecţiei minimale de tensiune, Umin, după ce comutatorul Umin

de pe pannel a fost comutat. Se semnalizează optic ca au apărut restricţii la o eventuală nouă

comandă de pornire datorită protecţiei Umin.

Figura 6.10 Programul grafic VEE Pro pentru comanda acţionării prin intermediul sistemului de

achiziţii de date, DAQ

Page 97: Echipamente Numerice CURS

Pentru interfaţarea programului grafic cu procesul a fost necesară implementarea

instrumentelor grafice de comunicaţie cu exteriorul. În fig se prezintă programul grafic re

proiectat, în care apar şi instrumentele grafice Digital Aut Config, Put Single Value, DoutMux,

prin care se permite transferul de comenzi logice dinspre calculator spre proces prin intermediul

porturilor de ieşire de tip digitale. Pentru aducerea de informaţii logice de la proces înspre

calculator se pot instala şi instrumente de tip DigitalInConfig, GetsingleValue, DinMux, s.a.m.d.

La prima activare a aplicaţiei prin butonul Start MOTOR, fie din meniul principal fie din

pannel-ul grafic, sau din comanda PLAY de pe bara de instrumente, se deschide o fereastră prin

care se cere configurarea canalului de comunicaţie digitală al sistemului de achiziţie ales pentru

funcţia respectiva, vezi fig…. Dacă la PC sunt conectate mai multe sisteme de achiziţii de date,

în fereastra Select Device and Subsystem sa alege modelul dorit de DAQ pentru a stabili

comunicaţia cu procesul.

Figura 6.11 Configurarea sistemului utilizat pentru transferul de date

Programul grafic ce realizează atât funcţiuni de control, în timp real, al datelor logice

provenite de la subsistemele de protecţie cât şi comenzi logice ale motorului este sintetizat şi

prezentat în fig 6.11 Practic acest program grafic modelează funcţiile logice ale schemei electrice

de comandă şi protecţie computerizată a acţionării, propuse iniţial ca temă studiu, utilizând

software-ul HP VEE Pro.

Page 98: Echipamente Numerice CURS

Fig. 6.12 Programul grafic VEE Pro pentru controlul şi comanda în timp real a acţionării prin

intermediul sistemului de achiziţii de date, DAQ

Utilizând facilităţile lui HP VEE Pro programul grafic pentru controlul şi comandă în timp real a

acţionării prin intermediul sistemului de achiziţii de date, DAQ, prin compilare în limbajul

ANSY C, a fost salvat ca document Notepad şi este prezentat în continuare, pentru a avea o

imagine comparativă asupra avantajelor nete ale limbajele grafice de proiectare-programare în

comparaţie cu celelalte metode cunoscute de programare computerizată.

Source file: "E:\\Documents and Settings\\zoller carol\\My Documents\\Control si Comanda Motor cu DAQ.vee"

File last revised: Thu Feb 11 15:58:59 2010

Date documented: Thu Feb 11 16:04:08 2010 VEE revision: 6.01

Execution Mode: VEE 6

Convert Infinity on Binary Read: no

I/O Configuration

Embedded Configuration (Control si Comanda Motor cu DAQ.vee)

-------------------------------------------------- M: Main

Device Type : Main

Context is secured : off Trig mode : Degrees

Popup Panel Title Text : Untitled

Show Popup Panel Title : on Show Popup Panel Border : on

Popup Moveable : on

Popup Panel Title Text Color : Object Title Text Popup Panel Title Background Color : Object Title

Popup Panel Title Text Font : Object Title Text

Delete Globals at Prerun : on

M.5: Main/U min

Device Type : Toggle Control Input pin 1 : Default Value (Int32, Scalar)

Output pin 1 : Toggle

Wait For Event : off Auto execute : off

Initialize At Prerun : off

Initialize at Activate : off Constant size fixed : off

Password masking : off

Page 99: Echipamente Numerice CURS

Indices Enabled : on

Int32 Value : 1

M.6: Main/Start MOTOR Device Type : Start

M.7: Main/I ss Device Type : Toggle Control

Input pin 1 : Default Value (Int32, Scalar)

Output pin 1 : Toggle Wait For Event : off

Auto execute : off

Initialize At Prerun : off Initialize at Activate : off

Constant size fixed : off

Password masking : off Indices Enabled : on

Int32 Value : 1

M.8: Main/I sc

Device Type : Toggle Control

Input pin 1 : Default Value (Int32, Scalar) Output pin 1 : Toggle

Wait For Event : off

Auto execute : off Initialize At Prerun : off

Initialize at Activate : off

Constant size fixed : off Password masking : off

Indices Enabled : on

Int32 Value : 1

M.9: Main/R iz

Device Type : Toggle Control Input pin 1 : Default Value (Int32, Scalar)

Output pin 1 : Toggle

Wait For Event : off Auto execute : off

Initialize At Prerun : off

Initialize at Activate : off Constant size fixed : off

Password masking : off

Indices Enabled : on Int32 Value : 0

M.10: Main/AlphaNumeric Device Type : AlphaNumeric

Input pin 1 : Data (Any, Any)

Clear At Prerun : on Clear at Activate : on

Indices Enabled : on

M.11: Main/AlphaNumeric

Device Type : AlphaNumeric Input pin 1 : Data (Any, Any)

Clear At Prerun : on

Clear at Activate : on Indices Enabled : on

M.12: Main/AlphaNumeric Device Type : AlphaNumeric

Input pin 1 : Data (Any, Any)

Clear At Prerun : on Clear at Activate : on

Indices Enabled : on

M.13: Main/AlphaNumeric

Device Type : AlphaNumeric

Input pin 1 : Data (Any, Any) Clear At Prerun : on

Clear at Activate : on

Indices Enabled : on

M.14: Main/U min

Device Type : ColorAlarm Input pin 1 : Data (Real64, Scalar)

Clear At Prerun : on

Page 100: Echipamente Numerice CURS

Clear at Activate : on

Indices Enabled : on

Low Limit : 0.33

High Limit : 0.66 High Text : Umin

Mid Text : Mid

Low Text :

M.15: Main/I ss

Device Type : ColorAlarm Input pin 1 : Data (Real64, Scalar)

Clear At Prerun : on

Clear at Activate : on Indices Enabled : on

Low Limit : 0.33

High Limit : 0.66 High Text : Iss

Mid Text : Mid

Low Text :

M.16: Main/I sc

Device Type : ColorAlarm Input pin 1 : Data (Real64, Scalar)

Clear At Prerun : on

Clear at Activate : on Indices Enabled : on

Low Limit : 0.33

High Limit : 0.66 High Text : Isc

Mid Text : Mid

Low Text :

M.17: Main/R iz

Device Type : ColorAlarm Input pin 1 : Data (Real64, Scalar)

Clear At Prerun : on

Clear at Activate : on Indices Enabled : on

Low Limit : 0.33

High Limit : 0.66 High Text : Riz

Mid Text : Mid

Low Text :

M.19: Main/NOT a

Device Type : Formula Input pin 1 : a (Any, Any)

Output pin 1 : Result

Formula : NOT a

M.20: Main/NOT a

Device Type : Formula Input pin 1 : a (Any, Any)

Output pin 1 : Result Formula : NOT a

M.21: Main/NOT a Device Type : Formula

Input pin 1 : a (Any, Any)

Output pin 1 : Result Formula : NOT a

M.22: Main/NOT a Device Type : Formula

Input pin 1 : a (Any, Any)

Output pin 1 : Result Formula : NOT a

M.23: Main/ AND Device Type : Formula

Input pin 1 : a (Any, Any)

Input pin 2 : b (Any, Any) Input pin 3 : C (Any, Any)

Input pin 4 : D (Any, Any)

Input pin 5 : E (Any, Any) Output pin 1 : Result

Formula :

Page 101: Echipamente Numerice CURS

1. a AND b AND c AND d AND e

2.

3.

M.24: Main/PROTECTII

Device Type : ColorAlarm

Input pin 1 : Data (Real64, Scalar) Input pin 2 : Clear (Any, Any)

Clear At Prerun : on

Clear at Activate : on Indices Enabled : on

Low Limit : 0.33

High Limit : 0.66 High Text : OK

Mid Text : Mid

Low Text : Restrictii pornire

M.27: Main/Cond. pornire

Device Type : Toggle Control Input pin 1 : Default Value (Int32, Scalar)

Output pin 1 : Toggle

Wait For Event : off Auto execute : off

Initialize At Prerun : off

Initialize at Activate : off Constant size fixed : off

Password masking : off

Indices Enabled : on Int32 Value : 1

M.28: Main/Cond. pornire Device Type : ColorAlarm

Input pin 1 : Data (Real64, Scalar)

Clear At Prerun : on Clear at Activate : on

Indices Enabled : on

Low Limit : 0.33 High Limit : 0.66

High Text : High

Mid Text : Mid Low Text : Low

M.29: Main/NOT a Device Type : Formula

Input pin 1 : a (Any, Any)

Output pin 1 : Result Formula : NOT a

M.36: Main/MOTOR Device Type : ColorAlarm

Input pin 1 : Data (Real64, Scalar)

Input pin 2 : Clear (Any, Any) Clear At Prerun : on

Clear at Activate : on Indices Enabled : on

Low Limit : 0.33

High Limit : 0.66 High Text : MOTOR PORNIT

Mid Text : Mid

Low Text : STOP MOtor

M.62: Main/Until Break

Device Type : Until Break Output pin 1 : Continuous

M.70: Main/If A == B Device Type : If/Then/Else

Input pin 1 : A (Any, Any)

Input pin 2 : B (Any, Any) Output pin 1 : Then

Output pin 2 : Else

If/Else cases : A==B

M.71: Main/Button

Device Type : Toggle Control Output pin 1 : Toggle

Wait For Event : off

Page 102: Echipamente Numerice CURS

Auto execute : off

Initialize At Prerun : off

Initialize at Activate : off

Constant size fixed : off Password masking : off

Indices Enabled : on

Int32 Value : 0

M.72: Main/O

Device Type : Toggle Control Input pin 1 : Reset (Any, Any)

Output pin 1 : Toggle

Wait For Event : off Auto execute : off

Initialize At Prerun : on

Initialize at Activate : off Constant size fixed : off

Password masking : off

Indices Enabled : on Int32 Value : 1

M.74: Main/AlphaNumeric Device Type : AlphaNumeric

Input pin 1 : Data (Any, Any)

Clear At Prerun : on Clear at Activate : on

Indices Enabled : on

M.75: Main/AlphaNumeric

Device Type : AlphaNumeric

Input pin 1 : Data (Any, Any) Clear At Prerun : on

Clear at Activate : on

Indices Enabled : on

M.76: Main/Stop

Device Type : Stop Exit code : 0

M.77: Main/Gate Device Type : Gate

Input pin 1 : A (Any, Any)

Output pin 1 : X

M.78: Main/Button

Device Type : Toggle Control Output pin 1 : Toggle

Wait For Event : off

Auto execute : off Initialize At Prerun : off

Initialize at Activate : off

Constant size fixed : off Password masking : off

Indices Enabled : on Int32 Value : 0

-------------------------------------------------- M.82: Digital Out Config

<Secured UserObject, no documentation generated>

M.83: Main/Bit 0

Device Type : Toggle Control

Output pin 1 : Toggle Wait For Event : off

Auto execute : off

Initialize At Prerun : off Initialize at Activate : off

Constant size fixed : off

Password masking : off Indices Enabled : on

Int32 Value : 0

M.84: Main/Bit 1

Device Type : Toggle Control

Output pin 1 : Toggle Wait For Event : off

Auto execute : off

Page 103: Echipamente Numerice CURS

Initialize At Prerun : off

Initialize at Activate : off

Constant size fixed : off

Password masking : off Indices Enabled : on

Int32 Value : 0

M.85: Main/Bit 2

Device Type : Toggle Control

Output pin 1 : Toggle Wait For Event : off

Auto execute : off

Initialize At Prerun : on Initialize at Activate : off

Constant size fixed : off

Password masking : off Indices Enabled : on

Int32 Value : 0

M.86: Main/Bit 3

Device Type : Toggle Control

Output pin 1 : Toggle Wait For Event : off

Auto execute : off

Initialize At Prerun : on Initialize at Activate : off

Constant size fixed : off

Password masking : off Indices Enabled : on

Int32 Value : 0

M.87: Main/Bit 4

Device Type : Toggle Control

Output pin 1 : Toggle Wait For Event : off

Auto execute : off

Initialize At Prerun : on Initialize at Activate : off

Constant size fixed : off

Password masking : off Indices Enabled : on

Int32 Value : 0

M.88: Main/Bit 5

Device Type : Toggle Control

Output pin 1 : Toggle Wait For Event : off

Auto execute : off

Initialize At Prerun : on Initialize at Activate : off

Constant size fixed : off

Password masking : off Indices Enabled : on

Int32 Value : 0

M.89: Main/Bit 6

Device Type : Toggle Control Output pin 1 : Toggle

Wait For Event : off

Auto execute : off Initialize At Prerun : on

Initialize at Activate : off

Constant size fixed : off Password masking : off

Indices Enabled : on

Int32 Value : 0

M.90: Main/Bit 7

Device Type : Toggle Control Output pin 1 : Toggle

Wait For Event : off

Auto execute : off Initialize At Prerun : on

Initialize at Activate : off

Constant size fixed : off Password masking : off

Indices Enabled : on

Page 104: Echipamente Numerice CURS

Int32 Value : 0

M.91: Main/Channel

Device Type : Constant Output pin 1 : Int32

Wait For Event : off

Auto execute : off Initialize At Prerun : off

Initialize at Activate : off

Constant size fixed : off Password masking : off

Indices Enabled : on

Int32 Value : 0

M.92: Main/DoutMux

Device Type : Formula Input pin 1 : A (Any, Any)

Input pin 2 : B (Any, Any)

Input pin 3 : C (Any, Any) Input pin 4 : D (Any, Any)

Input pin 5 : E (Any, Any)

Input pin 6 : F (Any, Any) Input pin 7 : G (Any, Any)

Input pin 8 : H (Any, Any)

Output pin 1 : Result Formula : a+(2*b)+(4*c)+(8*d)+(16*e)+(32*f)+(64*g)+(128*h)

M.93: Main/Put Single Value Device Type : Call

Input pin 1 : hSubsys (Int32, Any)

Input pin 2 : Channel (Int32, Any) Input pin 3 : Value (Real64, Any)

Output pin 1 : hSubsys

Function name : dtv.PutSingleValue

M.94: Main/a AND b

Device Type : Formula Input pin 1 : a (Any, Any)

Input pin 2 : b (Any, Any)

Output pin 1 : Result Formula : a AND b

M.95: Main/Delay Device Type : Delay

Input pin 1 : Delay (Real64, Scalar)

Output pin 1 : Done Delay : 0.5680000000000001

M.96: Main/Gate Device Type : Gate

Input pin 1 : A (Any, Any)

Output pin 1 : X

M.97: Main/Temporiz pornire Device Type : Knob

Output pin 1 : Real64

Wait For Event : off Auto execute : off

Initialize At Prerun : off

Initialize at Activate : off Constant size fixed : off

Password masking : off

Indices Enabled : on Value Range : 0 10

Detent Size : 0.001

Real64 Value : 0.5680000000000001

M.121: Main/AlphaNumeric

Device Type : AlphaNumeric Input pin 1 : Data (Any, Any)

Clear At Prerun : on

Clear at Activate : on Indices Enabled : on

M.123: Main/Get Single Value Device Type : Call

Input pin 1 : hSubsys (Int32, Any)

Page 105: Echipamente Numerice CURS

Input pin 2 : Channel (Int32, Any)

Output pin 1 : hSubsys

Output pin 2 : Value

Function name : dtv.GetSingleValue

M.124: Main/Until Break

Device Type : Until Break Output pin 1 : Continuous

M.125: Main/Channel Device Type : Constant

Output pin 1 : Int32

Wait For Event : off Auto execute : off

Initialize At Prerun : off

Initialize at Activate : off Constant size fixed : off

Password masking : off

Indices Enabled : on Int32 Value : 0

-------------------------------------------------- M.126: DinDemux

Device Type : UserObject

Input pin 1 : A (Any, Any) Output pin 1 : Bit 0

Output pin 2 : Bit 1

Output pin 3 : Bit 2 Output pin 4 : Bit 3

Output pin 5 : Bit 4

Output pin 6 : Bit 5 Output pin 7 : Bit 6

Output pin 8 : Bit 7

Context is secured : off Trig mode : Degrees

Popup Panel Title Text : DinDemux

Show Popup Panel Title : on Show Popup Panel Border : on

Popup Moveable : off

Popup Panel Title Text Color : Object Title Text Popup Panel Title Background Color : Object Title

Popup Panel Title Text Font : Object Title Text

M.126.0: DinDemux/If/Then/Else

Device Type : If/Then/Else

Input pin 1 : A (Any, Any) Output pin 1 : Then

Output pin 2 : Else If

Output pin 3 : Else If/Else cases :

1. bit(a, 0)*1

2. ( NOT bit(a, 0))*0.01

M.126.1: DinDemux/If/Then/Else Device Type : If/Then/Else

Input pin 1 : A (Any, Any)

Output pin 1 : Then Output pin 2 : Else If

Output pin 3 : Else

If/Else cases : 1. bit(a, 1)*1

2. ( NOT bit(a, 1))*0.01

M.126.2: DinDemux/If/Then/Else

Device Type : If/Then/Else

Input pin 1 : A (Any, Any) Output pin 1 : Then

Output pin 2 : Else If

Output pin 3 : Else If/Else cases :

1. bit(a, 2)*1

2. ( NOT bit(a, 2))*0.01

M.126.3: DinDemux/If/Then/Else

Device Type : If/Then/Else Input pin 1 : A (Any, Any)

Output pin 1 : Then

Page 106: Echipamente Numerice CURS

Output pin 2 : Else If

Output pin 3 : Else

If/Else cases :

1. bit(a, 3)*1 2. ( NOT bit(a, 3))*0.01

M.126.4: DinDemux/If/Then/Else Device Type : If/Then/Else

Input pin 1 : A (Any, Any)

Output pin 1 : Then Output pin 2 : Else If

Output pin 3 : Else

If/Else cases : 1. bit(a, 4)*1

2. ( NOT bit(a, 4))*0.01

M.126.5: DinDemux/If/Then/Else

Device Type : If/Then/Else

Input pin 1 : A (Any, Any) Output pin 1 : Then

Output pin 2 : Else If

Output pin 3 : Else If/Else cases :

1. bit(a, 5)*1

2. ( NOT bit(a, 5))*0.01

M.126.6: DinDemux/If/Then/Else

Device Type : If/Then/Else Input pin 1 : A (Any, Any)

Output pin 1 : Then

Output pin 2 : Else If Output pin 3 : Else

If/Else cases :

1. bit(a, 6)*1 2. ( NOT bit(a, 6))*0.01

M.126.7: DinDemux/If/Then/Else Device Type : If/Then/Else

Input pin 1 : A (Any, Any)

Output pin 1 : Then Output pin 2 : Else If

Output pin 3 : Else

If/Else cases : 1. bit(a, 7)*1

2. ( NOT bit(a, 7))*0.01

M.126.8: DinDemux/JCT

Device Type : Junction

Input pin 1 : A (Any, Any) Input pin 2 : B (Any, Any)

Output pin 1 : Data

M.126.9: DinDemux/JCT

Device Type : Junction Input pin 1 : A (Any, Any)

Input pin 2 : B (Any, Any)

Output pin 1 : Data

M.126.10: DinDemux/JCT

Device Type : Junction Input pin 1 : A (Any, Any)

Input pin 2 : B (Any, Any)

Output pin 1 : Data

M.126.11: DinDemux/JCT

Device Type : Junction Input pin 1 : A (Any, Any)

Input pin 2 : B (Any, Any)

Output pin 1 : Data

M.126.12: DinDemux/JCT

Device Type : Junction Input pin 1 : A (Any, Any)

Input pin 2 : B (Any, Any)

Output pin 1 : Data

M.126.13: DinDemux/JCT

Page 107: Echipamente Numerice CURS

Device Type : Junction

Input pin 1 : A (Any, Any)

Input pin 2 : B (Any, Any)

Output pin 1 : Data

M.126.14: DinDemux/JCT

Device Type : Junction Input pin 1 : A (Any, Any)

Input pin 2 : B (Any, Any)

Output pin 1 : Data

M.126.15: DinDemux/JCT

Device Type : Junction Input pin 1 : A (Any, Any)

Input pin 2 : B (Any, Any)

Output pin 1 : Data

--------------------------------------------------

M.135: Digital In Config <Secured UserObject, no documentation generated>

M.137: Main/AlphaNumeric Device Type : AlphaNumeric

Input pin 1 : Data (Any, Any)

Clear At Prerun : on Clear at Activate : on

Indices Enabled : on

M.139: Main/AlphaNumeric

Device Type : AlphaNumeric

Input pin 1 : Data (Any, Any) Clear At Prerun : on

Clear at Activate : on

Indices Enabled : on

M.142: Main/AlphaNumeric

Device Type : AlphaNumeric Input pin 1 : Data (Any, Any)

Clear At Prerun : on

Clear at Activate : on Indices Enabled : on

M.145: Main/AlphaNumeric Device Type : AlphaNumeric

Input pin 1 : Data (Any, Any)

Clear At Prerun : on Clear at Activate : on

Indices Enabled : on

M.148: Main/AlphaNumeric

Device Type : AlphaNumeric

Input pin 1 : Data (Any, Any) Clear At Prerun : on

Clear at Activate : on Indices Enabled : on

M.151: Main/AlphaNumeric Device Type : AlphaNumeric

Input pin 1 : Data (Any, Any)

Clear At Prerun : on Clear at Activate : on

Indices Enabled : on

M.154: Main/AlphaNumeric

Device Type : AlphaNumeric

Input pin 1 : Data (Any, Any) Clear At Prerun : on

Clear at Activate : on

Indices Enabled : on

--------------------------------------------------

M.157: Converter Device Type : UserObject

Input pin 1 : x (Any, Any)

Input pin 2 : x (Any, Any) Input pin 3 : x (Any, Any)

Input pin 4 : x (Any, Any)

Page 108: Echipamente Numerice CURS

Input pin 5 : x (Any, Any)

Input pin 6 : x (Any, Any)

Input pin 7 : x (Any, Any)

Input pin 8 : x (Any, Any) Output pin 1 : Result

Output pin 2 : Result

Output pin 3 : Result Output pin 4 : Result

Output pin 5 : Result

Output pin 6 : Result Output pin 7 : Result

Output pin 8 : Result

Output pin 9 : Result Output pin 10 : Result

Output pin 11 : Result

Output pin 12 : Result Output pin 13 : Result

Context is secured : off

Trig mode : Degrees Popup Panel Title Text : UserObject

Show Popup Panel Title : on

Show Popup Panel Border : on Popup Moveable : on

Popup Panel Title Text Color : Object Title Text

Popup Panel Title Background Color : Object Title Popup Panel Title Text Font : Object Title Text

M.157.0: Converter/asVariant(x) Device Type : Formula

Input pin 1 : x (Any, Any)

Output pin 1 : Result Formula : asVariant(x)

M.157.1: Converter/asInt32(x) Device Type : Formula

Input pin 1 : x (Any, Any)

Output pin 1 : Result Formula : asInt32(x)

M.157.2: Converter/asVariant(x) Device Type : Formula

Input pin 1 : x (Any, Any)

Output pin 1 : Result Formula : asVariant(x)

M.157.3: Converter/asInt32(x) Device Type : Formula

Input pin 1 : x (Any, Any)

Output pin 1 : Result Formula : asInt32(x)

M.157.4: Converter/asVariant(x) Device Type : Formula

Input pin 1 : x (Any, Any) Output pin 1 : Result

Formula : asVariant(x)

M.157.5: Converter/asInt32(x)

Device Type : Formula

Input pin 1 : x (Any, Any) Output pin 1 : Result

Formula : asInt32(x)

M.157.6: Converter/asVariant(x)

Device Type : Formula

Input pin 1 : x (Any, Any) Output pin 1 : Result

Formula : asVariant(x)

M.157.7: Converter/asInt32(x)

Device Type : Formula

Input pin 1 : x (Any, Any) Output pin 1 : Result

Formula : asInt32(x)

M.157.8: Converter/asVariant(x)

Device Type : Formula

Page 109: Echipamente Numerice CURS

Input pin 1 : x (Any, Any)

Output pin 1 : Result

Formula : asVariant(x)

M.157.9: Converter/asInt32(x)

Device Type : Formula

Input pin 1 : x (Any, Any) Output pin 1 : Result

Formula : asInt32(x)

M.157.10: Converter/asVariant(x)

Device Type : Formula

Input pin 1 : x (Any, Any) Output pin 1 : Result

Formula : asVariant(x)

M.157.11: Converter/asInt32(x)

Device Type : Formula

Input pin 1 : x (Any, Any) Output pin 1 : Result

Formula : asInt32(x)

M.157.12: Converter/asVariant(x)

Device Type : Formula

Input pin 1 : x (Any, Any) Output pin 1 : Result

Formula : asVariant(x)

M.157.13: Converter/asInt32(x)

Device Type : Formula

Input pin 1 : x (Any, Any) Output pin 1 : Result

Formula : asInt32(x)

M.157.14: Converter/asVariant(x)

Device Type : Formula

Input pin 1 : x (Any, Any) Output pin 1 : Result

Formula : asVariant(x)

M.157.15: Converter/asInt32(x)

Device Type : Formula

Input pin 1 : x (Any, Any) Output pin 1 : Result

Formula : asInt32(x)

Pentru conectarea intrărilor, respectiv a ieşirilor sistemului DT 304 la schema electrică a

aplicaţiei, sunt necesare informaţii în legătură cu semnificaţia fiecărui pin al conectorului

acestuia, aşa cum se prezintă în tabelul 17 din documentaţia de firmă .

Page 110: Echipamente Numerice CURS