Sunteți pe pagina 1din 5

Limbaje de programare pentru roboti Curs 7

3.3 Nivelul obiectivelor

Introducerea robotilor in automatizarea complexa a proceselor tehnologice ridica urmatoarele probleme : a) Integrarea robotilor necesita de regula o programare offline. Pentru a pastra o viziune de ansamblu este necesara o formulare globala a sarcinilor. b) La proiectarea procesului tehnologic se tine seama de posibilitatile reale de automatizari. Deci programarea robotilor are loc deja in faza de proiectare. c) Flexibilitatea intregului sistem este determinate si de roboti. Aceasta se realizeaza prin sisteme de roboti si prin utilizarea modelului mediului. Cerintele privind proiectarea orientata pe obiective si formularea globala a sarcinilor conduc la introducerea limbajelor tehnologice implicite. Structura sistemului de programare la nivelul obiectivelor se prezinta in figura urmatoare :

Pe verticala , sistemul se imparte in 2 :


O parte independent de robot O parte dependent de tipul robotului folosit

Pe orizontala : Sistem TEACH-IN Sistem pentru limbaj Sistem pentru simulare

Etape :
a) Programul alcatuit de programator la nivelul obiectivelor este tradus de un compilator intr-un limbaj la nivelul efectorilor. Astfel , formularile globale ale sarcinilor sunt transformate in comenzi pentru miscari si actiuni. b) Se citeste programul rezultat si se fac corecturile si modificarile necesare. c) Compilatorul de limbaj robot transforma programul in cod masina virtuala. De asemenea compilatoul de limbaj robot va fi prelucrat de simulator si apoi transformat de un processor intern in programul robotului. In primul caz , miscarile si actiunile programate sunt simulate si acestea pot fi corectate sau modificate cu ajutorul panoului TEACH-IN. Programarea implicita la nivelul obiectivelor consta in aceea ca in locul algoritmului concret al desfasurarii procesului tehnologic se folosesc formulari globale ale scopului activitatii. Un exemplu de instructiune de acest tip in cazul montajului unei pompe este : - Aseaza capacul pe carcasa. Pentru executarea acestei instructiuni este necesar sa se defineasca obiectele Capac si Carcasa . In acest scop se introduc datele caracteristice ale acestor obiecte. Ele corespund datelor din cazul programarii calculatoarelor numerice. Operatia aseaza este descompusa de un program de rezolvare a problemelor in urmatorii pasi algoritmici: 1) Cauta capacul pe banda transportoare 2) Determina orientarea capacului 3) Apuca capacul in pozitia si orientarea corecta de pe banda transportoare 4) Transporta capacul la carcasa 5) Aseaza capacul pe carcasa in pozitia ceruta si cu forta necesara Informatiile necesare descompunerii sunt luate din modelul mediului tehnologic. Programul de rezolvare a problemelor corespunde interpretului din cazul programarii algoritmice. Limbajele la nivelul obiectivelor se dezvolta dependent de procesul tehnologic. Exemple: pentru sudare , pentru vopsire , pentru montaj , etc.

Capitolul 4 . Programarea robotilor la nivelul sistemului de actionare 4.1 Introducere


Controlul motoarelor de actionare cat si controlul informatiilor primate de la senzori si cele transmise catre sistemul de actionare se face cu ajutorul microcontrollerelor. Aceste dispositive electronice conduc si controleaza activitatea sistemelor robotice. In limba romana prin controller se intelege un circuit complex si logic aferent operarii in conditii optime a unui echipament periferic. Deci un controller este un dispozitiv care plasat in centrul unui microprocesor urmareste evolutia unui eveniment si compara in permanenta cu valoarea fixate anterior. Cand exista o diferenta intre valoarea citita si valoarea fixata controllerul genereaza o comanda cu scopul reducerii aceste diferente sau readucerea datelor la normal. Microcontrollerul difera de un microprocesor in multe feluri. Pentru a fi folosit un microprocesor trebuie sa i se adauge alte componente cum ar fi : memorie si componente pentru primirea si transmiterea de date. Microcontrollerul este proiectat sa memorize , sa prelucreze informatiile primite si sa transmita informatii catre exterior. Pentru toate aceste activitati nu sunt necesare alte componente externe , toate perifericele necesare sunt deja incluse in constructia microcontrollerului.

