在 ABB 機(jī)器人的 RAPID 編程語(yǔ)言中,指令、函數(shù)、數(shù)據(jù)類(lèi)型是三個(gè)十分重要的語(yǔ)言要素,在 ABB 官方提供的說(shuō)明書(shū)手冊(cè)中有一個(gè)手冊(cè)叫做《技術(shù)參考手冊(cè)——RAPID 指令、函數(shù)和數(shù)據(jù)類(lèi)型》,該手冊(cè)的 H 次修訂本頁(yè)數(shù)多達(dá) 1678 頁(yè),指令、函數(shù)、數(shù)據(jù)類(lèi)型的重要性由此可見(jiàn)一斑。
幫助大家更深入地理解 ABB 工業(yè)機(jī)器人 RAPID 編程語(yǔ)言的數(shù)據(jù)類(lèi)型,現(xiàn)在為大家介紹 RAPID 語(yǔ)言數(shù)據(jù)類(lèi)型的作用和分類(lèi)。首先讓我們一起來(lái)看看,你是否也存在以下疑問(wèn)呢?
(1)疑問(wèn)一:RAPID 編程語(yǔ)言中有多少種數(shù)據(jù)類(lèi)型?
(2)疑問(wèn)二:數(shù)據(jù)類(lèi)型有什么作用?
(3)疑問(wèn)三:可以對(duì) RAPID 數(shù)據(jù)類(lèi)型進(jìn)行分類(lèi)嗎?
(4)疑問(wèn)四:需要記住所有的數(shù)據(jù)類(lèi)型嗎?
(1)答:在不同版本的 Robotware 控制系統(tǒng)中,數(shù)據(jù)類(lèi)型的數(shù)量是不同的,在 5.6 版本的 Robotware 中數(shù)據(jù)類(lèi)型的數(shù)量是 86 個(gè),在 6.05 版本中的 Robotware 中數(shù)據(jù)類(lèi)型的數(shù)量是 104 個(gè),在 6.08 版本中的 Robotware 中數(shù)據(jù)類(lèi)型的數(shù)量是 102 個(gè)。當(dāng)然這些數(shù)量是只計(jì)算了系統(tǒng)預(yù)定義的數(shù)據(jù)類(lèi)型,用戶(hù)還可以增加新的自定義數(shù)據(jù)類(lèi)型,如果不考慮存儲(chǔ)問(wèn)題和實(shí)用型問(wèn)題,理論上可以定義無(wú)限個(gè)數(shù)據(jù)類(lèi)型。
(2)答:數(shù)據(jù)類(lèi)型的作用主要有以下兩個(gè):1)讓系統(tǒng)知道為一個(gè)數(shù)據(jù)分配多少存儲(chǔ)單元;2)讓編程員不易犯錯(cuò),對(duì)人來(lái)講,操作一個(gè)任意形式的變量,是很不好掌握,很容易出錯(cuò)的,所以引入數(shù)據(jù)類(lèi)型的概念,限制人的操作,從而降低操作難度、降低出錯(cuò)率。
(3)答:可以將 RAPID 編程語(yǔ)言的系統(tǒng)預(yù)定義數(shù)據(jù)類(lèi)型分為基本數(shù)據(jù)類(lèi)型和復(fù)合數(shù)據(jù)類(lèi)型,基本數(shù)據(jù)類(lèi)型是指自身不能再拆分出其他數(shù)據(jù)類(lèi)型且可用作其它數(shù)據(jù)類(lèi)型的組件成分的數(shù)據(jù)類(lèi)型。基本數(shù)據(jù)類(lèi)型有:bool,num,dnum,str 四個(gè),其他數(shù)據(jù)類(lèi)型都屬于復(fù)合數(shù)據(jù)類(lèi)型。
(4)答:中國(guó)的漢字一共有九萬(wàn)多個(gè),你需要把他們都記住嗎?答案當(dāng)然是否定的。我們只需要記住一些常用的數(shù)據(jù)類(lèi)型,當(dāng)遇到不熟悉的數(shù)據(jù)類(lèi)型時(shí)查閱技術(shù)參考手冊(cè)即可。
了解了 ABB 工業(yè)機(jī)器人數(shù)據(jù)類(lèi)型的數(shù)量、分類(lèi)和用途,現(xiàn)在我們就來(lái)深入聊一聊一些經(jīng)常用到的數(shù)據(jù)類(lèi)型。首先我們一起來(lái)看,以下一條指令語(yǔ)句:
MoveL p10, v1000, z50, tool0;
有讀者會(huì)不以為意,這是一條非常簡(jiǎn)單的指令語(yǔ)句,即使是 ABB 機(jī)器人初學(xué)者也能看懂,有什么好看的呢?但以作者多年的工業(yè)機(jī)器人教學(xué)經(jīng)驗(yàn)來(lái)看,很多人其實(shí)是沒(méi)有能夠透徹理解這樣一條簡(jiǎn)單的指令語(yǔ)句的。不相信的話(huà),不妨讓我們嘗試以下回答以下幾個(gè)問(wèn)題:
(1)為什么兩條 MoveL 指令語(yǔ)句,使用相同的速度數(shù)據(jù),走同樣距離的軌跡,所花的時(shí)間卻不相同呢?
(2)為什么在 MoveL 指令語(yǔ)句之的 setdo 指令在手動(dòng)單步調(diào)試運(yùn)行時(shí)能夠在準(zhǔn)確的時(shí)機(jī)輸出 DO 信號(hào),而在自動(dòng)模式運(yùn)行時(shí)卻不能在準(zhǔn)確的時(shí)機(jī)執(zhí)行呢?
(3)為什么有的時(shí)候執(zhí)行 MoveL 指令,會(huì)提示“軸配置錯(cuò)誤”,軸配置是什么意思呢?
(4)為什么在【程序數(shù)據(jù)】頁(yè)面里對(duì) P10 進(jìn)行了【修改位置操作】,執(zhí)行指令語(yǔ)句時(shí)機(jī)器人卻無(wú)法運(yùn)動(dòng)到示教的目標(biāo)位置呢?
(5)位置數(shù)據(jù) P10 是以坐標(biāo)值的形式來(lái)描述目標(biāo)位置的,那它是以什么坐標(biāo)系為參考坐標(biāo)系的呢?
(6)指令語(yǔ)句中的 tool0 起到什么作用呢?
如果以上幾個(gè)問(wèn)題中有任何一個(gè)問(wèn)題把你難住了,就說(shuō)明你對(duì)以上一條看似簡(jiǎn)單 MoveL 指令語(yǔ)句的理解還不夠透徹,更確切的說(shuō)是對(duì)以上一條指令語(yǔ)句中所用到數(shù)據(jù)類(lèi)型的理解還不夠透徹。對(duì)于以上 MoveL 指令語(yǔ)句的數(shù)據(jù)類(lèi)型進(jìn)行提問(wèn),還可以提出很多讓大家感到不解的問(wèn)題,由此可見(jiàn)數(shù)據(jù)類(lèi)型中隱藏的秘密還真不少!
在以上 MoveL 指令語(yǔ)句中用到的數(shù)據(jù)類(lèi)型有:位置數(shù)據(jù) robtarget(p10)、速度數(shù)據(jù) speeddata(V1000)、區(qū)域數(shù)據(jù) znoe(z50)、工具數(shù)據(jù) tooldata(tool0)以及隱含的工件數(shù)據(jù)(wobj0)。
審核編輯 黃宇
-
機(jī)器人
+關(guān)注
關(guān)注
210文章
28191瀏覽量
206505 -
ABB
+關(guān)注
關(guān)注
26文章
520瀏覽量
52630
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論