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

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

Info

Publication number
CN105807738B
CN105807738B CN201610028607.XA CN201610028607A CN105807738B CN 105807738 B CN105807738 B CN 105807738B CN 201610028607 A CN201610028607 A CN 201610028607A CN 105807738 B CN105807738 B CN 105807738B
Authority
CN
China
Prior art keywords
control
software
function
control software
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610028607.XA
Other languages
English (en)
Other versions
CN105807738A (zh
Inventor
大风勇辅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of CN105807738A publication Critical patent/CN105807738A/zh
Application granted granted Critical
Publication of CN105807738B publication Critical patent/CN105807738B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34325Speed up, optimize execution by combining instructions belonging together

Landscapes

  • Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Numerical Control (AREA)
  • Devices For Executing Special Programs (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)

Abstract

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

Description

具备使数值控制装置的控制软件最优化的功能的控制系统
技术领域
本发明涉及一种数值控制装置,尤其涉及一种具备对应于加工程序使数值控制装置的控制软件最优化的功能的数值控制装置。
背景技术
数值控制装置的控制软件解释加工程序,并生成对电动机的移动指令来使机床动作。一般将一边解释程序语言一边执行的程序称为解释器。
以解释器的高速化为目的,提出了如下的方法,为了使特定的命令组的缓存效率(cache efficiency)达到最佳而预先准备了多个配置了模块的解释器集,调查在程序中使用的命令,选择并执行所准备的解释器集中的高速运行的解释器(例如日本特开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的种类和架构、存储器结构等),将其用于源代码的最优化。

Claims (3)

1.一种控制系统,其具备解析控制程序,并执行用于输出与成为控制对象的设备有关的控制信息的处理的控制软件的执行环境,其特征在于,具备:
控制程序取得部,其取得所述控制程序和所述控制程序的使用履历;
使用频度计算部,其基于所述控制程序以及所述控制程序的使用履历,计算由所述控制程序使用的功能的使用频度;
源代码最优化部,其基于所述使用频度计算部计算出的由所述控制程序使用的功能的使用频度,将所述控制软件的源代码最优化来生成已最优化源代码;
控制软件生成部,其基于所述已最优化源代码生成最优化后的控制软件;以及
控制软件传输部,其向所述控制软件的执行环境传输所述最优化后的控制软件。
2.根据权利要求1所述的控制系统,其特征在于,
所述控制软件的执行环境是控制装置。
3.根据权利要求1所述的控制系统,其特征在于,
所述控制软件的执行环境是对控制装置输出所述控制信息的服务器。
CN201610028607.XA 2015-01-16 2016-01-15 具备使数值控制装置的控制软件最优化的功能的控制系统 Active CN105807738B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-007037 2015-01-16
JP2015007037A JP6151729B2 (ja) 2015-01-16 2015-01-16 加工プログラムに応じて数値制御装置のコントロールソフトウェアを最適化する機能を備えた制御システム

Publications (2)

Publication Number Publication Date
CN105807738A CN105807738A (zh) 2016-07-27
CN105807738B true CN105807738B (zh) 2018-07-06

Family

ID=56293851

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610028607.XA Active CN105807738B (zh) 2015-01-16 2016-01-15 具备使数值控制装置的控制软件最优化的功能的控制系统

Country Status (4)

Country Link
US (1) US10088834B2 (zh)
JP (1) JP6151729B2 (zh)
CN (1) CN105807738B (zh)
DE (1) DE102016000213A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023181400A1 (ja) * 2022-03-25 2023-09-28 ファナック株式会社 システムプログラム最適化装置、システムプログラム最適化システム、及びコンピュータが読み取り可能な記憶媒体

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101458620A (zh) * 2005-02-03 2009-06-17 三菱电机株式会社 程序码生成支持装置及方法、程序执行装置及方法、程序码压缩装置及方法及其程序
CN103106119A (zh) * 2011-11-11 2013-05-15 株式会社日立制作所 程序自动生成装置和程序自动生成方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5960642A (ja) * 1982-09-30 1984-04-06 Fujitsu Ltd 原始プログラムの最適化方式
JPH04333102A (ja) * 1991-05-08 1992-11-20 Fanuc Ltd Ncプログラム管理方式
JP2820189B2 (ja) * 1993-07-15 1998-11-05 三菱電機株式会社 数値制御装置の制御ソフトウェア実行システム
JPH09244727A (ja) * 1996-03-04 1997-09-19 Fanuc Ltd Cnc装置のマン・マシン・インターフェイス操作方法
JPH09288580A (ja) * 1996-04-19 1997-11-04 Nec Corp ソースプログラムの最適化装置および最適化方法
JP3373115B2 (ja) 1996-05-10 2003-02-04 ファナック株式会社 数値制御装置に対するコントロールソフトウェアの入力設定方法
JP2000122871A (ja) 1998-10-14 2000-04-28 Hitachi Ltd アプリケーション配布方法
JP2001147820A (ja) * 1999-11-24 2001-05-29 Nec Software Kobe Ltd コード最適化方法および記録媒体
JP2002229803A (ja) 2001-02-06 2002-08-16 Hitachi Software Eng Co Ltd プログラム実行方法、中間コード解析プログラム、および仮想マシン
JP2003216434A (ja) 2002-01-25 2003-07-31 Hewlett Packard Co <Hp> 小型情報機器において、ユーザプロファイルデータの活用により、ダウンロードプログラムの最適化を図る方法およびシステム。
JP5715195B2 (ja) 2013-07-03 2015-05-07 ファナック株式会社 プログラム実行ペースを指定できるモーションコントローラ

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101458620A (zh) * 2005-02-03 2009-06-17 三菱电机株式会社 程序码生成支持装置及方法、程序执行装置及方法、程序码压缩装置及方法及其程序
CN103106119A (zh) * 2011-11-11 2013-05-15 株式会社日立制作所 程序自动生成装置和程序自动生成方法

Also Published As

Publication number Publication date
US10088834B2 (en) 2018-10-02
JP6151729B2 (ja) 2017-06-21
CN105807738A (zh) 2016-07-27
JP2016133911A (ja) 2016-07-25
DE102016000213A1 (de) 2016-07-21
US20160209835A1 (en) 2016-07-21

Similar Documents

Publication Publication Date Title
US9405555B2 (en) Automated code splitting and pre-fetching for improving responsiveness of browser-based applications
US6983238B2 (en) Methods and apparatus for globalizing software
CN103034483B (zh) 网页脚本管理方法和系统
US9697022B2 (en) Run time incremental compilation of script code
US20080288928A1 (en) Methods and Systems for Converting Application Code in Turbine Control Systems
US9552195B2 (en) Enlarging control regions to optimize script code compilation
US20150154010A1 (en) Optimizing intermediate representation of script code by eliminating redundant reference count operations
CN111736954B (zh) 多智能合约虚拟机实现方法、多智能合约虚拟机及系统
CN106547683B (zh) 一种冗余代码检测方法及装置
CN105807738B (zh) 具备使数值控制装置的控制软件最优化的功能的控制系统
CN101288073B (zh) 用于利用多种查询语言检索信息的系统、方法和软件
CN106708791B (zh) 数据格式转换方法及装置
CN103324567B (zh) 一种应用引擎的调试方法和调试系统
EP1376411A3 (en) Stylesheet proxy
ATE323299T1 (de) Verfahren zur übertragung eines prozesswerts und steuerungssystem
CN110362317B (zh) 一种代码转换方法、装置和存储介质
CN116346660A (zh) 基于依赖替换服务的数据处理方法、装置、设备及介质
US8984492B2 (en) Incremental compilation of a script code in a distributed environment
Koivukoski Reducing the loading time of a single-page web application
CN114546530B (zh) 一种大数据的加载方法、装置、设备及介质
KR101598820B1 (ko) 자바 스크립트가 포함된 html 문서를 이용한 애플리케이션 배포 방법과 그를 위한 장치 및 컴퓨터로 읽을 수 있는 기록매체
JP2013182396A (ja) リバースプロキシ装置、及びその装置におけるリバースプロキシ処理方法とプログラム
Pankiewicz Influence of Various DLT Architectures on the CPU Resources
CN114816985A (zh) 一种自动化测试的对象识别方法、装置、系统及介质
CN114661976A (zh) 一种数据抓取的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant