[发明专利]通用数控代码解析方法有效
申请号: | 200610161337.6 | 申请日: | 2006-12-22 |
公开(公告)号: | CN101206467A | 公开(公告)日: | 2008-06-25 |
发明(设计)人: | 张友良;徐建国;汪惠芬;刘婷婷;刘佳 | 申请(专利权)人: | 南京理工大学 |
主分类号: | G05B19/18 | 分类号: | G05B19/18;G05B19/4155 |
代理公司: | 南京理工大学专利中心 | 代理人: | 朱显国 |
地址: | 210094*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种通用数控代码解析方法。它涉及NC代码的检错、解析方法,并提供定制手段,用以拓展基于此方法的解析器的功能。基于规则数据库,对NC代码进行词法、语法分析。如果有错,解析器会出错误报告,指示出错误的类型和位置。用户对NC代码进行修改,然后再进行检错,重复这个过程直到代码中没有错误为止。采用时间片离散方法对NC代码进行解析,生成刀位文件,用以驱动虚拟加工过程。对于系统不支持的数控系统,用户通过定制界面分三个步骤在规则数据库中增加新系统的规则。此方法具有通用性和开放性,可拓宽虚拟加工系统和加工仿真软件的应用领域,进而增强企业在市场中的竞争力。 | ||
搜索关键词: | 通用 数控 代码 解析 方法 | ||
【主权项】:
1.一种通用数控代码解析方法,其特征在于包括以下步骤:第一步,查询规则数据库,即规则数据库用以存贮数控系统的编程规则,该规则数据库包括机床信息表、NC规则表、自定义数据类型表、子程序规则表、未定义字符表、G代码表、M代码表及程序号规则表;如果机床信息表中没有所要处理的特定数控系统型号,进行数控系统定制,数控系统定制使得用户在规则数据库中加入该特定数控系统的编程规则,以扩展功能;第二步,NC代码导入,即把NC代码从磁盘文件读入计算机内存中,以链表的形式存贮,每一个程序段是链表的一个结点;程序段是NC代码的一行语句,由一个或多个程序字组成,程序字通常由地址符及其后面的数字和符号组成;建立当前程序段指针,使其指向链表的第一个结点,即NC代码的第一个程序段;当前程序段指针指向的程序段称为当前程序段;第三步,词法分析,即词法分析检查程序段中是否有不合法字符,对于每一个程序段中的字符,检查其是否包含在未定义字符表中;如果字符包含在未定义字符表中,即发生词法错误,将错误类型及错误位置记录在错误链表中,此处错误类型为非法字符,错误位置为程序段的行号,将错误标志置为1;错误链表是用以记录错误的数据结构,每一个错误是链表中的一个结点;错误标志是个布尔型变量,其初始值为0,表示NC代码无错误,当其值为1时,表示NC代码有错误;第四步,语法分析,即语法分析检查当前程序段是否符合语法规则,语法规则包括开始符和结束符规则,程序号规则,程序段规则,子程序调用规则;基于规则数据库的NC规则表,自定义数据类型表,子程序规则表,程序号规则表,建立与当前程序段相对应的正则表达式;用正则表达式匹配当前程序段,如果不成功,即发生语法错误,将错误的类型和位置记录入错误链表中,错误类型与所违背的语法规则相对应,错误位置为程序段的行号,将错误标志置为1;判断错误标志的值,如果其为1,更新当前程序段;第五步,判断当前程序段是否子程序调用,查询规则数据库的子程序调用规则表,如果程序段的地址符与子程序调用规则表的标识字符相同,当前程序段是否子程序调用,进行NC子程序处理流程;首先需要搜索子程序的位置,然后跳转到子程序进行检错、解析处理,子程序处理完毕返回后,更新当前程序段;第六步,代码解析;代码解析基于规则数据库的G代码表和M代码表进行,G代码表存贮G代码的功能描述信息,M代码表存贮M代码的功能描述信息;根据G代码和M代码的功能描述,按时间片离散方法对NC代码进行解析;该时间片离散方法是根据固定的时间间隔,把刀具的轨迹离散成微小的直线段的一种解析方法;NC代码解析后得到若干刀位数据,刀位数据是在相应时间片里刀具在各坐标上的位移;把刀位数据写入刀位文件,此文件用来驱动虚拟加工和加工仿真过程;第七步,更新当前程序段,如果代码链表的下一个结点,即下一个程序段不是程序结束符,将当前程序段指针指向下一个程序段,进行词法分析。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京理工大学,未经南京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200610161337.6/,转载请声明来源钻瓜专利网。