cap 9-Sisteme de conducere cu automate

82
Capitolul 9 SISTEME DE CONDUCERE CU AUTOMATE PROGRAMABILE 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

Transcript of cap 9-Sisteme de conducere cu automate

Page 1: cap 9-Sisteme de conducere cu automate

Capitolul 9

SISTEME DE CONDUCERECU AUTOMATE

PROGRAMABILE

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.

9.1 Caracteristici generale

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

Page 2: cap 9-Sisteme de conducere cu automate

Capitolul 9. Sisteme de conducere cu automate rogramabile

Variabilele de ieşire dirijează acţionarea elementelor de execuţie de tipul contactoarelor, electrovalvelor, elementelor de afişare, etc.

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

Memorie

Bloc de control

Bloc de oper logic

Unitate de programare

Unitate centrală

Unitate de comandă

Cir

cuit

e de

in

terf

aţă

ieşi

re

Cir

cuit

e de

in

terf

aţă

intr

are

Variabile de intrare Variabile

de ieşire

294

Page 3: cap 9-Sisteme de conducere cu automate

Roboţi industriali

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

9.2 Sistemul de interfaţă automat - robot

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

295

Page 4: cap 9-Sisteme de conducere cu automate

Capitolul 9. Sisteme de conducere cu automate rogramabile

impune interogarea periodică a mărimilor de intrare (de la robot) şi activarea tot periodicaă a canalelor de ieşire (spre robot).

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.

9.2.1. Sistemul de interfaţă pe intrare

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

Magistrală de date

Magistrală de adrese

Magistrală de control

INTERFAŢĂ IEŞIRE

INTERFAŢĂ INTRARE

Intrări secvenţiale

Intrări numerice

Ieşirisecvenţiale

Ieşirinumerice

296

Page 5: cap 9-Sisteme de conducere cu automate

Roboţi industriali

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

de adresă sunt defalcaţi în

unde şi realizează adresarea pe cele două nivele de adresa, respectiv.

Activarea celor două linii de multiplexoare este controlataă prin semnalele de validare şi .

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

Magistrală de date

Magistrală de adrese

Magistrală de control

Ak

1k2k1v 1

2MUX

11MUX 2

1MUX PMUX1

CI CI CI CI CI CI

11I 1

kI 21I 2

kI pI1p

kI

2v

297

Page 6: cap 9-Sisteme de conducere cu automate

Capitolul 9. Sisteme de conducere cu automate rogramabile

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 . Variabilele de

intrare de tip secvenţial sunt preluate de linia iar vectorul de intrare numeric

este transferat în paralel pe cele 8 linii ale magistralei.

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.

9.2.2. Sistemul de interfaţă pe ieşire

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

D DZ R1 R2

C1ui OC

+

TS

uo

298

Page 7: cap 9-Sisteme de conducere cu automate

Roboţi industriali

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 şi

respectiv 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 ) ş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.

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 .

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

Magistrală de controlMagistrală de adreseMagistrală de date

DMUX1 DMUX2VM VM

kA

k2k1

D0

MCEMCE

DQ

DQ

DQ

DQ

DQ

DQ

DQ

MCE

E0 E1 Ep-110EN 1

7EN pEN 0pEN 7

Ieşiri scalare Ieşiri numericee

299

Page 8: cap 9-Sisteme de conducere cu automate

Capitolul 9. Sisteme de conducere cu automate rogramabile

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.

Figura 9.6

9.3. Automate programabile cu operare scalară

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

OC

D

Rsarcină

T

ui

300

Page 9: cap 9-Sisteme de conducere cu automate

Roboţi industriali

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.

9.3.1. Structura de bază

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.

301

Page 10: cap 9-Sisteme de conducere cu automate

Capitolul 9. Sisteme de conducere cu automate rogramabile

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

Cod operaţie Câmp operand Adresă operand

Primii patru biţi desemnează codul operaţiei ce urmează a fi

efectuată, urmatorii biţi 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

Magistrală (linie de date)

Magistrală de adrese

Magistrală control

GTGS

CC DI RI MP

NA

CONSOLĂ

PROGRAM

MIUL

bloc N/T Module I Module E

I1 Ik E1 Ek

302

