










二、庫卡機器人外部啟動cell程序修改和程序
1、外部啟動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、外部啟動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、各個其他子程序
(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
三、外部啟動各項IO配置說明

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







