pos機開發(fā)語言,ABB機器人指令開發(fā)示例

 新聞資訊  |   2023-03-10 08:54  |  投稿人:pos機之家

網(wǎng)上有很多關(guān)于pos機開發(fā)語言,ABB機器人指令開發(fā)示例的知識,也有很多人為大家解答關(guān)于pos機開發(fā)語言的問題,今天pos機之家(www.tjfsxbj.com)為大家整理了關(guān)于這方面的知識,讓我們一起來看下吧!

本文目錄一覽:

1、pos機開發(fā)語言

2、prog是什么意思?

pos機開發(fā)語言

在編程的靈活性方面相比,ABB機器人比一般國產(chǎn)和日系機器人要方便很多,比如用PERS前綴聲明任意類型的變量,甚至自定義數(shù)據(jù)類型變量,就可以將數(shù)據(jù)永久保存,保存的數(shù)量基本沒有限制,再如獲取位置數(shù)據(jù)的指定方向分量異常方便,p1.trans.z就可表示p1位置在z軸方向距離工件坐標系原點的距離。本文簡單介紹ABB機器人指令開發(fā)過程,其實也就是編寫附帶了參數(shù)的程序。

在編程之前需要弄清幾個基本概念。

任務與模塊

RAPID應用被稱作一項任務。一項任務包括一組模塊。一個模塊包含一組數(shù)據(jù)和程序聲明。

數(shù)據(jù)類型:Atomic(內(nèi)置原子型/基本數(shù)據(jù)類型)數(shù)據(jù)類型:bool為枚舉類型,其值為真或假,提供了一種開展邏輯計算和關(guān)聯(lián)計算的方式。num型支持精確算術(shù)計算和近似算術(shù)計算。string型表示字符序列。Record(記錄型)數(shù)據(jù)類型:為一種帶命名有序分量的復合類型。record類型的值為由各分量的值組成的復合值。一個分量可具備atomic型或record型,用戶自定義復雜數(shù)據(jù)類型一般就是記錄型。內(nèi)置記錄型有:pos型表示空間位置(矢量)。orient型表示在空間中的方位。pose型表示坐標系(位置/方位組合)。alias數(shù)據(jù)類型被定義為等同于另一種類型。alias類型提供一種對象分類手段。系統(tǒng)可采用alias分類來查找和顯示與類型相關(guān)的對象,內(nèi)置別名型數(shù)據(jù)有errnum和intnum。Errnum和intnum均為num的別名,用于表示錯誤和中斷編號。數(shù)據(jù)對象

有四種數(shù)據(jù)對象:常量(CONST)、變量(VAR)、永久數(shù)據(jù)對象(PERS)和參數(shù)。永久(數(shù)據(jù)對象)可描述為“永久”變量。在兩次會話之間,永久變量將保持值。 在每次新會話開始時,即,當加載模塊時(模塊變量)或調(diào)用程序時(程序變量),將失去(重新初始化)變量值。

程序

Rapid程序分為三類:無返回值程序(PROC)、有返回值程序(FUNC)和軟中斷程序。程序聲明指定了程序的下列內(nèi)容:名稱,數(shù)據(jù)類型(僅對有返回值程序有效),參數(shù)(不適用于軟中斷程序),數(shù)據(jù)聲明和語句(體),回退處理器(僅對無返回值程序有效),錯誤處理器和撤銷處理器

