0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

KRL指令如何在SUB程序中使用

機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 來源:機(jī)器人及PLC自動(dòng)化應(yīng)用 ? 2023-05-23 10:17 ? 次閱讀

cbd971d6-f8f2-11ed-90ce-dac502259ad0.png 借助模板創(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都已用過 cbf9781e-f8f2-11ed-90ce-dac502259ad0.png 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í)行的指令。

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 程序
    +關(guān)注

    關(guān)注

    116

    文章

    3756

    瀏覽量

    80754
  • sub
    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)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    何在Linux中使用htop命令

    本文介紹如何在 Linux 中使用 htop 命令。
    的頭像 發(fā)表于 12-04 14:45 ?1828次閱讀
    如<b class='flag-5'>何在</b>Linux<b class='flag-5'>中使</b>用htop命令

    請(qǐng)問cmakelists中的變量如何在程序中使用?

    大家好, 我有個(gè)問題請(qǐng)教,cmakelists.txt中的變量如何在程序中使用?比如以下cmakelists.txt文件中的PROJECT_VER變量,我如何在c
    發(fā)表于 06-11 07:34

    何在RISC-V中使用DSP指令?

    何在RISC-V中使用DSP指令
    發(fā)表于 02-16 07:43

    何在VxWorks系統(tǒng)中使用TrueType字庫(kù)

    何在VxWorks系統(tǒng)中使用TrueType字庫(kù)
    發(fā)表于 03-29 12:25 ?19次下載

    何在C程序中使用匯編

    怎樣在C程序中使用匯編,如何在C程序中使用匯編:方法一:在每個(gè)匯編語(yǔ)句前加asm即可。如:void reset_data(void) { a
    發(fā)表于 09-23 23:43 ?55次下載

    PMC功能指令程序控制指令

    程序控制指令: 7.SP(子程序SUB 71) 功能指令SP用于生成子程序。子程序號(hào)作為子
    發(fā)表于 09-29 13:08 ?0次下載
    PMC功能<b class='flag-5'>指令</b>:<b class='flag-5'>程序控制指令</b>

    數(shù)據(jù)處理指令SUB減操作指令分析

    6.3 SUB減操作指令 1.指令的編碼格式 SUB(Subtract)減操作指令,從寄存器《Rn》中減去《shifter_operand》
    發(fā)表于 10-18 15:35 ?1次下載
    數(shù)據(jù)處理<b class='flag-5'>指令</b>之<b class='flag-5'>SUB</b>減操作<b class='flag-5'>指令</b>分析

    何在C51程序中使用參數(shù)傳遞與數(shù)據(jù)返回的資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何在C51程序中使用參數(shù)傳遞與數(shù)據(jù)返回的資料說明。
    發(fā)表于 04-17 17:27 ?4次下載
    如<b class='flag-5'>何在</b>C51<b class='flag-5'>程序</b><b class='flag-5'>中使</b>用參數(shù)傳遞與數(shù)據(jù)返回的資料說明

    何在java代碼中使用HTTP代理IP

    何在java代碼中使用HTTP代理IP。
    的頭像 發(fā)表于 08-04 15:38 ?2177次閱讀

    何在PHP代碼中使用HTTP代理IP

    何在PHP代碼中使用HTTP代理IP。
    的頭像 發(fā)表于 08-04 16:08 ?2399次閱讀

    何在Arduino中使用LDR

    電子發(fā)燒友網(wǎng)站提供《如何在Arduino中使用LDR.zip》資料免費(fèi)下載
    發(fā)表于 10-31 09:50 ?0次下載
    如<b class='flag-5'>何在</b>Arduino<b class='flag-5'>中使</b>用LDR

    何在ADAS應(yīng)用程序中使用MIPI?CSI-2端口復(fù)制記錄傳感器數(shù)據(jù)

    何在ADAS應(yīng)用程序中使用MIPI?CSI-2端口復(fù)制記錄傳感器數(shù)據(jù)
    發(fā)表于 11-02 08:16 ?1次下載
    如<b class='flag-5'>何在</b>ADAS應(yīng)用<b class='flag-5'>程序</b><b class='flag-5'>中使</b>用MIPI?CSI-2端口復(fù)制記錄傳感器數(shù)據(jù)

    何在Arduino中使用Modbus

    電子發(fā)燒友網(wǎng)站提供《如何在Arduino中使用Modbus.zip》資料免費(fèi)下載
    發(fā)表于 11-22 11:21 ?14次下載
    如<b class='flag-5'>何在</b>Arduino<b class='flag-5'>中使</b>用Modbus

    何在Arduino中使用微型伺服

    電子發(fā)燒友網(wǎng)站提供《如何在Arduino中使用微型伺服.zip》資料免費(fèi)下載
    發(fā)表于 11-28 09:50 ?1次下載
    如<b class='flag-5'>何在</b>Arduino<b class='flag-5'>中使</b>用微型伺服

    何在測(cè)試中使用ChatGPT

    Dimitar Panayotov 在 2023 年 QA Challenge Accepted 大會(huì) 上分享了他如何在測(cè)試中使用 ChatGPT。
    的頭像 發(fā)表于 02-20 13:57 ?711次閱讀