Page 11: cap 9-Sisteme de conducere cu automate

Roboţi industriali

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

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.

9.3.2. Instrucţiunile automatului

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

303

Page 12: cap 9-Sisteme de conducere cu automate

Capitolul 9. Sisteme de conducere cu automate rogramabile

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 XLDC Adr X

2) STO Adr XSTOC 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).

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.

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 XANDC adr X

Instrucţiunea realizează funcţia ŞI între conţinutul bistabilului A şi operandul X (sau complementul acestuia).

304

Page 13: cap 9-Sisteme de conducere cu automate

Roboţi industriali

4) OR adr XORC adr X

unde se realizează funcţiile

5) XOR adr X

determină funcţia logică SAU EXCLUSIV

6) CMAZA

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

acestuia ,

sau aducerea sa la valoarea logică 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) J AdrJC Adr

Instrucţiunea J şi JC 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 .

305

Page 14: cap 9-Sisteme de conducere cu automate

Capitolul 9. Sisteme de conducere cu automate rogramabile

8) S Adr XR 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.

Dacă conţinutul bistabilului este 0 funcţiile respective devin inoperante.

9.3.3. Implementarea programelor de conducre

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

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.

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.

306

Page 15: cap 9-Sisteme de conducere cu automate

Roboţi industriali

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

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.

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

Z1

X1

Z2

X2

Z4

X3

Z3

3

1

4

3

0 1

0 1 1 0

a b

Stări Variabile M1 M 0012 M 0023 M 0034 M 004

Intrări Variabile Ix1 I 001x2 I 002x3 I 003x4 I 004

Ieşiri Variabile EZ1 E 001Z2 E 002Z3 E 003Z4 E 004

307

Page 16: cap 9-Sisteme de conducere cu automate

Capitolul 9. Sisteme de conducere cu automate rogramabile

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 ZA2 STOC M0013 STO M0024 STO M0035 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 precedenta8 R E002 Sterge iesirea precedenta9 S E001 Genereaza iesirea starii I0010 ANDC I001 Traseul logic 1 S M0022 LD M0013 AND I001 Traseul logic 4 S M0035 LD M002

308

Page 17: cap 9-Sisteme de conducere cu automate

Roboţi industriali

6 R M001 Starea 27 R E0018 S E002 Traseu logic 9 ANDC I0020020 S M0011 LD M0022 AND I0023 S M0014 LD M0035 R M001 Starea 36 R E0017 S E0038 AND I003 Traseul logic 9 S M0020030 LD M0041 R M002 Starea 42 R E0023 S E0044 S M003 Traseul logic 0025 J 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 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.

309

Page 18: cap 9-Sisteme de conducere cu automate

Capitolul 9. Sisteme de conducere cu automate rogramabile

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.

9.4. Conducerea unui manipulator în instalaţii de tratare termică

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

ND

1

ND

2

ND

3

EVACUARE

Încărcare

L1L2L3L4L5

M

AM

RM

CLD

CLI

BT

RC

OC

310

Page 19: cap 9-Sisteme de conducere cu automate

Roboţi industriali

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

311

Page 20: cap 9-Sisteme de conducere cu automate

Capitolul 9. Sisteme de conducere cu automate rogramabile

VariabileDe intrare

Cod Specificatii Variabila de ieşire

Cod Specificatii

OC I 001 Oprire cuptor RRRC E001 Reglaje cuptorPP I 002 Prezenta

piesaAB E002 Avans bandă

L1 I 003Limitatoare de pozitie brat manipulator

AM E003 Avans manipulator

L2 I 004 RM E004 Retragere manipulator

L3 IGR E005 Închidere griperL4 I 006 DGR E006 Deschidere

griperI 009 Griper

deschis

Validare numarator

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.

312

Page 21: cap 9-Sisteme de conducere cu automate

Roboţi industriali

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

313

Page 22: cap 9-Sisteme de conducere cu automate

Capitolul 9. Sisteme de conducere cu automate rogramabile

AB

PP

AM

L4

IGR

GRI

VN

NUM1

AM AM

L1 L3

NUM2

AM

L2

DGR

GRD

RM

L5

NUM3

RC,VN

OC

1

2

3

4

