You are on page 1of 56

c 



 cc  
c   
 
 


Flexibilitatea, fiabilitea, insensibilitea la perturbaţii precum şi o serie de


cerinţe privind facilităţile oferite la introducerea sau la modificarea programelor de
lucru sunt câteva din caracteristicile de bază ce se impun la ora actuală
echipamentelor de conducere pentru majoritatea aplicaţiilor ce utilizează roboţi
industriali.
Într-o mare măsură, aceste cerinţe sunt acoperite de automatele
programabile.
Un automat programabil este un sistem specializat destinat pentru tratarea
problemelor de logică secvenţială şi combinaţională, simulând structurile logice de
comandă prîntr-o configuraţie elastică, programabilă. Prin concepţia sa, automatul
programabil este adaptabil pentru funcţionarea în mediu industrial, poate opera
într-o plajă largă de temperatură şi umiditate, este uşor adaptabil la interfaţarea cu
orice proces şi nu pune probleme deosebite privind formarea personalului de
deservire datorită facilităţilor de programare oferite. Toate aceste caracteristici, la
care se mai pot adăuga robusteţea generală a echipamentului şi preţul de cost
relativ redus, fac ca automatele programabile să constituie o pondere importantă în
sistemele de conducere ale roboţilor industriali.

c   



Arhitectura generală a unui automat programabil este desfăşurată în jurul
unei magistrale de date la care sunt conectate circuitele de intrare ± ieşire, unitatea
centrală şi memoria sistemului (fig. 9.1).
Variabilele de intrare sunt realizate sub forma diverselor elemente de
comandă şi măsurare incluse în sistemele operaţionale şi auxiliare ale roboţilor:
limitatoare de pozitie, mărimi mecanice de la traductoare de deplasare
incrementale sau absolute sau chiar de la sisteme de măsurare analogică după o
conversie analog-numerică.
capitolul 9. Sisteme de conducere cu automate rogramabile? 294

Variabilele de ieşire dirijează acţionarea elementelor de execuţie de tipul


contactoarelor, electrovalvelor, elementelor de afişare, etc.

Unitate de
comandă
Memorie

interfaţă intrare
Variabile

circuite de

interfaţă ieşire
circuite de
Bloc de Variabile
de intrare control
de ieşire
Bloc de
oper logic
Unitate
centrală
Unitate de
programare

Figura 9.1

circuitele de interfaţă intrare-ieşire au rolul de a converti semnalele de


intrare de diverse forme în semnale logice adaptate unitaţii centrale şi de a
transforma semnalele logice ale unitaţii în semnale de ieşire corespunzătoare
acţionării impusă de sistemul de forţă al robotului.
Unitatea de comandă coordonează toate transformările de date furnizate de
proces, efectuează operaţii logice asupra datelor recepţionate şi asigură alocarea
corespunzătoare a rezultatelor obţinute la ieşirile programate. De asemenea,
executa şi o prelucrare de informaţie numerică de la proces, rezultatul acestor
operaţii condiţionand starea operatorilor logici ai unităţii de control.
Unitatea de programare permite introducerea şi definitivarea programului în
raport cu evoluţia robotului şi cu modificările impuse în secvenţele funcţionale de
bază ale acestuia. Soluţiile adoptate de proiectanti cuprind două versiuni; o consolă
autonomă cu memorie proprie sau o consolă ce opereaza împreuna cu automatul
utilizând memoria acestuia. Prima variantă oferă avantajul unei programări simple,
într-un birou de proiectare, a doua implică cuplarea directă la automat deci implicit
programarea se realizează nemijlocit în intimitatea procesului tehnologic condus.
Unitatea centrală este, în principiu, o unitate logică capabilă să interpreteze
un număr mic de instrucţiuni care exprimă funcţiile de bază într-un proces de
conducere; instrucţiuni de evaluare a unor expresii booleeene cu păstrarea
rezultatului la o variabilă din memorie sau la o ieşire, instrucţiuni de numărare sau
temporizare, instrucţiuni aritmetice de adunare, scădere, comparaţie, etc. De
295 u  ? 
?

asemenea, pot fi utilizate instrucţiuni de salt condiţionat, instrucţiuni de subrutine


şi instrucţiuni de indexare.
Executarea instrucţiunilor este ciclică, ceea ce determină o simplificare
considerabila a structurii logice interne şi evită introducerea unui sistem de
întreruperi prioritare. Ţinănd cont de constantele de timp proprii acţionării roboţilor
industriali, se impune ca timpul de baleaj al unui program de conducere să fie
inferior celei mai mici constante de timp. În acest fel, se asigura preluarea tuturor
informaţiilor privind elementele semnificative ale mişcarii şi interpretarea lor
imediată.
Memoria automatelor programabile stocheaza programe de date şi este, în
generel, o memorie de dimensiune mica, între 1k şi 16k cuvinte, standardizate de
obicei la 8 sau 16 biţi. Memoria este segmantată în zone: una rezervată variabilelor
de intrare-ieşire, alta variabilelor ce definesc starea internă a automatului şi ultima
este destinata programului ce urmează să fie executat.
O caracteristică esenţială a automatelor o constituie simplitatea limbajului de
programare. O persoană, nefamiliarizartă cu tehnici specifice de informatică, poate
sa programeze usor şi rapid un automat. Programarea constă într-o scriere directă a
unor secvenţe de instrucţiuni sau de ecuatii plecând de la o diagramă, organigrame
de stări, expresii logice, etc. Unele automate utilizează, pentru programare, un
limbaj similar unei logici cablate, altele preferă limbaje simbolice de tip boolean,
ceea ce le conferă o suplete deosebită.

  !"# $% ! &'

conectarea unui automat la dispozitivele de intrare ± ieşire ale unui robot se


realizeză prin intermediul unor circuite de interfată ce asigură compatibilitatea între
tensiune şi putere a semnalelor transmise. Aceste circuite primesc de la sistemele
de măsurare şi senzoriale ale robotului informaţia de măsurare corespunzătoare sau
genereazaăcatre sistemul de acţionare al acestuia mărimile de comandă adecvate.
Primul tip de circuite defineşte sistemul de interfaţare pe intrare al automatului, iar
al doilea pe ieşire.
Mărimile transmise pot reprezenta variabile de tip secvenţial sau variabile
numerice în conformitate cu structura algoritmilor de comandă utilizaţi şi cu
modalităţile de prelucrare internă, în automat, a informaţiei de operare. Aceste
mărimi sunt captate de la robot sau sunt transmise către acestea în mod periodic,
conform procedurii de dialogare utilizată de automat. Trebuie subliniată, înca
odata, absenţa unui sistem de întreruperi în structura internă a automatului ceea ce
capitolul 9. Sisteme de conducere cu automate rogramabile? 296

impune interogarea periodică a mărimilor de intrare (de la robot) şi activarea tot


periodicaă a canalelor de ieşire (spre robot).

Magistrală de date

Magistrală de adrese
Magistrală de control

INTERFAŢĂ INTERFAŢĂ
INTRARE IEŞIRE

Intrări Intrări Ieşiri Ieşiri


secvenţiale numerice secvenţiale numerice
Figura 9.2

Pentru realizarea unor facilităţi privind sistemul de adresare a acestor


variabile, mărimile corespunzătoare sunt organizate pe module, un modul
cuprinzând un număr bine precizat de variabile în corelaţie cu dimensiunile
magistralelor utilizate şi cu mărimea câmpului de variabile.
Dialogul automat ± robot poate fi realizat în trei moduri: 1) la fiecare început
de ciclu program sunt achiziţionate toate mărimile de intrare, se generează toate
iesirile determinate în ciclul precedent iar ulterior se tece la execuţia programului
propriu-zis; 2) sunt achiziţionte intâi intrările, se execută programul şi se generează
ieşirile obţinute după noua execuţie a programului; 3) intrările şi ieşirile sunt
achiziţionate sau generate la cerere, în conformitate cu structura logică a
programului.

  !"# $% 

Informaţiile de intrare în automat sunt reprezentate de o serie de variabile de


tipul ³tot sau nimic´ ce definesc anumite poziţii sau stări funcţionale ale robotului
precum şi de variabilele numerice obţinute la ieşirea traductoarelor de deplasare.
Aceste mărimi definesc, în ansamblu, cămpul de variabile de intrare ( I ) ce
constituie sursa unor operanzi primari în prelucrarea ulterioară a informaţiei.
Selecţia acestor mărimi se obţine prin mai multe nivele de adresare în funcţie
de numărul de intrări aplicate şi modul lor de organizare. În figura 9.3 este
297 u  ? 
?

prezentată o schemă generală de adresare pe doua nivele. cei biţi ai vectorului


de adresă sunt defalcaţi în

1 † 2
unde 1 şi 2 realizează adresarea pe cele două nivele de adresa, respectiv.
Activarea celor două linii de multiplexoare este controlataă prin semnalele de
validare 1 şi  2 .

Magistrală de date
Magistrală de adrese
Magistrală de control

1
 21
2 1
2


 11  12  1

cI cI cI cI cI cI

 11  1  12  2  1  
Figura 9.3

Pentru realizarea compatibilităţii electrice cu magistralele automatului


semnalele primare de la intrare sunt prelucrate în circuite specializate cI. Acestea
asigură adaptarea de impedanţa necesară , separarea galvanică a sursei primare,
traductorul, de circuitele interne ale automatului, formarea semnalului electric în
tensiune la parametrii acceptaţi de logică interna a acestuia etc.
circuitul reprzentat în fig. 9.4 constituie o configuraţie utilizată pe larg în
acest scop [21,54]. Acesta contine un prim grup de elemente ce asiguraă detecţia
semnalelor pozitive cu o amplitudine suficient de mare (deci eliminarea semnalelor
pozitive de amplitudine redusă), diodele D şi DZ şi un circuit de filtrare de tip
trece-jos, 1 , 2 , 1 . A doua parte a circuitului este obţinută dîntr-un formator cu
prag de tip trier Schmit ce permite obţinerea caracteristicilor rectangulare şi de
nivel constant pentru semnalele prelucrate. cele două părţi sunt cuplate prîntr-un
capitolul 9. Sisteme de conducere cu automate rogramabile? 298

element optocuplor Oc ce asigură totodată separarea galvanică fată de sursa


