ImageVerifierCode 换一换
格式:PDF , 页数:11 ,大小:704.92KB ,
资源ID:224110      下载积分:30 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zhuanlichaxun.net/d-224110.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(一种基于流程控制的运动控制代码解析方法.pdf)为本站会员(00062****4422)主动上传,专利查询网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知专利查询网(发送邮件至2870692013@qq.com或直接QQ联系客服),我们立即给予删除!

一种基于流程控制的运动控制代码解析方法.pdf

1、10申请公布号CN104133421A43申请公布日20141105CN104133421A21申请号201410374960422申请日20140801G05B19/409720060171申请人南京埃斯顿自动化股份有限公司地址211100江苏省南京市江宁经济开发区将军大道155号申请人南京埃斯顿自动控制技术有限公司72发明人曾俊涵王明昕冯日月夏正仙徐正华74专利代理机构江苏圣典律师事务所32237代理人程化铭54发明名称一种基于流程控制的运动控制代码解析方法57摘要本发明公开了一种基于流程控制的运动控制代码解析方法,该方法包括包括以下步骤建立流程控制代码表以及配对规则表;从当前位置读取一段

2、NC代码有效段到计算机内存;对读取到计算机内存中的NC代码有效段进行分析判断并做出处理如果NC代码有效段为一个流程控制段,转入流程控制处理模块进行处理,流程控制处理模块根据处理内容修改当前读取位置;如果当前NC代码有效段存在错误或读取到结束符,则结束解析,否则转入第二步继续执行。本发明方法涵盖了无条件转移流程、条件分支流程及循环流程的通用处理方法,具有很好的通用性。基于本方法的解析器可应用于任何加入流程控制类的运动控制代码解析,具有很好的开放性和可拓展性。51INTCL权利要求书1页说明书4页附图5页19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书4页附图5页10申请公布号

3、CN104133421ACN104133421A1/1页21一种基于流程控制的运动控制代码解析方法,其特征在于包括以下步骤A建立流程控制代码表以及配对规则表,配对规则表指明流程控制码的配对方案,由用户根据需求自定义;B从当前位置读取一段NC代码有效段到计算机内存,有效段是一个NC代码程序段或者在流程控制代码表中能查到的字符段;C对读取到计算机内存中的NC代码有效段进行分析判断并做出处理如果NC代码有效段存在语法或词法错误,则转入错误处理模块进行处理;如果NC代码有效段为一个流程控制段,则转入流程控制处理模块进行处理,流程控制处理模块根据处理内容修改当前读取位置;如果NC代码有效段不是一个流程控

4、制段,则判断当前读取模式是否为省略模式,如果当前读取模式为省略模式,则直接忽略,否则转入普通NC代码处理模块进行处理并输出处理结果,完成后将当前位置指向下一段起始处;D如果当前NC代码有效段存在错误或读取到结束符,则结束解析,否则转入步骤B继续执行。2根据权利要求1所述的基于流程控制的运动控制代码解析方法,其特征在于所述流程控制处理模块包括无条件转移模块、条件分支模块和循环模块。3根据权利要求2所述的基于流程控制的运动控制代码解析方法,其特征在于所述无条件转移模块的工作方法为分析流程控制段,获取流程控制码;如果流程控制码是跳转语句,则读取跳转标签,查找标签表,如果找到标签,则修改当前读取位置到

5、该标签处,如果未找到标签,则将读取模式改为省略模式,完成后将当前位置指向下一段起始处;如果流程控制码是标签语句,则将标签名称和当前位置记录到标签表,将读取模式设置为普通模式,完成后将当前位置指向下一段起始处。4根据权利要求2所述的基于流程控制的运动控制代码解析方法,其特征在于所述条件分支模块的工作方法为分析流程控制段,获取流程控制码;如果流程控制码是条件开始语句,则读取条件表达式并计算其值,若条件为真,则将读取模式置为普通模式,否则为省略模式,完成后将当前位置指向下一段起始处;如果流程控制码是条件结束语句,则将读取模式置为普通模式,完成后将当前位置指向下一段起始处。5根据权利要求2所述的基于流

