(57)【要約】【課題】サーボモータを目標位置に容易かつ速やかに位置決めできる数値制御装置を提供する。【解決手段】数値制御装置の制御部はＸ軸駆動制御部を制御する。Ｘ軸駆動制御部はＸ軸モータを駆動する。制御部とＸ軸駆動制御部は同一の位置指令テーブル８０を記憶する。位置指令テーブル８０はＸ軸モータに出力する位置指令を異なる位置毎に異なるポイント番号と共に夫々記憶する。制御部のＣＰＵは位置指令テーブル８０から取得した位置指令を複数組み合せて、現在位置から最終目標位置までＸ軸モータを駆動する経路を演算する。ＣＰＵは演算した経路に従って各ポイント番号を順に入出力ポートに出力する。Ｘ軸駆動制御部は入出力ポートから受信したポイント番号に基づき、位置指令テーブル８０から位置指令を特定しＸ軸モータを駆動する。故にＸ軸モータの目標位置への位置決めを容易且つ速やかにできる。【選択図】図４
2014106936.tif 000002
【特許請求の範囲】
【請求項１】
サーボモータの目標位置を設定する設定手段と、前記サーボモータを駆動する駆動制御部と、前記設定手段で設定した前記目標位置を前記駆動制御部に出力する入出力ポートと、前記入出力ポートを有し且つ前記駆動制御部の情報と前記目標位置とに基づいて該駆動制御部を制御する制御部とを備えた数値制御装置において、
前記駆動制御部が有し且つ前記サーボモータに出力する指令を異なる位置毎に異なるポイント番号と共に複数記憶するメモリと、
前記メモリから取得した前記指令を複数組合せることによって、現在位置から前記設定手段が設定した前記目標位置まで前記サーボモータを駆動する経路を演算する演算手段と
を備え、
前記制御部は前記演算手段が演算した前記経路に従って、前記各ポイント番号を順に前記入出力ポートに出力することを特徴とする数値制御装置。
【請求項２】
前記演算手段が演算した前記経路において、各指令の位置決め完了を検出する為のインポジションの許容幅であるインポジション幅を設定するインポジション幅設定手段と、
前記経路において最後の指令の位置決め完了を検出する為のインポジションの許容幅である最終インポジション幅を設定する最終インポジション幅設定手段と
を更に備え、
前記インポジション幅は前記最終インポジション幅よりも広いことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記指令は、座標値指令方式であるアブソリュート指令と、移動量指定方式であるインクリメンタル指令とを備えたことを特徴とする請求項１又は２に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は数値制御装置に関する。
【背景技術】
【０００２】
特許文献１はサーボ系制御装置の位置決め制御用パルス発生器を開示する。位置決め制御用パルス発生器は、設定器、表示器、メモリ、入出力ポート、指令パルス発生器、マイクロコンピュータを備える。設定器は複数の停止位置データを設定する。表示器は設定器の設定内容を表示する。メモリは各データを格納する。入出力ポートは上位装置との信号インタフェースである。指令パルス発生器は制御対象を駆動制御する位置決め装置に対して指令パルスを出力する。マイクロコンピュータは、モード指定がプログラムモード指定である場合、各信号に使用する信号線を夫々転送データ信号、書込み信号及び書込み完了信号用に使用して停止位置データ転送処理を行う。
【０００３】
特許文献２はサーボモータの制御方法を開示する。サーボモータはマニピュレータの各軸に取り付ける。サーボアンプは各サーボモータの動作を制御する。コントローラはサーボアンプに当該マニピュレータの通過点と目標位置を送信し、１のサーボモータの動作を制御する。コントローラは、位置決めのサイクルタイムを短縮する為に、当該１のサーボモータが駆動する軸が通過点に達したことを検出した時に、他のサーボモータの駆動を開始する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平４−７６０９号公報
【特許文献２】特開２００４−３０６１５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の位置決め制御用パルス発生器は、メモリに記憶していない停止位置に位置決めする場合、メモリに書き込む処理が必要であるので、処理時間分の遅延が発生する可能性があった。特許文献２に記載の制御方法は、各目標位置への位置決め指令に通過点の情報を付加しなければならず手間であった。
【０００６】
本発明の目的は、サーボモータを目標位置に容易かつ速やかに位置決めできる数値制御装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明の請求項１に係る数値制御装置は、サーボモータの目標位置を設定する設定手段と、前記サーボモータを駆動する駆動制御部と、前記設定手段で設定した前記目標位置を前記駆動制御部に出力する入出力ポートと、前記入出力ポートを有し且つ前記駆動制御部の情報と前記目標位置とに基づいて該駆動制御部を制御する制御部とを備えた数値制御装置において、前記駆動制御部が有し且つ前記サーボモータに出力する指令を異なる位置毎に異なるポイント番号と共に複数記憶するメモリと、前記メモリから取得した前記指令を複数組合せることによって、現在位置から前記設定手段が設定した前記目標位置まで前記サーボモータを駆動する経路を演算する演算手段とを備え、前記制御部は前記演算手段が演算した前記経路に従って、前記各ポイント番号を順に前記入出力ポートに出力することを特徴とする。メモリはサーボモータに出力する指令を異なる位置毎に異なるポイント番号と共に複数記憶する。演算手段は、メモリから取得した指令を複数組合せることによって、現在位置から任意の目標位置までサーボモータを駆動する経路を演算する。制御部は演算手段が演算した経路に従って、各ポイント番号を順に入出力ポートに出力する。駆動制御部はメモリに記憶した内容に基づき、指令を特定し、サーボモータを駆動できる。故に数値制御装置はサーボモータを停止位置に容易かつ速やかに位置決めできる。ポイント数は予め決まっているので、入出力ポートのポート数が増えない。故にコストは増大しない。
【０００８】
請求項２に係る発明の数値制御装置は、請求項１に記載の発明の構成に加え、前記演算手段が演算した前記経路において、各指令の位置決め完了を検出する為のインポジションの許容幅であるインポジション幅を設定するインポジション幅設定手段と、前記経路において最後の指令の位置決め完了を検出する為のインポジションの許容幅である最終インポジション幅を設定する最終インポジション幅設定手段とを更に備え、前記インポジション幅は前記最終インポジション幅よりも広いことを特徴とする。インポジション幅は最終インポジション幅よりも広い。故に数値制御装置は、最後の指令の位置決め以外の位置決め完了を速く検出する。目標位置への複数の指令同士の繋ぎは滑らかになる。故に数値制御装置は次の指令を速やかに実行できる。最終インポジション幅は通常のインポジション幅よりも狭い。故に数値制御装置は、最後の指令の位置決め完了を正確に検出できる。
【０００９】
請求項３に係る発明の数値制御装置は、請求項１又は２に記載の発明の構成に加え、前記指令は、座標値指令方式であるアブソリュート指令と、移動量指定方式であるインクリメンタル指令とを備えたことを特徴とする。指令はアブソリュート指令とインクリメンタル指令を備える。演算手段は現在位置から目標位置までの駆動量に応じて、アブソリュート指令とインクリメンタル指令を組み合わせる。アブソリュート指令を最初に使用し、残距離を複数のインクリメンタル指令で補ってもよい。故に数値制御装置は、目標位置にできるだけ近い位置までサーボモータを速やかに駆動できる。さらに数値制御装置は出来るだけ少ない指令で現在位置から目標位置までの経路を演算できる。
【図面の簡単な説明】
【００１０】
【図１】工作機械２の斜視図。
【図２】ＸＹステージ機構６０の斜視図。
【図３】数値制御装置１と工作機械２の電気的構成を示すブロック図。
【図４】位置指令テーブル８０の概念図。
【図５】経路中のＸ軸モータ４１のモータ速度の波形図と各種信号のタイミングチャート。
【図６】メイン処理の流れ図。
【図７】軸移動処理の流れ図。
【図８】駆動制御処理の流れ図。
【図９】インポジション幅設定処理の流れ図。
【発明を実施するための形態】
【００１１】
以下、本発明一実施形態を図面を参照して説明する。
【００１２】
図１を参照し、工作機械２の構造を説明する。工作機械２は、ベース５２、機械本体５３、ＸＹステージ機構６０、工具交換装置８０等を備える。ベース５２は鉄製の略直方体状の土台である。機械本体５３はベース５２上部後方に設け、後述するＸステージ６１上面に保持したワーク（図示略）を切削する。ＸＹステージ機構６０はベース５２上部中央に設け、Ｘステージ６１をＸ軸方向とＹ軸方向に駆動する。工具交換装置８０は機械本体５３上部に設け、機械本体５３の主軸５７に装着された工具Ｔを交換する。
【００１３】
工作機械２は操作パネル（図示略）を備える。操作パネルは入力部１７と表示部１８（図３参照）を備える。作業者は入力部１７により、ＮＣプログラム、工具の種類、工具情報、各種パラメータ等を入力できる。作業者が入力部１７を操作すると、表示部１８は各種入力画面又は操作画面等を表示する。
【００１４】
図１を参照し、機械本体５３の構成を説明する。機械本体５３は、コラム５５、主軸ヘッド５６、主軸５７、制御箱５８等を備える。コラム５５は柱状であり、ベース５２上部後方に立設する。主軸ヘッド５６はコラム５５前面に沿ってＺ軸方向（上下方向）に移動可能である。主軸５７は主軸ヘッド５６内部に回転可能に支持する。主軸５７は工具Ｔを装着し、主軸モータ４４（図３参照）の駆動により高速回転する。制御箱５８は数値制御装置１（図３参照）を格納する。数値制御装置１は工作機械２の動作を制御する。
【００１５】
主軸ヘッド５６は、コラム５５前面に設けたＺ軸移動機構（図示略）によってＺ軸方向に移動する。Ｚ軸移動機構は一対のＺ軸リニアガイドとＺ軸ボール螺子（図示略）とＺ軸モータ４３（図３参照）を備える。Ｚ軸リニアガイドはＺ軸方向に延出し且つ主軸ヘッド５６をＺ軸方向に案内する。Ｚ軸ボール螺子は一対のＺ軸リニアガイドの間に配置する。主軸ヘッド５６は背面にナット（図示略）を備える。ナットはＺ軸ボール螺子に螺合する。Ｚ軸モータ４３はＺ軸ボール螺子を正逆方向に回転する。故に主軸ヘッド５６はナットと共にＺ軸方向に移動する。主軸ヘッド５６は上部に主軸モータ４４（図３参照）を備える。主軸モータ４４は主軸５７を回転駆動する。Ｚ軸モータ４３と主軸モータ４４はサーボモータである。
【００１６】
工具交換装置８０は工具マガジン８１を備える。工具マガジン８１は円盤状である。工具マガジン８１はマガジンモータ４５（図３参照）の駆動により軸周りに旋回する。工具マガジン８１は外周上に２１個のポットＰを周方向に備える。作業者はポットＰに工具Ｔを着脱する。工具交換装置８０は工具マガジン８１を旋回し、次に使用する工具Ｔを装着したポットＰを工具交換位置に割り出す。工具交換装置８０は主軸５７に装着した工具Ｔを外し、工具交換位置にあるポットＰに装着した工具Ｔを主軸５７に装着する。
【００１７】
図１，図２を参照し、ＸＹステージ機構６０の構造を説明する。ＸＹステージ機構６０はＸ軸・Ｙ軸ボール螺子駆動系の機構である。ＸＹステージ機構６０は、Ｘステージ６１、Ｙステージ６２、Ｘ軸モータ４１、Ｙ軸モータ４２等を備える。Ｘステージ６１は上面にワークＷを保持する作業台である。Ｙステージ６２は上面にＸステージ６１をＸ軸方向（左右方向）に移動可能に支持し、且つベース５２上面中央においてＹ軸方向（前後方向）に移動可能である。
【００１８】
図２に示すように、ベース５２は上面中央に一対のＹ軸リニアガイド６３とＹ軸ボール螺子６４とＹ軸モータ４２を備える。Ｙ軸リニアガイド６３はＹ軸方向に延出し、且つＹステージ６２をＹ軸方向に案内する。Ｙ軸ボール螺子６４は一対のＹ軸リニアガイド６３の間に配置する。Ｙステージ６２は下面にナット（図示略）を備える。ナットはＹ軸ボール螺子６４に螺合する。Ｙ軸モータ４２はＹ軸ボール螺子６４を正逆方向に回転する。よって、Ｙステージ６２はナットと共にＹ軸方向に移動する。
【００１９】
Ｙステージ６２は上面に一対のＸ軸リニアガイド６５とＸ軸ボール螺子６６とＸ軸モータ４１を備える。Ｘ軸リニアガイド６５はＸ軸方向に延出し、且つＸステージ６１をＸ軸方向に案内する。Ｘ軸ボール螺子６６は一対のＸ軸リニアガイド６５の間に配置する。Ｘステージ６１は下面にナット（図示略）を備える。ナットはＸ軸ボール螺子６６に螺合する。Ｘ軸モータ４１はＸ軸ボール螺子６６を正逆方向に回転する。よって、Ｘステージ６１はナットと共にＸ軸方向に移動する。従って、Ｘステージ６１はＹステージ６２を介してＹ軸方向にも移動する。即ちＸステージ６１はＸ軸方向とＹ軸方向に移動可能となる。Ｘ軸モータ４１とＹ軸モータ４２はサーボモータである。
【００２０】
Ｘ軸リニアガイド６５とＸ軸ボール螺子６６は、Ｘステージ６１の左右両側において露出する部分において、図１に示すように、カバー６７，６８によって覆われている。カバー６７，６８はＸステージ６１のＸ軸方向への移動に伴い伸縮する。Ｙ軸リニアガイド６３とＹ軸ボール螺子６４は、Ｙステージ６２の前側において露出する部分において、カバー６９によって覆われ、後ろ側において露出する部分において、Ｙ軸後ろカバー（図示略）によって覆われている。カバー６９はＹステージ６２のＹ軸方向への移動に伴い伸縮する。故に工作機械２は、加工領域から飛散する切粉及びクーラント液の飛沫等が各軸の駆動機構上に落下するのを防止できる。
【００２１】
図３を参照し、数値制御装置１の電気的構成について説明する。数値制御装置１は、制御部１０、入力部１７、表示部１８、Ｘ軸駆動制御部２１、Ｙ軸駆動制御部２２、Ｚ軸駆動制御部２３、主軸駆動制御部２４、マガジン駆動制御部２５等を備える。以下これらを総称する場合は駆動制御部２１〜２５と呼ぶ。制御部１０は、駆動制御部２１〜２５の各種情報と目標位置に基づいて駆動制御部２１〜２５を制御する。
【００２２】
制御部１０は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、不揮発性メモリ１４、入出力ポート１５等を備える。ＣＰＵ１１は制御部１０を統括制御する。ＲＯＭ１２はメインプログラム、インポジション幅設定プログラム等の各種プログラム、後述する位置指令テーブル８０（図４参照）等を記憶する。メインプログラムは後述するメイン処理（図６参照）を実行する為のプログラムである。インポジション幅設定プログラムは後述するインポジション幅設定処理（図９参照）を実行する為のプログラムである。ＲＡＭ１３は各処理実行中の各種データを一時的に記憶する。
【００２３】
不揮発性メモリ１４は複数のＮＣプログラム等を記憶する。ＮＣプログラムは作業者が入力部１７で入力して登録する。ＮＣプログラムは各種制御指令を含む複数のブロックで構成し、工作機械２の軸移動、工具交換等を含む各種動作をブロック単位で指令する。入出力ポート１５は入力部１７、表示部１８、駆動制御部２１〜２５と夫々接続する。入出力ポート１５は、各駆動制御部２１〜２５との間で、後述するポイント信号、ＲＵＮ信号、ＰＦＩＮ信号、ＮＥＡＲ信号等の授受を行う。
【００２４】
Ｘ軸駆動制御部２１は、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３等を備える。ＣＰＵ３１はＸ軸駆動制御部２１を制御する。ＲＯＭ３２は後述する駆動制御プログラムと、後述する位置指令テーブル８０（図４参照）等を記憶する。ＲＡＭ３３は各処理実行中の各種データを一時的に記憶する。なお、駆動制御部２２〜２５はＸ軸駆動制御部２１の構成と同じ構成を備えるので説明を省略する。
【００２５】
工作機械２は、上述したＸ軸モータ４１、Ｙ軸モータ４２、Ｚ軸モータ４３、主軸モータ４４、マガジンモータ４５等を備える。各種モータ４１〜４５はエンコーダ４１Ａ〜４５Ａを各々備える。エンコーダ４１Ａ〜４５Ａは、各種モータ４１〜４５の位置を検出し、且つフィードバック信号を数値制御装置１に出力する。
【００２６】
Ｘ軸駆動制御部２１はＸ軸モータ４１とエンコーダ４１Ａに接続する。Ｙ軸駆動制御部２２はＹ軸モータ４２とエンコーダ４２Ａに接続する。Ｚ軸駆動制御部２３はＺ軸モータ４３とエンコーダ４３Ａに接続する。主軸駆動制御部２４は主軸モータ４４とエンコーダ４４Ａに接続する。マガジン駆動制御部２５はマガジンモータ４５とエンコーダ４５Ａに接続する。各駆動制御部２１〜２５は、制御部１０のＣＰＵ１１から入出力ポート１５を介して後述するポイント信号を受信し、各モータ４１〜４５にパルス信号を夫々出力する。各駆動制御部２１〜２５はエンコーダ４１Ａ〜４５Ａからフィードバック信号を受信し、位置と速度のフィードバック制御を行う。制御部１０のＣＰＵ１１は、フィードバック信号を参照し、Ｘステージ６１の現在位置、工具マガジン８１の回転角度等を検出できる。
【００２７】
使用者は複数のＮＣプログラムの中から一のＮＣプログラムを入力部１７で選択可能である。制御部１０のＣＰＵ１１は選択したＮＣプログラムを表示部１８に表示する。ＣＰＵ１１は表示部１８に表示したＮＣプログラムに基づき、工作機械２の動作を制御する。
【００２８】
図４を参照し、位置指令テーブル８０を説明する。位置指令テーブル８０はＸ軸モータ４１に出力する位置指令を異なる位置毎に異なるポイント番号と共に夫々割り付けている。位置指令テーブル８０はＸ軸駆動制御部２１のＲＯＭ３２に記憶する。なお、駆動制御部２２〜２５のＲＯＭは各モータ４２〜４５に夫々対応する位置テーブルを夫々記憶する。制御部１０のＲＯＭ１２も各ＲＯＭに記憶する位置テーブルと同一のものを夫々記憶する。
【００２９】
位置指令テーブル８０において、ポイント番号はＰ０〜Ｐ１７４まである。Ｐ０〜Ｐ１００までは、アブソリュート指令（以下ＡＢＳ指令という）で、Ｘステージ６１の位置をＸ軸方向において、−１００ｍｍから１００ｍｍまでを２ｍｍ単位で割り付けている。Ｐ１０１〜Ｐ１７４までは、インクリメンタル指令（以下ＩＮＣ指令という）である。Ｐ１０１〜Ｐ１０９まではＸステージ６１の位置を０．０００１ｍｍから０．０００９ｍｍまでを０．０００１ｍｍ単位で順に割り付けている。Ｐ１１０〜Ｐ１１９まではＸステージ６１の位置を０．００１ｍｍから０．０１０ｍｍまでを０．００１ｍｍ単位で順に割り付けている。Ｐ１２０〜Ｐ１２７（付図示）まではＸステージ６１の位置を０．０２０ｍｍから０．０９０ｍｍまでを０．０１ｍｍ単位で順に割り付けている。Ｐ１２８〜Ｐ１３７まではＸステージ６１の位置を０．１００ｍｍから１．０００ｍｍまでを０．１ｍｍ単位で順に割り付けている。Ｐ１０１〜Ｐ１３７はプラス方向の移動であり、Ｐ１３８〜Ｐ１７４はＰ１０１〜Ｐ１３７に対応するマイナス方向の移動を割り付けている。ＡＢＳ指令は座標値指令方式の位置指令である。ＩＮＣ指令は移動量指定方式の位置指令である。位置指令テーブル８０はＡＢＳ指令には０、ＩＮＣ指令には１を設定する。
【００３０】
制御部１０のＣＰＵ１１はポイント信号を、入出力ポート１５を介してＸ軸駆動制御部２１に出力する。ポイント信号は位置指令テーブル８０のポイント番号に対応するビット信号である。Ｘ軸駆動制御部２１は受信したポイント信号のポイント番号に対応する位置指令に基づき、Ｘ軸モータ４１を駆動制御する。
【００３１】
図５を参照し、Ｘステージ６１を現在位置から最終目標位置に移動するまでの経路の演算方法を説明する。制御部１０のＣＰＵ１１は、ＮＣプログラム中の軸移動指令に基づき、Ｘ軸モータ４１を駆動し、Ｘステージ６１を現在位置から最終目標位置に移動するまでの経路を演算する。経路は位置指令テーブル８０に各ポイント番号に割り付けた複数の位置指令を組み合わせて作成する。位置指令は原則、一つのＡＢＳ指令と複数のＩＮＣ指令を組み合わせて作成する。
【００３２】
本実施形態は一例として、図２に示す如く、Ｘ軸モータ４１を駆動制御して、Ｘステージ６１をＸ軸方向において、−９０ｍｍの位置（現在位置）から５．３２１５ｍｍの位置（最終目標位置）まで移動する経路の演算方法を説明する。
【００３３】
ＣＰＵ１１はＲＯＭ１２に記憶した位置指令テーブル８０から以下六つの位置指令を抽出する。各位置指令が夫々指定する位置の総和が最終目標位置である５．３２１５ｍｍとなるように抽出する。
・第一位置指令  →  Ｐ５２  ：４．０ｍｍ（ＡＢＳ指令）
・第二位置指令  →  Ｐ１３７：１．０ｍｍ（ＩＮＣ指令）
・第三位置指令  →  Ｐ１３０：０．３ｍｍ（ＩＮＣ指令）
・第四位置指令  →  Ｐ１２０：０．０２０ｍｍ（ＩＮＣ指令）
・第五位置指令  →  Ｐ１１０：０．００１ｍｍ（ＩＮＣ指令）
・第六位置指令  →  Ｐ１０５：０．０００５ｍｍ（ＩＮＣ指令）
【００３４】
第一位置指令は４．０ｍｍの座標位置に位置決めする指令である。第二位置指令はさらにプラス側に１．０ｍｍ移動して位置決めする指令である。第三位置指令はさらにプラス側に０．３ｍｍ移動して位置決めする指令である。第四位置指令はさらにプラス側に０．０２０ｍｍ移動して位置決めする指令である。第五位置指令はさらにプラス側に０．００１ｍｍ移動して位置決めする指令である。第六位置指令はさらにプラス側に０．０００５ｍｍ移動して位置決めする指令である。
【００３５】
制御部１０のＣＰＵ１１は、第一位置指令〜第六位置指令が指定する六つのポイント番号（Ｐ５２、Ｐ１３７、Ｐ１３０、Ｐ１２０、Ｐ１１０、Ｐ１０５）を、８ビットのポイント信号に夫々変換し、入出力ポート１５を介して、Ｘ軸駆動制御部２１に対して順次出力する。Ｘ軸駆動制御部２１のＣＰＵ３１は、受信したポイント信号を参照し、ポイント番号に対応する位置指令を、ＲＯＭ３２に記憶した位置指令テーブル８０から特定する。ＣＰＵ３１は特定した位置指令に従い、Ｘ軸モータ４１を駆動制御する。ＣＰＵ３１は第一位置指令〜第六位置指令を順次実行する。故に制御部１０はＸステージ６１を５．３２１５ｍｍの位置に容易かつ速やかに位置決めできる。
【００３６】
本実施形態は最初の位置指令をＡＢＳ指令とするのが好ましい。故にＸステージ６１は最初の位置指令で最終目標位置にできるだけ近い位置まで移動できる。最初のＡＢＳ指令で位置決めした後、最終目標位置までの残距離を複数のＩＮＣ指令で補う。位置指令テーブル８０においてポイント数は決まっている。故に入出力ポート１５のポート数を増やさずに、少数桁までの位置決めが可能となる。なお現在位置から最終目標位置までの経路はＡＢＳ指令のみで構成できる場合もある。また最終目標位置までの経路を全てＩＮＣ指令で構成してもよい。
【００３７】
インポジション幅を説明する。インポジション幅とは、第一指令から第六指令の各指令が指定する各目標位置に、Ｘ軸駆動制御部２１のＣＰＵ３１がＸステージ６１の位置決めが完了したことを検出する際の許容幅である。本実施形態は、各目標位置のインポジション幅にはＰＦＩＮ範囲を設定する。最終目標位置のインポジション幅にはさらにＮＥＡＲ範囲を設定する。ＰＦＩＮ範囲はＮＥＡＲ範囲よりも広い。例えばＰＦＩＮ範囲は総移動距離の１０％、ＮＥＡＲ範囲は総移動距離の０．００１％とする。故にＣＰＵ３１は最終目標位置以外の位置において、実際の目標位置よりも速くＸステージ６１の位置決め完了を検出する。ＣＰＵ３１は位置決め完了を検出した場合、次の位置指令を実行するので、最終目標位置までに要する時間を短縮できる。
【００３８】
図６を参照し、メイン処理を説明する。本処理は制御部１０のＣＰＵ１１が実行する。作業者は、操作パネルの入力部１７でＮＣプログラムを選択し、選択したＮＣプログラムの実行指示を入力する。ＣＰＵ１１はＲＯＭ１２に記憶したメインプログラムを読み込んで本処理を実行する。
【００３９】
先ず、ＣＰＵ１１はＮＣプログラムの１ブロックを解釈する（Ｓ１）。ＣＰＵ１１は解釈した１ブロックの制御指令が終了指令か否か判断する（Ｓ２）。ＣＰＵ１１は制御指令が終了指令でないと判断した場合（Ｓ２：ＮＯ）、制御指令が軸移動指令か否か判断する（Ｓ３）。ＣＰＵ１１は制御指令が軸移動指令と判断した場合（Ｓ３：ＹＥＳ）、後述する軸移動処理を行う（Ｓ４）。ＣＰＵ１１は制御指令が軸移動指令でないと判断した場合（Ｓ３：ＮＯ）、その制御指令に従って処理を実行する（Ｓ５）。ＣＰＵ１１は次ブロックに移行し、Ｓ１に戻って処理を繰り返す。ＣＰＵ１１は制御指令が終了指令であると判断した場合（Ｓ２：ＹＥＳ）、処理を終了する。
【００４０】
図５と図７を参照し、軸移動処理を説明する。本実施形態は、上述のように、Ｘステージ６１を−９０ｍｍの位置から５．３２１５ｍｍの位置まで移動する軸移動指令を実行する場合を説明する。
【００４１】
先ず、ＣＰＵ１１は軸移動指令が指定する最終目標位置を設定する（Ｓ１０）。ＣＰＵ１１は現在位置から最終目標位置までの経路を、位置指令テーブル８０を用いて演算する（Ｓ１１）。演算した経路は上述した通りである。経路を構成する六つの位置指令に対応するポイント番号は、Ｐ５２、Ｐ１３７、Ｐ１３０、Ｐ１２０、Ｐ１１０、Ｐ１０５である。以下説明において、Ｐ５２の第一位置指令が指定する位置を第一目標位置、Ｐ１３７の第二位置指令が指定する位置を第二目標位置、Ｐ１３０の第三位置指令が指定する位置を第三目標位置、Ｐ１２０の第四位置指令が指定する位置を第四目標位置、Ｐ１１０の第五位置指令が指定する位置を第五目標位置、Ｐ１０５の第六位置指令が指定する位置を最終目標位置と呼ぶ。
【００４２】
ＣＰＵ１１は最終目標位置への位置指令について指示済みか否か判断する（Ｓ１２）。ＣＰＵ１１は最初の第一位置指令を実行するので（Ｓ１２：ＮＯ）、最初のポイント番号であるＰ５２を８ビットのポイント信号に変換し、入出力ポート１５を介して、Ｘ軸駆動制御部２１に出力する（Ｓ１３）。
【００４３】
図５に示す如く、ＣＰＵ１１はｔ０で、ＲＵＮ信号をＯＮする（Ｓ１４）。ＲＵＮ信号はＸ軸モータ４１の軸移動開始を指示する信号である。Ｘ軸駆動制御部２１のＣＰＵ３１はＲＵＮ信号のＯＮにより、Ｘ軸モータ４１を駆動して軸移動を開始する。Ｘ軸モータ４１の速度は徐々に上昇し最高速度に達する。ＰＦＩＮ信号とＮＥＡＲ信号はＲＵＮ信号のＯＮを契機に何れもＯＦＦする。ＰＦＩＮ信号とＮＥＡＲ信号はＸ軸駆動制御部２１のＣＰＵ３１が出力する信号である。Ｘ軸モータ４１の速度はＸステージ６１が第一目標位置に達する手前から減速する。Ｘ軸駆動制御部２１のＣＰＵ３１は、後述する駆動制御処理（図８参照）で、Ｘステージ６１が第一目標位置のＰＦＩＮ範囲内に移動した場合、ＰＦＩＮ信号をＯＮする。
【００４４】
ＣＰＵ１１はＰＦＩＮ信号がＯＮか否か判断する（Ｓ１５）。ＰＦＩＮ信号がＯＦＦの場合（Ｓ１５：ＮＯ）、Ｘステージ６１はＰＦＩＮ範囲内に達していない。ＣＰＵ１１はＳ１５に戻って待機する。ｔ１で、ＰＦＩＮ信号がＯＮになった場合（Ｓ１５：ＹＥＳ）、ＣＰＵ１１はＲＵＮ信号をＯＦＦする（Ｓ１６）。ＣＰＵ１１はＳ１２に戻り、第二位置指令を実行する為に（Ｓ１２：ＮＯ）、Ｐ１３７を８ビットのポイント信号に変換し、入出力ポート１５を介してＸ軸駆動制御部２１に出力し（Ｓ１３）、ｔ２でＲＵＮ信号をＯＮする（Ｓ１４）。
【００４５】
このように、ＣＰＵ１１はＸステージ６１が第一目標位置に到達する前に、次のポイント信号をＸ軸駆動制御部２１に出力する。即ち、ＰＦＩＮ信号は、目標位置への位置決めを検出する機能のみならず、次の位置指令の実行開始を受け付ける信号としても機能する。故にＣＰＵ１１は前回の位置指令が完了する前に、次の位置指令をＸ軸駆動制御部２１に実行させることができる。Ｘステージ６１は速度を維持した状態で、次の目標位置に移動できるので、位置指令同士間の繋ぎを滑らかにできる。ＣＰＵ１１はｔ２でＲＵＮ信号をＯＮした後は（Ｓ１４）、上述と同様に処理を実行する（Ｓ１５，Ｓ１６）。ＣＰＵ１１は第三〜第五位置指令についても上述と同様に処理を実行する（Ｓ１２〜Ｓ１６）。
【００４６】
ＣＰＵ１１は第六位置指令のポイント信号を出力し（Ｓ１３）、図５に示すｔ３でＲＵＮ信号をＯＮした場合（Ｓ１４）、Ｘステージ６１は最終目標位置に向けて移動を開始する。Ｘステージ６１がＰＦＩＮ範囲内に移動した場合、Ｘ軸駆動制御部２１のＣＰＵ３１はｔ４で、ＰＦＩＮ信号をＯＮする。ＰＦＩＮ信号がＯＮすると（Ｓ１５：ＹＥＳ）、ＣＰＵ１１はＲＵＮ信号をＯＦＦし（Ｓ１６）、Ｓ１２に戻る。ＣＰＵ１１は最終目標位置への第六位置指令について指示済みであるので（Ｓ１２：ＹＥＳ）、続いて、ＮＥＡＲ信号がＯＮか否か判断する（Ｓ１７）。Ｘ軸駆動制御部２１のＣＰＵ３１は、後述する駆動制御処理で、Ｘステージ６１が最終目標位置である第六目標位置のＮＥＡＲ範囲内に移動した場合、ＮＥＡＲ信号をＯＮする。ＮＥＡＲ信号がＯＦＦの場合（Ｓ１７：ＮＯ）、Ｘステージ６１はＮＥＡＲ範囲内に達していない。ＣＰＵ１１はＳ１７に戻って待機する。
【００４７】
Ｘステージ６１がＮＥＡＲ範囲内に移動した場合、Ｘ軸駆動制御部２１のＣＰＵ３１はｔ５で、ＮＥＡＲ信号をＯＮする。ＮＥＡＲ信号がＯＮすると（Ｓ１７：ＹＥＳ）、Ｘステージ６１の最終目標位置への位置決めが完了する。故にＣＰＵ１１は本処理を終了し、図６に示すメイン処理のＳ１に戻る。
【００４８】
図５と図８を参照し、駆動制御処理を説明する。本処理はＸ軸駆動制御部２１のＣＰＵ３１が実行する。数値制御装置１が起動すると、ＣＰＵ３１はＲＯＭ３２に記憶した駆動制御プログラムを呼び出して本処理を実行する。
【００４９】
ＣＰＵ３１はＲＵＮ信号がＯＦＦからＯＮに切り替わったか否か判断する（Ｓ２１）。ＲＵＮ信号がｔ０で、ＯＦＦからＯＮに切り替わった場合（Ｓ２１：ＹＥＳ）、制御部１０のＣＰＵ１１が出力したポイント信号を参照する（Ｓ２２）。ＣＰＵ３１はポイント信号に対応する位置指令を、ＲＯＭ３２に記憶した位置指令テーブル８０から特定する。参照したポイント信号に対応するポイント番号がＰ５２であった場合、ＣＰＵ３１は位置指令が４．０ｍｍのＡＢＳ指令であることを特定できる。ＣＰＵ３１はＸ軸モータ４１に特定した位置指令に対応するパルス信号を出力する（Ｓ２３）。Ｘ軸モータ４１は出力したパルス信号に従って駆動する。Ｘステージ６１は第一目標位置に向けて移動を開始する。ＣＰＵ３１はｔ０で、ＰＦＩＮ信号とＮＥＡＲ信号の両方をＯＦＦする（Ｓ２４）。
【００５０】
ＣＰＵ３１はＸステージ６１の現在位置はＰＦＩＮ範囲内か否か判断する（Ｓ２５）。現在位置がＰＦＩＮ範囲内でない場合（Ｓ２５：ＮＯ）、ＣＰＵ３１はＸステージ６１の現在位置はＮＥＡＲ範囲内か否か判断する（Ｓ２７）。上述の通り、ＮＥＡＲ範囲は最終目標位置のみに設定する。故にＸステージ６１が第一〜第五目標位置に向けて移動する間は、現在位置はＮＥＡＲ範囲外となるので（Ｓ２７：ＮＯ）、ＣＰＵ３１はＳ２１に戻る。ＲＵＮ信号はＯＮのままであるので（Ｓ２１：ＮＯ）、引き続き、Ｘステージ６１の現在位置はＰＦＩＮ範囲内か否か、ＮＥＡＲ範囲内か否か判断する（Ｓ２５、Ｓ２７）。ｔ１で、現在位置がＰＦＩＮ範囲内に達した場合（Ｓ２５：ＹＥＳ）、ＣＰＵ３１はＰＦＩＮ信号をＯＮする（Ｓ２６）。ｔ５で、Ｘステージ６１が最終目標位置付近まで移動し、現在位置がＮＥＡＲ範囲内に達した場合（Ｓ２７：ＹＥＳ）、ＣＰＵ３１はＮＥＡＲ信号をＯＮする（Ｓ２８）。ＣＰＵ３１はＳ２１に戻る。故に数値制御装置１は、第一目標位置〜第五目標位置における位置指令同士間を滑らかに繋ぐと共に、最終目標位置においてＸステージ６１を正確に位置決めできる。
【００５１】
図９を参照し、インポジション幅設定処理を説明する。本処理は制御部１０のＣＰＵ１１が実行する。作業者は入力部１７を操作し、各駆動制御部２１〜２５に夫々対応するインポジション幅設定モードに切り替える。本実施形態では、Ｘ軸モータ４１の軸移動のインポジション幅設定モードに切り替えた場合を説明する。ＣＰＵ１１はＲＯＭ１２に記憶したインポジション幅設定プログラムを呼び出して本処理を実行する。
【００５２】
先ず、ＣＰＵ１１は表示部１８にＰＦＩＮ範囲入力画面を表示する（Ｓ３１）。作業者はＰＦＩＮ範囲入力画面にてＰＦＩＮ範囲を入力して確定操作を行う。ＣＰＵ１１は確定操作があったか否か判断する（Ｓ３２）。確定操作があるまで（Ｓ３２：ＮＯ）、ＣＰＵ１１は待機する。確定操作があった場合（Ｓ３２：ＹＥＳ）、入力したＰＦＩＮ範囲を不揮発性メモリ１４に記憶する（Ｓ３３）。次いで、ＣＰＵ１１は表示部１８にＮＥＡＲ範囲入力画面を表示する（Ｓ３４）。作業者はＮＥＡＲ範囲入力画面にてＮＥＡＲ範囲を入力して確定操作を行う。ＣＰＵ１１は確定操作があったか否か判断する（Ｓ３５）。確定操作があるまで（Ｓ３５：ＮＯ）、ＣＰＵ１１は待機する。確定操作があった場合（Ｓ３５：ＹＥＳ）、入力したＮＥＡＲ範囲を不揮発性メモリ１４に記憶する（Ｓ３６）。
【００５３】
次いで、ＣＰＵ１１はインポジション幅登録処理を実行する（Ｓ３７）。インポジション幅登録処理は、不揮発性メモリ１４に記憶したＰＦＩＮ範囲とＮＥＡＲ範囲をインポジション幅情報として、Ｘ軸駆動制御部２１に送信し、ＲＡＭ３３に登録する処理である。Ｘ軸駆動制御部２１のＣＰＵ３１はＲＡＭ３３に登録したインポジション幅情報に基づき、図８に示す駆動制御処理を実行する。ＣＰＵ３１は本処理を終了する。故に作業者は工具Ｔの種類、切削するワークの材質、大きさ等の切削条件に応じて、ＰＦＩＮ範囲とＮＥＡＲ範囲を自由に設定できる。
【００５４】
以上説明において、図３に示すＲＯＭ１３とＲＯＭ３３が本発明のメモリに相当する。図７に示すＳ１０の処理を実行するＣＰＵ１１が本発明の設定手段に相当する。Ｓ１１の処理を実行するＣＰＵ１１が本発明の演算手段に相当する。図９に示すＳ３１〜Ｓ３３、Ｓ３７の処理を実行するＣＰＵ１１が本発明のインポジション幅設定手段に相当する。Ｓ３４〜Ｓ３７の処理を実行するＣＰＵ１１が本発明の最終インポジション幅設定手段に相当する。
【００５５】
以上説明したように、本実施形態の数値制御装置１は、制御部１０とＸ軸駆動制御部２１を備える。制御部１０はＸ軸駆動制御部２１を制御する。Ｘ軸駆動制御部２１はＸ軸モータ４１を駆動する。制御部１０のＲＯＭ２２とＸ軸駆動制御部２１のＲＯＭ３２は、同一の位置指令テーブル８０を記憶する。位置指令テーブル８０はＸ軸モータ４１に出力する位置指令を異なる位置毎に異なるポイント番号と共に夫々割り付けている。制御部１０のＣＰＵ１１は、位置指令テーブル８０から取得した位置指令を複数組み合せることで、現在位置から最終目標位置までＸ軸モータ４１を駆動する経路を演算する。最終目標位置はＮＣプログラム中の軸移動指令が指定する目標位置である。ＣＰＵ１１は演算した経路に従って、各ポイント番号を順に入出力ポート１５に出力する。Ｘ軸駆動制御部２１のＣＰＵ３１は入出力ポート１５から受信したポイント信号に基づき、位置指令テーブル８０から位置指令を特定しＸ軸モータ４１を駆動する。故に数値制御装置１は、Ｘ軸モータ４１の目標位置への位置決めを容易且つ速やかにできる。位置指令テーブル８０の中でポイント数は決まっているので、入出力ポート１５のポート数を増やさずに位置決めが可能となる。
【００５６】
本実施形態ではさらに、インポジション幅と最終インポジション幅を夫々設定できる。インポジション幅をＰＦＩＮ範囲とし、最終インポジション幅をＮＥＡＲ範囲とする。ＰＦＩＮ範囲はＮＥＡＲ範囲よりも狭い。故に数値制御装置１は最後の位置指令の位置決め以外の位置決め完了を速く検出できるので、次の位置指令を速やかに実行できる。故に数値制御装置１は複数の位置指令同士間の繋ぎを滑らかにできる。さらに最終目標位置はＮＥＡＲ範囲で位置決め完了を判断するので、数値制御装置１は最後の位置指令の位置決め完了を正確に検出できる。
【００５７】
本実施形態ではさらに、位置指令テーブル８０に設定した位置指令は、座標値指令方式であるＡＢＳ指令と、移動量指定方式であるＩＮＣ指令とを備える。制御部１０のＣＰＵ１１は現在位置から最終目標位置までの駆動量に応じて、ＡＢＳ指令とＩＮＣ指令を組み合わせる。ＡＢＳ指令を最初に使用することで、最終目標位置にできるだけ近い位置までＸ軸モータ４１を駆動できる。残距離は複数のＩＮＣ指令で補えばよい。故に数値制御装置１は出来るだけ少ない位置指令で現在位置から最終目標位置までの経路を演算できる。数値制御装置１は現在位置から目標位置までの駆動時間を短縮できる。
【００５８】
なお本発明は上記実施の形態に限定されず、様々な変形が可能である。図８に示す駆動制御処理では、第一〜最終目標位置の全ての位置において、現在位置がＮＥＡＲ範囲内か否かを判断するが、最終目標位置においてのみ現在位置がＮＥＡＲ範囲内か否かを判断してもよい。また全ての目標位置でＮＥＡＲ範囲を指定してもよい。
【００５９】
また本実施形態では、位置指令テーブル８０において、Ｘ軸モータ４１を駆動してＸステージ６１のＸ軸方向における座標位置（ｍｍ）を指定する複数の位置指令を設定するが、例えばモータの位置（回転角度）を指定してもよい。また、付加軸を有する工作機械の場合、付加軸の位置は角度になるので、例えば付加軸の角度を指定してもよい。
【００６０】
また本実施形態のインポジション幅設定処理において、ＰＦＩＮ範囲入力画面とＮＥＡＲ範囲入力画面にて夫々入力可能な範囲をさらに表示してもよい。ＰＦＩＮ範囲がＮＥＡＲ範囲よりも広くなるように入力可能な範囲を表示することで、作業者の設定間違いを防止できる。さらに数値制御装置１が次回起動する際に、ＣＰＵ１１は不揮発性メモリ１４に前回記憶したインポジション幅情報を、自動的にＸ軸駆動制御部２１に送信するようにしてもよい。作業者はＰＦＩＮ範囲とＮＥＡＲ範囲を変更しない場合、前回のインポジション幅情報を利用できる。
【符号の説明】
【００６１】
１  数値制御装置
２  工作機械
１０  制御部
１１  ＣＰＵ
１２  ＲＯＭ
１５  入出力ポート
２１  Ｘ軸駆動制御部
３１  ＣＰＵ
３２  ＲＯＭ
４１  Ｘ軸モータ
５２  ベース
５３  機械本体
５５  コラム
５６  主軸ヘッド
５７  主軸
５８  制御箱
６０  ＸＹステージ機構
６１  Ｘステージ
８０  位置指令テーブル
【図１】
2014106936.tif 000003
【図２】
2014106936.tif 000004
【図３】
2014106936.tif 000005
【図４】
2014106936.tif 000006
【図５】
2014106936.tif 000007
【図６】
2014106936.tif 000008
【図７】
2014106936.tif 000009
【図８】
2014106936.tif 000010
【図９】
2014106936.tif 000011