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