数控铣主程序能不能调用两个不同子程序编程

数控铣主程序能不能调用两个不同子程序编程,第1张

主、子程序的调用关系见图4-7。子程序中还可以再调用其他子程序,即可多重嵌套调用。M99的功能就是结束子程序的运行并使数控系统返回到主程序,重新按主程序的指令运行。每个子程序的最后一条指令必须是M99。主子程序调用编程:在图4-8中,轮廓的精加工用子程序编写,在主程序中,按轮廓的形状多次调用子程序,其参考程序如下:

4.2.5 子程序调用指令M98、M99

数控车床程序的编写也可采用主、子程序的形式。数控系统按主程序的指令运行,但在主程序中遇见调用子程序的指令时,将开始按子程序的指令运行;在子程序中遇见调用结束指令时,自动返回到主程序,并重新按主程序的指令运行。

对程序中有一些顺序固定或反复出现的加工图形,可将其写成子程序,然后由主程序来调用,这样可以大大简化整个程序的编写。

1.子程序调用指令M98

指令格式:M98 PL

M98指令中的P后面跟的是被调用的子程序的程序号,而L后面跟的是调用该子程序的次数(默认值为1)。主、子程序的调用关系见图4-7。

在编写程序时,主、子程序必须写在同一个文件中,都是以字母“O”开头,以“O****”单独作为一程序行书写。子程序中还可以再调用其他子程序,即可多重嵌套调用。

图4-7 主、子程序调用关系

同一个子程序可被主程序多次调用。同一个主程序可以调用多个不同的子程序。

2.子程序结束指令M99

M99的功能就是结束子程序的运行并使数控系统返回到主程序,重新按主程序的指令运行。每个子程序的最后一条指令必须是M99。

【例4-6】主子程序调用编程:在图4-8中,轮廓的精加工用子程序编写,在主程序中,按轮廓的形状多次调用子程序,其参考程序如下:

图4-8 主、子程序编程

O1000

N001 G92 X150.0 Z100.0;

N002 M03 S800 M08;

N003 G00 X35.0 Z0;

N004 G01 X0 F0.3;

N005 G00 X30.0 Z2.0;

N006 G01 Z-55.0 F0.3;

N007 G00 X150.0 Z100.0;

N008 X32.0Z0T0303;

N009 M98 P1500 L2;

N010 G00 W-12.0;

N011 G01 X0 F0.12;

N012 G04 X2.0;

N013 G00 X150.0 Z100.0 M09;

N014 M30;

O1500

N101 G00 W-12.0;

N102 G01 U-12.0 F0.15;

N103 G04 X1.0;

N104G00U12;

N105W-8;

N106 G01 U-12 F0.15;

N107 G04 X1.0;

N108 G00U12;

N109 M99;

取工件左端面中心点为编程坐标原点,对刀点位置在编程坐标系中X150 Z100位置。

需要注意的是:在MDI方式下,使用子程序调用指令是无效的。

1 维宏系统可以通过CALL指令来调用子程序。

2 CALL指令可以将程序的控制权传递到指定的子程序中,并在子程序执行完成后返回到CALL指令后面的指令继续执行。

3 调用子程序时需要注意传递参数和保存现场的问题,同时还需要了解子程序的参数传递方式和返回值的获取方法。

延伸内容:在使用CALL指令调用子程序时,需要注意参数的传递方式和返回值的获取方法。

一般来说,参数传递可以通过栈或寄存器来实现,而返回值可以通过寄存器或内存来获取。

在编写子程序时,也需要注意传递参数和返回值的类型与数量,以确保调用方和被调用方之间的数据交换正确无误。

此外,还需要注意在子程序中修改寄存器和内存等全局变量时,可能会对调用方造成影响,需要进行相关的异常处理和数据保护。

i5系统加工中心可以使用REST API调用子程序。REST API允许开发人员在子程序中编写自己的程序逻辑,并将其与加工中心其他部分进行集成。REST API可以使用编程语言(如Python,Java,PHP等)编写,也可以使用加工中心提供的SDK来开发。开发人员可以使用REST API调用加工中心的相关功能,如创建和删除任务,获取任务状态,并对任务进行管理。此外,REST API还可以用于访问加工中心的资源,如模型,程序,图像等。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7888152.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存