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
-
机器人
+关注
关注
210文章
28151浏览量
206091 -
KUKA机器人
+关注
关注
4文章
143浏览量
9045
原文标题:KUKAVASS06标准下的MAKRO39啥用法
文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论