50 Echipamente Numerice Pentru Instalatii Electromecanice - Curs PDF

Descărcați ca pdf sau txt
Descărcați ca pdf sau txt
Sunteți pe pagina 1din 103

UNIVERSITATEA DIN CRAIOVA

FACULTATEA DE INGINERIE ÎN ELECTROMECANICĂ,


MEDIU ŞI INFORMATICĂ INDUSTRIALĂ

ECHIPAMENTE NUMERICE

PROF. UNIV. DR. ING. DAN MIHAI

2008
2
Scurtă prefaţă

Materialul este destinat studenţilor de la secţiile cu profil electric – electromecanic ale facultăţilor
tehnice şi prezintă într-o manieră sintetică principalele tipuri de echipamente numerice utilizate în domeniul
ingineriei industriale.

Sunt redate bazele teoretice necesare, principiile constructiv-funcţionale şi elementele de programare /


utilizare specifice. Autorul consideră ca inserarea unor exemple, aplicaţii şi date concrete referitoare la
echipamente numerice cu pondere mare pe piaţa utilizatorilor este de natură să convingă pe cititori de
caracterul aplicativ al cursului şi a lucrărilor practice de laborator asociate. De altfel, conţinutul şi aplicaţiile
îşi găsesc un suport experimental relevant prin echipamentele şi platformele din laboratorul de Echipamente
şi comenzi numerice.

Prima parte este dedicată studiului procesoarelor de comandă de tip microcontroler, acestea fiind în
prezent nucleele de prelucrare din echipamentele numerice. Se consideră ca fiind reprezentativ în acest sens
microcontrolerul 80C552 (NXP - Philips). Sunt implicate cunoştinţe de microelectronică atât din sfera
hardware cât şi din cea software.

Partea a doua prezintă regulatoarele digitale, inserând pentru început elementele esenţiale din teoria şi
practica sistemelor cu eşantionare. Este o zonă în care proiectarea unei aplicaţii (pentru controlul buclelor de
reglare numerică) implică instrumente de analiză şi sinteză cu un suport teoretic mai avansat, cunoştinţe din
matematică, teoria sistemelor şi a reglajului automat.

Studiul automatelor programabile face obiectul celei de-a treia părţi. Se insistă asupra programării prin
limbaje grafice (LADDER şi GRAFCET). Se consideră utilă expunerea unor elemente conexe
reprezentative, din clasa captorilor şi a elementelor de execuţie din mediul industrial.

Ultima parte este dedicată echipamentelor de tip CNC pentru comanda maşinilor-unelte. Intervin
elemente tehnologice caracteristice pentru operaţii de uzinare. Un volum important este rezervat metodelor
de programare a acestor echipamente.

Se menţionează faptul că în afara acestor clase există şi alte categorii de echipamente numerice. Însă
multe dintre elementele de construcţie, funcţionare şi utilizare (programare) sunt similare celor expuse.
Trebuie cunoscut faptul că în afara unor cunoştinţe generale, pentru implementarea ori exploatare unui
echipament numeric este esenţială studierea atentă a documentaţiei de la firma constructoare.

Craiova, iulie 2008


Autorul

3
4
CUPRINS
Pag.

1. MICROCONTROLERUL – ELEMENT DE BAZĂ ÎN ECHIPAMENTELE NUMERICE 7

1.1 ELEMENTE HARDWARE GENERALE 7


1.2 ELEMENTE SOFTWARE GENERALE 8
1.3 UN MICROCONTROLER REPREZENTATIV: 80 C 552 (PHILIPS) 9
1.3.1 Elemente generale 9
1.3.2 Schema bloc 9
1.3.3 Organizarea memoriei interne 10
1.3.4 Timerele 12
1.3.5 Sistemul de întreruperi 14
1.3.6 Porturile 15
1.3.7 Programarea C 80C552 în limbaj de asamblare 15
1.3.7.1 Setul de instrucţiuni 15
1.3.7.2 Aplicaţii cu programe pentru echipamente numerice cu C 80C552 18

2. ECHIPAMENTE DE REGLARE NUMERICĂ 25

2.1. ASPECTE GENERALE 25


2.2 STRUCTURA UNEI BUCLE DE REGLARE NUMERICĂ 25
2.3 DISCRETIZAREA MODELELOR CONTINUI 27
2.4 ETAPELE DE ANALIZĂ ŞI SINTEZĂ PENTRU SISTEMELE CU EŞANTIONARE 29
2.5 PRELUCRĂRILE DE SEMNAL ŞI INFORMAŢIE ÎN REGULATOARELE DIGITALE 32
2.6 ALGORITMI DE REGLARE NUMERICĂ 36
2.6.1 Generalitaţi. Calităţile algoritmilor de reglare numerică. Clasificare 36
2.6.2 Algoritmi cu comutare 36
2.6.2 Algoritmi de reglare numerică cvasicontinuă tipizaţi 37
2.6.3 Algoritmi de reglare numerică specifici sistemelor discrete 38
2.6.4 Sinteza algoritmilor de reglare numerică 40
2.7 MODULE SOFTWARE AUXILIARE ÎN RD 41
2.7.1 Filtrarea numerică a semnalelor 41
2.7.2 Zona moartă în algoritmii de reglare numerică 43
2.7.3 Controlul limitelor 43
2.8 DIAGRAMELE DE TIMP ALE CALCULULUI COMENZII 44

3. AUTOMATE PROGRAMABILE INDUSTRIALE 47

3.1 STRUCTURI ASOCIATE AUTOMATELOR PROGRAMABILE 47


3.2 INTERFEŢELE AP 49
3.3 CICLUL DE FUNCŢIONARE TIP AL UNUI AP - ACHIZIŢIA INTRĂRILOR ŞI 50
ACTUALIZAREA IEŞIRILOR
3.4 AP ÎN STRUCTURI IERARHIZATE 52
3.5 ELEMENTE CONEXE AP ÎN INSTALAŢIILE AUTOMATIZATE 54
3.5.1 Captori 54
3.5.2. Elemente de execuţie 57
3.6 PROGRAMAREA AUTOMATELOR PROGRAMABILE 58
3.6.1 Limbaje de programare. Aspecte generale 58
3.6.2 Variabile de operare 61
3.6.3 Programarea în LADDER 63
3.6.4 Programarea în GRAFCET 64
3.6.4.1 Elemente generale 64
3.6.4.2 Structuri tip 66
3.6.4.3 Structurarea şi tratarea unui program GRAFCET 69

5
4. ECHIPAMENTE PENTRU COMANDA NUMERICĂ A MAŞINILOR-UNELTE 71

4.1 TIPURI DE CN 71
4.2 STRUCTURA ŞI FUNCŢIONAREA CN 73
4.2.1 Funcţiile CN 73
4.2.2 Structuri generale de CN 74
4.2.3 Blocul de calcul 75
4.3 PROGRAMAREA COMENZILOR NUMERICE ALE MAŞINILOR-UNELTE 80
4.3.1 Aspecte generale 80
4.3.2 Terminologie de bază 81
4.3.3 Programarea manuală a CN 81
4.3.3.1 Elemente generale 81
4.3.3.2 Formatul general al datelor şi definirea adreselor 82
4.3.3.3 Funcţii pregătitoare (G) 83
4.3.3.4 Funcţii auxiliare (M) 84
4.3.3.5 Sistemele de cotare 85
4.3.3.6 Programarea cotată 85
4.3.3.7 Programarea geometrică a profilului (PGP) 85
4.3.3.8 Programarea traiectoriei centrului sculei şi a sculelor 87
4.3.3.9 Cicluri de uzinare 88
4.3.3.10 Exemplu de program complet 89
4.3.4 Programarea parametrică 90
4.3.5 Funcţii diverse 91
4.3.6 Programarea structurată 93
4.3.7 Programare prin limbaje calculator 94
4.3.7.1 Structura limbajului APT – RCV 94
4.3.7.2 Instrucţiuni geometrice 95
4.3.7.3 Instrucţiuni de mişcare 97
4.3.7.4 Instrucţiuni speciale 98
4.3.7.5 Instrucţiuni pentru funcţii tehnologice 98
4.3.7.6 Instrucţiuni auxiliare 99
4.3.7.7 Operaţii de calcul 99
4.3.7.8 Exemplu program 99
4.3.8 Programarea conversaţională 100

BIBLIOGRAFIE 103

6
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 ELEMENTE HARDWARE GENERALE

Microcontrolerele sunt sisteme de comandă într-un singur circuit (cip) care în afară de blocurile
standard (unitate de calcul, memorii etc.) includ elemente specifice de comandă şi interfaţare proces:
temporizatoare, numărătoare, convertoare analog-numerice, canale de comunicaţie, bucle PLL, module
PWM etc. Într-o definiţie mai succintă, C sunt microcalculatoare (de proces) într-un cip. Sub aceeaşi
titulatură unele firme prezintă diferite tipuri de controlere pe o placă construite în jurul unui microprocesor
(Single Board Microcontroller). Asemenea structuri de comandă numerică nu vor fi avute în vedere în cele
ce urmează. Deşi clasele standard sunt cele de 8 şi 16 biţi, există circuite pe 1 sau 32 de biţi. Este important
de reţinut faptul că puterea unui C este dată în primul rând de numărul / diversitatea perifericelor on-chip,
numărul de registre speciale (pot fi peste 100) şi mai puţin de lungimea cuvântului ori frecvenţa ceasului.
Fig. 1.1 prezintă schema bloc a unui C generic de complexitate redusă. Posibilităţile de prelucrare (tipurile
şi numărul de instrucţiuni) ale unităţii centrale (CPU) variază în limite foarte largi. Caracteristică este însă
existenţa unui număr mare de operaţii de prelucrare la nivel de bit: testare, setare, resetare, comutare. Se
regăsesc registrele tipice pentru orice P: acumulator, regiştri index, indicator de stivă, numărător de
program, indicatori de condiţii şi un număr variabil de registre generale. Memoria RAM este utilizată la
formarea stivei, reţinerea variabilelor, reţinerea registrelor speciale (Special Function Register - SFR).
Programele sunt stocate în memorii ROM / EPROM. S-a extins şi utilizarea memoriilor cu programare unică
- OTP (One Time Programmable) şi a celor cu reprogramare pe care electrică (EEPROM, FLASH).
La structura standard din fig. 1.1 se pot adăuga următoarele opţiuni:
- porturi seriale de comunicaţie;
- temporizatoare / numărătoare. Se pot număra comutări externe sau impulsuri de la ceasul sistem, caz în

Fig. 1.1 Schema bloc a unui microcontroler.

7
care rezultă o funcţie de timer programabil care poate folosi sistemul de întreruperi;
- canale seriale sincrone care, combinate cu registre de deplasare, pot extinde numărul de I/O ori exploata
circuite externe (memorii seriale, ceasuri de timp real);
- convertoare analog - numerice (8 - 12 biţi), convertoare numeric - analogice (rar);
- module PWM;
- bucle PLL;
- arii logice programabile (PLA, PAL);
- controlere pentru display cu LCD sau LED;
- amplificatoare operaţionale cu intrări - ieşiri externe;
- detectoare de trecere prin zero a unor semnale externe alternative lent variabile;
- controlere de întreruperi puternice;
- unităţi dezvoltate de timere şi generetoare de impulsuri de comandă, cu diferite titulaturi, în funcţie de
complexitate şi de constructor (Supertimer Unit, Realtime Pulse Unit, Intelligent Pulse Generator);
- port de ieşire pentru timp real (Real-Time output Port - RTP);
O tendinţă recentă în domeniul realizării de C este ilustrată de seria PIC a firmei Microchip
Technology Inc, care încorporează în capsule mici (chiar 8 pini) procesoare puternice din categoria RISC, cu
arhitectură Harvard. Majoritatea microcontrolerelor se constituie ca structuri digitale de comandă de uz
general, dar sunt disponibile şi circuite specializate pe categorii de aplicaţii. Un astfel de exemplu de C
dedicat este 80C196KC (Intel), pe 16 biţi, cu foarte multe periferice integrate. Interfeţele I/O rapide, modulul
dedicat PWM şi un bloc generator de undă trifazat fac acest C aplicabil prin excelenţă comenzii sistemelor
de acţionare electrică cu convertoare statice. Sincronizarea cu reţeaua de c.a. pentru comanda redresoarelor
se face prin intermediul liniilor rapide de intrare (HSI) iar impulsurile de comandă se elibereză prin canalele
rapide de ieşire (HSO).

1.2 ELEMENTE SOFTWARE GENERALE

Ca şi microprocesoarele, microcontrolerele execută un program cod (cod maşină) obţinut dintr-o sursă
scrisă cu ajutorul mnemonicelor - în limbaj de asamblare sau limbaje de nivel înalt (cel mai adesea C).
Răspunsul rapid la evenimente externe este obţinut prin tehnica întreruperilor, instrument esenţial
pentru a controla sisteme / procese rapide. Alternativa specifică microcontrolerelor pentru controlul în timp
real a proceselor este tehnica multi-tasking, la care intervine o arhitectură software dinamică iar rolul
principal revine unui planificator de task-uri (scheduler). Programul este parcurs (ca ramuri şi unităţi
activate) în funcţie de evoluţia evenimentelor externe. Există unităţi care posedă un sistem de operare pentru
timp real în microcod - RTM (Realtime Task Manager), deci cu o puternică componentă firmware.
Majoritatea microcontrolerelor permit programarea a 2 moduri de lucru la putere redusă (Idle Mode şi
Power Down Mode), când o parte din funcţii sunt dezactivate şi consumul este mult redus. Această facilitate
prelungeşte sensibil durata de funcţionare în cazul alimentării de la baterii.
O opţiune hardware / software întâlnită la multe C este un timer de supraveghere numit "câine de
pază" (Watchdog Timer - WDT). Timerul (intern sau extern) se încarcă cu o anumită valoare şi este
comandată decrementarea conţinutului cu un tact divizat din tactul sistem. Bucla program este urmărită din
punct de vedere temporal. Când ajunge la zero conţinutul timerului, sistemul este resetat. Semnificaţia
acestei acţiuni este aceea că unele module program (task-uri) au depăşit o limită de timp impusă şi programul
general nu mai poate garanta controlul sistemului. În mod normal, timerul respectiv este reîncărcat de către
planificator la începutul fiecărei bucle şi nu are timp să se golească. Sistemul oferă protecţie nu numai la
incidente software legate de programe dar şi la efectul asupra programului în execuţie a unor evenimente
externe: goluri de tensiuni, impulsuri parazite etc.
Instrumentele de dezvoltare a aplicaţiilor cu C sunt asemănătoare cu cele folosite pentru P de uz
general.
Monitoarele - sunt programe concepute pentru exploatarea resurselor de bază şi urmărirea modului
de lucru al C într-o aplicaţie, adesea prin interfaţare cu un calculator independent. Acesta devine un
terminal interactiv şi un instrument de obţinere a programului în cod maşină. Funcţiile principale ale
monitorului sunt:
- încărcarea (transferul) programului în C;
- lansarea în execuţie a programului;
- examinarea şi modificarea unor valori din memorie sau registrele C;
- execuţia parţială a programului (instrucţiune cu instrucţiune sau un număr precizat de linii) în scopul
urmăririi evoluţiei unor variabile şi ramificări;

8
- inserarea unor puncte de oprire (breakpoint) pentru urmărire sau depanare program;
- asamblare on - line.
Unele C au inserat programul monitor în propriul ROM.
Simulatoarele - sunt programe rulate pe un calculator pentru a modela un C, eventual înainte de
realizarea sa fizică. Există şi simulatoare încorporate dispozitivelor logice programabile (built-in). Pentru C
se utilizează simulatoare specifice (Device Specific Simulator), în opoziţie cu cele de uz general (General
Purpose Simulator). Sunt simulate software registrele, memoria, unitatea de procesare şi toate celelalte
componente ale unui C. După încărcarea programului obiect, ca şi în cazul monitoarelor, se poate urmări
îndeaproape executarea programului în ansamblu, pe zone, cu puncte de oprire. Intrările şi ieşirile sunt şi ele
simulate. Evident lucrul în acest mod nu are atribute de timp real, deci redă aproximativ modul de lucru al
C.
Emulatoarele - sunt instrumente hardware asociate cu programe prin care un calculator, prin
intermediul unor interfeţe (pod), este conectat într-un circuit pe locul în care ar trebui să fie C. Pod-ul
asigură compatibilitatea funcţională şi fizică (pin la pin) cu acesta. Funcţiile pe care le puteau realiza
monitorul şi simulatorul sunt posibile însă într-un context (mediu) mult mai realist.

1.3 UN MICROCONTROLER REPREZENTATIV: 80 C 552 (PHILIPS)

1.3.1 Elemente generale

80 C 552 - NXP (Philips) este un procesor de comandă CMOS pe 8 biţi, variantă dezvoltată a
circuitului 80C51 (Intel). Este destinat aplicaţiilor de timp real din domeniile: comenzi numerice industriale,
achiziţii de date şi instrumentaţie, comenzi asistate pentru automobil etc. Capacitatea sa de conducere în timp
real a unui sistem / proces este dată de:
- numărul mare de periferice on-chip ale microcontrolerului:
- 5 porturi de câte 8 biţi bidirecţionale (I/O), un port de intrare;
- CAN de 10 biţi cu 8 canale;
- 2 ieşiri PWM;
- 2 interfeţe seriale (UART, I2C);
- timere: 4, dintre care unul de tip watch-dog;
- un set puternic de instrucţiuni incluzând:
- instrucţiuni aritmetice (+, -, x, /);
- instrucţiuni cu acces la nivel de bit (citire, scriere, comutare, testare);
- un mecanism dezvoltat de lucru cu întreruperi externe (15 surse, 2 nivele de prioritate).
Pentru aplicaţiile la care este importantă optimizarea solicitării sursei de alimentare a părţii de
comandă, microcontrolerul dispune de două moduri de lucru speciale:
- cu putere redusă, la care unitatea centrală, CAN, timerul T2 şi circuitele PWM nu mai funcţionează dar sunt
active: timerele T0, T1, memoria RAM, porturile seriale şi sistemul de întreruperi;
- cu deconectare, la care se salvează conţinutul RAM; oscilatorul şi toate funcţiile se blochează.

1.3.2 Schema bloc

Structura internă a microcontrolerului, cu principalele blocuri componente este redată în fig. 1.2.
Funcţiile blocurilor componente:
CPU - unitate centrală de prelucrare. Decodifică instrucţiunile şi generează secvenţele de operaţii elementare
asociate, realizează operaţiile logice şi aritmetice.
T0, T1 - timere de 16 biţi cu două funcţii (selectabile):
- de numărare impulsuri externe;
- de numărare impulsuri derivate din ceasul sistem (temporizare).
RAM - memorie internă de date.
PWM - port pentru generare de impulsuri modulate în lăţime (modulare asimetrică).
ADC - convertor analog - numeric.
I2C - port de comunicaţie serială într-o structură multiprocesor.
P0 - P4 - porturi numerice bidirecţionale (de câte 8 biţi).
P5 - port de intrare (8 biţi).
UART - port serial cu comunicaţie asincronă.

9
T2 - timer de 16 biţi cu funcţii suplimentare de captură - comparare.
T3 - timer de supraveghere (watch-dog).
Semnificaţia semnalelor asociate pinilor capsulei:
XTAL1,2: conectare circuit de ceas intern la componente externe (cuarţ, rezonator ceramic);
EA: acces la memorie externă (External Access);
ALE (Address Latch Enable): depunere în registru extern LSbyte adresă memorie externă. Se utilizează în
comun cu magistrala de date a P0, canalele AD0 - AD7 (P0.0 - P0.7);
PSEN (Programme Store Enable) - semnal de citire memorie externă;
WR: scriere;
RD: citire;
RST: reset;
EW: validare watchdog;
STADC: start hardware CAN;
AVREF: referinţe analogice pentru CAN.

1.3.3 Organizarea memoriei interne

Blocurile de memorie internă sunt redate în fig. 1.3. Adresarea unei locaţii de memorie se poate
face:
- direct: operandul este specificat printr-un câmp de adresă pe 8 biţi în instrucţiune;
- indirect: instrucţiunea specifică un registru care conţine adresa operandului. Registrele de adresare indirectă
sunt:
R0 şi R1 (din banca selectată) pentru adrese de 8 biţi (memorie internă);
DPTR (Data Pointer Register) pentru adrese de 16 biţi (memorie externă).
RAM-ul intern are 3 zone:
- 128 octeţi inferiori (0 – 127 D) - adresabili direct şi indirect;
- 128 octeţi superiori (128 – 255 D) cu accesare indirectă;
- 128 octeţi cu aceleaşi adrese ca înainte dar cu adresare directă. Constituie zona registrelor cu funcţii
speciale - SFR. Acestea, în număr de 56, se folosesc pentru:
- registre generale: acumulatorul, registrul B, stiva etc;
- registrele de lucru R0 - R7, constituind o bancă (bank) din cele 4, una fiind selectată la un moment dat
prin intermediul a 2 biţi din registrul PSW;
- PSW - cuvântul de stare program;
- SP - indicatorul de stivă;
- DPTR (Data Pointer - registrul de date), cu două secţiuni de câte 8 biţi: DPL, DPH;
- registre de control a perifericelor - pentru: timere, CAN, PWM, comunicaţie, întreruperi;
- registre de control a funcţionării la putere redusă.
Se prezintă în continuare principalele registre cu funcţii speciale.

Fig. 1.2 Structura microcontrolerului 80C552.

10
Registrul de stare program – PSW
MSB LSB
CY AC F0 RS1 RS0 OV F1 P
CY (Carry): bit (sau fanion, flag) de transport - de la bit 7 la bit 8;
AC (Auxiliary Carry): bit de transport auxiliar (de la bit 3 la bit 4);
F0, F1: fanioane de uz general - la dispoziţia utilizatorului;
RS0, RS1: biţii adresei pentru selectarea băncii de registre cu care se lucrează;
OV (Overflow): bit de depăşire;
P (Parity): bit de paritate.
Codificarea pentru selecţia băncii de registre R0 - R7 este:
Banca RS1 RS0 Adrese
0 0 0 00 H – 07 H
0 0 1 08 H – 0F H
0 1 0 10 H – 17 H
0 1 1 18 H – 1F H
Blocul PWM: utilizează 2 registre de comandă pentru date pe 8 biţi:
- PWMP – prescaler, care defineşte frecvenţa impulsurilor, conform relaţiei:
f clk
f PWM ; PWMP [0, 254] D (1.1)
2 (1 PWMP) 255
- PWMx (x = 0 /1, pentru canalele fizice respective): stabileşte factorul de durată al semnalului conform:
PWMx
ε ; PWMx [0, 255] D (1.2)
255
Registrele de lucru cu CAN au structura următoare:
ADCH - conţine cei mai importanţi 8 biţi ai rezultatului conversiei analog-numerice; adresa: 0C6 H;
valoarela RESET: 0xxH.
MSB LSB
ADC.9 ADC.8 ADC.7 ADC.6 ADC.5 ADC.4 ADC.3 ADC.2
ADCON - registrul de control a conversiei.Adresa: 0C5H; Valoare RESET: xx000000 B

Fig. 1.3 Memoria internă RAM la microcontrolerul 80C552.

11
MSB LSB
ADC.1 ADC.0 ADEX ADCI ADCS AADR2 AADR1 AADR0
ADC.0 - ADC.9 - biţii rezultatului conversiei;
ADEX - validare start conversie externă prin STADC:
= 0 - conversie validată numai soft, prin setare bit ADCS;
= 1 - conversie validată soft sau hard (front crescător la STADC).
ADCI - fanion ïntrerupere; setat când rezultatul conversiei poate fi citit. Nu poate fi setat soft. Când este 1, o
nouă conversie nu poate ïncepe. Trebuie şters soft (de exemplu ïn rutina de întrerupere).
ADCS - start conversie şi STATUS; când ADC lucrează, este ţinut pe 1. La sfârşitul conversiei este resetat,
în acelaşi timp cu setarea ADCI. Combinaţiile biţilor ADCI şi ADCS dau un cuvânt de stare
(STATUS) pentru CAN:
ADCI ADCS
0 0 - CAN neocupat. Poate fi începută o conversie.
0 1 - CAN în lucru - o nouă cerere de conversie este ignorată.
1 0 - conversie completă - startul unei noi conversii este blocat.
1 1 - interzis.
AADR2-AADR0 selectează unul din cele 8 canale de intrare analogică (P5.0 - P5.7).
Durata conversiei este de 50 cicli - maşină; 1 ciclu maşină este dat de 12 perioade de ceas. De
exemplu, pentru frecvenţa acestuia de 10 MHz , rezultă durata conversiei tconv. = 50 . 12 / 107 = 60 s.
Valoarea obţinută prin conversie este dată de relaţia:
Vin AVref
V 1024 (1.3)
AVref AVref

1.3.4 Timerele

Timerele T0 şi T1 au aceeaşi funcţionare şi utilizează aceleaşi registre ca la circuitul de bază 80C51.


Se prezintă o schemă funcţională - fig. 1.4, pentru modurile de lucru 0 şi 1, utilizate cel mai adesea.
Semnalul de comandă C este dat de ecuaţia logică:
C TR1 (Gate INT1) TR1 (Gate INT1) (1.4)
Durata maximă de temporizare se obţine înmod 1:
Δt max (216 1) 12 / f ck 78,642 ms (1.5)
Intrarea externă INT1 activă pe zero serveşte la măsurarea duratei unor impulsuri.
Registrele cu funcţii speciale asociate:
TMOD (registrul de mod)
MSB LSB
Gate C/T M1 M0 Gate C/T M1 M0

T1 T0

Fig. 1.4 Structura echivalentă a timerelor T0 şi T1 pentru modurile 0 şi 1.

12
Semnificaţia biţilor:
Gate: control funcţionare
1: Tx (x fie 0 sau 1) este autorizat numai dacă INTx este 0 şi TRx este 1;
0: Tx este autorizat numai dacă TRx este 1.
C/T: selectare funcţie:
1: numărare impulsuri externe;
0: temporizare cu cuante de timp derivate din ceasul sistem.
M1 M0: selecţie mod de lucru:
0 0 Mod 0: prescaler de 13 biţi. La depăşire (numărare directă) este setat fanionul de întrerupere TF1;
0 1 Mod 1: timer / numărător pe 16 biţi;
1 0 Mod 2: timer / numărător pe 8 biţi cu reîncărcare. THx este preluat în TLx la depăşire.
1 1 Mod 3: TL0 este un timer/numărător, 8 biţi comandat de biţii de control T0.
TH0 este timer/numărător pe 8 biţi comandat de biţii de control T1. T1 este oprit.
TCON (registrul de comandă)
MSB LSB
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
TFx: fanion de întrerupere la depăşire. Este resetat hardware când procesorul vectorizează programul la
rutina de întrerupere.
TRx: start (soft) timer la setare. La resetare, opreşte circuitul.
IEx: fanion setat când frontul unei întreruperi externe este detectat. Este resetat hard când se vectorizează
întreruperea.
ITx: bit de control comutat soft pentru a specifica dacă activarea prin întreruperea externă se face pe front
căzător sau pe nivel zero.

