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