(57)【特許請求の範囲】
【請求項１】
所定の指令プログラムを解読して所定の制御対象に動作指令を出力する数値制御装置であって、
前記動作指令は順次出力される複数の指令ブロックで与えられ、
前記各指令ブロックは所定の移動軌跡を指令する経路情報を含むとともに、必要に応じて一つの指令ブロック内での負荷変動に対応するための経路情報以外の動作に関する付属情報を含み、
前記付属情報のうち何れかをＮＵＲＢＳ曲線で表現することを特徴とする数値制御装置。
【請求項２】
所定の指令プログラムを解読して所定の制御対象に動作指令を出力する数値制御装置であって、
前記動作指令は順次出力される複数の指令ブロックで与えられ、
前記各指令ブロックは所定の移動軌跡を指令する経路情報を含むとともに、必要に応じて経路情報以外の動作に関する付属情報を含み、
前記付属情報のうち少なくとも切削負荷の予測値をＮＵＲＢＳ曲線で表現することを特徴とする数値制御装置。
【請求項３】
請求項１または請求項２に記載した数値制御装置において、前記付属情報は移動速度であることを特徴とする数値制御装置。
【請求項４】
請求項１または請求項２に記載した数値制御装置において、前記付属情報は主軸回転数であることを特徴とする数値制御装置。
【請求項５】
請求項１から請求項４までの何れかに記載した数値制御装置において、前記経路情報をＮＵＲＢＳ曲線で表現することを特徴とする数値制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は数値制御装置に関し、工作機械や工業用ロボット等の動作をプログラム制御する際などに利用できる。
【０００２】
【背景技術】
従来より、工作機械や工業用ロボット等の動作にあたっては、所定の指令プログラムを解読実行してこれらの工作機械等を制御する数値制御装置（ＮＣ装置）が利用されている。
数値制御装置は、所定の形式で動作指令（位置、速度など）を順次記載した指令プログラムを予め読み込み、実際の動作の際には所定の時間ステップで各指令を工作機械等に出力し、具体的な各動作を実行させるものである。
【０００３】
近年の数値制御装置においては、動作精度の向上を図るべく、指令曲線を補間して軌跡の円滑化を図ること、二軸協調動作等のための補間を行うこと等がなされている。
このような補間にあたっては、予め指令曲線を分析し、微小直線や微小円弧等の微小ブロックの組み合わせとして近似再構成する補間演算が行われている。
【０００４】
前述のような数値制御装置の指令プログラム生成にあたっては、ワークの切削加工等を行う場合など、このワークのコンピュータ設計システム（ＣＡＤシステム）から渡された形状データを利用することで、別途のプログラミング作業なしに指令プログラムを生成すること（自動プログラミング）が行われている。
【０００５】
これらのＣＡＤ設計から指令プログラム自動生成までの工程で用いられるデータ形式としては、様々な曲線が自由に描けるＢ−スプライン曲線（基底スプライン、Base-Spline）が多用されている。更に、Ｂ−スプライン曲線のセグメントのつなぎ目（ノット）の増加量が不均一である点を改善したＮＵＲＢＳ曲線（Non-Uniform Rational B-Spline）が多用されるに至っている。
【０００６】
このようなＢ−スプライン曲線やＮＵＲＢＳ曲線は、指令曲線の表現力が高く自由な曲線を指定できる一方で、曲線の高精度化にともなってデータ量が増大し、前述した補間演算の煩雑化を招くという不都合が生じる。
このような不都合に対して、ＮＵＲＢＳ曲線の補間演算を効率的に行える補間方式が提案されている（特開平8-305430号公報参照）。
【０００７】
この提案は、ＮＵＲＢＳ曲線を特定するためのデータを数値制御装置に直接指令するものである。具体的には次のような手順を行う。
先ず、指令プログラムには、指令曲線を特定のパラメータｔを変数とする関数P(t)で表したＮＵＲＢＳ曲線の補間指令を含めて記述しておき、この補間指令における速度指令から単位時間当たりの移動量を算出し、移動指令を出力する。次に算出された移動量だけ移動する場合のパラメータの変化量を算出し、現在の値にこの変化量を加えた値をＮＵＲＢＳ曲線の関数に代入することで次に補間すべき座標値を獲得し、この座標値までの各軸の移動量を算出する。
これにより、数値制御装置に対して、直接ＮＵＲＢＳ曲線の補間を指令し、実行させることができ、補間演算の処理の煩雑化を回避することができる。
【０００８】
更に、前述のようなＮＵＲＢＳ曲線の直接補間方式では、プログラムに指令された送り速度により実際の補間の１周期あたりの移動量を決めているため、自由曲線を離散時間で補間することによる誤差が生じていた。
これに対し本出願人により、曲線補間部により基本的な「自由曲線の直接補間」が行えるとともに、予め設定した許容誤差と誤差要因に基づいて、曲率半径に応じた最大送り許容速度を算出し、曲線補間部に指令する指令速度を誤差が生じない所定の許容速度以下に規制することにより、直接補間にあたって前述した各種誤差が発生することが防止できるようにした数値制御装置が提案されている（特開平10-254526号公報参照）。
【０００９】
【発明が解決しようとする課題】
ところで、前述した数値制御装置による工作機械の移動は加工プログラムで指令される。加工プログラムは、複数の指令ブロック（指令行）の連続として記述される。各指令ブロックは、各々が一つの動作指令（１本の直線、１本の曲線、ＮＵＲＢＳの１ノット）を表す。
このような各指令ブロックは、移動経路を指令する経路情報と、その他の付属情報という二種類の指令情報を含んでいる。経路情報は、前述したＮＵＲＢＳ補間の他、従来の直線補間、円弧補間等の動作を指定するＧコードと、Ｘ，Ｙ，Ｚ等の移動先の座標値とで構成される。付属情報としては、移動速度を指定するＦコードや、主軸回転数指令やその他の動作状態等を設定する指令情報で構成される。付属情報は必要に応じて設定され、その後変更があるまで維持されるようになっている。例えば、Ｆコードで指定される移動速度は、ブロック毎に指定できるが、次のブロックにＦコードが無ければこの次のブロックでは前のブロックの速度が適用される。
【００１０】
一方、前述したＮＵＲＢＳ補間では、自由曲線形状を定義するデータを加工プログラムにより指令し、ＮＣ装置でこの曲線を補間する。これにより、１ブロックで指令できる経路の長さが長くでき、前述したデータ量の膨大化の問題や直線近似面において滑らかさが得られない問題を解決することができる。
しかし、１ブロックで指令できる経路の長さが長くなったことにより、各部の形状に最適な速度が指令できなくなるという問題が生じる。
【００１１】
例えば、加工部位により切削負荷が変化する場合には、負荷の軽い部分は移動速度を早くして効率を上げ、負荷の重い部分は移動速度を遅くして緻密な加工を行う必要がある。ところが、このような負荷の重い部分と負荷が軽い部分とがＮＵＲＢＳデータの１ブロック内に存在した場合、前述のように１つのブロックに設定されるＦコードは１つだけなので、一定の移動速度で異なる負荷に対応しなくてはならず、加工に無理が生じる等の不都合がある。
【００１２】
より具体的な例として、図４のように、表面SwであるワークＷに対してボールエンドミルＭで仕上げ形状Sfを加工する場合を考える。
ここで、ワークＷの表面Swの形状に基づいて境界点Ec1,Ec2を境に平坦な区間E1,E3と曲面の区間E2とに区別すると、表面Swと仕上げ形状Sfとの曲率等の相違から、区間E1,E3においては切込み深さはd1,d3と比較的浅くて一定であるが、区間E2においては切込み深さが徐々に大きくなり最大でd2に達する。
【００１３】
一方、ボールエンドミルＭの動作指令は仕上げ形状Sfに対応した経路を取る。
すなわち、加工経路は、仕上げ面Sfの境界点Pc1,Pc2を境とする平坦区間と曲面区間とに対応し、経路C1,C3では直線移動を行い、経路C2ではＮＵＲＢＳ補間等を伴う曲線移動を行う。
このような加工のためのプログラムには、例えば図５のような指令ブロックが組込まれる。ここで、指令ブロックB1〜B3は前述した経路C1〜C3に対応するものである。先に述べた通り、各ブロックに設定できる速度指令のためのＦコードは一つだけであり、ここでは切込み深さに対応して前後より低い速度が設定されている。
【００１４】
このような加工プログラムで加工を行った場合、図６のような状態となる。
すなわち、切削負荷は、図６上段に示すように、境界点Pe1から切込み深さに対応して漸増し、区間E2の略中央で最大となったのち、漸減して境界点Pe2から元の値に戻っている。一方、送り速度指令値は、先の指令ブロックB1〜B3に基づいて、経路C1ではF5000、経路C2ではF3000に下げられ、経路C3でF5000に戻る。これらの境界は境界点Pc1,Pc2である。
【００１５】
このことから、次のような不都合が指摘される。
第一に、境界点Pc1,Pc2の間では、切削負荷は曲線的に増加減少するのに対し、送り速度は下げられているものの一定であり、最適な速度指令に調整することができない。
第二に、現在の表面Swと仕上げ形状Sfとの相違に基づいて各々の境界点がずれており、このため境界点Pe1,Pc1間および境界点Pe1,Pc1間では切削負荷が増加しているのにも拘らず、平坦な状態の送り速度が適用され、ここでも最適な速度指令に対応することができない。
【００１６】
以上の説明では、１ブロックで対応できる経路が長くなっても、１ブロックに設定できる移動速度が１つだけであることによる不都合について説明したが、このような不都合は、移動速度以外の他の付属情報にも生じる。つまり、例えば負荷の増大に対しては主軸回転数を調整する等で対応が可能であるが、従来は１ブロックで設定できる主軸回転数が１通りだけなので、前述した移動速度と同様な問題が生じることになる。更に、移動速度、主軸回転数の他の付属情報、例えば切削負荷の予測値等についても同様の問題がある。
【００１７】
本発明の目的は、ＮＵＲＢＳ補間等を行う数値制御装置において、一つの指令ブロックに付属情報を任意に設定できる数値制御装置を提供することにある。
【００１８】
【課題を解決するための手段】
本発明は、所定の指令プログラムを解読して所定の制御対象に動作指令を出力する数値制御装置であって、
前記動作指令は順次出力される複数の指令ブロックで与えられ、
前記各指令ブロックは所定の移動軌跡を指令する経路情報を含むとともに、必要に応じて一つの指令ブロック内での負荷変動に対応するための経路情報以外の動作に関する付属情報を含み、
前記付属情報のうち何れかをＮＵＲＢＳ曲線で表現することを特徴とする数値制御装置である。
または、同じく、前記各指令ブロックは所定の移動軌跡を指令する経路情報を含むとともに、必要に応じて経路情報以外の動作に関する付属情報を含み、
前記付属情報のうち少なくとも切削負荷の予測値をＮＵＲＢＳ曲線で表現することを特徴とする数値制御装置である。
【００１９】
このような本発明においては、一つの指令ブロック内での負荷変動に対応するために、前記付属情報として移動速度、主軸回転数などの何れかをＮＵＲＢＳ曲線で表現し、あるいは少なくとも切削負荷の予測値をＮＵＲＢＳ曲線で表現し、経路情報（こちらもＮＵＲＢＳ曲線で表現してもよい）とともに用いる。
例えば移動速度をＮＵＲＢＳデータ形式で設定することで、一つの指令ブロックの間に任意に変動する速度値を指令することができる。このため、前述のように１つの指令ブロックの途中で負荷が変化する場合に、移動速度を変化させることで、適切に負荷に対応することができるようになる。
特に、経路情報がＮＵＲＢＳデータ形式で一つの指令ブロックの適用区間が長くなった場合には、本発明による付属情報の変化が有効であるとともに、同様なＮＵＲＢＳ形式を利用することで処理系の複雑化などを招くことがない。
【００２０】
本発明において、ＮＵＲＢＳ曲線で表現する付属情報としては、前述した移動速度の他、主軸回転数、切削負荷の予測値とすることができる。各々は一つの指令ブロックの適用区間が長くなった場合に変化させることが要求される指令項目であり、本発明の適用が有効である。
【００２１】
【発明の実施の形態】
以下、本発明の一実施形態を図面に基づいて説明する。
図１において、数値制御装置10は、所定の加工プログラム20を読み込み、これに記載された動作指令に基づいて工作機械や工業用ロボット等の制御対象30の複数軸を協調動作制御するものである。
【００２２】
加工プログラム20は、時系列的に読込まれる一連の指令ブロック21で構成されている。
各指令ブロック21には、必須要素として経路情報22が含まれている。経路情報22は、所定のパラメータｔで表される曲線P(t)で移動軌跡を定義するものであり、ＮＵＲＢＳ補間、直線補間、円弧補間等の動作を指定するＧコードと、Ｘ，Ｙ，Ｚ等の移動先の座標値あるいは制御点座標値とで構成される。本実施形態において、経路情報22はＮＵＲＢＳ曲線として移動軌跡を定義したものとする。
各指令ブロック21には、必要に応じて付属情報23が設定される。付属情報23としては、移動速度を指定するＦコードや、主軸回転数指令やその他の動作状態等を設定する指令情報が用いられる。本実施形態において、付属情報23は移動速度に関する指令情報であり、この速度指令はＮＵＲＢＳ曲線として定義されているものとして説明する。
【００２３】
数値制御装置10は、解析処理部11と補間処理部12とを備え、加工プログラム20を読み込んで解析処理部11で解析処理し、その解析結果に対して補間処理部12で補間処理を行い、これらの処理により得られる位置指令Cx,Cy,Czを制御対象30のＸ軸サーボ系31、Ｙ軸サーボ系32、Ｚ軸サーボ系33に出力する。
これらの基本的な処理は、ＮＵＲＢＳ曲線による移動軌跡について自由曲線としての直接補間を行う点で既存の技術（前述した特開平8-305430号公報、特開平10-254526号公報参照）と同様である。しかし、本実施形態では付属情報である移動速度についてもＮＵＲＢＳ曲線を利用して多様な変化を実現するべく、独自の構成を採用している。
【００２４】
すなわち、解析処理部11は、加工プログラム20から読込まれた現在時点の指令ブロック21のうち、経路情報22からＮＵＲＢＳ曲線で記述された経路定義データDPを解析し、ＮＵＲＢＳ補間用データDCとして補間処理部12に出力する。この処理は前述した既存の直接補間と同等である。
ここで、既存の方式で速度指令を行う場合、速度指令値は定数として付属情報23に設定され、解析処理部11から補間処理部12に送られる。しかし、本実施形態において、解析処理部11は付属情報23からＮＵＲＢＳ曲線で記述された速度定義データDFを解析し、前述したＮＵＲＢＳ補間用データDCに速度に関する情報項目を追加して補間処理部12に出力する。これらの処理は具体的に次のように行われる。
【００２５】
本実施形態において、ＮＵＲＢＳ補間用データDCは、制御点qi=(xi,yi,zi,fi)、ウェイトwi、ノットtjを含む。制御点qi（i=1〜n、n=制御点数）は、移動目標の座標値xi,yi,ziと、移動速度fiとを含む。ノットtj（j=0〜M+n+1、M=階数）に対し、ノットベクトルT=[t0,t1,t2,…tM+n-1]である。また、ＮＵＲＢＳ曲線の座標点p(t)とする。
【００２６】
図２に示すように、解析処理部11が新たな指令ブロックを読込むと（処理s1）、補間処理部12はＮＵＲＢＳ曲線のパラメータtを初期化する（処理S2）。
ここで、ある時点t=tkからスタートする場合、次の式が成立する。但しここでは0/0=0とする。
【００２７】
【数１】
0003902353.tif 000002
【００２８】
この式(1)を利用して、時点tでのＢスプライン関数値を算出する（処理s3）。
さらに、この値を利用して、次式(2)により、時点tにおける曲線上のx,y,z座標値と速度指令値fとを計算する（処理s4）。
【００２９】
【数２】
0003902353.tif 000003
【００３０】
こうして得られた速度指令値fに対して、対応するtの変化量dtを算出する（処理s5）。すなわち、速度指令値f（mm/分）、サンプリング周期Ts（秒）とすると、1サンプリング周期あたりの移動量dLは次式となる。
【００３１】
【数３】
0003902353.tif 000004
【００３２】
線分長をdLとするためのtの変化量dtは次式となる。
【００３３】
【数４】
0003902353.tif 000005
【００３４】
ここで、次式が成立する。
【００３５】
【数５】
0003902353.tif 000006
【００３６】
以上により求めたdtにより、t=t+dtと更新し（処理s6）、このtが次のノットtj（j=0〜M+n-1）に達していなければ現在のノットtj-1のまま処理s3に戻って現在の指令ブロック内での演算を引続き繰返し、達していれば処理S1に戻って新たな指令ブロックの処理を行う。
これにより、各指令ブロックが順次処理されるとともに、各指令ブロックにおいてはx,y,z軸位置および速度指令値fがＮＵＲＢＳ曲線として処理されることになる。
【００３７】
以上のような本実施形態によれば、次のような効果がある。
本実施形態では、経路情報22であるx,y,z軸位置だけでなく、付属情報23である速度指令値fについてもＮＵＲＢＳ曲線により定義して指令、補間することができる。
このため、一つの指令ブロックにおいて、例えば速度指令値fを一定ではなく任意の値に変化させることができる。
これにより、従来は困難だった細かな制御ができる。また、データ量を減らすべく、経路情報をＮＵＲＢＳ曲線として一つの指令ブロックを広くとるようにした場合でも、不適切な制御を避けることができる。
【００３８】
例えば、前述した図４のような従来の加工の際に、切削負荷を精密に対応させることができる。
図３において、上段の切削負荷は前述した図６と同様である。ここで、図３下段の速度指令値は、本発明に基づいて自由な曲線で与えることができるようになるため、区間E1,E3において境界点Pe1,Pc1間、境界点Pe2,Pc2間の対応がとれるとともに、区間E2において切削負荷に対応した送り速度の変化を実現することができる。
【００３９】
なお、本発明は前述した実施形態に限定されるものではなく、以下に示すような変形等も本発明に含まれるものである。
すなわち、前記実施形態では、付属情報に移動速度を用いたが、主軸回転数や切削負荷の予測値を設定してもよく、これらを組合わせて各々をＮＵＲＢＳ曲線化してもよい。
また、移動速度や主軸回転数を正確に対応させるにあたって、切削負荷は加工対象のＣＡＭ（Computer Aided Manufacturing、コンピュータ支援製造）システムから得られるデータを元に推定すればよい。
【００４０】
【発明の効果】
以上に述べたとおり、本発明によれば、付属情報をＮＵＲＢＳデータ形式で設定することで、一つの指令ブロックの間に任意に変動する付属情報を指令することができる。このため、前述のように１つの指令ブロックの途中で負荷等が変化した場合でも、移動速度等を変化させることで、適切に対応することができる。従って、経路情報がＮＵＲＢＳデータ形式で一つの指令ブロックの適用区間が長くなった場合でも、付属情報を任意に変化させて適切な制御を行うことができる。
【図面の簡単な説明】
【図１】本発明の一実施形態を示すブロック図。
【図２】前記実施形態の処理流れを示すフローチャート。
【図３】前記実施形態における動作状態を示すグラフ。
【図４】従来の加工動作を示す模式図。
【図５】従来の加工プログラムを示す模式図。
【図６】従来の動作状態を示すグラフ。
【符号の説明】
10  数値制御装置
11  解析処理部
12  補間処理部
20  加工プログラム
21  指令ブロック
22  経路情報
23  付属情報
30  制御対象
P(t)  指令曲線
【図１】
0003902353.tif 000007
【図２】
0003902353.tif 000008
【図３】
0003902353.tif 000009
【図４】
0003902353.tif 000010
【図５】
0003902353.tif 000011
【図６】
0003902353.tif 000012