De obicei T0 sau T1 este folosit pentru tactul transmisiei seriale.

Timerul T2
T2 este o unitate de numărare/temporizare complexă. Caracteristicile principale:
- surse impulsuri: fosc/12 sau din exterior;
- reset hard extern (front crescător) dacă există o validare pentru aceasta;
- prescaler programabil cu factorii 1, 2, 4 şi 8;
- întreruperi generate la depăşiri pe 8 sau 16 biţi;
- 3 unităţi de comparate pe 16 biţi;
- 4 unităţi de captură pe 16 biţi.
Schema bloc a timerului T2 este redată în fig. 1.5. Modurile de lucru cu captură / comparare sunt utile
în aplicaţii de instrumentaţie, aprindere asistată pentru automobil, comanda maşinilor electrice. Registre de
captură se pot încărca fiecare cu conţinutul T2 la activarea semnalelor externe CTxI; se genererază totodată o
cerere de întrerupere. Frontul de activare al semnalului de încărcare este selectabil. Sistemul de captură
permite măsurarea intervalului dintre două comutări (evenimente). Rutina de întrerupere face diferenţa între
conţinuturile lui T2 la evenimentele respective.

Fig. 1.5 Structura timerului T2.

13
Registrele de comparare CM0, CM1, CM2 se pot încărca cu numere pe 16 biţi şi conţinutul lor este
permanent comparat cu al timerului în evoluţie. La egalitate, se setează fanion de întrerupere. Acest sistem
permite măsurarea oricăror durate de timp din plaja admisă de timer. La egalitatea conţinutului unei unităţi
CMx cu T2, acţiunea implicită este:
CM0 T2 P4.0 ... P4.5 = 1 (dacă s-a dat o validare prealabilă);
CM1 T2 P4.0 ... P4.5 = 0 (dacă s-a dat o validare prealabilă);
CM2 T1 P4.6, P4.7 comută (dacă s-a dat o validare prealabilă).
Pentru T2, în funcţie de modul de utilizare, trebuie configurată binar valoarea mai multor registre,
numărul celor afectate acestui timer fiind de 24. Utilizarea unor registre cu funcţii speciale (SFR) necesită
cunoaşterea elementelor:
- numele registrelor respective;
- valoarea binară la RESET sistem;
- adresa registrului - dacă asamblorul nu îl recunoaşte după nume;
- modul de basculare al biţilor, în special al fanioanelor de întrerupere, dacă trebuie resetate software (prin
program) sau ştergerea lor se face automat (hardware);
- ordinea în care se comandă prin program, pentru un anume mod de lucru (legat în special de întreruperi) şi
dacă trebuie asigurate durate minime (delay) între setări / resetări de biţi.

Timer-ul watch-dog
Este un timer special care semnalează o stare anormală de funcţionare prin depăşirea unei durate
admisibile a buclei program. Lucrează ca un numărător (fck/12) care trebuie reîncărcat periodic de către
programul utilizator, la intervale mai mici decât intervalul de gardă (de securitate). Programatorul trebuie să
cunoască foarte bine derularea temporală şi ramificaţiile programului pentru a folosi eficient acest timer.

1.3.5 Sistemul de întreruperi

Sursele de întrerupere (în număr de 15) sunt:


- INT0, INT1: externe (hard);
- T0, T1, T2 depăşiri;
- CAN;
- porturile seriale I2C şi UART;
- T2: 3 de la comparare, 4 de la captură;
Schema de principiu este prezentată în fig. 1.6. În interiorul celor două nivele de prioritate există o
prioritate prestabilită: cea mai înaltă este INT0, iar cea mai joasă este depăşirea la T2. O întrerupere de
prioritate joasă (L) poate fi întreruptá de una de tip înalt (H). O întrerupere H nu poate fi întreruptă. Dacă
apar două întreruperi de priorităţi diferite, este servită cea H. Dacă apar (simultan) două întreruperi cu
aceeaşi prioritate, se apelează la ordinea priorităţilor cablate (prestabilită). Servirea unei întreruperi înseamnă
saltul la o adresă bine precizată de constructor, unde trebuie depusă rutina de tratare specifică.

Fig.1.6 Organizarea sistemului de întreruperi.

14
1.3.6 Porturile

Porturile P0 - P4 conţin pentru fiecare canal:


- un latch;
- un buffer de intrare;
- un driver de ieşire;
- circuite pentru alternarea funcţiilor. Practic, pentru reducerea numărului de conexiuni, toate porturile au
câte două funcţii.

Exemplu: P4: - standard (port I/O);


- comutări la modul de lucru cu comparare de la T2.
P3: - standard;
- transmisie serială, întreruperi externe, intrări T0, T1 etc.
- circuite pentru citire pin sau citire latch.
Latch-ul corespunde unui bit din registrul SFR asociat. Unele instrucţiuni citesc bitul din latch, altele
de la pin. Un exemplu de structură a unui canal I/O este prezentat în fig. 1.7. Nu toate canalele porturilor I/O
numerice au acelaşi tip de polarizare. De aceea, utilizarea corectă a porturilor necesită consultarea
documentaţiei firmei furnizoare.

Portul serial UART este un port de comunicaţie care lucrează full - duplex (transmite şi
recepţionează simultan) pe două fire. Se pot stabili mai multe moduri de lucru relative la:
- structura cuvântului transmis (număr de biţi, tip: date, start, stop, de paritate);
- fixarea vitezei de transmisie (Baud Rate);
- utilizarea conexiunilor TxD, RxD.

1.3.7 Programarea C 80C552 în limbaj de asamblare

1.3.7.1 Setul de instrucţiuni

Microcontrolerul 80C552 foloseşte acelaşi set de instrucţiuni cu 8051. Grupele de instrucţiuni sunt:
- aritmetice;
- logice;
- de transfer;
- de ramificaţie / salt;
- de operare pe bit.
Se prezintă, sintetic, cele mai folosite instrucţiuni. Notaţiile care intervin:

Fig.1.7 Circuitele asociate unui canal I /O numeric.

15
Rn: registrele R0 - R7 din banca selectată;
direct: adresa unei locaţii interne de 8 biţi: RAM intern cu adrese 0-127 D sau SFR;
@ Ri: o locaţie în RAM intern (0-255) adresată indirect prin R0 sau R1;
# data: dată (constantă) din câmpul unei instrucţiuni pe 8 biţi;
# data16: constantă pe 16 biţi din câmpul unei instrucţiuni;
adr16: adresă de destinaţie pe 16 biţi;
adr11: adresă de destinaţie pe 11 biţi, în interiorul aceleiaşi pagini de 2 KB ca primul
octet din instrucţiunea următoare;
rel: octet cu semn (în complement de 2) în gama -127, +128 pentru salturi relative;
bit: bit adresabil direct în RAM;

Instrucţiuni pentru operaţii aritmetice


ADD A, Rn A = A + Rn
A, direct A = A + byte
A, @ Ri A = A + indirect RAM
A, # data A = A + data
ADDC - cu structurile precedente: adunare cu transport
SUBB A, Rn A = A - valoare, cu împrumut
A, direct
A, @ Ri
A, # data
INC A incrementare Acc
Rn incrementare Rn
direct byte = byte + 1
@ Ri incrementare RAM indirect
DPTR DPTR = DPTR + 1
DEC A decrementare
Rn
direct
@ Ri
MUL AB produs 8 biţi din Acc (fără semn) cu 8 biţi din B (fără semn); din rezultatul pe 16
biţi, LSbyte rămâne în Acc iar MSbyte în registrul B.
DIV AB divizare Acc / B (octeţi fără semn); partea întreagă a câtului se depune în A iar
partea întreagă a restului în B

Instrucţiuni pentru operaţii logice


ANL A, Rn ŞI logic între Acc şi Rn;
ANL A, direct ŞI logic între Acc şi byte adresat direct;
ANL A, @ Ri ŞI logic între Acc şi RAM indirect;
ANL A, #data ŞI logic între Acc şi dată;
ANL direct, A ŞI logic între byte direct şi Acc;
ANL direct, # data ŞI logic între byte direct şi dată imediată;
ORL - cu structurile anterioare : SAU logic;
XRL - cu structurile anterioare : XOR logic;
CLR A şterge Acc;
CPL A complementează Acc;
RL, RR roteşte spre stânga / dreapta conţinutul Acc;
RLC, RRC similar dar prin fanionul CY;

Instrucţiuni pentru transfer de date


MOV A, # data data Acc;
MOV Rn, A Acc Rn;
MOV Rn, direct byte direct Rn;
MOV Rn, # data data Rn;
MOV direct, A Acc byte direct;
MOV direct, Rn Rn byte direct;
MOV direct, direct byte direct byte direct;

16
MOV direct, @ Ri RAM indirect byte direct;
MOV direct, # data data imediat byte direct;
MOV @ Ri, A Acc RAM indirect;
MOV @ Ri, direct byte direct RAM indirect;
MOV @ Ri, # data data imediat RAM indirect;
MOV DPTR, # data16 data 16 DPTR;
MOV A, @ A+DPTR încărcare Acc cu un octet de la adresa ( (A) + (DPTR) );
MOV A, @ A + PC similar, dar adresa se formează adunând conţinutul PC incrementat la adresa
următoarei instrucţiuni;
MOVX A, @ Ri RAM extern (adr.8 biţi) Acc;
MOVX A, @ DPTR RAM extern (adr.16 biţi) Acc;
MOVX @ Ri, A Acc RAM extern (adr.8 biţi);
MOVX @ DPTR, A Acc RAM extern (adr.16 biţi);
PUSH direct depunere byte direct în stivă şi incrementare SP;
POP direct conţinutul vârfului stivei este citit, transferat în octetul direct din instrucţiune
iar SP este decrementat;
XCH A, Rn Rn şi Acc îşi schimbă conţinuturile între ele;
XCH A, direct Acc byte direct;
XCH A, @ Ri Acc RAM indirect;
XCHD A, @ Ri comutarea tetradei inf. între Acc cu cea dintr-o locaţie RAM indirect adresată
de Ri.

Instrucţiuni pentru operaţii la nivel de bit


CLC C şterge fanionul CY;
CLR bit şterge bit direct;
SETB C setează fanionul CY;
SETB bit setează bit direct;
CPL C complementează CY;
CPL bit complementează bit direct;
ANL C, bit ŞI între CY şi bit direct, ultimul conţine rezultat;
OLR C, bit SAU, similar;
MOV C, bit bit direct CY;
JC rel salt dacă CY = 1;
JNC rel salt dacă CY = 0;
JB rel salt dacă bit direct = 1;
JNB rel salt dacă bit direct = 0;
JNC bit, rel salt dacă bit direct = 1 şi şterge bit direct.

Instrucţiuni pentru ramificaţii program


ACALL addr 11 apel subrutină absolută;
LCALL addr 16 apel subrutină lungă;
RET revenire din subrutină;
RETI revenire din întrerupere;
AJMP addr 11 salt absolut;
LJMP addr 16 salt lung;
SJMP rel salt scurt (la adresă relativă);
JMP @A + DPTR salt relativ indirect la DPTR;
JZ rel salt dacă Acc = 0;
JNZ rel salt dacă Acc 0;
CJNE A, direct, rel compară A cu byte direct şi salt dacă nu sunt egale;
DJNZ Rn, rel decrementare Rn şi salt dacă nu este zero;
DJNZ direct, rel decrementare byte direct şi salt dacă nu este zero;

NOP instrucţiune vidă (nici o operaţie).

17
1.3.7.2 Aplicaţii cu programe pentru echipamente numerice cu C 80C552

Pentru fiecare aplicaţie, vor fi prezentate pe scurt: structura hardware asociată, principiul soluţiei,
modul de pregătire a datelor şi segmente program.

A. Rutină pentru temporizare extinsă


Pentru multe aplicaţii, capacitatea maximă de temporizarea a timerelor T0 şi T1 (rel. 1.5) nu este
suficientă. Se cere o durată extinsă şi programabilă.
Principiul soluţiei: se extinde durata respectivă de k ori folosind un registru de 8 biţi care va fi
incrementat la fiecare întrerupere generată de T0 la depăşirea capacităţii sale de 16 biţi. Fig. 1.8 sugerează
funcţionarea unui program de tip subrutină, bazat pe acest principiu. Parametrul de temporizare este
coeficientul de durată "coefdur", încărcat înainte de apelul rutinei în acumulator de către programul apelant.
Durata de temporizare extinsă este dată de relaţia:
te = (256 - coefdur) 78,6432 ms 78,6432 ms, 20,054 s (1.6)
Program:
timerl equ 0a0a0h ; adresa de plasare program
inter equ 800bh ; adresa de întrerupere timer t0
cseg at timerl ; segment program timerl
using 0 ; selecţia băncii de registre 0
main: mov tmod,#01h ; pregătire registru de mod pentru t0
; setare mod t0: tmod = 0000$ 0001B ->
; - capacitate - 16 biti ; - setare mod timer (numarare imp. ext.); - stop
setb ea ; validare generala întreruperi
setb et0 ; validare întrerupere t0
setb pt0 ; nivel de prioritate ridicat pentru întrerupere t0
clr f0 ; iniţializare fanion test durata
setb tr0 ; start timer (t0)
; bucla de aşteptare a temporizării cu timerul t0
alpha: jb f0, beta ; testare fanion
ajmp alpha ; reluare buclă daca temporizarea nu s-a terminat
beta: clr ea ; invalidare întreruperi
ret ; revenire în programul apelant
; întrerupere generate de timer t0
cseg at inter
inc a
jnz intex
setb f0
intex: reti ; revenire din întrerupere
end ; terminare rutină

Fig. 1.8 Principiul rutinei de extindere a temporizării.

18
B. Comada PWM cu C a unui sistem acţionare cu m.c.c. prin mai multe paliere de viteză, cu referinţe
memorate.
Structura hardware simplificată care rezolvă problema este prezentată în fig. 1.9.
Principiul soluţiei: viteza motorului se modifică prin utilizarea impulsurilor modulate în lăţime de
către portul PWM1 iar duratele fiecărui palier se obţin apelâd rutina de la apl. A. La fiecare secvenţă
program (palier) se modifică parametrii de durată şi viteză prin valorile care se depun în acumulator pentru
"coefdur" şi în registrul PWM1.
Calculul datelor program (off-line)
- pentru duratele ti: din rel. (1.6), rezultă:
cdur1,2,3.. = [256 – t1,2,3.. / 0.078]H ([x] desemnează parte întreagă iar H rezultatul în hexazecimal,
gata de introdus în registrul respectiv)
- pentru vitezele vi, se calculează date pentru 2 registre ale portului PWM:
o PWMP (prescalerul), stabileşte frecvenţa impulsurilor, constantă şi aleasă după constantele de
timp motor şi de un comportament armonic dorit; din rel. (1.1):
frecv = [ fck / (2 255 fPWM) -1]H
o PWM1 (registrul de modulare):
1,2,3..= vit1,2,3.. / vit max - factorii de semnal; PWM1,2,3.. = [ 1,2,3.. x 255]H
Program:
pr2 equ 0a0e0h ; adresa program
timerl equ 0a0a0h ; adresa rutină temporizare
pwmp equ 0feh ; registru frecvenţă PWM
pwm1 equ 0fdh ; registru factor de semnal
frecv equ 026h ; valoare frecvenţă de modulare
vit1 equ 040h ; nivel 1 de viteza (25 % din maxim)
vit2 equ 0ffh ; nivel 2 de viteza (maximă)
vit3 equ 080h ; nivel 3 de viteza (50 % din maxim)
cdur1 equ 200 ; coef. durata 1
cdur2 equ 128 ; coef. durata 2
cdur3 equ 230 ; coef. durata 3
cseg at pr2
using 0
main: mov pwmp,#frecv ; setare prescaler PWM - stabilire frecvenţă de comutare (ct.)
mov a,#cdur1 ; iniţializare acumulator cu coef. dur. 1
mov pwm1,#vit1 ; functionare motor pe palier 1
lcall timerl ; apel rutină temporizare durata 1
mov a,#cdur2 ; iniţializare acumulator cu coef. dur. 2
mov pwm1,#vit2 ; funcţionare motor pe palier 2
lcall timerl ; apel rutină temporizare durata 2
mov a,#cdur3 ; iniţializare acumulator cu coef. dur. 3
mov pwm1,#vit3 ; funcţionare motor pe palier 3
lcall timerl ; apel rutină temporizare durata 3
mov pwm1,#0h ; STOP motor
ljmp 0h ; revenire in monitor
end

Fig. 1.9 Suport hardware pentru aplicaţia B.

19
C. Comada cu C a unui sistem acţionare cu m.c.c. de la o referinţă binară externă.
Structura hardware simplificată care rezolvă problema este prezentată în fig. 1.10.
Principiul soluţiei: combinaţiile binare de la comutatoarele S1 şi S2 dau 4 valori posibile pentru
viteză iar durata de menţinere a vitezelor selectate este dată de durata stării comutatoarelor. Una dintre
viteze poate fi nulă. La n comutatoare, rezultă 2n nivele de viteză selectabile. Comutatoarele pot fi prezente
fizic sau cuvântul binar de comandă aplicat portului C poate fi furnizat de către un echipament de comandă.
Este utilă urmărirea tabelului următor, în conexiune cu combinaţiile şi vitezele notate ca mai jos:
p4.2 p4.1 Viteza
0 0 vit1
0 1 vit2
1 0 vit3
1 1 vit4
Calculul datelor program: se derulează ca la aplicaţia B.
Program:
pr3 equ 09100h ; adresa program
p4 equ 0C0h ; portul folosit la preluarea comenzilor externe
pwmp equ 0efh ; registru frecvenţă PWM
pwm1 equ 0fdh ; registru factor de semnal
frecv equ 026h ; valoare frecvenţă de modulare
vit1 equ 040h ; viteza 1
vit2 equ 0ffh ; viteza 2
vit3 equ 080h ; viteza 3
vit4 equ 00h ; viteza 4
cseg at pr3
using 0
main: jb p4.0, start ; bucla de aşteptare a comenzii PORNIT (comutator sau bit P/O)
sjmp main
start: mov pwmp, #frecv ; setare prescaler PWM - stabilire frecvenţă de comutare (ct.)
test1: jb p4.1, et24 ; test referintă bit1– dacă este 1, este vit2 sau vit4 (tabelul)
jb p4.2, et3 ; test referintă bit2 – daca este 1 (si bit 1 este 0), este vit3
mov pwm1, #vit1 ; referintă bit2, bit1 = 00 – viteza 1
sjmp test1 ; reluare test referinţă
et3: mov pwm1,#vit3 ; referintă bit2, bit1 = 10 – viteza 3
sjmp test1 ; reluare test referinţă
et24: jb p4.2, et4 ; referintă bit2, bit1 = 11 – viteza 4
mov pwm1,#vit2 ; referintă bit2, bit1 = 01 – viteza 2
sjmp test1 ; reluare test referinţă
et4: mov pwm1,#vit4 ; referintă bit2, bit1 = 11 – viteza 4
sjmp test1 ; reluare test referinţă
end

Fig. 1.10 Suport hardware pentru aplicaţia C.

20
Observaţii:
Oprirea motorului este posibilă prin biţii de control extern dar oprirea programului este realizabilă doar prin
reset hardware. Să se imagineze o completare a programului pentru comandă externă de oprire program.
Pentru selecţia vitezei prin 1 bit (2 nivele de viteză), 2 biţi (4 nivele de viteză) sau 3 biţi (8 nivele de viteză),
principiul programului este acelaşi: testarea succesivă a valorilor binare respective şi ramificarea
programului în funcţie de rezultate. Pentru o referinţă pe 8 biţi, metoda cea mai simplă constă în transferarea
acestui octet în registrul PMW0 (sau 1), putâdu-se obţine 256 de viteze. Imaginea comutatoarelor binare nu-
şi mai are rostul, referinţa fiind dată în acest caz de un echipament numeric, magistrală de date etc. Se
propune ca exerciţiu găsirea unei soluţii pentru un n intermediar (4...7) care sa evite o arborescenţă
inoperantă a programului.

D. Comada cu C a unui sistem acţionare cu m.c.c. de la o referinţă analogică memorată.


Structura hardware simplificată care rezolvă problema este prezentată în fig. 1.11.
Principiul soluţiei: tensiunea de la un potenţiometru se constituie ca referinţă pentru viteză.
Convertorul analog - numeric al C obţine o imagine a ei pe 10 biţi şi transferă pe cei mai semnificativi 8 biţi
în registrul PWM1 care, prin factorul de durată, determină viteza unui motor de c.c. alimentat cu impulsuri
(regim de chopper). Fig. 1.12 redă structurarea programelor.
Program:
pr4 equ 09100h ; adresa program
inter equ 08053h ; adresa întrerupere generată de CAN
adch equ 0c6h ; LSbyte rezultat conversie analogică
ead equ 0aeh ; validare întrerupere generată de CAN
pad equ 0beh ; nivel prioritate CAN
adcon equ 0c5h ; registru mod de lucru CAN
pwmp equ 0efh ; registru frecvenţă PWM
pwm1 equ 0fdh ; registru factor de semnal
frecv equ 026h ; valoare frecvenţă de modulare
cseg at pr4
using 0
main: mov adch,#0h ; vidare conţinut reg. cu rezultat CAN

Fig. 1.11 Suport hardware pentru aplicaţia D.

Fig. 1.12 Modulele program pentru aplicaţia D.

21
setb ea ; validare generală întreruperi
setb ead ; validare într. generată de CAN
setb pad ; prioritate 'high' pentru într. CAN
mov pwmp,#frecv; fixare frecvenţă PWM
mov pwm1,#0h
mov adcon,#08h ; start conversie
alpha: setb p4.7 ; bucla program principal întreruptă la sfârşit de conversie A/N
clr p4.7 ; aşteptare sfârşit de conversie
sjmp alpha ; semnalul de la p4.7 poate fi martorul localizării programului în bucla
; întreruptibilă
; Rutina de întrerupere generata de CAN la sfârşitul conversiei
cseg at inter ; adresa rutinei de tratare a întreruperii = 8053h
mov a,adcon ; citire status conversie
anl a,#1110$1111b ; RESET fanion EOC pentru disponibilizare CAN
mov pwm1,adch ; valoare referinţă trimisă la PWM
mov adcon,#08h ; repornire conversie
reti ; revenire din întrerupere
end
Observaţie: să se completeze programul cu o secţiune care să oprească motorul dacă viteza este sub 5 % din
valoarea nominală (pentru a înlătura fenomenul de târâre).

E. Comada cu C a unui sistem de poziţionare


Structura sistemului este evidenţiată de fig. 1.13, unde sunt relevate şi mărimile caracteristice ale
sistemului; diferenţa majoră faţă de aplicaţiile precedente este funţionarea în circuit închis, cu reacţie de
poziţie activată de la un traductor de poziţie cu impulsuri (encoder).
Principiul soluţiei: pentru un control foarte precis al poziţiei, fiecare impuls de la encoder va fi luat
individual în considerare prin întreruperea hardware (INT0) pe care o provoacă microcontrolerului. Acesta
va controla şi viteza, prin derivarea referinţei numerice pentru aceasta din informaţia care dă eroarea de
poziţie :
* -  ( *: referinţa de poziţie, : poziţia curentă, toate în număr de impulsuri encoder pe 16 biţi)
este maximă la t 0 şi apoi descreşte, în final trebuind să ajungă la zero. Pentru a înlătura efectul inerţiei
în apropierea punctului final al cursei, viteza va fi diminuată pe măsură ce eroarea de poziţie scade. Se
propune ca:
MSByte PWM1
Constructorul procesorului folosit a lăsat între 2 adrese de întrerupere doar 8 octeţi. În situaţiile când se
folosesc mai multe întreruperi iar rutinele de serviciu depăşesc 8 octeţi, pentru a evita suprapunerile se
redirectează întreruperea într-o zonă de memorie liberă.
Program:
pr5 equ 0a200h
int0 equ 08003h ; adresa rutinei de întrerupere hardware
rint0 equ 0a280h ; adresa redirectare rutina de întrerupere hardware

Fig. 1.13 Structura hardware şi mărimile carcateristice pentru aplicaţia E.

22
pr4 equ 0c0h ; port I/O comenzi
pwmp equ 0efh ; registru frecvenţă PWM
pwm1 equ 0fdh ; registru factor de semnal
frecv equ 026h ; valoare frecvenţă de modulare
cotaL equ 0a0h ; referinţa de poziţie – LSByte
cotaH equ 04h ; referinţa de poziţie - MSByte
cseg at pr5
using 0
main: jb p4.0, start ; bucla de aşteptare a comenzii PORNIT (comutator sau bit P/O)
sjmp main
start: mov pwmp,#frecv ; fixare frecvenţă PWM
mov dpl, #0h ; iniţializare registru de date DPTR cu cele 2 secţiuni de câte 8 biţi
mov dph, #0h
clr p4.5 ; reset iniţial fanion de frânare
mov r5, #cotaH ; alocare registre r5-r4 pentru eroarea de poziţie, cu
mov r4, #cotaL ; valoarea inţială dată de referinţa de poziţie
setb ea ; validare generală întreruperi
setb px0 ; prioritate H pentru întreruperea externă INT0
setb it0 ; selectare front activ descendent al impulsurilor encoder pentru activarea INT0
setb ex0 ; validare întreruperi de la encoder (INT0)
mov pwm1,#cotaH ; start iniţial motor
bucla: jb p4.5, stop ; bucla întreruptibilă (de test a fanionului de frânare)
sjmp bucla
stop: mov pwm1,#0h ; stop motor
ljmp 0h ; redare control programului monitor
cseg at int0
using 0
ljmp rint0 ; redirectare întrerupere într-o zonă liberă (contiguă) de memorie
reti
cseg at rint0
using 0
inc dptr ; fiecare impuls de la traductor incrementează reg. DPTR
mov a, #cotaH
cjne a, 083, alfa ; se compară DPTR (depozitarul lui ) cu * octet cu octet
mov a, #cotaL ; 083: adresa lui DPHigh, 082: adresa lui DPLow
cjne a, 082, alfa ; salt la eticheta alfa daca  nu a ajuns încă la *
mov pwm1,#00h ; = * şi STOP motor
setb p4.5 ; setare fanion sfârşit de poziţionare
reti
; actualizare eroare de poziţie prin decrementare pe 16 biţi
alfa: mov a, r4 ; dacă r4 (LSByte eroare de poziţie:
; = 0, r5 = r5 –1 şi r4 = FFh
; 0, r4 = r4 –1 şi r5 se păstrează
jnz eta
dec r5
mov r4, #ffh
ljmp etb
eta: dec r4
etb: mov pwm1,r5 ; actualizare viteză după eroarea de poziţie
reti
end

23
24
2. ECHIPAMENTE DE REGLARE NUMERICĂ

2.1. ASPECTE GENERALE

Reglarea numerică constituie etapa imediat superioară comenzii discrete a proceselor / sistemelor,
delimitările şi avantajele fiind marcate de trecerea de la structuri deschise de tipul comandă la structuri
închise de tipul conducere cu arhitectură tip mono sau multiprocesor. Elementul esanţial pentru conducerea
numerică a unui sistem este regulatorul digital (RD). Variantele performante conţin microcontrolere,
procesoare de semnal (DSP), zone de memorie întinse şi pot utiliza algoritmi complecşi: structurali, adaptivi,
multivariabili. Viteza de prelucrare şi precizia obţinută depind de performanţele procesorului utilizat şi
structura (reţeaua) în care este integrat. Configuraţiile hardware, sistemul de operare şi setul de programe
trebuie să ţină seama dacă partea condusă se încadrează în categoria proceselor / sistemelor rapide sau foarte
rapide. Fiind dotate cu microprocesoare, RD preiau avantajele acestora: miniaturizare, preţ de cost redus,
consumuri mici, serii mari, flexibilitate, putere de calcul mare. RD se pot substitui regulatoarelor analogice
în reglarea individuală a unor parametri dar şi în structurile de conducere distribuită. Atunci, utilizarea RD
devine avantajoasă când acesta se substituie la cel puţin 3 unităţi de reglare analogică, dar şi când algoritmii
de reglare monovariabilă sunt deosebit de complecşi.
RD mai înglobează modulele de interfaţă, iar pentru aplicaţii de mare viteză sunt dotate cu procesoare
de semnal VLSI din categoria DSP. Algoritmii sunt memoraţi în memorii fixe (ROM). Programarea este
preferabil să se facă în limbaje de nivel înalt, apoi prin crosscodoare sau crosscompilatoare, software-ul de
proces se memorează în limbaj maşină. Algoritmii de reglare sunt specifici sau cvasigenerali (PID).
Programele de bază se depun în ROM iar datele variabile în RAM nevolatil (cu baterii tampon) sau EPROM.
Tendinţa actuală de utilizare a limbajelor de nivel înalt în locul celor de asamblare, se explică prin
avantajele portabilităţii programelor şi al posibilităţii de programare de către tehnologii de proces.
Complexitatea algoritmilor de reglare decide în mod hotărător posibilitatea unei structuri hardware tip
RD de a asigura conducerea în timp real (TR) în limitele unei precizii cerute. De exemplu utilizarea
algoritmilor de reglare structurali, folosind legi de comandă şi reacţie după stări estimate implică un volum
mare de calcule şi memorie în raport cu algoritmii informaţionali pentru procese monovariabile. Deocamdată
aceştia din urmă sunt cei mai utilizaţi, abordarea lor fiind făcută pe 3 direcţii:
- folosirea unui formalism matematic tipic sistemelor discrete dedus din proceduri ale sistemelor
continue;
- utilizarea metodologiilor specifice sistemelor continue, în ipoteza de cvasicontinuitate;
- folosirea unui formalism matematic exclusiv pentru sisteme cu eşantionare.

Caracteristicile nivelului actual al RD:


- reglează procese tot mai rapide ;
- încorporează algoritmi tot mai performanţi (neliniari, multivariabili, adaptivi, structurali);
- transpun software funcţiile unor module de prelucrare a semnalelor: adaptoare, compensatoare şi
liniarizare traductoare, elemente de raport, divizare, sumare, filtre etc.;
- utilizează funcţii de autodiagnoză şi protecţie (de la menţinerea şi verificarea coeficienţilor de reglare, la
dublarea alimentării prin rezervare).

2.2 STRUCTURA UNEI BUCLE DE REGLARE NUMERICĂ

O structură tipică, în care elementul de execuţie (EE) este comandat cu semnale continui, este cea din
figura 2.1. Filtrul trece-jos (FTJ) reconstituie semnalul u(t) din u*(t). Aceste filtre se numesc extrapolatoare,
deoarece extrapolează curba continuă u(t), prin diverse funcţii netede, indefinit derivabile, plecând de la
eşantioanele exacte uk = u(kT), T fiind perioada de eşantionare. Din semnalul continuu y(t) preluat de la
traductor se obţine semnalul y*(t). DER este un element de eşantionare-memorare. Atât la eşantionare cât şi
la extrapolare intervin erorile de cuantificare în amplitudine şi timp. În cazul utilizării unor traductoare
numerice, uneori nu mai este necesar eşantionorul dar rămâne prelucrarea ciclică cu perioada T.
Se analizează succint în cele ce urmează principalele elemente / blocuri din fig. 2.1.Eşantionarea poate
fi analizată ca ideală sau reală. Eşantionarea ideală înlocuieşte deci semnalul continuu v(t) cu eşantioanele
v(kT), k 0 - fig. 2.2. Eşantionatorul ideal este descris printr-o serie formală de impulsuri Dirac decalate în
timp şi cu amplitudine unitară - fig. 2.2. Funcţia generalizată de distribuţie implicată la eşantionarea ideală
este p(t) iar semnalul eşantionat v(t) rezultă astfel:

25
v*(t) = v(t) p(t) ; V*(s) = L (v*(t)) = L (v(t)  (t kT ) L (v(kT) t-kT))) =
k 0 k 0

kT s
= v( t ) e (2.1)
k 0
N
Cu notaţia: z eT s , se obţinea imaginea eşantionată prin transformata z a semnalului:
k k
V(z) = v(kT ) z vk z (2.2)
k 0 k 0
Cu ajutorul imaginilor prin transformata z a semnalelor de intrare şi de ieşire, se obţin funcţiile de
transfer în z, echivalente celor în s de la sisteme continui.
Eşantionorul ideal nu este fizic realizabil. Eşantionarea reala – fig. 2.3 este caracterizată de o durată h
a eşantioanelor prelevate, h << T. Totodată h > tCAN (durata conversiei analog-numerice), prelucrarea
digitală a eşantioanelor în RD necesitând utilizarea convertoarelor analog-numerice (CAN) care au timp de
conversie finit, pe durata căruia eşantionul prelevat trebuie să aibă o amplitudine constantă. Un studiu
analitic al eşantionării reale conduce la concluzia că formalismul sistemic respectiv implică reprezentări greu
de utilizat, spre deosebire de cele de la eşantionarea ideală, unde formele respective sunt de tip raţional. De
accea, instrumentul matematic va fi cel de la eşantionarea ideala dar la implementaările în timp real se va
ţine cont de caracteristicile de timp ale eşantionării reale. În ceea ce priveşte prelucrarea semnalelor discreto-
continui generate de RD, cel mai folosit FTJ este extrapolatorul de ordin zero (EX0). Valoarea extrapolată
este:

Fig. 2.1 Structura tip pentru o buclă de reglare numerică.

Fig. 2.2 Modul de funcţionare a eşantionorului ideal

Fig. 2.3 Modul de funcţionare al eşantionorului real.

26
û k(t) = u(kT) ; kT t   (k+1)T (2.3)

Modul de funcţionare este sugerat în fig. 2.4, iar funcţia de transfer se obţine tinând cont că la ieşire semnalul
este rezultatul scăderii a două semnale treaptă unitară:
Ts
L ( ( t ) ( t T)) 1 e
GEX0(s) = (2.4)
L ( ( t )) s
EX0 poate fi implementat şi prin hardware, eşantionul uk livrat de unitatea de calcul fiind menţinut în
buffere-latch pe perioade oricât de mari, deci înaintea conversiei numeric-analogice, în format binar.
Un alt FTJ este EX1 – extrapolatorul de ordinul intâi. În acest caz:

û k(t) = u(kT) + u’(kT) (t-kT) u(kT) + [u(kT)-u((k-1)T)] / T (t-kT); kT t  (k+1)T (2.5)

Deşi reconstituirea semnalelor este mai precisă, EX1 este mai puţin utilizat datorită dificultăţilor de
implementare.

2.3 DISCRETIZAREA MODELELOR CONTINUI

Modele matematice discrete obţinute din cele liniar-continue (descrise sub formă diferenţială, prin
funcţii de transfer ori ecuaţii de stare), pentru o perioadă de eşantionare T precizată, vor reproduce în
momentele de eşantionare comportarea modelului originar. Formele specifice de descriere ale sistemelor cu
eşantionare sunt:
1. Funcţiile de transfer în z - G(z), obţinute prin folosirea transformatelor în z ale intrărilor şi ieşirilor.

G(z) = Y(z) / U(z) (2.6)

Exteriorul RD este denumit parte fixată (impusă) şi este exprimat analitic prin:

Gf (z) = Z [GEX0 (s). Gf (s)] = (1-z-1 ) . Z (Gf(s) /s) (2.7)

Funcţiile de transfer în z sunt instrumente pentru analiza / sinteza (teoretică) a sistemelor cu eşantionare.

2. Ecuaţiile (relaţiile) de recurenţă dintre eşantioane. Sunt instrumentele cele mai adecvate pentru
implementările în timp real, ele generând calculul pe care trebuie să-l realizeze procesoarele. Cele mai
simple/utilizate) metode de discretizare sunt metoda dreptunghiului şi metoda trapezului (MD, MT), bazate
pe integrarea de n ori (ordinul sistemului) a ecuaţiei sistemului continuu pe intervalul [t-T, t] - fig. 2.4.
t t
T
MD : x( ) d T x( t ) ; MT : x( ) d [ x ( t ) x ( t T)] (2.8)
t T t T
2
Apoi se particularizează rezultatul obţinut pentru t = tk = k.T şi se scrie ecuaţia discretă înlocuind x(tk) cu
xk. Este posibil ca la primii paşi ai unui algoritm de reglare numerică să trebuiască initializate valorile unor
variabile în funcţiile concrete de utilizare. Ca exemple de aplicare a metodelor de discretizare MD şi MT, se
vor considera sistemele de ordinul I şi II generalizate.
a. Sisteme de ordinul I:
0 1 s
G (s) (2.9)
0 1 s

Fig. 2.4 Principiul metodelor de dicretizare MD şi MT.

27
Sau, în domeniul timp:

1 · y’ (t) + 0 · y (t) = 1 · u’ (t) + 0 · u (t) (2.10)

Cu metoda dreptunghiului rezultă:

1 · [y (t)- y (t-T)] + 0 · y (t) · T = 1 · [u (t)- u (t-T)] + 0 · u (t) · T (2.11)

Cu: t  tk ; y(tj) yj ; u(tj) uj ; j = k-1, k, rezultă:

1 · [yk- y k-1)] + 0 · yk · T = 1 · [uk- u k-1] + 0 · uk · T (2.12)

Sau: yk = 0· uk + 1· uk-1+ 1· yk-1 (2.13)

unde 0, 1, 1 sunt coeficienţi dependenţi de model şi de T.

Cu metoda trapezului rezultă:

1 · [yk - y k-1] + 0 · T/2 · [yk+yk-1)] = 1 · [uk- uk-1] + 0· T/2 · [uk+uk-1)] (2.14)

Rezultă o relatie de tipul (2.13) cu alţi coeficienţi.

b. Sisteme de ordinul II:

Se parcurg aceleaşi etape, considerând o funcţie de transfer de forma generală:


0 1 s 2 s2
G(s) (2.15)
0 1 s 2 s2
2 · y’’ (t) + 1 · y’ (t) + 0 · y (t) = 2 · u’’ (t) + 1 · u’ (t) + 0 · u (t) (2.16)

După o prima integrare rezultă prin metoda trapezului:

2 · [y’ (t)- y’ (t-T)] + 1 · [y (t)- y (t-T)]+ 0 · T/2 · [y(t)+y(t-T)] =

2 · [u’ (t)- u’ (t-T)] + 1 · [u (t)- u (t-T)]+ 0 · T/2 · [u(t)+u(t-T)] =

A doua integrare pe intervalul [tk-T, tk] conduce la:

yk = 0· uk + 1· uk-1+ 2· uk-2 + 1· yk-1+ 2· yk-2 (2.17)

Observaţia 1.
O prelucrare a modelelor continui pentru discretizare cu aceleaşi rezultate ca cele de la MT se obţine prin
aproximarea valorilor continui cu eşantioane iar a derivatelor prin formule ca în exemplul următor:
Să se discretizeze: G(s) = 3 / (s+5) = Y(s) / U(s)

s· Y(s) + 5· Y(s) = 3· U(s), echivalent în domeniul timp cu: dy/dt + 5· y(t) = 3·u(t)
(yk-yk-1) / T + 5 · yk = 3· uk, sau, după prelucrări algebrice elementare:
yk = yk-1 / (1+5T) + 3T· uk / (1+5T), T fiind perioada de eşantionare.

Pentru derivata de ordinul II:

y’’ (t) ( yk-2yk-1+ yk-2) / T2 (2.18)

Observaţia 2.
Legătura dintre funcţia de transfer G(z) şi ecuaţiile de recurenţă este realizabilă cu ajutorul unui operator
(q-1) de decalare temporală cu o perioadă de eşantionare şi a funcţiei de transfer în G(q -1). Sisteme discrete

28
teoretice (SDT) sunt sistemele descrise prin funcţii de transfer în z. Sistemele discrete reale (SDR) sunt
-1
descrise prin relaţii de recurenţă între eşantioane sau funcţii de transfer operatoriale în q .
Între SDR şi SDT există deosebiri cu efecte nete la implementarea sistemului de conducere, mai ales
dacă T nu concordă cu scala de timp real a părţii fixate continui. Aceste efecte se datoresc limitărilor
hardware şi software ale RD şi principiului secvenţial de prelucrare a informaţiei de către procesor.
Implementarea în RD a modelelor discrete Gf(z) a fost posibilă datorită asimilării forţate a variabilei
complexe 1/z = z-1 din polinomul Gf(z) exprimat în z-1 prin Gf(z-1), cu operatorul de întârziere cu un tact de
eşantionare q-1; aceasta nu se aplică transformatelor z ale semnalelor ci chiar semnalelor reale, adică:

q-1yk = yk-1 (2.19)

q-1 aplicat exclusiv semnalelor reale, este independent de T şi reprezintă o convenţie de calcul în prelucrarea
ciclică a semnalelor de intrare - ieşire în RD conform calculelor algoritmilor rezidenţi în unitatea centrală.
Dacă:
Gf (z-1) = Y (z-1) / U (z-1) = B (z-1) / A (z-1) – polinoame în z-1, rezultă (teoretic): (2.20)
A(z ) · Y(z ) = B(z ) · U(z ), toţi termenii fiind funcţii complexe în z
-1 -1 -1 -1 -1
(2.21)

Asimilănd forţat pe z-1 cu q-1, se introduc operatorii polinomiali A(q-1), B(q-1) aplicaţi eşantioanele reale prin:

A(q-1)yk = B(q-1)uk (2.22)

Aceasta este ecuaţia cu diferenţe finite (de recurenţă) care se implementează în mod real pe calculator.
Se asociază o funcţie de transfer discretă, reală, operatorială Gf (q-1). Legătura Gf (z-1)-Gf (q-1) constă în
aceea că din punct de vedere al stabilităţii modelului teoretic Gf (z-1) şi real Gf (q-1), rădăcinile polinomului
A(z-1) şi ale ecuaţiei A(q-1) = 0 trebuie să fie subunitare în modul, iar cele cu modul unitar să fie unice.
Teoria stabilităţii în domeniul z şi teoria stabilităţii cu diferenţe finite coincid principial în acest context.
Paralelismul celor două moduri conceptual diferite de abordare a permis utilizarea eficientă a modelelor reale
discrete care nu necesită decât operaţii cu numere reale şi nu cu cele complexe sau cu simboluri.

3. Ecuaţii discrete de stare

Forma specifică (simplificată) de la sisteme continui (strict proprii):

x ( t ) [A] x ( t ) [B] u ( t ) (2.23)


y( t ) [C] x ( t )
conduce la răspunsul:
t [A] T
x(t) (t t 0 )] x ( t 0 ) [ (t )] [ B] u ( ); [ ( t )]d e -matricea de tranziţie a stării (2.24)
t0
Considerând: t0 = tk şi t = tk+1 , deci x(k.T) = xk  k 0, rezultă:
( k 1) T
[A] T
xk 1 e xk e [ A ] (( k 1) T )
[B] u ( )d (2.25)
kT
Rezultă, dacă se utilizează EX0 şi u (t) = u (kT) = uk  , t (kT, (k+1) · T):
( k 1) T
[A] T
xk 1 e xk uk [e [ A ] (( k 1) T )
] [B] d
kT
(2.26)
yk [ C] x k

2.4 ETAPELE DE ANALIZĂ ŞI SINTEZĂ PENTRU SISTEMELE CU EŞANTIONARE

Analiza are ca prim obiectiv obţinerea funcţiei de transfer (f.d.t) în z pentru scheme bloc care conţin
atât elemente (semnale) continui cât şi semnale eşantionate. Pentru configuraţiile din fig. 2.5:

29
Fig. 2.5 Structuri de conectare tip.

a. Ge(z) = G1(z) . G2(z) (2.27)


N
b. Ge(z) = Z(G1(z) . G2(z)) G1G2 (z) (2.28)
G (z)
c. Ge(z) = (2.29)
1 GH(z)
Cu ajutorul Ge(z) se analizează apoi stabilitatea (asemănător ca la sisteme continui), condiţie esenţială
pentru utilizarea sistemului respectiv. Din:

z eT s z ej T
cos( T) j sin( T) (2.30)

Când , + ) (parcurgând axa imaginară), z va parcurge cercul unitar. Atunci când s este în
semiplanul stâng, z parcurge interiorul cercului unitar. Condiţia necesară şi suficientă ca un sistem automat
cu eşantionare să fie stabil, este ca toate rădăcinile ecuaţiei caracteristice în z, să se găsească în interiorul
cercului unitate. Rădăcinile situate pe cerc determină oscilaţii întreţinute. Varianta Ruth-Hurwitz a criteriului
de stabilitate pentru sisteme discrete:
- se transformă cercul unitate în axa imaginară printr-o transformare conformă:

z = (r+1) / (r-1) ; r = + j · (2.31)

- se aplică criteriul identic ca la sisteme continui pentru ecuaţia caracteristică în r.

În etapa următoare se evaluează răspunsul indicial (la intrare treaptă unitară):


z 1
U(z) = 1
(2.32)
z 1 1 z
Aplicând metoda împărţirii nelimitate, se determină răspunsul eşantionat din care se pot determina parametrii
de calitate ai comportării dinamice: suprareglarea, amortizarea, durata regimului tranzitoriu şi stabilitatea.
T se constituie ca un parametru esenţial pentru sistemele cu eşantionare. De aceea este foarte
importanta o buna alegere a sa. Criterii cu justificare analitică conduc, prin teorema Whittaker - Kotelnikov –
Shannon (WKS, referită de multe ori ca teorema Shannon) la relaţia:

T c (2.33)

cu c pulsaţia de tăiere a caracteristicii de frecvenţă (amplitudine) a părţii fixate continue. Teorema WKS
indică o valoare exactă a frecvenţei de eşantionare când se cunoaşte c pentru spectrul semnalului Y(j ) -
măsura sau mărimea reglată. Practic c este foarte rar cunoscut a apriori şi există modalităţi de abordare a
alegerii T prin intermediul unor relaţii empirice ori recomandări care s-au acumulat din experienţa de
operare:

1. T 0,1 . Tfi Tfi : constantele de timp principale ale părţii fixate continui. (2.34)
2. T · min Tfi (2.35)
i
3. T m· ( + min Tfi ), dacă există şi un timp mort semnificativ ; m = 3…8 (2.36)
i

4. T .Tf  Tf : constanta de timp principală (dominantă) (2.37)

30
5. T (1 / 10 …1 /5).tr ; tr este durata regimului tranzitoriu. (2.38)
6. T  (1 / 20 … 1 / 5) .Tp (2.39)

Tp este perioada proprie de oscilaţie (amortizată) a răspunsului indicial a sistemului închis. T nu mai
depinde exclusiv de partea fixată, ci se alege după dinamica propusă a întregului sistem închis.

În unele aplicaţii industriale, perturbaţiile parametrice şi dinamica procesului sunt rapide şi T = ct


poate conduce la erori mari de cuantificare în timp şi amplitudine. Se utilizează atunci T variabilă, adaptivă;
calculele de optimizare - minimizare a erorii de cuantificare dinamică se fac în timp real pentru a da valoarea
curentă a lui T. Eşantionările aciclice aplicate modelelor continui conduc însă după discretizare la ecuaţii cu
diferenţe finite cu coeficienţi variabili discreţi în timp (kT), imposibil de asimilat din punct de vedere
sistemic cu teoria funcţiilor de transfer discrete ce corespund unor ecuaţii cu coeficienti constanţi.
Se poate demonstra riguros (intuitiv se ajunge la aceeaşi concluzie) că T ideal pentru SDT este zero.
Când perioada de eşantionare se apropie de zero, modelul discret se apropie din ce în ce mai mult de cel
continuu din care provine.
La SDR valoarea minimă pentru T este limitată inferior, deci Tideal 0. În locul unei demonstaţii
analitice laborioase, se preferă comentarea mai multor exemple care confirmă acest lucru.

A. În analiza structurală, la modelul de la (2.25) se face trecerea la limita T 0 si rezultă:


[A] 0
xk 1 e xk uk 0 xk
(2.40)
yk [ C] x k
care este un model necontrolabil şi la limita de stabilitate.

B. Pentru un sistem aperiodic de ordinul II:


kf
G f (s) (2.41)
(1 Tf 1 s) (1 Tf 2 s)
se obţine, în prezenţa EX0, modelul discret:
a2 a1
1 a 2 a1 a 2 a1
G f (q 1 ) (1 q 1 ) k f 1
(2.42)
1 q 1 p1 q 1 1 p2 q 1

a1 = 1 / Tf1 ; a2 = 1 / Tf2 ; p1 = e-T / Tf1 ; p2 = e-T / Tf2

T 0 (practic T / Tf1,2 0) conduce la p1,2 = 1 şi:


a2 a1
lim G f (q 1 ) kf 1 0 (2.43)
T 0 a 2 a1 a 2 a1
Acest rezultat se interpretează ca întreruperea canalului informaţional intrare-ieşire la valori prea mici ale lui
T.

C. Pentru un sistem aperiodic de ordinul I:


Ts
1 e kf Y(s)
G f (s) (în prezenţa EX0, condiţii niţiale nule) (2.44)
s 1 Tf s U(s)
Modelul conduce la ecuaţia diferenţială intrare-ieşire:

Tf · y’’ (t) + y’ (t) = kf · (u(t) – u(t-T)) (2.45)

Cu aproximările pe durata T:

y’ (t)  (yk-yk-1) / T şi y’’ (t) ( yk-2yk-1+ yk-2) / T2 se obţine ecuaţia cu diferenţe finite: (2.46)

31
T T
2
Tf 1 Tf
yk yk yk 2 kf T (u k uk 1) (2.47)
T T T
1 1 1
Tf Tf Tf
T 0 conduce la un model:

yk = 2 · yk-1 - yk-2 , cu ecuaţia caracteristică: (2.48)

1 – 2 ·q-1 + q-2 = 0 ; q1 = q2 = 1 (sistem instabil)

Transferul comenzii către ieşire este blocat, deci modelul limită obţinut este necontrolabil. Pentru acest
exemplu, se va analiza şi influienţa modului de reprezentare în procesorul de lucru a numerelor de la
coeficienţii modelului discret. Se consideră că toţi coeficienţii modelului se introduc în acelaşi format
fracţionar (unic), pe 16 biţi, dintre care 15 sunt pentru partea fracţionară şi unul pentru semn. Pasul de
cuantificare este 2-15 iar numerele mai mici decât acesta sunt văzute ca nule. Fie Tf = 10 min = 600 secunde.
Dacă T / 600 < 2-15, deci dacă T < 18,3 ms, modelul devine inoperant. Deci o tendinţă excesivă de
cvasicontinuitate comportamentală nu este adecvată implementărilor în timp real.
Concluzia este că la sisteme discrete reale transferul informaţiei uk yk , se "blochează" dacă T 0.
Pe de altă parte, este extrem de importantă legătura dintre dinamica procesului reglat, T aleasă prioric
şi precizia de reprezentare internă a coeficienţilor modelelor discrete ale părţii fixate, pentru metodele de
sinteză care utilizează explicit modelul sistemic, identificat al părţii fixate.
De obicei T se alege off - line din informaţiile apriori ale dinamicii procesului (model sistemic).
Pentru categorii specifice de aplicaţii, optimizarea alegerii perioadei de eşantionare vizează corelări şi cu alte
variabile: număr de ranguri ale convertoarelor A/N au N/A, referinţă maximă, precizia de reprezentare a unor
variabile, constante traductoare etc. Comportarea unui model sau a sistemului condus depinde în mod
esenţial de valoarea T. Pentru valori necorespunzătoare nu numai că se obţin performanţe slabe dar este
posibil ca sistemul să devină instabil. Se recomandă confirmarea unor calcule preliminare pentru T cu
ajutorul unor simulări pe model.
În aplicaţiile ce implementează algoritmi de reglare care se acordează în exclusivitate experimental,
fără a dispune de modelul sistemic al procesului, T se poate alege on - line, prin optimizarea valorii ei. Există
RD cu frecvenţe de eşantionare programabile în special pentru algoritmi PID discreţi.

2.5 PRELUCRĂRILE DE SEMNAL ŞI INFORMAŢIE ÎN REGULATOARELE DIGITALE

