(57)【要約】各軸に設けたモータを順次駆動することによって各軸を順次目標位置に到達させて各軸に取り付けられたツールによりワークの加工を行うようにした多軸加工機におけるモータの制御方法及びモータ制御用ソフトウェアであって、位置、速度及び加速度のデータ系列のうち少なくとも位置のデータ系列を入力とし、速度連続となる補間用データを出力するような補間前加減速方式を採用するとともに、各ステップの目標位置をそのステップの開始位置に近い側にずらすことで、各ステップ毎にそのステップの動作中に所定の移動距離オーバーラップさせて次ステップを起動させることを特徴とする。
2002077729.tif 000002
【特許請求の範囲】
【請求項１】
各軸に設けたモータを順次駆動することによって各軸を順次目標位置に到達させて各軸に取り付けられたツールによりワークの加工を行う多軸加工機におけるモータの制御方法であって、
位置、速度及び加速度のデータ系列のうち少なくとも位置のデータ系列を入力とし、速度連続となる補間用データを出力するような補間前加減速方式を採用するとともに、各ステップの目標位置をそのステップの開始位置に近い側にずらすことで、各ステップ毎にそのステップの動作中に所定の移動距離オーバーラップさせて次ステップを起動させることを特徴とする多軸加工機におけるモータの制御方法。
【請求項２】
補間前加減速方式として、台形速度補間方式としたことを特徴とする請求の範囲１に記載の多軸加工機におけるモータの制御方法。
【請求項３】
各ステップの台形速度補間の計算を行う前に、その目標位置を、移動距離が一定割合で小さくなるように変更することを特徴とする請求の範囲２に記載の多軸加工機におけるモータの制御方法。
【請求項４】
前記移動距離を小さくする割合を、絶対的な移動距離を示すパラメータと、本来の移動距離に対する比を示すパラメータの双方を用いて計算し、その小さい方の値を選択することを特徴とする請求の範囲３に記載の多軸加工機におけるモータの制御方法。
【請求項５】
各軸に設けたモータを順次駆動することによって各軸を順次目標位置に到達させて各軸に取り付けられたツールによりワークの加工を行う多軸加工機のモータ制御用ソフトウェアであって、
位置、速度及び加速度のデータ系列のうち少なくとも位置のデータ系列を入力とし、速度連続となる補間用データを出力するような補間前加減速方式を採用するとともに、各ステップの目標位置をそのステップの開始位置に近い側にずらすことで、各ステップ毎にそのステップの動作中に所定の移動距離オーバーラップさせて次ステップを起動させることを特徴とするソフトウェア。
【請求項６】
補間前加減速方式として、台形速度補間方式としたことを特徴とする請求の範囲５に記載のソフトウェア。
【請求項７】
各ステップの台形速度補間の計算を行う前に、その目標位置を、移動距離が一定割合で小さくなるように変更することを特徴とする請求の範囲６に記載のソフトウェア。
【請求項８】
前記移動距離を小さくする割合を、絶対的な移動距離を示すパラメータと、本来の移動距離に対する比を示すパラメータの双方を用いて計算し、その小さい方の値を選択することを特徴とする請求の範囲７に記載のソフトウェア。
【請求項９】
各軸に設けたモータを順次駆動することによって各軸を順次目標位置に到達させて各軸に取り付けられたツールによりワークの加工を行う多軸加工機であって、
各モータの制御が、位置、速度及び加速度のデータ系列のうち少なくとも位置のデータ系列を入力とし、速度連続となる補間用データを出力するような補間前加減速方式を採用するとともに、各ステップの目標位置をそのステップの開始位置に近い側にずらすことで、各ステップ毎にそのステップの動作中に所定の移動距離オーバーラップさせて次ステップを起動させることによりなされることを特徴とする多軸加工機。
【請求項１０】
各モータの制御につき、補間前加減速方式として台形速度補間方式としたことを特徴とする請求の範囲９に記載の多軸加工機。
【請求項１１】
各ステップの台形速度補間の計算を行う前に、その目標位置を、移動距離が一定割合で小さくなるように変更するよう各モータが制御されることを特徴とする請求の範囲１０に記載の多軸加工機。
【請求項１２】
各モータの制御につき、前記移動距離を小さくする割合を、絶対的な移動距離を示すパラメータと、本来の移動距離に対する比を示すパラメータの双方を用いて計算し、その小さい方の値を選択することを特徴とする請求の範囲１１に記載の多軸加工機。
【発明の詳細な説明】
技術分野
本発明は、タクトタイムの縮小を図った多軸加工機、並びにそのモータの制御方法及びモータ制御用ソフトウェアに関する。
背景技術
バネ成形機のような多軸加工機における一般的な制御方式は、各軸毎に設けられた複数のサーボモータの動作を各ステップ毎に独立に処理し、各軸がステップの開始位置から目標位置までの間最初から最後まで一定速度で動くような補間データを作成する方式である。
この場合、ステップ間で指令速度が変化したり、同時到達するように補間していて方向角度が変化したりすると、各軸の速度は不連続的に変化し、そのままモータに指令として出力すると、大きな衝撃が発生してしまう。
そのため、スムーズに動作するように加減速処理が必要である。この加減速の手法としては、フィルター方式が一般的である。
これは、ある長さのＦＩＦＯバッファを用意して、軌跡を補間したデータを時々刻々受け取りながらバッファ内に記録し、バッファ内のデータを平均化したものを、この時点での加減速後のデータとしてモータを制御する方式である。
しかし、この方式では、速度を変更すると、軌跡が著しく変化する欠点が生じてしまう。例えば、新しく作成した加工プログラムの動作確認を低速で行い、実稼動時には高速で運転すると、動作に再現性が無く、調整が勘を頼りにしたものとなり、結果として段取りに無駄な時間を要し、しかも最終製品形状も低精度となる。
速度を変えても軌跡が変化しないようにするためには、イグザクトストップチェックモードまたはインポジションチェックモードと称される機能を使う。
これは、１つ１つのステップ毎に、軸が完全に止まったか、あるいは軸のサーボ偏差が充分に小さくなったかの確認を取ってから次ステップの動作を開始する機能である。これならば、フィルター方式の加減速の影響を受けることがなく、速度によって軌跡が変化することも無いが、タクトタイムは不必要に長くなってしまい、生産性の面で問題となる。
タクトタイムを伸ばしたくなければ、可能な限りインポジションチェック無しに加工プログラムを作らなければならない。
しかし、それでは前述のごとく軌跡が不正確になるばかりでなく、速度変化毎に軌跡が変化してしまい、実稼動前の加工プログラムの検証が困難になる。
結果として段取りに無駄な時間を要し、しかも最終製品形状の精度も高くできない。
発明の開示
そこで、フィルター方式のかわりに補間前加減速を使用することで速度変化毎の軌跡変化を小さくし、同時に計算を行う時に意図的に目標位置を手前にずらすことで、あたかも次ステップの動作が元のステップにオーバーラップしているような動作を実現出来ればよい。
そのためには、補間前加減速の方式として、少なくとも位置を含む、位置と速度と加速度のデータ系列を入力とし、必要なデータは自動で計算しつつ、速度連続となる補間用データを出力するような方式を使うことが出来れば良い。
これによって、タクトタイムを短縮することができ、しかも、どれだけオーバーラップするかまでを含めて軌跡の再現性は保たれる。
本発明は、以上の着眼点に基づきなされたものであって、その目的は、ステップ毎に速度と各軸の目標位置を与えられたとして、速度連続になるような補間用データを作成し、同時に各ステップ間のオーバーラップを許すことでタクトタイムを縮小するようにした多軸加工機におけるモータの制御方法を提供する。
前記目的を達成するため、請求の範囲１に記載の発明は、各軸に設けたモータを順次駆動することによって各軸を順次目標位置に到達させて各軸に取り付けられたツールによりワークの加工を行う多軸加工機におけるモータの制御方法であって、位置、速度及び加速度のデータ系列のうち少なくとも位置のデータ系列を入力とし、速度連続となる補間用データを出力するような補間前加減速方式を採用するとともに、各ステップの目標位置をそのステップの開始位置に近い側にずらすことで、各ステップ毎にそのステップの動作中に所定の移動距離オーバーラップさせて次ステップを起動させることを特徴とするものである。
本発明で言う「補間前加減速」とは、軌跡を補間したデータを生成する段階で、少なくとも位置を含む、位置と速度と加速度のデータ系列を入力とし、必要なデータは自動で計算しつつ、速度連続となる補間用データを出力する方式である。
なお、この方式では、始点からの時間経過もしくは時刻を入力すると出力として目標位置が得られるような関数として定義できる算出方法を用いることもできる。これにより、目標位置を算出する関数への入力を、実際の経過時間そのものでなく行えるため、加減速処理した仮想的内部時間に変更したとしても、軌跡精度が低下することがない。
これは、内部時間の加減速にフィルター方式を用いることで、フィルター方式のメリットも得られるという意味をもつ。
加えて、各ステップをオーバーラップすることで、タクトタイムを減少できる。
請求の範囲２に記載の発明は、補間前加減速方式として、台形速度補間方式を採用したものである。
なお、本発明で定義する「台形速度補間」というのは、現在位置と現在速度が判っていて、目標位置と目標速度の系列が与えられ、各軸の加速度が指定されているものとして、速度連続になるように、系列内の各目標位置までの速度変化を区分的一次関数として順次決定してゆく方式である。
従って、この方法では、台形面積の公式を応用するだけで各ステップ毎の移動時間と移動距離の関係を導出できるため、手法が簡単となり、計算の負荷も小さくて済む。
請求の範囲３に記載の発明は、各ステップの台形速度補間の計算を行う前に、その目標位置を、移動距離が一定割合で小さくなるように変更することを特徴とする請求の範囲２に記載の多軸加工機におけるモータの制御方法である。
移動距離をどれだけ小さくするかは、通常は、パラメータで指定する。
請求の範囲４に記載の発明は、前記移動距離を小さくする割合を、絶対的な移動距離を示すパラメータと、本来の移動距離に対する比を示すパラメータの双方を用いて計算し、その小さい方の値を選択することを特徴とする請求の範囲３に記載の多軸加工機におけるモータの制御方法である。
請求の範囲５に記載の発明は、各軸に設けたモータを順次駆動することによって各軸を順次目標位置に到達させて各軸に取り付けられたツールによりワークの加工を行う多軸加工機のモータ制御用ソフトウェアであって、位置、速度及び加速度のデータ系列のうち少なくとも位置のデータ系列を入力とし、速度連続となる補間用データを出力するような補間前加減速方式を採用するとともに、各ステップの目標位置をそのステップの開始位置に近い側にずらすことで、各ステップ毎にそのステップの動作中に所定の移動距離オーバーラップさせて次ステップを起動させることを特徴とするものである。
請求の範囲６に記載の発明は、補間前加減速方式として、台形速度補間方式としたことを特徴とする請求の範囲５に記載のソフトウェアである。
請求の範囲７に記載の発明は、各ステップの台形速度補間の計算を行う前に、その目標位置を、移動距離が一定割合で小さくなるように変更することを特徴とする請求の範囲６に記載のソフトウェアである。
請求の範囲８に記載の発明は、前記移動距離を小さくする割合を、絶対的な移動距離を示すパラメータと、本来の移動距離に対する比を示すパラメータの双方を用いて計算し、その小さい方の値を選択することを特徴とする請求の範囲７に記載のソフトウェアである。
請求の範囲９に記載の発明は、各軸に設けたモータを順次駆動することによって各軸を順次目標位置に到達させて各軸に取り付けられたツールによりワークの加工を行う多軸加工機であって、各モータの制御が、位置、速度及び加速度のデータ系列のうち少なくとも位置のデータ系列を入力とし、速度連続となる補間用データを出力するような補間前加減速方式を採用するとともに、各ステップの目標位置をそのステップの開始位置に近い側にずらすことで、各ステップ毎にそのステップの動作中に所定の移動距離オーバーラップさせて次ステップを起動させることによりなされることを特徴とする多軸加工機である。
請求の範囲１０に記載の発明は、各モータの制御につき、補間前加減速方式として台形速度補間方式としたことを特徴とする請求の範囲９に記載の多軸加工機である。
請求の範囲１１に記載の発明は、各ステップの台形速度補間の計算を行う前に、その目標位置を、移動距離が一定割合で小さくなるように変更するよう各モータが制御されることを特徴とする請求の範囲１０に記載の多軸加工機である。
請求の範囲１２に記載の発明は、各モータの制御につき、前記移動距離を小さくする割合を、絶対的な移動距離を示すパラメータと、本来の移動距離に対する比を示すパラメータの双方を用いて計算し、その小さい方の値を選択することを特徴とする請求の範囲１１に記載の多軸加工機である。
発明を実施するための最良の形態
以下、本発明の好ましい実施の形態につき、添付図面を参照して詳細に説明する。
第１図は、本発明をばね成形機に適用した場合のハードウェア構成を示すシステム図である。
図において、１はばね成形機、２はばね成形機１を決められたプログラム手順に従って動作させるためのコントローラである。コントローラ２は、Ｉ／Ｏポート３を介してパーソナルコンピュータ４に接続し、パーソナルコンピュータ４に内蔵したソフトウェアにより生成したプログラム内容に沿って順次ばね成形機１を駆動する。
また、図中符号５は、軸選択、速度選択などの手動入力用のティーチングボックスであり、Ｉ／Ｏポート３を介して操作パネル２側に接続され、手動パルスハンドルなどの手動操作により、成形機１を動作させる。
ばね成形機１は、ワイヤＷの供給用クイル１２の周囲に切断折曲げ用の複数のツールユニット１４をクイル１２に向けて進退可能に放射状配置し、またクイル１２の対向位置に左右巻回および折曲げ用の複数のツールを設けた工具保持板１６をクイル１２に向けて進退可能に配置した多軸加工機であり、クイル１２より供給されたワイヤＷをプログラム内容に従って加工するものである。
以上の成形機１は、例えば８軸のツールを有し、各軸は以下の軸記号と動作との関係が設定されている。
Ｚ軸・・・ワイヤ送り、Ｃ軸・・・カットオフ、Ｉ軸・・・クイル、Ｗ軸・・・ユニット進退、Ｕ軸・・・ユニット旋回、Ｋ軸・・・ツール回転、Ｙ軸・・・サーボスライド、Ｘ軸・・・カーリング。
前記パーソナルコンピュータ４に内蔵されるソフトウェアは、第２図に示す各種手段をその内容としている。
すなわち、パーソナルコンピュータ４のディスプレイ画面に表およびグラフィック形式で表示させるための画像表示手段４０１と、オペレータがマウス、キーボードなどを使って画像に形成された入力欄に入力するための前記軸記号に応じた形状および数値入力手段４０２と、入力内容に応じた動作プログラムへの変換手段４０３および編集手段４０４と、作られた動作プログラムが実行可能か否かを判定するための実行可否判定手段４０５と、得られた動作プログラムを各軸の指令データにコード変換手段するための変換手段４０６、および実行キーをオペレータが操作することで、コントローラ２に対して実行を指示するための指示手段４０７、並びにオーバーラップ量設定手段４０８などをその内容としている。
そして、オペレータが対話形式により加工形状要素をマウスで指定し、表示画面に沿って数値のキー入力を順次繰り返すことで、その数値入力に応じたステップ毎の駆動プログラムが生成される。
第３図は、以上のソフトウェアの実画面構成を示すものである。この画面は、通常のウィンドウズ画面と同様に、表示画面の上部にメニューバーやタイトルバー、ツールバーなどを表示し、その内側上段左に第一の表２０と右に図形および各部の説明を記した第一の図形表示欄２２が表示され、下段に第二の表２４が表示され、さらに、第二の図形表示欄２６も表示されている。
このうち、第一の表２０は、オペレータが実際に加工形状要素を指定しつつ数値入力により寸法を指定するもので、加工手順に沿って縦軸左側にステップ番号０１、０２、０３・・・を縦列表示し、横軸上部に指令内容およびこれに関連する送り長さ、成形方向、曲げＲ、曲げ角度、ＯＤ（ｓ）、ＯＤ（Ｅ）、巻数、正逆ＬＲ、芯金ＬＲ、巻センサーなどの項目を横列表示し、これら縦横で囲われた、内側を記載欄として縦横の罫線で仕切っている。
第一の図形表示欄２２には、前記クイル１２の側面図および正面図および加工形状要素のパラメータが表示され、この図形には加工形状要素の選択毎に同一画面におけるパラメータが変更表示される。
第二の表２４は、第一の表２０に関連する動作プログラムに自動変換表示するもので、第一の表２０に関連する実際の軸の駆動番号００１、００２、００３・・・を縦軸として左側に縦列表示し、ラベル、完全同期、速度、および１軸から８軸までの表示とその下に軸名、ホームポジションＨＰを表示上部に横列表示し、これら縦横で囲われる内部を縦横の罫線で仕切ったもので、上段の第一の表１０に入力がなされると、変換操作後各ステップ毎の各軸の動作と移動距離に自動変換して表示を行う。
各表２０、２４は画面の右側縦方向に沿って水平／垂直のスクロールバーを表示し、カーソルによる移動が可能となっている。
また、第二の図形表示欄２６は、通常は表示されないが、タスクバー中にある形状表示ボタンをマウスクリックすることで、入力内容に応じた加工形状の線図が三次元グラフィック表示される。
従って、以上の画面を見つつオペレータが図示のごとく数値、入力作業を行った後は、製造個数の指定を行った上で、実行キーを押すことで、プログラム内容に沿って成形機１を駆動し、入力内容に応じた形状のばねを製造する。
なお、プログラム内容が実行不可の内容を含んでいる場合には、警告が発生するとともに、実行不可能となる設定がなされている。これは例えば、各部の曲げを指示した結果、得られるばねの三次元形状がクイル１２の裏側に突出して面板に干渉したり、各ツールが届かない寸法や位置になる場合である。
この場合には、再び数値を書換えるなどの修正処理を行い、この結果が正しければ、実行が可能となる。
この実行時において、オーバーラップ量設定手段４０８により予め指定されたオーバーラップ量により各軸の動作がオーバーラップして行われる。
第４図は、その設定手段４０８の具体的画面構成を示すもので、本事例では「プロファイル変換」用のパラメータを記述したテキストファイル２８をウィンドウズ上画面で開いた状態を示している。
画面中央の「Ｐｒｏｆｉｌｅ．ｐａｒ−メモ帳」というタイトルのウィンドウが、それに該当している。
ここで、「プロファイル変換」とは、軸毎のポジション列及び速度・加速度を与えて、速度連続なデータを生成し、実際に各軸のアクチュエータを制御するモーションコントローラ用の移動指令列に変換する処理のことである。
このテキストファイルの設定値を変更することで、個々の機械や生産対象に応じた最適なオーバーラップ量の制御が可能となる。
例示した「Ｐｒｏｆｉｌｅ．ｐａｒ」の内容は、次の通りである。
ｐａｓｓ＿ａｒｅａ［ｊ］とｐａｓ＿ｒａｔｉｏ［ｊ］がオーバーラップ用の設定値である。
ｐａｓｓ＿ａｒｅａ［ｊ］は、第（ｊ＋１）軸の最大オーバーラップ量である。
各ステップ毎に、移動量×ｐａｓｓ＿ｒａｔｉｏ［ｊ］×０．０１がこの最大オーバーラップ量より大ならば、最大オーバーラップ量が次ステップに持ち越される。
この実施形態における、ｐａｓｓ＿ａｒｅａ［ｊ］の単位は、直線軸の場合は０．００１ｍｍであり、回転軸の場合は０．００１°となっている。
図の例では、
Ａｘｉｓ１（Ｚ）２．０００ｍｍ
Ａｘｉｓ２（Ｃ）    １５０．０００°
Ａｘｉｓ３（Ｋ）    １５０．０００°
Ａｘｉｓ４（Ｕ）    １５０．０００°
Ａｘｉｓ５（Ｗ）    ２．０００ｍｍ
Ａｘｉｓ６（Ｉ）    １５０．０００°
Ａｘｉｓ７（Ｘ）    １５０．０００°
Ａｘｉｓ８（Ｙ）    １５０．０００°
の意味であり、直線軸は２ｍｍで回転軸は１５０°という設定である。
ｐａｓｓ＿ｒａｔｉｏ［ｊ］は、そこまで到達したら次ステップに移行すべき移動量を、第（ｊ＋１）軸に対して指定するものであり、そのステップ本来の全移動量に対するパーセンテージで表している。
また、図の例では、全軸とも８０パーセントの設定であり、従って、タクト時間は、入力された値の８０％となる。
第５図は、プロファイル変換処理のソフトウェアにおける処理手順を示す。先ず、最初に前記パラメータファイルを記述したテキストファイル２８から各軸の最高加速度とオーバーラップ量の設定を読込む（ＳＴ１）。次いで第二の表２４に表示されている各軸の動作と移動距離を格納してある加工プログラムファイルからステップ毎の各軸の目標位置と目標速度を読込む（ＳＴ２）。
今ステップを最初のステップとして初期化し、現在位置をホームポジションとし、現在速度を０とした上で（ＳＴ３〜ＳＴ５）、１ステップ分の計算処理を行う（ＳＴ６）。
処理終了後、最終ステップであるか否か（ＳＴ７）により、ＮＯ、すなわち最終ステップでないならば、再び次の１ステップ分の計算処理を繰返し（ＳＴ８）、最終ステップに至ったなら、計算処理を終了する。
次に、前記第５図のＳＴ６における１ステップ分の計算処理を説明する前に、台形速度補間における計算手法について説明する。
前述のごとく台形速度補間というのは、現在位置と現在速度が判っていて、目標位置と目標速度の系列が与えられ、各軸の加速度が指定されているものとして速度連続になるように、系列内の各目標位置までの速度変化を区分的一次関数として順次決定してゆく方式である。
台形速度補間の出力すべき速度連続なデータの１ステップ分の動作を第６図に示す。先ず、（ａ）は、プロファイル変換処理前の１ステップ分のタイムチャートを示すものであり、縦軸は速度、横軸は時間を取ってある。
この場合には、現在速度如何に係わらず、動き始めてから止まるまで目標速度一定のまま目標位置で速度０となるが、この種の速度不連続な動作は現実としては不可能である。
これに対し、台形速度補間処理を行う場合の速度変化には、大別して２つのパターンがある。第一は、（ｂ）に示すように、目標位置に達した時点で速度０、すなわち一旦停止するパターン（以後第一パターンと称する）であり、その軸の次の目標位置が今の目標位置と不変であるかまたは移動方向が逆転してしまう場合に使われる。
第二は、（ｃ）に示すように、目標位置に到達した時点で停止せずに目標速度で移動中になるパターン（以後第二パターンと称する）であり、次の目標位置も今の動作方向と同じ方向にある場合に使われる。
第一パターンでは、現在速度から目標速度まで加速又は減速するための時間、目標速度で移動する時間、目標速度から速度０まで減速するための時間、という３つの時間をデータとして用意する。３つをそれぞれ、初期加減速動作、一定速動作、及び、減速停止動作と称する。
第二パターンでは、初期加減速動作の時間、一定速動作の時間、という２つの時間をデータとして用意する。
減速停止動作の時間データが０という事実を、第二パターンであることの表現として使える。
第一パターンでは、系列内の次のステップの目標位置までの移動時に使う現在位置及び現在速度は、今ステップの目標位置及び速度０として定まる。
第二パターンでは、系列内の次のステップの目標位置までの移動時に使う現在位置及び現在速度は、今ステップの目標位置及び今ステップの目標速度として定まる。ただし、速度については今ステップの移動方向により定まる正負の符号が付く。
現在位置と目標位置が決まれば、移動方向が決まり、それによって正負の符号付きで目標速度が決まる。
正負の符号付きで現在速度と目標速度とが決まれば、正負の符号付きで速度差が決まる。
速度差と、現在速度から目標速度まで加速又は減速するための時間とが決まれば、もし時間データが０でなければ、加速又は減速するための加速度が決まる。時間データが０なら、加速又は減速が不要ということであり、加速度も不定で構わない。
目標速度と、目標速度から速度０まで減速するための時間とが決まれば、もし時間データが０でなければ、減速するための加速度が決まる。時間データが０なら、減速が不要ということであり、加速度も不定で構わない。
以上のように、３つの時間データと、必要な加速度が決まれば、時々刻々の目標位置は高々２次の区分的多項式によって計算できる。
ここで述べる１ステップ分の処理は、初期加減速動作、一定速動作、及び、減速停止動作の時間と、一定速動作時に使う目標速度を、与えられた現在位置と現在速度と目標位置と速度と加速度とから自動的に決定するアルゴリズムである。
第７図〜第９図は以上の前提に基づく、第５図のＳＴ６の詳細な計算処理手順を示すものである。
先ず第７図に示すように、本発明の手法は、現在ステップの目標値と次ステップの目標値から移動方向を算出するものであり、先ず最初に本発明の要部であるオーバーラップ処理を行って目標位置を書き換える。このオーバーラップ処理手順については、後に詳述する。また初期計算においては、加速度は各軸の最高加速度と仮定して計算する（ＳＴ１０１、１０２）。
次ステップの移動方向が逆向き又は次ステップについては、移動しない場合（ＳＴ１０３）には、第一パターン（ＳＴ１０４）を選択し（第一パターンのビットを立て）、そうでなければ第二パターン（ＳＴ１０５）を選択する（第二パターンのビットをたてる）。
第一パターンの場合には、目標速度と加速度から減速停止動作の移動時間を算出し、次いで目標速度と現在速度から速度差を算出し、さらに速度差と加速度から初期加減速動作の移動時間を算出する。
また、第二パターンの場合には、減速停止動作の移動時間を「０」としたのち、前記と同様、目標速度と現在速度から速度差を算出し、さらに速度差と加速度から初期加減速動作の移動時間を算出するものである。
いずれにおいても、初速、加速度、移動時間から等加速度運動の公式により初期加減速動作の移動距離を算出し（ＳＴ１０６）、同じく減速停止動作の移動距離を算出する（ＳＴ１０７）。
なお、加速度は前述のごとくモータの最大加速度に合わせてあるので、一定であり、目標速度は与えられているので、以上の計算は簡単に実行できる。
次いで、ＳＴ１０６、１０７の結果より、一定速動作の移動距離を算出し（ＳＴ１０８）、次いでこの結果から一定速動作の移動時間を算出する（ＳＴ１０９）。
ここで、１ステップ分の処理の中の各手順は、各軸について行うことを注意しておく。従って、ばね成形機１の場合には合計８軸分の計算処理となる。
ＳＴ１０９の後、第８図において、以上の各軸のうち移動時間最大の軸に他の軸の移動時間を合わせる。他の軸に移動時間を合わせた軸では結果として目標速度を変更しなければ辻褄が合わなくなる。よって新しい目標速度を求めなければならない。この場合、現在速度のまま、初期加減速動作で速度不変として仮の計算を行う（ＳＴ１１０、１１１）。
前述のごとく第一パターンか、第二パターンかにより（ＳＴ１１２）、第一パターンの場合には、減速停止動作に要する時間、減速動作に要する距離、および一定速動作の移動距離を算出する（ＳＴ１１３）。
また第二パターンの場合には全距離が一定速動作になる（ＳＴ１１４）。
いずれのパターンにおいても得られた一定速動作の距離と速度から一定速動作の移動時間を算出する（ＳＴ１１５）。
この結果を決められた最大移動時間の値と比較し（ＳＴ１１６）、大きい場合には、速度が低すぎる（加速度は移動方向と同一符号）と判定する（ＳＴ１１７）。
また小さい場合には速度が速すぎる（加速度は移動方向と異符号）と判定する（ＳＴ１１８）。
いずれの場合においても第一、第二パターンのいずれかを判定し（ＳＴ１１９）、第一パターンの場合には、第一パターンにおける目標速度を求め（ＳＴ１２０）、第二パターンの場合には第二パターンにおける目標速度を求める（ＳＴ１２１）。
第一パターンの場合における目標速度の求め方は以下の方程式▲１▼〜▲７▼の解を求める手法による。
2002077729.tif 000003
▲３▼初期加減速動作の移動距離
＝｛（現在速度（既知）＋目標速度（未知））×初期加減速動作の時間／２
▲４▼一定速動作の移動距離＝目標速度×一定速動作の時間
▲５▼減速停止動作の移動距離
＝（目標速度×減速停止動作の時間）／２
▲６▼目標速度＝現在速度＋（加速度×初期加減速動作の時間）
▲７▼最終速度＝目標速度＋（加速度×減速停止動作の時間）
第二パターンの場合における目標速度の求め方は、以下の方程式▲１▼〜▲５▼の解を求める手法による。
2002077729.tif 000004
▲３▼初期加減速動作の移動距離
＝｛（現在速度（既知）＋目標速度（未知））×初期加減速動作の時間／２
▲４▼一定速動作の移動距離＝目標速度×一定速動作の時間
▲５▼目標速度＝現在速度＋（加速度×初期加減速動作の時間）
ここであらためて、１ステップ分の処理の中の各手順は、各軸について行うことを注意しておく。従って、ばね成形機１の場合には合計８軸分の処理となる。
次いで第９図において、直線補間の場合か否かを判定し（ＳＴ１２２）、Ｙｅｓであれば、加減速時間が８軸の内最大の軸に他の軸を合わせた上で、停止状態から減速して停止する場合、初期加減速動作と減速停止動作の時間は同一になることから、全体の距離を表す式を求めると次の式になる（ＳＴ１２３）。
全体の距離＝（一定速時間＋減速停止時間）×目標速度
したがって、目標速度を表す式は、
目標速度＝全体の距離／（一定速時間＋減速停止時間）
となる。全体の距離は既知の目標位置と変わらないから、この式により目標速度を求める（ＳＴ１２３）。
なお、何故直線補間が必要であるかというと、次に述べる問題があるからである。
第１０図は例えば、ＸＹテーブルなどにおいて、Ａ位置からＢ位置へと移動する軌跡を描く場合の処理を示すもので、（ａ）に示すように、Ｘ軸、Ｙ軸とも同時に目標位置に到達しても、（ｂ）に示すように、初期加減速時間および減速停止時間がＸ軸、Ｙ軸で異なった場合には、Ａ位置からＢ位置には移動するものの、その軌跡は直線でなく、（ａ）の破線で示すごとく、軌跡は直線ではなくなる。それ故、（ｃ）に示すごとく、初期加減速時間および減速停止時間をＸＹ軸で合わせ、動作を同期させることで、Ａ位置からＢ位置への移動軌跡を直線に出来るからである。
それ故、この直線補間の場合においては、初期加減速動作と減速停止動作における加速度は最高加速度に必ずしも一致しない。
以上の計算過程において移動時間や移動距離がマイナスになった場合、物理的にありえないのでエラーとする。
エラーが発生したか否かにより、再計算が必要か否かを判定し（ＳＴ１２４）、ＮＯであれば、１ステップ分の計算を完了し、次のステップの計算処理に移行する（第５図参照）。
なお、ＹＥＳであるならば、適当な刻み幅で目標速度を下げながら自動的に再計算し（ＳＴ１２５）、再び第５図のＳＴ１０１からの計算を繰り返す。
また、ＳＴ１２１でＮＯ、すなわち、直線補間でない場合には、ＳＴ１２４までジャンプする。これは、前述のＡ地点からＢ地点に至る軌跡が直線であってもなくても良く、要は目標位置が一致していさえすれば良い場合である。そして、この場合においても、前記と同様エラーの有無を判定し、再計算が必要か否かを判定し（ＳＴ１２４）、ＮＯであれば、１ステップ分の計算を完了し、次のステップの計算処理に移行する。
以上のごとく、台形速度補間の実用上の問題として、速度差があまりに大きいとその軸に許された加速度では目標速度まで加速できないとか、目標位置までに減速停止でないと言うことがあり得る。このようなエラーが生じた場合に備えて、適当な刻み幅で目標速度を下げながら、自動的に再計算を行う。なお、実用的には１％ずつ低下させた状態で再計算を実行すればよい。
第１３図は、以上の計算処理による各軸の単独での動作特性を示すもので、縦軸に速度、横軸に時間を取ってある。この場合には、各ステップ毎に台形の加減速が第二パターンの動作特性が繰り返され、最終ステップで第一パターンの動作により、速度０で目標位置に到達する。
次に、前述のオーバーラップ処理手法について説明する。先ず、あるステップの台形速度補間の計算を行う前に、目標位置を移動距離がある割合で小さくなるように変更する。移動距離をどれだけ小さくするかは、パラメータで指定する。
指定の方法は、絶対的な移動距離で指定する方法と、本来の移動距離の何％かで指定する方法とがあり、実用的には、両方を指定しておいて、どちらか小さい方を選択すると良い。
ある軸にオーバーラップを行った際、その軸の本来の目標位置を記憶しておき、次のステップでは本来その軸が移動しない場合に記憶しておいた前ステップの本来の目標位置、すなわち本来の現在位置まで移動させる。
なお、インポジションチェックモードのように、各軸の動作軌跡をプログラムした軌跡と一致させる必要がある場合や、軸の移動方向が反転する場合、最終ステップの場合等では、オーバーラップを禁止するべきである。
具体的には、第４図の第二の表２４における「完全同期」記載欄にチェックマークを記入することで、オーバーラップ禁止処理が行われる。本実施例では、同図における第二の表２４のステップ００７における完全同期の欄にチェックマークが表示されている。
以上の事柄を処理手順として、第１１図のフローチャートに示す。
先ずインポジションチェックまたは軸の移動方向が反転または最終ステップであるか否かを判定し（ＳＴ２０１）、ＮＯであるならば、オーバーラップを移動距離の割合で指定した場合の移動距離を計算し、（ＳＴ２０２）またオーバーラップを絶対的な移動距離として指定した場合の移動距離を計算する（ＳＴ２０３）。そして、どちらが小さいかを判定し（ＳＴ２０４）、割合の方が小さければ移動距離の割合を採用する（ＳＴ２０５）。またその逆に絶対距離の方が小さければ、絶対的な移動距離を採用する（ＳＴ２０６）。次に次ステップのために本来の目標位置をメモリに記憶する（ＳＴ２０７）。またＳＴ２０１でＹＥＳであるならばＳＴ２０７までジャンプする。そして、目標位置をオーバーラップ後のものに書き換える（ＳＴ２０８）。
以上の処理は第１２図に示す関係で説明できる。
先ず元のデータがステップ１から順次与えられたとし、８０％オーバーラップ処理が設定されたとすると、オーバーラップした状態では各ステップで移動距離が８０％に短縮される。前記メモリは予め次ステップのために本来の目標位置を記憶し、その記憶内容から次ステップの目標位置までの間の距離を８０％に短縮した位置をオーバーラップ後の目標位置とすることで、常に本来の移動距離の８０％に各ステップの移動距離が設定されるものとなる。
次いで、本ステップでは移動しない／かつ前ステップでオーバーラップしたか否かを判定し（ＳＴ２０９）、ＹＥＳであるならば、記憶した目標位置を本ステップの目標位置として再設定し、（ＳＴ２１０）再び呼び出し元ＳＴ２０１に戻る。またＮＯであるならば、そのまま呼び出し元のＳＴ２０１に戻る。
前記ＳＴ２０９における判定は、前記メモリに目標位置の記憶データが存するか否かでなされる。
以上のオーバーラップ処理の設定は、具体的には前記ウィンドウズ画面上のテキストファイル２８に対する書込みを行うことで行われ、一度設定された場合には書換えない限り、その設定が持続する。
第１４図（ａ）、（ｂ）は、以上のオーバーラップ処理前後の各軸の動作特性を示すタイムチャートの一例を示す。
まず、（ａ）においては、オーバーラップ無しで各軸を交互に順次動作させたもので、この場合には、一方の軸の動きが完全に目標位置まで到達してから、他方の軸の移動が開始される。
この元のデータに対し、（ｂ）では８０％オーバーラップ処理を掛けた状態での各軸の動作特性を示すもので、直前のステップでは動いていなかった軸が、もう一方の軸の８０％位置で起動されることが繰り返され、最後のステップはオーバーラップ無しに処理される。
この様に、オーバーラップ処理の後では位置動作完了前８０％位置で次の動作が始まり、その時間分各ステップ毎の動作時間を短縮できる。この短縮時間は１ステップ毎では大きな短縮時間とはならないが、一加工時における通常の加工ステップは１００〜５００ステップに到達するため、一加工毎のタクト時間を十分に短縮できることになる。一製品の生産個数は、数千個に達するのでトータルでの生産性の向上は、非常に大きなものとなるのである。
なお、オーバーラップ動作の確認はティーチングボックスなどで低速で行い、ツール同士が干渉する場合などの不具合が生じた場合には、そのパーセンテージもしくはオーバーラップ動作前における目標位置を変更すれば良い。
また、以上の実施形態では、ウィンドウズ画面上で、形状確認しながら形状指定と、数値入力によって各軸に対する指令データを生成できるようにしたが、その他例えばＧコードのような命令手段も採用可能であることは勿論である。
以上説明したように、本発明の多軸加工機におけるモータの制御方法によれば、各軸の動作ステップ毎の動作をオーバーラップしておこなうことが出来、一加工毎のタクト時間の大幅短縮を図ることができる。また、速度変化による軌跡精度の低下もないため、プログラム時の段取時間も大幅短縮できる。
産業上の利用可能性
実施形態では、本発明をばね成形機に適用した場合を示したが、その他のカム軸などを多用した多軸の塑性加工機やその他多軸加工機にも適用可能である。
【図面の簡単な説明】
第１図は、本発明方法を適用したばね成形機のシステム構成を示すブロック図である。
第２図は、ソフトウェアの内容を示すブロック図である。
第３図は、同ソフトウェアによる画面構成を示す説明図である。
第４図は、同ソフトウェアによるテキストファイルを開いた状態を示す説明図である。
第５図は、同ソフトウェアによる計算処理の全体を示すフローチャートである。
第６図（ａ）、（ｂ）、（ｃ）は台形速度補間の手法を示すグラフである。
第７図は、同ソフトウェアによる１ステップ分の計算処理手法の詳細を示すフローチャートである。
第８図は、第７図に引続くフローチャートである。
第９図は、図８に引続くフローチャートである。
第１０図（ａ）、（ｂ）、（ｃ）は直線補間の手法を説明するためのグラフである。
第１１図は、オーバーラップ処理手順を示すフローチャートである。
第１２図、は同処理手順における元のデータと、オーバラップデータおよび記憶内容との関係を示す説明図である。
第１３図は、台形速度補間の動作を示すタイムチャートである。
第１４図（ａ）、（ｂ）は、オーバーラップ処理前後の各軸の動作特性を示すタイムチャートである。
【図１】
2002077729.tif 000005
【図２】
2002077729.tif 000006
【図３】
2002077729.tif 000007
【図４】
2002077729.tif 000008
【図５】
2002077729.tif 000009
【図６】
2002077729.tif 000010
【図７】
2002077729.tif 000011
【図８】
2002077729.tif 000012
【図９】
2002077729.tif 000013
【図１０】
2002077729.tif 000014
【図１１】
2002077729.tif 000015
【図１２】
2002077729.tif 000016
【図１３】
2002077729.tif 000017
【図１４】
2002077729.tif 000018
【国際調査報告】
2002077729.tif 000019
2002077729.tif 000020
2002077729.tif 000021