A.移動插補功能 移動插補功能是機器人語言特有的功能,詳細再分為如下幾種:
2 V9 u) e# R0 c/ [$ a2 p. ]
4 ~1 q* x C# y2 h) \# G0 l (1)速度設定(JSPEED,SPEED);
: n3 ]. R, ?5 |$ r4 P3 _1 n8 [& w0 @
(2)軌跡插補(JMOVE,LMOVE,VMOVE,CMOVE,CMOVE3,ATRAN,ITRAN);
: [0 k1 D; F+ A. N- C( k% J& V0 n7 [1 l. u
(3)動作定時(PAUSE,DELAY);
" l0 ~# z M" `+ p. f
; V( d9 Q$ K( q (4)定位精度(COARSE,FINE);
- K6 l2 w3 v5 b6 q& u: o9 E1 I* v
( D9 c0 o: G9 w' j7 l* K (5)手爪控制(OPEN,CLOSE)。' r: R, U" r \
7 j" K. u* _5 E* K) ^7 d7 o 其中JMOVE是在關節坐標系上進行的直線插補指令,LMOVE是作業坐標系(通常是三維直角坐標系)上進行的直線插補指令。在AL語言中,通過with(限定)語句能對力控制和對軸進行的控制加以描述,這里則沒有這種功能,因為這種功能用的太少了。. [! V% P# X4 ]3 [; E1 u
3 n B/ P& t! i7 H( j4 ` B.環境定義功能 與用于數控機床的NC語言一樣,機器人語言中的主要運算是環境數據之間進行的運算,但是現有的機器人語言是以基本動作級的實時系統為中心的。所以有關環境定義功能及其運算功能還不充分,但在環境定義功能中,如下三點是重要的:9 [( p: O9 X. q, ?; j
& ~/ K; z/ ^& I7 U' w C# M, d5 n; c (1)通過示教功能來生成環境模型;, \! O) \ Q+ K- r! Q c3 N
/ v v4 z- r; S4 Y! X+ t+ Q9 s, O (2)規劃實時系統需要幾何模型;3 `! T \3 L, F( ^! m
$ i- v9 a1 @: e (3)生成環境模型的過程是一件很費時的工作,因此往往以不是實際需要等理由而用示教功能來代替。+ G$ c1 k) S5 m' G! ^3 U" K$ `' u
( `3 }8 `+ W9 A: h
在機器人語言中、在標有名稱的位置姿態數據和語言編輯功能的基礎上,能組成直線或圓弧的動作指令,但僅僅根據這種指令還形成不了幾何模型的點、線、面、立體等形狀參數的遞階結構。6 ~, D5 B6 {) z3 \
! ]9 a. h' d0 W J3 E7 L. t然而,在為了進行研究而開發的規劃系統中,以及在應用于機器人系統的幾何模型系統中,則力圖賦于幾何模型有很強的防碰撞功能和與各種環境示教相連結的功能。$ _9 y+ E2 e6 b/ }- V' _
( F0 U) u, t* @4 m: r$ Y6 u C.數據結構及其運算功能 在通用的數據結構中,一般有文字符號和矩陣(最多為二維矩陣)等形式。而在結構化的機器人語言中,采用更為通用的數據結構。例如吸收了PASCAL語言的自動記錄,或者LISP語言的自動表格生成等優點。機器人語言本身專用的數據結構是坐標變換矩陣、三維向量,位置和姿態的點數據以及其它的點數據矩陣等。向量的運算包括加減運算(++,--),內積與外積(SPRD,VPRD)運算等。在采用AL語言的初級結構化的機器人語言中的坐標變換函數在工業上很少得到應用。4 E9 p% k# D! R. ~ q/ s
/ ^8 N' Y" w! s# A
D.程序控制功能 在逐步執行的通用程序語言中,設計有程序控制語言,以便選定后繞運行的分支或轉入循環運行。最典型的例子是FORTRAN語言的GOTO語句和DO語句的組合;PASCAL語言的FOR語句,WHILE語句和REPEAT—UNTIL語句等。在可編程邏輯控制器(programmable logic controller)中,有梯形圖和在此基礎上編制的專用PLC語言。在機器人語言中動作順序的描述是重要的,為了強調這種描述的可讀性,因而應當力圖采用類似于PASCAL語言所具有的結構化編程方式,但是目前實際上這種描述只具有BASIC語言那樣簡單的控制功能。5 H6 ?* B7 @8 U+ p3 B" i
5 j/ \. ^! }) U5 y0 t 在生產現場用的最多的命令級語言中,常用GOTO和計數控制語句,這些語句是一種匯編語句,因而很難讀懂。5 `1 j2 T+ \4 D
* a" j1 y: Y$ `! }9 S
現有的機器人語言中有主程序和子程序,能對過程和子程序進行說明,但沒有局部變量,所以機器人語言頂多和BASIC語言的水平一樣,只能使用沒有自變量或沒有局部變量的子程序。7 z2 d( Z7 {5 G# Q# G- N/ m9 [
( @' u! H. O3 N
E.數值運算功能 與通用程序語言相比,機器人語言的數值運算功能大致相當于BASIC語言的水平。但是它往往不包括那些使用頻率很高的特殊功能和一些高級數學運算功能,例如對數和階乘等運算功能。: n, J, C6 e- t
0 H- [3 {- H, Q- a( P2 q5 ^
機器人語言的數值運算功能大致有以下幾種:, C% G4 [! @3 M6 a6 v3 A( f
: U* V j9 ?9 W, J. ?- Q/ P
(1)四則運算功能 (+,-,*,/,DIV,MOD)) \* ~8 z3 O3 u8 P* K4 z O
1 s' @+ z: S7 K. |; z$ u
(2)關系運算功能 (=,<>,<=,<,>,>=)8 Q6 ^% j& o6 q4 z, U- c
; E2 J* r! r5 k, b: q [ (3)計數功能 ( INC,DEC)
5 I- Z7 C! U, V ?' T) G+ `& D {+ }/ e/ c' S
(4)位運算功能 (NOT,AND,OR,XOR,LSH,RSH)" r: }7 v8 M3 n* G& Z6 z! _# M
0 O4 t: V7 R, { F
(5)三角函數運算功能 (SIN,COS,TAN,ATAN2)) J4 q$ O C5 I; n$ e9 ~, f2 P
0 |7 ?+ j: ?3 s" R3 f }
參與運算的數值一般為2位整數、4位整數,4位實數、8位實數,有時候會增加1位整數作為文字和符號位。6 b3 A2 G; \/ n. N7 I0 ?5 b7 `
! I& J) U9 v$ w' T F.輸入、輸出和中斷功能 在進行順序控制的程序中,與外部傳感器進行信息交互功能和中斷功能是最為重要的功能,每一種機器人語言都在這方面下了不少功夫。+ z5 D+ d3 I0 T, R: b6 T
3 N+ v( e. B: p- e 由于與周邊裝置的連接點比較多,因此機器人控制器都設有數字輸入輸出接口,這些接口具有能與16點乃至128點相連接的能力。一般采用GPIB或串行RS232C標準接口。雖然需要很強的中斷功能,但由于實際使用的工業機器人都是進行按順序重復的工作,所以中斷功能只能做到向子程序的分流和復原,而且屏蔽中斷的能力較低。此外,在機器人控制器內還設有定時器,定時器有1—4個接點。
* @3 J- {8 m0 ~7 d' U
7 w G1 `0 X3 J$ Q. N1 Y G.文件管理功能 機器人語言所處理的文件有程序本身和與位置姿態有關的數據集,由于運行機器人語言的計算機那是安裝在工廠內較為惡劣的工作環境中,為了可靠起見,所以只限于使用比較簡單的文件。在許多機器人語言中,都具有從硬盤讀出程序(LOAD)和往硬盤里寫程序(SAVE)、對示教數據集(示教點群)進行編輯等功能。. w6 s. y _: S! l; x" P6 b" B
! j8 o$ V+ u5 E9 G# U/ ?; V6 H
H.其它功能 其它功能有:1 C: q: F) ?6 o
4 H) Z4 w( w- Z1 p' f: U (1)進行工具變換、基本坐標設置和初始值的設置,
& Y/ e6 F- y1 r# d
5 Z% p. b* D# W4 p6 T2 T; L( d% n (2)作業條件(例如焊接條件)的設置等。3 ? F3 q. U8 ~2 K3 K" l% m6 k
& ]3 T' }' @9 a+ r 這些功能都是很重要的,但是隨著機器人語言的不同,這些功能的表現方法和構成方法均不同。 |