5 7 6

8

9

10

11

1

0

1

0

1

0

1 0

1

0

1

0

1

0

1

0

0 1

1 0

0

1

01

314

Page 23: cap 9-Sisteme de conducere cu automate

Roboţi industriali

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 ZA2 STOC M0012 STOC M002 Initializare0012 STO M0113 LD M0014 R M0115 R M010 Starea 16 R E0017 S E0028 AND I002 Transfer în starea 29 S M0020020 LD M0021 R M0012 R E002 Starea 23 S E0034 AND I006 Transfer în starea 35 S M0036 LD M0037 R M002 Starea 38 R E0039 S E0050030 AND I008 Transfer în starea 41 S M0042 LD M0043 R M003 Starea 34 R E0055 S E0076 ANDC T001 Transfer în starea 57 S M0058 LD M0049 AND T001 Transfer în starea 6

315

Page 24: cap 9-Sisteme de conducere cu automate

Capitolul 9. Sisteme de conducere cu automate rogramabile

0040 ANDC T0021 S M0062 LS M0043 AND T001 Transfer în starea 74 AND T0025 S M0076 LD M0057 R M004 Starea 58 S E0039 LD M0060050 R M004 Starea 61 S E0032 LD M0073 R M004 Starea 74 S E0035 LD M0056 AND I003 Transfer 7 S M0088 LD M0069 AND I004 Transfer 0060 S M0081 LD M0072 AND I00 Transfer 3 S M0084 LD M0085 R M0056 R M006 Starea 87 R M0078 R E0039 S E0060070 AND I009 Transfer în starea 91 S M0092 LD M0093 R M0084 R E006 Starea 95 S E0046 AND I007 Transfer în starea 107 S M010

316

Page 25: cap 9-Sisteme de conducere cu automate

Roboţi industriali

8 LD M0109 R M009 Starea 100080 R E0041 ANDGC T003 Transfer 2 S M0013 LD M0104 AND T003 Transfer 5 S M0116 LD M0117 R M010 Starea 118 R E0079 S E0010090 AND I001 Transfer în starea 11 S M0012 J 0013

9.5. Automate programabile cu operare vectorială

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

317

Page 26: cap 9-Sisteme de conducere cu automate

Capitolul 9. Sisteme de conducere cu automate rogramabile

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.

1I pI 1E pE1EN rEN 1IN rIN

MI MIS MES MEN MIN

UC NA MPConsolă program

instrucţiune16

12 4

Controler ULpUC RAM ROM

Linie date

IM

Magistrală de adrese

Magistrală de date (D0 – D7)Magistrală de contrtol

B15 B11 B0

Cod instrtucţiune

Adresă operand

B11 = 0 Instrucţiune scalară

B15 B11 B8

Cod instrtucţiune

0

1

B11

Adresă operand 1

Adresă operand p

B11

B11 = 1 Instrucţiune numerică

318

Page 27: cap 9-Sisteme de conducere cu automate

Roboţi industriali

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 ( ), în acest caz primii patru biţi 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 :

319

Page 28: cap 9-Sisteme de conducere cu automate

Capitolul 9. Sisteme de conducere cu automate rogramabile

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.

9.6. Conducerea unui robot în liniile automate de sudură pentru caroserii auto

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

320

Page 29: cap 9-Sisteme de conducere cu automate

Roboţi industriali

Figura 9.12

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

cer numai 4: , , şi . Miscările pe fiecare grad de libertate sunt măsurate

cu traductoare de deplasare de tip incremental pentru miscările de translaţie şi

şi de tip absolut pentru miscările de rotaţie , .

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 parametrii de bază ai deplasării. Astfel, indicele I

desemnează gradul de libertate în sensul pozitiv sau negativ iar valoarea din paranteză defineşte cota mişcării.

Figura 9.13

Linie sudură

1q 2q

3q4q

5q

6q

13 kq

22 kq

35 kq 35 kq

35 kq 35 kq

35 kq 35 kq

4152 , kqkq 81 kq

73 kq

mF

1mF

1F

C

BA

H G1D

2D

mD

Puncte de sudură

Linie de sudură

y

z

x0

321

Page 30: cap 9-Sisteme de conducere cu automate

