数控程序的调⽤,这些⽅法你⽤对了吗
数控程序的调⽤常⽤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调⽤⼦程序
G65属于宏程序调⽤范畴
格式:G65P⼦程序名地址名
先看看P ,其实G65和M98⼦程序调⽤很相似。P后⾯跟着⼦程序的名字。
⽐如说现在有个⼦程序O1234,那么在主程序使⽤G65调⽤时可以写成G65 P1234(那个⼤写字母O不需要)
接下来就该谈谈⾮常关键的地址名了。
在宏程序中变量分为三⼤类(局部变量,公共变量,系统变量),其中#1~#26为局部变量,局部变量和地址名A,B,C……Z对应的关系如下表。
地址名说⽩了就是给其对应的变量传递数据的。
⽐如说上表中的字母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
%
很快就完成了程序的编辑。
来源邹军爱数控调用子程序的例子

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。