4.2 Prezentarea microcontrollerului PIC (PROGRAMMABLE INTERFACE CONTROLER )


Aceste microcontrollere sunt circuite de dimensiuni mici produse de societatea americana ARIZONA MICROCHIP TECHNOLOGY. In decursul timpului arhitectura unui microcontroller a cunoscut doua variante : 1) Varianta VON NEUMANN : Avem : unitatea CPU care transmite 8 biti la Memoria de date si program. 8 biti CPU Memoria de date si program

2) Varianta HARVARD Avem : 8 biti Memoria de date CPU 14 biti Memorie program

Arhitectura HARVARD este o arhitectura mai nou decat VON NEUMANN care permite marirea vitezei de functionare a microcontrollerului. In arhitectura HARVARD bus-ul de date si cel de adresare sunt separate. In felul acesta este posibil un debit mai mare de date prin unitatea de procesare centrala , deci o viteza mai mare de lucru. Tipic pentru arhitectura HARVARD este numarul redus de instructiuni. Microcontrollerul PIC are o arhitectura RISK ( REDUCE INSTRUCTION SET COMPUTE ) . Microcontrollerele PIC au un set de 35 de instructiuni. Microcontrollerele cu arhitectura VON NEUMANN sunt numite MICROCONTROLLERE CISC ( COMPLEX INSTRUCTION SET COMPUTER). Microcontrollerele INTEL SI MOTOROLA care fac parte din arhitectura VON NEUMANN au peste 100 de instructiuni. Familia de microcontrollere PIC este divizata in 3 mari familii : I) II) III) BASE LINE : care utilizeaza cuvinte ale instructiunilor de 12 biti. MID-RANGE : care utilizeaza cuvinte ale instructiunilor de 14 biti. HIGH-END : care utilizeaza cuvinte ale instructiunilor de 16 biti.

Pentru a identifica un microcontroller se utilizeaza numarul sau. Exemplu : PIC 16 F 877 A Primele 2 cifre indica : categoria microcontrollerului ( 16 biti) , este de tip MID-RANGE A 3 a litera indica : existenta unei memorii de tip FLASH ( F ) , sau o memorie de tip EPROM ( C ) , sau o memorie de tip ROM ( CR ). Urmatoarele 3 cifre indica : tipul microcontrollerului.

Structura unui microcontroller este prezentata in urmatorul desen :

4.2.2 Unitatea de memorie


Memoria este o parte a microcontrollerului a carei functie este a inmagazina datele. Pentru a afla datele este suficient sa se stie adresele de memorie si astfel continutul memoriei va fi cunoscut. Pentru o anumita adresa obtinem continutul unei anumite adrese a locatiei de memorie. Pentru scrierea si citirea in memorie sunt necesare doua concepte si anume : Adresarea Locatia de memorie

Deci , memoria consta in toate locatiile de memorie iar adresarea nu este altceva decat precizarea unei adrese dintre locatii. Aceasta inseamna ca trebuie sa selectam adresa locatiei de memorie pentru a cunoaste continutul acelei locatii. In afara de citirea dintr-o locatie de memorie , memoria trebuie sa permita si scrierea in ea. Aceasta se face prin asigurarea unei linii aditionale numita linie de control. Aceasta linie este desenata ca R|W (READ\WRITE). Linia de control este folosita astfel : Daca R\W are valoarea 1 se face citirea. Daca R\W are valoarea 0 se face scrierea in locatia de memorie.

Memoria este primul element util in functionarea microcontrollerului. Organizarea memoriei : Memoria microcontrollerului PIC este repartizata in 3 zone : Are 2 blocuri separate de memorie dintre care unul pentru date si celalalt pentru programe.