KRL 是一種類似PASCAL的高級編程語言,利用KRL語言編程能夠實現結構化編程處理復雜的任務。一個KRL程序通常由一個SRC源文件和一個DAT數據文件組成,兩個文件名字相同,擴展名不同,在專家界面下顯示兩個獨立文件,在普通用戶界面下顯示一個模塊。DEF...END 程序和子程序的聲明。
?
在文件開頭用“DEF”進行標識
通過默認,SRC文件中的第一個程序與SRC文有同樣的名字并認為全局有效,甚至沒有關鍵字GLOBAL。
當程序被喚醒,有兩種參數傳送:傳送輸入參數和傳送輸出參數。
輸出參數( 關鍵字IN)
變量的值被傳送到這兒。直接的參數傳送工作就像在子程序中分配默認設置到變量。通常傳送的值可以是常量,變量函數,簡單或復雜的表達式。
一個值在IN參數的情況下不能返回調入的指令( 由值喚醒) 。它僅僅由于賦一個值到子程序。
I 如果當前的數據類型和外部的IN參數不同但兼容,系統自動轉化被傳送的值的類型。數組不能像輸入參數一樣被傳送 ( IN) 。
輸出參數( 關鍵字OUT)
變量名被傳送到這兒(有參數喚醒)。變量在調用子程序時必須有一個值。這個值能被子程序用于調用。
參數類型OUT能在子程序調用時被分配一個值。由于這個原因當前的數據類型和外部參數必須在傳送模式OUT中完全一致。
作為一個參數輸出傳送是默認的設置,例如:OUT不需要指定。
END語句
END語句總是的全球或本地子程序的最后程序段。子程序的最后程序段執行任何RETURN語句,沒有時執行END語句。
沒有外部參數的程序的聲明:
DEF PROG( )
...
END
聲明子程序的外部電流和電壓。適當的默認設置,他們輸出參數。
DEF WELD(電流,電壓)
...
END
聲明子程序的外部電流和電壓作為輸入參數和RESULT 作為輸出參數。
DEF WELD(電流:IN, 電壓:IN, 結果:OUT)
...
END
在CALCULATE 子程序中,一些變量經過自動操作。在子程序調用后,在主程序中的A和B跟隨值:A =11;B=2 。
DEF PROG( )
INT A,B
A=1
B=2
CALCULATE(A,B)
...
END
DEF CALCULATE(X1:OUT,X2:IN)
INT X1,X2
X1=X1+10
X2=X2+10
END
機器人程序的結構是體現其使用價值的一個十分重要的因數。程序結構化越規范,程序就越易于理解、執行效果越好、越便于讀取、越經濟。為了使程序得到結構化設計,可以使用以下技巧:
有關程序文本的分段:主要使用畫圖符號 (特殊符號 #、*、~ )![762ee4be-ee70-11ed-90ce-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/F3/wKgaomTnm2eAVV1YAAA2LVKq8DM407.png)
聯機表單無法添加一個分號 “;”。
可以使用三種不同的注釋方式:![767c6f54-ee70-11ed-90ce-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/F3/wKgaomTnm2eAT8aHAAAaZjjrlDs123.png)
插入注釋和印章的操作步驟
1. 選中其后應插入注釋或印章的那一行。
2. 選擇菜單序列 指令 > 注釋 > 正常或印章。
3. 輸入所希望的數據。如果事先已經插入了注釋或印章,則聯機表格中還保留著相同數據。
提高機器人程序可讀性的一個有效手段是縮進程序行。由此可提高程序單元之間關聯的清晰度。
通過折疊夾隱藏程序行![76d03418-ee70-11ed-90ce-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/F3/wKgaomTnm2eAXkmVAAAdl7XbqM8242.png)
![76ef114e-ee70-11ed-90ce-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/F3/wKgaomTnm2iAE8YEAAAbOUowRoE429.png)
![77086ec8-ee70-11ed-90ce-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/F3/wKgaomTnm2iARrCrAABsbX2-sGk207.png)
?
?
![75e49e5e-ee70-11ed-90ce-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/F3/wKgaomTnm2aAc4nRAACVZVxHaHk631.png)
![7603fee8-ee70-11ed-90ce-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/F3/wKgaomTnm2eANPyjAABgd77QeB0686.png)
Program_Name | 程序名進入這兒被定義。它是一個目標名而且在全球函數情況下的它可能不長于24個字符長度受控制器的指令系統限制。 |
Parameter_ List | 參數列表包含下列說明: 參數名 輸出數組類型參數的情況下(輸入參數不能被排列),數組尺寸除數組名字外使用下列符號。 [ ] 一維空間的數組 [,] 二維空間的數組 [,,]三維空間的數組 參數的各自轉換格式: :IN 輸入參數( 由值喚醒) :OUT 輸出參數( 由參數喚醒)( 默認值) |
- 注釋 | 注解和印章
- 縮進 | 空格
- 隱藏 | Folds (“ 折疊 ”)
- 模塊化 | 子程序
- 有關程序文本的信息:作者、版本、創建日期
![7619d920-ee70-11ed-90ce-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/F3/wKgaomTnm2eAdPN6AABWRI6gQIc869.png)
![762ee4be-ee70-11ed-90ce-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/F3/wKgaomTnm2eAVV1YAAA2LVKq8DM407.png)
- 添加注釋(專家層面):通過在程序行的起始位置添加分號來使該程序行“ 變成注釋 ”,即該文本作為注釋來識別,而不進入程序執行。
![76470044-ee70-11ed-90ce-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/F3/wKgaomTnm2eAJ7XGAAA5_hAgJo4922.png)
- 對行的解釋
![76642a34-ee70-11ed-90ce-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/F3/wKgaomTnm2eAMjNRAAAYbJfspqc463.png)
- 添加分號 (專家層面):通過插入分號 (“;”)使一行中的后面部分變成注釋。
- 插入聯機表格 “ 注釋 ”
![767c6f54-ee70-11ed-90ce-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/F3/wKgaomTnm2eAT8aHAAAaZjjrlDs123.png)
- 插入聯機表格 “ 印章 ”:在此還另外插入一個時間戳記。此外,還可以插入編輯者的姓名。
![76953516-ee70-11ed-90ce-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/F3/wKgaomTnm2eAQd9uAAA7UUzRdPE806.png)
- 插入注釋時,可用新文本來清空注釋欄,以便輸入新的文字。
- 插入印章時,還可用新時間來更新系統時間,并用新名稱清空名稱欄。
![76b2c0a4-ee70-11ed-90ce-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/F3/wKgaomTnm2eAKGlBAACPBf4toZc332.png)
![76d03418-ee70-11ed-90ce-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/F3/wKgaomTnm2eAXkmVAAAdl7XbqM8242.png)
- KUKA 機器人編程語言可將程序行折疊和隱藏到 Fold 中。
- 用戶因此而看不到這些程序行。這使程序的閱讀變得更加簡潔方便。
- 以后可在專家用戶組中打開和編輯 Fold。
![76ef114e-ee70-11ed-90ce-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/F3/wKgaomTnm2iAE8YEAAAbOUowRoE429.png)
![77086ec8-ee70-11ed-90ce-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/F3/wKgaomTnm2iARrCrAABsbX2-sGk207.png)
![772a083a-ee70-11ed-90ce-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/F3/wKgaomTnm2iAIfMyAABlT8PG-hE669.png)
審核編輯 :李倩
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
程序
+關注
關注
117文章
3795瀏覽量
81406 -
數組
+關注
關注
1文章
417瀏覽量
26028 -
KUKA機器人
+關注
關注
4文章
143瀏覽量
9178
原文標題:KUKA 機器人-結構化機器人程序V5.9
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
變結構智能服務機器人
摘要 隨著科學技術的發展,在許多領域里都提出了要平穩運送物品的要求,因此具有平穩運送物品的機器人是現代生活發展所必須擁有的,為此我們設計了能夠自行調節高度并保持載物面水平的變結構
發表于 10-31 13:05
工業機器人的基本結構
工業機器人一般由主構架(手臂)、手腕、驅動系統、測量系統、控制器及傳感器等組成。 1圖是工業機器人的典型結構。機器人手臂具有3個自由度(運動坐標軸),
發表于 01-19 10:36
機器人視覺——機器人的“眼睛”
目前產業機器人僅能在嚴格定義的結構化環境中執行預定指令動作,缺乏對環境的感知與應變能力,這極大地限制了機器人的應用。利用機器人的視覺控制,不需要預先對產業
發表于 01-23 15:02
華南機器人應用培訓中心工業機器人培訓班招生
`華南機器人應用培訓中心擁有各種設備,開展各種不同的機器人培訓班。打造各種工業現場常見的機器人工作站,現開展KUKA、發那科、三菱、ABB、愛普生工業
發表于 09-02 14:03
不完美的伴侶機器人?
地用來照顧老人和自閉癥兒童,但是大多數人機交互都基于井然有序的、結構化的規則和行為。Biswas認為,人類對機器人的感知常受到科幻作品的影響,但是科幻作品中那些擁有超能力的機器人與現今科學家們對人機交互
發表于 12-28 14:42
工業機器人的末端關節旋轉該精確控制?
時間的積累。本文以KUKA為例,分協作機器人iiwa和傳統機器人KR兩個大系列。協作機器人iiwa 當前主流的協作機器人都采用“模塊
發表于 11-01 11:08
工業機器人的技術原理
模塊化的控制系統體系結構:采用分布式CPU計算機結構,分為機器人控制器(RC),運動控制器(MC),光電隔離I/O控制板、傳感器處理板和編程示教盒等。
發表于 11-23 10:40
KUKA機器人問題解答
1 開機坐標系無效 世界坐標系是以槍頭為基點,在這種坐標系中機器人所有的動作都是按照以槍頭為頂點來完成移動,XYZ方向切割槍方向不改變,如果機器人在世界坐標系中移動,槍頭也隨著改變方向,那就是我們在
發表于 07-15 07:48
KUKA焊接機器人伺服電機常見故障及維修處理
KUKA焊接機器人伺服電機常見故障及維修處理1、庫卡機器人伺服電機的基本檢查由于庫卡機器人伺服電機內含有精密檢測器,因此,當發生碰撞、沖擊時可能會引起故障,在對庫卡
發表于 09-26 16:51
焊接機器人的結構與原理
、焊接參數等,并自動生成一個連續執行全部操作的程序。完成示教后,只需給機器人一個起動命令,機器人將精確地按示教動作,一步步完成全部操作,實際示教與再現。焊接機器人
發表于 11-16 16:18
工業機器人組成結構相關資料分享
工業機器人是近兩年機械行業最熱的字眼,隨著企業工業機器人的增多,很多機械工程師對于工業機器人充滿了好奇。作為機器人四大家族之一的KUKA,已
發表于 07-05 06:44
庫卡機器人MGV電源模塊維修
KUKA庫卡機器人MGV電源模塊維修PH1013-2840MGV電源維修 庫卡電源模塊維修 機器人電源模塊維修 庫卡控制器維修 KUKA電源維修KU
發表于 09-08 07:30
機器人系統與控制需求簡介
、KUKA、Yaskawa Motoman、FANUC2.2.1 本體結構本體結構分類:不同機器人建模控制的本質區別關節型機械臂:串聯垂直多關節6軸
發表于 09-08 07:44
評論