数控车削虚拟仿真系统代码编译器的研究与开发.pdf
《数控车削虚拟仿真系统代码编译器的研究与开发.pdf》由会员分享,可在线阅读,更多相关《数控车削虚拟仿真系统代码编译器的研究与开发.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 8 2机械设计与制造M a c h i n e r yD e s i g n&M a n u f a c t u r e第7 期2 0 0 9 年7 月文章编号:1 0 0 1 3 9 9 7(2 0 0 9)0 7-0 1 8 2-0 3数控车削虚拟仿真系统代码编译器的研究与开发i【A b s t r a c t】hi n t r o d u c e st h e f u n c t i o na n dt h et o t a ls t r u c t u r eo f t h eN C-c o d ec o m p i l e ro f N u m e r i c a l C o n
2、 t r o l(N C)v i r t u a le m u l a t i o ns y s t e m,a n da n a l y s e st h ec o d i n gm e t h o do f e x p l a n a t i o n-c o m p i l e rw h i c hi s a d o p t e db yt h eN C-c o d ec o m p i l e ro fN Cv r t u a e m u l a t i o ns y s t e m B a s e do nV i s u a lc+e n v i r o n m e n t,括;p a
3、 p e rd i s c u s s e st h er e a l i z a t i o no fc o m p i l e r-m o d u l ea n de m u l a t i o n-m o d u l eo ft h eN C-c o d ec o m p i l e ro fN C;v i r t u a le m u l a t i o ns y s t e ma n dt h ei n t e 口C a c eo ft h e m-T h i sN C-c o d ec o m p i l e rn o t0 4m e e t st h en e e d so fi
4、 n 一;s p e c t i n gN Cp r o g r a mc o r r e c t n e s sb u ta l s op o s s e s s e sg o o dp r a c t i c a b i l i t y;来稿日期:2 0 0 8-0 9 1 4 万方数据第7 期肖忠跃等:数控车削虚拟仿真系统代码编译器的研究与开发1 8 3雠H 鋈糖|I 第一次扫描零件N c 程序I编译并建立结果缓冲区1 1 1C U l W e L i s t寺一退出编译系统提示出错信息,并清在缓冲区l 第二次扫描编泽结果缓冲区图2 解释一编译的译码方法的流程图这种分次对不同对象进行扫描
5、的解释一编译的译码方法:一方面克服了解释方式和编译方式浪费计算机内存资源的缺点;另一方面又克服了时间顺序处理方式由于在两个程序段的输出之间存在的时间间隔,导致电机的时转时停,而造成工件的加工质量下降的缺点。同时该解释一编译方式由于两次扫描的对象不同,且第二次扫描的内容没有第次扫描的复杂。很显然,这种方法一方面提高了计算机内存资源的利用率,另一方面缩短了编译的时间,大大提高了编译软件的工作效率。4 数控加工程序编译器的实现及其应用数控虚拟仿真系统N C 代码编译器工作时,必须具有处理大量的输入、输出信息的功能,且操作简单、界面友好。首先,编译器能对输入的N C 代码程序中的各个地址符进行词法规则
6、、语法规则以及简单的语义识别,检查其中的错误信息;并能输出详细的错误信息和零件加工过程的仿真。其次,N C 代码编译器编译N C程序,并为用户提供详细的编译结果信息;如数控程序是否存在错误,是词法错误还是语法错误,及该错误在N c 程序中的位置等。再次,就是该N C 代码编译器必须具有操作简单、界面友好和交互性好的特点。4 1N C 程序编译器的实现算法数控加工虚拟仿真系统承担着两大任务:一是对数控加工程序进行扫描并作出词法、语法和语义识别,并将识别结果输出告知用户;二是经过扫描识别确定加工程序无误后,提取驱动机床移动部件的加工信息进行加工仿真。即主要用于对N C 程序正确性的检验和提取N C
7、 程序中的加工信息。因此,在V i s u a lc+环境下开发出来的N C 程序编译器,其主要任务是完成对零件程序的扫描与词法、语法进行识别,并输出识别结果;同时,程序识别无误后编译器将提取N C 程序中的加工信息并以链表的形式存入缓存区供仿真模块调用。所采用的译码方法对N C 代码程序进行词法、语法识别的流程图,如图3 所示。图3N c 代码词法、语法识别算法流程图 万方数据1 8 4机械设计与制造N o 7J u l 2 0 0 94 1 1 编译模块的主要数据成员c o n s tC S t r i n g L i s t&G e t F i l e L i n e L i s t()
8、;,肥N C 程序的内容以字符的形式存放到字符串变量m _ s t r F i l e A l l 中,并在以、I l 为标志将该字符串即每个程序段加入字符串链表m-J e L i n e L i s t 中;B O O LI s T h e r e C h a r(C S t r i n gs t r L i n e。T C H A Rc);x 寸N、G、M、x、Y、z、I、J、K、R、U、V、w、S、T、F 等地址符的识别;c o n s tC S t r i n g L i s t&L i n e T o W o r d(C S t r i n g);1)Z 空格为标志将程序中所有识别为
9、字,并存放到字链表m _ s W o r d l i s t 中;l o n g G e t C h a r V a l u e(C S t r i n gs 缸L i n e,T C H A R c);,廒得字符的实际值;C S t r i n gG e t W o r d O r d e r(c o n s tC S t r i n g L i s t&);,确定程序段中各地址符的顺序;B O O LL e x i c a l P a r s e rc o n s tC S t r i n g L i s t&。i n t);,尉N C 程序进行词法分析,并检查其中的词法错误;B O O
10、LS y n t a x P a r s e r();对N C 程序进行语法分析和简单的语义分析,并检查其中的语法错误;v o i dF i l e C o m p i l e r();阚用词法和语法程序对N C 程序进行词法和语法检查。C S t r i n gm _ s F i l e N a m e;所已录程序名;C S t r i n gm _ s F i l e P a t h N a m e;肌己录程序的存放路径;C S t r i n g L i s tm _ s W o r d l i s t;-4 存放程序段中字的链表;C S t r i n g L i s tm _ F i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数控 车削 虚拟 仿真 系统 代码 编译器 研究 开发
限制150内