6、程控制的运动控制代码解析方法,其特征在于所述循环模块的工作方法为分析流程控制段,获取流程控制码;如果流程控制码是循环开始语句,则读取条件表达式并计算其值,若条件为真,则将读取模式置为普通模式,否则为省略模式,记录当前循环起始位置,完成后将当前位置指向下一段起始处;如果流程控制码是循环结束语句,则判断之前循环开始语句处的条件,如果条件为真,则将当前读取位置指向循环起始处,否则将读取模式置为普通模式,完成后将当前位置指向下一段起始处。权利要求书CN104133421A1/4页3一种基于流程控制的运动控制代码解析方法技术领域0001本发明涉及运动控制代码解析方法,尤其涉及一种基于流程控制的运动控制代

7、码解析方法,属于数控技术领域。背景技术0002数控加工是用数字信息控制机械设备运动而完成加工的方法,而数字信息存储在数控加工程序中,因此,数控加工程序的性能及执行效率将直接影响数控加工的质量。数控加工程序的一种标准形式是NC代码,即数控指令代码。它是由定义了一定功能的字母附上数据后组合而成的,一般每条指令完成一个动作,若干条指令按一定结构构成一段程序。在具体的数控加工程序中,一般使用各种准备功能的G代码和辅助功能的M代码来描述加工过程的各种运动特征和操作。NC代码作为数控加工程序的一种标准形式已经得到了广泛的应用,但传统的NC代码在处理批量、复杂的加工时表现出代码量庞大、效率低下、不灵活、不通

8、用的缺点。随着数控技术的发展,一些先进的数控系统将计算机高级语言的一些流程设计方式引入到NC代码中,比如EMC2的O指令、FANUC及SIEMENS的宏程序等,这些方式提高了数控程序的柔性。但目前这一类嵌入流程控制的程序欠缺一种通用的解析方法,给希望自己定制数控系统的用户带来不便。0003中国发明专利“通用数控代码解析方法”(申请号为2006101613376)公开了一种通用数控代码解析方法,但是没有对流程扩展类的数控代码给出解析方案。王宇晗等人在文章“CNC系统用户宏程序功能的译码实现”(组合机床与自动化加工技术2004年第6期46页)中提出的CNC系统用户宏程序功能的译码实现,但该方法仅针

9、对FANUC系统的宏指令进行了译码实现,缺乏通用性。0004另外,上述两种解析方案都需要对程序代码全部扫描一遍以数据链表形式存入内存中以后,再进行语义分析识别工作,这样会降低执行效率,也无法满足即时执行的要求(如用户逐行输入数控代码并即时执行);同时,如果一个加工程序的有效数据量超过内存容量,这类方法无法执行。发明内容0005本发明公开了一种基于流程控制的运动控制代码解析方法,解决了对加入流程控制的运动控制代码进行解析的问题。0006为实现上述发明目的,本发明采取的技术方案是一种基于流程控制的运动控制代码解析方法,包括以下步骤第一步建立流程控制代码表以及配对规则表,配对规则表指明流程控制码的配

10、对方案,由用户根据需求自定义;第二步从当前位置读取一段NC代码有效段到计算机内存,有效段是一个NC代码程序段或者在流程控制代码表中能查到的字符段,程序段是NC代码的一行语句,由一个或多个程序字组成;说明书CN104133421A2/4页4第三步对读取到计算机内存中的NC代码有效段进行分析判断并做出处理如果NC代码有效段存在语法或词法错误,则转入错误处理模块进行处理;如果NC代码有效段为一个流程控制段,则转入流程控制处理模块进行处理,流程控制处理模块根据处理内容修改当前读取位置;如果NC代码有效段不是一个流程控制段,则判断当前读取模式是否为省略模式,如果当前读取模式为省略模式,则直接忽略,否则转

