ABB機(jī)器人平臺具有的特色語言RAPID,具有很強(qiáng)的組合性。程序的編寫風(fēng)格和VB很像和C語言也有很多類似但和Python和C#等面向?qū)ο蟮恼Z言還是有很多的差別。
RAPID和高級語言的相似處
一、都有各自的數(shù)據(jù)格式
就拿C語言舉例子這個(gè)大家*熟悉,C語言有Int,Strig等數(shù)據(jù)格式,RAPID同樣也有類似的數(shù)據(jù)格式 Num,DNum字符串等常用的數(shù)據(jù)格式。
RAPID同樣也有常量(CONST)和變量(PERS,VAR)的區(qū)別,也有全局變量和局部變量的定義,同時(shí)也有預(yù)定的說法。
二、都有完整的數(shù)學(xué)表達(dá)式
RAPID和其他編程語言都有完整的數(shù)學(xué)表達(dá):加,減,乘,除是必不可少的。額外還有取余,取整。項(xiàng)目中比較重要的幾個(gè)表達(dá)式我感覺常用的是 矢量的加減(Pos-Pos),矢量的乘法(Pos*Pos Or Pos*N),旋轉(zhuǎn)的鏈接(Orient*Orient)這三個(gè)我感覺是比較重要的三個(gè)合理使用在項(xiàng)目中可以起到事半功倍的效果。
三、指令集
RAPID和一般編程語言尤其是VB很相似,都有判斷(IF,TEST),循環(huán)(FOR AND WHILE),返回(RETURN),跳轉(zhuǎn)(GOTO),停止(STOP)等等。
個(gè)人推薦TEST 和C#的Switch是一個(gè)用法 可以采用Case使你的程序更加清晰和直白。當(dāng)然也有類似Sleep()的等待函數(shù)WaitTime,WaitUnti(有條件的等待),WaitDI,WaitDO(等待數(shù)字信號)等等這幾個(gè)都比較實(shí)用。
比較重要的是有數(shù)據(jù)轉(zhuǎn)換的指令StrTOByte ByteToStr ValToStr 和StrToVal 我感覺較實(shí)用的幾個(gè)函數(shù)。
三、數(shù)學(xué)公式
RAPID的數(shù)學(xué)公式也比較豐富但是相比較其他語言可能會(huì)遜色一下,不過面對日常的項(xiàng)目完全足夠了。
大概說幾個(gè):賦值,**值(ABS),四舍五入(ROUND),平方(Sqrt),正弦余弦等等。*重要的幾個(gè) 歐拉角和四元素的轉(zhuǎn)換函數(shù)(EulerZYX and OrientZYX),姿態(tài)矩陣的運(yùn)算(PoseMult,PosVect)
四、程序函數(shù)
RAPID和其他編程語言相似有函數(shù)的說法,可以分為有返回的函數(shù)和沒有返回的函數(shù),返回的數(shù)值類型可以用戶自己定義但是只能返回一種數(shù)據(jù)類型,數(shù)量也只能是一個(gè),但是這并不影響我們編程,我們可以采用全局變量或者采用字符串或者采用有多個(gè)變量的數(shù)值類型作為返回。比如你要返回三個(gè)整數(shù)數(shù)據(jù)你可以返回一個(gè)Pos類型,因?yàn)樗琗YZ三個(gè)數(shù)據(jù),當(dāng)然然也可以自己定義數(shù)據(jù)類型。
五、系統(tǒng)和時(shí)間
RAPID也有簡單的讀取系統(tǒng)時(shí)間和日期的函數(shù),可以用于簡單的計(jì)時(shí),和記錄日志的時(shí)候?qū)懴氯掌诜奖阋院蟛殚?。甚至獲得系統(tǒng)程序內(nèi)存容量。
六、文件操作
RAPID也有簡單的文件操作,這個(gè)可以說是一個(gè)大型項(xiàng)目合理管理的神器,用好了可以驚天地泣鬼神,讓自己的代碼自我修改,自我升級,我也推薦好幾個(gè)大的客戶使用,尤其面對大量數(shù)據(jù)和分類處理的時(shí)候。
包含的指令有創(chuàng)建文件夾(MakeDir),刪除文件夾(RemeDIr),打開關(guān)閉(OpenDir and CloseDir),復(fù)制,檢索等等。
七、多任務(wù)
這個(gè)多任務(wù)并不是高級語言的BackGround和Thread而是一個(gè)偽的并行執(zhí)行的程序執(zhí)行的數(shù)獨(dú)取決于不同的的控制柜和不同型號的機(jī)器人。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“機(jī)電號”用戶上傳并發(fā)布,本平臺僅提供信息存儲(chǔ)服務(wù)
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of JDZJ Hao, which is a social media platform and only provides information storage services.