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

算法设计与程序流程框图优化

时间:2023-06-16 理论教育 版权反馈
【摘要】:图2-24 铣削五边形刀路轨迹图图2-25 五边形数学模型示意图图2-26 铣削五边形程序设计流程框图3.根据算法以及流程框图编写加工的精铣宏程序代码O2022 程序编程要点提示:关于正多边形的数学模型的问题:正多边形是由一定数目的直线首尾相连组成的最普通的几何元素,其中每条边均相等,相邻两条边之间的夹角也相等。

算法设计与程序流程框图优化

1.算法的设计

(1)为了简化编程,采用的进给路线为:A→B→C→D→E→A,规划的进给刀路轨迹如图2-24所示。

(2)变量设置:#100号变量控制角度的变化;#101号变量控制五边形上各点X坐标值;#102号变量控五边形上各点Y坐标值;#104号变量控制五边形的边数。

(3)建立如图2-25所示的数学模型,利用三角函数公式计算出#101号变量、#102号变量和#100号变量之间的对应关系。

(4)#104号变量控制五边形的边数,每铣削一条边后,判断五边形边数是否为零,如果为0,则结束铣削循环,如果不为0则继续执行铣削循环,直到五边形边数为0为止。

(5)也可以用#100号变量作为结束循环的判定条件,如果#100>360,则结束整个程序的循环;如果#100≤360,继续执行程序的循环,直到#100>360为止。

(6)可以利用极坐标系G16、G15指令来简化编程。

2.根据算法画出程序设计的流程框图

根据以上算法设计和分析,规划流程框图设计如图2-26所示。

978-7-111-45798-5-Chapter02-47.jpg

图2-24 铣削五边形刀路轨迹图

978-7-111-45798-5-Chapter02-48.jpg

图2-25 五边形数学模型示意图

978-7-111-45798-5-Chapter02-49.jpg

图2-26 铣削五边形程序设计流程框图

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

978-7-111-45798-5-Chapter02-50.jpg

978-7-111-45798-5-Chapter02-51.jpg

O2022 程序编程要点提示:

(1)关于正多边形的数学模型的问题:

正多边形是由一定数目的直线首尾相连组成的最普通的几何元素,其中每条边均相等,相邻两条边之间的夹角也相等。因此,编制正多边形宏程序时,可以利用它们内角以及补角相等这一原理,来建立模型并简化编程。

正多边形内角和计算公式:S=(N-2)∗180,其中S为多边形的内角和,N为正多边形的边数。

每个角的度数A=S/N,A的补角B=180-A。在铣削正多边形内轮廓时,需要用A来建立变量之间的关系;在铣削正多边形外轮廓时,需要用B来建立变量之间的关系。如本实例中就是采用补角B来建立变量关系的。

(2)本实例中多边形的一个顶点与X轴重合不是巧合,这仅仅是为了方便叙述。若遇到不重合的情况,可以采用G68、G69等指令来简化编程。

(3)本实例中,应用#104号变量来作为判断的条件,因为边和角的关系是对应的,也可应用#100号变量角度来作为判断的条件。

语句#104=5赋初始值5是正五边形的边数,通过铣削完毕一棱边后,#104的值减1,和条件语句IF[#104GE0]GOTO 10控制整个循环的过程。当五条棱边全部铣削完毕时,循环就结束。

(4)#101和#102变量的值是通过#100变量值变化而来的,从而实现铣削不同的棱边。

(5)当边数N过多时,采用宏程序编程,可以大大简化程序。当N趋于无限大时,显然此时正多边形的轮廓就非常逼近圆的轮廓,可以参考2.2节铣削圆的宏程序应用实例。

采用角度作为判别条件控制循环过程的宏程序代码如下:

978-7-111-45798-5-Chapter02-52.jpg(www.xing528.com)

978-7-111-45798-5-Chapter02-53.jpg

O2023 程序编程要点提示:

该程序和O2022编程思路和算法几乎一样,不同之处是采用不同的#100角度变量来控制铣削的过程。

978-7-111-45798-5-Chapter02-54.jpg

图2-27 采用极坐标编程建立数学模型

下面采用极坐标G16实现宏程序代码的编制,建立如图2-27所示的数学模型,具体的编程思路如下:

从A点出发,逆时针铣削正五边形的轮廓,如图2-27虚线所示正五边形的轮廓线。采用极坐标编程,关键要知道极半径大小和角度。其中角度很容易计算,下面介绍极半径OA的详细分析过程,如图2-27所示。

直角三角形OEF中,已知OF=50,∠EOF=360/10=36,可以得出:OE=OF∗COS(∠EOF),OC=OE+EC;在直角三角形OCA中可以得出OA=OC/COS(∠EOF),即为极半径值。

程序设计的流程框图可以参考图2-26所示程序设计流程,代码如下:

978-7-111-45798-5-Chapter02-55.jpg

978-7-111-45798-5-Chapter02-56.jpg

O2024 程序编程要点提示:

(1)极坐标从数学角度分析就是点的运动轨迹,在数学中的定义为:在平面内选择一个定点O,一条射线OM称为极轴,再选一个定长度线段和一个沿正方向(通常取逆时针方向)角度β,假设在这个平面内有任意一点M和点O的连线,随着角度β变化而产生的运动轨迹,就是有序数对(OM、β)点的集合,其中点O就是极点,OM就是极半径,β就是极角,如图2-28建立的坐标系就是极坐标系。

极坐标系较为方便地描述了点的运动轨迹变化,因此较多地应用到数控加工编程中,特别是圆周钻孔以及正多边形铣削中,应用得比较广泛。

(2)常见格式:

978-7-111-45798-5-Chapter02-57.jpg

注意:G16和G15必须成对使用。

在使用极坐标系时需要指定平面,当选择G17、G18、G19平面时,采用所选平面第一轴来指定极坐标的极半径,用所选平面的第二轴来指定极角,极坐标的零度方向为第一轴的正方向,逆时针方向为角度变化的正方向。

极坐标系编程时,通常以零件坐标系原点作为极坐标原点,在编程时一般采用绝对值编程(G90),如图2-29所示,也可以采用增量编程(G91)。

举一简单实例:

978-7-111-45798-5-Chapter02-58.jpg

978-7-111-45798-5-Chapter02-59.jpg

图2-28 极坐标系示意图

978-7-111-45798-5-Chapter02-60.jpg

图2-29 以零件原点为极坐标系的原点

分层铣削的宏程序代码如下:

978-7-111-45798-5-Chapter02-61.jpg

978-7-111-45798-5-Chapter02-62.jpg

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

我要反馈