處理復(fù)雜的機器人應(yīng)用的一個重要的前提條件是一個自由的和容易使用的可編程控制器。
為了滿足該需求,機器人控制器的功能性必須在機器人語言中可編程。機器人控制器全部的功能僅當(dāng)控制參數(shù)完整地和集成在機器人程序中時才可使用。通過預(yù)定系統(tǒng)變量和文件,在KRC...中得到了最好的解決。
預(yù)定變量的例子是$POS_ACT(當(dāng)前機器人位置),$BASE(基本坐標(biāo)系)或$VEL.CP(CP速度)。更詳細(xì)的說明和。
所有預(yù)定變量的列表見單獨資料[系統(tǒng)變量]。
系統(tǒng)變量被完整地集成在KRL的變量概念中。系統(tǒng)變量擁有相對應(yīng)的數(shù)據(jù)類型,可以象其它變量一樣可在程序中讀和寫,沒有數(shù)據(jù)的類型的限制。當(dāng)前機器人的位置,例如,僅可以讀而不能寫。控制器檢查和限制該狀態(tài)。
基于安全觀念的允許,您有可能會寫系統(tǒng)數(shù)據(jù)。從KCP或編程系統(tǒng)中可以裝載和改變大量的系統(tǒng)數(shù)據(jù),這樣就建立一個寬范圍的診斷能力 寫系統(tǒng)變量的例子是$TIMER[ ]和$FLAG[ ]。
16個計時器變量$TIMER[1]…$TIMER[16]可用于測量時間順序,可用作“秒表”。開
始和停止計時使用系統(tǒng)變量$TIMER_STOP[1]…$TIMER_STOP[16]:
$TIMER_STOP[4]=FALSE
開始計時器4,舉例。
$TIMER_STOP[4]=TRUE
開始計時器4。使用一般變量分配可在任何時候復(fù)位有關(guān)的計時器變量。舉例來說:
$TIMER[4]=0
如果計時器變量值從負(fù)向正變化,對應(yīng)的標(biāo)記則設(shè)置為TRUE(暫停條件),舉例來說:
$TIMER_FLAG[4]=TRUE
當(dāng)控制器啟動時,所有的計時器變量預(yù)設(shè)置為0,標(biāo)記
$TIMER_FLAG[1]…$TIMER_FLAG[16] 預(yù)設(shè)置為FALSE,變量$TIMER_STOP[1]...$TIMER_STOP[16] 預(yù)設(shè)置為TRUE。
計時器變量的單位是毫秒(ms)。$TIMER[1]…$TIMER[16]和$TIMER_FLAG[1]...$TIMER_FLAG[16]以12ms循環(huán)更新。
1024個標(biāo)記$FLAG[1]…$FLAG[1024]被用作全局標(biāo)記。這些BU布爾變量預(yù)設(shè)置為FALSE。
您可以隨時在用戶界面上通過“監(jiān)視”菜單看標(biāo)記的當(dāng)前值。
KRC...中可用32個循環(huán)標(biāo)記$CYCFLAG[1]…$CYCFLAG[32],控制器啟動后預(yù)設(shè)為FALSE。
機器人中標(biāo)記僅是循環(huán)被激活。在提交文件中允許循環(huán)標(biāo)記,但是它們不循環(huán)求值。
循環(huán)標(biāo)記可在子程序、函數(shù)和中斷子程序中定義和激活。
$CYCFLAG[1]…$CYCFLAG[32]的數(shù)據(jù)類型為BOOL型。任何布爾表達(dá)式可分配給循環(huán)標(biāo)記。
下列是允許的:
G布爾系統(tǒng)變量
G在數(shù)據(jù)表中聲明和初始化過的布爾變量。
不允許的是
G函數(shù)返回的布爾值
語句
$CYCFLAG[10]=$IN[2] AND $IN[13]
布爾表達(dá)式“$IN[2]AND$IN[13]”循環(huán)求值。例如,一旦輸入12或輸入13變化,$CYCFLAG[10]也變化,上述表達(dá)式執(zhí)行后與程序指針的位置無關(guān)。
定義過的所有的循環(huán)標(biāo)記保持有效直到選擇一個模態(tài)或通過復(fù)位進行程序塊選擇。所有的循環(huán)標(biāo)記保持有效直到程序的最后。
$符號
預(yù)定變量一般選擇一個容易記憶的名稱。以$符號開始和有意義的英文縮寫組成。它們象一般變量一樣處理,所以您不必記憶任何不尋常的命令和稀有的選項。
為避免發(fā)生混亂,您在聲明自己的變量的時候應(yīng)該以$符號開頭。
有的預(yù)定變量針對整個KRC...控制器(例如$ALARM_STOP用于定義輸出到到PLC的急停信號PLC).其它,然而僅用于機器人(例如$BASE用于基本坐標(biāo)系)。
機器人驅(qū)動器中有關(guān)控制的數(shù)據(jù)存儲在目錄“Steu”中,有關(guān)機器人的數(shù)據(jù)存儲在目錄“R1”中,并可在KUKA GUI上顯示。
KUKA圖形用戶界面上的不同級別
當(dāng)編程KRC...,您可以建立程序文件和數(shù)據(jù)表。程序文件是數(shù)據(jù)定義和可執(zhí)行指令。而數(shù)據(jù)表僅包含數(shù)據(jù)定義和可能的初始化。
除了編程期間建立的數(shù)據(jù)表外,在KRC...中還有KUKA定義的和控制軟件一起的數(shù)據(jù)表。這些數(shù)據(jù)表被稱為預(yù)定數(shù)據(jù)表,主要包含預(yù)定變量。
您自己并不刪除和建立預(yù)定數(shù)據(jù)表,當(dāng)軟件安裝時自動產(chǎn)生,然后永遠(yuǎn)可以使用。就象預(yù)定數(shù)據(jù)的名稱一樣,預(yù)定數(shù)據(jù)表的名稱也以$符號開始。
KRC...中存在以下預(yù)定數(shù)據(jù)表:
● $MACHINE.DAT
是預(yù)定數(shù)據(jù)表,包含專有的系統(tǒng)變量。適配控制器和所連接機器人(運動信息,控制參數(shù)等)的機床數(shù)據(jù)。控制系統(tǒng)和機器人系統(tǒng)中都有一個$MACHINE.DAT,您不可以新建或刪除現(xiàn)存的。
例如:
$ALARM_STOP 急停信號 (控制器特有)
$NUM_AX 機器人軸數(shù) (機器人特有)
● $CUSTOM.DAT
僅在控制系統(tǒng)中存在的數(shù)據(jù)表。包含可以配置或參數(shù)化特定控制函數(shù)的數(shù)據(jù)。編程師僅可以改變預(yù)定變量的值。不可以新建或刪除現(xiàn)存的。
例如:
$PSER_1 串行接口1的協(xié)議參數(shù)
$IBUS_ON 激活可選的聯(lián)絡(luò)母線組
● $CONFIG.DAT
KUKA預(yù)定的數(shù)據(jù)表,不包含任何系統(tǒng)變量,然而,在控制級和機器人級都有一個
$CONFIG.DAT 可用。其中可定義長時間有效的變量、結(jié)構(gòu)、通道和信號,對許多程序普通重要。
數(shù)據(jù)表分為以下幾個程序塊:
-- BAS
-- AUTOEXT
-- GRIPPER
-- PERCEPT
-- SPOT
A10
A50
A20
-- TOUCHSENSE
-- USER
用戶的全局聲明應(yīng)該輸入USER程序塊,因為僅該處的聲明在以后的軟件升級中被轉(zhuǎn)移。
● $ROBCOR.DAT
文件$ROBCOR.DAT包含特定機器人的機器人動態(tài)模型的數(shù)據(jù)。在軌跡計劃編排中需要這些數(shù)據(jù)。在文件中您不可以新建一個新變量或刪除現(xiàn)存的。
數(shù)據(jù)表 | 系統(tǒng) | 值分配 | ||
數(shù)據(jù)表 | 控制 | 機器人 | at | by |
$MACHINE.DAT | Y | Y | 試運轉(zhuǎn) | KUKA/user |
$CUSTOM.DAT | Y | 試運轉(zhuǎn) | user/KUKA | |
$CONFIG.DAT | Y | Y | 單元安裝或變換 | user/KUKA |
$ROBCOR.DAT | Y | Y | 運輸 | KUKA |
審核編輯:劉清
-
機器人
+關(guān)注
關(guān)注
210文章
28103瀏覽量
205853 -
plc
+關(guān)注
關(guān)注
5006文章
13108瀏覽量
461463 -
可編程控制器
+關(guān)注
關(guān)注
6文章
535瀏覽量
38812 -
計時器
+關(guān)注
關(guān)注
1文章
416瀏覽量
32605
原文標(biāo)題:KUKA 系統(tǒng)變量和系統(tǒng)文件
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論