Documente Academic
Documente Profesional
Documente Cultură
Instruciunile ACL pot fi utilizate n dou moduri: direct (din ecranul ATS pentru
execuie imediat) sau indirect (din editare de programe i execuie la rularea
programului). n aceast documentaie se vor utiliza urmtoarele notaii: <prog>
pentru program, <var> pentru variabil, <value> pentru valoare, <par> pentru
parametru, <axis> pentru axa (cupla cinematic conductoare), <pos> pentru
poziia robotului, <pvect> pentru vector de poziie, <time> pentru timp, <state>
pentru starea controlerului, <arg> pentru argumentul unei funcii. Toate
instruciunile necesit validare prin tastarea lui <enter>, mai puin <Ctrl>+A, care
nseamn ncetarea execuiei comenzii repetitive introduse anterior. Sintaxa
limbajului ACL permite unele cuvinte opionale, care sunt introduse n paranteze
{}.
45
46
PRIORITY <prog> <var>: cnd se execut mai multe programe deodat, cele cu
prioritate mai mare vor rula mai nti. Programele cu aceeasi prioritate utilizeaz
procesorul pentru acelai interval de timp prin algoritmi de distribuie egali. 10 este
cea mai nalt prioritate, 1 cea mai sczut.
47
RUN ACT
END
PROGRAM SEND
POST 1 TO SIGN
END
VALUE devine 1
REMOVE <prog>: sterge programul din memoria RAM i variabilele locale ale
programului respectiv.
EDIT <prog>: unde <prog> este numele programului dat de ctre utilizator.
Activeaza modul de editare al programelor. Dac <prog> este un program nou, se
creaza automat un program nou cu acest nume. Prima linie afisata pe ecran n
modul editare este prima linie din programul <prog>.
Instruciuni pentru definirea pozitiilor robotului
DEFP{A}/B <pos>: defineste o poziie pentru grupul de axe A sau B. Poziiei
definite prin instruciunea DEFP trebuie s i se atribuie valori pentru fiecare ax
comandat, printr-o instruciune HERE sau SETPV.
DIMP{A}/B <pvect[n]>: unde <pvect[n]> este un vector cu n poziii pentru grupul
de axe A sau B. Instruciunea defineste un vector cu n poziii, de exemplu
CIM[1000], care se vor numi CIM[1], CIM[2], CIM[3],,CIM[1000].
HERE <pos>: instruciune care inregistreaza valorile curente ale traductorilor de
poziie pentru poziia curenta a robotului, n memoria RAM a controlerului n
locaia poziiei <pos>. <pos> trebuie s fie predefinit prin instruciunea DEFP sau
DIMP.
HERER <pos2> {<pos1>}: inregistreaza valorile impulsurilor traductorilor de
poziie ale <pos2> egale cu valorile corespunzatoare ale <pos1>. Dac <pos1>
este modificata, <pos2> se modifica i ea automat. HERER <pos2> este o
instruciune care inregistreaza valorile impulsurilor traductorilor de poziie relativ
la poziia curenta a robotului. Pentru aceast sintaxa a instructiunii HERER este
necesar a se introduce pentru fiecare axa comandata valoarea numarului de
impulsuri a traductorului de poziie pentru axa respectiva care adaugata la valoarea
curenta a acestuia va determin numrul de impulsuri a poziiei <pos2>. n
paranteze [ ] sunt afisate valorile introduse anterior.
TEACH <pos>: unde <pos> este o poziie a robotului (grup A). Instruciunea
introduce valori coordonatelor carteziene ale poziiei dorite <pos> pentru axele
comandate ale robotului. Valorile coordonatelor punctului caracteristic fata de
48
localizare. Instruciunea este necesar pentru definirea unor poziii ntre care exist
diferene ntre valorile impulsurilor traductoarelor de poziie pentru 1-3 axe
comandate (este utilizabil apoi instruciunea SETPV sau SHIFT).
UNDEF <pos>, UNDEF <pvect>: initializeaza valorile unei poziii sau vector de
poziii. <pos> sau <pvect> mai sunt definite, dar valorile prin care se defineste
localizarea poziiei sunt sterse. Instruciunea se poate utiliza impreuna cu
APPEND.
DELP <pos>, DELP <pvect>: sterge positia <pos> sau vectorul de poziie
<pvect> din memoria RAM, n modul direct. Se pot sterge acele poziii care nu
sunt utilizate n programe. Nu se pot sterge poziii individuale apartinand vectorilor
de poziii.
SET <var>= PVAL <pos> <axis>: atribuie valoarea variabilei <var> impulsurilor
traductorului de poziie a axei comandate specificate <axis> din poziia <pos>, n
coordonatele cuplelor.
SET <var> = PVALC <pos> <coord>: atribuie valorii coordonatei specificate
<coord> din poziia <pos> o anumita valoare de variabila <var>, n coordonate
carteziene. <pos> trebuie s fie o poziie a robotului.
SET <var> = PSTATUS <pos>: atribuie valoarea variabilei <var> la starea
poziiei specificate. Codul agreat pentru specificarea strii unei poziii este: 0
localizare nedefinita, 1 poziie fixa, 2 relativa n coordonatele cuplelor la o alta
poziie, 3 relativa n coordonate carteziene la o alta poziie, 12 relativa n
coordonatele cuplelor la poziia curenta, 13 relativa n coordonate carteziene la
poziia curenta. De exemplu, SET ST=PSTAT P1: P1 este o poziie fixa, variabila
ST va fi 1.
LISTPV <pos> sau LISTPV POSITION: afieaz valorile impulsurilor
traductoarelor de poziie ataate poziiei nvate a robotului i valorile
coordonatelor carteziene ale punctului caracteristic n raport cu sistemul de axe
atasat robotului. LISTPV POSITION afieaz situarea curenta a punctului
caracteristic al robotului.
1: 3657 2:-25366
3:42536
4:0
5:-43
49
x:5467 y:0
z:9586
sunt afisate n zecimi de mm i de grade.
P:657
R:-65,
valorile
carteziene
IF <var1> <cond> <var2>: unde <var1>, <var2> sunt variabile i <cond> este o
conditie de indeplinit ntre aceste variabile. Condiia poate fi <,>,=,<=,>=,<>. Dac
condiia este indeplinita, se executa o subrutina, dac nu este indeplinita, se executa
o alta subrutina care urmeaza instructiunii ELSE.
ANDIF <var1> <cond> <var2>: unde var1 i var 2 sunt variabile definite de ctre
utilizator sau constante i <cond> poate fi <,>,=,<=,>=,<>. Instruciunea ANDIF
combina logic cu o conditie cele doua variabile.
ORIF <var1> <cond> <var2>: unde var1 i var 2 sunt variabile definite de ctre
utilizator sau constante i <cond> poate fi <,>,=,<=,>=,<>. Instruciunea ORIF
combina logic cu o conditie cele doua variabile.
ELSE: instruciune care urmeaza dup instruciunea IF i precede instruciunea
ENDIF. ELSE marcheaza nceputul portiunii de program care se va executa dac
condiia n declaratia IF nu este adevarata.
ENDIF: instruciune de sfarsit al subrutinei al carei inceput este dat de
instruciunea IF.
FOR <var>=<value1> TO <value2>: unde <var> este o variabila definita de
utilizator, <value1>, <value2> sunt variabile definite de ctre utilizator sau
50
GOTO <label n>: unde <label n> poate fi orice numr de linie. Se realizeaz o
saritura n program la linia cu numrul de ordine egal cu <label n>. <label n>
trebuie s fie un numr al unei linii din programul care contine instruciunea
GOTO.
51
52
GET <var>: unde <var> este variabila definita de ctre utilizator. Cnd execuia
din program intalneste instruciunea GET, programul se opreste i ateapt ca s se
tasteze un caracter de la tastatura. Variabila va capata valoarea caracterului ASCII a
tastei apasate. Instruciunea GET ar trebui s fie precedata de instruciunea
PRINTLN astfel incat utilizatorul s stie ca se ateapt introducerea unei valori
variabilei <var>.
Instruciuni pentru comunicarea RS232
SENCOM <n> <var>: unde <n> este numrul portului de comunicarea RS232 (18), iar <var> este o variabila. Instruciunea trimite un sir de 8 biti pe portul de
comunicare specificat. De exemplu, SENDCOM 2, 27 trimite pe portul 2 codul
ASCII 27 (pentru <Esc>).
GETCOM <n> <var>: unde <n> este numrul portului de comunicarea RS232 (18), iar <var> este o variabila. Instruciunea determin primirea unui cuvant (byte)
pe portul de comunicatie specificat. Valoarea cuvantului (byte) este memorata ca
valoare a variabilei <var>. Instruciunea se utilizeaz n tandem cu instruciunea
SENCOM.
PRCOM <n> <arg1> {<arg2> <arg3>}: unde n este portul de comunicare RS232
i <arg> este fie o variabila fie un sir de caractere notate cu . Instruciunea
trimite valoarea variabilei sau sirul de caractere pe portul de comunicare. Textul
poate avea lungimea de pn la 30 caractere i spatii libere i poate contine pn la
3 argumente i/sau variabile. Un sir de pn la 10 caractere este un argument. De
exemplu: PRCOM 6 TESTING nseamn ca textul TESTING este trimis pe
portul de comunicare 6.
PRLNCOM <n> <arg1> {<arg2> <arg3>}: instruciune asemanatoare cu
PRCOM, dar adauga efectul apasarii tastei <Enter> dup ce se realizeaz
transmisia pe portul de comunicare.
53
54