宏程序学习的几点心得_第1页
宏程序学习的几点心得_第2页
宏程序学习的几点心得_第3页
宏程序学习的几点心得_第4页
宏程序学习的几点心得_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、有关宏程序学习的几点心得 天长市职业教育中心 蒋春飞 HNC21/22T为用户配备了强有力的类似于高级语言的宏程序功能,用户可以使用变量进行算术运算、逻辑运算和函数的混合运算,此外宏程序还提供了循环语句、分支语句和子程序调用语句,利于编制各种复杂的零件加工程序,减少乃至免除手工编程时进行繁琐的数值运算,并精减程序量。然而对于初学者来说,宏程序的编制是一个难点,在此作为一个初学者的我来谈谈我在学习中的几点所思所得,也许会更加贴近初学者的实际困难,能给我们的初学者们带来一点点启示。一、宏程序是计算机数控语言与数学建模的一个结合体。我认为宏程序的编程的第一步应是数学的分析与建模(方程曲线等),再在此

2、基础上确定一个变量(x、z或某个参数)及变量的取值范围,根据曲线方程给出x或z的表达式,最后利用宏程序提供的语句(如循环语句、分支语句和子程序调用语句等)结合数控指令编制出程序(方程曲线宏程序的实质是利用小线段拟合的方法得到曲线)。我们可以看到,在宏程序中用到的计算机语句很有限,经过一段时间的训练都可以掌握,那么数学的建模就成为了我们初学者编程的一个瓶颈,主要表现在曲线的平移、旋转等坐标变换及变量如何取值等方面不能有一个完整细致的考量,导致程序出错。二、从数学角度看方程曲线的平移。在方程曲线的编程中,一般都会给定我们曲线的标准方程或参数方程。 1、若给出曲线的标准方程 例如:曲线的中心在工件坐

3、标系中坐标是方法一:求该曲线在工件坐标系中的一般方程:,得:,此时自变量的取值范围就是曲线在工件坐标系里起点到终点坐标值(车削中若以为变量取其半径值)。当然,这样变换可能会使表达式显得繁琐,但这并不可怕,因为我们只要写出了数学表达式,下面所做的只是用数控语言转换照单输入就是了。方法二:利用坐标的平移变换,若是标准方程曲线上点的坐标,是该曲线在工件坐标系中对应点的坐标,则有, 其中,自变量的取值范围仍是其在标准方程下的取值范围。结合以上所述,以椭圆为例来体会一下宏程序的编制。例1、用宏程序编制下图所示椭圆程序 (图1) (图2)图1:分析:方法一:由椭圆标准方程:和其中心在工件坐标系中的坐标(1

4、0,-20),得其一般方程:,若以为变量,变形得,方法二:由椭圆标准方程:和其中心在工件坐标系中的坐标(10,-20),若以为变量,变形得,由得:,程序一: 程序二:T0101M3S600 T0101M3S600G0X40Z2 G0X40Z2X18 G1Z0F100 X20Z-1 .Z-10#0=10#1=5 #1=5#3=10 #3=0WHILE#3LE15 WHILE#3LE5#4=10*SQRT1-#3-10*#3-10/25-20 #4=10*SQRT1-#3*#3/25G37G1X#3Z#4 G37G1X#3+10Z#4-20#3=#3+0.08 #3=#3+0.08ENDW G1Z

5、-35X38X40W-1Z-41G0X100Z100M30 M30图2:分析:方法一:由椭圆标准方程:和其中心在工件坐标系中的坐标(15,-10),得其一般方程:,若以为变量,变形得, (第四象限的z 为负值)方法二:由椭圆标准方程:和其中心在工件坐标系中的坐标(15,-10),若以为变量,变形得,由得:, (第四象限的z 为负值)程序(略)需要注意的是:有些曲线(如椭圆)方程转化为(或)时,会涉及开平方,开平方就要注意符号的选择,符号判断的要点是看区间曲线在标准方程时所处的象限。若过象且符号有变化时,可利用分支语句来解决,或直接分段处理再如:曲线的中心在工件坐标系中坐标是,则该曲线在工件坐标

