找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?在线3D打印服务,一键上传,自动报价 
查看: 11579|回复: 0
打印 上一主题 下一主题

[资料] 非圆曲线的数控处理及程序实现

[复制链接]
跳转到指定楼层
1
发表于 2014-7-12 21:27:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多同行朋友,交流,分享,学习。

您需要 登录 才可以下载或查看,没有帐号?注册

x
0  引 言
一般用户常见的数控系统中, 指令功能不尽相同,系统制造商的开放程度也不相同, 尤其是一些高级指令,如有关多项式、 样条函数等命令, 均不包含在系统标配内。这样在加工非圆曲线及列表曲线轮廓时,就需要一种有效、 便捷的处理方法。
1  非圆曲线的数学处理
用直线逼近(拟合 )原始曲线, 因计算方法不同,可分为等间距法、 等插补段法和等误差法 3种。本文以等插补段法为例,说明其处理方法。
对于非圆曲线构成的零件轮廓进行数控加工时,需计算出节点坐标。等插补段法根据允许的最大插补误差和原始曲线最小曲率半径,确定出最大的等插补段长度,以曲线始点为圆心、 插补段长度为半径作圆(简称步长圆) ,交原始曲线单一偏向于一点,再以此点为圆心, 再作步长圆,又得一点, 依次类推,所获各点就是节点。
加工中心请选择 伯特利数控
file:///E:/QQPCmgr/Temp/msohtml1/01/clip_image002.jpg
1 . 2 插补段长度
设插补段长度为 , i插补误差为 D ,由图 1可知,
file:///E:/QQPCmgr/Temp/msohtml1/01/clip_image004.jpg
钻攻中心请选择 伯特利数控
通过联立求解方程组,可解得节点坐标。在此解法中, 只要给出原始曲线的具体函数形式,便很容易手工计算出一阶、 二阶及三阶导数来, 这样最小曲率半径和插补段长度均可轻易求得; 但是原始曲线上各节点的数目众多, 手工计算将十分繁杂。能否利用现有数控系统的普通(标配)功能, 快速、准确地计算出各节点坐标,这就是在数控系统中自动求解方程组要解决的课题。
2  方程组的数控处理
一般数控系统都具有宏程序功能,只需有效利用其中的宏变量或计算变量来构造宏程序, 便可以解决方程组求解的问题。关键是程序的设计思想和编制方法须科学合理。
针对方程组的式 ( 4) ,在 x轴具有单调性的情况下,只要给定一 x值,就可计算得到一对应的 y值, 即得一动点( x , y)。
file:///E:/QQPCmgr/Temp/msohtml1/01/clip_image006.jpg
式( 5)可作为判别条件。很显然, 式 ( 5)就是步长圆方程, 如果动点在圆外, 则 F( x)必然大于 0 ; 如果动点在圆内,则 F( x)必然小于 0;否则, F( x )必然等于 0。
当动点按照某一方式在特定的区间内不断变动时,总能搜索到一点能满足式 ( 5)的要求。如何确定/某一方式0和/特定区间0, 实质上就是寻找科学的搜索方法和合理的搜索区间的问题。
2 . 1 一维搜索法
搜索区间的确定:
假设已知某一节点 ( xi , yi ) , 其搜索区间为 ( a ,b)。根据原始曲线的性质 ( x轴具有单调性)和插补段长度 , i 左边界 a应从 xi起算, 右边界取 xi + i即可。
搜索原理:
在搜索区间内取一动点 ( x , y ), 依据条件 F( x ),如果值大于零,则动点右侧区间消去, 即新区间缩为( a , x) ;如果值小于零, 则动点左侧区间消去,即新区间缩为( x , b); 不论上述何种情况, 再在新区间内取一新动点,按照以上原则不断进行条件判断和区间缩小,直至 F ( x )等于零为止, 则当前动点就是所求之解。
2 . 2 黄金分割法
在搜索区间内,动点位置的确定不仅直接影响着搜索的效率,而且关系到数控系统的计算量。为此宜采用黄金分割法来确定动点的位置。
根据黄金分割法的思想,先计算出基于搜索区间边界的增量值v x ,即:
v x= 0 . 618( b- a)
然后根据条件判断后的情况,在搜索区间内确定动点位置, 即:
F( x) > 0时, x= b- v x ;
F( x) < 0时, x= a+ v x。
2 . 3 判断条件的处理
条件 F( x)的值是实数型, 在与理想数值(尤其是整数)比较时,可能会带来不确定性, 同时造成搜索和计算次数的大量增加。为了使比较条件形成相对相等性,结合生产实际,只需 F( x)保留三位小数即可。在 SI EMENS系统中, 使用 TRUNC ( )或 ROUND( )函数便能实现保留三位小数的目的。TRUNC ( )函数的功能是对小数点后数截尾去数, 而 ROUND( )函数的功能是对小数点后一位数四舍五入处理。
例: TRUNC( 1 . 6666) = 1 ;
而 ROUND( 1 . 6666) = 2。
如加入精度系数,则能实现保留位数的功能,即:TRUNC( 1 . 6666 * 1000+ 0 . 5)/1000= 1 . 667 ;或 ROUND( 1 .6666 * 1000) /1000= 1 . 667 。
2 . 4 流程图
非园曲线的数控处理程序流程图,详见图 2。
file:///E:/QQPCmgr/Temp/msohtml1/01/clip_image008.jpg
高速加工中心 请选择 伯特利数控
2 . 5 参考程序(适用于 S I EMENS802D )
G90 G54 G00 X0 Y0M3 S1000 F100
R30= 1
R31= 0
R32= 0
EE: R33= R31
R34= R31+ R30
R35= 0 . 618 * ( R34 -R33)
R71= R33+ R35
DD: R72= , (例: R71 * R71 /100)
R73= POT( R71 -R31) + POT( R72 -R32)-POT( R30)
R73= R73+ 0 . 0005
R73= TRUNC( R73 * 1000) /1000
IF R73> 0 GOTOF AA
IF R73< 0 GOTOF BB
GOTOF CC
AA: R34= R33+ R35
R35= 0 . 618 * ( R34 -R33)
R71= R34 -R35
GOTOB DD
BB: R33= R34 -R35
R35= 0 . 618 * ( R34 -R33)
R71= R33+ R35
GOTOB DD
CC: R31= R71
R32= R72
G1 X= R71 Y = R72
IF R72> 100 GOTOF FF
GOTOB EE
FF : M5
M 30
CNC加工中心 请选择 伯特利数控
3  结束语
此程序的设计思路和编制方法, 不仅对数控用户提供了解决现实问题的直接的手段, 而且对在数控系统上求解极限、 导数等问题具有借鉴意义。该程序实现的最大优点,是在无任何辅助软件的情况下,利用数控系统自身的功能, 使用同一程序去处理各种仅一轴具有单调性的非圆曲线, 从而直接在数控系统上实现非圆曲线的数控加工。通过在 F ANUC-0Mi ATE 和 SIEMENS802D 数控系统上实验验证,程序运行稳定可靠, 加工零件轮廓曲线正确, 计算结果完全能够满足加工精度要求; 如在高速、 高性能的数控系统上运行, 计算速度将进一步提高。
本文由 伯特利数控文章 整理发表,文章来自网络仅参考学习,本站不承担任何法律责任。
https://www.bethel-cnc.com
加工中心、钻攻中心专业制造

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-5-10 22:26 , Processed in 0.022895 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

快速回复 返回顶部 返回列表