JP2008134983A - 加工再開機能を備えた数値制御装置 - Google Patents

加工再開機能を備えた数値制御装置 Download PDF

Info

Publication number
JP2008134983A
JP2008134983A JP2007075279A JP2007075279A JP2008134983A JP 2008134983 A JP2008134983 A JP 2008134983A JP 2007075279 A JP2007075279 A JP 2007075279A JP 2007075279 A JP2007075279 A JP 2007075279A JP 2008134983 A JP2008134983 A JP 2008134983A
Authority
JP
Japan
Prior art keywords
program
machining
block
executed
stored
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.)
Pending
Application number
JP2007075279A
Other languages
English (en)
Inventor
Takeshi Mochida
武志 持田
Keiichiro Miyajima
敬一郎 宮嶋
Koji Fujiwara
浩二 藤原
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 JP2007075279A priority Critical patent/JP2008134983A/ja
Priority to EP07118760A priority patent/EP1918796A2/en
Priority to US11/976,892 priority patent/US20080103625A1/en
Publication of JP2008134983A publication Critical patent/JP2008134983A/ja
Pending legal-status Critical Current

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

Abstract

【課題】メモリ容量を増大させることなく、かつ加工再開までの時間を短縮した加工再開機能を備える数値制御装置を提供する。
【解決手段】加工中断時の数値制御装置の内部状態を復元するために実行する必要がなくスキップするサブプログラム等のプログラム部をその番号等で登録しておく。内部状態を復元する際、読み出したブロックがスキップするプログラム部でないときのみ、機械を動かさずに実行し、機械座標位置等の内部状態を更新記憶する(b5)。又、ブロック位置を示すポインタを更新する(b8)。ポインタが、加工中断時のポインタの値と等しくなり、中断ブロックに達したことが判別すると(b7)、加工中断時に記憶していた補間情報等の内部状態を復元し(b9)、加工を再開する(b10)。必要のないプログラムをスキップするから処理時間が短縮できる。又、必要なメモリ容量も少なくてすむ。
【選択図】図3

Description