Fig. 2.6 redă modulele hardware şi software care sunt implicate în prelucrările de semnale fizice şi de
informaţie pentru un regulator digital tipic. Notaţiile care intervin au următoarele semnificaţii: TR: traductor;
S&H: eşantionare - memorare (Sample and Hold); k: indicele eşantionului curent; CAN: convertor analog -
numeric; UC: unitate centrală; ARN: algoritm de reglare numerică; CNA: convertor numeric - analogic;
EX0: extrapolator de ordinul zero; l: lungimea cuvântului calculator pentru unitatea de prelucrare aritmetică;
nCAN, nCNA: numărul de ranguri ale convertoarelor respective.
Dacă semnalul electric furnizat de traductor este în nivel (tensiune), blocul de conversie curent -
tensiune nu mai este necesar. Dacă gama iniţială de semnal în nivel este de [0...10] Vcc, amplificatorul cu
compensarea offset-ului este de asemenea de prisos. Blocul de condiţionare a semnalelor realizează una sau
mai multe din funcţiile: amplificare – atenuare, filtrare, separare galvanică, conversie de scală, liniarizare
caracteristică traductor etc. În cazul mai multor legături inverse, blocul CAN este precedat de un multiplexor
al canalelor analogice. Extrapolatorul poate fi în amonte sau în aval de CNA; mai mult, el poate fi realizat
prin mijloace software sau hardware, numerice sau analogice. În cele ce urmează vor fi analizate blocurile
componente, mai puţin elementele de măsură.
CAN - fig. 2.7.
yk A max [Vcc ] admis de CAN. Pentru nCAN ranguri la CAN, pasul de cuantificare ín amplitudine este:
A max
CAN n CAN
[V / bit] (2.49)
2 1

32
Fig. 2.6 Lanţul de prelucrare a semnalelor şi a datelor în echipamentele de tip RD.

Valoarea cuantificată pentru yk este y*k = q . CAN; q = 0, 1, 2, ...,. Eroarea de conversie (cuantificare) este:
= yk - y*k [- CAN/2, + CAN/2] (2.50)
S-a presupus pentru durata conversiei: tCAN < h << T < min (Ti sistem), condiţii în care yk menţinut
constant o durată h reprezintă cu suficientă precizie pe y(t) pe [kT, (k+1)T]; dacă nu, se micşorează T. De
asemenea:
dy
max [kT, (k 1)T] (2.51)
t 0 dt T
CAN A max A max
Din: , rezultă n CAN 3,33 lg 1 (2.52)
2 2 (2 n CAN 1) 2

Fig. 2.7 Caracteristici funcţionale pentru CAN.

33
Relaţia (2.52) furnizează n CAN impunînd eroarea de conversie şi Amax şi presupunînd că T este
aleasă corespunzător. n CAN trebuie corelat cu clasa de precizie a traductoarelor. Curent are valori de 10, 12
(biţi) sau mai mult (pentru aplicaţii speciale). În multe cazuri totuşi n CAN = 8 este satisfăcător. nCAN
determină nu numai precizia achiziţiei dar influientează şi comportarea sistemului (interfaţa introduce efecte
sistemice neliniare care pot provoca oscilaţii întreţinute, cicluri limită). Se preferă mărirea rangurilor CAN şi
CNA şi de regulă nCNA < nCAN. Atunci, neliniaritatea cea mai pronunţată apare la ieşirea RD, datorită
prezenţei CNA.

Normarea este o prelucrare software prin care rezultatul CAN este compatibilizat cu formatul intern de
prelucrare a informaţiei în unitatea centrală. Pentru o aritmetică cu virgulă fixă, mărimile sistemice cu care
opereză algoritmul de reglare (u , r, y, etc.) sunt prelucrate în unitatea centrală (UC) a RD într-o formă
normată, fracţionară, independentă de numărul rangurilor convertoarelor A/N, N/A. Cu: u - comanda dată de
regulator; r - referinţa (internă sau externă); y - măsura din sistemul condus; - eroarea ( = r - y este
mărimea de intrare în algoritmul de reglare):

ukUC ykUC UC
 rkUC (2.53)

Prin normare, vkCAN  vkUC , formatul este fracţionar pe l biţi şi reprezintă imaginea numerică cu care va
lucra unitatea centrală; vkUC  1; este fracţionară cu semn, celelalte sunt pozitive.

Varianta 1 de normare (N1)


Mărimile se reprezintă în format fracţionar cu (l-2) biţi alocaţi pentru partea fracţionară, un bit de rang
(l-2) pentru reprezentarea numărului 1.0 şi bitul de rang (l-1) pentru semn - fig. 2.8. Este posibilă
reprezentarea valorii maxime (=1). Normarea unei mărimi generice v (măsură, referinţă externă analogică,
erorare) se face prin:
UC v
vk n CAN
k
; ykUC [0, 1] ; rkUC [0, 1]; k
UC
= rkUC - ykUC [-1, 1] (2.54)
2 1
Pasul de cuantificare intern este 2 - (l - 2), deci precizia de reprezentare internă nu este cea mai bună.
Alt dezavantaj este legat de necesitatea efectuării unei operaţii de divizare complicate la fiecare tk.

Varianta 2 de normare (N2)


Partea fracţionară se reprezintă pe l-1 biţi, renunţând la reprezentarea explicită a valorii maxime.
Relaţiile de normare sunt:
UC vk n CAN UC n CAN n CAN
vk [0, 1 2 ] , mai puţin k [ (1 2 ) , (1 2 )] (2.55)
2 n CAN
Precizia creşte (pasul se înjumătăţeşte la 2-(l-1)). Divizarea se face prin simpla deplasare a virgulei spre
stânga a numărului cu nCAN ranguri binare.

Denormarea comenzii interne


Prin algoritmul de reglare rezultă comanda la momentul curent ca o valoare ce este aplicată unui
element software de limitare.
Varianta 1 de denormare (D1)
Valoarea maximă reprezentată explicit este ukUCmax = 1. În general însă, comanda internă poate să
rezulte din algoritmul de reglare şi cu valori supraunitare sau negative. Limitarea, componentă software a
prelucrărilor din RD, realizează caracteristica din fig. 2.8. Denormarea comenzii consta în relaţia:

ukCNA = [ukLIM  nCNA


–1)]T [0, nCNA
–1] (2.56)

Indicele T din rel. (2.56) se referă la faptul că l fiind mai mare ca numărul de ranguri de la convertorul
numeric-analogic (nCNA), rezultatul produsului se trunchiază la primii biţi semnificativi ai părţii întregi, iar
valoarea lui - număr întreg pozitiv, se aplică la CNA. Eroarea este maximă când toţi biţii în număr de l - 2 -
nCNA, eliminaţi prin trunchiere sunt 1. Eroarea la cap de scală ECS = 0 – pentru ukUC = 1 rezultă exact ukCAN

34
= nCNA –1, număr întreg ce nu mai necesită aproximaţii prin trunchiere. Dezavantajul D1: necesitatea unei
multiplicări complexe la fiecare moment de eşantionare.

Varianta 2 de denormare (D2)


Partea fracţionară este reprezentată pe l-1 biţi, numărul 1 nu este reprezentat explicit iar valoarea
maximă fracţionară este strict subunitară.
- Panta limitării este unitară. ukUCmax = 1- 2-nCNA iar denormarea comenzii se face prin:

ukCNA = [ukLIM nCNA


]T  [0, nCNA
–1]; ECS = 0 (2.57)

- Panta limitării este neunitară


Pentru ukUC se utilizează întreaga plajă de valori reprezentabile. Panta este (fig. 2.8):
n CNA
1 2
p lim ( l 1)
1 , deoarece nCAN < l-1 (2.58)
1 2
Relaţia de denormare este tot (2.56) iar ECS = 0 şi în acest caz.

Observaţii:
1. Dacă s-ar alege ukLIM = 1 - 2-(l-1) , deci s-ar exploata toată plaja de reprezentare internă a UC şi panta ar fi
unitară, ar rezulta ukUCmax = [(1- 2-(l-1)) x nCNA]T nCNA
–1, deci ECS 0. (2.59)
2. În varianta 2 de denormare se evită multiplicarea cu nCNA –1 dar se introduce fie o plaja de liniaritate
(panta unitară) redusă a elementului de limitare, fie o plajă de liniaritate mai mare cu pantă neunitară. Cazul
teoretic, ideal: pLIM = 1; nCNA = l-1 .
3. Aplicând cumulat (consecutiv) toate relaţiile precedente, se poate determina pentru fiecare variantă
factorul de transfer intrare-ieşire al regulatorului digital. În plus, trebuie considerate relaţiile caracteristice
CAN şi CAN, la extremităţile lanţului de prelucrări:

ykCAN = ( nCAN –1) · y(kT) / Ymax [u CAN]; y [0, Ymax] (2.60)


u (kT) = Umax · ukCAN / ( nCNA –1) [0, Umax] (2.61)

u (kT) este o mărime analogică, obţinută de fapt la momentul kT + tcalcul. De obicei, y şi u sunt semnale
unificate (de tensiune) cu plajă identică de variaţie şi punct de zero real iar elementul de limitare lucreză în
porţiunea liniară a caracateristicii: Ymax = Umax . Varianta 1 (globală) are avantajul utilizării de limite
min/max simple şi a unui factor de transfer unitar. Dezavantaj: necesitatea divizării şi multiplicării succesive

Fig. 2.8 Explicativă pentru modulele de normare, limitare şi denormare.

35
cu 2 x -1, mărindu-se timpul de calcul. Deci nu se recomandă la aplicaţiile cu valoare mică pentru T.
Varianta 2 foloseşte operaţii de multiplicare / divizare simple dar introduce un factor de transfer 1 al RD.
Se recomandă în aplicaţii de viteză (T mică).

2.6 ALGORITMI DE REGLARE NUMERICĂ

Operaţia de reglare numerică este cea mai complexă dintre funcţiile pe care trebuie să le realizeze
unitatea de bază dintr-un sistem de conducere cu echipamente numerice.

2.6.1 Generalitaţi. Calităţile algoritmilor de reglare numerică. Clasificare.

Flexibilitatea în programare şi capacitatea de prelucrare a informaţiilor la nivelul unităţii centrale


permit implementarea unei mari diversităţi de algoritmi de reglare numerică (ARN). Un algoritm bun trebuie
să aibă următoarele calităţi:
- un grad suficient de universalitate, pentru a putea fi utilizat în reglarea unei categorii largi de procese;
- să fie suficient de simplu, cu un număr rezonabil de mic de parametri de acordare. În acest fel este posibilă
stabilirea relativ clară a influenţei diverşilor parametri ai algoritmului asupra performanţelor sistemului
condus şi deci elaborarea unei metodologii rapide de acordare, iar pe de altă parte o execuţie rapidă;
- existenţa unei validări din experienţa practică a operării cu algoritmul respectiv;
- siguranţa în funcţionare (avertizarea utilizatorului asupra unor erori);
- stabilitatea numerică, în sensul insensibilităţii la perturbaţii în date;
- eficienţa algoritmului, măsurată prin durata de calcul;
- memoria utilizată;
- uşurinţa de utilizare, simplitatea implementării, corectării, acordării;
- fiabilitatea programului, capacitatea de a rezolva corect problemele. Această calitate este determinată de
calităti de robusteţe (evitarea depăşirilor aritmetice, minimizarea efectelor erorilor de rotunjire), de viteză
de convergenţă, de invarianţă la scalare.
- portabilitatea - asigură o funcţionare corectă pe diferite echipamente;
- modularitatea, divizarea în unităţi mai simple.
Complexitatea algoritmului se poate evalua cantitativ şi depinde de numărul operaţiilor elementare
necesare, de volumul de memorie necesar, de complexitatea structurilor, compunerea şi nivelul operatorilor
folosiţi.
După destinaţie, ARN pot fi:
- de control:
- informaţionali;
- structurali.
- de conducere optimală, adaptivă;
- de conducere în regim de avarie;
- de prelucrare a datelor primare;
- de diagnosticare şi prognozare a funcţionării procesului;
- de afişare.
După modul în care au fost deduşi, algoritmii se clasifică în:
- algoritmi derivaţi din legile de reglare continuă:
- algoritmi tipizaţi;
- algoritmi de predicţie;
- algoritmi specifici sistemelor cu eşantionare;
În general, algoritmii evoluaţi sunt specializaţi, impunând de multe ori cunoaşterea foarte exactă a
proprietăţilor dinamice ale procesului, cu un număr mare de parametri ale căror valori optime se obţin în
urma unor calcule laborioase. Prin urmare, utilizarea lor în aplicaţii industriale se recomandă numai când,
datorită complexităţii procesului şi necesităţii obţinerii unor performanţe cu totul deosebite, aşa - numiţii
algoritmi uzuali (sau tipizaţi) nu pot face faţă.

2.6.2 Algoritmi cu comutare

Algoritmul bipoziţional presupune existenţa unei comenzi binare (bipoziţionale) şi comutarea unui
contact al interfeţei de ieşiri numerice:

36
0 pentru
uk = 1 pentru (2.62)
u k 1 pentru
= r - y cu r: referinţă impusă din exterior; : constantă ce reprezintă semihisterezisul caracteristicii
bipoziţionale. Este singurul parametru de acordare.
Executarea algoritmului presupune următorii paşi:
1. Citirea mărimii y de la interfaţa analogică.
2. Prelucrarea primară a datei citite.
3. Calculul erorii .
4. Elaborarea comenzii u în conformitate cu (2.62).
5. Actualizarea comenzii precedente: u k-1 = u k.
Se poate utiliza şi o variantă în care se evită calculul efectiv al lui cu:
0 pentru y r1
uk = 1 pentru y r2 r1 = r + ; r2 = r - (2.63)
u k 1 pentru r2 y r1
r1 şi r2 sunt calculate la fiecare modificare de către operator a referinţei sau a histerezisului.
Algoritmul tripoziţional este destinat în primul rând pentru comanda servomotoarelor electrice de
viteză constantă folosite ca elemente de acţionare ale elementelor de execuţie. Cele trei comenzi pe care le
furnizează algoritmul corespund acţionării în cele două sensuri şi repausului. Realizarea comenzilor se face
cu 2 canale de ieşire numerică.
1 pentru z2
0 pentru z1
uk = (2.64)
1 pentru z2
u k 1 pentru z1 z2
Algoritmul are 2 parametrii: z1, z2 care pot fi consideraţi şi sub forma zonei de insensibilitate z =
(z1+z2)/2 şi a lăţimii ciclului de histerezis: = z2-z1. Algoritmul tripoziţional se poate implementa şi în
forma ideală ( =0) dar există situaţii în care histerezisul se poate dovedi util. De exemplu la sistemele cu
element de execuţie proporţional şi proces de ordinul 1, prezenţa histerezisului reduce frecvenţa de comutare.
Când algoritmul este utilizat la comanda elementelor de acţionare electrică, perioada de eşantionare T trebuie
să fie mult mai mică decât durata parcurgerii întregii curse a organului de reglare. Implementarea se face la
fel ca la algoritmul bipoziţional.

2.6.2 Algoritmi de reglare numerică cvasicontinuă tipizaţi

Algoritmii de reglare numerică cvasicontinuă tipizaţi (ARNC) se obţin prin discretizarea cu metoda
dreptunghiului sau a trapezului a legilor de reglare continue. Rezultatul obţinut prin discretizare se validează
de obicei comparând răspunsul indicial al celor două variante. Din forma continuă PID (Proporţional –
Integral – Derivativ):
t
1 d (t)
u(t) kp (t) ( )d Td u (0) ; u(0): comanda iniţială (2.65)
Ti 0
dt

Fig. 2.9 Caracteristicile algoritmilor cu comutare.

37
Se obţine prin discretizare cu metoda dreptunghiului (cu metoda trapezului se procedează similar):
k
1 Td
uk kp k j ( k k 1 ) u0 (2.66)
Ti j 1 T
Această formă, numită de poziţie sau absolută, prezintă dezavantajul iniţializării (prin u 0), precum şi cel al
cumulării erorilor prin însumarea termenilor care conferă caracterul integral. Se preferă forma ,,de viteză"
sau ,,incrementală". Pentru aceasta, se scrie comanda la pasul anterior:
k 1
T Td
uk 1 kp k 1 j ( k 1 k 2 ) u0 (2.67)
Ti j 1 T
Prin scăderea formelor (2.66) şi (2.67) membru cu membru, se obţine incrementul uk al comenzii:
T Td
uk uk uk 1 kp k k 1 k ( k k 1 k 2 ) (2.68)
Ti T
Forma practică a algoritmului se obţine ordonând în funcţie de k:
T Td Td Td
uk kp 1 k kp 1 2 k 1 kp k 2
Ti T T T
(2.69)
uk = u k-1 + uk

Algoritmii incrementali, obţinuţi prin discretizare se pot scrie şi sub forma:

u k = a0 . k + a1 . k -1 + a2 . k-2 (2.70)

Pentru implementare sunt necesare trei multiplicări. Coeficienţii se definitivează numeric off-line fie
on-line de către UC-RD astfel încât - pentru a păstra analogia urmărită - coeficienţii care se introduc de la
panoul RD să fie identici cu cei din cazul continuu (kP, Ti, Td).

Alţi algoritmi PID discreţi

- PID cu filtrarea componentei derivative (PID - F):

Funcţia de transfer în continuu este:


1 Td s
G PID F (s) kp 1 ; = 0,1…0,2 (2.71)
Ti s 1 Td s

- PID cu interinfluienţă:
(1 Ti s) (1 Td s)
G PID FI (s) kp (2.72)
Ti s (1 Td s)
Discretizarea acestor forme se obţine prin aplicarea algoritmului de la 2.2 pentru sisteme de ordinul II,
generându-se relaţii de recurenţă de tipul:

uk = 1· uk-1 + 2· uk-2+ 0· k+ 1· k-1 + 2· k-2 (2.73)

Se poate demonstra că aceşti algoritmi nu sunt adecvaţi pentru a fi implementaţi în RD cu configuraţii


programabile P, PI, PD, PID, deoarece necesită module independente (software) pentru anumite configuraţii.
Un studiu specific se poate realiza pentru iniţializarea algoritmilor prezentaţi.

2.6.3 Algoritmi de reglare numerică specifici sistemelor discrete

Pentru configuraţia simplificată a unui sistem cu eşantionare - fig. 2.10:

Y(z) = GEX0Gf(s) · Gp(s) · (R(z)-Y(z)) (2.74)

