(57)【要約】【課題】主軸の加減速を抑制できる制御装置及び工作機械等を提供する。【解決手段】制御装置は、主軸ヘッドの位置と工具マガジンの角度に関する関数に基づき、第一範囲と、主軸ヘッドと工具マガジンが干渉する第二範囲との境界を設定する設定部と、工具の交換位置まで前記工具マガジンの回転を実行する第一回転実行部と、第一回転実行部に依る回転の実行後、工具マガジンの角度が第一範囲に存在するか否か判定する第二判定部と、第二判定部にて、工具マガジンの角度が第一範囲に存在すると判定した場合、主軸ヘッドの制動距離及び主軸ヘッドの所在位置と境界との間の移動可能距離を演算する演算部と、演算部にて演算した制動距離が移動可能距離よりも大きいか否か判定する第三判定部と、第三判定部にて、制動距離が移動可能距離よりも大きくないと判定した場合、主軸ヘッドの加速を実行する加速部とを備える。【選択図】図３
2019067394.tif 000002
【特許請求の範囲】
【請求項１】
工具を装着する主軸と、該主軸を支持し且つ工具で加工する加工領域と工具を交換する交換領域を移動可能な主軸ヘッドと、複数の工具を収納する回転可能な工具マガジンとを備える工作機械の制御装置であって、前記主軸ヘッドの移動と前記工具マガジンの回転で前記主軸に装着した工具と前記工具マガジンが収納した工具を交換する際、前記主軸ヘッドと前記工具マガジンが収納した工具が干渉しない第一範囲に、前記主軸ヘッドが存在するか否か判定する第一判定部を備え、前記第一判定部にて、前記主軸ヘッドが前記第一範囲に存在すると判定した場合、前記第一範囲内にて前記工具マガジンを回転させる制御装置において、
前記主軸ヘッドの位置と前記工具マガジンの角度に関する関数に基づき、前記第一範囲と、前記主軸ヘッドと工具マガジンが干渉する第二範囲との境界を設定する設定部と、
工具の交換位置まで前記工具マガジンの回転を実行する第一回転実行部と、
該第一回転実行部に依る回転の実行後、前記工具マガジンの角度が前記第一範囲に存在するか否か判定する第二判定部と、
該第二判定部にて、前記工具マガジンの角度が前記第一範囲に存在すると判定した場合、前記主軸ヘッドの制動距離及び前記主軸ヘッドの所在位置と前記境界との間の移動可能距離を演算する演算部と、
該演算部にて演算した前記制動距離が前記移動可能距離よりも大きいか否か判定する第三判定部と、
該第三判定部にて、前記制動距離が前記移動可能距離よりも大きくないと判定した場合、前記主軸ヘッドの加速を実行する加速部と
を備えることを特徴とする制御装置。
【請求項２】
前記主軸ヘッドの位置と前記工具マガジンの角度を示す複数の座標を線形補間して、前記関数を演算すること
を特徴とする請求項１に記載の制御装置。
【請求項３】
前記第三判定部にて前記制動距離が前記移動可能距離よりも大きいと判定した場合、前記主軸ヘッドの減速を実行する減速部を備えること
を特徴とする請求項１に記載の制御装置。
【請求項４】
主軸ヘッドと、
工具マガジンと、
請求項１〜３のいずれか一つに記載の制御装置と
を備えることを特徴とする工作機械。
【請求項５】
工具を装着する主軸と、該主軸を支持し且つ工具で加工する加工領域と工具を交換する交換領域を移動可能な主軸ヘッドと、複数の工具を収納する回転可能な工具マガジンとを備える工作機械の制御方法であって、前記主軸ヘッドの移動と前記工具マガジンの回転で前記主軸に装着した工具と前記工具マガジンが収納した工具を交換する際、前記主軸ヘッドと前記工具マガジンが収納した工具が干渉しない第一範囲に、前記主軸ヘッドが存在するか否か判定し、前記主軸ヘッドが前記第一範囲に存在すると判定した場合、前記第一範囲内にて前記工具マガジンを回転させる制御方法において、
前記主軸ヘッドの位置と前記工具マガジンの角度に関する関数に基づき、前記第一範囲と、前記主軸ヘッドと工具マガジンが干渉する第二範囲との境界を設定し、
工具の交換位置まで前記工具マガジンの回転を実行し、
回転の実行後、前記工具マガジンの角度が前記第一範囲に存在するか否か判定し、
前記工具マガジンの角度が前記第一範囲に存在すると判定した場合、前記主軸ヘッドの制動距離及び前記主軸ヘッドの所在位置と前記境界との間の移動可能距離を演算し、
演算した前記制動距離が前記移動可能距離よりも大きいか否か判定し、
前記制動距離が前記移動可能距離よりも大きくないと判定した場合、前記主軸ヘッドの加速を実行する
ことを特徴とする制御方法。
【請求項６】
工具を装着する主軸と、該主軸を支持し且つ工具で加工する加工領域と工具を交換する交換領域を移動可能な主軸ヘッドと、複数の工具を収納する回転可能な工具マガジンとを備える工作機械の制御装置であって、前記主軸ヘッドの移動と前記工具マガジンの回転で前記主軸に装着した工具と前記工具マガジンが収納した工具を交換する際、前記主軸ヘッドと前記工具マガジンが収納した工具が干渉しない第一範囲に、前記主軸ヘッドが存在するか否か判定し、前記主軸ヘッドが前記第一範囲に存在すると判定した場合、前記第一範囲内にて前記工具マガジンを回転させる制御装置で実行可能なコンピュータプログラムにおいて、
前記主軸ヘッドの位置と前記工具マガジンの角度に関する関数に基づき、前記第一範囲と、前記主軸ヘッドと工具マガジンが干渉する第二範囲との境界を設定し、
工具の交換位置まで前記工具マガジンの回転を実行し、
回転の実行後、前記工具マガジンの角度が前記第一範囲に存在するか否か判定し、
前記工具マガジンの角度が前記第一範囲に存在すると判定した場合、前記主軸ヘッドの制動距離及び前記主軸ヘッドの所在位置と前記境界との間の移動可能距離を演算し、
演算した前記制動距離が前記移動可能距離よりも大きいか否か判定し、
前記制動距離が前記移動可能距離よりも大きくないと判定した場合、前記主軸ヘッドの加速を実行する
処理を実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工具を装着する主軸と工具マガジンの駆動を制御する制御装置、工作機械、制御方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
特許文献１に記載の工作機械は工具交換時に主軸の移動と工具マガジンの回転を並行して実行する。該工作機械は工具マガジンが保持する工具と主軸の干渉を回避する必要がある。工作機械は回避が可能な主軸の上下位置とマガジンの角度の関係を示すテーブルを記憶する。工作機械はテーブルを参照し、干渉しない範囲で主軸と工具マガジンを駆動する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２０５９７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
テーブルに記憶したデータ数が少ない場合、主軸の移動の際、頻繁に加減速を繰り返し、振動と異音の発生、モータへの負荷の増大を引き起こす問題がある。またテーブルに記憶するデータ数を増加させると、データを入力する作業者の負担が大きくなる。
【０００５】
本発明は斯かる事情に鑑みてなされたものであり、主軸の加減速を抑制できる制御装置、工作機械、制御方法及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る制御装置は、工具を装着する主軸と、該主軸を支持し且つ工具で加工する加工領域と工具を交換する交換領域を移動可能な主軸ヘッドと、複数の工具を収納する回転可能な工具マガジンとを備える工作機械の制御装置であって、前記主軸ヘッドの移動と前記工具マガジンの回転で前記主軸に装着した工具と前記工具マガジンが収納した工具を交換する際、前記主軸ヘッドと前記工具マガジンが収納した工具が干渉しない第一範囲に、前記主軸ヘッドが存在するか否か判定する第一判定部を備え、前記第一判定部にて、前記主軸ヘッドが前記第一範囲に存在すると判定した場合、前記第一範囲内にて前記工具マガジンを回転させる制御装置において、前記主軸ヘッドの位置と前記工具マガジンの角度に関する関数に基づき、前記第一範囲と、前記主軸ヘッドと工具マガジンが干渉する第二範囲との境界を設定する設定部と、具の交換位置まで前記工具マガジンの回転を実行する第一回転実行部と、該第一回転実行部に依る回転の実行後、前記工具マガジンの角度が前記第一範囲に存在するか否か判定する第二判定部と、該第二判定部にて、前記工具マガジンの角度が前記第一範囲に存在すると判定した場合、前記主軸ヘッドの制動距離及び前記主軸ヘッドの所在位置と前記境界との間の移動可能距離を演算する演算部と、該演算部にて演算した前記制動距離が前記移動可能距離よりも大きいか否か判定する第三判定部と、該第三判定部にて、前記制動距離が前記移動可能距離よりも大きくないと判定した場合、前記主軸ヘッドの加速を実行する加速部とを備えることを特徴とする。
【０００７】
本発明においては、主軸ヘッドと工具マガジンが干渉しない第一範囲と、主軸ヘッドと工具マガジンが干渉する第二範囲の境界を関数で設定する。干渉しない範囲にて主軸ヘッドの移動を実行する場合、関数で決定した移動可能な範囲で主軸ヘッドは移動するので、主軸ヘッドの速度の最適化を実現する。
【０００８】
本発明に係る制御装置は、前記主軸ヘッドの位置と前記工具マガジンの角度を示す複数の座標を線形補間して、前記関数を演算することを特徴とする。
【０００９】
本発明においては、主軸ヘッドの位置と工具マガジンの角度を示す複数の座標を線形補間して、関数を作成する。
【００１０】
本発明に係る制御装置は、前記第三判定部にて前記制動距離が前記移動可能距離よりも大きいと判定した場合、前記主軸ヘッドの減速を実行する減速部を備えることを特徴とする。
【００１１】
本発明においては、主軸ヘッドの制動距離が移動可能距離よりも大きい場合、主軸ヘッドは境界を超え、工具マガジンに干渉する。制動距離が移動可能距離よりも大きい場合、制御装置は主軸ヘッドの減速を実行し、主軸ヘッドと工具マガジンとの干渉を回避することができる。
【００１２】
本発明に係る工作機械は、主軸ヘッドと、工具マガジンと、上述したいずれかの制御装置とを備えることを特徴とする。
【００１３】
本発明においては、主軸ヘッドが所定位置に存在し、工具マガジンの角度が所定角度である場合、主軸ヘッドと工具マガジンが干渉しない第一範囲と、主軸ヘッドと工具マガジンが干渉する第二範囲の境界を関数で設定する。関数を使用し、主軸ヘッドの速度設定の最適化を実現する。
【００１４】
本発明に係る制御方法は、工具を装着する主軸と、該主軸を支持し且つ工具で加工する加工領域と工具を交換する交換領域を移動可能な主軸ヘッドと、複数の工具を収納する回転可能な工具マガジンとを備える工作機械の制御方法であって、前記主軸ヘッドの移動と前記工具マガジンの回転で前記主軸に装着した工具と前記工具マガジンが収納した工具を交換する際、前記主軸ヘッドと前記工具マガジンが収納した工具が干渉しない第一範囲に、前記主軸ヘッドが存在するか否か判定し、前記主軸ヘッドが前記第一範囲に存在すると判定した場合、前記第一範囲内にて前記工具マガジンを回転させる制御方法において、前記主軸ヘッドの位置と前記工具マガジンの角度に関する関数に基づき、前記第一範囲と、前記主軸ヘッドと工具マガジンが干渉する第二範囲との境界を設定し、工具の交換位置まで前記工具マガジンの回転を実行し、回転の実行後、前記工具マガジンの角度が前記第一範囲に存在するか否か判定し、前記工具マガジンの角度が前記第一範囲に存在すると判定した場合、前記主軸ヘッドの制動距離及び前記主軸ヘッドの所在位置と前記境界との間の移動可能距離を演算し、演算した前記制動距離が前記移動可能距離よりも大きいか否か判定し、前記制動距離が前記移動可能距離よりも大きくないと判定した場合、前記主軸ヘッドの加速を実行することを特徴とする。
【００１５】
本発明においては、主軸ヘッドと工具マガジンが干渉しない第一範囲と、主軸ヘッドと工具マガジンが干渉する第二範囲の境界を関数で設定する。干渉しない範囲にて主軸ヘッドの移動を実行する場合、関数で決定した移動可能な範囲で主軸ヘッドは移動するので、主軸ヘッドの速度の最適化を実現する。
【００１６】
本発明に係るコンピュータプログラムは、工具を装着する主軸と、該主軸を支持し且つ工具で加工する加工領域と工具を交換する交換領域を移動可能な主軸ヘッドと、複数の工具を収納する回転可能な工具マガジンとを備える工作機械の制御装置であって、前記主軸ヘッドの移動と前記工具マガジンの回転で前記主軸に装着した工具と前記工具マガジンが収納した工具を交換する際、前記主軸ヘッドと前記工具マガジンが収納した工具が干渉しない第一範囲に、前記主軸ヘッドが存在するか否か判定し、前記主軸ヘッドが前記第一範囲に存在すると判定した場合、前記第一範囲内にて前記工具マガジンを回転させる制御装置で実行可能なコンピュータプログラムにおいて、前記主軸ヘッドの位置と前記工具マガジンの角度に関する関数に基づき、前記第一範囲と、前記主軸ヘッドと工具マガジンが干渉する第二範囲との境界を設定し、工具の交換位置まで前記工具マガジンの回転を実行し、回転の実行後、前記工具マガジンの角度が前記第一範囲に存在するか否か判定し、前記工具マガジンの角度が前記第一範囲に存在すると判定した場合、前記主軸ヘッドの制動距離及び前記主軸ヘッドの所在位置と前記境界との間の移動可能距離を演算し、演算した前記制動距離が前記移動可能距離よりも大きいか否か判定し、前記制動距離が前記移動可能距離よりも大きくないと判定した場合、前記主軸ヘッドの加速を実行する処理を実行させることを特徴とする。
【００１７】
本発明においては、主軸ヘッドと工具マガジンが干渉しない第一範囲と、主軸ヘッドと工具マガジンが干渉する第二範囲の境界を関数で設定する。干渉しない範囲にて主軸ヘッドの移動を実行する場合、関数で決定した移動可能な範囲で主軸ヘッドは移動するので、主軸ヘッドの速度の最適化を実現する。
【発明の効果】
【００１８】
本発明に係る制御装置、工作機械、制御方法及びコンピュータプログラムにあっては、主軸ヘッドと工具マガジンが干渉しない第一範囲と、主軸ヘッドと工具マガジンが干渉する第二範囲の境界を関数で設定する。干渉しない範囲にて主軸ヘッドの移動を実行する場合、関数で決定した移動可能な範囲で主軸ヘッドは移動するので、主軸ヘッドの速度の最適化を実現し、主軸ヘッドの加減速を抑制できる。
【図面の簡単な説明】
【００１９】
【図１】工作機械の縦断面図である。
【図２】主軸ヘッドと工具マガジンを略示する部分拡大右側面図である。
【図３】主軸ヘッドの略示部分拡大断面図である。
【図４】工作機械の制御装置を略示するブロック図である。
【図５】関数、及び工具マガジンの角度に対する主軸ヘッドの位置を示す経路の説明図である。
【図６】関数及び経路の部分拡大図である。
【図７】制御装置による工具交換処理を説明するフローチャートである。
【図８】現時点での主軸ヘッドが加速している場合における制動距離の演算方法の説明図である。
【図９】現時点での主軸ヘッドが定速である場合における制動距離の演算方法を説明するグラフである。
【図１０】制御装置による加速処理を説明するフローチャートである。
【図１１】制御装置による減速処理を説明するフローチャートである。
【図１２】制御装置による回転処理を説明するフローチャートである。
【発明を実施するための形態】
【００２０】
以下本発明の実施形態の工作機械を図面に基づいて説明する。図１は、工作機械の縦断面図、図２は、主軸ヘッドと工具マガジンを略示する部分拡大右側面図である。以下の説明では図中矢印で示す上下左右前後を使用する。図１に示す如く、工作機械は前後に長い矩形の基台１を備える。立柱２は基台１の後部に固定される。基台１の前部にワークを保持するワーク保持部１０を設けてある。ワーク保持部１０は、前後方向に移動するＹ方向移動部１１、左右方向に移動するＸ方向移動部１２、ワークを固定する台１３を備える。Ｙ方向移動部１１はＹ軸モータ１６（図４参照）を備え、Ｙ軸モータ１６はＹ方向移動部１１を前後移動させる。Ｘ方向移動部１２はＸ軸モータ２３（図４参照）を備え、Ｘ軸モータ２３はＸ方向移動部１２を左右移動させる。
【００２１】
Ｙ方向移動部１１は基台１上に設けられ、Ｘ方向移動部１２はＹ方向移動部１１上に設けられる。台１３はＸ方向移動部１２上に設けられる。Ｘ方向移動部１２とＹ方向移動部１１の左右前後移動に依り、台１３に固定したワークの左右前後の位置が決定される。
【００２２】
上下方向に移動可能な主軸ヘッド３は立柱２の前面に設けられる。Ｚ軸モータ３３（図４参照）は立柱２に設けられ、Ｚ軸モータ３３は主軸ヘッド３を上下移動する。主軸ヘッド３は上下に延びた主軸４を軸回りに回転可能に保持する。主軸４の下端は主軸ヘッド３の下端と略同じ位置にある。主軸モータ８は主軸ヘッド３の上端部に設けられ、主軸モータ８は主軸４を回転させる。二つの支持板７は立柱２から前方に突出し且つ左右に並ぶ。支持板７は工具マガジン６を支持し、工具マガジン６は工具５を保持する。
【００２３】
図２に示す如く、工具マガジン６はフレーム６１、複数のアーム６２を備える。フレーム６１は正面視円形であり且つ軸回りに回転可能である。複数のアーム６２はフレーム６１の外周に設けられ、アーム６２は工具５を保持する。マガジンモータ６０は工具マガジン６を回転させ、所定のアーム６２を工具マガジン６の最下位置、即ち交換位置に送る。
【００２４】
主軸ヘッド３が工具交換原点から台１３に向けて下方に移動中、アーム６２に保持された工具５は主軸４に装着される。主軸ヘッド３が台１３付近から工具交換原点に向けて上方に移動中、アーム６２は主軸４に装着した工具５を保持する。制御装置５０（図４参照）は立柱２の後側に設けられる。工具交換原点は主軸ヘッド３が上方に移動できる最上端位置であり、工具マガジン６が回転しても主軸ヘッド３と干渉しない。
【００２５】
図２のＰ１は工具交換原点、Ｐ２はＺ軸インポジション位置、Ｐ３は工具マガジン回転可能位置、Ｐ４はＺ軸原点を示し、主軸ヘッド３（主軸ヘッド３の下端）の位置を示す。
【００２６】
主軸ヘッド３はＺ軸の機械原点であるＺ軸原点Ｐ４よりも下方の加工領域で加工動作を行う。主軸ヘッド３はＺ軸原点Ｐ４よりも上方の工具交換領域で工具５の交換動作を行う。機械原点は、Ｘ軸、Ｙ軸の機械座標が０である位置、Ｚ軸の機械座標が加工可能な上限位置である。
【００２７】
工具交換原点Ｐ１とＺ軸インポジション位置Ｐ２の間の領域は、工具マガジン６の回転が可能な領域である。即ち主軸ヘッド３が工具交換原点Ｐ１とＺ軸インポジション位置Ｐ２の間の領域に存在する場合、主軸ヘッド３と工具マガジン６は干渉しない。工具５を装着した主軸ヘッド３が上昇し、主軸ヘッド３がＺ軸インポジション位置Ｐ２と工具マガジン回転可能位置Ｐ３の間の領域に存在する場合、工具マガジン６は所定角度まで回転できる（図５参照）。
【００２８】
図３は、主軸ヘッド３の略示部分拡大断面図である。図３のＬ０（基準線）は主軸４の軸心に沿う。Ｌ１（工具装着可能線）はアーム６２が保持する工具５の軸線を示し、該アーム６２は次に説明する位置にある。Ｌ１上のアーム６２は主軸ヘッド３の位置に関係なく主軸ヘッド３がＺ軸原点へ下降開始してもよい位置にあり、基準線Ｌ０から最も離れた位置にある。Ｌ２（Ｚ軸移動可能線）は、アーム６２が保持する工具５の軸線を示し、該アーム６２は次に説明する位置にある。主軸ヘッド３がＺ軸インポジション位置Ｐ２に位置する場合に、主軸ヘッド３とアーム６２が保持する工具とが干渉するアーム６２の限界位置をＬ２は示し、Ｌ２にアーム６２が位置する場合、主軸ヘッド３がＺ軸インポジション位置Ｐ２から下降するとアーム６２と主軸ヘッド３は干渉する。Ｌ０とＬ１が形成する鋭角の角度はθ４であり、Ｌ０とＬ２が形成する鋭角の角度はθ３である。
【００２９】
所望の工具５がＬ０とＬ１の間に存在する場合、主軸４が下降しても主軸４は所望の工具５を装着し且つ工具マガジン６に干渉しない。所望の工具５がＬ１とＬ２の間に存在する場合、主軸ヘッド３は所定位置まで下降しても工具マガジン６に干渉しない。
【００３０】
図４は、工作機械の制御装置５０を略示するブロック図である。図４に示す如く、制御装置５０はＣＰＵ５１、記憶部５２、ＲＡＭ５３、入出力インタフェース５４を備える。記憶部５２は書き換え可能なメモリであり、ＥＰＲＯＭ、ＥＥＰＲＯＭ等である。記憶部５２はワークを加工する加工プログラム、主軸ヘッド３と工具マガジン６の位置関係を示す関数、主軸ヘッド３と工具マガジン６の動作プログラム等を記憶する。制御装置５０は記憶部５２に記憶したプログラムに基づいて、工作機械を制御する。制御装置５０は予めプログラムを格納したＲＯＭを備えていてもよい。
【００３１】
作業者が操作部１４を操作した場合、操作部１４から入出力インタフェース５４に信号が入力する。操作部１４はキーボード、ボタン、タッチパネル等である。入出力インタフェース５４は表示部１５に信号を出力する。表示部１５は文字、図形、記号等を表示する。表示部１５は、例えば液晶表示パネルである。
【００３２】
制御装置５０はＸ軸モータ２３に対応したＸ軸制御回路５５、サーボアンプ５５ａ、微分器２３ｂを備える。Ｘ軸モータ２３はエンコーダ２３ａを備える。Ｘ軸制御回路５５はＣＰＵ５１からの指令に基づき、電流量を示す命令をサーボアンプ５５ａに出力する。サーボアンプ５５ａは前記命令を受け、Ｘ軸モータ２３に駆動電流を出力する。エンコーダ２３ａはＸ軸制御回路５５に位置フィードバック信号を出力する。Ｘ軸制御回路５５は位置フィードバック信号に基づき位置のフィードバック制御を実行する。エンコーダ２３ａは微分器２３ｂに位置フィードバック信号を出力し、微分器２３ｂは位置フィードバック信号を速度フィードバック信号に変換して、Ｘ軸制御回路５５に出力する。Ｘ軸制御回路５５は速度フィードバック信号に基づき、速度のフィードバック制御を実行する。電流検出器５５ｂはサーボアンプ５５ａが出力した駆動電流の値を検出する。電流検出器５５ｂは駆動電流の値をＸ軸制御回路５５にフィードバックする。Ｘ軸制御回路５５は駆動電流の値に基づき、電流制御を実行する。
【００３３】
制御装置５０はＹ軸モータ１６に対応したＹ軸制御回路５６、サーボアンプ５６ａ、微分器１６ｂ、電流検出器５６ｂを備え、Ｙ軸モータ１６はエンコーダ１６ａを備える。Ｙ軸制御回路５６、サーボアンプ５６ａ、微分器１６ｂ、Ｙ軸モータ１６、エンコーダ１６ａ、電流検出器５６ｂはＸ軸のものと同様であり、その説明を省略する。制御装置５０はＺ軸モータ３３に対応したＺ軸制御回路５７、サーボアンプ５７ａ、電流検出器５７ｂ、微分器３３ｂを備える。Ｚ軸モータ３３はエンコーダ３３ａを備える。Ｚ軸制御回路５７、サーボアンプ５７ａ、微分器３３ｂ、Ｚ軸モータ３３、エンコーダ３３ａ、電流検出器５７ｂはＸ軸のものと同様であり、その説明を省略する。制御装置５０はマガジンモータ６０に対応したマガジン制御回路５８、サーボアンプ５８ａ、電流検出器５８ｂ、微分器６０ｂを備える。マガジンモータ６０はエンコーダ６０ａを備える。マガジン制御回路５８、サーボアンプ５８ａ、微分器６０ｂ、マガジンモータ６０、エンコーダ６０ａ、電流検出器５８ｂはＸ軸のものと同様であり、その説明を省略する。制御装置５０は主軸モータ８に対応した主軸制御回路７９、サーボアンプ７９ａ、電流検出器７９ｂ、微分器８０ｂを備える。主軸モータ８はエンコーダ８０ａを備える。主軸制御回路７９、サーボアンプ７９ａ、微分器８０ｂ、主軸モータ８、エンコーダ８０ａ、電流検出器７９ｂはＸ軸のものと同様であり、その説明を省略する。
【００３４】
図５は、関数、及び工具マガジン６の角度に対する主軸ヘッド３の位置を示す経路の説明図、図６は、関数及び経路の部分拡大図である。工具交換時、ＣＰＵ５１はＲＡＭ５３に主軸ヘッド３の上下位置と工具マガジン６の角度に関する関数Ｄを設定する。図５において、Ｐ軸は主軸ヘッド３の位置を示し、θ軸は工具マガジン６の角度を示す。図５の点線Ｃは工具マガジン６が工具交換の為に回転する角度の半分の角度を示し、点線Ｃから左側の角度は基準線Ｌ０から工具マガジン６が回転する回転角度を示し、点線Ｃから右側の角度は基準線Ｌ０までの回転角度を示している。
【００３５】
故に点線Ｃから左側のθ軸は右側の値が左側の値より大きく、点線Ｃから左側のθ軸は右側の値が左側の値よりも小さい。関数Ｄは、主軸ヘッド３と工具マガジン６が干渉しない第一範囲と、主軸ヘッド３と工具マガジン６が干渉する第二範囲との境界を示す。
【００３６】
図５の関数Ｄよりも上側の範囲が第一範囲であり、関数Ｄよりも下側の範囲が第二範囲である。関数Ｄは、角度θと上下位置Ｐを示す複数の座標ｄの線形補間で求めることができる。主軸ヘッド３上昇時、回転角度が０の場合、主軸ヘッド３はマガジン軸回転可能位置Ｐ３に位置し、座標ｄ１が決まる。Ｚ軸インポジション位置Ｐ２での工具マガジン６の回転可能な最大角度はθ３であるので、角度θ３と位置Ｐ２は対応し、座標ｄ２が決まる。主軸ヘッド３下降時、残り回転角度が０の場合、主軸ヘッド３はマガジン軸回転可能位置Ｐ３に位置し、座標ｄ４が決まる。Ｚ軸インポジション位置Ｐ２での工具マガジン６の回転可能な最大角度はθ３であるので、角度θ３と位置Ｐ２は対応し、座標ｄ３が決まる。主軸ヘッド３上昇時の角度θ３は基準線Ｌ０から工具マガジン６が回転した角度であり、主軸ヘッド３下降時の角度θ３は基準線Ｌ０までの残り回転角度となる。
【００３７】
図５に示す如く、主軸ヘッド３の所定位置がＲ１であり、Ｒ１と同じ所在位置を有する関数Ｄ上の点がＲ２である場合、Ｒ１とＲ２の間の角度は、主軸ヘッド３に干渉せずに、工具マガジン６が回転可能な角度を示す。所定位置Ｒ１は、位置Ｐ２と位置Ｐ３の間の領域に存在する。図６に示す如く、所定角度θにおける主軸ヘッド３の所在位置と関数が示す主軸ヘッド３の位置を夫々Ｒ３、Ｒ４とした場合、Ｒ３とＲ４の間の距離は工具マガジン６に干渉せずに、主軸ヘッド３が移動可能な距離を示す。位置Ｒ３、Ｒ４は、位置Ｐ２、Ｐ３の間に存在する。エンコーダ３３ａが主軸ヘッド３の所在位置を検出し、エンコーダ６０ａが所定角度θを検出する。
【００３８】
図７は、制御装置５０による工具交換処理を説明するフローチャートである。図７に示す如く、制御装置５０は工具交換処理を実行する。工具交換処理を開始する場合、主軸ヘッド３は工具５を装着し、加工領域に位置する。該工具５を保持するアーム６２は交換位置に位置する。
【００３９】
ＣＰＵ５１はＺ軸制御回路５７に工具交換原点Ｐ１への移動指令を出力し（Ｓ１）、主軸ヘッド３は上昇する。ＣＰＵ５１はエンコーダ３３ａから信号を取り込み、主軸ヘッド３の所在位置がＺ軸インポジション位置Ｐ２以上に位置するか否か判定する（Ｓ２）。Ｓ２は第一判定部に対応する。主軸ヘッド３がＺ軸インポジション位置Ｐ２以上に位置する場合、工具マガジン６が回転しても、主軸ヘッド３に干渉しない。ＣＰＵ５１は主軸ヘッド３の所在位置がＺ軸インポジション位置Ｐ２以上に位置しない場合（Ｓ２：ＮＯ）、主軸ヘッド３の所在位置がマガジン軸回転可能位置Ｐ３以上に位置するか否か判定する（Ｓ９）。Ｓ９は第二判定部に対応する。
【００４０】
主軸ヘッド３がマガジン軸回転可能位置Ｐ３以上に位置しない場合（Ｓ９：ＮＯ）、ＣＰＵ５１はＳ２に処理を戻す。主軸ヘッド３は上昇を継続し、主軸４に装着した工具５をマガジン軸回転可能位置Ｐ３よりも下側にてアーム６２に渡す。主軸ヘッド３がマガジン軸回転可能位置Ｐ３以上に位置する場合（Ｓ９：ＹＥＳ）、ＣＰＵ５１は回転処理を実行する（Ｓ１０）。回転処理については後述する。
【００４１】
主軸ヘッド３の所在位置がＺ軸インポジション位置Ｐ２よりも上側に位置する場合（Ｓ２：ＹＥＳ）、ＣＰＵ５１は次に使用する工具を保持したアーム６２を交換位置まで移動する為に、工具マガジン６に回転指令を出力する（Ｓ３）。
【００４２】
ＣＰＵ５１はエンコーダ６０ａの信号を取り込み、工具マガジン６の所在角度が角度θ４以下か否か判定する（Ｓ４、図３、図５参照）。Ｓ４は第三判定部に対応する。工具マガジン６の所在角度が角度θ４以下の場合（Ｓ４：ＹＥＳ）、ＣＰＵ５１は主軸ヘッド３をＺ軸原点まで下降させ（Ｓ１２）、処理を終了する。
【００４３】
工具マガジン６の所在角度が角度θ４以下でない場合（Ｓ４：ＮＯ）、ＣＰＵ５１は工具マガジン６の所在角度が角度θ３以下であるか否か判定する（Ｓ５）。Ｓ５は第四判定部に対応する。工具マガジン６の所在角度が角度θ３以下でない場合（Ｓ５：ＮＯ）、ＣＰＵ５１はＳ４に処理を戻す。工具マガジン６は回転を継続する。
【００４４】
工具マガジン６の所在角度が角度θ３以下の場合（Ｓ５：ＹＥＳ）、図６に示す如く、ＣＰＵ５１は主軸ヘッド３の所在位置Ｒ３と関数Ｄが示す位置Ｒ４の間の距離（以下、下降可能距離という）、Ｚ軸制御回路５７に停止指令を出力した時点の主軸ヘッド３の位置と主軸ヘッド３が停止する位置の間の距離、即ち制動距離を演算する（Ｓ６）。Ｓ６は演算部に対応する。
【００４５】
ＣＰＵ５１は制動距離が下降可能距離よりも大きいか否か判定する（Ｓ７）。Ｓ７は第五判定部に対応する。制動距離が下降可能距離よりも大きくない場合（Ｓ７：ＮＯ）、ＣＰＵ５１は加速処理を実行する（Ｓ１１）。Ｓ１１は加速部に対応する。制動距離が下降可能距離よりも大きい場合（Ｓ７：ＹＥＳ）、ＣＰＵ５１は減速処理を実行する（Ｓ８）。Ｓ８は減速部に対応する。
【００４６】
図８は、現時点での主軸ヘッド３が加速している場合における制動距離の演算方法の説明図、図９は、現時点での主軸ヘッド３が定速である場合における制動距離の演算方法を説明するグラフである。図８と図９のＶｍａｘは主軸ヘッド３の最大速度、Ｖｎｏｗは主軸ヘッド３の現時点での速度、Ａｍａｘは主軸ヘッド３の最大加速度、Ａｎｏｗは主軸ヘッド３の現時点での加速度、Ｔｎｏｗは現時点、Ｊｍａｘは加速度の最大傾きを示す。Ｚ軸制御回路５７はエンコーダ３３ａの出力を取り込み、現時点での主軸ヘッド３の速度Ｖｎｏｗと加速度Ａｎｏｗを演算する。ＶｍａｘとＡｍａｘは予め記憶部５２に記憶する。
【００４７】
図８に示す如く、傾きＪｍａｘで加速中の主軸ヘッド３が現時点Ｔｎｏｗから制動を開始した場合、加速度が徐々に低下し、速度の増加率も徐々に低下し、加速度が時点Ｔ１で０になる。時点Ｔ１から時点Ｔ２までの間、逆向きの加速度を主軸ヘッド３に付与する。逆向きの加速度の大きさは徐々に大きくなる。主軸ヘッド３の速度は時点Ｔ１での速度から徐々に低下する。時点Ｔ２で逆向きの加速度は徐々に小さくなる。主軸ヘッド３の速度は時点Ｔ３で０となり、主軸ヘッド３は停止する。加速度も０になる。
【００４８】
ＴｎｏｗからＴ１の間における速度と時間の面積Ｌ１は加速度を０にする為に必要な距離である。Ｔ１からＴ３の間における速度と時間の面積Ｌ２は時点Ｔ１での速度を０にする為に必要な距離である。面積Ｌ１と面積Ｌ２の合算が制動距離となる。
【００４９】
図９に示す如く、定速移動中の主軸ヘッド３が現時点Ｔｎｏｗから制動を開始した場合、移動開始時とは逆向きの加速度を主軸ヘッド３に付与する。時点Ｔ４まで逆向きの加速度の大きさは大きくなり、時点Ｔ４から時点Ｔ５の間、逆向きの加速度の大きさは一定となり、主軸ヘッド３の速度は徐々に低下する。時点Ｔ５から逆向きの加速度の大きさは徐々に小さくなり、主軸ヘッド３の速度は時点Ｔ６で０となり、主軸ヘッド３は停止し、加速度も０になる。ＴｎｏｗからＴ６の間における速度と時間の面積Ｌ２ａは時点Ｔｎｏｗでの速度を０にする為に必要な距離である。即ち主軸ヘッド３が定速で移動している場合、加速度を０にする為に必要な距離は無い。
【００５０】
図１０は、制御装置５０による加速処理を説明するフローチャートである。制動距離が下降可能距離よりも大きくない場合（Ｓ７：ＮＯ）、主軸ヘッド３は加速が可能なので、ＣＰＵ５１は加速処理を実行する（Ｓ１１）。図１０に示す如く、ＣＰＵ５１は主軸ヘッド３の現時点での速度Ｖｎｏｗが最大速度Ｖｍａｘよりも小さいか否か判定する（Ｓ２１）。現時点での速度Ｖｎｏｗが最大速度Ｖｍａｘよりも小さい場合（Ｓ２１：ＹＥＳ）、ＣＰＵ５１は主軸ヘッド３を加速させ（Ｓ２２）、図７のＳ４に処理を戻す。現時点での速度Ｖｎｏｗが最大速度Ｖｍａｘよりも小さくない場合（Ｓ２１：ＮＯ）、ＣＰＵ５１は図７のＳ４に処理を戻す。
【００５１】
図１１は、制御装置５０による減速処理を説明するフローチャートである。Ｓ７にてＹＥＳの場合、ＣＰＵ５１は減速処理を実行する。図１１に示す如く、ＣＰＵ５１は主軸ヘッド３が加速中であるか否か判定する（Ｓ３１）。主軸ヘッド３が加速中の場合（Ｓ３１：ＹＥＳ、図８参照）、ＣＰＵ５１は負の最大傾きＪｍａｘで加速度を減少させ（Ｓ３２）、図７のＳ４に処理を戻す。主軸ヘッド３が加速中でない場合（Ｓ３１：ＮＯ、図９参照）、ＣＰＵ５１は主軸ヘッド３の速度が０か否か判定する（Ｓ３３）。主軸ヘッド３の速度が０でない場合（Ｓ３３：ＮＯ）、ＣＰＵ５１は負の最大傾きＪｍａｘ、最大加速度Ａｍａｘで主軸ヘッド３を減速させ（Ｓ３４）、図７のＳ４に処理を戻す。主軸ヘッド３の速度が０である場合（Ｓ３３：ＹＥＳ）、ＣＰＵ５１は図７のＳ４に処理を戻す。
【００５２】
図１２は、制御装置５０による回転処理を説明するフローチャートである。制御装置５０は回転処理を実行する。図１２に示す如く、図７のＳ１０において、ＣＰＵ５１はエンコーダ３３ａ、６０ａの出力を取り込み、主軸ヘッド３の所在位置と工具マガジン６の所在角度を取得する。ＣＰＵ５１は工具マガジン６の所在角度と主軸ヘッド３の所在位置に対応する関数Ｄが示す角度の差分（以下、回転可能角度という）を演算する（図５参照）。ＣＰＵ５１はマガジン制御回路５８に停止指令を出力した時点の工具マガジン６の角度と工具マガジン６が停止する角度の差分、即ち制動角度を演算する（Ｓ４１）。制動角度の演算は制動距離と同様な方法で行う（図８、図９参照）。
【００５３】
ＣＰＵ５１は制動角度が回転可能角度よりも大きいか否か判定する（Ｓ４２）。制動角度が回転可能角度よりも大きくない場合（Ｓ４２：ＮＯ）、ＣＰＵ５１は工具マガジン６の現時点での回転速度Ｒｎｏｗが最大回転速度Ｒｍａｘよりも小さいか否か判定する（Ｓ４３）。最大回転速度Ｒｍａｘは予め記憶部５２に記憶する。回転速度Ｒｎｏｗが最大回転速度Ｒｍａｘよりも小さくない場合（Ｓ４３：ＮＯ）、ＣＰＵ５１は図７のＳ２に処理を戻す。
【００５４】
回転速度Ｒｎｏｗが最大回転速度Ｒｍａｘよりも小さい場合（Ｓ４３：ＹＥＳ）、ＣＰＵ５１は工具マガジン６を加速し（Ｓ４４）、図７のＳ２に処理を戻す。制動角度が回転可能角度よりも大きい場合（Ｓ４２：ＹＥＳ）、ＣＰＵ５１は工具マガジン６が加速中か否か判定する（Ｓ４５）。工具マガジン６が加速中の場合（Ｓ４５：ＹＥＳ）、ＣＰＵ５１は負の最大傾きＲＪｍａｘで回転加速度を減少させ（Ｓ４６）、図７のＳ２に処理を戻す。最大傾きＲＪｍａｘは工具マガジンの回転加速度ＲＡの傾きの最大値を示す。図８と図９の加速度Ａ、最大傾きＪｍａｘを回転加速度ＲＡ、最大傾きＲＪｍａｘに読み替えることで、図８と図９をＳ４５、Ｓ４６に適用できる。
【００５５】
工具マガジン６が加速中でない場合（Ｓ４５：ＮＯ）、ＣＰＵ５１は工具マガジン６の回転速度が０であるか否か判定する（Ｓ４７）。工具マガジン６の回転速度が０でない場合（Ｓ４７：ＮＯ）、ＣＰＵ５１は工具マガジン６の負の最大傾きＲＪｍａｘ、工具マガジン６の負の最大回転加速度ＲＡｍａｘで工具マガジン６を減速させ（Ｓ４８）、図７のＳ２に処理を戻す。工具マガジン６の回転速度が０の場合（Ｓ４７：ＹＥＳ）、ＣＰＵ５１は図７のＳ２に処理を戻す。
【００５６】
実施形態の工作機械は主軸ヘッド３と工具マガジン６が干渉しない第一範囲と主軸ヘッド３と工具マガジン６が干渉する第二範囲の境界を関数Ｄで設定する。干渉しない範囲で主軸ヘッド３の移動を実行時、主軸ヘッド３は関数で決定した移動可能な位置まで移動するので、主軸ヘッド３の速度の最適化を図り、主軸ヘッド３の加減速を抑制できる。
【００５７】
工作機械は主軸ヘッド３の位置と工具マガジン６の角度を示す複数の座標を線形補間し、関数Ｄを作成する。
【００５８】
工作機械は関数Ｄの対称性を利用し、二つの座標に基づき、関数Ｄを容易に作成する。主軸ヘッド３の制動距離が移動可能距離よりも大きくない場合、即ち制動距離が移動可能距離よりも短い場合、主軸ヘッド３は境界に至らずに停止する。制動距離が移動可能距離よりも短い場合、工作機械は主軸ヘッド３の加速を実行し、より境界に近い位置まで主軸ヘッド３の移動を実行する。
【００５９】
主軸ヘッド３の制動距離が移動可能距離よりも大きい場合、主軸ヘッド３は境界を超え、工具マガジン６に干渉する。制動距離が移動可能距離よりも大きい場合、工作機械は主軸ヘッド３の減速を実行し、主軸ヘッド３と工具マガジン６の干渉を回避する。
【符号の説明】
【００６０】
３  主軸ヘッド
５  工具
６  工具マガジン
５０  制御装置
【図１】
2019067394.tif 000003
【図２】
2019067394.tif 000004
【図３】
2019067394.tif 000005
【図４】
2019067394.tif 000006
【図５】
2019067394.tif 000007
【図６】
2019067394.tif 000008
【図７】
2019067394.tif 000009
【図８】
2019067394.tif 000010
【図９】
2019067394.tif 000011
【図１０】
2019067394.tif 000012
【図１１】
2019067394.tif 000013
【図１２】
2019067394.tif 000014