A.移動插補功能 移動插補功能是機器人語言特有的功能,詳細再分為如下幾種:
; q/ z7 Q3 b7 z. j+ y
# m: J' V* i( u (1)速度設定(JSPEED,SPEED);
5 q8 ~+ t7 P8 e1 @% s3 K/ K+ s6 W
(2)軌跡插補(JMOVE,LMOVE,VMOVE,CMOVE,CMOVE3,ATRAN,ITRAN);
: `+ q; K! n3 @+ x; [& p3 D! m5 @( Y
(3)動作定時(PAUSE,DELAY);
& \! X" S; [5 \6 w
& t' Z9 t) R( c0 D" G' s8 ~ (4)定位精度(COARSE,F(xiàn)INE);
3 n/ q" v0 l1 p# a. P7 |. ~, u
2 \- `( Z7 _) G$ o& C2 a (5)手爪控制(OPEN,CLOSE)。
" r% b Y6 Z1 W* j2 e$ s7 ^8 `8 d# t
- V; B3 O5 p& B; G9 @ 其中JMOVE是在關節(jié)坐標系上進行的直線插補指令,LMOVE是作業(yè)坐標系(通常是三維直角坐標系)上進行的直線插補指令。在AL語言中,通過with(限定)語句能對力控制和對軸進行的控制加以描述,這里則沒有這種功能,因為這種功能用的太少了。) | d( K" M2 j3 p7 ?4 n
[' ~2 ?4 c+ n3 K& h
B.環(huán)境定義功能 與用于數(shù)控機床的NC語言一樣,機器人語言中的主要運算是環(huán)境數(shù)據(jù)之間進行的運算,但是現(xiàn)有的機器人語言是以基本動作級的實時系統(tǒng)為中心的。所以有關環(huán)境定義功能及其運算功能還不充分,但在環(huán)境定義功能中,如下三點是重要的:% N5 \0 F/ j2 ^" a" n
; q& I! j U3 j% q/ ]) Q3 q4 J6 j (1)通過示教功能來生成環(huán)境模型;
8 s' n& ]2 h' [% J. v9 O3 Y" \; P j+ a& ?) `3 p
(2)規(guī)劃實時系統(tǒng)需要幾何模型;. V$ y3 i: {3 a
5 S! d( h) R+ {9 e (3)生成環(huán)境模型的過程是一件很費時的工作,因此往往以不是實際需要等理由而用示教功能來代替。% q7 g' ^: S- u" @9 w
- X% y4 H$ L, [, Y) J# Y8 V 在機器人語言中、在標有名稱的位置姿態(tài)數(shù)據(jù)和語言編輯功能的基礎上,能組成直線或圓弧的動作指令,但僅僅根據(jù)這種指令還形成不了幾何模型的點、線、面、立體等形狀參數(shù)的遞階結構。
. I8 v# Z7 \9 x8 Y, D% P/ l9 x J, b: O" O" M( B
然而,在為了進行研究而開發(fā)的規(guī)劃系統(tǒng)中,以及在應用于機器人系統(tǒng)的幾何模型系統(tǒng)中,則力圖賦于幾何模型有很強的防碰撞功能和與各種環(huán)境示教相連結的功能。3 [1 m% \& f s( x
* t& q3 ^6 G: U7 K4 K C.數(shù)據(jù)結構及其運算功能 在通用的數(shù)據(jù)結構中,一般有文字符號和矩陣(最多為二維矩陣)等形式。而在結構化的機器人語言中,采用更為通用的數(shù)據(jù)結構。例如吸收了PASCAL語言的自動記錄,或者LISP語言的自動表格生成等優(yōu)點。機器人語言本身專用的數(shù)據(jù)結構是坐標變換矩陣、三維向量,位置和姿態(tài)的點數(shù)據(jù)以及其它的點數(shù)據(jù)矩陣等。向量的運算包括加減運算(++,--),內積與外積(SPRD,VPRD)運算等。在采用AL語言的初級結構化的機器人語言中的坐標變換函數(shù)在工業(yè)上很少得到應用。( H/ Z& o1 }( I+ ^# h h" D( X w0 P
d) J! X8 W6 p: X B D.程序控制功能 在逐步執(zhí)行的通用程序語言中,設計有程序控制語言,以便選定后繞運行的分支或轉入循環(huán)運行。最典型的例子是FORTRAN語言的GOTO語句和DO語句的組合;PASCAL語言的FOR語句,WHILE語句和REPEAT—UNTIL語句等。在可編程邏輯控制器(programmable logic controller)中,有梯形圖和在此基礎上編制的專用PLC語言。在機器人語言中動作順序的描述是重要的,為了強調這種描述的可讀性,因而應當力圖采用類似于PASCAL語言所具有的結構化編程方式,但是目前實際上這種描述只具有BASIC語言那樣簡單的控制功能。; d( \+ M" {+ ^
3 m* S. d2 h8 ?1 i* M/ a ~3 N& t 在生產現(xiàn)場用的最多的命令級語言中,常用GOTO和計數(shù)控制語句,這些語句是一種匯編語句,因而很難讀懂。) p. O0 G' {. U& `( ~
: ~& m. o9 ^4 s, Y/ n' D" d 現(xiàn)有的機器人語言中有主程序和子程序,能對過程和子程序進行說明,但沒有局部變量,所以機器人語言頂多和BASIC語言的水平一樣,只能使用沒有自變量或沒有局部變量的子程序。+ h5 l' B6 p9 Z) r' Q
8 H& W( n% u: Y* C( g% ~& j
E.數(shù)值運算功能 與通用程序語言相比,機器人語言的數(shù)值運算功能大致相當于BASIC語言的水平。但是它往往不包括那些使用頻率很高的特殊功能和一些高級數(shù)學運算功能,例如對數(shù)和階乘等運算功能。
' ?% b5 g# x) u, u: g
- n% b- f) q2 I; R6 ~8 s% f 機器人語言的數(shù)值運算功能大致有以下幾種:" N' c. n1 e* B' ?5 f$ f" @2 H
3 ]8 g$ ~. _- K/ e x- F: O# h& Q) e (1)四則運算功能 (+,-,*,/,DIV,MOD)
- `0 @% D4 U' J( e* m4 X3 Q, f i9 N5 k0 ^' a; ^ p- o7 G1 c
(2)關系運算功能 (=,<>,<=,<,>,>=)( p) ]( X+ m& x D8 }/ E
4 n" Q- y% l" i j& e- v B% P
(3)計數(shù)功能 ( INC,DEC)
, V2 z9 \# }: t6 d( c1 U# V" J/ O! P; `1 n
(4)位運算功能 (NOT,AND,OR,XOR,LSH,RSH); S# p4 n5 ~+ x- b/ {. k8 P' A
. P" L, p% c' H4 C W! o (5)三角函數(shù)運算功能 (SIN,COS,TAN,ATAN2)
9 q+ m. }* D& ~1 ?$ W1 h j, K' t7 }8 F* h$ H% B3 p4 m
參與運算的數(shù)值一般為2位整數(shù)、4位整數(shù),4位實數(shù)、8位實數(shù),有時候會增加1位整數(shù)作為文字和符號位。+ R, L, c4 t6 R. Z6 ^& w! Z& A6 y
) E5 G! ]! g+ ]: ]! j. ~
F.輸入、輸出和中斷功能 在進行順序控制的程序中,與外部傳感器進行信息交互功能和中斷功能是最為重要的功能,每一種機器人語言都在這方面下了不少功夫。
# o, f% h; f, N3 G; p# x3 d3 E! v* D0 r7 c. X* i; \
由于與周邊裝置的連接點比較多,因此機器人控制器都設有數(shù)字輸入輸出接口,這些接口具有能與16點乃至128點相連接的能力。一般采用GPIB或串行RS232C標準接口。雖然需要很強的中斷功能,但由于實際使用的工業(yè)機器人都是進行按順序重復的工作,所以中斷功能只能做到向子程序的分流和復原,而且屏蔽中斷的能力較低。此外,在機器人控制器內還設有定時器,定時器有1—4個接點。& }8 g: W: e. d- r+ t+ x
, [/ Y- s# D- m% i C0 S; } G.文件管理功能 機器人語言所處理的文件有程序本身和與位置姿態(tài)有關的數(shù)據(jù)集,由于運行機器人語言的計算機那是安裝在工廠內較為惡劣的工作環(huán)境中,為了可靠起見,所以只限于使用比較簡單的文件。在許多機器人語言中,都具有從硬盤讀出程序(LOAD)和往硬盤里寫程序(SAVE)、對示教數(shù)據(jù)集(示教點群)進行編輯等功能。/ ?0 H6 f8 j9 i5 c; G2 l
( p" V! j: l$ J; K. z: e+ x
H.其它功能 其它功能有:
C0 K5 |$ ^# W7 z
: W8 d7 g( [4 N+ n }' @; S (1)進行工具變換、基本坐標設置和初始值的設置,
4 ^! i; ^8 P2 Q. W: o }" i/ G
: q4 Y% t) K. k6 r! D) ^" Y/ x9 | (2)作業(yè)條件(例如焊接條件)的設置等。
! t/ r6 T' J# [& Y8 r& H \/ u7 r! \! f3 Y4 a9 }6 t) E8 p! `9 ?& A
這些功能都是很重要的,但是隨著機器人語言的不同,這些功能的表現(xiàn)方法和構成方法均不同。 |