11、入普通NC代码处理模块进行处理并输出处理结果,完成后将当前位置指向下一段起始处;第四步如果当前NC代码有效段存在错误或读取到结束符,则结束解析,否则转入第二步继续执行。0007所述流程控制处理模块包括无条件转移模块、条件分支模块和循环模块。0008所述无条件转移模块的工作方法为分析流程控制段,获取流程控制码;如果流程控制码是跳转语句,则读取跳转标签,查找标签表,如果找到标签,则修改当前读取位置到该标签处,如果未找到标签,则将读取模式改为省略模式,完成后将当前位置指向下一段起始处;如果流程控制码是标签语句,则将标签名称和当前位置记录到标签表,将读取模式设置为普通模式,完成后将当前位置指向下一段起

12、始处。0009所述条件分支模块的工作方法为分析流程控制段,获取流程控制码;如果流程控制码是条件开始语句,则读取条件表达式并计算其值,若条件为真,则将读取模式置为普通模式,否则为省略模式,完成后将当前位置指向下一段起始处;如果流程控制码是条件结束语句,则将读取模式置为普通模式,完成后将当前位置指向下一段起始处。0010所述循环模块的工作方法为分析流程控制段,获取流程控制码;如果流程控制码是循环开始语句,则读取条件表达式并计算其值,若条件为真,则将读取模式置为普通模式,否则为省略模式,记录当前循环起始位置,完成后将当前位置指向下一段起始处;如果流程控制码是循环结束语句,则判断之前循环开始语句处的条

13、件,如果条件为真,则将当前读取位置指向循环起始处,否则将读取模式置为普通模式,完成后将当前位置指向下一段起始处。0011本发明的解析方法不用对数控程序进行全部扫描一遍后再做语义分析,也不关心程序段来源,每获取一个有效段就可以解析并完成配置或输出结果,这在提高解析效率的同时也使得基于此方法的解析器在数控系统中具有更好的灵活性。本发明方法涵盖了无条件转移流程、条件分支流程及循环流程的通用处理方法,具有很好的通用性。本发明的解析方法采用可自由定制的“流程控制代码表”及“流程控制代码配对规则表”,这使得基于本方法的解析器可应用于任何加入流程控制类的运动控制代码解析,具有很好的开放性和可拓展性。附图说明

14、0012图1是本发明方法的运动控制代码解析流程图。0013图2是“流程控制代码表”和“流程控制代码配对规则表”。0014图3是流程控制处理模块中无条件转移模块的处理流程图。0015图4是流程控制处理模块中条件分支模块的处理流程图。0016图5是流程控制处理模块中循环模块的处理流程图。0017图6是嵌入流程控制的运动控制示例代码。说明书CN104133421A3/4页5具体实施方式0018下面结合附图和具体实施方式,对本发明作进一步详细说明。0019本发明处理的对象是嵌入流程控制的运动控制代码,该代码由两部分组成一是普通的NC代码,二是完成逻辑控制的流程控制代码。示例代码如图6所示,本发明的目的

15、在于对这种代码给出通用的解析方案。0020本发明的流程控制代码表以及配对规则表用于定制流程控制的特殊字符集。这些字符集是不同于普通标准数控代码的一类进行流程控制的代码,当程序解析到这些特殊字符集时,根据规则进行读取位置的跳转,以达到逻辑控制的目的。0021在综合数控编程流程控制的基础上,本发明所设计的流程控制代码主要有三种类型(1)无条件转移类,(2)条件分支类,(3)循环类。每种类型以配对码形式出现在数控程序中,非配对的结构在数控程序中将视为错误。用户可自定义控制码的字符集,只要所用字符不和标准NC代码已有字符冲突。0022一种基于流程控制的运动控制代码解析方法,如图1所示,依次执行以下步骤

