利用子程序技術可將機器人程序模塊化,因而可以有效地按結構設計程序。目的是不將所有指令寫入一個程序,而是將特定的流程、計算或過程轉移到單獨的程序中。
通過使用子程序產生了一系列的優點:
? 由于程序長度減短,主程序結構更清晰并更易讀。
? 可獨立開發子程序:編程耗時可分攤,最小化錯誤源。
? 子程序可多次反復應用。
原則上,有兩種不同的子程序類型:
? 全局子程序
一個全局子程序是一個獨立的機器人程序,可由另一個機器人程序調用。可根據具體要求對程序進行分支,即某一程序可在某次應用中用作主程序,而在另一次則用作子程序。
局部子程序
局部子程序是集成在一個主程序中的程序,即指令包含在同一個 SRC 文件中。子程序的點坐標相應存放在同一個 DAT 文件中。
每個程序都以 DEF 行開始并以 END 行 結束。如果要在主程序中調用子程序,則正常情況下子程序會從 DEF 運行至 END。到達 END 行后,程序運行指針重新跳入發出調用指令的程序 (主程序)。
為了能提早退出子程序 (即在 END 行之前),可以在子程序中編入 RETURN 指令。程序讀到該程序行時,即可提前終止子程序的運行。
調用子程序的操作步驟:
為了能夠對子程序調用進行編程,必須已選擇用戶組 “ 專家 ”。子程序調用的句法為:名稱( )
1. 在主菜單中選擇 配置 》 用戶組。將顯示出當前用戶組。
2. 若欲切換至其它用戶組,則:按下 登錄 …。選定用戶組專家。
3. 輸入密碼 kuka,然后用登錄確認。
4. 用 打開將所需的主程序載入編輯器。
INI
PTP HOME Vel= 100% DEFAULT
PTP HOME Vel= 100% DEFAULT
5. 將光標定位在所需的行內。
6. 輸入子程序名稱和括號,例如:myprog( )。
INI
PTP HOME Vel= 100% DEFAULT
myprog( )
PTP HOME Vel= 100% DEFAULT
7. 用關閉圖標關閉編輯器并保存修改。
KRL文件中包含至多255個局部子程序
子程序的最大嵌套深度為20
局部子程序位于主程序之后,通過 DEF 和 END 區別
局部子程序可被重復調用
點坐標保存于相應的 DAT 列表,并且可被全部文件調用
當局部子程序執行完,程序跳轉回調用子程序后的下一條指令
子程序是從主程序中鏈接的程序。處理完子程序后,主程序將在緊接著子程序調用后面的一行繼續運行。
? 局部子程序包含在與主程序相同的 SRC 文件中。可用關鍵詞 GLOBAL 將其定義為全局。
? 全局子程序是從另一個程序中鏈接的包含自有 SRC 文件的程序。
在主程序中給出子程序的名稱,然后加上圓括號,即可調用子程序。
my_subprogram()
調用功能
函數是一種向主程序返回某一值的子程序。功能擁有一個數據類型。
功能的調用與子程序類似:在主程序中指定功能的名稱,通過圓括號進行。但是,功能調用絕不能單獨存在,而是必須始終為相同數據類型的變量分配該值。
從主程序中調用的示例:
REALVAR = REALFUNCTION()
INTVAR = 5 * INTFUNCTION() + 1
使用子程序可以使主程序實現結構化,程序的結構化使得程序層次分明。
子程序不能調用自己本身。
審核編輯 :李倩
-
機器人
+關注
關注
210文章
28210瀏覽量
206545 -
編程
+關注
關注
88文章
3592瀏覽量
93598 -
子程序
+關注
關注
0文章
33瀏覽量
11170
原文標題:KUKA 鏈接機器人程序
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論