亚洲日本视频一区-久久久久1区二区三区-中文字幕的视频一区-精品人妻视频一区不卡-亚洲少妇天堂av

18621383605

上海市寶山區(qū)富聯(lián)一路98號(hào)6棟

側(cè)邊懸浮
主頁 > 新聞動(dòng)態(tài) > 企業(yè)動(dòng)態(tài)

庫卡機(jī)器人干貨分享:如何利用KRL編程?

2018-03-02 17:34:40

第十章 在 KRL 中成功編程

庫卡機(jī)器人干貨——如何利用 KRL 編程

10.1 機(jī)器人的程序結(jié)構(gòu)和組成


程序流程控制

除了純運(yùn)動(dòng)指令和通訊指令(切換和等待功能)之外,在機(jī)器人程序中還有大量用于控制程序流程的程序。 其中包括:

循環(huán) | 循環(huán)是控制結(jié)構(gòu)。 它不斷重復(fù)執(zhí)行指令塊指令,直至出現(xiàn)終止條件。

分支 | 使用分支后,便可以只在特定的條件下執(zhí)行程序段。

無限循環(huán) :在無限循環(huán)中無止境地重復(fù)指令段。 然而,卻可通過一個(gè)提前出現(xiàn)的中斷(含 EXIT 功能)退出循環(huán)語句。

庫卡機(jī)器人干貨——如何利用 KRL 編程

程序流程圖: 無限循環(huán)

LOOP 指令舉例:

庫卡機(jī)器人干貨——如何利用 KRL 編程

庫卡機(jī)器人干貨——如何利用 KRL 編程

計(jì)數(shù)循環(huán) :用計(jì)數(shù)循環(huán) (FOR 循環(huán)語句)可使指令重復(fù)定義的次數(shù)。 循環(huán)的次數(shù)借助于一個(gè)計(jì)數(shù)變量控制。

庫卡機(jī)器人干貨——如何利用 KRL 編程

程序流程圖: FOR 循環(huán)語句

一個(gè) FOR 循環(huán)語句舉例: 將輸出端 1 至 5 依次切換到 TRUE。 用整數(shù)(Integer) 變量 “i” 來對(duì)一個(gè)循環(huán)語句內(nèi)的循環(huán)進(jìn)行計(jì)數(shù)。

庫卡機(jī)器人干貨——如何利用 KRL 編程

當(dāng)型循環(huán): WHILE 循環(huán)是一種當(dāng)型或者先判斷型循環(huán),這種循環(huán)會(huì)在執(zhí)行循環(huán)的指令部分前先判斷終止條件是否成立。

庫卡機(jī)器人干貨——如何利用 KRL 編程

WHILE 程序流程圖

WHILE 循環(huán)示例: 輸出端 17 被切換為 TRUE,而輸出端 18 被切換為FALSE,并且機(jī)器人移入 Home 位置,但僅當(dāng)循環(huán)開始時(shí)就已滿足條件 (輸入端 22 為 TRUE)時(shí)才成立。

庫卡機(jī)器人干貨——如何利用 KRL 編程

直到型循環(huán): REPEAT 循環(huán)是一種直到型或者檢驗(yàn)循環(huán),這種循環(huán)會(huì)在第一次執(zhí)行完循環(huán)指令部分后才會(huì)檢測(cè)終止條件。

庫卡機(jī)器人干貨——如何利用 KRL 編程

程序流程圖 REPEAT

REPEAT 循環(huán)示例:輸出端 17 被切換為 TRUE,而輸出端 18 被切換為FALSE,并且機(jī)器人移入 Home 位置。 這時(shí)才會(huì)檢測(cè)條件。

庫卡機(jī)器人干貨——如何利用 KRL 編程

條件性分支 :條件性分支 (IF 語句)由一個(gè)條件和兩個(gè)指令部分組成。 如果滿足條件,則可處理第一個(gè)指令。 如果未滿足條件,則執(zhí)行第二個(gè)指令。