primară.
Sistemul acesta asigură transferul mărimilor de intrare pe magistrala de date
a automatului. Dacă prelucrarea logică internă a automatului este numai de tip
secvenţial, magistrala de date cuprinde o singură linie pe care vehiculează
informaţia respectivă. În cazul în care procesorul automatului este de tip numeric
atunci magistrala cuprinde în mod curent 8 linii 0 , 1 ,....7 . Variabilele de
intrare de tip secvenţial sunt preluate de linia 0 iar vectorul de intrare numeric
este transferat în paralel pe cele 8 linii ale magistralei.

+
D DZ R1 R2 TS
uo
ui c1 Oc

Figura 9.4

Robotul poate accepta ca variabile de tip secvenţial toate mărimile generate


după principiul ³tot sau nimic¶, deci limitatoare de poziţie, limitatoare de cap de
cursă, senzori de proximitate, anumiti senzori tactili, traductoare de forţă ± moment
cu prag etc. Toate aceste mărimi sunt organizate pe module şi conectate direct, sau
dupa câteva adaptări, la bornele de intrare ale interfeţei.
Variabilele numerice provin direct din traductoarele de măsurare absolute
sau din circuitul numeric (numărătorul de impulsuri) asociat măsurii incrementale.
În această categorie pot fi incluse, de asemenea, mărimile furnizate de traductoare
senzoriale de tip analogic după conversia acestora în mărimi numerice. Se pot
enumera astfel traductoarele de deplasare de tip potentiometric, majoritatea
senzorilor tactili de tip ³piele artificială´, traductoarele de fortă ± moment etc.

   !"# $%(

Transferul datelor de la automat spre sistemul de acţionare al robotului sau


spre anumite dispozitive ale instalaţiei tehnologice se realizează prin tehnici de
demultiplexare succesivă, în funcţie de numarul de variabile controlate >54 .
Variabilele de ieşire furnizate de automat pot fi de tip secvenţial pentru acţionarea
unor circuite de forţă cu sistem de comandă pe poartă (tiristoare, triacuri), a unor
299 u  ? 
?

relee intermediare, contractoare, etc., fie de tip numeric pentru controlul unor bucle
de reglare din sistemul de conducere al robotului.
În fig. 9.5 este prezentat un sistem de interfaţă cu decodificarea paralel a
vectorului de adresă. cei  biţi de adresă fiind segmentati în două grupe cu 1 şi
respectiv 2 biţi. Fiecare segment serveşte pentru adresarea demultiplexoarelor
DMUX1, DMUX2, funcţionarea în paralel a acestora permiţând selecţia simultană
a căilor de activare pentru circuitele ieşirilor secvenţiale şi numerice. Propriu-zis,
informaţia de ieşire veehiculată pe magistrala de date este înscrisă în circuite de

memorie de tipul bistabilelor D (componentele secvenţiale cuplate la linia 0 ) şi
în registre de ieşire (commponentele numerice). Activarea funcţiei de scriere în
aceste componente se obţine prin controlul semnalului de tact cu circuitele
demultiplexoare menţionate şi prin semnalele de validare VM emise de magistrala
de control.

Magistrală de control
Magistrală de adrese
Magistrală de date

D0 kA
DMUX1 DMUX2
VM k2 VM
k1

D D D D D D D
Q Q Q Q Q Q Q
McE McE McE

1 1
E0 E1 Ep-1 à 0
à 7 à 0 à 7


Ieşiri scalare Ieşiri numericee


Figura 9.5

cuplarea sistemului de interfaţă la robot se realizează prin circuite de ieşire


specializate cE ce permit adaptarea electrică cu sistemul de acţionare al robotului,
realizarea niveleului de putere solicitat de circuitele de fortă precum şi separarea
galvanică a etajelor l22,54 .
circuitul este construit sub forma unui etaj amplificator de tip Darlington
(fig. 9.6) la care comanda este dată prîntr-un element optocuplor Oc. În ieşirea
capitolul 9. Sisteme de conducere cu automate rogramabile? 300

amplificatorului este montată sarcina propriu-zisă, protejată la supratensiuni prîntr-


o diodă de protecţie D.
Aceste configuraţii de circuite sunt utilizate de obicei la transferul
variabilelor de tip secvential, informaţiile numerice sunt transferate direct în
circuitele de control numeric, forma acestora fiind compatibilă cu sistemele de
prelucrare utilizate în buclele de conducere numerică.
Ansamblul acestor mărimi defineşte câmpul variabilelor de ieşire secvenţiale
E sau numerice EN. În majoritatea programelor de conducere, aceste mărimi sunt
generate la sfârsitul unor operaţii logice sau aritmetice şi marchează de obicei
finalizarea unor secvenţe funcţionale. În unele cazuri, prelucrarea logică executată
într-o anumită fază necesită apelarea unor variabile de ieşire determinate într-o fază
necesită apelarea unor variabile de ieşire determinate într-o fază anterioară. Pentru
a facilita aceste operaţii, unele automate conţin o memorie suplimentară (RAM) în
care se înscriu valorile ieşirilor simultan cu înscrierea în circuitele de ieşire. Se
obţine astfel în memorie o imagine a mărimilor de ieşire ce poate constitui o sursă
pentru operanzii implicaţi în programele automatului.

Oc Rsarcină
ui

Figura 9.6

)!  ! '   %

Automatele din această clasă de sisteme realizează prelucrarea logică a unor


variabile secvenţiale scalare a căror reprezentare numerică este redată într-un
singur bit. Aceste variabile sunt intâlnite frecvent într-o clasă largă de roboţi şi
manipulatoare atât ca mărimi de comandă pentru sisteme de acţionare de tipul
contactelor, releelor, tiristoarelor sau electroventilelor cât şi ca mărimi de intrare,
furnizte de o serie de traductoare sau senzori ce operează după principiul ³tot sau
nimic´.
301 u  ? 
?

Din punct de vedere funcţional, aceste echipamente acoperă toate structurile


de comandă asimilabile unor automate finite combinaţionale sau secvenţiale,
structuri intâlnite la numeroase tipuri de roboţi industriali. Toate aceste elemente,
la care se adaugă facilitaţile deosebite de implementare a programelor de
conducere, robusteţea echipamentului precum şi preţul de cost destul de modest fac
ca automatele din această categorie să reprezinte o soluţie atractivă pentru
utilizarea lor într-un sistem de conducere.

)  "' *%


?
configuraţia de bază a acestui automat derivă din caracteristicile generale
ale unei prelucrări scalare de informaţie [54,77]: evaluarea rapidă a semnalelor
furnizate de robot, prelucrarea logică a acestor semnale, memorarea rezultatelor
acestor prelucrări sau generarea unor comenzi spre ieşire, către sistemul condus. În
acest sens, arhitectura acestui automat va cuprinde: modul de intrare-ieşire pentru
interfaţarea cu exteriorul, un procesor pentru prelucrare logică şi blocuri de
memorie pentru inmagazinarea programelor şi datelor prelucrate.
Structura generală a acestui automat se poate urmări în figura 9.7. Toate
blocurile sistemului sunt conectate la o magistrală (linie) de date pe care
vehiculează informaţia de intrare-ieşire şi informaţiile stocate în memorie sau
prelucrate în unitaţile interne ale automatului.
Programele sunt introduse într-o memorie MP (EPROM ± 4k x 16)
adresabilă de la un numărător de adrese NA. Instrucţiunile sunt transferate într-un
registru RI şi decodificate în decodificatorul DI. În funcţie de tipul instrucţiunii
prelucrate, un circuit de control cc asigură transferul necesar de informaţie iar
unitatea logică UL realizează prelucrarea logică specificată. Sistemul conţine o
memorie MI 91k x 1) ce permite stocarea rezultatelor operaţiilor logice efectuate.
Aceasta constituie suportul de stare pentru implementarea modelelor de automate
finite ce constituie baza algoritmilor de conducere.
Dialogul cu exteriorul automatului este realizat cu module de interfaţă pentru
variabile de intrare şi ieşire, de tipul celor discutate în paragraful precedent.
Sistemul cuprinde, de asemenea, un bloc de temporizare › ce permite
programarea unor regimuri de lucru dependente de o bază de timp sau a unor
funcţii de contorizare a unor evenimente de la proces.
capitolul 9. Sisteme de conducere cu automate rogramabile? 302

NA
PROGRAM
GT cc DI RI MP cONSOLĂ
GS

MI
UL

Magistrală (linie de date)

Magistrală de adrese

Magistrală control

bloc N/T Module I Module E

I1 Ik E1 Ek
Figura 9.7

O instrucţiune a automatului are 16 biţi şi cuprinde trei părţi principale:


codul operatiei, câmpul variabilei apelate (operandul) şi adresa acesteia [21].
           
15 14 13 12 11 10 9 8..... 4 3 2 1 0
cod operaţie câmp operand Adresă operand

 
Primii patru biţi 15 12 desemnează codul operaţiei ce urmează a fi
efectuată, urmatorii biţi 11 10 identifică câmpul operandului, variabila
respectivă putând fi o variabilă de intrare I, o variabilă de ieşire E, o variabilă
internă, din memorie, M, sau o variabilă obţinută prin operaţii de numărare ±
temporizare T. (tabelul 9.1). Ultimii 10 biţi definesc adresa efectivă a operanzilor,
deci aceste sisteme pot opera cu cel mult 1024 mărimi de intrare, ieşire şi interne.
cei patru biţi de cod permit selectarea a 16 operaţii logice, interpretarea
acestora şi execuţia lor fiind realizate în blocuri RI, DI şi unitatea logică UL.
Unitatea logică este realizată în sistemul cu acumulator astfel incât rezultatul
fiecărei prelucrări logice este memorat într-un registru specializat, un acumulator.
Ţinând cont de variabilele de tip scalar implicate în aceste operaţii, rolul de
303 u  ? 
?

acumulator îl va juca la aceste sisteme un bistabil, notat convenţional prin A


(acumulator).

› var 
   
  
 V
 11 10 V
 
 0 0  V
 V
  0 1  V
   1 0  V
 V
 › 
 1 1 › V

Tabelul 9.1. Variabilele automatului

Prelucrarea informaţiei continută într-o instrucţiune cuprinde un număr bine