6、系中的一般方程是还是以椭圆为例来感受如何根据参数方程进行程序编制例1、用宏程序编制下图所示椭圆程序(椭圆方程) (图1) (图2)图1、分析:由图可知,图中椭圆部分的标准参数方程是,其中心在工件坐标系中的坐标是(10,-15),则其在工件坐标系中方程为,图2、分析:由图可知,图中椭圆部分的标准参数方程是,其中心在工件坐标系中的坐标是(15,-10),则其在工件坐标系中方程为,程序一: 程序二:T0101M3S600 T0101M3S600G0X40Z2 G0X40Z2X18 G1Z0F100 X20Z-1 .Z-10#0=10#1=5 #1=5#3=0 #3=270WHILE#3LE90 WH

7、ILE#3GE180#4=10*COS#3*PI/180-15 #4=10*COS#3*PI/180-10#5=5*SIN#3*PI/180+10 #5=5*SIN#3*PI/180+15G37G1X#5Z#4 G37G1X#5Z#4#3=#3+3 #3=#3-3ENDW G1Z-35X38X40W-1Z-41G0X100Z100M30 M30需特别指出的是的取值一定要根据图象所在的象限及其旋转方向来确定。三、初学者在宏程序编制中易被混淆或忽视的一些细节问题。初学宏程序时,经常会出错,仔细检查后会发现,编程的思想,程序的格式,数学建模都基本正确,可程序就是不能通过,再认真仔细检查思考,会发现所

8、犯错误实在低级,却又极易被忽视,在此我将我所犯错误列举一二例,看能不能从中也能找到你的影子。1、忽视了角度与弧度的转换。以转角为变量时,我们习惯于用角度,而函数的变量应为实数,是没有单位的,因此要进行相互的转换。记住转换关系: (可省略) 。2、请看下面的程序段 #3=0 WHILE#3LE15 #4=10*SQRT1-X-10*X-10/25-20 G37G1X#3Z#4 #3=#3-0.08 熟悉吧,是不是也在你的程序中出现过呀!ENDW 3、上面的“特别指出”“需要注意”也是我的一个经验教训,我相信你也会有此经历。4、大部分初学者在编制宏程序时会犯经验性错误。如:我们习惯于编长轴在Z轴上

9、椭圆,当出现端面椭圆时,或是无所适从,或是以经验按想象对以前的程序略作改动,不去认真分析其内在的联系,这样做往往会出错,在此不妨做一个简单的分析:从坐标变换的角度来看,从长轴A在Z上变换到长轴A在X轴上,相当于把坐标系旋转了,X变成了Z,Z也换成了X,因此我们只要将原方程中的X与Z作一个互换,这样做好象就没有问题了,至少在用于椭圆标准方程或一般方程没有发现问题,用于参数方程时好象也没什么大的问题,只是在定义转角的方向和区间时总有点别扭,不是吗?第一次模拟经常会与要求不同,好在华中图形模拟较好,经过几番试验总能把问题解决,长舒一口气,啊,总算对了,可你想过为什么吗?也许你认为这并不重要,试出来不

10、就可以了吗?但我以为从我们的教师的角度出发,我们不能总停留在“试”的层面上,来以已昏昏,使人昭昭。岔远了,我们还是回到刚才的问题上来,实际上刚才的变换不是旋转那么简单,如果仅做旋转变换是不是有一个坐标轴的方向反了?怎么办?再加一个对称变换。那么一般方程中以又为什么没错呢?因为X、Z都有平方,对方向不“敏感”,参数方程式问题就来了:1、旋转变换使得转角的始边随之旋转了一个同样的角度。2、对称变换使得转角方向也发生了逆转!又如:在用平底铣刀倒圆角时练习中,绝大多数学员都参照了书中69页用球铣刀加工倒圆的例子,它的编程思想是计算出不同层高中的半径偏移量,修改刀具半径,再调用刀具半径补偿的方法来实现的,这种方法很好。在平底铣刀倒圆角中能不能套用呢?完全可以,只是半径偏移量的表达式要做调整,我们一开始都犯了经验性错误,忽视了,基本上照抄了表达式,只在z向作了一个小调整,结果倒出了近似椭圆的倒角,我们也草率地下了两种结论:1、这就是圆角(明显不象);2、倒圆角不是平铣刀的功能,平铣刀不宜倒圆角(有所保留,没敢说不能)。再细想怎能么不可以呢,只是我们的半径偏移量的表达式错了,如:用半径为的平铣床刀倒半径为的圆角半径偏移量

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论