(57)【要約】 【課題】工作機械を実際に動作させることなく、かつ、従来よりも正確に工作機械の消費電力を推定することができるシミュレーション装置およびシミュレーションプログラムを提供する。【解決手段】本実施形態によるシミュレーション装置は、工作機械の動作を規定する加工プログラムを格納するメモリと、加工プログラムを実行し、工作機械の数値制御部が該工作機械の駆動部へ出力するトルク値を疑似的に算出するプロセッサとを備えている。【選択図】図２
2014219911.tif 000002
【特許請求の範囲】
【請求項１】
工作機械の動作を規定する加工プログラムを格納するメモリと、
前記加工プログラムを実行し、前記工作機械の数値制御部が該工作機械の駆動部へ出力するトルク値を疑似的に算出するプロセッサとを備えたシミュレーション装置。
【請求項２】
前記プロセッサは、前記トルク値に基づいて前記工作機械が消費する電力値を算出することを特徴とする請求項１に記載のシミュレーション装置。
【請求項３】
前記プロセッサは、前記数値制御装置の各サンプリング周期に対応する前記トルク値または前記電力値を算出することを特徴とする請求項１または請求項２に記載のシミュレーション装置。
【請求項４】
前記プロセッサは、前記数値制御装置の各サンプリング周期における前記工作機械の前記電力値を積算し、前記加工プログラムを実行したときの前記工作機械の総消費電力を推定することを特徴とする請求項２または請求項３に記載のシミュレーション装置。
【請求項５】
前記プロセッサは、前記加工プログラムから得られる前記工作機械の駆動部の移動量と前記工作機械の種類によって決定されるパラメータとに基づいて前記トルク値を計算することを特徴とする請求項１から請求項４のいずれか一項に記載のシミュレーション装置。
【請求項６】
前記プロセッサは、前記工作機械の駆動部の移動速度と前記トルク値とに基づいて前記電力値を計算することを特徴とする請求項２から請求項５のいずれか一項に記載のシミュレーション装置。
【請求項７】
工作機械の動作を規定する加工プログラムを実行し、
前記工作機械の数値制御部が該工作機械の駆動部へ出力するトルク値を疑似的に算出し、
前記トルク値に基づいて前記工作機械が消費する電力値を算出することをコンピュータに実行させるシミュレーションプログラム。
【請求項８】
前記数値制御装置の各サンプリング周期に対応する前記トルク値または前記電力値の算出をコンピュータに実行させることを特徴とする請求項７に記載のシミュレーションプログラム。
【請求項９】
前記数値制御装置の各サンプリングにおける前記工作機械の前記電力値を積算し、前記加工プログラムを実行したときの前記工作機械の総消費電力を推定することをさらにコンピュータに実行させることを特徴とする請求項７または請求項８に記載のシミュレーションプログラム。
【請求項１０】
前記加工プログラムから得られる前記工作機械の駆動部の移動量と前記工作機械の種類によって決定されるパラメータとに基づいて前記トルク値を計算することをさらにコンピュータに実行させることを特徴とする請求項７から請求項９のいずれか一項に記載のシミュレーションプログラム。
【請求項１１】
前記工作機械の駆動部の移動速度と前記トルク値とに基づいて前記電力値を計算することをさらにコンピュータに実行させることを特徴とする請求項７から請求項１０のいずれか一項に記載のシミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明による実施形態は、シミュレーション装置およびシミュレーションプログラムに関する。
【背景技術】
【０００２】
一般に、工作機械は、ワークまたは工具を回転させる主軸と、ワークまたは主軸を所定位置に移動させる移動軸とを備え、加工プログラムに従って工具でワークを加工するように構成されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２４３１５２号公報
【特許文献２】特開２００４−５８１９０号公報
【特許文献３】特開２０１１−１７０４４８号公報
【特許文献４】特開２０１０−２５０６９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、環境問題やエネルギー問題を考慮して工作機械の消費電力の削減が所望されている。例えば、加工時間を短縮して加工効率を向上させることも重要であるが、その加工に必要とされる消費電力の低減も益々重要となってきている。今般の電力事情を考慮すれば、加工時間を犠牲にしてでも、消費電力を抑制したい場合もあり得る。
【０００５】
しかし、従来、消費電力を削減するためには、工作機械の消費電力を実測する必要があった（特許文献１、２）。工作機械の消費電力を実測するためには、工作機械の数値制御装置において加工プログラムを実行させ、加工動作を実際に行う必要がある。この場合、工作機械は電力測定のために実際に電力を消費（浪費）しなければならず、かつ、電力測定のために長時間必要とした。さらに、実際にワークを加工するため、同じワークを複数個加工する場合でなければ電力測定を実施できなかった。
【０００６】
代替的に、実際に加工動作を実行することなく、工作機械の消費電力を予測する技術が考えられている（特許文献３、４）。しかし、この場合、工作機械の動作を簡略化しなければならず、正確に消費電力を予測することができなかった。
【０００７】
そこで、本発明は、上記問題点を解決するためになされたもので、工作機械を実際に動作させることなく、かつ、従来よりも正確に工作機械の消費電力を推定することができるシミュレーション装置およびシミュレーションプログラムを提供することである。
【課題を解決するための手段】
【０００８】
本実施形態によるシミュレーション装置は、工作機械の動作を規定する加工プログラムを格納するメモリと、加工プログラムを実行し、工作機械の数値制御部が該工作機械の駆動部へ出力するトルク値を疑似的に算出するプロセッサとを備えている。
【０００９】
プロセッサは、トルク値に基づいて工作機械が消費する電力値を算出してもよい。
【００１０】
プロセッサは、数値制御装置の各サンプリング周期に対応するトルク値または電力値を算出してもよい。
【００１１】
プロセッサは、数値制御装置の各サンプリング周期における工作機械の電力値を積算し、加工プログラムを実行したときの工作機械の総消費電力を推定してもよい。
【００１２】
プロセッサは、加工プログラムから得られる工作機械の駆動部の移動量と工作機械の種類によって決定されるパラメータとに基づいてトルク値を計算してもよい。
【００１３】
プロセッサは、工作機械の駆動部の移動速度とトルク値とに基づいて電力値を計算してもよい。
【００１４】
本実施形態によるシミュレーションプログラムは、工作機械の動作を規定する加工プログラムを実行し、工作機械の数値制御部が該工作機械の駆動部へ出力するトルク値を疑似的に算出し、トルク値に基づいて前記工作機械が消費する電力値を算出することをコンピュータに実行させる。
【００１５】
シミュレーションプログラムは、数値制御装置の各サンプリング周期に対応するトルク値または電力値の算出をコンピュータに実行させてもよい。
【００１６】
シミュレーションプログラムは、数値制御装置のサンプリングごとにおける工作機械の電力値を積算し、加工プログラムを実行したときの工作機械の総消費電力を推定することをさらにコンピュータに実行させてもよい。
【００１７】
シミュレーションプログラムは、加工プログラムから得られる工作機械の駆動部の移動量と工作機械の種類によって決定されるパラメータとに基づいてトルク値を計算することをさらにコンピュータに実行させてもよい。
【００１８】
シミュレーションプログラムは、工作機械の駆動部の移動速度とトルク値とに基づいて電力値を計算することをさらにコンピュータに実行させてもよい。
【図面の簡単な説明】
【００１９】
【図１】本発明に係る第１の実施形態に従ったシミュレーション装置１の構成を示すブロック図。
【図２】第１の実施形態によるシミュレーション装置１の動作を示すフロー図。
【図３】加減速が頻繁に行われる軸の分配値の具体例を示すグラフ。
【図４】シミュレーション装置１が図３に示す分配値を用いて生成したトルク指令値を示すグラフ。
【図５】シミュレーション装置１によって推定された工作機械の消費電力と工作機械の実際の消費電力とを表示するディスプレイの画面を示す図。
【図６】工作機械１００および電力測定装置２００を示すブロック図。
【図７】工作機械１００のＮＣ装置１３０を示すブロック図。
【発明を実施するための形態】
【００２０】
以下、図面を参照して本発明に係る実施形態を説明する。本実施形態は、本発明を限定するものではない。
【００２１】
（第１の実施形態）
図１は、本発明に係る第１の実施形態に従ったシミュレーション装置１の構成を示すブロック図である。
【００２２】
図１に示すように、シミュレーション装置１は、ＣＰＵ（Central Processing Unit）１０と、メモリ２０、キー入力部６０と、ディスプレイ７０とを備えている。シミュレーション装置１は、例えば、工作機械とは別に設けられた汎用ＰＣ（Personal Computer）である。汎用ＰＣに本実施形態によるシミュレーションプログラムを導入し、このシミュレーションプログラムをＰＣ上で実行させる。これにより、工作機械の消費電力が算出される。
【００２３】
シミュレーション装置１は、工作機械の数値制御装置（以下、ＮＣ（Numerical Controller）装置ともいう）内に組み込んでもよい。ただし、シミュレーション装置１は、工作機械の加工作業を実際に実行するものでは無く、モータ等の駆動部にトルク指令を出力しない。従って、シミュレーション装置１が数値制御装置内に組み込まれている場合、数値制御装置は、工作機械の通常の加工動作とは別にシミュレーション動作を可能とするように構成されている必要がある。
【００２４】
ＣＰＵ１０は、工作機械の消費電力を算出するためにシミュレーションプログラム等を実行する。
【００２５】
メモリ２０は、例えば、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ＨＤＤ（Hard Disc Drive）および／またはＳＳＤ（Solid State Drive）である。メモリ２０は、シミュレーション装置１全体を制御するシステムプログラム、加工プログラム、工作機械のパラメータ、シミュレーションプログラム、各種データを格納する。メモリ２０のＲＡＭ領域は、ＣＰＵ１０がシミュレーションプログラム等を実行する際に、ロード領域あるいは作業領域としても用いられる。
【００２６】
さらに、メモリ２０は、ＣＡＤ（Computer Aided Design）プログラム、ＣＡＭ（Computer Aided Manufacturing）プログラム、ＣＡＤ・ＣＡＭプログラムを格納していてもよい。この場合、シミュレーション装置１は、図形情報および加工情報を加工プログラムへ変換する加工プログラム変換機能を有することができる。加工プログラムは、ＣＡＭ等を用いて図形情報および加工情報を変換することによって得られる。従って、シミュレーション装置１が加工プログラム変換機能を有することによって、ユーザは、シミュレーション装置１に図形情報および加工情報を入力すれば足り、加工プログラムを入力する必要がなくなる。
【００２７】
キー入力部６０は、例えば、キーボードであり、操作者が操作することによって情報をシミュレーション装置１内に入力する。ディスプレイ７０は、タッチパネル式表示装置であってもよい。この場合、ディスプレイ７０は、操作部の機能も兼ね備えるので、キー入力部６０は必ずしも設ける必要はない。
【００２８】
図２は、第１の実施形態によるシミュレーション装置１の動作を示すフロー図である。シミュレーション装置１は、工作機械（図示せず）の消費電力を推定するために、シミュレーションプログラムを実行する。シミュレーションプログラムは、加工作業の際に工作機械のＮＣ装置によって実際に実行される加工プログラムをシミュレーション装置１に実行させる。加工プログラムは工作機械の動作を規定しているので、加工プログラムを実行することによってシミュレーション装置１はトルク指令を疑似的に算出することができる。ここで、シミュレーション装置１において算出されるトルク指令は、実際の加工作業に使用されず、工作機械の駆動部には出力されない。従って、ここでは、シミュレーション装置１はトルク指令を「疑似的」に算出する、と表現している。このトルク指令は、加工作業の際にＮＣ装置が出力するトルク指令と同一の指令である。シミュレーション装置１は、後述するように、トルク指令を用いて工作機械の消費電力を算出する。
【００２９】
シミュレーション装置１は、ＮＣ装置のサンプリング周期のそれぞれに対応するトルク値および／または電力値を算出する。即ち、シミュレーション装置１は、図２のフローを実行することによって各サンプリングに対応するトルク値および／または電力値を算出する。サンプリング周期は、ＮＣ装置の動作速度、処理速度、あるいは、処理能力、制御性能（分解能）に依って決まる所定の周期である。ＮＣ装置は、サンプリングごとにトルク指令を変更することができる。シミュレーション装置１は、ＮＣ装置と同様に加工プログラムを実行するので、各サンプリングに対応するトルク指令を変更することができる。このように各サンプリングに対応する値を計算するために、シミュレーション装置１は、ＮＣ装置と同じかそれ以上の処理能力または制御性能を有する装置であることが好ましい。ただし、シミュレーション装置１は、ＮＣ装置と同様にサンプリング周期で動作する必要は必ずしもない。従って、シミュレーション装置１は、サンプリング周期よりも高速に加工プログラムを実行することによって、実際の加工作業時間よりも早く全てのサンプリングに対応するトルク指令および／または電力値を算出することができる。
【００３０】
以下、シミュレーション装置１の動作をより詳細に説明する。
【００３１】
まず、シミュレーション装置１は、工作機械のパラメータを解析する（Ｓ１０）。工作機械のパラメータは、工作機械の種類によって決定され、個々の工作機械に特有のパラメータである。例えば、パラメータは、駆動部（例えば、モータ）のイナーシャ、減速比、移動物質量、摩擦トルク等である。工作機械の種類や大きさによって駆動部を動作させるために必要なトルクや消費電力も異なる。従って、パラメータの導入によって、シミュレーション装置１は、より正確に消費電力を推定することができる。
【００３２】
次に、シミュレーション装置１は、工作機械の加工プログラムを解析する（Ｓ１５）。加工プログラムの解析により、シミュレーション装置１は、或るブロックについて、工作機械の駆動部を移動させる目標位置の座標、および、駆動部の目標移動速度等を得る。ブロックとは、加工プログラムの基本単位であり、例えば、１行分の指令を示す。１ブロックは、例えば、直線移動、円弧移動、主軸の回転開始／停止等の基本的な動作の指令を示す。加工プログラムは、このようなブロックを多数組み合わせることによって工作機械に複雑な動作を実行させることができる。
【００３３】
各ブロックにおいて目標位置の座標および駆動部の移動速度等は、サンプリングごとに異なり得る。パラメータの解析により、シミュレーション装置１は、駆動部のイナーシャ、駆動部の摩擦トルク等の消費電力を計算するために必要なパラメータを得る。
【００３４】
次に、シミュレーション装置１は、目標位置の座標、駆動部の移動速度を用いて分配処理を実行する（Ｓ２０）。分配処理において、シミュレーション装置１は、駆動部の移動量を示す分配値を導出する。
【００３５】
次に、シミュレーション装置１は、分配値を用いて駆動部の速度および加速度を算出する（Ｓ３０）。例えば、工作機械の駆動部がサーボモータである場合、モータの角速度および角加速度を算出する。ここで、角速度をω(ｒａｄ／ｓｅｃ)、分配値をＳＶＣ、ＳＶＣの単位[ｍｍ/ｍｓｅｃ]を［ｒａｄ/ｓｅｃ］に変換する係数をＫａとすると、角速度ωは、式１のように表すことができる。  
ω＝ＳＶＣ×Ｋａ              （式１）
また、角加速度をα（ｒａｄ／ｓｅｃ２）、サンプリングごとの角速度をω０、ω１、ω２・・・ωｔ・・・サンプリング周期（サンプリングの時間間隔）をｔｓａｍｐｌｅとすると、角加速度αは、式２のように表すことができる。  
α＝（ωｔ−ωｔ−１）／ｔｓａｍｐｌｅ    （式２）
尚、ωｔ−１は、ωｔの１サンプリング前の角速度である。
【００３６】
次に、シミュレーション装置１は、角加速度、イナーシャ、摩擦トルクを用いてトルク指令値を算出する（Ｓ４０）。ここで、トルク指令値をＴ（Ｎ・ｍ）、イナーシャをＪ（ｋｇ・ｍ２)、摩擦トルクをＴｃ(Ｎ・ｍ)とすると、トルクをＴは、式３のように表すことができる。  
Ｔ＝Ｊ×α＋Ｔｃ              （式３）
尚、イナーシャＪには、ワーク重量を加味してもよい。また、算出されたトルク指令値Ｔには、個々の工作機械によって決まる垂直軸の保持トルクを加味してもよい。ワーク重量および保持トルクは、パラメータとして予めメモリ２０に登録しておけばよい。ワーク重量および保持トルクは、工作機械において実測された値または統計的に得られた値であってもよい。
【００３７】
実際に工作機械が加工作業を実行する際には、ＮＣ装置は、このように算出されたトルク指令値Ｔを駆動部(サーボモータ)へ出力する。そして、駆動部は、このトルク指令値Ｔに従って動作(回転)するように、電力供給を受けて動作（回転）する。即ち、シミュレーション装置１は、トルク指令値の生成まで、ＮＣ装置と同様に動作する。ただし、ＮＣ装置は、駆動部のロータリエンコーダやリニアエンコーダからのフィードバックを受けてトルク指令値を修正する。一方、シミュレーション装置１は、ロータリエンコーダやリニアエンコーダからのフィードバックを受けない。従って、シミュレーション装置１のトルク指令値とＮＣ装置のトルク指令値とは、完全には一致しない。
【００３８】
シミュレーション装置１は、上述のようにして算出されたトルク指令値Ｔを用いて駆動部の軸出力を計算（推定）する（Ｓ５０）。例えば、或るサンプリングにおける軸出力をＡ（Ｊ）、駆動部の移動速度（モータの角速度）をＮ(ｒａｄ／ｓｅｃ)とすると、軸出力Ａは式４のように表すことができる。  
Ａ＝Ｎ×Ｔ×ｔｓａｍｐｌｅ（式４）
このように、シミュレーション装置１は、或るサンプリングにおける駆動部の軸出力Ａを算出することができる。
【００３９】
実際の工作機械を考慮した場合、工作機械の電力の損失やトルクの損失を考慮する必要がある。電力損失またはトルク損失としては、例えば、ＮＣ装置から駆動部への電気抵抗による電力損失、駆動部のアンプにおける電力損失、ＮＣ装置とアンプの制御電源の消費電力、粘性摩擦トルク等が考えられる。このような電力損失またはトルク損失によって、実際の工作機械の駆動部は、軸出力Ａを消費したとしても、トルク指令値Ｔ通りのトルクを出力することができない場合がある。このような電力損失またはトルク損失を効率としてηで表現すると、効率ηは、０〜１のいずれかの値となる。効率ηが１に近いことは、電力損失およびトルク損失が小さいことを意味する。一方、効率ηが０に近いことは、電力損失およびトルク損失が大きいことを意味する。１サンプリング当たりの駆動部の修正消費エネルギーＰｓ（Ｊ）は、効率ηを用いて式５のように表すことができる。       Ｐｓ＝Ａ／η        （式５）
シミュレーション装置１は、式５を用いることによって、工作機械の駆動部における実際の消費エネルギーにより近い修正消費エネルギーＰｓを得ることができる（Ｓ６０）。
【００４０】
上述のとおり、シミュレーション装置１のトルク指令値は、フィードバックを受けているＮＣ装置のトルク指令値と完全には一致しない。しかし、効率ηを考慮することによって、シミュレーション装置１は、駆動部の実際の消費エネルギーに近い消費エネルギーを算出することができる。
【００４１】
駆動部が複数の軸（複数のモータ）を有する場合、シミュレーション装置１は、各軸について修正消費エネルギーＰｓ０、Ｐｓ１、Ｐｓ２・・・Ｐｓｋを算出する。そして、シミュレーション装置１は、修正消費エネルギーＰｓ０、Ｐｓ１、Ｐｓ２・・・Ｐｓｋの総和（ΣＰｓｉ（ｉ＝０〜ｋ））を算出する。これにより、シミュレーション装置１は、駆動部が複数の軸を有する場合であっても、駆動部全体の消費エネルギーを算出することができる。以下、複数軸の駆動部の消費エネルギーも単軸の駆動部の消費エネルギーと同様にＰｓと表す。
【００４２】
ステップＳ２０〜Ｓ６０は、加工プログラムの対象ブロック内における全てのサンプリングにおいて実行される（Ｓ７５のＮＯ）。シミュレーション装置１は、各サンプリングの修正消費エネルギーＰｓを算出するごとに、その修正消費エネルギーＰｓを積算する（Ｓ７０）。そして、対象ブロックの最後のサンプリングの修正消費エネルギーＰｓが得られた場合（Ｓ７５のＹＥＳ）、ステップＳ１５〜Ｓ７０は、加工プログラムの全てのブロックにおいて実行される（Ｓ７７のＮＯ）。このとき、ステップＳ７０において、修正消費エネルギーＰｓは、ブロックの区別することなく積算していく。従って、ステップＳ１５〜Ｓ７０が加工プログラムの全てのブロックにおいて実行されると（Ｓ７７のＹＥＳ）、加工プログラムの全てのブロックの修正消費エネルギーＰｓが積算される。
【００４３】
これにより、シミュレーション装置１は、加工プログラムを実行したときの工作機械の駆動部の総消費エネルギーＰｔｏｔａｌを推定することができる。各サンプリングｊ（ｊ＝０〜ｎ（ｎはサンプリング数））における修正消費エネルギーをＰｓｊとすると、駆動部の総消費エネルギーＰｔｏｔａｌは式６のように表すことができる。  
Ｐｔｏｔａｌ＝ΣＰｓｊ          （式６）
【００４４】
さらに、シミュレーション装置１は、工作機械の駆動部以外の部分の消費電力Ｐｃ（Ｗｈ）を駆動部の総消費エネルギーＰｔｏｔａｌを消費電力で表したＰｔｏｔａｌ’（Ｗｈ）に加算することによって工作機械の全体の消費電力Ｐａｌｌ（Ｗｈ）を得ることができる（Ｓ８０）。尚、軸出力Ａ、修正消費エネルギーＰｓおよび総消費エネルギーＰｔｏｔａｌは、電力値としてジュール（Ｊ）またはワット時（Ｗｈ）のいずれの単位で測定または表現してもよい。  
Ｐａｌｌ＝Ｐｔｏｔａｌ’＋Ｐｃ    （式７）
工作機械の駆動部以外の部分とは、例えば、ＮＣ装置、油圧制御装置、クーラントポンプ、シーケンス制御装置、照明等である。これらの部分は、通常、単位時間当たり、ほぼ一定電力を消費する。従って、消費電力Ｐｃは、これらの部分の単位時間当たりの消費電力と加工作業時間とを乗算すれば得られる。尚、消費電力Ｐｃは、パラメータとして予めメモリ２０に登録しておけばよい。あるいは、工作機械の駆動部以外の各部分の消費電力は、テーブルにまとめてメモリ２０に格納しておいてもよい。上記効率ηを決定する電力損失またはトルク損失も同様に、テーブルにまとめてメモリ２０に格納しておいてもよい。消費電力Ｐｃ、電力損失、トルク損失は、工作機械において実測された値または統計的に得られた値であってもよい。
【００４５】
以上のように、本実施形態によるシミュレーション装置１は、工作機械のＮＣ装置と同様に加工プログラムを実行し、工作機械のＮＣ装置と同様に各サンプリングに対応するトルク指令値Ｔを生成することができる。上述の通り、ロータリエンコーダやリニアエンコーダからのフィードバック等を考慮すれば、効率ηを考慮したとしても、シミュレーション装置１のトルク指令値は、実際のＮＣ装置のトルク指令値とは完全には一致しない。しかし、シミュレーション装置１は、工作機械のＮＣ装置と同様に各サンプリングに対応するトルク指令値Ｔを生成することができるので、工作機械のＮＣ装置と同じ制御性能（分解能）でトルク指令値を生成することができる。従って、本実施形態によるシミュレーション装置１は、実際のＮＣ装置のトルク指令値に非常に近いトルク指令値を生成することができる。
【００４６】
そして、シミュレーション装置１は、トルク指令値Ｔから各サンプリングに対応する駆動部の軸出力Ａおよび修正消費エネルギーＰｓを算出し、それらの修正消費エネルギーＰｓを積算する。これにより、シミュレーション装置１は、工作機械の駆動部の総消費エネルギーＰｔｏｔａｌを推定することができる。さらに、シミュレーション装置１は、工作機械の駆動部以外の部分の消費電力Ｐｃを駆動部の総消費エネルギーＰｔｏｔａｌに対応する総消費電力Ｐｔｏｔａｌ’に加算することによって、工作機械全体の消費電力Ｐａｌｌを正確に推定できる。
【００４７】
本実施形態によるシミュレーション装置１は、工作機械の駆動部全体（全ての軸）の電力値をシミュレーションすることができる。しかし、シミュレーション装置１は、各サンプリングに対応する消費電力を推定するので、加減速を頻繁に繰り返す移送軸（送り軸）の消費電力を推定するために特に有利であると考えられる。主軸は、通常、所定速度で回転させる時間が長いが、移送軸（送り軸）は、ワークを複雑な形状に加工するために加減速を頻繁に繰り返すことが多いからである。このように主軸の消費電力は比較的容易に推定可能であるので、駆動部以外の消費電力Ｐｃに含めてもよい。勿論、主軸において加減速が頻繁に行われる場合、シミュレーション装置１は、駆動部の消費電力として主軸の消費電力を推定してもよい。
【００４８】
図３は、加減速が頻繁に行われる軸の分配値の具体例を示すグラフである。図３の横軸は時間を示す。図３の縦軸は、分配値（駆動部の１サンプリング周期当たりの移動量または回転量）を示す。ラインＬ１は、第１の軸の分配値を示す。ラインＬ２は、第２の軸の分配値を示す。一般に、分配値は、サンプリングごとの駆動部の移動量（または回転量）を示すので、分配値が一定の場合、駆動部の速度（または角速度）が一定である。また、分配値の傾きは、駆動部の加速度を示す。
【００４９】
図３のラインＬ１、Ｌ２で示される第１および第２の軸の速度および加速度は頻繁に変動しており、従って、駆動部が複雑な動作をしていることが分かる。
【００５０】
図４は、シミュレーション装置１が図３に示す分配値を用いて生成したトルク指令値を示すグラフである。図４の横軸は時間を示す。図４の縦軸は、トルク指令値を示す。ラインＬ１１は、第１の軸のトルク指令値Ｔを示す。ラインＬ１２は、第２の軸のトルク指令値Ｔを示す。
【００５１】
シミュレーション装置１は、ＮＣ装置の各サンプリング周期に対応するトルク指令値Ｔを生成している。従って、分配値が図３のラインＬ１、Ｌ２に示すように複雑に変動する場合であっても、シミュレーション装置１は、ライン１１、１２に示すようにトルク指令値Ｔを分配値に追従させて変動させることができる。
【００５２】
このように、シミュレーション装置１は、工作機械のＮＣ装置と同じ制御性能（分解能）でトルク指令値を生成することができる。従って、本実施形態によるシミュレーション装置１は、実際のＮＣ装置のトルク指令値に非常に近いトルク指令値を生成することができる。
【００５３】
本実施形態によるシミュレーション装置１は、工作機械の消費電力Ｐａｌｌとともに、工作機械の加工作業の時間も推定してよい。これにより、ユーザは、工作機械の消費電力Ｐａｌｌおよび加工作業の時間の両方を考慮して、加工プログラムやパラメータを選択することができる。
【００５４】
本実施形態によるシミュレーション装置１は、実際に駆動部を動作させず、かつ、ワークを加工せず、各サンプリング周期に対応する工作機械の消費電力を正確に推定することができる。従って、シミュレーション装置１は、省エネに貢献することができ、かつ、短時間で工作機械の消費電力を推定することができる。
【００５５】
さらに、本実施形態によるシミュレーション装置１は、実際に駆動部を動作させず、かつ、ワークを加工しないので、加工プログラムおよびパラメータの条件（例えば、送り軸のパス）を様々に変更させて繰り返し工作機械の消費電力を算出することができる。これにより、シミュレーション装置１は、ユーザの所望する最適な加工プログラムおよびパラメータを、容易にかつ短時間に特定することができる。
【００５６】
（第２の実施形態）
図５は、シミュレーション装置１によって推定された工作機械の消費電力と工作機械の実際の消費電力とを表示するディスプレイの画面を示す図である。この画面は、シミュレーション装置１のディスプレイに表示させてもよく、工作機械のＮＣ装置のディスプレイに表示させてもよい。シミュレーション装置１がＮＣ装置に組み込まれている場合には、この画面は、ＮＣ装置のディスプレイに表示させる。
【００５７】
この画面では、シミュレーションによる加工時間、実際の加工時間、シミュレーションによる消費電力、および、実際の消費電力がそれぞれ表示されている。消費電力は、例えば、サーボ軸（Ｘ軸、Ｙ軸、Ｚ軸、その他の軸）、工具主軸、ワーク主軸、ＮＣ装置、シーケンス制御装置、油圧制御装置等のそれぞれの消費電力を含む。そして、工作機械全体の消費電力が表示されている。工作機械全体の消費電力のシミュレーション値は、上記Ｐａｌｌに相当する。また、工作機械全体の消費電力のシミュレーション値と実測値との誤差が表示されている。
【００５８】
ここで、シミュレーション装置１によって推定される駆動部の総消費電力Ｐｔｏｔａｌ’は、サーボ軸、工具主軸および／またはワーク主軸の消費電力を含む。駆動部以外の部分の消費電力Ｐｃは、ＮＣ装置、シーケンス制御装置、油圧制御装置の消費電力を含む。尚、工具主軸およびワーク主軸の消費電力は、シミュレーション不要な場合、消費電力Ｐｃに含めてもよい。
【００５９】
第２の実施形態によるシミュレーション装置１は、図５に示すように、シミュレーション装置１によるシミュレーション結果と工作機械の実際の消費電力とを並べて表示している。これにより、ユーザは、シミュレーション結果が実際の消費電力からどの程度乖離しているかを容易に把握することができる。図５の具体例では、シミュレーションによる消費電力Ｐａｌｌは、実際の消費電力から約６％ほど乖離していることが分かる。
【００６０】
ディスプレイには、経過時間、過去の加工作業におけるシミュレーション値と実測値との比較（履歴）等を表示してもよい。
【００６１】
工作機械の実際の消費電力は、図６または図７に示す手法で測定することができる。
【００６２】
図６は、工作機械１００および電力測定装置２００を示すブロック図である。工作機械１００は、モータ１１０〜１１２と、主軸モータ１１５と、サーボアンプ１２０〜１２２と、主軸ドライバ１２５と、ＮＣ装置１３０と、電源１４０と、電力モジュール１５０とを備えている。モータ１１０〜１１２は、送り軸としてＸ軸方向、Ｙ軸方向およびＺ軸方向のそれぞれに主軸を移動させるモータである。サーボアンプ１２０〜１２２は、ＮＣ装置１３０からのトルク指令を受けて、そのトルク指令に従ってそれぞれモータ１１０〜１１２に電力を供給する。ＮＣ装置１３０は、加工プログラムに従ってトルク指令をサーボアンプ１２０〜１２２へ出力する。電源１４０は、工作機械の各部へ電力を供給する。
【００６３】
電力測定装置２００は、電源１４０から工作機械の各部へ供給される電力値を測定する。電力測定装置２００は、工作機械とは別に設けられた個別のハードウェアであってもよい。あるいは、電力測定装置２００は、工作機械に予め組み込んでおいてもよい。電力測定装置２００が個別のハードウェアである場合、１つの電力測定装置２００を工作機械の各部の電力測定のために使い回してもよい。
【００６４】
電力モジュール１５０は、電力測定装置２００と通信可能に接続されており、電力測定装置２００から工作機械の各部の消費電力値を受信する。電力モジュール１５０は、ＮＣ装置１３０または外部ＰＣに接続されており、工作機械の各部の消費電力値をＮＣ装置１３０または外部ＰＣへ出力することができる。
【００６５】
ＮＣ装置１３０は、電力モジュール１５０から受け取った工作機械の各部の消費電力値をディスプレイ１３５に表示する。外部ＰＣが電力モジュール１５０から受け取った工作機械の各部の消費電力値をディスプレイ１３５に表示してもよい。表示画面は、図５に示した通りである。このように、工作機械の実際の消費電力は、電力測定装置２００を用いて測定され得る。
【００６６】
図７は、工作機械１００のＮＣ装置１３０を示すブロック図である。図７では、ＮＣ装置１３０から出力されるトルク指令を用いて実際の消費電力を算出する。ＮＣ装置１３０のサーボ制御モジュール１３６から出力されるトルク指令Ｔ１〜Ｔ３および主軸制御モジュール１３７から出力されるロードは、サーボアンプ１２０〜１２２や主軸ドライバ１２５だけでなく、ＮＣメインモジュール１３８にも転送される。ＮＣメインモジュール１３８は、トルク指令Ｔ１〜Ｔ３やロードを用いて各軸１１０〜１１２、１１５の消費電力を算出する。消費電力の算出方法は、第１の実施形態で説明したとおりである。
【００６７】
ここで、トルク指令Ｔ１〜Ｔ３は、ロータリエンコーダおよびリニアエンコーダ（図示せず）からのフィードバックを受けており、実際にサーボアンプ１２０〜１２２や主軸ドライバ１２５へ出力されるトルク指令である。従って、ＮＣメインモジュール１３８は、第１の実施形態においてシミュレーション装置１が算出した消費電力よりも実際の消費電力に近い消費電力を算出することができる。従って、第２の実施形態では、トルク指令Ｔ１〜Ｔ３を用いて算出された消費電力を「実際の消費電力」として取り扱うことも可能である。
【００６８】
そして、ＮＣメインモジュール１３８において算出された消費電力は、「実際の消費電力」として図６で示したようにディスプレイ１３５や外部ＰＣのディスプレイに表示される。
【００６９】
図７に示す手法で算出された実際の消費電力は、図６で示す手法により実測された消費電力より精度において劣る。しかし、図７に示す手法によれば、電力測定装置２００が不要であり、既存のＮＣ装置を用いて実際の消費電力を得ることができる。従って、図７に示す手法は、低コストであり、実用的であると言える。
【００７０】
図６または図７に示す手法で取得された工作機械の実際の消費電力は、第１の実施形態において取得されたシミュレーション結果に対して比較の対象となる。
【符号の説明】
【００７１】
１…シミュレーション装置
１０…ＣＰＵ
２０…メモリ
６０…キー入力部
７０…ディスプレイ
１００…工作機械
１１０〜１１２…モータ
１１５…主軸モータ
１２０〜１２２…サーボアンプ
１２５…主軸ドライバ
１３０…ＮＣ装置
１４０…電源
１５０…電力モジュール
【図１】
2014219911.tif 000003
【図２】
2014219911.tif 000004
【図３】
2014219911.tif 000005
【図４】
2014219911.tif 000006
【図５】
2014219911.tif 000007
【図６】
2014219911.tif 000008
【図７】
2014219911.tif 000009