(57)【要約】【課題】  緊急停止指令発生時の状態から速やかに回復させることのできる数値制御装置を提供することにある。【解決手段】  補間周期毎各送り軸に指令される移動指令を順次記憶しておく。送り軸で駆動される可動部は、経路１に沿って移動する。該可動部が他の物２と干渉し、緊急停止指令が位置Ａで発生し、可動部が位置Ｂで停止したとする。この緊急停止指令が発生すると、そのときの補間周期での移動指令から設定された時間分（図では２補間周期の時間）遡って、各補間周期の各軸移動指令をそれぞれ加算し、その加算値の符号を逆にして１補間周期の移動指令として出力する。その結果、位置Ｃまで戻り、他の物２と可動物の干渉は直ちに解消する。干渉状態を直ちに解消することができるので、送り軸で駆動される可動部や干渉した他の物２の破損を最小限に防止できる。【選択図】          図３
2005321979.tif 000002
【特許請求の範囲】
【請求項１】
工作機械の各送り軸で駆動される可動部が他の物と干渉したときや可動可能領域外に達したときに緊急停止指令を出力する機能を有する数値制御装置において、
補間周期毎に指令された各送り軸の移動指令を順次記憶する記憶手段と、
緊急停止指令が発生すると、該緊急停止指令発生時点より一定時間前の指令位置への移動指令を前記記憶された移動指令に基づき算出する手段と、
算出された移動指令に基づき、前記緊急停止指令発生前の位置へ各送り軸を引き戻す手段と、
を備えた数値制御装置。
【請求項２】
工作機械の各送り軸で駆動される可動部が他の物と干渉したときや可動可能領域外に達したときに緊急停止指令を出力する機能を有する数値制御装置において、
補間周期毎に指令された各送り軸の移動指令を順次記憶する手段と、
緊急停止指令が発生すると、該緊急停止指令発生時点より一定距離前の指令位置への移動指令を前記記憶された移動指令に基づき算出する手段と、
算出された移動指令に基づき、前記緊急停止指令発生前の位置へ各送り軸を引き戻す手段と、
を備えた数値制御装置。
【請求項３】
前記引き戻す手段による引き戻しは、１補間周期内で前記算出された移動指令を出力することで行われる請求項１または請求項２に記載の数値制御装置。
【請求項４】
前記引き戻す手段で引き戻された位置から、さらに指定時間だけ、前記記憶手段に記憶された移動指令に基づき各送り軸を逆行させる手段を備えた請求項１乃至３の内いずれか１項に記載の数値制御装置。
【請求項５】
前記引き戻す手段で引き戻された位置から、さらに指定距離だけ、前記記憶手段に記憶された移動指令に基づき各送り軸を逆行させる手段を備えた請求項１乃至３の内いずれか１項に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械を制御する数値制御装置に関する。
【背景技術】
【０００２】
数値制御装置においては、オーバトラベル防止として、該数値制御装置で制御される工作機械の送り軸が、設定されている動作可能範囲外に移動するようなとき、ソフトウェアによってこれを検知してアラーム信号を出して緊急停止させ、その移動を阻止するようにした移動停止処理を行っている。さらには他の方法として、各送り軸毎にリミットスイッチ等でその移動可能領域制限し、該リミットスイッチからの信号により移動を緊急停止させるようにもしている。
【０００３】
また、リミットスイッチを設けずに、送り軸で駆動される可動部が、移動限界位置に設けられたダンパ等に接触したとき、移動指令が出力されても、その指令に追従することができないことから位置偏差量が増大する。この位置偏差量の増大を検知して、移動限界位置に達したとして、移動を停止させるようにしたものも知られている（特許文献１参照）。
【０００４】
さらに、送り軸で駆動される可動部が他の物と衝突等の干渉が生じたとき、そのときの送り軸に加わる負荷を、送り軸を駆動するモータの駆動電流や、外乱推定オブザーバを用いて検出し、緊急停止指令信号を出して送り軸の移動を停止させる方法なども採用されている。また、ワークを切削中、工具異常により負荷が過大となったときにも緊急停止するようにもしている。  
こうした異常状態が生じたとき緊急停止した後、数値制御装置のリバース機能を用いて、緊急停止指令発生時点までの経路を逆方向にたどって異常状態を解消させるようにする方法も公知である（特許文献２参照）。
【０００５】
【特許文献１】特開平６−１１９０２４号公報
【特許文献２】特開平５−２４１６４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
送り軸で駆動される可動部が他の物と干渉したときなどは、可動部及び他の物に負荷がかかっている状態である。上述したように、送り軸を駆動するモータの電流等によって送り軸モータに加わる負荷を検出し出力される緊急停止指令信号に基づいて、送り軸の移動を停止したとしても、可動部及び干渉した他の物にも負荷がかかった状態になっている。また、緊急停止をかけても、楕走等によりさらに負荷がかかった状態で停止する。この負荷がかかった状態が長くなると、干渉している可動部や他の物が破損する恐れがある。
【０００７】
上述したソフトウェアやリミットスイッチによるオーバトラベル防止により、緊急停止する場合においても、通常、設定された動作可能領域外では、可動部と他の物との衝突等の干渉などが発生する恐れがあることから設定されているものであり、緊急停止してもその楕走で他の物と衝突する可能性がある。
【０００８】
そこで、緊急停止により移動を停止したとき、可動部と他の物との干渉が生じ負荷が可動部と他の物に発生している状態である可能性が大きいことから、速やかにそのときの状態から離脱し、干渉状態を回避させる必要がある。特許文献２に開示されているようにリバース機能を用いて、異常検出がされるまでの移動経路を逆にさかのぼって移動させてこの干渉状態を解消することができるが、リバース機能を用いて、逆行させるには時間を要し、速やかに干渉状態から回避させることは難しい。  
そこで、本発明の目的は、緊急停止指令信号発生時の状態から速やかに回復させることのできる数値制御装置を提供することにある。
【課題を解決するための手段】
【０００９】
本願請求項１に係わる発明は、工作機械の各送り軸で駆動される可動部が他の物との干渉したときや可動可能領域外に達したときに緊急停止指令を出力する機能を有する数値制御装置において、補間周期毎に指令された各送り軸の移動指令を順次記憶する記憶手段と、緊急停止指令が発生すると、該緊急停止指令発生時点より一定時間前の指令位置への移動指令を前記記憶された移動指令に基づき算出する手段と、算出された移動指令に基づき、前記緊急停止指令発生前の位置へ各送り軸を引き戻す手段とを備え、緊急停止指令発生状態をいち早く解消するようにしたものである。  
また、請求項２に係わる発明は、工作機械の各送り軸で駆動される可動部が他の物との干渉したときや可動可能領域外に達したときに緊急停止指令を出力する機能を有する数値制御装置において、補間周期毎に指令された各送り軸の移動指令を順次記憶する手段と、
緊急停止指令が発生すると、該緊急停止指令発生時点より一定距離前の指令位置への移動指令を前記記憶された移動指令に基づき算出する手段と、算出された移動指令に基づき、前記緊急停止指令発生時点より前の位置へ各送り軸を引き戻す手段とを備える数値制御装置とした。  
そして、請求項３に係わる発明は、前記引き戻す手段による引き戻しを、１補間周期内で前記算出された移動指令を出力することで行うようにした。また、前記引き戻す手段で引き戻された位置から、請求項４に係わる発明は、さらに指定時間だけ、請求項５に係わる発明においては、指定距離だけ前記記憶手段に記憶された移動指令に基づき各送り軸を逆行させる手段を備えるものとした。
【発明の効果】
【００１０】
緊急停止指令が発生すると、直ちに干渉等の異常状態から安全に離脱するように、送り軸で駆動される可動部を移動させるから、可動部と他の物が干渉して、負荷がかかっている状態をいち早く解消させることができ、可動部や他の物の破損等を防止できる。
【発明を実施するための最良の形態】
【００１１】
図１は本発明の一実施形態の数値制御装置１０の要部ブロック図である。ＣＰＵ１１は数値制御装置１０を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステムプログラムを、バス１９を介して読み出し、該システムプログラムに従って数値制御装置全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ及び表示器／手動入力ユニット２０を介してオペレータが入力した各種データが格納される。この表示器／手動入力ユニット２０は、ＣＲＴや液晶等で構成される表示器とキーボート等で構成される手動入力手段で構成されている。ＣＭＯＳメモリ１４は図示しないバッテリでバックアップされ、数値制御装置１０の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。ＣＭＯＳメモリ１４中には、インターフェイス１５を介して読み込まれた加工プログラムや表示器／手動入力ユニット２０を介して入力された加工プログラム等が記憶される。
【００１２】
インターフェイス１５は、数値制御装置１０と外部機器との接続を可能とするものである。ＰＭＣ（プログラマブル・マシン・コントローラ）１６は、数値制御装置１０に内蔵されたシーケンスプログラムで制御対象物の工作機械の補助装置にＩ／Ｏユニット１７を介して信号を出力し制御する。また、数値制御装置で制御される制御対象物である工作機械の本体に配備された操作盤の各種スイッチや各送り軸のオーバトラベル（動作可動領域外）を検出するリミットスイッチ等の信号を受け、必要な信号処理をした後、ＣＰＵ１１に渡す。  
各送り軸（Ｘ，Ｙ，Ｚ軸）の軸制御回路３０〜３２はＣＰＵ１１からの各軸の移動指令を受けて、各軸の指令をサーボアンプ４０〜４２に出力する。サーボアンプ４０〜４２はこの指令を受けて、機械（制御対象物）の各軸のサーボモータ５０〜５２を駆動する。各軸のサーボモータ５０〜５２は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路３０〜３２にフィードバックし、位置・速度のフィードバック制御を行う。なお、図１では、位置・速度のフィードバックについては省略している。
【００１３】
また、スピンドル制御回路６０は主軸回転指令を受け、スピンドルアンプ６１にスピンドル速度信号を出力する。スピンドルアンプ６１はスピンドル速度信号を受けて、主軸モータ６２を指令された回転速度で回転させる。ポジションコーダ６３は、主軸モータ６２の回転に同期して帰還パルスをスピンドル制御回路６０にフィードバックし、速度制御を行う。
【００１４】
以上の数値制御装置の構成は、従来の数値制御装置の構成と同一であり、本実施形態では、この数値制御装置において、各送り軸がオーバトラベルとなり、リミットスイッチから緊急停止指令信号が出力されたとき、または、送り軸によって駆動されるテーブルや工具等が他の物と干渉し、送り軸の負荷が増大し、緊急停止指令信号が出力されたとき、送り軸の緊急停止を行うと共に、異常状態からの回復を急速に行うようにしたものである。
【００１５】
なお、送り軸にかかる負荷を検出する方法としては、従来から、各種方法が提案されており、送り軸のサーボモータ５０〜５２に流れる駆動電流によって負荷を検出する場合には、軸制御回路３０〜３２内に、駆動電流が所定値以上となったかを判断する手段を備える。また、外乱推定オブザーバで負荷を推定する場合には、軸制御回路３０〜３２内に外乱推定オブザーバを組み込み、このオブザーバによって負荷を推定し、所定値以上の負荷が検出されたとき異常停止信号をＣＰＵ１１に出力するようにする。
【００１６】
図２は、本実施形態におる異常停止時における本実施形態の動作を説明する説明図である。図２において、符号１は、プログラム等で指令され、送り軸のＸ軸，Ｙ軸，Ｚ軸によって駆動される可動部の移動経路である。該可動部が移動して他の部材２と干渉し、位置Ａで緊急停止指令信号が発生し、可動部がＢの位置で停止し、直ちに干渉が生じないＣの位置まで引き戻され、その後、移動経路に沿って所定位置Ｄまで戻されるものである。
【００１７】
図３は、この緊急停止動作処理における引き戻し動作の詳細説明であり、また、図４は、逆行動作を行うためにＲＡＭ１３に設けられた補間周期毎の各送り軸への移動指令を記憶するテーブルＴＢである。補間周期毎に各送り軸Ｘ，Ｙ，Ｚ軸の軸制御回路３０〜３２に出力される移動指令Ｍｉ（Ｘｉ，Ｙｉ，Ｚｉ）は、該テーブルＴＢにポインタＰに従って順次記憶される。そして例えば、移動指令Ｍｉ（Ｘｉ，Ｙｉ，Ｚｉ）を出力した後、緊急停止指令信号が図３に示すようにＡの位置で発生したとき、このテーブルＴＢに記憶する最新の移動指令と予めパラメータで設定されている時間分（補間周期の数での指定）だけさかのぼって、このテーブルＴＢに記憶する移動指令を加算し、その結果の符号を逆にして移動指令として出力し、緊急停止発生状態（干渉状態等）から離脱させるようにしたもので、図３に示す例では、２補間周期分だけ引き戻すようにした例である。
【００１８】
図３の例で、Ｑi-2はポインタＰが（ｉ−１）のときの補間周期での移動指令Ｍi-1の始点であり、Ｑi-1はその終点であって、ポインタＰがｉであるときのの補間周期での移動指令Ｍｉの始点である。またＱｉは移動指令Ｍｉの終点である。ポインタＰがｉでの補間周期での移動指令Ｍｉを出力した後、位置Ａで緊急停止指令信号が発生し、位置Ｂで移動が停止したもので、緊急停止指令信号が発生すると補間処理周期では、通常の補間分配処理はなされず、テーブルＴＢに記憶する最新の移動指令であるポインタＰで示される移動指令Ｍｉと１つ前の補間周期の移動指令Ｍi-1が加算され、その符号を反転したベクトル−Ｖが移動指令として出力される。その結果、位置Ｂと位置Ｑｉ間の移動量は、移動指令を出力したにも拘わらず移動していないものであり、位置ループにおける位置偏差レジスタに記憶されている位置偏差である。そのため、ベクトル−Ｖが移動指令が出力されると、この位置偏差分が相殺されて、位置Ｂがら位置Ｑi-2の位置に可動部は引き戻されて緊急停止状態（干渉状態）から解除されるものである。
【００１９】
図５は、ＣＰＵ１１が補間周期毎実行する処理のフローチャートである。  
まず、逆行フラグＦが「１」にセットされているか判断し（ステップａ１）、「１」にセットされていなければ（なお、数値制御装置１０に電源が投入されたときの初期設定で該フラグＦは「０」がセットされている）、緊急停止指令信号が入力されているか判別し（ステップａ２）、緊急停止指令信号が入力されてなければ、従来と同様に補間分配処理を行い（ステップａ３）、各送り軸Ｘ，Ｙ，Ｚ軸への分配移動指令Ｘｉ，Ｙｉ，ＺｉをテーブルＴＢのポインタＰの位置に記憶する（ステップａ４）。そしてポインタＰを１加算し更新する（ステップａ５）。なお、該ポインタＰが該テーブルＴＢに対して付された最大値ｎを超えた場合には、ポインタＰは「０」に置き換えられて更新される。そして、各送り軸の軸制御回路３０〜３２へそれぞれの分配移動指令Ｘｉ，Ｙｉ，Ｚｉを出力し（ステップａ６）、サーボアンプ４０〜４２を介して各送り軸のサーボモータ５０〜５２を駆動し可動部を移動させる。以下、緊急停止指令信号が入力されなければ、このステップａ１からステップａ６までの処理を各補間周期毎、繰り返し実行する。
【００２０】
一方、ステップａ３で緊急停止指令信号が入力されていることが検出されると、テーブルＴＢに記憶されている各送り軸毎の移動指令を予め設定されている時間分、現在のポインタの位置より逆（過去）に遡って、各送り軸毎加算し、その符号を逆符号とした移動指令を作成し、この各軸移動指令を各送り軸の軸制御回路３０〜３２に出力する。例えば、予め設定されている時間（通常補間周期の数で指定する）が補間周期２周期分であれば、図３のように２補間周期前の移動開始位置に戻るように、当該補間周期で一挙に指令されることになる。
【００２１】
次に、ポインタをこの遡らせた一定時間分減算してポインタを補正する（ステップａ８）。例えば、図４に示すようなポインタＰが「ｉ」でＭｉの移動指令の補間周期で緊急停止指令信号が検知され、この位置から２補間周期分遡ったときには、ポインタＰは「ｉ−２」となり、移動指令Ｍi-2を記憶する位置になる。次に、逆行フラグＦを「１」にセットし（ステップａ９）、当該補間周期の処理を終了する。
【００２２】
逆行フラグＦが「１」にセットされたことから、次の補間周期からは、ステップａ１からステップａ１０に移行し、テーブルＴＢのポインタＰで示される各送り軸への移動指令を逆符号にしてそれぞれの軸制御回路３０〜３２に出力する（ステップａ１０）。そして、ポインタＰを１減算して更新する（ステップａ１１）。なお、ポインタＰが負になると最大のポインタの値ｎに置き換えて更新する。また指標ｊを「１」インクリメントし（ステップａ１２）、該指標ｊが設定所定値Ｊ以上か判断し（ステップａ１３）、設定所定値Ｊ以上でなければ当該補間周期の処理は終了する。なお、この指標も数値制御装置に電源投入時「０」に初期設定されている。
【００２３】
以下、補間周期毎、ステップａ１、ステップａ１０〜ステップａ１３の処理を繰り返し実行し、送り軸を逆方向に駆動し、今までの経路の逆方向に可動部を移動させることになる。  
そして、ステップａ１３で指標ｊが設定所定値Ｊ以上となると、停止処理を行い、また、フラグＦを「０」にセットし、指標ｊも「０」にセットする。
【００２４】
以上のように、送り軸で駆動される可動部が他の物と干渉し、送り軸を駆動するサーボモータ５０〜５２の駆動電流が増大して基準値を超えたときや、外乱推定オブザーバで推定した負荷が基準値を超えたとき等に出力される緊急停止指令信号が発生したときには、１補間周期で、そのときより設定時間分だけ過去の移動指令が各軸それぞれ合計され、その合計値を逆符号にした移動指令が各軸制御回路３０〜３２に出力され。サーボモータ５０〜５２が駆動されて可動部は、一挙に引き戻されることになる。これによって、一挙にに干渉状態は解かれ、干渉状態が長く続くことはなく、可動部や干渉した他の物を破損等から防ぐことができる。
【００２５】
そして、本実施形態では、一旦急激に引き戻された後は、今までの移動経路を逆方向に辿って所定位置まで引き戻されることになる。それまでに移動した経路に沿って逆方向に戻されるものであるから、可動部は他の物との干渉が発生せず、安全に戻すことができる。  
上述した実施形態では、緊急停止指令信号が発生したとき、直ちに引き戻る位置（量）、及びその後の逆行位置を、時間（補間周期数）で決める例であったが、この引き戻し位置（量）、及び逆行位置を距離によって決めるようにしてもよい。
【００２６】
この場合には、図５に示す処理において、ステップａ５の処理が、テーブルＴＢに記憶する各補間周期における各軸への移動指令を合成して得られる各補間周期毎の可動部の移動量を、ポインタＰの位置から順次遡って加算していき、予めパラメータ設定された距離以上となると、そのときの各軸移動指令の合計を逆符号にして各軸への移動指令として出力する処理となる。また、ステップａ８ではポインタＰは遡った周期分減じられた値にする。
【００２７】
また、設定距離だけ逆行させるものであれば、ステップａ１２の処理が逆行した分の各送り軸の移動指令を加算し、かつ合成して可動部の逆行移動距離を求める処理となり、ステップａ１３の処理では、この逆行移動距離が予め設定されている距離を超えているか否かの判断処理となり、逆行移動距離が設定されている距離を超えたと判断されたとき、ステップａ１４に移行する処理となる。他は上述した実施形態と同一である。
【００２８】
なお、引き戻す処理と逆行する処理、すなわち、図２において、位置Ｂから位置Ｃに引き戻す処理と、位置Ｃから位置Ｄに逆行させる処理を一方は、前述した時間に基づいて（設定された時間分引き戻すまたは逆行させる）、他方は距離に基づいて（設定距離以上となるまで引き戻すまたは逆行させる）、行うようにしてもよい。
【図面の簡単な説明】
【００２９】
【図１】本発明の一実施形態の要部ブロック図である。
【図２】同実施形態におる緊急停止時における動作の説明図である。
【図３】緊急停止動作における引き戻し動作の詳細説明図である。
【図４】同実施形態における逆行用の移動指令を記憶するテーブルである。
【図５】同実施形態における補間周期における処理のフローチャートである。
【符号の説明】
【００３０】
１  経路
２  干渉する他の物
ＴＢ  逆行用の移動指令を記憶するテーブル
【図１】
2005321979.tif 000003
【図２】
2005321979.tif 000004
【図３】
2005321979.tif 000005
【図４】
2005321979.tif 000006
【図５】
2005321979.tif 000007