JP2008293261A - 数値制御装置 - Google Patents

数値制御装置 Download PDF

Info

Publication number
JP2008293261A
JP2008293261A JP2007137888A JP2007137888A JP2008293261A JP 2008293261 A JP2008293261 A JP 2008293261A JP 2007137888 A JP2007137888 A JP 2007137888A JP 2007137888 A JP2007137888 A JP 2007137888A JP 2008293261 A JP2008293261 A JP 2008293261A
Authority
JP
Japan
Prior art keywords
block
analysis
code
numerical control
temporarily
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
JP2007137888A
Other languages
English (en)
Other versions
JP4271248B2 (ja
Inventor
Makoto Haga
誠 芳賀
Masahiko Hosokawa
匡彦 細川
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 JP2007137888A priority Critical patent/JP4271248B2/ja
Priority to US12/125,994 priority patent/US20080294877A1/en
Priority to EP08156870A priority patent/EP2009530B1/en
Priority to CN2008101090635A priority patent/CN101311857B/zh
Publication of JP2008293261A publication Critical patent/JP2008293261A/ja
Application granted granted Critical
Publication of JP4271248B2 publication Critical patent/JP4271248B2/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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Abstract

【課題】加工プログラムのブロックの解析を一時中断し、そのブロック1つ前のブロックの実行が終了したことをもって、一時中断していた箇所からブロックの解析を再開して続行することで、先読み停止制御を提供する。
【解決手段】加工プログラムのブロックを順次先読みして解析して先読みバッファに格納しその後前記ブロックを実行して数値制御する数値制御装置であって、前記ブロックにブロックの解析を一時中断する先読み停止コードがあるか判別する判別手段と、前記判別手段により前記先読み停止コードを判別したときこのブロックの解析を一時中断する手段と、一時中断したこのブロックより順番が1つ手前のブロックの実行が終了したことを判断する終了判断手段と、前記終了判断手段の判断結果に基づき一時中断したこのブロックの解析を再開する再開手段を備えた数値制御装置。
【選択図】図2

Description

本発明は工作機械を制御する数値制御装置に関する。特に、プログラムから指令ブロックを先読みして実行可能なデータを作成し、先読みバッファに一時的に格納した後に該データに基づいて補間処理を行なう数値制御装置に関し、特に、先読み停止制御のサイクルタイムの短縮化を図る数値制御装置に関する。
数値制御装置において先読み制御を行なう際には、シーケンスの後の順番にある例えばシステム変数操作を行なうようなブロックが先読みバッファに格納されず直接実行され、先読みバッファに一時格納中の実行データが処理される際に前記システム変数の操作が及ぼされることがあり、このような場合は先読み停止制御を行なっていた。
数値制御装置における従来の先読み停止制御は、先読み停止制御を行なう指令をプログラム中の1ブロックとして挿入し、その挿入されたブロックで加工プログラムの先読み処理を停止していた(図8(a))。図8(a)で示されるプログラムの例では、N15のブロックを先読みさせないようにするため、N14の先読み停止コードのブロックを挿入していた。先読み停止制御を行なう指令をプログラムの既存ブロックの中に挿入して加工プログラムと一緒に指令できる先読み停止コードもあったが、その一緒に指令された加工プログラムの処理が全て完了してから先読み停止を行なう仕様であった(図8(b))。図8(b)で示されるプログラムの例では、N14のブロックを先読みさせないため、N13のブロックの中に補助機能であるMコードを先読み停止コードとして挿入することもあった。また、ロボットの制御方法において変数が確定した場合に先読みを再開する技術が知られている(特許文献1参照)。
特開平5−218445号公報
先読み停止プログラムを1ブロック挿入する場合は、その1ブロック分の処理時間が加工プログラムの処理時間に加算されてしまい加工時間が延びるという問題があった。また、加工プログラムと一緒に指令できる先読み停止コードは補助機能であるため、ブロックの実行の最後にPMCの信号操作が必要となり実行が遅くなり、加工時間が延びるという問題があった。
そこで、本発明の目的は、加工プログラムの指令と同時に先読み停止コードまたはマクロ変数操作を行なっているコードによって、その指令されたプログラムの指令の解析を行なう処理において、その先読み停止コードまたは先読みを停止するマクロ変数操作が指令されていることを判別して、そのブロックの処理を一時中断し、そのブロックの1つ前のブロックの実行が終了したことをもって、一時中断していた箇所からブロックの解析を再開して続行することで、先読み停止制御を提供するものである。
請求項1に係る発明は、加工プログラムのブロックを順次先読みして解析して先読みバッファに格納しその後前記ブロックを実行して数値制御する数値制御装置であって、前記ブロックにブロックの解析を一時中断し先読み停止するコードがあるか判別する判別手段と、前記判別手段により前記一時中断するコードを判別したときにこのブロックの解析を一時中断する手段と、一時中断したこのブロックより順番が1つ手前のブロックの実行が終了したことを判断する終了判断手段と、前記終了判断手段の判断結果に基づき一時中断したこのブロックの解析を再開する再開手段を備えた数値制御装置である。
請求項2に係る発明は、加工プログラムのブロックを順次先読みして解析して先読みバッファに格納しその後前記ブロックを実行して数値制御する数値制御装置であって、前記ブロックにブロックの解析を一時中断し先読み停止するマクロ変数操作を行なっているコードがあるか判別する判別手段と、前記判別手段により前記一時中断するマクロ変数操作を行なっているコードを判別したときにこのブロックの解析を一時中断する手段と、一時中断したこのブロックより順番が1つ手前のブロックの実行が終了したことを判断する終了判断手段と、前記終了判断手段の判断結果に基づき一時中断したこのブロックの解析を再開する再開手段を備えた数値制御装置である。
請求項3に係る発明は、加工プログラムのブロックを順次先読みして解析して先読みバッファに格納しその後前記ブロックを実行して数値制御する数値制御装置であって、前記ブロックに先読み停止するコードがあるか判別する判断手段と、前記判別手段により判別された前記コードがこのブロックの解析を一時中断するコードか一時中断しないコードかの種別を判断するコード種別判断手段と、一時中断したこのブロックより順番が1つ手前のブロックの実行が終了したことを判断する終了判断手段と、前記コード種別判断手段及び前記終了判断手段の判断結果に基づき解析を一時中断して再開しこのブロックの解析を終了するか、または、解析を継続してこのブロックの解析を終了するかを選択して実行する数値制御装置である。
請求項4に係る発明は、前記先読み停止コードをパラメータにより1つあるいは複数登録できる先読み停止コード登録手段を有する請求項1または3のいずれか1つに記載の数値制御装置である。
請求項5に係る発明は、前記マクロ変数操作を行っているコードがあるかの判別に使用するマクロ変数の範囲をパラメータにより複数指定できるマクロ変数範囲指定手段を有する請求項2に記載の数値制御装置である。
請求項6に係る発明は、前記マクロ変数操作はその判別される操作方法をパラメータにより指定できるマクロ変数操作指定手段を有する請求項2または5のいずれか1つに記載の数値制御装置である。
先読みを停止させる指令を通常の加工プログラム指令に含ませることで、従来の先読み停止ブロックを挿入する方法よりも加工プログラムのサイクルタイムを短縮することが可能となる。また、従来の加工プログラムと同一ブロックに指令する場合の欠点であった一緒に指令された加工プログラムの処理が完了してから先読み停止することも、加工プログラムの解析を一時中断できるので解消することができる。さらに、加工プログラムの解析処理を一時中断し、その中断したところから再開することで、従来の先読み制御方法よりも処理の無駄が無くなるので、これによりさらにサイクルタイムの短縮が可能となる。
以下、本発明の実施形態を図面と共に説明する。
図1に示される本発明の実施形態の数値制御装置8は先読み停止コードテーブル4を備えている。この先読み停止コードテーブル4は、先読みを停止するタイプのコードと、ブロックの解析を一時中断し先読みを停止するタイプのコードとを格納している。先読み停止コードテーブル4に格納されるコードとしてマクロ変数の場合もある。図1において、プログラム先読み解析手段1は、現在実行中のブロックから1ブロック以上先までのブロックを加工プログラムから先読み及び解析を行い、先読みバッファ2に解析結果を格納する。先読みバッファ2には各ブロックのモーダル情報、各軸の移動量、主軸指令回転数、送り速度などの情報が格納される。図1に示すプログラム先読み解析手段1が加工プログラムから1ブロックずつ読み出しブロックの解析を行い、先読み停止コードテーブル4に記憶されている先読みを停止させるコードが現れると加工プログラムの先読みを停止する。図6の加工プログラムの例にあるN14のG900や、図7の加工プログラムの例にあるN14の♯13020のように、先読み停止コードには登録されたコードや登録されたマクロ変数がある。
ここで、数値制御装置8においてブロックの解析とは、ソースコードであるブロックをコンピュータが認識できる実行データであるオブジェクトコードへ変換することを意味する。この変換には、(1)字句解析、(2)マクロ解析、(3)マクロ実行、(4)構文解析、(5)意味解析、(6)オブジェクトコードの生成、(7)最適化の7種類の工程がある。(1)字句解析は英記号と数値記号とを分ける処理を意味する。(2)マクロ解析は字句解析でマクロ変数の特殊記号があった場合にマクロ解析を実行することを意味する。ここで変数番号やマクロ構文を解析し、先読み停止コードテーブル4に登録されている変数操作があった場合は停止する。(3)マクロ実行は解析されたマクロを実行する。マクロプログラムによっては字句解析の結果でマクロのマクロの領域を書き換える。例えば、G00X#100;は、この指令を実行した時に♯100の値が350.0ならば、字句解析の結果データのXアドレスに350.0が入力された、という情報になる。(4)構文解析はG指令の数値は何であるかだけを判定する。(5)意味解析はG指令の数値により、その機能を特定でき、その機能別の処理を実行する。(6)オブジェクトコードの生成は意味解析結果をオブジェクトコード化することである。(7)最適化は生成したオブジェクトコードを最適化することである。本発明の実施形態において順次先読みされたブロックは前記の工程を経て実行データが作成される。マクロ変数操作による先読み停止を行なわない場合には(2)マクロ解析、(3)マクロの実行の変換工程は行なわれない。
そして、数値制御装置8は、前記一時中断するタイプのコードがブロック内にあると前記工程の所定工程でそのブロックの解析を中断する処理を行なう。先読み停止コードをパラメータにより1つあるいは複数登録できるように先読み停止コード登録手段5や、♯10000〜♯11000までの範囲の変数を操作した時はブロック解析を一時中断し先読みを停止するように、ブロックの解析を中断する判別に使用されるマクロ変数の範囲をパラメータにより指定できるマクロ変数範囲指定手段6を備える。また、変数を操作する例としては、例えば、(1)その変数の値を読み込む時、(2)その変数の内容を変更する時、といった操作をパラメータで指定することも可能である。このような指定を行なうことにより、前記(1)の操作は先読み停止しないで、前記(2)の操作のみを先読み停止するというような指定が可能なマクロ変数操作方法指定手段7を備えることができる。なお、数値制御装置8は先読み停止コード登録手段5、マクロ変数変数範囲指定手段6、マクロ変数操作方法指定手段7から適宜選択して備えればよい。
パラメータの具体例としては、例えば、変数番号の範囲を指定して、操作方法をさらに指定する方法がある。例えば、
パラメータ15010=13000
パラメータ15011=13100(または個数を入力する、例えば、100個)
パラメータ15012=0 リード操作、ライト操作も対象
1 リードのみ対象
2 ライトのみ対象
機能で指定する方法として、例えば、
パラメータ15000#=0=1 オフセット機能の変数をリード/ライトした時に 先読み停止する。
パラメータ15000#=1=1 オフセット機能の変数をリードした時のみ先読み 停止する。
パラメータ15000#=2=1 オフセット機能の変数をライトした時のみ先読み
停止する。
このように、パラメータに意味を持たせて設定し、このセットをいくつか登録する。
図2は本実施形態における数値制御装置のプロセッサが実施するブロック解析を一時中断し先読み停止させる意味をもったコードを使用する先読み処理のアルゴリズムのフローチャートである。ブロック解析を一時中断するタイプの先読み停止させる意味をもったコードとしては図6の加工プログラムの例に用いられるG900のように設定される。まず、加工プログラムから1ブロック読み込む(ステップA1)。読み込んだブロックがプログラムエンドかいなかを判断する(ステップA2)。例えば、このプログラムのエンドかいなかはシーケンス番号、プログラムのエンドを示すコードを認識することにより行なえる。図6に示される加工プログラム例ではプログラムエンドを示す補助機能であるM30を認識することによりプログラムのエンドを判断することが可能である。プログラムのエンドと判断されると加工プログラムの処理は終了する。
ステップA3では数値制御装置に用意されている先読みバッファが満杯かいなかを判断する。先読みバッファが満杯であれば満杯で無くなるまで待つ(ステップA3)。満杯かいなかは先読みバッファにブロックの実行データが保存されている位置を示すポインタを認識することなどにより行なうことができる。先読みバッファが満杯でないと判断されると、先読み停止を意味するフラグF1が立っているかいなかを判断する(ステップA4)。フラグが1でない場合(つまり、先読み停止でない場合)、読み込んだブロックの解析を行なう(ステップA5)。ステップA5での解析は字句解析と構文解析が行なわれる。ステップA5で解析されたブロックの情報にブロックの解析を一時中断するタイプの先読み停止コードがあるかいなかを判断する(ステップA6)。ステップA6でブロックの解析を一時中断するタイプの先読み停止コードが無いと判断されると、読み込んだブロックの解析処理を続行し、実行データを作成する(ステップA7)。ステップAでの解析は意味解析から処理を続行することになる。作成された前記実行データは先読みバッファに保存される(ステップA8)。そして、次の1ブロックを読むため最初に戻る。
ステップA6でブロックの解析を一時中断するタイプの先読み停止コードがあると判断されると、ブロックの解析を一時中断するタイプの先読み停止コードを含んだブロックの解析を一時中断する(ステップA9)。そして、先読み停止を意味するためフラグに1を立てる(ステップA10)。ブロックの解析は一時中断であることから、次のブロックを読み込まないように、プログラムエンドを判断するステップA2と先読みバッファは満杯かを判断するステップA3との間に戻る。
ステップA4でフラグ1つまり先読み停止と判断されると、次に先読みバッファは空かいなかが判断される(ステップA11)。ステップA11で先読みバッファが空でないと判断されると先読みバッファが空になるまで待つ。先読みバッファが空と判断されるとステップA9で解析を一時中断したブロックの解析処理を再開して続行し実行データを作成する(ステップA12)。A12の解析処理の続行は意味解析から解析処理を続行する。そして、作成された実行データは先読みバッファに保存される(ステップA13)。一時中断したブロックの解析処理を再開して続行されたことから、次のブロックの解析を可能とするため、フラグを下げ(F1←0)先読み停止状態を解除する(ステップA14)。そして、次のブロックを読み込むため最初に戻る。
図3は本実施形態における数値制御装置のプロセッサが実施するブロック解析を一時中断しブロックの先読みを停止する判別コードとしてマクロ変数操作を使用する先読み処理のアルゴリズムのフローチャートである。まず、加工プログラムから1ブロック読み込む(ステップB1)。読み込んだブロックがプログラムエンドかいなかを判断する(ステップB2)。例えば、このプログラムのエンドかいなかはシーケンス番号、プログラムのエンドを示すコードを認識することにより行なえる。図6に示される加工プログラム例ではプログラムエンドを示す補助機能であるM30を認識することによりプログラムのエンドを判断することが可能である。プログラムのエンドと判断されると加工プログラムの処理は終了する。
ステップB3では数値制御装置に用意されている先読みバッファが満杯かいなかを判断する。先読みバッファが満杯であれば満杯で無くなるまで待つ(ステップB3)。満杯かいなかは先読みバッファにブロックの実行データが保存されている位置を示すポインタを認識することなどにより行なうことができる。先読みバッファが満杯でないと判断されると、先読み停止を意味するフラグF1が立っているかいなかを判断する(ステップB4)。フラグが1でない場合(つまり、先読み停止でない場合)、読み込んだブロックの解析を行なう(ステップB5)。ステップB5でのブロックの解析は字句解析とマクロ解析が行なわれる。ステップB5で解析されたブロックの情報にブロックの解析を一時中断するタイプのマクロ変数操作があるかないかを判断する(ステップB6)。ステップB6で前記タイプのマクロ変数操作が無いと判断されると、読み込んだブロックの解析処理を続行し、実行データを作成する(ステップB7)。ステップB7ではマクロ実行から処理が続行される。作成された前記実行データは先読みバッファに保存される(ステップB8)。そして、次の1ブロックを読むため最初に戻る。
ステップB6でブロックの解析を一時中断するタイプのマクロ変数操作があると判断されると、前記マクロ変数操作を含んだブロックの解析を一時中断する(ステップB9)。そして、先読み停止を意味するためフラグに1を立てる(ステップB10)。ブロックの解析は一時中断であることから、次のブロックを読み込まないように、プログラムエンドを判断するステップB2と先読みバッファは満杯かを判断するステップB3との間に戻る。
ステップB4でフラグ1つまり先読み停止と判断されると、次に先読みバッファは空かいなかが判断される(ステップB11)。ステップB11で先読みバッファが空でないと判断されると先読みバッファが空になるまで待つ。先読みバッファが空と判断されるとステップB9で解析を一時中断したブロックの解析処理を再開して続行し実行データを作成する(ステップB12)。ステップB12ではマクロ実行から解析処理を続行する。そして、実行処理がなされる(ステップB13)。一時中断したブロックの解析処理を再開して続行したことから、次のブロックの解析を可能とするため、フラグを下げ(F1←0)先読み停止状態を解除し先読みを可能な状態にする(ステップB14)。そして、次のブロックを読み込むため最初に戻る。
図3に示されるフローチャートと図2に示されるフローチャートとの相違するところは、ステップA13とステップB13のところである。前者は得られた実行データを先読みバッファに保存しているのに対し、後者は先読みバッファに保存されずにそのまま実行処理がなされている。
図4は図1の先読み停止コードテーブル4に格納されている2種類のコード(先読みしたブロックの解析を一時中断するコード、解析処理を続行し実行データを作成するコード)を用いた先読み処理のアルゴリズムのフローチャートの例である。まず、加工プログラムから1ブロック読み込む(ステップC1)。読み込んだブロックがプログラムエンドかいなかを判断する(ステップC2)。例えば、このプログラムのエンドかいなかはシーケンス番号、プログラムのエンドを示すコードを認識することにより行なえる。図6に示される加工プログラム例ではプログラムエンドを示す補助機能であるM30を認識することによりプログラムのエンドを判断することが可能である。プログラムのエンドと判断されると加工プログラムの処理は終了する。
ステップC3では数値制御装置に用意されている先読みバッファが満杯かいなかを判断する。先読みバッファが満杯であれば満杯で無くなるまで待つ(ステップC3)。満杯かいなかは先読みバッファにブロックの実行データが保存されている位置を示すポインタを認識することなどにより行なうことができる。先読みバッファが満杯でないと判断されると、先読み停止を意味するフラグF1が立っているかいなかを判断する(ステップC4)。フラグが1でない場合(つまり、先読み停止でない場合)、読み込んだブロックの解析を行なう(ステップC5)。ステップC5では字句解析と構文解析が行なわれる。ステップC5で解析されたブロックの情報に先読み停止コードがあるかいなかを判断する(ステップC6)。ステップC6で先読み停止コードが無いと判断されると、読み込んだブロックの解析処理を続行し、実行データを作成する(ステップC7)。作成された前記実行データは先読みバッファに保存される(ステップC8)。そして、次の1ブロックを読むため最初に戻る。
ステップC6で先読み停止コードがあると判断されると、先読み停止コードはブロックの解析を一時中断するタイプかいなかが判断される(ステップC9)。先読みコードG900がブロックの解析を一時中断するタイプとして図6の加工プログラムの例に示されている。また、M900が読み込んだブロックの解析処理を行い、実行データを作成するものとして図8に示されている。そして、C9でブロックの解析を一時中断するタイプの先読み停止コードと判断されると、前記コードを含んだブロックの解析を一時中断し(ステップC10)、先読み停止を意味するためフラグに1を立てる(ステップC11)。ブロックの解析は一時中断であることから、次のブロックを読み込まないように、プログラムエンドを判断するステップC2と先読みバッファは満杯かを判断するステップC3との間に戻る。
ステップC9で先読み一時停止コードがM900のようにブロックの解析を一時中断するタイプではないと判断されると、先読み停止コードを含んだブロックの解析を続行し実行データを作成する(ステップC12)。得られた実行データは先読みバッファに保存される(ステップC13)。そして、先読みバッファが空になるまで待ち(ステップC14)最初に戻る。
ステップC4でフラグ1つまり先読み停止と判断されると、次に先読みバッファは空かいなかが判断される(ステップC15)。ステップC15で先読みバッファが空でないと判断されると先読みバッファが空になるまで待つ。先読みバッファが空と判断されるとステップC10で解析を一時中断したブロックの解析処理を再開して続行し実行データを作成する(ステップC16)。作成された実行データは先読みバッファに保存される(ステップC17)。一時中断したブロックの解析処理を再開して続行されたことから、次のブロックの解析を可能とするため、フラグを下げ(F1←0)先読み停止状態を解除する(ステップC18)。そして、次のブロックを読み込むため最初に戻る。
図5には先読みバッファから実行データを読み出し本実行するアルゴリズムのフローチャートが示されている。先読みバッファが空かいなかを判断し、空でないなら先読みバッファより実行データを取り出し本実行を行う。先読みバッファに格納された実行データは1ブロック単位もしくは多ブロックずつ取り出され本実行される。
図6はG900を先読み停止させる意味をもったコードとした場合の加工プログラム例である。例えば、加工プログラムにおける先頭のブロックは「G90 G00 X0.Y0.;」であり、その次のブロックは「G41 D10 G01 X100 Y100 F500.;」である。D10は工具径補正量である。加工プログラムにおける最終ブロックは「M30;」である。図6に示される加工プログラムは21ブロックで構成されている。♯13010は内容を変更すると工具径補正の10番目のオフセット量を変更することができるマクロ変数であり、♯100の変数に0.5を加算し♯13010に格納することを意味している。そして、ブロック解析においてG900を判別するとプログラムの解析を一時中断する。「(CHANGE VALUE=D10)」はD10の値を変更するという説明文である。
図7はマクロ変数操作を行っているコードをブロック解析の一時中断を判断するコードとした場合の加工プログラムの例である。N14のマクロ変数操作を行なっているコードをブロック解析で判別したところでブロックの解析は一時中断する。N13のブロックの実行が終了したことをもって、解析を中断したN14のブロックから解析を再開し、先読みも再開する。
本発明の一実施形態の工作機械を制御する先読み機能を有する数値制御装置の概要図である。 同実施形態における解析を一時中断し先読みバッファに保存するアルゴリズムを示すフローチャートである。 同実施形態における解析を一時中断し先読みバッファに保存しないアルゴリズムを示すフローチャートである。 同実施形態における先読み停止コードが2種類あるアルゴリズムを示すフローチャートである。 先読みバッファから実行データを読み出し実行するフローチャートである。 G900が先読みを停止させる意味をもったコードとした場合のプログラム例。 マクロ変数操作を行なっているコードが先読みを停止させるコードとした場合のプログラム例。 M900が先読みを停止させる意味をもったコードとした場合のプログラム例。
符号の説明
1 プログラム先読み解析手段
2 先読みバッファ
3 補間手段
4 先読み停止コードテーブル
5 先読み停止コード登録手段
6 マクロ変数範囲指定手段
7 マクロ変数操作方法指定手段
8 数値制御装置

Claims (6)

  1. 加工プログラムのブロックを順次先読みして解析して先読みバッファに格納しその後前記ブロックを実行して数値制御する数値制御装置であって、前記ブロックにブロックの解析を一時中断し先読み停止するコードがあるか判別する判別手段と、前記判別手段により前記一時中断するコードを判別したときにこのブロックの解析を一時中断する手段と、一時中断したこのブロックより順番が1つ手前のブロックの実行が終了したことを判断する終了判断手段と、前記終了判断手段の判断結果に基づき一時中断したこのブロックの解析を再開する再開手段を備えた数値制御装置。
  2. 加工プログラムのブロックを順次先読みして解析して先読みバッファに格納しその後前記ブロックを実行して数値制御する数値制御装置であって、前記ブロックにブロックの解析を一時中断し先読み停止するマクロ変数操作を行なっているコードがあるか判別する判別手段と、前記判別手段により前記一時中断するマクロ変数操作を行なっているコードを判別したときにこのブロックの解析を一時中断する手段と、一時中断したこのブロックより順番が1つ手前のブロックの実行が終了したことを判断する終了判断手段と、前記終了判断手段の判断結果に基づき一時中断したこのブロックの解析を再開する再開手段を備えた数値制御装置。
  3. 加工プログラムのブロックを順次先読みして解析して先読みバッファに格納しその後前記ブロックを実行して数値制御する数値制御装置であって、前記ブロックに先読み停止するコードがあるか判別する判断手段と、前記判別手段により判別された前記コードがこのブロックの解析を一時中断するコードか一時中断しないコードかの種別を判断するコード種別判断手段と、一時中断したこのブロックより順番が1つ手前のブロックの実行が終了したことを判断する終了判断手段と、前記コード種別判断手段及び前記終了判断手段の判断結果に基づき解析を一時中断して再開しこのブロックの解析を終了するか、または、解析を継続してこのブロックの解析を終了するかを選択して実行する数値制御装置。
  4. 前記先読み停止コードをパラメータにより1つあるいは複数登録できる先読み停止コード登録手段を有する請求項1または3のいずれか1つに記載の数値制御装置。
  5. 前記マクロ変数操作を行っているコードがあるかの判別に使用するマクロ変数の範囲をパラメータにより複数指定できるマクロ変数範囲指定手段を有する請求項2に記載の数値制御装置。
  6. 前記マクロ変数操作はその判別される操作方法をパラメータにより指定できるマクロ変数操作指定手段を有する請求項2または5のいずれか1つに記載の数値制御装置。
JP2007137888A 2007-05-24 2007-05-24 先読み停止機能を有する数値制御装置 Active JP4271248B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2007137888A JP4271248B2 (ja) 2007-05-24 2007-05-24 先読み停止機能を有する数値制御装置
US12/125,994 US20080294877A1 (en) 2007-05-24 2008-05-23 Numerical controller having function of resuming look-ahead of block
EP08156870A EP2009530B1 (en) 2007-05-24 2008-05-23 Numerical controller having function of resuming look-ahead of block
CN2008101090635A CN101311857B (zh) 2007-05-24 2008-05-23 具有重新开始程序块先行处理功能的数值控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007137888A JP4271248B2 (ja) 2007-05-24 2007-05-24 先読み停止機能を有する数値制御装置

Publications (2)

Publication Number Publication Date
JP2008293261A true JP2008293261A (ja) 2008-12-04
JP4271248B2 JP4271248B2 (ja) 2009-06-03

Family

ID=40044194

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007137888A Active JP4271248B2 (ja) 2007-05-24 2007-05-24 先読み停止機能を有する数値制御装置

Country Status (4)

Country Link
US (1) US20080294877A1 (ja)
EP (1) EP2009530B1 (ja)
JP (1) JP4271248B2 (ja)
CN (1) CN101311857B (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017204188A (ja) * 2016-05-12 2017-11-16 ファナック株式会社 条件指定による加工プログラム先読み開始機能を備えた数値制御装置
JP2017224137A (ja) * 2016-06-15 2017-12-21 ファナック株式会社 数値制御装置および変数判定方法
JP2021009425A (ja) * 2019-06-28 2021-01-28 ファナック株式会社 数値制御装置
US11112774B2 (en) 2019-04-05 2021-09-07 Fanuc Corporation Numerical controller

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8776038B2 (en) 2008-08-07 2014-07-08 Code Systems Corporation Method and system for configuration of virtualized software applications
US8434093B2 (en) 2008-08-07 2013-04-30 Code Systems Corporation Method and system for virtualization of software applications
US8954958B2 (en) 2010-01-11 2015-02-10 Code Systems Corporation Method of configuring a virtual application
US8959183B2 (en) 2010-01-27 2015-02-17 Code Systems Corporation System for downloading and executing a virtual application
US9104517B2 (en) 2010-01-27 2015-08-11 Code Systems Corporation System for downloading and executing a virtual application
US9229748B2 (en) 2010-01-29 2016-01-05 Code Systems Corporation Method and system for improving startup performance and interoperability of a virtual application
US8763009B2 (en) 2010-04-17 2014-06-24 Code Systems Corporation Method of hosting a first application in a second application
US9218359B2 (en) 2010-07-02 2015-12-22 Code Systems Corporation Method and system for profiling virtual application resource utilization patterns by executing virtualized application
US9021015B2 (en) 2010-10-18 2015-04-28 Code Systems Corporation Method and system for publishing virtual applications to a web server
US9209976B2 (en) 2010-10-29 2015-12-08 Code Systems Corporation Method and system for restricting execution of virtual applications to a managed process environment
JP5657623B2 (ja) * 2012-09-21 2015-01-21 ファナック株式会社 系統間待合せ機能を有する数値制御装置
JP5727573B2 (ja) * 2013-10-16 2015-06-03 ファナック株式会社 プログラム呼出しで一時停止する数値制御装置
JP6068401B2 (ja) 2014-07-30 2017-01-25 ファナック株式会社 加工プログラムの読み出し時間に左右されないdnc運転手段を備えた数値制御装置
US10248107B2 (en) * 2014-09-30 2019-04-02 Makino Milling Machine Co., Ltd. Control device for machine tool, and machine tool
JP6444933B2 (ja) * 2016-04-25 2018-12-26 ファナック株式会社 非切削状態において消費電力低減を行う数値制御装置
EP3480671A1 (de) * 2017-11-02 2019-05-08 Siemens Aktiengesellschaft Verfahren zum betrieb einer numerisch gesteuerten produktionsanlage sowie produktionsanlage dazu
JP6838031B2 (ja) 2018-10-31 2021-03-03 ファナック株式会社 数値制御システム
JP6838029B2 (ja) * 2018-10-31 2021-03-03 ファナック株式会社 数値制御装置
JP6838030B2 (ja) * 2018-10-31 2021-03-03 ファナック株式会社 数値制御装置
JP6823034B2 (ja) * 2018-10-31 2021-01-27 ファナック株式会社 数値制御装置
JP6901454B2 (ja) * 2018-10-31 2021-07-14 ファナック株式会社 数値制御装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5835627A (ja) * 1981-08-26 1983-03-02 Toshiba Corp メモリデ−タ先取り制御方式
JPH05218445A (ja) 1992-02-07 1993-08-27 Olympus Optical Co Ltd 強誘電体メモリ
EP0606649B1 (en) * 1992-12-28 1998-03-18 Mitsubishi Denki Kabushiki Kaisha Numerically controlled machine tool and method to re-execute a machining program after it has been stopped
US6122729A (en) * 1997-05-13 2000-09-19 Advanced Micro Devices, Inc. Prefetch buffer which stores a pointer indicating an initial predecode position
US5845101A (en) * 1997-05-13 1998-12-01 Advanced Micro Devices, Inc. Prefetch buffer for storing instructions prior to placing the instructions in an instruction cache
US6393527B1 (en) * 1998-12-18 2002-05-21 Ati International Srl Prefetch buffer with continue detect
JP3867427B2 (ja) * 1999-01-11 2007-01-10 ソニー株式会社 プロセッサ装置および集積回路
JP4216808B2 (ja) * 2003-02-20 2009-01-28 三菱電機株式会社 数値制御装置
CN1595319A (zh) * 2003-09-10 2005-03-16 发那科株式会社 数值控制装置
JP2006172388A (ja) * 2004-12-20 2006-06-29 Fanuc Ltd 数値制御装置
JP2006293537A (ja) * 2005-04-07 2006-10-26 Fanuc Ltd 数値制御装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017204188A (ja) * 2016-05-12 2017-11-16 ファナック株式会社 条件指定による加工プログラム先読み開始機能を備えた数値制御装置
US10338570B2 (en) * 2016-05-12 2019-07-02 Fanuc Corporation Numerical controller
JP2017224137A (ja) * 2016-06-15 2017-12-21 ファナック株式会社 数値制御装置および変数判定方法
US11112774B2 (en) 2019-04-05 2021-09-07 Fanuc Corporation Numerical controller
JP2021009425A (ja) * 2019-06-28 2021-01-28 ファナック株式会社 数値制御装置
US11048222B2 (en) 2019-06-28 2021-06-29 Fanuc Corporation Numerical control device
JP7260420B2 (ja) 2019-06-28 2023-04-18 ファナック株式会社 数値制御装置

Also Published As

Publication number Publication date
US20080294877A1 (en) 2008-11-27
CN101311857A (zh) 2008-11-26
CN101311857B (zh) 2010-12-01
EP2009530A3 (en) 2010-12-22
EP2009530A2 (en) 2008-12-31
EP2009530B1 (en) 2012-07-25
JP4271248B2 (ja) 2009-06-03

Similar Documents

Publication Publication Date Title
JP4271248B2 (ja) 先読み停止機能を有する数値制御装置
JP5657623B2 (ja) 系統間待合せ機能を有する数値制御装置
JP5956506B2 (ja) プログラム加工再開機能を有する数値制御装置
JP2008134983A (ja) 加工再開機能を備えた数値制御装置
JP4480770B2 (ja) 加工再開機能を有する数値制御装置
JP5339815B2 (ja) 加工再開機能を有する数値制御装置
JP6407919B2 (ja) 数値制御装置および変数判定方法
JP2009086898A (ja) プログラム可能な論理制御装置用マシーンコード・プログラムのコンパイル法
KR20080045545A (ko) 조건부 영역을 전처리하는 방법
KR980004050A (ko) 최적화 과정을 참조하면서 동작 검증을 행하도록 디버그 정보를 생성하는 디버그 정보 생성 장치 및 프로그래머가 최적화 과정을 의식하면서 동작 검증을 할 수 있는 디버그 장치로 이루어지는 프로그램 개발 시스템
JP7548464B1 (ja) プログラマブルロジックコントローラ、支援装置、およびロギング方法
WO1991000557A1 (en) Nc data execution method
JP4563669B2 (ja) 命令模擬装置
JP6997131B2 (ja) 数値制御装置
JP2000242319A (ja) 数値制御装置
JPH11195011A (ja) 言語翻訳処理装置、言語翻訳処理方法、言語翻訳処理プログラムを記録した記録媒体
EP0315995A2 (en) Processing system for branch instruction
JP3130421B2 (ja) プログラム解析方法および装置
JPH07248923A (ja) コンパイラ
JPH04127326A (ja) 情報処理装置および命令生成方法
JP2008276334A (ja) 修正対象ファイル検索装置と修正対象ファイル検索方法および修正対象ファイル検索プログラム
JPH04213727A (ja) 情報処理装置
JPH0535455A (ja) プログラムのスクロール表示方式
JPH09258973A (ja) プログラミング・コンソール
JP2019028641A (ja) 加工プログラム編集装置、加工プログラム編集方法、および加工プログラム編集プログラム

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081007

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081204

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090224

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120306

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4271248

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130306

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130306

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140306

Year of fee payment: 5