










二、庫(kù)卡機(jī)器人外部啟動(dòng)cell程序修改和程序
1、外部啟動(dòng)cell.src主程序新建模板
DEF Cell ( )
;EXT EXAMPLE1 ( )
;EXT EXAMPLE2 ( )
;EXT EXAMPLE3 ( )
INIT
BASISTECH INI
CHECK HOME
PTP HOME Vel= 100 % DEFAULT
AUTOEXT INI
LOOP
P00 (#EXT_PGNO,#PGNO_GET,DMY[],0 )
SWITCH PGNO ; Select with Programnumber
CASE 1
P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
;EXAMPLE1 ( ) ; Call User-Program
CASE 2
P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
;EXAMPLE2 ( ) ; Call User-Program
CASE 3
P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
;EXAMPLE3 ( ) ; Call User-Program
DEFAULT
P00 (#EXT_PGNO,#PGNO_FAULT,DMY[],0 )
ENDSWITCH
ENDLOOP
END
2、外部啟動(dòng)cell.src主程序修改后
DEF Cell( )
;EXT EXAMPLE1 ( )
;EXT EXAMPLE2 ( )
;EXT EXAMPLE3 ( )
INIT
BASISTECH INI
AUTOEXT INI
LOOP
P00 (#EXT_PGNO,#PGNO_GET,DMY[],0 )
SWITCH PGNO ; Select with Programnumber
CASE 1
yuan20181222()
CASE 2
P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
;EXAMPLE2 ( ) ; Call User-Program
sibiabxing()
CASE 3
P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
;EXAMPLE3 ( ) ; Call User-Program
sanjiaoxing()
CASE 4
P00 (#EXT_PGNO,#PGNO_ACKN,DMY[],0 ) ; Reset Progr.No.-Request
;EXAMPLE1 ( ) ; Call User-Program
DEFAULT
P00 (#EXT_PGNO,#PGNO_FAULT,DMY[],0 )
ENDSWITCH
ENDLOOP
END
3、各個(gè)其他子程序
(1)yuan20181222() 全局子程序圓
DEF yuan20181222( )
INI
PTP P6 Vel=100 % PDAT1 Tool[1]:TOOL1 Base[0]
LIN P1 Vel=1 m/s CPDAT1 Tool[1]:TOOL1 Base[0]
CIRC P2 P3 Vel=1 m/s CPDAT2 Tool[1]:TOOL1 Base[0]
CIRC P4 p1 Vel=1 m/s CPDAT3 Tool[1]:TOOL1 Base[0]
PTP p6 Vel=100 % PDAT2 Tool[1]:TOOL1 Base[0]
END
(2)sibiabxing() 全局子程序四邊形
DEF SIBIABXING( )
INI
PTP P1 Vel=100 % PDAT1 Tool[1]:TOOL1 Base[0]
LIN P2 Vel=1 m/s CPDAT1 Tool[1]:TOOL1 Base[0]
LIN P3 Vel=1 m/s CPDAT2 Tool[1]:TOOL1 Base[0]
LIN P4 Vel=1 m/s CPDAT3 Tool[1]:TOOL1 Base[0]
LIN P5 Vel=1 m/s CPDAT5 Tool[1]:TOOL1 Base[0]
LIN P2 Vel=1 m/s CPDAT4 Tool[1]:TOOL1 Base[0]
PTP P1 Vel=100 % PDAT3 Tool[1]:TOOL1 Base[0]
END
(3)sanjiaoxing() 全局子程序三角形
DEF SANJIAOXING( )
DECL INT C
INI
PTP P1 Vel=100 % PDAT1 Tool[1]:TOOL1 Base[0]
FOR C=1 TO 3
LIN P2 Vel=1 m/s CPDAT1 Tool[1]:TOOL1 Base[0]
LIN P3 Vel=1 m/s CPDAT2 Tool[1]:TOOL1 Base[0]
LIN P4 Vel=1 m/s CPDAT3 Tool[1]:TOOL1 Base[0]
LIN P2 Vel=1 m/s CPDAT4 Tool[1]:TOOL1 Base[0]
ENDFOR
PTP P1 Vel=100 % PDAT2 Tool[1]:TOOL1 Base[0]
END
三、外部啟動(dòng)各項(xiàng)IO配置說(shuō)明

序號(hào) |
輸入 參數(shù) |
參數(shù)描述 |
1 |
PGNO_TYPE |
此變量確定了以何種格式來(lái)讀取上級(jí)控制系統(tǒng)傳送的程序編號(hào)。 為1值時(shí):以二進(jìn)制數(shù)值讀。荷霞(jí)控制系統(tǒng)以二進(jìn)制編碼整數(shù)值的形式傳遞程序編號(hào)。例如:0 0 1 0 0 1 1 1=> PGNO = 39 為2值時(shí):以 BCD 值讀取。上級(jí)控制系統(tǒng)以二進(jìn)制編碼小數(shù)值的形式傳遞程序編號(hào)。例如:0 0 1 0 0 1 1 1=> PGNO = 27 為3值時(shí):以 “N 選 1” 的形式讀取 ,上級(jí)控制系統(tǒng)或外圍設(shè)備以 “N 選 1” 的編碼值傳遞程序編號(hào)。0 0 0 0 0 0 0 1=> PGNO = 1和0 0 0 0 1 0 0 0=> PGNO = 4 |
2 |
PGNO_LENGTH |
程序號(hào)長(zhǎng)度:此變量確定了上級(jí)控制系統(tǒng)傳送的程序編號(hào)的位寬。 值域: 1 … 16。若 PGNO_TYPE 的值為 2,則只允許位寬為 4、8、12 和 16。 |
3 |
PGNO_PARITY |
程序號(hào)的奇偶位: 負(fù)值:為奇校驗(yàn),只讀取奇數(shù); 0:無(wú)分析,奇數(shù)和偶數(shù)都識(shí)別; 正數(shù):為偶校驗(yàn),只讀取偶數(shù) 如果 PGNO_TYPE 值為 3,則 PGNO_PARITY 不被分析。 |
4 |
PGNO_VALID |
程序號(hào)有效:上級(jí)控制系統(tǒng)傳送讀取程序號(hào)指令的輸入端 負(fù)值:在信號(hào)的脈沖下降沿應(yīng)用編號(hào) 0:在線路 EXT_START 處隨著信號(hào)的脈沖上升沿應(yīng)用編號(hào)。 正值:在信號(hào)的脈沖上升沿應(yīng)用編號(hào)。 |
5 |
$EXT_START |
外部啟動(dòng):設(shè)定了該輸入端后,輸入 / 輸出接口激活時(shí)將啟動(dòng)或繼續(xù)一個(gè)程序 (一般為 CELL.SRC)。僅分析信號(hào)的脈沖上升沿。在外部自動(dòng)運(yùn)行中無(wú) BCO 運(yùn)行。 這表明,機(jī)器人在啟動(dòng)之后以編程設(shè)定的速度 (沒(méi)有減速)到達(dá)第一個(gè)編程設(shè)定的位置,并且不停在那里。 |
6 |
$MOVE_ENABLE |
允許運(yùn)行:該輸入端用于由上級(jí)控制器對(duì)機(jī)器人驅(qū)動(dòng)器進(jìn)行檢查。 TRUE :可手動(dòng)運(yùn)行和執(zhí)行程序 FALSE :停住所有驅(qū)動(dòng)裝置并鎖定所有激活的指令 當(dāng)驅(qū)動(dòng)裝置由上級(jí)控制器停住后,將顯示 “ 開(kāi)通全部運(yùn)行 ” 的信息提示。 刪除了該信息提示并且重新發(fā)出外部啟動(dòng)信號(hào)后機(jī)器人才能重新運(yùn)動(dòng)。投入運(yùn)行時(shí)變量 $MOVE_ENABLE 常常設(shè)計(jì)為值 $IN[1025]。 如果此后忘記設(shè)計(jì)另一個(gè)輸入端,則不能外部啟動(dòng)。 |
7 |
$CONF_MESS |
確認(rèn)信息提示(錯(cuò)誤復(fù)位):通過(guò)給該輸入端賦值,當(dāng)故障原因排除后,上級(jí)控制器將自己確認(rèn)故障信息,上升沿有效。 |
8 |
$DRIVES_ON |
驅(qū)動(dòng)裝置接通:如果在此輸入端上施加了持續(xù)至少 20 毫秒的高脈沖,則上級(jí)控制系統(tǒng)會(huì)接通機(jī)器人驅(qū)動(dòng)裝置。 |
9 |
$DRIVES_OFF |
驅(qū)動(dòng)裝置關(guān)閉:如果在此輸入端上施加了持續(xù)至少 20 毫秒的低脈沖,則上級(jí)控制系統(tǒng)會(huì)關(guān)斷機(jī)器人驅(qū)動(dòng)裝置。 |
(2)機(jī)器人輸出端信號(hào)參數(shù)含義
序號(hào) |
輸出 參數(shù) |
參數(shù)描述 |
1 |
$ALARM_STOP |
緊急停止:出現(xiàn)緊急停止時(shí)可從輸出端 $ALARM_STOP 和 Int. NotAus 的狀態(tài)看出是哪種緊急停止:兩個(gè)輸出端均為 FALSE: 觸發(fā)了庫(kù)卡控制面板 (KCP)上的緊急停止按鍵$ALARM_STOP FALSE, Int. NotAus TRUE: 外部緊急停止 該輸出端將在出現(xiàn)以下緊急停止情形時(shí)復(fù)位: 1)按下了庫(kù)卡控制面板 (KCP)上的緊急停止按鍵。(內(nèi)部緊急關(guān)斷) 2)外部緊急停止 |
2 |
$USER_SAF |
操作人員防護(hù)裝置 / 防護(hù)門(mén):該輸出端在打開(kāi)護(hù)欄詢問(wèn)開(kāi)關(guān) (運(yùn)行方式 AUT)或放開(kāi)確認(rèn)開(kāi)關(guān) (運(yùn)行方式 T1 或 T2)時(shí)復(fù)位。 |
3 |
$PERI_RDY |
驅(qū)動(dòng)裝置處于待機(jī)狀態(tài):通過(guò)設(shè)定此輸出端機(jī)器人控制系統(tǒng)通知上級(jí)控制系統(tǒng)機(jī)器人驅(qū)動(dòng)裝置已接通。 |
4 |
$STOPMESS |
停止信息:該輸出端由機(jī)器人控制系統(tǒng)來(lái)設(shè)定,以向上級(jí)控制器顯示出現(xiàn)了一條要求停住機(jī)器人的信息提示。 (例如: 緊急停止按鍵、運(yùn)行開(kāi)通或操作人員防護(hù)裝置) |
5 |
$I_O_ACTCONF |
外部自動(dòng)運(yùn)行激活:選擇了外部自動(dòng)運(yùn)行這一運(yùn)行方式并且輸入端 $I_O_ACT 為 TRUE(一般始終設(shè)為 $IN[1025])后,輸出端為 TRUE。 |
6 |
$PRO_ACT |
程序激活 / 正在運(yùn)行:當(dāng)一個(gè)機(jī)器人層面上的過(guò)程激活時(shí),始終給該輸出端賦值。 在處理一個(gè)程序或中斷時(shí),過(guò)程為激活狀態(tài)。 程序結(jié)束時(shí)的程序處理只有在所有脈沖輸出端和觸發(fā)器均處理完畢之后才視為未激活。 |
7 |
PGNO_REQ |
程序號(hào)問(wèn)詢:在該輸出端信號(hào)變化時(shí),要求上級(jí)控制器傳送一個(gè)程序號(hào)。如果 PGNO_TYPE 值為 3,則 PGNO_REQ 不被分析。 |
8 |
APPL_RUN |
應(yīng)用程序在運(yùn)行中:機(jī)器人控制系統(tǒng)通過(guò)設(shè)置此輸出端來(lái)通知上級(jí)控制系統(tǒng)機(jī)器人正在處理有關(guān)程序。 |
9 |
$IN_HOME |
機(jī)器人位于起始位置 (HOME):該輸出端通知上級(jí)控制器機(jī)器人正位于其起始位置 (HOME)。 |
10 |
$ON_PATH |
機(jī)器人位于軌跡上:只要機(jī)器人位于編程設(shè)定的軌跡上,此輸出端即被賦值。 在進(jìn)行了 BCO運(yùn)行后輸出端 ON_PATH 即被賦值。 輸出端保持激活,直到機(jī)器人離開(kāi)了軌跡、程序復(fù)位或選擇了語(yǔ)句。 但信號(hào) ON_PATH 無(wú)公差范圍,機(jī)器人一離開(kāi)軌跡,該信號(hào)便復(fù)位。 |
系統(tǒng)輸入信號(hào) |
硬件輸入信號(hào) |
in1-in16 |
di1-di16 |
系統(tǒng)輸出信號(hào) |
硬件輸信號(hào) |
out1-out16 |
do1—do16 |







