基于C语言基础的宏程序编程

王恒厂,周燕飞,姚裕,吕常奎

(南京航空航天大学工程训练中心,江苏南京211100)

摘 要:用户宏指令编程是FANUC系统所提供的一种先进的编程方法[1],使用变量代替程序中的功能代码或地址值进行编程,使数控程序具有通用性和灵活性,且简化数控编程,是数控技术的重要组成部分。应用比较法,借助C语言程序格式,介绍了数控车床加工椭圆的方法,给出了详细的数控加工程序。归纳出应用宏程序解决复杂零件的数控加工编程问题的技巧。关键词:宏程序;数控加工;变量;C语言中图分类号:TG519.1;TP311.11 文献标识码:A 文章编号:1671-5276(2008)02-0022-03

ProgrammingofMacroprogramsBasedontheCProgrammeLanguage

WANGHeng-chang,ZHOUYan-fe,iYAOYu,LUChang-kui(EngineeringTrainingCenterNanjingUniversityofAeronauticsandAstronautics,Nanjing211100,China)Abstract:Programmingwithcustomermacroinstructionisakindoftheadvancedprogrammingmethod,whichisofferedbyFANUC

CNCsystem,Thefunctioncodeoraddresscanbereplacedbyvariableduringtheprogramming.TheNCprogramminghasthever-satilityandtheflexibility,becomessmiplifiedandisanmiportantpartofCNCtechnology.BycomparingwiththeCprogrammelan-guage,thepaperintroducesthepracticalapplicationofthenumericalcontrollatheinmachiningellipse,providesthedetailednumer-icalcontrolmachiningprogramandsummarisestheprogrammingdesignofthecomplexworkpiecesinnumericalcontrolmachiningwiththemacroinstruction.

Keywords:macroprogram;numericalcontrolprocess;variable;theCprogrammelanguage

据加工需要可随时调用,极大提高编程效率。但是由于宏

0 前言

数控车削加工对于简单零件一般采用手工编程加工,随着CAD/CAM软件的不断普及,数控编程的模式逐渐由自动编程取代了手工编程。但软件编程因为运行环境等因素制约,其编程效率在一些场合远不如手工编程来得快,而且现有的CAD/CAM软件不能满足所有数控系统的特殊功能。如何充分结合两种编程模式,合理有效地利用数控机床的各种功能,编制精简合理的小容量数控程序,特别在一些数控技能大赛上,有着非常重要的现实意义。用宏指令手工编程在数控车上实现二次曲线加工便是一个典型实例[2]。

程序大量使用逻辑运算,并且程序变量赋值语句关系复杂,程序语句多层嵌套,逻辑关系理解性很强,初学编程者难以理解,但可以借助于C语言的编程格式加以理解。现以椭圆编程为例加以说明。

1.1 给出一个椭圆的标准方程用C语言编写程序(图1):

1 宏程序编程方法

宏指令编程像高级语言一样,可以使用变量进行算术运算、逻辑运算和函数混合运算进行编程。在宏程序形式中,一般都提供循环、判断、分支和子程序调用的方法,能够编制各种复杂零件的加工程序。数控车削加工中熟练应用宏程序指令进行编程,可大大精简程序量,还扩展数控车床的加工适应能力。如果将抛物线、椭圆等非圆曲线的算法标准化后做成内部宏程序,就可以像圆弧插补一样按标准格式编程调用,相当于增加了系统的插补功能,根

z2/a2+x/b2=1

通过公式变形,用含有未知数x的代数式表示z变量:

z=a@

图1 椭圆

基金项目:航空科学基金项目资助(项目编号:H0608-012);江苏省教改基金支持(项目编号:V0658-JN)

#:http://doc.wendoc.com56

