首页> 中国专利> 具备使数值控制装置的控制软件最优化的功能的控制系统

具备使数值控制装置的控制软件最优化的功能的控制系统

摘要

本发明提供一种具备使数值控制装置的控制软件最优化的功能的控制系统,该控制系统基于控制程序以及控制程序的使用履历来计算该控制程序所使用功能的使用频度,基于计算出的使用频度将控制软件的源代码最优化来生成已最优化源代码。基于该生成的已最优化源代码来生成进行了最优化的控制软件,并将其传输至控制软件的执行环境。

著录项

  • 公开/公告号CN105807738A

    专利类型发明专利

  • 公开/公告日2016-07-27

    原文格式PDF

  • 申请/专利权人 发那科株式会社;

    申请/专利号CN201610028607.X

  • 发明设计人 大风勇辅;

    申请日2016-01-15

  • 分类号G05B19/418;

  • 代理机构北京银龙知识产权代理有限公司;

  • 代理人范胜杰

  • 地址 日本山梨县

  • 入库时间 2023-06-19 00:12:25

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-07-06

    授权

    授权

  • 2017-12-15

    实质审查的生效 IPC(主分类):G05B19/418 申请日:20160115

    实质审查的生效

  • 2016-07-27

    公开

    公开

说明书

技术领域

本发明涉及一种数值控制装置,尤其涉及一种具备对应于加工程序使数值控制装置的控制软件最优化的功能的数值控制装置。

背景技术

数值控制装置的控制软件解释加工程序,并生成对电动机的移动指令来使机床动作。一般将一边解释程序语言一边执行的程序称为解释器。

以解释器的高速化为目的,提出了如下的方法,为了使特定的命令组的缓存效率(cacheefficiency)达到最佳而预先准备了多个配置了模块的解释器集,调查在程序中使用的命令,选择并执行所准备的解释器集中的高速运行的解释器(例如日本特开2002-229803号公报)。

此外,以运行的软件自身的高速化和削减所需存储器量为目的提出了如下的方法,将用户配置文件数据发送给服务器,服务器基于发送的用户配置文件数据生成削减了不必要的模块、进行了变量的常数化等的软件,将该软件下载到小型信息设备中来执行(例如:参考日本特开2003-216434号公报)。

另外,作为使用编译服务器发布应用软件的方法,提出了如下的方法,基于从用户端发送来的用户端信息生成并发布与用户端相匹配的软件(例如参考日本特开2000-122871号公报)。

为了适用于各种机床,在数值控制装置中具有多个准备功能(G代码)、辅助功能(M代码)等,并且随着对于机床要求的功能的增加相继追加了新的功能。由于这些功能追加所造成的条件分支命令的增加,流水线停顿或缓存错误等引起处理速度降低的问题多发。

在上述的日本特开2002-229803号公报中公开了如下技术,采取从典型的程序(标准检查程序、网络应用程序、图形应用程序等)中以网罗所考虑的程序的变化的方式选择并使用的命令的统计,并将使用的处理器的规格也加以考虑,将命令分类为多个类型的命令组,预先生成对于每个类型缓存效率最佳的解释器集。在该方法中,在无法掌握程序中实际使用了哪个功能的阶段需要生成软件,因此无法应对由于条件分支命令产生的流水线停顿等问题。另外,因为需要准备多个软件,所以需要很多的资源,因此存在不适用于可使用的资源有限的数值控制装置的问题。

并且,在上述日本特开2003-216434号公报提出的技术中,基于特定地区的天气等用户所希望的信息或文本主体好还是图形主体好等用户的嗜好这样的用户配置文件数据来进行不必要的模块的削减或变量的常数化等。通过变量的常数化等使条件分支命令自身消失,因此流水线停顿等问题不会发生,但是由于将处理自身删除因此无法使用若干功能,在想使用的功能发生变化时如果未连接网络,则存在此时无法立即使用的问题。也就是说,认为在对数值控制装置应用了同样的方法的情况下,会产生在变更了参数或加工程序时无法运转的问题。