Capitolul 9. Sisteme de conducere cu automate rogramabile

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

traseul A,B,C,pintr-o miscare de translaţie în sens pozitiv pe o cotă şi o

miscare de translaţie în sens negativ pe cota . În punctul C este rotit

terminalul cu o miscare în sens negativ până ce electrodul de sudură atinge

caroseria (cota ), punctul . 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

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 şi

(punctul F1).

Noul punct de sudură 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 ), robotul revine în

punctul iniţial al traiectoriei ( GHA) prin trei secvenţe definite prin

parametrii , .

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.

322

Page 31: cap 9-Sisteme de conducere cu automate

Roboţi industriali

AC

PC

AC

PC

3q

1

2

3

4

6

5

7

8

9

10

11

12

13

b

a

k4

k2

k3

k3

2q

k5

m

k6

k7

k8

0

0

0

0

0

0

0T1

0

1

1

1

1

1

1 1

0

1

0

1

0

1

1

k1

SUDURA

5q

5q

1q

3q

2q

3q

1q

INCR

0

a

323

Page 32: cap 9-Sisteme de conducere cu automate

Capitolul 9. Sisteme de conducere cu automate rogramabile

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ă . 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 . 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 corespunzătoare retragerii terminalului şi reorientării braţului.

Analiza traiectoriei indică existenţa unor cicluri de miscare între puncte de

tipul . 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 AP1 M0012 M0023.

M0003.

IntrăriScalare

VariabileÎn AP

324

Page 33: cap 9-Sisteme de conducere cu automate

Roboţi industriali

.

...

δq2

δq3

PC

E 011

I 001I 002I 003I 004

13 M013

Intrărinumerice

VariabileÎn AP

δq1

δq5

ÎN 0001ÎN 0002

Iesiri scalare

Variabile în AP

Cote numerice prescrise

Adrese numerice

ACSUDURAINCR

E 001 E 002

E 003E 004E 005

E 006E 007E 008

E 009E 010E 011

K1

K2

K3

K4

K5

K6

K7

K8

T1

m

o

MN 0001MN 0002MN 0003MN 0004MN 0005MN 0006MN 0007MN 0008MN 0009MN 0010MN 0011

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 , sunt

325

Page 34: cap 9-Sisteme de conducere cu automate

Capitolul 9. Sisteme de conducere cu automate rogramabile

conectate la intrările scalare I001 şi I002. Traductoarele de tip absolut ,

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 ! M0011 R M0132 R E0013 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 . I0035 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)

67890010

!RRSCSC

M002M001E009E005M002, 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.

0011234

!RRS

M003M002E005E004

326

Page 35: cap 9-Sisteme de conducere cu automate

Roboţi industriali

56789

CSC!RRCID

M003, I001, MN0002, MN0102, M004M004M003E004M004, 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 (I001). A

doua parte, defineşte starea 4 în care se realizează rotaţia terminalului, miscarea .

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.

0020123

!RSTMP2

M005M004E010M005, 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.

002456789301234

!RRCID!RCID!RSCSC

M006M005E010M006, MN0003, IN0002, E007, M007M007M006M007, MN0004, IN0001, E002, M008M008M007E005M008, I002, MN0005,MN0103, M009

327

Page 36: cap 9-Sisteme de conducere cu automate

Capitolul 9. Sisteme de conducere cu automate rogramabile

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

DC F1, prin doua rotaţii ai parametrilor şi şi o translaţie prin . Se obţine

astfel starea 9 ce încheie un ciclu funcţional şi generează un semnal de incrementare E011.

00356789401234567895012

!RRSSRRCSC!./S!.STRADTRADTRADTRAD

M009M008E005E011M010M009E011M010, I004, MN0010, MN0104, M101M010M101M004M010M101M011M010, MN0011, MN0101M010, MN0011, MN0102M010, MN0011, MN0103M010, 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.

005345

!RR

M011M 010M101

328

Page 37: cap 9-Sisteme de conducere cu automate

Roboţi industriali

678960123456789

SCSC!RRSCSC!RRCIDTRADTRADEND

