把程序中某些固定顺序和重复出现的程序单独抽出来,按一定格式编成一个程序供调用,这个程序就是常说的子程序,这样可以简化主程序的编制。子程序可以被主程序调用,同时子程序也可以调用另一个子程序。这样可以简化程序的编制和节省CNC系统的内存空间。

子程序必须有一程序号码,且以M99作为子程序的结束指令。主过程调用子程序的指令格式如下:

M98 P___L___;

其中P为被调用的子程序号

L为重复调用的次数

例如:M98 P1234L4

主程序调用同一子程序执行加工,最多可执行999次,且子程序亦可再调用另一子程序执行加工,最多可调用4层子程序(不同的系统其执行的次数及层次可能不同)。

例:以HNC-21T系统子程序指令,加工图2-11工件上的四个槽。

分别编制主程序和子程序如下:

主程序

%123;

M3 S600 G95 T0101;

G00 X82.0 Z0;

M98 P1234 L4;(调用于程序1234执行四次,切削四个凹槽)

X150.0 Z200.0;

M30;

子程序

%1234;

W-20.0;

G01 X74.0 F0.08;

G00 X82.0;

M99;

M99指令也可用于主程序最后程序段,此时程序执行指针会跳回主程序的第一程序段继续执行此程序,所以此程序将一直重复执行,除非按下RESET键才能中断执行。

本文来自莫莫的微信公众号【UG数控编程】

如果你想了解更多的UG编程知识,推荐你们加一个UG编程群726236503,里面有免费的UG编程资料供大家学习,有什么不懂的可以在群里大家相互交流。学好UG编程其实很简单,只要跟对经验丰富的人系统的学习,多跟朋友,同事,同学交流。可以更加强化自己的编程水平,学到的知识是自己的,别人拿不走。

主程序与子程序不在同一程序模块中_数控车床子程序M98、M99编程实例!相关推荐

  1. 主程序与子程序不在同一程序模块中_分享:宏程序和子程序的应用

    其实说起来宏就是用公式来加工零件的. 比如说椭圆,如果没有宏的话,我们要逐点算出曲线上的点,然后慢慢来用直线逼近,如果是个光洁度要求很高的工件的话,那么需要计算很多的点,可是应用了宏后,我们把椭圆公式 ...

  2. 主程序与子程序不在同一程序模块中_深度解析S7200系列PLC带参数子程序用法

    一.导读 当控制要求相同或具有相同的算法时,(如对电机的控制,若需要对多台电机进行控制,且每台电机具有相同的控制方式)此时可考虑根据该控要求,编写一个功能块,然后重复调用该功能块,然后赋予不同的实参来 ...

  3. python主程序调用子程序的指令是_要调用子程序,必须在主程序中用M98指令编程,而在子程序结束时用M99返回主程序_学小易找答案...

    [判断题]刀具补偿过程包括刀补的建立.刀补的执行和刀补的取消三个阶段. [判断题]数控机床只适用于加工零件的批量小.形状复杂.经常改型且精度高的场所 [单选题]甲公司2017年年初未分配利润为80万元 ...

  4. Abaqus中如何使用umat子程序

    Abaqus中如何使用umat子程序 参考资料: 1 http://blog.sina.com.cn/s/blog_82c881890101gnfl.html 2 http://www.caetecc ...

  5. 不是有效的win32程序_【西门子PLC编程实例】S7200 PLC子程序指令及应用实例

    S7-200 PLC把程序主要分为三大类:主程序.子程序和中断程序.在实际应用中有些程序内容可能被反复使用,对那些需要经常执行的程序段,可设计成子程序的形式,并为每个子程序赋以不同的编号,在程序执行的 ...

  6. ARM中C语言和汇编语言互相调用以及实例

    1.内联汇编 在C语言中内嵌汇编注意事项: 不能直接向PC寄存器赋值,程序跳转要使用B或者BL指令 在使用物理寄存器时,不要使用过于复杂的C表达式(比如ADD y,R0 ,x/y(无形中就是c语言表达 ...

  7. 1 Python中 _的作用

    Python中的下划线 转载请标明出处(http://blog.csdn.net/lis_12/article/details/52693115) 1.单下划线 1)解释器中 _符号指交互解释器中最后 ...

  8. 子程序调用与宏定义的异同_宏指令及子程序设计实验

    一.实验目的及实验环境 实验环境: 1.熟悉宏指令.宏定义.宏调用以及宏展开的概念:掌握宏指令的定义与调用 的方法. 2.掌握子程序的定义.调用以及调用程序与子程序之间参数的传递方法. 3.了解宏指令 ...

  9. python2.7除法_对python中的float除法和整除法的实例详解

    从python2.2开始,便有两种除法运算符:"/"."//".两者最大区别在: python2.2前的版本和python2.2以后3.0以前的版本的默认情况下 ...

最新文章

  1. java query类是什么类_java – 从包生成QueryDsl Q类
  2. Qt Creator使用3D材质
  3. SAP Spartacus的持久化存储学习笔记
  4. 2020年10月13日工作日志 - 挂掉的单元测试
  5. Ubuntu 18.04 安装OpenCV C++
  6. mysql中的函数编程_MySQL
  7. 基于python的毕业论文-基于python的飞机大战小游戏毕业论文设计和代码
  8. 3.2 为超参数选择合适的范围
  9. 实战快速恢复Exchange 2010误删除的邮箱
  10. bzoj 1057: 棋盘制作(悬线法)
  11. leetcode - Anagrams
  12. CCF论文会议 IEEE 如何查询某个会议期刊的所有文章
  13. HTML5设计网页动态条幅广告(Banner) 已经加上完整源代码
  14. java时间显示时区_Java 时间、日期与时区的关系
  15. 三个条件的if函数c语言,if函数如何设置多个条件
  16. 关于软件开发的那些事(二):聊聊协同打单的一些心得体会
  17. 冯·诺依曼体系结构 -- 理解
  18. 数据中台当前与未来-数字化架构设计(1)
  19. STM32F1串口最高波特率问题
  20. Win7和Win10如何使文件的视图默认按详细信息显示

热门文章

  1. java imagemagick 接口_ImageMagick安装及使用教程
  2. php语法介绍,PHP 函数语法介绍一
  3. aspose 转pdf表格大小乱了_自己写了一个小工具类:pdf转word,没有页数和大小限制,保真!...
  4. Python报错'builtin_function_or_method' object is not iterable
  5. 解决python-kafka连接kafka时报错kafka.errors.NoBrokersAvailable: NoBrokersAvailable
  6. 排序算法(6)----计数排序
  7. linux sar监控脚本,linux-利用sar进行性能监控
  8. 校园录html源码,校园录播系统设计方案(20页)-原创力文档
  9. js截取字符串区分汉字字母代码
  10. U盘安装centos7