precizat de secvenţe, executate ciclic într-o succesiune impusă. Aceste cicluri,
definite în mod curent ca cicluri masină, servesc pentru structurarea circuitelor de
control, a generatoarelor de stări şi de tact (GS şi GT). Ţinând cont de simplitatea
operaţiilor realizate, un astfel de automat opereaza într-un singur ciclu masină
definit prin secvenţele:
1)? se extrage instrucţiunea din memorie;
2)? se decodifică câmpurile instrucţiunii;
3)? se extrag datele din adresele specificate ;
4)? se execută operaţia logică specifică şi se memorează rezultatul;
Ultima secvenţă implică memorarea rezultatului fie în bistabilul acumulator
A, fie în memorie sau în modulele ieşire şi temporizare.

V   ?  ?
 
 ?

cei patru biţi ai codului de operare indică posibilitatea utilizarii a 16


instrucţiuni. Aceste instrucţiuni pot fi grupate în:
-?instrucţiuni de transfer de date;
-?instrucţiuni de prelucrare logică;
-?instrucţiuni speciale;
Instrucţiunile de transfer determină o deplasare dirijata a informţiei,
existentă într-o zonă a automatului, spre anumite elemente de memorie. Prin acest
transfer se realizează, pe de o parte, detectarea schimbărilor de stare a unor
capitolul 9. Sisteme de conducere cu automate rogramabile? 304

semnale de intrare sau ieşire (memorate temporar) sau din memorie iar, pe de altă
parte, acestea permit salvarea unui rezultat al unei operaţii logice anterioare.
Aceste modalităţi de transfer sunt realizate prin instrucţiunile:

1) LD Adr X
LDc Adr X

2) STO Adr X
STOc Adr X

Instrucţiune LD (LcD) realizează încărcarea în bistabilul A a ultimei valori


(sau a complementului ei) ce defineste o variabila de intrare I, memorie internă M,
numărare ± temporizare T sau iesire E (imaginea canalelor de ieşire în memoria
automatului), identificate prin adresa generală (adr X).

˜ §
 X

§
˜
 X

A doua instrucţiune determină transferul valorii logice memorate în


bistabilul A într-o locaţie de adresă (
  ), unde X poate fi o variabila de ieşire,
memorie sau de numărare-temporizare.

§
 X ˜O
§
 X ˜O
Instrucţiunile logice ale automatului permit executarea unui număr minim de
operaţii logice ce asigură acoperirea complectă a oricărei funcţii booleene. Aceste
instrucţiuni definesc o operaţie logică în care un operand este intotdeauna bistabilul
A, al doilea operand X este o variabilă de intrare, memorie, numărare-temporizare
sau imaginea în memorie a canalelor de ieşire , iar rezultatul final este memorat în
A.

3) AND adr X
ANDc adr X
Instrucţiunea realizează funcţia ŞI între conţinutul bistabilului A şi operandul
X (sau complementul acestuia).
305 u  ? 
?

O ˜ O. §adr X
O ˜ O. §adr X

4)? OR adr X
ORc adr X
unde se realizează funcţiile

O ˜ O † §
 X
O ˜ O †
 § X

5) XOR adr X

determină funcţia logică SAU EXcLUSIV


 Ú §‘ X

6) cMA
ZA

Aceste instrucţiuni sunt asociate bistabilului A determiând complementarea


acestuia ,

˜
sau aducerea sa la valoarea logică 0.

O˜0
Implementarea printr-un automat a unor funcţii de tip secvenţial impune
condiţionarea explorării instrucţiunilor din program de anumite rezultate ale unor
operaţii anterioare. Acestea implică introducerea unor instrucţiuni speciale de salt.

7)?  Adr
c Adr
capitolul 9. Sisteme de conducere cu automate rogramabile? 306

Instrucţiunea  şi c determină salt în desfăsurarea programului la adresa


definită prin Adr. Prima provoacă salt necondiţionat de conţinutul bistabilului A.
Dacă A=1 saltul se produce , dacă A=0 , se execută instrucţiunea următoare .
Pentru facilitarea unor operaţii de ieşire se utilizează un set de instrucţiuni
care aduc o variabilă adresată în starea logică 1 sau 0 .

8) S Adr X
R Adr X

Instrucţiunile determinţ funcţia SET (inscriere 1 logic) respectiv RESET



(înscriere 0 logic) asupra locaţiei definită prin (
 ) în funcţie de starea logică
a bistabilului A.

§O  ˜ 1 
 O 1
§O  ˜ 0 
 O 1
Dacă conţinutul bistabilului este 0 funcţiile respective devin inoperante.

))
!!   !""

Având ca referinţă configuraţia hardware oferită de automat şi setul de


instrucţiuni al acestuia se poate trece la construirea programelor de conducere ale
unui robot. Această implementare poate fi sintetizată în câteva etape l21,54,77
1)? descrierea complectă a condiţiilor de funcţionare ale robotului,
precizarea tuturor secvenţelor funcţionale, a circuitelor de lucru precum şi a
regimurilor specifice de operare. Trebuie prezentate detaliat toate variabilele ce
definesc poziţia robotului, traductoarele utilizate, aspecte legate de calitatea
semnalelor furnizate şi modul lor de interpretare. În condiţiile existenţei unui
sistem senzorial, trebuiesc analizate semnalele generate de acesta şi modificările
impuse regimurilor de lucru normale. Se impune o analiză riguroasă a sistemului
de acţionare al robotului precizându-se modalitaţile de comandă, caracteristicile
semnalelor, parametrii acestora etc.
2)? analiza configuraţiei automatului astfel încât acesta să acopere
cantitativ şi calitativ funcţionarea robotului. Acesta revine la stabilirea necesarului
de memorie, a dimensiunii modulelor de intrare-ieşire şi a compatibilităţii electrice
a semnalelor. Se impune, de asemenea precizarea condiţiilor industriale de lucru
ale automatului, nivelul perturbaţiilor externe, regimurile de alimentare electrice
etc.
307 u  ? 
?

3)? elaborarea documentului sursă sub forma unei organigrame de stări


care să acopere toate condiţiile formulate în etapa 1. În acest sens organigrama
trebuie să redea detaliat stările funcţionale, condiţiile de comutare de la o stare la
alta, mărimile de ieşire generate în fiecare stare, ciclurile, regimurile de lucru de tip
subrutina etc.
4)? se aloca variabile în automat I,E,M care să acopere semnalele de
intrare furnizate de robot, variabilele de comandă pentru sistemul de acţionare al
robotului şi variabilele de stare, respectiv.
5)? Se scrie programul de conducere cu setul de instrucţiuni al
automatului. În principiu, această scriere trebuie să parcurgă urmatoarele etape:
a)? instrucţiuni pentru iniţializarea stărilor;
b)? instrucţiuni pentru acoperirea fiecărei stări;
c)? instrucţiuni pentru simularea tuturor traseelor logice
din organigramă.

Stări Variabile M
1 M 001
2 M 002
3 M 003
3 Z1 4 M 004

0 1 Intrări Variabile I
X1 x1 I 001
x2 I 002
x3 I 003
1 Z2 3 Z3 x4 I 004

0 1 1 0 Ieşiri Variabile E
X2 X3
Z1 E 001
Z2 E 002
4 Z4 Z3 E 003
Z4 E 004
a b
Figura 9.8

De obicei, condiţiile de iniţializare impun aducerea în starea 1 logică a


variabilei din memoria M asociată stării iniţiale a automatului şi stergerea tuturor
celorlalate variabile de stare.
capitolul 9. Sisteme de conducere cu automate rogramabile? 308

Instrucţiunile pentru acoperirea unei strări trebuie să redea toată informaţia


continută în această condiţiile de activare a stării în momentul când robotul intră în
ea şi dezactivarea acesteia când este depăsita şi generarea funcţiilor de ieşire către
sistemul de comandă al robotului, specificându-se fazele de anclasare (valoarea 1)
ale acestora şi de declanclaşare (valoarea 0).
Aceste condiţii sunt realizate prin scrierea unui set de instrucţiuni ce
implementează:
-? apelarea din memorie a variabilei M ce corespunde stării;
-? stergerea conditionată a tuturor variabilelor M asociate stărilor ce preced
starea respectivă;
-? stergerea conditionată a tuturor variabilelor de ieşire E generate în stările
precedente;
-? generarea variabilei de ieşire E asociată stării.
Pentru exemplificare, se va considera o evolutie descrisă prin organigrama
de stări din figura 9.8.a.
Organigrama cuprinde patru stări 1-4, fiecare generând o ieşire proprie   ,
evoluţia stărilor fiind realizată prin variabilele de intrare  specificate. Alocarea
variabilelor în automat corespunzator variabilelor din organigramă este realizată în
figura 9.8.b. Implementarea programului se obţine în conformitate cu etapele
specificate mai sus.
0001 ZA
2 STOc M001
3 STO M002
4 STO M003
5 STO M004

Primele instrucţiuni definesc iniţializarea stărilor, introducându-se în starea


M001 valoarea logică 1 iar în celelălte variabile M002-M004 valoarea 0. Deci,
automatul îsi va începe evoluţia plecând din starea iniţială 1. Instrucţiunile
următoare implementează pentru fiecare stare informaţia asociată şi traseele logice
ce derivă din ea.

0006 LD M001 Apelul variabilei de stare I


7 M002 Sterge starea precedenta
8 R E002 Sterge iesirea precedenta
9 S E001 Genereaza iesirea starii I
0010 ANDc I001 Traseul logic 1  2
309 u  ? 
?

1 S M002
2 LD M001
3 AND I001 Traseul logic 1  3
4 S M003
5 LD M002
6 R M001 Starea 2
7 R E001
8 S E002 Traseu logic 2  1
9 ANDc I002
0020 S M001
1 LD M002
2 AND I002
3 S M001
4 LD M003
5 R M001 Starea 3
6 R E001
7 S E003
8 AND I003 Traseul logic 3  2
9 S M002
0030 LD M004
1 R M002 Starea 4
2 R E002
3 S E004
4 S M003 Traseul logic 4  3
0025  0006

Instrucţiunile asociate traseelor logice descriu practic funcţia logică a


traseului. Existenţa unor trasee multiple face necesarţ actualizarea bistabilului A cu
informaţia ultimei stări, întrucât conţinutul acestuia poate fi alterat de prelucrarea
impusă de ultimul traseu logic implementat. Astfel, în instrucţiunea 0012 se
reîncarcă A cu valoarea logică a stării 1.
Trebuie remarcat, de asemenea, că traseul logic 3  3 nu este implementat,
acesta fiind realizat intrinsec prin stabilirea locaţiei de memorie M003 în absenţa
oricăror modificări a variabilei de intrare I003 ce condiţionează evoluţia stării.
capitolul 9. Sisteme de conducere cu automate rogramabile? 310