但是,對(duì) IF 語句也有替代方案:

庫卡機(jī)器人干貨——如何利用 KRL 編程

程序流程圖: IF 分支

IF 語句舉例: 如果滿足條件 (輸入端 30 必須為 TRUE),則機(jī)器人運(yùn)動(dòng)到點(diǎn)P3,否則到點(diǎn) P4。

庫卡機(jī)器人干貨——如何利用 KRL 編程

分配器: 一個(gè) SWITCH 分支語句是一個(gè)分配器或多路分支。 此處首先分析一個(gè)表達(dá)式。然后,該表達(dá)式的值與一個(gè)案例段 (CASE) 的值進(jìn)行比較。 值一致時(shí)執(zhí)行相應(yīng)案例的指令。

庫卡機(jī)器人干貨——如何利用 KRL 編程

程序流程圖: 分配模塊 SWITCH - CASE

對(duì)帶有名稱 “ 狀態(tài) ” 的整數(shù)變量 (Integer),首先要檢查其值。 如果變量的值為1,則執(zhí)行案例 1 (CASE 1): 機(jī)器人運(yùn)動(dòng)到點(diǎn) P5。 如果變量的值為 2,則執(zhí)行案例 2 (CASE 2): 機(jī)器人運(yùn)動(dòng)到點(diǎn) P6。 如果變量的值未在任何案例中列出(在該例中為 1 和 2 以外的值),則將執(zhí)行默認(rèn)分支: 故障信息。

庫卡機(jī)器人干貨——如何利用 KRL 編程

10.2 結(jié)構(gòu)化機(jī)器人程序

機(jī)器人程序結(jié)構(gòu)化設(shè)計(jì)的方法:

機(jī)器人程序的結(jié)構(gòu)是體現(xiàn)其使用價(jià)值的一個(gè)十分重要的因數(shù)。 程序結(jié)構(gòu)化越規(guī)范,程序就越易于理解、執(zhí)行效果越好、越便于讀取、越經(jīng)濟(jì)。 為了使程序得到結(jié)構(gòu)化設(shè)計(jì),可以使用以下技巧:

注釋和印章 :添加注釋為在機(jī)器人程序中存儲(chǔ)僅針對(duì)程序讀者的文本提供了可能性。 即機(jī)器人解釋器不讀入該文本。 該文本只是為了提高程序的可讀性。

在機(jī)器人程序中可以在許多地方使用注釋:

庫卡機(jī)器人干貨——如何利用 KRL 編程

注釋示例: 信息

庫卡機(jī)器人干貨——如何利用 KRL 編程

注釋示例: 分層目錄

添加注釋 :(專家層面) | 通過在程序行的起始位置添加分號(hào)來使該程序行 “變成注釋 ”,即該文本作為注釋來識(shí)別,而不進(jìn)入程序執(zhí)行。

庫卡機(jī)器人干貨——如何利用 KRL 編程

注釋示例: 添加注釋

以及對(duì)需執(zhí)行的工作的說明 | 標(biāo)識(shí)未完成的程序段

庫卡機(jī)器人干貨——如何利用 KRL 編程

注釋示例: 說明

注意:只有不斷更新,注釋才有意義。 如果之后更改過指令,則也必須更新注釋!

可以使用三種不同的注釋方式:

庫卡機(jī)器人干貨——如何利用 KRL 編程

注釋的聯(lián)機(jī)表單

庫卡機(jī)器人干貨——如何利用 KRL 編程

庫卡機(jī)器人干貨——如何利用 KRL 編程

印章的聯(lián)機(jī)表格

庫卡機(jī)器人干貨——如何利用 KRL 編程

插入注釋和印章的操作步驟:

1. 標(biāo)定其后應(yīng)插入注釋或印章的那一行。

2. 選擇菜單序列指令 > 注釋 > 正?;蛴≌隆?/span>

3. 輸入所希望的數(shù)據(jù)。 如果事先已經(jīng)插入了注釋或印章,則聯(lián)機(jī)表格中還保留著相同數(shù)據(jù)。

