利用子程序技術可將機器人程序模塊化,因而可以有效地按結構設計程序。
目的是不將所有指令寫入一個程序,而是將特定的流程、計算或過程轉移到單獨的程序中。
通過使用子程序產生了一系列的優(yōu)點:
? 由于程序長度減短,主程序結構更清晰并更易讀。
? 可獨立開發(fā)子程序:編程耗時可分攤,最小化錯誤源。
? 子程序可多次反復應用。 原則上,有兩種不同的子程序類型:
? 全局子程序
一個全局子程序是一個獨立的機器人程序,可由另一個機器人程序調用。
可根據(jù)具體要求對程序進行分支,即某一程序可在某次應用中用作主程序,而在另一次則用作子程序。
? 局部子程序
局部子程序是集成在一個主程序中的程序,即指令包含在同一個 SRC 文件中。
子程序的點坐標相應存放在同一個 DAT 文件中。
每個程序都以 DEF 行開始并以 END 行 結束。
如果要在主程序中調用子程序,則正常情況下子程序會從 DEF 運行至 END。
到達 END 行后,程序運行指針重新跳入發(fā)出調用指令的程序 (主程序)。
為了能提早退出子程序 (即在 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 區(qū)別 局部子程序可被重復調用 點坐標保存于相應的 DAT 列表,并且可被全部文件調用 當局部子程序執(zhí)行完,程序跳轉回調用子程序后的下一條指令 子程序是從主程序中鏈接的程序。
處理完子程序后,主程序將在緊接著子程序調用后面的一行繼續(xù)運行。
? 局部子程序包含在與主程序相同的 SRC 文件中。
可用關鍵詞 GLOBAL 將其定義為全局。
? 全局子程序是從另一個程序中鏈接的包含自有 SRC 文件的程序。
在主程序中給出子程序的名稱,然后加上圓括號,即可調用子程序。
在下列示例中將調用子程序
my_subprogram : my_subprogram()
調用功能
函數(shù)是一種向主程序返回某一值的子程序。
功能擁有一個數(shù)據(jù)類型。
功能的調用與子程序類似:在主程序中指定功能的名稱,通過圓括號進行。
但是,功能調用絕不能單獨存在,而是必須始終為相同數(shù)據(jù)類型的變量分配該值。
從主程序中調用的示例: REALVAR = REALFUNCTION() INTVAR = 5 * INTFUNCTION() + 1 使用子程序可以使主程序實現(xiàn)結構化,程序的結構化使得程序層次分明。
子程序不能調用自己本身。
審核編輯:劉清
-
機器人
+關注
關注
211文章
28386瀏覽量
206921 -
KUKA機器人
+關注
關注
4文章
143瀏覽量
9071
原文標題:KUKA 鏈接機器人程序
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論