RÂND 1
RÂND 3
RÂND 2
Rc
EVAcUARE

Încărcare BT
Oc
cLI

cLD
L1 M
L2
L3 AM
L4
L5
RM
Figura 9.9

Ultima instrucţiune 0025 determină un salt în program la prima instrucţiune


ce succede zonei de iniţializare.

6)? programul este introdus prin consola de programare a automatului


în memoria internă a consolei, în regim de verificare. Dupa efectuarea verificării şi
corectarea eventualelor erori, acesta este introdus în memoria program pentru
utilizare.

+c" !  ,  $"  


!%

Analiza detaliată a procedurilor de implementare este ilustrată prin
programul de conducere a unui manipulator utilizat în manipularea pieselor la
punctele de încărcare ale unor cuptoare pentru tratarea termică. În figura 9.9 este
prezentată schema tehnologică a unui cuptor rotativ de tratare şi funcţiile de
manipulare solicitate.
Piesele supuse tratării termice sunt dispuse pe sectoare axiale, în trei rânduri
(zone), astfel încât să se asigure o incărcare optimă a suprafeţei cuptorului.
311 u  ? 
?

Acţionarea cuptorului este astfel calculată încât o rotaţie completă corespunde


timpului necesar pentru efectuarea procesului de tratare. Mişcarea cuptorului este
discontinuă, de fiecare dată când un sector ajunge în dreptul punctului de încărcare,
cuptorul se opreşte şi manipulatorul avansează realizând încărcarea completă cu
piese a sectorului.
Alimentarea cuptorului este realizată cu o banda transportoare BT, cu avans
controlat, ce poziţionează câte o piesa în dreptul punctului de încărcare. Prezenţa
piesei într-o poziţie corectă este semnalată de traductorul PP.
Pentru transferul pieselor în cuptor, manipulatorul M execută cicluri
funcţionale fixe, corespunzător operaţiilor de prindere, transfer şi depunere ale
pieselor în celel trei zone, succesiv. Poziţionarea manipulatorului se realizează prin
limitatoarele 1 5 , primele trei indicând poziţia în cele trei zone ale cuptorului,
limitatorul L4 specificând poziţia în dreptul benzii transportoare iar L5 desemnând
poziţia retrasă, neoperaţională a acestuia. De asemenea, funcţia de manipulare
implică utilizarea a doi senzori, GRD, GRI indicând starea deschisă sau inchisă a
griperului.
Fazele tehnologice şi secvenţele de manipulare sunt:
-? manipulatorul este retras în poziţie L5; banda transportoare avansează
şi aduce o noua piesă în punctul de încărcare;
-? manipulatorul avansează în poziţia L4; se închide griperul;
-? manipulatorul avansează în zona disponibilă a cuptorului (încărcarea
începe cu zona cea mai depărtată, zona 1), griperul se deschide şi piesa
este depusă;
-? manipulatorul se retrage în poziţia iniţială L5;
-? se testează încărcarea sectorului. Dacă acesta nu este plin, se reîncepe
ciclul de încărcare de la secvenţa întâi. Dacă sectorul este plin, se
roteste cuptorul aducând un nou sector în punctul de încărcare.
Poziţionarea cuptorului este realizată cu un limitator Oc antrenat de o camă
a sistemului de acţionare.
Trebuie subliniat faptul că similar operaţiei de încărcare se produce
descărcarea pieselor, după ce cuptorul a executat o rotaţie de cca 315 grade.
Tabelul 9.2. cuprinde lista variabilelor de intrare şi ieşire afectate acestui
sistem precum şi codificarea lor pentru implementarea pe un automat programabil.

Variabile cod Specificatii Variabila cod Specificatii


De intrare de ieşire
Oc I 001 Oprire cuptor RRRc E001 Reglaje cuptor
PP I 002 Prezenta AB E002 Avans bandă
capitolul 9. Sisteme de conducere cu automate rogramabile? 312

piesa
L1 I 003 AM E003 Avans
Limitatoare manipulator
L2 I 004 de pozitie RM E004 Retragere
brat manipulator
L3 05 manipulator IGR E005 Închidere griper
L4 I 006 DGR E006 Deschidere
griper
I 009 Griper Validare
deschi numarator
s
GRI I 008 Griper inchis IN E008 Incrementare
numarator
GRD

În figura 9.10 este prezentată oganigrama stărilor. Se observă existenţa a 11


stări, trecerea dintr-o stare în alta fiind condiţionată de comutarea unor variabile.
Astfel, în starea 1 se initiază avansul benzii transportoare, tranziţia în starea 2 fiind
determinată de aducerea piesei în punctul de încărcare (PP=1). În această stare
începe avansul manipulatorului (AM) până la atingerea poziţiei de încărcare L4 ce
determină trecerea în starea 3. Manipulatorul se opreşte şi se comandă închiderea
griperului (IGR) până se atinge condiţia de griper închis (GRI=1) ce indică tranziţia
în starea 4. Se validează (VN) un sistem de 3 număratoare NUM1, NUM2, NUM3,
ce identifică depunerile în zonele 1, 2 şi 3, respectiv. Aceste număratoare pot fi
incrementate printr-un semnal provocat de fiecare depunere în cuptor, de exemplu
GRD. Dacă secvenţa de lucru corespunde manipulării primei piese, ce se va
depozita în rândul 1, atunci NUM1=0 şi evoluţia automatului se produce în starea
5.
Dacă se pune a doua piesă, NUM1=1 şi NUM2=0, tranziţia se realizează în
starea 6. A treia piesă determină o evoluţie pe traseul NUM=1, NUM2=1 în starea
7.
cele trei număratoare sunt realizate în cadrul modulelor de numărare ale
automatului şi vor fi apelate ca variabile cu adresele T001, T002 şi T003 respectiv.
Poziţionarea manipulatorului la capătul cursei este identificată prin starea 8,
indiferent de zona în care s-a efectuat depozitarea piesei. După depunerea piesei
(DGR=1), manipulatorul se retrage, starea 9, până în poziţia iniţială atinsă în starea
10. În această stare se testează NUM3. Dacă NUM3=0, nu au fost efectuate cele
trei depuneri şi procesul se reia de la starea 1. Dacă NUM3=1, toate piesele s-au
313 u  ? 
?

depus în sectorul respectiv, se trece în starea 11 determinând rotaţia cuptorului şi


trecerea într-un nou sector după care se revine în starea iniţiala 1. În starea 11 se
sterge totodată adresarea numaratoarelor pentru a permite o noua număratoare.
capitolul 9. Sisteme de conducere cu automate rogramabile? 314

1 AB

PP 0
1
2 AM
0
L4
1
3 IGR

0
GRI
1
4 VN

1 0
NUM1
1 0
NUM2
5 AM 7 AM 6 AM
0 0
L1 L3 0
L2
1 1 1

8 DGR

0
GRD
1
9 RM

L5 0
1
10

0 1
NUM3
11 Rc,VN

1 Oc 0
315 u  ? 
?

Figura 9.10

Pentru acoperirea celor 11 stări, în automat se vor aloca variabilele interne.


cu aceste elemente, tinând cont de codificarea variabilelor de intrare şi ieşire
(tabelul 9.2) şi de regulile de implementare stabilite mai sus, instrucţiunile
programului de conducere vor fi:

0001 ZA
2 STOc M001
2 STOc M002 Initializare
0012 STO M011
3 LD M001
4 R M011
5 R M010 Starea 1
6 R E001
7 S E002
8 AND I002 Transfer în starea 2
9 S M002
0020 LD M002
1 R M001
2 R E002 Starea 2
3 S E003
4 AND I006 Transfer în starea 3
5 S M003
6 LD M003
7 R M002 Starea 3
8 R E003
9 S E005
0030 AND I008 Transfer în starea 4
1 S M004
2 LD M004
3 R M003 Starea 3
4 R E005
5 S E007
6 ANDc T001 Transfer în starea 5
7 S M005
8 LD M004
9 AND T001 Transfer în starea 6
capitolul 9. Sisteme de conducere cu automate rogramabile? 316

0040 ANDc T002


1 S M006
2 LS M004
3 AND T001 Transfer în starea 7
4 AND T002
5 S M007
6 LD M005
7 R M004 Starea 5
8 S E003
9 LD M006
0050 R M004 Starea 6
1 S E003
2 LD M007
3 R M004 Starea 7
4 S E003
5 LD M005
6 AND I003 Transfer 5  8
7 S M008
8 LD M006
9 AND I004 Transfer 6  8
0060 S M008
1 LD M007
2 AND I00 Transfer 7  8
3 S M008
4 LD M008
5 R M005
6 R M006 Starea 8
7 R M007
8 R E003
9 S E006
0070 AND I009 Transfer în starea 9
1 S M009
2 LD M009
3 R M008
4 R E006 Starea 9
5 S E004
6 AND I007 Transfer în starea 10
7 S M010
317 u  ? 
?

8 LD M010
9 R M009 Starea 10
0080 R E004
1 ANDGc T003 Transfer 10  1
2 S M001
3 LD M010
4 AND T003 Transfer 10  11
5 S M011
6 LD M011
7 R M010 Starea 11
8 R E007
9 S E001
0090 AND I001 Transfer în starea 1
1 S M001
2  0013

-!  ! ' . %



complexitatea algoritmilor de conducere pentru o gamă largă de roboţi şi
manipulatoare, formele specifice de semnale generate de unele echipamente de
măsurare sau senzoriale ca şi modalitaţile caracteristice de interpretare a acestora
impun extinderea operaţiilor de prelucrare de la nivel de bit la o prelucrare
aritmetică şi logică de tip cuvânt, vectorială. Aceste automate sunt realizate de
obicei prin configuraţii de microprocesoare de 8 sau 16 biţi, folosind eficient
facilităţile oferite de acestea atât în ceea ce priveste capacitatea de memorie,
operaţii logico-aritmetice şi interfaţarea cu mediul extern.
Utilizarea unor operanzi vectoriali în aceste automate nu exclude prelucrarea
logică a unor operanzi scalari la nivel de bit. Aceste operaţii se mentin în
continuare întrucât foarte multe funcţii de manipulare specifice unor clase de roboţi
implică, pe langă controlul numeric al traiectoriei, operaţii logice asupra unor
mărimi secvenţiale (scalare).
Din acest motiv, una din configuraţiile cele mai întâlnite de automate din
aceste clase conţine structura de tip biprocesor pentru operanzi scalari şi unul
pentru operanzi vectoriali (numerici) cu o gestionare adecvată a resurselor comune.
O structură de acest fel este prezentată în figura 9.11[22,54].
capitolul 9. Sisteme de conducere cu automate rogramabile? 318

