(57)【特許請求の範囲】
【請求項１】
第１の制御対象物と第２の制御対象物とを備え、当該第１の制御対象物および当該第２の制御対象物を駆動することによってワークを加工する工作機械であって、
前記第１の制御対象物は、前記駆動として回転を行い、
前記第２の制御対象物は、前記駆動として直線移動を行い、
前記第１の制御対象物の駆動時における最大加減速度および／または最大速度を含む第１の情報と、前記第２の制御対象物の駆動時における最大加減速度および／または最大速度を含む第２の情報とを格納した記憶装置と、
前記第１の制御対象物が予め定められた第１の状態に達するまでの時間と、前記第２の制御対象物が予め定められた第２の状態に達するまでの時間とを、前記第１の情報および前記第２の情報に基づいて算出する算出手段と、
前記第１の状態に達するまでの時間と前記第２の状態に達するまでの時間とを比較する比較手段と、
前記第１の制御対象物の駆動と前記第２の制御対象物の駆動とを制御する駆動制御手段とを備え、
前記駆動制御手段は、前記第１の状態に達するまでの時間が前記第２の状態に達するまでの時間よりも長いと判断された場合、前記第２の制御対象物が前記第２の状態に達するまでの時間が、前記算出された第２の状態に達する時間より長く、かつ前記算出された第１の状態に達するまでの時間以下の時間となるように、前記第２の制御対象物の駆動を制御し、
前記第１の状態は前記第１の制御対象物が予め定められた回転速度に達した状態であり、前記第２の状態は前記第２の制御対象物が前記ワークの加工開始位置に到達した状態である、工作機械。
【請求項２】
第１の制御対象物と第２の制御対象物とを備え、当該第１の制御対象物および当該第２の制御対象物を駆動することによってワークを加工する工作機械であって、
前記第１の制御対象物は、前記駆動として直線移動を行い、
前記第２の制御対象物は、前記駆動として回転を行い、
前記第１の制御対象物の駆動時における最大加減速度および／または最大速度を含む第１の情報と、前記第２の制御対象物の駆動時における最大加減速度および／または最大速度を含む第２の情報とを格納した記憶装置と、
前記第１の制御対象物が予め定められた第１の状態に達するまでの時間と、前記第２の制御対象物が予め定められた第２の状態に達するまでの時間とを、前記第１の情報および前記第２の情報に基づいて算出する算出手段と、
前記第１の状態に達するまでの時間と前記第２の状態に達するまでの時間とを比較する比較手段と、
前記第１の制御対象物の駆動と前記第２の制御対象物の駆動とを制御する駆動制御手段とを備え、
前記駆動制御手段は、前記第１の状態に達するまでの時間が前記第２の状態に達するまでの時間よりも長いと判断された場合、前記第２の制御対象物が前記第２の状態に達するまでの時間が、前記算出された第２の状態に達する時間より長く、かつ前記算出された第１の状態に達するまでの時間以下の時間となるように、前記第２の制御対象物の駆動を制御し、
前記第１の状態は前記第１の制御対象物が前記ワークの加工開始位置に到達した状態であり、前記第２の状態は前記第２の制御対象物が予め定められた回転速度に達した状態である、工作機械。
【請求項３】
前記記憶装置は、前記第１の制御対象物の前記回転に伴う回転速度情報と、前記第２の制御対象物の前記直線移動に伴う移動位置情報とをさらに格納し、
前記回転速度情報および前記移動位置情報に基づいて、前記第１の制御対象物が前記第１の状態に達するまでの時間と、前記第２の制御対象物が前記第２の状態に達するまでの時間とを算出する、請求項１に記載の工作機械。
【請求項４】
前記記憶装置は、前記第１の制御対象物の前記直線移動に伴う移動位置情報と、記第２の制御対象物の前記回転に伴う回転速度情報とをさらに格納し、
前記回転速度情報および前記移動位置情報に基づいて、前記第１の制御対象物が前記第１の状態に達するまでの時間と、前記第２の制御対象物が前記第２の状態に達するまでの時間とを算出する、請求項２に記載の工作機械。
【請求項５】
前記駆動制御手段は、前記第１の状態に達するまでの時間が前記第２の状態に達するまでの時間よりも長いと判断された場合、前記第２の制御対象物が前記第２の状態に達するまでの時間が、前記算出された第１の状態に達するまでの時間と同じとなるように、前記第２の制御対象物の駆動を制御する、請求項１から４のいずれか１項に記載の工作機械。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械に関する。特に、数値制御（ＮＣ：Numerical Control）プログラムに従い駆動する工作機械に関する。
【背景技術】
【０００２】
従来、ＮＣプログラムに従い、主軸等の制御対象物を回転駆動させ、かつ送り軸等の制御対象物を直線移動させる工作機械が知られている。
【０００３】
特許文献１には、上記工作機械の制御方法として、サイクルタイムの短縮を図った制御方法が開示されている。当該制御方法は、主軸がＮＣプログラムのデータブロックで指令される指令回転速度への到達を確認後、工作物の加工を開始するように工作機械を制御する方法である。当該制御方法は、第１位置決め工程と、第２位置決め工程と、加工工程とを含む。
【０００４】
第１位置決め工程では、工具が装着された主軸を回転起動するとともに送り軸を駆動させ、工具を工作物の加工箇所と切込み方向で整列する割出し位置へ向けて位置決めを行なう。第２の位置決め工程では、第１位置決め工程において送り軸の移動完了が確認された後、主軸の指令回転速度への到達の確認を行なわず、工具を加工開始位置へ向けて切込み方向で位置決めを行なう。加工工程では、第２位置決め工程の完了が確認された後、主軸の指令回転速度への到達の確認を行い、速度到達が確認された後、工具を切込み方向へ加工送りする。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−３１７７７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１の制御方法は、主軸の回転速度が目標回転速度へ到達する前に主軸の送りを実行し、主軸を送っている最中に主軸の回転速度が目標回転速度に到達していることが確認できれば、そのまま加工を続ける方法である。
【０００７】
このような制御方法においては、主軸の回転および送り軸による主軸の送りは、互いに関連なく独立に行なわれる。具体的には、主軸の回転および送り軸による主軸の送りは、それぞれに、最大加速度および／または最大減速度で行なわれる。つまり、主軸の回転と主軸の送りとは、それぞれ、最大のパワーにより最短時間で実行される。
【０００８】
また、上記のように主軸の回転と主軸の送りとは互いに関連なく独立に行なわれるため、主軸の回転が目標回転速度に到達する時間と送り軸が目標位置に到達する時間とは、ほとんどの場合異なる。それゆえ、先に目標状態（目標回転速度あるいは目標位置）に到達した制御対象物は、他の制御対象物が目標状態に達するまで待機する必要がある。
【０００９】
このように、従来の制御方法では、最大のパワーにより最短時間で各制御対象物を目標状態に到達させる一方、先に目標状態に達した制御対象物は他方の制御対象物が目標状態となるまで待機しなければならない。このため、従来の制御方法では、電力を無駄に消費している。
【００１０】
本願発明は上記問題点に鑑みなされたものであって、その目的は、制御対象物を省電力で駆動可能な工作機械を提供することにある。
【課題を解決するための手段】
【００１１】
本発明のある局面に従うと、工作機械は、第１の制御対象物と第２の制御対象物とを備え、当該第１の制御対象物および当該第２の制御対象物を駆動する工作機械であって、第１の制御対象物の駆動時における最大加減速度および／または最大速度を含む第１の情報と、第２の制御対象物の駆動時における最大加減速度および／または最大速度を含む第２の情報とを格納した記憶装置と、第１の制御対象物が予め定められた第１の状態に達するまでの時間と、第２の制御対象物が予め定められた第２の状態に達するまでの時間とを、第１の情報および第２の情報に基づいて算出する算出手段と、第１の状態に達するまでの時間と第２の状態に達するまでの時間とを比較する比較手段と、第１の制御対象物の駆動と第２の制御対象物の駆動とを制御する駆動制御手段とを備え、駆動制御手段は、第１の状態に達するまでの時間が第２の状態に達するまでの時間よりも長いと判断された場合、第２の制御対象物が第２の状態に達するまでの時間が、算出された第２の状態に達する時間より長く、かつ算出された第１の状態に達するまでの時間以下の時間となるように、第２の制御対象物の駆動を制御する。
【００１２】
好ましくは、第１の制御対象物は、駆動として、回転および直線移動のいずれか一方のみを行い、第２の制御対象物は、駆動として、回転および直線移動のいずれか一方のみを行い、駆動制御手段は、第１の状態に達するまでの時間が第２の状態に達するまでの時間よりも長いと判断された場合、第２の制御対象物が第２の状態に達するまでの時間が、算出された第１の状態に達するまでの時間と同じとなるように、第２の制御対象物の駆動を制御する。
【００１３】
好ましくは、第１の制御対象物は、駆動として回転を行い、第２の制御対象物は、駆動として直線移動を行い、記憶装置は、第１の制御対象物の回転に伴う回転速度情報と、第２の制御対象物の直線移動に伴う移動位置情報とをさらに格納し、回転速度情報および移動位置情報に基づいて、第１の制御対象物が第１の状態に達するまでの時間と、第２の制御対象物が第２の状態に達するまでの時間とを算出する。
【発明の効果】
【００１４】
上記の工作機械によれば、制御対象物を省電力で駆動可能となる。
【図面の簡単な説明】
【００１５】
【図１】工作機械の斜視図である。
【図２】本体装置の斜視図である。
【図３】工作機械のハードウェア構成を示した図である。
【図４】ＮＣプログラムの一例を示した図である。
【図５】工作機械で実行される制御の一例を説明するための図である。
【図６】工作機械で実行される制御の他の例を説明するための図である。
【図７】工作機械で実行される制御のさらに他の例を説明するための図である。
【図８】数値制御装置の機能ブロック図である。
【図９】工作機械で実行される制御の一例を説明するための図である。
【図１０】工作機械で実行される制御の他の例を説明するための図である。
【図１１】工作機械における処理の流れを示したフローチャートである。
【図１２】主軸頭と主軸とを駆動させるための１つの指令を実行する際に、工作機械が実行する制御を説明するための図である。
【図１３】第１の回転体と第２の回転体とを駆動させるための１つの指令を実行する際に、工作機械が実行する制御を説明するための図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照しつつ、本発明の実施の形態に係る工作機械について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００１７】
＜工作機械の概要＞
図１は、本実施の形態に係る工作機械の斜視図である。図１を参照して、工作機械１は、本体装置５と、スプラッシュガード１０と、操作盤２０とを備える。以下では、工作機械１が立型のマシニングセンタである場合を例に挙げて説明する。
【００１８】
本体装置５は、ワークを加工する装置である。本体装置５は、テーブル７０と、主軸８０と、工具８１とを備える。本体装置５の詳細な構成については後述する（図２）。
【００１９】
スプラッシュガード１０は、開閉式のドア１１を備える。ドア１１は、取っ手１２と、窓１３とを備える。スプラッシュガード１０は、本体装置５の周囲に設けられている。スプラッシュガード１０は、本体装置５におけるワークの加工処理等に伴う、ユーザの保護、切り屑とクーラントとの飛散防止および回収などの機能を有する。ユーザは、取っ手１２を持って、ドア１１をスライドさせることができる。また、ユーザは、窓１３から本体装置５によるワークの加工を視認することができる。
【００２０】
操作盤２０は、モニタ２１と操作部２２とを備える。操作盤２０は、ユーザからの各種の操作を、操作部２２を介して受け付ける。操作盤２０は、ユーザによる操作に応じて、本体装置５の動作を制御する。モニタ２１は、各種の情報を表示する。モニタ２１は、たとえば、ワークの加工状況、ＮＣプログラム等の様々な情報を表示する。操作部２２は、ハードウェアキーや各種のスイッチを含む。
【００２１】
図２は、本体装置５の斜視図である。図２を参照して、本体装置５は、ベッド３０と、コラム４０と、主軸頭５０と、サドル６０と、テーブル７０と、主軸８０と、工具８１とを備えている。
【００２２】
ベッド３０は、コラム４０やサドル６０を支える台である。コラム４０は、主軸頭５０を支える台である。コラム４０は、ベッド３０に固定されている。主軸頭５０は、主軸８０をベアリングで支持するとともに、主軸モータ３０４（図３参照）の回転を主軸８０に伝達する。主軸頭５０は、コラム４０の前面側（サドル６０側）に、Ｚ軸方向に昇降可能に支持されている。
【００２３】
サドル６０は、テーブル７０を支える台である。サドル６０は、ベッド３０上をＹ軸方向に移動可能となっている。テーブル７０は、ワークを取り付ける台である。テーブル７０は、サドル６０上をＸ軸方向に移動可能となっている。
【００２４】
主軸８０は、Ｚ軸に平行な回転軸を中心に回転する。主軸８０には、テーブル７０の方向に工具８１が装着される。主軸８０の回転に伴い、工具８１が回転する。工具８１の回転により、テーブル７０上のワーク（図示せず）が加工される。主軸８０は、主軸頭８０の昇降に伴って、Ｚ軸方向に移動する。
【００２５】
＜ハードウェア構成＞
図３は、工作機械１のハードウェア構成を示した図である。図３にある通り、工作機械１は、操作盤２０と、数値制御装置１００と、アンプ群２００と、モータ群３００と、制御対象群４００と、センサ５００とを備える。
【００２６】
操作盤２０は、上述したとおり、モニタ２１と、操作部２２とを備える。
アンプ群２００は、Ｘ軸サーボモータ用アンプ２０１と、Ｙ軸サーボモータ用アンプ２０２と、Ｚ軸サーボモータ用アンプ２０３と、主軸モータ用アンプ２０４とを含んでいる。各アンプ２０１〜２０４は、数値制御装置１００からの制御信号を増幅し、当該増幅した信号を、それぞれモータ群３００の各モータに送る。
【００２７】
モータ群３００は、Ｘ軸サーボモータ３０１と、Ｙ軸サーボモータ３０２と、Ｚ軸サーボモータ３０３と、主軸モータ３０４とを含む。各モータ３０１〜３０４は、それぞれ対応するアンプ２０１〜２０４から送られてくる信号に基づき回転する。
【００２８】
制御対象群４００は、主軸頭５０、サドル６０、テーブル７０、主軸８０、ＡＴＣ（Automatic Tool Changer）ユニット９１、およびチップコンベア９２といった、工作機械１における制御対象物を含む。なお、制御対象物は、図示した物に限定されるものではない。
【００２９】
テーブル７０は、Ｘ軸サーボモータ３０１と接続されている。テーブル７０は、Ｘ軸サーボモータ３０１の回転に伴い、図２のＸ軸方向のうち当該回転に応じた向きに移動する。サドル６０は、Ｙ軸サーボモータ３０２と接続されている。サドル６０は、Ｙ軸サーボモータ３０２の回転に伴い、図２のＹ軸方向のうち当該回転に応じた向きに移動する。
【００３０】
主軸頭５０は、Ｚ軸サーボモータ３０３と接続されている。主軸頭５０は、Ｚ軸サーボモータ３０３の回転に伴い、図２のＺ軸方向のうち当該回転に応じた向きに移動する。主軸８０は、主軸モータ３０４と接続されている。主軸８０は、主軸モータ３０４の回転に伴い、当該回転に応じた向きに回転する。
【００３１】
ＡＴＣユニット９１は、工具の自動交換を行なう装置である。チップコンベア９２は、ワークの加工により生じた切り屑を搬送するための装置である。ＡＴＣユニット９１およびチップコンベア９２は、数値制御装置１００からの制御信号に基づき駆動する。
【００３２】
センサ５００は、主軸８０の回転数を検知する。センサ５００は、検知結果を数値制御装置１００に送る。なお、数値制御装置１００は、当該回転数から主軸８０の回転速度を算出する。
【００３３】
数値制御装置１００は、ＣＰＵ（Central Processing Unit）１０１と、メモリ１０２とを備える。メモリ１０２は、ＲＯＭ（Read Only Memory）１０２ａと、ＲＡＭ（Random Access Memory）１０２ｂと、フラッシュメモリ等の不揮発性の半導体メモリ１０２ｃとを有する。
【００３４】
ＣＰＵ１０１は、メモリ１０２に格納されたプログラムを実行する。ＲＯＭ１０２ａは、不揮発性の記憶媒体である。ＲＡＭ１０２は、各種プログラム、ＣＰＵ１０１によるプログラムの実行により生成されたデータ、および操作盤２０を介して入力されたデータを一時的に格納する。半導体メモリ１０２ｃは、ＮＣプログラム本体、ワークの加工に関するＮＣプログラム（図４参照）が記憶されている。ＮＣプログラムは、機械の動作モードを決定するコードと、動作以外の補助的な機能を指令するコードとを含むとともに、複数のブロックの配列から構成される。ＣＰＵ１０１は、当該ＮＣプログラムを１ブロック毎に解釈する。制御対象群４００に含まれる各制御対象物は、ＣＰＵ１０１による解釈によって生成されるプログラム指令に基づいて制御される。
【００３５】
また、メモリ１０２に格納されるプログラム等のソフトウェアは、メモリカード、その他の記憶媒体に格納されて、プログラムプロダクトとして流通している場合もある。あるいは、ソフトウェアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラムプロダクトとして提供される場合もある。このようなソフトウェアは、メモリカードリーダライタ、その他の読取装置によりその記憶媒体から読み取られて、あるいは、インターフェイスを介してダウンロードされた後、半導体メモリＲＡＭ１０２ｂに一旦格納される。そのソフトウェアは、ＣＰＵ１０１によってＲＡＭ１０２ｂから読み出され、さらに半導体メモリ１０２ｃに実行可能なプログラムの形式で格納される。ＣＰＵ１０１は、そのプログラムを実行する。
【００３６】
同図に示される工作機械１を構成する各構成要素は、一般的なものである。したがって、本発明の本質的な部分は、メモリ１０２、メモリカード、その他の記憶媒体に格納されたソフトウェア、あるいはネットワークを介してダウンロード可能なソフトウェアであるともいえる。
【００３７】
なお、記録媒体としては、ＤＶＤ-ＲＯＭ、ＣＤ−ＲＯＭ、ＦＤ（Flexible Disk）、ハードディスクに限られず、磁気テープ、カセットテープ、光ディスク（ＭＯ（Magnetic Optical Disc）／ＭＤ（Mini Disc）／ＤＶＤ（Digital Versatile Disc））、光カード、マスクＲＯＭ、ＥＰＲＯＭ（Electronically Programmable Read-Only Memory）、ＥＥＰＲＯＭ（Electronically Erasable Programmable Read-Only Memory）、フラッシュＲＯＭなどの半導体メモリ等の固定的にプログラムを担持する媒体でもよい。また、記録媒体は、当該プログラム等をコンピュータが読取可能な一時的でない媒体である。
【００３８】
ここでいうプログラムとは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００３９】
＜ＮＣプログラム＞
図４は、ＮＣプログラムの一例を示した図である。図４にある通り、ＮＣプログラムでは、ブロック番号に対応付けて指令が記述されている。１つのブロック番号に対応する指令が、上述した１つのブロックに該当する。なお、図４では、ＮＣプログラムＮｏ．１２３の一部分として、ブロック番号０００１〜００１０までの１０個の指令を示している。
【００４０】
なお、ＮＣプログラムＮｏ．１２３には、具体的には以下の指令内容が記述されている。ブロック番号０００１では、テーブル７０とサドル６０とを駆動（直線移動）させて、割り出し位置を（Ｘ，Ｙ，Ｚ）＝（１００，２００，０）とする。さらに、ブロック番号０００１では、テーブル７０およびサドル６０の駆動とともに、主軸８０の回転速度が１００００ｍｉｎ−１となるまで、主軸８０を回転させる。ブロック番号０００２では、主軸頭５０を移動させ、加工開始位置を（Ｘ，Ｙ，Ｚ）＝（１００，２００，６０）とする。
【００４１】
ブロック番号０００３では、（Ｘ，Ｙ，Ｚ）＝（１００，２００，７５）の位置まで１０００ｍｍ／ｍｉｎの速度でドリル（工具８１）により切り込むことによって、ワークにドリル加工を施す。つまり、ブロック番号０００３では、主軸頭５０を移動させる。ブロック番号０００４では、（Ｘ，Ｙ，Ｚ）＝（１００，２００，６０）の位置まで、工具８１を早送り後退させる。つまり、ブロック番号０００４では、主軸頭５０を早送り後退させる。
【００４２】
なお、以下では、ＮＣプログラムＮｏ．１２３等のメモリ１０２に格納されたＮＣプログラムの上からｐ番目の指令を「指令Ｃｐ」と、ｑ番目の指令を「指令Ｃｑ」と、ｒ番目の指令を「指令Ｃｒ」と表記する。なお、ｐ、ｑ、ｒは、それぞれ１以上の任意の自然数である。たとえば、ブロック番号０００１の指令は指令Ｃ１と表記する。
【００４３】
＜動作の概要＞
以下では、３つの具体例を挙げて、工作機械１で行われる制御の概要を説明する。まず、直線移動する制御対象物（一例として主軸頭５０）と回転する制御対象物（主軸８０）との間における制御について説明する。次に、直線移動する制御対象物同士（一例として主軸頭５０およびテーブル７０）における制御について説明する。最後に、直線移動する２つの制御対象物（一例として主軸頭５０およびテーブル７０）と回転する制御対象物（主軸８０）との間における制御について説明する。
【００４４】
（直線移動する制御対象物と回転する制御対象物との間における制御）
図５は、工作機械１で実行される制御の一例を説明するための図である。具体的には、図５は、主軸頭５０と主軸８０とを駆動させるための１つの指令を実行する際に、工作機械１が実行する制御を説明するための図である。
【００４５】
図５（ａ）は、比較のための図であって、主軸頭５０が指令Ｃｐにおいて規定された目標位置まで移動する際における、時間ｔと主軸頭５０の速度Ｖｓａとの関係を示した図である。より具体的には、図５（ａ）は、主軸頭５０が最大加速度で加速して最大移動速度まで達した後に、主軸頭５０が最大減速度で停止した状態を示した図である。つまり、図５（ａ）は、主軸頭５０が最短時間で目標位置に到達する場合における、時間ｔと主軸頭５０の速度Ｖｓａとの関係を示した図である。
【００４６】
図５（ｂ）は、主軸８０が上記指令Ｃｐにおいて規定された目標回転速度に達するまでの時間ｔと主軸８０の回転速度Ｖｒとの関係を示した図である。より具体的には、図５（ｂ）は、主軸８０が最大加速度で加速して目標回転速度に達した後に、主軸８０が当該目標回転速度で回転を続けている状態を示した図である。
【００４７】
図５（ａ）を参照して、主軸頭５０は、駆動を開始してから時間ｔ１秒後に指令Ｃｐに規定された目標位置に達する。図５（ｂ）を参照して、主軸８０は、駆動を開始してから時間ｔ２秒後（ｔ２＞ｔ１）に指令Ｃｐに規定された目標回転数に達する。したがって、主軸頭５０は、ｔ２−ｔ１秒の間、目標位置で待機する状態となる。
【００４８】
主軸頭５０は、上述したように、最大加速度および最大減速度によって最短時間で目標位置に到達する。その一方で、主軸頭５０は、主軸８０が目標回転数に達するまで待機することになる。このため、上記のような制御を工作機械１が行なった場合、主軸頭５０の駆動に関して無駄な電力を消費することになる。
【００４９】
そこで、工作機械１は、図５（ｃ）に示す制御を行なう。より好ましくは、工作機械１は、図５（ｄ）に示す制御を行なう。以下、図５（ｃ）と図５（ｄ）とに示す各制御について説明する。
【００５０】
図５（ｃ）は、主軸頭５０が上記指令Ｃｐにおいて規定された目標位置まで移動する際における、時間ｔと主軸頭５０の速度Ｖｓａとの関係を示した図である。より具体的には、図５（ｃ）は、主軸頭５０が駆動を開始してから時間ｔ３秒後（ｔ１＜ｔ３＜ｔ２）に上記目標位置に到達する場合における、時間ｔと主軸頭５０の速度Ｖｓａとの関係を示した図である。
【００５１】
図５（ｃ）を参照して、工作機械１は、たとえば、最大加速度で加速する時間および最大減速度で減速する時間を、図５（ａ）に示した各時間よりも短くすることにより、主軸頭５０の目標位置への到達時間を、図５（ａ）に示す到達時間ｔ１よりも遅くすることができる。あるいは、工作機械１は、最大加速度よりも小さい加速度で加速し、最大減速度よりも小さい減速度（減速度がマイナスの値で示される場合には、絶対値が小さい減速度）で減速することにより、主軸頭５０の目標位置への到達時間を、図５（ａ）に示す到達時間ｔ１よりも遅くすることができる。
【００５２】
工作機械１は、主軸頭５０に関し、図５（ｃ）に示すような制御を行なうことにより、最大加速度および最大減速度によって最短時間で目標位置に到達することはなくなるため、図５（ａ）に示す場合よりも消費電力を低減することができる。
【００５３】
図５（ｄ）は、主軸頭５０が上記指令Ｃｐにおいて規定された目標位置まで移動する場合における、時間ｔと主軸頭５０の速度Ｖｓａとの関係を示した図である。より具体的には、図５（ｄ）は、主軸頭５０が駆動を開始してから時間ｔ２秒後に上記目標位置に到達する場合における、時間ｔと主軸頭５０の速度Ｖｓａとの関係を示した図である。つまり、図５（ｄ）は、図５（ｃ）に示した場合よりも、主軸頭５０の目標位置への到達時間を遅くした場合であって、かつ主軸頭５０の目標位置への到達時間を主軸８０が目標回転速度に到達する時間ｔ２と同じにした場合を示した図である。
【００５４】
工作機械１は、主軸頭５０に関し、図５（ｄ）に示すような制御を行なうことにより、最大加速度および最大減速度によって最短時間で目標位置に到達することはなくなるため、図５（ａ）に示す場合よりも消費電力を低減することができる。また、工作機械１は、図５（ｄ）に示す制御では、図５（ｃ）の制御に比べて、加減速の時間を短く、あるいは加減速の値を小さくしている。このため、工作機械１は、図５（ｄ）に示す制御を行なう場合には、図５（ｃ）に示す制御を行なう場合に比べて、さらに、消費電力を低減することができる。
【００５５】
（直線移動する制御対象物同士における制御）
図６は、工作機械１で実行される制御の他の例を説明するための図である。具体的には、図６は、主軸頭５０とテーブル７０とを駆動させるための１つの指令を実行する際に、工作機械１が実行する制御を説明するための図である。
【００５６】
図６（ａ）は、比較のための図であって、主軸頭５０が指令Ｃｑにおいて規定された目標位置まで移動する場合における、時間ｔと主軸頭５０の速度Ｖｓａとの関係を示した図である。より具体的には、図６（ａ）は、主軸頭５０が最大加速度で加速して最大移動速度まで達した後に、主軸頭５０が最大減速度で停止した状態を示した図である。つまり、図６（ａ）は、主軸頭５０が最短時間で目標位置に到達する場合における、時間ｔと主軸頭５０の速度Ｖｓａとの関係を示した図である。
【００５７】
図６（ｂ）は、テーブル７０が指令Ｃｑにおいて規定された目標位置まで移動する場合における、時間ｔとテーブル７０の速度Ｖｓｂとの関係を示した図である。より具体的には、図６（ｂ）は、テーブル７０が最大加速度で加速して最大移動速度まで達した後に、テーブル７０が最大減速度で停止した状態を示した図である。つまり、図６（ｂ）は、テーブル７０が最短時間で目標位置に到達する場合にける、時間ｔとテーブル７０の速度Ｖｓｂとの関係を示した図である。
【００５８】
図６（ａ）を参照して、主軸頭５０は、駆動を開始してから時間ｔ１１秒後に指令Ｃｑに規定された目標位置に達する。図６（ｂ）を参照して、テーブル７０は、駆動を開始してから時間ｔ１２秒後（ｔ１２＜ｔ１１）に指令Ｃｑに規定された目標位置に達する。したがって、テーブル７０は、ｔ１１−ｔ１２秒の間、目標位置で待機する状態となる。
【００５９】
テーブル７０は、上述したように、最大加速度および最大減速度によって最短時間で目標位置に到達する。その一方で、テーブル７０は、主軸頭５０が目標位置に達するまで待機することになる。このため、上記のような制御を工作機械１が行なった場合、テーブル７０の駆動に関して無駄な電力を消費することになるといえる。
【００６０】
そこで、工作機械１は、図６（ｃ）に示す制御を行なう。より好ましくは、工作機械１は、図６（ｄ）に示す制御を行なう。以下、図６（ｃ）と図６（ｄ）とに示す各制御について説明する。
【００６１】
図６（ｃ）は、テーブル７０が上記指令Ｃｑにおいて規定された目標位置まで移動する場合における、時間ｔとテーブル７０の速度Ｖｓｂとの関係を示した図である。より具体的には、図６（ｃ）は、テーブル７０が駆動を開始してから時間ｔ１３秒後（ｔ１２＜ｔ１３＜ｔ１１）に上記目標位置に到達する場合における、時間ｔとテーブル７０の速度Ｖｓｂとの関係を示した図である。
【００６２】
図６（ｃ）を参照して、工作機械１は、たとえば、最大加速度で加速する時間および最大減速度で減速する時間を、図６（ｂ）に示した各時間よりも短くすることにより、テーブル７０の目標位置への到達時間を、図６（ｂ）に示す到達時間ｔ１２よりも遅くすることができる。あるいは、工作機械１は、最大加速度よりも小さい加速度で加速し、最大減速度よりも小さい減速度（減速度がマイナスの値で示される場合には、絶対値が小さい減速度）で減速することにより、テーブル７０の目標位置への到達時間を、図６（ｂ）に示す到達時間ｔ１２よりも遅くすることができる。
【００６３】
工作機械１は、テーブル７０に関し、図６（ｃ）に示すような制御を行なうことにより、最大加速度および最大減速度によって最短時間で目標位置に到達することはなくなるため、図６（ｂ）に示す場合よりも消費電力を低減することができる。
【００６４】
図６（ｄ）は、テーブル７０が上記指令Ｃｑにおいて規定された目標位置まで移動する場合における、時間ｔとテーブル７０の速度Ｖｓｂとの関係を示した図である。より具体的には、図６（ｄ）は、テーブル７０が駆動を開始してから時間ｔ１１秒後に上記目標位置に到達する場合における、時間ｔとテーブル７０の速度Ｖｓｂとの関係を示した図である。つまり、図６（ｄ）は、図６（ｃ）に示した場合よりも、テーブル７０の目標位置への到達時間を遅くした場合であって、かつテーブル７０の目標位置への到達時間を主軸頭５０が目標回転速度に到達する時間ｔ１１と同じにした場合を示した図である。
【００６５】
工作機械１は、テーブル７０に関し、図６（ｄ）に示すような制御を行なうことにより、最大加速度および最大減速度によって最短時間で目標位置に到達することはなくなるため、図６（ｂ）に示す場合よりも消費電力を低減することができる。また、工作機械１は、図６（ｄ）に示す制御では、図６（ｃ）の制御に比べて、加減速の時間を短く、あるいは加減速の値を小さくしている。このため、工作機械１は、図６（ｄ）に示す制御を行なう場合には、図６（ｃ）に示す制御を行なう場合に比べて、さらに、消費電力を低減することができる。
【００６６】
（直線移動する２つの制御対象物と回転する制御対象物との間における制御）
図７は、工作機械１で実行される制御のさらに他の例を説明するための図である。具体的には、図７は、主軸頭５０とテーブル７０と主軸８０とを駆動させるための１つの指令を実行する際に、工作機械１が実行する制御を説明するための図である。
【００６７】
図７（ａ）は、比較のための図であって、主軸頭５０が指令Ｃｒにおいて規定された目標位置まで移動する場合における、時間ｔと主軸頭５０の速度Ｖｓａとの関係を示した図である。より具体的には、図７（ａ）は、主軸頭５０が最大加速度で加速して最大移動速度まで達した後に、主軸頭５０が最大減速度で停止した状態を示した図である。つまり、図７（ａ）は、主軸頭５０が最短時間で目標位置に到達する場合における、時間ｔと主軸頭５０の速度Ｖｓａとの関係を示した図である。
【００６８】
図７（ｂ）は、比較のための図であって、テーブル７０が上記指令Ｃｒにおいて規定された目標位置まで移動する場合における、時間ｔとテーブル７０の速度Ｖｓｂとの関係を示した図である。より具体的には、図７（ｂ）は、テーブル７０が最大加速度で加速して最大移動速度まで達した後に、テーブル７０が最大減速度で停止した状態を示した図である。つまり、図７（ｂ）は、テーブル７０が最短時間で目標位置に到達する場合における、時間ｔとテーブル７０の速度Ｖｓｂとの関係を示した図である。
【００６９】
図７（ｃ）は、主軸８０が上記指令Ｃｒにおいて規定された目標回転速度に達するまでの時間ｔと回転速度Ｖｒとの関係を示した図である。より具体的には、図７（ｃ）は、主軸８０が最大加速度で加速して目標回転速度に達した後に、主軸８０が当該目標回転速度で回転を続けている状態を示した図である。
【００７０】
図７（ａ）を参照して、主軸頭５０は、駆動を開始してから時間ｔ２１秒後に指令Ｃｒに規定された目標位置に達する。図７（ｂ）を参照して、テーブル７０は、駆動を開始してから時間ｔ２２秒後（ｔ２２＜ｔ２１）に指令Ｃｒに規定された目標位置に達する。図７（ｃ）を参照して、主軸８０は、駆動を開始してから時間ｔ２３秒後（ｔ２３＞ｔ２１）に指令Ｃｒに規定された目標回転数に達する。したがって、主軸頭５０は、ｔ２３−ｔ２１秒の間、目標位置で待機する状態となる。また、テーブル７０は、ｔ２３−ｔ２２秒の間、目標位置で待機する状態となる。
【００７１】
主軸頭５０およびテーブル７０は、上述したように、最大加速度および最大減速度によって最短時間で目標位置に到達する。その一方で、主軸頭５０およびテーブル７０は、主軸８０が目標回転数に達するまで待機することになる。このため、上記のような制御を工作機械１が行なった場合、主軸頭５０およびテーブル７０の駆動に関して無駄な電力を消費することになるといえる。そこで、工作機械１は、好ましくは、以下の図７（ｄ）および（ｅ）に示す制御を行なう。
【００７２】
図７（ｄ）は、主軸頭５０が上記指令Ｃｒにおいて規定された目標位置まで移動する場合における、時間ｔと主軸頭５０の速度Ｖｓａとの関係を示した図である。より具体的には、図７（ｄ）は、主軸頭５０が駆動を開始してから時間ｔ２３秒後に上記目標位置に到達する場合における、時間ｔと主軸頭５０の速度Ｖｓａとの関係を示した図である。つまり、図７（ｄ）は、主軸頭５０の目標位置への到達時間を主軸８０が目標回転速度に到達する時間ｔ２３と同じにした場合を示した図である。
【００７３】
工作機械１は、主軸頭５０に関し、図７（ｄ）に示すような制御を行なうことにより、最大加速度および最大減速度によって最短時間で目標位置に到達することはなくなるため、図７（ａ）に示す場合よりも消費電力を低減することができる。
【００７４】
図７（ｅ）は、テーブル７０が上記指令Ｃｒにおいて規定された目標位置まで移動する場合における、時間ｔとテーブル７０の速度Ｖｓｂとの関係を示した図である。より具体的には、図７（ｅ）は、テーブル７０が駆動を開始してから時間ｔ２３秒後に上記目標位置に到達する場合における、時間ｔとテーブル７０の速度Ｖｓｂとの関係を示した図である。つまり、図７（ｅ）は、テーブル７０の目標位置への到達時間を主軸８０が目標回転速度に到達する時間ｔ２３と同じにした場合を示した図である。
【００７５】
工作機械１は、テーブル７０に関し、図７（ｅ）に示すような制御を行なうことにより、最大加速度および最大減速度によって最短時間で目標位置に到達することはなくなるため、図７（ｂ）に示す場合よりも消費電力を低減することができる。
【００７６】
なお、工作機械１は、主軸頭５０の目標位置への移動が、時間ｔ２１から時間ｔ２３の間に完了するように主軸頭５０の駆動を制御してもよい。また、工作機械１は、テーブル７０の目標位置への移動が、時間ｔ２２から時間ｔ２３の間に完了するようにテーブル７０の駆動を制御してもよい。
【００７７】
なお、上記においては、３つの具体例を挙げて説明したが、このような具体例に限定されるものではない。また、主軸８０については、図５および図７では、目標回転速度に達するまで上昇させる指示を実行する場合を例に挙げたが、目標回転速度まで下降させる指示を実行する場合にも同様な制御を適用できる。
【００７８】
以下、図５〜７に示した制御例を含む制御を実現するための工作機械１の具体的構成について説明する。より具体的には、一例として図５（ｄ）、図６（ｄ）、図７（ｄ）および（ｅ）に示した制御例を含む制御を実現するための工作機械１の具体的構成について説明する。
【００７９】
＜機能ブロック＞
図８は、数値制御装置１００の機能ブロック図である。図８にある通り、数値制御装置１００は、駆動制御部１１０と、記憶装置１２０と、移動位置算出部１３０と、回転速度算出部１４０と、時間算出部１５０と、比較部１６０と備える。駆動制御部１１０は、位置制御部１１１と、回転速度制御部１１２と、周辺機器制御部１１３とを含む。
【００８０】
なお、数値制御装置１００に含まれる各部１１０，１３０，１４０，１５０，１６０が機能ブロックであって、各機能ブロックは、具体的にはＣＰＵ１０１がメモリ１０２に格納されたプログラムを実行することにより実現される。なお、各機能ブロックは、ハードウェアによっても実現可能である。
【００８１】
記憶装置１２０は、ＮＣプログラム１２１と、Ｘ軸データ１２２と、Ｙ軸データ１２３と、Ｚ軸データ１２４と、主軸データ１２５とを予め格納している。記憶装置１２０は、さらに、位置情報１２６と、回転速度情報１２７とを格納する。なお、記憶装置１２０は、図３のメモリ１０２に相当する。
【００８２】
Ｘ軸データ１２２は、テーブル７０の最大加速度を示す最大加速度情報１２２ａと、テーブル７０の最大減速度を示す最大減速度情報１２２ｂと、テーブル７０の最大移動速度を示す最大移動速度情報１２２ｃとを含む。Ｙ軸データ１２３は、サドル６０の最大加速度を示した最大加速度情報１２３ａと、サドル６０の最大減速度を示した最大減速度情報１２３ｂと、サドル６０の最大移動速度を示した最大移動速度情報１２３ｃとを含む。Ｚ軸データ１２４は、主軸頭５０の最大加速度を示した最大加速度情報１２４ａと、主軸頭５０の最大減速度を示した最大減速度情報１２４ｂと、主軸頭５０の最大移動速度を示した最大移動速度情報１２４ｃとを含む。主軸データ１２５は、主軸８０の最大加速度を示した最大加速度情報１２５ａと、主軸８０の最大減速度を示した最大減速度情報１２５ｂと、主軸８０の最大回転速度を示した最大回転速度情報１２５ｃとを含む。
【００８３】
駆動制御部１１０は、記憶装置１２０に格納されたＮＣプログラム１２１や各情報に基づいて制御対象群４００に含まれる各制御対象物（図３参照）の駆動を制御する。
【００８４】
位置制御部１１１は、テーブル７０と、サドル６０と、主軸頭５０との各位置を制御する。つまり、位置制御部１１１は、テーブル７０、サドル６０、および主軸頭５０を、ＮＣプログラムの各指令に規定される各目標位置へと移動させる。なお、位置制御は、目標位置までの速度制御を含む概念である。なお、位置制御部１１１は、加減速度と当該加減速の時間とを制御することにより速度制御を行なう。
【００８５】
回転速度制御部１１２は、主軸８０の回転速度を制御する。つまり、回転速度制御部１１２は、ＮＣプログラムの各指令に規定される目標回転速度で主軸８０を回転させる制御を行なう。
【００８６】
周辺機器制御部１１３は、記憶装置１２０に予め格納されたＮＣプログラム１２１等に従ってＡＴＣユニット９１やチップコンベア９２等の本体装置５についての周辺機器の駆動を制御する。
【００８７】
移動位置算出部１３０は、駆動制御部１１０によるＮＣプログラムの各指令の実行に基づき、テーブル７０とサドル６０と主軸頭５０との各位置を、一定の時間間隔で算出する。移動位置算出部１３０は、算出した各位置の情報を位置情報１２６として格納する。つまり、移動位置算出部１３０は、テーブル７０の現在位置情報と、サドル６０の現在位置情報と、主軸頭５０の現在位置情報とを、位置情報１２６として格納する。なお、駆動制御部１１０は、各指令を実行する際に、位置情報１２６を参照して、制御対象群４００を駆動させる。
【００８８】
回転速度算出部１４０は、センサ５００から主軸８０の回転数を取得する。回転速度算出部１４０は、取得した回転数と、記憶装置１２０に予め格納した回転数と回転速度との関係を示すデータ（図示せず）とから、主軸８０の現在の回転速度を算出する。回転速度算出部１４０は、算出した主軸８０の回転速度を、回転速度情報１２７として記憶装置１２０に格納する。
【００８９】
時間算出部１５０は、１つの指令によって、テーブル７０、サドル６０、主軸頭５０、および主軸８０のうちの２つを駆動する場合、以下の演算を行なう。
【００９０】
時間算出部１５０は、第１の制御対象物が予め定められた第１の状態に達するまでの時間と、第２の制御対象物が予め定められた第２の状態に達するまでの時間とを、記憶装置１２０に格納したデータに基づいて算出する。
【００９１】
たとえば、第１の制御対象物が主軸８０であり、第２の制御対象物が主軸頭５０である場合、時間算出部１５０は、主軸８０が当該指令に規定された目標回転数に到達するまでの時間および主軸頭５０が当該指令に規定された目標位置に到達する時間を、それぞれ、主軸データ１２５およびＺ軸データ１２４に基づいて算出する。より詳しくは、時間算出部１５０は、主軸８０が当該指令に規定された目標回転数に到達するまでの時間（以下、「到達時間」とも称する）を、主軸データ１２５と回転速度情報１２７とに基づいて算出し、主軸頭５０が当該指令に規定された目標位置に到達する到達時間を、Ｚ軸データ１２４と位置情報１２６とに基づいて算出する。また、時間算出部１５０は、算出した各到達時間を比較部１６０に送る。
【００９２】
なお、１つの指令によって、テーブル７０、サドル６０、主軸頭５０、および主軸８０のうちの３つ以上を駆動する場合、時間算出部１５０は、駆動する３つ以上の制御対象物に関して、上述した手法にて到達時間を算出する。なお、この場合も、時間算出部１５０は、算出した各到達時間を比較部１６０に送る。
【００９３】
比較部１６０は、１つの指令によって、テーブル７０、サドル６０、主軸頭５０、および主軸８０のうちの２つを駆動する場合、第１の状態に達するまでの到達時間と、第２の状態に達するまでの到達時間とを比較する。たとえば、第１の制御対象物が主軸８０であり、第２の制御対象物が主軸頭５０である場合、主軸８０が当該指令に規定された目標回転数に達するまでの到達時間と、主軸頭５０が当該指令に規定された目標位置に達する到達時間との長さを比較する。比較部１６０は、比較した結果と、時間算出部１５０が算出した各到達時間とを駆動制御部１１０に送る。
【００９４】
なお、１つの指令によって、テーブル７０、サドル６０、主軸頭５０、および主軸８０のうちの３つ以上を駆動する場合、時間算出部１５０は、駆動する３つ以上の制御対象物に関して、算出した各到達時間の長さを比較する。この場合も、比較部１６０は、比較結果と、時間算出部１５０が算出した各到達時間とを駆動制御部１１０に送る。
【００９５】
駆動制御部１１０は、１つの指令によって、テーブル７０、サドル６０、主軸頭５０、および主軸８０のうちの２つを駆動する場合、第１の状態に達するまでの到達時間が第２の状態に達するまでの到達時間よりも長いと判断されたとき、第２の制御対象物が第２の状態に達するまでの到達時間が上記算出された第１の状態に達するまでの到達時間と同じとなるように第２の制御対象物の駆動を制御する。
【００９６】
たとえば、第１の制御対象物が主軸８０であり、第２の制御対象物が主軸頭５０である場合、指令に規定された目標回転速度に達するまでの到達時間が当該指令に規定された目標位置に達するまでの到達時間よりも長いと判断されたとき、駆動制御部１１０は、主軸頭５０が目標位置に達するまでの到達時間が上記算出された目標回転速度に達するまでの到達時間と同じとなるように主軸頭５０の駆動を制御する（図５（ｄ）参照）。
【００９７】
つまり、駆動制御部１１０は、算出された目標回転速度に達するまでの時間および算出された目標位置に達するまでの時間のうちの遅い方の時間に、制御対象物が目標回転速度に到達および目標位置に到達するように当該制御対象物の駆動を制御する。
【００９８】
ところで、上記においては、図５（ｄ）に示したように、目標回転速度に到達する到達時間と目標位置への到達時間とが同じになる制御を駆動制御部１１０が実行する構成を例に挙げたが、これに限定されるものではない。たとえば、図５（ｃ）に示したように両到達時間は、必ずしも一致しなくてもよい。この場合、駆動制御部１１０は、以下の構成であると言える。
【００９９】
駆動制御部１１０は、１つの指令によって、テーブル７０、サドル６０、主軸頭５０、および主軸８０のうちの２つを駆動する場合、第１の状態に達するまでの到達時間が第２の状態に達するまでの到達時間よりも長いと判断されたとき、第２の制御対象物が第２の状態に達するまでの到達時間が、上記算出された第２の状態に達する到達時間より長く、かつ上記算出された第１の状態に達するまでの到達時間以下の時間となるように、第２の制御対象物の駆動を制御する。
【０１００】
たとえば、第１の制御対象物が主軸８０であり、第２の制御対象物が主軸頭５０である場合、指令に規定された目標回転速度に達するまでの到達時間が当該指令に規定された目標位置に達するまでの到達時間よりも長いと判断されたとき、駆動制御部１１０は、主軸頭５０が目標位置に達するまでの到達時間が、上記算出された目標位置に達する到達時間より長く、かつ上記算出された目標回転速度に達するまでの到達時間以下の時間となるように、主軸頭５０の駆動を制御する。
【０１０１】
また、上記の例では、２つの制御対象物（第１の制御対象および第２の制御対象）を１つの指令で駆動させる場合の組み合わせとして、主軸８０と主軸頭５０との組み合わせを例に挙げて説明した。２つの制御対象物を１つの指令で駆動させる場合の他の組み合わせとしては、主軸８０とテーブル７０との組み合わせ、主軸８０とサドル６０との組み合わせ、主軸頭５０とテーブル７０との組み合わせ、主軸頭５０とサドル６０との組み合わせ、テーブル７０とサドル６０との組み合わせが挙げられる。
【０１０２】
また、１つの指令によって、テーブル７０、サドル６０、主軸頭５０、および主軸８０のうちの３つ以上を駆動する場合にも、駆動制御部１１０は、２つの場合と同様な制御を行なうため（図７参照）、ここでは説明を繰返さない。
【０１０３】
なお、３つの制御対象物を１つの指令で駆動させる場合の組み合わせとして、主軸８０と主軸頭５０とテーブル７０との組み合わせ、主軸８０と主軸頭５０とサドル６０との組み合わせ、主軸８０とテーブル７０とサドル６０との組み合わせ、主軸頭５０とテーブル７０とサドル６０との組み合わせがある。さらに、４つの制御対象物を１つの指令で駆動させる場合の組み合わせとして、主軸８０と主軸頭５０とテーブル７０とサドル６０の組み合わせとなる。
【０１０４】
この場合にも、駆動制御部１１０は、算出された目標回転速度に達するまでの時間および算出された各目標位置に達するまでの時間のうちの一番遅い方の時間に、各制御対象物が目標回転速度に到達および目標位置に到達するように当該制御対象物の駆動を制御する。
【０１０５】
＜動作の詳細＞
次に、駆動制御部１１０による制御の具体例について、「＜動作の概要＞」で述べた内容よりも詳細に説明する。なお、以下では、駆動制御部１１０が制御対象物の加速度および減速度を変更することにより上述した到達時間を一致させる構成について説明する。また、１つの指令によって主軸頭５０と主軸８０とを駆動する場合を例に挙げて説明する。
【０１０６】
図９は、工作機械１で実行される制御の一例を説明するための図である。具体的には、図９は、主軸頭５０と主軸８０とを駆動させるための１つの指令を実行する際に、工作機械１が実行する制御を説明するための図である。
【０１０７】
図９（ａ）は、主軸８０が上記指令において規定された目標回転速度に達するまでの時間ｔと主軸８０の回転速度Ｖｒとの関係を示した図である。より具体的には、図９（ａ）は、主軸８０が最大加速度で加速して目標回転速度Ｖ５１に達した後に、主軸８０が当該目標回転速度Ｖ５１で回転を続けている状態を示した図である。
【０１０８】
図９（ａ）を参照して、主軸８０は、指令に基づく駆動を開始してから時間ｔ３２秒後に目標回転速度Ｖ５１に到達する。なお、当該指令を実行する直前の主軸の回転速度はＶ５０である。主軸の回転速度がＶ５０であることは、記憶装置１２０の回転速度情報１２７として記憶されている。
【０１０９】
図９（ｂ）は、主軸頭５０が上記指令において規定された目標位置まで移動する場合における、時間ｔと主軸頭５０の速度Ｖｓａとの関係を示した図である。図９（ｂ）を参照して、破線のグラフは、比較例であり、主軸頭５０が最大加速度で加速して最大移動速度Ｖ１１まで達した後に、主軸頭５０が最大減速度で停止した状態を示している。この場合、時間算出部１５０による算出の結果、主軸頭５０は駆動を開始してから時間ｔ３１秒後（ｔ３１＜ｔ３２）に目標位置に到達することになる。
【０１１０】
そこで、駆動制御部１１０は、主軸頭５０の加速度および減速度を変更する。実線のグラフは、駆動制御部１１０が、主軸頭５０の加速度および減速度を変更した場合を示している。具体的には、駆動制御部１１０は、主軸頭５０の加速度を最大加速度よりも小さい値にし、主軸頭５０の減速度を最大減速度よりも小さい値に設定する。なお、図９（ｂ）では、駆動制御部１１０は、当該駆動における主軸頭５０の最高速度を、最大移動速度Ｖ１１よりも小さい速度Ｖ１２に設定する例を示している。
【０１１１】
駆動制御部１１０は、最大加速度情報１２４ａと最大減速度情報１２４ｂと最大移動速度情報１２４ｃとに基づいて、到達時間ｔ３２に目標位置に到達できるように、たとえば加速度と減速度と加速時間と減速時間とを設定する。具体的には、駆動制御部１１０は、加速度と減速度と加速時間と減速時間との設定を、記憶装置１２０に格納されたＮＣプログラムに基づいて行なう。
【０１１２】
到達時間ｔ３２に目標位置に到達するための、加速度と減速度と加速時間と減速時間との組み合わせは、複数存在する。たとえば、駆動制御部１１０は、加速度および減速度の各々を最大加速度および最大減速度から一定の割合だけ小さい値とし、かつ加速時間および減速時間を変更しないようにしてもよい。加速度と減速度と加速時間と減速時間との組み合わせは、特に限定されるものではない。
【０１１３】
図１０は、工作機械１で実行される制御の他の例を説明するための図である。具体的には、図１０は、図９と同様に、主軸頭５０と主軸８０とを駆動させるための１つの指令を実行する際に、工作機械１が実行する制御を説明するための図である。
【０１１４】
図１０（ａ）は、主軸頭５０が上記指令において規定された目標位置まで移動する場合における、時間ｔと主軸頭５０の速度Ｖｓａとの関係を示した図である。より具体的には、図１０（ａ）は、主軸頭５０が最大加速度で加速して最大移動速度Ｖ１１まで達した後に、主軸頭５０が最大減速度で停止した状態を示した図である。図１０（ａ）を参照して、主軸頭５０は、指令に基づく駆動を開始してから時間ｔ４１秒後に目標位置に到達する。
【０１１５】
図１０（ｂ）は、主軸８０が上記指令において規定された目標回転速度に達するまでの時間ｔと主軸８０の回転速度Ｖｒとの関係を示した図である。図１０（ｂ）を参照して、破線のグラフは、比較例であり、主軸８０が、回転速度Ｖ５０で既に回転している状態から最大加速度で加速して目標回転速度Ｖ５１まで達した後に、主軸８０が当該目標回転速度Ｖ５１で回転を続けている状態を示している。この場合、時間算出部１５０による算出の結果、主軸８０は当該指令に基づく駆動を開始してから時間ｔ４２秒後（ｔ４２＜ｔ４１）に目標回転速度Ｖ５１に到達することになる。
【０１１６】
そこで、駆動制御部１１０は、主軸８０の加速度を変更する。実線のグラフは、駆動制御部１１０が、主軸８０の加速度を変更した場合を示している。具体的には、駆動制御部１１０は、主軸８０の加速度を最大加速度よりも小さい値に設定する。
【０１１７】
駆動制御部１１０は、最大加速度情報１２５ａと最大回転速度情報１２５ｃとに基づいて、到達時間ｔ４１に目標回転速度Ｖ５１に到達できるように、加速度と加速時間とを設定する。具体的には、駆動制御部１１０は、加速度と加速時間との設定を、記憶装置１２０に格納されたＮＣプログラムに基づいて行なう。なお、到達時間ｔ４１に目標回転速度Ｖ５１に到達するための加速度と加速時間との組み合わせは、加速度が一定の場合には一意に定まる。
【０１１８】
なお、図９および図１０においては、工作機械１が、１つの指令において主軸頭５０と主軸８０とを駆動する場合の例を挙げて説明した。主軸頭５０と主軸８０との組み合わせ以外の制御対象物同士の組み合わせにおいても、主軸頭５０と主軸８０との組み合わせの場合と同様な制御が行われる。すなわち、工作機械１では、算出された目標回転速度に達するまでの時間および算出された各目標位置に達するまでの時間のうちの一番遅い方の時間に、各制御対象物が目標回転速度に到達および目標位置に到達するように当該制御対象物の駆動を制御する。
【０１１９】
＜制御構造＞
図１１は、工作機械１における処理の流れを示したフローチャートである。なお、以下では、主軸頭５０、サドル６０、およびテーブル７０のように直線移動する制御対象物を、「移動体」とも称する。
【０１２０】
図１１にある通り、ステップＳ２において、工作機械１は、記憶装置１２０に予め記憶した変数ｉ（図示せず）の値を１に設定する。なお、ｉは、１以上の自然数である。ステップＳ４において、工作機械１は、ｉ番目の指令を記憶装置１２０のＮＣプログラム１２１から読み出す。ステップＳ６において、工作機械１は、当該読み出したｉ番目の指令に、主軸８０の回転速度を指示する記述があるか否かを判断する。
【０１２１】
工作機械１は、主軸８０の回転速度を指示する記述があると判断した場合（ステップＳ６においてＹＥＳ）、ステップＳ８において、上記読み出したｉ番目の指令に、少なくとも１つの移動体についての位置を指示する記述があるか否かを判断する。工作機械１は、少なくとも１つの移動体についての位置を指示する記述があると判断した場合（ステップＳ８においてＹＥＳ）、ステップＳ１０において、主軸８０に関し、最大加速度および最大減速度で加減速を行なった場合における、目標回転速度への到達時間Ａ（Ｓ）を算出する。
【０１２２】
ステップＳ１２において、工作機械１は、ｉ番目の指令にて目標位置への移動を指示された各移動体に関し、最大加速度および最大減速度で加減速を行なった場合における、目標位置への到達時間Ｂｊ（ｓ）を求める。なお、ｊは、１以上の自然数である。ここで、目標位置への移動を指示された移動体が１つの場合には、工作機械１は、到達時間Ｂ１（ｓ）を求める。目標位置への移動を指示された移動体が２つの場合には、工作機械１は、２つの到達時間（到達時間Ｂ１（ｓ）、Ｂ２（ｓ））を求める。目標位置への移動を指示された移動体が３つの場合には、工作機械１は、３つの到達時間（到達時間Ｂ１（ｓ）、Ｂ２（ｓ）、Ｂ３（ｓ））を求める。
【０１２３】
ステップＳ１４において、工作機械１は、到達時間Ａ（ｓ）、Ｂｊ（ｓ）のうち値が最も大きい到達時間に、主軸８０および目標位置への移動を指示された各移動体が、それぞれ、目標回転速度および目標位置に到達するように、各制御対象物の加減度および／または減速度を算出する。また、工作機械１は、必要に応じて、加速時間および減速時間も算出する。ステップＳ１６において、工作機械１は、制御対象物の加速度および／または減速度を、算出後の加速度および／または減速度に設定する。
【０１２４】
ステップＳ１８において、工作機械１は、ｉ番目の指令を実行する。ステップＳ２０において、工作機械１は、次の指令があるか否かを判断する。工作機械１は、次の指令があると判断した場合（ステップＳ２０においてＹＥＳ）、ステップＳ３０において、ｉの値を１つ増加させる。工作機械１は、ステップＳ３０の処理の後、処理をステップＳ４に戻す。工作機械１は、次の指令がないと判断した場合（ステップＳ２０においてＮＯ）、処理を終了する。
【０１２５】
工作機械１は、主軸８０の回転速度を指示する記述がないと判断した場合（ステップＳ６においてＮＯ）、ステップＳ２２において、上記読み出したｉ番目の指令に、２つ以上の移動体についての位置を指示する記述があるか否かを判断する。工作機械１は、２つ以上の移動体についての位置を指示する記述があると判断した場合（ステップＳ２２においてＹＥＳ）、ステップＳ２４において、ｉ番目の指令にて目標位置への移動を指示された各移動体に関し、最大加速度および最大減速度で加減速を行なった場合における、目標位置への到達時間Ｂｊ（ｓ）を求める。一方、工作機械１は、２つ以上の移動体についての位置を指示する記述がないと判断した場合（ステップＳ２２においてＮＯ）、処理をステップＳ１８に進める。
【０１２６】
ステップＳ２６において、工作機械１は、到達時間Ｂｊ（ｓ）のうち値が最も大きい到達時間に、目標位置への移動を指示された各移動体が、それぞれの目標位置に到達するように、各移動体の加減度および／または減速度を算出する。また、工作機械１は、必要に応じて、加速時間および減速時間も算出する。ステップＳ２８において、工作機械１は、各移動体の加速度および／または減速度を、算出後の加速度および／または減速度に設定する。
【０１２７】
＜変形例＞
（１）以下、１つの指令によって主軸頭５０と主軸８０とを駆動する場合であって、駆動制御部１１０が主軸頭５０の加速時間および減速時間を変更することにより、目標位置への到達時間と目標回転速度への到達時間とを一致させる構成について説明する。つまり、駆動制御部１１０が、図９のように加速度と減速度と加速時間と減速時間とを変更するのではなく、加速時間および減速時間のみを変更する構成について説明する。
【０１２８】
図１２は、主軸頭５０と主軸８０とを駆動させるための１つの指令を実行する際に、工作機械１が実行する制御を説明するための図である。より具体的には、図１２は、主軸頭５０の加速度および減速度を変更せずに、主軸頭５０の加速時間および減速時間を変更する構成を説明するための図である。
【０１２９】
図１２（ａ）は、主軸８０が上記指令において規定された目標回転速度に達するまでの時間ｔと主軸８０の回転速度Ｖｒとの関係を示した図である。より具体的には、図１２（ａ）は、主軸８０が最大加速度で加速して目標回転速度Ｖ５１に達した後に、主軸８０が当該目標回転速度Ｖ５１で回転を続けている状態を示した図である。図１２（ａ）を参照して、主軸８０は、指令に基づく駆動を開始してから時間ｔ３２秒後に目標回転速度Ｖ５１に到達する。なお、当該指令を実行する直前の主軸の回転速度はＶ５０である。
【０１３０】
図１２（ｂ）は、主軸頭５０が上記指令において規定された目標位置まで移動する際における、時間ｔと主軸頭５０の速度Ｖｓａとの関係を示した図である。図１２（ｂ）を参照して、破線のグラフは、比較例であり、主軸頭５０が最大加速度で加速して最大移動速度Ｖ１１まで達した後に、主軸頭５０が最大減速度で停止した状態を示している。この場合、時間算出部１５０による算出の結果、主軸頭５０は駆動を開始してから時間ｔ３１秒後（ｔ３１＜ｔ３２）に目標位置に到達することになる。
【０１３１】
そこで、駆動制御部１１０は、主軸頭５０の加速時間および減速時間を変更する。実線のグラフは、駆動制御部１１０が主軸頭５０の加速時間および減速時間を変更した場合を示している。具体的には、駆動制御部１１０は、主軸頭５０の加速時間および減速時間を、それぞれ、破線のグラフに示す加速時間および減速時間よりも小さい値に設定する。
【０１３２】
駆動制御部１１０は、最大加速度情報１２４ａと最大減速度情報１２４ｂと最大移動速度情報１２４ｃとに基づいて、到達時間ｔ３２に目標位置に到達できるように、加速時間と減速時間とを設定する。具体的には、駆動制御部１１０は、加速時間と減速時間との設定を、記憶装置１２０に格納されたＮＣプログラムに基づいて行なう。より具体的には、駆動制御部１１０は、一定加速度および一定減速度で所定の距離を時間ｔ３２秒で進めるために必要な加速時間および減速時間を演算により求める。
【０１３３】
なお、上記においては、主軸８０と主軸頭５０との組み合わせを例に挙げて説明しているが、主軸８０と他の移動体（サドル６０、テーブル７０）との組み合わせについても同様である。
【０１３４】
（２）上記においては、駆動制御部１１０による上述した特有の制御を、回転駆動する回転体（主軸８０）と移動体（直線移動する制御対象物（主軸頭５０、サドル６０、テーブル７０））とに適用した構成、あるいは移動体同士に適用した構成（図６参照）について述べた。以下では、駆動制御部１１０による特有の制御を、回転駆動する回転体同士に適用する構成について説明する。
【０１３５】
なお、回転体同士としては、たとえば、主軸８０と、ＡＴＣユニット９１におけるＡＴＣアーム（図示せず）とが挙げられる。なお、ＡＴＣアームとは、工具を把握するアームであって、回転軸を中心に回転するアームである。
【０１３６】
図１３は、第１の回転体と第２の回転体とを駆動させるための１つの指令を実行する際に、工作機械１が実行する制御を説明するための図である。
【０１３７】
図１３（ａ）は、比較例であって、第１の回転体が上記指令において規定された目標回転速度Ｖ８１に達するまでの時間ｔと第１の回転体の回転速度Ｖｓｄとの関係を示した図である。より具体的には、図１３（ａ）は、第１の回転体が最大加速度で加速して目標回転速度Ｖ８１に達した後に、当該第１の回転体が当該目標回転速度Ｖ８１で回転を続けている状態を示した図である。図１３（ａ）を参照して、第１の回転体は、指令に基づく駆動を開始してから時間ｔ５１秒後に目標回転速度Ｖ８１に到達する。
【０１３８】
図１３（ｂ）は、第２の回転体が上記指令において規定された目標回転速度Ｖ９１に達するまでの時間ｔと第２の回転体の回転速度Ｖｓｅとの関係を示した図である。より具体的には、図１３（ｂ）は、第２の回転体が最大加速度で加速して目標回転速度Ｖ９１に達した後に、当該第２の回転体が当該目標回転速度Ｖ９１で回転を続けている状態を示した図である。図１３（ｂ）を参照して、第２の回転体は、指令に基づく駆動を開始してから時間ｔ５２秒後（ｔ５２＞ｔ５１）に目標回転速度Ｖ９１に到達する。
【０１３９】
図１３（ｃ）は、駆動制御部１１０による上記特有の制御を行なった場合における、第１の回転体が目標回転速度Ｖ８１に達するまでの時間ｔと第１の回転体の回転速度Ｖｓｄとの関係を示した図である。図１３（ｃ）を参照して、工作機械１は、第１の回転体が駆動を開始してから時間ｔ５２秒後に第１の回転体の回転速度Ｖｓｄを目標回転速度Ｖ８１に到達させる。
【０１４０】
工作機械１は、第１の回転体に関し、図１３（ｃ）に示すような制御を行なうことにより、最大加速度により最短時間で目標回転速度Ｖ８１に到達させずにすむ。このため、工作機械１は、図１３（ａ）に示す場合よりも消費電力を低減することができる。
【０１４１】
（３）上記特有の制御は、ワークと工具とを回転させて当該ワークを加工する装置（たとえば、スピニングツールによる加工を行なう装置）にも適用可能である。また、上記特有の制御は、旋盤にも適用可能である。たとえば、直線移動を行なうタレットと、ワークを固定し、かつ当該ワークとともに回転するチャックとの間において、上記特有の制御を適用可能である。
【０１４２】
（４）上述したように、工作機械１では、ＮＣプログラムの各指令の実行に基づき、各移動体（テーブル７０、サドル６０、および主軸頭５０）の各位置を、一定の時間間隔で算出した。当該各位置の算出は、ＮＣプログラムの各指令に含まれる座標値を基に演算によって求めてもよい。あるいは、当該各位置の算出を、リニアスケールを用いて行なってもよい。各移動体の現在位置の取得方法は特に限定されるものではない。
【０１４３】
（５）今回開示された実施の形態は例示であって、上記内容のみに制限されるものではない。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１４４】
１  工作機械、５  本体装置、５０  主軸頭、６０  サドル、７０  テーブル、８０  主軸、８１  工具、１００  数値制御装置、１１０  駆動制御部、１１１  位置制御部、１１２  回転速度制御部、１１３  周辺機器制御部、１２０  記憶装置、１３０  移動位置算出部、１４０  回転速度算出部、１５０  時間算出部、１６０  比較部、３０１  Ｘ軸サーボモータ、３０２  Ｙ軸サーボモータ、３０３  Ｚ軸サーボモータ、３０４  主軸モータ、５００  センサ。
【図１】
0005532306.tif 000002
【図２】
0005532306.tif 000003
【図３】
0005532306.tif 000004
【図４】
0005532306.tif 000005
【図５】
0005532306.tif 000006
【図６】
0005532306.tif 000007
【図７】
0005532306.tif 000008
【図８】
0005532306.tif 000009
【図９】
0005532306.tif 000010
【図１０】
0005532306.tif 000011
【図１１】
0005532306.tif 000012
【図１２】
0005532306.tif 000013
【図１３】
0005532306.tif 000014