(57)【要約】【課題】ブロックごとの形状を保つことができるようなブロックの送り速度を簡便に算出することができる数値制御装置を提供する。【解決装置】ブロック毎の移動距離と、入力されたブロックの移動距離に対する１補間周期に移動を完了させる距離の割合から、１補間周期に移動を完了させる必要のある移動距離を求め、その移動距離と、当初設定された第１送り速度によって１補間周期で移動する距離とを比較して、移動距離の方が短い場合に、送り速度を１補間周期にその移動距離を移動する送り速度に変更する。これにより、ブロック内のプログラム形状を反映することができる送り速度を簡便に算出することが可能となる。【選択図】図４
2014229134.tif 000002
【特許請求の範囲】
【請求項１】
第１送り速度及びブロック毎の移動距離が指令された加工プログラムに従って、工具の経路及び送り速度を制御する数値制御装置において、
前記ブロックの移動距離に対する１補間周期に移動を完了させる距離の割合を入力する入力手段と、
該入力手段に入力された割合と前記ブロック毎の移動距離から、１補間周期に移動を完了させる必要のある距離を求める移動距離算出部と、
前記移動距離算出部で算出した移動距離が、前記第１送り速度で移動した際に１補間周期で移動する距離よりも短いかどうかを判定する移動距離判断部と、
前記移動距離判断部において、前記移動距離算出部で算出した移動距離が前記第１送り速度で移動した際に１補間周期で移動する距離よりも短いと判定された場合に、前記移動距離算出部で求めた移動距離を１補間周期で移動するための第２送り速度を算出する移動速度算出部と、
送り速度を、前記移動速度算出部で求めた第２送り速度に変更する指令速度変更部と、
を備えたことを特徴とする数値制御装置。
【請求項２】
ブロックの形状に応じたブロックの移動距離に対する１補間周期に移動を完了させる距離の割合を予め定めておき、前記入力手段に入力された割合と、前記予め定められた距離の割合とを比較して、前記入力手段に入力された割合の方が大きい場合には、報知を行うことを特徴とする請求項１記載の数値制御装置。
【請求項３】
第１送り速度及びブロック毎の移動距離が指令された加工プログラムに従って、工具の経路及び送り速度を制御する数値制御装置において、
前記ブロックの移動距離が、第１送り速度で１補間周期に移動する距離よりも短いかどうかを判定する移動距離判断部と、
前記移動距離判断部において、前記ブロックの移動距離が前記第１送り速度で１補間周期で移動する距離よりも短いと判定された場合に、該ブロックの送り速度を第２送り速度に減速するように速度を算出する移動速度算出部と、
送り速度を、前記移動速度算出部で求めた第２送り速度に変更する指令速度変更部と、
を備えたことを特徴とする数値制御装置。
【請求項４】
前記移動速度算出部は、前記ブロックの移動距離を１補間周期で移動する速度を第２送り速度として算出することを特徴とする請求項３記載の数値制御装置。
【請求項５】
前記移動速度算出部は、前記第１送り速度と、予め定められた割合に基づいて、第２送り速度を算出することを特徴とする請求項３記載の数値制御装置。
【請求項６】
前記移動速度算出部は、予め定められた速度を第２送り速度とすることを特徴とする請求項３記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械を制御する数値制御装置に関し、特に、直線補間や円弧補間の際の送り速度を制御する数値制御装置に関する。
【背景技術】
【０００２】
工作機械を制御する数値制御装置においては、任意に指令された送り速度の速度制御を行っている。ここで、高速の送り速度を指令する際に、多ブロックオーバーラップが有効の状態で、補間周期以内に移動が完了するようなブロック長の直線補間、円弧補間を指令すると、補間周期を単位として、補間周期毎の制御点を直線でつないだ形状の加工となるため、間にはさまれたブロックにおけるプログラム形状が反映されない場合がある。このため、加工する際にプログラム形状を保つ必要がある場合には、イグザクトストップによりブロック間で送り速度が０になるまで減速させるか、移動方向が変化することによって生じる速度変化、加速度変化を抑える減速機能を用いて形状を保つように速度を制御することが一般的である。
【０００３】
速度変化や加速度変化による減速機能で用いる許容値を大きく設定し、これらの減速機能により減速した速度でも補間周期以内に移動が完了しない場合など、適切な速度に減速できずにプログラムされた形状を保つことができない場合がある。これを防ぐためには、さらに減速する必要があるが、高速加工のためには不要な場所での減速を避けたいという要望もあり、逆にプログラムされた形状を保ちたい場合もある。プログラム形状を保ちたい場合には、プログラム作成の段階で送り速度とブロック長を考慮し、プログラムを作成する際にイグザクトストップ指令や送り速度を変更する必要がある。しかし、加工中は送り速度を一定の速度とする場合が多いため、送り速度とブロック長を考慮してプログラムを変更することは容易なことではない。
【０００４】
特許文献１には、数値制御装置の送り速度クランプ方式に関し、前処理手段が加工プログラムの１ブロックを読み出して解析するのに必要な時間から求められる限界速度と、送り速度とを比較していずれか小さい方の速度にクランプして指令速度として出力する技術が開示されている。
特許文献２には、加工ブロックの処理時間の初期値を予め設定し、読み込まれたＮＣプログラムの各ブロックの機能パターンに応じて、送り速度を制御する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許平６−９５７２７号公報
【特許文献２】特許第２７２４６４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に開示されている技術は、前処理手段が加工プログラムの１ブロックを読み出して解析するのに必要な時間をもとに限界速度を算出しているため、各ブロックの形状が異なっている場合などに、適切な速度を決定することができないおそれがある。
特許文献２に開示されている技術は、加工ブロックの機能パターンを解析して許容速度を算出しているため、解析にかかる時間によっては算出される速度にばらつきが出てくるおそれがある。
【０００７】
そこで本発明は、ブロックごとの形状を保つことができるようなブロックの送り速度を簡便に算出することができる数値制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願の請求項１に係る発明では、第１送り速度及びブロック毎の移動距離が指令された加工プログラムに従って、工具の経路及び送り速度を制御する数値制御装置において、前記ブロックの移動距離に対する１補間周期に移動を完了させる距離の割合を入力する入力手段と、該入力手段に入力された割合と前記ブロック毎の移動距離から、１補間周期に移動を完了させる必要のある距離を求める移動距離算出部と、前記移動距離算出部で算出した移動距離が、前記第１送り速度で移動した際に１補間周期で移動する距離よりも短いかどうかを判定する移動距離判断部と、前記移動距離判断部において、前記移動距離算出部で算出した移動距離が前記第１送り速度で移動した際に１補間周期で移動する距離よりも短いと判定された場合に、前記移動距離算出部で求めた移動距離を１補間周期で移動するための第２送り速度を算出する移動速度算出部と、送り速度を、前記移動速度算出部で求めた第２送り速度に変更する指令速度変更部とを備えたことを特徴とする数値制御装置が提供される。
【０００９】
すなわち、請求項１に係る発明では、直線補間や円弧補間のブロックの移動距離から求めた１補間周期に移動を完了させる必要のある移動量が、当初の送り速度で１補間周期あたりに移動する移動量よりも短いかどうかを判定し、１補間周期に移動を完了させる必要のある移動量の方が短くてブロックにおけるプログラム形状を保つことができない程度であると判定された場合には、プログラム形状を保つことができる速度まで減速することができる。これにより、ブロック内のプログラム形状を確実に反映させることが可能となる。
【００１０】
本願の請求項２に係る発明では、第１送り速度及びブロック毎の移動距離が指令された加工プログラムに従って、工具の経路及び送り速度を制御する数値制御装置において、前記ブロックの移動距離が、第１送り速度で１補間周期に移動する距離よりも短いかどうかを判定する移動距離判断部と、前記移動距離判断部において、前記ブロックの移動距離が前記第１送り速度で１補間周期で移動する距離よりも短いと判定された場合に、該ブロックの送り速度を第２送り速度に減速するように速度を算出する移動速度算出部と、送り速度を、前記移動速度算出部で求めた第２送り速度に変更する指令速度変更部とを備えたことを特徴とする数値制御装置が提供される。
すなわち、請求項２に係る発明では、直線補間や円弧補間のブロックの移動距離が、当初の送り速度で１補間周期あたりに移動する移動量よりも短いかどうかを判定し、ブロックの移動距離の方が短くてブロックのプログラム形状を保つことができない程度であると判定された場合には、形状を保つことができる速度まで減速することができる。これにより、ブロック内のプログラム形状を確実に反映させることが可能となる。
【００１１】
本願の請求項３に係る発明では、前記移動速度算出部は、前記ブロックの移動距離を１補間周期で移動する速度を第２送り速度として算出することを特徴とする請求項２記載の数値制御装置が提供される。
すなわち、請求項３に係る発明では、送り速度をブロックの移動距離を１補間周期で移動する速度として算出することで、ブロック内のプログラム形状を確実に反映させることが可能となる。
【００１２】
本願の請求項４に係る発明では、前記移動速度算出部は、前記第１送り速度と、予め定められた割合に基づいて、第２送り速度を算出することを特徴とする請求項２記載の数値制御装置が提供される。
すなわち、請求項４に係る発明では、予め定められた割合に基づいて第２送り速度を算出していることで、ブロック内のプログラム形状を確実に反映させることが可能となる。
【００１３】
本願の請求項５に係る発明では、前記移動速度算出部は、予め定められた速度を第２送り速度とすることを特徴とする請求項２記載の数値制御装置が提供される。
すなわち、請求項５に係る発明では、予め定められた速度を第２送り速度とすることで、ブロック内のプログラム形状を確実に反映させることが可能となる。
【発明の効果】
【００１４】
本発明により、ブロックごとの形状を保つことができるようなブロックの送り速度を簡便に算出することができる数値制御装置を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明に係る数値制御装置の一実施形態のブロック図である。
【図２】本発明の数値制御における直線補間における送り速度制御の概念を説明する図である。
【図３】本発明の数値制御における円弧補間における送り速度制御の概念を説明する図である。
【図４】第１の実施形態における送り速度の制御の流れを示すフローチャートである。
【図５】第２の実施形態における送り速度の制御の流れを示すフローチャートである。
【図６】第３の実施形態における送り速度の制御の流れを示すフローチャートである。
【図７】第４の実施形態における送り速度の制御の流れを示すフローチャートである。
【図８】第５の実施形態における送り速度の制御の流れを示すフローチャートである。
【発明を実施するための形態】
【００１６】
図１は、本発明に係る数値制御装置の一実施形態のブロック図である。ＣＰＵ２１は４軸加工機用数値制御装置１００を全体的に制御するプロセッサである。ＣＰＵ２１は、メモリ２２のＲＯＭ領域に格納されたシステムプログラムをバス３８を介して読み出し、該システムプログラムに従って数値制御装置全体を制御する。メモリ２２のＲＡＭ領域には一時的な計算データや表示データ及び表示器／ＭＤＩユニット５０を介してオペレータが入力した各種データが格納される。また、メモリ２２のＳＲＡＭなどで構成される不揮発性メモリ領域には、インタフェース２３を介して読み込まれた加工プログラムや表示器／ＭＤＩユニット５０を介して入力された加工プログラム等が記憶される。
【００１７】
インタフェース２３は、４軸加工機用数値制御装置１００とアダプタ等の外部機器（図示せず）との接続を可能とするものである。図示しない外部機器からは加工プログラムや各種パラメータ等が読み込まれる。また、４軸加工機用数値制御装置１００内で編集した加工プログラムは、外部機器（図示せず）を介して外部記憶手段に記憶させることができる。ＰＭＣ（プログラマブル・マシン・コントローラ）２４は、数値制御装置１００に内蔵されたシーケンスプログラムで工作機械の補助装置にＩ／Ｏユニット２５を介して信号を出力し制御する。また、工作機械本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、ＣＰＵ２１に渡す。
【００１８】
表示器／ＭＤＩユニット５０はディスプレイやキーボード等を備えた手動データ入力装置であり、インタフェース２６は表示器／ＭＤＩユニット５０のキーボードからの指令、データを受けてＣＰＵ２１に渡す。インタフェース２７は手動パルス発生器等を備えた操作盤５１に接続されている。
【００１９】
各軸の軸制御回路２８，３０，３２，３４はＣＰＵ２１からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ２９，３１，３３，３５に出力する。サーボアンプ２９，３１，３３，３５はこの指令を受けて、各軸のサーボモータ３９〜４２を駆動する。各軸は位置・速度のフィードバック制御を行う（フィードバック制御に関する制御は省略している）。
【００２０】
サーボモータ３９〜４２は、工作機械のＸ，Ｙ，Ｚ，Ｃ軸を駆動するものであり、スピンドル制御回路３６は主軸回転指令を受け、スピンドルアンプ３７にスピンドル速度信号を出力する。スピンドルアンプ３７はスピンドル速度信号を受けて、主軸モータ４３を指令された回転速度で回転させる。
【００２１】
次に、本発明の数値制御装置における送り速度制御の概念について図２及び図３に基づいて説明する。
図２は、直線補間の例を示す図である。図２（ａ）、図２（ｂ）において、プログラム経路は実線で示されており、１０１はブロック１、１０２はブロック２、１０３はブロック３を示している。プログラム経路中、ブロック１が直線の経路で構成されており、左方向に９０度方向を転換してブロック２も直線の経路で構成されており、さらに右方向に９０度方向を転換してブロック３も直線の経路で構成されている。１１１〜１１５は、補間周期ごとの制御点を示しており、実際の移動経路は、これらの制御点の間を直線で移動することとなる。ここで、図２（ａ）においては、制御点１１１から制御点１１３にかけては、ブロック１におけるプログラム経路と移動経路が重なっており、制御点１１４から制御点１１５にかけても、ブロック３におけるプログラム経路と移動経路が重なっている。しかし、制御点１１３と制御点１１４との間においては、その間を直線で移動することによって、ブロック２のプログラム経路を保つことができないという問題が生じる。
【００２２】
これに対して、一例としてブロックの移動距離に対する割合を５０％に設定した場合には、ブロック２の移動距離の５０％の長さの移動距離が１補間周期で移動を完了する送り速度として速度制御され、プログラム経路と制御点との関係は図２（ｂ）のような関係となる。図２（ｂ）における制御点１２４と制御点１２５との間の距離、制御点１２５と制御点１２６との間の距離がブロック２の移動距離の５０％の長さの移動距離に設定されており、実際の移動経路がブロック２のプログラム経路と合致することとなる。なお、図２（ｂ）において、制御点の位置がブロック２の始点及び終点と一致しない場合には、ブロック２上における移動経路は、実際のプログラム経路と若干ずれることとなるが、図２（ａ）に示された例と比較すると、概ね一致しているといえる。
【００２３】
図３は、円弧補間の例を示す図である。図３（ａ）、図３（ｂ）において、プログラム経路は実線で示されており、１３１はブロック１、１３２はブロック２、１３３はブロック３を示している。プログラム経路中、ブロック１が直線の経路で示されており、ブロック２の途中で円弧の経路が構成されており、ブロック３も直線の経路で構成されている。１４１〜１４６は、補間周期ごとの制御点を示しており、実際の移動経路は、これらの制御点の間を直線で移動することとなる。ここで、図３（ａ）に示されているように、制御点１４１から制御点１４３にかけては、ブロック１におけるプログラム経路と移動経路が重なっており、制御点１４４から制御点１４６にかけても、ブロック３におけるプログラム経路と移動経路とが重なっている。しかし、制御点１４３と制御点１４４との間においては、その間を直線で移動することによって、ブロック２の円周状のプログラム経路を保つことができないという問題が生じる。
【００２４】
これに対して、一例としてブロックの移動距離に対する割合を２０％に設定した場合には、ブロック２の移動距離の２０％の長さの移動距離が１補間周期で移動を完了する送り速度として速度制御され、プログラム経路と制御点との関係は図３（ｂ）のような関係となる。図３（ｂ）における制御点１５４と制御点１５５との間の距離等がブロック２の移動距離の２０％の長さの移動距離に設定されており、実際の移動経路が疑似的にブロック２のプログラム経路と合致することとなる。
【００２５】
図２、図３の例に示されているように、１補間周期で移動する距離が大きい場合には、途中のブロックの経路を保つことができない場合が起こるが、１補間周期で移動する距離が適切な距離に設定されていれば、ブロックの経路を保つことができる。
【００２６】
（第１の実施形態）
以上のことを踏まえて、本発明の実施の形態について図に基づいて説明する。
図４は、本実施形態における送り速度の制御の流れを示すフローチャートである。図４に基づいて、本実施形態の送り速度の制御について、以下にステップ毎に説明する。
【００２７】
・（ステップＳＡ１）加工プログラムにおいて指令されているブロック毎の移動距離と、当初設定されている第１送り速度を取得する。
・（ステップＳＡ２）一例として図２に示された直線補間における５０％や、図３に示された円弧補間における２０％のような、工具の経路を保つために必要な割合として入力装置から入力されたブロックの移動距離に対する割合を取得する。
・（ステップＳＡ３）ブロックの移動距離と取得した割合とから、１補間周期に移動させる必要のある距離を算出する。具体的にはブロックの移動距離に割合を乗じることによって算出する。
【００２８】
・（ステップＳＡ４）ブロックの移動距離に割合を乗じたものが、第１送り速度によって１補間周期で移動する距離以下かどうかを判定する。以下の場合（ＹＥＳ）のときはステップＳＡ５に進み、より大きい場合（ＮＯ）のときは終了する。
・（ステップＳＡ５）第２送り速度として、１補間周期に、ブロックの移動距離に割合を乗じた距離を移動する速度を求める。
・（ステップＳＡ６）実際の送り速度を第２送り速度に変更する。
【００２９】
（第２の実施形態）
第１の実施形態において、入力装置から工具の経路を保つために必要な割合を入力しているが、入力された割合の値によっては、工具の経路をきちんと保つことができない場合もある。これを防ぐために、ブロックの形状に応じた最低限の必要な割合の値を予め定めておき、入力された割合の値が定められた割合の値よりも大きい場合には、その旨の報知を行ったり、再度入力を促したり、予め定められている割合の値に変更するようにすることも可能である。
【００３０】
図５は、本実施形態の制御の流れを示すフローチャートである。図５に基づいて、本実施形態の送り速度の制御について、以下にステップ毎に説明する。
・（ステップＳＢ１）加工プログラムにおいて指令されているブロック毎の移動距離と、当初設定されている第１送り速度、ブロックの形状に応じた最低割合を取得する。
・（ステップＳＢ２）一例として図２に示された直線補間における５０％や、図３に示された円弧補間における２０％のような、工具の経路を保つために必要な割合として入力装置から入力されたブロックの移動距離に対する割合を取得する。
・（ステップＳＢ３）入力された割合が最低割合以下かどうかを判定する。最低割合以下の場合（ＹＥＳ）はステップＳＢ４に進み、最低割合より大きい場合（ＮＯ）はステップＳＢ８に進む。
・（ステップＳＢ４）ブロックの移動距離と取得した割合とから、１補間周期に移動させる必要のある距離を算出する。具体的にはブロックの移動距離に割合を乗じることによって算出する。
【００３１】
・（ステップＳＢ５）ブロックの移動距離に割合を乗じたものが、第１送り速度によって１補間周期で移動する距離以下かどうかを判定する。以下の場合（ＹＥＳ）のときはステップＳＡ５に進み、より大きい場合（ＮＯ）のときは終了する。
・（ステップＳＢ６）第２送り速度として、１補間周期に、ブロックの移動距離に割合を乗じた距離を移動する速度を求める。
・（ステップＳＢ７）実際の送り速度を第２送り速度に変更する。
・（ステップＳＢ８）入力された割合が大きすぎることを報知して再入力させて、ステップＳＢ２に戻る。
【００３２】
（第３の実施形態）
第１の実施形態においては、ブロック毎の移動距離に入力装置から入力された割合を乗じたものと、第１送り速度によって１補間周期で移動する距離とを比較していたが、第１送り速度によって１補間周期で移動する距離がブロック毎の移動距離を超えるか否かによって送り速度を変更するように設定することもできる。以下、図６に示されている本実施形態における送り速度の制御を流れを示すフローチャートに基づいて、本実施形態の送り速度の制御について、以下にステップ毎に説明する。
【００３３】
・（ステップＳＣ１）加工プログラムにおいて指令されているブロック毎の移動距離と、当初設定されている第１送り速度を取得する。
・（ステップＳＣ２）ブロックの移動距離が、第１送り速度によって１補間周期で移動する距離以下かどうかを判定する。以下の場合（ＹＥＳ）のときはステップＳＣ３に進み、より大きい場合（ＮＯ）のときは終了する。
・（ステップＳＣ３）第２送り速度として、１補間周期に、ブロックの移動距離を移動する速度を求める。
・（ステップＳＣ４）実際の送り速度を第２送り速度に変更する。
【００３４】
（第４の実施形態）
第３の実施形態の変形例として、変更後の送り速度を、当初設定された送り速度に、予め設定されている割合を乗じることによって算出することもできる。以下、図７に示されている本実施形態における送り速度の制御の流れを示すフローチャートに基づいて、本実施形態に送り速度の制御について、以下にステップ毎に説明する。
【００３５】
・（ステップＳＤ１）加工プログラムにおいて指令されているブロック毎の移動距離と、当初設定されている第１送り速度、及び変更後の送り速度を算出するための速度割合を取得する。
・（ステップＳＤ２）ブロックの移動距離が、第１送り速度によって１補間周期で移動する距離以下かどうかを判定する。以下の場合（ＹＥＳ）のときはステップＳＣ３に進み、より大きい場合（ＮＯ）のときは終了する。
・（ステップＳＤ３）第２送り速度として、第１送り速度にステップＳＣ１で取得した速度割合を乗じた速度を求める。
・（ステップＳＤ４）実際の送り速度を第２送り速度に変更する。
【００３６】
（第５の実施形態）
第３の実施形態のさらに別に変形例として、変更後の送り速度を、予め定められた速度に設定することもできる。以下、図８に示されている本実施形態における送り速度の制御の流れを示すフローチャートに基づいて、本実施形態に送り速度の制御について、以下にステップ毎に説明する。
【００３７】
・（ステップＳＥ１）加工プログラムにおいて指令されているブロック毎の移動距離と、当初設定されている第１送り速度、及び変更後の送り速度を取得する。
・（ステップＳＥ２）ブロックの移動距離が、第１送り速度によって１補間周期で移動する距離以下かどうかを判定する。以下の場合（ＹＥＳ）のときはステップＳＤ３に進み、より大きい場合（ＮＯ）のときは終了する。
・（ステップＳＥ３）第２送り速度として、ステップＳＤ１で取得した変更後の送り速度を設定する。
・（ステップＳＥ４）実際の送り速度を第２送り速度に変更する。
【符号の説明】
【００３８】
１００  数値制御装置
１０１  ブロック１
１０２  ブロック２
１０３  ブロック３
１１１〜１１５，１２１〜１２８  制御点
１３１  ブロック１
１３２  ブロック２
１３３  ブロック３
１４１〜１４６，１５１〜１６１  制御点
【図１】
2014229134.tif 000003
【図２】
2014229134.tif 000004
【図３】
2014229134.tif 000005
【図４】
2014229134.tif 000006
【図５】
2014229134.tif 000007
【図６】
2014229134.tif 000008
【図７】
2014229134.tif 000009
【図８】
2014229134.tif 000010