社区活动 技术论坛 建议开辟一个"DEA/PPL语言的培训"小栏目
建议开辟一个"DEA/PPL语言的培训"小栏目
2005-05-04 22:36 175 0 33
建议开辟一个"DEA/PPL语言的培训"小栏目
我要回复

登陆后才能评论

登录
所有回贴(33)
学习了该程序,收获不小,呵呵,谢谢STAR大侠! 1、另类的接收屏幕输入参数方法。 2、螺距/点数*点的序号,精确移动Z坐标,提高了测量螺纹孔的精度。 3、测孔不需要给定补偿方向。 4、自动过滤测量结果 5、类似其他高级测量软件自动测量孔的功能 TUTOR 相对其他测量软件太底层了,什么都要自己控制,但只要水平够高,数学够强、能够测量任何零件
2009-03-23 22:42
回复
取消
提交
看了一下gcl用户提供的程序,谈点自己的看法: 1.该程序不是测螺纹中径的,是想通过移动螺距来提高测量螺纹孔位置精度的; 2.approach (cos (A*I),sin (A*I),0)语句是测量一个3维台肩的采样和补偿方向的. Z的方向余弦为0,表示该补偿方向为2维.不过,对于孔测量时采点是不需要给定补偿方向的,也就是说该语句测孔时可以不要; 3.现将我为WTUTOR做的子功能库中的一个测螺纹孔的子程序打印如下,可参考一下编程格式. procedure WALK (string YN[1];real TL;integer PTN,MM;real FF) !%par1 dyicon c:\wtutor\dq\WALK.bmp !%par1 dy 这是一个自由确定测量点数的CNC测螺纹孔坐标程序: !%par1 prompt 右旋螺纹吗?《Y/N》 !%par2 dyicon c:\wtutor\dq\WALK.bmp !%par2 dy 这是一个自由确定测量点数的CNC测螺纹孔坐标程序: !%par2 prompt 请输入螺距<t>? !%par3 dyicon c:\wtutor\dq\WALK.bmp !%par3 dy 这是一个自由确定测量点数的CNC测螺纹孔坐标程序: !%par3 prompt 请输入测量点数<PTN> ? !%par4 dyicon c:\wtutor\dq\WALK.bmp !%par4 dy 这是一个自由确定测量点数的CNC测螺纹孔坐标程序: !%par4 prompt 请输入存储单元号? !%par5 dyicon c:\wtutor\dq\WALK.bmp !%par5 dy 这是一个自由确定测量点数的CNC测螺纹孔坐标程序: !%par5 prompt 请输入测量精度(指圆度)控置范围<mm> ? real XC,YC,ZC,C1,C2,TL1,PTN1,DM coord XYZ,CW element EW integer PLXYZ,HEAD,TIP,BL,MODE=0,NN=0 dy icon "c:\wtutor\dq\WALK.bmp" mspeed 100 no_approach HEAD=info_func (2) TIP=info_func (3) probe (HEAD,TIP) PLXYZ=info_func (8) BL=info_func (7) TL1=TL/PTN PTN1=360/PTN dy ("") dy ("") dy ("PROBE( ",HEAD,", ",TIP,")") dy ("") if PLXYZ eq 3 then dy ("=== XY ===") end_if if PLXYZ eq 1 then dy ("=== YZ ===") end_if if PLXYZ eq 2 then dy ("=== ZX ===") end_if dy ("") dy ("") dy ("") dy ("") delay (40) for I=0 to 99 by 1 dist_approach 6.,12. manmove ncmove dist_approach 1.,100. get_position (XYZ) XC=XYZ|x YC=XYZ|y ZC=XYZ|z nody noprn move (X=XC,Y=YC,Z=ZC) cycle_circle (WM1,3,x=XC,y=YC,z=ZC,dm=0.5,.0,360.) CW=WM1 EW=WM1 REP: NN=NN+1 decrblk mcir (MEMO[MM+I],PTN) for K=0 to PTN-1 by 1 C1=0.5*cos (K*PTN1) C2=0.5*sin (K*PTN1) if PLXYZ eq 3 then if (YN eq "Y") or (YN eq "y") then move (X=CW|x,Y=CW|y,Z=ZC+TL1*K) movetf (X=CW|x+C1,Y=CW|y+C2,Z=ZC+TL1*K) move (X=CW|x,Y=CW|y,Z=ZC+TL1*K) else move (X=CW|x,Y=CW|y,Z=ZC-TL1*K) movetf (X=CW|x+C1,Y=CW|y+C2,Z=ZC-TL1*K) move (X=CW|x,Y=CW|y,Z=ZC-TL1*K) end_if end_if if PLXYZ eq 1 then if (YN eq "Y") or (YN eq "y") then move (X=CW|x+TL1*K,Y=CW|y,Z=CW|z) movetf (X=CW|x+TL1*K,Y=CW|y+C1,Z=CW|z+C2) move (X=CW|x+TL1*K,Y=CW|y,Z=CW|z) else move (X=CW|x-TL1*K,Y=CW|y,Z=CW|z) movetf (X=CW|x-TL1*K,Y=CW|y+C1,Z=CW|z+C2) move (X=CW|x-TL1*K,Y=CW|y,Z=CW|z) end_if end_if if PLXYZ eq 2 then if (YN eq "Y") or (YN eq "y") then move (X=CW|x,Y=CW|y+TL1*K,Z=CW|z) movetf (X=CW|x+C2,Y=CW|y+TL1*K,Z=CW|z+C1) move (X=CW|x,Y=CW|y+TL1*K,Z=CW|z) else move (X=CW|x,Y=CW|y-TL1*K,Z=CW|z) movetf (X=CW|x+C2,Y=CW|y-TL1*K,Z=CW|z+C1) move (X=CW|x,Y=CW|y-TL1*K,Z=CW|z) end_if end_if end_for CW=WM1 EW=WM1 if (EW|f le FF) or (NN eq 3) then dy prn output MEMO[MM+I] NN=0 else jump REP end_if end_for end_procedure
2009-03-22 22:44
回复
取消
提交
程序的本意是测量螺纹中径?如果是这样的话,这个程序不能实现 因为approach (cos (A*I),sin (A*I),0)中的Z的方向余弦为0; 如果确实要测必须得知螺纹的螺旋角 即:TAN(螺旋角),你有这么小的测尖? 本人未经任何培训,以上纯属个人理解,请STAR指正
2009-03-22 21:34
回复
取消
提交
我都是自学习的,如果手工编程,相关的5个程序怎么编制
2008-12-18 13:47
回复
取消
提交
我也对语言编程感兴趣,望哪位师傅能发个语言编程的一些教材给我,徙弟在此感激不尽!最好能从最简单的开始,入门的! 我的邮箱:[email]3039@163.com[/email]
2008-12-16 16:49
回复
取消
提交
STAR,我也想學習編程,但我使用的是三豐軟件,沒有什麼編程資料,隻有本最基本的使用手冊.編程方面根本就沒有提到過,STAR能否提供一下WTUTOR和PC-DMIS编程语言资料也好學習一下怎麼編程. xcw_ing@avc.com.cn.
2008-06-07 10:07
回复
取消
提交
gcl的螺纹孔测量程序可以改进一下,编制成带参数的通用子程序,这样使用起来非常方便。 参数包括,螺距,投影平面,欲输出的储存器号,大致孔径等,想编得完善些,还可加上安全高度、第一测量深度、测量偏转角度(用于规避可能的孔内缺陷)等。
2008-06-06 13:17
回复
取消
提交
很好! 可以学到很多的东西!
2008-01-25 22:45
回复
取消
提交
{/cy}{/cy}{/cy}一看这密密麻麻的眼发花!{/tp}
2008-01-25 13:36
回复
取消
提交
俺看不懂。这是什么?
2008-01-14 20:42
回复
取消
提交
在线咨询
关注我们

海克斯康制造智能

电话咨询
400-6580-400

热线电话(工作时间8:30-17:30)

关注我们 电话咨询 在线咨询

海克斯康制造智能