38
Rezultă funcţia de transfer discretă a regulatorului:
Y(z)
Y(z) R (z)
G c (z) (2.75)
G EX 0 G p (z) (R (z) Y(z) G EX 0 G p (z) 1 Y(z)
R (z)
Y(z) / R(z) reprezintă tocmai funcţia de transfer a sistemului global. Diferiţi ARN derivă din cerinţele
impuse funcţiei de transfer a sistemului în stare închisă, cu alte cuvinte, modului în care trebuie să se
comporte ieşirea Y(z) la o anumită referinţă R(z).
Un exemplu de ARN specific sistemelor cu eşantionare este algoritmul de tip DEAD – BEAT. Este
de fapt o clasă de ARN ce satisfac condiţiile:
- timp de stabilire finit;
- timp de creştere minim;
- eroare staţionară nulă.
Există mai mulţi algoritmi care satisfac aceste condiţii. De exemplu se poate impune ca la intrare treaptă R(z)
=1/(1-z-1), eroarea staţionară să fie nulă la toate momentele de eşantionare care urmează primului. Atunci:
1
z
Y( z ) 1
; st lim(1 z 1 ) (z) (2.76)
1 z z 1

z 1
În acest caz: G c (z) (2.77)
G EX 0 G p (z) (1 z 1 )
Exemplu: pentru un sistem condus (proces) de ordinul I:
1 1
z z
G c (z)
1 kp 1 1
(1 z 1 ) Z (1 z 1 ) (1 z 1 ) 2 k p Z
s 1 s Tp s s 1 / Tp
T / Tp
z 1 1 z 1
e C(z 1 )
T / Tp
1 1 kp 1 e (1 z 1 ) E( z 1 )
(1 z 1 ) 2 k p
1 z1 1 z 1
e
T / Tp

Cu operatorul q-1, aceasta formă este echivalentă cu:


T / Tp T / Tp
kp 1 e (1 q 1 )c k (1 q 1
e ) k
T / Tp T / Tp
kp 1 e (c k ck 1 ) k k 1 e
T / Tp
1 e
ck ck 1 k k 1 (2.78)
T / Tp T / Tp
kp 1 e kp 1 e

adică o relaţie de tipul:

ck = ck-1 + 0· k+ 1· k-1 (2.79)

care necesită (după un calcul off-line al coeficienţilor) 2 multiplicări şi 3 adunări (incluzând şi calculul erorii:
k= rk-yk), memorarea a două variabile şi a două constante. În practică un asemenea algoritm poate impune
cerinţe deosebit de grele procesului condus, stabilirea la valoarea finală după primul T putând conduce la
oscilaţii puternice între momentele de eşantionare şi implicând un consum mare de energie.
Acest exemplu este important pentru a înţelege faptul că proiectarea unui algoritm de reglare pentru un

Fig.2.10 Structura bloc a unui sistem cu eşantionare.

39
echipament numeric porneşte de la utilizarea unor instrumente teoretice (funcţii de transfer, operatori
complecşi) şi se finalizează cu operaţii aritmetice implementabile de către unitatea aritmetică a procesorului.

2.6.4 Sinteza algoritmilor de reglare numerică

ARN se proiecteză pentru regimuri tranzitorii critice standard (tipice, adică răspunsuri indiciale şi la
semnal de intrare tip rampă), impunând apriori valori limită ale indicilor de calitate. Orice mărime de
referinţă variabilă în timp poate fi aproximată prin segmente treaptă sau rampă. Dacă sistemul automat are
pentru astfel de referinţe standard o comportare staţionară şi tranzitorie bună, atunci va avea o comportare
acceptabilă şi la o referinţă arbitrar variabilă în timp, dar oricum mai lent variabilă decât cea considerată la
sinteza algoritmului. O primă clasă de strategie de sinteză se bazează pe transpunerea metodei alocării polilor
şi zerourilor de la sisteme continui. În continuare se va prezenta o metodă specifică sistemelor discrete, mai
simplă şi directă: sinteza directă în domeniul timp a algoritmilor de reglare numerică.
Ipotezele preliminare de proiectare:
- se dispune de Gf (z-1), incluzând şi EX0, sub forma:

G(z-1) = B(z-1) / A(z-1) · z-N ; N 0;  B/A este o funcţie raţională proprie iar n =[ /T] este (2.80)
timpul mort al părţii fixate în multiplii de T.
- referinţa este treaptă unitate: R(z ) =1/(1-z-1);
-1

- mărimile sistemice ale buclei automate discrete sunt în prealabil normate.

În aceste condiţii, se alege secvenţa infinită a eşantioanelor răspunsului indicial dorit de la ieşirea sistemului
automat, asfel încât să fie satisfăcuţi o serie de indici de calitate ai regimului tranzitoriu şi staţionar. Se
cunosc deci eşantioanele răspunsului dorit yk, deci şi:
Yd (z 1 ) yk z k (2.81)
k 0
Din considerente de cauzalitate se ia:
y0 lim (1 Yd (z 1 )) 0 (2.82)
z 1

Dacă = 0 sau N = 0, doar y0 = 0; pentru N > 0 ( > 0) se consideră nule primele eşantioane: y1 = y2 = . . . =
yN = 0.
Funcţia discretă a sistemului închis:

Cazul = 0

Se fixează y1, ..., yr, cu yi  yj , în conformitate cu aspectul răspunsului indicial, iar restul
eşantioanelor yr+i =1, i . Atunci:

Yd(z-1) = y1· z-1 + y2· z-2 +… + yr· z-r + z-(r+1) + z-(r+2) +… (2.83)

Yd fiind stabil (poli subunitari z ), seria geometrică din finalul expresiei, la limită, are o sumă finită:

Yd(z-1) = y1· z-1 + y2· z-2 +… + yr· z-r + z-(r+1) / (1- z-1) (2.84)

Bucla automată este stabilă prin metoda de proiectare, prin care se alege apriori răspunsul dorit, Yd (z-1):

Yd(z-1) = [ y1· z-1 + (y2- y1)· z-2 +… + (yr- yr+1)· z-r + (1- yr) · z-(r+1) ] / (1- z-1) (2.85)

Yd(z-1) = Q(z-1 ) / (1- z-1) (2.86)

Cunoscând referinţa, rezultă funcţia de transfer a sistemului închis:

G0(z-1) = Yd(z-1) / R(z-1) = Q(z-1 ) (2.87)

40
Cazul = NT

Primele eşantioane sunt nule: y0 = y1 = . . . = yN = 0. Se aleg eşantioanele nenule neunitare ale


răspunsului yN+1 , yN+2, . . . ,yr, distincte între ele şi yr+i = 1,  i . Atunci:

Yd(z-1) = yN+1· z-(N+1) +… + yr· z-r + z-(r+1) + z-(r+2) +… (2.88)

Yd(z-1) = yN+1· z-(N+1) +… + yr· z-r + z-(r+1) / (1- z-1) (2.89)

Yd(z-1) = z-N · [yN+1· z--1 + (yN+2- yN+1)· z-2 + … + (yr- yr+1)· z-(r-N) + (1- yr) · z-(r-N+1) ] / (1- z-1) =

= QN(z-1 ) / (1- z-1) (2.90)


Rezultă:

G0 (z-1 ) = QN (z-1 ) (2.91)

Funcţia de transfer a sistemului deschis va fi:

Gd(z-1) = G0(z-1) / (1- G0(z-1)) = Gf(z-1) · GR(z-1) (2.92)

Rezultă funcţia de transfer a regulatorului digital:

GR(z-1) = Gd(z-1) / Gf(z-1) = A(z-1) / B(z-1) · zN · [Q(z-1) /(1- Q(z-1))]; (2.93)

După obţinerea acestui rezultat se impune o analiză a realizabilităţii algoritmului prin corelarea
gradelor polinoamelor din rezultat cu unele caracteristici ale procesului / sistemului condus.

Durata regimului tranzitoriu este:

tr = (r+1) ·T (2.94)

2.7 MODULE SOFTWARE AUXILIARE ÎN RD

Prelucrarea principală dintr-un regulator digital (şi de fapt dintr-un sistem de reglare numerică) este
legată de calculele implicate în algoritmul de reglare numerică. Celelalte task-uri sunt de asemenea
importante dar vor fi referite ca module software auxiliare.

2.7.1 Filtrarea numerică a semnalelor

Zgomotele care pot afecta semnalele dintr-un sistem de reglare automată provin de la:
- inducţia semnalelor de frecvenţă industrială datorită vecinătăţii dintre cablurile de forţă şi cele de măsură;
- inducţia unor impulsuri provenind de la regimurile tranzitorii din circuitele de forţă;
Filtrarea numerică are avantajele ajustării software a parametrilor, care îi conferă o mare flexibilitate şi a
operării comode şi pentru frecvente scăzute, la care filtrele hardware sunt ineficiente sau complicate (de tipul
activ).

Filtre de ordinul I

Sunt descrise prin funcţia de transfer:

GF(s) = 1 / (1+TF · s) = E(s) / I(s) (2.95)

Cu metoda dreptunghiului şi T - perioada de eşantionare, se obţine:


N
ek = ek+1 + (ik- ek-1) / (1+ ) ; TF / T sau ek = ek+1 + cf1 · (ik- ek-1) (2.96)

41
Funcţia de transfer discretă a filtrului:
1 c N
G F1 (z 1 ) ; c 1 cf1 (2.97)
1 c z1
Efectul acestui filtru este descris de tabelul 2.1. cf1 = 1  c = 0 şi GF1(z-1) = 1, adică nu există efect de
filtrare. s conduce la cf1 0 , c 1 şi GF1(z-1) = 0, adică filtrarea este totală. Efectul filtrării creşte cu
apropierea polului c din (2.97) de cercul unitar z =1. O analiză similară se poate face utilizând metoda de
discretizare a trapezului.

Tabelul 2.1
cf1 Efect
0 1 Nul
0 1 0,5 < cf1< 1 Neglijabil
0, cf1 Moderat
0,  cf1 Semnificativ
1  cf1 Puternic

Filtrele de ordinul II se utilizează mult mai puţin, necesitând un număr însemnat de calcule on - line.

Filtrarea prin mediere

Dacă ik este mărimea de intrare curentă în filtru iar valorile ei anterioare s-au memorat până la ordinul
de regresie -1, ek este:

ek = (ik + ik+1 + … + ik-( -1) )/ (2.98)

Pentru o bună filtrare trebuie un ordin de regresie mare, deci volum mare de memorie pentru reţinerea
regresorilor ik-1 , .... ik-( - 1) şi un număr însemnat de calcule on - line. Apar de asemenea probleme la
iniţializarea filtrului când se cuplează RD în regim automat. Se consideră eficient = 4, utilizat în filtrarea
componentei derivative D a algoritmilor PID discreţi. Pentru valori mari, se recomandă filtrarea cu relaţia:
( 1) e k ik
ek 1
; ek-1 : valoarea medie, filtrată, de la pasul k-1 (2.99)

1
G F (z 1 ) (2.100)
1 ( 1) z 1
conduce la valoare unitară pentru polul ( , deci cu cât se utilizează mai mulţi regresori cu atât
întârzierea introdusă de filtru este mai mare. Filtrarea prin mediere se poate realiza şi cu ajutorul unui
tampon circular oganizat în RAM începând de la adresa ADTC – fig. 2.11. Tamponului i se spune circular
pentru a sugera reluarea înscrierii după N operaţii (N fiind lungimea tamponului), dar este vorba de un spaţiu
liniar de locaţii RAM. Prima locaţie disponibila a tamponului este dată de un indicator IND, incrementat la
fiecare operaţie de înscriere de date în tampon. Când conţinutul IND devine egal cu ADTC + (N – 1), o nouă
înscriere de date în tampon este urmată nu de incrementarea lui IND, ci de repoziţionarea la ADTC.

Fig. 2.11 Datele de la filtrul prin tampon circular.

42
N N N 1
ek 1 1N i j ; N ek 1 ij ij iN i0 (2.101)
j 1 j 1 j 0
N 1
ek 1 1N i j 1 N (i N i0 ) ek 1 N (i N i0 ) (2.102)
j 0

Deci valoarea filtrată la momentul k + 1 se obţine pe baza aceleia de la momentul k prin adunarea la aceasta
a termenului obţinut scăzând întregii iN (ieşirea CAN la momentul considerat) şi i0 (valoarea cea mai veche
din tamponul circular, indicată de IND) şi, dacă N este o putere a lui 2 (N = 2 k), deplasând rezultatul
scăderii spre dreapta cu k ranguri.

2.7.2 Zona moartă în algoritmii de reglare numerică

Zona moartă (ZM) este utilizată ca o metodă de reducere a sensibilitătii regulatoarelor numerice la
zgomotul existent în sistemele de eşantionare. Comanda elaborată de RD: uk = f ( uk-1 , uk-2 , ... , k, k-1 ,
... ) implică un efort de calcul considerabil, în cele mai multe cazuri. Utilizându-se ZM 0, fluctuaţiile
dinamice ale erorii k datorate măsurii yk (provenită din traductorul de proces) nu generează noi comenzi
(calculate) dacă aceste fluctuaţii nu depăşesc o limită impusă iniţial (ZM) - fig. 2.12. Coeficientul ZM este
programabil şi uzual ia valori în intervalul [0... 0,1].

2.7.3 Controlul limitelor

Comanda uk se controlează din punct de vedere al limitelor prin:


u min pentru u k u min
OUT
uk = u min u k u max (2.103)
uk u max
umin şi umax sunt valori programabile, introduse ca numere fracţionare.

Gradientul comenzii este important la cuplarea RD în regim automat în buclă închisă sau la
modificarea în trepte a mărimii de referinţă. Elementul de execuţie trebuie protejat prin limitarea vitezei de
variaţie a comenzii finale. Variaţia comenzii este dată de uk - uk-1 (comandă incrementală). Algoritmul de
control al gradientului comenzii este:

uk ukOUT pentru uk uk-1 + u · uk-1 (2.104)

altfel: (1+ u ) uk-1  ukOUT, cu condiţia: 0  (1+ u ) uk-1 (comenzile interne sunt normate) (2.105)

u este un coeficient programabil introdus uzual în format zecimal şi semnifică gradientul impus comenzii.
Limitarea prea accentuată a u poate mări excesiv durata regimului tranzitoriu, deci trebuie realizată în mod
adecvat aplicaţiei şi iterată în etapa de acordare experimentală a RD.

Controlul gradientului mărimii reglate. În RD trebuie să se sesizeze în timp real funcţionarea


defectuoasă a traductorului lui y printr-un control (ciclic cu perioada T) a vitezei de variaţie a lui y k. Viteza

Fig. 2.12 Operarea cu coeficient de zonă moartă.

43
maximă de variaţie a lui y este cunoscută aproximativ, a priori, din constantele de timp estimate ale părţii
fixate continui. Dacă:

yk  yk-1 + y · yk-1 (2.106)

traductorul funcţionează corect; în caz contrar, trebuie semnalizat aspectul prin mesajul la consolă "traductor
suspect".

2.8 DIAGRAMELE DE TIMP ALE CALCULULUI COMENZII

Algoritmii de reglare numerică realizează prelucrări de forma:

uk = f ( k , k-1 , ... , uk-1 , ... ) = f ( rk - yk , rk-1 - yk-1, ... , uk-1 , ... ) (2.107)

Comanda uk la pasul curent tk este dependentă direct de eşantionul cules yk:

uk = g ( yk , yk-1 , ... , uk-1 , ... ) (2.108)

Deoarece comanda nu poate fi emisă simultan cu preluarea lui yk datorită transformărilor şi calculelor
specifice RD, diagramele de timp ale comenzii la ieşirea RD (în prezenţa extrapolatorului de ordin zero) au
aspectul din fig. 2.13. La t0 se face comutarea manual - automat (M-A). Datorită unor iniţializări tipice
exclusiv primei perioade de eşantionare, măsura la primul pas - y0 se preia din proces la momentul t0x + t0
> t0. Momentul t0+t0x este considerat iniţial pentru mărimile sistemice ale buclei închise automate, începând
de la care toate calculele, preluările de date din proces şi emiterea de comenzi se face după algoritmi ciclici
(cu perioada de eşantionare T). Din momentul to'= to+ tox al preluării măsurii y0 din bufferul de intrare
CAN şi până în momentul terminării calculelor algoritmului, se consumă timpul t c . În intervalul [tk, tk+ tc],
EX0 menţine comanda anterioară (uM respectiv uk-1). Comanda reală este deci:

uk+tc = g ( yk , yk-1 , ... ) (2.109)

tc este un fel de timp mort fracţionar. Dacă tc << T, ARN este considerat cauzal la limită. Dacă tc este
comparabil cu T ( tc < T/10 T/5 ) iar T nu este aleasă excesiv de mică în raport cu constantele de timp ale
părţii fixate, atunci timpul mort fracţionar 0 < tc / T < 1 poate înrăutăţi sensibil performanţele sistemului. La
fel atunci când algoritmul de prelucrare este deosebit de complex. În aceste cazuri este necesară (şi
inevitabilă) introducerea intenţionată a unui timp mort în emiterea comenzilor la ieşirea RD. Acesta se ia
egal cu T pentru a nu lucra cu timpi morţi fracţionari - nelucrativi din punct de vedere sistemic. ARN devine
de tipul:

uk = h ( yk-1 , yk-2 , ... , uk-1 , ... ) (2.110)

u1 = h (y0 , uM); u2 = h (y1 , y0 , u1 , uM) etc. iar diagramele de timp vor avea aspectul din fig. 2.14.

Fig. 2.13 Secvenţa de operaţii la ARN cauzali la limită.

44
Comanda uk este emisă cvasisimultan cu preluarea eşantionului yk, ea fiind deja calculată. Timpii de
conversie A/N şi N/A se consideră neglijabili (tconv.<<T). Aceşti algoritmi se numesc strict cauzali şi se
recomandă în situaţiile: procese rapide, T mică, tc comparabil cu T, timpul mort T introdus în emiterea
comenzii de RD nu afectează performanţele sistemice, RD echipat cu microprocesor cu performanţe medii.
În cazul unor procese rapide, chiar la utilizarea unor algoritmi de reglare simpli, T fiind destul de
mică, implementarea algoritmilor cauzali la limită poate deveni critică (tc comparabil cu T) iar introducerea
unui timp mort T în emiterea comenzii nu este totdeauna indicată. Mai ales dacă procesul nu are timp mort,
se urmăreşte obţinerea unor răspunsuri rapide (regimuri tranzitorii scurte) iar T nu mai poate fi mărită, se
recomandă utilizarea predictorilor unipas. k se substituie cu o valoarea predictată a erorii curente obţinută
printr-o relaţie de calcul din valorile anterioare măsurate.

Fig. 2.14 Secvenţa de operaţii la ARN strict cauzali.

45
46
3. 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.

3. 1 STRUCTURI ASOCIATE AUTOMATELOR PROGRAMABILE

Fig. 3.1 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.
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
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).

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

47
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.
Ex. PB 100: OC 30 SI 010 instrucţiunea nr. 1
OC 31 MZ 021 instrucţiunea 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.
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):

Fig. 3.2 Organizarea fizică a unui AP.

Fig. 3.3 Organizarea structurală a unui AP.

48
- 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;
- memorie cuvinte interne simple, dependentă de configurare;
- memorie cuvinte interne duble, dependentă de configurare.

3.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. 3.4.
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. 3.7.
Intrări analogice - fig. 3.8. 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. 3.9. Sunt definite după gama de semnal (unificat de obicei):
- [0¸ 10] Vcc;
- [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.

49
3.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.
- 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. 3.4 Canal de intrare numerică.

Fig. 3.5 Canal de ieşire numerică cu releu. Fig. 3.6 Canal de ieşire numerică cu triac.

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

Fig. 3.8 Canale de intrări analogice.

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

50
a. Automate monoprocesor (monoprelucrare, monofuncţie) - fig. 3.11.
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. 3.12 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. 3.13. 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. 3.14.

Fig. 3.10 Exemple de cicluri de scrutare.

51
3.4 AP Î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 crează 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.

Fig. 3.12 Automat multiprocesor.


Fig. 3.11 Organizare monoprocesor

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

Fig. 3.14 Structură de prelucrare de tip biprocesor.

52
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:
- un terminal (ecran-tastatură) pentru dialogul om-maşină;
- o imprimantă pentru jurnalul de activitate;
- o unitate de stocare informaţii.

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

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

53
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.
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

54
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
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.

55
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.

56
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ă.

57
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:

58
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):
OC 30 SI 010 010, 011: intrări
OC 31 MU A00 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.

59
Fig. 3.30 Comanda prin interfaţă electropneumatică.

OC 32 SI/ 011 SI,SI / : testare bit/ bit negat ("dacă"- în limba franceză)
OC 33 MZ A00 MZ, MU : pune variabila la 1 respectiv la 0 (mets à un, à zéro)
OC 34 SI A00 A00 : variabilă internă
OC 35 ET 020 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 )

60
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).

61
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.

62
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.

63
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 T i, 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ă.

64
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.

65
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.

66
- 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.

67
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.

68
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 Fig. 3.43 Ciclul de scrutare pentru GRAFCET.
repuşi la 0.

69
Următoarea aplicaţie (fig. 3.44) pune în evidenţă zonele tipice ale unui program GRAFCET şi 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.

70
4. ECHIPAMENTE PENTRU COMANDA NUMERICĂ A MAŞINILOR-UNELTE

Comenzile numerice (CN) pentru maşini unelte (CNMU) au rolul de derulare a unor secvenţe de lucru
şi de generare a unor traiectorii (pentru scula prelucrătoare, piesă, alte subansamble) pe baza unui program
memorat sub formă numerică. Primele realizări de maşini-unelte cu comandă numerică (MUCN) se
consideră a fi rezultatul cercetărilor de la Massachusetts Institut of Technology (MIT) - SUA, care s-au
materializat în anii 1952-1953 şi erau destinate prelucrării unor piese complexe solicitate de industria
aeronautică. În anul 1969 se realizează prima conducere directă cu calculatorul (Direct Numerical Control -
DNC) în SUA, iar în anul 1972 apare primul echipament în care se utilizează microcalculatorul
(Computerized Numerical Control - CNC). Aceste două etape marchează trecerea de la CN în logică cablată
la CN în logică programată. Un salt calitativ important se datorează integrării microprocesorului în CN
(1978). În aceeaşi perioadă în Japonia se dezvoltă prima automatizare flexibilă (Flexible Manufactury
Celluly - FMC). În anii 1982-1988 se dezvoltă automatizarea integrală a MUCN în cadrul sistemelor
flexibile de fabricaţie (Flexible Manufactury System - FMS) caracterizate prin autonomie de funcţionare de
24 - 48 ore, schimburi neasistate la nivel de maşină, grup de maşini, ateliere, secţii. Sarcinile productive,
organizatorice şi parţial de conducere sunt asistate sau integral îndeplinite de o reţea informatizată ierarhizată
pe mai multe nivele executive şi decizionale.

4.1 TIPURI DE CN

Echipamentele de conducere automată a MU pot fi grupate în 3 categorii:


A. Dispozitivele de automatizare secvenţială. Principalul domeniu de aplicaţie îl constituie operaţiile
de transfer şi poziţionare a pieselor sau operaţii de uzinare cu informaţie discretă. Se pot identifica 3 soluţii
constructive de integrare în instalaţii:
- ca echipamente independente;
- ca extensii hardware la un sistem numeric de conducere;
- ca extensii software la un sistem numeric de conducere.
Echipamentele independente sunt caracterizate printr-o construcţie modulară cu blocuri separate
(procesor, unitate I/E, memorie), realizate ca unităţi compacte şi robuste. Ex: LOGITROL (General Electric),
PROCONTIC (ABB), PLC 2 (Allen-Bradley).
Utilizarea în conducerea operaţiilor de prelucrare implică cuplarea la comanda numerică sub formă de
extensie hardware, ceea ce a impus ca optimă varianta implementării pe plăci care pot fi introduse în dulapul
comenzii numerice. Ex: PIC (Bosh), CNC System 5 (Siemens), SIMUMERIK System 7 (Siemens).
Situaţiile de extensie software sunt mai rare, scopul urmărit fiind de obicei introducerea suplimentară a
diferitelor programe de test sau diagnoză pentru întregul sistem. Ex: NUMERIC System III (AEG), CNC
7300 (Plessey), SINUMERIK SPRINT T (Siemens).
B. Comenzile numerice propriu-zise.
Aprecierile comparative calitative şi cantitative ţin de avantajele logicii programate faţă de cea cablată,
fiind posibile:
- modificări post-procesor în programul piesă, introducerea unor noi funcţii fără modificări hardware;
- eliminarea erorilor cauzate de fiabilitatea mai redusă a cititoarelor de bandă (suport program
tradiţional);
- economie de timp prin eliminarea derulărilor benzii perforate (la programele pas cu pas cu reluare);
- standardizări hardware, modificările de adaptare la diferite tipuri de maşini referindu-se la structurile
de interfaţă.
CNC (cu o singură unitate de calcul) prezintă totuşi un dezavantaj în raport cu CN anterioare: datele
nu pot fi prelucrate decât consecutiv ceea ce conduce la un timp de execuţie sensibil mărit al funcţiilor
specifice. CN are posibilitatea prelucrării datelor simultan în diferite module funcţionale (execuţie paralelă).
Fig. 4.1 redă structura standard a unui sistem CN şi evidenţiază structura CNC (software). Structurile
prezintă echivalenţă funcţională per ansamblu. CNC preia programul în memorie de pe banda perforată care
apoi nu mai este utilizată. Pentru CNC există şi tehnici de accelerare a procedurilor de calcul (prin calcule
pseudo-paralele). Unele echipamente CN, CNC utilizează un sistem de introducere manuală a datelor, bazat
în special pe tastaturi specializate. Ex.: WOTAN 1000, NC 6600 (Philips), SINUMERIK MATE/M,
SINUMERIK SPRINT/T (Siemens). Alte variante preiau informaţiile de pe bandă magnetică şi (mai nou)
din cartuşe de memorie (ROM, RAM nevolatil - cu acumulatori). Performanţe ale echipamentelor din
această categorie:
- conturare cu precizie de 1 m;

71
- corecţii de scule;
- optimizare regimuri de aşchiere, inclusiv prin comenzi adaptive.
C. Sisteme de conducere prin calculator (CND - conducere numerică directă, echivalentul DNC)
este un sistem de conducere directă prin calculator numeric a unui grup de maşini, de la 2-3 maşini la
totalitatea unităţilor dintr-o secţie sau întreprindere. Programele piesă sunt memorate în calculator,
modificarea lor făcându-se simplu şi rapid. Sistemele CND permit extinderea parcului de MU şi au funcţii
bine definite în organizarea procesului de fabricaţie. Ele înglobeaza atât comenzile de prelucrare propriu-zisă
cât şi pregătirea procesului de fabricaţie, programarea pieselor, întreţinerea şi inventarierea sculelor,
transportarea şi stocarea pieselor etc. Coeficientul de utilizare al MU poate ajunge la 60 -70% (faţă de 17 %
pentru MU fără CN, 34-40% la MU cu CN). Sistemele CND implică investiţii mari. De obicei nu se adoptă
soluţii tip ci se face o proiectare a structurilor pentru condiţii locale bine definite. Variante:
- înglobarea mai multor structuri CNC (configuraţia CNC multiplu) în CND. Fiecare CNC poate asigura
funcţionarea instalaţiei tehnologice la parametri nominali şi în absenţa procesorului central.
- utilizarea la nivelul fiecărei MU nu a unor CN ci a unor dispozitive de automatizare secvenţială (ieftine).
Gradul de dependenţă de CND devine total.
Tipuri de MU cu CN:
1. După posibilităţile de mişcare – fig. 4.2:
- MU punct cu punct - lucrează decât pe axa verticală (z). Deplasarea de la un punct la altul se face
rapid. Ex: maşini de găurit, tarodat.
- MU paraxiale - în plus faţă de MU punct cu punct, acestea permit lucrul în timpul deplasărilor, dar
comanda la un moment dat se referă doar la o axă.
- MU de conturare - permit uzinarea pe 2 axe simultan (2D) sau pe 3 axe (3D), de unde posibilitatea
generării de traiectorii în plan sau spaţiu.
Obs. MU 2,5D realizează uzinarea volumelor prin decuparea acestora într-o succesiune de plane
paralele în care se face o prelucrare 2D.
2. După structura informaţională – fig. 4.3:
- MU în circuit deschis - singurul punct cunoscut de directorul de comandă este centrul vârfului sculei,
de unde necesitatea lucrului în incremental şi a creării unui zero piesă fictiv. Elemente de execuţie: motoare
electrice pas cu pas care asigură în anumite condiţii o corespondenţă riguroasă referinţă - poziţie.
- MU în circuit închis
3. După numărul de axe – fig. 4.4:

Fig. 4.1 Structura tip pentru CN cablată şi CN programată.

Fig. 4.2 CNMU - prelucrări punct cu punct, paraxiale şi după contur.

72
- Strunguri:
z - axa longitudinală, orientată spre pinolă;
x - axă perpendiculară pe axa maşinii.
Maşinile cu un al doilea sistem port-sculă (port-cuţit) mai au pentru acesta 2 axe (U, W). De
asemenea, indexând poziţia unghiulară a broşei rezultă o altă axă (A). La maşinile multibroşă, există
pănă la 32 axe programabile.
- Freze şi centre de prelucrare:
La cele trei axe definite ca în figură, se mai pot adăuga următoarele axe auxiliare: C - axa mesei
rotative; U - avansul suportului broşei; A - rotaţia eventuală a broşei; B - rotaţia verticală a mesei.

4.2 STRUCTURA SI FUNCTIONAREA CN

CN constituie o categorie distinctă a sistemelor electronice de automatizare a proceselor industriale şi


este o etapă superioară în conducerea după program a instalaţiilor. Echipamentul de CN face parte dintr-un
ansamblu complex mecanic, electric, hidropneumatic şi electronic, toate informaţiile primite, deciziile luate
şi comenzile elaborate fiind gestionate la acest nivel.

4.2.1 Funcţiile CN

Într-o structură generală, aceste funcţii se referă la:


- realizarea unor traiectorii impuse ale punctelor de interacţiune scule - piesă, cu o anumită precizie;
- realizarea unor parametri optimi ai regimurilor de prelucrare (prin aşchiere în cele mai multe cazuri);
- comanda şi supravegherea desfăşurării diferitelor etape tehnologice ale procesului de uzinare;
- introducerea de date de la periferice sau manual;
- asigurarea posibilităţilor de integrare a instalaţiei într-o structură de fabricaţie unitară şi flexibilă.
Structura generală asociată acestor funcţii este cea din figura 4.5.
- Blocul de introducere a datelor (BID) asigură preluarea programului piesă:
- direct de la operator - manual;

Fig. 4.3 Structuri informaţionale pentru CNMU.

Fig. 4.4 Sisteme de axe de bază pentru CNMU.

Fig. 4.5 Structura funcţională a unei structuri CNC.

73
- cu periferice specializate (cititor de bandă perforată, de bandă magnetică);
- direct de la calculator (sistem CNC, DNC).
- Blocul de calcul (BC) execută prelucrările asupra informaţiilor de deplasare conţinute în programul piesă,
operaţiile aritmetice necesare elaborării incremenţilor de deplasare care sunt apoi introduşi în circuitul de
măsură a poziţiei şi în memoriile de deplasare reală aferente fiecărei axe, unde se scad sau se adună
informaţiei existente. Rezultă o deplasare relativă a sculei aşchietoare faţă de piesa prelucrată în
conformitate cu ecuaţia de mişcare definită prin programul- piesă.
- Blocul de măsură prelucrează datele furnizate de traductoarele de deplasare şi transmit rezultatele
prelucrărilor blocului de calcul şi variatoarelor de turaţie. Sunt prelucrate următoarele categorii de semnale:
-semnale de ieşire:
- către variatoare, sub forma unor semnale în gama 0 - 10 Vcc (referinţe) ce conţin informaţiile de
viteză de lucru şi deplasare prelucrate (rezultate) în blocul de calcul;
- către traductoarele de poziţie, semnalele de excitaţie în cazul în care acestea sunt de tip analogic
inductiv (inductosyn sau rezolver);
-semnale de intrare: de la traductoare, prin adaptoare de semnal.
În funcţie de posibilităţile instalaţiei electromecanice – IEM (maşină-unealtă, robot industrial, linie
automată de fabricaţie), în permanentă evoluţie şi perfecţionare, ca o adaptare la cerinţele utilizatorului - tot
mai pretenţioase, sarcinile sistemului de conducere s-au diversificat şi s-au lărgit continuu. Funcţiile care
sunt asociate unor soluţii constructive mereu în schimbare şi modernizare sunt cele de măsurare, calcul şi de
introducere / stocare a datelor. Comanda elementelor de execuţie depinde de tipul acţionărilor iar partea de
semnalizare este specifică aplicaţiei.

4.2.2 Structuri generale de CN

Ansamblul instalaţie electromecanică - CN este evidenţiat prin structura bloc din fig. 4.6. Nivelele 1 şi
2 pot fi realizate, din punct de vedere constructiv, unitar. De asemenea nivelele 3 şi 4 sunt strâns legate, toate
elementele nivelului 3 fiind montate pe instalaţia electromecanică. În esenţă echipamentul de comenzi
numerice este un calculator de proces strict specializat, interfaţa cu procesul facându-se prin sisteme de
achiziţie şi distribuţie a datelor analogice şi numerice dar incluzând şi blocuri specifice. Blocul de afişare
prezintă date (în format numeric sau alfanumeric) şi informaţii relative la poziţia relativă a sculei faţă de
piesă. Se întâlnesc frecvent şi echipamente specializate numai pentru afişarea cotei pe una sau mai multe axe,
având uneori şi câteva funcţii simple de comandă cum ar fi oprirea la cotă fixă cu sau fără schimbarea vitezei
de avans la apropierea de cota prestabilită. Blocul de interfaţare I/O prelucrează informaţia provenită de la
elementele de comutaţie de pe maşină (relee, microîntrerupătoare, limitatoare, butoane) şi furnizează
semnale de răspuns către elementele de execuţie de comutaţie (contactoare, relee, electrovalve). La
echipamente tip CNC interfaţa programabilă este o structură de C şi poate prelua şi o parte din funcţiunile

Fig. 4.6 Elementele conexe CNMU.