E003M011, I001, MN0006, MN0105, M012, M012M011E003E006M012, I002, MN0007, MN0106, M013M013M012E006M013, MN0008, IN0001, E001M013, MN0011, MN0105M013, MN0011, MN0106

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

01001234

Z/=ATVEND

M001MN0001,0011,”K1”,…”Kg”,”T1”,”m”,”0”

Ultima instrucţiune, în ambele părti ale programului,este END ceea ce determină revenirea automată la adresa 0000.

9.7. Conducerea unui robot în coordonate carteziene

329

Page 38: cap 9-Sisteme de conducere cu automate

Capitolul 9. Sisteme de conducere cu automate rogramabile

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

Figura 9.16

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

numerică în coordonate , 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.

z

xy

zonă de stocare

sj zyxA ,,1

jji zyxA ,, 11

x

y

z

330

Page 39: cap 9-Sisteme de conducere cu automate

Roboţi industriali

Stări Variabile în AP

12

M 001M 002

CTD

Z

DSD

Poz. Poz.

AD

TD

Final cotă

jZ0

1

1

0

0

1

1

2

3

4

5

6

a

331

Page 40: cap 9-Sisteme de conducere cu automate

Capitolul 9. Sisteme de conducere cu automate rogramabile

.

.

.6

.

.

.M 006

Intrări scalare

Variabile în AP

I 001

I 002

I 003

I 004

I 005

Intrări numerice

Variabile în AP

Cota IN 0001

Cota IN 0002

Intrări scalare

Variabile în AP

CTD E 001

Avans E 002

Avans E 003

Avans E 004

Avans E 005

Avans E 006

Avans E 007

Adrese numerice

Variabile în AP

CTD MN 0001

MN 0002

332

Page 41: cap 9-Sisteme de conducere cu automate

Roboţi industriali

MN 0003

MN 0004

E 005

bFigura 9.17

Pentru exemplificare se va considera traiectoria între două puncte

şi , 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 , , vor fi memorate în MN0001 şi MN0002 iar cotele ,

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

000012345678910

!RRS.S!RRTRADTRAD

M001M005E007E001I005M002M002M001E001M002, IN0001, MN0003 M002, IN0002, MN0004

333

Page 42: cap 9-Sisteme de conducere cu automate

Capitolul 9. Sisteme de conducere cu automate rogramabile

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

00112345

S!RCOMCOM

M003M003M002M003, MN0001, MN0003, M101, M102M003, MN0002, MN0004, M103, M104

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

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

00156

SUB SUB

M003, MN0001, MN0003, M111, MN0005M003, MN0002, MN0004, M112, MN0006

Miscările pe axe se obţin având ca referinţa variabilele M101 – M104 prin instrucţiunile:

0017892012345

!SCSC!SCSC!SCSC

M101E003M101, I001, MN0005, MN0101, M004M102E002M102, I001, MN0005, MN0102, M004M103E005M103, I002, MN0006, MN0103, M005

334

Page 43: cap 9-Sisteme de conducere cu automate

Roboţi industriali

67893012345678

!SCSC!RRR!RRR.S

M104E004M104, I002, MN0006, MN0103, M005M004M003E003E002M005M003E004E005M004M006

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

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

0039401234567

!RRS.STRADTRADEND

M006M004M005E007I004M001M006, MN0003, MN0001M006, MN0002, MN0004

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:

ceea ce permite trecerea la o nouă stare.

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

335

Page 44: cap 9-Sisteme de conducere cu automate

Capitolul 9. Sisteme de conducere cu automate rogramabile

01001234

Z/=ATVEND

M001MN0001, 0002, “0”, “0”

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

a robotului presupusă la cota .

9.8. Programare prin instruire

9.8.1. Principii generale

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

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

a R

I

a RPROGRAM

336

Page 45: cap 9-Sisteme de conducere cu automate

Roboţi industriali

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.

9.8.2. Mărimi în procesul de instruire

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

337

Page 46: cap 9-Sisteme de conducere cu automate

Capitolul 9. Sisteme de conducere cu automate rogramabile

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:

Î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 asociidu-se o variabilă de ieşire

.

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.

unde reprezintă vectorul de instruire al secvenţei j, iar 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,

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

Matricea de instruire 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.

338

Page 47: cap 9-Sisteme de conducere cu automate

