首页 理论教育 算法设计与程序流程优化方案

算法设计与程序流程优化方案

时间:2023-06-16 理论教育 版权反馈
【摘要】:图6-6 双线螺纹的刀路轨迹示意图1—第1条螺旋线 2—第2条螺旋线2.刀路轨迹图以及程序流程框图的设计根据以上算法设计和分析,规划铣削双线螺纹的刀路轨迹如图6-6所示,程序流程框图的设计如图6-7所示。

算法设计与程序流程优化方案

1.算法的设计

(1)双线螺纹和单线螺纹的区别在于:单线螺纹是一条螺旋线,双线螺纹是两条螺旋线,且组成双线螺纹的两条螺旋线起始和终止位置在轴向(Z向)上相差值为螺纹导程的1/2。

(2)在编制程序时,可以设置一个变量控制铣削螺旋线的起始位置(即Z向的初始值),第1条螺旋铣削完毕时,Z向平移螺纹导程1/2,再进行第2条螺旋线的铣削。

(3)如果Z向平移的值不是螺纹导程1/2,而是一个较小的值(如0.1mm),可以在大螺距螺纹铣削加工中作为赶刀量。

(4)设置#120号变量控制Z向螺纹起始加工的轴向位置。

978-7-111-45798-5-Chapter06-13.jpg

图6-6 双线螺纹的刀路轨迹示意图

1—第1条螺旋线 2—第2条螺旋线

2.刀路轨迹图以及程序流程框图的设计

根据以上算法设计和分析,规划铣削双线螺纹的刀路轨迹如图6-6所示,程序流程框图的设计如图6-7所示。

978-7-111-45798-5-Chapter06-14.jpg

图6-7 铣削双线螺纹程序流程框图

3.根据算法以及流程框图编写加工的宏程序代码

程序1:等深度径向分层铣削双线外螺纹的宏程序代码

978-7-111-45798-5-Chapter06-15.jpg

978-7-111-45798-5-Chapter06-16.jpg

实例6-2 程序1编程要点提示:

(1)程序O6006是等深度铣削双线螺纹的宏程序代码,本程序和实例6-1中的程序区别在于:程序O6006加工好第1条螺旋线后,Z轴要抬刀到第1条螺旋线加工的起始位置,Z轴在此基础上再上升(或下降)一个螺距(对于双线螺纹,为导程的1/2)的值,本实例中Z轴再下降一个螺距的值,作为第2条螺旋线加工的起始位置,再进行第2条螺旋线的铣削加工,语句#120=5和G0Z[#100+#120]用来控制螺旋线加工的起始位置。(www.xing528.com)

(2)第1条螺旋线加工完毕后,Z轴抬刀至Z2.5处,进行第2条螺旋线的加工,第2条螺旋线加工完毕后,退出螺纹铣削的循环过程。

(3)请注意语句G02I-[#110]Z[#100+#120]中的表达式:Z[#100+#120]控制Z轴实际位置;条件判断语句IF[#100GT-#121]GOTO 10控制螺纹铣削的循环过程。

程序2:等面积分层铣削双线螺纹的宏程序代码

978-7-111-45798-5-Chapter06-17.jpg

978-7-111-45798-5-Chapter06-18.jpg

实例6-2 程序2编程要点提示:

(1)程序O6006和程序O6007的区别:程序O6006每层铣削的深度是相同的,而程序O6007每层铣削的深度是不同的,相当于等面积铣削方式,不同方式变量的选用也不同。

(2)在粗铣螺纹时需要采用较大的背吃刀量,参见程序中#105的赋值语句#105=0.5,铣削到一定的深度后,背吃刀量会减少,参见程序中的条件判断语句以及重新赋值的语句:IF[#100 GT 9]GOTO 20、#105=0.3、IF[#100 GT8.25]GOTO 20、#105=0.1,这四条语句实现了等面积分层铣削螺纹;条件判断语句IF[#110 GT 7.5]GOTO 20实现了螺纹的精铣加工循环。

程序3:采用子程序嵌套方式分层铣削双线螺纹代码

978-7-111-45798-5-Chapter06-19.jpg

978-7-111-45798-5-Chapter06-20.jpg

978-7-111-45798-5-Chapter06-21.jpg

实例6-2 程序3编程要点提示:

(1)程序O6008采用子程序嵌套并结合宏变量编写双线螺纹的加工程序代码。

(2)采用子程序嵌套的方式,关键在于各个子程序之间的衔接关系,在第2章作过详细的说明,此处不再赘述。

(3)请结合程序分析:选用#200号变量、#121号变量的意义,以及语句#121=#121+5和IF[#121 GT 0.5]THEN#200=2.5所起的作用。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