74
echipamentului convenţional (de fapt ale automatului programabil, care, la rândul său, a înlocuit schemele de
comandă secvenţială cu relee). În unele aplicaţii simple, interfaţa programabilă inclusă în CNC elimină
complet automatul programabil. Interfaţa programabilă, facând parte dintr-un sistem multiprocesor, este
prevazută cu posibilitatea de acces DMA (Direct Memory Access) la memoria şi la porturile I/O ale
echipamentului.
Echipamentele din generaţia actuală - CNC cuprind o structură cu mai multe procesoare, care
realizează atât guvernarea funcţiilor întregului sistem cât şi funcţiile specifice blocurilor prezentate - fig. 4.7.
Caracteristica CNC o constituie rezolvarea optimă a problemei transferului de date între diverse blocuri şi
interfeţe prin intermediul magistralelor interne, care permit comunicaţia rapidă între blocurile funcţionale,
flexibilitate, modularizare şi testabilitate ridicată. Altă caracteristică: dispar graniţele fizice între blocuri,
delimitarea făcându-se mai mult prin organizarea internă a programelor divizate în task-uri asociate
diferitelor funcţii. Există şi soluţii la care o singură unitate centrală îndeplineşte şi funcţii de introducere de
date, de calcul sau de măsură. Unitatea centrală (microcalculatorul principal) realizează interpretarea datelor
primite din exterior şi repartizarea informaţiilor celorlalte blocuri. Interfaţa pentru introducerea datelor
realizează legătura echipamentului cu operatorul, fiind de obicei un panou ce conţine un sistem de afişare şi
o tastatură. Blocul de calcul este realizat în jurul unui microprocesor de 16 sau 32 de biţi, rezultând viteze de
lucru superioare. Procesoarele de axă transformă informaţia numerică primită de la blocul de calcul în
semnale analogice standard pentru variatoarele de turaţie. În multe cazuri sunt implementate în logica
cablată. Interfaţa programabilă realizează schimbul semnalelor de comutaţie cu echipamentul convenţional.
Blocul are o structură de microcalculator, funcţiile de adaptare între echipamentul de comandă şi cel
convenţional realizându-se prin mijloace software.
Ceea ce diferă esenţial între diferite sisteme CNC sunt sistemele de programare, algoritmii utilizaţi şi
organizarea lor. Fig. 4.8 evidenţiază o structură de tip microcalculator pentru BID, soluţie net avantajoasă
faţă de vechile variantele cablate ce ajungeau să utilizeze sute de circuite integrate (de aici: consum mare,
fiabilitate scăzută şi flexibilitate minimă). Se obţine o creştere importantă a numărului şi tipurilor de
periferice ce pot fi cuplate la sistem. În memoria EPROM se află înscrise programele şi algoritmii după care
unitatea centrală preia, analizează, prelucrează şi distribuie datele. Prelucrarea şi distribuirea datelor nu se
face însă simultan, ca la soluţiile hardware (cablate) ci succesiv, conform unei ordini stabilite prin
programul memorat în EPROM. Datorită însă vitezelor de lucru ridicate ale microprocesorului, serializarea
prelucrării nu constituie un inconvenient. Structura hardware la o asemenea soluţie conţine mai puţine
componente (în raport cu variantele cablate cu circa un ordin de mărime), ponderea efortului de elaborare
mutându-se în sfera programării.

4.2.3 Blocul de calcul

Funcţiile BC se vor analiza cu referire concretă la schema de principiu a unei MU cu CN cu două axe
de deplasare (x, y), deservite fiecare de căte un motor electric (Mx, My) – fig. 4.9. Un al treilea motor
electric (Ms) activează rotaţia sculei. Cx, Cy, Cs sunt variatoarele electronice de viteză (convertoare statice

Fig. 4.7 CNMU cu procesoare de axe.

75
de energie) pentru avans şi turaţia arborelui principal (de ex. universalul de la strung). Vitezele sunt
controlate cu tahogeneratoarele Tgx, Tgy şi Tgs. Valorile programate Dx, Dy şi Ds sunt prescrise prin
referinţele Ux, Uy, Us (în gama 10 V). Ux, Uy, Us pot fi comandate de la panoul operator sau de către CN.
Buclele de reglare a poziţiei pentru axele x şi y includ buclele de reglare a vitezei existente în echipamentul
convenţional. Acestea includ la rândul lor buclele de control al curentului prin motoare. BC generează
semnalele de eroare, de exemplu pentru axa x:

= k (Xc – Xm) (4.1)


k = factor de amplificare al buclei de poziţie; Xc = cota comandată prin programul piesă;
Xm = cota măsurată prin intermediul traductoarelor de poziţie.
BMx, y (blocuri de măsură) prelucrează informaţia sosită de la traductoarele de poziţie (defazajul în cazul
traductoarelor inductive sau număr de impulsuri pentru cele optice incrementale), tansformându-le în
semnale numerice Xm, Ym. Pentru optimizarea regimurilor de aşchiere, multe MU corelează viteza de
rotaţie cu cea de avans. Traductorul de rotaţie TR activează blocul BCs (bloc conversie turaţie) care
elaborează semnalul Irot. Blocul de calcul mai elaborează semnalul Sc - proporţional cu turaţia programată
în programul piesă şi cu valoarea înscrisă prin comutatorul de reprogramare a turaţiei, aflat pe panoul
operator. Uzual, domeniul de valori al acestui comutator este de 50 - 150 %, ceea ce permite operatorului ca

Fig. 4.8 BID cu structură de tip microcalculator.

Fig. 4.9 Structura tip pentru BC.

76
în timpul execuţiei piesei să ajusteze turaţia programată prin programul piesă la regimul de aşchiere real.
Funcţiile BC şi legăturile funcţionale dintre blocuri se evidenţiază analizând conţinutul unei fraze din
programul piesă.
Exemplu (în limbaj standardizat ISO): N1 G01 X10000 Y5000 F1000 S500 M03 T1 (LF)
N1: numărul frazei;
G01: funcţie auxiliară de interpolare liniară între punctul iniţial (X, Y) în care se află organul mobil
înaintea executării acestei fraze şi punctul final (Xf : 10000, Yf : 5000 unităţi de deplasare); F: viteza de
avans comandată pe traiectorie [mm/min]; S: turaţia comandată pentru broşă sau universal [rot/min];
M03: sensul orar de rotaţie pentru broşă sau universal; T1: aşchierea se realizează cu scula numărul 1; LF
(Line Feed): sfârşit frază.
Se consideră Xi = 0, Yi = 0. La comanda operator START se desfaşoară urmatoarele activităţi:
- BID trimite către blocul de interfaţă al CN informaţia asupra funcţiilor de comutaţie ale MU, necesare în
fraza respectivă. Blocul de interfaţă decodifică aceste informaţii şi trimite către echipamentul convenţional
comanda pentru sensul rotaţiei şi alegerea sculei din magazia de scule (sub forma unor semnale de
comutaţie la 24 Vcc).
- MU trimite către interfaţă semnale de confirmare pentru T1 şi M03 (semnale de comutaţie la 24 Vcc).
- BID trimite către BC turaţia programată (S500), Xf, Yf , viteza de avans şi informaţii asupra tipului
traiectoriei de parcurs (G01).
- BC furnizează semnalul Sc care crează pe Us al cărui sens şi valoare determină sensul şi viteza de rotaţie a
broşei sau universalului.
- BC calculează diferenţele de cotă: x = Xf - Xi şi y = Yf - Yi.
- BC generează o frecvenţă de lucru (impulsuri de avans) proporţională cu avansul programat F1000 şi, pe
baza frecvenţei de lucru obţinute, distribuie impulsurile de avans pe cele doua axe x şi y, în funcţie de
traiectoria programată. Aceasta funcţie a BC este îndeplinită de către interpolator, ale cărui impulsuri de
ieşire sunt impulsuri de acţionare. Ele se scad din x, y, şi se adună în blocul de calcul al erorii x, y.
- x, y 0 Ux,y 0 şi există mişcare pe axele respective.
- BC sesizează când x = 0, y = 0 ( x = 0, y = 0: execuţia frazei s-a încheiat) şi informează blocul BID
pentru ca acesta să poată trimite, eventual, o nouă frază spre execuţie.

Funcţiile BC se pot rezuma astfel:


- Generare secvenţe de lucru. Semnalele de ieşire (impulsurile de avans) sunt proporţionale cu avansul
programat F şi cu reprogramarea avansului exprimată în procente prin comutatorul panoului operator. În
cazul deplasărilor simultane pe axe, se corectează frecvenţa impulsurilor de avans generate pentru a asigura
egalitatea vitezei efective pe contur cu cea programată.
- Calcul date momentane şi absolute. Pe panoul operator se afişează X şi Y, cotele faţă de originea absolută
sau momentană a maşinii.
- Controlul comportării buclelor de poziţie în regim dinamic (funcţia de regulator de poziţie).
- Optimizarea regimurilor de accelerare-frânare la deplasările pe axe.
- Generarea traiectoriilor între punctele programate prin interpolare.
La echipamentele de poziţionare (ex: maşini de găurit), BC asigură controlul buclelor de poziţie şi
regimurile de accelerare / decelerare. Axele se deplasează succesiv, nu este necesar interpolator. Viteza este
constantă. La echipamentele de prelucrare paraxială (ex: maşini de găurit, alezat), structura BC este similară,
având în plus posibilităţi de programare a avansului. Astfel MU poate aşchia succesiv pe câte o axă. La
echipamentele de conturare apare funcţia de interpolare (după o dreaptă, cerc, elipsă, hiperbolă, parabolă,
cubică). Conturul este descompus în puncte semnificative de către programator în faza de pregătire externă a
datelor, conform desenului piesei. Aplicaţii: freze, centre de prelucrare, strunguri.
a. Generarea secvenţelor de lucru. Regimurile de accelerare-frânare şi reducere.
Viteza de avans F pentru o fază tehnologică (căreia îi corespunde o frază a programului piesei) este
corelată cu rugozitatea suprafeţei prelucrate. BC furnizează impulsuri de avans pentru orice regim selectat. În
toate cazurile, frecvenţa impulsurilor de avans este proporţională cu viteza de parcurgere a traiectoriei şi cu
valoarea aleasă pentru reprogramarea avansului de către operator în timpul prelucrării. La deplasări
simultane pe axe, când impulsurile de avans sunt distribuite de interpolator pe axe, este necesară o corecţie a
impulsurilor de avans cu un factor pentru păstrarea vitezei de avans programată pe contur. În cazul deplasării
liniare O – P (fig. 4.10a), cu viteza de avans programată F = k x fi av (frecvenţa impulsurilor de avans), X = Y
şi distribuitorul interpolatorului trimite câte un impuls pe fiecare axă. Acestea vor fi parcurse cu viteza F iar

77
segmentul OP cu F 2 . Apare necesitatea corecţiei cu 1/ 2 . Blocul generator de frecvenţe de lucru se
prezintă ca un lanţ de divizoare programabile care divizează frecvenţa unui generator fix f 0. f0 şi capacitatea
(în număr de biţi) a divizoarelor programabile sunt alese în funcţie de domeniul maxim al vitezelor de avans
ale MU (pentru domeniul uzual 0,1 … 15000 mm / min).
Trecerea de la o frecvenţă la alta nu se face brusc, fiind limitată de acceleraţiile maxim permise pentru
organele de lucru. Integrarea treptelor în frecvenţă este realizată de blocul nivelator. Nivelatoarele (fig.
4.10b) pot fi:
- liniare, mai fidele (urmăresc mai rapid fin) decât cele exponenţiale, dar pierd impulsuri de intrare;
- exponenţiale - se implementează uşor hardware, spre deosebire de cele liniare pentru care soluţiile software
sunt mai comode.
Funcţia de reducere reprezintă diminuarea treptată şi antecalculată a vitezei în funcţie de distanţa până la
punctul final de oprire a organului mobil, fără opriri bruşte sau depăşiri de cotă. Panta reducerii vitezei este
limitată de amax. Se notează: T - timp de oprire; d - distanţa până la punctul final; vi, vf - vitezele iniţială şi
finală.
Frânare exponenţială (fig. 4.10c):
t fr exp
t t fr exp t fr exp
v( t ) vi e ; vf vi e ;d v( t )dt vi (1 e ) (v i vf ) (4.2)
0

vi d vf ; a dv vi e t
; a max vi
(4.3)
dt
Din (4.2) şi (4.3), rezultă:
vi vi vi vi
t fr exp ln ; ; t fr exp ln (4.4)
vf a max a max vf
Frânare liniară (fig. 4.10d):
t fr lin

v(t) = vi – a t; vf = vi – a tfr lin ; d = v( t )dt v i t fr lin 1 / 2 a t 2 fr lin (4.5)


0

Din 4.5, rezultă: t fr lin (v i v f ) / a; v i 2a d v2 f ; a a max (4.6)


tfr lin ( vi – vf) / amax (4.7)
tfr lin < tfr exp, deci timpul total de prelucrare este mai redus. În multe cazuri reducerea se face prin mai multe
trepte. Se testează distanţa finală în raport cu anumite valori (praguri), cărora le corespund viteze fixe
(calculate după tipul nivelatorului folosit); în momentul în care distanţa pâna la punctul final devine mai
mică decât unul dintre aceste praguri, se impune şi valoarea vitezei corespunzatoare. Această metodă nu ţine
însă cont de reprogramarea vitezei. Pentru înlăturarea acestui dezavantaj se foloseşte o logică cu buclă de
reacţie pentru viteză. Astfel, când distanţa devine mai mică decât unul din praguri, se compară viteza efectivă
(deci ţinând cont şi de reprogramare) cu valoarea corespunzătoare a acestuia şi se comandă o reducere a
vitezei doar dacă viteza efectivă este mai mare, în caz contrar impunându-se tot viteza programată iniţial.
Viteza va oscila ín jurul curbei teoretice. Schema se complică datorită blocurilor comparatoare suplimentare.
b. Generarea traiectoriilor. Interpolatoare
Cea mai simplă interpolare care se poate efectua între două puncte de reper este cea liniară. În cazul
când interpolarea liniară nu satisface condiţiile de precizie, se utilizează interpolarea de ordinul doi
(circulară, parabolică) sau de ordinul trei (cubică). Sistemul de interpolare trebuie să îndeplinească funcţiile:
- să asigure aproximarea conturului impus în limitele preciziei specificate, furnizând pentru fiecare axă
informaţia de deplasare necesară generării punctelor intermediare între două puncte principale de reper, pe

a. b. c. d.
Fig. 4.10 Elemente specifice funcţiilor BC.

78
baza modelului matematic de interpolare prestabilit;
- să asigure dependenţa funcţională între axe conform traiectoriei punctului de interacţiune sculă - piesă;
- să permită respectarea condiţiilor tehnologice privind viteza rezultantă a punctului de pe traiectorie şi cele
privind dimensiunile sculei.
În faza de prelucrare externă a datelor tehnologice (desen de execuţie, condiţii tehnologice de aşchiere,
tip de sculă), se pregăteşte pe un suport informaţional adecvat un program pe baza căruia CN poate genera
traiectoria impusă. De cele mai multe ori această fază se reduce la precizarea punctelor principale de reper.
Determinarea lor trebuie să respecte condiţiile:
- punctele de reper şi segmentele de curbă care le unesc trebuie să se găsească într-o zonă de eroare impusă
de precizia de prelucrare (abaterea admisă între curba teoretică şi cea reală);
- pentru evitarea cumulului erorilor la prelucrarea unor segmente de curbă în lanţ, punctele principale de
repere trebuie sa fie cotate faţă de punctul de referinţă cu valori numerice reprezentând multipli intregi ai
puterii de rezoluţie a sistemului de urmărire (la acţionarea cu motoare de curent continuu) sau ai pasului de
deplasare (la acţionarea cu motoare pas cu pas).
- trebuie să se obţină numărul minim de puncte principale de reper, de unde simplificarea programului de
uzinare, reducerea timpului de prelucrare, efectuarea judicioasă a corecţiilor de la racordarea segmentelor.
Curba teoretică poate fi furnizată: matematic, prin F(x,y) = 0, prin puncte sau grafic. Pentru MU care
permit atât prelucrarea prin interpolare liniară cât şi circulară, se recomandă - atâta timp cât raza de curbură
este compatibilă cu posibilităţile maşinii - cea circulară. Cu : eroarea de furnizare a curbei ideale; T:
toleranţa piesei de uzinat, după simetrizarea câmpului de toleranţă; : eroarea de aproximare a profilului,
T - . La interpolatoarele numerice (IN), dependenţa y = f(x) se realizează printr-o reprezentare
parametrică:

y = f1(t) ; x = f2(t) (4.8)

Obţinerea punctului de interacţiune piesă - sculă se face prin sincronizarea deplasării pe cele două axe
conform legii de interpolare stabilită pentru două puncte de reper consecutive. Funcţiile IN sunt:
- recunoaşterea punctelor principale de reper pe o curbă oarecare, cu un număr cât mai redus de date iniţiale;
- efectuarea interpolării după legea stabilită a segmentului de curbă dintre două puncte de reper în limitele
unei precizii impuse şi cu evitarea salturilor de direcţie ale tangentei în punctele de joncţiune a două
segmente de interpolare adiacente;
- corectarea traiectoriei după dimensiunile reale ale sculei;
- menţinerea unei viteze tangenţiale de conturare constantă, independent de direcţia de deplasare;
- verificarea (eventuală) a traiectoriei obţinute.
Elementul de interpolare are structura din fig. 4.11. IF sunt impulsurile de avans (vectorii de viteză);
Ix, Iy sunt impulsurile de deplasare pe cele doua axe; G01este pentru interpolare liniară; G02, G03 sunt
pentru interpolare circulară, în sens orar, respectiv antiorar; I0, J0 sunt parametri iniţiali de interpolare,
calculaţi de programator şi introduşi în programul piesă. De obicei IN nu lucrează cu cote, el lucrează atât
timp cât primeşte impulsuri de viteză. La interpolarea liniară I0 şi J0 reprezintă proiecţia segmentului de
interpolat pe axe. P este punctul de interacţiune piesă - sculă, obţinut în faza precedentă. La interpolarea
circulară, I0 şi J0 reprezintă coordonatele centrului cercului C din care face parte arcul ce urmează a fi
interpolat. În cazul interpolarii liniare:
J J0 Nr (I y )
tg ct ; Nr(Ix,y) - număr impulsuri de deplasare elementară. (4.9)
I I0 Nr (I x )
La interpolare circulară: I = I0 – x; (I ); J = y; (J ) (4.10)
După modul de generare al funcţiilor f1 şi f2, interpolatoarele sunt realizate după două principii de
funcţionare: interpolatoarele bazate pe analizorul diferenţial numeric (ADN) şi cele bazate pe calculul direct
al funcţiei (metoda discriminantului). Ambele principii folosesc şi implementări hardware dar structurile
moderne de CNC fac apel la implementări software pentru funcţia de interpolare. ADN este un dispozitiv
care permite generarea unei funcţii z = (t) prin soluţionarea ecuaţiei diferenţiale liniare care corespunde
acestei funcţii:
dnz dz
an n
... a 1 a0 z 0 (4.11)
dt dt

79
d k 1z dkz
Cum dt C , ecuaţia se poate rezolva printr-un şir de integrări. ADN face calculul după
dt k 1 dt k
integrala Stieltjes:
x1 n
z z0 Y( x )dX ( x ); aproximata prin : z z0 Yk (X k X k 1 ); X k Xk 1 Xk ct (4.12)
x0 k 1

La metoda discriminantului, fie G conturul ce trebuie generat. Pe G, F(x,y) = 0 – fig. 4.12. În afara
conturului G şi în interiorul său, F(x, y) are semne contrare, deci deplasările pe o aproximantă a curbei G vor
consta în treceri dintr-o zonă ín alta, sesizate prin:
F F
sign D = sign dF = sign dx dy (4.13)
x y
Fig. 4.12 redă aproximantele curbelor ideale. Algoritmii bazaţi pe calculul direct al funcţiei se utilizează sub
forma implementărilor software, fiind utilizaţi curent de CNC cu microcalculator. Creşterea puterii de calcul
a echipamentelor (prin utilizarea de microprocesoare rapide şi cu lungime mare a cuvântului de date, a
structurilor multiprocesor cu prelucrare paralelă a informaţiei) precum şi utilizarea de circuite LSI
specializate pentru funcţiile interpolatorului (ex: KM3701- generator impulsuri de interpolare pe axe) fac în
prezent posibilă implementarea software pentru oricare strategie sau procedură de interpolare. Precizia de
interpolare depinde mai puţin de algoritm şi mai mult de pasul (cuanta) de deplasare pe axe.

4.3 PROGRAMAREA COMENZILOR NUMERICE ALE MAŞINILOR-UNELTE

4.3.1 Aspecte generale

Modul de realizare şi redactare a programelor pentru MUCN depinde de:


- tipul suportului program;
- tipul (generaţia) comenzii numerice;
- elemente conexe CN propriu-zise, având rolul de asistare a realizării programului.
La maşini complexe, ce realizează prelucrări de mare precizie, programarea CN implică utilizarea unor
tehnici evoluate, de exemplu pachete software dedicate. Punctul de vedere relativ la clasificarea modurilor de
programare ţine cont de realizările din ultimii ani şi diferă de cel clasic, din literatură.

Fig. 4.11 Elementele carcateristice pentru blocul de interpolare.

Fig. 4.12 Elemente caracteristice interpolatorului bazat pe metoda discriminantului.

80
A. Programarea manuală implică scrierea programului frază cu frază, pe baza informaţiilor rezultate din
desenul şi tehnologia piesei, utilizându-se simboluri, coduri şi reguli specifice. Variante:
1. programarea în cod ISO (standard);
2. programarea parametrică, variantă a celei precedente dar mai flexibilă (pentru loturi de piese de acelaşi
tip);
3. programarea geometrică în profil (PGP), la care contururile se descriu cu ajutorul unui procesor
geometric, în final tot în cod ISO;
4. programarea structurată, la care salturile sau buclele relative la blocuri în cod ISO se realizează cu
instrucţiunile unui limbaj de nivel înalt de uz general;
5. programarea prin limbaj calculator specializat (APT şi versiunile ulterioare).
B. Programarea conversaţională este un mod de programare recent, la care disponibilităţile software ale
CNC scutesc pe programator de cunoaşterea unor coduri sau instrucţiuni. Programul este realizat etapă cu
etapă (frază cu frază) prin completarea unor date geometrice şi opţiuni tehnologice solicitate de pagini
ecran sau meniuri. Editarea, corectarea şi simularea uzinării sunt facilitate de un suport cu disponibilităţi
grafice deosebite.
Modul B constituie adevărata (actuala) programare asistată de calculator, variantele A1-5 implicând, într-o
formă sau alta, redactarea manuală a programului. Programarea conversaţională poate genera (la cerere) şi
codul ISO al programului piesă. Se mai menţionează existenţa unor echipamente (exemplu DIDACNUM -
Télémécanique) sau pachete de programe (exemplu NUM-Keller) destinate însuşirii tehnicilor de programare
a CNC prin instruire asistată de calculator (Computer Assisted Learning - CAL).

4.3.2 Terminologie de bază

Se utilizează des următorii termeni:

caracter: simbol folosit pentru prezentarea informaţiilor;


frază: grup unitar de funcţii cuprinzând toate informaţiile necesare executării unei operaţii
şi care este citită şi executată de echipamentul de CN separat;
adresă: caracter sau grup de caractere aşezate la începutul unui cuvânt şi care serveşte la
identificarea datelor care urmează în cuvânt;
program-piesă: ansamblu organizat de instrucţiuni care defineşte, într-un limbaj şi format date,
succesiunea operaţiilor ce trebuie executate de CN. Programul este scris sub formă
de program-maşină pe un suport de informaţie de intrare sau se utilizează date de
intrare pentru prelucrarea pe un calculator în vederea obţinerii programului;
corecţie de rază de decalarea, pentru o sculă rotativă (rotundă), în care deplasarea egală cu valoarea de
sculă: decalare se face în direcţia axei X sau Y;
compensarea de deplasarea perpendiculară pe traiectoria sculei, destinată să compenseze diferenţa
sculă (normală la dintre razele sau diametrele sculelor la un moment dat şi razele sau diametrele
traiectorie): programate;
funcţie pregătitoare: ordin prin care se specifică un mod de funcţionare a maşinii sau a sistemului de
comandă;
funcţie auxiliară: ordin care comandă funcţiile discontinui ale maşinii sau ale sistemului de comandă;
origine maşină: poziţii de zero ale elementelor maşinii, definite prin construcţie;
funcţionare cu mod de funcţionare bloc cu bloc, în care datele de comandă numerică sunt
introducere manuală a introduse manual;
datelor:
zero maşină: originea coordonatelor maşinii;
poziţie de referinţă poziţii predeterminate fizic ale axelor MU, utilizate în sistemele de comandă
a unei MU: incrementală cu scopul fixării poziţiei iniţiale;

4.3.3 Programarea manuală a CN

4.3.3.1 Elemente generale

Programarea manuală (scrierea directă de către programator a instrucţiunilor pentru MUCN) se


utilizează pentru procese tehnologice simple (operaţii de găurire, alezare, frezare de contururi liniare,
strunjiri simple) şi în cazul unor programe relativ scurte - sub 120-150 instrucţiuni. Prin programare

81
manuală, se transformă direct de către programator informaţiile rezultate din desenul şi tehnologia piesei în
ordine codificate, specifice CN. Informaţiile pentru programare sunt :
- geometrice: coordonate şi traiectorii;
- tehnologice: viteze de prelucrare, adâncimi de pătrundere, viteze de avans, informaţii ajutătoare privind
răcirea, sensul de rotaţie, numerele sculelor şi ordinea în care sunt utilizate.
Pornind de la aceste date şi utilizând o serie de tabele, diagrame precum şi manualul de programare, se
elaborează un tabel cu programul piesă. Acesta se introduce pe un suport de memorie după care urmează o
etapă de corecţie şi eventual una de simulare a ciclului tehnologic. Într-un context mai general, în cadrul
proiectului de tehnologie se analizează oportunitatea executării operaţiilor pe o MUCN, stabilindu-se şi
maşina adecvată ca tip, dimensiune, productivitate. Se mai ţine cont de :
- materialul din care este confecţionată piesa;
- tratamentele termice necesare;
- suprafeţele de bazare;
- rolul funcţional al suprafeţelor care trebuie prelucrate;
- numărul pieselor din lot, familia de piese din care face parte lotul şi periodicitatea lotului.
Etapele de elaborare a programului:
a. Întocmirea fişei de amplasare scule. Se indică pentru toate sculele utilizate:
-codul de catalog pentru: sculă, port – sculă, pastilă, constantele de prereglare ale sculelor;
-schiţa (forma) părţii active.
De asemenea se indică dispozitivele de prindere, codul, schiţa şi dimensiunile de prindere.
b. Întocmirea fişei de reglaj (plan de operaţii). Se indică sistemul de axe ale maşinii şi se pun în evidenţă
suprafeţele ce urmează a fi prelucrate.
c. Calculul coordonatelor punctelor caracteristice. La piese simple, acestea pot fi preluate direct din desen.
Unele echipamente de CN oferă facilităţi pentru calculul punctelor caracteristice.
d. Întocmirea programului. Caracteristica ce trebuie urmărită este tehnologicitatea prelucrărilor. Se aleg
variantele de prelucrare logice, optime. Se vor descrie traiectoriile tuturor sculelor pentru prelucrarea
suprafeţelor, verificând evitarea eventualelor coliziuni.
e. Introducerea programului pe suportul de informaţie.
f. Testarea şi optimizarea programului. Se pot executa următoarele testări: pe o masă de desenat sau cu un
program de simulare grafică pe CNC; pe MU, fără piesă în regim frază cu frază; pe MU cu piesă, pentru
stabilirea corecţiilor de sculă; pe MU cu piesă şi program corectat.
Omologarea primei piese validează ultima variantă de program. Acesta se reţine într-un depozit, MUCM
lucrând cu copii program.
Programarea se poate face după 2 coduri:
- ISO (norme NFZ 68010, 68030, 68032);
- EIA (norme RS 244A, 273A).
Structural şi noţional aceste coduri au corespondenţe cu utilizarea ca suport program a benzii perforate.
Aceasta încă se mai utilizează (în paralel cu alte sisteme de memorare a programelor - piesă: banda
magnetică, diskete, cartuşe ROM sau RAM nevolatil - cu acumulatori în tampon) datorită unei foarte bune
comportări în mediul industrial. În ultimul timp, programul este încărcat eventual de pe banda perforată într-
o memorie RAM şi apoi exploatat on-line.

