(57)【特許請求の範囲】
【請求項１】
直接工具を移動する第１軸と、前記第１軸を前記第１軸と同一方向へと移動させることにより工具を間接的に移動する第２軸と、を有する機械をプログラムに基づいて制御することでワークを加工する数値制御装置であって、前記第１軸と前記第２軸の移動を前記プログラムにおいて１つの仮想軸として指令することが可能な数値制御装置において、
前記プログラムのブロックを順次読み出すプログラム読出し部と、
前記プログラム読出し部が読み出したブロックが前記工具を切削送りの開始点へ移動させるための前記仮想軸への早送り指令のブロックである場合、前記早送り指令により指令される移動量を前記第１軸および前記第２軸へと配分する協調運転解析部と、
を備え、
前記協調運転解析部は、前記プログラム内の前記早送り指令のブロックに続く連続した切削送り指令のブロックにより指令される前記仮想軸の移動を前記第１軸の移動のみで行えるように、前記早送り指令により指令される移動量を前記第１軸および前記第２軸へと配分する、
ことを特徴とする数値制御装置。
【請求項２】
前記協調運転解析部は、前記プログラム内の前記早送り指令のブロックに続く連続した切削送り指令のブロックにより指令される前記仮想軸の移動を前記第１軸の移動のみで行えない場合、前記連続した切削送り指令における前記第２軸の移動が最小となるように前記連続した切削送り指令に基づく前記第１軸および前記第２軸の移動を調整した上で、調整した前記連続した切削送り指令に基づく前記第１軸および前記第２軸の移動が可能となるように前記早送り指令により指令される移動量を前記第１軸および前記第２軸へと配分する、
ことを特徴とする請求項１に記載された数値制御装置。
【請求項３】
前記協調運転解析部は、前記早送り指令による前記第１軸及び前記第２軸の移動時間が最小となるように前記早送り指令により指令される移動量を前記第１軸および前記第２軸へと配分する、
ことを特徴とする請求項１または２に記載された数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特に平行する２軸を１つの仮想軸として軸制御を行う数値制御装置に関する。
【背景技術】
【０００２】
図７は門型のマシニングセンタの構成図を示している。大型で門型のマシニングセンタは、Ｗ軸（Ｗｍ軸、Ｗｓ軸）の上に平行するＺ軸が乗っているような機械構成となっている。このＺ軸に装着されたドリルやエンドミルなどの工具によってワークの切削加工を行う。このＷ軸とＺ軸を使用することにより、大きなストロークをとることができる。このＷ軸、Ｚ軸の２軸を１軸の仮想軸（Ｖ軸）と見なして制御する機能が、クロスレール軸制御である。
【０００３】
クロスレール軸制御機能は、ある軸（図７の例ではＷ軸：マスタ軸）の上に平行する軸（図７の例ではＺ軸：スレーブ軸）が乗っている機械構成を制御する際に、この２軸を１軸の仮想軸（図７の例ではＶ軸）と見なして制御する機能である。クロスレール軸制御モード中は、１軸（Ｖ軸）の指令で２軸（Ｗ軸、Ｚ軸）の移動量／速度を同時に制御し、工具先端の移動をプログラム指令通りになるように制御する。クロスレール軸制御において、Ｖ軸に対して指令可能なストロークは２軸のストローク（Ｗ軸のストロークとＺ軸のストローク）の合計となる。なお、クロスレール軸制御は平行する２軸を持つ中ぐり盤でも同様に使用できる。
【０００４】
クロスレール軸制御機能における、ＮＣプログラムの記載例とその動作を図８に従って説明する。クロスレール軸制御機能を用いる場合には、ＮＣプログラム内においてクロスレール軸制御を行ないたい場合に、指令「Ｇ５１．７」によりクロスレール軸制御モードをオンにし、クロスレール軸制御による軸移動を指令し、クロスレール軸制御が終了したところで指令「Ｇ５０．７」によりクロスレール軸制御モードをオフにする。
【０００５】
図８では、Ｎ２において指令「Ｇ５１．７」によりクロスレール軸制御モードをオンにしている。なお、指令「Ｇ５１．７」の後ろにある指令ＱはＷ軸に対する分配比率を示しており、図８の例ではＷ軸に３０％（Ｚ軸に７０％）で分配するようにしている。
Ｎ３、Ｎ４のように、クロスレール軸制御モードがオンの状態でＶ軸に対する移動指令を行うと、Ｖ軸に対して指令された移動量、送り速度がＱ指令により設定された分配率に従ってＷ軸およびＺ軸に分配される。例えば、Ｎ３ではＶ軸に対して移動量１００．０ｍｍ、送り速度１０００．０ｍｍ／ｍｉｎで切削送り指令（Ｇ０１）されているため、分配率に従って、Ｗ軸は送り速度３００ｍｍ／ｍｉｎで３０．０ｍｍ、Ｚ軸は送り速度７００ｍｍ／ｍｉｎで７０．０ｍｍ、それぞれ移動する。
一方で、Ｎ６，Ｎ７ではクロスレール軸制御モードがオフであるため通常運転となり、Ｗ軸、Ｚ軸に対して個別に移動指令をする必要がある。クロスレール軸制御モードがオフである時にＶ軸へ移動指令をした場合にはアラームが出力される。
【０００６】
このような平行する２軸を持つ機械の制御に係る技術として特許文献１に開示される発明がある。特許文献１の発明が解決しようとする課題は、以下の通りである。
平行な制御軸を利用してワークと工具との相対移動量を大きくとるには、マシニングセンタを制御する数値制御装置に与えるＮＣプログラムにおいて複数の平行な制御軸間の関係を規定する必要がある。すなわち、複数の平行な制御軸がそれぞれもつストロークを最大限活用するためには、一方の制御軸を動作中に当該制御軸がストローク限界に達しないように、他の平行な制御軸の位置を予め適切な位置に移動させておく必要があるからである。一方の制御軸を動作中に当該制御軸がストローク限界に達すると、加工が中断される。しかしながら、上記のようなＮＣプログラムを作成することは比較的難しく非常に手間のかかる作業である。このように、従来においては、マシニングセンタが複数の平行な制御軸を備えている場合であっても、ＮＣプログラムの作成が難しく、手間がかかるため、平行な制御軸が充分に活用されていなかった。
【０００７】
そこで、特許文献１に開示される発明は、上記の問題点に鑑みてなされたものであり、その目的は、複数の平行な軸を有する工作機械において、複雑なＮＣプログラムを作成することなしに複数の軸を協調動作させて各軸のもつ各ストロークを有効活用できる数値制御装置および該数値制御装置を備えた工作機械を提供することにある。
そして、特許文献１に開示される発明は、複数の平行な軸を有する工作機械において、各制御軸をそれぞれ移動させる加工プログラムの指令を用いることなしに、１つの軸方向に対する指令をするだけで各軸のもつストロークを有効活用でき、工作機械の加工可能な範囲を最大限利用でき、工作機械のもつ能力を最大限発揮させることができる。このように、特許文献１に開示される技術は、門型の機械や中ぐり盤において平行する２軸のストロークが最大になるように軸制御させる技術である。
【０００８】
特許文献１に開示される発明において加工プログラムの指令に基づく複数の軸を協調させる制御動作を図９のフローチャートを用いて説明する。図９のフローチャートでは、同じ方向に移動するＺ軸およびＷ軸を１つの指令により協調移動させる場合の制御を示している。
●［ステップＳＺ０１］指令された移動終点に到達したか否かを判定する。移動終点に到達している場合には本処理を終了し、移動終点に到達していない場合にはステップＳＺ０２へ進む。
●［ステップＳＺ０２］Ｚ軸の移動量を決定し、決定した該移動量に基づいてＺ軸に対して位置指定出力を行う。
●［ステップＳＺ０３］Ｚ軸がストローク限界に達したか否かを判定する。Ｚ軸がストローク限界に達した場合にはステップＳＺ０４へ進み、ストローク限界に達していない場合にはステップＳＺ０１へ戻る。
【０００９】
●［ステップＳＺ０４］Ｗ軸の移動量を決定し、決定した該移動量に基づいてＷ軸に対して位置指定出力を行う。
●［ステップＳＺ０５］指令された移動終点に到達したか否かを判定する。移動終点に到達している場合には本処理を終了し、移動終点に到達していない場合にはステップＳＺ０４へ戻る。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００３−０２２１０６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、図７に示すような門型の機械の場合、早送りではない、切削送りで加工する際に、加工速度や加工精度の点において、Ｚ軸と比較して精度が悪く低速なＷ軸を移動させずに、Ｚ軸を移動させた方が良い加工結果が得られるが、このように加工の局面に応じて制御する軸を考えながらＮＣプログラムを作成することは作業者にとって大きな手間がかかるという問題がある。この問題を、従来技術や特許文献１に開示される技術では、解決することができなかった。
【００１２】
そこで本発明の目的は、クロスレール軸制御において加工状況に応じて加工精度や加工速度を考慮して制御対象とする軸を自動選択する機能を備えた数値制御装置を提供することである。
【課題を解決するための手段】
【００１３】
本願の請求項１に係る発明は、直接工具を移動する第１軸と、前記第１軸を前記第１軸と同一方向へと移動させることにより工具を間接的に移動する第２軸と、を有する機械をプログラムに基づいて制御することでワークを加工する数値制御装置であって、前記第１軸と前記第２軸の移動を前記プログラムにおいて１つの仮想軸として指令することが可能な数値制御装置において、前記プログラムのブロックを順次読み出すプログラム読出し部と、前記プログラム読出し部が読み出したブロックが前記工具を切削送りの開始点へ移動させるための前記仮想軸への早送り指令のブロックである場合、前記早送り指令により指令される移動量を前記第１軸および前記第２軸へと配分する協調運転解析部と、を備え、前記協調運転解析部は、前記プログラム内の前記早送り指令のブロックに続く連続した切削送り指令のブロックにより指令される前記仮想軸の移動を前記第１軸の移動のみで行えるように、前記早送り指令により指令される移動量を前記第１軸および前記第２軸へと配分する、ことを特徴とする数値制御装置である。
【００１４】
本願の請求項２に係る発明は、前記協調運転解析部は、前記プログラム内の前記早送り指令のブロックに続く連続した切削送り指令のブロックにより指令される前記仮想軸の移動を前記第１軸の移動のみで行えない場合、前記連続した切削送り指令における前記第２軸の移動が最小となるように前記連続した切削送り指令に基づく前記第１軸および前記第２軸の移動を調整した上で、調整した前記連続した切削送り指令に基づく前記第１軸および前記第２軸の移動が可能となるように前記早送り指令により指令される移動量を前記第１軸および前記第２軸へと配分する、ことを特徴とする請求項１に記載された数値制御装置である。
【００１５】
本願の請求項３に係る発明は、前記協調運転解析部は、前記早送り指令による前記第１軸及び前記第２軸の移動時間が最小となるように前記早送り指令により指令される移動量を前記第１軸および前記第２軸へと配分する、ことを特徴とする請求項１または２に記載された数値制御装置である。
【発明の効果】
【００１６】
本発明により、ＮＣプログラムの作成時にＷ軸とＺ軸の移動指令を考慮しなくても、切削加工のブロックに対して、仮想軸（Ｖ軸）の指令だけで、Ｗ軸を移動させずにＺ軸を移動させることができるため、精度良く、高速な加工ができる。また、Ｚ軸の移動だけではストロークが足りず、Ｗ軸を移動させる必要がある場合においては、Ｗ軸の移動が最小となるようにＷ軸とＺ軸を協調運転させることで、速度の低下を最小限に抑えることができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の技術的な概念を示す図である。
【図２】従来技術における数値制御装置の機能ブロック図である。
【図３】本発明の実施形態における数値制御装置の機能ブロック図である。
【図４】本発明の実施形態における数値制御装置上で実行される処理のフローチャートである。
【図５】本発明の実施形態における数値制御装置の協調動作制御の動作例である。
【図６】本発明の実施形態における数値制御装置の協調動作制御のプログラム例である。
【図７】門型のマシニングセンタの構成図である。
【図８】従来技術におけるクロスレール軸制御のプログラム例である。
【図９】特許文献１に開示される発明において加工プログラムの指令に基づく複数の軸を協調させる制御動作フローチャートである。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態を図面と共に説明する。なお、従来技術と同一または類似する構成は同じ符号を用いて説明する。
本発明では、切削送り指令（Ｇ０１、Ｇ０２、Ｇ０３）が一つのブロックに指令されている、もしくは２つ以上のブロックで連続して指令されている場合、それらの切削送りのブロックを先読みし、それらの切削送りのブロックの中でＷ軸を移動させずにＺ軸だけで移動できるように、またはＷ軸の移動を最小となるようにＷ軸とＺ軸を協調運転させるようにすることで、前記問題の解決を目的とする。
【００１９】
図１は、本発明の技術的な概念を示す図である。図１において、実線太矢印はＺ軸のストロークを、白抜き矢印はＷ軸のストロークを示している。一般に、図７に示した門型のマシニングセンタなどにおいては、上記したようにＷ軸はＺ軸と比較して精度が悪く移動も低速である。しかしながら、Ｗ軸とＺ軸がＶ軸として協調動作している場合において、切削送りの開始点に工具がある時に図１の（１）のようにＺ軸がストローク限界に達していると、精度の悪いＷ軸で低速移動しながら切削送りをせざるを得なくなる。そこで、本発明においては、切削送りの開始点へ工具を移動させる早送りにおいて切削送りのブロックに基づく工具の移動をなるべくＺ軸の移動で行えるようにＷ軸とＺ軸の早送り量の調整を行いながら切削送りの開始点へ工具を移動させて図１（２）に示すような状態とし、その上で切削送りのブロックの中でＷ軸を移動させずにＺ軸だけで移動できるように、またはＷ軸の移動を最小となるようにＷ軸とＺ軸を協調運転させる。
【００２０】
以下に従来技術と本技術のブロック図を示す。
図２は、従来技術における数値制御装置の機能ブロック図である。従来技術の数値制御装置１は、プログラム読出し部１０、プログラム解析部１１、分配処理部１２、モータ制御部１３を備えている。なお、図２では説明を簡単にするためにモータ制御部１３、およびモータ２は１つずつ備えるようにしているが、実際には制御対象となる軸の数だけモータ制御部１３、およびモータ２を備えている。
従来技術におけるプログラム読出し部１０は、図示しないメモリからＮＣプログラム２０を読み出し、プログラム解析部１１に対して出力する。プログラム解析部１１は、プログラム読出し部１０から受けたＮＣプログラム２０のブロックを解析して移動指令に係るデータを作成し、分配処理部１２に対して出力する。
分配処理部１２では、プログラム解析部１１から受けた移動指令に係るデータに基づいて分配周期毎の各軸駆動部（各軸のモータ２）へ指令する分配移動量を求め、該分配移動量を各軸のモータ制御部１３に対して出力する。そしてモータ制御部１３は、分配処理部１２から受けた分配移動量に基づいてモータ２を駆動制御する。
【００２１】
図３は、本発明の一実施形態における数値制御装置の機能ブロック図である。本実施形態の数値制御装置１は、プログラム読出し部１０、プログラム解析部１１、分配処理部１２、モータ制御部１３に加えて協調運転解析部１４を備えている。なお、図３では説明を簡単にするためにモータ制御部１３、およびモータ２は１つずつ備えるようにしているが、実際には制御対象となる軸の数だけモータ制御部１３、およびモータ２を備えている。
【００２２】
上記したように、従来技術における機械の運転では、プログラム読出し部１０で、ＮＣプログラム２０を読み出し、プログラム解析部１１で、読み出したＮＣプログラム２０のブロックを解析し、解析した結果を分配処理部１２にそのまま通知していた。
これに対して本実施形態の数値制御装置１では、切削送り指令（Ｇ０１、Ｇ０２、Ｇ０３）の開始点において協調運転解析部１４で、以下の制御を実施する。
【００２３】
本実施形態のプログラム読出し部１０では、ＮＣプログラム２０において切削送りの開始点が読み出された場合、より具体的には早送りのブロックの後に一つのブロックで切削送りが指令されている、もしくは早送りのブロックの後に二つ以上のブロックで連続して切削送りが指令されている場合、それらの切削送りのブロックを先読みし、早送りブロックと先読みした切削送りブロックをプログラム解析部１１ではなく、協調運転解析部１４へと出力する。
協調運転解析部１４では、プログラム読出し部１０から受けた切削送りのブロックの中で、正方向のＺ座標値（もしくはＶ座標値）が最大になるブロックと、負方向のＺ座標値（もしくはＶ座標値）が最小になるブロックの座標値間で、Ｗ軸を移動させずにＺ軸だけで移動できるように、切削送りの開始点に向けて、予め指定されたＷ軸とＺ軸の早送り速度に基づいて移動時間が最短になるようにＷ軸とＺ軸を早送り指令（Ｇ００）で移動させるように解析する。
この時、切削送りが一つのブロックに指令されていて、Ｚ軸の移動だけではストロークが足りず、Ｗ軸を移動させる必要がある場合は、Ｗ軸の移動が最小となるようにＷ軸とＺ軸を協調運転させるように解析する。
【００２４】
さらに、切削送りが二つ以上のブロックで連続して指令されていて、Ｚ軸の移動だけではストロークが足りず、Ｗ軸を移動させる必要がある場合は、連続して指令されているブロックのなるべく多くがＷ軸を移動させずにＺ軸だけで移動できるように、切削送りの開始点に向けて、予め指定されたＷ軸とＺ軸の早送り速度に基づいて移動時間が最短になるようにＷ軸とＺ軸を早送り指令（Ｇ００）で移動させるように解析し、Ｗ軸の移動が必要となるブロックに関しては、Ｗ軸の移動が最小となるようにＷ軸とＺ軸を協調運転させるように解析する。そのブロックに関してＷ軸とＺ軸を協調運転させるために、そのブロックの前のブロックからＷ軸とＺ軸を協調運転させる必要がある場合は、Ｗ軸とＺ軸を協調運転させるように解析する。
また、Ｚ軸の移動だけではストロークが足りず、Ｗ軸を移動させる必要がある場合、全ての切削送りのブロックに対して、Ｗ軸の移動が最小となるようにＷ軸とＺ軸を協調運転させることを選択できるようにしてもよい。
【００２５】
図４は、図３で示した機能ブロックを備えた数値制御装置１におけるクロスレール軸制御モードでのＶ軸への送り指令に対する協調動作制御処理の概要を示すフローチャートである。なお、図４のフローチャートは説明を簡単にするためにＮＣプログラム２０に送り指令（早送り指令、切削送り指令）のみが含まれている場合の処理の流れを示している。
●［ステップＳＡ０１］プログラム読出し部１０は、メモリからＮＣプログラム２０のブロックを読みだす。
●［ステップＳＡ０２］プログラム読出し部１０は、ステップＳＡ０１で読み出したブロックが、切削送りの開始点へ移動する早送り指令のブロックであるか否かを判定する。切削送り開始点へ移動する早送り指令であるか否かは、まず読みだしたブロックが早送りブロックであるかを判定し、更に早送りブロックである場合には該早送りブロックの後の送り指令のブロックが一以上の切削送りブロックである場合に、該早送りブロックが切削送りの開始点へ移動する指令であると判定する。ステップＳＡ０１で読み出したブロックが切削送りの開始点へ移動する早送り指令のブロックである場合にはステップＳＡ０７へ進み、それ以外のブロックである場合にはステップＳＡ０３へ進む。
【００２６】
●［ステップＳＡ０３］プログラム解析部１１は、ステップＳＡ０１で読み出したブロックによるＶ軸に対する移動指令を、Ｑ指令などで指定された分配比率でＷ軸とＺ軸の移動指令として解析する。
●［ステップＳＡ０４］分配処理部１２は、プログラム解析部１１または協調運転解析部１４から受けた移動指令に係るデータに基づいて分配周期毎の各軸駆動部へ指令する分配移動量を求める。
●［ステップＳＡ０５］分配処理部１２は、ステップＳＡ０４で求めた各軸の分配移動量を各軸のモータ制御部１３に対して出力する。
●［ステップＳＡ０６］ＮＣプログラムのブロックが終了したか否かを判定する。終了した場合には本処理を終了し、終了していない場合にはステップＳＡ０１へ戻る。
【００２７】
●［ステップＳＡ０７］プログラム読出し部１０は、ステップＳＡ０２で読み出した早送りブロックに続くブロックをＮＣプログラム２０から先読みする。
●［ステップＳＡ０８］プログラム読出し部１０は、ステップＳＡ０７で先読みされたブロックの次のブロックが早送りを指令するものであるかを判定する。早送りを指令するものである場合にはステップＳＡ０９へ進み、そうでない（切削送りのブロックである）場合にはステップＳＡ０７に戻る。
【００２８】
●［ステップＳＡ０９］協調運転解析部１４は、ステップＳＡ０７で先読みした切削送りの全てのブロックのＶ軸の指令の中で、正方向に最大になるＶ座標値と、負方向に最小となるＶ座標値（移動範囲）を記憶する。
●［ステップＳＡ１０］協調運転解析部１４は、正方向に最大となるＶ座標値と、負方向に最小になるＶ座標値はＺ軸だけで移動可能か否かを判定する。Ｚ軸だけで移動可能な場合にはステップＳＡ１１へ進み、そうでない場合にはステップＳＡ１３へ進む。
●［ステップＳＡ１１］協調運転解析部１４は、先読みした切削送りの全てのブロックに対して、Ｗ軸を移動させずにＺ軸だけで移動できるように、切削送りの開始点に向けて、予め指定されたＷ軸とＺ軸の早送り速度に基づいて移動時間が最短になるようにＷ軸とＺ軸を早送り（ステップＳＡ０１で読み込まれた早送り指令Ｇ００）で移動させるように解析する。
●［ステップＳＡ１２］協調運転解析部１４は、先読みした切削送りのブロックに対して、Ｗ軸を移動させずにＺ軸だけで移動するように解析する。そして、ステップＳＡ０４へ戻る。
【００２９】
●［ステップＳＡ１３］協調運転解析部１４は、先読みした切削送りの全てのブロックの中から、連続して指令されているブロックのなるべく多くが、Ｗ軸を移動させずにＺ軸だけで移動できるように、切削送りの開始点に向けて、予め指定されたＷ軸とＺ軸の早送り速度に基づいて移動時間が最短になるようにＷ軸とＺ軸を早送り（ステップＳＡ０１で読み込まれた早送り指令Ｇ００）で移動させるように解析する。
●［ステップＳＡ１４］協調運転解析部１４は、先読みした切削送りのブロックの中から、Ｚ軸の移動だけではストロークが足りず、Ｗ軸を移動させる必要があるブロックを除いて、Ｗ軸を移動させずにＺ軸だけで移動するように解析する。Ｚ軸だけでストロークが足りず、Ｗ軸を移動させるブロックについては、Ｗ軸の移動が最小となるようにＷ軸とＺ軸を協調運転させるように解析する。そして、ステップＳＡ０４へ戻る。
【００３０】
図５は、本実施形態の数値制御装置１において、クロスレール軸制御モードでのＶ軸への早送り指令のブロックの後に、切削送り指令のブロックが２ブロック連続した場合の動作例を示しており、また、図６は図５の動作をするＮＣプログラムの例を示している。なお、図５において、実線太矢印はＺ軸のストロークを、白抜き矢印はＷ軸のストロークを示しており、また、図５中の送り動作を示す矢印に付された符号Ｎ３〜Ｎ５は、図６のＮＣプログラムの対応する送り指令のブロック番号を示している。更に、Ｚ軸のストロークリミットは１０００ｍｍであるとする。
【００３１】
図６のＮＣプログラムＯ０００２では、最初にブロックＮ１でＺ軸を正方向のスクロールリミットに達するように制御している。このような状況において、ブロックＮ２においてクロスレール軸制御モードをオンにし、その後早送り指令のブロックであるブロックＮ３が読み出される。ここで、本実施形態の数値制御装置１はブロックＮ３に続くブロックＮ４を参照し、ブロックＮ４が切削送りを指令するブロックであることから、ブロックＮ３が切削送りの開始点へ移動する早送り指令であると判定する（図４のステップＳＡ０７へ）。
【００３２】
その後、ブロックＮ４，Ｎ５の切削送り指令のブロックが先読みされ、これら切削送りのブロックによるＶ軸の移動範囲が特定される（図４のステップＳＡ０９）。図６のブロックＮ４ではインクレメンタル指令（Ｇ９１）でＶ軸が正方向に１５０．０ｍｍ（Ｖ１５０．０）、ブロックＮ５ではインクレメンタル指令（Ｇ９１）でＶ軸が負方向に３００．０ｍｍ（Ｖ−３００．０）移動するように指令されているため、Ｖ軸は切削送りの開始点から±１５０の範囲で最大３００ｍｍ幅だけ移動する。この移動範囲は、Ｚ軸のスクロールリミットである１０００ｍｍで移動可能であるため、協調運転解析部１４は、ブロックＮ４，Ｎ５の切削送りをＺ軸だけで移動できるように切削送りの開始点におけるＺ軸の位置を調整するようにブロックＮ３における早送りの移動量をＷ軸およびＺ軸に割り振る。
【００３３】
Ｗ軸およびＺ軸に対する割振り方法の例としては、例えば、一連の切削送りのブロックにおいて切削送りの開始点から見てＶ軸の正方向への移動量と、負方向への移動量とに基づいてＺ軸が取り得る座標値の範囲を特定し、その範囲においてＷ軸とＺ軸との合成移動量が早送り指令により指令された移動量となるＷ軸とＺ軸の移動量であって、Ｗ軸とＺ軸の早送りによる移動時間が最短となるようにＷ軸とＺ軸に移動量を配分すればよい。本例では、一連の切削送りのブロックによる移動指令をＺ軸のみで行う場合、切削送りの開始点においてＺ軸の座標値が１５０．０ｍｍ〜８５０．０ｍｍの範囲にあればＺ軸のみでＶ軸の切削送りの移動量を補うことができる。ブロックＮ３ではＶ軸を正方向へと１００．０ｍｍ移動するように指令されているため、Ｚ軸を負方向へ１５０．０〜８５０．０ｍｍ移動させるのであれば、Ｗ軸を正方向へ２５０．０ｍｍ〜９５０ｍｍ移動さればよく、この移動範囲の組み合わせの中で移動時間が最短となるのは、Ｚ軸を負方向へ１５０．０ｍｍ、Ｗ軸を正方向へ２５０．０ｍｍ移動させる場合となる。
【００３４】
また、切削送りが二つ以上のブロックで連続して指令されていて、Ｚ軸の移動だけではストロークが足りず、Ｗ軸を移動させる必要がある場合は、連続して指令されているブロックのなるべく多くがＷ軸を移動させずにＺ軸だけで移動できるように、切削送りの開始点に向けて、予め指定されたＷ軸とＺ軸の早送り速度に基づいて移動時間が最短になるようにＷ軸とＺ軸を早送り指令（Ｇ００）で移動させ、Ｗ軸の移動が必要となるブロックに関しては、Ｗ軸の移動が最小となるようにＷ軸とＺ軸を協調運転させる。この例について図５、図６を用いて説明する。図５において、Ｚ軸のストロークリミットが１０００ｍｍではなく２００ｍｍに設定されていて、Ｎ１のブロックのＺ１０００はＺ２００に設定され、Ｎ１のブロックの移動でＺ軸は正方向のストロークリミットに達しているものとする。この場合、Ｎ４のブロックは、１５０ｍｍの移動のためＺ軸で移動できるが、Ｎ５のブロックは３００ｍｍの移動のため、Ｚ軸だけで移動はできず、Ｚ軸とＷ軸を移動させる必要がある。Ｎ３のブロックの移動では、Ｚ軸を負方向に早送りで２００ｍｍ、Ｗ軸を正方向へ早送りで１００ｍｍ移動させることになる。その結果、Ｎ４のブロックでは、Ｚ軸正方向に切削速度１０００ｍｍ／ｍｉｎで１５０ｍｍ移動し、Ｎ５のブロックでは、Ｚ軸負方向に２００ｍｍ移動し、Ｗ軸負方向に１００ｍｍ移動する。この時に切削速度はＷ軸の移動があるため、例えば５００ｍｍ／ｍｉｎに制限される。
【００３５】
このように、切削送りの開始点への早送りでＺ軸およびＷ軸の位置を調整することで、続くブロックＮ４における切削送りの中間点への移動、およびブロックＮ５における切削送りの終了点への移動でＺ軸のみの移動指令のみで切削送りをすることが可能となる。
【００３６】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例のみに限定されることなく、適宜の変更を加えることにより様々な態様で実施することができる。
【００３７】
例えば、上記した実施形態では協調運転解析部１４をプログラム解析部１１とは異なる機能手段として説明したが、協調運転解析部１４はプログラム解析部１１の副機能手段として実装するようにしてもよい。
【符号の説明】
【００３８】
１  数値制御装置
２  モータ
１０  プログラム読出し部
１１  プログラム解析部
１２  分配処理部
１３  モータ制御部
１４  協調運転解析部
２０  ＮＣプログラム
【図１】
0006267161.tif 000002
【図２】
0006267161.tif 000003
【図３】
0006267161.tif 000004
【図４】
0006267161.tif 000005
【図５】
0006267161.tif 000006
【図６】
0006267161.tif 000007
【図７】
0006267161.tif 000008
【図８】
0006267161.tif 000009
【図９】
0006267161.tif 000010