50 Echipamente Numerice Pentru Instalatii Electromecanice - Curs PDF
50 Echipamente Numerice Pentru Instalatii Electromecanice - Curs PDF
50 Echipamente Numerice Pentru Instalatii Electromecanice - Curs PDF
ECHIPAMENTE NUMERICE
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.
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.
3
4
CUPRINS
Pag.
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.
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
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).
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.
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ă.
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.
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.
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
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
T1 T0
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.
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.
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.
14
1.3.6 Porturile
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.
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:
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;
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.
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.
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
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
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.
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).
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Ă
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.
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:
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:
Deşi reconstituirea semnalelor este mai precisă, EX1 este mai puţin utilizat datorită dificultăţilor de
implementare.
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.
Exteriorul RD este denumit parte fixată (impusă) şi este exprimat analitic prin:
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
27
Sau, în domeniul timp:
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.
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-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:
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.
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.
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ă:
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
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.
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:
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.
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
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.
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.
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:
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
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ă).
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.
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.
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
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
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).
- 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:
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
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
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.
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
Î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)
40
Cazul = NT
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) =
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.
tr = (r+1) ·T (2.94)
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.
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
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.
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:
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.
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.
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].
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:
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.
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ă:
traductorul funcţionează corect; în caz contrar, trebuie semnalizat aspectul prin mesajul la consolă "traductor
suspect".
uk = f ( k , k-1 , ... , uk-1 , ... ) = f ( rk - yk , rk-1 - yk-1, ... , uk-1 , ... ) (2.107)
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:
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:
u1 = h (y0 , uM); u2 = h (y1 , y0 , u1 , uM) etc. iar diagramele de timp vor avea aspectul din fig. 2.14.
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.
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.
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).
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):
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
Fig. 3.5 Canal de ieşire numerică cu releu. Fig. 3.6 Canal de ieşire numerică cu triac.
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.
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.
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.
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.
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
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.
55
Fig. 3.19 Senzor de proximitate şi conectare prin 2 sau 3 fire la AP.
Fig. 3.23 Citire în cod de bare. Fig. 3.24 Cântar automat cu AP.
56
3.5.2. Elemente de execuţie
57
Fig. 3.25 Acţionori şi preacţionori asociaţi AP.
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.
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
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.
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)
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.
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.
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ă.
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.
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:
63
Programarea blocurilor (TSX 17 - 20)
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.
64
Fig. 3.31 Transpunerea in limbaj LADDER a unei scheme cu contacte şi relee.
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.
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.
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.
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.
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.
a. b.
Fig. 3.39 Temporizări şi fronturi în GRAFCET.
a. b. c. d.
Fig. 3.40 Tipuri de acţiuni î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.
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
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
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:
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.1 Funcţiile CN
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.
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
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.
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
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:
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.
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
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ă:
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.
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).
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.
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).
(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.
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
84
4.3.3.5 Sistemele de cotare
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.
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ă.
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.
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).
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
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.
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
Î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 . . .
>
<
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.
- 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.
92
…
N60 G76 H200 N30 N80 Reactualizare fişier date
M02
% 200
N30
L1 = ... E52001 =
E80001 =
N80
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.
Ş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.
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
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.).
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
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.
Cilindrul tabelar este o suprafaţă generată de alunecarea unei drepte pe o curbă, păstrându-şi paralelismul
faţă de o dreaptă.
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)
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.
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.
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.
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
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.
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