4. 用指令 OK 存儲(chǔ)。

程序行的縮進(jìn) 提高機(jī)器人程序可讀性的一個(gè)有效手段是縮進(jìn)程序行。 由此可提高程序單元之間關(guān)聯(lián)的清晰度。

庫卡機(jī)器人干貨——如何利用 KRL 編程

程序行縮進(jìn)

注意:縮進(jìn)效應(yīng)只是視覺上的。 縮進(jìn)的程序行在程序運(yùn)行時(shí)與未縮進(jìn)的程序行一樣得到處理。

通過 Fold 隱藏程序行:

KUKA 機(jī)器人編程語言可將程序行折疊和隱藏到 Fold 中。 用戶因此而看不到這些程序行。這使程序的閱讀變得更加簡潔方便。 以后可在專家用戶組中打開和編輯 Fold。

庫卡機(jī)器人干貨——如何利用 KRL 編程

關(guān)閉的 Fold

庫卡機(jī)器人干貨——如何利用 KRL 編程

打開的 Fold

Fold 的顏色:

庫卡機(jī)器人干貨——如何利用 KRL 編程

10.3 鏈接機(jī)器人程序

子程序技術(shù): 利用子程序技術(shù)可將機(jī)器人程序模塊化,因而可以有效結(jié)構(gòu)設(shè)計(jì)程序。 目的是不將所有指令寫入一個(gè)程序,而是將特定的流程、計(jì)算或過程轉(zhuǎn)移到單獨(dú)的程序中。

通過使用子程序產(chǎn)生了一系列的優(yōu)點(diǎn):

原則上可將子程序分為兩種不同的類型

庫卡機(jī)器人干貨——如何利用 KRL 編程

全局子程序示意圖


一個(gè)全局子程序是一個(gè)獨(dú)立的機(jī)器人程序,可從另一個(gè)機(jī)器人程序調(diào)用??筛鶕?jù)具體要求對(duì)程序進(jìn)行分支,即某一程序可在某次應(yīng)用中用作主程序,而在另一次則用作子程序。

庫卡機(jī)器人干貨——如何利用 KRL 編程

示意圖: 局部子程序

局部子程序是集成在一個(gè)主程序中的程序,即指令包含在同一個(gè) SRC 文件中。 子程序的點(diǎn)坐標(biāo)相應(yīng)存放在同一個(gè) DAT 文件中。

調(diào)用子程序的過程: 每個(gè)程序都以 DEF 行開始并以 END 行結(jié)束。 如果要在主程序中調(diào)用子程序,則正常情況下子程序會(huì)從 DEF 運(yùn)行至 END。 到達(dá) END 行后,程序運(yùn)行指針重新跳入發(fā)出調(diào)用指令的程序 (主程序)。

庫卡機(jī)器人干貨——如何利用 KRL 編程

調(diào)用子程序的過程

注意:為了能提早退出子程序 (即在 END 行之前),可以在子程序中編入 RETURN 指令。 程序讀到該程序行時(shí),即可提前終止子程序的運(yùn)行。

調(diào)用子程序的操作步驟:

為了對(duì)子程序調(diào)用進(jìn)行編程,必須已選擇用戶組 “ 專家 ”。 子程序調(diào)用的句法為:

??( )

1. 在主菜單中選擇 配置 > 用戶組。 將顯示出當(dāng)前用戶組。

2. 若欲切換至其它用戶組,則: 按下登錄 …。 選定用戶組專家。

3. 輸入密碼 kuka,然后用登錄確認(rèn)。

4. 用打開將所需的主程序載入編輯器

庫卡機(jī)器人干貨——如何利用 KRL 編程

5. 將光標(biāo)定位在所需的行內(nèi)

6. 輸入子程序名稱和括號(hào),例如:myprog( )

庫卡機(jī)器人干貨——如何利用 KRL 編程

7. 用關(guān)閉圖標(biāo)關(guān)閉編輯器并保存修改