程序聲明的參數(shù)表指定了調(diào)用程序時必須/可提供的參數(shù)(實參)。參數(shù)將為必要參數(shù)或可選參數(shù)。可選參數(shù)可從程序調(diào)用的參數(shù)表省去,聲明或調(diào)用時需要使用符號“\\”。兩項或兩項以上可選參數(shù)可聲明為彼此排斥(用符號“|“分隔,在此情況下,程序調(diào)用中最多只可有其中一項可選參數(shù)??衫妙A定義有返回值程序Present來測試可選參數(shù)是否存在??蓪⑻厥忸愋蛃witch分配給可選參數(shù),這能提供采用“開關(guān)型參數(shù)”的手段,即,僅以名稱(非值)賦予的參數(shù)。開關(guān)型的域為空,沒有值能轉(zhuǎn)移給開關(guān)型參數(shù)。

下面通過三則示例演示指令開發(fā)。

如何實現(xiàn)碼垛指令

碼垛是機器人最常用的功能之一,與其他多數(shù)機器人不同,ABB沒有碼垛包,但實現(xiàn)起來也很簡單,也甚至可以實現(xiàn)復雜碼垛情況。下面以簡單的碼垛為例。pBase為基準示教點,partColumns為列數(shù),partwidth="360px",height="auto" />

FUNC robtarget pStack(robtarget pBase,num partColumns,num partwidth="360px",height="auto" />

如何實現(xiàn)機器人在任意路徑上可自動回原點

多數(shù)項目機器人直接自動回原點可能會導致撞機,只能通過增加過渡點的方式實現(xiàn),有的時候過渡點可以設置成機器人當前位置在指定坐標系中往指定方向偏移指定位移的位置,如果需要更加嚴格保證安全,可以根據(jù)位置和旋轉(zhuǎn)方向來判定機器人需要往何種方向偏移,這里不做深究。

FUNC robtarget getRobT(\\switch Rel,\um x,\um y,\um z,inout tooldata tool,wobjdata wobj) VAR robtarget pCurrent; pCurrent:=crobT(\ool:=tool\\wobj:=wobj); IF Present(Rel) THEN IF Present(x) THEN pCurrent.trans.x:=pCurrent.trans.x+x; ENDIF IF Present(y) THEN pCurrent.trans.y:=pCurrent.trans.y+y; ENDIF IF Present(z) THEN pCurrent.trans.z:=pCurrent.trans.z+z; ENDIF ELSE IF Present(x) THEN pCurrent.trans.x:=x; ENDIF IF Present(y) THEN pCurrent.trans.y:=y; ENDIF IF Present(z) THEN pCurrent.trans.z:=z; ENDIF ENDIF RETURN pCurrent;ENDFUNC

其中實現(xiàn)了有開關(guān)型參數(shù)Rel情況下,實現(xiàn)增量偏移,無Rel時實現(xiàn)絕對偏移,也可以根據(jù)可選參數(shù)x,y,z實現(xiàn)指定方向偏移,返回robtarget目標位置(過渡點)。下面是指令的使用示例,調(diào)用形式上與RAPID內(nèi)置Offs等指令有些相識。

movel getRobPos(\el,\\y:=100, ,tool0,wobj0),v100,z0,tool0; movel getRobPos(\\z:=1000,tool0,wobj0),v100,z0,tool0; p1:= getRobPos(\\y:=200,tool0,wobj0),如何判定機器人是否在指定位置附近:

此功能類似于機器人的安全區(qū)域功能,在實時任務中調(diào)用此函數(shù)可實現(xiàn)安全區(qū)域差不多的效果。如果結(jié)合crobT 指令可以實現(xiàn)更加復雜的空間判斷,這里不做深究。示例中pCheck是指定位置,num1為判斷符合區(qū)域閾值,返回bool型判定結(jié)果。

FUNC bool rCheckPos(jointtarget pCheck,\um num1) VAR jointtarget pCurrent; VAR num numTemp; IF Present(num1) THEN numTemp:=num1; ENDIF pCurrent:=CalcJointT(CRobT(),tool0); IF pCurrent.robax.rax_1<=pCheck.robax.rax_1+num1 and pCurrent.robax.rax_1>=pCheck.robax.rax_1-num1 AND pCurrent.robax.rax_2<=pCheck.robax.rax_2+num1 and pCurrent.robax.rax_2>=pCheck.robax.rax_2-num1 AND pCurrent.robax.rax_3<=pCheck.robax.rax_3+num1 and pCurrent.robax.rax_3>=pCheck.robax.rax_3-num1 AND pCurrent.robax.rax_4<=pCheck.robax.rax_4+num1 and pCurrent.robax.rax_4>=pCheck.robax.rax_4-num1 AND pCurrent.robax.rax_5<=pCheck.robax.rax_5+num1 and pCurrent.robax.rax_5>=pCheck.robax.rax_5-num1 AND pCurrent.robax.rax_6<=pCheck.robax.rax_6+num1 and pCurrent.robax.rax_6>=pCheck.robax.rax_6-num1 THEN RETURN TRUE; ELSE RETURN FALSE; ENDIF ENDFUNC

當然,熟悉編寫如何去編寫指令是不夠的,還需深刻認識坐標系的概念和一些基本指令,結(jié)合實際操作。在沒有條件的情況下也需要多多在電腦上仿真運行。

熟讀三本ABB手冊《RAPID語言概覽》《RAPID語言內(nèi)核》《RAPID指令、函數(shù)和數(shù)據(jù)類型》,靈活運用就可以編寫強大的指令和實現(xiàn)復雜的功能,感興趣的朋友可以點擊文章最后的百度網(wǎng)盤鏈接下載,密碼7kcb。

prog是什么意思?

PROG是Program Key的縮寫,意思是程序鍵。

機床面板上其他英文意思圖文如下:

向左轉(zhuǎn)|向右轉(zhuǎn)

機床各坐標(POS),程序鍵(PROG),機床坐標系統(tǒng)(刀偏 坐標系)(OFFSET/SETTING),上檔鍵(SHIFT),取消鍵(CAN),輸入鍵(INPUT),

系統(tǒng)參數(shù)(SYSTEM),報警信息鍵(MESSAGE),圖像鍵(CUSTOM GRAPH),

替換鍵(ALERT),插入鍵(INSERT),刪除鍵(DELETE),上翻頁(PAGE↑),

幫助(HELP),下翻頁(PAGE↓),復位(RESET)。

以上就是關(guān)于pos機開發(fā)語言,ABB機器人指令開發(fā)示例的知識,后面我們會繼續(xù)為大家整理關(guān)于pos機開發(fā)語言的知識,希望能夠幫助到大家!

轉(zhuǎn)發(fā)請帶上網(wǎng)址:http://www.tjfsxbj.com/news/6990.html

你可能會喜歡:

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 babsan@163.com 舉報,一經(jīng)查實,本站將立刻刪除。