一种基于数控代码编译器建立数控系统软件的方法技术方案

技术编号:2781418 阅读:270 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种数控代码编译器,还公开了一种基于其建立数控系统软件的方法,其特征在于:有以下步骤:(1)构建PIDP_NC代码编译器;(2)在上位机中采用PIDP_NC代码编译器将NC程序编译成特定数据格式且完全顺序执行意义的目标码文件;(3)上位机按顺序分批将PIDP目标码送入下位机循环缓冲区;(4)下位机从循环缓冲区中按顺序读取包括下位机循环缓冲区管理PIDP和下位机用PIDP目标码,经过对PIDP中数据识别判定出对应NC命令的意义,同时得到对应的数据,根据命令的意义调用相应的运动控制函数,实现加工控制。有利于下位机运行高级算法实现高精度和多轴实时控制,将下位机软件简单化,还彻底解决了NC子程序的跳转和返回的难题,可以广泛适用多种下位机系统。

Method for establishing numerical control system software based on NC code compiler

The invention discloses a NC code compiler, the invention also discloses a method of establishing digital control system software based on the same, which is characterized in that the following steps: (1) to construct PIDPNC code compiler; (2) in the host computer using PIDPNC code compiler NC procedures will be compiled into a specific data format and complete order execution the significance of the object code file; (3) according to the order of the PC batch PIDP target code into the client buffer cycle; (4) the lower machine from the circular buffer in order to read the circular buffer management including the lower machine PIDP and lower machine using the PIDP object code, after determining the corresponding NC command to data identification of PIDP, and get the corresponding data, according to the meaning of command to call the corresponding motion control function Processing control. To lower machine running advanced algorithm to achieve high precision and real-time multi axis control, the software of the lower machine is simple, but also resolved the NC subroutine jump and return the problem, can be widely used in various computer systems.

【技术实现步骤摘要】

