Makro 39 ~對(duì)接初始化
宏39中用于靈活對(duì)接的技術(shù)包:
P1 1 開(kāi)始?配置開(kāi)始(第一個(gè)BHF)
2 結(jié)束?配置結(jié)束(最后一個(gè)BHF)
P2 = ??空?至36?選擇??空?至36
P3 =輸入???空镜臄?shù)字輸入已被占用
P4 = 應(yīng)用EZ / SP1-(伺服)?選擇EZ / SP1-伺服(虛擬軸)
NZ1-(伺服)?選擇NZ-伺服(虛擬軸)
CZ1-(伺服)?選擇CZ-伺服(虛擬軸)
NZ1-(電氣/電氣)?選擇NZ1-液壓/電氣(無(wú)虛擬軸)
抓爪?選擇抓爪(無(wú)虛擬軸)
其他?選擇其他(無(wú)虛擬軸)
P5 = 1號(hào)至4號(hào)鉗子?1號(hào)至4號(hào)鉗子的選擇
無(wú)?選擇無(wú)鉗子否(用于夾持器/其他)
P6 =虛擬軸1至6?選擇虛擬軸1至6否?未選擇虛擬軸
P7 = 設(shè)置宏程序-宏Nr911至Nr934?選擇宏編號(hào)。虛擬軸數(shù)
不可用?未選擇虛擬軸
該技術(shù)包只能在宏中調(diào)用!
-每個(gè)擴(kuò)展塢都有自己的技術(shù)調(diào)用。
-組態(tài)以BHF1開(kāi)頭,并以“ P1 =起始”定義。P1=1
-最后一個(gè)BHF的組態(tài)由“ P1 = 結(jié)束”定義。P1=2
-必須按升序配置BHF。
-每個(gè)BHF只能配置一次。
-使用參數(shù)6設(shè)置虛擬軸,該虛擬軸根據(jù)
Synchromove已參數(shù)化。一次只能分配一個(gè)虛擬軸,不能多次分配。
在對(duì)接過(guò)程中,必須對(duì)工具32進(jìn)行編程。
刀具載荷數(shù)據(jù)應(yīng)設(shè)置為標(biāo)準(zhǔn)。(默認(rèn))
拆卸時(shí),夾具的開(kāi)口尺寸應(yīng)接近基準(zhǔn)位置,拆卸和對(duì)接時(shí),夾具的開(kāi)口尺寸必須相同。
在進(jìn)入U(xiǎn)P時(shí)執(zhí)行VW_USR_R (#USR_INIT)時(shí)進(jìn)行初始化
DS_Interface() 快換頭接口程序
SWITCH USER_CMD
CASE #USR_INIT 初始化程序
SEL_RES=SELECT(#MAKRO,39,TRUE,,,,,FALSE) 執(zhí)行初始化程序MAKRO39
;FOLDMakro Anfang ;%{PSE}%MKUKATPVW
BOOLADV
;interface to basic routines
EXT BAS(BAS_COMMAND :IN,REAL :IN )
;interface to VW-standard routines
EXTVW (VW_COMMAND:IN, BOOL: IN, REAL:IN, REAL:IN, REAL:IN, REAL:IN, BOOL :IN, E6POS :IN )
;interface select routine
EXTFCTINT SELECT (SUBTYPE :IN,INT :IN,BOOL :IN,ARI_TYP :IN,INT :IN,BOOL_TYP :IN,INT :IN,BOOL :IN)
SPS_N=-1
;FOLD;%{H} %MKUKATPVW
IFVARSTATE ("ADV") <> #INITIALIZED THEN
ADV=FALSE
ENDIF
IF(NOT ADV) THEN
;ENDFOLD
;ENDFOLD
;FOLDTECH1 DS-Konfiguration Start BHF=Nr1 Eingang=551 Applikation=CZ1(Servo) Zange=Nr1 Techaufruf=EIN PAR1=1抓著鉚槍初始化
VW_USR_R(#USR_MAKRO,103,1,1,551,3100,1,1,1,1,1,TRUE)
;ENDFOLD;%{E}%MKUKATPVW %CVW_SPS %VUSER %P 2:TECH1.DS-Konfiguration CN=103 P1=1 P2=1 P3=551 P4=3100 P5=1 P6=1 P7=1 P8=1 P9=1 P10=EIN, 3: USER
VW_USR_R(#USR_MAKRO,103,1,1,551,3100,1,1,1,1,1,TRUE)
;ENDFOLD
VW_USR_R(#USR_MAKRO,103,2,2,552,5100,0,1,1,1,1,TRUE)
;ENDFOLD
;FOLDTECH1 DS-Konfiguration Ende BHF=Nr2 Eingang=552 Applikation=Greifer/Sonstiges Techaufruf=EIN PAR1=2不初始化;%{E}%MKUKATPVW %CVW_SPS %VUSER %P 2:TECH1.DS-Konfiguration CN=103 P1=2 P2=2 P3=552 P4=5100 P5=0 P6=1 P7=1 P8=1 P9=1 P10=EIN, 3: USER
VW_USR_R(#USR_MAKRO,103,2,2,552,5100,0,1,1,1,1,TRUE)
快換頭組態(tài)控制:
TECH1 DS配置開(kāi)始 BHF = Nr1 輸入= 551 應(yīng)用= CZ1(伺服)鉗位= Nr1 技術(shù)調(diào)用=開(kāi)
;FOLDTECH1 DS-Konfiguration Start BHF=Nr1 Eingang=551 Applikation=CZ1(Servo) Zange=Nr1 Techaufruf=EIN
VW_USR_R(#USR_MAKRO,103,1,1,551,3100,1,1,1,1,1,TRUE)
CASE #USR_MAKRO
USER_MAKRO
;ENDFOLD;%{E}%MKUKATPVW %CVW_SPS %VUSER %P 2:TECH1.DS-Konfiguration CN=103 P1=1 P2=1 P3=551 P4=3100 P5=1 P6=1 P7=1 P8=1 P9=1 P10=EIN, 3: USER
VW_USR_R(#USR_MAKRO,103,1,1,551,3100,1,1,1,1,1,TRUE)
;ENDFOLD
CASE 103 ;
DS_Interface(#USR_MAKRO,CMD_SEL,PAR1,PAR2,PAR3,PAR4,PAR5,PAR6,PAR7,PAR8,PAR9)
CMD_SEL=103
PAR1=1
PAR2=1
PAR3=551
PAR4=3100
PAR5=1
PAR6=1
PAR7=1
PAR8=1
PAR9=1
GLOBALBOOL MIT_DS=TRUE -----在vw_ds_usr_s.dat文件里設(shè)置
DEF DS_Interface(USER_CMD:IN,CMD_SEL:IN,PAR1:IN,PAR2:IN,PAR3:IN,PAR4:IN,PAR5:IN,PAR6:IN,PAR7:IN,PAR8:IN,PAR9:IN)
CASE #USR_MAKRO
;FOLDMakro
---------對(duì)接配置-----------
IF(MIT_DS==TRUE)THEN MIT_DS=TRUE ---帶快換工具
IF(PAR1==1)THEN PAR1=1
Dock_Init=TRUE 快換初始化
ELSE PAR1=2
Dock_Init=FALSE 快換初始化關(guān)閉
ENDIF
------------開(kāi)始初始化變量------------------
IF Dock_Init THEN Dock_Init=TRUE
Dock_Init=FALSE 快換初始化關(guān)閉
WAITFOR(B_DS_BHF_ausw_aktiv==FALSE)
DS_HM_Done=FALSE
DS_KONFIG_IO=FALSE
---
DOCK_SZ=FALSE
DOCK_NZ=FALSE
DOCK_NZ_hyd=FALSE
DOCK_CZ=FALSE
DOCK_RW=FALSE
---
Anz_BHF=0
ANZ_EZ=0
ANZ_NZ=0
ANZ_NZ_hyd=0
ANZ_CZ=0
ANZ_RW=0
---
AntTyp=0
ZangenNr=0
ExtAx=0
---
EZ_DockAxZ1=0
EZ_DockAxZ2=0
EZ_DockAxZ3=0
EZ_DockAxZ4=0
---
NZ_DockAxZ1=0
NZ_DockAxZ2=0
NZ_DockAxZ3=0
NZ_DockAxZ4=0
---
CZ_DockAxZ1=0
CZ_DockAxZ2=0
CZ_DockAxZ3=0
CZ_DockAxZ4=0
;
RW_DockAxZ1=0
RW_DockAxZ2=0
RW_DockAxZ3=0
RW_DockAxZ4=0
;
ExtAx1Hilf=0
ExtAx2Hilf=0
ExtAx3Hilf=0
ExtAx4Hilf=0
ExtAx5Hilf=0
ExtAx6Hilf=0
;
AxFehler=FALSE
;
ExtAx1Fehler1=FALSE
ExtAx2Fehler1=FALSE
ExtAx3Fehler1=FALSE
ExtAx4Fehler1=FALSE
ExtAx5Fehler1=FALSE
ExtAx6Fehler1=FALSE
;
ExtAx1Fehler2=FALSE
ExtAx2Fehler2=FALSE
ExtAx3Fehler2=FALSE
ExtAx4Fehler2=FALSE
ExtAx5Fehler2=FALSE
ExtAx6Fehler2=FALSE
;
BHF_EZ_Z1=0
BHF_EZ_Z2=0
BHF_EZ_Z3=0
BHF_EZ_Z4=0
;
BHF_NZ_Serv_Z1=0
BHF_NZ_Serv_Z2=0
BHF_NZ_Serv_Z3=0
BHF_NZ_Serv_Z4=0
;
BHF_NZ_hyd_Z1=0
BHF_NZ_hyd_Z2=0
BHF_NZ_hyd_Z3=0
BHF_NZ_hyd_Z4=0;
BHF_CZ_Serv_Z1=0
BHF_CZ_Serv_Z2=0
BHF_CZ_Serv_Z3=0
BHF_CZ_Serv_Z4=0;
BHF_RW_Serv_Z1=0
BHF_RW_Serv_Z2=0
BHF_RW_Serv_Z3=0
BHF_RW_Serv_Z4=0;
PROCPAR[BHF_Off]=0 P220=0 初始化;
FOR i=1 TO 36
PROCPAR[BHF_Off+i]=0 P值歸0
IN_BHF_belegt[i]=4081
ENDFOR
ENDIF;
SWITCH PAR4 PAR4=3100
CASE 1100 ;EZ1
AntTyp=1000
SteuNr=100
DOCK_SZ=TRUE
CASE 1200 ;EZ2
AntTyp=1000
SteuNr=200
DOCK_SZ=TRUE
CASE 1300 ;EZ3
AntTyp=1000
SteuNr=300
DOCK_SZ=TRUE
CASE 2100 ;NZ1-Servo
AntTyp=2000
SteuNr=100
DOCK_NZ=TRUE
CASE 2200 ;NZ2-Servo
AntTyp=2000
SteuNr=200
DOCK_NZ=TRUE
èCASE 3100 ;CZ1-Servo 電伺服鉚鉗--------
AntTyp=3000 類(lèi)型是3000
SteuNr=100 狀態(tài)號(hào)
DOCK_CZ=TRUE 激活快換鉚鉗
CASE 3200 ;CZ2-Servo伺服鉚鉗2
AntTyp=3000
SteuNr=200
DOCK_CZ=TRUE
CASE 4100 ;NZ1-液壓鉚鉗
AntTyp=4000
SteuNr=100
DOCK_NZ_hyd=TRUE
CASE 4200 ;NZ2-液壓鉚鉗
AntTyp=4000
SteuNr=100
DOCK_NZ_hyd=TRUE
à CASE 5100 ;--------夾爪/其他--------
AntTyp=5000
SteuNr=100
CASE 6100 ;RW1
AntTyp=6000
SteuNr=100
DOCK_RW=TRUE
CASE 6200 ;RW1
AntTyp=6000
SteuNr=100
DOCK_RW=TRUE
ENDSWITCH;
SWITCH PAR5 PAR5=1使用的鉗號(hào)
CASE 0 ; 鉗號(hào)0
ZangenNr=0
CASE 1 ; -----------鉗號(hào)是10
ZangenNr=10
CASE 2 ;鉗號(hào)20
ZangenNr=20
CASE 3 ;鉗號(hào)30
ZangenNr=30
CASE 4 ;鉗號(hào)40
ZangenNr=40
ENDSWITCH
Anz_BHF=Anz_BHF+1 使用工具站數(shù)
IF(Anz_BHF<>PAR2) OR (PROCPAR[BHF_Off+PAR2]<>0)THEN
WHILE(PROCPAR[BHF_Off+PAR2]<>0)
DS_Msg(2,#QuitMsg);工具站雙重申報(bào)
ENDWHILE
WHILE(Anz_BHF<< span="">PAR2)
DS_Msg(1,#QuitMsg); 工具站錯(cuò)誤的順序
ENDWHILE
ELSE
IF((AntTyp==1000) OR (AntTyp==2000) OR (AntTyp==3000) OR (AntTyp==4000) OR (AntTyp==6000)) AND ((SteuNr==0) OR (ZangenNr==0))THEN
IF(SteuNr==0)THEN 發(fā)出提示信息
DS_Msg((30+(AntTyp/1000)),#QuitMsg)
ENDIF
IF(ZangenNr==0)THEN
DS_Msg((40+(AntTyp/1000)),#QuitMsg)
ENDIF
ELSE
PROCPAR[BHF_Off+PAR2]=(AntTyp+SteuNr+ZangenNr)
IN_BHF_belegt[PAR2]=PAR3 ??空镜钠鹗伎刂莆?/p>
AntTyp=0
SteuNr=0
ZangenNr=0
ENDIF
ENDIF
IF(PAR1==2)THEN PAR1=2 結(jié)束初始化
DS_setzen=TRUE 快換頭置位
ENDIF
IF(DS_setzen==TRUE)THEN
WAITFOR(DS_KONFIG_IO==TRUE)
VW_DS_USR_S執(zhí)行反饋DS_KONFIG_IO=TRUE
DS_setzen=FALSE
DS_HM_Done=FALSE
PROCPAR[BHF_Off]=1 激活塊頭的控制P=1用來(lái)方便激活CZ1鉚鉗使用
ENDIF
ELSE 如果不帶工具提示信息
DS_Msg(3,#QuitMsg)
ENDIF
DEFAULT
ENDSWITCH
END
編輯:jq
-
機(jī)器人
+關(guān)注
關(guān)注
211文章
28557瀏覽量
207693 -
KUKA機(jī)器人
+關(guān)注
關(guān)注
4文章
143瀏覽量
9116
原文標(biāo)題:KUKAVASS06標(biāo)準(zhǔn)下的MAKRO39啥用法
文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論