4.3.3.2 Formatul general al datelor şi definirea adreselor

Cotele se consideră în milimetri iar zerourile şi semnul + din faţa cotei pot fi omise. În tabelele
următoare, se vor urmări în paralel formatele datelor pentru frezare (F) şi strunjire (S). Ca urmare a
eforturilor de standardizare, elementele de programare a CNC au un grad ridicat de similaritate. Aceasta
înseamnă că, totuşi, fabricanţii de echipamente, din dorinţa de a-şi face produsele cât mai competitive şi-n
acelaşi timp de a-şi păstra compatibile produsele noi cu serii anterioare, impun în mod inevitabil diferenţe în
ceea ce priveşte funcţiile şi formatele datelor pentru programare. În continuare se prezintă, ca semnificative,
câteva elemente de programare pentru echipamentele CNC NUM - Télémécanique (Schneider), având în
vedere atât performanţele lor cât şi ponderea pe piaţa europeană.
Tabelul 4.1
% 02 - Număr program
N 08 - Număr secvenţă (instrucţiune) ; de la 0 la N max (de ex. = 31999)
G 03 - Funcţie pregătitoare
X -104 - Deplasare pe axa x

82
Y + 98 - Deplasare pe axa y (numai la F)
Z + 89.3 - Deplasare pe axa z
H 04 - Număr de subprogram de uzinare într-o secvenţă de aplel implicând G77
I +028 - În G2 sau G3 coordonatele absolute sau relative ale unui cerc
U+035 - F : Deplasare pe U (axă secundară paralelă cu X)
EB+057 - EB+ În G1, G2 sau G3, rotunjirea între două elemente oarecare
- EB- În G1, şanfrenul (teşitura) între două drepte
- F : În G45, raza rotunjirii
- S : EB 033 în G33 dă valoarea absolută a unghiului de penetrare
EC+036 - F : Valoarea unghiului de indexare a broşei
ED+036 - F : Decalaj unghiular
EF 020 - F : Temporizarea în ciclurile G82, 84, 87, 89 sau G31
- S : În G65, viteza de penetrare în material
În G66, temporizarea în fund de şanţ
În G 83 sau G87, temporizarea de la sfârşitul fiecărei pătrunderi
EF 051 - F , S : Viteza de avans specifică la rotunjire sau teşitură
EG 02 Parametru de programare acceleraţie (1-100%)
EM +/- - F: Dimensiuni maxime piesă brută (paralelipiped) pentru vizualizare 3D
F 052 - S : În G94, viteza de avans, în mm/min
În G95 (F 023), viteza de avans în mm/rotaţie
M 06 - Funcţii auxiliare
S 05 - În G97, viteza rotaţie broşă (universal), în rot/min
sau - În G77, număr repetiţii subprogarm
S 022 - S: În G33, număr de treceri
În G96, viteza de tăiere, în m/min
În G92, viteza maximă a broşei, în rot/min
T 03 - Număr sculă
D 03 - Număr corector sculă
L 05 - Variabilă program
E 110 - Parametru extern

Pentru prelucrări specifice, furnizorii de echipamente pun la dispoziţie adrese şi date distincte (ex.:
uzinarea prin frezare a formelor interioare - tip buzunar).

4.3.3.3 Funcţii pregătitoare (G)

(Gxx) sunt ordine care specifică modul de funcţionare al echipamentului şi sunt necesare pentru a
pregăti condiţiile de calcul ale acestuia referitoare la traiectoria punctului de interacţiune piesă-sculă. Sunt:
- modale, care acţionează în mai multe fraze, până la anularea printr-o altă funcţie din aceeaşi grupă;
- nemodale sau secvenţiale, care acţionează numai în fraza în care s-au scris.
Din fiecare grupă cu mai multe funcţii G, una din ele este preluată de echipament la punerea sub tensiune. În
tabelul 4.2 sunt prezentate unele funcţii pregătitoare pentru strunjire (S) şi frezare (F) la echipamentele NUM
760 T , F Télémécanique.
Tabelul 4.2
Cod Revocare Semnificaţie
G00 F: G01, 02, 03 Interpolare liniară rapidă
S: G01, 02, 03, 33, ...
G01* G00, 02, 03 Interpolare liniară cu viteză programată
G02 F: G00, 01, 03 Interpolare circulară în sens orar cu viteză tangenţială programată
S: G00, 01, 03, 33, ...
G03 Similar cu G02 pentru sens antiorar
G04 Sfârşit bloc Temporizare programabilă cu adresa F
G17 * F: G18, G19 Alegerea planului XY pentru interpolare circulară şi corecţia de rază
G18 F: G17, G19 Alegerea planului ZX pentru interpolare circulară şi corecţia de rază
G19 F: G17, G18 Alegerea planului YZ pentru interpolare circulară şi corecţia de rază
G23 F: G00 - 01 - 02 - 03 Programarea unui cerc prin 3 puncte
S: G00-01 - 02 - 03 - 33..

83
G31 F: G80 la G89 Filetare
G38 S: G00, 01, 02, 03 Filetare pe con
G40* G41, G42 Anularea corecţiei de sculă după rază
G41 G40, G42 Corecţia de rază a sculei la stânga profilului
G42 G40, G41 Corecţia de rază a sculei la dreapta profilului
G45 F: Sfârşit bloc Ciclu de buzunar
G52 Sfârşit bloc Programarea absolută cote în raport cu originea măsurată OM)
G64 S: G80 Ciclu de degroşare paraxial
G65 S: Sfârşit bloc Ciclu de degroşare tip şanţ
G70 G71 Intrare date în inch
G71* G70 Intrare date în sistemul metric
G73* F G74 Anulare factor de scară
G74 F G73 Validare factor de scară
G76 Sfârşit bloc Transfer valori curente ale parametrilor în programul piesă
G79 Sfârşit bloc Salt condiţionat sau nu la o secvenţă fără retur
G80* F: G81 la G89 Anulare ciclu uzinare
S: G64, 83, 84, 87
G81 F: G80, G82 la G89 Ciclu de găurire cu centrare
G82 F: G80, G81, G82 la 89 Ciclu de găurire cu pauză (oprire sculă) în fundul găurii pentru finisare
G84 F: G80 la G83 Ciclu de tarodare
G85 la G89
G85 F: G80 la G84 Ciclu alezare
G86 la G89
G90* G91 Programare în cote absolute faţă de OP
G91 G90 Programare în cote relative în raport cu punctul de început al blocului
G92 F: Sfârşit bloc Preselectare origine program (OP)
G92 Sxx S: M2 Limitare viteză universal
G93 F: G94 Viteză de avans
G94* G93 Viteza de avans în mm/min
G95 S: G93, G94 Viteza de avans în mm/rotaţie
Funcţiile marcate cu * se iniţializează la punerea sub tensiune sau la o resetare. Aşa cum s-a menţionat, la
diferite echipamente, unele funcţii au semnificaţii diferite sau intervin altele noi.

4.3.3.4 Funcţii auxiliare (M)

Funcţii auxiliare se constituie ca nişte comenzi binare (activare / dezactivare) pentru subsisteme ale
MU. Lista unor comenzi M pentru echipamentele NUM 760 S, F Télémécanique este prezentată în Tab.4.3.
Tabelul 4.3
Activă
Cod Înainte După Revocare Descriere

M02 * % sau EOR Sfârşit program piesă


M03 * M4, M5, M0, M19 Rotaţie broşă în sens orar
M04 * M3, M5, M0, M19 Rotaţie broşă în sens antiorar
M05* * M3, M4 Oprire broşă
M06 * Schimbare sculă
M07 * M9, M2 Sistem fluid răcire numărul 2
M08 * M9, M2 Sistem fluid răcire numărul 1
M09* * M7, M8 Oprire fluid răcire
M10 * M11 Blocare axă
M11 * M10 Deblocare axă
M19 * M3, M4, M5 Indexare broşă
M48* * M49 Validare potenţiometre de broşă şi avans
M49 * M48 Inhibare potenţiometre de broşă şi avans
M64* * M65 Comandă broşă 1
M65 * M64, M2 Comandă broşă 2

84
4.3.3.5 Sistemele de cotare

Intervin următoarele origini pentru cote :


- origine măsură (Om) - punct preferenţial definit de constructor pe fiecare axă, în interiorul curselor maşinii.
Se obţine prin activarea unui limitator şi permite fixarea originii absolute a măsurii.
- origine piesă (Op) - se defineşte printr-un punct al piesei;
- origine program (OP) - originea triedrului de referinţă ales de programator.
Diferenţele pe axe între triedrele Op şi Om constituie un preafişaj - PREF care poate fi prescris de la tastatură
sau poate fi preluat automat pentru o poziţie a subansamblelor maşinii. Distanţa dintre Op şi OP se numeşte
decalaj - DEC. La strunguri (DEC1), decalajul este introdus de la tastatură şi este luat în considerare mai
puţin când se lucrează cu funcţii pregătitoare specifice (G52 de ex.). La freze, în afara lui DEC1 poate
interveni şi DEC3 pentru maşinile cu platou rotativ şi axa B subordonată. Corelarea sistemelor de cotare este
explicitată prin fig. 4.13. Măsura poziţiei curente (afişată de CN) se raportează totdeauna la Om, cotele
programate putând fi exprimate în raport cu Om, OP sau cu poziţia precedentă dacă se utilizează cotarea în
incremental. Funcţia G59 realizează un decalaj programat. Poate fi utilă mai ales la frezare pentru
determinarea originilor pentru părţile pieselor cu forme repetitive. OP şi Op pot coincide.
Dispunerile elementelor de reper pentru cotare la strung şi respectiv freză sunt redate în fig. 4.14 şi
4.15. Anularea decalajelor de origine programate se obţine cel mai simplu după o trecere la cotare absolută:
G90 G59 X0Y0. Repunerea la zero, (RAZ), manuală sau prin program (M02), aduce de asemenea sistemul la
OP0. Programarea în Om este autorizată numai la anularea corecţiilor de rază a sculei (G40). Pentru
strunguri, folosirea decalajelor de origine poate fi utilă la scrierea mai uşoară a blocurilor pentru prelucrare
interioară şi la reperarea sculelor unui cărucior secundar (raportat prin decalaj faţă de căruciorul principal). În
cazul frezelor, funcţia de oglindire G51, aplicabilă după oricare axă a maşinii, permite realizarea uzinărilor
simetrice pe baza unui program definind jumătatea sau sfertul unei piese simetrice.
Preafişajele, decalajele şi factorii de scară se pot specifica şi prin parametri externi (E).

4.3.3.6 Programarea cotată

Se ilustrează prin fragmente de program modul de definire a interpolărilor liniare şi circulare – fig.
4.16. La interpolare, formatele sunt:
S: X 4.2 Z 5.3 R 3 sau I 3 K 3
F: X+029 Z+029 I+029 J+029 (în planele X-Z, X-Y, Y-Z) sau R029
La frezare, combinând deplasările circulare şi liniare, scula se poate deplasa după o elice cu pas constant şi
cu viteză programată. Este interpolarea elicoidală; ea permite corecţia de rază a sculei.

4.3.3.7 Programarea geometrică a profilului (PGP)

Programul piesă este scris utilizând direct cotele din plan. Se efectuează de către CNC calculul
punctelor de racordare, contact sau intersecţie între două elemente ale profilului piesei: dreaptă - dreaptă,
dreaptă - cerc, cerc - cerc. Nu se poate utiliza cotarea relativă. PGP se poate combina cu metoda de
programare clasică. Programarea se realizează pe blocuri, fiecare bloc referindu-se la un element geometric
(segment de dreaptă, arc de cerc). La PGP, un element geometric poate fi definit integral într-un bloc sau în
blocuri succesive. Caracterizarea unui element geometric (varianta S):
- X ... Z ... coordonate punct final dreaptă
- EA ... unghiul dreptei
- X ... Y ... Z ... coordonate punct final cerc
- I ... K ... coordonate centru cerc
- R ... rază cerc
- EB+ ... rotunjire (între blocuri)
- EB- ... teşitură (între blocuri)
- ET element tangent (la elementul din blocul următor)
- ES element secant
- E{ } discriminant, operaţional pentru înlăturarea unei nedeterminări (la două soluţii posibile).
Ansamblul blocurilor necesare şi suficiente pentru calculul de către sistem a tuturor coordonatelor unui
element geometric constituie o entitate geometrică. Combinaţiile posibile dreaptă-cerc, dreaptă-dreaptă şi
cerc-cerc (cu câteva limitări ale numărului de nedeterminări) conduc la multe entităţi (de ex.42). Se prezintă
câteva exemple (notaţii: secant, / tangent) – fig. 4.17. Exemplu de program PGP pentru piesa din fig. 4.17.

85
N100 X200 Z0 (punctul A) N150 X80 EB8 (rotunjire în B)
N110 G1 Z30 N160 EA ES EB-10 (teşitură în C)
N120 G3 R40 N170 EA-60
N130 G1 EA- 15 X100 Z180 N180 G2 X0 Z270 I0 K225
N140 Z210
Există şi alte tehnici de programare. De exemplu, programarea polară uşurează scrierea programelor pentru
piesele cu cotare unghiulară.

Fig. 4.13 Sisteme de referinţă pentru cotare.

Fig. 4.14 Cotarea pentru strunguri.

Fig. 4.15 Cotarea pentru freze.

Fig. 4.16 Modele pentru programe cu interpolare liniară, circulară şi elicoidală.

86
4.3.3.8 Programarea traiectoriei centrului sculei şi a sculelor

La conturare, nu se programează traiectoria efectivă a conturului piesei ci traiectoria unui punct care se
găseşte mereu la aceeaşi distanţă faţă de tangenta la muchia tăişului, în diferite puncte de pe contur. Se
obţine o traiectorie numită echidistantă, valoarea distanţei respective fiind egală cu raza sculei. Programând
echidistanta, se elimină erorile care pot apare datorită sculei. Tehnica cea mai utilizată constă în divizarea
conturului în elemente geometrice componente şi apoi se calculează echidistanta pentru fiecare. Când
traiectoriile de deplasare ale sculei sunt paralele cu axele, se determină uşor poziţiile succesive ale conturului
sculei prin adunarea sau scăderea razei sculei la cotele de pe conturul piesei. La deplasările după arce de cerc
intervin calcule mai laborioase dar ele revin interpolatorului circular al CN. Determinarea corectă a
echidistantei comportă de asemenea un volum semnificativ de calcule în cazul deplasărilor după direcţii
neparalele cu axele, de exemplu, în cazul intersecţiei a două drepte - fig. 4.18. Folosind metoda bisectoarei
sau a programării unui arc de cerc, prin relaţii de calcul trigonometrice (existente în literatura de specialitate)
se determină exact elementele necesare echidistantei.
Programarea sculelor se referă la:
- Număr sculă: Tx
- Elemente dimensionale:
Pentru strunjire: format: D2 X ± ... Z ± ... R ± ... C0 C8
Dn validează dimensiunile sculei; D0 anulează setul curent; X, Z: lungimea după x şi z; R: raza sculei;
C0 C8 ; orientare vârf sculă.
Pentru frezare: format: D3 L ... R ... @ ...
L - lungimea frezei; R - raza freză; @ - raza vârfului sculei
- Corecţii de sculă
CN moderne permit modificarea dimensiunilor sculei luate în considerare la întocmirea programului de
prelucrare al piesei. Adaptarea parametrilor sculei se referă la lungimea şi la raza ei. Corecţia de rază a
sculei este importantă în special la realizarea conturării şi se utilizează atunci când o uzură pronunţată a
sculei alterează conturul programat sau când se folosesc scule diferite de cele din programul iniţial.

Fig. 4.17 Pentru PGP.

Fig. 4.18 Echidistanta.

87
Pentru a rezulta conturul corect este necesar să
se determine o echidistantă nouă. Aceasta se
calculează automat de către CNC prin blocurile
de calcul ale corecţiilor de rază şi ea trebuie să
specifice:
- planul în care are loc prelucrarea, prin
funcţiile (adresele) G17, G18, G19;
- poziţia sculei faţă de conturul de deplasare,
prin funcţiile G41 şi G42.
G41 se utilizează dacă scula se găseşte în
partea stângă a conturului piesei privind în
sensul de deplasare iar G42 dacă scula se
găseşte în dreapta. Semnul corecţiei este dat de
semnul diferenţei Rf'(real)-Rf(programat).
Efectul aplicării funcţiilor G41, G42 depinde
de natura traiectoriei, unghiul dintre porţiuni
succesive ale traiectoriei, natura convexă sau
concavă a profilului în punctul de schimbare al
blocului şi de posibilităţile CNC.
Un exemplu cu segment program (pentru
echipamentul NUM 760 F) este redat în fig.
4.19. Sistemul foloseşte automat una din
metodele de tratare a echidistantei la înlănţuirea
Fig. 4.19 Corecţia de sculă. elementelor traiectoriei (varianta bisectoarei sau
a generării de arc).

4.3.3.9 Cicluri de uzinare

Pentru realizarea unor prelucrări tip (degroşare paraxială, găurire, filetare, tarodare, conturare etc.) se
utilizează o sintaxă de programare specifică atât sub aspectul utilizării unor funcţii pregătitoare dedicate cât
şi al organizării setului de instrucţiuni complementare. În cele ce urmează, sunt prezentate câteva cicluri de
uzinare cu titlu de exemplu pentru echipamentele CNC NUM 760 Télémécanique (S şi F - strunjire şi
frezare).
Strunjire: ciclul de degroşare paraxială. Sintaxa – fig. 4.20. Nn şi Nm sunt secvenţele care delimitează
profilul final; P şi R determină valoarea de penetrare pe X şi Z la fiecare trecere; I şi K definesc diferenţele
de cotă X şi respectiv Z pentru finisare. Un exemplu este redat în fig. 4.20. Se observă că ordinea în care apar
Nn şi Nm în blocul de apel dă sensul de executare al degroşării.
Frezare: ciclurile de uzinare sunt apelate printr-o funcţie pregătitoare de la G81 la G89, G80 determinând
anularea lor. Funcţiile modale declarate anterior rămân funcţionale în ciclu iar cele introduse de ciclu rămân

Fig. 4.20 Definire ciclu de strunjire şi un exemplu pentru degroşase.

88
active după terminarea lui. Semnificaţie pentru variabile şi adrese:
X, Y, Z, U, V, W, A, B, C - cotele după axele principale şi secundare;
- cota fundului de gaură dacă adresa corespunde axei sculei;
- cote de poziţionare în celelalte cazuri.
ER - cota planului de reluare - afectată axei de uzinare principale sau secundare programată ultima.
I,J,K - cotele centrului în poziţionare circulară.
R - raza cercului în poziţionare circulară.
F - viteza de avans (mm/min).
EF - temporizare, utilizabilă numai în G82, G84, G87.
Exemplul 1: găurire după axa Z – fig. 4.21. Se observă că reluarea uzinării în condiţiile conservării unor cote
(Z F/B = ZF/C; ZD = ZE) simplifică scrierea programului.
Exemplul 2: Ciclu de realizare buzunar (G45) – fig. 4.22. Elementele specifice de programare:
- G45 (nemodală);
- X, Y, Z, U, V, W - coordonatele centrului buzunarului şi ale fundului găurii pentru planele G17, 18, 19
se programează în absolut;
- EB, EX, EY, EZ - cotele relative definind dimensiunile buzunarului:
- EB - rază;
- EX, EY, EZ - cote după X, Y, Z (sau U, V, W);
- P, Q, I, J - mărimea trecerilor: P: axială, Q: laterală pentru degroşare; I: axială, J: laterală pentru finisare;
- EP, EQ, EI, EJ- viteze uzinare pentru prelucrări axiale şi laterale la degroşare şi finisare;
- ER2 - cota planului la ridicarea sculei.

4.3.3.10 Exemplu de program complet

Pentru o strunjire – fig. 4.23, elementele tehnologice sunt:


Operaţie Sculă Vit. tăiere Avans Trecere Nr. treceri
[m/min] [mm/rot] [mm]
Ajustare faţă R = 0,8 200 0,2 2 1
Eboş contur 2,8 1
Finiţie contur R = 0,4 230 0,08 0,2 1
Program: %01
N10 G00 G90 G40 G80 G71 X200 Z200 Degajare poziţie sculă
N20 T01 D01 M06 Ajustare cap + eboş
N30 G97 S900 M40 M04
N40 G95 F0.2
N50 G59 X+0.2 0,2 mm pentru finisare
N60 G00 G41 X70 Z70 Punct a

Fig. 4.21 Program pentru găurire prin frezare.

Fig. 4.22 Uzinare tip buzunar.

89
Fig. 4.23 Prelucrare prin strunjire şi scule asociate.
N70 G92 S3000
N80 G96 S200
N90 G01 X0 M08 Punct b
N100 G00 G42 X52 Z78 Punct c
N110 Z76 Punct d
N120 G02 X52 Z70 I52 K73 Punct e
N130 G03 X54 Z69 I52 K69 Punct f
N140 G01 Z33 Punct g
N150 G02 X60 Z30 I60 K33 Punct h
N160 G01 X70 Punct i
N170 G59 X0 Anulare 0,2 mm pentru N50
N180 G00 G40 X200 Z200 G97 S900 M09 Degajare pentru schimbare sculă
N190 T03 D03 M06 Finisare contur
N200 G00 G42 X52 Z76 Punct d - început finisare
N210 G96 S230
N220 G77 N120 N160 F0.08 M08 Finisare puncte e-i
N230 G77 N180 M05 Degajare sculă
N240 M02

4.3.4 Programarea parametrică

În cazul prelucrării unor loturi de piese, în locul valorilor numerice pentru aceeaşi adresă, pot fi
utilizaţi parametri, uşurându-se scrierea şi exploatarea programelor pentru diferite seturi de valori. Întrucât
lista, notaţia şi regulile de utilizare ale parametrilor sunt diferite funcţie de CN, se va face în continuare o
prezentare pentru un echipament şi anume NUM 760 T (de strunjire). Principiile generale rămân şi pentru
alte tipuri, utilizarea acestui mod de programare necesitând însă consultarea documentaţiei de firmă pentru
cunoaşterea particularităţilor de exploatare. NUM 760T foloseşte două categorii de parametri (variabile
program): variabile L şi variabile externe E.
Variabile program L0... L19 sunt iniţializate la zero la punerea sub tensiune, la sfârşit de program
(M02) sau la o resetare manuală. Ele pot avea valori fixe (atribuite) sau rezultate ale unor operaţii, care pot fi
şi fracţionare. Variabilele program pot fi afectate la toate adresele programabile, cote şi funcţii.
Ex: L2 = 5
L1 = L2 + 4.3 * 3 (echivalent L1 = 17.9 mm)
XL1 Z30 (cota x = 17,9 mm)
Spre deosebire de variabilele L0 - L19, care nu influenţează derularea programului, încărcarea unei variabile
Lx (x 100) suspendă pregătirea blocului căruia îi aparţine până la sfârşitul execuţiei blocului precedent.
CNC permite vizualizarea, la o comandă manuală, a variabilelor program.

90
Parametrii externi (E):
Tipuri / exemple:
- E 10 xxx - informaţii asupra biţilor transmişi la interfaţă; xxx - număr bit;
- E 20 xxx - informaţii asupra biţilor scrişi de către interfaţă şi citiţi de către CN;
- E 31000 (G0) - 31001 (G1) - tip trasare grafică a piesei: linie continuă, punctată, întreruptă, combinată, fără
linie. Ex: N20 E 31001 = 1 G1 E A 180 Z50 - trasare linie punctată.
- E 41 000 - mod lucru în curs;
- E 41 001 - număr grupe de axe;
- E 41 003 - stare simulare grafică;
- E 81 xxx - referinţă poziţie axe coordonatoare;
- E 9 ... - specificaţii asupra axelor maşinii;
Parametrii E 5 ... definesc corectorii de sculă:
Lx : E 50001 ... E50099 - lungimi sculă;
R : E 52001 ... E52099 - raza sculei;
C : E 55001 ... E55099 - orientare vârf sculă.
Parametri E 6 ... se referă la decalaje (PREF, DEC1 etc), iar E 7... la poziţia mobilului (punct curent, curse
maşină etc).
Parametri externi sunt numai valori întregi. Ei pot fi utilizaţi în combinaţie cu L; ex: L0 = 40002, EL0
corespunde la E 40002. Asocierea cu o adresă CN realizează concordanţa unităţilor E cu unităţile funcţiei
respective. Ex: E 80000 = 18000; XE 80000 X 18000 (X = 18 mm).
Operaţii cu parametri:
+ - adunare C - cosinus
- - scădere T - parte întreagă
* - înmulţire A - arctg
/ - împărţire & - şi logic
R - radical ! - sau logic
S - sinus
Cu aceste operaţii se pot constitui expresii prin intermediul cărora, la evaluare, se pot face salturi în program:
G79 < Parametru > = < Expresie > N . . .
>
<

4.3.5 Funcţii diverse

a. Programare avansuri
- în mm/min : G94 (modală), asociată cu G1, G2, G3.
ex: G0 X80 Y10
G1 G94 X10 Y30 F500 (F: feed)
Se aplică pentru deplasări după axe principale sau secundare. La interpolări circulare, se aplică o
corecţie, avansul programat fiind:
F’= Fnec. (R r) / R cu: R - concavitate; r - rază sculă; +: profil concav; -: profil convex.
- în mm/rotaţie (la strunguri): G95
ex: G1 G95 X30 Z10 F0.15
- în V/L (min-1) (la freze): G93
ex: G93 F4.2
F = V mm/min / L mm = 1 / durata [min]
Ex : F = 0.01 timp uzinare = 100 min.
Nu se poate utiliza în interpolare circulară sau elicoidală.