Uc NA consolă
MP
program
16
instrucţiune
12 4

controler UL
ƒ RAM ROM
Magistrală
Linie date de date
§0 (D0 ± D7)
IM Magistrală
de contrtol
Magistrală
de adrese
MI MIS MES MEN MIN

1  1    1   1 

Figura 9.11a

Programul utilizator este realizat din instrucţiuni pe 16 biţi şi este rezident


într-o memorie de tip EPROM. controlul programului este realizat de o unitate Uc
ce permite avansarea pas cu pas a instrucţiunilor sau prin salt.

B15 B11 B0 Instrucţiune


B11 = 0
0 scalară

cod Adresă operand


instrtucţiune
B15 B11 B8
1
cod instrtucţiune
B11 Instrucţiune
B11 = 1
numerică
Adresă operand 1
B11

Adresă operand p
319 u  ? 
?

Figura 9.11b

Instrucţiunile extrase din MP au o destinaţie precisă, către procesorul scalar


sau către cel numeric, în funcţie de tipul acesteia. Indentificarea este realizată pîntr-
un bit, B11 în formatul fiecărei instrucţiuni.
Dacă instrucţiunea este de tip scalar ( @11 0 ), în acest caz primii patru biţi
@15 @12 ce definesc codul sunt prelucraţi într-o unitate logică a procesorului
scalar iar ultimii biţi sunt interpretaţi într-un controler.
Operaţiile executate de procesor sunt de acelasi tip ca la orice automat
sacvenţial, ele implicând transferuri de date şi operaţii logice asupra unor variabile
din memoria internă MI şi din modulele de intrare şi ieşire scalară, MIS şi respectiv
MES.
Instrucţiunile numerice sunt interpretate în unitatea centrală Uc a
microprocesorului ce serveşte ca suport procesorului vectorial. Aceste instrucţiuni
definesc o serie de operaţii aritmetice şi de transfer asupra unor mărimi de format
vectorial ce au ca sursă unul din canalele de intrări numerice din MIN, o variabilă
din memoria internă RAM sau ROM sau o variabilă de tip imediat rezidentă în
instrucţiuni. Destinaţia prelucrărilor poate fi o ieşire numerică din MEN sau o
locaţie din memoria internă RAM.
Trebuie subliniat faptul că, deşi operaţiile de prelucrare logică şi aritmetică
sunt realizate de câte un procesor specializat, resursele scalare şi vectoriale ale
sistemului sunt gestionate în comun. În acest sens, procesorul numeric are acces la
informaţiile de tip scalar rezidente în modulele procesorului respectiv, aceste
mărimi condiţionând efectuarea operaţiilor aritmetice şi logice. Această gestionare
se obţine printr-un control eficient al vehiculării de informaţie pe magistralele celor
două procesoare, control realizat cu modulul IM (interfaţă de magistrale).
Aceste posibilitaţi de apelare la resursele scalare şi vectoriale permit
utilizarea unor instrucţiuni complexe în care sunt implicate ambele tipuri de
mărimi. În mod curent, variabila scalară obţinută în procesorul scalar condiţionează
prelucrarea logico-aritmetică din procesorul vectorial. O astfel de variabilă este
numită în mod curent ³variabila martor´.Pentru exemplificare, să considerăm
instrucţiunea AND ce realizează funcţia logică   între doi operanzi vectoriali
aflaţi al adresele numerice AN1, AN2, respectiv, şi cu memorarea rezultatului în
AN3. Această instrucţiune se scrie sub forma AND AS, AN1,AN2,AN3.
AS defineşte adresa variabilei scalare ce funcţionează ca martor în sensul
următor :
capitolul 9. Sisteme de conducere cu automate rogramabile? 320


 O  1
 §O 3 ˜ §O 2  §O 1

 O  0 
 
  
 

Utilizarea unor astfel de instrucţiuni facilitează implementarea unui program


de conducere întrucât acesta sintetizează atât condiţia de generare a stării
sistemului la un moment dat cât şi pe cea de transfer în starea urmatoare. Setul de
instrucţiuni al unui astfel de automat cuprinde în general toate operaţiile logice
curente NU, ŞI, SAU, ŞI-NU, SAU-NU, SAU-EXcLUSIV efectuate asupra unor
operanzi scalari sau vectoriali precum şi gama de operaţii aritmetice utilizate în
mod curent în implementări numerice. ca referinţă se poate consulta setul de
instrucţiuni al automatului AP-117 produs de intreprinderea Automatica-Bucuresti
(Anexa 1).
Aceste instrucţiuni asigură, de asemenea, o serie de facilitaţi în organizarea
programelor, a ciclurilor funcţionale, a programelor de iniţializare şi a regimurilor
de lucru de tip subrutină. În acest fel, limbajul acestor automate constituie un
suport software adecvat pentru implementarea legilor de conducere la o gamă de
roboţi industriali.
De asemenea, compatibilitatea hardware la nivelul sistemelor de acţionare şi
de măsurare este pe deplin realizabilă prin intermediul interfeţelor scalare sau
numerice prezentate mai sus.

/  c"   ' ,  !  "


"%  

Una din aplicaţiile cele mai solicitate de conducere robotizată şi care
reprezintă totodata una din primele încercări de implementare a roboţilor în
sistemele de fabricaţie industriala o constituie sudarea automată a caroseriilor de
autoturisme în liniile de montaj.
Din punce de vedere al sistemului de conducere, o astfel de aplicaţie impune
programarea robotului să execute o traiectorie impusă prin punctele implicate de
operaţiile de sudură şi corelarea acestor miscări cu evoluţia generală a liniei de
asamblare.
Pentru exemplificare se va analiza sistemul de programe necesar pentru o
celula de sudură utilată cu un robot în coordonate cilindrice condus cu un automat
în configuraţie biprocesor (AP ± 117), (fig. 9.12.).
321 u  ? 
?

3
4 6

5 Linie sudură
1 2

Figura 9.12

Robotul posedă 6 grade de libertate din care operaţiile de sudura solicitate


cer numai 4: 1 ,  2 , 3 şi 5 . Miscările pe fiecare grad de libertate sunt măsurate
cu traductoare de deplasare de tip incremental pentru miscările de translaţie  2 şi
3 şi de tip absolut pentru miscările de rotaţie 1 , 5 .
Traiectoria completă a robotului este prezentată în figura 9.13. Starea
iniţială, de pornire, corespunde punctului A. Traiectoria este defalcată pe segmente,
fiecare segment corespunzând unei secvenţe funcţionale precise definită printr-un
singur grad de libertate al miscării.
Pentru a facilita implementarea legii de control, pe fiecare segment s-au
§
notat prin variabilele   4 parametrii de bază ai deplasării. Astfel, indicele I
desemnează gradul de libertate  §1,2,...6 în sensul pozitiv sau negativ iar
valoarea din paranteză defineşte cota mişcării.

O 3† § 1
!
2 § 2
Linie de
1† § 8 

 § 5 ,  § 4
† sudură
2 1
5† § 3 5 § 3
1
 § 3
† 5 § 3 1
5
z  3 § 7 2

 1 Puncte de
sudură
0 y 5† § 3 5 § 3
x  

Figura 9.13
capitolul 9. Sisteme de conducere cu automate rogramabile? 322

În prima faza a miscării robotul execută o apropiere de linia tehnologică, pe


traseul A,B,c,pintr-o miscare de translaţie  2 în sens pozitiv pe o cotă 1 şi o
miscare de translaţie  2 în sens negativ pe cota 2 . În punctul c este rotit
terminalul cu o miscare 5 în sens negativ până ce electrodul de sudură atinge
caroseria (cota 3 ), punctul 1 . Acest punct reprezintă primul punct de sudură,
atingerea lui anclasând cuplarea sursei de curent a generatorului de sudură.Dupa un
timp prestabilit, curentul este decuplat, terminalul se roteste în sens invers
§ 5
†
§ 3 revenind în punctul c. În faza următoare se produce reorientarea braţului
către următorul punct de sudură, operaţie realizată din doua miscări 1 § 4 şi
 3† § 5 (punctul F1).
Noul punct de sudură 2 implică din nou rotaţia terminalului în sens
negativ la cota . Aceste faze sunt reluate ciclic până se acoperă intreaga linie de
sudură (m puncte). Dupa revenirea din ultima sudură (punctul  1 ), robotul
revine în punctul iniţial al traiectoriei (  1 GHA) prin trei secvenţe definite prin
parametrii  2† § 6 ,  3† § 7 1† § 8 .
Analiza detaliată a traiectoriei permite realizarea, în etapa următoare, a
organigramei de stări pentru construcţia programului utilizator.
Organigrama stărilor (fig. 9.14) cuprinde 13 stări. Prima stare, starea 1
realizează legatura între miscarea robotului şi cea a liniei de montaj.
323 u  ? 
?

7 1
1 Ac
Ac

0 k4 0
Pc
Pc
1 1
2 3† 8 3†

0 k5 0
k1
1
9 INc
3
 2 R
10

k2 0

1 0 m
4 1
5
11  2†
k3 0

k6 0
1
5 SUDURA 1

12 3
0
T1
0
1 k7

6
5 1
13 1†
k3 0
0
1 k8
a
1
b
capitolul 9. Sisteme de conducere cu automate rogramabile? 324

Figura 9.14

În aceasta stare, se comandă avansul carasoriei Ac până la poziţionarea


