(57)【要約】【課題】送り速度や切削速度等の安定化のため、速度制御異常を抑制することにより、高品位加工を最適な加工条件で実現できる数値制御装置を提供すること。【解決手段】数値制御装置１００は、加工プログラム内で、先読みされるブロック数が相対的に低くなるブロックである速度低下ブロックを検知する速度低下ブロック検知部と、速度低下ブロックでのテーブル送り速度から各軸の送り速度を算出し、この速度情報を記憶装置１５０に保存する速度情報保存部１１６と、速度情報を記憶装置１５０から読み出して各軸の送り速度として適用する速度情報読み出し部１１８とを備える。【選択図】図３
2020071728.tif 000002
【特許請求の範囲】
【請求項１】
軸を有する工作機械及び記憶装置と接続し、複数のブロックから構成され、前記軸の加減速を制御するための加工プログラムを実行することにより、前記工作機械を制御する数値制御装置であって、
前記加工プログラムを実行するプログラム実行部と、
前記加工プログラムの実行と並列して、前記加工プログラムを先読みするプログラム先読み部と、
前記加工プログラム内で、先読みされるブロック数が相対的に低くなるブロックである速度低下ブロックを検知する速度低下ブロック検知部と、
前記速度低下ブロックでのテーブル送り速度から各軸の送り速度を算出し、当該送り速度の情報である速度情報を前記記憶装置に保存する速度情報保存部と、
前記速度情報を前記記憶装置から読み出して各軸の送り速度として適用する速度情報読み出し部と、
を備える数値制御装置。
【請求項２】
前記速度低下ブロックにフラグを付加するフラグ付加部と、
前記速度情報を前記記憶装置に保存した後の前記加工プログラムの実行中に、前記フラグを検知するフラグ検知部を更に備え、
前記速度情報保存部は、前記速度情報と前記フラグとを組にして前記記憶装置に保存し、
前記速度情報読み出し部は、前記フラグが検知された際、前記フラグに対応する前記速度情報を前記記憶装置から読み出して各軸の送り速度として適用する、請求項１に記載の数値制御装置。
【請求項３】
前記速度低下ブロック検知部は、
前記プログラム実行部によって実行中のブロックの番号である第１シーケンス番号と、前記加工プログラムの実行と同時に、前記プログラム先読み部によって先読みされるブロックの番号である第２シーケンス番号との差分である先読みブロック数を算出する先読みブロック数算出部と、
前記速度低下ブロックとして、前記先読みブロック数が規定値を下回る時点のブロックである枯渇ブロックを検知する枯渇ブロック検知部と、
を備える、請求項１又は２に記載の数値制御装置。
【請求項４】
前記速度低下ブロック検知部は、
前記工作機械による加工経路を構成する微小直線の長さと、前記工作機械の送り速度とから、前記加工プログラムの処理時間のブロック毎の理論値を算出する理論値算出部と、
前記加工プログラムの実行中に、前記プログラム先読み部による先読み時間及び前記加工プログラムの処理時間のブロック毎の実測値を算出する実測値算出部と、
前記速度低下ブロックとして、前記実測値の累積から前記理論値の累積を差し引いた差分が規定値を上回る時点のブロックである異常発生ブロックを検知する異常発生ブロック検知部と、
を備える、請求項１又は２に記載の数値制御装置。
【請求項５】
複数台の請求項１〜４のいずれか１項に記載の数値制御装置と、
前記記憶装置とを備え、
複数台の前記数値制御装置は、前記記憶装置に保存された前記速度情報を共用する、数値制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御装置に関する。
【背景技術】
【０００２】
昨今の製造業では、ＩＴ部品等の小型化・精密化が進み、高速・高精度加工に対する関心が高まっている。高速・高精度加工におけるワークの加工プログラムは、さらなる高品位での加工を実現するため、より小さなオーダーでの許容誤差（トレランス）で作成されることが増加している傾向にある。
【０００３】
従来は、ＰＣ処理能力の観点から現実的ではなかった小さいトレランスの加工プログラムは、近年ではＰＣ性能とＣＡＭ（Computer Aided Manufacturing）性能の向上から、十分に作成可能となってきており、その勢いは今後も加速すると考えられている。
【０００４】
また、トレランス以外にも高品位加工における重要な要素として微小直線を均一化することが挙げられており、各軸の加減速を一定化することで振動を低減することにより、加工面の品位を向上させるため、均一な微小直線を適用した高品位加工プログラムは増加傾向にある。
これらのことから、近年では、加工プログラムにおいてブロック数が増加している。
【０００５】
従来技術では、数値制御装置によってプログラムを先読みし、先読みブロック数だけ事前に貯蓄したプログラムから、ＦＩＦＯ（先入れ先出し）によって、次に動作するブロックのプログラムを読み出して処理することにより、加減速動作を決定して、軸制御を行っている。
【０００６】
しかしながら、これらの高品位加工プログラムにおいて、以下のような課題があった。すなわち、微小直線長さが短く、指令速度が高速なため、プログラムの実行にかかる処理時間が、先読みの処理にかかる時間よりも小さい場合、加減速動作の決定に使用する先読みブロック数を確保できない結果、プログラムの挙動を考慮した加減速が定まらず、速度変化が一定ではなくなり、高品位な加工面が得られないことがあった。
【０００７】
図９は、速度変化が不安定となった際の、加減速の経時変化を示すグラフである。図９に示すように、当初の速度は指令速度６０００ｍｍ/ｍｉｎで安定的に推移していたものの、２０００ｍｍ／ｍｉｎとなった段階で、プログラムの実行にかかる処理時間が短すぎて、加減速動作の決定に使用する先読みブロック数を確保できなくなったため、図９内の矢印に示すように不安定化し、微細動する現象が発生する。とくにこれらの現象は、５軸加工等、軸数が増加して数値制御装置による処理能力が低下すると顕著なものとなる。逆に言えば、数値制御装置の先読みを実行したり加工プログラムを実行したりする処理能力を向上させることにより、これらの現象を解決できるものの、更にプログラムの微細化や機械の改良による指令速度が向上した場合には、また同様の問題が発生する。
【０００８】
この点、特許文献１に係る発明は、数値制御装置において、ＮＣデータを解析した解析データを加減速補間手段に使用されるまで、ＦＩＦＯで保持するバッファ内のデータ数の過不足を監視する技術であって、とりわけ、バッファ内に存在することが予測されるデータ数が下限となる閾値を下回る場合に、データ不足と判断する技術を開示している。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特許第３７２３０１５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、特許文献１に係る技術は、データ不足と判断した場合に、ＮＣデータ解析処理タスクの優先順位を上げるのみであり、個々の速度制御異常に対応するものではなかった。
【００１１】
本発明は、送り速度や切削速度等の安定化のため速度制御異常を抑制することにより、高品位加工を最適な加工条件で実現できる数値制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
（１）  本発明に係る数値制御装置は、軸を有する工作機械（例えば、後述の「工作機械２００」）及び記憶装置（例えば、後述の「記憶装置１５０」）と接続し、複数のブロックから構成され、前記軸の加減速を制御するための加工プログラムを実行することにより、前記工作機械を制御する数値制御装置（例えば、後述の「数値制御装置１００」）であって、前記加工プログラムを実行するプログラム実行部（例えば、後述の「プログラム実行部１１１」）と、前記加工プログラムの実行と並列して、前記加工プログラムを先読みするプログラム先読み部（例えば、後述の「プログラム先読み部１１２」）と、前記加工プログラム内で、先読みされるブロック数が相対的に低くなるブロックである速度低下ブロックを検知する速度低下ブロック検知部と、前記速度低下ブロックでのテーブル送り速度から各軸の送り速度を算出し、当該送り速度の情報である速度情報を前記記憶装置に保存する速度情報保存部（例えば、後述の「速度情報保存部１１６」）と、前記速度情報を前記記憶装置から読み出して各軸の送り速度として適用する速度情報読み出し部（例えば、後述の「速度情報読み出し部１１８」）と、を備える。
【００１３】
（２）  （１）に記載の数値制御装置は、前記速度低下ブロックにフラグを付加するフラグ付加部（例えば、後述の「フラグ付加部１１５」）と、前記速度情報を前記記憶装置に保存した後の前記加工プログラムの実行中に、前記フラグを検知するフラグ検知部（例えば、後述の「フラグ検知部１１７」）を更に備え、前記速度情報保存部は、前記速度情報と前記フラグとを組にして前記記憶装置に保存し、前記速度情報読み出し部は、前記フラグが検知された際、前記フラグに対応する前記速度情報を前記記憶装置から読み出して各軸の送り速度として適用してもよい。
【００１４】
（３）  （１）又は（２）に記載の数値制御装置において、前記速度低下ブロック検知部は、前記プログラム実行部によって実行中のブロックの番号である第１シーケンス番号と、前記加工プログラムの実行と同時に、前記プログラム先読み部によって先読みされるブロックの番号である第２シーケンス番号との差分である先読みブロック数を算出する先読みブロック数算出部（例えば、後述の「先読みブロック数算出部１１３」）と、前記速度低下ブロックとして、前記先読みブロック数が規定値を下回る時点のブロックである枯渇ブロックを検知する枯渇ブロック検知部（例えば、後述の「枯渇ブロック検知部１１４」）と、を備えてもよい。
【００１５】
（４）  （１）又は（２）に記載の数値制御装置において、前記速度低下ブロック検知部は、前記工作機械による加工経路を構成する微小直線の長さと、前記工作機械の送り速度とから、前記加工プログラムの処理時間のブロック毎の理論値を算出する理論値算出部（例えば、後述の「理論値算出部１１９」）と、前記加工プログラムの実行中に、前記プログラム先読み部による先読み時間及び前記加工プログラムの処理時間のブロック毎の実測値を算出する実測値算出部（例えば、後述の「実測値算出部１２０」）と、前記速度低下ブロックとして、前記実測値の累積から前記理論値の累積を差し引いた差分が規定値を上回る時点のブロックである異常発生ブロックを検知する異常発生ブロック検知部（例えば、後述の「異常発生ブロック検知部１２１」）と、を備えてもよい。
【００１６】
（５）  本発明に係る数値制御システムは、（１）〜（４）に記載の数値制御装置と、前記記憶装置とを備え、複数台の前記数値制御装置は、前記記憶装置に保存された前記速度情報を共用する。
【発明の効果】
【００１７】
本発明によれば、送り速度や切削速度等の安定化のため、速度制御異常を抑制することにより、高品位加工を最適な加工条件で実現できる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態に係る数値制御装置を含む制御システムの構成を示す図である。
【図２】本発明の実施形態に係る数値制御装置の構成を示す図である。
【図３】本発明の第１の実施形態に係る数値制御装置の機能ブロックを示す図である。
【図４】先読みブロック数の経時変化を示すグラフである。
【図５】本発明の第１の実施形態に係る数値制御装置の動作を示すフローチャートである。
【図６】本発明の第１の実施形態に係る数値制御装置の動作を示すフローチャートである。
【図７】本発明の第２の実施形態に係る数値制御装置の機能ブロックを示す図である。
【図８】本発明の第２の実施形態に係る数値制御装置の動作を示すフローチャートである。
【図９】先読みブロック数を確保できなくなったことによる速度の不安定化を示すグラフである。
【発明を実施するための形態】
【００１９】
〔１  第１の実施形態〕
以下、本発明の第１の実施形態について図１〜図６を参照することにより説明する。
【００２０】
〔１．１  発明の構成〕
図１は、本発明に係る数値制御装置１００と、当該数値制御装置１００による制御時に用いられる情報を格納する記憶装置１５０と、当該数値制御装置１００によって制御される工作機械２００とを含む制御システム１０の構成を示す。
【００２１】
数値制御装置１００は、後述の機能を備えることにより、工作機械２００に対して動作指令を出力し、工作機械２００を数値制御する装置である。数値制御装置１００の構成及び機能の詳細については後述する。
【００２２】
記憶装置１５０は、数値制御装置１００による制御時に用いる情報を格納する。とりわけ、記憶装置１５０は、数値制御装置１００が加工プログラムを実行する際に用いる速度情報を格納する。数値制御装置１００は、この速度情報を記憶装置１５０に保存すると共に、保存した速度情報を記憶装置１５０から読み出す。
【００２３】
工作機械２００は、切削加工等の所定の機械加工を行う装置である。工作機械２００は、ワークを加工するために駆動するモータや、このモータに取り付けられた主軸や送り軸や、これら各軸に対応する治具や工具等を備える。そして、工作機械２００は、数値制御装置１００から出力される動作指令に基づいてモータを駆動させることにより所定の機械加工を行う。ここで、所定の機械加工の内容に特に限定はなく、切削加工以外にも、例えば研削加工、研磨加工、圧延加工、あるいは鍛造加工といった他の加工であってもよい。
【００２４】
図２は、本発明の第１の実施形態に係る数値制御装置１００の構成例である。数値制御装置１００は、主として、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、ＣＭＯＳ１４と、インタフェース１５、１８、１９と、ＰＭＣ（プログラマブル・マシン・コントローラ）１６と、Ｉ／Ｏユニット１７と、軸制御回路３０〜３４と、サーボアンプ４０〜４４と、スピンドル制御回路６０と、スピンドルアンプ６１とを備える。
【００２５】
ＣＰＵ１１は数値制御装置１００を全体的に制御するプロセッサである。ＣＰＵ１１は、ＲＯＭ１２に格納されたシステムプログラムを、バス２５を介して読み出し、該システムプログラムに従って数値制御装置１００の全体を制御する。
【００２６】
ＲＡＭ１３には、一時的な計算データや表示データ、及び表示器／ＭＤＩユニット７０を介してオペレータが入力した各種データが格納される。
【００２７】
ＣＭＯＳメモリ１４は、図示しないバッテリでバックアップされ、数値制御装置１００の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。ＣＭＯＳメモリ１４中には、インタフェース１５を介して読み込まれた加工プログラムや、表示器／ＭＤＩユニット７０を介して入力された加工プログラム等が記憶される。
【００２８】
ＲＯＭ１２には、加工プログラムの作成及び編集のために必要とされる編集モードの処理や自動運転のための処理を実施するための各種システムプログラムが、予め書き込まれている。
【００２９】
本発明を実行する加工プログラム等の各種加工プログラムは、インタフェース１５や表示器／ＭＤＩユニット７０を介して入力し、ＣＭＯＳメモリ１４に格納することができる。
【００３０】
インタフェース１５は、数値制御装置１００とアダプタ等の外部機器７２との接続を可能とするものである。外部機器７２側からは加工プログラムや各種パラメータ等が読み込まれる。また、数値制御装置１００内で編集した加工プログラムは、外部機器７２を介して外部記憶手段に記憶させることができる。
【００３１】
ＰＭＣ（プログラマブル・マシン・コントローラ）１６は、数値制御装置１００に内蔵されたシーケンスプログラムで、工作機械の補助装置（例えば、工具交換用のロボットハンドといったアクチュエータ）にＩ／Ｏユニット１７を介して信号を出力して制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、信号をＣＰＵ１１に渡す。
【００３２】
表示器／ＭＤＩユニット７０は、ディスプレイやキーボード等を備えた手動データ入力装置である。インタフェース１８は、表示器／ＭＤＩユニット７０のキーボードからの指令やデータを受けて、これらをＣＰＵ１１に渡す。インタフェース１９は、手動パルス発生器等を備えた操作盤７１に接続されている。
【００３３】
各軸の軸制御回路３０〜３４は、ＣＰＵ１１からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ４０〜４４に出力する。
【００３４】
サーボアンプ４０〜４４は、この指令を受けて、各軸のサーボモータ５０〜５４を駆動する。各軸のサーボモータ５０〜５４は、位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路３０〜３４にフィードバックし、位置・速度のフィードバック制御を行う。なお、ブロック図では、位置・速度のフィードバックについては省略している。
【００３５】
スピンドル制御回路６０は、工作機械への主軸回転指令を受け、スピンドルアンプ６１にスピンドル速度信号を出力する。スピンドルアンプ６１は、このスピンドル速度信号を受けて、工作機械のスピンドルモータ６２を指令された回転速度で回転させ、工具を駆動する。
【００３６】
スピンドルモータ６２には、歯車あるいはベルト等でパルスエンコーダ６３が結合されている。パルスエンコーダ６３は、主軸の回転に同期して帰還パルスを出力する。その帰還パルスは、バス２５を経由してＣＰＵ１１によって読み取られる。
【００３７】
なお、図２に示す数値制御装置１００の構成例では、軸制御回路３０〜３４の５つの軸制御回路と、サーボモータ５０〜５４の５つのサーボモータが示されている。しかし、本発明は、これには限定されず、任意の個数の軸制御回路及びサーボモータを備えることが可能である。
【００３８】
図３は、上記のＣＰＵ１１が、ＲＯＭ１２に格納されたシステムプログラム及びアプリケーションプログラムを、バス２５を介して読み出し、該システムプログラム及びアプリケーションプログラムに従って実現する機能を示す機能ブロック図である。ＣＰＵ１１は、プログラム実行部１１１と、プログラム先読み部１１２と、先読みブロック数算出部１１３と、枯渇ブロック検知部１１４と、フラグ付加部１１５と、速度情報保存部１１６と、フラグ検知部１１７と、速度情報読み出し部１１８とを備える。
【００３９】
プログラム実行部１１１は、加工プログラムを実行する。とりわけ本実施形態において、プログラム実行部１１１は、加工プログラムのシミュレーションを実行する。なお、このシミュレーションの際には、単に加工プログラムを空運転するだけではなく、例えば工作機械２００にワークを設置した上で、実際に工作機械２００を動作させることが好ましい。工作機械２００の動作環境や軸構成によって、後述の先読みブロック数の経時変化の態様が異なってくるためである。
【００４０】
プログラム先読み部１１２は、プログラム実行部１１１による加工プログラムのシミュレーションと並列に、当該シミュレーションに先んじて加工プログラムを先読みする。
【００４１】
先読みブロック数算出部１１３は、シミュレーション実行部によって実行中のブロックのシーケンス番号と、当該ブロックを実行している時点で、プログラム先読み部１１２によって先読みされるブロックのシーケンス番号との差分である先読みブロック数を算出する。
【００４２】
図４は、先読みブロック数の経時変化を示すグラフである。先読みブロック数は、プログラム先読み部によって先読みされるブロックの位置や、シミュレーション実行部によって実行されるブロックの位置が、加工プログラムの終わりでは０となる。しかし、通常、先読みブロック数は、０に向かって一様に減少していくわけではなく、加工経路の曲率の変化や軸構成によってブロック毎の処理時間が変化することで、先読みブロック数の減少率は変化する。
【００４３】
枯渇ブロック検知部１１４は、先読みブロック数を規定値と比較し、先読みブロック数が規定値を下回る時点でのブロックを検知する。当該ブロックを、ここでは「枯渇ブロック」と呼称する。
【００４４】
更に、ここでは、先読みブロック数算出部１１３と枯渇ブロック検知部１１４とをまとめて「速度低下ブロック検知部」と呼称する。「速度低下ブロック検知部」とは、加工プログラム内で先読みするブロック数が相対的に低くなるブロックである「速度低下ブロック」を検知する。第１の実施形態においては、枯渇ブロック検知部１１４が、「速度低下ブロック」として上記の「枯渇ブロック」を検知する。
【００４５】
フラグ付加部１１５は、加工プログラム内において、上記の「速度低下ブロック」（第１の実施形態では「枯渇ブロック」）にフラグを付加する。いったん加工プログラム内にフラグが付加された後、プログラム実行部１１１による加工プログラムの実行時に、後述のフラグ検知部１１７がこのフラグを検知することにより、プログラム先読み部１１２によってこれから先読みされるブロックが「速度低下ブロック」であることが認識可能となる。
【００４６】
速度情報保存部１１６は、フラグ付加部１１５によってフラグが付加された「速度低下ブロック」でのテーブル送り速度から、工作機械２００の各軸での送り速度を算出し、この送り速度の情報である「送り速度情報」を、フラグと組にして、記憶装置１５０に保存する。
【００４７】
フラグ検知部１１７は、速度情報保存部１１６が「送り速度情報」を記憶装置１５０に保存した後の加工プログラムの実行時、例えば、二度目のシミュレーション時や、いったんシミュレーションをした後の実加工時に、加工プログラムに付されたフラグを検知する。フラグ検知部１１７によってフラグを検知することにより、プログラム先読み部１１２によってこれから先読みされるブロックが「速度低下ブロック」であることが認識される。
【００４８】
速度情報読み出し部１１８は、フラグ検知部１１７によって検知されたフラグと組になっている速度情報を記憶装置１５０から読み出し、読み出した速度情報を各軸の送り速度として適用する。数値制御装置１００は、工作機械２００にこの速度情報を含む動作指令を出力する。
【００４９】
数値制御装置１００は、上記の構成を有することにより、二度目以降の加工プログラムの実行時において、「速度低下ブロック」としての「枯渇ブロック」を実行する際、座標補正をするのみで、各軸の送り速度の計算をスキップすることが可能となるため、速度制御が不安定となる現象が抑制される。
【００５０】
〔１．２  発明の動作〕
以下、図５及び図６を参照することにより、第１の実施形態に係る数値制御装置１００の動作を説明する。
【００５１】
〔１．２．１  速度情報保存時の動作〕
図５は、第１の実施形態に係る数値制御装置１００の、速度情報保存時の動作を示すフローチャートである。
ステップＳ１１において、プログラム実行部１１１は、加工プログラムのシミュレーションを実行する。
【００５２】
ステップＳ１２において、プログラム先読み部１１２は、プログラム実行部１１１による加工プログラムのシミュレーションと並列に、当該シミュレーションに先んじて加工プログラムを先読みする。
【００５３】
ステップＳ１３において、先読みブロック数算出部１１３は、先読みブロック数を算出する。
【００５４】
ステップＳ１４において、先読みブロック数が規定値を下回った場合（Ｓ１４：ＹＥＳ）には、処理はステップＳ１５に移行する。先読みブロック数が規定値以上である場合（Ｓ１４：ＮＯ）には、処理はステップＳ１１及びＳ１２に移行する。
【００５５】
ステップＳ１５において、枯渇ブロック検知部１１４は「速度低下ブロック」として「枯渇ブロック」を検知する。
【００５６】
ステップＳ１６において、フラグ付加部１１５は、「枯渇ブロック」にフラグを付加する。
【００５７】
ステップＳ１７において、速度情報保存部１１６は、「枯渇ブロック」でのテーブル送り速度から工作機械２００の各軸の送り速度を算出し、この送り速度の情報である送り速度情報と、フラグ付加部１１５によって付加されたフラグとを組として、記憶装置１５０に保存する。
【００５８】
〔１．２．２  速度情報読み出し時の動作〕
図６は、第１の実施形態に係る数値制御装置１００の、速度情報読み出し時の動作を示すフローチャートである。
ステップＳ２１において、プログラム実行部１１１は、加工プログラムのシミュレーションを実行する。
【００５９】
ステップＳ２２において、プログラム先読み部１１２は、プログラム実行部１１１による加工プログラムのシミュレーションと並列に、当該シミュレーションに先んじて加工プログラムを先読みする。
【００６０】
ステップＳ２３において、フラグ検知部１１７が、プログラム先読み部１１２によって先読みされている加工プログラム中のフラグを検知した場合（Ｓ２３：ＹＥＳ）には、処理はステップＳ２４に移行する。フラグ検知部１１７が、フラグを検知していない場合（Ｓ２３：ＮＯ）には、処理はステップＳ２１及びＳ２２に移行する。
【００６１】
ステップＳ２４において、速度情報読み出し部１１８は、フラグ検知部１１７によって検知されたフラグに対応する速度情報を記憶装置１５０から読み出し、各軸の送り速度として適用する。その後、処理はステップＳ２１及びＳ２２に移行する（リターン）。
【００６２】
〔１．３  本実施形態の効果〕
本実施形態に係る数値制御装置１００は、加工プログラム内で、先読みされるブロック数が相対的に低くなるブロックである「速度低下ブロック」を検知すると共に、「速度低下ブロック」でのテーブル送り速度から算出した各軸の送り速度を記憶装置１５０に保存する。更に、数値制御装置１００は、加工プログラムの実行中速度情報を記憶装置１５０から読み出して各軸の送り速度として適用する。
【００６３】
これにより、送り速度や切削速度の安定化のため、加工プログラム中で、加減速動作の決定に使用する先読みブロック数が不足することによって、速度制御異常が発生する可能性の高い位置を検知することが可能となる。
【００６４】
また、数値制御装置１００は、速度低下ブロックにフラグを付加するフラグ付加部１１５と、速度情報を記憶装置に保存した後の加工プログラムの実行中に、フラグを検知するフラグ検知部１１７とを備え、速度情報保存部１１６は、速度情報とフラグとを組にして記憶装置１５０に保存し、速度情報読み出し部１１８は、フラグが検知された際、フラグに対応する速度情報を記憶装置１５０から読み出して各軸の送り速度として適用する。
【００６５】
これにより、複数の速度情報を扱うことが可能になると共に、当該速度情報をフラグごとに切り分けて各軸の送り速度として適用することが可能になる。
【００６６】
また、数値制御装置１００は、「速度低下ブロック」を検知するため、プログラム実行部１１１によって実行中のブロックの番号である第１シーケンス番号と、加工プログラムの実行と同時に、プログラム先読み部１１２によって先読みされるブロックの番号である第２シーケンス番号との差分である先読みブロック数を算出する先読みブロック数算出部１１３と、「速度低下ブロック」として、先読みブロック数が規定値を下回る時点のブロックである「枯渇ブロック」を検知する枯渇ブロック検知部１１４とを備える。
【００６７】
これにより、加工プログラム実行時の、各時点における先読みブロック数の多寡に基づいて、「速度低下ブロック」を検知することが可能となる。
【００６８】
〔２  第２の実施形態〕
以下、本発明の第２の実施形態について図７及び図８を参照することにより説明する。なお、以下では説明の簡略化のため、主として第２の実施形態に係る数値制御装置１００Ａの数値制御装置１００に比較した相違点について記載する。
【００６９】
〔２．１  発明の構成〕
第２の実施形態に係る数値制御装置１００Ａは、ＣＰＵ１１の代わりにＣＰＵ１１Ａを備える。図７は、ＣＰＵ１１Ａが、ＲＯＭ１２に格納されたシステムプログラム及びアプリケーションプログラムを、バス２５を介して読み出し、該システムプログラム及びアプリケーションプログラムに従って実現する機能を示す機能ブロック図である。
【００７０】
ＣＰＵ１１Ａは、ＣＰＵ１１とは異なり、先読みブロック数算出部１１３及び枯渇ブロック検知部１１４は備えず、その代わりに、理論値算出部１１９、実測値算出部１２０、及び異常発生ブロック検知部１２１を備える。
【００７１】
理論値算出部１１９は、工作機械２００による加工経路を構成する微小直線の長さと、工作機械２００の送り速度とから、加工プログラムの処理時間のブロック毎の理論値を算出する。
【００７２】
より具体的には、理論値算出部１１９は、以下の数式（１）によって、プログラム実行処理時間の理論値を算出する。
プログラム実行処理時間の理論値（ｍｓｅｃ）＝６０×微小直線長さ（ｍｍ）／指令速度（ｍｍ／ｍｉｎ）  （１）
【００７３】
実測値算出部１２０は、プログラム実行部１１１による加工プログラムの実行中に、プログラム先読み部１１２による先読み時間と加工プログラムの処理時間との合計時間の、ブロック毎の実測値を算出する。
【００７４】
異常発生ブロック検知部１２１は、理論値算出部１１９によって算出された加工プログラムの処理時間のブロック毎の理論値の累積と、実測値算出部１２０によって算出されたプログラム先読み部１１２による先読み時間とプログラム実行部１１１によって実行された加工プログラムの実際の処理時間のブロック毎の実測値との累積とを比較し、実測値の累積から理論値の累積を差し引いた差分が、規定値を上回った時点のブロックである「異常発生ブロック」を検知する。
この「異常発生ブロック」は、他のブロックに比較して、速度制御異常が発生する可能性が相対的に高いブロックである。
【００７５】
第２の実施形態においては、異常発生ブロック検知部１２１が、「速度低下ブロック」として、上記の「異常発生ブロック」を検知する。
【００７６】
数値制御装置１００Ａは、上記の構成を有することにより、二度目以降の加工プログラムの実行時において、「速度低下ブロック」としての「異常発生ブロック」を実行する際、座標補正をするのみで、各軸の送り速度の計算をスキップすることが可能となるため、速度制御が不安定となる現象が抑制される。
【００７７】
〔２．２  発明の動作〕
以下、図８を参照することにより、第２の実施形態に係る数値制御装置１００Ａの動作を説明する。
【００７８】
〔２．２．１  速度情報保存時の動作〕
図８は、第２の実施形態に係る数値制御装置１００Ａの、速度情報保存時の動作を示すフローチャートである。
ステップＳ３１において、プログラム実行部１１１は、加工プログラムのシミュレーションを実行する。
【００７９】
ステップＳ３２において、プログラム先読み部１１２は、プログラム実行部１１１による加工プログラムのシミュレーションと並列に、当該シミュレーションに先んじて加工プログラムを先読みする。
【００８０】
ステップＳ３３において、理論値算出部１１９は、工作機械２００による加工経路を構成する微小直線の長さと、工作機械２００の送り速度とから、加工プログラムの処理時間のブロック毎の理論値を算出する。
【００８１】
ステップＳ３４において、実測値算出部１２０は、プログラム実行部１１１による加工プログラムのシミュレーション中に、プログラム先読み部１１２による先読み時間と加工プログラムの処理時間との合計時間の、ブロック毎の実測値を算出する。
【００８２】
ステップＳ３５において、ブロック毎の実測値の累積から、ブロック毎の理論値の累積を差し引いた差分が規定値を上回った場合（Ｓ３５：ＹＥＳ）には、処理はステップＳ３６に移行する。上記の差分が規定値以下である場合（Ｓ３５：ＮＯ）には、処理はステップＳ３１及びＳ３２に移行する。
【００８３】
ステップＳ３６において、異常発生ブロック検知部１２１は「速度低下ブロック」として「異常発生ブロック」を検知する。
【００８４】
ステップＳ３７において、フラグ付加部１１５は、「異常発生ブロック」にフラグを付加する。
【００８５】
ステップＳ３８において、速度情報保存部１１６は、「異常発生ブロック」でのテーブル送り速度から工作機械２００の各軸の送り速度を算出し、この送り速度の情報である送り速度情報と、フラグ付加部１１５によって付加されたフラグとを組として、記憶装置１５０に保存する。
【００８６】
〔２．２．２  速度情報読み出し時の動作〕
第２の実施形態に係る数値制御装置１００Ａの速度情報読み出し時の動作は、第１の実施形態に係る数値制御装置１００の速度情報読み出し時の動作と同一であるため、その説明を省略する。
【００８７】
〔２．３  本実施形態の効果〕
数値制御装置１００Ａは、「速度低下ブロック」を検知するため、工作機械２００による加工経路を構成する微小直線の長さと、工作機械２００の送り速度とから、加工プログラムの処理時間のブロック毎の理論値を算出する理論値算出部１１９と、加工プログラムの実行中に、プログラム先読み部１１２による先読み時間及び加工プログラムの処理時間のブロック毎の実測値を算出する実測値算出部１２０と、「速度低下ブロック」として、実測値の累積から理論値の累積を差し引いた差分が規定値を上回る時点のブロックである「異常発生ブロック」を検知する異常発生ブロック検知部１２１とを備える。
【００８８】
これにより、加工プログラム実行時の、各時点における処理時間の理論値と実測値との差分に基づいて、「速度低下ブロック」を検知することが可能となる。
【００８９】
〔３．変形例〕
〔３．１  変形例１〕
第１及び第２の実施形態では、図１に示されるように、１台の数値制御装置１００と、１台の記憶装置１５０と、１台の工作機械２００とが組となることを前提としていたが、これには限定されない。例えば、とりわけ複数台の数値制御装置１００が同一工程の加工を実行する場合、これら複数台の数値制御装置１００が１台の記憶装置１５０に接続し、１台の記憶装置１５０に保存された速度情報を共用してもよい。
【００９０】
〔３．２  変形例２〕
第１の実施形態に係る数値制御装置１００は、枯渇ブロックでのテーブル送り速度から各軸の送り速度を算出し、当該送り速度の情報である速度情報を、フラグと組にして記憶装置１５０に保存すると共に、記憶装置１５０に保存した速度情報を読み出して各軸の送り速度として適用するとしたが、これには限定されない。例えば、数値制御装置１００は、加工プログラム中の枯渇ブロック以外の任意のブロックや、加工プログラム中の全ブロックでのテーブル送り速度に係る速度情報を、各々の速度情報に対応するフラグと組にして記憶装置１５０に保存すると共に、記憶装置１５０に保存した速度情報を読み出して各軸の送り速度として適用してもよい。
同様に、第２の実施形態に係る数値制御装置１００Ａは、異常発生ブロックでのテーブル送り速度から各軸の送り速度を算出し、当該送り速度の情報である速度情報を、フラグと組にして記憶装置１５０に保存すると共に、記憶装置１５０に保存した速度情報を読み出して各軸の送り速度として適用するとしたが、これには限定されない。例えば、数値制御装置１００Ａは、加工プログラム中の異常発生ブロック以外の任意のブロックや、加工プログラム中の全ブロックでのテーブル送り速度に係る速度情報を、各々の速度情報に対応するフラグと組にして記憶装置１５０に保存すると共に、記憶装置１５０に保存した速度情報を読み出して各軸の送り速度として適用してもよい。
【００９１】
〔３．３  変形例３〕
第１の実施形態では、枯渇ブロック検知部１１４は、先読みブロック数が規定値を下回る時点のブロックを枯渇ブロックとしたが、これには限られない。例えば、枯渇ブロック検知部１１４は、先読みブロック数の減少率が規定値を超えた時点でのブロックを枯渇ブロックとしてもよい。
【００９２】
〔３．４  変形例４〕
第２の実施形態では、異常発生ブロック検知部１２１は、理論値算出部１１９によって算出された加工プログラムの処理時間のブロック毎の理論値の累積と、実測値算出部１２０によって算出されたプログラム先読み部１１２による先読み時間とプログラム実行部１１１によって実行された加工プログラムの実際の処理時間のブロック毎の実測値との累積とを比較し、実測値の累積から理論値の累積を差し引いた差分が、規定値を上回った時点のブロックを異常発生ブロックとしたが、これには限られない。例えば、異常発生ブロック検知部１２１は、理論値の累積に対する実測値の累積の比率が規定値を超えた時点でのブロックを異常発生ブロックとしてもよい。
【００９３】
〔３．５  変形例５〕
上記の実施形態において、フラグ付加部１１５が、速度低下ブロックにフラグを付加し、速度情報保存部１１６が、速度情報とフラグとを組にして記憶装置１５０に保存し、フラグ検知部１１７が、速度情報を記憶装置１５０に保存した後の加工プログラムの実行中に、フラグを検知し、速度情報読み出し部１１８は、フラグが検知された際、フラグに対応する速度情報を記憶装置１５０から読み出して各軸の送り速度として適用する構成としたが、これには限定されない。
例えば、記憶装置１５０に保存する速度情報が単一である場合等、速度情報を識別するためのフラグを用いず、速度情報保存部１１６が速度情報のみを記憶装置１５０に保存し、速度情報読み出し部１１８が、この速度情報を記憶装置１５０から読み出す構成としてもよい。
【００９４】
〔３．６  変形例６〕
上記の実施形態において、速度情報保存時の動作及び速度情報読み出し時の動作は、プログラム実行部１１１による加工プログラムのシミュレーションを実行する際の動作としたが、これには限られない。例えば、数値制御装置１００が工作機械２００を制御することによる実加工中に、同様の動作を実行してもよい。
【００９５】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【００９６】
数値制御装置１００又は１００Ａによる制御方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、コンピュータ（数値制御装置１００又は１００Ａ）にインストールされる。また、これらのプログラムは、リムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。更に、これらのプログラムは、ダウンロードされることなくネットワークを介したＷｅｂサービスとしてユーザのコンピュータ（数値制御装置１００又は１００Ａ）に提供されてもよい。
【符号の説明】
【００９７】
１０  制御システム
１００  数値制御装置
１１１  プログラム実行部
１１２  プログラム先読み部
１１３  先読みブロック数算出部（速度低下ブロック検知部）
１１４  枯渇ブロック検知部（速度低下ブロック検知部）
１１５  フラグ付加部
１１６  速度情報保存部
１１７  フラグ検知部
１１８  速度情報読み出し部
１１９  理論値算出部
１２０  実測値算出部
１２１  異常発生ブロック検知部（速度低下ブロック検知部）
１５０  記憶装置
２００  工作機械
【図１】
2020071728.tif 000003
【図２】
2020071728.tif 000004
【図３】
2020071728.tif 000005
【図４】
2020071728.tif 000006
【図５】
2020071728.tif 000007
【図６】
2020071728.tif 000008
【図７】
2020071728.tif 000009
【図８】
2020071728.tif 000010
【図９】
2020071728.tif 000011