Roboţi industriali

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

elemente 0 şi 1) unde un element reprezintă variabila de instruire în

secvenţa .

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.

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

pe axa j în secvenţa . Dimensional, această matrice este identică cu cea de

339

Page 48: cap 9-Sisteme de conducere cu automate

Capitolul 9. Sisteme de conducere cu automate rogramabile

instruire, fiecare coloană a matricei reprezentând deci multimea valorilor coordonatelor generalizate pentru o evoluţie complectă pe traiectorie.

9.8.3. Structura programelor de instruire

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 . Daca într-o anumită

secvenţă o variabilă este activă, variabila asociată devine 1, în caz

contrar căpătând valoarea 0. Simultan, în memoria numerică se intoduce

parametrul 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ă este 1, atunci în secvenţa i se va activa

variabila de iesire , controlul mişcării fiind realizat prin parametrul . Dacă

este 0, atunci iesirea 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ă.

340

Page 49: cap 9-Sisteme de conducere cu automate

Roboţi industriali

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.

EXECUŢIA INSTRUIRII

END

EXECUŢIA INSTRUIRII

END

EXECUŢIA INSTRUIRII

END

0000:

Adr. Instr:

Adr. Iniţială:

341

Page 50: cap 9-Sisteme de conducere cu automate

Capitolul 9. Sisteme de conducere cu automate rogramabile

STARTINSTRUIRE

p, m

i = 1, j = 1

Secvenţa Si

Citeşte Ij(i)

Se calculeazăuij, dij

pj

mi

STOPINSTRUIRE

j = j + 1 i = i + 1

342

Page 51: cap 9-Sisteme de conducere cu automate

Roboţi industriali

Figura 9.21

9.8.4 Programarea prin instruire a unui robot în coordonate cilindrice

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

i = 1, j = 1

Secvenţa Si

Citeşte uij

Citeşte dij

Execută Ej(i)

pj

mi

STOP

j = j + 1

i = i + 1

STARTEXECUŢIE INSTRUIRE

Final Ej(i)

DA

DA

DA

NU

343

Page 52: cap 9-Sisteme de conducere cu automate

Capitolul 9. Sisteme de conducere cu automate rogramabile

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

Figura 9.22

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

definesc instruirea pe coordonatele în sens pozitiv şi negativ, respectiv şi

pe iar şi pe . Într-un mod similar, sunt alocate variabilele de ieşire .

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.

Pentru a simplifica tratarea procedurii, se va considera că în fiecare secvenţă este activă o singură variabilă de miscare, deci segmentul de traiectorie

1q 2q

3qT

z

yx 0

A B

C

D

E

FG

H

344

Page 53: cap 9-Sisteme de conducere cu automate

Roboţi industriali

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

Variabile de intrare calare

Variabile în AP

Variabile de Iseire scalare

Variabileîn AP

I1

I2

.

.

.I6

δq1

δq2

δq3

STEP

I 101I 201...I 601I 001I 002I 003I 020

E1

E2

.

.

.E6

E 101E 201...E 601

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

după criteriile expuse anterior (tabelul 9.4). În această implementare, parametrii

, , se consideră măsuraţi prin traductoare incrementale ale caror semnale ,

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

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

345

Page 54: cap 9-Sisteme de conducere cu automate

Capitolul 9. Sisteme de conducere cu automate rogramabile

ADR. INSTR: !.S!.S...!.S

M001I101M101M001I201M201

M001I601M601

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 al vectorului de date D prin

contorizarea impulsurilor traductoarelor de măsurare.

!++=CSCTRAD

I001I002I003M011M011, M301,FFFF, MN0001, M012I020, 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.

SNARPT

I020, M002I020, ADR. INSTR., 0001, 0008

346

Page 55: cap 9-Sisteme de conducere cu automate

Roboţi industriali

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!S...!S

M101E101M201E201

M601E601

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.

!++=CSC

I001I002I003M013M001, 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.

!RR...

M014E101E201

347

Page 56: cap 9-Sisteme de conducere cu automate

Capitolul 9. Sisteme de conducere cu automate rogramabile

RSNSRPTEND

E601M014, M002M014, 0000, 0001, 0008

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.

348