欢迎来到天天文库
浏览记录
ID:51506593
大小:309.55 KB
页数:4页
时间:2020-03-25
《数控车削虚拟仿真系统代码编译器的研究与开发.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、万方数据182机械设计与制造MachineryDesign&Manufacture第7期2009年7月文章编号:1001—3997(2009)07-0182-03数控车削虚拟仿真系统代码编译器的研究与开发i【Abstract】hintroducesthefunctionandthetotalstructureoftheNC-codecompilerofNumerical{}Control(NC)virtualemulationsystem,andanalysesthecodingmethodofexplanation-compilerwh
2、ichis{}adoptedbytheNC-codecompilerofNCv/rtua/emulationsystem.BasedonVisualc++environment,£^括{;paperdiscussestherealizationofcompiler-moduleandemulation-moduleoftheNC-codecompilerofNC{;virtualemulationsystemandtheinte口Caceofthem-ThisNC-codecompilernot04meetstheneedsofin一{;
3、spectingNCprogramcorrectnessbutalsopossessesgoodpracticability.;★来稿日期:2008--09—14万方数据第7期肖忠跃等:数控车削虚拟仿真系统代码编译器的研究与开发183雠H鋈糖‘
4、I第一次扫描零件Nc程序I编译并建立结果缓冲区111CUlWeList寺一退出编译系统.提示出错信息,并清在缓冲区l第二次扫描编泽结果缓冲区图2解释一编译的译码方法的流程图这种分次对不同对象进行扫描的解释一编译的译码方法:一方面克服了解释方式和编译方式浪费计算机内存资源的缺点;另一方面又克服了时间
5、顺序处理方式由于在两个程序段的输出之间存在的时间间隔,导致电机的时转时停,而造成工件的加工质量下降的缺点。同时该解释一编译方式由于两次扫描的对象不同,且第二次扫描的内容没有第~次扫描的复杂。很显然,这种方法一方面提高了计算机内存资源的利用率,另一方面缩短了编译的时间,大大提高了编译软件的工作效率。4数控加工程序编译器的实现及其应用数控虚拟仿真系统NC代码编译器工作时,必须具有处理大量的输入、输出信息的功能,且操作简单、界面友好。首先,编译器能对输入的NC代码程序中的各个地址符进行词法规则、语法规则以及简单的语义识别,检查其中的错误信息;并
6、能输出详细的错误信息和零件加工过程的仿真。其次,NC代码编译器编译NC程序,并为用户提供详细的编译结果信息;如数控程序是否存在错误,是词法错误还是语法错误,及该错误在Nc程序中的位置等。再次,就是该NC代码编译器必须具有操作简单、界面友好和交互性好的特点。4.1NC程序编译器的实现算法数控加工虚拟仿真系统承担着两大任务:一是对数控加工程序进行扫描并作出词法、语法和语义识别,并将识别结果输出告知用户;二是经过扫描识别确定加工程序无误后,提取驱动机床移动部件的加工信息进行加工仿真。即主要用于对NC程序正确性的检验和提取NC程序中的加工信息。因
7、此,在Visualc++环境下开发出来的NC程序编译器,其主要任务是完成对零件程序的扫描与词法、语法进行识别,并输出识别结果;同时,程序识别无误后编译器将提取NC程序中的加工信息并以链表的形式存入缓存区供仿真模块调用。所采用的译码方法对NC代码程序进行词法、语法识别的流程图,如图3所示。图3Nc代码词法、语法识别算法流程图万方数据184机械设计与制造No.7Jul.20094.1.1编译模块的主要数据成员constCStringList&GetFileLineList();,肥NC程序的内容以字符的形式存放到字符串变量m_strFileA
8、ll中,并在以、Il为标志将该字符串即每—个程序段加入字符串链表m-JⅢeLineList中;BOOLIsThereChar(CStringstrLine。TCHARc);//x寸N、G、M、x、Y、z、I、J、K、R、U、V、w、S、T、F等地址符的识别;constCStringList&LineToWord(CString);//1).Z空格为标志将程序中所有识别为字,并存放到字链表m_sWordlist中;longGetCharValue(CStrings缸Line,TCHARc);,廒得字符的实际值;CStringGetWordO
9、rder(constCStringList&);,确定程序段中各地址符的顺序;BOOLLexicalParserconstCStringList&。int);,尉NC程序进行词法分析,并检查其
此文档下载收益归作者所有