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_bhfpar2) or (procpar[bhf_off+par2]0)then
while(procpar[bhf_off+par2]0)
ds_msg(2,#quitmsg);工具站双重申报
endwhile
while(anz_bhf 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


MIUI 10背后的故事:更加关注什么是用户真正需要的设计,认真才能成功
家居温湿度控制系统
福特汽车建设欧洲首个电动汽车制造中心
一夜好梦,也许不再是梦!Nature首次揭示褪黑素受体结构
如何保护电源系统设计免受故障影响
KUKAVASS06标准下的MAKRO39到底有什么用法?
工信部对促进移动通信转售行业高质量发展提出了四点意见
中移动加盟FDD 欲逼死联通电信?
腾达别墅路由nova荣获2017中国好WiFi“年度产品奖”
利普思SiC功率模块产品通过欧洲航空设备厂家验证
主动红外入侵探测器的安装环境_主动红外探测器的安装注意事项
联通上线5G升级包 9.9元即可畅享5G流量
嵌入式状态监测与故障诊断装置设计
智能硬件创新设计行业走势及战略布局
基于LINUX的嵌入式浏览器的设计与实现
华为史上最好看手机今天发布 叫板iPhone7
带鱼屏+升降镜头?颜值超高,但看到处理器?再见?
适用于传输少量数据的蓝牙低能耗技术
IBM助力客户斩获多项IDC中国未来企业大奖
三种write mode,你真的理解吗?