另外,目前作为使用编译服务器对用户端发布最佳软件的方法,具有在日本特开2000-122871号公报中提出的方法,但是没有公开数值控制装置的控制软件的最优化方法,无法实现使用编译服务器发布进行了最优化的数值控制装置的控制软件的系统。

发明内容

因此,本发明的目的在于提供一种控制系统,其具备基于加工程序使数值控制装置的控制软件最优化的功能。

本发明的控制系统具备解析控制程序,并执行用于输出成为控制对象的设备所涉及的控制信息的处理的控制软件的执行环境,其具备:控制程序取得部,其取得所述控制程序和该控制程序的使用履历;使用频度计算部,其基于所述控制程序或者基于所述控制程序以及所述控制程序的使用履历,计算由所述控制程序使用的功能的使用频度;源代码最优化部,其基于所述使用频度计算部计算出的由所述控制程序使用的功能的使用频度,将所述控制软件的源代码最优化来生成已最优化源代码;控制软件生成部,其基于所述已最优化源代码生成最优化后的控制软件;以及控制软件传输部,其向所述控制软件的执行环境传输所述最优化后的控制软件。

所述控制软件的执行环境可以是控制装置或者对该控制装置输出所述控制信息的服务器。

通过本发明,可以减少分支预测错误导致的流水线停顿或缓存错误,因此可更高速地执行加工程序。

附图说明

通过参照附图对以下的实施例进行说明,本发明的上述以及其它的目的、特征会变得更清楚。在这些图中:

图1是本发明的将最优化应用程序设置在网络上的服务器中的情况下的控制系统的概要图。

图2是本发明的将最优化应用程序设置在与数值控制装置连接的计算机上的情况下的控制系统的概要图。

图3是本发明的使最优化应用程序在数值控制装置的多核心上运行的情况下的控制系统的概要图。

图4是说明本发明的最优化的例子(1)的图。

图5是说明本发明的最优化的例子(2)的图。

图6是本发明的一个实施方式的控制系统的框图。

具体实施方式

下面,与附图一起来说明本发明的实施方式。首先,说明本发明的技术概要。

在本发明中,准备了具有编译器以及连接器的最优化应用程序,并向该最优化应用程序传输在机床中使用的加工程序以及该加工程序的使用履历,在调查了实际使用的功能的基础上进行控制软件的最优化,从而可使条件分支命令最优化。

由此,不用事先准备多个控制软件,就可使用与加工程序对应的最佳的控制软件。最优化应用程序可以如图1所示在网络上的服务器中,也可以如图2所示在与数值控制装置相连接的计算机或者与数值控制装置一体化的计算机中。另外,将来在多核心结构的数值控制装置具有很多资源的情况下,如图3所示,也可以在与运行控制软件的操作系统所使用的核心不同的核心上运行的操作系统上运行最优化应用程序。

即使在使用网络上的服务器进行控制软件的最优化的情况下,因为在控制软件内残留有条件分支命令,所以可能动作变慢,但在切断了网络的环境中可进行变更了参数或加工程序的运行。

例如,在希望生成与新的加工程序对应的控制软件时,即使在机床的设置场所的网络环境恶化而无法连接到服务器的情况下,因为不是对新的加工程序专门生成的控制软件所以动作可能变慢,但即使是为了此时已经在机床的控制装置中安装的其他的加工程序而最优化的控制软件,因为不会如日本特开2003-216434号公报所记载的现有技术那样删除处理自身,所以可使用该控制软件来进行运行。

另外,在数值控制装置始终稳定地与网络连接的情况下,使针对每个加工程序生成的控制软件通过网络上的服务器来运行,在数值控制装置取得控制信息,由此即使资源有限的机床也可使用与加工程序对应的最佳的控制软件。在这样使用的情况下,因为将原有的控制软件一直放置在数值控制装置内,所以即使在网络万一被切断的情况下,也可以利用放置在数值控制装置中的原有的控制软件来运行。

以下说明本发明的生成最佳的控制软件的步骤。在本发明的控制系统中,从机床或者搭载了CAD/CAM的计算机对最优化应用程序传输加工程序,以及在存在该加工程序的使用履历时还传输使用履历。