corectă a acesteia în punctul de lucru (Pc=1).
Stările următoare 2-4 determină miscarea robotului până la primul punct de
sudură 1 . Fiecare stare este asociată miscării pe câte un grad de libertate, condiţia
de trecere la o nouă stare fiind obţinută la realizarea cotei prescrise în decizia ce
succede stării.
Starea 5 realizează funcţia tehnologică (SUDURĂ) prin cuplarea curentului
în circuitul electrodului de sudură un timp prestabilit ›1 . După acest interval de
timp automatul comută în starea 6 ceea ce înseamnă decuplarea curentului şi
reînceperea miscării terminalului şi braţului. Stările 6-8 acoperă segmentele de
traiectorie D c 1 corespunzătoare retragerii terminalului şi reorientării braţului.
Analiza traiectoriei indică existenţa unor cicluri de miscare între puncte de
tipul 1 1 . Aceste cicluri pot fi acoperite prin formarea unui contor
incrementat la sfârsitul fiecărui ciclu, starea 9, şi testat în starea 10. Dacă numărul
de cicluri m nu este realizat se execută un salt în starea 5 cu reluarea ciclului
tehnologic, dacă condiţia este indeplinită se trece in stările 11,12,13 prin care se
controlează revenirea robotului în poziţia
iniţială A.
Implementarea sistemului de conducere impune executarea a doua programe,
unul desemnând programul utilizator realizat prin transpunerea în limbajul
automatului a organigramei de stări şi al doilea, programul de iniţializare necesar
pentru generarea condiţiilor iniţiale ale mărimilor de stare şi numerice.
Rezervarea în automat a unor variabile scalare şi numerice pentru acoperirea
mărimilor implicate în sistemul fizic al robotului se realizează după o procedură
similară cu cea utilizată în 9.4.

Stări Variabile în AP
1 M001
2 M002
3 M0003 Intrări Variabile
. . Scalare În AP
325 u  ? 
?

. . įq2 I 001
. . įq3 I 002
Pc I 003
E 011 I 004

13 M013

Intrări Variabile
numerice În AP
įq1 ÎN 0001
įq5 ÎN 0002

Iesiri Variabile în cote numerice Adrese


scalare AP prescrise numerice
1† E 001 K1 MN 0001
E 002 K2 MN 0002
1 K3 MN 0003
 2† E 003 K4 MN 0004
E 004 K5 MN 0005
 2
E 005 K6 MN 0006
 3† K7 MN 0007
 3 E 006 K8 MN 0008
E 007 T1 MN 0009
 5† E 008 m MN 0010
 o MN 0011
5
E 009
Ac
E 010
SUDURA
E 011
INcR

Fiecărei stări se alocă o variabilă în memoria secvenţială M001-M013.


Traductoarele de tip increment ce oferă mărimile de tip scalar — 2 , —3 sunt
capitolul 9. Sisteme de conducere cu automate rogramabile? 326

conectate la intrările scalare I001 şi I002. Traductoarele de tip absolut —1 , —5
sunt cuplate pe doua intrări numerice IN0001 şi IN0002.
Iesirile automatului sunt numai de tip scalar (E001-E011), miscările pe
traiectorie neimplicând un algoritm de reglare numeric. Pentru atingerea
parametrilor traiectoriei, în memoria numerică a automatului sunt introduse date ce
definesc cotele miscărilor MN001-MN0008.
În cotinuare, se va expune detaliat structura programului utilizator şi a celui
de iniţializare(notaţiile şi simbolurile sunt prezentate în Anexa 1).

0000 ! M001
1 R M013
2 R E001
3 S E009
Aceste instrucţiuni realizează apelul variabilei din memorie asociat stării 1,
stergerea stării precedente M013 şi iesirea corespunzătoare E001 precum şi
generarea iesiri de comandă, avansul caroseriei E009.

4 . I003
5 S M002

Se obţine transferul condiţionat în starea 2(M002) dacă variabila scalară Pc


este în 1, în caz contrar păstrându-se starea activă 1 (M001=1)

6 ! M002
7 R M001
8 R E009
9 S E005
0010 cSc M002, I002, MN 0001, MN 0101, M003

Acest set de instrucţiuni asociat stării 2 controlează evoluţia pe segmentul


AB al traiectoriei. Instrucţiunea cSc determină o contorizare în sens crescător a
variabilei I002, condiţionată de variabila scalară M002. La atingerea valorii
prescrise în MN001, variabila scalară M003 devine 1 asigurând astfel tranziţia în
starea 3.

0011 ! M003
2 R M002
3 R E005
327 u  ? 
?

4 S E004
5 cSc M003, I001, MN0002, MN0102, M004
6 ! M004
7 R M003
8 R E004
9 cID M004, MN0003, IN0002, E008, M005

Prima stare a acestui grup de instrucţiuni implementează starea 3 cu transfer


condiţionat în starea 5 de contorizarea impulsurilor traductorului — 2 (I001). A
doua parte, defineşte starea 4 în care se realizează rotaţia terminalului, miscarea
5 . controlul miscării este obţinut prin instrucţiunea cID ce realizează comparaţia
cotei numerice prescrise în MN0003 cu cea oferită de traductorul absolut IN0002.
Dacă aceasta identitate nu este realizată, variabilele scalare de ieşire au valorile
E0008=1, M005=0. La atingerea valorii prescrise, E008=0, M005=1 realizând deci
tranziţia în starea următoare 5 şi totodată anularea miscării generată în starea 4.

0020 ! M005
1 R M004
2 S E010
3 TMP2 M005, MN0009, MN0103, M006

Aceste instrucţiuni acoperă starea 5 prin care se cuplează operaţia de sudură


(E010). Durata operaţiei este controlată de o instrucţiune de temporizare TMP2 ce
anclansează un generator de impulsuri software cu perioada 0.1s, contorizarea
impulsurilor find realizată la adresa numerică NM0103. Atingerea valorii prescrise
T1 rezidentă la adresa MN0009 determină comutarea variabilei de stare M006.

0024 ! M006
5 R M005
6 R E010
7 cID M006, MN0003, IN0002, E007, M007
8 ! M007
9 R M006
30 cID M007, MN0004, IN0001, E002, M008
1 ! M008
2 R M007
3 S E005
4 cSc M008, I002, MN0005,MN0103, M009
capitolul 9. Sisteme de conducere cu automate rogramabile? 328

Ultimul set de instrucţiuni determină evoluţia pe segmentele de traiectorie


Dc F1, prin doua rotaţii ai parametrilor 5 şi 1 şi o translaţie prin 3 . Se obţine
astfel starea 9 ce încheie un ciclu funcţional şi generează un semnal de
incrementare E011.

0035 ! M009
6 R M008
7 R E005
8 S E011
9 S M010
40 R M009
1 R E011
2 cSc M010, I004, MN0010, MN0104, M101
3 ! M010
4 ./ M101
5 S M004
6 ! M010
7 . M101
8 S M011
9 TRAD M010, MN0011, MN0101
50 TRAD M010, MN0011, MN0102
1 TRAD M010, MN0011, MN0103
2 TRAD M010, MN011, MN0104

Aceste instrucţiuni evaluează valoarea contorului creat prin reintroducerea


ieşirii E011 ca variabilă de intrare I004 şi contorizarea ei. Atingerea valorii
prescrise m(MN0010) determină comutarea unei variabile intermediare M101. În
funcţie de valoarea logică a acesteia, se determină două trasee logice, unul ce
indică transferul prin salt în starea 4, iar al doilea indică continuarea evoluţiei (când
numărul de cicluri s-a încheiat) în starea 11. Pentru a asigura un calcul numeric
corect, în fiecare nou ciclu se şterg locaţiile de memorie utilizate pentru contorizare
(MN0101 ± MN0104) prin instrucţiunea TRAD.

0053 ! M011
4 R M 010
329 u  ? 
?

5 R M101
6 S E003
7 cSc M011, I001, MN0006, MN0105, M012,
8 ! M012
9 R M011
60 R E003
1 S E006
2 cSc M012, I002, MN0007, MN0106, M013
3 ! M013
4 R M012
5 R E006
6 cID M013, MN0008, IN0001, E001
7 TRAD M013, MN0011, MN0105
8 TRAD M013, MN0011, MN0106
9 END

Ultimele instrucţiuni determină evoluţia pe segmentele finale  , G, H, A,


cu ştergerea corespunzătoare a adreselor numerice MN0105 şi MN0106 în vederea
unei reutilizări a programului.
Partea de iniţializare a programului cuprinde instrucţiunile de iniţializare a
stărilor (mărimi scalare) şi a adreselor numerice implicate în memorarea
parametrilor traiectoriei. În mod normal, punerea în funcţiune a automatului
implică stergerea tuturor locaţiilor din memoria scalară, deci iniţializarea înseamnă
înscrierea valorii logice 1 în starea iniţiala M001 a automatului. Programul de
iniţializare este înscris începând cu adresa 0100 (aleasă din considerente de spaţiu
de programare).

0100 Z
1 /
2 = M001
3 ATV MN0001,0011,´K1´,«´Kg´,´T1´,´m´,´0´
4 END
Ultima instrucţiune, în ambele părti ale programului,este END ceea ce
determină revenirea automată la adresa 0000.

4? 0c" ',"  *


capitolul 9. Sisteme de conducere cu automate rogramabile? 330

În capitolul @ a fost studiată comportarea cinematică şi dinamică a unui


robot ce operează în coordonate carteziene (fig.2.8). Aceste tipuri de roboţi
constitue soluţia cea mai utilizată în manipularea pieselor pentru operaţii de sortare,
depozitare în magazii, câmpuri de stocaj, etc. Schema simplificată a unui astfel de
robot este prezentată în figura 9.16.

§
O 1 , " 4 ,  
z
y
x y

§
O  †1 , " 4 †1 ,  4
zonă de stocare

x
Figura 9.16

Pentru aceste sisteme, cerinţele de manipulare uzuale solicită o poziţionare


§
numerică în coordonate   , " 4 , controlul pe axa Z fiind realizat de obicei prin
variabile scalare, limitatoare de poziţie. În acest sens, măsurarea distanţei pe axele
x,y se va efectua cu traductoare incrementate de poziţie, iar pe axa Z, două
limitatoare #  , #  vor marca cele două poziţii extreme, superioară şi respectiv
inferioară ale griperului de manipulare.
În mod normal, automatul ce controlează acest robot este conectat într-o
relaţie de subordonare master-slave cu un alt automat ce supervizează un sistem
complet de prelucrare şi transport, acesta dictând coordonatele de manipulare, în
funcţie de anumite criterii specifice automatului slave iar acesta, la rândul lui,
executând poziţionarea robotului.
331 u  ? 
?

