JP2020071695A - 数値制御装置 - Google Patents

数値制御装置 Download PDF

Info

Publication number
JP2020071695A
JP2020071695A JP2018205701A JP2018205701A JP2020071695A JP 2020071695 A JP2020071695 A JP 2020071695A JP 2018205701 A JP2018205701 A JP 2018205701A JP 2018205701 A JP2018205701 A JP 2018205701A JP 2020071695 A JP2020071695 A JP 2020071695A
Authority
JP
Japan
Prior art keywords
prefetch
block number
unit
program
blocks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018205701A
Other languages
English (en)
Other versions
JP6838029B2 (ja
Inventor
大輔 上西
Daisuke Kaminishi
大輔 上西
力 丹後
Chikara Tango
力 丹後
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Priority to JP2018205701A priority Critical patent/JP6838029B2/ja
Priority to US16/660,710 priority patent/US11281187B2/en
Priority to DE102019007384.3A priority patent/DE102019007384A1/de
Priority to CN201911035660.2A priority patent/CN111123841B/zh
Publication of JP2020071695A publication Critical patent/JP2020071695A/ja
Application granted granted Critical
Publication of JP6838029B2 publication Critical patent/JP6838029B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4142Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by the use of a microprocessor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/416Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control of velocity, acceleration or deceleration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34013Servocontroller
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35293Execute program and check block of data, on interrupt display block
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35386Look ahead processing of plural block data from buffer
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/42Servomotor, servo controller kind till VSS
    • G05B2219/42173Acceleration deceleration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/43Speed, acceleration, deceleration control ADC
    • G05B2219/43009Acceleration deceleration for each block of data, segment

Abstract

【課題】送り速度や切削速度等の安定化のため、加工プログラム中で、加減速動作の決定に使用する先読みブロック数が不足することにより、速度制御異常が発生する可能性の高い箇所を検知すると共に、当該箇所において先読みブロック数を補充することが可能な数値制御装置を提供する。【解決手段】数値制御装置100は、加工プログラムの実行に必要な先読みブロック数である必要先読みブロック数を設定する必要先読みブロック数設定部114と、先読みブロック数算出部113によって算出された先読みブロック数と必要先読みブロック数とを比較し、先読みブロック数が必要先読みブロック数に達しない場合には、先読みブロック数が必要先読みブロック数に達するまで、加工プログラムの実行を制限する動作制限部116とを備える。【選択図】図3

Description

本発明は、数値制御装置に関する。
昨今の製造業では、IT部品等の小型化・精密化が進み、高速・高精度加工に対する関心が高まっている。高速・高精度加工におけるワークの加工プログラムは、さらなる高品位での加工を実現するため、より小さなオーダーでの許容誤差(トレランス)で作成されることが増加している傾向にある。
従来は、PC処理能力の観点から現実的ではなかった小さいトレランスの加工プログラムは、近年ではPC性能とCAM(Computer Aided Manufacturing)性能の向上から、十分に作成可能となってきており、その勢いは今後も加速すると考えられている。
また、トレランス以外にも高品位加工における重要な要素として微小直線を均一化することが挙げられており、各軸の加減速を一定化することで振動を低減することにより、加工面の品位を向上させるため、均一な微小直線を適用した高品位加工プログラムは増加傾向にある。
これらのことから、近年では、加工プログラムにおいてブロック数が増加している。
従来技術では、数値制御装置によってプログラムを先読みし、先読みブロック数だけ事前に貯蓄したプログラムから、FIFO(先入れ先出し)によって、次に動作するブロックのプログラムを読み出して処理することにより、加減速動作を決定して、軸制御を行っている。
しかしながら、これらの高品位加工プログラムにおいて、以下のような課題があった。すなわち、微小直線長さが短く、指令速度が高速なため、プログラムの実行にかかる処理時間が、先読みの処理にかかる時間よりも短い場合、加減速動作の決定に使用する先読みブロック数を確保できない結果、プログラムの挙動を考慮した加減速が定まらず、速度変化が一定ではなくなり、高品位な加工面が得られないことがあった。
図8は、速度変化が不安定となった際の、加減速の経時変化を示すグラフである。図8に示すように、当初の速度は指令速度6000mm/minで安定的に推移していたものの、2000mm/minとなった段階で、プログラムの実行にかかる処理時間が短すぎて、加減速動作の決定に使用する先読みブロック数を確保できなくなったため、図8内の矢印に示すように不安定化し、微細動する現象が発生する。とくにこれらの現象は、5軸加工等、軸数が増加して数値制御装置による処理能力が低下すると顕著なものとなる。逆に言えば、数値制御装置の先読みを実行したり加工プログラムを実行したりする処理能力を向上させることにより、これらの現象を解決できるものの、更にプログラムの微細化や機械の改良による指令速度が向上した場合には、また同様の問題が発生する。
とりわけ、高速かつ高品位の加工が要求される同時5軸加工として、例えばインペラ加工が挙げられる。図9はインペラの例としてインペラ80を示す。インペラ80の加工では、特にハブ面81とフィレット面82の仕上げ加工において、短い微小直線を用いながら高い送り速度で加工する必要があり、更にCPUの処理負担が増加するスムージング機能が使用される。
そのため、図10に示すように、インペラ加工においては、とりわけ、メインブレード(長翼)83や、スプリッターブレード(短翼)84等の各翼の加工の開始時点または途中から先読みブロック数が枯渇し、速度制御が不安定になることがある。
この点、特許文献1に係る発明は、数値制御装置において、NCデータを解析した解析データを加減速補間手段に使用されるまで、FIFOで保持するバッファ内のデータ数の過不足を監視する技術であって、とりわけ、バッファ内に存在することが予測されるデータ数が下限となる閾値を下回る場合に、データ不足と判断する技術を開示している。
特許第3723015号公報
しかし、特許文献1に係る技術は、データ不足と判断した場合に、NCデータ解析処理タスクの優先順位を上げるのみであり、NCデータ内のどのデータ、あるいはどの位置で、データ不足となるかを判断するものではなく、延いては、データ不足となる箇所における速度制御異常に対応するものではなかった。
本発明は、送り速度や切削速度等の安定化のため、加工プログラム中で、加減速動作の決定に使用する先読みブロック数が不足することにより、速度制御異常が発生する可能性の高い箇所を検知すると共に、当該箇所において先読みブロック数を補充することが可能な数値制御装置を提供することを目的とする。
(1) 本発明に係る数値制御装置は、複数のブロックから構成され、軸の加減速を制御するための加工プログラムを実行することにより、前記軸を有する工作機械(例えば、後述の「工作機械200」)を制御する数値制御装置(例えば、後述の「数値制御装置100」)であって、前記加工プログラムを実行するプログラム実行部(例えば、後述の「プログラム実行部111」)と、前記加工プログラムの実行と並列して、前記加工プログラムを先読みするプログラム先読み部(例えば、後述の「プログラム先読み部112」)と、前記プログラム実行部によって実行中のブロックの番号である第1シーケンス番号と、当該実行と同時に、前記プログラム先読み部によって先読みされるブロックの番号である第2シーケンス番号との差分である先読みブロック数を算出する先読みブロック数算出部(例えば、後述の「先読みブロック数算出部113」)と、前記加工プログラムの実行に必要な先読みブロック数である必要先読みブロック数を設定する必要先読みブロック数設定部(例えば、後述の「必要先読みブロック数設定部114」)と、前記先読みブロック数算出部によって算出された前記先読みブロック数と前記必要先読みブロック数とを比較し、前記先読みブロック数が前記必要先読みブロック数に達しない場合には、前記先読みブロック数が前記必要先読みブロック数に達するまで、前記プログラム実行部による前記加工プログラムの実行を制限する動作制限部(例えば、後述の「動作制限部116」)とを備える。
(2) (1)に記載の数値制御装置は、前記プログラム先読み部によって先読みされるブロックを蓄積すると共に、蓄積されたブロックが前記プログラム実行部によって消費される記憶部(例えば、後述の「RAM13」)を更に備え、前記必要先読みブロック数設定部は、前記記憶部の最大容量に基づいて前記必要先読みブロック数を設定してもよい。
(3) (1)に記載の数値制御装置は、前記必要先読みブロック数を記憶する記憶部を更に備え、前記必要先読みブロック数設定部は、前記記憶部に記憶された前記必要先読みブロック数を用いて、前記必要先読みブロック数を設定してもよい。
(4) (1)に記載の数値制御装置において、前記必要先読みブロック数設定部は、前記加工プログラム内で所定の第1コードと共に記載される変数に基づいて、前記必要先読みブロック数を設定してもよい。
(5) (1)に記載の数値制御装置において、前記加工プログラムが同一の加工に対応する第2コードの繰り返しを含み、前記プログラム実行部によって前記第2コードが前回に実行された際に消費された先読みブロック数である消費ブロック数を記憶する記憶部を更に備え、前記必要先読みブロック数設定部は、前記プログラム実行部によって前記コードが次回以降実行される際に、前記コードの実行前の先読みブロック数に前記消費ブロック数を加算した値を、前記必要先読みブロック数として設定してもよい。
(6) (1)〜(5)に記載の数値制御装置において、前記動作制限部は、前記加工プログラム内で指定される前記工作機械の動作速度を低下させてもよい。
(7) (1)〜(5)に記載の数値制御装置において、前記動作制限部は、前記プログラム実行部に対して、前記加工プログラムの実行の停止を指示してもよい。
(8) (1)〜(7)に記載の数値制御装置は、前記加工プログラムのシミュレーション時に、前記先読みブロック数算出部によって算出された前記先読みブロック数が所定値を下回った時点における前記加工プログラム内のブロックを検知し、当該ブロックに所定の第3コードを挿入する補充コード追加部を更に備え、前記動作制限部は、前記第3コードを検知すると、前記先読みブロック数と前記必要先読みブロック数とを比較してもよい。
本発明によれば、送り速度や切削速度等の安定化のため、加工プログラム中で、加減速動作の決定に使用する先読みブロック数が不足することにより、速度制御異常が発生する可能性の高い箇所を検知すると共に、当該箇所において先読みブロック数を補充することが可能となる。
本発明の第1実施形態に係る数値制御装置を含む制御システムの構成を示す図である。 本発明の実施形態に係る数値制御装置の構成を示す図である。 本発明の実施形態に係る数値制御装置の機能ブロックを示す図である。 本発明の実施形態で用いる加工プログラムの例を示す図である。 本発明の実施形態における先読みブロック数の経時変化を示す図である。 本発明の実施形態における先読みブロック数の経時変化を示す図である。 本発明の実施形態に係る数値制御装置の動作を示すフローチャートである。 先読みブロック数を確保できなくなったことによる速度の不安定化を示すグラフである。 インペラの構造の例を示す図である。 従来技術における先読みブロック数の経時変化を示すグラフである。
以下、本発明の実施形態について図1〜図7を参照することにより説明する。
〔1 発明の概要〕
先読みブロック数は、先読みされるブロックの位置や、プログラム実行部によって実行されるブロックの位置が加工プログラムの終わりとなった際に、0となる。しかし通常、先読みブロック数は、0に向かって一様に減少していくわけではなく、加工経路の曲率の変化や軸構成によってブロック毎の処理時間が変化することで、先読みブロック数の減少率は変化する。
例えば、加工プログラム内で微小直線が連続する箇所では、加工プログラムの実行スピードが速くなり、1ブロック当たりの処理時間が短くなると、先読みブロック数の減少率が高くなる。この場合、加減速動作の決定に使用する先読みブロック数を確保できず、速度変化が一定ではなくなるような速度制御の異常が発生する。
そこで、本実施形態は、実際の先読みブロック数と、必要とされる先読みブロック数とを比較し、先読みブロック数が不足する結果、速度制御の異常が発生する可能性が高いことが予見されるブロックで、工作機械の動作速度を遅くしたり、加工プログラムの実行を停止したりする。この間に、加工プログラムの先読みを継続し、先読みブロック数を補充することによって、必要とされる先読みブロック数を確保し、速度制御の異常の可能性を抑制する。
〔2 発明の構成〕
図1は、本発明の第1実施形態に係る数値制御装置100と、当該数値制御装置100によって制御される工作機械200とを含む制御システム10の構成を示す。
数値制御装置100は、後述の機能を備えることにより、工作機械200に対して動作指令を出力し、工作機械200を数値制御する装置である。数値制御装置100の構成及び機能の詳細については後述する。
工作機械200は、切削加工等の所定の機械加工を行う装置である。工作機械200は、ワークを加工するために駆動するモータや、このモータに取り付けられた主軸や送り軸や、これら各軸に対応する治具や工具等を備える。そして、工作機械200は、数値制御装置100から出力される動作指令に基づいてモータを駆動させることにより所定の機械加工を行う。ここで、所定の機械加工の内容に特に限定はなく、切削加工以外にも、例えば研削加工、研磨加工、圧延加工、あるいは鍛造加工といった他の加工であってもよい。
図2は、本発明の実施形態に係る数値制御装置100の構成例である。数値制御装置100は、主として、CPU11と、ROM12と、RAM13と、CMOS14と、インタフェース15、18、19と、PMC(プログラマブル・マシン・コントローラ)16と、I/Oユニット17と、軸制御回路30〜34と、サーボアンプ40〜44と、スピンドル制御回路60と、スピンドルアンプ61とを備える。
CPU11は数値制御装置100を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステムプログラムを、バス25を介して読み出し、該システムプログラムに従って数値制御装置100の全体を制御する。
RAM13には、一時的な計算データや表示データ、及び表示器/MDIユニット70を介してオペレータが入力した各種データが格納される。
CMOSメモリ14は、図示しないバッテリでバックアップされ、数値制御装置100の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。CMOSメモリ14中には、インタフェース15を介して読み込まれた加工プログラムや、表示器/MDIユニット70を介して入力された加工プログラム等が記憶される。
ROM12には、加工プログラムの作成及び編集のために必要とされる編集モードの処理や自動運転のための処理を実施するための各種システムプログラムが、予め書き込まれている。
本発明を実行する加工プログラム等の各種加工プログラムは、インタフェース15や表示器/MDIユニット70を介して入力し、CMOSメモリ14に格納することができる。
インタフェース15は、数値制御装置100とアダプタ等の外部機器72との接続を可能とするものである。外部機器72側からは加工プログラムや各種パラメータ等が読み込まれる。また、数値制御装置100内で編集した加工プログラムは、外部機器72を介して外部記憶手段に記憶させることができる。
PMC(プログラマブル・マシン・コントローラ)16は、数値制御装置100に内蔵されたシーケンスプログラムで、工作機械の補助装置(例えば、工具交換用のロボットハンドといったアクチュエータ)にI/Oユニット17を介して信号を出力して制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、信号をCPU11に渡す。
表示器/MDIユニット70は、ディスプレイやキーボード等を備えた手動データ入力装置である。インタフェース18は、表示器/MDIユニット70のキーボードからの指令やデータを受けて、これらをCPU11に渡す。インタフェース19は、手動パルス発生器等を備えた操作盤71に接続されている。
各軸の軸制御回路30〜34は、CPU11からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ40〜44に出力する。
サーボアンプ40〜44は、この指令を受けて、各軸のサーボモータ50〜54を駆動する。各軸のサーボモータ50〜54は、位置・速度検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路30〜34にフィードバックし、位置・速度のフィードバック制御を行う。なお、ブロック図では、位置・速度のフィードバックについては省略している。
スピンドル制御回路60は、工作機械への主軸回転指令を受け、スピンドルアンプ61にスピンドル速度信号を出力する。スピンドルアンプ61は、このスピンドル速度信号を受けて、工作機械のスピンドルモータ62を指令された回転速度で回転させ、工具を駆動する。
スピンドルモータ62には、歯車あるいはベルト等でパルスエンコーダ63が結合されている。パルスエンコーダ63は、主軸の回転に同期して帰還パルスを出力する。その帰還パルスは、バス25を経由してCPU11によって読み取られる。
なお、図2に示す数値制御装置100の構成例では、軸制御回路30〜34の5つの軸制御回路と、サーボモータ50〜54の5つのサーボモータが示されている。しかし、本発明は、これには限定されず、任意の個数の軸制御回路及びサーボモータを備えることが可能である。
図3は、上記のCPU11が、ROM12に格納されたシステムプログラム及びアプリケーションプログラムを、バス25を介して読み出し、該システムプログラム及びアプリケーションプログラムに従って実現する機能を示す機能ブロック図である。CPU11は、プログラム実行部111と、プログラム先読み部112と、先読みブロック数算出部113と、必要先読みブロック数設定部114と、補充コード検知部115と、動作制限部116とを備える。
プログラム実行部111は、加工プログラムを実行する。とりわけ本実施形態において、プログラム実行部111は、加工プログラムのシミュレーションを実行する。なお、このシミュレーションの際には、単に加工プログラムを空運転するだけではなく、例えば工作機械200にワークを設置した上で、実際に工作機械200を動作させることが好ましい。工作機械200の動作環境や軸構成によって、後述の先読みブロック数の経時変化の態様が異なってくるためである。
プログラム先読み部112は、プログラム実行部111による加工プログラムのシミュレーションと並列に、当該シミュレーションに先んじて加工プログラムを先読みする。
先読みブロック数算出部113は、プログラム実行部111によって実行中のブロックの第1シーケンス番号と、当該ブロックを実行している時点で、プログラム先読み部112によって先読みされるブロックの第2シーケンス番号との差分である先読みブロック数を算出する。
必要先読みブロック数設定部114は、加工プログラムの実行に必要とされる先読みブロック数である「必要先読みブロック数」を設定する。必要先読みブロック数設定部114は、一つの加工プログラム全体に対して、一つの「必要先読みブロック数」を設定してもよく、一つの加工プログラムを構成する各ブロックに対して、すなわち各加工毎に、「必要先読みブロック数」を設定してもよい。
また、必要先読みブロック数設定部114は、先読みブロックが蓄積されると共に、蓄積された先読みブロックが、プログラム実行部111によって実行され消費されるようなメモリの最大容量に基づいて、「必要先読みブロック数」を設定してもよい。このメモリは、上記の「RAM13」であってもよく、数値制御装置100に外付けされるバッファ等の記憶装置であってもよい。
あるいは、必要先読みブロック数設定部114は、メモリに記憶された必要先読みブロック数を用いて、各加工プログラムの実行時に「必要先読みブロック数」を設定してもよい。
例えば、数値制御装置100は、各加工プログラムの識別子と、各加工プログラムで設定される「必要先読みブロック数」との対応関係を設定するテーブルを記憶し、必要先読みブロック数設定部114は、実行予定の加工プログラムに対応する「必要先読みブロック数」をこのテーブルから読み取って、設定してもよい。
あるいは、後述のように、加工プログラムには先読みブロック補充コードが挿入されるが、ユーザはこの先読みブロック補充コードと共に変数を記載し、必要先読みブロック数設定部114は、数値制御装置100の入力装置からの入力に基づいてこの変数に設定される値や、他のサブルーチンからこの変数に対して読み込まれる値を、「必要先読みブロック数」として設定してもよい。(なお、本明細書では「先読みブロック補充コード」を、「第1コード」とも呼称する。)
あるいは、加工プログラムが同一の加工に対応するコードの繰り返しを含む場合には、プログラム実行部111がこのコードを前回実行した際に消費された先読みブロック数を、「消費ブロック数」としてメモリに記憶しておき、このコードを次回以降に実行する際に、必要先読みブロック数設定部114は、コードの実行前の先読みブロック数に、「消費ブロック数」を加算した値を、「必要先読みブロック数」として設定してもよい。(なお、本明細書では、同一の加工に対応するコードを「第2コード」とも呼称する)
補充コード検知部115は、加工プログラムに挿入された「先読みブロック補充コード」を検知する。
図4は、「先読みブロック補充コード」が挿入された加工プログラムの例を示す。図4の例においては、加工プログラム中に、「先読みブロック補充コード」として、“M400”というコードが挿入されている。この「先読みブロック補充コード」は、加工プログラム内において、実行時に、先読みブロック数が減少することにより速度制御の異常が発生する可能性が高いブロックに挿入される。
動作制限部116は、「先読みブロック補充コード」が検知されると、その時点での先読みブロック数と必要先読みブロック数とを比較し、先読みブロック数が「必要先読みブロック数」に達しない場合には、プログラム先読み部112によって先読みされる先読みブロック数が必要先読みブロック数に達するまで、プログラム実行部111による加工プログラムの実行を制限する。
例えば、動作制限部116は、加工プログラムの実行の制限として、加工プログラム内で指定される工作機械の動作速度を低下させてもよい。これにより、プログラム実行部111による加工プログラムの実行速度が遅くなり、この間、プログラム先読み部112が加工プログラムの先読みを継続することにより、先読みブロック数が補充される。
図5は、動作制限部116が工作機械の動作速度を低下させる場合の先読みブロック数の経時変化を示すグラフである。
「No.2」、例えば図9に示すインペラ80の2枚目の翼の加工が始まると同時に、工作機械200の動作速度を低下させながら、プログラム先読み部112によって加工プログラムの先読みがされることにより、先読みブロック数は右肩上がりで上昇する。先読みブロック数が必要先読みブロック数に達した後は、工作機械は通常の動作速度で動作するので、先読みブロック数は減少するもの、枯渇することは無い。
「No.3」、例えば図9に示すインペラ80の3枚目の翼の加工が始まると同時に、再度工作機械200の動作速度を低下させながら、プログラム先読み部112によって加工プログラムの先読みがされることにより、先読みブロック数は再度右肩上がりで上昇する。以下、この先読みブロック数の増減は、加工が終了するまで繰り返される。
あるいは、動作制限部116は、加工プログラムの実行の制限として、プログラム実行部111に対して、加工プログラムの実行の停止を指示してもよい。加工プログラムの実行が停止されている間、プログラム先読み部112が加工プログラムの先読みを継続することにより、先読みブロック数が補充される。
図6は、動作制限部116がプログラム実行部111に対して加工プログラムの実行の停止を指示する場合の先読みブロック数の経時変化を示すグラフである。
「No.2」、例えば図9に示すインペラ80の2枚目の翼の加工が始まると同時に、加工プログラムの実行を停止させた状態で、プログラム先読み部112によって加工プログラムの先読みがされることにより、先読みブロック数は垂直に上昇する。先読みブロック数が必要先読みブロック数に達した後は、工作機械は通常の動作速度で動作するので、先読みブロック数は減少するもの、枯渇することは無い。
「No.3」、例えば図9に示すインペラ80の3枚目の翼の加工が始まると同時に、加工プログラムの実行を停止させた状態で、プログラム先読み部112によって加工プログラムの先読みがされることにより、先読みブロック数は垂直に上昇する。以下、この先読みブロック数の増減は、加工が終了するまで繰り返される。
数値制御装置100は、上記の構成を有することにより、速度制御の異常が発生する可能性が高いことが予見されるブロックで、工作機械の動作速度を遅くしたり、加工プログラムの実行を停止したりする。この間に、数値制御装置100は、加工プログラムの先読みを継続し、先読みブロック数を補充することによって、必要とされる先読みブロック数を確保し、速度制御の異常の可能性を抑制することが可能となる。
〔3 発明の動作〕
以下、図7を参照することにより、本発明の第1実施形態に係る数値制御装置100の動作を説明する。
ステップS11において、プログラム実行部111は、加工プログラムのシミュレーションを実行する。
ステップS12において、プログラム先読み部112は、プログラム実行部111による加工プログラムのシミュレーションと並列に、当該シミュレーションに先んじて加工プログラムを先読みする。
ステップS13において、先読みブロック数算出部113は、先読みブロック数を算出する。
ステップS14において、先読みブロック数が必要先読みブロック数を下回る場合(S14:YES)には、処理はステップS15に移行する。先読みブロック数が必要先読みブロック数以上となる場合(S14:NO)には、処理はステップS11及びS12に移行する。
ステップS15において、動作制限部116は、加工プログラムの実行を制限する。より詳細には、動作制限部116は、加工プログラム内で指定される工作機械200の動作速度を低下させてもよく、プログラム実行部111に対して加工プログラムの実行の停止を指示してもよい。
ステップS16において、先読みブロック数が必要先読みブロック数以上となった場合(S16:YES)には、処理はステップS11及びS12に移行する(リターン)。先読みブロック数が必要先読みブロック数に未だ満たない場合(S16:NO)には、処理はステップS15に移行する。
〔4 実施形態の効果〕
本発明の実施形態に係る数値制御装置100は、実行中の加工プログラムのブロックの番号である第1シーケンス番号と、当該実行と同時に、先読みされるブロックの番号である第2シーケンス番号との差分である先読みブロック数を算出する先読みブロック数算出部113と、加工プログラムの実行に必要な先読みブロック数である必要先読みブロック数を設定する必要先読みブロック数設定部114と、先読みブロック数と必要先読みブロック数とを比較し、先読みブロック数が必要先読みブロック数に達しない場合には、先読みブロック数が必要先読みブロック数に達するまで、加工プログラムの実行を制限する動作制限部116とを備える。
これにより、送り速度や切削速度等の安定化のため、加工プログラム中で、加減速動作の決定に使用する先読みブロック数が不足することにより、速度制御異常が発生する可能性の高い箇所を検知すると共に、当該箇所において先読みブロック数を補充することが可能となる。
また、数値制御装置100は、先読みされるブロックを蓄積すると共に、蓄積されたブロックがプログラムの実行によって消費される記憶部を更に備え、必要先読みブロック数設定部114は、記憶部の最大容量に基づいて必要先読みブロック数を設定する。
これにより、先読みブロックが蓄積される記憶部、例えばバッファの容量に応じて必要先読みブロック数を設定することが可能となり、必要先読みブロック数の過不足の可能性が抑制される。
また、数値制御装置100は、必要先読みブロック数を記憶するメモリを更に備え、必要先読みブロック数設定部114は、メモリに記憶された必要先読みブロック数を用いて、必要先読みブロック数を設定する。
これにより、例えば複数の加工プログラムの各々に対して、必要先読みブロック数を設定する必要がある場合に、必要先読みブロック数の管理を簡便なものとすることが可能となる。
また、数値制御装置100において、必要先読みブロック数設定部114は、加工プログラム内で先読みブロック補充コードと共に記載される変数に基づいて、必要先読みブロック数を設定する。
変数を用いて必要先読みブロック数を設定することにより、必要先読みブロック数をフレキシブルに変更することが可能となる。
また、加工プログラムが同一の加工に対応するコードの繰り返しを含む場合に、当該コードを前回に実行した際に消費された先読みブロック数である消費ブロック数を記憶し、当該コードを次回以降に実行する際に、必要先読みブロック数設定部114は、実行前の先読みブロック数に消費ブロック数を加算することにより、必要先読みブロック数を設定する。
これにより、例えばインペラ加工時のように同一の加工を繰り返す必要がある場合に、例えば加工毎にいちいち必要先読みブロック数を手入力するような、煩雑な手続きを避けることが可能となる。
また、動作制限部116は、工作機械200の動作の制限として、加工プログラム内で指定される工作機械200の動作速度を低下させる。
工作機械200の動作速度を低下させ、この間にプログラム先読み部112が加工プログラムを先読みすることにより、先読みブロック数を補充することが可能となる。
また、動作制限部116は、工作機械200の動作の制限として、プログラム実行部111に対して、加工プログラムの実行の停止を指示する。
加工プログラムの実行を停止させ、この間にプログラム先読み部112が加工プログラムを先読みすることにより、先読みブロック数を補充することが可能となる。
〔5 変形例〕
〔5.1 変形例1〕
上記の実施形態では、動作制限部116は、先読みブロック数と必要先読みブロック数とを比較することで、速度制御の異常が発生する可能性の高いブロックを検知し、当該ブロックにおいて先読みブロック数を補充するが、これには限られない。例えば、先読みブロック数の減少率が規定値を超えた時点で、先読みブロック数を補充してもよい。
〔5.2 変形例2〕
また、上記の実施形態においては、加工プログラム内に予め先読みブロック補充コードが挿入されているとしたが、これには限定されない。例えば、数値制御装置100は、1回目のシミュレーションを実行した際に、先読みブロック数が規定値を下回る「枯渇ブロック」の位置を検知し、この枯渇ブロックに、自動的に先読みブロック補充コードを挿入する「補充コード追加部」を備えてもよい。(なお、本明細書では、「先読みブロック補充コード」の中でも、補充コード追加部によって挿入される「先読みブロック補充コード」を、「第3コード」とも呼称する。)
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
数値制御装置100による制御方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、コンピュータ(数値制御装置100)にインストールされる。また、これらのプログラムは、リムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。更に、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータ(数値制御装置100)に提供されてもよい。
10 制御システム
100 数値制御装置
111 プログラム実行部
112 プログラム先読み部
113 先読みブロック数算出部
114 必要先読みブロック数設定部
115 補充コード検知部
116 動作制限部
200 工作機械

Claims (8)

  1. 複数のブロックから構成され、軸の加減速を制御するための加工プログラムを実行することにより、前記軸を有する工作機械を制御する数値制御装置であって、
    前記加工プログラムを実行するプログラム実行部と、
    前記加工プログラムの実行と並列して、前記加工プログラムを先読みするプログラム先読み部と、
    前記プログラム実行部によって実行中のブロックの番号である第1シーケンス番号と、当該実行と同時に、前記プログラム先読み部によって先読みされるブロックの番号である第2シーケンス番号との差分である先読みブロック数を算出する先読みブロック数算出部と、
    前記加工プログラムの実行に必要な先読みブロック数である必要先読みブロック数を設定する必要先読みブロック数設定部と、
    前記先読みブロック数算出部によって算出された前記先読みブロック数と前記必要先読みブロック数とを比較し、前記先読みブロック数が前記必要先読みブロック数に達しない場合には、前記先読みブロック数が前記必要先読みブロック数に達するまで、前記プログラム実行部による前記加工プログラムの実行を制限する動作制限部とを備える、数値制御装置。
  2. 前記プログラム先読み部によって先読みされるブロックを蓄積すると共に、蓄積されたブロックが前記プログラム実行部によって消費される記憶部を更に備え、
    前記必要先読みブロック数設定部は、前記記憶部の最大容量に基づいて前記必要先読みブロック数を設定する、請求項1に記載の数値制御装置。
  3. 前記必要先読みブロック数を記憶する記憶部を更に備え、
    前記必要先読みブロック数設定部は、前記記憶部に記憶された前記必要先読みブロック数を用いて、前記必要先読みブロック数を設定する、請求項1に記載の数値制御装置。
  4. 前記必要先読みブロック数設定部は、前記加工プログラム内で所定の第1コードと共に記載される変数に基づいて、前記必要先読みブロック数を設定する、請求項1に記載の数値制御装置。
  5. 前記加工プログラムが同一の加工に対応する第2コードの繰り返しを含み、
    前記プログラム実行部によって前記第2コードが前回に実行された際に消費された先読みブロック数である消費ブロック数を記憶する記憶部を更に備え、
    前記必要先読みブロック数設定部は、前記プログラム実行部によって前記コードが次回以降実行される際に、前記コードの実行前の先読みブロック数に前記消費ブロック数を加算した値を、前記必要先読みブロック数として設定する、請求項1に記載の数値制御装置。
  6. 前記動作制限部は、前記プログラム実行部に対して、前記加工プログラムの実行の停止を指示する、請求項1〜5のいずれか1項に記載の数値制御装置。
  7. 前記動作制限部は、前記加工プログラム内で指定される前記工作機械の動作速度を低下させる、請求項1〜5のいずれか1項に記載の数値制御装置。
  8. 前記加工プログラムのシミュレーション時に、前記先読みブロック数算出部によって算出された前記先読みブロック数が所定値を下回った時点における前記加工プログラム内のブロックを検知し、当該ブロックに所定の第3コードを挿入する補充コード追加部を更に備え、
    前記動作制限部は、前記第3コードを検知すると、前記先読みブロック数と前記必要先読みブロック数とを比較する、請求項1〜7のいずれか1項に記載の数値制御装置。
JP2018205701A 2018-10-31 2018-10-31 数値制御装置 Active JP6838029B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018205701A JP6838029B2 (ja) 2018-10-31 2018-10-31 数値制御装置
US16/660,710 US11281187B2 (en) 2018-10-31 2019-10-22 Numerical controller
DE102019007384.3A DE102019007384A1 (de) 2018-10-31 2019-10-23 Numerische Steuerung
CN201911035660.2A CN111123841B (zh) 2018-10-31 2019-10-29 数值控制装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018205701A JP6838029B2 (ja) 2018-10-31 2018-10-31 数値制御装置

Publications (2)

Publication Number Publication Date
JP2020071695A true JP2020071695A (ja) 2020-05-07
JP6838029B2 JP6838029B2 (ja) 2021-03-03

Family

ID=70326616

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018205701A Active JP6838029B2 (ja) 2018-10-31 2018-10-31 数値制御装置

Country Status (4)

Country Link
US (1) US11281187B2 (ja)
JP (1) JP6838029B2 (ja)
CN (1) CN111123841B (ja)
DE (1) DE102019007384A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023012939A1 (ja) * 2021-08-04 2023-02-09 ファナック株式会社 数値制御システム
WO2023032164A1 (ja) * 2021-09-03 2023-03-09 ファナック株式会社 数値制御システム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114296404A (zh) * 2021-12-18 2022-04-08 成都乐创自动化技术股份有限公司 一种计算五轴点胶机加工轨迹速度的方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61256407A (ja) * 1985-05-09 1986-11-14 Mitsubishi Electric Corp 数値制御装置
JPH05143145A (ja) * 1991-11-20 1993-06-11 Makino Milling Mach Co Ltd 数値制御における送り速度制御方法
JPH07191728A (ja) * 1991-08-30 1995-07-28 Makino Milling Mach Co Ltd 数値制御における送り速度制御方法および装置
JPH10254517A (ja) * 1997-03-06 1998-09-25 Yaskawa Electric Corp 数値制御装置の異常検出方法
JP2001034320A (ja) * 1999-07-26 2001-02-09 Mitsubishi Electric Corp 数値制御装置
JP2007094936A (ja) * 2005-09-30 2007-04-12 Fanuc Ltd 数値制御装置
JP2007164509A (ja) * 2005-12-14 2007-06-28 Fanuc Ltd 数値制御装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3440996B2 (ja) * 1999-09-14 2003-08-25 株式会社安川電機 数値制御装置
US7120753B2 (en) * 2004-04-20 2006-10-10 International Business Machines Corporation System and method for dynamically adjusting read ahead values based upon memory usage
CN100445944C (zh) * 2004-12-21 2008-12-24 三菱电机株式会社 控制电路以及控制方法
JP2008040542A (ja) * 2006-08-01 2008-02-21 Fanuc Ltd 数値制御装置
JP4271248B2 (ja) * 2007-05-24 2009-06-03 ファナック株式会社 先読み停止機能を有する数値制御装置
JP5958188B2 (ja) * 2012-08-30 2016-07-27 ブラザー工業株式会社 数値制御装置
JP5715217B2 (ja) * 2013-10-18 2015-05-07 ファナック株式会社 プログラムの先読み機能を備えた数値制御装置
JP6444938B2 (ja) * 2016-05-12 2018-12-26 ファナック株式会社 条件指定による加工プログラム先読み開始機能を備えた数値制御装置
JP6407919B2 (ja) * 2016-06-15 2018-10-17 ファナック株式会社 数値制御装置および変数判定方法
JP6378284B2 (ja) * 2016-10-21 2018-08-22 ファナック株式会社 数値制御装置、及び数値制御装置の制御方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61256407A (ja) * 1985-05-09 1986-11-14 Mitsubishi Electric Corp 数値制御装置
JPH07191728A (ja) * 1991-08-30 1995-07-28 Makino Milling Mach Co Ltd 数値制御における送り速度制御方法および装置
JPH05143145A (ja) * 1991-11-20 1993-06-11 Makino Milling Mach Co Ltd 数値制御における送り速度制御方法
JPH10254517A (ja) * 1997-03-06 1998-09-25 Yaskawa Electric Corp 数値制御装置の異常検出方法
JP2001034320A (ja) * 1999-07-26 2001-02-09 Mitsubishi Electric Corp 数値制御装置
JP2007094936A (ja) * 2005-09-30 2007-04-12 Fanuc Ltd 数値制御装置
JP2007164509A (ja) * 2005-12-14 2007-06-28 Fanuc Ltd 数値制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023012939A1 (ja) * 2021-08-04 2023-02-09 ファナック株式会社 数値制御システム
WO2023032164A1 (ja) * 2021-09-03 2023-03-09 ファナック株式会社 数値制御システム

Also Published As

Publication number Publication date
JP6838029B2 (ja) 2021-03-03
DE102019007384A1 (de) 2020-04-30
US20200133240A1 (en) 2020-04-30
CN111123841A (zh) 2020-05-08
US11281187B2 (en) 2022-03-22
CN111123841B (zh) 2023-08-29

Similar Documents

Publication Publication Date Title
CN101303585B (zh) 控制装置
JP6838029B2 (ja) 数値制御装置
JP5355356B2 (ja) 部品プログラムの作成のための方法
CN111123845B (zh) 数值控制装置
JP6823034B2 (ja) 数値制御装置
US20200401107A1 (en) Numerical controller
JP2020071726A (ja) 数値制御装置
CN111123844B (zh) 数值控制系统
JP6885914B2 (ja) 数値制御装置
JP2006506719A (ja) 工作機械及び工作機械を操作する方法
CN110647109A (zh) 数值控制装置
WO2023012939A1 (ja) 数値制御システム
WO2023032164A1 (ja) 数値制御システム
WO2024003972A1 (ja) プログラム最適化装置及び記憶媒体
WO2024003990A1 (ja) プログラム最適化装置及び記憶媒体
US11112774B2 (en) Numerical controller

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200323

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200714

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200813

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201225

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210210

R150 Certificate of patent or registration of utility model

Ref document number: 6838029

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150