ABB機器人編程-從入門到精通(RAPID和高級語言的聯繫)
ABB機器人編程-從入門到精通-RAPID和高級語言的聯繫
引言
RAPID是ABB機器人平台的具有特色的語言,具有很強的組合性。程序的編寫風格和VB很像和C語言也有很多類似但和Python和C#等面向對象的語言還是有很多的差別。下面我把我的體會和大家分享一下。
RAPID和高級語言的相似處
一、都有各自的數據格式
就拿C語言舉例子這個大家最熟悉,C語言有Int,Strig等數據格式,RAPID同樣也有類似的數據格式 Num,DNum字元串等常用的數據格式,具體的數據格式我會在以後的文章中系統的給大家講解。
RAPID同樣也有常量(CONST)和變數(PERS,VAR)的區別,也有全局變數和局部變數的定義,同時也有預定的說法。
二、都有完整的數學表達式
RAPID和其他編程語言都有完整的數學表達:加,減,乘,除是必不可少的。額外還有取余,取整。項目中比較重要的幾個表達式我感覺常用的是 矢量的加減(Pos-Pos),矢量的乘法(Pos*Pos Or Pos*N),旋轉的鏈接(Orient*Orient)這三個我感覺是最最重要的三個合理使用在項目中可以起到事半功倍的效果。
三、指令集 RAPID和一般編程語言尤其是VB很相似,都有判斷(IF,TEST),循環(FOR AND WHILE),返回(RETURN),跳轉(GOTO),停止(STOP)等等。我推薦TEST 和C#的Switch是一個用法 可以採用Case使你的程序更加清晰和直白。當然也有類似Sleep()的等待函數WaitTime,WaitUnti(有條件的等待),WaitDI,WaitDO(等待數字信號)等等這幾個都比較實用。
最重要的是有數據轉換的指令StrTOByte ByteToStr最最實用的 ValToStr 和StrToVal 我感覺最實用的幾個函數。
三、數學公式
RAPID的數學公式也比較豐富但是相比較其他語言可能會遜色一下,不過面對日常的項目完全足夠了。
我大概說幾個:賦值,絕對值(ABS),四捨五入(ROUND),平方(Sqrt),正弦餘弦等等。最重要的幾個 歐拉角和四元素的轉換函數(EulerZYX and OrientZYX),姿態矩陣的運算(PoseMult,PosVect)
四、程序函數
RAPID和其他編程語言相似有函數的說法,可以分為有返回的函數和沒有返回的函數,返回的數值類型可以用戶自己定義但是只能返回一種數據類型,數量也只能是一個,但是這並不影響我們編程,我們可以採用全局變數或者採用字元串或者採用有多個變數的數值類型作為返回。比如你要返回三個整數數據你可以返回一個Pos類型,因為他包含XYZ三個數據。當然然也可以自己定義數據類型.這個以後會給大家解釋如何使用,會讓你的程序可讀性更加強:)。
五、系統和時間
RAPID也有簡單的讀取系統時間和日期的函數,可以用於簡單的計時,和記錄日誌的時候寫下日期方便以後查閱。甚至獲得系統程序內存容量。
六、文件操作
RAPID也有簡單的文件操作,這個可以說是一個大型項目合理管理的神器,用好了可以驚天地泣鬼神,讓自己的代碼自我修改,自我升級,我也推薦好幾個大的客戶使用,尤其面對大量數據和分類處理的時候。
包含的指令有創建文件夾(MakeDir),刪除文件夾(RemeDIr),打開關閉(OpenDir and CloseDir),複製,檢索等等。
七、多任務
這個多任務並不是高級語言的BackGround和Thread而是一個 偽的並行執行的程序執行的數獨取決於不同的的控制櫃和不同型號的機器人。這個以後也會給大家重點說明,這個也是老闆給我的今年的一個任務做一個手冊讓客戶一看直接就能上手寫代碼。在我們的官方手冊也有很詳細額介紹。我這個就不累述了:)。
最後說幾句這兒我只是把一些項目中最容易遇到的簡單說說,以後我會逐一詳細的寫出我的想法和使用心得。
歡迎大家進入ABB自動化世界。晚安 2017.9.20 22:58
推薦閱讀:
※「聊個歷史」SIMATIC —— 改變工業自動化的甲子之旅
※一名銷售狗怒打一廣告;國內工業相機廠商!機器視覺、視覺檢測、工業自動化領域。