JP5715217B2 - プログラムの先読み機能を備えた数値制御装置 - Google Patents

プログラムの先読み機能を備えた数値制御装置 Download PDF

Info

Publication number
JP5715217B2
JP5715217B2 JP2013217760A JP2013217760A JP5715217B2 JP 5715217 B2 JP5715217 B2 JP 5715217B2 JP 2013217760 A JP2013217760 A JP 2013217760A JP 2013217760 A JP2013217760 A JP 2013217760A JP 5715217 B2 JP5715217 B2 JP 5715217B2
Authority
JP
Japan
Prior art keywords
program
time
execution time
block
prefetched
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.)
Active
Application number
JP2013217760A
Other languages
English (en)
Other versions
JP2015079461A (ja
Inventor
高裕 原口
高裕 原口
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 JP2013217760A priority Critical patent/JP5715217B2/ja
Priority to US14/509,092 priority patent/US10191472B2/en
Priority to DE102014015007.0A priority patent/DE102014015007B4/de
Priority to CN201410559190.0A priority patent/CN104570959B/zh
Publication of JP2015079461A publication Critical patent/JP2015079461A/ja
Application granted granted Critical
Publication of JP5715217B2 publication Critical patent/JP5715217B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/408Numerical 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 data handling or data format, e.g. reading, buffering or conversion of data
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36078Insert, read in new command instruction to modify fixed program

Description

本発明は、プログラムの先読み機能を備えた数値制御装置に関する。
NCプログラムの先読み制御においては、予め決められた先読みブロック数の分だけ先読みする機能を持った数値制御装置が公知である(特許文献1、特許文献2、特許文献3を参照)。
また、上記NCプログラム運転とは別に、時間、軸位置、あるいは主軸位置を基準にした軸の位置を設定したテーブル形式データ(パステーブル)をメモリまたはネットワークで接続された記憶装置に格納しておき、テーブル形式データ(パステーブル)を順次読み出しながら各軸を駆動する機能(パステーブル運転機能)を持った数値制御装置が公知である(特許文献4、特許文献5を参照)。パステーブル運転機能により、加工プログラムにとらわれない自由な工具の動作が可能になり、加工時間の短縮や、加工の高精度化を実現できる。
また、特許文献6には、加工時間の予測精度の向上と加工時間を予測するための処理時間を短縮することができる数値制御工作機械による加工時間の予測方法および予測装置が開示されている。
特開2007−94936号公報 特開2007−164509号公報 特開2008−40542号公報 特開昭59−177604号公報 特開2012−234445号公報 特開2012−93975号公報
背景技術で説明したNCプログラムの先読み制御においては、微小ブロックが続くようなNCプログラムでは先読みが間に合わない場合がある。お互いに連携して動作する複数のNCプログラムのうち、ある一つのNCプログラムの先読みが間に合わないと、他のNCプログラムにも影響し、全体のサイクルタイムが延びてしまう場合がある。
ここで、全体のサイクルタイムが延びてしまう例を図12,図13を用いて説明する。図12はNCプログラム運転の先読みにより並列実行する3つのプログラム例を示す図である。図13は、図12に示す3つのプログラムにおいて、従来技術の先読み制御方式により、9個のブロックを先読みした段階で、各プログラムの先読みしたブロックの実行時間の積算(積算実行時間)を示す図である。
図12に示される3プログラム(O0001,O0002,O0003)を並列実行する場合を例に説明する。「O0001」,「O0002」,「O0003」はそれぞれプログラム名である。なお、各プログラム内の括弧内の数値は、各ブロックの実行時間を表すものとする。
従来は、各プログラムが先読みしたブロックの実行時間の積算を考慮せずに先読みを行っていたため、平均的に先読みを行った場合、以下の順番で先読みが行われていた。
(1)N11を先読み
[先読みブロック数(O0001,O0002,O0003)=(1,0,0)]
(2)N21を先読み
[先読みブロック数(O0001,O0002,O0003)=(1,1,0)]
(3)N31を先読み
[先読みブロック数(O0001,O0002,O0003)=(1,1,1)]
(4)N12を先読み
[先読みブロック数(O0001,O0002,O0003)=(2,1,1)]
(5)N22を先読み
[先読みブロック数(O0001,O0002,O0003)=(2,2,1)]
(6)N32を先読み
[先読みブロック数(O0001,O0002,O0003)=(2,2,2)]
(7)N13を先読み
[先読みブロック数(O0001,O0002,O0003)=(3,2,2)]
(8)N23を先読み
[先読みブロック数(O0001,O0002,O0003)=(3,3,2)]
(9)N33を先読み
[先読みブロック数(O0001,O0002,O0003)=(3,3,3)]

上記の(9)で合わせて9個のブロックを先読みした段階で、各プログラムの先読みしたブロックの実行時間の積算は図13に示されるようになる。この場合、O0003は先読みしたブロックの実行時間の積算が3msとなるため、この状態で運転を行い、先読みが間に合わなくなると、先読みができるまで待ちになる。
また、テーブル形式データによる運転(パステーブル運転)においても、微小ブロックが続くような場合は、各テーブル形式データのブロックの先読みが間に合わない場合がある。先読みが間に合わないと、基準となる時間、軸位置、あるいは主軸位置の通りに、軸の位置に移動できないため、アラームや即時停止になる。アラームや即時停止にならないよう、先読みが間に合うように修正したテーブル形式データを運転すると、サイクルタイムが延びる。
ここで、パステーブルの先読みを行いながら運転するテーブル形式データによる運転(パステーブル運転)の従来技術について、図14の3つのパステーブル(X軸のパステーブル<X>、主軸Sのパステーブル<S>、補助機能のパステーブル<M>)を実行する場合を例に説明する。
従来は、先読みしたブロックの実行時間の積算を考慮せずに先読みを行っていたため、平均的に先読みを行った場合、以下の順番で先読みが行われていた。
(1)<X>のL1を先読み
[先読みブロック数(<X>,<S>,<M>)=(1,0,0)]
(2)<S>のL100を先読み
[先読みブロック数(<X>,<S>,<M>)=(1,1,0)]
(3)<M>のL1000を先読み
[先読みブロック数(<X>,<S>,<M>)=(1,1,1)]
(4)<X>のL2を先読み
[先読みブロック数(<X>,<S>,<M>)=(2,1,1)]
(5)<S>のL150を先読み
[先読みブロック数(<X>,<S>,<M>)=(2,2,1)]
(6)<M>のL1050を先読み
[先読みブロック数(<X>,<S>,<M>)=(2,2,2)]
(7)<X>のL3を先読み
[先読みブロック数(<X>,<S>,<M>)=(3,2,2)]
(8)<S>のL200を先読み
[先読みブロック数(<X>,<S>,<M>)=(3,3,2)]
(9)<M>のL1100を先読み
[先読みブロック数(<X>,<S>,<M>)=(3,3,3)]

(9)で合わせて9個のブロックを先読みした段階で、各パステーブルの先読みしたブロックの実行時間の積算は図15のようになる。この場合、<X>は先読みしたブロックの実行時間の積算が3msとなる。この状態で運転を行うと先読みが間に合わないことにより、アラームや即時停止となる。パステーブル運転を行う場合、各パステーブルの先読みしたブロック実行時間の積算を監視していない。このため、先読みしたブロックの実行時間の積算が、安全に減速停止するための時間より少なくなったことを、事前に検出することが不可能であった。
そのため、先読みが間に合わない場合はアラーム発生または即時停止する他なく、機械にショックを与える可能性があった。特にネットワークで接続された記憶装置から先読みして運転する場合、一時的なネットワーク障害により通信が途切れる可能性があるため、この問題の解決が課題となっていた。
そこで、本発明の目的は、上記従来技術の問題点を解決するために、複数のNCプログラムを並列実行する場合、先読みが間に合わなくなることを防ぎ、サイクルタイムが延びることを防ぐプログラムの先読み機能を備えた数値制御装置を提供すること、および、テーブル形式データによる運転(パステーブル運転)において、複数のテーブル形式データを並列実行する場合、先読みが間に合わないことによるアラーム発生や即時停止が発生しにくくなるテーブル形式データによる運転機能を備えた数値制御装置を提供することである。
複数のNCプログラムを並列実行する場合、先読みを間に合わせるため、先読みしたブロックの実行時間が短いものを優先して先読みする。それにより、先読みが間に合わなくなることを防ぎ、サイクルタイムが延びることを防ぐ。なお、NCプログラムの各ブロックの実行時間を算出する機能を持った数値制御装置は公知である(特開2012−93975号公報参照)。
また、上記NCプログラム運転とは別に、テーブル形式データによる運転において、複数のテーブル形式データを並列実行する場合に、複数のテーブル形式データの内どれを先読みするかを、優先度に基づいて決定する。先読みブロックの実行時間が短いものを優先して先読みすることにより、先読みが間に合わないことによるアラーム発生や即時停止が発生しにくくなる。その結果、従来技術のようにテーブル形式データを修正する必要がなくなり、従来技術よりもサイクルタイム短縮が期待できる。
本願の請求項1に係る発明は、複数のNCプログラムのブロックを、メモリまたはネットワークで接続された記憶装置から、順次先読みしながら並列実行する数値制御装置において、前記NCプログラムの各ブロックの実行時間を記憶する実行時間記憶手段と、
前記先読みしたブロックの実行時間を前記実行時間記憶手段から読み出し、該読み出した実行時間を積算する実行時間積算手段と、前記各NCプログラムの先読みしたブロックの積算した実行時間を比較し、先読みしたブロックの実行時間の積算が最も短いNCプログラムを判定する判定手段と、前記先読みしたブロックの実行時間の積算が最も短いNCプログラムの先読みを次に行う手段と、を有することを特徴とするNCプログラムによる運転を備えた数値制御装置である。
請求項2に係る発明は、複数のNCプログラムのブロックを、メモリまたはネットワークで接続された記憶装置から、順次先読みしながら並列実行する数値制御装置において、前記NCプログラムの各ブロックの指令内容から実行時間を算出する実行時間算出手段と、前記実行時間算出手段により算出した前記先読みしたブロックの実行時間を積算する実行時間積算手段と、前記各NCプログラムの先読したブロックの積算した実行時間を比較し、先読みしたブロックの実行時間の積算が最も短いNCプログラムを判定する判定手段と、前記判定手段により判定された、前記先読みしたブロックの実行時間の積算が最も短いNCプログラムの先読みを次に行う手段と、を有することを特徴とするNCプログラムによる運転を備えた数値制御装置である。
請求項3に係る発明は、前記NCプログラムの各ブロックの実行時間を記憶する手段は、予め前記NCプログラムに従って加工を行い、前記NCプログラムの各ブロックの実行時間を計測して記憶しておき、次回以降は該実行時間が読み出される手段であることを特徴とする請求項1に記載のNCプログラムによる運転を備えた数値制御装置である。
請求項4に係る発明は、前記NCプログラムの各ブロックの指令内容から実行時間を算出する実行時間算出手段は、NC指令によって工具が指定された経路を移動するのに要する時間を算出する手段であって、工具経路を細かい切片であるセグメントに分割する手段と、前記セグメントの接線方向の速度を求める速度算出手段と、前記速度算出手段によって求めた接線方向の速度に基づいて各セグメントを前記工具が移動するのに要する時間を算出するセグメント移動時間算出手段と、前記セグメント移動時間算出手段により算出された各セグメントを移動する時間の総和を工具移動時間として求める工具移動時間算出手段と、を有することを特徴とする請求項2に記載のNCプログラムによる運転を備えた数値制御装置である。
請求項5に係る発明は、前記複数のNCプログラムのブロックをメモリまたはネットワークで接続された記憶装置から順次先読みする場合に、前記NCプログラムによる運転と並行して実行中のNCプログラムの先読みしたブロックの実行時間の積算を常に監視する手段と、前記監視する手段により、先読みしたブロックの実行時間の積算が、前記NCプログラムによる運転を安全に減速停止するために必要な時間と等しくなったことを検出した場合に、前記NCプログラムによる運転を減速または一時停止する手段と、前記NCプログラムによる運転を減速または一時停止中に、前記NCプログラムをメモリまたはネットワークで接続された記憶装置から先読みする手段と、前記NCプログラムによる運転を減速または一時停止中に、先読みしたブロックの実行時間の積算が前記NCプログラムによる運転を安全に減速停止するために必要な時間として十分確保された場合、前記NCプログラムによる運転を再開する手段と、を有することを特徴とする、請求項1〜4の何れか1つに記載のNCプログラムによる運転を備えた数値制御装置である。
請求項6に係る発明は、前記NCプログラムの各ブロックの実行時間を記憶する手段は、前記予め加工を行いその実行時間を計測して記憶する際に、先読みしたブロックの実行時間の積算が減速停止を行うために必要な時間と等しくなることによる送り速度の低下が発生した場合は、実行時間をそのまま記憶せず、送り速度の低下が発生しなかった場合の実行時間を記憶する手段を有することを特徴とする、請求項1または3の何れか1つに記載の数値制御装置である。
請求項7に係る発明は、時間、軸位置、あるいは主軸位置を基準とし、基準となる時間、軸あるいは主軸の位置と、前記基準となる軸あるいは主軸とは別の軸あるいは主軸の位置とを対応させたテーブル形式データをメモリまたはネットワークで接続された記憶装置に格納しておき、前記基準となる時間、軸あるいは主軸の位置と、前記基準となる軸あるいは主軸とは別の軸あるいは主軸の位置を順次先読みし、前記基準となる時間、軸あるいは主軸の位置に同期して前記別の軸あるいは主軸の位置を制御する数値制御装置において、前記先読みしたブロックの実行時間を積算する実行時間積算手段と、前記各テーブル形式データの先読みしたブロックの積算した実行時間を比較し、先読みしたブロックの実行時間の積算が最も短いテーブル形式データを判定する判定手段と、前記先読みしたブロックの実行時間の積算が最も短いテーブル形式データの先読みを次に行う手段と、を有することを特徴とするテーブル形式データによる運転を備えた数値制御装置である。
請求項8に係る発明は、前記先読みしたブロックの実行時間を積算する実行時間積算手段は、現在の基準となる時間と先読みしたブロックの基準となる時間の差から先読みしたブロックの実行時間の積算を予測する手段を有する事を特徴とする、請求項7に記載のテーブル形式データによる運転を備えた数値制御装置である。
請求項9に係る発明は、前記テーブル形式データのブロックをメモリまたはネットワークで接続された記憶装置から順次先読みする場合に、前記テーブル形式データによる運転と並行して実行中のテーブル形式データの先読みしたブロックの実行時間の積算を常に監視する手段と、前記監視する手段により先読みしたブロックの実行時間の積算が、前記テーブル形式データによる運転を安全に減速停止するために必要な時間と等しくなったことを検出した場合に、前記テーブル形式データによる運転を減速または一時停止する手段と、前記テーブル形式データによる運転を減速または一時停止中に、前記テーブル形式データをメモリまたはネットワークで接続された記憶装置から先読みする手段と、前記テーブル形式データによる運転を減速または一時停止中に、先読みしたブロックの実行時間の積算が前記NCプログラムによる運転を安全に減速停止するために必要な時間として十分確保された場合、前記テーブル形式データによる運転を再開する手段と、を有することを特徴とする請求項7または8の何れか1つに記載のテーブル形式データによる運転を備えた数値制御装置である。
本発明により、複数のNCプログラムを並列実行する場合、先読みが間に合わなくなることを防ぎ、サイクルタイムが延びることを防ぐプログラムの先読み機能を備えた数値制御装置を提供できるとともに、テーブル形式データによる運転(パステーブル運転)において、複数のテーブル形式データを並列実行する場合、先読みが間に合わないことによるアラーム発生や即時停止が発生しにくくなるテーブル形式データによる運転機能を備えた数値制御装置を提供できる。その結果、従来技術のようにテーブル形式データを修正する必要がなくなり、従来技術よりもサイクルタイム短縮が期待できる。
図12に示す3つのプログラムにおいて、本発明により、9個のブロックを先読みした段階で、各プログラムの先読みしたブロックの実行時間の積算(積算実行時間)を示す図である。 本発明に係る複数のNCプログラムを並行実行する場合の先読み処理のフローを説明する図である。 パステーブル運転を説明するブロック図である。 パステーブル運転を説明するブロック図である。 図4に示されるパステーブル運転で実行されるX軸、主軸S、補助機能のパステーブル例である。 図5のパステーブルを実行した場合、基準となる時間の進行に伴い、実行される動作を説明する図である。 図14に示す3つのパステーブルにおいて、本発明により、9個のブロックを先読みした段階で、各テーブルの先読みしたブロックの実行時間の積算を説明する図である。 NCプログラムまたはパステーブル運転の先読みが間に合わない場合に、NCプログラム運転の場合は送り速度オーバライド、パステーブル運転の場合は時間オーバライドを減少させることで運転を減速させ、先読みブロックが完全になくなった場合は送り速度オーバライドまたは時間オーバライドを0にして一時停止させることを説明する図である。 NCプログラムの処理を説明するフローチャートである。 パステーブル運転の処理を説明するフローチャートである。 本発明に係る、NCプログラムまたはパステーブル運転を実行する数値制御装置の要部ブロック図である。 NCプログラム運転の先読みにより並列実行する3つのプログラム例を示す図である。 図12に示す3つのプログラムにおいて、従来技術により9個のブロックを先読みした段階で、各プログラムの先読みしたブロックの実行時間の積算(積算実行時間)を示す図である。 3つのパステーブル(X軸のパステーブル<X>、主軸Sのパステーブル<S>、補助機能のパステーブル<M>)の例である。 図14に示す3つのパステーブルにおいて、従来技術により9個のブロックを先読みした段階で、各パステーブルプログラムの先読みしたブロックの実行時間の積算(積算実行時間)を説明する図である。 NCプログラム運転において先読みが間に合わずに、運転の減速が行われた場合の、あるブロックの実行時間の例である。
以下、本発明の実施形態を、複数のNCプログラムを実行する場合と、テーブル形式データによる運転(パステーブル運転)を実行する場合と、について図面と共に説明する。
<複数のNCプログラムを実行する場合>
本発明では、先読みしたブロックの実行時間の積算が短いプログラムを優先して先読みする。図12に示した3つのNCプログラムを運転した場合、以下のような順序で先読みが行われる。下記の[]内は各プログラム名と前記各プログラムに対応するブロックの実行時間の積算(積算実行時間)を示している。また、斜体文字は先読みしたプログラムのブロックの実行時間の積算が最も短いプログラムを示している。先読みしたブロックの実行時間を積算するための各ブロックの実行時間の求め方については後述する。
(1)N11を先読みし、その後各プログラムの先読みしたブロックの実行時間を積算[先読みしたブロックの実行時間の積算(O0001,O0002,O0003)=(300,0,0)]
(2)上記(1)でO0002が最も先読みしたブロックの実行時間の積算が短いため、N21を先読みし、その後各プログラムの先読みしたブロックの実行時間を積算
[先読みしたブロックの実行時間の積算(O0001,O0002,O0003)=(300,10,0)]
(3)上記(2)でO0003が最も先読みしたブロックの実行時間の積算が短いため、N31を先読みし、その後各プログラムの先読みしたブロックの実行時間を積算
[先読みしたブロックの実行時間の積算(O0001,O0002,O0003)=(300,10,1)]
(4)上記(3)でO0003が最も先読みしたブロックの実行時間の積算が短いため、N32を先読みし、その後各プログラムの先読みしたブロックの実行時間を積算
[先読みしたブロックの実行時間の積算(O0001,O0002,O0003)=(300,10,2)]
(5)上記(4)でO0003が最も先読みしたブロックの実行時間の積算が短いため、N33を先読みし、その後各プログラムの先読みしたブロックの実行時間を積算
[先読みしたブロックの実行時間の積算(O0001,O0002,O0003)=(300,10,3)]
(6)上記(5)でO0003が最も先読みしたブロックの実行時間の積算が短いため、N34を先読みし、その後各プログラムの先読みしたブロックの実行時間を積算[先読みしたブロックの実行時間の積算(O0001,O0002,O0003)=(300,10,403)]
(7)上記(6)でO0002が最も先読みしたブロックの実行時間の積算が短いため、N22を先読みし、その後各プログラムの先読みしたブロックの実行時間を積算
[先読みしたブロックの実行時間の積算(O0001,O0002,O0003)=(300,110,403)]
(8)上記(7)でO0002が最も先読みしたブロックの実行時間の積算が短いため、N23を先読みし、その後各プログラムの先読みしたブロックの実行時間を積算[先読みしたブロックの実行時間の積算(O0001,O0002,O0003)=(300,160,403)]
(9)上記(8)でO0002が最も先読みしたブロックの実行時間の積算が短いため、N24を先読みし、その後各プログラムの先読みしたブロックの実行時間を積算
[先読みしたブロックの実行時間の積算(O0001,O0002,O0003)=(300,360,403)
図1は、図12に示す3つのプログラムにおいて、本発明により、9個のブロックを先読みした段階で、各プログラムの先読みしたブロックの実行時間の積算(積算実行時間)を示す図である。図1に示されるように、従来技術の説明と同じ量(合わせて9個)のブロックを先読みした段階で、各プログラムの先読みしたブロックの実行時間の積算は、最も短いO0001でも300msとなる。先読みブロックの運転中に、並行して先読みを行うことができるため、先読みが間に合わないことによる待ちは発生しない。
図2は複数のNCプログラムを並行実行する場合の先読み処理のフローを説明する図である。以下、各ステップに従って説明する。
●[ステップSA01]現在先読み対象となっているプログラム全てについて先読みしたブロックの実行時間を積算する。
●[ステップSA02]先読みしたブロックの実行時間の積算が最も短いプログラムPAは先読み可能か否か判断し、先読み可能な場合(YES)にはステップSA03へ移行し、先読み可能ではない場合(NO)にはステップSA04へ移行する。
●[ステップSA03]プログラムPAの次のブロックを先読みし、ステップSA01に戻る。
●[ステップSA04]ステップSA02でプログラムPAは先読み可能ではないと判別されたことから、プログラムPAを先読み対象から除外する。
●[ステップSA05]現在先読み対象から除外されているプログラムのいずれかが先読み対象となったか否か判別し、先読み対象となった場合(YES)にはステップSA06へ移行し、先読み対象となっていない場合(NO)にはステップSA07へ移行する。
●[ステップSA06]先読み可能となったプログラムを先読み対象に加え、ステップSA01へ戻る。
●[ステップSA07]全プログラムが先読み対象から除外されたか否か判断し、全プログラムが先読み対象から除外された場合(YES)には処理を終了し、全プログラムが先読み対象から除外されていない場合(NO)にはステップSA01へ戻る。
図2に示すフローチャート中で、プログラムが先読み対象から除外される例としては、プログラム終了、リセット、アラームによる停止、先読み禁止の指令のような要因が考えられる。
ここで、先読みしたブロックの実行時間を積算するための、各ブロックの実行時間の求め方について説明する。
[手段1]
先読みしたブロックの実行時間を求める手段1を説明する。工作機械を用いて予め加工を行い、加工を行った際の各ブロックの実行時間を計測し、計測した実行時間を工作機械の制御装置の記憶手段に記憶する。そして、次回以降の加工では、前記記憶装置に記憶した実行時間が読み出されることによって、先読みしたブロックの実行時間とすることができる。
[手段2]
先読みしたブロックの実行時間を求める手段2を説明する。手段2は、前記NCプログラムの各ブロックの指令内容から実行時間を算出する。手段2(実行時間算出手段)は、NC指令によって工具が指定された経路を移動するのに要する時間を算出する手段であって、工具経路を細かい切片であるセグメントに分割する手段と、前記セグメントの接線方向の速度を求める速度算出手段と、前記速度算出手段によって求めた接線方向の速度に基づいて各セグメントを前記工具が移動するのに要する時間を算出するセグメント移動時間算出手段と、前記セグメント移動時間算出手段により算出された各セグメントを移動する時間の総和を工具移動時間(つまり、ブロックの実行時間)として求める工具移動時間算出手段とからなる。なお、手段2は特許文献6に開示されているとおり公知の技術であるため、詳述しない。
ここで、NCプログラム運転の先読みが間に合わない状態の監視、運転の減速、一時停止について図8を用いて補足説明する。図8は、NCプログラム運転の先読みが間に合わない場合に送り速度オーバライドを減少させることで運転を減速させ、先読みブロックが完全になくなった場合は送り速度オーバライドを0にして一時停止させることを説明する図である。
NCプログラムの先読みを行いながら運転する場合に、現在の送り軸の指令速度に対する実速度の割合(送り速度オーバライド)を基準にして、NCプログラム運転が減速停止可能な先読みブロックを最低限確保した上で運転する。
現在の送り速度オーバライドで先読みが間に合わない場合、送り速度オーバライドを減少させることで運転を減速させ、先読みブロックが完全になくなった場合は送り速度オーバライドを0にして一時停止させる。減速または停止中にNCプログラムの先読みが行われて、先読みが間に合っていない状態が解消された場合は、送り速度オーバライドを増加させることで加速が行われる。
現在の送り速度オーバライドをOVRDとし、安全に直線形加減速で減速停止するための時間がT(ms)である場合に、先読みが間に合わなくなったことを検出する方法を説明する。
減速開始から一時停止までのT(ms)の間に先読みしたブロックの実行時間の積算(積算実行時間)は(OVRD÷100)×T÷2消費されるため、先読みしたブロックの実行時間の積算がXだった場合、X=(OVRD÷100)×T÷2となった場合に、先読みが間に合わなくなったことを検出することで、減速時間T(ms)で減速停止が可能である。
なお、上記は直線形で減速することを仮定しているが、例えばベル形で減速する場合や、それ以外の場合でも同様に、先読みが間に合わなくなったことを検出することが可能である。
図9はNCプログラム運転の処理を説明するフローチャートである。先読みしたブロックの実行時間の積算をXとする。現在の送り速度オーバライドをOVRD(%)、減速時間をT(ms)とする。以下、各ステップに従って説明する。
●[ステップSB01]先読みしたブロックの実行時間の積算Xが、減速時間T(減速開始から一時停止までの時間)の間の先読みブロックの消費量(OVRD÷100)*T÷2より小さいか否か判断し、小さい場合(YES)にはステップSB03へ移行し、小さくない場合(NO)にはステップSB02へ移行する。
●[ステップSB02]通常通りNCプログラム運転を行い、ステップSB01へ戻る。
●[ステップSB03]最終ブロックまで先読みしているか否か判断し、最終ブロックまで先読みしている場合(YES)には処理を終了し、最終ブロックまで先読みしていない場合(NO)にはステップSB04へ移行する。
●[ステップSB04]先読みが間に合わないことを検出し、減速を開始する。
●[ステップSB05]先読みが行われて先読みしたブロックの実行時間の積算Xが更新されたか否か判定し、先読みが行われて先読みしたブロックの実行時間の積算Xが更新された場合(YES)にはステップSB07へ移行し、先読みが行われて先読みしたブロックの実行時間の積算Xが更新されていない場合(NO)にはステップSB06へ移行する。
●[ステップSB06]減速を続行し(先読みブロックが無い場合は一時停止する)、ステップSB05へ戻る。
●[ステップSB07]ステップSB05,SB06の処理で先読みが間に合わない状態が解消されたため、減速または一時停止を中断し、加速を行い、ステップSB01へ戻る。
図16は段落[0034]から[0040]で説明した減速および一時停止により、あるブロックの実行時間が変化した場合でも、指令通りの送り速度(送り速度オーバライドが100%の状態)でNCプログラム運転が行われたものとして実行時間を記憶する処理を説明する図である。最初の100(ms)の間は指令速度通りの送り速度オーバライド100%で実行されるが、その後先読みが間に合わずに−1.0(%/ms)で減速し、その後100msは送り速度オーバライド60%で動作してそのブロックは実行終了するものとする。この場合、減速が行われなかった場合の実行時間は、(1)の区間が100×(100÷100)=100(ms)、(2)の区間が(100÷100+60÷100)÷2×40=32(ms)、(3)の区間が100×(60÷100)=60(ms)となり、合わせて192(ms)となる。
これにより、先読みが間に合わずに減速および一時停止が行われた場合でも、段落[0033]の[手段1]によって、正確な実行時間を記憶可能である。
<テーブル形式データによる運転(パステーブル運転)を実行する場合>
パステーブル運転に用いられるテーブル形式データは、時間、軸位置、あるいは主軸位置を基準とし、基準となる時間、軸、あるいは主軸の位置と、前記基準となる軸、あるいは、主軸とは別の軸、あるいは、主軸の位置とを対応させたテーブルである。
テーブル形式データによる運転では、プログラム経路の各点を通過する時刻をテーブル形式データにより指定することにより、全ての軸が基準となる時間に同期して動作する。同様に、主軸に対する指令や補助機能指令を出力する時刻をテーブル形式データにより指定することにより、全ての主軸指令や補助機能指令も基準となる時間に同期して出力される。
図3はパステーブル運転ブロック図(特許文献5に開示)である。パステーブル運転を行う数値制御装置は、基準値カウンタ3、X軸パステーブルTx、Z軸パステーブルTz、X軸パステーブル補間処理部4x、Z軸パステーブル補間処理部4z、送り軸のX軸用のモータ5x、送り軸のZ軸用のモータ5zを備えている。
なお、基準となる時間は全テーブル形式データで共通とすることも、あるいは、テーブル形式データ毎に個別の基準となる時間を使用することも可能である。以降の説明では簡略化のため、全テーブル形式データが共通の基準となる時間を使用することを仮定して行う。
特許文献5には、図4に示されるパステーブル運転ブロック図も開示されている。図4に示されるパステーブル運転を行う数値制御装置は、時間あるいは主軸位置あるいは送り軸位置をそれぞれ独立してカウントする第1基準値カウンタ3a、第2基準値カウンタ3b、第3基準値カウンタ3c、X軸パステーブルTx,主軸パステーブルTs,補助機能パステーブルTm、X軸パステーブル補間処理部4x,主軸パステーブル補間処理部4s,補助機能パステーブル出力処理部4m、X軸モータ5x,主軸モータ5sを備えている。
第1基準値カウンタ3a,第2基準値カウンタ3b,第3基準値カウンタ3cは、数値制御装置が有する計時機能からの信号、あるいは、各送り軸や主軸に取り付けられた位置検出器からの位置検出信号をカウントする。そして、第1基準値カウンタ3a,第2基準値カウンタ3b,第3基準値カウンタ3cは、それぞれ、カウントのリセット信号を受けるとカウント値を初期値に戻され、停止信号を受けるとカウント値の更新を停止し、再開信号を受けるとカウント値の更新を再開する。
第1基準値カウンタ3a,第2基準値カウンタ3b,第3基準値カウンタ3cからの基準値を任意に切り換えて選択するための切り換えスイッチ6a,6b,6cを備えている。例えば、X軸用パステーブルTxを第1基準値カウンタ3a,主軸パステーブルTsを第2基準値カウンタ3b,補助機能パステーブルTmを第3基準値カウンタ3cからの基準値にしたがってパステーブル運転が実行できる。あるいは、切り換えスイッチ6a,6b,6cの設定により、全てのパステーブルTx,Ts,Tmを基準値カウンタ3aからの基準値にしたがってパステーブル運転が実行できる。
図4において実行される図5に示されるX軸、主軸S、補助機能のパステーブルの例を説明する。図4において、図5に示されるパステーブルを実行した場合、基準となる時間の進行に伴い、パステーブル運転中の工作機械は図6に示される動作を行う。
本発明では、先読みしたブロックの実行時間の積算が短いパステーブルの先読みを優先して行う。図14に示されるパステーブルを運転した場合、以下のような順番で先読みが行われる。下記の[]内は各パステーブル名と前記各パステーブルに対応するブロックの実行時間の積算(積算実行時間)を示している。また、斜体文字は先読みしたブロックの実行時間の積算が最も短いパステーブルを示している。先読みしたブロックの実行時間を積算するための各ブロックの実行時間については後述する。
(1)<X>のL1を先読みし、その後各プログラムの先読みしたブロックの実行時間を算出
[先読みしたブロックの実行時間の積算(<X>,<S>,<M>)=(1,0,0)]
(2)(1)で<S>の先読みしたブロックの実行時間の積算が最も短いため、<S>のL100を先読みし、その後各プログラムの先読みしたブロックの実行時間を算出
[先読みしたブロックの実行時間の積算(<X>,<S>,<M>)=(1,100,0)]
(3)(2)で<M>の先読みしたブロックの実行時間の積算が最も短いため、<M>のL1000を先読みし、その後各プログラムの先読みしたブロックの実行時間を算出
[先読みしたブロックの実行時間の積算 (<X>,<S>,<M>)=(1,100,1000)]
(4)(3)で<X>の先読みしたブロックの実行時間の積算が最も短いため、<X>のL2を先読みし、その後各プログラムの先読みしたブロックの実行時間を算出
[先読みしたブロックの実行時間の積算(<X>,<S>,<M>)=(2,100,1000)]
(5)(4)で<X>の先読みしたブロックの実行時間の積算が最も短いため、<X>のL3を先読みし、その後各プログラムの先読みしたブロックの実行時間を算出
[先読みしたブロックの実行時間の積算(<X>,<S>,<M>)=(3,100,1000)]
(6)(5)で<X>の先読みしたブロックの実行時間の積算が最も短いため、<X>のL300を先読みし、その後各プログラムの先読みしたブロックの実行時間を算出[先読みしたブロックの実行時間の積算(<X>,<S>,<M>)=(300,100,1000)]
(7)(6)で<S>の先読みしたブロックの実行時間の積算が最も短いため、<S>のL150を先読みし、その後各プログラムの先読みしたブロックの実行時間を算出
[先読みしたブロックの実行時間の積算(<X>,<S>,<M>)=(300,150,1000)]
(8)(7)で<S>の先読みしたブロックの実行時間の積算が最も短いため、<S>のL200を先読みし、その後各プログラムの先読みしたブロックの実行時間を算出
[先読みしたブロックの実行時間の積算(<X>,<S>,<M>)=(300,200,1000)]
(9)(8)で<S>の先読みしたブロックの実行時間の積算が最も短いため、<S>のL300を先読みし、その後各プログラムの先読みしたブロックの実行時間を算出
[先読みしたブロックの実行時間の積算(<X>,<S>,<M>)=(300,300,1000)]
図7は、図14に示す3つのパステーブルにおいて、本発明により、9個のブロックを先読みした段階で、各テーブルの先読みしたブロックの実行時間の積算を説明する図である。
図7に示されるように、従来技術の説明と同じ量(合わせて9個)のブロックを先読みした段階で、先読みしたブロックの実行時間の積算は、最も短い<X>と<S>でも300msとなる。先読みブロックの運転中に並行して先読みを行うことができるため、先読みが間に合わなくなる可能性は低い。なお、もし先読みが間に合わない場合でも、パステーブル運転は先読み待ちとなるため、従来技術のようにアラームや即時停止となることはない。
ここで、パステーブル運転の先読みが間に合わない状態の監視、運転の減速、一時停止について図8を用いて補足説明する。図8は、パステーブル運転の先読みが間に合わない場合に時間オーバライドを減少させることで運転を減速させ、先読みブロックが完全になくなった場合は時間オーバライドを0にして一時停止させることを説明する図である。
パステーブルの先読みを行いながら運転する場合に、現在の基準となる時間の進行速度(時間オーバライド)を基準にして、パステーブル運転が減速停止可能な先読みブロックを最低限確保した上で運転する。
現在の時間オーバライドで先読みが間に合わない場合、時間オーバライドを減少させることで運転を減速させ、先読みブロックが完全になくなった場合は時間オーバライドを0にして一時停止させる。減速または停止中にパステーブルの先読みが行われて、先読みが間に合っていない状態が解消された場合は、時間オーバライドを増加させることで加速が行われる。
現在の時間オーバライドをOVRDとし、安全に直線形加減速で減速停止するための時間がT(ms)である場合に、先読みが間に合わなくなったことを検出すべき基準となる時間の算出方法を説明する。
減速開始から一時停止までのT(ms)の間に先読みしたブロックの実行時間の積算(積算実行時間)は(OVRD÷100)×T÷2消費されるため、先読みしたブロックの実行時間の積算がXだった場合、X=(OVRD÷100)×T÷2となった場合に、先読みが間に合わなくなったことを検出することで、減速時間T(ms)で減速停止が可能である。
なお、上記は直線形で減速することを仮定しているが、例えばベル形で減速する場合や、それ以外の場合でも同様に、先読みが間に合わなくなったことを検出すべき基準となる時間の算出が可能である。
図10はパステーブル運転の処理を説明するフローチャートである。先読みしたブロックの実行時間の積算をXとする。現在の時間オーバライドをOVRD(%)、減速時間をT(ms)とする。以下、各ステップに従って説明する。
●[ステップSC01]先読みしたブロックの実行時間の積算Xが、減速時間T(減速開始から一時停止までの時間)の間の先読みブロックの消費量(OVRD÷100)*T÷2より小さいか否か判断し、小さい場合(YES)にはステップSC03へ移行し、小さくない場合(NO)にはステップSC02へ移行する。
●[ステップSC02]通常通りテーブル形式データの運転を行い、ステップSC01へ戻る。
●[ステップSC03]最終ブロックまで先読みしているか否か判断し、最終ブロックまで先読みしている場合(YES)には処理を終了し、最終ブロックまで先読みしていない場合(NO)にはステップSC04へ移行する。
●[ステップSC04]先読みが間に合わないことを検出し、減速を開始する。
●[ステップSC05]先読みが行われて先読みしたブロックの実行時間の積算Xが更新されたか否か判定し、先読みしたブロックの実行時間の積算Xが更新された場合(YES)にはステップSC07へ移行し、先読みしたブロックの実行時間の積算Xが更新されていない場合(NO)にはステップSC06へ移行する。
●[ステップSC06]減速を続行し(先読みブロックが無い場合は一時停止する)、ステップSC05へ戻る。
●[ステップSC07]ステップSC05,SC06の処理で先読みが間に合わない状態が解消されたため、減速または一時停止を中断し、加速を行い、ステップSC01へ戻る。
ここで、先読みしたブロックの実行時間を積算するための、各ブロックの実行時間について説明する。先読みしたブロックの実行時間を積算する実行時間積算手段は、現在の基準となる時間と先読みしたブロックの基準となる時間の差から先読みしたブロックの実行時間の積算を予測する手段である。
図11は、本発明に係る、NCプログラムまたはパステーブル運転を実行する数値制御装置の要部ブロック図である。CPU11は数値制御装置10を全体的に制御するプロセッサである。CPU11はROM12に格納されたシステムプログラムを、バス20を介して読み出し、該システムプログラムに従って数値制御装置10の全体を制御する。RAM13には一時的な計算データや表示データ及び表示器/MDIユニット70を介してオペレータが入力した各種データが格納される。SRAM14は図示しないバッテリでバックアップされ、数値制御装置10の電源がオフされても記憶装置が保持される不揮発性メモリとして構成される。
SRAM14中には、インタフェース15を介して読み込まれた加工プログラム(NCプログラム)や表示器/MDIユニット70を介して入力された加工プログラム等が記憶される。さらに、前述した各テーブル形式データ(パステーブル)が予め格納されている。また、ROM12には、加工プログラムの作成及び編集処理を実施するための各種システムプログラムが予め書き込まれている。なお、本発明において、NCプログラムやパステーブルの格納場所は数値制御装置内の記憶装置ではなく、例えば、ネットワークで接続された外部の記憶装置に、NCプログラムやパステーブルのデータを記憶させておき、ネットワークを介してNCプログラムの各ブロックやパステーブルのデータを逐次読み出すようにしてもよい。
インタフェース15は、数値制御装置10と図示しないアダプタ等の外部機器との接続を可能とするものである。また、数値制御装置10内で編集した加工プログラムは、外部機器を介して外部記憶装置に記憶させることができる。PMC(プログラマブル・マシン・コントローラ)16は、数値制御装置10内に内蔵されたシーケンスプログラムで工作機械のアクチュエータ等の補助装置にI/Oユニット17を介して信号を出力し制御する。また、工作機械の本体に設けられた操作盤の各種スイッチ等からの信号を受け、必要な信号処理を行った後、CPU11に渡す。表示器/MDIユニット70はディスプレイやキーボード等を備えた手動データ入力装置であり、インタフェース18は表示器/MDIユニット70のキーボードからの指令、データを受け入れてCPU11に渡す。インタフェース19は操作盤71に接続され、操作盤71からの各種指令を受け取るようになっている。
各送り軸の軸制御回路30,31はCPU11からの各送り軸の移動指令を受けて、各送り軸の指令をサーボアンプ40,41に出力する。サーボアンプ40,41はこの指令を受けて、各送り軸のサーボモータ50x,51zを駆動する。各送り軸のサーボモータ50x,51zは図示しない位置・速度検出器を内蔵し、この位置・速度検出器からの位置、速度フィードバック信号を軸制御回路30,31にフィードバックし、位置・速度のフィードバック制御を行う。なお、図11では、この位置・速度のフィードバックについて記載していない。
また、スピンドル制御回路60は主軸回転指令を受け、スピンドルアンプ61にスピンドル速度信号を出力する。スピンドルアンプ61はスピンドル速度信号を受けて、スピンドルモータ(主軸モータ)62を指令された回転速度で回転させる。ポジションコーダ63は、スピンドルモータ(主軸モータ)62の回転に同期して帰還パルス(基準パルス)及び1回転信号をスピンドル制御回路60にフィードバックし、速度制御を行う。この帰還パルス(基準パルス)及び1回転信号は、スピンドル制御回路60を介してCPU11によって読み取られ、帰還パルス(基準パルス)はRAM13に設けられたカウンタ(図3,図4の各基準値カウンタに対応するカウンタ)で計数される。なお、主軸の指令パルスを計数してもよい。
また、RAM13に設けられたカウンタは、数値制御装置10が有する計時機能から得られる時間信号のパルス数を計数する、あるいは、送り軸からのフィードバック信号から得られるパルス数を計数し、パステーブル運転する際の基準信号を得る。あるいは、送り軸の指令パルスを計数してもよい。
ここで、特許請求の範囲の記載について補足説明する。
(請求項1)
図2のフローチャートを用いて説明する。
「実行時間積算手段」は、ステップSA01が対応する。「判定手段」はステップSA02が対応する。「先読み手段」はステップSA03が対応する。
3 基準値カウンタ
3a 第1基準値カウンタ
3b 第2基準値カウンタ
3c 第3基準値カウンタ

Tx X軸パステーブル
Ts 主軸パステーブル
Tm 補助機能パステーブル

4x X軸パステーブル補間処理部
4s 主軸パステーブル補間処理部
4m 補助機能パステーブル出力処理部
5x X軸モータ
5z Z軸モータ
5s 主軸モータ

10 数値制御装置
11 CPU
12 ROM
13 RAM
14 SRAM
15 インタフェース
16 PMC
17 I/Oユニット
18 インタフェース
19 インタフェース
20 バス

30 軸制御回路
31 軸制御回路

40 サーボアンプ
41 サーボアンプ

50x,51z サーボモータ

60 スピンドル制御回路
61 スピンドルアンプ
62 スピンドルモータ
63 ポジションコーダ

70 表示器/MDIユニット
71 操作盤

Claims (9)

  1. 複数のNCプログラムのブロックを、メモリまたはネットワークで接続された記憶装置から、順次先読みしながら並列実行する数値制御装置において、
    前記NCプログラムの各ブロックの実行時間を記憶する実行時間記憶手段と、
    前記先読みしたブロックの実行時間を前記実行時間記憶手段から読み出し、該読み出した実行時間を積算する実行時間積算手段と、
    前記各NCプログラムの先読みしたブロックの積算した実行時間を比較し、先読みしたブロックの実行時間の積算が最も短いNCプログラムを判定する判定手段と、
    前記先読みしたブロックの実行時間の積算が最も短いNCプログラムの先読みを次に行う手段と、
    を有することを特徴とするNCプログラムによる運転を備えた数値制御装置。
  2. 複数のNCプログラムのブロックを、メモリまたはネットワークで接続された記憶装置から、順次先読みしながら並列実行する数値制御装置において、
    前記NCプログラムの各ブロックの指令内容から実行時間を算出する実行時間算出手段と、
    前記実行時間算出手段により算出した前記先読みしたブロックの実行時間を積算する実行時間積算手段と、
    前記各NCプログラムの先読したブロックの積算した実行時間を比較し、先読みしたブロックの実行時間の積算が最も短いNCプログラムを判定する判定手段と、
    前記判定手段により判定された、前記先読みしたブロックの実行時間の積算が最も短いNCプログラムの先読みを次に行う手段と、
    を有することを特徴とするNCプログラムによる運転を備えた数値制御装置。
  3. 前記NCプログラムの各ブロックの実行時間を記憶する手段は、
    予め前記NCプログラムに従って加工を行い、前記NCプログラムの各ブロックの実行時間を計測して記憶しておき、次回以降は該実行時間が読み出される手段であることを特徴とする請求項1に記載のNCプログラムによる運転を備えた数値制御装置。
  4. 前記NCプログラムの各ブロックの指令内容から実行時間を算出する実行時間算出手段は、NC指令によって工具が指定された経路を移動するのに要する時間を算出する手段であって、
    工具経路を細かい切片であるセグメントに分割する手段と、
    前記セグメントの接線方向の速度を求める速度算出手段と、
    前記速度算出手段によって求めた接線方向の速度に基づいて各セグメントを前記工具が移動するのに要する時間を算出するセグメント移動時間算出手段と、
    前記セグメント移動時間算出手段により算出された各セグメントを移動する時間の総和を工具移動時間として求める工具移動時間算出手段と、
    を有することを特徴とする請求項2に記載のNCプログラムによる運転を備えた数値制御装置。
  5. 前記複数のNCプログラムのブロックをメモリまたはネットワークで接続された記憶装置から順次先読みする場合に、
    前記NCプログラムによる運転と並行して実行中のNCプログラムの先読みしたブロックの実行時間の積算を常に監視する手段と、
    前記監視する手段により、先読みしたブロックの実行時間の積算が、前記NCプログラムによる運転を安全に減速停止するために必要な時間と等しくなったことを検出した場合に、前記NCプログラムによる運転を減速または一時停止する手段と、
    前記NCプログラムによる運転を減速または一時停止中に、前記NCプログラムをメモリまたはネットワークで接続された記憶装置から先読みする手段と、
    前記NCプログラムによる運転を減速または一時停止中に、先読みしたブロックの実行時間の積算が前記NCプログラムによる運転を安全に減速停止するために必要な時間として
    十分確保された場合、前記NCプログラムによる運転を再開する手段と、
    を有することを特徴とする、請求項1〜4の何れか1つに記載のNCプログラムによる運転を備えた数値制御装置。
  6. 前記NCプログラムの各ブロックの実行時間を記憶する手段は、
    前記予め加工を行いその実行時間を計測して記憶する際に、先読みしたブロックの実行時間の積算が減速停止を行うために必要な時間と等しくなることによる送り速度の低下が発生した場合は、実行時間をそのまま記憶せず、送り速度の低下が発生しなかった場合の実行時間を記憶する手段を有することを特徴とする、請求項1または3の何れか1つに記載の数値制御装置。
  7. 時間、軸位置、あるいは主軸位置を基準とし、基準となる時間、軸あるいは主軸の位置と、前記基準となる軸あるいは主軸とは別の軸あるいは主軸の位置とを対応させたテーブル形式データをメモリまたはネットワークで接続された記憶装置に格納しておき、前記基準となる時間、軸あるいは主軸の位置と、前記基準となる軸あるいは主軸とは別の軸あるいは主軸の位置を順次先読みし、前記基準となる時間、軸あるいは主軸の位置に同期して前記別の軸あるいは主軸の位置を制御する数値制御装置において、
    前記先読みしたブロックの実行時間を積算する実行時間積算手段と、
    前記各テーブル形式データの先読みしたブロックの積算した実行時間を比較し、先読みしたブロックの実行時間の積算が最も短いテーブル形式データを判定する判定手段と、
    前記先読みしたブロックの実行時間の積算が最も短いテーブル形式データの先読みを次に行う手段と、
    を有することを特徴とするテーブル形式データによる運転を備えた数値制御装置。
  8. 前記先読みしたブロックの実行時間を積算する実行時間積算手段は、
    現在の基準となる時間と先読みしたブロックの基準となる時間の差から先読みしたブロックの実行時間の積算を予測する手段を有する事を特徴とする、
    請求項7に記載のテーブル形式データによる運転を備えた数値制御装置。
  9. 前記テーブル形式データのブロックをメモリまたはネットワークで接続された記憶装置から順次先読みする場合に、
    前記テーブル形式データによる運転と並行して実行中のテーブル形式データの先読みしたブロックの実行時間の積算を常に監視する手段と、
    前記監視する手段により先読みしたブロックの実行時間の積算が、前記テーブル形式データによる運転を安全に減速停止するために必要な時間と等しくなったことを検出した場合に、前記テーブル形式データによる運転を減速または一時停止する手段と、
    前記テーブル形式データによる運転を減速または一時停止中に、前記テーブル形式データをメモリまたはネットワークで接続された記憶装置から先読みする手段と、
    前記テーブル形式データによる運転を減速または一時停止中に、先読みしたブロックの実行時間の積算が前記NCプログラムによる運転を安全に減速停止するために必要な時間として十分確保された場合、前記テーブル形式データによる運転を再開する手段と、
    を有することを特徴とする請求項7または8の何れか1つに記載のテーブル形式データによる運転を備えた数値制御装置。
JP2013217760A 2013-10-18 2013-10-18 プログラムの先読み機能を備えた数値制御装置 Active JP5715217B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2013217760A JP5715217B2 (ja) 2013-10-18 2013-10-18 プログラムの先読み機能を備えた数値制御装置
US14/509,092 US10191472B2 (en) 2013-10-18 2014-10-08 Numerical controller provided with program pre-reading function
DE102014015007.0A DE102014015007B4 (de) 2013-10-18 2014-10-10 Numerische Steuerung mit Programm-Vorablesefunktion
CN201410559190.0A CN104570959B (zh) 2013-10-18 2014-10-20 具备程序的预读功能的数值控制装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013217760A JP5715217B2 (ja) 2013-10-18 2013-10-18 プログラムの先読み機能を備えた数値制御装置

Publications (2)

Publication Number Publication Date
JP2015079461A JP2015079461A (ja) 2015-04-23
JP5715217B2 true JP5715217B2 (ja) 2015-05-07

Family

ID=52775236

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013217760A Active JP5715217B2 (ja) 2013-10-18 2013-10-18 プログラムの先読み機能を備えた数値制御装置

Country Status (4)

Country Link
US (1) US10191472B2 (ja)
JP (1) JP5715217B2 (ja)
CN (1) CN104570959B (ja)
DE (1) DE102014015007B4 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106681275B (zh) * 2015-11-05 2019-04-09 中国科学院沈阳计算技术研究所有限公司 一种数控加工程序段的前瞻预取方法
JP6411992B2 (ja) 2015-12-25 2018-10-24 ファナック株式会社 ハンドル操作に応じてncプログラムを実行する機能において、プログラム実行状態を確認する手段を備えた数値制御装置
JP6542710B2 (ja) * 2016-05-26 2019-07-10 ファナック株式会社 アラーム解決のためのプログラム修正支援機能を備えた数値制御装置
JP6457449B2 (ja) 2016-09-05 2019-01-23 ファナック株式会社 数値制御装置、制御システム、制御方法及び制御プログラム
JP6378284B2 (ja) * 2016-10-21 2018-08-22 ファナック株式会社 数値制御装置、及び数値制御装置の制御方法
JP6760985B2 (ja) * 2018-03-06 2020-09-23 ファナック株式会社 稼働管理装置
WO2019198707A1 (ja) * 2018-04-12 2019-10-17 株式会社クボタ 収穫機
JP6781191B2 (ja) * 2018-05-24 2020-11-04 ファナック株式会社 プログラマブルコントローラ及び機械学習装置
JP6867336B2 (ja) * 2018-07-17 2021-04-28 ファナック株式会社 数値制御装置
JP7283875B2 (ja) * 2018-09-10 2023-05-30 ファナック株式会社 数値制御装置
JP6823034B2 (ja) * 2018-10-31 2021-01-27 ファナック株式会社 数値制御装置
JP6901454B2 (ja) * 2018-10-31 2021-07-14 ファナック株式会社 数値制御装置
JP6838031B2 (ja) * 2018-10-31 2021-03-03 ファナック株式会社 数値制御システム
JP6885914B2 (ja) * 2018-10-31 2021-06-16 ファナック株式会社 数値制御装置
JP6838029B2 (ja) * 2018-10-31 2021-03-03 ファナック株式会社 数値制御装置
JP6838030B2 (ja) * 2018-10-31 2021-03-03 ファナック株式会社 数値制御装置
US11904399B2 (en) * 2020-11-30 2024-02-20 Metal Industries Research & Development Centre Online prediction method of tool-electrode consumption and prediction method of machining accuracy

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59177604A (ja) 1983-03-28 1984-10-08 Fanuc Ltd 数値制御方法
JPS61156309A (ja) * 1984-12-27 1986-07-16 Toshiba Mach Co Ltd 速度段差平滑機能を備えた数値制御装置
JPS6319007A (ja) 1986-07-12 1988-01-26 Niigata Eng Co Ltd 数値制御装置におけるデ−タ伝送方法
JP2935706B2 (ja) * 1988-12-07 1999-08-16 ファナック株式会社 加工プログラム修正方法
JPH087613B2 (ja) 1988-12-13 1996-01-29 松下電器産業株式会社 数値制御装置
JPH03167603A (ja) 1989-11-28 1991-07-19 Mitsubishi Electric Corp Ncプログラムの先読み制御装置
JP3512559B2 (ja) * 1996-02-14 2004-03-29 三菱電機株式会社 数値制御装置
JP2000242319A (ja) 1999-02-18 2000-09-08 Toshiba Mach Co Ltd 数値制御装置
US20020138171A1 (en) * 2001-02-22 2002-09-26 Mutoshi Fukutani Numerical control method and numerically controlled allaratus
JP2003173262A (ja) * 2001-12-06 2003-06-20 Hitachi Ltd プログラムチューニングシステムとプログラムチューニング方法およびプログラムと記録媒体
JP3904945B2 (ja) 2002-02-28 2007-04-11 スター精密株式会社 Ncプログラムのための最適データ変換方法および数値制御工作機械
JP2007094936A (ja) 2005-09-30 2007-04-12 Fanuc Ltd 数値制御装置
JP2007164509A (ja) 2005-12-14 2007-06-28 Fanuc Ltd 数値制御装置
JP2008040542A (ja) 2006-08-01 2008-02-21 Fanuc Ltd 数値制御装置
JP4233583B2 (ja) * 2007-04-03 2009-03-04 ファナック株式会社 複数系統のプログラムの編集機能を有する数値制御装置
JP2008269483A (ja) * 2007-04-24 2008-11-06 Fanuc Ltd 数値制御装置
CN101201612A (zh) 2007-12-20 2008-06-18 北京数码大方科技有限公司 用于数控系统的外挂式优化方法和装置
JP4980458B2 (ja) 2010-10-27 2012-07-18 ファナック株式会社 数値制御工作機械の加工時間予測装置
JP5172990B2 (ja) 2011-05-06 2013-03-27 ファナック株式会社 テーブル形式データによる運転機能を備えた数値制御装置
DE102011105141A1 (de) 2011-06-09 2012-12-13 Dmg Electronics Gmbh Verfahren und system zur simulation eines arbeitsprozesses an einer werkzeugmaschine
FR2983323B1 (fr) 2011-11-28 2014-06-06 Schneider Electric Ind Sas Systeme de gestion de buffers d'evenements horodates
US9043579B2 (en) * 2012-01-10 2015-05-26 International Business Machines Corporation Prefetch optimizer measuring execution time of instruction sequence cycling through each selectable hardware prefetch depth and cycling through disabling each software prefetch instruction of an instruction sequence of interest

Also Published As

Publication number Publication date
DE102014015007B4 (de) 2018-04-05
CN104570959A (zh) 2015-04-29
DE102014015007A1 (de) 2015-04-23
CN104570959B (zh) 2016-08-17
US10191472B2 (en) 2019-01-29
US20150112459A1 (en) 2015-04-23
JP2015079461A (ja) 2015-04-23

Similar Documents

Publication Publication Date Title
JP5715217B2 (ja) プログラムの先読み機能を備えた数値制御装置
JP6267041B2 (ja) 工作機械の熱変位補正装置
JP5172990B2 (ja) テーブル形式データによる運転機能を備えた数値制御装置
JP5860073B2 (ja) 加工条件変更後の誤加工を防止する数値制御装置
CN106346304B (zh) 机床的热位移修正装置
US10416613B2 (en) Machining time estimating apparatus
CN103217927A (zh) 机床的热位移修正装置
JP2012093975A (ja) 数値制御工作機械の加工時間予測装置
US10048675B2 (en) Numerical controller performing 3-dimensional interference check corresponding to feedrate change
JP2015011669A (ja) 複合形固定サイクルの開始点経路短縮機能を有する数値制御装置
CN107132815B (zh) 数值控制装置
CN105549534A (zh) 数值控制装置
US9519280B2 (en) Numerical control device for machine tool
JP6068401B2 (ja) 加工プログラムの読み出し時間に左右されないdnc運転手段を備えた数値制御装置
JP2020071727A (ja) 数値制御装置
JP2014026430A (ja) 加工中断時と再開時の状態の違いを表示する機能を有する数値制御装置
JP6077601B2 (ja) 加工プログラムのサイクルタイムを短縮する数値制御装置
JP5908552B1 (ja) 工作機械の制御装置
JP7448377B2 (ja) 加工プログラムの管理装置、管理システム、管理方法
US20050149224A1 (en) Numerical control device
CN111185801A (zh) 数值控制装置
WO2022244072A1 (ja) 数値制御装置及びコンピュータ読み取り可能な記憶媒体
JP6568152B2 (ja) 数値制御装置
JP6363448B2 (ja) 事前解析とタスク管理による高速な補助マクロ機能を有する数値制御装置
JP2020170470A (ja) 数値制御装置

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20150209

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: 20150217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150312

R150 Certificate of patent or registration of utility model

Ref document number: 5715217

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150