(57)【特許請求の範囲】
【請求項１】
共通の移動経路上に存在する第一、第二の可動物を制御する数値制御方法において、前記第一、第二の可動物の位置に応じてこの第一、第二の可動物の実効可動範囲を変更するとともに、この変更された実効可動範囲に基づいて、前記第一の可動物と第二の可動物とが機械的な干渉を起こし得るか否かを判断し、両者が機械的な干渉を起こし得ると判断した場合には、退避側の可動物側が加工中であるか否かを判断することにより退避側の可動物が退避可能状態であるか否かを判断し、退避側の可動物が退避可能状態でないと判断した場合には、退避側の可動物を待機させるとともに、退避側の可動物が退避可能状態であると判断した場合には、退避側の可動物に対して、干渉回避方向に、干渉判断結果に基づいて求められた干渉を回避し得る移動量を、与えて干渉回避を行わせることを特徴とする数値制御方法。
【請求項２】
共通の移動経路上に存在する第一、第二の可動物を制御する数値制御方法において、前記第一、第二の可動物の位置に応じてこの第一、第二の可動物の実効可動範囲を変更するとともに、この変更された実効可動範囲に基づいて、前記第一の可動物と第二の可動物とが機械的な干渉を起こし得るか否か判断し、両者が機械的な干渉を起こし得ると判断した場合には、退避側の可動物側が加工中であるか否かを判断することにより退避側の可動物が退避可能状態であるか否かを判断し、退避側の可動物が退避可能状態でないと判断した場合には、退避側の可動物を待機させるとともに、退避側の可動物が退避可能状態であると判断した場合には、退避制御側より退避側の可動物に対して退避制御側の移動量と同一の移動量を与えて干渉回避を行わせるとともに、この退避側の可動物の干渉回避動作時に、退避制御側の可動物も退避側の可動物方向に移動することを特徴とする数値制御方法。
【請求項３】
共通の移動経路上に存在する第一、第二の可動物を制御する数値制御装置において、機械的な干渉を起こし得る第二の可動物の現在位置に基づいて第一の可動物の実質的な実効可動範囲を算出し、この実効可動範囲内に前記第一の可動物が存在するか否か判断する可動範囲チェック手段と、この可動範囲チェック手段により、前記第一の可動物が実効可動範囲を超え前記第二の可動物との機械的な干渉があると判断した場合には、前記第二の可動物側が加工中であるか否かを判断することによりこの第二の可動物が退避可能状態であるか否かを判断する退避可能チェック手段と、この退避可能チェック手段により前記第二の可動物が退避可能でないと判断した場合には、第二の可動物を待機させるとともに、前記退避可能チェック手段により前記第二の可動物が退避可能であると判断した場合には、前記第二の可動物に対して、干渉回避方向に、干渉判断結果に基づいて求められた干渉を回避し得る移動量を、与えて干渉回避を行わせる退避制御手段とを有することを特徴とする数値制御装置。
【請求項４】
共通の移動経路上に存在する第一、第二の可動物を制御する数値制御装置において、機械的な干渉を起こし得る第二の可動物の現在位置に基づいて第一の可動物の実質的な実効可動範囲を算出し、この実効可動範囲内に前記第一の可動物が存在するか否か判断する可動範囲チェック手段と、この可動範囲チェック手段により、前記第一の可動物が実効可動範囲を超え前記第二の可動物との機械的な干渉があると判断した場合には、前記第二の可動物側が加工中であるか否かを判断することによりこの第二の可動物が退避可能状態であるか否かを判断する退避可能チェック手段と、この退避可能チェック手段により前記第二の可動物が退避可能でないと判断した場合には、第二の可動物を待機させるとともに、前記退避可能チェック手段により前記第二の可動物が退避可能であると判断した場合には、前記第一の可動物側より前記第二の可動物に対して第一の可動物の移動量と同一の移動量を与えて干渉回避を行わせる退避制御手段とを備え、この第二の可動物の干渉回避動作時に、第一の可動物も第二の可動物方向に移動することを特徴とする数値制御装置。
【請求項５】
退避制御権が、前記第一の可動物と第二の可動物との間で交互に入れ替わることを特徴とする請求項４に記載の数値制御装置。
【請求項６】
前記退避制御手段は、前記第一の可動物が停止していることを確認した後、前記第二の可動物に対して干渉回避方向に移動量を与えるように構成されていることを特徴とする請求項３〜請求項５の何れかに記載の数値制御装置。
【請求項７】
前記退避可能チェック手段は、加工プログラムによる指令もしくはラダープログラムが指令する外部信号による指令を用いて、前記第二の可動物が加工中か否かを判断することにより、この第二の可動物が退避可能か否かを判断するように構成されていることを特徴とする請求項３〜請求項６の何れかに記載の数値制御装置。
【請求項８】
前記退避可能チェック手段は、前記第二の可動物が退避不可状態である場合には、ある一定時間経過後にエラー出力するように構成されていることを特徴とする請求項３〜請求項７の何れかに記載の数値制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、共通の移動経路に沿って移動可能な２つの可動物を有する工作機械における個々の可動物を、それぞれ個別の加工プログラムにより移動制御する数値制御方法及びその装置に係り、特に２つの可動物の干渉防止制御に関するものである。
【０００２】
【従来の技術】
従来、数値制御装置により工作機械の移動制御を行う場合、各軸の移動限界を限定し機械的な干渉を防止するソフトリミット機能があった。なお、このソフトリミット機能は、軸の移動が限界を超えると判断した場合、軸の移動を停止し、アラームを出力するものである。
【０００３】
ところがこのような従来のソフトリミット機能による干渉防止策では、図８のような共通の移動経路に沿って互いに接近離間する方向に移動可能な可動物A、Bが個別の加工プログラムに従って加工する場合、２つの可動物A、Bが接近できる範囲内での同時加工では問題とならないが、２つの可動物A、Bがそれ以上接近できない加工箇所を加工する場合、その都度ソフトリミットアラームが発生するため、ソフトリミット範囲を大きく設定し、互いの可動物A、Bが干渉しないように考慮した加工プログラムを作成する必要がある。
【０００４】
ところが、このように機械の干渉を考慮した加工プログラム上での干渉回避策では、加工プログラムのステップ数が大きく複雑な加工の場合、加工プログラムの作成者に大きな負担を強いるという問題点がある。
なお、図８の工作機械は模式図的に描いてあるが、実際は、例えば特開平１１−２４２５１１号公報の図１及び図２に開示されているような機械である。
【０００５】
そこでこのような問題点の一部を解決しようとするものとして、特開平１１−２４２５１１号公報に開示される技術が提案されている。これは図９に示すように、一方の可動物（図左側）が他方の可動物（図右側）に最も接近する位置に基づいて移動範囲Aを設定するとともに、この移動範囲Aの設定に基づいて移動範囲Ｂを設定し、一方の可動物が、移動範囲A内で他方の可動物側に最も接近する位置（加工２の位置）に到達した後、逆方向である離間方向に移動するときは(時間T5-T6)、両可動物の移動範囲A、Bをそれぞれ縮小及び拡大するように移動範囲を変更する手段を設けたものである。これにより他方の可動物の移動が、移動範囲Bを超えようするとき、移動範囲Ａが縮小されて他方の可動物の移動範囲Ｂが拡大されるまで、他方の可動物を一時停止させ、他方の可動物の移動範囲Ｂが拡大された後、他方の可動物による加工を行うものである。
【０００６】
【発明が解決しようとする課題】
しかしながら上記技術では、もしも一方の可動物が他方の可動物側に最も接近するのが加工サイクル（時間T1〜T8間）の最後の方であり、他方の可動物においては、移動範囲Ｂを超えるが一方の可動物とは干渉しない位置に加工が存在する場合（加工１A）、他方の可動物は、移動範囲Ｂ以上に移動することができずにしばらく停止することとなる。
つまり図９において、加工１Aは、時間T2−T3で機械的な干渉なく加工行うことができるにもかかわらず、時間T６まで待たされることとなり加工サイクルタイムが伸びてしまう難点がある。
【０００７】
本発明はこのような点に鑑みてなされたものであり、加工プログラムによる干渉回避策を考慮することなく、しかも最適な加工時間を保証することができる数値制御方法及びその装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
本発明に係る数値制御方法は、共通の移動経路上に存在する第一、第二の可動物を制御する数値制御方法において、前記第一、第二の可動物の位置に応じてこの第一、第二の可動物の実効可動範囲を変更するとともに、この変更された実効可動範囲に基づいて、前記第一の可動物と第二の可動物とが機械的な干渉を起こし得るか否かを判断し、両者が機械的な干渉を起こし得ると判断した場合には、退避側の可動物側が加工中であるか否かを判断することにより退避側の可動物が退避可能状態であるか否かを判断し、退避側の可動物が退避可能状態でないと判断した場合には、退避側の可動物を待機させるとともに、退避側の可動物が退避可能状態であると判断した場合には、退避側の可動物に対して、干渉回避方向に、干渉判断結果に基づいて求められた干渉を回避し得る移動量を、与えて干渉回避を行わせるものである。
【０００９】
また本発明に係る数値制御方法は、共通の移動経路上に存在する第一、第二の可動物を制御する数値制御方法において、前記第一、第二の可動物の位置に応じてこの第一、第二の可動物の実効可動範囲を変更するとともに、この変更された実効可動範囲に基づいて、前記第一の可動物と第二の可動物とが機械的な干渉を起こし得るか否か判断し、両者が機械的な干渉を起こし得ると判断した場合には、退避側の可動物側が加工中であるか否かを判断することにより退避側の可動物が退避可能状態であるか否かを判断し、退避側の可動物が退避可能状態でないと判断した場合には、退避側の可動物を待機させるとともに、退避側の可動物が退避可能状態であると判断した場合には、退避制御側より退避側の可動物に対して退避制御側の移動量と同一の移動量を与えて干渉回避を行わせるとともに、この退避側の可動物の干渉回避動作時に、退避制御側の可動物も退避側の可動物方向に移動するものである。
【００１０】
また本発明に係る数値制御装置は、共通の移動経路上に存在する第一、第二の可動物を制御する数値制御装置において、機械的な干渉を起こし得る第二の可動物の現在位置に基づいて第一の可動物の実質的な実効可動範囲を算出し、この実効可動範囲内に前記第一の可動物が存在するか否か判断する可動範囲チェック手段と、この可動範囲チェック手段により、前記第一の可動物が実効可動範囲を超え前記第二の可動物との機械的な干渉があると判断した場合には、前記第二の可動物側が加工中であるか否かを判断することによりこの第二の可動物が退避可能状態であるか否かを判断する退避可能チェック手段と、この退避可能チェック手段により前記第二の可動物が退避可能でないと判断した場合には、第二の可動物を待機させるとともに、前記退避可能チェック手段により前記第二の可動物が退避可能であると判断した場合には、前記第二の可動物に対して、干渉回避方向に、干渉判断結果に基づいて求められた干渉を回避し得る移動量を、与えて干渉回避を行わせる退避制御手段とを有するものである。
【００１１】
また本発明に係る数値制御装置は、共通の移動経路上に存在する第一、第二の可動物を制御する数値制御装置において、機械的な干渉を起こし得る第二の可動物の現在位置に基づいて第一の可動物の実質的な実効可動範囲を算出し、この実効可動範囲内に前記第一の可動物が存在するか否か判断する可動範囲チェック手段と、この可動範囲チェック手段により、前記第一の可動物が実効可動範囲を超え前記第二の可動物との機械的な干渉があると判断した場合には、前記第二の可動物側が加工中であるか否かを判断することによりこの第二の可動物が退避可能状態であるか否かを判断する退避可能チェック手段と、この退避可能チェック手段により前記第二の可動物が退避可能でないと判断した場合には、第二の可動物を待機させるとともに、前記退避可能チェック手段により前記第二の可動物が退避可能であると判断した場合には、前記第一の可動物側より前記第二の可動物に対して第一の可動物の移動量と同一の移動量を与えて干渉回避を行わせる退避制御手段とを備え、この第二の可動物の干渉回避動作時に、第一の可動物も第二の可動物方向に移動するものである。
【００１２】
また本発明に係る数値制御装置は、退避制御権が、前記第一の可動物と第二の可動物との間で交互に入れ替わるものである。
【００１３】
また本発明に係る数値制御装置は、前記退避制御手段を、前記第一の可動物が停止していることを確認した後、前記第二の可動物に対して干渉回避方向に移動量を与えるように構成したものである。
【００１４】
また本発明に係る数値制御装置は、前記退避可能チェック手段を、加工プログラムによる指令もしくはラダープログラムが指令する外部信号による指令を用いて前記第二の可動物が退避可能と判断するように構成したものである。
【００１５】
更にまた、本発明に係る数値制御装置は、前記退避可能チェック手段を、前記第二の可動物が退避不可状態である場合には、ある一定時間経過後にエラー出力するように構成したものである。
【００１６】
【発明の実施の形態】
実施の形態１．
以下本発明に係る数値制御装置の実施の形態１を、図１〜図８を用いて説明する。
先ず本実施の形態１の理解を助けるために、図２を用いて本実施の形態１による２つの可動物A、Bの基本的な動きを説明する。
即ち、この実施の形態１は共通の移動経路Ｘ軸を持つ２つの系統１（可動物Ａ）と系統２（可動物Ｂ）の干渉防止の制御するものであるが、系統１（可動物Ａ）が加工プログラム中のある指令ブロックを読み込み、始点Psから終点Peへ向けて移動を開始する場合、始点Psと終点Peを結んだ移動経路Ｌ１は、図２から明らかなように途中でＰｍ位置に存在する系統２（可動物Ｂ）と干渉する。そこでこのような場合には、系統１（可動物Ａ）が、系統２（可動物Ｂ）が位置するPm位置の手前で一旦停止させ、系統２（可動物Ｂ）が加工状態でなければ、Pm‘位置（系統１（可動物Ａ）と系統２（可動物Ｂ）とが干渉すると判断された位置）と終点Peを結んだ移動距離L2分だけこの系統２（可動物Ｂ）を矢印方向へ移動させることにより両者の干渉を回避するものである。なおこの系統２（可動物Ｂ）の退避移動時に一旦停止した系統１（可動物Ａ）も移動させる。
【００１７】
次に前記制御を行うための詳細について説明する。
即ち、図１は、本発明の実施の形態１による数値制御装置1A、1Ｂの全体構成を示すブロック図であり、数値制御装置1Aが系統１（可動物A）を制御し、また数値制御装置1Bが系統２（可動物B）を制御する。
図において、3A、3Bは加工プログラム2A、2Bを１ブロックずつ読み取り、移動量、速度などをＧコードなどに従って解析するプログラム解析手段、4A、4Bは各軸毎の指令速度を出力する補間手段であり、5A、5Bは補間手段4A、4Bの出力速度に加減速を行う加減速手段で、各軸毎に設けられる。6A、6Bはサーボ制御手段であり、加減速手段5A、5Bの出力を入力としてモータ7A、7Bを駆動制御する。８は退避制御中のタイムアウト値などを設定するパラメータ設定手段であり、9A、9Bは２つの可動物が干渉しない範囲で動作しているかチェックを行う可動範囲チェック手段であり、10A、10Bは可動範囲チェック手段9A、9Bにて干渉すると判定されたとき退避制御の実施可否を判定する退避可能チェック手段であり、11A、11Bは退避可能チェック手段10A、10Bにて退避制御可能と判定された場合に退避制御を行う退避制御手段である。なお、エラー発生時には、退避可能チェック手段10A、10Bからアラームが出力される。
また１４は退避制御権、加工状態、タイムアウト値、Ｘbase、移動量等を記憶する共有メモリである。
【００１８】
次に、図1の可動範囲チェック手段9A、9B、退避可能チェック手段10A、10B及び退避制御手段11A、11Bの動作について、主に図３〜図５を用いて説明する。
なお、この可動範囲チェック手段9A、9B、退避可能チェック手段10A、10B及び退避制御手段11A、11Bは、ある一定のサンプリング周期（例えば10ms）毎に補間手段4A、4Bから呼出されて処理が行われる。以下に説明する図３〜図５の処理は全てこのサンプリング周期毎に処理される。
また、本実施の形態１は、系統１（可動物A）と系統２（可動物B）との間で主導権（退避制御権）を交互にやりとりするものであるが、図１及び以下の説明は、主に系統１（可動物A）が系統２（可動物B）に対して主導権（退避制御権）を握っており、系統１（可動物A）から見た制御の例である。
【００１９】
まず、可動範囲チェック手段9Aの処理手順を図３に示したフローチャートを参照して説明する。
系統１（可動物A）が系統２（可動物B）に対して干渉しているか判定する可動チェック手段9Aでは、サンプリング周期毎に起動された可動チェック手段9Aの前回までの処理において、干渉していると判定し処理手順を退避可能チェック手段10Aに処理を移行したか否かを示す退避可能チェックフラグがONしているかどうか調べる（ステップS１）。ここで既に系統１（可動物A）が系統２（可動物B）に干渉すると判定され、退避可能チェックフラグがONしている場合には処理を終了し、フラグがOFFしている場合には、補間手段4Aにて算出された補間後の指令位置（FΔｔ）を取得する（ステップS2）。
【００２０】
次に、図２に示すように、系統１（可動物A）の機械座標原点と系統２（可動物B）の機械座標原点が異なるため、予めパラメータ設定手段8などにより予め設定された系統１（可動物A）と系統２（可動物B）との機械原点距離Xbaseを共有メモリ１４から取得する（ステップS3）。次に共有メモリ１４に記憶されている干渉チェック対象である系統２（可動物B）のX軸機械座標を取得し、この系統２（可動物B）のX軸機械座標に前記距離Xbaseを加えることにより、系統１（可動物A）の機械座標系で表された系統２（可動物B）のX軸機械座標を取得する（ステップS４）。
例えば、機械原点距離Xbaseが50,000で、系統２（可動物B）のX座標が20,000の場合（系統２のX座標が系統１の機械原点方向を＋方向としてプログラムされる場合）、系統１（可動物A）の機械座標系で系統２（可動物B）のX軸機械座標は、30,000（＝50,000−20,000）と表される。
【００２１】
次に、数値制御装置が従来から保有しているソフトリミット機能（系統１（可動物A）及び系統２（可動物B）の支障のない可動範囲を決定する機能）を用いて、当初は系統１（可動物A）と系統２（可動物B）とが干渉する範囲も含んだソフトリミット値が設定されているので、系統１（可動物A）が系統２（可動物B）と干渉することなく動作する実効可動範囲を求める。即ち、ステップS４で求めた系統２（可動物B）のX軸機械座標が系統１（可動物A）のX軸機械座標系より＋側にあるかどうか判定し（ステップS5）、＋側にある場合には、系統１（可動物A）におけるソフトリミット機能のソフトリミット値のプラス側を変更し（ステップS6）、−側にある場合には、マイナス側のソフトリミット値を変更して（ステップS７）実効可動範囲とする。
例えば、系統１（可動物A）がX20,000の位置にあり、また系統２（可動物B）がX30,000（系統１（可動物A）の機械座標系で表されたX軸機械座標）である場合、系統２（可動物B）のX座標30,000が、系統１（可動物A）のX座標20,000より＋側にあるので、系統１（可動物A）のプラス側のソフトリミット値をX30,000−α（α：系統１（可動物A）及び系統２（可動物B）の機械的構造物による両者の干渉を考慮した値で、パラメータ設定されている）に変更する。
【００２２】
次に、系統１（可動物A）の現在位置に補間後の指令位置を加えて（ステップS８）、補間後の指令位置が実効可動範囲を超えるか否かチェックを行う（ステップS９）。補間後の指令位置が実効可動範囲を超える場合には、退避可能チェック処理を起動するための退避可能チェックフラグをONし（ステップS10）、共有メモリ１１に記憶されている退避可能チェック用のタイムアウト値を読み込み設定する（ステップS11）。なお、本タイムアウト値は、パラメータ設定手段8により変更が可能なものである。補間後の指令位置が実効可動範囲を超えない場合には、本実施の形態で使用する全てのフラグをOFFする（ステップS12）。
【００２３】
次に、退避可能チェック手段10Aの処理手順を図４に示したフローチャートを参照して説明する。退避可能チェック手段10Aでは、可動範囲チェック手段9Aにて系統１（可動物A）が系統２（可動物B）に干渉すると判定されたとき、退避制御手段11Aを有効とするか否かの判定を行う。まず、サンプリング周期毎に起動される退避可能チェック手段10Aの前回までの処理において、退避制御手段11Aが有効と判定されているか否かを示す退避制御REQフラグを調べる（ステップS20）。ここで、退避制御手段11が有効であることを示す退避制御REQフラグがONしている場合には、以後の処理を行わずに終了し、退避制御REQフラグOFFしている場合には、可動範囲チェック手段9Aにて設定された、系統１（可動物A）が系統２（可動物B）に干渉しているか否かを示す退避可能チェックフラグを調べる（ステップS21）。退避可能チェックフラグがOFFしている場合には、以後の処理を行わずに終了し、退避可能チェックフラグがONしている場合には、系統２（可動物B）の加工状態を共有メモリ１４より取得する（ステップS22）。
【００２４】
なお、共有メモリ１４中に記憶される加工状態を示すデータは次のようなものである。
即ち、加工プログラムとして例えば次のようなもの（特に重要な命令以外については、その具体的な指令値を省略してある）が用いられるので、共有メモリ１４には、Ｇ１５０（加工中であることを示す指令）またはＧ１５０．１（加工中であることをキャンセルする指令）が加工状態を示すデータとして記憶される。
Ｎ１０  Ｇ１５０  Ｇ００  Ｘ   Ｙ   Ｚ   ；
Ｎ２０  Ｇ０１  Ｚ   Ｆ ；
Ｎ３０  Ｚ ；
Ｎ４０  Ｇ１５０．１；
なおこの加工プログラムは、指令ブロックＮ１０においてコードＧ１５０により加工状態であることが設定され。指令ブロックＮ２０、Ｎ３０にて、実際の切削が行われ、指令ブロックＮ４０では、コードＧ１５０．１により加工状態がキャンセルされるものである。
【００２５】
ここで系統２（可動物B）が、共有メモリ１４内に記憶されているＧ１５０又はＧ１５０．１を参照することにより加工中であるか否か調べ（ステップS23）、加工中でない場合には、退避制御手段11Aを有効とする退避制御REQフラグをONにする（ステップS25）。系統２（可動物B）が加工中である場合には、可動範囲チェック手段９Aで設定されたタイムアウト値を更新する（ステップS24）。
【００２６】
次に、更新されたタイムアウト値がタイムアウトしているか否か調べ（ステップS26）、タイムアウトしている場合には、本実施の形態１で使用する各種フラグをOFFし（ステップS27）、エラーメッセージを出力するなどのエラー処理を実行する（ステップS28）。タイムアウトしていない場合には、以後の処理を行わずに終了する。
なお、このタイムアウト値は、系統１（可動物A）が停止している時間を決定するためのもので、系統２（可動物B）における所定のブロックの加工時間等を考慮して決定されるが、系統１（可動物A）が、系統２（可動物B）が加工中以外の原因で停止している場合も想定されるので、この系統１（可動物A）が、系統２（可動物B）が加工中以外の原因で停止している場合にエラー処理をするものである。
【００２７】
次に、退避制御手段11A、11Bの処理手順を図５に示したフローチャートを参照して説明する。ここでは、退避可能チェック手段10Aにて退避制御可能と判定されたか否か退避制御REQフラグを調べ（ステップS30）、退避制御REQフラグがOFFしている場合には、以後の処理を実行せずに終了し、退避制御REQフラグがONしている場合には、現在、退避制御が実行中か否かを示す退避制御ACTフラグを調べる（ステップS31）。退避制御ACTフラグがONし、既に退避制御が実行されている場合には、ステップS35に移行する。退避制御ACTフラグがOFFしており退避制御が行われていない場合には、サーボフィードバック信号の有無を用いて系統１（可動物A）が停止しているか否か調べる（ステップS32）。停止していない場合には、系統１（可動物A）の移動量０とし、停止動作を実行させる（ステップS34）。また、既に系統１（可動物A）が停止している場合には、退避制御ACTフラグをONさせる（ステップS33）。
なお、ステップS32で系統１（可動物A）が停止しているか否か調べるのは、系統２（可動物B）が動き始める前に系統１（可動物A）が系統２（可動物B）側に移動し、系統１（可動物A）が系統２（可動物B）に衝突するのを防止するためである。
【００２８】
次に、退避制御ACTフラグがONし退避制御中の場合、共有メモリ１４に格納されている退避制御権を調べることにより、系統１（可動物A）が被退避制御側か、系統２（可動物B）が被退避制御側かを判定する（ステップS35）。即ち、系統１（可動物A）が被退避制御側で系統２（可動物B）が退避制御側か、または系統１（可動物A）が退避制御側で系統２（可動物B）が被退避制御側かを判定する。
この場合、未だ系統１（可動物A）が退避制御側で系統２（可動物B）が被退避制御側であるので、ステップS38に移行して現在実行中のブロックが完了したか否か判断し、現在実行中のブロックが完了していない場合には、現状自分自身の移動量（指令位置）を被退避制御側である系統２（可動物B）の加減速手段5Bの入力として渡すために共有メモリ１４上に記憶する。また、現在実行中のブロックが完了している場合には、共有メモリ１４上に退避制御権を被退避制御側である系統２（可動物B）へ移行させるためその情報を書き込み（ステップS40）、各種フラグをクリアする（ステップS41）。
このとき、系統２（可動物B）側が被退避制御側であるので、系統２（可動物B）の退避制御手段11Bが、系統１（可動物A）の移動量（指令位置）を共有メモリ１４より取得し（ステップS36）、取得した移動量（指令位置）を割り込み量として登録する（ステップS37）。この取得した移動量（指令位置）を加減速手段5Bに入力することにより、系統２（可動物B）の退避行動を実施する。
【００２９】
また、被退避制御側である系統２（可動物B）が退避制御権を取得して系統１（可動物A）に対して退避制御可能となり、移動を開始する場合、前記割り込み量を元に戻す処理が働き、系統２（可動物B）は元の位置に復元される。即ち、系統２（可動物B）の加工プログラムより系統２（可動物B）に指令が与えられた時、加工プログラムの指令位置に前記系統１（可動物A）側より取得した移動量（指令位置）を足し込んだ指令位置まで移動する。
【００３０】
なお上記の説明では、主に系統１（可動物A）が系統２（可動物B）に対して主導権（退避制御権）を握っており、系統１（可動物A）から見た制御の例について説明したが、系統１（可動物A）が系統２（可動物B）に対して主導権（退避制御権）を握っている場合にあっても、系統２（可動物B）の可動範囲チェック手段9B、退避可能チェック手段10B及び退避制御手段11Bも前記と同様に並行して動作する。また、系統２（可動物B）が系統１（可動物A）に対して主導権（退避制御権）を握っており、系統２（可動物B）から見た制御の場合であっても同様である。なおこの場合の制御ブロック図は図６に示すようになる。
【００３１】
このように、本実施の形態１では、干渉退避制御を自動的に行うようにしたことにより、加工プログラム作成者の負荷を軽減し、最適な加工時間を保証することができる。例えば本実施の形態１のもので、図９に示す加工を行う場合、系統１（可動物A）及び系統２（可動物B）の動作は図７に示すようになり、明らかに加工時間が短縮されていることがわかる。
【００３２】
実施の形態２．
前記実施の形態１では、退避可能判定をパラメータに設定された時間分監視するようにしたが、パラメータ設定値に０のような特別な意味合いのある数値を含ませることにより、無限の時間を監視することも容易にできる。
【００３３】
また、前記実施の形態１では、退避可能判定を監視する時間をパラメータにて設定するようにしたが、シーケンスプログラムによる時間を設定にすることも可能である。
【００３４】
また、前記実施の形態１では、退避制御権を交互にやり取りするようにしたが、パラメータ設定により、電源ＯＮ時には必ず何れかの系統が所持するよう設定することも可能である。
【００３５】
また、前記実施の形態１では、退避可能チェック手段１０Ａ，１０Ｂが、加工プログラム中に記載されたG１５０、GＧ１５０．１を参照することにより相手方系統が加工中か否かを判断するようにしたが、退避可能チェック手段１０Ａ，１０Ｂが、ラダープログラムからの信号を参照することにより相手方系統が加工中か否かを判断するようにしてもよい。例えばＹ３００の信号がＯＮしている間は加工中であると見なし、ＯＦＦしている場合は非加工中と見なすようにしてもよい。
【００３６】
また、前記実施の形態１では、他方の可動物に対して干渉回避方向に与えられる干渉を回避し得る移動量を、機械的な干渉があると判断されてから第一の可動物に対して与えられる移動量と同一量としたが、それより多い移動量を与えても初期の目的は達成できる。
【００３７】
また、前記実施の形態１では、一方の可動物が停止していることを確認した後、他方の可動物に対して干渉回避方向に移動量を与えるようにしているが、一方の可動物が停止していることを確認することなく、他方の可動物に対して干渉回避方向に移動量を与えても、初期の目的は達成できる。
【００３８】
【発明の効果】
以上説明したように本発明によれば、第一の可動物と第二の可動物とが干渉する際、退避側の可動物が退避可能であると判断した場合には、退避側の可動物に対して干渉回避方向に干渉を回避し得る移動量を与えて干渉回避を行わせるので、両者の機械的な干渉が自動的に回避され、よって加工プログラムの作成が容易となり、しかも最適な加工時間を保証することができる。
【００３９】
また本発明によれば、第一の可動物と第二の可動物とが干渉する際、退避側の可動物が退避可能であると判断した場合には、退避制御側より退避側の可動物に対して退避制御側の移動量と同一の移動量を与えて干渉回避を行わせるとともに、この退避側の可動物の干渉回避動作時に、退避制御側の可動物も退避側の可動物方向に移動するので、両者の機械的な干渉が自動的に回避され、よって加工プログラムの作成が容易となり、しかも最適な加工時間を保証することができる。
また退避側の可動物の退避距離が最小となるとともに、退避制御側の可動物も迅速に加工位置に移動でき、よって退避制御側が加工を開始するとき、また退避制御側の加工が終了した後に退避側が加工を開始するとき、迅速に加工を開始することが可能となる。
【００４０】
また本発明によれば、退避制御権が第一の可動物と第二の可動物との間で交互に入れ替わるので、即ち一方の可動物側のみが退避制御権を独占することがないので、第一の可動物と第二の可動物の加工サイクルタイムが均等化される。
【００４１】
また本発明によれば、第一の可動物が停止していることを確認した後、第二の可動物に対して干渉回避方向に移動量を与えるように構成したので、何らかの原因により第二の可動物が干渉回避方向に移動しない場合であっても、第一の可動物が第二の可動物に干渉することがなくなり、安全な数値制御装置を得ることができる。
【００４２】
また本発明によれば、加工プログラムによる指令もしくはラダープログラムが指令する外部信号による指令を用いて前記第二の可動物が退避可能と判断するように構成したので、退避制御の自由度が拡大し、より安全に生産効率を向上できる。
【００４３】
また本発明によれば、第二の可動物が退避不可状態である場合には、ある一定時間経過後にエラー出力するように構成したので、複数の可動物が互いにエラー出力の発生頻度が低くなり生産効率が向上する。
【図面の簡単な説明】
【図１】  本発明の実施の形態１に係る、系統１が退避制御権を握っている場合の数値制御装置の構成を示すブロック図である。
【図２】  本発明の実施の形態１に係る２つの可動物A、Bの動きを説明するための図である。
【図３】  本発明の実施の形態１に係る可動範囲チェック手段の処理手順を示すフローチャートである。
【図４】  本発明の実施の形態１に係る退避可能チェック手段の処理手順を示すフローチャートである。
【図５】  本発明の実施の形態１に係る退避制御手段の処理手順を示すフローチャートである。
【図６】  本発明の実施の形態１に係る、系統２が退避制御権を握っている場合の数値制御装置の構成を示すブロック図である。
【図７】  本発明の実施の形態１に係る効果を示す図である。
【図８】  本発明の実施の形態１に係る数値制御装置で制御される工作機械を示す図である。
【図９】  従来例を説明するための図である。
【符号の説明】
1A、1B  数値制御装置、2A、2B  加工プログラム、3A、3B  プログラム解析手段、4A、4B  補間手段、5A、5B  加減速手段、6A、6B  サーボ制御手段、7A、7Bモータ、８  パラメータ設定手段、9A、9B  可動範囲チェック手段、10A、10B退避可能チェック手段、11A、11B  退避制御手段、14  共有メモリ。
【図１】
0004599750.tif 000002
【図２】
0004599750.tif 000003
【図３】
0004599750.tif 000004
【図４】
0004599750.tif 000005
【図５】
0004599750.tif 000006
【図６】
0004599750.tif 000007
【図７】
0004599750.tif 000008
【図８】
0004599750.tif 000009
【図９】
0004599750.tif 000010