16、第一步建立流程控制代码表以及配对规则表,如图2所示。为避免与标准NC代码已有字符定义冲突,所有流程控制码以“O_”开头。0023第二步当前代码读取位置指向第0行开头。0024第三步从当前位置读取一行NC代码有效段到计算机内存,进行分析判断,如果没有错误转入流程控制处理模块进行处理。0025第四步如果当前NC代码有效段存在错误或读取到结束符,则结束解析,否则转入第三步继续执行。0026如果NC代码有效段存在语法或词法错误,则转入错误处理模块进行处理;如果NC代码有效段为一个流程控制段,如示例代码中以“O_”开头的行,则转入流程控制处理模块进行处理,流程控制处理模块根据处理内容修改当前读取位置;如

17、果NC代码有效段不是一个流程控制段,如示例代码中不以“O_”开头的行,则判断当前读取模式是否为省略模式,如果当前读取模式为省略模式,则直接忽略,否则转入普通NC代码处理模块进行处理并输出处理结果,完成后将当前位置指向下一段起始处。0027流程控制处理模块包括无条件转移模块、条件分支模块和循环模块。0028所述流程控制无条件转移模块的工作方法为分析流程控制段,获取流程控制码;如果流程控制码是跳转语句,如示例代码中第1行的“O_GOTO”,则读取跳转标签“START_10”,查找标签表,如果找到标签,则修改当前读取位置到该标签处,如果未找到标签,则将读取模式改为省略模式,完成后将当前位置指向下一段

18、起始处;如果流程控制码是标签语句,如示例代码中第2行与第4行的“O_LABEL”,则将标签名称和当前位置记录到标签表,比较跳转标签,如果相同,将读取模式改为普通模式,否则不改,完成后将当前位置指向下一段起始处。0029所述条件分支模块的工作方法为分析流程控制段,获取流程控制码;如果流程控制码是条件开始语句,如示例代码中第7行与第10行“O_IF”,则读取条件表达式“”中的内容,并计算其值,若条件为真,则将读取模式置为普通模式,否则为省略模式,完成后将当前位置指向下一段起始处;如果流程控制码是条件结束语句,如示例代码中第9行与说明书CN104133421A4/4页6第12行“O_ENDIF”,则

19、将读取模式置为普通模式,完成后将当前位置指向下一段起始处。0030所述循环模块的工作方法为分析流程控制段,获取流程控制码;如果流程控制码是循环开始语句,如示例代码中第6行的“O_WHILE”,则读取条件表达式“”中的内容,并计算其值,若条件为真,则将读取模式置为普通模式,否则为省略模式,记录当前循环起始位置,完成后将当前位置指向下一段起始处;如果流程控制码是循环结束语句,如示例代码中第14行O_ENDWHILE,则判断之前循环开始语句处的条件,如果条件为真,则将当前读取位置指向循环起始处,否则将读取模式置为普通模式,完成后将当前位置指向下一段起始处。0031通过以上的方法步骤,制定的解析器就可

20、以完成嵌入流程控制的运动控制代码的解析,输出指令,控制机床按特定的规律运动。示例代码将输出XY平面步长为2的阶梯型路径插补控制,而普通的NC代码至少需要1000行完成同样的控制。0032本发明中“流程控制代码表”及“流程控制代码配对规则表”可自由定制,使得基于它们的解析器可解析各类自定义符号的流程控制代码;同时,三种流程控制处理模块涵盖了所有流程控制的通用处理方案,使得基于这些模块的解析器可以完成各种流程控制分析;最后,即读即用的逐段扫描方式,使得采用本发明的解析器可以灵活的跳转读取位置,快速的输出结果,且只占用极少量的计算机内存资源。说明书CN104133421A1/5页7图1说明书附图CN104133421A2/5页8图2图3说明书附图CN104133421A3/5页9图4说明书附图CN104133421A4/5页10图5说明书附图CN104133421A105/5页11图6说明书附图CN104133421A11

copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1