借助模板創(chuàng)建程
Cell:現(xiàn)有的 Cell 程序,只能被替換或者在刪除 Cell 程序后重新創(chuàng)建。
Expert:模塊由只有程序頭和程序結(jié)尾的 SRC 和 DAT 文件構(gòu)成。
Expert Submit :附加的 Submit 文件 (SUB) 由程序頭和程序結(jié)尾構(gòu)成。
Function:SRC 函數(shù)創(chuàng)建,在 SRC 中只創(chuàng)建帶有 BOOL 變量的函數(shù)頭。函數(shù)結(jié)尾已經(jīng)存在,但必須對(duì)返回值進(jìn)行編程。
Modul:Modul(模塊)由具有程序頭、程序結(jié)尾以及基本框架 (INI 和 2 個(gè) PTP HOME) 的 SRC 和 DAT 文件構(gòu)成。
Submit:附加的 Submit 文件 (SUB) 由程序頭、程序結(jié)尾以及基本框架 (DECLARATION、INI、LOOP/ENDLOOP) 構(gòu)成。
幾乎所有的KRL指令都可以在SUB程序中使用。 但是,以下說明是不可能的——或者只有在有限制的情況下: ? 機(jī)器人動(dòng)作說明 機(jī)器人動(dòng)作只能由機(jī)器人解釋器進(jìn)行解釋。因此,包含運(yùn)動(dòng)命令的SRC程序不能作為SUB程序的子程序調(diào)用。 ? 關(guān)于機(jī)器人運(yùn)動(dòng)的說明 其中包括BRAKE和所有TRIGGER語(yǔ)句。 ? 以下說明允許在系統(tǒng)提交中使用,但不允許在擴(kuò)展提交中使用: ? ASYPTP ? VECTORMOVEON() ? VECTORMOVEOFF() ? SET_TORQUE_LIMITS() ? RESET_TORQUE_LIMITS() 例子: 本例中的外部軸的運(yùn)動(dòng)指令可以在SUB程序中使用,前提是它被分配給系統(tǒng)提交,而不是擴(kuò)展提交。 IF (($IN[12] == TRUE) AND ( NOT $IN[13] == TRUE)) THEN ASYPTP {E2 45} ASYPTP {E3 200} ... IF ((NOT $IN[12] == TRUE) AND ($IN[13] == TRUE)) THEN ASYPTP {E2 0} ASYPTP {E3 90} 外部軸E2和E3根據(jù)特定輸入進(jìn)行移動(dòng)。此處未使用WAIT語(yǔ)句或等待循環(huán),因?yàn)樗鼈儠?huì)停止循環(huán)。 操作步驟 1.在數(shù)據(jù)列表中選中要?jiǎng)?chuàng)建該程序的文件夾。(不是在所有的文件夾中都能建立程序。) 2. 按下按鈕 新。 選擇模板 窗口打開。 3. 選中模板 Submit 或 Expert Submit 并用 OK 確認(rèn)。 4. 輸入程序名稱,并用 OK 確認(rèn)。 “Submit” 模板: Submit 模板用于生成具有以下結(jié)構(gòu)的 SUB 文件: 1 DECLARATIONS 2 INI初始化部分。用于在啟動(dòng)之后只執(zhí)行一次的指令。 3 4 LOOP 5 USER PLC 含有 USER PLC 折疊夾的 LOOP 指令。 USER PLC 規(guī)定用于要在后臺(tái)連續(xù)運(yùn)行的程序。 6 ENDLOOP 7 USER SUBROUTINE 用于自定義的子例程 “Expert Submit” 模板: Expert Submit 模板生成空的 SUB 文件。對(duì) 于該模板,所有的都必須由用戶自己編程設(shè)定。 在編程時(shí)使用 LOOP 指令。提交解釋器只執(zhí)行不帶 LOOP 指令的 SUB 程序一次。然后自動(dòng)將其取消。 在 SUB 程序中幾乎所有 KRL 指令均可用。但下列指令不可用: ? 機(jī)器人運(yùn)動(dòng)指令 機(jī)器人運(yùn)動(dòng)只能由機(jī)器人解釋器解釋。因此,從 SUB 程序中也無法作為子程序調(diào)用包含運(yùn)動(dòng)指令的 SRC 程序。 ? 針對(duì)機(jī)器人運(yùn)動(dòng)的指令 其包括 BRAKE 和所有 TRIGGER。 與此完全相反,附加軸的運(yùn)動(dòng)指令可用在 SUB 程序中。示例: IF (($IN[12] == TRUE) AND ( NOT $IN[13] == TRUE)) THEN $VEL_EXTAX[2]=10 $ACC_EXTAX[2]=10 ASYPTP {E2 45} ... IF ((NOT $IN[12] == TRUE) AND ($IN[13] == TRUE)) THEN $VEL_EXTAX[2]=10 $ACC_EXTAX[2]=10 ASYPTP {E2 0} 附加軸 E2 根據(jù)特定的輸入端運(yùn)動(dòng)。 在此不使用 WAIT 指令或等待循環(huán),因其包含循環(huán)。 提交解釋器可以讀取訪問所有系統(tǒng)變量,也可以寫入訪問許多系統(tǒng)變量。即使在系統(tǒng)變量同時(shí)被一個(gè)運(yùn)動(dòng)程序使用時(shí),也可訪問。 如果在 SUB 程序中更改提交解釋器對(duì)其無寫入訪問權(quán)限的系統(tǒng)變量,則在啟動(dòng)程序時(shí)出現(xiàn)一個(gè)錯(cuò)誤信息并且提交解釋器停止。 在 SUB 程序中常用的系統(tǒng)變量:
$MODE_OP = 值 | |
值 | 說明 |
#T1 | 機(jī)器人控制系統(tǒng)在運(yùn)行方式 T1 下。 |
#T2 | 機(jī)器人控制系統(tǒng)在運(yùn)行方式 T2 下。 |
#AUT | 機(jī)器人控制系統(tǒng)在自動(dòng)運(yùn)行方式下。 |
$MODE_OP = 值 | |
值 | 說明 |
#EX | 機(jī)器人控制系統(tǒng)在外部自動(dòng)運(yùn)行方式下。 |
#INVALID | 機(jī)器人控制系統(tǒng)無定義的狀態(tài)。 |
$OV_PRO = 值 | ||
元素 | 數(shù)據(jù)類型 | 說明 |
值 (%) | INT | 程序倍率的大小 |
示例: 如果沒有達(dá)到編程設(shè)定的速度,則將輸出端 2 設(shè)定為 FALSE。
… IF (($MODE_OP == #T1) OR ($OV_PRO < 100)) THEN $OUT[2] ?= FALSE ENDIF … |
在SUB程序中可以調(diào)用用作子程序的程序。可以是: 其他的 SUB程序 不帶機(jī)器人運(yùn)動(dòng)指令的 SRC程序 從程序 SPS.SUB 中可以用 CWRITE 指令和 RUN 調(diào)用程序 CELL.SRC。調(diào)用只在冷啟動(dòng)時(shí)有效。也可以用cwrite指令來調(diào)用其他的主程序,可成和Ringo都已用過 sps.sub 在機(jī)器人解釋器中選擇 CELL.SRC 為了在運(yùn)行中的運(yùn)動(dòng)程序和 SUB 程序之間實(shí)現(xiàn)二進(jìn)制信息交換,可以使用機(jī)器人控制系統(tǒng)旗標(biāo)。旗標(biāo)由提交解釋器設(shè)定并且由機(jī)器人解釋器讀取。 ? 編輯SPS.SUB程序 SPS.SUB程序由KUKA用于控制器內(nèi)部提交任務(wù)。用戶特定的提交任務(wù)通常應(yīng)在單獨(dú)的SUB程序中進(jìn)行編程。 然而,在某些情況下,用戶可能需要在SPS.SUB程序中插入指令。follo翼折疊可用于以下用途: USER INIT USER PLC 用戶不得修改SPS.SUB程序的其他部分。 ? 程序SPS.SUB未被選擇或已被停止。 ? 用戶組“專家” 1.在“導(dǎo)航器”中,選擇目錄R1System中的SPS.SUB程序,然后按“打開”。 2.輸入更改: ? 在USER INIT(用戶初始化)折疊框中輸入初始化。該折疊位于INI折疊中。 USER INIT ? ; Please insert user defined initialization commands ? 在USER PLC折疊中輸入所有其他更改。 USER PLC ? ? ; Make your modifications here 3.關(guān)閉程序。響應(yīng)確認(rèn)請(qǐng)求,詢問是否應(yīng)保存更改,方法是按“是”。 SPS.SUB程序的結(jié)構(gòu): ? ?1? DEF? SPS ( ) ? ?2? ? DECLARATIONS ? ?3? ? INI ? ?4?? ? ?5? ? LOOP ? ?6? ? ? ?WAIT FOR NOT($POWER_FAIL) ? ?7? ? ? ?TORQUE_MONITORING() ? ?8?? ? ?9? ? ? ATB PLC LOOP ? 10? ? ? USER PLC ? 11? ? ENDLOOP
3 | INI折疊 這個(gè)折疊包含USER INIT折疊:在這里,用戶可以輸入在引導(dǎo)后只執(zhí)行一次的語(yǔ)句。 |
5..10 | LOOP語(yǔ)句。對(duì)于要在后臺(tái)連續(xù)運(yùn)行的程序。 |
9 | 一些軟件選項(xiàng)在程序SPS.SUB中插入折疊。例如:技術(shù)包KU-KA.ArcTech Basic插入折疊ATB PLC LOOP。實(shí)際存在的折疊取決于機(jī)器人控制器上安裝的選項(xiàng)。 |
10 | 用戶PLC:在這里,用戶可以輸入要在LOOP中執(zhí)行的指令。 |
-
程序
+關(guān)注
關(guān)注
116文章
3756瀏覽量
80754 -
sub
+關(guān)注
關(guān)注
0文章
12瀏覽量
2235
原文標(biāo)題:KUKA:創(chuàng)建新的 SUB 程序V5.22
文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論