0 引言数控机床在机械制造领域有着极广泛的应用 ,在数控机床使用中 ,数控编程是一项十分重要的工作 ,编程质量如何直接决定着产品的加工质量。目前 ,数控程序的编制有两种方法 :一种通过CAD/CAM软件直接生成所需的数控程序 ;另一种由人手工编制数控程序。第一种方法得到的程序可以直接用于加工 ,第二种方法得到的程序则必须通过仿真或试切才可以进行实际的加工 ,但仿真只能检查刀具轨迹方面的错误 ,对于编程语法错误则并不能识别 ,这点在高校的数控机床的教学中尤其突出。由于没有语法检查功能 ,实验老师必须花大量时间人工检查代码的正确性 ,成为影响整个教学的瓶颈。为了解决这个问题 ,针对学校购置的南京四开电子有限公司的数控系统开发了语法检查系统。1 语法分析方法目前数控程序的程序段格式都是采用字地址符格式 ,常用功能字有准备功能字、辅助功能字、尺寸字、主轴转速功能字、刀具功能字和进给功能字。对 于尺寸字、主轴转速、刀具及进给功能字则给出了参数取值范围。功能最多的是准备功能字和辅助功能字。ISO允许准备功能可以从G00~G99,辅助功能同样也是从M0 0~M99。但这些功能并没有全部使用 ,依据数控系统的功能的不同而有所不同。ISO只对其中少部分常用的功能作了标准化 ,留给制造商一定的余地开发自己的新功能。同时G功能有模态和非模态之分 ,另外 ,G功能通常分成不同的组 ,要求同组的G功能在程序段中只能出现一个。由于不同的制造商的数控系统指令集是不同的 ,而文中所针对的是南京四开电子有限公司的数控系统开发的 ,分车削系统和铣削系统 ,它们的指令集和语法规则有所不同 ,但所采用的语法分析原理相同。在此以车削系统为例进行讨论。在开发数控语法检查系统时 ,我们参考了计算机高级语言编译原理中的思路和方法 ,将整个语法检查过程分成两部分 :词法分析和语法分析。(1)词法分析语法检查第一步是词法分析。以每一行为单位作为字符流 ,完成滤去空格、拼数字、拼复合词的任务 ,变成“字地址符 +数字”形式的指令单词序列。四开数控车削系统常用单词符号 :<字母 >::=X|Y|Z|G|M|S|T|F|H|D|N|I|K|<数字 >::=0 | 1| 2 | 3| 4 | 5 | 6 | 7| 8| 9|<符号 >::=+ | - | ;| | :|在词法分析中可以首先排除下列语法错误 :①非法字符 (字母或符号 )②非法指令③地址后的数字不满足规定的范围④小数点出错⑤程序无结束指令⑥字地址后无数字完成以上工作后就要用语法分析来识别所给出的单词符号序列是否符合给定语法规则。(2 )语法分析语法规则放在一张表中 ,称为规则表。表中列出了与相关指令相匹配的功能字 ,表部分指令的规则如表所示。语法分析从读入第一个单词开始 ,与语法规则中的相关指令相比较 ,如果在规则表中列出了相关的要求 ,则调用相关的语法检查单元 ,按语法规则要求继续读入单词 ,并判断当前读入的单词是否是与之相匹配的功能字 ,从而逐段地判断。如果在程序段中出现了表中没有列出的功能字 ,则出错指令语法规则表指令 匹配功能字尺寸字进给功能字主轴功能字其他G0 0X|ZNULLNULLNULLG0 1X|ZFNULLNULLG92X|ZNULLNULLN1G41X|ZNULLNULLG0 1M0 3NULLNULLSNULL2 系统功能图 1 系统功能图系统功能模块如图 1所示 ,有五大模块。由于开发该系统的目的主要是面向初学数控编程的学生或编程员 ,因此 ,系统在设计时充分考虑了他们的需求。软件采用VB6 0作为软件开发平台。由于规则库和指令集都不是很大 ,我们采用了Ac cess数据库。(1)文件管理及编辑修改从图 2可知 ,界面设计完全是Windows风格 ,对语法检查等都设置了快捷键和按钮。该模块的功能与普通的高级语言的编辑功能相同 ,可以完成数控程序的编辑修改以及文件的存储管理。(2 )语法检查选择工具菜单中的语法检查或点击语法检查工具按钮 ,就可开始语法检查。检查时读入当前窗口中的数控程序 ,逐段检查。可以查出一个错误修改一个 ,也可以将所有出错语句行号及出错类型在错误列表窗口中显示出来。在错误列表窗中移动光标 ,在文本编辑窗中相应的出错行就会高亮显示。可以方便错误行的定位 ,从而为修改源程序提供了方便。如图 2所示 ,窗口中为一个测试用例 ,错误列表窗中显示出错语句行以及错误提示信息。图 2 语法检查(3)指令添加任何一个企业的数控产品都是在不断发展的。因此 ,它所采用的数控指令也是会变化的。为了能适应这种需求 ,本软件在可行性分析时就作了考虑 ,加入了指令添加模块 ,可以添加新的指令到指令集中 ,使得该语法系统更具开放性和适应性。如图 3所示为指令添加对话框。图 3 指令添加功能(4)在线帮助对于学生或初学数控编程的技术人员而言 ,第一障碍是对数控指令及其意义的掌握。另外 ,数控系统的指令集是与制造商有关的 ,不同的数控系统都有各自特定的一些指令。为了方便初学者的学习和运用 ,特别增加了帮助模块 ,风格采用Windows帮助功能的界面风格 ,通过文字、图和实例来介绍各个指令的含义及如何使用。在图 4中很详细地叙诉了G0 1指令的含义、使用格式 ,并给出了两个样例 ,同时配上相关图例 ,显得清晰、明了。图 4 在线帮助3 结论数控程序编辑及语法检查系统功能简单 ,易学易用 ,是实用性非常强的软件。该系统具有下列特点 :(1)大大提高了实验的可靠性 ,减轻了教师的劳动强度。(2 )借助帮助功能 ,初学者可以很快掌握数控指令。(3)随着数控系统的升级换代 ,可以很方便对系统的指令进行扩充数控程序编辑及语法检查系统的开发@黄新燕$南京理工大学机械工程学院!210024
@蔡理$南京理工大学机械工程学院!210024
@张雯$南京理工大学机械工程学院!210024数控;;语法;;车削;;铣削手工编程在数控编程中仍然占相当的比重 ,尤其在数控机床的教学中。数控代码的正确性是完成数控加工的首要条件。现在大部分数控系统上都不具备数控程序的语法检查功能。本文针对南京四开电子有限公司的数控系统 ,参照计算机编译系统的原理和方法 ,开发了数控程序编辑及语法检查系统。该系统能保证数控代码的正确性 ,其指令添加功能可以针对系统作相应的扩充 ,在线帮助功能可以有助于对数控指令的掌握。该系统的开发平台为 :VB6 0。【1】张素琴,蒋维杜编译原理清华大学出版社,1999
【2】黄新燕机床数控技术及编程南京理工大学出版社,2000
【3】南京四开电子有限公司SKY系统使用说明寮叭绾问褂谩T谕?4中很详细地叙诉了G0 1指令的含义、使用格式 ,并给出了两个样例 ,同时配上相关图例 ,显得清晰、明了。图 4 在线帮助3 结论数控程序编辑及语法检查系统功能简单 ,易学易用 ,是实用性非常强的软件。该系统具有下列特点 :(1)大大提高了实验的可靠性 ,减轻了教师的劳动强度。(2 )借助帮助功能 ,初学者可以很快掌握数控指令。(3)随着数控系统的升级换代 ,可以很方便对系统的指令进行扩充数控程序编辑及语法检查系统的开发@黄新燕$南京理工大学机械工程学院!210024
@蔡理$南京理工大学机械工程学院!210024
@张雯$南京理工大学机械工程学院!210024数控;;语法;;车削;;铣削手工编程在数控编程中仍然占相当的比重 ,尤其在数控机床的教学中。数控代码的正确性是完成数控加工的首要条件。现在大部分数控系统上都不具备数控程序的语法检查功能。本文针对南京四开电子有限公司的数控系统 ,参照计算机编译系统的原理和方法 ,开发了数控程序编辑及语法检查系统。该系统能保证数控代码的正确性 ,其指令添加功能可以针对系统作相应的扩充 ,在线帮助功能可以有助于对数控指令的掌握。该系统的开发平台为 :VB6 0。【1】张素琴,蒋维杜编译原理清华大学出版社,1999
【2】黄新燕机床数控技术及编程南京理工大学出版社,2000
【3】南京四开电子有限公司SKY系统使用说明
More abstracts about the 数控程序编辑及语法检查系统的开发