1.4 国内外研究现状 .. 4
1.5 此领域存在的问题 . 5
1.6 本文研究的内容 .. 5
2 软件需求分析 . 7
2.1 需求提出 .. 7
2.2 需求描述 .. 7
3 软件设计框架和相关技术介绍 . 11
3.1 软件开发环境和软件框架介绍 11
3.2 正则表达式的研究 .. 14
3.3 GDI+介绍 . 20
4 NC代码编译器的设计与实现 22
4.1 程序的窗体设计 22
4.2 文件的读写 .. 22
4.3 词法分析 25
4.4 语法分析 30
4.5 代码编译与仿真绘图 . 40
5 本次设计软件测试介绍 . 48
5.1 软件测试介绍 . 48
5.2 软件测试情况 . 48
结论 .. 53
致谢 .. 55
参考文献 56
1 绪论
1.1 概述
数字控制(NC: Numerical Control)简称数控,是一种利用数字信号对数控
机床的加工过程进行控制的手段。数控机床是个复杂的机电系统,其上装有一个
程序控制系统,用来驱动机械部件进行工作,即数控系统。在数控系统按照数控
程序驱动机床进行工作的过程中,需要对数控程序进行译码工作,一般来说,会
有一个专门的NC 代码编译软件来完成这项工作。
在数控加工之前,由于数控程序不可避免地会有错误,往往需要对其进行错
误校验。人工检查是对 NC代码纠错的最早手段,这种方法也是不同厂商之间 NC
代码转换时候最早采用的手段,不过这种方法费时费力,效率不高且容易出现二
次错误,不适用大而复杂的程序,目前已经无法满足现实需要[1]
。数控技术的发
展使数控程序越来越复杂,保证数控程序的正确性成了一个突出的难题。由于数
控代码高度的结构化,如果利用计算机强大的处理能力,可以方便地检查数控程
序,编译数控代码,监视加工过程,不仅可以检测出代码中的词法错误和语法错
误,还能预防走刀过程中可能出现的刀具碰撞,干涉等情况[2]
。
随着数控虚拟仿真系统的发展,CAD/CAM 软件可以方便地生成数控加工程
序。而另一方面,开放式数控系统发展势头也非常迅猛,而这两者联系的桥梁就
是NC代码编译器。仿真系统和计算机辅助设计软件的高速发展使得 NC代码编译
器应该具有相应的开放性和通用性。考虑到在运行在 PC 平台上 ,NC 代码编译
器为了提高编译效率,采用适用于自己平台的高级语言编程是 NC 代码编译器的
发展方向。
1.2 本文研究意义
数控程序跟其他编程语言的程序一样,出现错误是其无法避免的问题,例如
词法错误、语法错误、参数错误引发的刀具和工件发生碰撞等等。早在使用纸带
编程的年代,这个问题就得到编程人员的广泛关注,并希望得到一种能检测代码
错误的方法。出现自动编程功能之后,数控程序变得更加复杂,人们更加急切地寻找检查程序的方法。进入上个世纪 90 年代后,计算机发展越来越快,于是人
们选择了拥有强大计算能力的计算机,利用计算机进行数控程序检查和仿真。
从实际应用来看,NC 代码编译器主要有以下两个用途:
1) 用在 PC+运动控制卡的开放式数控系统。这种系统中通常上位机就是个
人计算机,为了将数控代码转换成实际的脉冲信息,需要一个代码编译器来处理
这些代码文件,然后将信号送给运动控制卡,进而驱动机床运动。 基于正则表达式的NC程序编译器设计与开发(2):http://www.751com.cn/zidonghua/lunwen_18775.html