c语言逻辑运用及宏程序编写,基于C语言基础的宏程序编程相关推荐

  1. C语言五子棋禁手算法的编写,基于C语言的五子棋辅助软件的设计与实现.doc

    基于C语言的五子棋辅助软件的设计与实现 广东工业大学 本科毕业设计(论文) 基于C语言的五子棋辅助软件的设计与实现 系 部 专 业 年 级 班级名称 学 号 学生姓名 指导教师 2012 年 5 月 ...

  2. 通讯录(文件版)程序编写(C语言版)

    目录 C语言实战项目之通讯录(文件版) 通讯录(初级静态版)链接: 通讯录(动态增长版)程序编写(C语言版)链接: C语言实战项目之通讯录(文件版) 问题导引: 问题思考: 问题解决步骤: 源程序: ...

  3. 从入门到入土:[linux实践]-pam|编写基于libpam的用户认证程序|编写基于PAM认证的应用程序|详细说明|实验步骤|实验截图

    写在前面: 此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 编写基于libpam的用户认证程序|编写基于PAM认证的应用 ...

  4. 【微信小程序】基于JavaScript的花店商城小程序微信云开发

    [微信小程序]基于JavaScript的花店商城小程序微信云开发 用Java Script语言进行一次微信小程序开发 文章目录 前言 一.功能总览 二.功能显示 1.搜索框 2.轮播图 3.主题导航栏 ...

  5. c语言程序编写字体,c语言程序设计练习题

    c语言程序设计练习题 篇一:c语言程序设计基础单元总结与练习题及答案 <C语言程序设计>单元总结与练习题 答 案 单元一 程序设计宏观认识 单元总结提升 本单元中,核心内容有C语言程序框架 ...

  6. 怎样用才c语言定义一个三位数,怎样编写一个c语言程序计算任意输入一个3位数的整数的各位数字之和。要求主函数包括输入输出和调用该函数。...

    点击查看怎样编写一个c语言程序计算任意输入一个3位数的整数的各位数字之和.要求主函数包括输入输出和调用该函数.具体信息 答:#include void main(){ int a,sum=0; pri ...

  7. c语言判断整数_用c++编写闰年的判断基础程序

    其实c++语言与c语言有太多共同的东西,学习过c语言再学习c++语言就显得轻而易举.当然学过了c++再去学习c语言也是有一些帮助的(但是个人不提倡先学习c++在学c语言).由于现在经常看见有关闰年的程 ...

  8. 通讯录(初级)程序编写(C语言版)

    前言: ●通过对通讯录(初级)程序编写,实现对枚举,指针等知识点的应用与理解. ●由于作者水平有限,文章难免存在谬误之处,敬请读者斧正,俚语成篇,恳望指教 "李雷和韩梅梅"的通讯录 ...

  9. Ubuntu中cc++语言简单程序编写以及使用gccg++方式编译简单程序(基础)

    Ubuntu中c/c++语言简单程序编写以及使用gcc/g++方式编译简单程序(基础) 这里写目录标题 Ubuntu中c/c++语言简单程序编写以及使用gcc/g++方式编译简单程序(基础) 一.编写 ...

最新文章

  1. java 类定义_JAVA类与对象(二)----类定义基础
  2. [新手学3D]Width 和 Pitch(Direct3D 9)
  3. Vmware7.1.4安装+破解+汉化
  4. Machine Learning week 7 quiz: programming assignment-Support Vector Machines
  5. python numpy np.argmax(a, axis=None, out=None) (按给定轴位比较,返回第一个最大值索引【下标】)
  6. SQL Server 统计信息更新时采样百分比对数据预估准确性的影响
  7. 巴斯光年探险阿里聚安全攻防挑战赛!决战12月28日!
  8. Qt应用程序只运行一个实例
  9. hash值为负_java – HashCode给出负值
  10. python神经网络训练_Python深度学习训练神经网络
  11. python字典内置方法_柳小白Python学习笔记 12 内置方法之字典方法
  12. 使用Cool Edit Pro 去除音频文件中的咝咝噪声
  13. 1分钟恢复损坏的Excel文件
  14. vs2015中工具箱不显示DevExpress控件的解决办法
  15. 用计算机怎么算异分母加减法,怎么正确算异分母分数加减法
  16. Fedora9的虚拟机安装
  17. 在职场:每个人,都应该学会使用项目管理工具Tracup
  18. EWM-Background and History
  19. 公众号运营技巧:大V的公众号都是怎么运营的?
  20. 用Word编辑论文的小经验(转)

热门文章

  1. 网商银行大前端信息科技移动渠道部 2024届校招实习
  2. 三类IP地址的私有地址
  3. 全新奔驰S500L 豪华车市场的“大佬”
  4. 笔记本电脑和台式机电脑长时间不用后卡顿解决办法
  5. Android自定义view之(刻度尺view)
  6. 4G IO控制器在智慧照明中的应用案例
  7. linux下的excel
  8. fisheye使用mysql_Dual-fisheye viewer
  9. ERROR 1327 (42000): Undeclared variable:
  10. 问题 C: EXCEL排序 作业比赛编号 : 100000581 - 《算法笔记》4.1小节——算法初步->排序 Codeup