(57)【要約】【課題】駆動軸を指定の回転位置で精度良く静止できる数値制御装置及び工作機械を提供する。【解決手段】数値制御装置はＣＰＵを備える。ＣＰＵはＣ軸テーブルに連結した駆動軸がＣ軸モータの駆動により指定の回転位置に移動した時、クランプ装置に駆動軸のクランプを開始させる。ＣＰＵはクランプ装置による駆動軸のクランプが完了した時、位置ずれ量がエラー閾値以下であるか判断する。ＣＰＵは位置ずれ量がエラー閾値より大きいと判断した時、クランプ装置に駆動軸をアンクランプし（Ｓ６１）、その後、クランプする制御を行う（Ｓ８１）。故に数値制御装置は、駆動軸を指定の回転位置で精度良く静止させることができる。【選択図】図６
2020154956.tif 000002
【特許請求の範囲】
【請求項１】
サーボモータ、前記サーボモータで回転駆動する駆動軸、前記駆動軸をクランプするクランプ部を備えた工作機械を制御可能な数値制御装置において、
前記サーボモータを制御し、指定した回転位置である第一回転位置まで前記駆動軸を回転する第一制御部と、
前記第一制御部により前記駆動軸を前記第一回転位置まで回転した場合、前記クランプ部を制御して前記駆動軸をクランプする第二制御部と、
前記駆動軸の前記回転位置と前記第一回転位置との差分であるずれ量と、閾値との関係を判定する判定部と、
前記第二制御部による前記駆動軸のクランプが完了した後の前記ずれ量が、前記判定部により所定の第一閾値以上であると判定した場合、前記クランプ部を制御して前記駆動軸をアンクランプし、その後、前記クランプ部を制御して前記駆動軸をクランプする第三制御部と
を備えたこと特徴とする数値制御装置。
【請求項２】
前記第三制御部は、
前記駆動軸のアンクランプが完了してから第一時間が経過した場合、前記クランプ部を制御して前記駆動軸をクランプする
ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記第三制御部は、更に、
前記クランプ部を制御して前記駆動軸をクランプした後の前記ずれ量が前記第一閾値未満となるまで、前記駆動軸のアンクランプ及びクランプを繰り返す繰り返し制御を実行し、
前記第三制御部による前記繰り返し制御の回数である第一回数が、所定の第二閾値以上である場合、前記第三制御部による前記繰り返し制御を中止する第一停止部と
を備えたことを特徴とする請求項１又は２に記載の数値制御装置。
【請求項４】
前記第二制御部による前記駆動軸のクランプが完了した後の前記ずれ量が、前記判定部により、前記第一閾値よりも値が大きい第三閾値以上と判定した場合、報知部に報知させることを特徴とする請求項１から３の何れかに記載の数値制御装置。
【請求項５】
前記第三制御部による前記駆動軸のクランプが完了した後の前記ずれ量が、前記判定部により、前記第一閾値よりも値が大きい第四閾値以上と判定した場合、前記第三制御部による前記繰り返し制御を停止し、報知部に報知させる第二停止部を更に備えたことを特徴とする請求項３に記載の数値制御装置。
【請求項６】
前記判定部により、前記ずれ量が前記第一閾値以上と判定した場合、第二時間が経過するまでの間、前記サーボモータの駆動を停止する第三停止部を更に備え
前記第三制御部は、
前記第二時間が経過した場合、前記クランプ部を制御して前記駆動軸をクランプすることを特徴とする請求項１から５の何れかに記載の数値制御装置。
【請求項７】
前記回転位置を検出可能な検出部を備え、
前記判定部は、前記検出部が検出した前記回転位置と前記第一回転位置との差分である前記ずれ量と、前記閾値との関係で判定する
ことを特徴とする請求項１から６の何れかに記載の数値制御装置。
【請求項８】
請求項１から７の何れかに記載の数値制御装置を備えたことを特徴とする工作機械。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置及び工作機械に関する。
【背景技術】
【０００２】
特許文献１は、回転軸であるＣ軸と傾斜軸であるＡ軸を有する工作機械を制御する数値制御装置を開示する。Ｃ軸は加工対象であるワークを保持し且つ回転する軸である。Ａ軸はＣ軸の傾きを変更する軸である。工作機械は、ワークを回転可能に保持するワーク保持機構を備える。ワーク保持機構は、Ａ軸テーブルを備える。Ａ軸テーブルは回転可能に設けてある。Ａ軸モータはＡ軸テーブルと連結する支軸を回転させる。Ａ軸テーブルは支軸と一体して回転し任意方向に傾く。数値制御装置はＡ軸モータの出力軸の回転方向と回転量を制御することで、Ａ軸テーブルの傾斜角度を調整する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−０８５６５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
回転した支軸をクランプし、支軸が所定の回転量を超えて回転することを抑制するためのクランプ装置を工作機械に設ける時がある。クランプ装置が支軸をクランプする時に、支軸が微小に回転することがある。支軸の回転量が大きい時、ワークの加工精度に影響する可能性があった。
【０００５】
本発明の目的は、駆動軸を指定の回転位置で精度良く静止できる数値制御装置及び工作機械を提供することである。
【課題を解決するための手段】
【０００６】
本発明の第一態様に係る数値制御装置は、サーボモータ、前記サーボモータで回転駆動する駆動軸、前記駆動軸をクランプするクランプ部を備えた工作機械を制御可能な数値制御装置において、前記サーボモータを制御し、指定した回転位置である第一回転位置まで前記駆動軸を回転する第一制御部と、前記第一制御部により前記駆動軸を前記第一回転位置まで回転した時、前記クランプ部を制御して前記駆動軸をクランプする第二制御部と、前記駆動軸の回転位置と前記第一回転位置との差分であるずれ量と、閾値との関係を判定する判定部と、前記第二制御部による前記駆動軸のクランプが完了した後の前記ずれ量が、前記判定部により所定の第一閾値以上であると判定した場合、前記クランプ部を制御して前記駆動軸をアンクランプし、その後、前記クランプ部を制御して前記駆動軸をクランプする第三制御部とを備えたこと特徴とする。
【０００７】
第一態様によれば、数値制御装置は、駆動軸を指定の回転位置で精度良く静止させることができる。
【０００８】
第一態様において、前記第三制御部は、前記駆動軸のアンクランプが完了してから第一時間が経過した場合、前記クランプ部を制御して前記駆動軸をクランプしてもよい。数値制御装置は、駆動軸のアンクランプをしてから第一制御部が駆動部を制御する時間を確保できる。故に数値制御装置は、駆動軸を指定の回転位置で精度良く静止させることができる。
【０００９】
第一態様において、前記第三制御部は、更に、前記クランプ部を制御して前記駆動軸をクランプした後の前記ずれ量が前記第一閾値未満となるまで、前記駆動軸のアンクランプ及びクランプを繰り返す繰り返し制御を実行し、前記第三制御部による前記繰り返し制御の回数である第一回数が、所定の第二閾値以上である場合、前記第三制御部による前記繰り返し制御を中止する第一停止部とを備えてもよい。使用者は第一回数に基づき数値制御装置の制御の不調を判断し易い。
【００１０】
第一態様において、前記第二制御部による前記駆動軸のクランプが完了した後の前記ずれ量が、前記判定部により、前記第一閾値よりも値が大きい第三閾値以上と判定した場合、報知部に報知させてもよい。故に使用者は、数値制御装置の制御の不調を把握し易い。
【００１１】
第一態様において、前記第三制御部による前記駆動軸のクランプが完了した後の前記ずれ量が、前記判定部により、前記第一閾値よりも値が大きい第四閾値以上と判定した場合、前記第三制御部による前記繰り返し制御を停止し、報知部に報知させる第二停止部を更に備えてもよい。故に使用者は、数値制御装置の制御の不調を把握し易い。
【００１２】
第一態様において、前記判定部により、前記ずれ量が前記第一閾値以上と判定した場合、第二時間が経過するまでの間、前記サーボモータの駆動を停止する第三停止部を更に備え前記第三制御部は、前記第二時間が経過した場合、前記クランプ部を制御して前記駆動軸をクランプしてもよい。数値制御装置は、ずれ量が第一閾値以上である場合、第二時間の間、サーボモータの駆動を停止させるので、駆動軸で発生するトルクが低減する。故に数値制御装置は、駆動軸のずれ量が大きくなることを抑制できる。
【００１３】
第一態様において、前記回転位置を検出可能な検出部を備え、前記判定部は、前記検出部が検出した前記回転位置と前記第一回転位置との差分である前記ずれ量と、前記閾値との関係で判定してもよい。数値制御装置は、駆動軸の回転位置を検出できるので、駆動軸を指定の回転位置で精度良く静止させることができる。
【００１４】
本発明の第二態様に係る工作機械は、第一態様に係る数値制御装置を備えたことを特徴とする。第二態様によれば、第一態様と同様の効果を奏することができる。
【図面の簡単な説明】
【００１５】
【図１】工作機械１００の斜視図。
【図２】ワーク支持装置８の斜視図。
【図３】数値制御装置１と工作機械１００の電気ブロック図。
【図４】Ｃ軸位置合わせ処理の流れ図。
【図５】Ｃ軸位置合わせ処理の流れ図であって、図４の続き。
【図６】Ｃ軸位置合わせ処理の流れ図であって、図５の続き。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態を、図面を参照し説明する。以下説明は、図中に矢印で示す上下、左右、前後、を使用する。工作機械１００の左右方向、前後方向、上下方向は、夫々工作機械１００のＸ軸方向、Ｙ軸方向、Ｚ軸方向である。図１に示す工作機械１００は、移動軸、回転軸、傾斜軸を有する五軸制御の立型工作機械である。移動軸は、Ｘ軸、Ｙ軸、Ｚ軸である。回転軸はＣ軸、傾斜軸はＡ軸である。
【００１７】
図１を参照し、工作機械１００の構造を説明する。工作機械１００は、基台２、コラム５、Ｙ軸移動機構（図示略）、Ｘ軸移動機構（図示略）、Ｚ軸移動機構（図示略）、主軸ヘッド６、主軸（図示略）、ワーク支持装置８、工具交換装置９、制御箱（図示略）等を備える。
【００１８】
基台２は、架台１１、主軸基台１２、右側ワーク基台１３、左側ワーク基台１４等を備える。架台１１は前後方向に長い略直方体状の構造体である。主軸基台１２は前後方向に長い略直方体状に形成し、架台１１上面後方に設ける。右側ワーク基台１３は架台１１上面右前方に設ける。左側ワーク基台１４は架台１１上面左前方に設ける。右側ワーク基台１３と左側ワーク基台１４は夫々、前側の支持台１３Ａ、１４Ａと、後側の支持台１３Ｂ、１４Ｂを備える。支持台１３Ａ、１３Ｂ、１４Ａ、１４Ｂは夫々上下方向に延びる柱状に形成し、上面にワーク支持装置８を支持する。
【００１９】
Ｙ軸移動機構は主軸基台１２上面に設け、一対のＹ軸レール１６（図１は右側のＹ軸レール１６のみ図示）、Ｙ軸ボール螺子（図示略）、Ｙ軸モータ６２（図３参照）等を備える。一対のＹ軸レール１６とＹ軸ボール螺子はＹ軸方向に延びる。一対のＹ軸レール１６は上面に移動体１５をＹ軸方向に案内する。移動体１５は略平板状に形成し、底部外面にナット（図示略）を備える。該ナットはＹ軸ボール螺子に螺合する。Ｙ軸モータ６２がＹ軸ボール螺子を回転すると、移動体１５はナットと共に一対のＹ軸レール１６に沿って移動する。故にＹ軸移動機構は移動体１５をＹ軸方向に移動可能に支持する。
【００２０】
Ｘ軸移動機構は移動体１５上面に設け、一対のＸ軸レール（図示略）、Ｘ軸ボール螺子（図示略）、Ｘ軸モータ６１（図３参照）等を備える。Ｘ軸レールとＸ軸ボール螺子はＸ軸方向に延びる。コラム５は上下方向に延び、移動体１５上面に設ける。コラム５は底部にナット（図示略）を備える。該ナットはＸ軸ボール螺子に螺合する。Ｘ軸モータ６１がＸ軸ボール螺子を回転すると、コラム５はナットと共に一対のＸ軸レールに沿って移動する。故にＸ軸移動機構はコラム５をＸ軸方向に移動可能に支持する。故にコラム５は、Ｙ軸移動機構、移動体１５、Ｘ軸移動機構により、基台２上をＸ軸方向とＹ軸方向に移動可能である。
【００２１】
Ｚ軸移動機構はコラム５前面に設け、一対のＺ軸レール（図示略）、Ｚ軸ボール螺子（図示略）、Ｚ軸モータ６３（図３参照）等を備える。Ｚ軸レールとＺ軸ボール螺子はＺ軸方向に延びる。主軸ヘッド６は背面にナット（図示略）を備える。該ナットはＺ軸ボール螺子に螺合する。Ｚ軸モータ６３はＺ軸ボール螺子の上端部の軸受（図示略）に固定する。Ｚ軸モータ６３がＺ軸ボール螺子を回転すると、主軸ヘッド６は一対のＺ軸レールに沿って移動する。故にＺ軸移動機構は主軸ヘッド６をＺ軸方向に移動可能に支持する。
【００２２】
主軸ヘッド６は下部にＺ軸カバー１８を備える。Ｚ軸カバー１８はコラム５前面に設けたＺ軸移動機構を覆い且つ主軸ヘッド６の上下動に伴って伸縮する。Ｚ軸カバー１８はＺ軸移動機構内に切粉と切削液が侵入するのを防止する。主軸（図示略）は主軸ヘッド６内部に設け、主軸ヘッド６下部に工具装着穴（図示略）を備える。工具装着穴は工具を装着する。主軸は主軸ヘッド６上部に設けた主軸モータ６４（図３参照）で回転する。
【００２３】
ワーク支持装置８は架台１１上面前側に配置し、右側ワーク基台１３と左側ワーク基台１４の夫々の上面に固定して支持する。ワーク支持装置８はワーク（図示略）を回転可能に保持する。ワーク支持装置８はＡ軸テーブル２０とＣ軸テーブル４０を備える。Ａ軸テーブル２０はＸ軸方向に対して平行な軸を中心に回転可能である。Ａ軸テーブル２０の回転軸はＡ軸である。Ｃ軸テーブル４０は円盤状に形成し、Ａ軸テーブル２０の上面略中央に設ける。Ｃ軸テーブル４０はＺ軸方向に平行な軸を中心に回転可能であり、上面に把持機構２００（図２参照）を用いてワークを固定する。Ｃ軸テーブル４０の回転軸はＣ軸である。ワーク支持装置８はＡ軸テーブル２０を任意方向に傾けることができる。ワーク支持装置８の具体的構造は後述する。
【００２４】
工具交換装置９は工具マガジン（図示略）と保護カバー９Ａ等を備える。保護カバー９Ａは工具マガジンを覆って保護する。工具マガジンはコラム５と主軸ヘッド６周囲を取り巻く略円環状である。工具マガジンは複数のポット（図示略）、チェーン（図示略）、マガジンモータ６５（図３参照）等を備える。ポットは工具を着脱可能に装着する。チェーンは工具マガジンに沿って環状に設ける。複数のポットはチェーンに沿って取り付ける。マガジンモータ６５の駆動で、チェーンは工具マガジンの形状に沿って移動する。複数のポットはチェーンと共に移動する。工具交換位置は工具マガジン最下部に位置するポットの位置である。工具交換装置９は主軸ヘッド６の昇降動作中に工具交換位置のポットが保持する工具を、主軸に現在装着する工具と交換する。
【００２５】
制御箱は例えば工作機械１００を覆うカバー（図示略）の外壁に取り付ける。制御箱は数値制御装置１を内側に格納する。数値制御装置１はＮＣプログラムに基づき、工作機械１００の動作を制御する。ＮＣプログラムは複数のブロックで構成し、各ブロックは制御指令を含む。制御指令は例えばＧコード、Ｍコード等である。
【００２６】
図２を参照し、ワーク支持装置８の具体的構造を説明する。ワーク支持装置８は、Ａ軸テーブル２０、左側支持台２７、右側駆動機構部２８、Ｃ軸テーブル４０、Ｃ軸駆動部５０等を備える。Ａ軸テーブル２０は、テーブル部２１、右連結部２２、左連結部２３を備える。テーブル部２１は、Ａ軸テーブル２０の傾斜角度が０°で上面が水平となる平面視略略長方形状の板状部である。右連結部２２は、テーブル部２１の右端部から右斜め上方に延び、右側駆動機構部２８と回動可能に連結する。左連結部２３はテーブル部２１の左端部から左斜め上方に延び、後述する左側支持台２７と回転可能に連結する。Ｃ軸テーブル４０はテーブル部２１上面略中央に回転可能に設ける。
【００２７】
Ｃ軸駆動部５０はテーブル部２１下面に設ける。Ｃ軸駆動部５０は内側に、駆動軸４１、Ｃ軸モータ６６（図３参照）、クランプ装置６８（図３参照）を備える。駆動軸４１の一端はテーブル部２１の略中央に設けた穴（図示略）を介してＣ軸テーブル４０と連結する。駆動軸４１の他端はＣ軸モータ６６の出力軸と連結する。故にＣ軸テーブル４０はＣ軸モータ６６の駆動で回転する。クランプ装置６８は、例えばディスクブレーキ（図示略）を備え、駆動軸４１をクランプ可能である。クランプ装置６８は駆動軸４１をクランプすることで駆動軸４１の回転を抑制する。切削加工時、工作機械１００は、駆動軸４１が回転することで、ワークをＣ軸回りに所定回転位置まで回転し、クランプ装置６８が駆動軸４１をクランプすることで、ワークのＣ軸の回転位置を決定する。
【００２８】
左側支持台２７はＡ軸テーブル２０の左側に位置する。左側支持台２７は左側面視略三角形状で且つ左右方向に所定厚を有する柱状に形成する。左側支持台２７は上方に突出する頂点部にて、左連結部２３の左端面から左方に突出する略円柱状の支軸３１を回転可能に支持する。左側支持台２７の底部は、左側ワーク基台１４の支持台１４Ａ、１４Ｂ（図１参照）の夫々の上面に架け渡して固定する。
【００２９】
右側駆動機構部２８はＡ軸テーブル２０の右側に位置する。右側駆動機構部２８はカバー部３３、３４を備える。カバー部３３は略直方体状に形成し右側駆動機構部２８上半分周囲を覆う。カバー部３４はカバー部３３下部と連結し右側駆動機構部２８下半分周囲を覆う。カバー部３３、３４は内側に、右側支持台（図示略）、減速機（図示略）、Ａ軸モータ６７（図３参照）等を格納する。右側支持台は、カバー部３３、３４の夫々の左側面に跨いで設けた円形状の穴部３５を介して、右連結部２２右端面から右方に突出する略円柱状の支軸（図示略）を回転可能に支持し、且つＡ軸モータ６７を一体化して保持する。
【００３０】
右連結部２２の支軸とＡ軸モータ６７の出力軸は、減速機を介して互いに連結する。減速機は歯車等で動力の回転速度を減じて出力する機械装置であり、出力として減速比に比例したトルクを得ることができる。故にＡ軸モータ６７の出力軸が回転すると、減速機を介して、右連結部２２の支軸はＡ軸モータ６７の出力軸よりも減速して回転する。Ａ軸テーブル２０は右連結部２２と一体して回転し、Ａ軸回りに任意の方向に傾く。故にワーク支持装置８は、主軸に装着する工具に対してワークを任意方向に傾けることができる。右側支持台の底部は、右側ワーク基台１３の支持台１３Ａ、１３Ｂ（図１参照）の夫々の上面に架け渡して固定する。
【００３１】
図３を参照し、数値制御装置１と工作機械１００の電気的構成を説明する。数値制御装置１はＣＰＵ９１、ＲＯＭ９２、ＲＡＭ９３、不揮発性メモリ９４、Ｉ／Ｏ基板９６等を備える。ＣＰＵ９１は工作機械１００の動作を制御する。ＲＯＭ９２は後述する制御プログラム等を記憶する。制御プログラムは、図４〜図６に示すＣ軸位置合わせ処理を実行するものである。ＲＡＭ９３は各種処理実行中に発生するクランプ確認時間カウンタ、アンクランプ確認時間カウンタ、クランプ待ち時間カウンタ、モータ待ち時間カウンタ、変数Ｎの値等を記憶する。各カウンタ、変数Ｎの説明は後述する。不揮発性メモリ９４はＮＣプログラム、リトライ最大回数、ずれ許容値、クランプ待ち時間等を記憶する。リトライ最大回数、ずれ許容値、クランプ待ち時間の説明は後述する。Ｉ／Ｏ基板９６は工作機械１００と各種信号の入出力を行う回路基板である。
【００３２】
工作機械１００は駆動回路５１〜５９を更に備える。駆動回路５１〜５９は数値制御装置１のＩ／Ｏ基板９６に接続する。駆動回路５１はＣＰＵ９１の指令信号に従いＸ軸モータ６１に駆動電流（パルス）を出力する。エンコーダ７１はＸ軸モータ６１とＩ／Ｏ基板９６に接続する。エンコーダ７１はＸ軸モータ６１の位置情報（モータの絶対位置情報）を検出し該検出信号をＩ／Ｏ基板９６に入力する。駆動回路５２はＣＰＵ９１の指令信号に従いＹ軸モータ６２に駆動電流を出力する。エンコーダ７２はＹ軸モータ６２とＩ／Ｏ基板９６に接続する。エンコーダ７２はＹ軸モータ６２の位置情報を検出し該検出信号をＩ／Ｏ基板９６に入力する。
【００３３】
駆動回路５３はＣＰＵ９１の指令信号に従いＺ軸モータ６３に駆動電流を出力する。エンコーダ７３はＺ軸モータ６３とＩ／Ｏ基板９６に接続する。エンコーダ７３はＺ軸モータ６３の位置情報を検出し該検出信号をＩ／Ｏ基板９６に入力する。駆動回路５４はＣＰＵ９１の指令信号に従い主軸モータ６４に駆動電流を出力する。エンコーダ７４は主軸モータ６４とＩ／Ｏ基板９６に接続する。エンコーダ７４は主軸モータ６４の位置情報を検出し該検出信号をＩ／Ｏ基板９６に入力する。駆動回路５５はＣＰＵ９１の指令信号に従いマガジンモータ６５に駆動電流を出力する。エンコーダ７５はマガジンモータ６５とＩ／Ｏ基板９６に接続する。エンコーダ７５はマガジンモータ６５の位置情報を検出し該検出信号をＩ／Ｏ基板９６に入力する。
【００３４】
駆動回路５６はＣＰＵ９１の指令信号に従いＣ軸モータ６６に駆動電流を出力する。エンコーダ７６はＣ軸モータ６６とＩ／Ｏ基板９６に接続する。エンコーダ７６はＣ軸モータ６６の位置情報を検出し該検出信号をＩ／Ｏ基板９６に入力する。駆動回路５７はＣＰＵ９１の指令信号に従いＡ軸モータ６７に駆動電流を出力する。エンコーダ７７はＡ軸モータ６７とＩ／Ｏ基板９６に接続する。エンコーダ７７はＡ軸モータ６７の位置情報を検出し該検出信号をＩ／Ｏ基板９６に入力する。
【００３５】
駆動回路５８はＣＰＵ９１の指令信号に従いクランプ装置６８に駆動電流を出力する。
ＣＰＵ９１がＩ／Ｏ基板９６を介して駆動回路５８に入力する指令信号はアンクランプ出力信号である。ＣＰＵ９１がアンクランプ出力信号を駆動回路５８に入力した時、クランプ装置６８は駆動軸４１をアンクランプする。ＣＰＵ９１がアンクランプ出力信号を駆動回路５８に入力しない時、クランプ装置６８は駆動軸４１をクランプする。以下、ＣＰＵ９１がアンクランプ出力信号を駆動回路５８に入力することを「アンクランプ出力信号をＯＮする」と称し、ＣＰＵ９１がアンクランプ出力信号を駆動回路５８に入力しないことを「アンクランプ出力信号をＯＦＦする」と称す。
【００３６】
駆動回路５９はＣＰＵ９１の指令信号に従い表示部８４に駆動電流を出力する。入力部８１はＩ／Ｏ基板９６に接続する。入力部８１、表示部８４は例えば工作機械１００を覆うカバー（図示略）の外壁に取り付ける。表示部８４は例えばＬＣＤである。使用者は表示部８４が表示する情報を確認しながら入力部８１を操作して、ＮＣプログラム、リトライ最大回数、ずれ許容値、クランプ待ち時間等を不揮発性メモリ９４に記憶させる。
【００３７】
Ｘ軸モータ６１、Ｙ軸モータ６２、Ｚ軸モータ６３、主軸モータ６４、マガジンモータ６５、Ｃ軸モータ６６、Ａ軸モータ６７は何れもサーボモータである。エンコーダ７１〜７７は一般的なアブソリュートエンコーダである。エンコーダ７１〜７５、７７はサーボモータの出力軸の回転位置の絶対位置を検出して出力する位置センサである。エンコーダ７６は駆動軸４１の回転位置の絶対位置を検出して出力する位置センサである。駆動回路５１〜５７はエンコーダ７１〜７７からフィードバック信号を受け、位置と速度のフィードバック制御を行う。駆動回路５１〜５９は例えばＦＰＧＡ回路でもよい。
【００３８】
図４〜図６を参照し、ＣＰＵ９１が実行するＣ軸位置合わせ処理を説明する。ＣＰＵ９１はＣ軸テーブル４０を回転させる制御指令を受信した時、Ｃ軸位置合わせ処理を実行する。
【００３９】
図４に示す如く、ＣＰＵ９１は不揮発性メモリ９４からリトライ最大回数を取得し（Ｓ１）、ずれ許容値を取得し（Ｓ２）、クランプ待ち時間を取得する（Ｓ３）。ＣＰＵ９１は変数Ｎに０を設定する（Ｓ４）。変数Ｎは後述するリトライ処理の実行回数である。
【００４０】
ＣＰＵ９１はＣ軸モータ６６を駆動する（Ｓ１１）。Ｃ軸モータ６６の駆動により駆動軸４１と駆動軸４１に連結するＣ軸テーブル４０が回転する。ＣＰＵ９１は使用者が設定した所定回転位置に駆動軸４１が到達したかを判断する（Ｓ１２）。ＣＰＵ９１はエンコーダ７６の検出結果に基づきＳ１２の判断を行う。ＣＰＵ９１は駆動軸４１が所定回転位置に到達していないと判断した時（Ｓ１２：ＮＯ）、処理をＳ１２に戻し、該処理を繰り返す。
【００４１】
ＣＰＵ９１は駆動軸４１が所定回転位置に到達したと判断した時（Ｓ１２：ＹＥＳ）、アンクランプ出力信号をＯＦＦにする（Ｓ２１）。該時、クランプ装置６８は駆動軸４１のクランプを開始する。ＣＰＵ９１はクランプ確認時間をクランプ確認時間カウンタに設定する（Ｓ２２）。ＣＰＵ９１はクランプ確認時間カウンタをＲＡＭ９３に記憶する。クランプ確認時間はクランプ装置６８が駆動軸４１のクランプを開始してから完了する迄の時間である。
【００４２】
ＣＰＵ９１はクランプ確認時間が経過したか判断する（Ｓ２３）。ＣＰＵ９１はＳ２２で設定したクランプ確認時間カウンタの値に基づきＳ２３の判断を行う。ＣＰＵ９１はクランプ確認時間カウンタの値が０でなく、クランプ確認時間が経過していないと判断した時（Ｓ２３：ＮＯ）、処理をＳ２３に戻し、該処理を繰り返す。ＣＰＵ９１はクランプ確認時間カウンタの値が０であり、クランプ確認時間が経過したと判断した時（Ｓ２３：ＹＥＳ）、Ｃ軸モータ６６を停止する（Ｓ２４）。クランプ装置６８がクランプを完了した時、ＣＰＵ９１はエンコーダ７６の検出結果から駆動軸４１の回転位置を検出する。
【００４３】
図５に示す如く、ＣＰＵ９１は駆動軸４１における使用者が設定した所定回転位置とクランプ装置６８のクランプ完了後の回転位置とのずれ量である位置ずれ量がエラー閾値以下であるか判断する（Ｓ３１）。例えばクランプ装置６８が駆動軸４１をクランプするトルクが大きい時、位置ずれ量が０でないことがある。エラー閾値は駆動軸４１の位置ずれにより工作機械１００の加工精度に影響が出る可能性があるかをＣＰＵ９１が判断するための閾値である。ＣＰＵ９１は位置ずれ量がエラー閾値以下であると判断した時（Ｓ３１：ＹＥＳ）、Ｃ軸位置合わせ処理を終了する。該時、クランプ装置６８が正常にクランプを完了したとして、工作機械１００はワークの加工を開始する。
【００４４】
ＣＰＵ９１は位置ずれ量がエラー閾値より大きいと判断した時（Ｓ３１：ＮＯ）、位置ずれ量がずれ許容値以下であるか判断する（Ｓ３２）。ずれ許容値はクランプ装置６８が後述するリトライ処理を実行するかをＣＰＵ９１が判断するための閾値である。ずれ許容値は位置ずれ量についての閾値である。ずれ許容値はエラー閾値より大きく、例えばエラー閾値の５〜１０倍の値である。
【００４５】
ＣＰＵ９１は位置ずれ量がずれ許容値以下であると判断した時（Ｓ３２：ＹＥＳ）、変数Ｎがリトライ最大回数以下であるか判断する（Ｓ３３）。リトライ最大回数はクランプ装置６８が後述するリトライ処理を実行するかをＣＰＵ９１が判断するための閾値である。リトライ最大回数は変数Ｎについての閾値である。ＣＰＵ９１は変数Ｎがリトライ最大回数未満であると判断した時（Ｓ３３：ＹＥＳ）、処理をＳ５１（図６参照）に移行する。
【００４６】
図６に示す如く、ＣＰＵ９１は変数Ｎに１加算する（Ｓ５１）。ＣＰＵ９１はモータ待ち時間をモータ待ち時間カウンタに設定する（Ｓ５２）。ＣＰＵ９１はモータ待ち時間カウンタをＲＡＭ９３に記憶する。モータ待ち時間は停止中のＣ軸モータ６６を再度駆動する迄の待ち時間である。
【００４７】
ＣＰＵ９１はモータ待ち時間が経過したか判断する（Ｓ５３）。ＣＰＵ９１はＳ５２で設定したモータ待ち時間カウンタの値に基づきＳ５３の判断を行う。ＣＰＵ９１はモータ待ち時間カウンタの値が０でなく、モータ待ち時間が経過していないと判断した時（Ｓ５３：ＮＯ）、処理をＳ５３に戻し、該処理を繰り返す。ＣＰＵ９１はモータ待ち時間カウンタの値が０であり、モータ待ち時間が経過したと判断した時（Ｓ５３：ＹＥＳ）、処理をＳ６１に移行する。
【００４８】
ＣＰＵ９１はアンクランプ出力信号をＯＮにする（Ｓ６１）。該時、クランプ装置６８は駆動軸４１のアンクランプを開始する。ＣＰＵ９１はアンクランプ確認時間をアンクランプ確認時間カウンタに設定する（Ｓ６２）。ＣＰＵ９１はアンクランプ確認時間カウンタをＲＡＭ９３に記憶する。アンクランプ確認時間はクランプ装置６８が駆動軸４１のアンクランプを開始してから完了する迄の時間である。ＣＰＵ９１はＣ軸モータ６６を駆動する（Ｓ６３）。ＣＰＵ９１はエンコーダ７６の検出結果に基づきＣ軸モータ６６を制御して駆動軸４１を所定回転位置まで移動させる。
【００４９】
ＣＰＵ９１はアンクランプ確認時間が経過したか判断する（Ｓ７１）。ＣＰＵ９１はＳ６２で設定したアンクランプ確認時間カウンタの値に基づきＳ７１の判断を行う。ＣＰＵ９１はアンクランプ確認時間カウンタの値が０でなく、アンクランプ確認時間が経過していないと判断した時（Ｓ７１：ＮＯ）、処理をＳ７１に戻し、該処理を繰り返す。ＣＰＵ９１はアンクランプ確認時間カウンタの値が０であり、アンクランプ確認時間が経過したと判断した時（Ｓ７１：ＹＥＳ）、処理をＳ７２に移行する。
【００５０】
ＣＰＵ９１はクランプ待ち時間をクランプ待ち時間カウンタに設定する（Ｓ７２）。ＣＰＵ９１はクランプ待ち時間カウンタをＲＡＭ９３に記憶する。クランプ待ち時間はクランプ装置６８が駆動軸４１のアンクランプを完了してから再度クランプを行う迄の待ち時間である。
【００５１】
ＣＰＵ９１はクランプ待ち時間が経過したか判断する（Ｓ７３）。ＣＰＵ９１はＳ７２で設定したクランプ待ち時間カウンタの値に基づきＳ７３の判断を行う。ＣＰＵ９１はクランプ待ち時間カウンタの値が０でなく、クランプ待ち時間が経過していないと判断した時（Ｓ７３：ＮＯ）、処理をＳ７３に戻し、該処理を繰り返す。ＣＰＵ９１はクランプ待ち時間カウンタの値が０であり、クランプ待ち時間が経過したと判断した時（Ｓ７３：ＹＥＳ）、処理をＳ８１に移行する。
【００５２】
ＣＰＵ９１はアンクランプ出力信号をＯＦＦにする（Ｓ８１）。該時、クランプ装置６８は駆動軸４１のクランプを開始する。ＣＰＵ９１はクランプ確認時間をクランプ確認時間カウンタに設定する（Ｓ８２）。Ｓ８１、Ｓ８２の処理はＳ２１、Ｓ２２（図４参照）と同様の処理である。
【００５３】
ＣＰＵ９１はクランプ確認時間が経過したか判断する（Ｓ８３）。Ｓ８３の処理はＳ２３（図４参照）と同様である。ＣＰＵ９１はクランプ確認時間が経過していないと判断した時（Ｓ８３：ＮＯ）、処理をＳ８３に戻し、該処理を繰り返す。ＣＰＵ９１はクランプ確認時間が経過したと判断した時（Ｓ８３：ＹＥＳ）、Ｃ軸モータ６６を停止する（Ｓ８４）。Ｓ８４の処理はＳ２４（図４参照）と同様である。
【００５４】
このように、ＣＰＵ９１は駆動軸４１の位置ずれ量がエラー閾値よりも大きいと判断した時（Ｓ３１：ＹＥＳ、図５参照）、Ｓ５１〜Ｓ８４の処理を実行する。Ｓ５１〜Ｓ８４の処理では、クランプ装置６８は駆動軸４１を一度アンクランプした後、再度クランプをする。Ｓ５１〜Ｓ８４の処理を総称して「リトライ処理」と称す。ＣＰＵ９１は、リトライ処理の実行後、処理をＳ３１（図５参照）に戻す。
【００５５】
図５に示す如く、ＣＰＵ９１はリトライ処理（図６参照）の実行後、位置ずれ量がエラー閾値以下であるか判断する（Ｓ３１）。ＣＰＵ９１はリトライ処理後に位置ずれ量がエラー閾値以下であると判断した時（Ｓ３１：ＹＥＳ）、Ｃ軸位置合わせ処理を終了する。該時、工作機械１００はワークの加工を開始する。
【００５６】
ＣＰＵ９１はリトライ処理後でも位置ずれ量がエラー閾値より大きいと判断した時（Ｓ３１：ＮＯ）、Ｓ３２とＳ３３の判断を行った後、リトライ処理（図６参照）を繰り返し実行する。ＣＰＵ９１はリトライ処理を繰り返す度、変数Ｎに１加算する。
【００５７】
ＣＰＵ９１は位置ずれ量がエラー閾値より大きく（Ｓ３１：ＮＯ）、更にずれ許容値より大きいと判断した時（Ｓ３２：ＮＯ）、処理をＳ４１に移行する。またＣＰＵ９１は繰り返しリトライ処理を実行した結果、変数Ｎがリトライ最大回数に到達した時（Ｓ３３：ＮＯ）、処理をＳ４１に移行する。ＣＰＵ９１は使用者が設定した所定回転位置から駆動軸４１が位置ずれして、工作機械１００の加工精度に影響が出る可能性があることを表示部８４に表示する（Ｓ４１）。ＣＰＵ９１はクランプ装置６８が正常にクランプを完了できなかったとして、リトライ処理を行わない（Ｓ４２）。該時、工作機械１００はワークの加工を中止する。ＣＰＵ９１はＣ軸位置合わせ処理を終了する。
【００５８】
上記説明にて、Ｃ軸モータ６６は本発明のサーボモータに相当し、クランプ装置６８は本発明のクランプ部に相当し、所定回転位置は本発明の第一回転位置に相当し、Ｓ１１、Ｓ１２を実行するＣＰＵ９１は本発明の第一制御部に相当し、Ｓ２１を実行するＣＰＵ９１は本発明の第二制御部に相当し、位置ずれ量は本発明のずれ量に相当し、エラー閾値、ずれ許容値は本発明の閾値に相当し、Ｓ３１、Ｓ３２を実行するＣＰＵ９１は本発明の判定部に相当し、エラー閾値は本発明の第一閾値に相当し、Ｓ６１、Ｓ８１を実行するＣＰＵ９１は本発明の第三制御部に相当し、クランプ待ち時間は本発明の第一時間に相当し、変数Ｎは本発明の第一回数に相当し、リトライ最大回数は本発明の第二閾値に相当し、Ｓ４２を実行するＣＰＵ９１は本発明の第一停止部に相当し、ずれ許容値は本発明の第三閾値に相当し、表示部８４は本発明の報知部に相当し、ずれ許容値は本発明の第四閾値に相当し、Ｓ４１、Ｓ４２を実行するＣＰＵ９１は本発明の第二停止部に相当し、モータ待ち時間は本発明の第二時間に相当し、Ｓ２４、Ｓ８４を実行するＣＰＵ９１は本発明の第三停止部に相当する。
【００５９】
以上説明の如く、数値制御装置１はＣＰＵ９１を備える。ＣＰＵ９１はＣ軸モータ６６を制御して使用者が設定した所定回転位置に駆動軸４１を移動させる（Ｓ１１）。ＣＰＵ９１は駆動軸４１が所定回転位置に移動した時（Ｓ１２：ＹＥＳ）、アンクランプ出力信号をＯＦＦにして（Ｓ２１）、クランプ装置６８に駆動軸４１のクランプを開始させる。ＣＰＵ９１はクランプ装置６８が駆動軸４１のクランプが完了した時（Ｓ２３：ＹＥＳ）、位置ずれ量がエラー閾値以下であるか判断する（Ｓ３１）。ＣＰＵ９１は位置ずれ量がエラー閾値より大きいと判断した時（Ｓ３１：ＮＯ）、リトライ処理（Ｓ５１〜Ｓ８４）を実行する。故に数値制御装置１は、駆動軸４１を指定の回転位置で精度良く静止させることができる。
【００６０】
ＣＰＵ９１はリトライ処理（Ｓ５１〜Ｓ８４）において、クランプ装置６８が駆動軸４１のアンクランプが完了した時（Ｓ７１：ＹＥＳ）、使用者が設定したクランプ待ち時間をクランプ待ち時間カウンタに設定する（Ｓ７２）。ＣＰＵ９１はクランプ待ち時間が経過した時（Ｓ７３：ＹＥＳ）、アンクランプ出力信号をＯＦＦにして（Ｓ８１）、駆動軸４１をクランプする。故にＣＰＵ９１は、クランプ待ち時間の間で駆動軸４１が指定の回転位置に移動するようにＣ軸モータ６６を制御できる。故に数値制御装置１は、駆動軸４１を指定の回転位置で精度良く静止させることができる。
【００６１】
ＣＰＵ９１は位置ずれ量がエラー閾値より大きい時（Ｓ３１：ＮＯ）、位置ずれ量がエラー閾値以下になる迄繰り返しリトライ処理（Ｓ５１〜Ｓ８４）を実行する。ＣＰＵ９１はリトライ処理（Ｓ５１〜Ｓ８４）を実行する度に変数Ｎに１加算する（Ｓ５１）。ＣＰＵ９１は使用者が設定したリトライ最大回数に変数Ｎの値が到達した時（Ｓ３３：ＮＯ）、リトライ処理を中止する（Ｓ４２）。故に使用者は、変数Ｎの値に基づき数値制御装置１の制御の不調を判断し易い。
【００６２】
ＣＰＵ９１はクランプ装置６８が駆動軸４１のクランプが完了した時（Ｓ２３：ＹＥＳ）、位置ずれ量がずれ許容値以下であるか判断する（Ｓ３２）。ＣＰＵ９１は位置ずれ量がずれ許容値より大きいと判断した時（Ｓ３２：ＮＯ）、所定回転位置から駆動軸４１が位置ずれして、工作機械１００の加工精度に影響が出る可能性があることを表示部８４に表示する（Ｓ４１）。故に使用者は、表示部８４の表示から数値制御装置１の制御の不調を把握し易い。
【００６３】
ＣＰＵ９１はリトライ処理（Ｓ５１〜Ｓ８４）において、クランプ装置６８が駆動軸４１のクランプを完了した時（Ｓ８３：ＹＥＳ）、位置ずれ量がずれ許容値以下であるか判断する（Ｓ３２）。ＣＰＵ９１は位置ずれ量がずれ許容値より大きいと判断した時（Ｓ３２：ＮＯ）、所定回転位置から駆動軸４１が位置ずれして、工作機械１００の加工精度に影響が出る可能性があることを表示部８４に表示する（Ｓ４１）。該時、ＣＰＵ９１はリトライ処理を中止する（Ｓ４２）。故に使用者は、表示部８４の表示から数値制御装置１の制御の不調を把握し易い。
【００６４】
ＣＰＵ９１はクランプ装置６８による駆動軸４１のクランプが完了した時（Ｓ２３：ＹＥＳ、Ｓ８３：ＹＥＳ）、Ｃ軸モータ６６を停止する（Ｓ２４、Ｓ８４）。ＣＰＵ９１は位置ずれ量がエラー閾値より大きい時（Ｓ３１：ＮＯ）、リトライ処理（Ｓ５１〜Ｓ８４）において、モータ待ち時間をモータ待ち時間カウンタに設定する（Ｓ５３）。ＣＰＵ９１はモータ待ち時間が経過した時（Ｓ５３：ＹＥＳ）、クランプ装置６８による駆動軸４１のアンクランプを実行して（Ｓ６１）、Ｃ軸モータ６６を駆動する（Ｓ６３）。ＣＰＵ９１はクランプ装置６８による駆動軸４１のクランプを実行する（Ｓ８１）。クランプ装置６８が駆動軸４１をクランプしている時に、ＣＰＵ９１はモータ待ち時間の間、Ｃ軸モータ６６を停止するので、駆動軸４１で発生するＣ軸モータ６６によるトルクが低減する。故に数値制御装置１は、駆動軸４１の位置ずれ量が大きくなることを抑制できる。
【００６５】
エンコーダ７６は駆動軸４１の回転位置の絶対位置を検出する。ＣＰＵ９１は検出した駆動軸４１の回転位置と所定回転位置との差分である位置ずれ量と、エラー閾値（Ｓ３１）又はずれ許容値（Ｓ３２）との関係を判定する。数値制御装置１は、駆動軸４１の回転位置を検出できるので、駆動軸４１を指定の回転位置で精度良く静止させることができる。
【００６６】
本発明は、上記実施例に限らない。上記実施例では、ＣＰＵ９１はＣ軸テーブル４０に連結した駆動軸４１に対してリトライ処理を実行したが、これに限られない。右側駆動機構部２８はクランプ装置を備え、ＣＰＵ９１はＡ軸テーブル２０と連結した右側駆動機構部２８の支軸に対してリトライ処理を実行してもよい。工作機械１００がＹ軸に対して平行な回転軸であるＢ軸やその他の回転軸の駆動軸を有し、これらの駆動軸に対してリトライ処理を実行してもよい。
【００６７】
上記実施例では、クランプ装置はディスクブレーキを備えることを例示したが、ドラムブレーキ等、その他の制動装置であってもよい。クランプ装置の駆動方式は空気圧でもよいし、油圧でもよく、限定しない。
【００６８】
上記実施例では、ＣＰＵ９１は駆動軸４１の回転位置をエンコーダ７６により駆動軸４１の回転位置を特定したが、回転位置を検出するものはエンコーダ７６に限らず、例えば複数の位置センサの検出結果から駆動軸４１の回転位置を検出してもよい。
【００６９】
リトライ最大回数、ずれ許容値、クランプ待ち時間は使用者が値を設定するが、予め設定した所定の値であってもよい。初回の駆動軸４１のクランプ（Ｓ２１）した時と、リトライ処理での駆動軸４１のクランプ（Ｓ８１）した時とで、ずれ許容値の値が異なってもよい。
【００７０】
上記実施例では、ＣＰＵ９１がアンクランプ出力信号を駆動回路５８に入力した時、クランプ装置６８は駆動軸４１をアンクランプし、ＣＰＵ９１がアンクランプ出力信号を駆動回路５８に入力しない時、クランプ装置６８は駆動軸４１をクランプしたが、これに限らない。ＣＰＵ９１がクランプ出力信号を駆動回路５８に入力した時、クランプ装置６８は駆動軸４１をクランプしてもよい。該時、ＣＰＵ９１がクランプ出力信号を駆動回路５８に入力しない時、クランプ装置６８は駆動軸４１をアンクランプしてもよい。
【００７１】
初回の駆動軸４１のクランプ（Ｓ２１）した時と、リトライ処理での駆動軸４１のクランプ（Ｓ８１）した時とで、Ｓ４１の報知は報知の態様が異なってもよい。
【符号の説明】
【００７２】
１        数値制御装置
４０      Ｃ軸テーブル
４１      駆動軸
５０      Ｃ軸駆動部
６６      Ｃ軸モータ
６８      クランプ装置
７６      エンコーダ
１００    工作機械
【図１】
2020154956.tif 000003
【図２】
2020154956.tif 000004
【図３】
2020154956.tif 000005
【図４】
2020154956.tif 000006
【図５】
2020154956.tif 000007
【図６】
2020154956.tif 000008