(57)【要約】【課題】干渉の発生を検知して、遅れることなく確実にこの干渉を防止する。【解決手段】分配された移動量により座標値（移動すべき位置）を更新する（３）。該座標位置で干渉チェックを行う（４）。干渉がなければ干渉チェックの周期時間と減速停止にかかる時間分の遅延時間だけ遅延させて（５）、加減速処理部８に出力する。加減速後の移動指令をサーボ制御部２０に出力し、サーボモータを駆動制御する。干渉発生と判断されたときには、アラームを出し、移動指令を０として加減速処理部８に出力する（６）。遅延時間分だけ早く干渉チェックを行うので、干渉が検出されて、移動指令を０とし、機械が減速移動して停止しても、干渉は発生しない。オーバライド等がかけられ速度変更があっても、確実に干渉を防止できる。【選択図】図１
2007172068.tif 000002
【特許請求の範囲】
【請求項１】
指令された移動量を分配周期毎の移動量に分配し、該分配された移動量を加減速処理部で加減速処理してサーボ制御部に出力し、該サーボ制御部によりサーボモータ又は該サーボモータで駆動される制御軸の位置、速度を制御する数値制御装置において、
分配後の移動量により前記制御軸の座標値を更新する手段と、
更新された座標値により干渉チェックを行う干渉チェック手段と、
干渉チェックの周期時間と減速停止にかかる時間分の遅延時間だけ、前記加減速処理部への移動量の出力を遅延させる遅延手段と、
干渉発生と判断されたときには、機械を停止させる手段と、
を備えたことを特徴とする数値制御装置。
【請求項２】
前記遅延手段は、前記遅延時間に相当する分配周期数のレジスタで構成されたバッファで構成され、各レジスタに格納された移動量をシフトしながら分配された移動量を格納して、移動量を遅延させて出力するようにした請求項１に記載の数値制御装置。
【請求項３】
前記遅延時間の設定を、信号やパラメータ、遅延時間設定用プログラムにより行う請求項１に記載の数値制御装置。
【請求項４】
前記バッファに設けるレジスタの数の設定を、信号やパラメータ、遅延時間設定用プログラムにより行う請求項２に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
工作機械等を制御する数値制御装置に関し、工作機械等の可動部と他の物との干渉を防止する干渉防止機能を備えた数値制御装置に関する。
【背景技術】
【０００２】
数値制御装置で制御される工作機械等においては、予め作成されたＮＣプログラムに基づいて、数値制御装置が機械の可動部（制御軸）を駆動制御し、被加工物のワーク等に加工を行うものである。ＮＣプログラムにミスがあるような場合や、機械へのワークの取り付けミスがあるような場合、機械運転中に工具がワークやワークを取り付ける治具等に衝突する等の、機械可動部と他のものとの干渉が発生する場合がある。
【０００３】
この干渉を予測し、アラームを発生するようにした装置は既に公知である。  
例えば、ワーク形状、工具形状、機械の干渉チェック点等の機械形状を予め設定しておき、プログラムより移動指令を読み込み、該移動指令と設定したワーク形状、工具形状、機械形状に基づいてワークと工具又は機械が干渉していないかをチェックするようにした発明が知られている（特許文献１参照）。
【０００４】
【特許文献１】特許第２８９５３１６号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＮＣプログラムの移動ブロックの指令を解析し、該移動指令に基づいて、干渉が発生するか否かを判断し、干渉が発生する場合、アラームを発生させて、機械の動作を停止させたとしても、機械は直ちに停止することができない。そのまま工具等の可動部（制御軸）は移動し、ワーク等の他の物と衝突する恐れがある。  
特に、オーバライド信号入力等によって、ＮＣプログラムで指令された速度とは異なる速度で移動しているような場合などの、ＮＣプログラムの指令動作とは異なる速い動作をしている場合では、干渉が発生するということを検知し、機械を停止するように動作を開始しても、間に合わず、干渉が発生してしまう場合がある。
【０００６】
そこで、本発明の目的は、干渉の発生を検知して確実にこの干渉を防止できる数値制御装置を提供することにある。
【課題を解決するための手段】
【０００７】
指令された移動量を分配周期毎の移動量に分配し、該分配された移動量を加減速処理部で加減速処理してサーボ制御部に出力し、該サーボ制御部によりサーボモータ又は該サーボモータで駆動される制御軸の位置、速度を制御する数値制御装置において、請求項１に係る発明は、分配後の移動量により前記制御軸の座標値を更新する手段と、更新された座標値により干渉チェックを行う干渉チェック手段と、干渉チェックの周期時間と減速停止にかかる時間分の遅延時間だけ、前記加減速処理部への移動量の出力を遅延させる遅延手段と、干渉発生と判断されたときには、機械を停止させる手段とを設けることによって、干渉を確実に防止するようにした。
【０００８】
又、請求項２に係る発明は、前記遅延手段を、前記遅延時間に相当する分配周期数のレジスタで構成されたバッファで構成し、各レジスタに格納された移動量をシフトしながら分配された移動量を格納して、移動量を遅延させて出力するようにした。請求項３に係る発明は、前記遅延時間の設定を、信号やパラメータ、遅延時間設定用プログラムにより行うものとし、請求項４に係る発明は、前記バッファに設けるレジスタの数の設定を、信号やパラメータ、遅延時間設定用プログラムにより行うものとした。
【発明の効果】
【０００９】
干渉が発生すると判断して減速停止させても干渉が生じないように、干渉チェックのタイミングを減速停止に要する時間分前にしたので、確実に干渉発生を防止することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の一実施形態を図面と共に説明する。  
図１は、本発明の一実施形態における数値制御装置の要部ブロック図で、ＣＮＣ制御部（数値制御部）１０と、サーボ制御部２０を示している。  
ＣＮＣ制御部１０は、指令の解読処理部１、移動量の分配部２、座標値の更新部３，干渉チェック部４、移動量の出力遅延部５，停止処理部６，切替スイッチ７，加減速処理部８で構成されている。従来のＣＮＣ制御部と比較し、干渉チェック部４、移動量の出力遅延部５，停止処理部６，切替スイッチ７が設けられている点が従来のＣＮＣ制御部と相違する。
【００１１】
指令の解読処理部１は、ＮＣプログラムから順次ブロックを読み取り、解析し実行データを作成する。移動量の分配部２は、解読された移動指令の実行データより分配周期毎の分配移動量を求める。座標値の更新部３は、この分配移動量に基づいて制御軸の座標位置を更新し指令された制御軸の座標位置を求める。干渉チェック部４は、この座標位置に基づいて干渉が発生するか否かのチェックを行う。この干渉チェックは、従来と同様に、ワークや治具の形状、工具や機械の形状を予め設定しておき、分配移動量に基づいて更新された座標値（位置）で干渉が生じていないかを判断するもので、この座標置に制御軸（工具やテーブル等）が移動したとき、他のものとの衝突が発生しないかの干渉チェックを行うものである。
【００１２】
この干渉チェックの結果、干渉が発生しない場合には、分配された移動量を遅延部５で所定時間に遅延させて切替スイッチ７を介して加減速処理部８に出力する。加減速処理部８では、従来と同様に、この移動量に対して加減速処理を行って加減速処理後の移動量を求め、サーボ制御部２０に出力する。サーボ制御部２０は、この加減速処理後の移動量値とフィードバックされてくる位置、速度、電流のフィードバック信号に基づいて、位置、速度、電流のフィードバック制御を行い、図示していないサーボモータを駆動制御し、制御軸の位置、速度を制御する。
【００１３】
又、干渉チェック部４で干渉が発生すると判断されたときには、切替スイッチ７を停止処理部６側に切替、停止処理部６では、指令移動量を「０」として、加減速処理部８に出力する。その結果、加減速処理部８でこの加減速処理部８での加減速時定数に基づいて、加減速処理された移動指令がサーボ制御部２０に出力されることになり、サーボモータ（該サーボモータで駆動される工具やテーブル等の可動部等の制御軸）は減速して停止することになる。
【００１４】
以上が本実施形態の動作概要であるが、本実施形態は、移動量の出力遅延部５を設けて、遅延して移動量を加減速処理部８に出力している点に特徴を有するものである。  
干渉チェック部４で干渉が発生すると判断されたとき、サーボ制御部２０及びサーボモータで駆動される工具やテーブル等の機械可動部（制御軸）は移動しており、直ちには停止できない。停止指令を出力して停止させようとしても停止するまでの減速時間を必要とする。
【００１５】
この減速停止するまでの時間は、停止指令、すなわち移動量０の指令を出力し加減速処理部８で減速停止させるまでの時間である時定数と、この停止指令を出力するためのＣＮＣ制御部１０での処理時間を必要とする。この「時定数＋ＣＮＣ制御部での処理時間」をＴＳとする。
【００１６】
この時間ＴＳは、停止するまでの最小限必要な時間である。この時間ＴＳを移動量の出力遅延部５での遅延時間とすれば、干渉チェック部４で干渉が発生すると判断されたとき、工具等の可動部は、その時点より遅延時間分の時間ＴＳ後に、衝突が生じる移動指令が出力されて衝突が生じることを意味する。そのため、この干渉チェック部４で干渉が発生すると判断されたときに停止指令を出力し減速停止させれば、減速停止に必要な時間ＴＳ分だけ前に干渉チェックを判断しているから、干渉発生を防止できる。
【００１７】
ただし、干渉チェックにも時間を有し、干渉チェックも周期毎行うことから、そのタイミングが悪く干渉チェックの判断タイミングが遅れ、前記時間ＴＳを経過して停止指令が出力されるような場合には、衝突を防止できなくなる。そのため、安全を考え最大干渉チェック周期分余分に遅れ時間を長くすればこの問題も解決する。この干渉チェックの周期をＴＣとすると、結局、移動量の出力遅延部５に設定される遅延時間は「ＴＳ＋ＴＣ」となる。
【００１８】
この移動量の出力遅延部５は、各分配周期で求められた各移動量を記憶するレジスタからなるバッファで構成する。このバッファのレジスタの数は次の１式によって求められ、この数のレジスタがセットされることになる。  
バッファのレジスタの数＝（ＴＳ＋ＴＣ）／（分配周期）    …（１）
オーバライドがかけられて、ＮＣプログラムで指定された速度と異なった速度での分配移動量であっても、移動量の出力遅延部５としてのバッファの各レジスタに記憶される移動量は、速度に応じた移動量であるので確実に干渉を防止できる。例えばオーバライドで速い速度に変更されたときには、このレジスタに記憶される移動量が大きくなり、干渉チェックで干渉が判別されたとき、工具等の可動部は干渉が発生する位置よりも遠く離れた位置（オーバライドで速い速度に変更されていないときと比べ離れた位置）にあり、この速度が速い状態で減速停止を開始しても、干渉発生することなく、可動部を停止させることができる。
【００１９】
図２は、本実施形態における数値制御装置のＣＮＣ制御部のプロセッサが実施する処理のフローチャートである。  
プロセッサは、ＮＣプログラムより１ブロックを読み出し、そのブロックの指令を解析し、実行データを作成する（ステップＳ１）。プログラム終了か判断し（ステップＳ２）終了でなければ、この実行データに基づいて分配処理を行い分配周期毎の移動量を求める（ステップＳ３）。求められた分配移動量に基づいて、制御軸の座標値（制御軸の指令位置）を更新する（ステップＳ４）。この更新された座標値（指令位置）に基づいて前述したように干渉チェックを行う（ステップＳ５、Ｓ６）。
【００２０】
干渉が発生していなければ（ステップＳ６）、移動量の出力遅延部５としてのブッファの各レジスタに記憶するデータ（移動量）をシフトし、先頭のレジスタにステップＳ３で求めた分配移動量を格納する。このレジスタの数は、パラメータ等で遅延時間（ＴＳ＋ＴＣ）を設定することによって、前述した１式を演算することによって、ＣＮＣ制御部のプロセッサが設定するか、又は、１式の演算を行って得られたレジスタの数をパラメータ等で予め設定するようにする。
【００２１】
例えば、レジスタの数がｎ個であるとすると、ｉ番目のレジスタに（ｉ−１）番目のレジスタに記憶するデータ（移動量）をシフトして格納し、１番目のレジスタにステップＳ２で求めた移動量を格納する（ステップＳ７）。そしてｎ番目のレジスタに記憶する移動量を加減速処理部８に出力する（ステップＳ８）。
【００２２】
この移動量に基づいて、従来と同様に加減速処理を行い（ステップＳ９）、加減速処理後の移動量をサーボ制御部２０に出力する（ステップＳ１０）。以下、ＮＣプログラムが終了するまで（ステップＳ２）、この処理を実行する。
【００２３】
一方、ステップＳ６で干渉ありと判断されたときには、アラーム及び停止指令を出力し、指令移動量を「０」とする（ステップＳ１１）。そしてこの指令移動量（０）に基づいて加減速処理して移動量をサーボ制御部に出力する（ステップＳ１２，１３）。その後、ステップＳ１１に戻り、以後分配周期毎移動指令「０」を出力し、ステップＳ１１〜Ｓ１３の処理を繰り返す。
【００２４】
停止指令が出され移動量が「０」となるから、加減速処理されてサーボ制御部へ出力される移動量は、加減速時定数が経過した時点では「０」となり、制御軸は停止する。
【００２５】
なお、移動量の出力遅延部５の遅延時間又はバッファのレジスタの数の設定は、上述したようにパラメータ設定で設定してもよく、又、遅延時間設定用プログラムによって、遅延時間、バッファのレジスタの数を設定するようにしてもよい。さらには、数値制御装置が備えるＰＣ（プログラマブルコントローラ）からの信号等の外部信号によって設定するようにしてもよい。
【００２６】
又、上述した実施形態では、干渉チェック処理をＣＮＣ制御部（該ＣＮＣ制御部のプロセッサの処理）で行うようにしたが、この干渉チェック処理をＣＮＣ制御部１０とは別に設けたパーソナルコンピュータ等の情報処理装置を設け、座標値更新部３で更新された制御軸の座標値（位置）をパーソナルコンピュータに送信し、該パーソナルコンピュータで干渉チェックを行い、その結果をＣＮＣ制御部１０に送信するようにしてもよいものである。すなわち、図１における干渉チェック部４を外部の情報処理装置で実行するようにしてもよいものである。
【００２７】
又、上述した実施形態では、工作機械を制御する数値制御装置の例を述べたが、ロボットや産業機械等の機械を制御する数値制御装置にも適用できるものであり、機械可動部（制御軸）の移動によって干渉が発生するような機械を制御する数値制御装置に適用できるものである。
【図面の簡単な説明】
【００２８】
【図１】本発明の一実施形態における数値制御装置の要部ブロック図である。
【図２】同実施形態におけるＣＮＣ制御部のプロセッサが行う処理のフローチャートである。
【符号の説明】
【００２９】
１０  ＣＮＣ制御部
２０  サーボ制御部
【図１】
2007172068.tif 000003
【図２】
2007172068.tif 000004