本発明は、工作機械を制御する数値制御装置に関する。特に、加工途中で加工を中断した際、その後、加工を再開するための加工再開機能を備えた数値制御装置に関する。
工作機械を制御する数値制御装置においては、一般に、加工中断後、加工再開を実現するためには、実行していたプログラムのブロック、機械位置、補間データ等、数値制御装置の内部状態を加工中断した時の状態に忠実に復元し、中断点から再開する加工再開機能が搭載されている。
この加工再開機能として、例えば、加工プログラムの実行中、実行完了ブロックの次の次のブロックを読み出す位置を示すポインタPの値と、実行完了ブロックの次のブロック解析データ(プログラムのブロックを解析したデータ)BD、実行完了のブロックの指令データ(解析データに基づいて実行するための指令データ)CDの内部状態を記憶手段に記憶しておき、加工中断が発生し、加工を再開する際には、この記憶手段に記憶したポインタPの値を加工プログラムを解析する位置ポインタPの値とし、プログラムを解析したデータとして記憶した解析データBDをセットし、かつ指令データCDをもセットして、中断時の内部状態に全て復元して加工を再開するようにしたものが知られている(特許文献1参照)。
又、加工を中断した時、中断時に実行中であったプログラム番号、シーケンス番号、ブロック番号、Gコード、Mコード、Sコード、Tコードを記憶しておき、加工再開時には、この記憶した加工中断時の情報を入力し、実行プログラム番号のプログラムのサーチを実行し、記憶した情報に基づいて加工を再開するようにしたものも知られている(特許文献2参照)。
特開平7−152416号公報 特開平2−151909号公報
加工再開機能としては、数値制御装置にかかる負担が少なく、効率よく加工を再開できるようにすることが望ましい。特許文献1に記載された発明では、通常の加工運転の際に、加工プログラムのブロックを解析したとき、その都度その解析データを記憶し、さらに、この解析データに基づいて指令データを作成し、この指令データが作成される毎にこの指令データも記憶させておかねばならないものである。加工再開機能のために、余分に解析データや指令データを記憶させておかねばならず、その分、処理が複雑となり、処理時間を長くし、かつ、これらのデータを記憶するためのメモリ容量が増大するという問題がある。
一方、特許文献2に記載された発明は、加工が中断された時の内部状態を記憶するという処理が必要なものの、余分なメモリや通常の加工運転中に加工再開機能への対応も格別必要とせず、数値制御装置の加工中断時の内部状態を復元可能だが、プログラムの長さや、サブプログラム呼出しの実行回数により、再開までに多大な時間がかかるという欠点がある。
そこで、本発明の目的は、数値制御装置のメモリ容量を増大させることなく、かつ加工再開までの時間を短縮した加工再開機能を備える数値制御装置を提供することにある。
本願請求項1に係る発明は、加工を中断した位置から再開する、加工再開機能を備えた数値制御装置であって、数値制御装置を加工中断時の内部状態に復元するために実行する必要のないプログラム部の情報が予め設定され記憶されているスキッププログラム部記憶手段と、加工プログラムにおける現在実行中のブロックの指令での補間情報を記憶する補間情報記憶手段と、加工中断後の再開指令により、加工プログラムの先頭ブロックから、前記スキッププログラム部記憶手段に記憶されたプログラム部以外のブロックの指令のみを、加工プログラムのブロック位置を示すポインタで示される加工中断点まで機械を動かさずに実行するプログラム空実行手段と、該プログラム空実行手段により加工中断点まで加工プログラムが実行されると前記補間情報記憶手段に記憶する補間情報を数値制御装置に復元して加工を再開させる手段とを備え、メモリ容量を増加させることなく、かつ、加工再開を短時間で実行できるようにしたものである。
又、請求項2に係る発明は、加工を中断した位置から再開する、加工再開機能を備えた数値制御装置であって、数値制御装置を加工中断時の内部状態に復元するために実行する必要のないプログラム部の情報が予め設定され記憶されているスキッププログラム部記憶手段と、現在実行中のプログラム情報を記憶するプログラム情報記憶手段と、加工プログラムにおける現在実行中のブロックの指令での補間情報を記憶する補間情報記憶手段と、加工プログラムより読み出したブロックが前記スキッププログラム部記憶手段に記憶されたプログラム部に該当するとスキップするブロックとするスキップブロック判別手段と、加工中断後の再開指令により、前記プログラム情報記憶手段で記憶したプログラムの先頭ブロックから読み出し、スキップブロック判別手段でスキップするブロックと判別されないブロックの指令のみ機械を動かさずに実行するプログラム空実行手段と、前記プログラム情報記憶手段で記憶するブロック情報で示される加工中断ブロックまで前記プログラム空実行手段で加工プログラムが実行されたか判別する中断ブロック判別手段と、該中断ブロック判別手段で加工中断ブロックまで実行されたことが判別されると、前記補間情報記憶手段により記憶した補間情報を数値制御装置に復元する補間情報復元手段とを備え、該補間情報復元手段で補間情報が復元された後、該ブロック位置及び復元された補間情報に基づいて加工を再開することを特徴とするものである。
請求項3に係る発明は、請求項2に係る発明における前記プログラム情報記憶手段で記憶するプログラム情報を、現在実行中のメインプログラム番号と、加工プログラムのブロック位置を示すポインタの値、前記スキップブロック判別手段で判別したスキップするプログラム部を除く実行ブロック数としたものである。さらに、請求項4に係る発明は、前記スキッププログラム部記憶手段に記憶されるプログラム部の情報を、シーケンス番号、サブプログラム番号としたものである。
請求項5に係る発明は、加工を中断した位置から再開する、加工再開機能を備えた数値制御装置であって、現在実行中のプログラム情報を記憶するプログラム情報記憶手段と、加工プログラムにおける現在実行中のブロックの指令での補間情報を記憶する補間情報記憶手段と、加工中断後の加工再開時に機械を動かさずにプログラムを実行する空運転モードを記憶する手段と、空運転モード時にはスキップするプログラムを指定した加工プログラムと、加工中断後の加工プログラム実行時、加工を中断したブロックまで実行したかを判別する中断ブロック判別手段と、加工中断後の再開指令により前記プログラム情報記憶手段で記憶したプログラムの先頭ブロックから読み出し、前記中断ブロック判別手段で判別される加工中断ブロックまで、プログラムで指定したプログラム部をスキップしながら、前記空運転モードで加工プログラムを実行する空運転実行手段と、前記空運転実行手段による加工中断ブロックの実行の完了で、前記補間情報記憶手段により記憶した補間情報を復元する補間情報復元手段と、前記補間情報復元手段で補間情報が復元されたあと、空運転モードを通常の運転モードに切換て加工を再開する加工再開手段とを備えたことを特徴とするものである。
請求項6に係る発明は、請求項5に係る発明において、前記プログラム情報記憶手段に、通常運転モードでの加工プログラム実行中、前記空運転モードにおいてスキップするプログラム部のブロック以外のブロックを実行するときのみ、そのブロックに対応するポインタの値を記憶し、前記中断ブロック判別手段で、ブロック位置を示すポインタにより加工を中断したブロックを判別するようにしたものである。
また、請求項7に係る発明は、請求項5に係る発明において、前記プログラム情報記憶手段に、通常運転モードでの加工プログラム実行中、前記空運転モードにおいてスキップするプログラム部のブロック以外の実行したブロックの数を記憶し、前記中断ブロック判別手段で、前記プログラム情報記憶手段に記憶するブロック数と、空運転モードで空運転したブロック数とにより、加工を中断したブロックを判別するようにしたものである。
本発明は、加工再開機能のためにメモリ容量を格別大きなものにする必要がなく、かつ、加工再開が短時間で実現できる。
以下、本発明の実施形態を図面と共に説明する。
図1は、本発明の実施形態の工作機械を制御する数値制御装置の概要図である。従来の工作機械を制御する数値制御装置の構成と同じであり、図1では、概略的に示している。従来の数値制御装置と相違する点は、メモリ(記憶手段)に記憶される加工プログラムの実行処理のソフトウェアが加工再開機能を実現するために一部相違し、又、後述する加工再開機能のソフトウェアが格納されている点で従来の数値制御装置と相違する。
数値制御装置10は、プロセッサ(CPU)11とバス18で接続されたメモリ(記憶手段)12、インタフェース13、表示器14、機械操作盤15、工作機械20の各軸のサーボモータを制御する各軸制御手段16、工作機械20の主軸モータを制御する主軸制御手段17を備えている。
メモリ12は、ROM、RAM、不揮発性メモリ(RAM)等で構成され、ROMには、全体を制御するシステムプログラムが格納され、不揮発性メモリには各種加工プログラムが格納されている。特に、本発明と関係し、不揮発性メモリには、加工再開時に解析実行しないプログラム部が予め設定記憶されている。インタフェース13は、各種加工プログラム等を格納する外部記憶手段21が接続され、この加工プログラムをプロセッサが読み出し可能になっている。
表示器14は、機械操作盤15に設けられたキーボード等からの指令に基づいて、加工プログラムの表示等を行うものである。又、各軸制御手段16は、加工プログラムに基づいてプロセッサ11が各軸へ指令した移動指令と図示していない、各サーボモータにそれぞれ取り付けられた位置・速度検出器からの位置、速度フィードバック信号に基づいて、位置、速度のフィードバック制御を行い、各軸のサーボモータを駆動し、その位置、速度を制御するものである。さらに、主軸制御手段17はプロセッサ11から指令された主軸速度指令に基づいて、主軸の速度を制御するものである。
まず、本発明の各実施形態においては、加工を再開するときには、機械を動かさずに加工プログラムを実行し、加工中断時の数値制御装置の内部状態に復元するものであるが、この内部状態の復元の際に、実行する必要のない無用なサブプログラムやブロックがある。
加工プログラムには、加工条件の設定や計測を行うサブプログラム、マクロプログラム、実際の加工に直接関係しない指令のプログラム等、被加工物を工具が加工する状態以外の動作、指令のプログラム部を有する。これらのプログラム部では、被加工物に対する工具位置は、このプログラム部の実行開始前の位置を加工再開時の位置として内部状態を復元すれば十分である。
例えば、加工メインプログラムから被加工物の計測を行うサブプログラムを読み出し、被加工物の計測を実行させる場合、被加工物に対する工具のサブプログラム開始前の位置とサブプログラム終了位置は同じであることから、加工再開処理時に、サブプログラムを解析実行することは無駄である。このように、加工に直接関係せず、加工中断時の数値制御装置の内部状態を復元するために実行する必要のないプログラムを解析実行させても、意味がない。又、加工中断点の数値制御装置の内部状態を復元することに対して無駄なプログラム部は、そのサブプログラムや指令の内容によって予め分かるものである。
そこで、本発明の第1の実施形態では、この内部状態の復元の際に、実行する必要のない無用なサブプログラムやブロックをスキップするプログラム部をパラメータ設定によって、もしくは、図示しない通信インタフェースを介して外部からの信号等によって、メモリ12に設定しておく。サブプログラム番号、マクロプログラム番号、シーケンス番号、シーケンス番号で示す所定区間、さらには、加工に直接関係しないようなGコード番号(準備機能コード番号)、Mコード番号(補助機能コード番号)等をスキップするプログラム部としてメモリ12のスキッププログラム部記憶部に設定し記憶させておく。
図2は、本第1の実施形態における数値制御装置10のプロセッサ(CPU)11が実行する通常運転モード時の加工プログラム実行処理のアルゴリズムのフローチャートである。加工再開機能に関係する部分を重点的に記載している。
まず、加工プログラムよりポインタの値に対応する1ブロックを読み出し解析し、実行データを作成する(ステップa1)。なお、ポインタは、加工プログラムの実行処理開始時の初期設定で、「0」にリセットされている。又、読み出したブロックの指令がプログラム終了指令であると(ステップa2)、このプログラム実行処理は終了する。プログラム終了でなければ、このブロックがメモリ12に登録されている加工再開時においてスキップするプログラム部か判断し(ステップa3)、スキップするプログラム部であればステップa5に進む。
一方、当該ブロックがメモリに登録されたスキップするプログラム部ではないと判別されたときには、プログラム情報メモリ部にプログラム情報の記憶として、この実行中のメインプログラム番号と、実行ブロック数を1インクリメントして記憶する(ステップa4)。なお、この実行ブロック数を記憶するメモリ部は、加工プログラム開始時の初期設定で、「0」にリセットされている。
次に、ステップa1でプログラムブロックを解析して求めた実行データに基づいて当該プログラムブロックの実行を行う。すなわち、主軸速度指令は主軸制御手段17に速度指令を出力し、被加工物に対する工具の移動指令は、実行データに基づいて補間処理を所定補間周期毎実行し、各軸への移動指令を各軸制御手段16に出力し、各軸のサーボモータを駆動する(ステップa5)。そして、補間処理が終了する毎に、補間情報メモリ部に補間情報として、現在の座標位置、当該ブロックで指令された移動量における残移動量、及び現在の加減速状態(直線形加減速、ベル型加減速、指数関数形加減速等の加減速制御のタイプ)を記憶する(ステップa6)。何らかの理由で加工が中断されたか(ステップa7)、当該ブロックで指令された処理を終了したか(ステップa8)を判断し、加工が中断されることもなく、また、当該ブロックで指令された処理が終了してなければ、このステップa5〜a8の処理を補間周期毎実行する。この補間実行処理中に、加工が中断することなく、当該ブロックの補間実行処理が終了すると、次に読み取るプログラムのブロック位置を示すポインタを更新し(ステップa9)、ステップa1に戻る。以下、プログラム終了までステップa1〜a9の処理を実行し、数値制御装置は加工プログラムに基づいて工作機械を制御し、被加工物を加工する。
この加工途中で何らかの理由で工作機械の動作が停止し、加工が中断されると(ステップa7)、プログラム情報メモリ部にはプログラム情報の記憶としてポインタの値を記憶する(ステップa10)。
プログラム情報メモリ部には、加工中断時における実行していたメインプログラム番号と、ポインタの値、及びスキップしない実行ブロック数が記憶され、補間情報メモリ部には、補間情報として、加工停止直前の補間周期で補間処理を実行、各軸を駆動したときの機械座標位置、その時の残移動量、加減速状態が記憶されていることになる。
図3は、この第1の実施形態において、加工中断後、加工を再開するときの加工再開処理のアルゴリズムを示すフローチャートであり、特に、数値制御装置の内部状態を、加工中断時の内部状態に復元する処理を主に記載している。
加工再開指令が入力されると数値制御装置10のプロセッサ11は、まず、図2のステップa4でプログラム情報メモリ部に記憶されたメインプログラム番号のメインプログラムを不揮発性メモリ部からRAMに読み出し(ステップb1)、該プログラムよりポインタの値で示されるブロックより読み出す(ステップb2)。なお、ポインタは加工再開処理の初期設定で、最初は「0」にリセットされている。読み出したブロックが予め登録されている再開時にスキップするプログラム部として登録されているか判断する(ステップb3)。スキップするものとして登録されていれば、ステップb7に進む。一方、スキップしないものであれば、該ブロックの解析を行い実行データを作成し(ステップb4)、機械を動かすことなく空運転を行う。すなわち、ブロック実行データに基づいて補間処理を行い、機械の座標位置、残移動量、加減速状態等の内部状態を更新する処理を行う(ステップb5)。いわゆるドライ(空)運転を行うもので、実際の補間処理を行い各軸移動量、機械の座標位置等を求めるが、この求めた各軸移動量の指令は、各軸制御手段16には出力されず、各軸のサーボモータは駆動されないので、工作機械は停止した状態である。
当該ブロックの実行が終了すると、加工再開処理における実行ブロック数を記憶するレジスタに「1」を加算し、加工再開処理における実行ブロック数を1インクリメントし(ステップb6)、ステップb7に移行する。ステップb7では当該ブロックが中断ブロックか判断する。当該ブロックが中断ブロックでないときは、ポインタを更新し(ステップb8)、ステップb2に戻り、ステップb2以下の処理を実行する。
以下、読み出したブロックが記憶する中断ブロックに達するまで、ステップb2からステップb8の処理を繰り返し実行する。なお、この実施形態のステップb7での中断ブロックに達したかの判断は、図2のステップa4、a9でプログラム情報メモリ部に記憶した実行ブロック数とプログラム情報のポインタの値と、ステップb6で求めた実行ブロック数とこの加工再開処理におけるポインタの値(ステップb8で更新された値)がそれぞれ共に一致するとき、加工中断ブロックに達したと判断する。ポインタの値が一致するだけで、又は、実行ブロック数の一致だけで、中断ブロックまで空(ドライ)運転によるプログラムの実行が進んだことを判断してもよいものであるが、この実施形態では、スキップしないブロック数(実行ブロック数の値)とプログラム開始からのブロックの数(ポインタの値)によって、加工中断ブロックに達したか否かの判断をしている。
加工を中断したブロックまで達すると、図2のステップa6で補間情報メモリ部に記憶した補間情報の記載の座標位置、残移動量、加減速状態の内部状態を数値制御装置に復元し(ステップb9)、加工を再開させ(ステップb10)、図2のステップa5に戻り、以下、加工プログラムを実行し、加工を行う。
ステップb7で加工を中断したブロックに達したことが判断されたときには、ポインタの値は、加工中断が生じたブロックを示すものとなっている。そして、ステップb9で、補間情報メモリ部に記憶した補間情報を内部状態として復元させると、加工を中断したブロックの加工を中断した位置(補間処理周期の処理が完了しその周期の各軸移動量が各軸のサーボモータに出力された位置)が復元されることになるので、加工再開時には、この復元位置より補間処理を実行し、図2のステップa5以下の処理を行い、この加工停止したブロックの補間処理が終了すると、ステップa9でポインタの値が更新されて、ステップa1以下の処理により次のブロックからその処理が開始されることになる。
なお、加工再開時の中断ブロックに達したかの判断をポインタの値のみで行う場合には、実行ブロック数をカウントする必要がないので、図2のステップa3、a4の処理、図3のステップb6の処理は、なくしてもよいものである。そしてメインプログラム番号は、ステップa10でポインタの値と共にプログラム情報として記憶するようにすればよい。
この第1の実施形態では、加工中断後の加工再開時の内部状態を復元する処理において、プログラムのブロックを実行しないでスキップするプログラム部のサブプログラム番号やシーケンス番号等を予め設定するスキッププログラム部記憶部と、メインプログラム番号、ポインタの値、実行ブロック数のプログラム情報を記憶するプログラム情報メモリ部及び機械座標位置や残移動量、加減速状態を記憶する補間情報メモリ部を、加工再開機能のために設ければよいものであり、これらの記憶量は少なく、メモリ容量を格別大きくする必要はない。又、加工中断時の数値制御装置の内部状態を復元するために実行する必要のないプログラム部を解析、実行することなく、スキップして、加工中断時の数値制御装置の内部状態を復元したから、無駄な処理がなされず、短時間に加工中断時の数値制御装置の内部状態を復元できる。
次に、加工再開時に実行する必要のないプログラム部分を判別できるようにプログラム自体に組み込んでおき、加工再開時にはこの部分をスキップするようにした、本発明の第2、第3の実施形態について説明する。
上述した第1の実施形態は、加工を中断し、その後再開するとき、実行する必要のない無用なサブプログラムやブロックをスキップさせるために、そのスキップさせるサブプログラム番号やマクロプログラム番号、シーケンス番号、シーケンス番号で示す所定区間等を予めメモリに設定記憶させておくものであったが、この第2、第3の実施形態は、この加工再開時の実行する必要がないプログラム部分を、メモリに設定するのではなく、判別できるようにプログラム自体に組み込んでおき、加工再開時には、この部分をスキップするようにしたものである。
図4は、この第2、第3の実施形態で用いる加工プログラムの例の説明図である。
この加工プログラムの例は、その実行途中でサブプログラムを読みだし実行し、かつ、繰り返しこのプログラムを実行する例である。
図4において、「O1000」はプログラム番号が「1000」であることを示し、該プログラム番号「1000」のメインプログラムから、「M98」のコードでプログラム番号「9200」のサブプログラムを読み出し実行し、メインプログラムの最後に記述された「M30」(エンドオブプログラム&リワインド)の指令によって、この加工プログラムを繰り返し実行するように指令されたものである。
そして、このサブプログラム中に、加工中断後の加工再開時においては、実行する必要のないプログラム部分があり、この部分に対しては、加工再開時においてはスキップして実行しないように指令されている。この図4で示す例では、「IF[#10000EQ1]GOTO999」がスキップ指令であり、マクロ変数「#10000」が「1」であるとき、シーケンス番号「999」の位置までスキップするように指令している。このスキップする区間が加工再開時において実行する必要のないプログラム部分である。
この第2、第3の実施形態では、数値制御装置が通常の加工を行うときのプログラム実行を行う通常運転モードの状態と、加工プログラムの途中で加工が中断し、その加工を中断点から再開するとき、機械を動かすことなく加工プログラムを実行するから運転モードの状態とを区別する情報を記憶するメモリ部を有している。この実施形態では、この状態の記憶としてマクロ変数で記憶する例を示している。
図5(a)は、このモード状態を表す情報をマクロ変数「#10000」の設定例を示すもので、該マクロ変数「#10000」が「0」と設定されていれば、通常運転モードであり、「1」と設定されているときは、中断した加工を再開するときの空運転モードの状態を指定するものである。
また、第2の実施形態では、通常の加工を行う通常運転モードでのプログラム実行時に、加工再開時の空運転モードでスキップするブロック以外のブロックに対してのみ、プログラム情報として、そのブロックのポインタの値、実行ブロック数等を記憶するようにしており、そのために、プログラム情報を記憶するか否かを、メモリに設定するものである。この実施形態はこれもマクロ変数によって設定するようにしている。図5(b)は、このプログラム情報を記憶するか否かを指定するマクロ変数「#10001」の設定例で、「0」と設定されていれば、プログラム情報を記憶し、「1」と設定されていれば、プログラム情報を記憶せずスキップすることを示している。
図6は、本発明の第2の実施形態の通常運転モード時の加工プログラム実行処理のアルゴリズムのフローチャートであり、図7は、この第2の実施形態の加工中断後、加工を再開するときの空運転モード時の処理のアルゴリズムを示すフローチャートである。
通常の加工時においては、数値制御装置10のプロセッサ(CPU)11は、図6の処理を実行する。
まず、マクロ変数「#10000」に「0」を設定し、通常運転モードであることを記憶する(ステップc1)。加工プログラムの先頭から1ブロックを読みだし解析し(ステップc2)、該ブロックの指令がプログラム終了か判断する(ステップc3)。プログラム終了指令であれは、この処理を終了する。また、プログラム終了指令ではない場合は、マクロ変数「#10001」に「1」が設定され、加工再開時の空運転モードにおいてスキップするブロックか否か判断する(ステップc4)。なお、このマクロ変数「#10001」には、最初は「0」が設定されている。
マクロ変数「#10001」が「1」に設定されていれば、ステップc6に進み、マクロ変数「#10001」が「0」に設定されていると、プログラム情報メモリ部にプログラム情報として実行中のメインプログラムの番号、実行プログラムのポインタの値、実行ブロック数のカウント値を「1」インクリメントして記憶し(ステップc5)、ステップc6に進む。なお、実行ブロック数を記憶する必要があるのは、第3の実施形態のときであり、第2の実施形態では、この実行ブロック数を記憶する必要はない。よって、図6では「実行ブロック数+1」をカッコ書きしている。
当該ブロックで指令されている処理を実行し(ステップc6)、移動指令であれば、補間処理を行い各軸制御手段16に分配移動量を出力し各軸のサーボモータを駆動制御して加工を行う。そして、補間処理が終了する毎に、補間情報メモリ部に補間情報として、現在の座標位置、当該ブロックで指令された移動量における残移動量、及び現在の加減速状態を記憶する(ステップc7)。また、何らかの理由で加工が中断されたか(ステップc8)、当該ブロックで指令された処理を終了したか(ステップc9)判断し、加工が中断されることもなく、また、当該ブロックで指令された処理が終了してなければ、このステップc6〜c9の処理を補間周期毎実行する。この補間実行処理中に、加工が中断することなく、当該ブロックの補間実行処理が終了すると、次に読み取るプログラムのブロック位置を示すポインタの値を更新し(ステップc10)、ステップc2に戻る。以下、プログラム終了までステップc2〜c10の処理を実行し、数値制御装置10は加工プログラムに基づいて工作機械を制御し、被加工物を加工する。
一方、この加工途中で何らかの理由で工作機械の動作が停止し、加工が中断されたことが、ステップc8で判別されると、この処理は終了するが、メモリ12のプログラム情報メモリ部には、プログラム情報としては、この加工中断された時点で実行中のメインプログラムの番号、実行プログラムのブロックポインタの値、及び加工再開時の空運転モードではスキップせず実行する実行ブロック数のカウント値が記憶されている。さらに、メモリ12の補間情報メモリ部には、補間情報として、加工停止したときの座標位置、残移動量及び加減速状態が記憶されている。
図4に示したプログラム例で、この図6に示す通常の加工におけるプログラム実行処理を説明すると、ステップc1でマクロ変数「#10000」が「0」に設定されているから、プログラム中の「IF[#10000EQ1]GOTO999」のブロックを処理しても、シーケンス番号「999」にスキップすることなく、各ブロックの指令を実行するする。また、このスキップする間はマクロ変数「#10001」が「1」に設定され、「0」にその設定が戻されるまでの間(スキップ区間)はステップc4からステップc6に進みステップc5の処理は行われず、この間のブロックにおけるプログラム情報は記憶されない。
よって、プログラム情報は、加工再開時の空運転モードで実行するブロックの情報が記憶されるもので、実行ブロック数としては、加工再開時の空運転モードで実行するブロックを、この通常の加工時の通常運転モードにおいてカウントアップする。
一方、加工途中でその加工が中断され、加工を再開するとき、数値制御装置に加工再開指令が入力されると、この第2の実施形態では、図7の処理を開始する。
まず、マクロ変数「#10000」を「1」に設定し、加工再開での空運転モードの状態であることを設定する(ステップd1)。次に、図6のステップc5でプログラム情報メモリ部に記憶されたメインプログラム番号のメインプログラムを不揮発性メモリ部からRAMに読み出し(ステップd2)、該プログラムよりポインタの値で示されるブロックより読み出し解析する(ステップd3)。なお、ポインタは加工再開処理の初期設定で、最初は「0」にリセットされている。該ブロックの解析に基づいて実行データを作成し、機械を動かすことなく空運転を行い、内部状態を更新する(ステップd4)。すなわち、第1の実施形態と同様に、ブロック実行データに基づいて補間処理を行い、機械の座標位置、残移動量、加減速状態等の内部状態を更新する処理のみを行い、求めた各軸移動量の指令は、各軸制御手段16には出力せず、各軸のサーボモータを駆動しないので、工作機械は停止した状態である。
次に、当該ブロックが中断ブロックか判断し(ステップd5)、当該ブロックが中断ブロックでないときは、ポインタの更新処理を行う。図7では、このブロックポインタの更新処理を詳細に記載している。すなわち、当該ブロックの指令が、図4の「IF[#10000EQ1]GOTO999」のようなブロックをスキップさせるスキップ指令か判別し(ステップd6)、スキップ指令であれば、指令されたスキップ先のシーケンス番号をポインタに設定し、次に実行するブロックを指定する(ステップd7)。また、スキップ指令でなければ、ポインタを「1」だけインクリメントする(ステップd8)。このステップd6〜d8がポインタの更新処理である。なお、第1の実施形態における図2に示すステップa9及び図3のステップb8、さらに、この第2の実施形態における図6のステップc10のポインタの更新処理は、このステップd6〜d8の更新処理と同じである。
こうして、ポインタが更新され、ステップd3に戻り、該ポインタで示されるブロックが読み出され解析され、前述したステップd3〜d8の処理が実行され、機械は動作させず空運転が順次実行され、ポインタの値が、プログラム情報として記憶されたポインタの値と一致し中断ブロックに達すると、ステップd5からステップd9に移行し、補間情報メモリ部に記憶した補間情報の記載の座標位置、残移動量、加減速状態の内部状態を数値制御装置に復元し、マクロ変数「#10000」を「0」に設定し、空運転モードから、加工を行う通常運転モードに切り換え(ステップd9)、加工を再開させ(ステップd10)、図6のステップc6に戻り、以下、加工プログラムを実行し、加工を行う。
加工が中断されたとき、プログラム情報メモリ部には、その加工を中断したブロックを示すポインタの値、または、中断が、加工再開時の空運転モードでスキップするブロックであれば、そのブロックより前にプログラムされているスキップを指令するブロックを示すポインタの値が記憶されている。そして、補間情報メモリ部には、加工中断したときの補間情報の記載の座標位置、残移動量、加減速状態の補間情報が記憶されているから、加工再開時の空運転モードで機械を動作させない処理中に、ポインタがプログラム情報メモリ部に記憶するポインタの値となったときは、数値制御装置の内部状態を補間情報メモリ部に記憶する補間情報の座標位置、残移動量、加減速状態にすれば、加工を中断したときの内部状態になり、この状態で加工を再開すればよいことになる。
なお、通常運転モードにおいて、加工再開時の空運転モード中にスキップするブロックの実行中に加工が中断した場合は、プログラム情報メモリ部には、スキップを指令するブロックを示すポインタの値が記憶されているが、加工再開時にスキップするブロックは、前述したように、加工条件の設定や計測を行うサブプログラム、マクロプログラム、実際の加工に直接関係しない指令のプログラム等、被加工物を工具が加工する状態以外の動作、指令のプログラム部に対して設定されているものであるから、加工位置等を示す内部状態としては、スキップを指令するブロックでの内部状態と、処理は中断したときの内部状態と同じであるから、この内部状態の状態に戻せば、加工中断点の状態に戻されることになる。
例えば、図4のプログラム例において、「G32S ;」のブロックで中断されたとすると、この第2の実施形態では、加工再開時の空運転モードでスキップを行う直前の「IF[#10000EQ1]GOTO999」のブロックのポインタの値がプログラム情報として記憶されており、加工再開時の空運転モードは、この「IF[#10000EQ1]GOTO999」のブロックを示すポインタの値になったとき、加工中断点と判別するようにしている。これは、スキップするプログラム部の区間中は、スキップする直前の数値制御装置の内部状態が変わらないことによるものである。
なお、上述した第2の実施形態では、加工再開処理において、実行ブロック数は、中断ブロックかの判定に利用していない。そのため、この第2の実施形態では、図6のステップc5でプログラム情報として実行ブロック数を記憶する必要がない。
次に、ポインタの値ではなく、実行ブロック数を用いて加工中断のブロックを判定する第3の実施形態について説明する。
この第3の実施形態では、通常の加工での処理は図6に示した処理であり、ステップc5で、カッコ書きされた、実行ブロック数をカウントアップして記憶する処理を行う点で、第2の実施形態と相違するのみである。
図8は、第3の実施形態において、加工中断後、加工を再開するときの加工再開の空運転モードの処理のアルゴリズムを示すフローチャートである。
この第3の実施形態での加工中断後の加工を再開するときの空運転モードの処理は、第2の実施形態と比較し、加工を中断したブロックかを判断するステップe5の判断処理が異なることと、この加工再開時の空運転モードの処理で空運転で実行するブロック数を計数するステップe6の処理が付加された点で相違するものである。
すなわち、ステップe1〜ステップe4までの処理は第2の実施形態の図7に示す処理のステップd1〜d4の処理と同じである。そして、この第3の実施形態では、加工を中断したブロックに達したかをプログラム情報として記憶する実行ブロック数で判別する(ステップe5)。そして、実行したブロック数を計数し(ステップe6)、ポインタを更新処理し(ステップe7)、ステップe3に戻る。なお、このポインタの更新処理の詳細は、図7のステップd6〜d8の処理である。中断ブロックが判別されると、ステップe3〜ステップe7のプログラムを機械を動かさずに、各ブロックの指令を解析し内部状態を更新する空運転モードの運転を停止し、第2の実施形態のステップd9、d10の処理と同じ、補間情報メモリ部に記憶した補間情報の記載の座標位置、残移動量、加減速状態の内部状態を数値制御装置に復元し、マクロ変数「#10000」を「0」に設定し、空運転モードから、加工を行う通常運転モードに切り換え(ステップe8)、加工を再開させ(ステップe9)、図6のステップc6に戻り、以下、加工プログラムを実行し、加工を行う。
本発明の実施形態の工作機械を制御する数値制御装置の概要図である。 本発明の第1の実施形態における数値制御装置のプロセッサが実行する加工プログラム実行処理のアルゴリズムのフローチャートである。 同第1の実施形態における加工中断時の数値制御装置の内部状態を復元する処理のアルゴリズムを示すフローチャートである。 本発明の第2、第3の実施形態で用いる加工プログラムの例の説明図である。 同第2、第3の実施形態で使用されるマクロ変数の設定例の説明図である。 本発明の第2の実施形態の加工プログラム実行処理のアルゴリズムのフローチャートである。 本発明の第2の実施形態において、加工中断後、加工を再開するときの空運転モードでの処理のアルゴリズムを示すフローチャートである。 本発明の第3の実施形態において、加工中断後、加工を再開するときの空運転モードでの処理のアルゴリズムを示すフローチャートである。
符号の説明
10 数値制御装置

Claims (7)

  1. 加工を中断した位置から再開する、加工再開機能を備えた数値制御装置であって、
    数値制御装置を加工中断時の内部状態に復元するために実行する必要のないプログラム部の情報が予め設定され記憶されているスキッププログラム部記憶手段と、
    加工プログラムにおける現在実行中のブロックの指令での補間情報を記憶する補間情報記憶手段と、
    加工中断後の再開指令により、加工プログラムの先頭ブロックから、前記スキッププログラム部記憶手段に記憶されたプログラム部以外のブロックの指令のみを、加工プログラムのブロック位置を示すポインタで示される加工中断点まで機械を動かさずに実行するプログラム空実行手段と、
    該プログラム空実行手段により加工中断点まで加工プログラムが実行されると前記補間情報記憶手段に記憶する補間情報を数値制御装置に復元して加工を再開させる手段とを備えたことを特徴とする加工再開機能を備えた数値制御装置。
  2. 加工を中断した位置から再開する、加工再開機能を備えた数値制御装置であって、
    数値制御装置を加工中断時の内部状態に復元するために実行する必要のないプログラム部の情報が予め設定され記憶されているスキッププログラム部記憶手段と、
    現在実行中のプログラム情報を記憶するプログラム情報記憶手段と、
    加工プログラムにおける現在実行中のブロックの指令での補間情報を記憶する補間情報記憶手段と、
    加工プログラムより読み出したブロックが前記スキッププログラム部記憶手段に記憶されたプログラム部に該当するとスキップするブロックとするスキップブロック判別手段と、加工中断後の再開指令により、前記プログラム情報記憶手段で記憶したプログラムの先頭ブロックから読み出し、スキップブロック判別手段でスキップするブロックと判別されないブロックの指令のみ機械を動かさずに実行するプログラム空実行手段と、
    前記プログラム情報記憶手段で記憶するブロック情報で示される加工中断ブロックまで前記プログラム空実行手段で加工プログラムが実行されたか判別する中断ブロック判別手段と、該中断ブロック判別手段で加工中断ブロックまで実行されたことが判別されると、前記補間情報記憶手段により記憶した補間情報を数値制御装置に復元する補間情報復元手段とを備え、
    該補間情報復元手段で補間情報が復元された後、該ブロック位置及び復元された補間情報に基づいて加工を再開することを特徴とする加工再開機能を備えた数値制御装置。
  3. 前記プログラム情報記憶手段で記憶するプログラム情報は、現在実行中のメインプログラム番号と、加工プログラムのブロック位置を示すポインタの値、前記スキップブロック判別手段で判別したスキップするプログラム部を除く実行ブロック数であることを特徴とする請求項2に記載の加工再開機能を備えた数値制御装置。
  4. 前記スキッププログラム部記憶手段に記憶されるプログラム部の情報は、シーケンス番号、サブプログラム番号であることを特徴とする請求項1乃至3の内いずれか1項に記載の加工再開機能を備えた数値制御装置。
  5. 加工を中断した位置から再開する、加工再開機能を備えた数値制御装置であって、
    現在実行中のプログラム情報を記憶するプログラム情報記憶手段と、
    加工プログラムにおける現在実行中のブロックの指令での補間情報を記憶する補間情報記憶手段と、
    加工中断後の加工再開時に機械を動かさずにプログラムを実行する空運転モードを記憶する手段と、
    空運転モード時にはスキップするプログラムを指定した加工プログラムと、
    加工中断後の加工プログラム実行時、加工を中断したブロックまで実行したかを判別する中断ブロック判別手段と、
    加工中断後の再開指令により前記プログラム情報記憶手段で記憶したプログラムの先頭ブロックから読み出し、前記中断ブロック判別手段で判別される加工中断ブロックまで、プログラムで指定したプログラム部をスキップしながら、前記空運転モードで加工プログラムを実行する空運転実行手段と、
    前記空運転実行手段による加工中断ブロックの実行の完了で、前記補間情報記憶手段により記憶した補間情報を復元する補間情報復元手段と、
    前記補間情報復元手段で補間情報が復元されたあと、空運転モードを通常の運転モードに切換て加工を再開する加工再開手段と、
    を備えたことを特徴とする加工再開機能を備えた数値制御装置。
  6. 前記プログラム情報記憶手段は、通常運転モードでの加工プログラム実行中、前記空運転モードにおいてスキップするプログラム部のブロック以外のブロックを実行するときのみ、そのブロックに対応するポインタの値を記憶し、前記中断ブロック判別手段は、ブロック位置を示すポインタにより加工を中断したブロックを判別する請求項5に記載の加工再開機能を備えた数値制御装置。
  7. 前記プログラム情報記憶手段は、通常運転モードでの加工プログラム実行中、前記空運転モードにおいてスキップするプログラム部のブロック以外の実行したブロックの数を記憶し、前記中断ブロック判別手段は、前記プログラム情報記憶手段に記憶するブロック数と、空運転モードで空運転したブロック数とにより、加工を中断したブロックを判別する請求項5に記載の加工再開機能を備えた数値制御装置。
JP2007075279A 2006-10-30 2007-03-22 加工再開機能を備えた数値制御装置 Pending JP2008134983A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007075279A JP2008134983A (ja) 2006-10-30 2007-03-22 加工再開機能を備えた数値制御装置
EP07118760A EP1918796A2 (en) 2006-10-30 2007-10-18 Numerical controller with machining resume function
US11/976,892 US20080103625A1 (en) 2006-10-30 2007-10-29 Numerical controller with machining resume function

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006293946 2006-10-30
JP2007075279A JP2008134983A (ja) 2006-10-30 2007-03-22 加工再開機能を備えた数値制御装置

Publications (1)

Publication Number Publication Date
JP2008134983A true JP2008134983A (ja) 2008-06-12

Family

ID=38792070

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007075279A Pending JP2008134983A (ja) 2006-10-30 2007-03-22 加工再開機能を備えた数値制御装置

Country Status (3)

Country Link
US (1) US20080103625A1 (ja)
EP (1) EP1918796A2 (ja)
JP (1) JP2008134983A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010044489A (ja) * 2008-08-11 2010-02-25 Fanuc Ltd 加工再開機能を有する数値制御装置
JP2011158979A (ja) * 2010-01-29 2011-08-18 Mori Seiki Co Ltd 自動運転を再開可能な工作機械の制御方法およびその装置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5543534B2 (ja) * 2012-07-05 2014-07-09 ファナック株式会社 プログラム再開機能を備えた数値制御装置
CN104768706B (zh) * 2012-10-30 2017-05-17 株式会社牧野铣床制作所 加工程序生成方法及装置
CN103149875B (zh) * 2013-01-17 2015-09-30 宁波恒大机械有限公司 数控机床dnc在线加工时的断点续传方法
JP6077601B2 (ja) * 2014-08-22 2017-02-08 ファナック株式会社 加工プログラムのサイクルタイムを短縮する数値制御装置
JP6046102B2 (ja) * 2014-11-27 2016-12-14 ファナック株式会社 高速応答の軸制御系統を持つ多系統数値制御装置
JP6276234B2 (ja) * 2015-10-15 2018-02-07 ファナック株式会社 オーバライドスイッチによるプログラムチェック機能を備えた数値制御装置
JP6687575B2 (ja) * 2017-10-05 2020-04-22 ファナック株式会社 数値制御装置
JP7173079B2 (ja) * 2020-03-31 2022-11-16 株式会社安川電機 作業再開システム、製造方法、及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0782056B1 (en) * 1992-12-28 2001-04-11 Mitsubishi Denki Kabushiki Kaisha Numerically controlled machine tool and method
DE10297651T5 (de) * 2002-02-07 2005-05-19 Mitsubishi Denki K.K. Numerisches Steuerverfahren und numerisches Steuersystem
JP3680064B2 (ja) * 2003-04-21 2005-08-10 ファナック株式会社 数値制御装置
JP2004326618A (ja) * 2003-04-25 2004-11-18 Star Micronics Co Ltd 工作機械の数値制御装置
EP1515206A3 (en) * 2003-09-10 2006-02-08 Fanuc Ltd Numerical control apparatus

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010044489A (ja) * 2008-08-11 2010-02-25 Fanuc Ltd 加工再開機能を有する数値制御装置
JP2011158979A (ja) * 2010-01-29 2011-08-18 Mori Seiki Co Ltd 自動運転を再開可能な工作機械の制御方法およびその装置
US8600542B2 (en) 2010-01-29 2013-12-03 Mori Seiki Co., Ltd. Method of and apparatus for controlling machine tool for restarting automatic operation

Also Published As

Publication number Publication date
EP1918796A2 (en) 2008-05-07
US20080103625A1 (en) 2008-05-01

Similar Documents

Publication Publication Date Title
JP2008134983A (ja) 加工再開機能を備えた数値制御装置
JP3842246B2 (ja) 数値制御装置
JP2009053801A (ja) プログラム再開機能を備えた数値制御装置
CN103676772A (zh) 具有系统间等待功能的数值控制装置
JPH04176539A (ja) 対話形数値制御装置
EP1471404A2 (en) Numerical control apparatus for machine tool
JP6088471B2 (ja) 加工動作の調整を容易にする数値制御装置
JP4044105B2 (ja) 系統毎に運転手段を切り替える機能を有する数値制御装置
JP2007226383A (ja) 数値制御装置
JP5339815B2 (ja) 加工再開機能を有する数値制御装置
JP6010094B2 (ja) サイクルタイムに係るパラメータ設定支援機能を有する数値制御装置
JP2006004275A (ja) 数値制御装置
CN101174144A (zh) 具备继续加工功能的数值控制装置
JP2009122852A (ja) パステーブル運転時の運転履歴を記憶する数値制御装置
JP2006172388A (ja) 数値制御装置
JP2002373008A (ja) 数値制御装置
JP6276234B2 (ja) オーバライドスイッチによるプログラムチェック機能を備えた数値制御装置
JP6309927B2 (ja) Ncプログラム運転と連動した関連信号の自動トレース機能を有する数値制御装置
JP7448377B2 (ja) 加工プログラムの管理装置、管理システム、管理方法
JP6693988B2 (ja) 加工プログラム編集装置
JP2005115669A (ja) 数値制御装置
EP1467271A2 (en) Controller for machines
JPH06242817A (ja) 数値制御装置
WO2022244072A1 (ja) 数値制御装置及びコンピュータ読み取り可能な記憶媒体
JP2007233575A (ja) 数値制御装置および工作機械の制御方法

Legal Events

Date Code Title Description
A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20080522

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080905

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080904

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080909

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081021

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090127