JP2009223615A - 加工再開機能を有する数値制御装置 - Google Patents

加工再開機能を有する数値制御装置 Download PDF

Info

Publication number
JP2009223615A
JP2009223615A JP2008067314A JP2008067314A JP2009223615A JP 2009223615 A JP2009223615 A JP 2009223615A JP 2008067314 A JP2008067314 A JP 2008067314A JP 2008067314 A JP2008067314 A JP 2008067314A JP 2009223615 A JP2009223615 A JP 2009223615A
Authority
JP
Japan
Prior art keywords
program
machining
block
restart
resumption
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
JP2008067314A
Other languages
English (en)
Other versions
JP4480770B2 (ja
Inventor
Masahiko Hosokawa
匡彦 細川
Makoto Haga
誠 芳賀
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 JP2008067314A priority Critical patent/JP4480770B2/ja
Priority to EP20090152005 priority patent/EP2104013B1/en
Publication of JP2009223615A publication Critical patent/JP2009223615A/ja
Application granted granted Critical
Publication of JP4480770B2 publication Critical patent/JP4480770B2/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/406Numerical 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 monitoring or safety
    • G05B19/4067Restoring data or position after power failure or other interruption
    • 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/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50103Restart, reverse, return along machined path, stop

Abstract

【課題】加工再開機能を有する数値制御装置を提供すること。
【解決手段】加工再開機能を有する数値制御装置において、加工プログラムにて加工実行中に、加工を実行しているプログラムブロックを解析する解析手段1〜4と、数値制御装置の動作を規定するコードのうち、どのコードの状態を記憶するかをあらかじめ指定する指定手段5と、プログラムブロックに指令されているコードが前記指定手段により指定されているコードの場合には該コードの状態を記憶する記憶手段6と、該記憶手段により前記記憶されたコードの状態と今回記憶されたコードの状態を比較することにより機能が切り換わっているか否か判断する判定手段7と、判定手段7により機能が切り換わるプログラム命令と判定されたプログラムブロックの場合、加工再開のためのプログラム再開ブロックデータを取得し保存するデータ取得・保存手段8と、を有する加工再開機能を有する数値制御装置。
【選択図】図1

Description

本発明は、工作機械を制御する数値制御装置に関し、特に、加工再開機能を有する数値制御装置に関する。
工作機械を制御する数値制御装置は、加工プログラムに基づいて数値制御処理を実行し、該処理結果により該工作機械を制御しワークに指令通りの加工を施すものである。
数値制御装置を用いてワークを加工中に加工を中断した時、この中断点の情報をプログラム再開ブロックデータとして、現在の数値制御の状態から取得することが行われている。このプログラム再開ブロックデータの中には、中断したプログラムの箇所を示すシーケンス番号情報(プログラムに埋め込まれているNに続く番号)、プログラムカウンタ(運転して何ブロック目にあたるか、という情報)、そのプログラムの名前や番号、親のプログラムの名前や番号、親プログラムのどの箇所から呼び出されたか、また、中断したブロックでどのような機能が実行されていたかを判別できる情報や、ポジションデータ、マクロ変数情報も含んでいる。
このプログラム再開ブロックデータをプログラム再開時に使用して、再開したいプログラムの箇所に仮実行(「仮実行」:機械を駆動しないでプログラムの計算処理を実行すること)をしないで、プログラム中のシーケンス番号のサーチを行なったり、仮実行をしないでプログラムのブロックをカウントしてプログラム再開ブロックまでサーチして、プログラムの目的の箇所に高速で移動させて再開する技術(以下、「ジャンプサーチ」という)も従来から知られている。
また、再開したいブロックまでプログラムを仮実行して、モーダル情報(また機能情報)や補助機能の状態を復活して再開する技術(以下、「仮実行サーチ」という)も知られている。
特開平6−202723号公報 特開2002−373008号公報
ジャンプサーチにより再開した場合には、加工中断位置までのプログラムを実行しないので、特定の機能が加工中断位置より前に指令されていても特定の機能を復元できない。例えば、ジャンプサーチして移動した加工中断箇所が工具径補正中のブロックの場合、工具径補正の補正ベクトル計算がなされない状態で、加工中断箇所から加工が再開されることになり、正常の運転とは異なった工具経路を動作してしまうという問題がある(以下、「第1の問題点」という)。
プログラムの頭から仮実行サーチを実行していき、機能情報とベクトル計算の情報を復活すれば適切な再開が可能であるが、加工再開ブロックまで仮実行サーチするのに時間がかかるという問題ある(以下、「第2の問題点」という)。
さらに、加工再開するブロックとその前後のプログラムと、プログラムのシーケンス番号やブロックカウンタの文字情報の表示が同一画面に表示されないため、機械のオペレータが加工再開ブロックのプログラムの状況を判別することは困難である、という問題がある(以下、「第3の問題点」という)。
そこで本発明は、加工再開ブロックのプログラムの状況をオペレータが容易に判断でき、加工再開した際にも正常運転と同じ工具経路を動作することが可能な、加工再開機能を有する数値制御装置を提供することである。
本願の請求項1に係る発明は、加工再開機能を有する数値制御装置において、加工プログラムにて加工実行中に、加工を実行しているプログラムブロックを解析する解析手段と、数値制御装置の動作を規定するコードのうち、どのコードの状態を記憶するかをあらかじめ指定する指定手段と、プログラムブロックに指令されているコードが前記指定手段により指定されているコードの場合には該コードの状態を記憶する記憶手段と、該記憶手段により前記記憶されたコードの状態と今回記憶されたコードの状態を比較することにより機能が切り換わっているか否か判断する判定手段と、該判定手段により機能が切り換わるプログラム命令と判定されたプログラムブロックの場合、加工再開のためのプログラム再開ブロックデータを取得し保存するデータ取得保存手段と、を有する加工再開機能を有する数値制御装置である。
請求項2に係る発明は、前記データ取得保存手段によって取得保存されるプログラム再開ブロックデータの一つは、プログラムのブロックが格納されているメモリの位置を示すプログラムポインタであることを特徴とする請求項1に記載の加工再開機能を有する数値制御装置である。
請求項3に係る発明は、前記取得保存されるプログラム再開ブロックデータのデータの一部を使用して、複数のプログラム再開ブロックデータを実行された順番で一覧表示する第1の表示手段を有する加工再開機能を有する数値制御装置である。
請求項4に係る発明は、前記第1の表示手段により表示された一覧表示画面より、プログラム再開ブロックデータを選択する選択手段と、該選択手段によりプログラム再開ブロックデータで再開動作を実行する再開動作実行手段と、を有する請求項3に記載の加工再開機能を有する数値制御装置である。
請求項5に係る発明は、前記選択手段により選択されたプログラム再開ブロックデータのプログラムポインタ情報から、再開するプログラムのブロックとその前後の数ブロックを画面に表示する第2の表示手段を有する請求項4に記載の加工再開機能を有する数値制御装置である。
請求項6に係る発明は、前記第2の表示手段により表示された画面において、プログラム表示上のカーソルを動かして、再開するプログラムブロックの箇所をオペレータが任意の位置に変更して、その位置を新たな再開ポイントとして再開を指定する再開箇所指定手段を有する請求項5に記載の加工再開機能を有する数値制御装置である。
本発明により、加工再開ブロックのプログラムの状況をオペレータが容易に判断でき、加工再開した際にも正常運転と同じ工具経路を動作する、加工再開機能を有する数値制御装置を提供することが可能である。
以下、本発明の実施形態を図面と共に説明する。
図1は、本発明の加工再開機能を有する数値制御装置におけるプログラム解析処理とプログラム再開ブロックデータの取得処理に関する要部ブロック図である。以下、各ブロックの機能について説明する。
字句解析手段1は、加工プログラムの英記号と数値記号に分ける処理を行う。構文解析手段2は、指令された英記号と数値の組み合わせは何であるのかを判定する。意味解析手段3は、指令された英記号と数値によりその機能を特定し、機能グループの情報を作成し、機能グループ別の処理やその機能別の処理を実行する。オブジェクトコード生成手段4は、意味解析の結果からオブジェクトコードの生成を行う。字句解析手段1〜オブジェクトコード生成手段4までの機能ブロックは、数値制御装置における加工プログラムの解析処理の機能として従来から用いられている技術手段である。
指定手段5は、数値制御装置の動作を規定するコードのうち、どのコードの状態を記憶するかをあらかじめ設定するための指定手段である。コード状態記憶手段6は、オブジェクトコード生成手段4により生成されたオブジェクトコードで、指定手段5によりあらかじめ指定されたコードに対応する場合に、コードの状態を記憶する手段である。
判定手段7は、機能グループの情報から機能が切り換わるブロックの判別と、運転を停止する信号が入力されたかを判別する。判定手段7による判定の結果、機能が切り換わるブロックの時、もしくは、運手停止する信号が入力されたことが判明した時、データ取得・保存手段8は、プログラム再開ブロックデータを取得しメモリに格納する。
プログラムポインタ取得手段9は、解析中のプログラムのブロックが格納されているメモリのプログラムポインタを取得する手段である。プログラムポインタ取得手段9により取得されたプログラムポインタは、データ取得・保存手段8のメモリにプログラム再開ブロックデータとともに格納される。
なお、コード状態記憶手段から工作機械へ向かう矢印は、加工プログラム解析手段に解析された指令を工作機械の駆動手段に通知することを意味する。
図2は、工作機械を制御する数値制御装置で実行される加工プログラムの一例である。この加工プログラム(O0001)を例として、本発明である加工再開機能を有する数値制御装置の動作について説明する。加工プログラムはプログラム毎にO(オー)番号で判別する。加工プログラムはいくつかのブロックから構成される。各ブロックにはシーケンス番号(Nコード)、準備機能(Gコード)、XやYやZなどの位置情報(座標語)、送り速度(Fコード)、補助機能(Mコード)などを含む。
ここで、図2の加工プログラム(O0001)を説明する。
「シーケンス番号N01」において、G90はアブソリュート指令であり、G00は位置決め早送り指令であり、座標X0、Y0、Z0へ早送りで機械を復帰させる。
「シーケンス番号N02」において、G01は直線補間指令であり、座標X300まで送り速度1500で機械を直線補間で移動させる。
「シーケンス番号N03」において、座標Y300まで送り速度1500で機械を直線補間で移動させる。
「シーケンス番号N04」において、座標X0まで送り速度1500で機械を直線補間で移動させる。
「シーケンス番号N05」において、座標Y0まで送り速度1500で機械を直線補間で移動させる。
「シーケンス番号N06」において、座標Z−10まで送り速度1500で機械を直線補間で移動させる。
「シーケンス番号N07」において、「G12.1」のコードによって極座標補間モードを有効にする。
「シーケンス番号N08」において、座標X100、座標C100までアブソリュート指令で位置決め早送りで機械を移動させる。
「シーケンス番号N09」において、工具径補正(左側オフセット)モードを有効にする。
「シーケンス番号N10」において、座標X160、座標C90まで極座標補間+工具径補正モードで機械を動作させる。
「シーケンス番号N11」において、座標X140、座標C80まで極座標補間+工具径補正モードで機械を動作させる。
「シーケンス番号N12」において、座標X120、座標C70まで極座標補間+工具径補正モードで機械を動作させる。
「シーケンス番号N13」において、座標X110、座標C60まで極座標補間+工具径補正モードで機械を動作させる。
「シーケンス番号N14」において、「G40」のコードによって工具径補正モードを無効とする。そして、座標X100まで極座標補間で機械を移動させる。
「シーケンス番号N15」において、「G13.1」のコードによって極座標補間モードを無効とする。
「シーケンス番号N16」において、位置決め早送りにより座標X100、座標Y100まで直線補間で機械を移動させる。
「シーケンス番号N17」において、原点である座標X0、座標Y0、座標Z0まで、復帰する。
「シーケンス番号N18」において、加工プログラムを終了する。
図2に示される加工プログラム「O0001」を通常運転した時、シーケンス番号がN07、N09、N14、及び、N15が機能を切り換える指令となる。この時の数値制御の動作を規定するコードは、N07はG12.1、N09はG41、N14はG40、N15はG13.1となる。これらのコードはあらかじめ取得保存する対象のコードとして、「コードの状態を記憶するかを指定する手段」によりあらかじめ指定されているものとする。
数値制御装置では、加工プログラムを解析する処理において、例えば、N09のブロック内で実行される「数値制御装置の動作を規定するコード」すなわちG41を判定し、その数値制御装置の動作を工具径補正機能の情報として数値制御装置の内部情報として取得する。その内部情報は似通った機能同士でグループに分けられる。このプログラムの例では、N14で指令されているG40(工具径補正モード無効)が工具径補正機能のグループでG41と同じグループに分類され、G41もG40もグループ毎の変数情報である機能グループ情報として取得されている。
その機能グループ情報には、機能グループ情報が全て有効ではないという情報(機能が無効の状態)も取得している。この加工プログラムの例では、G40が指令された時に機能が無効の状態となるので、工具径補正機能のグループ情報がG40になっていれば機能が無効の状態を判定することができる。また、機能グループの機能が切り換わったという情報も含んでいる。このプログラムの例では、G41からG40に切り換わった時に、機能グループの機能が切り換わることになるので、切り換わったという情報が取得される。
この機能グループ情報はプログラムを1ブロック読み出し、解析した後に作成される。作成された全ての機能グループ情報の内容を判定して、機能が有効になったか、または、そのグループの違う機能に切り換わったか、そのグループの機能が有効から無効になったかを判定することができる。それ故、プログラムにより加工運転している時に、機能が切り換わるブロックを特定して、そのブロックの情報をプログラム再開する場合の再開ブロックデータとして逐次取得保存することができる。
このプログラム「O0001」の例では、N07とN09とN14とN15が機能を切り換える指令となるので、このブロックが実行される過程でプログラム再開ブロックデータが取得される。
さらに、これとは別に加工が中断した加工中断ブロックの情報を再開ブロックデータとして取得保存する。ここで、中断とは、オペレータが中断操作を行った時(停止信号による加工停止)、あるいは、数値制御装置にアラームが発生して加工が中断した時のことを指す。
プログラム再開ブロックデータのプログラム中のブロック箇所を判定するために、シーケンス番号やブロックカウンタ情報に加えて、そのプログラムが格納されていたメモリ上の物理アドレスであるプログラムポインタを一緒に保存する(図1のプログラムポインタ取得手段9を参照)。プログラムポインタにより移動したいブロックに移動する場合は、直接そのプログラムの箇所に移動できるため、ジャンプサーチのようにシーケンス番号やブロックカウンタを使用してプログラムの初めから順番に目的の箇所までサーチして移動する場合より高速にプログラムの箇所に移動できる。
プログラムポインタおよび機能が切り換わる各々のブロックと加工中断した加工中断ブロックの再開ブロックデータにより、中断点のプログラム再開ブロックデータを指定した時に、そのデータの機能グループ情報を判定して、機能グループが既にオンになっていると判定された場合、このプログラム再開ブロックデータでは完全に再開できないことを表示上に警告メッセージを表示することでオペレータに警告することができる。
また、中断点のプログラム再開ブロックデータを使用せずに、前に取得した機能が切り換わるプログラム再開ブロックデータをサーチして、機能が切り換わるブロックのプログラム再開ブロックデータが検索できれば、そのブロックのプログラム再開ブロックデータを最初に指定したプログラム再開ブロックデータの代わりに使用して、そのプログラム再開ブロックデータに保存されているプログラムポインタを使用してプログラムを直接読み出してブロックを移動させ、この再開ブロックデータに格納されている情報で、現在の数値制御の状態を更新する。そして、プログラム再開ブロックデータは機能グループ毎に固定の領域に保存する。
プログラム再開ブロックデータに格納されている情報は表1に示されているとおりである。表1に記載される1の「取得保存した日付、時間」、2の「総プログラムカウンタ」、及び、3の「機能グループ番号」は管理情報となっている。この1の「取得保存した日付、時間」と2の「総プログラムカウンタ」とを判定することにより、どのプログラム再開ブロックデータが新しいかを判定することが可能である。また、番号4番〜番号14番までの情報は、プログラム再開ブロックデータの詳細情報である。
なお、各情報の種類に付与されている番号は、説明を容易にするためのものであって、この数字の符号に特別な意味はない。
Figure 2009223615
表2〜表7に、プログラム再開ブロックデータは機能グループ毎に複数個を固定の領域に保存する場合を示している。表2〜表7は、固定領域に保存したイメージを示す図である。表2〜表7に示される保存形式では、機能グループ毎に8個のプログラム再開ブロックデータしか保存できない。
そのため、プログラム再開ブロックデータを取得し保存していく時に、プログラム再開ブロックデータが8個以上になったら、一番古いプログラム再開ブロックデータを管理情報から探し出して、新しいプログラム再開ブロックデータを上書きする。または、機能グループ毎にリングバッファにしてもよい。リングバッファを用いる時には、1番目から上書きしていく。
Figure 2009223615
Figure 2009223615
Figure 2009223615
Figure 2009223615
Figure 2009223615
Figure 2009223615
プログラム再開ブロックデータは、表8と表9に示されるように「管理情報」(表8参照)と「詳細情報」(表9参照)というように情報を分離して、管理情報のみを機能グループ毎に固定領域に保存してもよいし、管理情報のみをリングバッファ管理にしてもよい。
Figure 2009223615
Figure 2009223615
表10〜表14は、情報を分離する場合の管理情報だけをリングバッファにする形式を表している。管理情報(表10参照)は、取得し保存する順番に1個目からリングバッファに書き込まれていき、100個目まで書き込んで次に新しく取得し保存した場合には、最初に戻り1個目から上書きしていく。この場合、詳細情報は表11〜表14に示されるように、機能グループ毎にまとまっていてもよいし、管理情報の1個目の詳細情報はメモリ上の1個目専用の固定領域というように、管理情報の取得されている順番で示される固定領域に保存してもよい。
Figure 2009223615
Figure 2009223615
Figure 2009223615
Figure 2009223615
Figure 2009223615
ここで、プログラム再開ブロックデータ詳細情報(表1、または、表9参照)の番号6のプログラムポインタの情報を例にとり、本発明の加工再開機能を説明する。
プログラムをメモリ上に格納する時は、プログラムはメモリ上のポインタ情報(以下、このポインタ情報を「プログラムポインタ」という)で管理されている。あるプログラム管理の例で示すと、このプログラムポインタは、プログラムを格納するメモリの先頭から何バイト目であるか、という情報で管理されている場合もある。
このプログラムポインタをプログラム再開ブロックデータに取得しておくことで、プログラムを表示する時に、このプログラムポインタから前にあるブロックを数ブロックだけ読み込んで表示し、プログラムポインタが指し示すブロックと次の数ブロック分読み込んで表示すれば、所望のプログラムを瞬時に表示させることが可能となる。
図3は、数値制御装置が備えたメモリの格納番地に格納されているデータの例である。図3では理解し易いようにメモリ上に格納されているキャラクタで表現している。また、番地がわかり易いように、16キャラクタ毎に区切るようにしている。通常は、英文字や数字は1キャラクタで1バイトの情報となっているので、例えば、1というデータは31と表現されメモリに登録されている。
図3に示されるようにメモリに登録されている場合、プログラム再開ブロックデータの保存されているプログラムポインタが、10236DHであるとすると、N1203G41X140Y150D01;のブロックが再開ブロックとなる。
図4は、本発明により、プログラム再開ブロックデータの一部を表示して一覧表示することを説明する図である。図4に示されるように、プログラムの名前と、シーケンス番号と、そのプログラムの頭から何ブロック目か、という情報を使って一覧表示した例である。前述(請求項1に関連して記載した)の管理情報を検索して内容を調査することにより、取得保存された順番で一覧表示が可能となる。
一覧画面でプログラム再開ブロックデータがカーソルで選択された場合も、右の画面にプログラム再開ブロックデータに保存されているプログラムポインタを使用して、プログラムを表示してもよい。
プログラムを表示するための手段としては、プログラムポインタ情報を使用する場合より低速になるが、プログラム中をシーケンス番号でサーチして、箇所を特定して表示することでも良く、また、プログラムカウンタ情報を使用して箇所を特定してもよい。この一覧表示とプログラムポインタ情報によるプログラム位置の表示により、プログラムブロックの数値制御装置の動作を規定するコードの切り換わる箇所を素早く判定でき、また、そのプログラムブロックの実行順序がわかるため、オペレータはプログラムが正しく動作しているかどうかを判定する確認手段としても使用できる。
一覧表示のカーソルが上下に動作すると、右のプログラム表示が所望のプログラム表示に切り換わるようにしてもよい。また、下部にある「RESTART EXEC(JUMP MODE)」または、「RESTART EXEC(SIMU.MODE)」ボタンを押すことで、現在選択されているプログラム再開ブロックデータを使用してプログラム再開動作を実行してもよい。
「RESTART EXEC(JUMP MODE)」:ジャンプモードでプログラム再開実行。
「RESTART EXEC(SIMU.MODE)」:仮実行モードでプログラム再開実行。
「RESTART BLOCK DETAIL」を押すことで、現在選択されているプログラム再開ブロックデータの詳細表示を行うことが可能(図5を参照)。
「EDIT OF PROGRAM POINT」を押すことで、右側に表示されているプログラム表示のカーソルポイントを上下に移動することができ、移動させたところで、「RESTARAT EXEC(JUMP MODE)」、または、「RESTART EXEC(SIMU.MODE)」ボタンを押すことにより、移動したポイントで再開することができる。
図5は、プログラム再開ブロックデータの1つを選択して、そのデータの詳細表示を行った画面例である。プログラム再開ブロックデータのプログラムポインタ情報を使用して、再開するプログラムの情報を表示することができる。
また、図5に示される「EDIT OF RESTART BLOCK」ボタンを押すことにより、詳細表示のカーソルが当たっているところ(SEQUENCE No.の右の濃い網掛け部分)を上下に移動させオペレータが変更することができ、変更したブロックを再開ポイントとして指定できる。さらに、本詳細画面からも下部にある、「RESTART EXEC(JUMP MODE)」、または、「RESTART EXEC(SIMU.MODE)」ボタンを押すことで、現在詳細表示しているプログラム再開ブロックデータを使用してプログラム再開動作を実行させることができる。
図6は、本発明の加工再開のためのプログラム再開ブロックデータを取得し保存する処理のアルゴリズムを示すフローチャートである。以下、各ステップに従って説明する。
通常のプログラム運転のブロック解析処理で機能コードを解析し、機能コードを有するブロックが格納されているメモリ上のプログラムポインタを取得し、機能コードの解析結果を機能グループ情報に反映する(ステップS100〜ステップS102)。そして、今回指令されたブロックの機能グループ情報をサーチした結果、再開ブロックデータを保存する機能グループ情報が存在するか否かを判断し、機能グループ情報が存在する場合にはステップS104へ移行し、機能グループ情報が存在しない場合にはステップS105へ移行する(ステップS103)。
ステップS104では、機能グループ情報が前のブロックから変更になっている指令か否か判断し、変更になっていない指令であればステップS105へ移行し、運転は終了したか否か判断し、運転終了の場合には処理を終了し、機能グループ情報が変更になっている指令であればステップS106へ移行する(ステップS104、ステップS105)。
ステップS106ではプログラム再開ブロックデータの管理情報領域は一杯であるか否か判断し、管理情報が一杯であれば、プログラム再開ブロックデータの管理情報領域の一番古いデータに新しい管理情報データを上書きし、管理情報データ毎の固定領域に、プログラム再開ブロックデータの詳細情報を取得保存する。この時、予め取得しておいたプログラムポインタも一緒に保存し、ステップS105へ移行する(ステップS106〜ステップS108)。
一方、ステップS106で、管理情報領域が一杯でないと判断された場合には、プログラム再開ブロックデータ管理情報領域の空き領域に管理情報データを取得保存し、ステップS108へ移行する(ステップS109)。
図7は、本発明のプログラム再開ブロックデータを表示および再開動作の処理のアルゴリズムを示すフローチャートである。以下、各ステップに従って説明する。なお、プログラム再開ブロックデータの管理情報は既に一番古いデータ順(または、新しいデータ順でもよい)で整列されセーブされているとする。また、一覧表示にあたって、最大表示数に限りがあるので、セーブされている個々のプログラム再開ブロックデータに1ページ目に表示するか2ページ目に表示するかの情報も既に入力されているとする。
プログラム再開ブロックデータの一覧画面を選択し、ベースの項目表示を行い、プログラム再開ブロックデータは存在するか否か判断し、プログラム再開ブロックデータが存在しない場合には、ステップS203へ移行し、一覧表示にせずに終了する(ステップS200〜ステップS203)。
一方、S202でプログラム再開ブロックデータが存在すると判断される場合には、指定のページのマークのついているプログラム再開ブロックデータの管理情報から再開ブロックデータ詳細情報を割り出し、情報の一部を表示する(ステップS204)。
そして、指定のページのマークについているプログラム再開ブロックデータの管理情報で表示されていないものがあるか否かを判断し、管理情報で表示されていないものがある場合にはステップS204へ戻り、ステップS204およびステップS205の処理を再実行し、管理情報で表示されていないものがない場合にはステップS206へ移行する(ステップS205)。
次に、カーソルがあたっているところのプログラム表示は行ったか否かを判断し、プログラム表示を行わなかった場合には、一覧表示のカーソルがあたっている箇所のプログラム再開ブックデータからプログラムポインタを取得して再開ブロックとその前後のブロックのプログラム表示を行い、ステップS208へ移行する(ステップS206、ステップS207)。
ステップS206でプログラム表示を行った場合には、カーソルの移動があったか否か判断し、カーソルの移動があった場合にはステップS206へ戻り、カーソルの移動がなかった場合には、ページキーが押され、所望のページは存在するか否か判断し、所望のページが存在する場合には、一覧表示をクリアしステップS204へ戻る(ステップS208〜ステップS210)。
ステップ209で、ページキーが押され、所望のページが存在しないと判断された場合には、RESTART EXECは押されたか否か判断し、押されたと判断された場合にはステップS212へ移行し、押されていないと判断された場合にはステップS213へ移行し、他の画面に切り換わったか否か判断し、他の画面に切り換わらなかったと判断された場合にはステップS208へ戻り、他の画面に切り換わったと判断された場合には処理を終了する(ステップS209〜ステップS213)。
ステップS212の処理については図9に示すように、現在選択されているプログラム再開ブロックデータを使用してプログラム再開を開始する処理である。したがって、プログラム再開を開始すると、図7のアルゴリズムのフローチャートの処理に戻り終了する。
図8は、本発明の再開箇所を再設定する処理のアルゴリズムを示すフローチャートである。以下、各ステップに従って説明する。
プログラム再開ブロックデータの一覧画面から1つのプログラム再開ブロックデータが選択され、プログラム再開ブロックデータのプログラムポインタから再開ブロックと前後のブロックのプログラム表示を行う(ステップS300、ステップS301)。そして、プログラム再開ブロックデータの詳細表示ボタンが押されたか否か判断し、詳細表示ボタンが押されていると判断されるとステップS303へ移行し、詳細表示ボタンが押されていないと判断されるとステップS304へ移行する(ステップS302)。ステップS303の処理Bについては、図10を用いてそのアルゴリズムのフローチャートについて後述する。
ステップS304ではプログラム表示を編集するボタンが押されたか否か判断し、ボタンが押されたと判断されるとステップS308へ移行し、ボタンが押されていないと判断されると、RESTART_EXECボタンは押されたか否か判断し、押されたと判断されるとステップS307へ移行し、ステップS307の処理を行い終了し、押されていないと判断されると、他の画面に切り換わったか否か判断し、他の画面に切り換わっていないと判断された場合にはステップS302へ戻り、他の画面に切り換わったと判断されると、処理を終了する(ステップS304〜ステップS307)。ステップS307の処理は前述した図9に示される処理である。
ステップS304から移行したステップS308では、プログラム表示のカーソル動作を可能とし、プログラム再開ブロックデータからプログラムポインタとプログラムカウンタをコピーして表示上のワークを作成し、上にカーソルが動作したか否か判断し、カーソルが上に動作した場合には、プログラム表示のカーソルを1つ上のブロックにあて、表示上のプログラムポインタとプログラムカウンタを更新する(ステップS308〜ステップS311)。
そして、移動したことで表示するブロックがなくなったか否か判断し、ブロックはなくなっていないと判断されるとステップS316へ移行し、表示するブロックがなくなったと判断された場合には、表示上のプログラムポインタを中心に前後のブロックを取得して、プログラム表示を更新しステップS316へ移行する(ステップS312、ステップS313)。
ステップS309で上にカーソルは動作していないと判断されると、下にカーソルは移動したか否か判断し、下にカーソルは動作していないと判断されるとステップS316へ移行し、下にカーソルが動作したと判断された場合にはプログラム表示のカーソルを1つ下のブロックにあてて、ステップS311へ移行する(ステップS314、ステップS315)。
ステップS316ではプログラム編集を終了するボタンが押されたか否か判断し、ボタンが押されていないと判断されるとステップS309へ戻り、押されたと判断されると、表示上のプログラムポインタと表示上のプログラムカウンタを、元のプログラム再開ブロックデータに更新し、また、プログラムカウンタの表示も更新し、ステップS305へ移行する(ステップS316、ステップS317)。
ここで、ステップS303の処理Bについて説明する。図10には、処理Bのアルゴリズムのフローチャートが示されている。以下、各ステップに従って説明する。プログラム再開ブロックデータの詳細表示のベース項目表示を行い、プログラム再開ブロックデータの詳細表示を行う(ステップT200、ステップT201)。
そして、プログラム再開ブロックの詳細表示を編集するボタンが押されたか否かを判断し、編集するボタンが押されていないと判断されると終了し、編集するボタンが押されたと判断されると、プログラム再開ブロックデータを編集する表示に変更する(ステップT202、ステップT203)。
次に、プログラム再開ブロックの詳細表示が編集されたか否か判断し、編集されていないと判断されると図8のステップS304へ戻り、編集されていると判断するとプログラム再開ブロックデータを編集されたデータに更新し図8のステップS304へ戻り、処理を終了する(ステップT204、ステップT205)。
図11は本発明の一実施形態である5軸加工機を制御する数値制御装置の(CNC)100の要部ブロック図である。CPU11は数値制御装置100を全体的に制御するプロセッサである。CPU11は、ROM12に格納されたシステムプログラムをバス20を介して読み出し、該システムプログラムに従って数値制御装置全体を制御する。また、ROM12には、加工プログラムの作成及び編集のために必要とされる編集モードの処理や自動運転のための処理を実施するための各種システムプログラムがあらかじめ書き込まれている。RAM13には一時的な計算データや表示データ及び表示器/MDIユニット70を介してオペレータが入力した各種データが格納される。
SRAMメモリ14は図示しないバッテリでバックアップされ、数値制御装置100の電源がオフされても記憶状態が保持される不揮発性メモリとして構成される。SRAMメモリ14中には、インターフェイス15を介して読み込まれた加工プログラムや表示器/MDIユニット70を介して入力された加工プログラムなどが記憶される。数値制御装置100の動作を規定するコードのうちどのコードの状態を記憶するかをあらかじめ指定する情報を、SRAMメモリ14に入力手段(後述するMDIユニットなど)から入力し記憶させたSRAMメモリ14を図1に示される指定手段5として用いることができる。
CAD/CAM装置や倣い装置などを使って作成した指令点列データおよびベクトル列データを含む加工プログラムがインターフェイス15を介して入力され、SRAMメモリ14に格納されている。本発明で実行される加工再開のためのプログラム再開ブロックデータの取得し保存する処理を行うプログラムもSRAMメモリ14に格納されている。
また、数値制御装置100内で編集した加工プログラムは、インターフェイス15を介して外部記憶装置に記憶させることができる。PMC(プログラマブル・マシン・コントローラ)16は、数値制御装置100に内蔵されたシーケンスプログラムで工作機械の補助装置(例えば、工具交換用のロボットハンドのようなアクチュエータ)にI/Oユニット17を介して信号を出力し制御する。また、工作機械の本体に配備された操作盤の各種スイッチ等の信号を受け、必要な信号処理をした後、CPU11に渡す。
表示器/MDIユニット70はディスプレイやキーボード等を備えた手動データ入力装置であり、インターフェイス15は表示器/MDIユニット70のキーボードからの指令データを受けてCPU11に渡す。インターフェイス19は手動パルス発生器などを備えた操作盤71に接続されている。
各軸の軸制御回路30〜34はCPU11からの各軸の移動指令量を受けて、各軸の指令をサーボアンプ40〜44に出力する。サーボアンプ40〜44はこの指令を受けて、各軸のサーボモータ50〜54を駆動する。各軸のサーボモータ50〜54は位置・速度制御検出器を内蔵し、この位置・速度検出器からの位置・速度フィードバック信号を軸制御回路30〜34にフィードバックし、位置・速度のフィードバック制御を行なう。
サーボモータ50〜54は、5軸加工機のX、Y、Z、B(A)、C軸を駆動するものである。また、スピンドル制御回路60は主軸回転指令を受け、スピンドルアンプ61にスピンドル速度信号を出力する。スピンドルアンプ61はスピンドル速度信号を受けて、主軸モータ62を指令された回転速度で回転させる。ポジションコーダ63は、主軸モータ62の回転に同期して帰還パルスをスピンドル制御回路60にフィードバックし、速度制御を行う。この数値制御装置100によって、5軸加工機を駆動制御するものである。
本発明の加工再開機能を有する数値制御装置におけるプログラム解析処理とプログラム再開ブロックデータの取得処理に関する要部ブロック図である。 数値制御装置で実行される加工プログラムの一例である。 数値制御装置が備えたメモリの格納番地に記憶されているデータの例である。 本発明により、プログラム再開ブロックデータの一部を表示して一覧表示することを説明する図である。 本発明におけるプログラム再開ブロックデータの1つを選択して、そのデータの詳細表示を行った画面例である。 本発明の加工再開のためのプログラム再開ブロックデータを取得し保存する処理のアルゴリズムを示すフローチャートである。 本発明のプログラム再開ブロックデータを表示および再開動作の処理のアルゴリズムを示すフローチャートである。 本発明の再開箇所を再設定する処理のアルゴリズムを示すフローチャートである。 本発明のプログラム再開を開始するアルゴリズムのフローチャートを示す図である。 本発明のプログラム再開ブロックデータを編集するアルゴリズムのフローチャートを示す図である。 本発明の一実施形態である加工再開機能を有する数値制御装置の(CNC)100の要部ブロック図である。
符号の説明
1 字句解析手段
2 構文解析手段
3 意味解析手段
4 オブジェクトコード生成手段
5 指定手段
6 コード状態記憶手段
7 判定手段
8 データ取得・保存手段
9 プログラムポインタ取得手段
11 CPU(プロセッサ)
100 数値制御装置

Claims (6)

  1. 加工再開機能を有する数値制御装置において、
    加工プログラムにて加工実行中に、加工を実行しているプログラムブロックを解析する解析手段と、
    数値制御装置の動作を規定するコードのうち、どのコードの状態を記憶するかをあらかじめ指定する指定手段と、
    プログラムブロックに指令されているコードが前記指定手段により指定されているコードの場合には該コードの状態を記憶する記憶手段と、
    該記憶手段により前記記憶されたコードの状態と今回記憶されたコードの状態を比較することにより機能が切り換わっているか否か判断する判定手段と、
    該判定手段により機能が切り換わるプログラム命令と判定されたプログラムブロックの場合、加工再開のためのプログラム再開ブロックデータを取得し保存するデータ取得保存手段と、
    を有する加工再開機能を有する数値制御装置。
  2. 前記データ取得保存手段によって取得保存されるプログラム再開ブロックデータの一つは、プログラムのブロックが格納されているメモリの位置を示すプログラムポインタであることを特徴とする請求項1に記載の加工再開機能を有する数値制御装置。
  3. 前記取得保存されるプログラム再開ブロックデータのデータの一部を使用して、複数のプログラム再開ブロックデータを実行された順番で一覧表示する第1の表示手段を有する加工再開機能を有する数値制御装置。
  4. 前記第1の表示手段により表示された一覧表示画面より、プログラム再開ブロックデータを選択する選択手段と、該選択手段によりプログラム再開ブロックデータで再開動作を実行する再開動作実行手段と、を有する請求項3に記載の加工再開機能を有する数値制御装置。
  5. 前記選択手段により選択されたプログラム再開ブロックデータのプログラムポインタ情報から、再開するプログラムのブロックとその前後の数ブロックを画面に表示する第2の表示手段を有する請求項4に記載の加工再開機能を有する数値制御装置。
  6. 前記第2の表示手段により表示された画面において、プログラム表示上のカーソルを動かして、再開するプログラムブロックの箇所をオペレータが任意の位置に変更して、その位置を新たな再開ポイントとして再開を指定する再開箇所指定手段を有する請求項5に記載の加工再開機能を有する数値制御装置。
JP2008067314A 2008-03-17 2008-03-17 加工再開機能を有する数値制御装置 Active JP4480770B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008067314A JP4480770B2 (ja) 2008-03-17 2008-03-17 加工再開機能を有する数値制御装置
EP20090152005 EP2104013B1 (en) 2008-03-17 2009-02-04 Numerical controller with machining restart function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008067314A JP4480770B2 (ja) 2008-03-17 2008-03-17 加工再開機能を有する数値制御装置

Publications (2)

Publication Number Publication Date
JP2009223615A true JP2009223615A (ja) 2009-10-01
JP4480770B2 JP4480770B2 (ja) 2010-06-16

Family

ID=40897316

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008067314A Active JP4480770B2 (ja) 2008-03-17 2008-03-17 加工再開機能を有する数値制御装置

Country Status (2)

Country Link
EP (1) EP2104013B1 (ja)
JP (1) JP4480770B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015006443A1 (de) 2014-05-23 2015-11-26 Fanuc Corporation Numerische Steuerung mit programmierter Funktion für einen Bearbeitungsneustart
CN110238698A (zh) * 2019-05-24 2019-09-17 大族激光科技产业集团股份有限公司 一种工件加工程序自动匹配的加工方法及加工设备

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5543534B2 (ja) 2012-07-05 2014-07-09 ファナック株式会社 プログラム再開機能を備えた数値制御装置
CN106444631B (zh) * 2016-11-29 2019-02-19 重庆大学 基于本体的智能机床运行状态信息采集平台及方法
JP6408040B2 (ja) * 2017-01-17 2018-10-17 ファナック株式会社 数値制御装置
CN109426579A (zh) * 2017-08-28 2019-03-05 西门子公司 机床加工文件的中断恢复方法及适用该方法的机床
CN111045396A (zh) * 2019-12-24 2020-04-21 一汽解放汽车有限公司 一种用于国产数控加工中心Fanuc操作系统的一键回原点方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08305428A (ja) * 1995-05-11 1996-11-22 Amada Co Ltd Nc機械における中断した加工の再開方法
JP2002373008A (ja) * 2001-06-15 2002-12-26 Mitsubishi Electric Corp 数値制御装置
JP2007213241A (ja) * 2006-02-08 2007-08-23 Fanuc Ltd 割り込み加工可能な数値制御工作機械

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4638227A (en) * 1984-01-18 1987-01-20 Hitachi, Ltd. Method and apparatus for recovering normality in moving sequence of machinery
JP2817749B2 (ja) * 1991-10-07 1998-10-30 三菱電機株式会社 レーザ加工装置
JP2998473B2 (ja) 1992-12-28 2000-01-11 三菱電機株式会社 数値制御工作機械
JP2006172388A (ja) * 2004-12-20 2006-06-29 Fanuc Ltd 数値制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08305428A (ja) * 1995-05-11 1996-11-22 Amada Co Ltd Nc機械における中断した加工の再開方法
JP2002373008A (ja) * 2001-06-15 2002-12-26 Mitsubishi Electric Corp 数値制御装置
JP2007213241A (ja) * 2006-02-08 2007-08-23 Fanuc Ltd 割り込み加工可能な数値制御工作機械

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015006443A1 (de) 2014-05-23 2015-11-26 Fanuc Corporation Numerische Steuerung mit programmierter Funktion für einen Bearbeitungsneustart
US9904279B2 (en) 2014-05-23 2018-02-27 Fanuc Corporation Numerical control device provided with programmed machining restart function
DE102015006443B4 (de) * 2014-05-23 2021-05-06 Fanuc Corporation Numerische Steuerung mit programmierter Funktion für einen Bearbeitungsneustart
CN110238698A (zh) * 2019-05-24 2019-09-17 大族激光科技产业集团股份有限公司 一种工件加工程序自动匹配的加工方法及加工设备

Also Published As

Publication number Publication date
EP2104013B1 (en) 2014-05-07
EP2104013A3 (en) 2011-04-27
JP4480770B2 (ja) 2010-06-16
EP2104013A2 (en) 2009-09-23

Similar Documents

Publication Publication Date Title
JP4480770B2 (ja) 加工再開機能を有する数値制御装置
JP2641797B2 (ja) 対話形数値制御装置
JP4374045B2 (ja) プログラム再開機能を備えた数値制御装置
JP2006293537A (ja) 数値制御装置
US10139805B2 (en) Ladder diagram monitoring device capable of additionally displaying operation situation of CNC in comment
JPS62277244A (ja) 工作機械の適応制御装置
JP3922256B2 (ja) 数値制御装置
JP2004326618A (ja) 工作機械の数値制御装置
JP2006172388A (ja) 数値制御装置
JP5339815B2 (ja) 加工再開機能を有する数値制御装置
JP2002373008A (ja) 数値制御装置
JP4038216B2 (ja) シーケンスプログラム編集装置
JP2009080591A (ja) 数値制御装置、制御プログラム及び記録媒体
JPH06149342A (ja) 数値制御装置
CN111324088B (zh) 信息处理装置
JP2001350509A (ja) ロボット制御装置
JP2009075727A (ja) 数値制御装置、数値制御プログラム及び数値制御プログラムを記憶した記憶媒体
JP2019168804A (ja) 加工プログラム編集装置
JP2020170266A (ja) ラダー表示装置
JP7464726B2 (ja) 制御装置
JPH06242817A (ja) 数値制御装置
JP2702555B2 (ja) 数値制御装置の再順行方法
JPH0863218A (ja) 数値制御装置のプログラム構成表示方式
EP0436039A1 (en) System for resuming program for automatic operation
KR0136142B1 (ko) 수치제어장치를 이용한 그래픽 시뮬레이션방법

Legal Events

Date Code Title Description
A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20091013

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20091120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091222

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100216

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

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

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

Free format text: PAYMENT UNTIL: 20130326

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4480770

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130326

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140326

Year of fee payment: 4