KUKAVASS06标准下的MAKRO39到底有什么用法?

描述

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 

DEFFCTINT MAKRO39(ADV :IN)

;FOLD Makro Anfang ;%{PSE}%MKUKATPVW

BOOL ADV

; interface to basic routines

EXT  BAS (BAS_COMMAND  :IN,REAL  :IN )

; interface to VW-standard routines

EXT VW (VW_COMMAND:IN, BOOL: IN, REAL:IN, REAL:IN, REAL:IN, REAL:IN, BOOL :IN, E6POS :IN )

; interface select routine

EXTFCT INT  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

IF VARSTATE ("ADV") <> #INITIALIZED THEN

ADV=FALSE

ENDIF

IF (NOT ADV) THEN

;ENDFOLD

;ENDFOLD

;FOLD TECH1 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

;FOLD TECH1 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 技术调用=开

;FOLD TECH1 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

;FOLD Makro

---------对接配置-----------

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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分