高级数控编程:子程序调用及编程举例
高级CNC编程:调用子程序和编程示例
具有相同形式或相同工具的仪器的形式或移动的零件,即重复处理的一部分一部分是简化详细处理。
subroutine
subRoutin调用方法的呼叫如图1-2所示。
应该注意的是,子例程也可以调用另一个子例程。
主要程序称为子例程的子例程称为重型程序,可以称为子程序的四分之一,如图1-3所示。
子例程中的呼叫程序与主程序中调用子例程的方法一致。
格式:m98pl; 1到1次;
必须使用子例程来通过M99教育结束子例程,并返回主要计划。
应用程序的示例:
该处理如图1-5所示,刀具工具的初始位置(0,0,100),深度为10 mm,测试程序的汇编本质
图1-6
相关的知识点:
●使用Subroutins编程时,请注意使用主和子例程的不同编程方法。
通常,G90教育在主要计划中使用,子例程使用G91教育来防止该工具在同一位置开发。
●当子例程中的M99指令中指定序列号时,该子序列最终不会返回子序列段的下一个段。
。
例如:如图1-6所示。
执行子例程后,使用序列编号18。
的程序段执行主程序; ;数控车床用M98M99怎么编程用G50吗举例说明
在处理小型工件时,一次夹紧和切割多次,以确保可以通过编程来实现预设数量的工件。具体而言,可以在程序中设置工件零点的z方向偏移,每个偏移量等于工件的长度以及切割长度。
需要根据特定的控制系统对此设置进行编程。
例如,可以使用宏程序代码或G10指令设置FANUC系统。
有关特定的编程步骤和参数设置,请参考相关的用户手册。
另一种方法是使用G50命令设置工件零点。
以100毫米长的材料为例,需要处理5个工件,每个工件的长度为20毫米(包括切割长度)。
首先,确保该工具已正确对齐并阅读MDI状态下的工具补偿信息,例如T0101。
然后将工具移至工具变更点,然后将工具更改点位置设置为X100.0,Z200.0。
然后执行预编写的程序,如下:O1234:T0101(执行工具补偿)G50x100.Z200。
(设置工件零点)M98P001(调用子例程以处理零件) 然后替换为初始工具,程序为:g00x100.z180。
(请注意,这里的z值,200-180 = 20毫米,这是工件的长度)m30; 连续执行上述程序5次处理5个工件。
重新加载后,按照上述步骤重新开始。
这样,可以有效地加工所需的工件数量,而无需每次重新夹紧。
此方法适用于需要多个切割过程以确保每个切割都能准确达到预设长度的情况。
M99子程序的执行
§2.18 子程序(M98、M99)
当主程序中有一些固定的程序指令组,并且需要重复执行时,可以将它们编译成子程序,并在子程序中调用。
主程序,可以简化程序,使主程序结构更加简洁、清晰。
一个子程序还可以调用另一个子程序,称为子程序嵌套。
下图展示了两层嵌套子程序调用:
1 子程序的结构
子程序的组成,按照如下格式编程:
O05…………子程序号
N1………………指命令
N2………… ……命令
..
Nn M99……子程序结束
即子程序以字母O开头(注意不是零数字0),后面跟着一个数字,即子程序名的数字。
在上例中为 05。
子程序以 M99 作为最后一个字符结束。
2. 子程序的执行
子程序只有在调用主程序时才能执行。
子程序调用格式如下:
M98 P_________L_________
字母 P 后面的数字为子程序号,L 后面的数据为子程序调用次数 如果 L 不为指定时,子程序仅执行一次。
例:
M98 P05……运行子程序05一次。
M98 P05 L8 执行子程序05八次。
主程序中,子程序的调用和执行顺序如下:
3. 子程序的位置
编写加工程序时,如果需要使用子程序调用函数,子程序一般写在主程序之后,两者在一个加工文件中。
如下图所示:
如果一个加工程序中有多个子程序,子程序必须全部跟随在主程序之后,子程序之间的前后位置可以随心所欲。
4. 子程序编程注意事项
[1]子程序中可以调用其他子程序,子程序可以嵌套。
系统允许子程序的嵌套调用最多可达十级。
[2] 子程序不能递归调用。
所谓递归调用,是指子程序中有一条指令调用自身
,或者子程序1调用子程序2,子程序2调用子程序1。
发生错误时
这又是一个间接递归调用。
数控代码m99是什么代码
M99 CNC 代码是无限循环。