[发明专利]一种基于流程控制的运动控制代码解析方法在审
申请号: | 201410374960.4 | 申请日: | 2014-08-01 |
公开(公告)号: | CN104133421A | 公开(公告)日: | 2014-11-05 |
发明(设计)人: | 曾俊涵;王明昕;冯日月;夏正仙;徐正华 | 申请(专利权)人: | 南京埃斯顿自动化股份有限公司;南京埃斯顿自动控制技术有限公司 |
主分类号: | G05B19/4097 | 分类号: | G05B19/4097 |
代理公司: | 江苏圣典律师事务所 32237 | 代理人: | 程化铭 |
地址: | 211100 江苏省南*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 流程 控制 运动 代码 解析 方法 | ||
技术领域
本发明涉及运动控制代码解析方法,尤其涉及一种基于流程控制的运动控制代码解析方法,属于数控技术领域。
背景技术
数控加工是用数字信息控制机械设备运动而完成加工的方法,而数字信息存储在数控加工程序中,因此,数控加工程序的性能及执行效率将直接影响数控加工的质量。数控加工程序的一种标准形式是NC代码,即数控指令代码。它是由定义了一定功能的字母附上数据后组合而成的,一般每条指令完成一个动作,若干条指令按一定结构构成一段程序。在具体的数控加工程序中,一般使用各种准备功能的G代码和辅助功能的M代码来描述加工过程的各种运动特征和操作。NC代码作为数控加工程序的一种标准形式已经得到了广泛的应用,但传统的NC代码在处理批量、复杂的加工时表现出代码量庞大、效率低下、不灵活、不通用的缺点。随着数控技术的发展,一些先进的数控系统将计算机高级语言的一些流程设计方式引入到NC代码中,比如EMC2的O指令、FANUC及SIEMENS的宏程序等,这些方式提高了数控程序的柔性。但目前这一类嵌入流程控制的程序欠缺一种通用的解析方法,给希望自己定制数控系统的用户带来不便。
中国发明专利“通用数控代码解析方法”(申请号为200610161337.6)公开了一种通用数控代码解析方法,但是没有对流程扩展类的数控代码给出解析方案。王宇晗等人在文章“CNC系统用户宏程序功能的译码实现”(《组合机床与自动化加工技术》2004年第6期4-6页)中提出的CNC系统用户宏程序功能的译码实现,但该方法仅针对FANUC系统的宏指令进行了译码实现,缺乏通用性。
另外,上述两种解析方案都需要对程序代码全部扫描一遍以数据链表形式存入内存中以后,再进行语义分析识别工作,这样会降低执行效率,也无法满足即时执行的要求(如用户逐行输入数控代码并即时执行);同时,如果一个加工程序的有效数据量超过内存容量,这类方法无法执行。
发明内容
本发明公开了一种基于流程控制的运动控制代码解析方法,解决了对加入流程控制的运动控制代码进行解析的问题。
为实现上述发明目的,本发明采取的技术方案是:
一种基于流程控制的运动控制代码解析方法,包括以下步骤:
第一步:建立流程控制代码表以及配对规则表,配对规则表指明流程控制码的配对方案,由用户根据需求自定义;
第二步:从当前位置读取一段NC代码有效段到计算机内存,有效段是一个NC代码程序段或者在流程控制代码表中能查到的字符段,程序段是NC代码的一行语句,由一个或多个程序字组成;
第三步:对读取到计算机内存中的NC代码有效段进行分析判断并做出处理:如果NC代码有效段存在语法或词法错误,则转入错误处理模块进行处理;如果NC代码有效段为一个流程控制段,则转入流程控制处理模块进行处理,流程控制处理模块根据处理内容修改当前读取位置;如果NC代码有效段不是一个流程控制段,则判断当前读取模式是否为省略模式,如果当前读取模式为省略模式,则直接忽略,否则转入普通NC代码处理模块进行处理并输出处理结果,完成后将当前位置指向下一段起始处;
第四步:如果当前NC代码有效段存在错误或读取到结束符,则结束解析,否则转入第二步继续执行。
所述流程控制处理模块包括无条件转移模块、条件分支模块和循环模块。
所述无条件转移模块的工作方法为:分析流程控制段,获取流程控制码;如果流程控制码是跳转语句,则读取跳转标签,查找标签表,如果找到标签,则修改当前读取位置到该标签处,如果未找到标签,则将读取模式改为省略模式,完成后将当前位置指向下一段起始处;如果流程控制码是标签语句,则将标签名称和当前位置记录到标签表,将读取模式设置为普通模式,完成后将当前位置指向下一段起始处。
所述条件分支模块的工作方法为:分析流程控制段,获取流程控制码;如果流程控制码是条件开始语句,则读取条件表达式并计算其值,若条件为真,则将读取模式置为普通模式,否则为省略模式,完成后将当前位置指向下一段起始处;如果流程控制码是条件结束语句,则将读取模式置为普通模式,完成后将当前位置指向下一段起始处。
所述循环模块的工作方法为:分析流程控制段,获取流程控制码;如果流程控制码是循环开始语句,则读取条件表达式并计算其值,若条件为真,则将读取模式置为普通模式,否则为省略模式,记录当前循环起始位置,完成后将当前位置指向下一段起始处;如果流程控制码是循环结束语句,则判断之前循环开始语句处的条件,如果条件为真,则将当前读取位置指向循环起始处,否则将读取模式置为普通模式,完成后将当前位置指向下一段起始处。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京埃斯顿自动化股份有限公司;南京埃斯顿自动控制技术有限公司,未经南京埃斯顿自动化股份有限公司;南京埃斯顿自动控制技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410374960.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种空间椭圆弧插补方法
- 下一篇:高频电焊钢管焊接熔合区及V型角成像监测装置