1 cTD

0
TD

2 AD

3 DSD

Poz.  5 Poz. " 4

Final 0
cotă
1

6 â

0
â4

Stări Variabile în AP
1 M 001
2 M 002
capitolul 9. Sisteme de conducere cu automate rogramabile? 332

. .
. .
. .
6 M 006

Intrări Variabile în AP
scalare
— I 001
—
I 002
â I 003
â4 I 004

› I 005

Intrări Variabile în AP
numerice
cota  †1 IN 0001
cota " 4 †1 IN 0002

Intrări Variabile în AP
scalare
cTD E 001
Avans ù † E 002
Avans ù E 003
Avans
† E 004
Avans
E 005
Avans ⠆ E 006
Avans â E 007

Adrese Variabile în AP
numerice
cTD MN 0001
 MN 0002
333 u  ? 
?

"4 MN 0003
 †1 MN 0004
" 4 †1 E 005

b
Figura 9.17

Pentru exemplificare se va considera traiectoria între două puncte


§ §
 , " 4 ,   şi @  †1 , " 4 †1 ,   , o evoluţie de acest fel constituind o structura
tipică în orice operaţie de manipulare.Organigrama de stări ce permite
implementarea unui astfel de program este prezentată în figura 9.17,a.
În starea iniţială 1 se generează iesirea cTD (cerere Transfer Date) către
automatul master care transferă aceste date sub protocolul TD (Transfer Date). În
consecinţă, automatul slave trece în starea 2 în care se realizează acceptarea datelor
(AD). Pentru transferul datelor numerice se folosesc două intrări numerice IN0001
şi IN0002, câte una pentru fiecare dintre axele X,Y.
Pentru a delimita sensul de evoluţie al robotului, adreselor numerice, ce
definesc poziţia actuală şi cea viitoare, li se vor rezerva locaţii diferite în memorie.
Astfel, cotele  , " 4 , vor fi memorate în MN0001 şi MN0002 iar cotele  †1 ,
" 4 †1 (cota următoare) în MN0003 şi MN0004, respectiv figura 9.17,b.
Implementarea acestor stări, şi a transferului de date implicate în ele se
obţine pintr-o procedură similara cu cea utilizată în paragraful precedent:

0000 ! M001
1 R M005
2 R E007
3 S E001
4 . I005
5 S M002
6 ! M002
7 R M001
8 R E001
9 TRAD M002, IN0001, MN0003
10 TRAD M002, IN0002, MN0004
capitolul 9. Sisteme de conducere cu automate rogramabile? 334

Dupa această actualizare a datelor, automatul determină sensul de deplasare,

0011 S M003
2 ! M003
3 R M002
4 cOM M003, MN0001, MN0003, M101, M102
5 cOM M003, MN0002, MN0004, M103, M104

Instrucţiunile cOM realizează următoarele condiţii logice:


§ 0001  § 0003
 101  1, 102  1,  †  1

(MN0001)> (MN0003) atunci M101=1, M102=0, x-=1


(MN0002)” (MN0004) atunci M103=0, M104=1, y+=1
(MN0002)> (MN0004) atunci M103=1, M104=0, y-=1

În acest mod, variabilele M101 ± M104 identifică sensul de deplasare iar


distanţele impuse pe fiecare axă se obţin din diferenţele de coordonate între stările
iniţiale şi finale:

0015 SUB M003, MN0001, MN0003, M111, MN0005


6 SUB M003, MN0002, MN0004, M112, MN0006

Miscările pe axe se obţin având ca referinţa variabilele M101 ± M104 prin


instrucţiunile:

0017 ! M101
8 S E003
9 cSc M101, I001, MN0005, MN0101, M004
20 ! M102
1 S E002
2 cSc M102, I001, MN0005, MN0102, M004
3 ! M103
4 S E005
335 u  ? 
?

5 cSc M103, I002, MN0006, MN0103, M005


6 ! M104
7 S E004
8 cSc M104, I002, MN0006, MN0103, M005
9 ! M004
30 R M003
1 R E003
2 R E002
3 ! M005
4 R M003
5 R E004
6 R E005
7 . M004
8 S M006

Atingerea cotei(  †1 ) este marcata de comutarea variabilelor M004 şi M005


în 1 logic, ceea ce determina anularea tuturor miscarilor precedente şi trecerea în
starea 6.

0039 ! M006
40 R M004
1 R M005
2 S E007
3 . I004
4 S M001
5 TRAD M006, MN0003, MN0001
6 TRAD M006, MN0002, MN0004
7 END

Ultimele instrucţiuni desemnează coborarea griperului în poziţia inferioară,


deci atingerea punctului B pe traiecorie. De asemenea, se realizează un transfer de
date în sensul:

 ˜   †1
" 4 ˜ " 4 †1
ceea ce permite trecerea la o nouă stare.
capitolul 9. Sisteme de conducere cu automate rogramabile? 336

Programul de iniţializare începe de la adresa 0100 şi are forma:

0100 Z
1 /
2 = M001
3 ATV MN0001, 0002, ³0´, ³0´
4 END

Iniţializarea variabilelor numerice impune numai memorarea poziţiei iniţiale


§
a robotului presupusă la cota   , " "  §0,0 .

1 ! 

1?  

În capitolul 2 al lucrării s-a specificat că una din cele mai eficiente metode
de determinare a legii de control cinematice a unui robot este programarea prin
instruire. Această metodă repezintă o procedură realistă de tratare a problemelor de
conducere în condiţiile existenţei, fie a unei informaţii incomplete asupra spaţiului
de operare, fie a unei structuri funcţionare cu un grad de complexitate deosebit. În
astfel de cazuri, determinarea legii de conducere prin procedurile curente este, dacă
nu imposibilă, în orice caz extrem de dificilă.
I

PROGRAM
a R
a R

Figura 9.18

Instruirea reprezintă, în esentă, o metodă prin care legea de conducere se


determină pe baza informaţiei furnizată în timpul evoluţiei robotului sub comandă
manuală, pe o traiectorie dorită, informaţiile obţinute prin măsurători directe în
337 u  ? 
?

această mişcare servind ce elemente de referinţă pentru regenerarea ei în condiţii de


lucru operaţionale.
Pentru a pune în evidenţă particularitaţile specifice ale unui proces de
instruire, se vor analiza comparativ cele două sisteme de conducere, conducere prin
program şi prin instruire (fig 9.18).
In prima variantă legea de conducere este specificată în intregime în
program. Aceasta conţine toată strategia de mişcare, pentru orice situaţie
previzibilă a variabilelor în care evoluează robotul impunându-se aprioric o
comportare corespunzătoare. Se cere, deci, o cunoastere perfectă a tuturor
condiţiilor de operare şi determinarea anticipată a unei strategii adecvate.
Într-o conducere prin instruire, robotul, într-o primă etapă, execută sub
control manual o traiectorie dorită. Mărimile de comandă acţionează direct atâta
asupra robotului, impunândui-se miscarea, cât şi asupra automatului. Parametrii
traiectoriei sunt măsurati şi automatul asociază în fiecare fază, coordonatele
mişcării cu variabilele de instruire active (fig 9.18).
Într-o etapa ulterioară, datele acumulate de automat vor reprezenta
informaţia de bază pentru regenerarea traiectoriei iniţiale.
Se disting astfel două faze ale unui proces de instruire: instruirea propriu-
zisă şi execuţia instruirii.

1  %!,"

Variabilele de instruire reprezintă ansamblul mărimilor de intrare prin care


robotul execută o funcţie dorită şi care sunt interpretate simultan de automat pentru
definirea secvenţelor de instruire.
Aceste mărimi determină pe de o parte mişcarea robotului , iar pe de altă
parte, prin asocierea cu alte mărimi specifice procesului de instruire, permit
identificarea exactă a tuturor momentelor procesului de instruire.
În mod normal, instruirea este realizată prin setul de variabile de intrare prin
care se comandă manual poziţia robotului. În acest caz, se spune ca instruirea este
obţinută prin variabile externe.
În unele situaţii, mişcarea robotului este executată direct de operator, prin
acţiunea sa nemijlocită asupra braţului robotului. În aceste cazuri, variabila de
instrure asociată secvenţei este dedusă intrinsec de automat, o astfel de funcţionare
desemnând o instruire prin variabile interne.
Variabilele de instruire se exprimă printr-un vector de instruire
  § 1 ,  2 ,.... 2
capitolul 9. Sisteme de conducere cu automate rogramabile? 338

Variabilele de ieşire sunt variabile generate in procesul de instruire prin care


se execută nemijocit comanda robotului. Acestea sunt definite printr-un vector de
ieşire:

à  §à1 , à 2 ,...à ƒ
În cele mai dese cazuri, dimensiunile vectorului de instruire I şi de ieşire E
coincid (    ). De asemenea, există o corespondenţă strânsă între componentele
celor doi vectori, fiecărei variabile de instruire  4 asociidu-se o variabilă de ieşire
à4.
Secvenţa de instruire reprezintă o fază de miscare în intervalul căreia
vectorul variabilelor de instruire este constant. Acest lucru impune păstrarea
constantă a parametrilor ce definesc segmentul de traiectorie corespunzător, ceea
ce în cele mai dese cazuri, revine la menţinerea nemodificată a vectorului
variabilelor de ieşire E.
Secvenţele de instruire sunt identificate de automat în faza de instruire şi
servesc pentru regenerarea traiectoriei în faza de execuţie. Deci, secvenţele de
instruire realizează legatura între cele doua faze ale instruirii.
O secvenţa de instruire este identificată prin două mărimi: vectorul de
instruire şi parametrii ce definesc segmentul de traiectorie.
  § § 4 , § 4
unde  § 4 reprezintă vectorul de instruire al secvenţei j, iar § 4 desemnează
vectorul parametrilor segmentului de traiectorie asociat. Aceştia din urma pot fi
parametri de pozitie (distanţă, mărime unghiulară) sau viteză şi chiar acceleraţie.
O traiectorie ³instruită´ nu va putea fi reprezentată ca o mulţime ordonată
de secvenţe,
1 ,  2 ,.......11 , 12 ,.... 
unde  2  1 † 1 desemnează relaţia strictă de ordine a mulţimii.
Regenerarea traiectoriei în faza de execuţie presupune utilizarea unei proceduri
care, pe de o parte să reconstituie secvenţa şi, pe de alta parte, să păstreze relaţia de
ordine stabilită. Pentru facilitarea acestor operaţii se introduc două mărimi:
matricea de instruire şi matricea de date.

 
??   este un tablou de dimensiune (m x p) ce redă sintetic
variabilele de instruire asociate fiecărei secvenţe. Numarul de linii m corespunde
numerului de secvenţe al procesului iar numărul de coloane p este egal cu
dimensiunea vectorului de instruire.
339 u  ? 
?

