数控编程程序常见问题及解决方法(如果有一天你学数控了)
阅读本文前,请您先点击上面的头像文字“创意科技”,再点击“关注”,这样您就可以每天收到最新文章了,每天都有分享,完全免费呦!
数控程序的调用常用M98,G65等方式调用子程序。
一, 使用M98调用子程序
比如下面两个程序例子:
两程序保存在机床中,其中O0001为主程序,O0002为子程序。
程序运行顺序是:
运行O0001程序后,当运行至M98P2程序段,机床就会跳转至O0002程序,从O0002程序开头由上往下依次运行程序,至到M99就跳转至主程序O0001 运行M98P2后面程序段。
程序的调用方法:
格式一:
M98P_ _ _ _ L_
P_后面不超过四位的数字为程序号
(如M98P1 ,M98P0002 M98P2000L2)
L_为重复调用次数(省略时为调用1次)
格式二:
M98P_ _ _ _ _ _ _
P_后面最多跟8为数的数字,如后面的数字不超过4位,表示调用程序一次
如M98P2322 调用O2322程序一次。
如超过4位数,后4位为调用程序名,其余的为调用次数。
比如M98P00052322调用O2322程序5次。
二, 使用G65调用子程序
G65属于宏程序调用范畴
格式:G65P子程序名 地址名
先看看P ,其实G65和M98子程序调用很相似。P后面跟着子程序的名字。
比如说现在有个子程序O1234,那么在主程序使用G65调用时可以写成G65 P1234(那个大写字母O不需要)
接下来就该谈谈非常关键的地址名了。
在宏程序中变量分为三大类(局部变量,公共变量,系统变量),其中#1~#26为局部变量,局部变量和地址名A,B,C……Z对应的关系如下表。
点击免费领取 ☞数控车(铣),ug编程,cad绘图,数控仿真,数控机械类书籍等上10G教程
地址名说白了就是给其对应的变量传递数据的。
比如说上表中的字母A对应#1 ,若A10 那么就相当于把10这个数据传递给了变量#1,此时#1=10 ;同理若B20 ,那么#2=20 若Z-26, 那么#26=-26。
这么讲有些空洞,我举一个简单例子给大家一些启发,比如下面零件:
粗车外圆,我任意设置了三个局部变量#7 ,#24,#26 分别代表:
#7代表毛坯尺寸;
#24代表加工的尺寸;
#26代表加工的长度;
粗车外圆程序如下: (类似G90循环指令)
%
O0001
G0X#7Z2
WHILE[#7GT#24]DO1
#7=#7-2
G1X#7F#9
Z#26
G0U1.
Z2.
END1
G91G28Z0
M99
%
把上面程序作为子程序,使用G65调用子程序如下:
%
O0002
T0101
M13S800
G65P1 D40. X20. Z-30.F0.05
M30
%
当我使用G65调用O0001号程序时,字母 D, X,Z后面的数据就传递给了对应变量。
此时,D就代表零件毛坯直径了; X代表加工的尺寸;Z代表加工的长度;
如果加工个类似形状的零件,我们只需要编写个主程序调用子程序即可。
比如毛坯为30 ,加工至D20 ,加工长度为-50的外圆粗车,程序如下:
%
O0002
T0202
M3S1000
G65P1 D30. X20. Z-50.F0.1
M30
%
很快就完成了程序的编辑。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com