本专利技术涉及代码编译,尤其是涉及。
技术介绍
由通用轨迹运动控制模块作为下位机,由工业控制计算机作为上位机所构成的数控系统,是一种新型的数控系统硬件结构,在研制这种结构的数控系统过程中,必须配用数控系统软件。所述数控系统软件在实施工件加工的控制时,必须对数控(Numerical Control,简称为NC)程序中的代码进行语法、意义的翻译,根据翻译的结果调用相应的控制函数完成对各个轴的控制,即实现加工控制,目前上述翻译功能大多是由解释型NC代码编译器完成的,基于解释型NC代码编译器建立数控系统软件的方法,包括以下步骤(1)由上位机将NC程序下传送入下位机,大型NC程序,不能全部一次送入,而需分批多次下传;(2)在下位机对NC程序进行编译;(3)控制方式是下位机读取一条NC代码,编译处理一条,并根据编译处理结果调用控制函数实现加工控制,是解释型控制模式,即边解释、边识别、边控制,其NC代码编译器实际上是NC代码解释器,它与控制软件融为一体。这种建立数控系统软件的方法存在的问题,一是NC代码编译器和控制程序共同占用下位机的CPU、RAM资源,造成资源紧张,不利于下位机运行高级控制算法实现高精度控制,不利于多轴的实时控制的实现;二是NC代码编译器嵌套在实时控制软件中,使下位机的控制软件变得复杂;此外,NC程序中有子程序,大型NC程序,不能全部一次送入,而需分批多次下传,在解决调用NC子程序的跳转与返回,以及保证控制的实时性方面存在非常大的障碍。
技术实现思路
本专利技术要解决的一个技术问题是克服现有技术的缺陷,提出一种数控代码编译器。所述数控代码编译器是协议整数包(Protocol Integer Data Packet,简称为PIDP)数控代码编译器,简称PIDP_NC代码编译器。本专利技术要解决的另一个技术问题是克服现有技术的缺陷,提出一种基于上述数控代码编译器建立数控系统软件的方法。对于一种数控代码编译器来说,本专利技术的技术问题是这样加以解决的这种数控代码编译器的特点是,其构建包括1)定义即编制NC命令的目标码;2)设计制定对应NC命令的PIDP的格式及内容包括PIDP的格式、以及多参数、无参数和单参数命令的PIDP制定;3)设计编写在上位机运行的PIDP_NC代码编译器,有以下步骤①打开NC程序文件用打开文件函数打开NC程序文件、至少创建一个用于存储目标码的目标文件、一个用于记录编译结果的报告文件;②对NC程序文件进行整理将带有子程序的NC程序宏扩展处理成没有子程序的顺序型NC程序文件;③对顺序型NC程序文件进行PIDP编译包括对编译中所用的变量设置初始值;通过系统配置文件设置系统参数变量;循环调用行编译函数,按顺序将每一个NC命令编译成一个PIDP,并将编译产生的PIDP序列以目标文件的形式存储在上位机的硬盘中;还包括调用PIDP整理函数完成速度预算,以及完成在一行编译后可能有的多个PIDP的整理;④判断编译结果是否正确是,就生成报告正确信息的文件;否,就生成报告出错信息的文件;⑤关闭所有文件,程序结束。所述PIDP的格式是特定数据格式,在填入数据后成为PIDP目标码。所述PIDP_NC代码编译器的功能是将NC代码编译成特定数据格式的目标码,将NC程序编译成特定数据格式且完全顺序执行意义的目标码文件。所述PIDP目标码都是由整型数据(Integer Data,简称为ID)编码组成。如“G00~G99”对应的命令目标码为“1000~1099”;所述PIDP的特定数据格式是命令目标码+序号+包长度+参数。其中包长度随参数的不同而不一样,参数随NC代码命令的不同而不一样,坐标、速度、角度数据放大后都以ID存储,以方便数据传送,下位机只要缩小相同倍数便能获得实际的浮点型数据。如NC代码为“N006 G01X10.35Y20.68Z20.00”,对应的PIDP如表1所示。表1 对于一种数控代码编译器来说,本专利技术的技术问题是这样进一步加以解决的所述PIDP_NC代码编译器由PIDP_NC源程序文件、PIDP_NC_lib库文件和PIDP_NC_sys系统配置文件及帮助信息文件PIDP_NC_help组成。所述PIDP_NC代码编译器适用于Windows2000、WindowsXP和Linux操作系统。所述PIDP_NC代码编译器适用于由Java、C和C++开发的数控系统软件。对于一种基于数控代码编译器建立数控系统软件的方法来说,本专利技术的技术问题是这样加以解决的这种基于数控代码编译器建立数控系统软件的方法,有以下步骤(1)构建PIDP_NC代码编译器;(2)在上位机中采用PIDP_NC代码编译器将NC程序编译成特定数据格式且完全顺序执行意义的目标码文件;(3)上位机按顺序分批将PIDP目标码送入下位机循环缓冲区;(4)下位机从循环缓冲区中按顺序读取包括下位机循环缓冲区管理PIDP和下位机用PIDP目标码,经过对PIDP中数据识别判定出对应NC命令的意义,同时得到对应的数据,根据命令的意义调用相应的运动控制函数,实现加工控制。对于一种基于数控代码编译器建立数控系统软件的方法来说,本专利技术的技术问题是这样进一步加以解决的所述数控代码编译器的PIDP的格式是特定数据格式,在填入数据后成为由整型数据编码组成的PIDP目标码。所述PIDP的特定数据格式是命令目标码+序号+包长度+参数。其中包长度随参数的不同而不一样,参数随NC代码命令的不同而不一样,坐标、速度、角度数据放大后都以ID存储。与现有技术对比,本专利技术具有以下优点(1)本专利技术的PIDP_NC代码编译器预先在上位机运行,与下位机完全分离,不占用下位机的CPU和RAM资源,有利于下位机有充足资源运行高级算法实现高精度和多轴实时控制,将下位机软件简单化,下位机的软件设计不必考虑NC代码的编译问题;(2)本专利技术先采用宏扩展技术将带有子程序的NC程序整理成没有子程序的顺序型NC程序文件,再对顺序型NC程序文件中的NC代码进行按顺序PIDP编译,每一个NC命令编译成一个PIDP,采用完全顺序执行意义的PIDP序列数据结构实现大型NC程序顺序分批下传,下位机采用循环缓冲区管理PIDP,无论NC程序有多么大,都能实现数控加工控制,以满足大型NC程序连续加工的需求,这种完全顺序执行意义不存在跳转与返回的复杂问题,即彻底解决了NC子程序的跳转和返回的难题;(3)下位机采用的目标数据是PIDP,其第一个单元是命令目标码,第三个单元是包长度,长度单元之后是对应命令目标码的参数,而且全部单元中的数据都是ID,使下位机的控制软件明显变得简单、便于识别,根据命令目标码和包长度就可以方便地选调相应的函数和方便地提取拟用的相应参数,即轨迹控制函数调用很方便,从而使下位机更容易实现控制,还解决了不同下位机系统的通用性问题,可以广泛适用多种下位机系统。由于不同的下、上位机,甚至是不同浮点型数据格式的下、上位机,其ID格式都相同,由ID构成的PIDP不必增加格式转换,就能保证下位机获取正确数据;(4)本专利技术的PIDP_NC代码编译器可以独立开发,具有较高的经济价值和技术价值。它只涉及将NC代码变成PIDP和将NC程序变成完全顺序执行意义的PIDP序列目标文件,只要提供调用方式和PIDP格式本文档来自技高网...

【技术保护点】
一种数控代码编译器,其特征在于:其构建包括:1)定义即编制NC命令的目标码;2)设计制定对应NC命令的PIDP的格式及内容:包括PIDP的格式、以及多参数、无参数和单参数命令的PIDP制定;3)设计编写在上位机运行的 PIDP_NC代码编译器,有以下步骤:①打开NC程序文件:用打开文件函数打开NC程序文件、至少创建一个用于存储目标码的目标文件、一个用于记录编译结果的报告文件;②对NC程序文件进行整理:将带有子程序的NC程序宏扩展处理成没有 子程序的顺序型NC程序文件;③对顺序型NC程序文件进行PIDP编译:包括对编译中所用的变量设置初始值;通过系统配置文件设置系统参数变量;循环调用行编译函数,按顺序将每一个NC命令编译成一个PIDP,并将编译产生的完全顺序执行意义的P IDP序列以目标文件的形式存储在上位机的硬盘中;还包括调用PIDP整理函数完成速度预算,以及完成在一行编译后可能有的多个PIDP的整理;④判断编译结果是否正确:是,就生成报告正确信息的文件;否,就生成报告出错信息的文件;⑤关 闭所有文件,程序结束。...

【技术特征摘要】

【专利技术属性】
技术研发人员:唐强平姜家吉周学才黄锐军覃国蓉吴瑜
申请(专利权)人:深圳信息职业技术学院
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1