最优化应用程序解析传输来的加工程序,计算准备功能、辅助功能等各功能的使用频度和各功能之间的关系(使用顺序等)。在传输来多个加工程序,还传输来加工程序的使用履历的情况下,根据加工程序的使用次数进行加权,计算更准确的使用频度,并且分析各功能的实际调出的定时来计算更正确的各功能之间的关系。然后,根据计算出的结果使源代码最优化,并进行编译、连接生成数值控制装置的控制软件。该控制软件可实际安装在数值控制装置中来使用,另外也可通过网络上的服务器来运行,使数值控制装置取得控制信息。

以下示例本发明的控制软件的最优化处理。另外,本发明的最优化处理不限于以下的例子,可恰当地应用基于解析结果能够应用加工程序、加工程序的使用履历的源代码的最优化方法。

(最优化例子1)

在与准备功能、辅助功能等各功能相关联的检查处理中,根据准备功能、辅助功能等各功能的使用频度和所使用的处理器的动态分支预测的精度,在对条件分支命令给出分支预测的提示从而高速运行的情况下给出提示。例如,如图4所示,在对非100%使用的功能是有效还是无效进行检查的处理中,通过给出提示从而成为无效来降低分支预测错误,因此可减少流水线停顿的发生或将本来没必要执行的命令读入缓存导致的缓存错误。作为给出提示的例子,例如在C语言的情况下可使用_builtin_expect()等编译器的嵌入函数来给出提示。

(最优化例子2)

如图5所示,在与准备功能、辅助功能等各功能对应地进行分支的if-elseif-else语句中,排列顺序从而首先检查经常使用的功能。通过先检查经常使用的功能,在执行时通过的条件分支命令的数量本身减少,因此可减少因条件分支命令引起的速度降低。

(最优化例子3)

通过采取以下等措施,可减少缓存错误、TLB错误:关于与准备功能、辅助功能等各功能相关联的模块,根据功能的使用频度,变更存储器上的模块的配置,或者将与经常同时使用的功能相关联的模块在存储器上临近配置。

图6是本发明的一实施方式的控制系统的功能框图。在该图6中表示了将最优化应用程序设置在网络上的服务器100上的例子。

本实施方式的控制系统通过经由网络将设置了最优化应用程序的服务器100、数值控制装置200、搭载了CAD/CAM的计算机300、以及作为控制软件执行环境的服务器400相互连接而构成。

服务器100具备加工程序取得部110、使用频度计算部120、源代码最优化部130、编译器140、连接器150以及控制软件传输部160。

加工程序取得部110从数值控制装置200或计算机300取得加工程序,并且当存在该加工程序的使用履历的情况下还取得该加工程序的使用履历。

使用频度计算部120对加工程序取得部110取得的加工程序以及该加工程序的使用履历所涉及的信息进行解析,计算准备功能、辅助功能等各功能的使用频度和各功能之间的关系(使用顺序等)。

源代码最优化部130读出在存储器(未图示)中存储的控制软件的源代码170,基于使用频度计算部120计算出的准备功能、辅助功能等各功能的使用频度和各功能之间的关系,针对该源代码实施上述的最优化处理,生成已最优化源代码172。

编译器140编译源代码最优化部130生成的已最优化源代码172,生成对象文件174,连接器150将该生成的对象文件174进行连接从而生成进行了最优化的控制软件176。

然后,控制软件传输部160将生成的进行了最优化的控制软件176传输至控制软件的执行环境。根据控制软件176的使用方法,当直接在数值控制装置200中执行的情况下,成为传输目的地的控制软件的执行环境为机床的数值控制装置200,当在网络上执行控制软件176的方法的情况下,成为传输目的地的控制软件的执行环境为服务器400。

以上说明了本发明的实施方式,但本发明并不限于上述实施方式的例子,通过施加适当的变更也能够以其他方式进行实施。

例如,在上述例子中说明了分析加工程序和该加工程序的使用履历来进行最优化的情况,但是除此以外还可以取得与控制软件的动作环境相关的信息(CPU的种类和架构、存储器结构等),将其用于源代码的最优化。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号