b. Control viteze
- G9 - produce o decelerare corelată cu dependenţa erorii dintre traiectoria sculei şi profil la racordări
unghiulare şi viteza de avans.
- G12 - validează o creştere a vitezei cu o valoare predefinită la o solicitare prin comandă manuală (pentru
avans rapid de ex.).
- EG - modulare íntre 1 şi 100 % a acceleraţiei maxime.
Format : EG n ; 1 n 100
Valoare implicită n: 100.

91
- G92 Rn - programare viteză tangenţială la corecţiile de rază a sculei (G41, G42) pentru cercurile cu rază
mai mare ca valoarea n . La intervenţia acestei funcţii, viteza de avans F se aplică curbei programate şi
nu traiectoriei centrului sculei.
- control viteză avans la racordări rotunde şi teşituri (EF).

c. Programare temporizări
Format: G4 F aa.bb; 0,011 t 99,99 s

d. Programare broşă
- viteza broşă: S n sau S a.b
1 n 65000 rot/min
0 a 99
01 b 99
Ex. (S) : G97 S5
Funcţiile M40... M45 definesc şase game de turaţie.
- viteză tăiere constantă (pentru strunjire)
Vt = . D . Vrot D: diametrul la punctul de contact.
[m/min] [mm] [rot/min]
Format: G96 X a.b S c.d cu: a.b: diametrul de început, c.d: viteză tăiere [m/min].
Anulare: G97
- indexare broşă: M19. Valoarea de indexare este la adresa C (S) respectiv EC (F).
Ex: M3 S500 C90 M19 (S) - indexare cu + 90o în raport cu originea.
- alegere broşă (F)
M64 comandă broşa 1; M65 comandă broşa 2
- limitare viteză broşă ( S )
Format : G92 S a.b cu a.b este turaţia maximă impusă a universalului.
[rot/min]

e. Salt bloc /
Blocul precedat de " / " este sărit la activarea unei comenzi manuale.

f. Stop cotă G10

- prin întrerupere externă (limitator soft automat), deplasarea este oprită, cota preia coordonatele punctului
curent şi se face salt la secvenţa următoare sau specificată.
Ex. G 10 X 523 N xx
- prin detectare prag măsură:
G 10 X ... @ > < xx x xx.xxx (Nxx)
Ex: G10 X ... Z ... @ 5 < 40.15 N 120 - salt la N 120 când măsura pe axa 5 va fi inferioară valorii 40.15 mm.

g. Subprograme şi salturi
- apel subprograme - G77 N a1 Na2 Sb; a1, a2: limite subprogram; b: număr repetări subprogram (b < 4);
G77 N xxx cu xxx număr subprogram
- salt condiţionat - G79 Lx > < = v N aaa; L : variabilă program sau parametru extern
- salt necondiţionat - G79 N xxx

h. Degajare rapidă - G75; Format : G75 N xxx. După G75, la o cerere transmisă de automat, are loc saltul
la N xxx.

i. Transfer valori curente parametri în programul piesei


Format: G76 Hp - editare parametri program p
N1 N2 - editare parametri definiţi între N1 şi N2
Hp N1 N2 - editare parametri între liniile N1 şi N2 din programul % p
Exemplu:
%100
N10 G76 H200 N30 N80 Transfer fişier date. Executare program cu modificări parametri.

92

N60 G76 H200 N30 N80 Reactualizare fişier date
M02

% 200
N30
L1 = ... E52001 =
E80001 =
N80

j. Apel subprograme prin automat


În timpul prelucrării, în anumite condiţii, la terminarea unui bloc şi în urma cererii de la automat, se poate
face saltul la un (sub) program.

k. Decalare unghiulară
Când geometria piesei este deductibilă prin rotaţie unghiulară a unei figuri elementare (la danturări, găuriri
etc.), prin decalajul unghiular este posibilă programarea numai a figurii elementare.
Format : ED xxx cu xxx: valoare sau parametri.

l. Transfer şir caractere


Şiruri de caractere referitoare la programul piesă (mesaje) şi conţinute de acesta pot fi transmise (fără
interpretare) către:
- $0 : sistemul de vizualizare - coprocesor
- $1 : automat - $ : început mesaj
- $3 : reţea comunicare LF: închidere mesaj

m. Programare în inch: G70


Ex: G70
L1 = 10
XL1 (X = 10 inch)

n. Apel subprograme prin funcţii M


Apelurile se definesc de constructor printr-un parametru maşină.
Ex : N xx M55 G77 H200 (dacă în parametrul maşină P35, M55 corespunde subprogramului 200)

p. Calcul timp tăiere în simulare


În mod TEST, prin pagina LIST, se poate afla timpul de execuţie în minute şi secunde, fără considerarea
temporizărilor.

q. Execuţie curbe SPLINE (F)


Curbele SPLINE se realizează printr-o interpolare cu continuitatea derivatelor de diferite ordine în noduri,
obţinând racordări bune.
- Definire curbă: G48 urmat de: - antet;
- definire puncte;
- sfârşit bloc.
- Execuţie curbă : G06 Nr. curbă;
- Eliberare buffer de date curbă executată: G49 Nr. curbă.

Şi alte funcţii sau moduri de lucru sunt disponibile, optimizând programarea sau executarea pieselor.
Dependenţa lor de generaţia şi performanţele echipamentelor (înzestrările hard şi soft) fac necesară utilizarea
acestora în conformitate cu recomandările constructorului, deci se impune consultarea atentă a
documentaţiilor aferente.

4.3.6 Programarea structurată

Unele echipamente (de ex. NUM760 ) oferă o programare mai comodă prin acceptarea realizării
buclelor şi salturilor în program cu ajutorul unor instrucţiuni tip limbaj de nivel înalt: IF, REPEAT, WHILE,

93
FOR şi respectiv ENDI, UNTIL, ENDW (ca terminatori). Între IF şi ENDI se pot intercala instrucţiuni
ELSE. Se admit mai multe nivele de imbricare.
Exemple:
%1 %2
IF G79 N100
WHILE REPEAT
G79 N100 acceptat IF
G77 H2 G79 N100 admis
G79 N50 neadmis G79 N50 neadmis
G79 N30 neadmis ENDI
N30 N50
ENDW UNTIL
N50 N100
ENDI
N100
M02
Formate:
- IF condiţie THEN (1) Condiţie realizată Condiţie nerealizată
ENDI (ELSE)
Ex. : IF L4 < 8
THEN L6 = L2 + 5XL6

- REPEAT
UNTIL condiţie
- WHILE condiţie DO
ENDW
Ex. : WHILE condiţie
DO XL6
- FOR var. = expresie1 TO expresie2 DO
- EXIT - ieşire din buclă curentă în nivel imbricare inferior
Ex.: REPEAT WHILE
: REPEAT
: IF
IF condiţie THEN IF
: IF
: EXIT
ELSE ENDI
EXIT ENDI
ENDI ENDI
: UNTIL
: ENDW
UNTIL condiţie

4.3.7. Programare prin limbaje calculator

Utilizarea calculatorului şi a unui limbaj specializat pentru comanda numerică a MU constituie o


primă etapă în comanda asistată a MUCN. Efortul de programare este comparabil cu cel de la utilizarea
codurilor IS0, dar folosirea unor mnemonice sugestive, derivate din limbajul natural (pentru limba engleză)
face ca programul să fie mai uşor lizibil. S-a impus familia limbajelor APT (Automatically Programmed
Tools), elaborat în 1955 la MIT. Versiuni ulterioare: APT II - 1957, APT III - 1962, APT IV - 1967, NEW
APT - 1968, ADAPT (toate în S.U.A.), APT - RCV (Franţa), NEL APT (Anglia), FANUC (Japonia),
PAGET (Italia ) etc. În România au fost elaborate ROMAPT - 1968 şi LIPCON - 1980.

4.3.7.1 Structura limbajului APT - RCV

Sistemul APT - RCV cuprinde : limbajul, procesorul, postprocesorul.

94
Limbajul conţine instrucţiunile prin care se descriu geometria piesei şi tehnologia de prelucrare.
Ansamblul instrucţiunilor unui program constituie textul sursă.
Procesorul conţine mai multe programe ce încarcă în calculator textul sursă, îl analizează, detectează
eventualele erori şi determină coordonatele punctelor de pe traiectoria sculei.
Postprocesorul conţine mai multe subprograme ce prelucrează datele din fişierul de ieşire al procesorului şi
le adaptează la caracteristicile MU folosite, convertindu-le în cadrul propriu acestora (IS0 de ex.).
Limbajul conţine cca. 300 cuvinte. O frază a limbajului (ce respectă anumite reguli sintactice de construcţie)
constituie o instrucţiune a programului. Instrucţiunile pot fi de următoarele tipuri:
- de definire geometrică;
- de mişcare;
- tehnologice;
- speciale;
- postprocesor.
Se utilizează:
- caractere alfabetice şi numerice;
- caractere speciale;
- cuvinte (max. 6 caractere), unele rezervate sistemului;
- simboluri (variabile);
- sinonime - pentru înlocuirea cuvintelor din dicţionarul procesorului cu simboluri program.
În formularul de programare, la început se face o definire a simbolurilor utilizate. Sistemul lucrează cu
variabile scalare şi variabile geometrice, acestea privind grupul de valori numerice necesar definirii complete
a entităţii geometrice la care se referă (punct - trei valori, conică - şase valori etc.).

4.3.7.2 Instrucţiuni geometrice

Toate elementele geometrice trebuie descrise prin aceleaşi unităţi de măsură iar unghiurile se
precizează în grade sexazecimale.
Definire punct - exemple:
- prin coordonate rectangulare
XPCT = POINT/ x, y, z
ex.: P4 = POINT/ -2, 3, 0 (în planul xy)
- prin intersecţie a 2 drepte:
SPCT : POINT/ INTOF, dr.1, dr.2
ex.: P1 = POINT/ INTOF, L4, L1
- prin intersecţie punct cu cerc:
SPCT = POINT,/ {XLARGE sau YLARGE sau XSMALL sau YSMALL}, INTOF, dr., cerc
Cuvintele X LARGE... Y SMALL (modificatori) selectează unul din punctele posibile.
Ex.: P7 = POINT/ YLARGE, INTOF, L3, C2
- ca centrul unui cerc:
SPCT = POINT / CENTER, cerc

Definire dreaptă - exemple:


- prin două puncte:
SLIN = LINE/ x1, y1, x2, y2, punct1, punct2
Ex.: L1 = LINE/ 2.7, 1.5, 5.5, -2
L2 = LINE/ P1, P2
- printr-un punct şi punctul de tangenţă cu un cerc:
SLIN = LINE/ punct, {LEFT sau RIGHT}, TANTO, cerc
Modificatorii specifică punctul de tangenţă, pornind de la punctul exterior şi în raport cu centrul cercului.
- prin tangenţa la două cercuri:
SLIN = LINE/, {LEFT sau RIGHT},TANTO, cerc1, {LEFT sau RIGHT}, TANTO, cerc2
Modificatorii specifică poziţa faţă de dreapta centrelor orientată de la C1 la C2.
- prin paralelism la o altă dreaptă:
SLIN = LINE / PARLEL, dr., {XLARGE sau YLARGE sau XSMALL sau YSMALL}, distanţă
Modificatorii specifică sensul modificării coordonatelor la translaţia dreptei de referinţă spre dreapta de
definiţie. Exemplu – fig. 4.24.
Definire cerc - exemple:

95
- prin centru şi rază:
SCER = CIRCLE/ x, y, rază
SCER = CIRCLE/ CENTER, punct, RADIUS, rază
- prin centru şi tangenţa la o dreaptă:
SCER = CIRCLE/ CENTER, punct, TANTO, dr.
- prin centru şi un punct de pe circumferinţă:
SCER = CERCLE / CENTER, punct, punct circumf.
- prin 3 puncte de pe circumferinţă:
SCER = CIRCLE/ punct 1, punct 2, punct 3
- prin rază şi tangenţa la 2 drepte
SCER = CIRCLE/ {XLARGE…YSMALL}, dr.1, {XLARGE…YSMALL}, dr.2, RADIUS, rază
Exemplu – fig. 4.25.

Definire plan - exemple:


- prin coeficienţii ecuaţiei:
SPLAN = PLANE / a, b, c, d (ax+by+cz-d = 0)
- prin trei puncte:
SPLAN = PLANE / p1, p2, p3
- printr-un punct şi paralel la un plan dat:
SPLAN = PLANE / pct., PARLEL, plan

Definire vectori - exemple:


- prin proiecţiile pe axe:
SVECT = VECTOR / comp. x, comp. y, comp. z
- prin punctele extreme:
SVECT = VECTOR / x1, y1, z1, x2, y2, z2
- ca perpendicular pe un plan:
SVECT = VECTOR / PERPTO, plan, {POSX…NEGZ}
- prin lungime şi unghiul cu o axă:
SVECT = VECTOR / LENGTM, lung., ATANGL, unghi

Definire conice - exemple:


- prin coeficienţii ecuaţiei de gradul 2:
SCONIC = GCONIC / a, b, c, d, e, f
- ca elipsă prin centrul său, semiaxe şi unghi înclinare:
SELIP = ELLIPS / CENTER, punct, semiaxa1, semiaxa2, unghi
- ca hiperbolă prin centrul său, semiaxe şi unghi înclinare axă transversală:
SHIP = HYPERB / CENTER, punct, lung. semiaxă transv., lung. semiaxă conjugată, unghi
Exemplu: fig. 4.26.

Definire contururi tip cilindru tabelar

Cilindrul tabelar este o suprafaţă generată de alunecarea unei drepte pe o curbă, păstrându-şi paralelismul
faţă de o dreaptă.

Fig. 4.24 Exemplu de definire dreaptă.

Fig. 4.25 Exemplu de definire cercuri.

96
- prin coordonate bidimensionale:
SCTAB = TABCYL / N0Z, SPLINE, 3… punct 1 abcisa j, ordonata j
Limitele de repetare ( 3 ... ) indică faptul că se poate realiza o combinaţie de simboluri de puncte deja
definite şi perechi de coordonaxe X, Y ale unor puncte în plan XO, minim trei puncte.
Exemplu: fig. 4.27.
- prin ansamblu de puncte şi panta la extreme:
SCTAB = TABCYL / NoZ, SPLINE, 3… punct 1 abcisa j, ordonata j , (SLOPE,valoare)

Definire structuri de puncte


Structura de puncte este un ansamblu de puncte definite pe o dreaptă sau pe un cerc utilizând un
anumit algoritm, dar care poate conţine şi elemente discrete. Exemple:
- structură liniară de puncte echidistante definită prin punctele extreme:
SSTRUC = PATERN / LINEAR, punct1, punct n, nr.
Exemplu: fig. 4.28.
- structură liniară definită prin punctul de origine, vector de direcţionare şi succesiune de incremente:
SSTRUC = PATERN/ LINEAR, punct, vector, INCR, l1,l2, ..., ln
- structură circulară definită prin circumferinţă, unghi origine, unghi extrem, sens rotaţie şi număr puncte:
SSTRUC = PATERN / ARC, cerc, unghi1, unghi2, {CLCK, CCLCK} , număr
CLW: (clockwise) sens orar
CCLW: (counter clockwise) sens antiorar
- structură de puncte în reţea definită prin combinarea a două structuri de puncte liniare:
SSTRUC = PATERN / GRID, str.1, str.2
Exemplu - fig. 4.29.

4.3.7.3 Instrucţiuni de mişcare

- Mişcare punct cu punct:


- iniţializare: FROM / {x, y, z /abcisa, ordonata, cota /simbol, -, punct}, viteza
- mişcare absolută: GOTO /{(x, z, y)/punct /structură punct}, modificatori
Modificatori: INVERS, ZIGZAG ,OMIT, THRU, RETAIN, AVOID
- mişcare incrementală:
GODLTA / {incr. x, incr.y, incr.z / vector}, viteza
- Mişcare continuă (conturare):
- Definirea sculelor: CUTTER / d
CUTTER / d, r
- Specificare toleranţe de calcul, în sensul abaterii faţă de traiectoria ideală:
- INTOOL / t1 abateri interioare < t1
- OUTTOOL / t2 abateri exterioare < t2
- TOLER / t3 abateri < t3

- Iniţializare mişcare : FROM


- Stabilire direcţie mişcare:
GOTO
GODLTA
INDIRP / {punct / abcisa, ordonata, cota} – spre un punct
INDIRV / {vector / comp.x, comp.y, comp.z} - spre un vector
- Poziţionare sculă în raport cu o suprafaţă:
OFFSET / {TO sau ON sau PAST}, suprafaţă ghidare
Modificatorii dau poziţia finală a sculei faţă de suprafaţă:
TO: tangentă înainte;
ON: centrul sculei pe suprafaţă;
PAST: tangentă după trecerea suprafeţei.
- Deplasare sculă în raport cu o suprafaţă:
GO / { TO sau ON sau PAST}, suprafaţă ghidare
- Comandă mişcări conturare.
Se utilizează mai mulţi modificatori:

97
{ TLLEFT sau TLRGT sau TLON}, {TLONPS sau TLOFPS}, {GOLFT sau GORGT sau GOFWD
sau GOBACK}, /suprafaţa-1, {TO sau ON sau PAST sau TANTO}, suprafaţa-2
Campurile de modificatori au rolul:
A: definesc poziţia sculei faţă de suprafaţa de ghidare;
B: dacă scula se află sau nu în suprafaţa piesei;
C: direcţia de mişcare la schimbarea suprafeţei de ghidare;
D: suprafaţa de ghidare;
E: poziţia finală a sculei faţă de suprafaţa de control.

4.3.7.4 Instrucţiuni speciale

- PARTNO den. - declarare nume program;


- REMARK - comentarii;
- PPRINT - comentarii (transmise postprocesorului);
- PRINT / variante - imprimare;
- PUNCH - perforare;
- CLPRNT - pentru imprimare date referitoare la poziţia sculei, rezultate ale procesorului;
- FINI - sfârşit program.

4.3.7.5 Instrucţiuni pentru funcţii tehnologice

- FEDRAT / avans - viteză avans;


- SPINDL / {turaţie ON OFF}, {CCLK, CLK} - turaţie arbore princ.; ON, OFF: pornit/oprit;

Fig. 4.26 Definire conică.

Fig. 4.27 Definire contur.

Fig. 4.28 Structură liniară.

Fig. 4.29 Structură tip reţea.

98
- CYCLE / { modificatori cod}
modificatori : DRILL: găurire;
FACE : lamare;
BORE: alezare;
MILL: frezare;
- DELAY / timp - temporizare, întrerupere;
- THREAD / {parametri cod} – filetare;
parametri: pas, turaţie, diametru;
cod: cod acceptat de maşină pentru operaţia respectivă.
- COOLNT / {tip lichid ON OFF} - răcire cu lichid;
- LOADTL / {parametri cod} - schimbare sculă;
- TOLNo / {parametri cod} - identificare sculă;
- ROTABL / unghi - oprire orientată platou;
- ROTHED / unghi - rotaţie cap prelucrare.

4.3.7.6 Instrucţiuni auxiliare

- END - sfârşit program;


- GOHOME - revenire la origine sistem axe;
- RAPID - deplasare rapidă;
- STOP - oprire maşină;
- OPSTOP - oprire opţională;
- REWIND - rebobinare bandă perforată;
etc.

4.3.7.7 Operaţii de calcul

APT - RCV poate realiza operaţii aritmetice, geometrice, trigonometrice cu numere reale:
+: adunare;
-: scădere;
*: înmulţire;
/ : împărţire;
** : exponenţiere;
ABSF: valoare absolută;
SQRTF: radical;
LOGF: logaritm natural;
EXPF: calcul exponenţial;
SINF: sin;
COSF: cos;
ATANF: arctg;
DISTF (PT1, PT2 ): distanţa dintre două puncte;
NUMF: nr. de puncte dintr-un şir;
LNTHF: determinare lungime vector definit anterior.

4.3.7.8 Exemplu program

Prelucrarea este redată de fig. 4.30.


PARTNo CAMA xxx
CL PRNT
REMARK = DEFINIŢII GEOMETRIE
P0 = POINT / 0, 0, 0
LX = LINE / 0, 0, 1, 0
LY = LINE / 0, 0, 0, 1
C1 = CIRCLE / 0, 0, 0, 80
C2 = CIRCLE / 0, 0, 0, 43
CC3 = POINT / 32, 25, 0

99
CCY = POINT / -51, 40, 0
C3 = CIRCLE / CENTER, CC3, SMALL, TANTO, C1
C4 = CIRCLE / CENTER, CC4, SMALL, TANTO, C1
C5 = CIRCLE / YSMALL, OUT, C3, OUT, C2, RADIUS, 32
C6 = CIRCLE / YSMALL, OUT, C4, OUT, C2, RADIUS, 116.5
REMARK = INSTRUCŢIUNI MIŞCARE
CUTTER / 10
FROM / 0, 100, 0
INDIRV / 0, -1, 0
OFFSET / ON, C1
TLON, TLONPS, GOLFT / C1, TANTO, C3
GOFWD / C3, TANTO, C5
GOFWD / C5, TANTO, C2
GOFWD / C2, TANTO, C6
GOFWD / C6, TANTO, C4
GOFWD / C4, TANTO, C1
GOFWD / C1, ON, LY
PRINT / 3, ALL
STOP
END
FINI

4.3.8 Programarea conversaţională

Programarea conversaţională constă în furnizarea de către operator a unor răspunsuri la întrebările


afişate pe display sau selectarea unor opţiuni geometrice şi tehnologice. Se mai numeşte programare
interactivă sau prin dialog. La majoritatea maşinilor CNC înzestrate cu programare conversaţională se
folosesc combinat informaţii grafice şi meniuri ecran. Configuraţia minimă a unui meniu este:
1.Încărcarea unui program de pe suport de informaţie;
2.Crearea unui program nou;
3. Editarea unui program existent.
Elementele necesare pentru programare sunt:
- desenele de execuţie ale pieselor;
- detalii tehnologice (tip prelucrare, scule, avansuri, viteze etc.);
- informaţii de iniţializare (tip unităţi măsură, programare absolută sau incrementală, corelare referinţe
OM - OP - Op etc.).
La nivelul utilizatorului, programarea conversaţională constă dintr-un ansamblu de pagini ecran de
dialog, înlănţuirea lor constituind programul. Se pot accesa numeroase tipuri de uzinare, fişiere de materiale
şi de scule. Unele sisteme CNC pot genera formatele ISO corespunzătoare programului introdus prin dialog
sau păstrează posibilitatea creării de secvenţe în ISO şi PGP. O componentă puternică a programării
conversaţionale se referă la vizualizarea grafică 2D sau 3D şi la simularea uzinării, cu numeroase facilităţi:
secţiuni, zoom (mărire detalii), manipulare piesă prin rotaţii şi selecţie plane, calculul automat al vitezelor de
rotaţie şi avans (valori recomandate programatorului). Programarea conversaţională este utilizabilă şi în timp
mascat (în timpul execuţiei unui program piesă). Se va exemplifica programarea conversaţională pentru

Fig. 4.30 Piesa prelucrată cu un program APT.

100
sistemul NUM Télémécanique. Programatorul poate lucra cu o formă sintetică a programului sau cu detalii
sub forma paginilor ecran corespunzând liniilor respective. În etapele de creare sau editare program,
validarea informaţiilor din paginile ecran se efectuează cu ajutorul unor taste soft: un rând de taste (fizice),
cu diferite semnificaţii (după corespondenţa indicată la fiecare pagină) cu un sistem paralel de taste desenate
pe display. Se folosesc două tipuri de pagini:
- pagini meniu - permit fixarea unor opţiuni - fig. 4.31;
- pagini de dialog - pentru introducerea datelor - fig. 4.32;
La apariţia unei pagini, câmpurile de date sunt vide sau conţin date modificabile (text, valoare). Câmpurile
pot fi:
- cu completare obligatorie (marcate prin ??...?);
- cu completare facultativă (marcate prin <<...< sau spaţiu gol).
Trecerea de la un câmp la altul se face cu LF (Line Feed) sau cu ajutorul tastelor cursor. Câmpul activ la un
moment dat are strălucire variabilă. Paginile ecran sunt numerotate automat. Structura unui program simplu:

% xx Nr. program
N10 Definire piesă (nume, material, brut 3D)
N20 Declarare scule
N... Tip operaţie uzinare
N... Definire profil, grilă etc.
N... Poziţie de apropiere sculă / piesă
N... Execuţie ciclu şi degajare sculă
N... Sfârşit operare
N... Sfârşit program

Fig. 4.31 Pagină de meniu principal. Fig. 4.32 Pagină de dialog – ciclu de prelucrare.

Fig. 4.33 Forma condensată a unui program.

101
102
BIBLIOGRAFIE

[1]. Babuţia I. şi col., Conducerea automată a proceselor. Ed. Facla, Timişoara, 1985.
[2]. Bitoleanu Al., Mihai D., Popescu M., Constantinescu C., Convertoare statice şi structuri de comandă
performante, Ed. Sitech, Craiova, 2000
[3]. Bouteille D. şi col., Automatismes programmables Cepadues-Editions, Toulouse, 1988.
[4]. Ionescu T., Sisteme şi echipamente pentru conducerea proceselor, Ed. Didactică şi Pedagogică,
Bucureşti, 1982.
[5]. Luggen W. W., Fundamentals of Numerical Control Chepman & Hall, 1988.
[6]. Mihai D., Comenzi numerice pentru sisteme electromecanice, Ed. Didactica Nova, Craiova, 1996.
[7]. Mihai D., Systèmes d’entraînement électrique. Problemes fondamentaux, Ed. Universitaria, Craiova,
2004
[8]. Mihai D., Sisteme discrete şi comenzi numerice. Aplicaţii practice, Ed. Sitech, Craiova, 2000.
[9]. Mihai D., Echipamente numerice pentru instalaţii electromecanice, indrumar de laborator, Reprografia
Universităţii din Craiova, 1996.
[10]. Mihai D., Echipamente numerice pentru instalaţii electromecanice, curs, Reprografia Universităţii din
Craiova, 1998.
[11]. Niţu C., Metlac I., Feştilă C., Echipamente electrice şi electronice de automatizare, Ed. Didactică şi
Pedagogică, Bucureşti, 1980.
[12]. Nussbaummer H., Informatique industrielle, vol. 1-4, Presses Polytechniques et Universitaires
Romandes, Lausanne, 1986 - 1988.
[13]. Sângeorzan D., Echipamente de reglare numerică. Ed. Militară, Bucureşti, 1989.
[14]. Wakerly J., Digital Design. Principles and Practices Prentice Hall Int. Ed., London, 1994.

103

S-ar putea să vă placă și