(57)【要約】【課題】加工を中断した後に実行するプログラムが加工再開ブロックデータを記憶しないと設定したプログラムは加工再開ブロックデータを記憶しないようにする加工再開機能を有する数値制御装置を提供すること。【解決手段】加工実行中にプログラム内のブロックを解析し、該ブロックの動作を規定する指令あるいはデータが実行された後の状態を加工再開ブロックデータとして記憶し、加工中断後の再加工時に前記加工再開ブロックデータを参照して加工を中断したブロックから加工を再開する加工再開機能を有し、加工を中断した後に実行するプログラムが記憶回避手段（ステップＳＡ２〜ステップＳＡ７）で特定された特定プログラムの場合に、前記加工再開ブロックデータを記憶しないようにした加工再開機能を有する数値制御装置。【選択図】図３
2010044489.tif 000002
【特許請求の範囲】
【請求項１】
加工実行中にプログラム内のブロックを解析し、該ブロックの動作を規定する指令あるいはデータが実行された後の状態を加工再開ブロックデータとして記憶し、加工中断後の再加工時に前記加工再開ブロックデータを参照して加工を中断したブロックから加工を再開する加工再開機能を有する数値制御装置において、
加工を中断した後に実行するプログラムが記憶回避手段で特定された特定プログラムの場合に、前記加工再開ブロックデータを記憶しないようにしたことを特徴とする加工再開機能を有する数値制御装置。
【請求項２】
前記記憶回避手段は、パラメータで指定されるプログラム、又は、パラメータで指定されたプログラム番号の範囲内にあるプログラムであるか否か判断し、特定プログラムを特定することを特徴とする請求項１に記載の加工再開機能を有する数値制御装置。
【請求項３】
前記記憶回避手段は、所定の信号が入力されているか否か判断し、特定プログラムを特定することを特徴とする請求項１に記載の加工再開機能を有する数値制御装置。
【請求項４】
前記記憶回避手段は、マクロ変数の値が予め設定された値であるか否か判断し、特定プログラムを特定することを特徴とする請求項１に記載の加工再開機能を有する数値制御装置。
【請求項５】
前記記憶回避手段は、プログラムの属性として加工再開ブロックデータの記憶をしないという属性が設定されたプログラムであるか否か判断し、特定プログラムを特定することを特徴とする請求項１に記載の加工再開機能を有する数値制御装置。
【請求項６】
前記記憶回避手段は、プログラムが登録されているフォルダの属性として加工再開ブロックデータの記憶をしないという属性が設定されたフォルダに登録されているプログラムであるか否か判断し、特定プログラムを特定することを特徴とする請求項１に記載の加工再開機能を有する数値制御装置。
【請求項７】
前記記憶回避手段は、加工再開機能ブロックデータの記憶をしないプログラム名称をあらかじめ設定しておき、該プログラム名称を含む名称のプログラムであるか否か判断し、特定プログラムを特定することを特徴とする請求項１に記載の加工再開機能を有する数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、加工再開機能を有する数値制御装置に関する。
【背景技術】
【０００２】
数値制御装置は、加工プログラムに基づいて数値制御処理を実行し、該処理結果により工作機械を駆動してワークに指令通りの加工を施す装置である。  
ワークを加工中に加工作業を中断した時、この中断点の情報を加工再開ブロックデータとして、現在の数値制御の状態をメモリに記憶することは一般的に行われている。この加工再開ブロックデータの中には、中断したプログラムの箇所を示すシーケンス番号（プログラムに埋め込まれているＮに続く番号）、プログラムカウンタ（運転して何ブロック目にあたるのか、という情報）、そのプログラムの名前や番号、親のプログラムの名前や番号、親プログラムのどの箇所から呼び出されたか、また、中断したブロックでどんな機能が実行されていたかを判別できる情報や、ポジションデータ、マクロ変数情報を含んでいる。
【０００３】
この加工再開ブロックデータをプログラム再開時に使用して、再開したいブロックまでプログラムを仮実行（「仮実行」：機械を駆動しないプログラムの計算処理を実行すること）して、モーダル情報（または機能情報）や補助機能の状態を復活して再開する技術も存在し、再開したいプログラムの箇所に仮実行せずにプログラム中のシーケンス番号のサーチを行ったり、仮実行せずにプログラムのブロックをカウントして加工再開ブロックまでサーチして、プログラムの目的の箇所に高速に移動させて再開する技術も存在する。
【０００４】
加工再開ブロックデータを取得する技術として、特許文献１や特許文献２に開示されるものがある。  
特許文献１に開示される技術は、中断後の加工プログラムの再開時に、中断した加工プログラムの実行時点と全く同じ状態で任意の位置から再開可能な数値制御装置の技術である。特許文献１に開示される数値制御装置は、任意の位置から再開可能とするために、ブロックの解析結果を保存する保存手段と、必要時に前記保存手段に保存されている解析結果を復元する復元手段を備えている。
【０００５】
特許文献２に開示される技術は、メモリ容量を増大させることなく、かつ加工再開までの時間を短縮した加工再開機能を備える数値制御装置の技術である。この数値制御装置は、加工中断時の数値制御装置の内部状態を復元するために実行する必要がなくスキップするサブプログラム等のプログラム部をその番号などで登録しておき、加工を再開する際に必要ないプログラムをスキップすることができ、処理時間の短縮とメモリ容量を少なくしようとするものである。
【０００６】
【特許文献１】特開２００２−３７３００８号公報
【特許文献２】特開２００８−１３４９８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
加工実行中に加工再開ブロックデータをメモリに記憶する技術では、数値制御装置で運転された全てのプログラムが記憶対象となっているため、例えば、加工実行中に工具が破損し、加工を中断した後、工具破損時に工具を引き抜く特殊なプログラムを作成している場合、加工を再開するための前準備として、この特殊なプログラムを実行した時も加工再開ブロックデータをメモリに記憶してしまうため、元の工具が破損した時の加工プログラムの再開ブロックデータを壊してしまう、という問題がある。
【０００８】
そこで本発明は、プログラムの再開ブロックを加工実行中にメモリに記憶し、その記憶されたデータを使用して加工再開を行う数値制御装置において、加工再開ブロックデータを記憶しないと設定した加工を中断した後に実行するプログラムは、加工再開ブロックデータを記憶しないようにする加工再開機能を有する数値制御装置を提供することである。
【課題を解決するための手段】
【０００９】
本願の請求項１に係る発明は、加工実行中にプログラム内のブロックを解析し、該ブロックの動作を規定する指令あるいはデータが実行された後の状態を加工再開ブロックデータとして記憶し、加工中断後の再加工時に前記加工再開ブロックデータを参照して加工を中断したブロックから加工を再開する加工再開機能を有する数値制御装置において、加工を中断した後に実行するプログラムが記憶回避手段で特定された特定プログラムの場合に、前記加工再開ブロックデータを記憶しないようにしたことを特徴とする加工再開機能を有する数値制御装置である。
【００１０】
請求項２に係る発明は、前記記憶回避手段は、パラメータで指定されるプログラム、又は、パラメータで指定されたプログラム番号の範囲内にあるプログラムであるか否か判断し、特定プログラムを特定することを特徴とする請求項１に記載の加工再開機能を有する数値制御装置である。
【００１１】
請求項３に係る発明は、前記記憶回避手段は、所定の信号が入力されているか否か判断し、特定プログラムを特定することを特徴とする請求項１に記載の加工再開機能を有する数値制御装置である。
【００１２】
請求項４に係る発明は、前記記憶回避手段は、マクロ変数の値が予め設定された値であるか否か判断し、特定プログラムを特定することを特徴とする請求項１に記載の加工再開機能を有する数値制御装置である。
【００１３】
請求項５に係る発明は、前記記憶回避手段は、プログラムの属性として加工再開ブロックデータの記憶をしないという属性が設定されたプログラムであるか否か判断し、特定プログラムを特定することを特徴とする請求項１に記載の加工再開機能を有する数値制御装置である。
【００１４】
請求項６に係る発明は、前記記憶回避手段は、プログラムが登録されているフォルダの属性として加工再開ブロックデータの記憶をしないという属性が設定されたフォルダに登録されているプログラムであるか否か判断し、特定プログラムを特定することを特徴とする請求項１に記載の加工再開機能を有する数値制御装置である。
【００１５】
請求項７に係る発明は、前記記憶回避手段は、加工再開機能ブロックデータの記憶をしないプログラム名称をあらかじめ設定しておき、該プログラム名称を含む名称のプログラムであるか否か判断し、特定プログラムを特定することを特徴とする請求項１に記載の加工再開機能を有する数値制御装置である。
【発明の効果】
【００１６】
本発明により、加工を再開するための前準備のために起動したプログラムは、設定により加工再開ブロックデータの記憶対象としないようにできるため、加工を中断した加工プログラムの加工再開ブロックデータを壊さなくなり、加工を中断したプログラムの再開を確実に実行できる数値制御装置を提供することが可能である。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施形態を図面を用いて説明する。  
図１は、本発明の実施形態の工作機械を制御する数値制御装置の概要図である。従来の工作機械を制御する数値制御装置の構成と同じであり、図１では、概略的に示している。従来の数値制御装置と相違する点は、メモリ（記憶手段）１２に記憶される加工プログラムの実行処理のソフトウェアが加工再開機能を実現するために一部相違し、又、後述する加工再開機能のソフトウェアが格納されている点で従来の数値制御装置と相違する。
【００１８】
数値制御装置１０は、プロセッサ（ＣＰＵ）１１とバス１８で接続されたメモリ（記憶手段）１２、インタフェース１３、表示器１４、機械操作盤１５、工作機械２０の各軸のサーボモータを制御する各軸制御手段１６、工作機械２０の主軸モータを制御する主軸制御手段１７を備えている。
【００１９】
メモリ１２は、ＲＯＭ、ＲＡＭ、不揮発性メモリ（ＦＲＯＭ）等で構成され、ＲＯＭには、全体を制御するシステムプログラムが格納され、不揮発性メモリ（ＦＲＯＭ）には、各種加工プログラムが格納されている。
【００２０】
インタフェース１３は、各種加工プログラム等を格納する外部記憶手段２１が接続され、この加工プログラムをプロセッサが読み出し可能となっている。表示器１４は、機械操作盤１５に設けられたキーボード等からの指令に基づいて、加工プログラムの表示等を行うものである。
【００２１】
各軸制御手段１６は、加工プログラムに基づいてプロセッサ１１が各軸へ指令した移動指令と各軸のサーボモータにそれぞれ取り付けられた位置検出器（図示省略）からのフィードバック信号に基づいてフィードバック制御を行い、各軸のサーボモータを駆動し、その位置、速度を制御するものである。更に、主軸制御手段１７は、プロセッサ１１から指令された主軸速度指令に基づいて、主軸の速度を制御するものである。
【００２２】
次に、図１を用いて説明した数値制御装置で行われている加工プログラムの処理を説明する。数値制御装置は、加工プログラムを１ブロックずつ読み込み、解析し、工作機械を制御するための指令データを作成し、工作機械を指令データに基づき制御する。そして、このような工作機械においては、一般に、加工途中で加工を中断した際、その後、加工を再開するための加工再開機能を備えている。加工中断後に加工を再開するためには、実行していたプログラムのブロック、機械位置、補間データなど、数値制御装置の内部状態を加工中断した時の状態を忠実に復元する必要がある。この復元のために例えば図２に示される加工再開ブロックデータを取得して保存する。
【００２３】
図２に示される（１）の「取得保存した日付、時間」、（２）の「総プログラムカウンタ」、及び（３）の「機能グループ番号」は管理情報となっている。この（１）の「取得保存した日付、時間」と（２）の「総プログラムカウンタ」とを判定することにより、どの加工再開ブロックデータが新しいかを判定することが可能である。また、番号（４）番〜番号（１４）番までの情報は、加工再開ブロックデータの詳細情報である。なお、各情報の種類に付与されている番号は、説明を容易にするためのものであって、この数字に特別な意味はない。
【００２４】
背景技術の説明で説明したように、加工実行中に加工再開ブロックデータをメモリに記憶する技術では、数値制御装置で運転された全てのプログラムが記憶対象となっているため、例えば、加工中に工具が破損し、加工を中断した後、工具破損時に工具を引き抜く特殊なプログラムを作成している場合、加工を再開するための前準備として、この特殊なプログラムを実行した時も加工再開ブロックデータをメモリに記憶してしまうため、元の工具が破損した時の加工プログラムの加工再開ブロックデータを壊してしまう、という問題がある。
【００２５】
そこで本発明は、プログラムの再開ブロックを加工実行中にメモリに記憶し、その記憶されたデータを使用して加工再開を行う数値制御装置において、加工中断後に実行されるプログラムが、元の加工プログラムの実行中に取得した加工再開ブロックデータを上書きして壊すことがないように記憶回避手段を用いる。この記憶回避手段により、必要に応じて加工再開ブロックデータを保存しないようにし、加工再開ブロックデータを記憶しないと設定したプログラムは、加工再開ブロックデータを加工実行中に記憶しないようにする加工再開機能を有する数値制御装置が実現できる。以下、記憶回避手段について説明する。
【００２６】
●第１の実施形態
記憶回避手段は、パラメータで指定されたプログラムや、パラメータで指定されたプログラム番号の範囲のプログラムでは、加工再開ブロックデータの記憶を行わないとする手段である。以下、具体的な例を示す。
（１）パラメータで指定されたプログラムの例
パラメータＮｏ．１１２００＝１０００
パラメータＮｏ．１１２０１＝１００１
パラメータＮｏ．１１２０２＝１００２
パラメータＮｏ．１１２０３＝１００３
パラメータＮｏ．１１２０４＝１００４
パラメータＮｏ．１１２０５＝１００５
上記のように、パラメータＮｏ．１１２００〜Ｎｏ．１１２０５に設定されている番号によって、１０００番、１００１番、１００２番、１００３番、１００４番、１００５番のプログラムが実行された場合、記憶手段を行わない、という設定になる。
（２）パラメータで指定されたプログラム番号の範囲の例
パラメータＮｏ．１１２０６＝１０００
パラメータＮｏ．１１２０７＝１００５
上記のように、パラメータＮｏ．１１２０６に一番小さいプログラム番号を入力し、パラメータＮｏ．１１２０７に一番大きいプログラム番号を入力する。これにより、１０００番〜１００５番の範囲のプログラム、すなわち、１０００番、１００１番、１００２番、１００３番、１００４番、１００５番のプログラムが実行された場合、記憶手段を行わない、という設定になる。
【００２７】
●第２の実施形態
記憶回避手段は、特定の信号が入力している間に実行されるプログラムでは、加工再開ブロックデータの記憶を行わないとする手段である。具体的には、信号Ｇ５５４．０が１に設定されている時に、実行されたプログラムについては、記憶を行わない。この信号は、加工プログラム中に補助機能Ｍを実行した時に１にしても良いし、操作盤にボタンを付けて、ボタンを押すことで１にしてもよい。
【００２８】
●第３の実施形態
記憶回避手段は、マクロ変数の値が変化している状態の時に実行されたプログラムでは、加工再開ブロックデータの記憶を行わない。具体的な例として、マクロ変数♯１１２００が０以外になった時から、実行されたプログラムは記憶を行わないようにする。また、
マクロ変数♯１１２０１＝１０００
マクロ変数♯１１２０２＝１００５
と設定されている時、プログラム番号１０００番〜１００５番の間のプログラム、すなわち、１０００番、１００１番、１００２番、１００３番、１００４番、１００５番のプログラムが実行された場合、記憶を行わないという設定にしてもよい。
【００２９】
●第４の実施形態
記憶回避手段は、プログラムの属性を記憶手段に行わない設定にした場合では、加工再開ブロックデータの記憶を行わないとする手段である。具体的な例として、プログラムにはプログラム名称とプログラムに書かれている加工プログラムのほかに管理情報を有する。例えば、管理情報の１つに「書き換え不可」属性を設定することが可能である。この管理情報に「記憶手段実行不可」という属性を追加し、その属性が１つのプログラムが実行された時は、記憶を行わないようにする。
【００３０】
●第５の実施形態
記憶回避手段は、プログラムが登録されているフォルダの属性を記憶手段を行わない設定にした場合は、そのフォルダに登録されているプログラムでは、加工再開ブロックデータの記憶を行わないとする手段である。具体的な例は、プログラムを作成すると、フォルダと呼ばれるエリアに格納される。そのフォルダにも管理情報があり、例えば、管理情報の１つに「書き換え不可」属性がある。この属性が設定されている時は、そのフォルダ内に格納されているすべてのプログラムが書き換え不可の属性とすることが可能である。この管理情報に「記憶手段実行不可」という属性を追加し、その属性が１つのフォルダに格納されているプログラムが実行された時は、記憶手段を行わないようにする。プログラムが複数個格納されている場合は、そのすべてのプログラムが記憶を行わない設定の対象となる。
【００３１】
●第６の実施形態
記憶回避手段は、記憶を行わないプログラム名称を予め設定しておき、そのプログラム名称を含む名称が付けられたプログラムでは、加工再開ブロックデータの記憶を行わないとする手段である。具体的な例は、記憶手段不可の名称を「ＮＯＰＲＧＤＡＴ」とパラメータに設定した場合、プログラム名称にＮＯＰＲＧＤＡＴが付いているプログラムは記憶手段を行わないようにする。
プログラム名称の例としては、
ＮＯＰＲＧＤＡＴ０１
ＮＯＰＲＧＤＡＴ１０１１
ＮＯＰＲＧＤＡＴ＿ＣＹＣＬＥ
ＮＯＰＲＧＤＡＴ＿ＢＡＬＬ
図３は、数値制御装置１０のプロセッサ（ＣＰＵ）１１が加工を中断した後に実行するプログラムが、記憶回避手段で特定された特定プログラムの場合に、前記加工再開ブロックデータを記憶しないようにする処理のアルゴリズムを示すフローチャートである。以下、各ステップに従って説明する。  
【００３２】
●ステップＳＡ１
加工実行中に加工を中断し、加工を再開するための前準備として、数値制御装置で実行されるプログラムをメモリから読込む。加工を再開するための前準備として実行されるプログラムは、自動的に、若しくは、オペレータの指示により読込まれる。このプログラムは、数値制御装置に設けられたメモリあるいはパソコンのハードディスク等の外部装置に格納されており、メモリ１２に含まれるＲＡＭに読込まれる。このようなプログラムとして、例えば、加工実行中に工具が破損しワークの加工を中断した後に、工具交換のために工具を引き抜くプログラムがある。
【００３３】
●ステップＳＡ２（第１の実施形態の記載を参照）
記憶回避手段は、パラメータで指定されたプログラムや、パラメータで指定されたプログラム番号の範囲のプログラムでは、加工再開ブロックデータの記憶を行わないとする。
【００３４】
●ステップＳＡ３（第２の実施形態の記載を参照）
記憶回避手段は、特定の信号が入力している間に実行されたプログラムでは、加工再開ブロックデータの記憶を行わないとする。この特定の信号は、加工プログラム中に補助機能Ｍを実行した時に１にしても良いし、操作盤にボタンを付けて、ボタンを押すことで１にしてもよい。
【００３５】
●ステップＳＡ４（第３の実施形態の記載を参照）
記憶回避手段は、マクロ変数の値が変化している状態の時に実行されたプログラムでは、加工再開ブロックデータの記憶を行わない。
【００３６】
●ステップＳＡ５（第４の実施形態の記載を参照）
記憶回避手段は、プログラムの属性を記憶手段に行わない設定にした場合では、加工再開ブロックデータの記憶を行わないとする。
【００３７】
●ステップＳＡ６（第５の実施形態の記載を参照）
記憶回避手段は、プログラムが登録されているフォルダの属性を記憶手段を行わない設定にした場合は、そのフォルダに登録されているプログラムでは、加工再開ブロックデータの記憶を行わないとする。
【００３８】
●ステップＳＡ７（第６の実施形態の記載を参照）
記憶回避手段は、記憶を行わないプログラム名称を予め設定しておき、そのプログラム名称を含む名称が付けられたプログラムでは、加工再開ブロックデータの記憶を行わないとする。
【００３９】
●ステップＳＡ８〜ＳＡ１１
ステップＳＡ２〜ＳＡ７の判断により特定されたプログラムから１ブロックを読み込み、解析し、実行し、実行する際に加工再開ブロックデータを取得し、最終ブロックまで繰り返し、処理を終了する。
【００４０】
●ステップＳＡ１２〜ＳＡ１４
ステップＳＡ２〜ＳＡ７の判断により特定されたプログラムは、加工再開ブロックデータを記憶しないプログラムであるので、プログラムから１ブロックを読み込み、解析し、実行し、最終ブロックまで繰り返し、処理を終了する。
図４〜図９には、前述した本発明の第１の実施形態〜第６の実施形態に対応するフローチャートを示す。それぞれのフローチャートに各ステップの説明は、上述したとおりであるから、記載を省略する。
【図面の簡単な説明】
【００４１】
【図１】本発明の実施形態の工作機械を制御する数値制御装置の概要図である。
【図２】加工再開ブロックデータに格納されている情報の一例である。
【図３】本発明の加工再開ブロックデータを記憶するか否かを判断するアルゴリズムを示すフローチャートである。
【図４】パラメータ設定により加工再開ブロックデータを記憶しないプログラムに指令されているか判断する実施形態のフローチャートである。
【図５】加工再開ブロックデータを記憶しない信号が１になっているか否か判断する実施形態のフローチャートである。
【図６】加工再開ブロックデータを記憶しないマクロ変数が０以外に設定されているか否かを判断する実施形態のフローチャートである。
【図７】読込んだプログラムは、加工再開ブロックデータを記憶しないプログラムの属性になっているか否か判断する実施形態のフローチャートである。
【図８】読込んだプログラムは、加工再開ブロックデータを記憶しない属性となっているフォルダに登録されているか否か判断する実施形態のフローチャートである。
【図９】読込んだプログラムは、加工再開ブロックデータを記憶しないプログラム名称を含んでいるか否か判断する実施形態のフローチャートである。
【符号の説明】
【００４２】
１０  数値制御装置
１１  プロセッサ（ＣＰＵ）
１２  メモリ
１３  インタフェース
１４  表示器
１５  機械操作盤
１６  各軸制御手段
１７  主軸制御手段
１８  バス
２０  工作機械
２１  外部記憶手段
【図１】
2010044489.tif 000003
【図２】
2010044489.tif 000004
【図３】
2010044489.tif 000005
【図４】
2010044489.tif 000006
【図５】
2010044489.tif 000007
【図６】
2010044489.tif 000008
【図７】
2010044489.tif 000009
【図８】
2010044489.tif 000010
【図９】
2010044489.tif 000011