Sunteți pe pagina 1din 32

ROBOTIC II - Note de curs M.

Niulescu

1. SISTEMUL ROBOT ABB IRB 1400


1.1 Descrierea sistemului robot IRB 1400
Ceea ce denumim pe scurt "robotul ABB IRB 1400" este n realitate un "sistem-robot"
cu o complexitate deosebit, proiectat pentru o clas larg de aplicaii robotizate care
se efectueaz n mod curent n cadrul sistemelor flexibile de fabricaie.
Pentru aceasta, sistemul-robot IRB 1400 dispune de o structur "deschis" hardwaresoftware, adoptat special pentru a furniza o flexibilitate maxim n raport cu cerinele
aplicaiilor posibile. Prin diferite tipuri de interfee specializate, el poate comunica
uor cu alte sisteme exterioare.
Din punct de vedere al structurii mecanice, robotul ABB IRB 1400 este un robot
industrial cu 6 articulaii de tip rotaie, n aa-numita configuraie full-axis. Schema sa
cinematic grupeaz primele 3 articulaii de la baz ntr-o configuraie de tip
"orizontal-articulat", iar urmtoarele 3 articulaii ntr-o configuraie de tip "terminal
complect decuplat". Rezult deci faptul c robotul este capabil s execute poziionarea
i orientarea complect a efectorului n interiorul spaiului su de operare.
Robotul este echipat cu un sistem de operare denumit BaseWare OS, care controleaz
fiecare aspect esenial al robotului pe durata funcionrii sale, cum ar fi de exemplu
controlul micrii, dezvoltarea i execuia programelor funcionale, comunicaiile
robotului cu dispozitive auxiliare etc. Pentru funcionaliti suplimentare, sistemul de
operare BaseWare OS poate fi dotat cu module software specializate, ca de exemplu:
Suport pentru aplicaii speciale: sudur cu arc electric, depunerea adezivilor etc.
Comunicaii cu alte dispozitive externe: faciliti de comunicaie n reea de
calculatoare.
Funcii avansate: multitasking, control senzorial evoluat etc.
Pentru de a rspunde ct mai flexibil cerinelor posibile din anumite categorii de
aplicaii, robotul IRB 1400 este oferit n dou variante constructive, respectiv:
Varianta de baz IRB 1400, pentru montarea normal pe o suprafa. Marea
majoritate a roboilor industriali sunt construii n aceast variant (denumit i
floor mounting).
Varianta modificat IRB 1400H, pentru montarea suspendat inversat (de tip
"portal"). Aceast variant este cunoscut sub denumirea de inverted mounting.
Sistemul robot IRB 1400 dispune de dou componente fundamentale:
Structura mecanic (Figura 1.1), adeseori denumit i "manipulatorul" sau
"braul" robotului IRB 1400".
Controller-ul sistemului robot (Figura 1.2), care conine partea electronic
necesar controlului su funcional, alimentrii cu energie electric i interfarii
cu alte echipamente exterioare. Aa cum se poate observa din Figura 1.2, pe
controller sunt dispuse alte dou elemente importante, care concur la realizarea
funciilor acestuia: panoul operator (Operator's panel) prezentat n Figura 1.3
i consola de programare (Teach pendant) prezentat n Figura 1.4.

1-1

ROBOTIC II - Note de curs M. Niulescu

Figura 1.1 Structura mecanic a robotului IRB 1400 n vedere de ansamblu.

Panoul operator

Consola de programare
(Teach pendant)

Comutator general de
alimentare electric

Unitate de memorie
extern (Floppy disk)

Figura 1.2 Controller-ul robotului IRB 1400 n vedere de ansamblu.

Buton (cu lamp) de


activare a acionrilor
- MOTORS ON -

Selectorul
modului de operare

Oprire de urgen
(Ciuperc de avarie)

Contor al orelor de
funcionare

Figura 1.3 Panoul operator n vedere frontal.

1-2

ROBOTIC II - Note de curs M. Niulescu

Prin construcie, panoul operator (Operator's panel) este amplasat fix pe


carcasa controller-ului. Totui, el poate fi extras i montat extern, spre exemplu n
afara zonei de amplasare a robotului i a controller-ului su, astfel nct accesul
personalului de deservire s fie optimizat. Aa cum se poate observa din Figura 1.3,
panoul operator conine 4 elemente principale:
Un contor al orelor de funcionare. Scopul su este identificarea intervalelor de
timp la care se impune efectuarea unor operaii obligatorii de ntreinere tehnic
a robotului, n conformitate cu cerinele productorului.
Un buton destinat opririi de urgen a robotului atunci cnd se produce (ori este
pe cale s se produc) un incident n spaiul su de operare. Acest buton are o
construcie special, cunoscut sub denumirea de "ciuperc de avarie". De
ndat ce acest buton este apsat, robotul rmne imobilizat instantaneu n starea
mecanic curent. Deblocarea butonului presupune anumite micri speciale ale
operatorului, astfel nct reactivarea robotului s nu fie accidental.
Un buton de activare a acionrilor electrice din structura robotului, denumit
Motors On. Prin apsarea acestui buton sunt energizate toate acionrile
robotului, aspect evideniat i prin aprinderea lmpii interne a butonului (ceea ce
face observabil de la distan setarea acestei opiuni, potenial "periculoas").
Selectorul modului de operare. Aceasta este o cheie tripoziional prin care
operatorul poate stabili unul dintre urmtoarele regimuri funcionale:
Automatic mode. Modul de funcionare automat este folosit atunci
cnd se dorete ca robotul s execute un program funcional n condiii
"reale i complecte".
Manual mode at reduced speed. Modul manual de operare al robotului, cu o vitez redus la o valoare de max. 250 mm/s pentru TCP i
fiecare articulaie, este util n procesul de testare a unui nou program.
Manual mode at full speed (option). Modul manual de operare al
robotului, cu viteza impus prin program pentru fiecare micare, este
opional i nestandardizat, dar util n testarea unui nou program.
n cadrul unui sistem-robot ABB, consola de programare (Teach pendant)
ocup o poziie extrem de important deoarece, mpreun cu panoul operator, permite
efectuarea tuturor operaiilor de programare pentru robot. Figura 1.4 prezint aspectul
general al consolei de programare n vedere frontal.
Consola de programare este legat de carcasa controller-ului printr-un cablu electric
cu lungimea de 5-15 m, ceea ce permite programatorului deplasarea n proximitatea
efectorului robot pentru a efectua cu calitatea necesar regimurile de instruire. De
menionat faptul c i consola de programare (ca i panoul operator) poate fi extras i
montat extern, la distan de robot i controller-ul su, astfel nct accesul
personalului de deservire s fie optimizat. n acest fel robotul poate fi controlat "de la
distan" pe cale serial, cu ajutorul unui:
"Panou general de comand" (compus din cele dou elemente ale sistemului)
Calculator de uz general PC
Controller logic programabil PLC

1-3

ROBOTIC II - Note de curs M. Niulescu

Taste funcionale
Butoane
Joystick
Display

Ciuperc
de avarie"

Figura 1.4 Consola de programare n vedere frontal.

Consola de programare ABB este proiectat astfel nct:


Toate informaiile necesare utilizatorului sunt afiate pe un display (ecran),
folosind "principiul dialogului" prin ferestre, meniuri, i funcii alocate unor
butoane soft. n felul acesta utilizatorul nu trebuie s aib o experien deosebit
n programare sau n tiina calculatoarelor, fiind suficient o minim familiarizare cu mediul creat de sistemul de operare Windows pentru a nelege rapid i
modul de utilizare al consolei.
Toate operaiile aferente programrii robotului pot fi efectuate numai de la
consol.
Toate informaiile i terminologia specific, inclusiv programul funcional, sunt
implicit afiate n limba englez. Utilizatorul poate selecta ns i o alt limb de
circulaie internaional (francez, german, spaniola, portughez, italian,
japonez, suedez etc.).
Panoul frontal al consolei de programare ABB (Figura 1.4) indic prezena urmtoarelor 5 elemente principale:
Un display (ecran cu cristale lichide) care poate afia simultan 16 linii, fiecare
linie fiind compus din 40 de caractere.
Un joystick (cu 3 axe) folosit pentru a deplasa articulaiile robotului n aanumita faz de instruire (faz inclus n procesul de programare funcional).
Un grup de 44 taste funcionale.
Un grup de 4 butoane. Dintre acestea unele au funcii predefinite de ctre
constructor, iar altele pot primi funcii dup dorina utilizatorului. Din prima
categorie, cel mai important este butonul de validare (Enabling device) plasat
pe partea lateral dreapta, care asigur sigurana necesar pe durata operrii cu
consola. El este folosit cnd se dorete micarea robotului, fie folosind joystickul, fie pe durata execuiei unei secvene de program. Pentru acest scop, butonul
este de tip "tripoziional, cu revenire automat prin resort". Dac butonul nu este
acionat de degetul operatorului sau el este mpins pn la capt, toate motoarele
electrice din componena acionrilor robotului sunt decuplate, adic trecute n
starea MotorsOFF. Dac butonul este mpins pn la jumtatea cursei sale,
atunci toate motoarele electrice din componena acionrilor robotului sunt
cuplate, adic trecute n starea MotorsON. Ca o msur suplimentar de
1-4

ROBOTIC II - Note de curs M. Niulescu

siguran, dup o apsare complect butonul trebuie mai nti eliberat i apoi
apsat pn la jumtatea cursei sale pentru a obine starea MotorsON.
Un buton de tip ciuperc de avarie pentru oprirea de urgen a robotului. Prin
apsarea sa, robotul se oprete instantaneu, indiferent de starea n care se afl
sistemul-robot. Apsarea acestui buton are ca efect trecerea tuturor motoarelor
electrice n starea MotorsOFF. Dup apsare, butonul rmne blocat n aceast
poziie, iar revenirea sa n poziia iniial necesit efectuarea unei micri mecanice speciale din partea utilizatorului (ceea ce previne deblocarea sa accidental
i nedorit). Revenirea n starea iniial are ca efect trecerea tuturor motoarelor
electrice ale robotului n starea MotorsON.
1.2 Structura mecanic a robotului IRB 1400
n Figura 1.5 i Figura 1.6 sunt prezentate principalele date geometrice referitoare la
dimensiunile structurii mecanice ale robotului IRB 1400.

Flana "port terminal"

Figura 1.5 Dimensiuni geometrice


ale robotului IRB 1400
n vedere lateral.

Figura 1.6 Dimensiuni geometrice


ale robotului IRB 1400
n vedere de sus.

1-5

ROBOTIC II - Note de curs M. Niulescu

n Figura 1.7 i Figura 1.8 sunt prezentate principalele date geometrice referitoare la
forma i dimensiunile spaiului de operare pentru robot, n varianta cu amplasare
"normal" IRB 1400 i n varianta de montare inversat (suspendat) IRB 1400H.

Figura 1.7 Dimensiuni ale spaiului de operare pentru


amplasarea 'normal"
a robotului IRB 1400.

Figura 1.8 Dimensiuni ale spaiului de operare pentru


amplasarea "inversat"
a robotului IRB 1400.

Forma spaiului de operare indicat de cele dou figuri este o poriune care poate fi
aproximat cu o zon dintr-o sfer. De fapt, aceasta este o trstur comun tuturor
structurilor robotice ncadrate n clasa cinematic constructiv cunoscut sub
denumirea de "orizontal-articulat". n cele ce urmeaz, referirile valorice vor fi fcute
numai la varianta "normal" a robotului IRB 1400, adic cea ilustrat de Figura 1.7.
Performanele statice. Forma i dimensiunile spaiului de operare sunt datorate
att schemei cinematice de tip "orizontal-articulat" ct i limitelor (predefinite) pentru
curse. Valorile asociate tuturor articulaiilor robotului IRB 1400 (performane statice)
pot fi observate n Tabelul 1.1. Figura 1.9 prezint cteva poziii extreme semnificative pe anvelopa spaiului de operare. Valorile asociate acestora n privina parametrilor
de poziionare din articulaiile 2 i 3 ale robotului sunt indicate n Tabelul 1.2.
1-6

ROBOTIC II - Note de curs M. Niulescu

Tabelul 1.1 Articulaiile robotului IRB 1400 i domeniile lor de deplasare.

Numr
articulaie
Articulaia 1
Axis 1
Articulaia 2
Axis 2
Articulaia 3
Axis 3
Articulaia 4
Axis 4
Articulaia 5
Axis 5
Articulaia 6
Axis 6

Domeniul de micare
Extrem pozitiv
Extrem negativ

Tipul articulaiei
Rotaie vertical
Rotation motion
Rotaie orizontal
Arm motion
Rotaie orizontal
Arm motion
ncheietur
Wrist motion
ndoire
Bend motion
Rotaie
Turn motion

+ 1700

- 1700

+ 700

- 700

+ 700

- 650

+ 1500

- 1500

+ 1150

- 1150

+ 3000

- 3000

Figura 1.9 Poziii extreme ale robotului n spaiul de operare.

Tabelul 1.2 Valori asociate articulaiilor pentru poziiile extreme din spaiul de operare.

Poziia robotului n
spaiul de operare
Pos 1
Pos 2
Pos 3
Pos 4
Pos 5
Pos 6
Pos 7

Articulaia 2
0

- 70
- 700
- 700
- 430
- 60
+ 700
+ 700

Articulaia 3
+ 700
- 350
- 650
- 650
- 650
- 650
+ 700

1-7

ROBOTIC II - Note de curs M. Niulescu

Pentru a crete sigurana funcional n cadrul unor aplicaii, este uneori util ca spaiul
de operare al robotului s fie micorat. n felul acesta un robot va dispune de un spaiu
de operare "restricionat", care va fi practic numai o poriune din spaiul de operare
disponibil n configuraia standard. Prin restricionarea spaiului de operare n anumite
aplicaii robotizate se pot preveni simplu accidentele de munc.
Robotul IRB 1400 ofer i aceast facilitate. "Restricionarea" spaiului de operare se
obine practic prin micorarea domeniilor de micare (curselor) din anumite articulaii.
Programatorul poate interveni cu limitri numai asupra articulaiilor 1, 2 sau 3, ceea ce
este absolut suficient i normal dac avem n vedere faptul c aceste articulaii
determin n mod esenial volumul spaiului de operare ("sporul" adus de articulaiile
4, 5 i 6 este minim la o structur cinematic "orizontal articulat cu terminal
decuplat", deoarece ele asigur numai controlul orientrii efectorului).
n acest scop este disponibil un kit suplimentar i complect (din punct de vedere al
montrii mecanice ntr-o articulaie), format n esen din doi limitatori de tip
"deconectat prin aplicarea unei fore externe". Acetia pot fi montai de ctre
utilizatorul robotului n interiorul domeniului nominal al celor 3 articulaii indicate.
Practic, din analiza datelor incluse n Tabelul 1.1 rezult faptul c o soluie eficient
poate fi restricionarea unei articulaii fie numai n domeniul pozitiv, fie numai n cel
negativ. Recomandrile productorului pentru cele 3 articulaii sunt:
Articulaia 1: Domeniul nominal de micare este 1700 conform datelor din
Tabelul 1.1. Folosind cei doi limitatori, domeniul poate fi ajustat de la 1500
(domeniu maxim) pn la 500 (domeniu minim). Fiecare din cei doi limitatori
poate fi montat oriunde n domeniul [- 1500, - 500], respectiv [+ 1500, + 500].
Articulaia 2: Domeniul nominal de micare este 700. Folosind cei doi
limitatori, domeniul poate fi ajustat n intervalul [- 300, + 500].
Articulaia 3: Domeniul nominal de micare este [- 650, + 700]. Folosind cei doi
limitatori, domeniul poate fi ajustat astfel nct robotul s nu se poat deplasa
dect n domeniul negativ, adic extrema pozitiv s fie n utilizare 00 (sau
maxim 100). n felul acesta se previn accidente de munc foarte periculoase, la
nivelul capului omului.
Performanele dinamice ale robotului IRB 1400 sunt definite n conformitate cu
standardul ISO 9283. Acesta prevede efectuarea testelor pe un lot de roboi de acelai
tip, cu o sarcin acceptat, o vitez de 1 m/s i toate cele 6 articulaii n micare:
Repetabilitatea unidirecional de poziionare: RP = 0,05 mm
Acurateea pe traiectorie liniar: AT = 0,45 1,0 mm
Repetabilitatea pe traiectorie liniar: RT = 0,14 0,25 mm
Rezoluie: aproximativ 0,010 pe fiecare articulaie
Timpul minim de poziionare n jurul poziiei int (proximitate de 0,2 mm):
0,2 0,35 sec. (pentru o traiectorie liniar cu lungimea de 35 mm)
0,45 0,6 sec. (pentru o traiectorie liniar cu lungimea de 350 mm)
Vitez maxim (Tabelul 1.3). De notat c, pentru a preveni nclzirea excesiv a
acionrilor n cazul unor programe care solicit intens i repetat deplasri cu
vitez maxim, valoarea acesteia este controlat permanent n fiecare articulaie.

1-8

ROBOTIC II - Note de curs M. Niulescu

Tabelul 1.3 Performanele de vitez maxim n articulaiile robotului IRB 1400.

Articulaia robotului IRB 1400


Articulaia 1
Articulaia 2
Articulaia 3
Articulaia 4
Articulaia 5
Articulaia 6

Vitez maxim
1200 / secund
1200 / secund
1200 / secund
2800 / secund
2800 / secund
2800 / secund

Cerinele legate de instalarea i operarea robotului sunt urmtoarele:


Cerinele privind operarea robotului:
Standard de protecie IEC 529.
Protecie antiex: Robotul IRB 1400 nu trebuie s opereze n medii explozive.
Temperaturi ambientale n funcionare:
0
0
Robotul IRB 1400 (manipulatorul): + 5 C + 45 C
0
0
Controlle-rul robotului IRB 1400: + 5 C + 52 C
Umiditatea mediului: maxim 95 % la temperatur constant.
Cerinele privind alimentare electric a robotului:
Tensiune de alimentare nominal: 200 - 600 V, trifazat cu fir de nul, variaii de
+ 10% i - 15%.
Frecvena reelei: 48,5 Hz pn la 61,8 Hz.
Putere necesar la alimentare: 4,5 kVA 14,4 kVA.
Durat de via a acumulatorilor interni: 1.000 h.
Cerinele privind amplasarea robotului:

Greutate robot IRB 1400 (manipulator): 225 Kg.


Greutate controller IRB 1400: 240 Kg.
Dimensiuni controller: 950 x 800 x 540 mm.
Zgomotul sistemului de ventilaie al controllerului: < 70 dB.
Fixarea de sol: conform specificaiilor de catalog i a desenelor asociate.

La fel ca i n cazul majoritii roboilor de uz industriali, structura mecanic a robotului IRB 1400 dispune de o aa-numit "flan port-terminal" n extremitatea sa
superioar, care poate fi observat n Figura 1.1 sau Figura 1.5. Acesta este o pies
mecanic rigid, prevzut cu mai multe guri de prindere, care pot servi la ataarea
unui "terminal" (efector). Tipul concret al acestuia trebuie ales sau construit de ctre
fiecare utilizator, n raport cu specificitatea aplicaiei n care robotul este inclus.
Sarcina total care se poate ataa robotului IRB 1400 la nivelul "flanei portterminal", incluznd aici masa efectorului-robot i eventual masa ataat acestuia
(spre exemplu atunci cnd efectorul este un gripper) trebuie s respecte diagrama din
Figura 1.10 pentru diferitele poziii ale centrului su de greutate. n general aceasta nu
poate depi 5 Kg. De asemenea, o sarcin suplimentar de maxim 10 Kg poate fi
ataat pe braul superior (spre exemplu transformatorul unui pistol de sudur).

1-9

ROBOTIC II - Note de curs M. Niulescu

Axa Z definit pentru sistemul


de coordonate ataat TCP

Momentul maxim de inerie


n centrul de greutate al
sarcinii totale:
Jmax = 0,012 kg. m2

Distana msurat n planul XY,


de la axa Z la centrul de greutate
al sarcinii totale

Flana port-terminal a robotului

Figura 1.10 Diagram pentru dimensionarea sarcinii totale ataat "flanei port-terminal".

Pentru optimizarea funcionrii n ciclurile automate, robotul IRB 1400 folosete n


controlul micrilor din articulaii un software specializat i foarte performant,
denumit Quick MoveTM, care optimizeaz toi parametrii de servo-control n funcie
de sarcina manipulat, localizarea instantanee a acesteia n spaiul de operare, viteza
sa de deplasare i direcia de micare. Datorit acestui pachet software:
Utilizatorul nu trebuie s ajusteze nici un parametru pentru a obine traiectoria
corect, orientarea efectorului sau regimul de vitez dorit.
Un regim optim (maximal) de acceleraii este stabilit automat, cu excepia
cazurilor cnd sunt manipulate obiecte fragile iar utilizatorul dorete s limiteze
expres valorile parametrilor de accelerare / decelerare.
Intervenia utilizatorului n privina obinerii unui timp minim al ciclurilor
automate este minim.
Chiar dup oprirea de urgen a robotului, ntreruperea alimentrii electrice sau
alte cauze care determin ntreruperea unui program din funcionare, Quick
Move asigur continuarea acestuia din punctul n care s-a realizat ntreruperea.
ntr-o manier controlat de utilizator, robotul poate s treac prin punctele
singulare din spaiul su de operare, spre exemplu puncte n care axele de
micare asociate la dou dintre articulaiile sale coincid (sunt n prelungire).
1 - 10

ROBOTIC II - Note de curs M. Niulescu

1.3 Sisteme de coordonate (COORDINATE SYSTEMS)


Figura 1.11 prezint sistemele de referin care sunt asociate n mod uzual robotului
IRB 1400 pe durata funcionrii sale. Aceste sisteme de referin sunt necesare att
pentru "descrierea i raportarea" micrilor robotului, a poziiilor i orientrilor sale,
ct i pentru "descrierea i raportarea" poziiilor i micrilor aferente tuturor
componentelor externe care intr n structura unei aplicaiei robotizate.
SdC al efectorului

SdC al
bazei

SdC pies

SdC universal
SdC utilizator

Figura 1.11 Sisteme de coordonate asociate robotului IRB 1400 pentru programarea off-line.

Din Figura 1.11 se remarc definirea a 5 sisteme de coordonate:


Sistemul de coordonate universal (World coordinate system). Prin originea sa,
acesta definete o referin global n spaiul de amplasare al robotului. Sistemul
universal de coordonate este i o referin pentru toate celelalte sisteme de
coordonate definite n Figura 1.11. Astfel, poziiile ocupate succesiv de TCP-ul
robot pot fi raportate unitar fa de aceast referin universal. Considerarea
sistemului de referin universal este foarte util atunci cnd exist doi sau mai
muli roboi care coopereaz funcional, ori atunci cnd robotul coopereaz cu
alte dispozitive externe n cadrul unei aplicaii.
Sistemul de coordonate asociat bazei robotului (Base coordinate system). El
este ataat n centrul suprafeei de sprijin al robotului pe suprafaa de montaj.
Sistemul de coordonate asociat efectorului (terminalului) (Tool coordinate system). Acest sistem este ataat n aa-numitul punct caracteristic al terminalului TCP (Tool Center Point). Ori de cte ori se ataeaz robotului de flana sa
"port-terminal" un efector, se definete pentru acesta un TCP. Punctul ales pentru TCP poate fi centrul de simetrie al unui gripper sau al unui pistol de sudur
n puncte, vrful electrodului de sudur pentru un pistol de sudur, punctul de
purjare al vopselei pentru un pistol de vopsire etc. Direcia axelor acestui sistem
se alege de regul ca n Figura 1.11. Atunci cnd efectorul este activ, traiectoria
programat i vitezele pe traiectorie vor fi raportate la piesa prelucrat.

1 - 11

ROBOTIC II - Note de curs M. Niulescu

Sistemul de coordonate al utilizatorului (User coordinate system). Cel mai


adesea, acest sistem este asociat dispozitivului care realizeaz fixarea unei piese
pe durata ct robotul execut o anumit operaie asupra sa.
Sistemul de coordonate al piesei (Object coordinate system). Acest sistem este
asociat piesei asupra creia robotul execut o operaie, iar prin comparaie cu
sistemul de referin anterior, acest sistem indic localizarea (adic poziionarea
i orientarea) piesei n dispozitivul su de fixare.
Sistemele de coordonate pot fi definite (programate) astfel:
Specificnd direct setul de valori numerice asociate.
Utiliznd robotul n acest scop.
n aceast a doua variant, robotul este deplasat (cu acelai efector) prin cteva poziii.
Fiecare poziie este specificat n sistemul de coordonate al obiectului prin raportare
la poziia i orientarea efectorului. Acest lucru nseamn c chiar dac efectorul
robotului se defecteaz i este apoi nlocuit, programul realizat rmne integral
valabil, fiind necesar numai o nou "redefinire geometric" a efectorului. De
asemenea, dac un dispozitiv de prindere al piesei este deplasat n spaiu sau se
modific localizarea piesei n dispozitivul su de fixare, numai sistemele de
coordonate asociate utilizatorului i cel asociat obiectului trebuie redefinite.
1.4 Deplasarea automat a robotului (modul PROGRAM EXECUTION)
n timpul execuiei automate a unui program funcional, robotul IRB 1400 poate
executa urmtoarele tipuri de micri:
Micare la nivel de articulaie (Joint motion). n acest regim de micare, toate
articulaiile robotului se deplaseaz individual i ating poziia programat n
acelai moment de timp. Exist deci o coordonare funcional "interpolat" a
articulaiilor implicate prin baza de timp folosit.
Micare liniar (Linear motion). n acest regim de micare punctul TCP se
deplaseaz pe o traiectorie liniar n spaiul de operare al robotului.
Micare circular (Circle motion). n acest regim de micare punctul TCP se
deplaseaz pe o traiectorie circular n spaiul de operare al robotului.
Sistemul robot IRB 1400 dispune i de un pachet software de servo-control. Acesta
poate fi utilizat pentru a realiza "compliana activ" a efectorului n raport cu o
anumit pies atunci cnd tipurile anterioare de micri nu ofer satisfacia dorit n
anumite aplicaii (spre exemplu piesa are un contur neregulat, iar contactul cu TCP-ul
este obligatoriu pentru calitatea procesului tehnologic). n aceast situaie, sub
controlul forelor externe de contact (msurate n mod continuu), robotul ajusteaz
automat toate poziiile definite pe traiectoria sa programat. Un exemplu clasic de
aplicare a servo-controlului este sudura cu cordon continuu.
Dac localizarea (poziia i orientarea) piesei asupra creia robotul execut o operaie
se modific n timp, robotul poate identifica permanent localizarea acesteia folosind
senzori digitali externi. Execuia programului va fi ajustat automat, astfel nct toate
micrile robotului (impuse prin program) s fie adaptate noilor localizri ale piesei.

1 - 12

ROBOTIC II - Note de curs M. Niulescu

1.5 Deplasarea manual a robotului (modul JOGGING)


Deplasarea manual a articulaiilor robotului IRB 1400 (adic aa-numita operaie
Jogging) poate fi fcut n una din urmtoarele variante:
Regimul de deplasare "articulaie cu articulaie" (Axis-by-axis). n acest regim
se poate deplasa o singur articulaie la un moment dat sau cel mult un grup
format din 3 articulaii. Grupurile sunt predefinite, fiind formate din primele 3
articulaii (1,2 i 3) sau din ultimele 3 articulaii (4, 5 i 6) i corespund celor
dou alocri posibile pe joystick-ul robotului.
Regimul de deplasare "liniar" (Linear). n acest regim se poate deplasa spre
exemplu TCP-ul robotului pe o traiectorie liniar. Traiectoria liniar poate fi
raportat la unul din sistemele de coordonate menionate anterior.
Regimul de deplasare "reorientare n jurul TCP" (Reoriented). n acest regim
robotul este capabil s menin nemodificat poziia spaial a TCP-ului su, n
timp ce-i poate schimba continuu orientarea spaial (adic se "reorienteaz" n
jurul TCP-ului).
n modul Jogging se pot executa i aa-numitele "deplasri incrementale" ale unei
singure articulaii sau ale grupurilor predefinite de articulaii. Mrimea "pasului
incremental" poate fi stabilit de ctre programator. Deplasrile incrementale sunt
foarte utile pentru poziionri de nalt precizie ale efectorului. Efectul unei "deplasri
incrementale" se traduce la nivelul efectorului prin deplasri foarte scurte ori de cte
ori se acioneaz asupra joystick-ului de pe consola de programare.
Pe durata tuturor deplasrilor manuale ale robotului n modul Jogging, poziiile
ocupate de ctre robot (ct i cele ale eventualelor sale "axe externe") pot fi afiate pe
ecranul consolei de programare.
1.6 Axe externe de micare (EXTERNAL AXES)
Controller-ul robotului IRB 1400 poate coordona suplimentar un numr maxim de 6
axe (articulaii) externe de micare. Fiecare dintre aceste axe poate fi programat i
deplasat cu ajutorul consolei de programare, exact ca i cele 6 articulaii din structura
mecanic a robotului (Figura 1.12).
n scopul creterii dimensiunilor spaiului de operare al robotului, acesta poate fi
amplasat la baz pe o cupl suplimentar de translaie sau pe un mecanism mai
complex, care include mai multe acionri. Acestea sunt exemple posibile pentru axe
externe de micare ale robotului.
Cele 6 axe externe de micare acceptate de controller pot fi grupate n anumite
"uniti mecanice", fiecare unitate realiznd un anumit obiectiv n aplicaia robotizat.
Gruparea axelor externe n "uniti mecanice" este la latitudinea proiectantului celulei
flexibile robotizate. Spre exemplu, o "unitate mecanic" poate include axele care
deplaseaz piesele brute ctre robot, o alt "unitate mecanic" include axele
mecanismului automat de fixare a piesei brute pe durata prelucrrii de ctre robot i o
alt "unitate mecanic" include axele mecanismului de evacuare a pieselor finite. n
mod evident, toate axele externe necesare acionrii mecanismelor adiacente robotului
pot fi incluse i ntr-o singur "unitate mecanic".
1 - 13

ROBOTIC II - Note de curs M. Niulescu

Figura 1.12 Schem de conexiuni, componente i soluii de amplasare pentru modulele axelor externe.

Controller-ul robotului IRB 1400 poate asigura i "coordonarea simultan" a


micrilor robotului cu un numr de axe externe. Exist ns o limitare a numrului de
axe externe care pot fi incluse n "coordonarea simultan". Mai precis numai dou axe
externe de tip rotaie pot fi supuse acestui proces integrator de control al micrii, spre
exemplu o ax de micare ataat bazei robotului (n scopul creterii spaiului su de
operare) i o alt ax extern de rotaie ataat unui dispozitiv mecanic auxiliar.
O "unitate mecanic" definit poate fi activat sau dezactivat prin programul funcional al robotului. Aceast facilitate este foarte important n anumite aplicaii care
impun msuri de siguran funcional sau de protecie a operatorilor umani. Spre
exemplu s considerm cazul n care respectiva unitate de acionare este integrat ntrun dispozitiv automat de fixare a piesei, dar introducerea i extragerea piesei din loca
se face manual de ctre un operator. Prezena operatorului n spaiul de operare al
robotului impune activarea i dezactivarea unitii (manual de ctre operator, folosind
un buton), dar i integrarea acestor operaii n programul automat al robotului.
Pentru a reduce costul investiiei n aplicaia robotizat, mai multe axe externe de
micare (care ns nu sunt niciodat activate simultan n aplicaia robotizat, evident)
pot utiliza aceiai unitate de acionare.
1 - 14

ROBOTIC II - Note de curs M. Niulescu

n fine, programele create pentru axele externe pot fi folosite i pentru alte "uniti
mecanice" care conin acelai tip de sisteme electrice pentru acionare.
Din punct de vedere constructiv, orice ax extern trebuie s fie acionat de un motor
electric de curent alternativ, identic sau similar celor existente n articulaiile robotului
IRB 1400. Alimentarea motorului va fi deci la parametrii 5 V / 4 kHz. Fiecare motor
este controlat de un modul de acionare, care poate s fie montat n controller (maxim
3 astfel de module), sau separat, ntr-o alt locaie extern acestuia. Poziia absolut a
axei va fi contorizat n numrtorul coninut de o unitate serial de msur SMB
(Serial Measurement Board), care trebuie amplasat ct mai aproape de motor sau
eventual n interiorul controller-ului, aa cum se indic n Figura 1.12. Atunci cnd se
utilizeaz mai mult de 3 axe externe, modulele de acionare pentru axele 4, 5 i 6
trebuie plasate n exteriorul cutiei controller-ului, aa cum se arat n Figura 1.12.
1.7 Intrri i ieiri (INPUTS / OUTPUTS)
Pentru creterea flexibilitii n raport cu aplicaiile, sistemul-robot IRB 1400
introduce posibilitatea "distribuirii spaiale" a intrrilor i ieirilor. Astfel, modulele
I/O pot fi amplasate fie n controller, fie exterior acestuia. In acest ultim caz
conexiunile vor fi fcute printr-un cablu multifilar adecvat.
Diferite tipuri de intrri i ieiri (fiecare dintre acestea ntr-un numr convenabil) pot
fi selectate i apoi instalate de ctre productor n controller-ul robotului, astfel nct
acesta s se "plieze" ct mai bine cerinelor utilizatorului:
Intrri i ieiri digitale (Digital inputs / outputs)
Intrri i ieiri analogice (Analog inputs / outputs)
Intrri i ieiri pentru interconectare la distan cu PLC-uri (Programmable
Logic Controller) din familia Allen-Bradley (Remote I/O for Allen-Bradley
PLC)
Conexiuni pentru cuplarea controller-ului robot pe magistrale de comunicaii de
tip InterBus-S Slave.
Conexiuni pentru cuplarea controller-ului robot pe magistrale de comunicaii de
tip Profibus DP Slave.
n Tabelul 1.4 sunt descrise modulele disponibile de tip I / O care pot intra n dotarea
sistemului - robot IRB 1400.
n sistemul - robot IRB 1400 orice semnal de intrare sau de ieire poate fi "configurat"
de ctre utilizator. n acest sens:
Fiecare semnal I / O sau grup de semnale I / O poate fi "denumit" dup dorin
i n funcie de aplicaie, astfel nct numele atribuit s ajute utilizatorul (spre
exemplu gripper, feeder etc.).
Pentru fiecare semnal I / O se realizeaz o conexiune fizic.
Polaritatea semnalelor I / O poate fi i ea configurat de ctre utilizator dup
necesiti (spre exemplu un semnal de intrare sau de ieire poate fi configurat
"activ pe nivel nalt - high " sau "activ pe nivel jos - low").

1 - 15

ROBOTIC II - Note de curs M. Niulescu

Sunt posibile conexiuni ncruciate, adic conexiuni logice ntre intrri i / sau
ieiri (aa-numitele cross connections).
Se pot defini "grupuri" de semnale de intrare care au numai mpreun o anumit
semnificaie logic. Spre exemplu, un numr de pn la 16 intrri digitate pot
constitui un "grup" care ofer controller-ului robot codul numeric (de tip cuvnt
multibit) furnizat de ctre un cititor de coduri-bar.
Tabelul 1.4 Module I / O disponibile pentru sistemul robot IRB 1400.

Observaii:
1. Semnalele digitale sunt dispuse n grupuri, fiecare grup coninnd cte 8 intrri sau 8 ieiri.
2. O unitate de simulare I / O poate fi utilizat pentru a realiza aa-numitele "cross connections", adic
simulri de conexiuni logice n absena circuitelor externe care genereaz sau primesc aceste
semnale.
3. Modul specializat, dedicat numai aplicaiilor n care robotul execut prinderea pieselor aflate n
micare pe un conveier.

Semnale pot fi asociate i unor funcii speciale ale sistemului-robot (spre exemplu
Program Start, aa nct robotul s poat fi controlat de la un panou de comand
exterior controller-ului sau de la un automat PLC.
n subsidiar, controller-ul robotului poate opera chiar ca i un automat PLC,
monitoriznd i controlnd semnale I / O. Astfel:
Instruciuni I / O pot fi executate n paralel cu controlul robotului.
Semnale de intrare pot fi conectate la rutine de supraveghere (aa-numitele trap
routines). Cnd un astfel de semnal de intrare devine activ, o rutin de acest tip,
aflat pn atunci n "ateptare", i ncepe execuia i suspend execuia
normal a programului principal. Dup finalizarea execuiei rutinei, se reia
execuia programului principal din punctul n care acesta a fost ntrerupt. n cele
mai multe cazuri, aceast procedur nu are nici un efect "vizibil" asupra micrii
robotului, adic execuia grupului de instruciuni aferente trap-routin-ei nu
perturb micarea normal i curent a robotului.
1 - 16

ROBOTIC II - Note de curs M. Niulescu

Este posibil "execuia mascat" a unor programe (aa-numitele background


programs). Acestea sunt de regul programe auxiliare, spre exemplu pentru
monitorizarea unor semnale I / O, care ruleaz "n paralel" cu programul
principal al robotului. Execuia programelor "background" este posibil numai
prin activarea opiunii de funcionare n regim Multitasking a controller-ului,
deoarece aceast opiune activeaz un regim special de operare prin care mai
multe programe pot fi derulate n paralel i n timp real.
De menionat i faptul c sunt posibile i anumite funcii manuale asupra intrrilor i
ieirilor, adic la cerina i sub directa coordonare a operatorului. Scopul lor poate fi:
Listarea pe consol la un moment de dat a tuturor valorilor semnalelor I / O.
Crearea unei liste prefereniale care s includ numai pe cele mai importante
semnale I / O pentru programator (adic o submulime din cele existente).
Schimbarea manual a strii logice a unui semnal de ieire la un moment dat
(spre exemplu pentru a verifica funcionarea unei axe externe de micare).
Tiprirea la imprimant a strii curente a semnalelor I / O.
Conectarea semnalelor I / O la controller se face uzual n interiorul acestuia, fie prin
conectori standardizai, fie prin regletele cu uruburi de prindere a firelor, asemntor
i principial identic cu modalitile de conectare indicate spre exemplu n Figura 1.12.
Dac este ns necesar i util pentru aplicaie, anumite semnale I / O pot fi "dirijate" i
ctre conectori amplasai pe partea superioar a braului-robot (spre exemplu semnalele I / O alocate terminalului). Aceti conectori au legturi deja cablate cu conectori
amplasai la baza robotului prin interiorul structurii mecanice, astfel nct s se evite,
pe ct posibil, legturi prin cabluri exterioare robotului. Numai dac numrul de legturi necesare n acest scop depete pe cel al conexiunilor deja cablate se va apela la
conexiuni prin cabluri exterioare robotului. n acest sens trebuie avut permanent n
vedere ca toate legturile pentru semnale I / O s fie astfel realizate astfel nct:
S nu intre n "contradicie" cu micarea robotului, adic s nu impieteze
micrile acestuia i s nu fie la rndul lor distruse prin micrile robotului.
S dispun de un grad de elasticitate care s asigure rezistena n timp a tuturor
conexiunilor I / O.
Cunoaterea n detaliu a capacitilor de comunicaie ale unui sistem robot cu mediul
su exterior prezint o importan particular pentru orice proiectant de aplicaii robotizate. Din acest motiv, n Tabelul 1.5 se prezint, cu caracter informativ, detaliile tehnice oferite de productor asupra particularitilor constructive ale interfeelor I / O.
Tabelul 1.5 Date de catalog I / O.

1 - 17

ROBOTIC II - Note de curs M. Niulescu

Tabelul 1.5 Date de catalog I / O (continuare).

1 - 18

ROBOTIC II - Note de curs M. Niulescu

Tabelul 1.5 Date de catalog I / O (continuare).

1 - 19

ROBOTIC II - Note de curs M. Niulescu

Tabelul 1.5 Date de catalog I / O (continuare).

n forma standard, controller-ul IRB 1400 poate fi echipat cu cel mult 4 module I / O.
Numrul acestor module este limitat de ctre productor din considerente legate de
"ncrcarea excesiv" a unitii centrale CPU (Central Processing Unity) din
controller. Nu este vorba aici de o ncrcare din punct de vedere al consumurilor
energetice, ci de o ncrcare operaional, sub aspectul sarcinilor de monitorizare i
control al canalelor I / O, sarcini care trebuie asigurate n timp real. Un numr prea
mare de canale I / O poate conduce la "blocarea" excesiv a unitii centrale cu aceste
sarcini prin programe "background", deci implicit i la limitarea performanelor
impuse de executarea unui program funcional complet. Pe de alt parte, n multe
"aplicaii obinuite" , 4 module I / O sunt i absolut suficiente.
n Figura 1.13 sunt prezentate mai multe detalii constructive din interiorul controllerului sub aspectul disponibilitilor I / O preinstalate. Aici se poate observa localizarea
geometric a celor 4 module I / O n interiorul controller-ului, tipurile disponibile de
conectori, precum i repartizarea unor categorii de semnale I / O sau de tensiuni de
alimentare.
1 - 20

ROBOTIC II - Note de curs M. Niulescu

Figura 1.13 Amplasarea n controller a modulelor I / O i a sistemelor de conectare I / O.

1.8 Comunicaii seriale (SERIAL COMMUNICATION)


Sistemul-robot ABB IRB 1400 poate comunica simplu cu calculatoare de tip PC,
imprimante, terminale sau cu alte echipamente numerice, folosind tehnologia
interfeelor seriale i conexiuni directe, aa cum indic Figura 1.14.

Figura 1.14 Comunicaii seriale ale robotului prin conexiuni directe cu alte echipamente numerice.

Pentru aceste scopuri, sistemul-robot IRB 1400 este dotat cu dou interfee seriale:
O interfa serial RS 232
O interfa serial de tip "full-duplex" RS 422.
Cele dou canale seriale pot fi utilizate la viteze de transmisie a datelor cuprinse ntre
300 i 19.200 bii / secund (dar numai unul din cele dou poate fi setat la un moment
dat pentru viteza maxim de 19.200 bii / secund).
1 - 21

ROBOTIC II - Note de curs M. Niulescu

Pentru viteze mai mari de transmisie a datelor i / sau pentru comunicaii n reea,
controller-ul IRB 1400 poate fi dotat cu o interfa Ethernet (Figura 1.15). n aceast
situaie, rata de transmisie a datelor este de 10 Mbii / secund. Pentru acest scop,
productorul pune la dispoziie module soft (drivere) suplimentare, disponibile n
pachetul Advanced functions din softul RobotWare, care asigur interfaarea
necesar cu instruciunile limbajului de programare RAPID.

Figura 1.15 Conectarea n reea serial de date.

n afara canalelor fizice de comunicaii, un protocol de comunicaii denumit RAP


(Robot Application Protocol) poate fi folosit. Pentru aceasta este necesar fie
modulul FactoryWare Interface, fie modulul RAP Communication din soft-ul
RobotWare.
1.9 Sigurana funcional (SAFETY STANDARDS)
Sistemul-robot ABB IRB 1400 a fost proiectat s rspund principalelor standarde
internaionale de siguran funcional n domeniu care sunt descrise n Tabelul 1.6:
Tabelul 1.6 Standarde de siguran funcional respectate de sistemul robot IRB 1400.

1 - 22

ROBOTIC II - Note de curs M. Niulescu

Alte dispozitive externe de siguran funcional (spre exemplu butoane suplimentare


pentru oprirea de urgen) pot fi montate n spaiul de operare al robotului ca o extensie a celor dou deja existente. Reamintim faptul c dou astfel de butoane de tip
"ciuperc de avarie" sunt disponibile: unul pe panoul operator i altul pe consola de
programare. Montarea lor nu trebuie ns s altereze standardele internaionale de
siguran la care robotul rspunde prin construcia sa. Pentru aceasta, eventualele
modificri trebuie fcute n conformitate cu schema din Figura 1.16, astfel nct
motoarele robotului s fie forate totdeauna n starea MOTORS OFF.

Figura 1.16 Schem de conectare a unor butoane suplimentare pentru oprirea de urgen.

1.10 Programarea (PROGRAMMING)


Ca tehnic principial, programarea robotului IRB 1400 se bazeaz pe selecia
instruciunilor i argumentelor asociate dintr-o list predefinit. Utilizatorul nu trebuie
s rein formatul instruciunilor, deoarece acestea sunt afiate detaliat. El trebuie
numai s selecteze ceea ce dorete. Acesta este o soluie foarte avantajoas pentru
programarea roboilor, care nlocuiete vechiul principiu de tip "adu-i aminte i
tasteaz coninutul" cu principiul "vezi, alege i selecteaz prin click".
Mediul de programare poate fi adaptat (personalizat) de ctre utilizator cu ajutorul
consolei de programare sub urmtoarele aspecte:
Limbajul natural al utilizatorului poate fi folosit pentru a denumi programele,
semnalele, numrtoarele etc.
Noi instruciuni pot fi create cu uurin.
Cele mai des folosite instruciuni pot fi "grupate" pentru a fi afiate simultan pe
consol. n felul acesta, procesul de selecie a instruciunii dorite devine mai
rapid i mai eficient.
Dup necesiti, pot fi create rapid poziii, regitri interni i orice tipuri de date.
Programele, pri din acestea, precum i orice modificare ntr-un program pot fi testate imediat dup ce sunt realizate, fr a fi necesar compilarea ntregului program.
Un program al robotului este stocat n "fiiere" care au aceiai structur ca i un fiier
text de tip PC. Aceasta introduce nc un avantaj, n sensul c un astfel de fiierprogram poate fi editat cu ajutorul oricrui calculator personal.
1 - 23

ROBOTIC II - Note de curs M. Niulescu

Programarea micrii. O secven de micri ale robotului este programat


ntotdeauna ca o succesiune de micri pariale ntre "poziiile" care se doresc atinse
de ctre robot. n procesul de programare, fiecare astfel de "poziie dorit" poate fi
redat n dou moduri:
Folosind modul Jogging, adic prin deplasarea robotului cu ajutorul joystickului n acea poziie i memorarea poziiei (intrinsec, prin coordonatele sale).
Aceasta este o soluie curent atunci cnd se definete pentru prima dat o nou
poziie dorit a robotului n cadrul unui program funcional, fiind cunoscut i
sub denumirea de "instruire".
Folosind numai "referirea" la o poziie deja cunoscut de ctre robot printr-un
proces anterior de instruire. Aceasta este o soluie foarte avantajoas, ntruct
permite practic utilizatorului ca o anumit poziie dorit a robotului s fie
instruit o singur dat i s poat fi folosit ulterior, ori de cte ori este necesar
n cadrul aceluiai program i printr-o simpl "apelare".
Pentru robotul IRB 1400, execuia unei poziii dorite (Figura 1.17) poate fi definit n
dou moduri:
Stop Point, adic o poziie care trebuie realizat cu precizie de ctre robot n
micarea sa. Robotul va genera mai nti micarea ctre aceast poziie. Apoi,
dup ce poziia a fost atins cu precizie, robotul se oprete temporar n aceast
poziie, urmnd ca ulterior s fie generat (eventual) o nou micare.
Fly-by Point, adic o poziie care nu trebuie realizat cu precizie de ctre robot
n micarea sa, fiind suficient "o trecere relativ apropiat" prin proximitatea
acesteia. Erorile sunt ns controlate prin programare, n sensul c valorile
admise de programator trebuie definite aprioric i independent pentru fiecare
dintre elementele urmtoare:
TCP-ul robot
Orientrile terminalului (efectorului)
Axele externe robotului.

Figura 1.17 Cele dou moduri prin care o poziie instruit poate fi folosit n execuia unui program funcional.

Dac n modul Stop Point robotul trebuie s se opreasc ntotdeauna n poziia


programat, n modul Fly-by Point robotul nu mai trebuie s realizeze acest lucru.
Prin urmare el i poate continua deplasarea ctre urmtoarea poziie, obinndu-se
astfel n final ceea ce numim "o traiectorie".
Rezult deci faptul c orice traiectorie a robotului IRB 1400 include mai multe poziii
succesive programate (fiecare fiind realizat cu un anumit grad "controlat" de
precizie) i este caracterizat global printr-o anumit vitez de deplasare.
1 - 24

ROBOTIC II - Note de curs M. Niulescu

Viteza dorit pe o traiectorie poate fi descris prin urmtoarele metode:


n uniti de vitez liniar, adic n [mm / s].
n uniti de timp, adic n secunde [s]. Intervalul de timp specificat va fi cel n
care robotul trebuie s ating urmtoarea poziie programat.
n uniti de vitez unghiular, adic n [grade / s]. Aceast soluie se folosete
numai n dou cazuri: pentru reorientarea efectorului i pentru viteza de rotaie a
axelor externe.
Managementul programelor. Un program funcional al robotului IRB 1400
poate fi denumit arbitrar, dup dorina utilizatorului. Apoi, el poate fi stocat n diferii
directori.
Stocarea unui program se poate face utiliznd fie memoria intern a controller-ului,
fie un suport de memorie extern:
Zona din memoria intern a controller-ului robot denumit "memorie-program"
poate fi utilizat pentru a stoca orice program funcional. Aceasta este o memorie foarte rapid, special alocat acestui scop. Apelarea unui program memorat
aici se poate face direct, printr-o instruciune inclus n programul funcional.
Un program (sau pri din acesta) pot fi transferate extern i pe un disk. Pentru
aceasta, n structura de baz a controller-ului IRB 1400 exist o unitate floppy
standard de 3,5 inch (Figura 1.2), ceea ce asigur i compatibilitatea complect
citire / scriere cu orice calculator PC.
Un program poate fi tiprit cu o imprimant de uz general. n funcie de locul unde
este stocat programul funcional, imprimanta poate fi conectat astfel:
Direct la controller-ul robot, dac programul este rezident n memoria sa intern
La un calculator PC, dac programul este transferat mai nti pe un disk. n
aceast situaie programul poate fi mai nti editat (dac este necesar) i apoi
tiprit ca orice fiier-text.
Editare programelor. Un program IRB 1400 poate fi editat folosind comenzi
standard, specifice oricrui proces de editare. Cteva dintre acestea sunt spre exemplu:
Cut (tiere), Paste (lipire), Copy (copiere n clipboard), Delete (tergere), Find
(caut), Change (schimb cu), Undo (anuleaz ultima comand de editare) etc.
Folosind aceste comenzi se pot introduce i toate "argumentele" asociate unor anumite
tipuri de instruciuni ale robotului.
Nu sunt necesare operaii suplimentare de reprogramare atunci cnd se proceseaz
"micri n partea dreapt" i "micri n partea stng" a spaiului de operare al
robotului, deoarece un program poate fi "privit n oglind" n orice plan.
O poziie deja memorat pentru robot poate fi modificat foarte simplu urmnd una
din cele dou soluii descrise anterior, adic:
Folosind modul Jogging, adic deplasnd robotul cu ajutorul joystick-ului n
noua poziie i apoi apsnd tasta ModPos, care va avea ca efect memorarea
noii poziii dorite n locul celei definite anterior.
Introducnd direct de la tastatura consolei toate valorile numerice aferente noii
poziii.
1 - 25

ROBOTIC II - Note de curs M. Niulescu

Pentru a bloca accesul unor persoane neautorizate la modificri n programele


funcionale, este recomandabil utilizarea parolelor de acces (passwords), similar ca
n cazul calculatoarelor de tip PC.
Testarea programelor. Mai multe funcii, deosebit de eficiente, pot fi utilizate
atunci cnd se dorete testarea unui program. Cteva dintre acestea sunt:
Startarea programului se poate realiza din orice instruciune a acestuia.
Un program se poate executa prin diferite metode:
Incomplete Program, adic se execut numai o anumit "zon" selectat
din program.
Forward / Backward Step-by-Step, adic instruciune cu instruciune,
prin derularea normal sau inversat a instruciunilor dintr-un program.
One-cycle Run, adic se execut ntregul program n regim automat, dar o
singur dat.
Se poate simula ateptarea ndeplinirii unor "condiii externe" robotului.
Pe durata testelor se poate reduce "temporar" viteza real (programat) de
execuie, adic cea care va fi dezvoltat implicit de ctre robot la rularea
automat a programului n scop productiv.
n orice program se pot face ajustri ale poziiilor robotului.
n orice program se pot elimina sau aduga noi poziii pentru robot.
Limbajul de programare. Limbajul de programare al roboilor din familia ABB
se numete RAPID. Acesta poate fi ncadrat n ceea ce este denumit n literatura de
specialitate "limbaj de nivel nalt orientat pe aplicaie" (high-level applicationoriented programming). Limbajul RAPID include urmtoarele funcionaliti:
Structur modular i ierarhizat
Funcii i proceduri
Date i rutine locale sau globale
Date introduse din exterior, inclusiv cmpuri structurate pentru introducerea lor
Nume atribuite de utilizator pentru variabile, rutine, intrri, ieiri etc.
Control avansat n privina derulrii unui program
Variabile i funcii, att aritmetice ct i logice
Soluii de ntrerupere a rulrii unui program
Soluii de gestionare a erorilor
Posibilitatea ca utilizatorul s-i defineasc propriile instruciuni
Posibilitatea ca un program s fie executat n ordinea direct (normal) a
instruciunilor sale sau n ordinea inversat a acestora.
Setul curent al instruciunilor i funciilor disponibile va fi descris n continuare. Un
subset dintre acestea poate fi definit de utilizator pentru a constitui un "grup" din care
se poate alege mai rapid instruciunea sau funcia dorit. Grupul va fi afiat pe ecranul
consolei n cadrul unei "ferestre", similar componentelor unui meniu la calculatoarele
PC. Componena unui grup se poate decide n funcie de cerinele particulare ale unei
anumite aplicaii robotizate sau n funcie de dorina i experiena programatorului.
Componena grupului definit poate fi modificat ori de cte ori se dorete.
1 - 26

ROBOTIC II - Note de curs M. Niulescu

Noi instruciuni pot fi create cu uurin de utilizator. Ele sunt numite generic macros,
adic mici programe executabile, constituite numai din instruciunile standard.
n setul de instruciuni descris n continuare sunt prezente numai instruciunile i
funciile incluse n setul de baz al limbajului RAPID, care este denumit BaseWare
OS. Aa cum s-a subliniat deja, productorul ofer i un software suplimentar
(opional), care ofer o extensie util de instruciuni i funcii pentru anumite aplicaii
sau cerine speciale. Acest modul suplimentar este denumit RobotWare.
n funcie de scopul i efectul lor, instruciunile limbajului RAPID din modulul
software BaseWare OS pot fi grupate n cteva "clase de instruciuni":
Instruciuni cu caracter general (Miscellaneous)
:=

Atribuie o valoare

WaitTime

Temporizare; ateapt trecerea unui interval de timp

WaitUntil

Ateapt pn cnd o condiie este ndeplinit

comment

Insereaz un comentariu n program

OpMode

Citete modul curent de operare

RunMode

Citete modul curent de execuie al programului

Dim

Fixeaz dimensiunea unei zone

Present

Testeaz dac un parametru opional este utilizat

Load

ncarc un modul de program n timpul execuiei

UnLoad

terge un modul de program n timpul execuiei

Instruciuni pentru controlul desfurrii unui program (Program flow)


ProcCall

Apelarea unei noi proceduri

CallByVar

Apelarea unei noi proceduri printr-o variabil

RETURN

Finalizeaz execuia unei rutine

FOR

Repet de un anumit numr de ori

GOTO

Salt la o nou instruciune

Compact IF Dac o condiie este ndeplinit, atunci execut o instruciune


IF

Realizarea unei condiii produce execuia unei secvene de instruciuni

label

Numele unei linii (instruciune utilizat mpreun cu GOTO)

TEST

Depinde de valoarea unei expresii ...

WHILE

Repet pn cnd ...

Stop

Oprete execuia

EXIT

Oprete execuia cnd nu urmeaz un restart

Break

Oprete temporar execuia


1 - 27

ROBOTIC II - Note de curs M. Niulescu

Instruciuni pentru setarea micrilor (Motion settings)


AccSet

Reduce acceleraia

ConfJ

Controleaz configuraia robotului n timpul micrii unei articulaii


(joint movement)

ConfL

Controleaz configuraia robotului n timpul unei micri liniare


(linear movement)

VelSet

Schimb viteza programat

GripLoad

Definete ncrcarea (sarcina) la flana port-terminal

SingArea

Definete metoda de interpolare folosit prin punctele singulare

PDispOn

Activeaz nlocuirea / deplasarea unui program

PDispSet

Activeaz nlocuirea / deplasarea unui program cu o valoare specificat

DefFrame

Definete nlocuirea / deplasarea automat unui program

DefDFrame Definete un cadru de nlocuire / deplasare


EOffsOn

Activeaz un offset pentru o ax extern

EOffsSet

Activeaz un offset pentru o ax extern folosind o valoare

ORobT

Mut (scoate) nlocuirea / deplasarea unui program dintr-o poziie

SoftAct

Activeaz soft-ul de servo-control pentru o ax robot

TuneServo

Regleaz soft-ul de servo-control

Instruciuni pentru micare (Motion)


MoveC

Mic circular TCP-ul

MoveJ

Mic robotul la nivel de articulaie (joint movement)

MoveL

Mic liniar TCP-ul

MoveAbsJ

Mic robotul ntr-o "valoare absolut" asociat articulaiei

MoveXDO

Mic robotul i seteaz o ieire la atingerea poziiei finale

SearchC

Caut / cerceteaz n timpul micrii circulare

SearchL

Caut / cerceteaz n timpul micrii liniare

ActUnit

Activeaz o unitate mecanic extern

DeactUnit

Dezactiveaz o unitate mecanic extern

Offs

nlocuiete o poziie

RelTool

nlocuiete o poziie exprimat n sistemul de coordonate al efectorului

MirPos

Pune "n oglind" o poziie a robotului

CRobT

Citete poziia curent a robotului (complete robtarget)

CJointT

Citete unghiurile articulaiilor (complete joint angles target)

CPos

Citete poziia curent (pos data)

1 - 28

ROBOTIC II - Note de curs M. Niulescu

CTool

Citete datele curente ale efectorului (tool data)

CWObj

Citete datele curente ale piesei prelucrate (work object data)

StopMove

Oprete micarea robotului

StartMove

Repornete micarea robotului

Instruciuni pentru semnale de intrare-ieire (I/O Input / output signals)


InvertDO

Inverseaz starea logic a unui semnal digital de ieire

PulseDO

Genereaz un impuls pe un canal digital de ieire

Reset

Reseteaz (trece n 0) un semnal digital de ieire

Set

Seteaz (trece n 1) un semnal digital de ieire

SetAO

Seteaz valoarea unui semnal analogic de ieire

SetDO

Seteaz un semnal digital de ieire dup un interval de timp specificat

SetGO

Seteaz valorile unui grup de semnale digitale de ieire

WaitDI

Ateapt setarea unui semnal digital de intrare

WaitDO

Ateapt setarea unui semnal digital de ieire

AInput

Citete valoarea unui semnal analogic de intrare

DInput

Citete valoarea unui semnal digital de intrare

DOutput

Citete valoarea unui semnal digital de ieire

GInput

Citete valoarea unui grup de semnale digitale de intrare

GOutput

Citete valoarea unui grup de semnale digitale de ieire

TestDI

Testeaz dac un semnal digital de intrare este setat

IODisable

Dezactiveaz un modul I/O

IOEnable

Activeaz un modul I/O

Instruciuni pentru ntreruperi (Interrupts)


ISignalDI

Solicit ntrerupere folosind un semnal digital de intrare

ISignalDO

Solicit ntrerupere folosind un semnal digital de ieire

ITimer

Solicit o ntrerupere temporizat

IDelete

Anuleaz o ntrerupere

ISleep

Dezactiveaz o ntrerupere

IWatch

Activeaz o ntrerupere

IDisable

Dezactiveaz sistemul de ntreruperi

IEnable

Activeaz sistemul de ntreruperi

CONNECT

Conecteaz o ntrerupere la o rutin "trap"

1 - 29

ROBOTIC II - Note de curs M. Niulescu

Instruciuni pentru rezolvarea erorilor (Error Recovery)


EXIT

Termin execuia programului

RAISE

Apeleaz un "eliminator" de erori

RETRY

Restarteaz dup o eroare

TRYNEXT

Salt peste instruciunea care a cauzat eroarea

RETURN

Revenire n rutina care a apelat rutina curent

Instruciuni pentru comunicaii (Communication)


TPErase

terge textul tiprit pe consol

TPWrite

Scrie pe consol

TPReadFK

Citete funciile ataate butoanelor (function keys)

TPReadNum Citete un numr introdus de la consol


ErrWrite

Stocheaz un mesaj de eroare n "error log"

Instruciuni pentru sistem i controlul timpului (System & Time)


ClkReset

Reseteaz un ceas utilizat pentru temporizare

ClkStart

Seteaz un ceas utilizat pentru temporizare

ClkStop

Oprete un ceas utilizat pentru temporizare

ClkRead

Citete un ceas utilizat pentru temporizare

CDate

Citete data curent ca un ir de caractere

CTime

Citete ora curent ca un ir de caractere

GetTime

Import ora curent ca o valoare numeric

Instruciuni matematice (Mathematics)


Add

Adun o valoare numeric

Clear

terge valoarea

Decr

Decrementeaz cu 1

Incr

Incrementeaz cu 1

Abs

Calculeaz valoarea absolut (modulul)

Sqrt

Calculeaz rdcina ptrat

Exp

Calculeaz valoarea funciei exponeniale cu baza e

Pow

Calculeaz valoarea funciei exponeniale cu o baz arbitrar

ACos

Calculeaz valoarea funciei arccosinus

1 - 30

ROBOTIC II - Note de curs M. Niulescu

ASin

Calculeaz valoarea funciei arcsinus

ATan/ATan2 Calculeaz valoarea funciei arctangent


Cos

Calculeaz valoarea funciei cosinus

Sin

Calculeaz valoarea funciei sinus

Tan

Calculeaz valoarea funciei tangent

EulerZYX

Calculeaz unghiurile Euler plecnd de la o "orientare"

OrientZYX

Calculeaz "orientarea" plecnd de la unghiurile Euler

PoseInv

"Inverseaz o configuraie" a robotului

PoseMult

"Multiplic o configuraie" a robotului

PoseVect

"Multiplic o configuraie" a robotului i un vector

Round

Aproximeaz prin rotunjire o valoare numeric

Trunc

Pstreaz partea ntreag dintr-o valoare numeric

Instruciuni pentru irurile text (Text strings)


NumToStr

Convertete valorile numerice ntr-un ir

StrFind

Caut un caracter ntr-un ir

StrLen

Determin lungimea unui ir

StrMap

Introduce un ir

StrMatch

Caut modelul (ablonul) folosit ntr-un ir

StrMemb

Caut dac un caracter face parte dintr-un ir

StrOrder

Caut dac irurile sunt ordonate

StrPart

Extrage o parte dintr-un ir

StrToVal

Convertete un ir ntr-o valoare numeric

ValToStr

Convertete o valoare numeric ntr-un ir

Memorie
Aa cum am vzut, robotul IRB 1400 dispune de o memorie intern pentru stocarea
programelor i de o unitate de floppy-disk pentru ca programele s poat fi stocate i
pe memorii externe sistemului.
Toate programele ct i datele aferente, generate n mod automat sau create de ctre
utilizator, sunt memorate de robotul IRB 1400 numai n format standard ASCII.
Pentru stocarea extern a programelor se pot folosi direct disk-uri floppy cu parametrii
comuni oricrui calculator PC, adic: 3.5 1,44 MB (HD), format MS DOS.
n tabelul 1.7 sunt redate principalele caracteristici ale memoriei de care dispune
sistemul-robot IRB 1400.

1 - 31

ROBOTIC II - Note de curs M. Niulescu

Tabelul 1.7 Memoria intern i extern a sistemului-robot IRB 1400.

Observaii:
1) Depinde de tipul instruciunilor.
2) Anumite opiuni software (existente n modulul de programare extins RobotWare) reduc spaiul de memorie
alocat programului.
3) Necesit de aproximativ 3 ori mai puin spaiu dect cel necesar n memoria program (de exemplu 1 MB de
"mass memory" poate stoca 3 MB de instruciuni specifice limbajului de programare RAPID).

Memoria RAM intern este meninut activ cu ajutorul a dou baterii tip Lithium, a
cror capacitate asigur pstrarea datelor din memorie pentru mai mult de 12 luni de
decuplare electric. Acestea realizeaz aa-numita funcie Memory backup. Atunci
cnd una dintre baterii s-a descrcat, la prima punere sub tensiune a robotului se
afieaz automat pe consol un mesaj de avertizare n acest sens.

1 - 32