Makro 39 ~對接初始化
宏39中用于靈活對接的技術包:
P1 1 開始?配置開始(第一個BHF)
2 結束?配置結束(最后一個BHF)
P2 = 停靠站1至36?選擇停靠站1至36
P3 =輸入?停靠站的數字輸入已被占用
P4 = 應用EZ / SP1-(伺服)?選擇EZ / SP1-伺服(虛擬軸)
NZ1-(伺服)?選擇NZ-伺服(虛擬軸)
CZ1-(伺服)?選擇CZ-伺服(虛擬軸)
NZ1-(電氣/電氣)?選擇NZ1-液壓/電氣(無虛擬軸)
抓爪?選擇抓爪(無虛擬軸)
其他?選擇其他(無虛擬軸)
P5 = 1號至4號鉗子?1號至4號鉗子的選擇
無?選擇無鉗子否(用于夾持器/其他)
P6 =虛擬軸1至6?選擇虛擬軸1至6否?未選擇虛擬軸
P7 = 設置宏程序-宏Nr911至Nr934?選擇宏編號。虛擬軸數
不可用?未選擇虛擬軸
該技術包只能在宏中調用!
-每個擴展塢都有自己的技術調用。
-組態以BHF1開頭,并以“ P1 =起始”定義。P1=1
-最后一個BHF的組態由“ P1 = 結束”定義。P1=2
-必須按升序配置BHF。
-每個BHF只能配置一次。
-使用參數6設置虛擬軸,該虛擬軸根據
Synchromove已參數化。一次只能分配一個虛擬軸,不能多次分配。
在對接過程中,必須對工具32進行編程。
刀具載荷數據應設置為標準。(默認)
拆卸時,夾具的開口尺寸應接近基準位置,拆卸和對接時,夾具的開口尺寸必須相同。
在進入UP時執行VW_USR_R (#USR_INIT)時進行初始化
DS_Interface() 快換頭接口程序
SWITCH USER_CMD
CASE #USR_INIT 初始化程序
SEL_RES=SELECT(#MAKRO,39,TRUE,,,,,FALSE) 執行初始化程序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)
快換頭組態控制:
TECH1 DS配置開始 BHF = Nr1 輸入= 551 應用= CZ1(伺服)鉗位= Nr1 技術調用=開
;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文件里設置
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
---------對接配置-----------
IF(MIT_DS==TRUE)THEN MIT_DS=TRUE ---帶快換工具
IF(PAR1==1)THEN PAR1=1
Dock_Init=TRUE 快換初始化
ELSE PAR1=2
Dock_Init=FALSE 快換初始化關閉
ENDIF
------------開始初始化變量------------------
IF Dock_Init THEN Dock_Init=TRUE
Dock_Init=FALSE 快換初始化關閉
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 類型是3000
SteuNr=100 狀態號
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使用的鉗號
CASE 0 ; 鉗號0
ZangenNr=0
CASE 1 ; -----------鉗號是10
ZangenNr=10
CASE 2 ;鉗號20
ZangenNr=20
CASE 3 ;鉗號30
ZangenNr=30
CASE 4 ;鉗號40
ZangenNr=40
ENDSWITCH
Anz_BHF=Anz_BHF+1 使用工具站數
IF(Anz_BHF<>PAR2) OR (PROCPAR[BHF_Off+PAR2]<>0)THEN
WHILE(PROCPAR[BHF_Off+PAR2]<>0)
DS_Msg(2,#QuitMsg);工具站雙重申報
ENDWHILE
WHILE(Anz_BHF<< span="">PAR2)
DS_Msg(1,#QuitMsg); 工具站錯誤的順序
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 發出提示信息
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 停靠站的起始控制位
AntTyp=0
SteuNr=0
ZangenNr=0
ENDIF
ENDIF
IF(PAR1==2)THEN PAR1=2 結束初始化
DS_setzen=TRUE 快換頭置位
ENDIF
IF(DS_setzen==TRUE)THEN
WAITFOR(DS_KONFIG_IO==TRUE)
VW_DS_USR_S執行反饋DS_KONFIG_IO=TRUE
DS_setzen=FALSE
DS_HM_Done=FALSE
PROCPAR[BHF_Off]=1 激活塊頭的控制P=1用來方便激活CZ1鉚鉗使用
ENDIF
ELSE 如果不帶工具提示信息
DS_Msg(3,#QuitMsg)
ENDIF
DEFAULT
ENDSWITCH
END
編輯:jq
-
機器人
+關注
關注
213文章
29726瀏覽量
212810 -
KUKA機器人
+關注
關注
4文章
144瀏覽量
9616
原文標題:KUKAVASS06標準下的MAKRO39啥用法
文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應用】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
交換機配置snmp有什么用?
電烙鐵焊錫到底有沒有毒
24位或者說高分辨率的AD到底有什么用呢?
差分輸入和和單端輸入在本質上到底有什么區別?
lm2902做的二階低通濾波器,無論怎么調試C1的值,電路的波特圖都保持不變,請問一下C1的作用到底有多大?
無人機智能巡檢系統到底有哪些作用

評論