(57)【特許請求の範囲】
【請求項１】
複数のブロックからなるプログラムに基づいてワークを加工する工作機械を制御する数値制御装置において、
前記プログラムに含まれる一連のブロックであって、直線移動または曲率の小さい第１の曲率での曲線移動を指令する第１のブロックと、直線移動または曲率の小さい第２の曲率での曲線移動を指令する第２のブロックとの間に、前記第１の曲率および前記第２の曲率より大きい曲率での曲線移動を指令する第３のブロックが挟まれた一連のブロックでコーナ経路が形成され、前記コーナ経路の接線方向が連続である場合に、前記第３のブロックの始点と、前記第３のブロックの終点と、前記第３のブロックに基づく指令経路の中点を予め設定された許容誤差量を限度として前記コーナ経路の内側方向にシフトさせたシフト点と、の３点を通る曲線状の補正経路を求め、前記コーナ経路に含まれる前記第３のブロックの指令経路を前記補正経路で置き換えた経路を生成する経路変換部を有する、
ことを特徴とする数値制御装置。
【請求項２】
前記経路変換部は、前記第１のブロックと前記第３のブロックとの間に所定のアルゴリズムで曲線を挿入した場合おける第１の内周り量と、前記第３のブロックと前記第２のブロックとの間に所定のアルゴリズムで曲線を挿入した場合における第２の内周り量と、を算出し、前記第１の内周り量と前記第２の内周り量の内で大きい方の内周り量を前記許容誤差量から減算したシフト量だけ、前記第３のブロックにより指令される工具経路の中点を前記コーナ経路の内側方向にシフトさせた点をシフト点とする、
ことを特徴とする請求項１に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関し、特に接線連続のコーナにおけるコーナ経路の最適化機能を有する数値制御装置に関する。
【背景技術】
【０００２】
工作機械を制御する数値制御において、加工指令を行うブロックを連続して実行する場合、ブロックの繋ぎ目（以下、ブロック接続部と言う）において移動方向が変化すると機械にショックが発生することがある。このようなショックを抑制するために、特許文献１に開示される従来技術では、図６に示すように加工プログラムのブロック接続部に対して指令経路からの距離が予め設定されたトレランス（許容誤差量）に収まる曲線を挿入することで、隣接するブロックを滑らかに接続するようにしている。
特許文献１に開示される従来技術を用いることにより、上記のようにブロック接続部でのショックを抑制する以外にも、トレランスの大きさに応じてコーナ経路の内回り量が変化するために加工のサイクルタイムを短縮できるという効果がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５６５３９７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記したブロック接続部への曲線挿入によるサイクルタイム短縮は、図７の上に示すように、コーナ経路の接線方向が不連続である場合（ブロック接続部の前後で、工具の移動方向が急に変化する場合）に高い効果が得られる。しかしながら、図７の下に示すように、コーナ経路の接線方向が連続である場合（コーナ経路全体で接線方向が滑らかに変化する場合）には、トレランスを大きくした上でブロック接続部に曲線を挿入したとしても内回り量が制限されてしまうため、高い効果を得ることができない。
【０００５】
そこで本発明の目的は、接線連続のコーナにおいてコーナ経路を最適化する機能を備えた数値制御装置を提供することである。
【課題を解決するための手段】
【０００６】
本願の請求項１に係る発明は、複数のブロックからなるプログラムに基づいてワークを加工する工作機械を制御する数値制御装置において、前記プログラムに含まれる一連のブロックであって、直線移動または曲率の小さい第１の曲率での曲線移動を指令する第１のブロックと、直線移動または曲率の小さい第２の曲率での曲線移動を指令する第２のブロックとの間に、前記第１の曲率および前記第２の曲率より大きい曲率での曲線移動を指令する第３のブロックが挟まれた一連のブロックでコーナ経路が形成され、前記コーナ経路の接線方向が連続である場合に、前記第３のブロックの始点と、前記第３のブロックの終点と、前記第３のブロックに基づく指令経路の中点を予め設定された許容誤差量を限度として前記コーナ経路の内側方向にシフトさせたシフト点と、の３点を通る曲線状の補正経路を求め、前記コーナ経路に含まれる前記第３のブロックの指令経路を前記補正経路で置き換えた経路を生成する経路変換部を有する、ことを特徴とする数値制御装置である。
【０００７】
本願の請求項２に係る発明は、前記経路変換部は、前記第１のブロックと前記第３のブロックとの間に所定のアルゴリズムで曲線を挿入した場合おける第１の内周り量と、前記第３のブロックと前記第２のブロックとの間に所定のアルゴリズムで曲線を挿入した場合における第２の内周り量と、を算出し、前記第１の内周り量と前記第２の内周り量の内で大きい方の内周り量を前記許容誤差量から減算したシフト量だけ、前記第３のブロックにより指令される工具経路の中点を前記コーナ経路の内側方向にシフトさせた点をシフト点とする、ことを特徴とする請求項１に記載の数値制御装置である。
【発明の効果】
【０００８】
本発明の数値制御装置では、前後のブロックの接線方向が連続であるコーナ部においても、指定されたトレランスの範囲内で十分に内回りする経路が得られ、従来よりもさらにサイクルタイムを短縮することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明のコーナ経路の最適化処理について説明する図である。
【図２】本発明のコーナ経路の最適化処理について説明する図である。
【図３】本発明の一実施形態による数値制御装置の要部構成図である。
【図４】本発明の一実施形態による数値制御装置の概略的な機能ブロック図である。
【図５】図４の経路変換部１１０により実行されるコーナ経路の最適化処理のフローチャートである。
【図６】従来技術におけるブロック接続部に対する曲線の挿入について説明する図である。
【図７】従来技術におけるブロック接続部に対する曲線の挿入の問題点について説明する図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態を図面と共に説明する。はじめに、本発明のコーナ経路の最適化方法について基本的な原理を説明する。
本発明では、図１に示すように、直線移動または比較的曲率の小さい第１の曲率での曲線移動を指令するＮ０１ブロックと、直線移動または比較的曲率の小さい第２の曲率での曲線移動を指令するＮ０３ブロックとの間に、前記第１の曲率および前記第２の曲率より大きい曲率での曲線移動を指令するＮ０２ブロックが挟まれており、これら一連のブロックにより接線方向が連続であるコーナ経路が形成されている場合に、Ｎ０２ブロックに基づく指令経路の中点から見てトレランス（許容誤差量）を限度として内回りする曲線状の補正経路を生成して、コーナ経路に含まれるＮ０２ブロックに基づく指令経路を該補正経路で置き換えることによりコーナ経路全体で十分な内回り量を確保できるようにし、接線連続のコーナにおいてコーナ経路を最適化することができる。
【００１１】
補正経路は、例えば、Ｎ０２ブロックに基づく指令経路の中点を、該中点を通るコーナ経路の接線に対して垂直且つコーナ経路の内側方向へと予め設定されたトレランスＬを限度としたシフト量だけシフトしたシフト点を定めた場合の、該シフト点とＮ０２ブロックに基づく指令経路の始点および終点との３点を通る曲線とすることができる。この時、補正経路の曲線は、円弧又はＮ字曲線として求めるようにすればよい。
また、図２に示すように、特許文献１などに開示されるようなブロック間に曲線を挿入する従来技術を用いてＮ０１ブロックとＮ０２ブロックとの間、Ｎ０２ブロックとＮ０３ブロックとの間のそれぞれに曲線を挿入した場合における内回り量ｄ1，ｄ2の内の大きい方の内周り量ｄmaxをトレランスＬから引いた値を限度としてコーナ経路の内側方向にシフトした点をシフト点とするようにしても良い。このようにすることで、Ｎ０２ブロックに基づく指令経路を補正経路へと置き換えた後に、更にＮ０１ブロックとＮ０２ブロックとの間、Ｎ０２ブロックとＮ０３ブロックとの間のそれぞれに従来技術を用いてトレランスをｄmaxとして曲線を挿入しても、Ｎ０２ブロックに基づく指令経路の中点から見て補正後のコーナ経路をトレランスＬ内に収めることができる。
【００１２】
以下では、上記したコーナ経路の最適化を行う本発明の数値制御装置の構成について説明する。
図３は、本発明の一実施形態による数値制御装置の要部を示すハードウェア構成図である。数値制御装置１が備えるＣＰＵ１１は、数値制御装置１を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステムプログラムをバス２０を介して読み出し、該システムプログラムに従って数値制御装置１全体を制御する。ＲＡＭ１３には一時的な計算データや表示データ及び表示器／ＭＤＩユニット７０を介してオペレータが入力した各種データ等が格納される。
【００１３】
ＳＲＡＭ１４は図示しないバッテリでバックアップされ、数値制御装置１の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。ＳＲＡＭ１４中には、インタフェース１５を介して読み込まれた後述する加工プログラムや表示器／ＭＤＩユニット７０を介して入力された加工プログラム等が記憶される。また、ＲＯＭ１２には、加工プログラムの作成及び編集のために必要とされる編集モードの処理や自動運転のための処理を実施するための各種のシステムプログラムがあらかじめ書き込まれている。本発明を実行する加工プログラム等の各種加工プログラムはインタフェース１５や表示器／ＭＤＩユニット７０を介して入力し、ＳＲＡＭ１４に格納することができる。
【００１４】
インタフェース１５は、数値制御装置１とアダプタ等の外部機器７２との接続するためのインタフェースである。外部機器７２側からは加工プログラムや各種パラメータ等が読み込まれる。また、数値制御装置１内で編集した加工プログラムは、外部機器７２を介して外部記憶手段に記憶させることができる。ＰＭＣ（プログラマブル・マシン・コントローラ）１６は、数値制御装置１に内蔵されたシーケンスプログラムで工作機械の補助装置（例えば、工具交換用のロボットハンドといったアクチュエータ）にＩ／Ｏユニット１７を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、ＣＰＵ１１に渡す。
【００１５】
表示器／ＭＤＩユニット７０はディスプレイやキーボード等を備えた手動データ入力装置であり、インタフェース１８は表示器／ＭＤＩユニット７０のキーボードからの指令，データを受けてＣＰＵ１１に渡す。インタフェース１９は手動パルス発生器等を備えた操作盤７１に接続されている。
【００１６】
各軸の軸制御回路３０〜３２はＣＰＵ１１からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ４０〜４２に出力する。サーボアンプ４０〜４２はこの指令を受けて、各軸のサーボモータ５０〜５２を駆動する。各軸のサーボモータ５０〜５２は位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路３０〜３２にフィードバックし、位置・速度のフィードバック制御を行う。なお、ブロック図では、位置・速度のフィードバックについては省略している。
【００１７】
スピンドル制御回路６０は、工作機械への主軸回転指令を受け、スピンドルアンプ６１にスピンドル速度信号を出力する。スピンドルアンプ６１はこのスピンドル速度信号を受けて、工作機械の主軸モータ６２を指令された回転速度で回転させ、工具を駆動する。
主軸モータ６２には歯車あるいはベルト等でポジションコーダ６３が結合され、ポジションコーダ６３が主軸の回転に同期して帰還パルスを出力し、その帰還パルスはＣＰＵ１１によって読み取られる。
【００１８】
図４は、上記したコーナ経路の最適化処理の機能を図３に示した数値制御装置１に対してシステムプログラムとして実装した場合の概略的な機能ブロック図を示している。数値制御装置１は、指令解析部１００、経路変換部１１０、補間部１２０、加減速部１３０、サーボ制御部１４０を備える。
指令解析部１００は、図示しないメモリに記憶されるプログラム２００からブロックを順次読み出して解析し、解析結果に基づいて各軸の移動を指令する指令データを作成し、作成した該指令データを解析結果と共に経路変換部１１０へと出力する。
【００１９】
経路変換部１１０は、上記したコーナ経路の最適化処理を実行する機能手段である。経路変換部１１０は、指令解析部１００から受けた解析結果から移動経路上に上記した３ブロックで形成される接線方向が連続であるコーナ経路が存在するかを検索する。移動経路上に３ブロックで形成される接線方向が連続であるコーナ経路が存在した場合には、上記した手法により補正経路を生成して経路の置き換えを実行し、置き換えを実行した結果としての補正後の指令データを補間部１２０へと出力する。また、経路変換部１１０は、更に従来技術によるブロック間への曲線の挿入処理を実行するようにしても良い。
【００２０】
補間部１２０は、経路変換部１１０が出力した補正後の指令データに基づいて、移動指令データにより指令される指令経路上の点を補間周期で補間計算した補間データを生成し、生成した補間データを加減速部１３０へと出力する。
加減速部１３０は、補間部１２０が出力した補間データに対して補間後加減速処理を行い補間周期毎の各駆動軸の速度を算出し、結果データをサーボ制御部１４０へ出力する。
そして、サーボ制御部１４０は、加減速部１３０の出力に基づいて制御対象となる機械の各軸の駆動部（サーボモータ５０〜５２）を制御する。
【００２１】
図５は、経路変換部１１０が実行するコーナ経路の最適化処理の概略的な流れを示すフローチャートである。
【００２２】
●［ステップＳＡ０１］経路変換部１１０は、３ブロックで形成されるコーナ経路において、従来技術による所定のアルゴリズムを用いて各ブロック接続部に対して予めトレランスＬの範囲内で曲線を仮挿入し、その場合における各ブロック接続部での内回り量（上記した内回り量ｄ1，ｄ2）を求め、その中での最大の内周り量ｄmaxを求める。
●［ステップＳＡ０２］経路変換部１１０は、予め設定されたトレランスＬからステップＳＡ０１で求めた最大内回り量ｄmaxを減算した値が、予め設定された所定の閾値Ｔｈよりも大きいか否かを判定する。閾値Ｔｈよりも大きい場合には従来技術では十分な内回り量が得られない（コーナ経路の接線方向が連続）と判断しステップＳＡ０３へと処理を移行し、閾値Ｔｈよりも小さい場合には従来技術で十分な内回り量が得られるのでステップＳＡ０５へ進む。
【００２３】
●［ステップＳＡ０３］経路変換部１１０は、図２で説明した手法を用いて補正経路を生成し、生成した補正経路でコーナ経路の一部（上記したＮ０２ブロックにあたるブロックによる指令経路）を置き換える。
●［ステップＳＡ０４］経路変換部１１０は、従来技術による所定のアルゴリズムを用いて補正後のコーナ経路上の各ブロック接続部に対して、トレランスｄmax内で曲線を挿入する。
●［ステップＳＡ０５］経路変換部１１０は、従来技術による所定のアルゴリズムを用いてコーナ経路上の各ブロック接続部に対して、予め設定されたトレランスＬ内で曲線を挿入する。
【００２４】
図５のフローチャートのステップＳＡ０２で用いている閾値Ｔｈは０〜トレランスＬの範囲の値を設定できる。閾値Ｔｈを０に設定した場合には、従来技術により曲線を挿入する際の内周り量がトレランス量Ｌに満たない場合は必ず本発明のコーナ経路の最適化処理による補正経路への置き換えが実行される。
【００２５】
なお、図５のフローチャートでは、補正経路の置き換えを行った後で、従来技術による所定のアルゴリズムを用いてコーナ経路上の各ブロック接続部に対して曲線の挿入処理を行うために、ステップＳＡ０３において補正経路を生成する際には、３ブロックの内の真ん中のブロックの中点をシフトさせるシフト量を（Ｌ−ｄmax）とするが、補正経路の置き換えを行った後で、従来技術による所定のアルゴリズムを用いてコーナ経路上の各ブロック接続部に対して曲線の挿入処理を行わない場合（ステップＳＡ０４の処理を実行しない場合）には、ステップＳＡ０３において補正経路を生成する際に、３ブロックの内の真ん中のブロックの中点をシフトさせるシフト量として予め設定されたトレランスＬを限度とした適当な値を用いるようにすればよい。
【００２６】
以上、本発明の実施の形態について説明したが、本発明は上述した実施の形態の例にのみ限定されるものでなく、適宜の変更を加えることにより様々な態様で実施することができる。
例えば、図４の機能ブロック図では、経路変換部１１０は指令解析部１００と別の機能手段とした場合について説明しているが、経路変換部１１０を指令解析部１００の副機能手段として実装することも可能である。このように構成した場合、指令ブロックの解析を行いつつ、コーナ経路の最適化処理を実行することができる。
【符号の説明】
【００２７】
１  数値制御装置
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  ＳＲＡＭ
１５  インタフェース
１６  ＰＭＣ
１７  Ｉ／Ｏユニット
１８  インタフェース
１９  インタフェース
２０  バス
３０，３１，３２  軸制御回路
４０，４１，４２  サーボアンプ
５０，５１，５２  サーボモータ
６０  スピンドル制御回路
６１  スピンドルアンプ
６２  主軸モータ
６３  ポジションコーダ
７０  表示器／ＭＤＩユニット
７１  操作盤
７２  外部機器
１００  指令解析部
１１０  経路変換部
１２０  補間部
１３０  加減速部
１４０  サーボ制御部
２００  プログラム
【図１】
0006363642.tif 000002
【図２】
0006363642.tif 000003
【図３】
0006363642.tif 000004
【図４】
0006363642.tif 000005
【図５】
0006363642.tif 000006
【図６】
0006363642.tif 000007
【図７】
0006363642.tif 000008