JP2016133911A - 加工プログラムに応じて数値制御装置のコントロールソフトウェアを最適化する機能を備えた制御システム - Google Patents
加工プログラムに応じて数値制御装置のコントロールソフトウェアを最適化する機能を備えた制御システム Download PDFInfo
- Publication number
- JP2016133911A JP2016133911A JP2015007037A JP2015007037A JP2016133911A JP 2016133911 A JP2016133911 A JP 2016133911A JP 2015007037 A JP2015007037 A JP 2015007037A JP 2015007037 A JP2015007037 A JP 2015007037A JP 2016133911 A JP2016133911 A JP 2016133911A
- Authority
- JP
- Japan
- Prior art keywords
- control
- software
- control software
- program
- optimized
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/4155—Numerical 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
- G05B19/41865—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32252—Scheduling production, machining, job shop
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34325—Speed 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
【解決手段】本発明の制御システムは、制御プログラム、および該制御プログラムの使用履歴を受け取る制御プログラム受け取り部と、制御プログラム、および該制御プログラムの使用履歴に基づいて当該制御プログラムにより使用される機能の使用頻度を算出する使用頻度算出部と、使用頻度算出部により算出された使用頻度に基づいてコントロールソフトウェアのソースコードを最適化して最適化済ソースコードを生成するソースコード最適化部と、最適化ソースコードに基づいて、最適化されたコントロールソフトウェアを生成するコントロールソフトウェア生成部と、最適化されたコントロールソフトウェアをコントロールソフトウェアの実行環境へと転送するコントロールソフトウェア転送部とを備える。
【選択図】図6
Description
本発明では、コンパイラ、および、リンカを有する最適化アプリケーションを用意し、その最適化アプリケーションへ工作機械で使用される加工プログラム、加工プログラムの使用履歴を転送し、実際に使用される機能を調査した上でコントロールソフトウェアの最適化を行うことで、条件分岐命令の最適化を可能にする。
例えば、新しい加工プログラムに応じたコントロールソフトウェアを作成したい時に、工作機械の設置されている場所のネットワーク環境が悪くサーバに接続できない場合であっても、新しい加工プログラム専用に作られたコントロールソフトウェアではないため動作は遅くなるかもしれないが、そのときすでに工作機械の制御装置にインストールされている他の加工プログラムのために最適化されたコントロールソフトウェアでも、従来技術の特許文献2のように処理そのものが削除されているわけではないので、これを用いて運転を行うことが可能である。
準備機能や補助機能などの各機能に関連するチェック処理において、準備機能や補助機能などの各機能の使用頻度や使用するプロセッサの動的分岐予測の精度によって、条件分岐命令に分岐予測のヒントを与えたほうが高速に動作するようになる場合はヒントを与えるようにする。例えば、図4に示すように、100%使用されない機能が有効か無効かをチェックしている処理では、無効になるようにヒントを与えることで分岐予測ミスを減らせるため、パイプラインストールの発生や本来実行する必要のなかった命令をキャッシュに読み込んでしまうことによるキャッシュミスを減少させることが可能になる。ヒントの与え方の例としては、例えばC言語の場合には、__builtin_expect()などのコンパイラの組み込み関数を用いて与えることができる。
図5に示すように、準備機能や補助機能などの各機能に応じて分岐するif−elseif−else文において、よく使用される機能がはじめにチェックされるように順序を並べ替える。より多く使用される機能を先にチェックすることによって、実行時に通過する条件分岐命令の数そのものが減少するため、条件分岐命令に起因する速度低下を減らすことが可能になる。
準備機能や補助機能などの各機能に関連するモジュールを機能の使用頻度に応じて、メモリ上でのモジュールの配置を変更したり、よく同時に使われている機能に関連するモジュールがメモリ上で近くに配置したりする、などの工夫をすることによって、キャッシュミスやTLBミスを減らすことが可能になる。
本実施の形態における制御システムは、最適化アプリケーションが設けられたサーバ100、数値制御装置200、CAD/CAMを搭載したコンピュータ300、コントロールソフトウェアの実行環境であるサーバ400がネットワークを介して接続されて構成されている。
加工プログラム受け取り部110は、数値制御装置200、またはコンピュータ300から加工プログラム、および、存在する場合には該加工プログラムの使用履歴に係る情報を受け取る。
ソースコード最適化部130は、メモリ(図示せず)に記憶されているコントロールソフトウェアのソースコード170を読み出して、使用頻度算出部120が算出した準備機能や補助機能などの各機能の使用頻度や各機能間の関係に基づいて、該ソースコードに対して上述した最適化処理を施し、最適化済ソースコード172を生成する。
そして、コントロールソフトウェア転送部160が、生成された最適化されたコントロールソフトウェア176を、コントロールソフトウェアの実行環境に転送する。転送先となるコントロールソフトウェアの実行環境は、コントロールソフトウェア176の使用方法に応じて、直接数値制御装置200で実行する場合には工作機械の数値制御装置200となり、ネットワーク上でコントロールソフトウェア176を実行する方法の場合にはサーバ400となる。
例えば、上述した例では加工プログラムと、該加工プログラムの使用履歴を分析して最適化する場合を説明しているが、これに加えてコントロールソフトウェアの動作環境に関する情報(CPUの種類やアーキテクチャ、メモリ構造など)を取得し、ソースコードの最適化に用いるようにしてもよい。
110 加工プログラム受け取り部
120 使用頻度算出部
130 ソースコード最適化部
140 コンパイラ
150 リンカ
160 コントロールソフトウェア転送部
170 ソースコード
172 最適化済ソースコード
174 オブジェクトファイル
176 コントロールソフトウェア
200 数値制御装置
300 コンピュータ
400 サーバ
Claims (3)
- 制御プログラムを解析し、制御対象となる機械に係る制御情報を出力する処理を実行するコントロールソフトウェアの実行環境を備えた制御システムにおいて、
前記制御プログラム、および前記制御プログラムの使用履歴を受け取る制御プログラム受け取り部と、
前記制御プログラム、および前記制御プログラムの使用履歴に基づいて前記制御プログラムにより使用される機能の使用頻度を算出する使用頻度算出部と、
前記使用頻度算出部により算出された前記制御プログラムにより使用される機能の使用頻度に基づいて、前記コントロールソフトウェアのソースコードを最適化して最適化済ソースコードを生成するソースコード最適化部と、
前記最適化済ソースコードに基づいて、最適化されたコントロールソフトウェアを生成するコントロールソフトウェア生成部と、
前記最適化されたコントロールソフトウェアを前記コントロールソフトウェアの実行環境へと転送するコントロールソフトウェア転送部と、
を備えたことを特徴とする制御システム。 - 前記コントロールソフトウェアの実行環境は制御装置である、
ことを特徴とする請求項1に記載の制御システム。 - 前記コントロールソフトウェアの実行環境は制御装置に対して前記制御情報を出力するサーバである、
ことを特徴とする請求項1に記載の制御システム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015007037A JP6151729B2 (ja) | 2015-01-16 | 2015-01-16 | 加工プログラムに応じて数値制御装置のコントロールソフトウェアを最適化する機能を備えた制御システム |
DE102016000213.1A DE102016000213A1 (de) | 2015-01-16 | 2016-01-08 | Steuersystem mit Funktion zur Optimierung der Steuersoftware einer numerischen Steuerung gemäß einem Bearbeitungsprogramm |
US14/992,331 US10088834B2 (en) | 2015-01-16 | 2016-01-11 | Control system having function for optimizing control software of numerical controller in accordance with machining program |
CN201610028607.XA CN105807738B (zh) | 2015-01-16 | 2016-01-15 | 具备使数值控制装置的控制软件最优化的功能的控制系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015007037A JP6151729B2 (ja) | 2015-01-16 | 2015-01-16 | 加工プログラムに応じて数値制御装置のコントロールソフトウェアを最適化する機能を備えた制御システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016133911A true JP2016133911A (ja) | 2016-07-25 |
JP6151729B2 JP6151729B2 (ja) | 2017-06-21 |
Family
ID=56293851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015007037A Active JP6151729B2 (ja) | 2015-01-16 | 2015-01-16 | 加工プログラムに応じて数値制御装置のコントロールソフトウェアを最適化する機能を備えた制御システム |
Country Status (4)
Country | Link |
---|---|
US (1) | US10088834B2 (ja) |
JP (1) | JP6151729B2 (ja) |
CN (1) | CN105807738B (ja) |
DE (1) | DE102016000213A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023181400A1 (ja) * | 2022-03-25 | 2023-09-28 | ファナック株式会社 | システムプログラム最適化装置、システムプログラム最適化システム、及びコンピュータが読み取り可能な記憶媒体 |
Citations (6)
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プログラム管理方式 |
JPH0736529A (ja) * | 1993-07-15 | 1995-02-07 | Mitsubishi Electric Corp | 数値制御装置の制御ソフトウェア実行システム |
JPH09244727A (ja) * | 1996-03-04 | 1997-09-19 | Fanuc Ltd | Cnc装置のマン・マシン・インターフェイス操作方法 |
JPH09288580A (ja) * | 1996-04-19 | 1997-11-04 | Nec Corp | ソースプログラムの最適化装置および最適化方法 |
JP2001147820A (ja) * | 1999-11-24 | 2001-05-29 | Nec Software Kobe Ltd | コード最適化方法および記録媒体 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3373115B2 (ja) | 1996-05-10 | 2003-02-04 | ファナック株式会社 | 数値制御装置に対するコントロールソフトウェアの入力設定方法 |
JP2000122871A (ja) | 1998-10-14 | 2000-04-28 | Hitachi 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> | 小型情報機器において、ユーザプロファイルデータの活用により、ダウンロードプログラムの最適化を図る方法およびシステム。 |
JP4638250B2 (ja) | 2005-02-03 | 2011-02-23 | 三菱電機株式会社 | プログラムコード生成支援装置及び方法並びにプログラムコード生成支援方法のプログラム |
JP5702265B2 (ja) | 2011-11-11 | 2015-04-15 | 株式会社日立製作所 | プログラム自動生成装置およびプログラム自動生成方法 |
JP5715195B2 (ja) | 2013-07-03 | 2015-05-07 | ファナック株式会社 | プログラム実行ペースを指定できるモーションコントローラ |
-
2015
- 2015-01-16 JP JP2015007037A patent/JP6151729B2/ja active Active
-
2016
- 2016-01-08 DE DE102016000213.1A patent/DE102016000213A1/de not_active Ceased
- 2016-01-11 US US14/992,331 patent/US10088834B2/en active Active
- 2016-01-15 CN CN201610028607.XA patent/CN105807738B/zh active Active
Patent Citations (6)
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プログラム管理方式 |
JPH0736529A (ja) * | 1993-07-15 | 1995-02-07 | Mitsubishi Electric Corp | 数値制御装置の制御ソフトウェア実行システム |
JPH09244727A (ja) * | 1996-03-04 | 1997-09-19 | Fanuc Ltd | Cnc装置のマン・マシン・インターフェイス操作方法 |
JPH09288580A (ja) * | 1996-04-19 | 1997-11-04 | Nec Corp | ソースプログラムの最適化装置および最適化方法 |
JP2001147820A (ja) * | 1999-11-24 | 2001-05-29 | Nec Software Kobe Ltd | コード最適化方法および記録媒体 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023181400A1 (ja) * | 2022-03-25 | 2023-09-28 | ファナック株式会社 | システムプログラム最適化装置、システムプログラム最適化システム、及びコンピュータが読み取り可能な記憶媒体 |
Also Published As
Publication number | Publication date |
---|---|
JP6151729B2 (ja) | 2017-06-21 |
US20160209835A1 (en) | 2016-07-21 |
US10088834B2 (en) | 2018-10-02 |
DE102016000213A1 (de) | 2016-07-21 |
CN105807738B (zh) | 2018-07-06 |
CN105807738A (zh) | 2016-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8620461B2 (en) | Method and system for updating tuning parameters of a controller | |
JP2015084251A (ja) | ソフトウェア・アプリケーションの性能向上 | |
US8677334B2 (en) | Parallelization method, system and program | |
WO2005083565A2 (en) | Method and system for performing link-time code optimization without additional code analysis | |
KR102402584B1 (ko) | 사용자 어플리케이션의 특성에 따른 연산 디바이스 동적 제어 기법 | |
Damschen et al. | Transparent offloading of computational hotspots from binary code to Xeon Phi | |
Moren et al. | Automatic mapping for OpenCL-programs on CPU/GPU heterogeneous platforms | |
CN105988854A (zh) | 动态编译方法及装置 | |
JP6151729B2 (ja) | 加工プログラムに応じて数値制御装置のコントロールソフトウェアを最適化する機能を備えた制御システム | |
JP2008165342A (ja) | ソースコード生成方法及び装置並びにプログラム | |
US9836289B2 (en) | Executable code generation program and executable code generation device | |
JP5360506B2 (ja) | マルチコアにおけるプログラミングシステム、その方法及びそのプログラム | |
US9606779B2 (en) | Data processing system and data simulation method in the system | |
US20080141223A1 (en) | Mock source program generation program, method and apparatus | |
Helmstetter et al. | Fast instruction set simulation using LLVM-based dynamic translation | |
JP5021584B2 (ja) | マイコンシミュレータ、そのシミュレーション方法、プログラム、及びコンピュータ読み取り可能な媒体 | |
Yamato | Proposal and Evaluation of GPU Offloading Parts Reconfiguration During Applications Operations for Environment Adaptation | |
JP2008204023A (ja) | プログラマブルコントローラシステム、プログラマブルコントローラのデバッグ方法 | |
Posadas et al. | Accelerating host-compiled simulation by modifying ir code: Industrial application in the spatial domain | |
Alsayyah et al. | Energy Efficient Software Development Techniques for Cloud based Applications | |
CN112527574B (zh) | 一种处理器测试方法、装置、设备及可读存储介质 | |
Zhang et al. | A Source Code Analysis Method with Parallel Acceleration for Mining MPI Application Communication Counts | |
JP2009169862A (ja) | プログラム変換装置、方法、プログラムおよび記録媒体 | |
Posadas Cobo et al. | Accelerating host-compiled simulation by modifying IR code: industrial application in the spatial domain | |
WO2014109019A1 (ja) | プラントエンジニアリングシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20161115 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161122 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170502 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170525 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6151729 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |