(57)【特許請求の範囲】
【請求項１】
加工プログラムを解析する解析手段と、この解析手段からの解析情報が与えられ、電動機の位置を制御する位置制御手段と、この位置制御手段の出力に基づいて上記電動機の速度を制御する速度制御手段と、この速度制御手段の出力に基づいて上記電動機の電流を制御する電流制御手段とを備えた数値制御システムにおいて、上記速度制御手段からの出力に加算する電流指令加算量、上記位置制御手段からの出力に加算する速度指令加算量及び上記位置制御手段の前段に加算する位置指令加算量の少なくとも一つを演算する演算手段を、数値制御装置本体に接続する手段を備え、上記演算手段は、上記解析手段の解析情報を基に上記加算量を演算するものであることを特徴とする数値制御システム。
【請求項２】
上記電流指令加算量、速度指令加算量及び位置指令加算量の少なくとも一つを記憶するバッファと、このバッファに記憶された加算量を、上記速度制御手段からの出力、上記位置制御手段からの出力及び上記位置制御手段の前段の何れかに加算する加算手段とを備えてなる請求項１に記載の数値制御システム。
【請求項３】
上記電流指令加算量が上記電流制御手段の処理周期に、上記速度指令加算量が上記速度制御手段の処理周期に、上記位置指令加算量が上記位置制御手段の処理周期に分割されているとともに、上記加算手段は、上記電流指令加算量を加算するときは上記電流制御手段の処理周期で、上記速度指令加算量を加算するときは上記速度制御手段の処理周期で、上記位置指令加算量を加算するときは上記位置制御手段の処理周期で加算するものであることを特徴とする請求項２に記載の数値制御システム。
【請求項４】
上記加算手段は、現在位置と加算すべき範囲を参照して現在位置が加算すべき範囲内であれば、上記加算量を加算することを特徴とする請求項１〜３の何れかに記載の数値制御システム。
【請求項５】
加算範囲の指定を、指令ブロックの終点までの補間算距離で指定することを特徴とする請求項４に記載の数値制御システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は数値制御システムに係り、特にＮＣ工作機械の高速高精度加工のために必要な補正指令生成に関するものである。
【０００２】
【従来の技術】
図１０は従来の数値制御装置の構成図である。
【０００３】
以下、従来技術を図面に基づいて説明する。
一般に数値制御装置は加工プログラムを解析手段１０で解析し解析情報を作成する。例えば、Ｇ１  Ｘ１０．０  Ｙ１０．０  Ｆ１００；という加工プログラムを解析して、直線補間、Ｘ軸移動量１０ｍｍ、Ｙ軸移動量１０ｍｍ、速度１００ｍｍ／分、移動長さ１４．１４２ｍｍという解析情報を作る。この解析情報を分配手段５で分配し、各軸の位置指令を出力する。位置制御手段４は位置指令と位置フィードバックから速度指令を出力する。速度制御手段３は速度指令と速度フィードバックから電流指令を出力する。電流制御手段２は電流指令を入力して電動機１を駆動する。電動機１に接続された検出器９は速度および位置を検出してフィードバックする。
したがって、一般には解析手段から検出器までの装置をひとまとめの数値制御装置１２として販売されることが多い。
【０００４】
さて、このように構成された数値制御装置における高精度加工の課題は、機械系の動的誤差の補正である。機械系の動的誤差は、摩擦係数の変化や機械のばね定数、粘性抵抗などによる機械変形により発生する。
この誤差は数値制御装置の電流制御手段や速度制御手段や位置制御手段に補正量を付加することにより補正できる。しかし、汎用の数値制御装置１２は特定の機械系に最適な補正機能やユーザ独自の補正機能を備えていないため、汎用の数値制御装置１２のほかに前処理装置１１を設けて指令の変形を行う。
例えば、図１１に示すようにＸＹ平面での半円動作において象限の変わり目でＹ軸が一旦減速するため摩擦力が増大し、Ｙ軸の運動が鈍くなるため円弧の形状精度が悪くなってしまう。そこで、曲線３１のように指令曲線を変形させることにより誤差を補正する。
【０００５】
また、図１２の例では、Ａ点からＢ点までの位置決めを行うが、機械の応答遅れのため位置決め完了までの時間が長くなる。そこで、指令３２のように過大な指令により加速度を大きくするように指令を変形させることにより位置決め時間を短縮する。
【０００６】
また、図１３の例では、Ｘ軸とＹ軸の剛性が異なるため真円指令に対し楕円状の応答軌跡となる。そこで、曲線３３のように指令曲線を逆の楕円形に変形させることにより誤差を補正する。
このように指令を変形させることにより機械系の誤差を補正できる。
【０００７】
これは、位置指令の微分が速度指令、速度指令の微分が電流指令であるとの関係を利用して、電流指令の補正を行いたい場合には補正量の積分の積分を、速度指令の補正を行いたい場合は補正量の積分を、位置指令の補正を行いたい場合は補正量を位置指令に夫々加算することによって求められる。
このような補正演算を行うために、従来の数値制御装置では、数値制御装置の上位に指令を変形させるための前処理装置１１として、外部解析手段２８と外部補正分配手段２９とプログラム作成手段３０を付加し、外部解析手段２８で加工プログラムを解析したのち、外部補正分配手段２９で指令曲線を変形しながら分配して、さらにプログラム作成手段３０で解析手段１０が解析できるような加工プログラムに書換えている。
なお、前処理装置１１は、パソコン、ＣＡＭ装置等が用いられる。
【０００８】
このほかに汎用の数値制御装置１２では前処理装置１２の機能の一部を取り込んで、位置制御手段４、速度制御手段３及び電流制御手段２に簡単な補正機能を内蔵したものがある。図１１の曲線の例では電流制御手段２に象限の変わり目でＹ軸の進行方向が変化したときに電流指令を増加する機能を内蔵したものがある。図１２の直線の例では速度制御手段３に位置指令の微分を速度指令に加算する機能を内蔵したものがある。
【０００９】
【発明が解決しようとする課題】
従来の数値制御装置は以上のように構成されていたので、前処理装置１１で補正のための複雑な上述の演算を高速で行わなければならず、また前処理装置１１から汎用の数値制御装置１２への高速データ転送が必要となり、高価なシステムとなってしまう欠点があった。
【００１０】
さらに、一般に電流制御の制御周期よりも速度制御の制御周期が長く、速度制御の制御周期よりも位置制御の制御周期が長いが、前処理装置での補正は位置制御周期で実行されるので補正の精度が劣るという欠点があった。
【００１１】
また、前処理装置１１の機能の一部を取り込んで、位置制御手段４、速度制御手段３および電流制御手段２に簡単な補正機能を内蔵したものは、特別な付加装置を必要とせず価格的な欠点はないが、特定の機械に最適な補正機能やユーザ独自の補正機能を実現できない欠点や、高速高精度な制御を行うために、位置制御・速度制御・電流制御の周期をなるべく短くしなければならないが、補正機能を内蔵することによって処理負荷が増大し制御周期が長くなるという矛盾があり、結局簡単な補正機能しか実現できないという欠点がある。
【００１２】
例えば、図１１の曲線の例では円の曲率や機械の位置によって補正量は変更した方が良いがこの判断は複雑である。図１２の直線の例ではワーク重量や加速時か減速時で機械応答が異なるので速度補正パターンを変更すべきであるがこの演算もかなり複雑である。また位置制御・速度制御・電流制御は軸単位で独立して制御するので他の軸との移動軌跡を考慮した補正演算は困難である。
【００１３】
この発明は、上記の問題点を解決するためになされたもので、前処理装置を設けることなく、高精度な補正を行うことができる数値制御システムを得ることを目的とする。
【００１４】
【課題を解決するための手段】
この発明に係る数値制御システムは、加工プログラムを解析する解析手段と、この解析手段からの解析情報が与えられ、電動機の位置を制御する位置制御手段と、この位置制御手段の出力に基基づいて上記電動機の電流を制御する電流制御手段とを備えた数値制御システムにおいて、上記速度制御手段からの出力に加算する電流指令加算量、上記位置制御手段からの出力に加算する速度指令加算量及び上記位置制御手段の前段に加算する位置指令加算量の少なくとも一つを演算する演算手段を、数値制御装置本体に接続する手段を備え、上記演算手段は、上記解析手段の解析情報を基に上記加算量を演算するものである。
【００１５】
またこのこの発明に係る数値制御システムは、上記電流指令加算量、速度指令加算量及び位置指令加算量の少なくとも一つを記憶するバッファと、このバッファに記憶された加算量を、上記速度制御手段からの出力、上記位置制御手段からの出力及び上記位置制御手段の前段の何れかに加算する加算手段とを備えてなるものである。
【００１６】
またこのこの発明に係る数値制御システムは、上記電流指令加算量が上記電流制御手段の処理周期に、上記速度指令加算量が上記速度制御手段の処理周期に、上記位置指令加算量が上記位置制御手段の処理周期に分割されているとともに、上記加算手段が、上記電流指令加算量を加算するときは上記電流制御手段の処理周期で、上記速度指令加算量を加算するときは上記速度制御手段の処理周期で、上記位置指令加算量を加算するときは上記位置制御手段の処理周期で加算するものである。
【００１８】
またこのこの発明に係る数値制御システムは、上記加算手段が、現在位置と加算すべき範囲を参照して現在位置が加算すべき範囲内であれば、上記加算量を加算するものである。
【００１９】
またこのこの発明に係る数値制御システムは、上記加算範囲の指定を、指令ブロックの終点までの補間算距離で指定するものである。
【００２０】
【発明の実施の形態】
実施例１．
以下、この発明の実施例１について図１〜図４を用いて説明する。
即ち、この実施例では、図１に示すように、解析情報読込手段２１、解析情報バッファ２６、内部解析手段３４、内部解析手段用バッファ３４Ａ、内部解析起動手段２０、内部解析登録手段１４、位置指令加算判定手段１７、位置指令加算手段８、速度指令加算判定手段１８、速度指令加算手段７、電流指令加算判定手段１９及び電流指令加算手段６が、数値制御装置の内部に設けられている。
また、内部解析手段３４は、内部解析登録手段１４にて登録することにより、ソフトウエア的に解析手段１０と分配手段５との間に位置するように設けられている。
なお、上記各手段は、ソフトウエアにて構成されている。
【００２１】
次に各要素の機能・動作について説明する。
即ち、分配手段５は、解析情報が必要となった時（例えば加工のために機械スタートボタンが押されたとき）に内部解析起動手段２０を呼び出す。
内部解析起動手段２０は、内部解析登録手段１４に登録された内部解析手段アドレスを参照して内部解析手段３４を起動する。
内部解析手段３４は、分配手段５に渡す解析情報を作成するために解析情報バッファ２６を参照するが、参照情報が不足している場合は解析情報読込手段２１を起動する。
【００２２】
解析情報読込手段２１は、解析手段１０を起動して解析手段１０に解析情報２７を作成させる。さらに、作成された解析情報２７を解析情報バッファ２６にセットする。
内部解析手段３４は、解析情報バッファ２６の解析情報を参照して、位置指令加算情報や速度指令加算情報や電流指令加算情報を作成し、内部解析手段用バッファ３４Ａにセットする。なお、位置指令加算情報、速度指令加算情報及び電流指令加算情報の作成については後で詳述する。
また、この内部解析手段３４は、分配手段５に渡す解析情報として、解析情報バッファ２６の解析情報、即ち解析手段１０が解析した解析情報を内部解析手段用バッファ３４Ａにセットする。
即ち、内部解析手段３４は、上述した演算のみを行うだけで、従来の前処理装置１１のように、電流指令の補正を行いたい場合には補正量の積分の積分を、速度指令の補正を行いたい場合は補正量の積分を、位置指令の補正を行いたい場合は補正量を位置指令に加算するという演算の後、それを解析手段１０が解析できるような加工プログラムに書き換える演算は行わない。
【００２３】
分配手段５は、解析情報を参照して指令軌跡と指令速度に基づいて分配を行い位置制御手段４に対し位置指令を出力する。
位置指令加算判定手段１７は、位置指令加算情報を参照して現在の補間残距離が加算範囲内であれば位置指令加算量を位置指令加算手段８へ出力する。
位置指令加算手段８は、分配手段５から出力された位置指令と位置指令加算判定手段１７から出力された位置指令加算量を加算して位置制御手段４へ出力する。
【００２４】
位置制御手段４は、位置指令と検出器９からの位置フィードバックの差分から速度指令を演算して速度制御手段３へ出力する。
速度指令加算判定手段１８は、速度指令加算情報を参照して現在の補間残距離が加算範囲内であれば速度指令加算量を速度指令加算手段７へ出力する。
速度指令加算手段７は、位置制御手段４から出力された速度指令と速度指令加算判定手段１８から出力された速度指令加算量を加算して速度制御手段３へ出力する。
【００２５】
速度制御手段３は、速度指令と検出器９からの速度フィードバックの差分から電流指令を演算して電流制御手段２へ出力する。
電流指令加算判定手段１９は、電流指令加算情報を参照して現在の補間残距離が加算範囲内であれば電流指令加算量を電流指令加算手段６へ出力する。
電流指令加算手段６は、速度制御手段３から出力された電流指令と電流指令加算判定手段１９から出力された電流指令加算量を加算して電流制御手段２へ出力する。
【００２６】
電流制御手段２は、電流指令に基づいて電動機１へ与える電流を制御する。
電動機１は回転力により機械を駆動する。
検出器９は、電動機１の位置および速度を検出して位置制御手段４および速度制御手段３へフィードバックする。
【００２７】
図２は円弧指令時の象限の変わり目で方向反転する軸の移動速度が０に近くなるためおこる摩擦変化や弾性変形などのロストモーションを補正する例である。
この例では半径Ｒｍｍの円弧の頂点の前後０．５ｍｍの範囲で１０％の電流を補正している。
図２（ｃ）は補正の範囲を図示したものである。
図２（ｄ）は解析情報にセットされる電流指令加算情報のメモリ配置である。ここで３つの頂点（Ａ点、Ｂ点、Ｃ点）の情報として電流指令加算情報１、２、３が割り当てられる。電流指令加算情報４の内容は０であり、これは電流指令加算情報が３までで終了であることを示す終了情報である。なお、加工開始点はＤ点とする。
【００２８】
図２（ａ）は内部解析手段３４で電流指令加算情報を作成するフローチャートである。
ステップ１：Ａ点での電流指令加算情報として電流指令加算情報１を作成する。開始残距離は２×３．１４Ｒ×２７０／３６０＋０．５、終了残距離は２×３．１４Ｒ×２７０／３６０−０．５、Ｘ軸電流指令加算量はー１０、Ｙ軸電流指令加算量は０となる。
ステップ２：Ｂ点での電流指令加算情報として電流指令加算情報２を作成する。開始残距離は２×３．１４Ｒ×１８０／３６０＋０．５、終了残距離は２×３．１４Ｒ×１８０／３６０−０．５、Ｘ軸電流指令加算量は０、Ｙ軸電流指令加算量は−１０となる。
ステップ３：Ｃ点での電流指令加算情報として電流指令加算情報３を作成する。開始残距離は２×３．１４Ｒ×９０／３６０＋０．５、終了残距離は２×３．１４Ｒ×９０／３６０−０．５、Ｘ軸電流指令加算量は１０、Ｙ軸電流指令加算量は０となる。
ステップ４：電流指令加算情報４に終了情報を書き込む。開始残距離に０をセットすることにより終了情報とする。
【００２９】
図２（ｂ）は電流指令加算判定手段１９の動作を示すフローである。
ステップ１：分配残距離を読み込む。
ステップ２：電流指令加算情報１のアドレスを電流指令加算情報の読みだしポインタにセットする。
ステップ３：開始残距離を０と比較し終了を判定する。終了であればステップ１へ分岐する。
ステップ４：分配残距離を開始残距離および終了残距離と比較する。開始残距離以下でかつ終了残距離以上であれば加算範囲内である。そうでなければステップ６へ分岐する。
ステップ５：Ｘ軸電流指令加算量をＸ軸の電流指令加算量レジスタにコピーする。Ｙ軸電流加算量をＹ軸の電流指令加算量レジスタにコピーする。この電流指令加算量レジスタの内容は電流指令加算手段により電流指令に加算され電流制御手段２に出力される。
ステップ６：電流指令加算情報の読みだしポインタを１つ進める。ステップ３へ分岐する。
【００３０】
図３は速度フィードフォワードをかけることにより位置決め時間を短縮することの例である。
この例では直線位置決めの加速減速時間Ｔ秒の範囲でＦｍｍ／分の速度を補正している。直線はＬｍｍで（ｘ，ｙ）のベクトルとする。
図３（ｃ）は速度補正の範囲と速度指令の波形を図示したものである。
図３（ｄ）は解析情報にセットされる速度指令加算情報のメモリ配置である。ここで加速時と減速時の情報として速度指令加算情報１、２が割り当てられる。速度指令加算情報３の内容は０であり、これは速度指令加算情報が２までで終了であることを示す終了情報である。
図３（ａ）は内部解析手段３４で速度指令加算情報を作成するフローチャートである。
ステップ１：加速および減速の移動量Ａｍｍをもとめる。Ａ＝ＦＴ／６０／２。
ステップ２：加速時の速度指令加算情報として速度指令加算情報１を作成する。開始残距離はＬ、終了残距離はＬ−Ａ、Ｘ軸速度指令加算量はＦｘ／Ｌ、Ｙ軸速度指令加算量はＦｙ／Ｌとなる。
ステップ３：減速時の速度指令加算情報として速度指令加算情報２を作成する。開始残距離はＡ、終了残距離は０、Ｘ軸速度指令加算量はーＦｘ／Ｌ、Ｙ軸速度指令加算量はーＦｙ／Ｌとなる。
ステップ４：速度指令加算情報３に終了情報を書き込む。開始残距離に０をセットすることにより終了情報とする。
【００３１】
図３（ｂ）は速度指令加算判定手段１８の動作を示すフローである。
ステップ１：分配残距離を読み込む。
ステップ２：速度指令加算情報１のアドレスを速度指令加算情報の読みだしポインタにセットする。
ステップ３：開始残距離を０と比較し終了を判定する。終了であればステップ１へ分岐する。
ステップ４：分配残距離を開始残距離および終了残距離と比較する。開始残距離以下でかつ終了残距離以上であれば加算範囲内である。そうでなければステップ６へ分岐する。
ステップ５：Ｘ軸速度指令加算量をＸ軸の速度指令加算量レジスタにコピーする。Ｙ軸速度加算量をＹ軸の速度指令加算量レジスタにコピーする。この速度指令加算量レジスタの内容は速度指令加算手段により速度指令に加算され速度制御手段３に出力される。
ステップ６：速度指令加算情報の読みだしポインタを１つ進める。ステップ３へ分岐する。
【００３２】
図４は円弧の縦軸と横軸の長さを変えることにより長円の軌跡を補間することの例である。
この例では半径Ｒの真円指令をＸ軸方向にＣ％縮小するように位置指令を補正している。補正はＤ度ずつの３６０／Ｄ分割とした。
図４（ｃ）は円弧を等角度に分割した補正範囲と補正量を図示したものである。
解析情報にセットされる位置指令加算情報は３６０/Ｄ領域指定される。位置指令加算情報の内容０は位置指令加算情報が終了であることを示す終了情報である。
図４（ａ）は内部解析手段３４で位置指令加算情報を作成するフローチャートである。
ステップ１：位置指令加算情報１のアドレスを位置指令加算情報書き込みポインタにセットする。
ステップ２：円弧中心角変数Ｗに初期値０を代入する。
ステップ３：位置指令加算情報の開始残距離を作成する。開始残距離は２×３．１４Ｒ−２×３．１４ＲＷ／３６０となる。
ステップ４：円弧中心角変数Ｗに分割角度Ｄを加算する。
ステップ５：Ｗと３６０を比較して最終分割のチェックを行う。Ｗが３６０以上であれば最終分割である。そうでなければステップ７へ分岐する。
ステップ６：最終分割なのでＷに３６０を代入する。
ステップ７：位置指令加算情報の終了残距離を作成する。終了残距離は２×３．１４Ｒ−２×３．１４ＲＷ／３６０となる。
ステップ８：位置指令加算情報の位置指令加算量を作成する。Ｘ軸の位置指令加算量は−ＲＣ／１００×ｃｏｓＷとなる。Ｙ軸の位置指令加算量は０である。
ステップ９：位置指令加算情報書き込みポインタを１つ進める。
ステップ１０：分割終了チェックをおこなう。Ｗが３６０であれば終了である。そうでなければステップ３へ分岐する。
ステップ１１：位置指令加算情報に終了情報を書き込む。開始残距離に０をセットすることにより終了情報とする。
【００３３】
図４（ｂ）は位置指令加算判定手段１７の動作を示すフローである。
ステップ１：分配残距離を読み込む。
ステップ２：位置指令加算情報１のアドレスを位置指令加算情報の読みだしポインタにセットする。
ステップ３：開始残距離を０と比較し終了を判定する。終了であればステップ１へ分岐する。
ステップ４：分配残距離を開始残距離および終了残距離と比較する。開始残距離以下でかつ終了残距離以上であれば加算範囲内である。そうでなければステップ６へ分岐する。
ステップ５：Ｘ軸位置指令加算量をＸ軸の位置指令加算量レジスタにコピーす  る。Ｙ軸位置加算量をＹ軸の位置指令加算量レジスタにコピーす    る。この位置指令加算量レジスタの内容は位置指令加算手段により    位置指令に加算され位置制御手段４に出力される。
ステップ６：位置指令加算情報の読みだしポインタを１つ進める。ステップ３へ分岐する。
【００３４】
実施例２．
以下、この発明の実施例２について図５〜図９を用いて説明する。
即ち、この実施例では、図５に示すように、解析情報読込手段２１、解析情報バッファ２６、内部解析手段３４、内部解析手段用バッファ３４Ａ、内部解析起動手段２０、内部解析登録手段１４、位置指令加算手段８、速度指令加算手段７、電流指令加算手段６、外部分配登録手段１５、外部分配起動手段１６、外部分配手段２２、電流指令加算量バッファ２３、速度指令加算量バッファ２４及び位置指令加算量バッファ２５が、数値制御装置の内部に設けられている。
また、内部解析手段３４は、内部解析登録手段１４にて登録することにより、ソフトウエア的に解析手段１０と分配手段５との間に位置するように設けられており、また外部分配手段２２は、外部分配登録手段１５にて登録することによりソフトウエア的に解析手段１０と位置制御手段４との間に位置するように設けられている。
なお、上記各手段は、ソフトウエアにて構成されている。
【００３５】
次に各手段の機能・動作について説明する。
即ち、図５において、分配手段５は解析情報が必要となった時（例えば加工のために機械スタートボタンが押された時）に内部解析起動手段２０を呼び出す。
内部解析起動手段２０は、内部解析登録手段１４に登録された内部解析手段アドレスを参照して内部解析手段３４を起動する。
内部解析手段３４は、外部分配手段１６に渡す解析情報を作成するために解析情報バッファ２６を参照するが、参照情報が不足している場合は解析情報読込手段２１を起動する。
解析情報読込手段２１は、解析手段１０を起動して解析情報２７を作成させる。さらに、作成された解析情報２７を解析情報バッファ２６にセットする。
内部解析手段３４は、上記外部分配起動手段１６を使用しないとき、即ち実施例１の場合には、解析情報バッファ２６を参照して位置指令加算情報や速度指令加算情報や電流指令加算情報を作成して、解析手段１０が解析した解析情報とともに内部解析手段用バッファ３４Ａにセットするが、この実施例の場合には、外部分配起動手段１６を使用するので、解析手段１０が解析した解析情報を内部解析手段用バッファ３４Ａにそのままセットする。
分配手段５は、外部分配起動手段１６を使用するとき、即ちこの実施例の場合には、本来の分配機能を行うことなく、外部分配起動手段１６及び内部解析起動手段２０の起動手段として動作する。
外部分配起動手段１６は、外部分配登録手段１５に登録された外部分配手段アドレスを参照して外部分配手段２２を起動する。
【００３６】
外部分配手段２２は、内部解析手段用バッファ３４Ａ中の解析情報を参照して指令軌跡と指令速度に基づいて分配を行い位置制御手段４に対し位置指令を出力する。また、必要に応じて位置制御手段４の処理周期に分割された位置指令加算量を演算し、それを位置指令加算量バッファ２５にセットする。同様に、必要に応じて速度制御手段５の処理周期に分割された速度指令加算量を演算し、それを速度指令加算量バッファ２４に、また電流制御手段６の処理周期に分割された電流指令加算量を演算し、それを電流指令加算量バッファ２３にセットする。
位置指令加算手段８は、分配手段５から出力された位置指令と位置指令加算量バッファ２５から読みだした位置指令加算量を加算して位置制御手段４の処理周期に同期して位置制御手段４へ出力する。
位置制御手段４は、位置指令と検出器９からの位置フィードバックの差分から速度指令を演算して速度制御手段３へ出力する。
速度指令加算手段７は、位置制御手段４から出力された速度指令と速度指令加算量バッファ２４から読みだした速度指令加算量を加算して速度制御手段３の処理周期に同期して速度制御手段３へ出力する。
速度制御手段３は、速度指令と検出器９からの速度フィードバックの差分から電流指令を演算して電流制御手段２へ出力する。
電流指令加算手段６は速度制御手段３から出力された電流指令と電流指令加算量バッファ２３から読みだした電流指令加算量を加算して電流制御手段２の処理周期に同期して電流制御手段２へ出力する。
電流制御手段２は、電流指令に基づいて電動機１へ与える電流を制御する。
電動機１は回転力により機械を駆動する。
検出器９は、電動機１の位置および速度を検出して位置制御手段４および速度制御手段３へフィードバックする。
【００３７】
図６（ａ）は電流指令加算手段６の動作を示すフローである。
ここでは、電流指令加算量バッファ２３には１６個の要素があり、それぞれ電流指令加算量レジスタ１から１６と呼ぶものとする。
電流指令加算手段６は、電流制御手段２が電流指令を受け取る毎に次の電流指令を演算して出力する。
【００３８】
ステップ１：電流指令を電流制御手段２が受け取ったかどうかをチェックする。受け取ってなければステップ１へ分岐する。
ステップ２：電流指令と電流指令加算量レジスタ１を読みだし、加算する。
ステップ３：結果を電流制御手段２へ出力する。
ステップ４：電流指令加算量バッファ２３の電流指令加算量レジスタ２から電流指令加算量レジスタ１６に記憶されている内容を、電流指令加算量レジスタ１から電流加算量レジスタ１５へコピーする。電流指令加算量レジスタ１６をクリアする。ステップ１へ分岐する。
【００３９】
図６（ｂ）は速度指令加算手段の動作を示すフローである。
ここでは、速度指令加算量バッファ２４には８個の要素があり、それぞれ速度指令加算量レジスタ１から８と呼ぶものとする。
速度指令加算手段７は、速度制御手段３が速度指令を受け取る毎に次の速度指令を演算して出力する。
【００４０】
ステップ１：速度指令を速度制御手段が受け取ったかどうかをチェックする。受け取ってなければステップ１へ分岐する。
ステップ２：速度指令と速度指令加算量レジスタ１を読みだし、加算する。
ステップ３：結果を速度制御手段へ出力する。
ステップ４：速度指令加算量バッファの速度指令加算量レジスタ２から速度指令加算量レジスタ８に記憶されている内容を、速度指令加算量レジスタ１から速度指令加算量レジスタ７へコピーする。速度指令加算量レジスタ８をクリアする。ステップ１へ分岐する。
【００４１】
図６（ｃ）は位置指令加算手段の動作を示すフローである。
ここでは、位置指令加算量バッファ２５には４個の要素があり、それぞれ位置指令加算量レジスタ１から４と呼ぶものとする。
位置指令加算手段８は位置制御手段４が位置指令を受け取る毎に次の位置指令を演算して出力する。
【００４２】
ステップ１：位置指令を位置制御手段が受け取ったかどうかをチェックする。受け取ってなければステップ１へ分岐する。
ステップ２：位置指令と位置指令加算量レジスタ１を読みだし、加算する。
ステップ３：結果を位置制御手段へ出力する。
ステップ４：位置指令加算量バッファの位置指令加算量レジスタ２から位置指令加算量レジスタ４に記憶されている内容を、位置指令加算量レジスタ１から位置指令加算量レジスタ３へコピーする。位置指令加算量レジスタ４をクリアする。ステップ１へ分岐する。
【００４３】
図７は図２と同様に円弧の象限切り替えの近傍でのロストモーションを電流指令を補正することにより減少させる例である。
図７（ｂ）は円弧の象限の変わり目で補正すべき電流指令加算量の標準値が格納されたメモリである。この例では、電流制御手段２の処理周期の４回に渡って何らかの補正が加算される。また、この電流指令加算量は一定のワーク荷重を与えたときの制御対象機械系の応答をもとに実験的に設定されている。したがって、実際の電流指令加算量はこの標準値にワーク荷重係数を乗じて算出する。さらに、このワーク荷重係数も実験的に与えられる。
【００４４】
図７（ａ）は外部分配手段で電流指令補正量を求める処理を示すフローである。
ステップ１：Ｘ軸Ｙ軸の位置指令を読み込む。
ステップ２：位置指令が円弧頂点近傍であるかどうかを比較する。近傍でなければステップ３へ分岐する。なお、位置指令が円弧頂点近傍であるかどうかは、例えばＸ軸、Ｙ軸の符号が反転したか否かで判断する。
ステップ３：電流指令加算量出力済みフラグをオフする。ステップ１へ分岐する。
ステップ４：電流指令加算量出力済みフラグをチェックする。出力済みであればステップ１へ分岐する。
ステップ５：ワークの重量に応じて設定されたワーク荷重係数を読み出す。
ステップ６：電流指令加算量テーブル１から４には加算すべき電流指令加算量が設定されている。また、電流指令加算量レジスタ１から４は電流指令加算量バッファ２３の要素である。
電流指令加算量テーブル１を読みだしワーク荷重係数を乗算し電流指令加算量レジスタ１に格納する。
電流指令加算量テーブル２を読みだしワーク荷重係数を乗算し電流指令加算量レジスタ２に格納する。
電流指令加算量テーブル３を読みだしワーク荷重係数を乗算し電流指令加算量レジスタ３に格納する。
電流指令加算量テーブル４を読みだしワーク荷重係数を乗算し電流指令加算量レジスタ４に格納する。
ステップ７：電流指令加算量出力済みフラグをオンする。ステップ１へ分岐する。
【００４５】
図８は図３と同様に速度フィードフォワードにより位置決め時間を短縮する例である。
速度フィードフォワードは電動機の追従誤差を小さくする効果があるが機械振動を発生させやすいという欠点もある。
機械の運転条件によって振動を発生させるフィードフォワード量は変化するので運転条件によりフィードフォワード量を変化させることが望ましい。
この例では、たんなる速度ではなく、速度ににワーク荷重係数を乗じて算出したフィードフォワード量を加算する。このワーク荷重係数は制御対象の機械系に合わせて実験的に与えられる。
【００４６】
図８は外部分配手段で速度指令補正量を求める処理を示すフローである。
ステップ１：今回の位置指令から前回の位置指令を引いて指令速度を演算する。
ステップ２：今回の位置指令をメモに保存する。
ステップ３：送りのモード（位置決めモード・切削モード）を読み出す。
ステップ４：送りのモードが切削モードであればステップ５へ分岐する。
ステップ５：速度指令加算量レジスタに０を出力する。ステップ１へ分岐する。
ステップ６：ワークの重量に応じて予め設定されたワーク荷重係数を読み出す。
ステップ７：指令速度にワーク荷重係数を乗算し速度指令加算量レジスタに出力する。速度指令加算量レジスタは速度指令加算量バッファのすべての要素である。ステップ１へ分岐する。
【００４７】
図９は図４と同様に長円補間の実施例である。
図４の実施例と同様に円弧の中心角に応じて縦軸と横軸の位置を変化させることにより実現している。
機械の縦軸と横軸の剛性のアンバランスにより形状が変形するため円弧の角速度やワーク荷重により補正を行うことが望ましい。
この例では、補正係数や角速度やワーク荷重係数により補正量を変化させている。
この補正係数やワーク荷重係数は制御対象の機械系に合わせて実験的に与えられる。
【００４８】
図９は外部分配手段で位置指令補正量を求める処理を示すフローである。
ステップ１：円弧指令かどうかをチェックする。円弧指令でなければステップ１へ分岐する。
ステップ２：予め設定された補正係数を読み出す。円弧の補正量は角速度に比例するが、補正係数は角速度と補正量の比例定数である。
ステップ３：ワークの重量に応じて予め設定されたワーク荷重係数を読み出す。
ステップ４：円弧の角速度を読み出す。
ステップ５：現在位置での円弧の中心角を読み出す。
ステップ６：位置指令加算量を演算する。補正係数とワーク荷重係数と角速度と中心角の余弦を乗じる。
ステップ７：演算された位置指令加算量を位置指令加算量レジスタに出力する。ステップ１へ分岐する。
【００４９】
【発明の効果】
以上のようにこの発明によれば、特定の機械系に適した高速高精度加工等のための指令の変形やユーザ独自の補正を行うことができるようになり、指令軌跡を変形させるための前処理装置を設ける必要がなくなり、また前処理装置から数値制御装置への高速データ転送が不要となる。
【００５０】
また、位置補正を行う場合、位置補正量が一定の範囲では数値制御装置の基本的な曲線補間機能と位置補正量の演算のみで補正を行うことができるようになり、位置指令加算量と位置指令を加算して得られる曲線を大量の微小な直線で近似した指令軌跡の解析情報を作成するという大量の演算を行う必要がなくなり、従来のものに比べ演算量を大幅に減らすことができるようになる。
また速度補正を行う場合、速度指令加算量を積分して位置指令に変換した後、指令軌跡を変形させるという複雑な演算を行う必要がなくなり、また電流補正を行う場合、電流指令加算量を積分して速度指令に変換し、更にそれを積分して位置指令に変換した後、指令軌跡を変形させるという複雑な演算を行う必要がなくなり、よってこれらの場合には従来のものに比べ補正演算を単純化できる。
【００５１】
また、位置指令加算量、速度指令加算量及び電流指令加算量の少なくとも一つを演算する手段に、解析手段と同等の解析機能を重複して抱える必要がなくなる。
【００５２】
また、高速高精度加工のために加算量と加算範囲を指定するだけで、簡単に位置、速度及び電流の補正を行うことが出来る。
【００５３】
また、円弧形状のように同じ機械位置を複数回通過するような軌跡に対しても補正すべき範囲を一意に指定できるようになる。
【図面の簡単な説明】
【図１】  この発明の実施例１の処理ブロック図である。
【図２】  この発明の実施例１に係る電流補正の動作を示すフロー図である。
【図３】  この発明の実施例１に係る速度補正の動作を示すフロー図である。
【図４】  この発明の実施例１に係る位置補正の動作を示すフロー図である。
【図５】  この発明の実施例２の処理ブロック図である。
【図６】  この発明の実施例２に係る電流指令加算手段と速度指令加算手段と位置指令加算手段の動作を示すフロー図である。
【図７】  この発明の実施例２に係る電流補正の動作を示すフロー図である。
【図８】  この発明の実施例２に係る速度補正の動作を示すフロー図である。
【図９】  この発明の実施例２に係る位置補正の動作を示すフロー図である。
【図１０】  従来の高速高精度加工のための補正機能をもつ数値制御装置の処理ブロック図である。
【図１１】  円弧の象限の変わり目の誤差と数値制御装置により作られる補正軌跡の説明図である。
【図１２】  数値制御装置による位置決めの高速化のための補正軌跡の説明図である。
【図１３】  数値制御装置による円弧形状の楕円状変形を修正するための補正軌跡の説明図である。
【符号の説明】
１は電動機、２は電流制御手段、３は速度制御手段、４は位置制御手段、５は分配手段、６は電流指令加算手段、７は速度指令加算手段、８は位置指令加算手段、９は検出器、１０は解析手段、１４は内部解析登録手段、１５は外部分配登録手段、１６は外部分配起動手段、１７は位置指令加算判定手段、１８は速度指令加算判定手段、１９は電流指令加算判定手段、２０は内部解析起動手段、２１は解析情報読み込み手段、２２は外部分配手段、２３は電流指令加算量バッファ、２４は速度指令加算量バッファ、２５は位置指令加算量バッファ、２６は解析情報バッファ、２７は解析情報、３４は内部解析手段。
【図１】
0003894124.tif 000002
【図２】
0003894124.tif 000003
【図３】
0003894124.tif 000004
【図４】
0003894124.tif 000005
【図５】
0003894124.tif 000006
【図６】
0003894124.tif 000007
【図７】
0003894124.tif 000008
【図８】
0003894124.tif 000009
【図９】
0003894124.tif 000010
【図１０】
0003894124.tif 000011
【図１１】
0003894124.tif 000012
【図１２】
0003894124.tif 000013
【図１３】
0003894124.tif 000014