Propriu-zis, matricea de instruire (fig. 9.19) este o matrice binară (cu


elemente 0 şi 1) unde un element  4 reprezintă variabila de instruire  4 în
secvenţa   .

4   4 §

Figura 9.19

Implementarea celor două faze ale procesului de instruire impune rezervarea


într-o zonă de memorie scalară a spaţiului necesar pentru memorarea acestei
matrici. În acest fel se obţine, faza de instruiere, imaginea complectă a mărimilor
ce au fost implicate în operaţia respectivă iar, în a două faza, această imagine
constitue suportul pentru regenerarea miscărilor.
Matricea de date defineste parametrii segmentului de traiectorie pe care
evoluează robotul în fiecare secvenţa de instruire.

  11  12 ...... 1  
 ...... ........ ........ ........ V
 V
  ....... .........  4 ........ V
 V
....... ........ ........ .........V
  1   2 ........   V


Un element dij reprezintă valoarea parametrului ce caracterizează mişcarea


pe axa j în secvenţa   . Dimensional, această matrice este identică cu cea de
capitolul 9. Sisteme de conducere cu automate rogramabile? 340

instruire, fiecare coloană a matricei reprezentând deci multimea valorilor


coordonatelor generalizate pentru o evoluţie complectă pe traiectorie.

1)?   !"

Un program de instruire cuprinde două părti principale: implementarea


procesului de instruire propiu-zisă şi execuţia instruirii(fig.9.20).
Elaborarea programului de instruire implică în principiu construirea unei
structuri software ce acoperă matricele de instruire şi de date. Schema logică a
acestor programe este prezentată în figura 9.21.
În programele de instruire se implementează matricea de instruire U linie cu
linie prin explorarea secvenţială a vectorului de instruire  4 . Daca într-o anumită
secvenţă   o variabilă  4 § este activă, variabila 4 asociată devine 1, în caz
contrar căpătând valoarea 0. Simultan, în memoria numerică se intoduce
parametrul 4 asociat mişcării respective. Procedura continuă până la epuizarea
tuturor secvenţelor de instruire.
În procesul de execuţie, matricele U şi D vor fi eplorate şi vor genera
mişcările corespunzătoare. Dacă 4 este 1, atunci în secvenţa i se va activa
variabila de iesire à 4 , controlul mişcării fiind realizat prin parametrul 4 . Dacă
4 este 0, atunci iesirea à 4 va fi ignorată în secvenţa respectivă.
cele doua programe sunt precedate de un program de iniţializare în care, pe
de o parte sunt aduse la valorile logice şi numerice dorite anumite locaţii ale
variabilelor interne iar, pe de alta parte, se prefigurează o rezervare a spaţiilor de
memorie necesare implementării programelor.
Din analiza prezentată se poate remarca că implementarea acestor programe
implică poceduri curente de tratare logică şi numerică.
341 u  ? 
?

0000: EXEcUŢIA
INSTRUIRII

END

Adr. Instr: EXEcUŢIA


INSTRUIRII

END

Adr. Iniţială: EXEcUŢIA


INSTRUIRII

END

Figura 9.20

Structura detaliată a fiecarei părti din program va depinde de resursele


software ale automatelor utilizate. În cele ce urmează, această procedură va fi
ilustrată pe automatul AP-117 descris anterior.
capitolul 9. Sisteme de conducere cu automate rogramabile? 342

START
INSTRUIRE

p, m

i = 1, j = 1

Secvenţa Si

citeşte Ij(i)

Se calculează
uij, dij j=j+1 i=i+1

4




STOP
INSTRUIRE
343 u  ? 
?

START
EXEcUŢIE INSTRUIRE

i = 1, j = 1

Secvenţa Si

citeşte uij

citeşte dij

Execută Ej(i) j=j+1

i=i+1
NU
Final Ej(i)

DA

4
 DA

DA


STOP

Figura 9.21

1+   !       ' , " 


"
?
Se va considera robotul în coordonate cilindrice (9.8.3) la care, pentru
simplitatea analizei, se va studia numai funcţia de instruire a braţului (fig. 9.22,a).
capitolul 9. Sisteme de conducere cu automate rogramabile? 344

Punctul terminal al bratului T I se impune o mişcare ciclica pe traiectoria A


B c D E F G H A utilizând cei trei parametri ai mişcării 1 ,  2 , 3 pe fiecare
articulaţie. Fiecare ciclu cuprinde opt segmente de traiectorie, fiecare segment fiind
definit printr-o coordonată specifică  . Aceste elemente permit construirea
principalelor mărimi din procesul de instruire:

3 G
F
T H
A B
1 2 c E
z
D

x 0 y

Figura 9.22

 l 1 ,  2 .... 6
 l1 ,  2 ... 6
 >1 ,  2 .... 6

Variabilele de instruire   sunt asociate mişcărilor în sensul urmator:  1 şi


 2 definesc instruirea pe coordonatele 1 în sens pozitiv şi negativ, respectiv  3 şi
 4 pe  2 iar  5 şi  6 pe 3 . Într-un mod similar, sunt alocate variabilele de ieşire
4.
Matricea de instruire şi de date va avea dimensiunule (8 x 6) şi vor necesită
rezervări corespunzătoare în memoria scalară şi cea numerică. De exemplu, spaţiul
alocat matricei de instruire va fi definit prin variabile de memorie.

  101  201  301 ... 601


  102  202  302 ... 602 V
  V
 ... ... ... ... V
 V
  108  208  308 ... 608
345 u  ? 
?

Pentru a simplifica tratarea procedurii, se va considera că în fiecare secvenţă


este activă o singură variabilă de miscare, deci segmentul de traiectorie
corespunzător va fi definit printr-un singur parametru. În consecinţă, matricea de
date D devine un vector de date cu următoarea alocare în memoria numerică:

 0 101
 0 102VV
 ?
 ... ... ... V
 V
 0 108
?
?
Variabile de Variabile Variabile de Variabile
intrare calare în AP Iseire scalare în AP
I1 I 101 E1 E 101
I2 I 201 E2 E 201
. . . .
. . . .
. . . .
I6 I 601 E6 E 601
įq1 I 001
įq2 I 002
įq3 I 003
STEP I 020

Variabilele scalare ce intervin în construcţia programelor sunt codificate


după criteriile expuse anterior (tabelul 9.4). În această implementare, parametrii
1 ,  2 , 3 se consideră măsuraţi prin traductoare incrementale ale caror semnale
—1 , — 2 , —3 sunt interpretate ca mărimi scalare. O mărime specifică acestei faze
este variabila de salt STEP. Aceasta este utilizată pentru delimitare, în faza de
instruire, a unei secvenţe   , şi iniţializarea procesului de transfer la   †1 .
Semnalul STEP este furnizat în mod curent de operator după fiecare segment de
traiectorie parcurs de robot.
În afara variabilelor precizate, implementarea programelor cere exploatarea
secvenţelor de instruire pas cu pas. Această operaţie se realizează printr-un vector
de secvenţa S obţinut din variabilele de memorie scalară M,
capitolul 9. Sisteme de conducere cu automate rogramabile? 346

 § 001,  002,...... 008 ›


Programul de instruire propriu-zisă începe la o adresă specifică ADRESA
DE INSTRUIRE şi are forma

ADR. INSTR: ! M001


. I101
S M101
! M001
. I201
S M201
.
.
.
! M001
. I601
S M601

Aceste instrucţiuni explorează prima linie a matricei de instruire inscriind în


variabilele respective valori 0 sau 1 după cum variabilele de instruire respective
sunt active sau nu.
În continuare, se determină primul element 1 al vectorului de date D prin
contorizarea impulsurilor traductoarelor de măsurare.

! I001
+ I002
+ I003
= M011
cSc M011, M301,FFFF, MN0001, M012
TRAD I020, MN0001, MN0101

Se consideră că un singur traductor de deplasare este activ, deci impulsurile


necesare se pot obţine printr-un operator SAU pe cele trei intrări I001, I002, I003
cu stocare finală în variabila M011. comutarea acestei variabile este contorizată în
locaţia MN0001. La închiderea secvenţei, prin variabila I020 (STEP) valoarea
stocată în MN0001 este transferată în vectorul de date MN0101. Valoarea FFFF
introdusă mai sus desemnează limita maximă de impulsuri ce pot fi contorizate în
locaţia numerică respectivă, limită semnalată de conutarea variabilei M012.
347 u  ? 
?

SNA I020, M002


RPT I020, ADR. INSTR., 0001, 0008
END

Ultimele instrucţiuni determină saltul la a două celulă a registrului de


secvenţe (M002) şi repetarea ciclului de instrucţiuni de mai sus de 8 ori cu o
valoare index egala cu 1.
A doua parte a programului, partea de execuţie a instructiunii se realizează
într-o manieră similară.

0000: !S M101
! E101
S M201
. E201
.
.
! M601
S E601

Prin aceste instrucţiuni este explorată matricea de instruire U. Locaţiile ce


conţin valoarea logică 1 comută variabila de ieşire corespunzătoare determinând
deci mişcarea pe un anumit parametru.

! I001
+ I002
+ I003
= M013
cSc M001, M013, MN0101, MN010, M014

Acest set de instrucţiuni determină coordonatele mişcării, comparând


valoarea măsurată de traductoare cu cea înscrisă în vectorul de date (MN0101). La
atingerea cotei, variabila M014 comută în starea 1.

! M014
R E101
R E201
capitolul 9. Sisteme de conducere cu automate rogramabile? 348

.
.
.
R E601
SNS M014, M002
RPT M014, 0000, 0001, 0008
END

Ultimele instrucţiuni desemnează anularea iesirilor active în secvenţa


anterioară, comutarea registrului de secvenţă pe o noua poziţie şi repetarea
întegului set de instrucţiuni de opt ori, lungimea completă a traiectoriei instruite.

You might also like