(57)【特許請求の範囲】
【請求項１】
制御指令コードでブロック毎に記述されたプログラムに基づいて、所定の装置をブロック毎に制御する数値制御装置において、
Ｇコードグループ別に定義されたモーダルデータを初期化するための複数の指令情報、および前記複数の指令情報からなる１組の情報を識別するための初期化識別情報を記憶する記憶部と、
前記プログラムをブロック毎に抽出し、抽出したブロック内に前記記憶部が記憶する初期化識別情報に対応する初期化識別情報が含まれるか否かを判別する解析部と、
前記解析部が、前記抽出したブロック内から前記初期化識別情報に対応する初期化識別情報を判別すると、当該初期化識別情報に対応する前記複数の指令情報に基づいて、前記Ｇコードグループ別に定義されたモーダルデータを初期化させる初期化処理部と、
を備えることを特徴とする数値制御装置。
【請求項２】
前記初期化識別情報は、Ｇコード、ＭコードまたはＴコードを含むことを特徴とする請求項１に記載の数値制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御指令コードで記述されたプログラムに基づいて制御処理を行なう数値制御装置に関するものである。
【背景技術】
【０００２】
被加工物の加工処理等を行う処理装置においては、複雑な処理が必要とされている。このため、数値制御装置が行なう処理装置の制御処理も複雑化している。処理装置が複数の設定条件に基づいた加工を場合には制御用のプログラムも複雑化する。例えば、１つの設定による加工（所定の工具による加工等）が終了して次の設定による加工処理を開始する際には、簡易なプログラムで処理装置を初期状態に設定することが望まれる。
【０００３】
従来の数値制御装置は、電源投入時またはリセット時にモーダルＧコードをパラメータで設定するように構成されており、電源投入時もしくはリセット時に工作機械（処理装置）に合致したモーダル状態で動作させている（例えば、特許文献１参照）。また、マクロプログラム内でモーダルＧコードを変更する場合において、プログラム実行中にモーダルＧコードをセーブ・リストアする数値制御装置がある（例えば、特許文献２参照）。
【０００４】
【特許文献１】特開平４−１４８３０４号公報
【特許文献２】実開平３−８６４０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記前者の従来の技術では１つの工具による加工終了の際に、工具オフセットの絶対値指令・増分値指令の切換など、指令した情報をキャンセルするＧコードを数値制御装置に指令する必要がある。このとき、加工プログラムにおいて複数のＧコードを指定しなければならない場合があるため、加工プログラムの作成が繁雑になるといった問題があった。また、加工プログラムの作成時に、モーダルＧコードをキャンセルするためのＧコード等を設定し忘れた場合等には、加工プログラムのデバッグに長時間を要するといった問題点があった。
【０００６】
また、上記後者の従来の技術ではセーブしたモーダルＧコードの状態に数値制御装置の状態を復元することはできても、セーブした状態と異なる他の状態に数値制御装置を初期化したい場合には、モーダルを変更することができないといった問題点があった。
【０００７】
本発明は、上記に鑑みてなされたものであって、１つの制御指令コードによってモーダルデータの指令状態を初期状態に設定することができる数値制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、制御指令コードでブロック毎に記述されたプログラムに基づいて、所定の装置をブロック毎に制御する数値制御装置において、Ｇコードグループ別に定義されたモーダルデータを初期化するための複数の指令情報、および前記複数の指令情報からなる１組の情報を識別するための初期化識別情報を記憶する記憶部と、前記プログラムをブロック毎に抽出し、抽出したブロック内に前記記憶部が記憶する初期化識別情報に対応する初期化識別情報が含まれるか否かを判別する解析部と、前記解析部が、前記抽出したブロック内から前記初期化識別情報に対応する初期化識別情報を判別すると、当該初期化識別情報に対応する前記複数の指令情報に基づいて、前記Ｇコードグループ別に定義されたモーダルデータを初期化させる初期化処理部と、を備えることを特徴とする。
【発明の効果】
【０００９】
この発明によれば、予め設定した初期化識別情報に対応する指令情報に基づいて、Ｇコードグループ別に定義されたモーダルデータをプログラム起動時等の状態に一括して設定変更できるため、加工プログラムの作成が容易になるという効果を奏する。
【発明を実施するための最良の形態】
【００１０】
以下に、本発明にかかる数値制御装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１１】
実施の形態
まず、本実施の形態にかかる数値制御装置の概念について説明する。図１は、実施の形態にかかる数値制御装置の概念を説明するための説明図である。なお、本実施の形態においては、数値制御装置１００が制御する装置の一例として、数値制御装置１００が複数の工具、複数の加工条件等で被加工物の加工処理を行なう加工処理装置（工作機械）の制御を行なう場合について説明する。数値制御装置１００は、加工処理装置の制御として座標データを与えることにより、例えば工具と被加工物の相対的な位置（工具の回転や移動）を制御する。
【００１２】
数値制御装置１００へは、数値制御装置１００に設定される加工条件等のモーダルＧコード（後述するモーダルＧコード５０）をキャンセルするためのキャンセルＧコード３１、キャンセルＧコード３１によってキャンセル（初期化）されるモーダルＧコード５０の設定状態（以下、モーダルＧコード設定情報３２という）を予め入力しておき、不揮発性メモリ１４０（後述する設定情報記憶部１４に対応）に記憶させておく（１，２）。
【００１３】
加工処理装置（図示せず）が被加工物を加工する際、加工プログラム（制御指令コード）３３を数値制御装置１００に入力する（３）。そして、入力された加工プログラム３３の１ブロック毎の処理内容を解釈して１ブロック毎のデータを抽出し、１ブロック毎の処理が終了した際に１ブロック毎のデータ（以下、１ブロックデータ３４という）を揮発性メモリ１７０（後述する初期化情報記憶部１７に対応）に記憶させる。つぎに、揮発性メモリ１７０に記憶させた１ブロックデータ３４が、不揮発性メモリ１４０に設定しておいたキャンセルＧコード３１と同一のＧコードであるか否かを判断する（４）。
【００１４】
１ブロックデータ３４が、キャンセルＧコード３１に対応する情報（キャンセルＧコード３１と同じＧコード等）である場合、モーダルＧコード設定情報（指令情報）３２に基づいて、モーダルＧコード５０の設定を変更（初期化）し、揮発性メモリ１７０に記憶させる（５）。この後、数値制御装置１００と接続する加工処理装置は、モーダルＧコード５０、ＮＣプログラムより指令される座標データ等に基づいて被加工物の加工処理等を行なう。
【００１５】
つぎに、本実施の形態にかかる数値制御装置の構成について説明する。図２は、実施の形態にかかる数値制御装置の構成を示すブロック図である。数値制御装置１００は、Ｇコード、Ｍコード、Ｔコード等の制御指令コードに基づいて、加工処理装置を制御する装置（コンピュータ等）であり、設定情報入力部１１、プログラム入力部１２、記憶制御部１３、設定情報記憶部１４、解析部１５、初期化処理部１６、初期化情報記憶部１７からなる。なお、ここでの設定情報記憶部１４が特許請求の範囲に記載の記憶部に対応する。
【００１６】
設定情報入力部１１は、マウス、キーボード等の情報入力手段を備えて構成され、数値制御装置１００に設定される加工条件等のモーダルＧコード５０をキャンセルするためのキャンセルＧコード（初期化識別情報）３１、キャンセルＧコード３１によってキャンセル（初期化）されるモーダルＧコード５０の設定状態（モーダルＧコード設定情報３２）を入力する。プログラム入力部１２は、加工処理装置が被加工物を加工する際の加工プログラム３３を入力する。
【００１７】
記憶制御部１３は、設定情報入力部１１に入力されたキャンセルＧコード３１やモーダルＧコード設定情報３２を、設定情報記憶部１４へ記憶させる。設定情報記憶部１４は、不揮発性メモリ等によって構成され、記憶制御部１３の制御に基づいて設定情報入力部１１に入力されたキャンセルＧコード３１やモーダルＧコード設定情報３２を記憶する。
【００１８】
解析部１５は、プログラム入力部１２から入力された加工プログラム３３の１ブロック毎の処理内容を解釈して１ブロック毎のデータを抽出し、１ブロック毎の処理が終了した際に１ブロック毎のデータ（１ブロックデータ３４）を初期化情報記憶部１７に記憶させる。解析部１５は、初期化情報記憶部１７に記憶させた加工プログラム３３の１ブロックデータ３４が、予め設定情報記憶部１４に設定されたキャンセルＧコード３１と同一のＧコードであるか否かを判断する。
【００１９】
初期化処理部１６は、１ブロックデータ３４から解析部１５が設定情報記憶部１４に設定されたキャンセルＧコード３１と同一のＧコードを読み取ると、設定情報記憶部１４に設定されたモーダルＧコード設定情報３２に基づいて、モーダルＧコード５０（モーダルデータ）の設定を変更（初期化）する。初期化処理部１６は、設定変更したモーダルＧコード５０を初期化情報記憶部１７に記憶させる。
【００２０】
初期化情報記憶部１７は、揮発性メモリ等によって構成され、解析部１５によって抽出された１ブロックデータ３４や、初期化処理部１６によって設定変更されたモーダルＧコード５０を記憶する。
【００２１】
つぎに、数値制御装置１００の動作処理手順について説明する。図３は、数値制御装置の処理手順を示すフローチャートである。数値制御装置１００へは、予めキャンセルＧコード３１とモーダルＧコード設定情報３２を設定しておく。具体的には、キャンセルＧコード３１とモーダルＧコード設定情報３２を設定情報入力部１１から入力し、記憶制御部１３が入力されたキャンセルＧコード３１とモーダルＧコード設定情報３２を設定情報記憶部１４に記憶させる。
【００２２】
ここで、キャンセルＧコード３１とモーダルＧコード設定情報３２の構成および関係を説明する。図４は、モーダルＧコード設定情報の一例を示す図である。キャンセルＧコード３１へは、モーダルＧコード５０をキャンセルするためのＧコードとして予め所定のＧコードを割り当てておく。ここでは、キャンセルＧコード３１の一例として「Ｇ１２３」、「Ｇ４５６」を割り当てている場合を示している。
【００２３】
また、各キャンセルＧコード３１に対してモーダルＧコード設定情報３２を対応付けておく。モーダルＧコード設定情報３２の各項目は、解析部１５が１ブロックデータ３４から「Ｇ１２３」や「Ｇ４５６」を検出した際に、モーダルＧコード５０に設定されるものである。
【００２４】
例えば、「Ｇ１２３」のキャンセルＧコード３１に対して、加工条件等のモーダルＧコード５０を初期化するためのモーダルＧコード設定情報３２として、「イニシャル絶対値」、「イニシャルＧ００」、「工具径補正」、「工具オフセット」、「ワーク座標系選択」等を対応付けておく。
【００２５】
また、「Ｇ４５６」のキャンセルＧコード３１に対して、モーダルＧコード設定情報３２として、「イニシャル絶対値」、「イニシャルＧ００」、「工具径補正」、「工具オフセットワーク座標系選択」、「高速高精度」等を対応付けておく。
【００２６】
「イニシャル絶対値」は、位置指令方式を示し、当該ブロック以降の座標指令を絶対値または増分値指令として実行させる。ここでは、「イニシャル絶対値」が「０」の場合（インクリメンタルモードの場合）、現在の位置を始点として、プログラムによって指定された値（増分値）だけ相対値として移動させる。また、「イニシャル絶対値」が「１」の場合（アブソリュートモードの場合）、現在の位置に関係なくプリセットされた座標系に基づいて、プログラムされた位置（絶対値）へ移動させる。
【００２７】
「イニシャルＧ００」は、位置決めを示し、現時点を始点として座標語（Ｘ、Ｙ、Ｚ）で指令された終点へ位置決め（切削または早送り）する。ここでは、「イニシャルＧ００」が「０」の場合に切削を行い、「イニシャルＧ００」が「１」の場合に早送りを行なう。
【００２８】
「工具径補正」は、工具径の補正を示し、「工具径補正」が「０」の場合に工具径の補正を変更せず、「工具径補正」が「１」の場合に工具径の補正をキャンセルする。「工具オフセット」は、工具の長さを変更するか否かを示し、「工具オフセット」が「０」の場合に工具の長さを変更せず、「工具オフセット」が「１」の場合に工具の長さをキャンセルする。
【００２９】
「ワーク座標系選択」は、ワーク座標系の選択を示し、「ワーク座標系選択」が「０」の場合「Ｇ５４」で設定される座標を選択し、「ワーク座標系選択」が「１」の場合「Ｇ５５」で設定される座標を選択し、「ワーク座標系選択」が「２」の場合「Ｇ５６」で設定される座標を選択する。
【００３０】
「高速高精度」は、高速かつ高精度の処理を設定するか否かを示し、「高速高精度」が「０」の場合に高速かつ高精度の処理をキャンセルし、「高速高精度」が「０」の場合に高速かつ高精度の処理をＯＮにする。
【００３１】
ここでは、「Ｇ１２３」のキャンセルＧコード３１に対して、「イニシャル絶対値」のモードを「１」（絶対値モード）、「イニシャルＧ００」を「１」（早送り）、「工具径補正」を「１」（キャンセル）、「工具オフセットワーク座標系選択」を「０」（Ｇ５４）に対応付けておく。
【００３２】
また、「Ｇ４５６」のキャンセルＧコード３１に対して、「イニシャル絶対値」を「０」（増分値）、「イニシャルＧ００」を「０」（切削）、「工具径補正」を「０」（変更なし）、「工具オフセットワーク座標系選択」を「２」（Ｇ５６）、「高速高精度」を「０」（キャンセル）に対応付けておく。
【００３３】
キャンセルＧコード３１とモーダルＧコード設定情報３２を設定情報記憶部１４に記憶させた後、加工プログラム３３による加工処理を開始する。解析部１５は、加工プログラム３３による加工処理中に、加工プログラム３３内の１ブロックの処理が終了したか否かを、１ブロック毎の処理内容を解釈して判定している（ステップＳ１００）。解析部１５は、例えばＥＯＢ（End Of Block）コードに基づいて１ブロックの処理が終了したか否かを判断する。
【００３４】
解析部１５が、加工プログラム３３内の１ブロックの処理が終了していない（１ブロックの処理中）と判定すると（ステップＳ１００、Ｎｏ）、解析部１５は加工プログラム３３内の１ブロックの処理が終了するまで待機状態となる。
【００３５】
一方、解析部１５が加工プログラム３３内の１ブロックの処理が終了したと判定すると（ステップＳ１００、Ｙｅｓ）、解析部１５は処理の終了した１ブロック分のデータを１ブロックデータ３４として読み出す（ステップＳ１１０）。そして、読み出した１ブロックデータ３４は、初期化情報記憶部１７に格納しておく。
【００３６】
ここで、加工プログラム３３の構成を説明する。図５は、加工プログラムの構成の一例を示す図である。加工プログラム３３は、設定情報記憶部１４に登録しておいたキャンセルＧコード３１と同一の（設定情報記憶部１４に登録しておいたキャンセルＧコード３１に対応する）Ｇコード（「Ｇ１２３」、「Ｇ４５６」）、軸の移動や座標系を設定するためのＧコード、工具を回転させたり止めたりするためのＭコード、工具交換を行なうためのＴコード、図示しないＥＯＢ等をシーケンス番号に対応付けすることによって構成されている。
【００３７】
解析部１５によって読み出された１ブロックデータ３４は、初期化情報記憶部１７に記憶しておく。解析部１５は、１ブロックデータ３４から、設定情報記憶部１４に記憶させておいたキャンセルＧコード３１と同一のＧコード（「Ｇ１２３」や「Ｇ４５６」）を読み出す。換言すると、解析部１５は１ブロックデータ３４から読み出したＧコード指令が、キャンセルＧコード３１と一致するか否かを判定する（ステップＳ１２０）。
【００３８】
解析部１５が、１ブロックデータ３４から読み出したＧコード指令とキャンセルＧコード３１が一致しないと判断すると（ステップＳ１２０、Ｎｏ）、解析部１５はステップＳ１００の処理に戻って、加工プログラム３３内の１ブロックの処理が終了したか否かを判定する。
【００３９】
一方、解析部１５が、１ブロックデータ３４から読み出したＧコード指令とキャンセルＧコード３１が一致すると判断すると（ステップＳ１２０、Ｙｅｓ）、初期化処理部１６は１ブロックデータ３４から読み出したＧコード指令がキャンセルＧコード３１と一致すると判断する。
【００４０】
例えば、図５に示す加工プログラム３３の場合、解析部１５がシーケンス番号Ｎ５００のブロックである「Ｇ１２３」を読み取ると、解析部１５は１ブロックデータ３４から読み出したＧコード指令がキャンセルＧコード３１と一致すると判定する。
【００４１】
初期化処理部１６は、１ブロックデータ３４から読み出したＧコード指令に一致するキャンセルＧコード３１に対応するモーダルＧコード設定情報３２（「イニシャル絶対値」、「イニシャルＧ００」等）を、設定情報記憶部１４から抽出する。
【００４２】
そして、初期化処理部１６は、モーダルＧコード設定情報３２内の「イニシャル絶対値」、「イニシャルＧ００」等の設定項目の変更数をモーダル変更数として読み出す（ステップＳ１３０）。
【００４３】
つぎに、初期化処理部１６は、モーダルＧコードの状態（モーダルＧコード５０）を変更する。具体的には、初期化処理部１６は、未処理（モーダルＧコードの状態を変更していない）のモーダル変更数が０であるか否か（モーダルＧコード５０の変更を全て完了したか否か）を判定する（ステップＳ１４０）。
【００４４】
初期化処理部１６は、モーダル変更数が０でない場合には、モーダルＧコード設定情報３２で未処理の変更内容を読み出し（ステップＳ１５０）、モーダル状態（モーダルＧコード５０）を変更する（ステップＳ１６０）。
【００４５】
初期化処理部１６はモーダルＧコード設定情報３２に基づいて、例えばモーダルＧコード状態を、位置指令方式を絶対値モード、位置決めを早送り、工具径補正をキャンセル、工具オフセットをキャンセル、「Ｇ５４」のワーク座標系に変更する。
【００４６】
なお、ここでのモーダルＧコードは、一度指令されると次に別のＧコードが指令されるまでは、有効に実行されるＧコードである。すなわち、モーダルＧコードが設定されると、加工処理装置等は、次のＧコードが指令されるまで設定されたモーダルＧコード、ＮＣプログラムより指令される座標データ等に基づいて被加工物の加工処理等を行う。
【００４７】
また、キャンセルＧコード３１は、複数個登録することが可能であり、図５に示すように例えばシーケンス番号Ｎ２７００が解析部１５によって読み出されると、モーダルＧコード状態は、「Ｇ４５６」の状態に変更される。このように、１〜複数のブロックで構成される各加工工程の前後（加工工程と加工工程の間）でキャンセルＧコード３１を呼び出すことによって、容易にモーダル状態が初期化された状態を作りだすことが可能となる。
【００４８】
初期化処理部１６が、モーダル状態の１項目を変更すると、モーダル変更数から１を減算し（ステップＳ１７０）、初期化処理部１６は、モーダルＧコードの次の項目の状態を変更する。
【００４９】
初期化処理部１６は、未処理のモーダル変更数が０となるまで、ステップＳ１４０〜Ｓ１７０の処理を繰り返す。そして、初期化処理部１６が未処理のモーダル変更数が０であると判断すると（ステップＳ１４０、Ｙｅｓ）、初期化処理部１６によるモーダル変更の処理を終了する。
【００５０】
なお、本実施の形態においてはキャンセルＧコードに基づいて、モーダルＧコード５０を初期化することとしたが、予め設定しておいたＭコード等に基づいてモーダルＧコード５０を初期化することとしてもよい。また、本実施の形態においてはモーダルＧコード５０を初期化（変更）することとしたが、Ｆコード（速度指令）等のモーダルデータ（情報）を一括して初期化することとしてもよい。
【００５１】
このように、実施の形態によれば、予め設定した１つのＧコード指令に基づいて、Ｇコードの指令状態を加工工程の初期状態や加工プログラム起動時の状態に設定変更できるため、加工プログラム３３の作成が容易になる。すなわち、数値制御装置１００は、簡易な加工プログラム３３によって動作することが可能となる。
【００５２】
また、モーダルＧコード設定情報３２は任意に設定することができるので、ワーク座標系の選択指令等を加工プログラム３３の完了まで有効にしたい場合、１つのＧコード指令によってキャンセルするモーダルＧコード５０内の項目を選択的に設定することが可能となる。
【００５３】
また、加工プログラム３３の作成時に、モーダルＧコードをキャンセルするためのＧコードを設定し忘れた場合等であっても、加工プログラム３３のデバッグを短時間で行なうことが可能となる。
【産業上の利用可能性】
【００５４】
以上のように、本発明にかかる数値制御装置は、複数の工具でワークを加工する工作機械の制御処理に適している。
【図面の簡単な説明】
【００５５】
【図１】実施の形態にかかる数値制御装置の概念を説明するための説明図である。
【図２】実施の形態にかかる数値制御装置の構成を示すブロック図である。
【図３】数値制御装置の処理手順を示すフローチャートである。
【図４】モーダルＧコード設定情報の一例を示す図である。
【図５】加工プログラムの構成の一例を示す図である。
【符号の説明】
【００５６】
１１  設定情報入力部
１２  プログラム入力部
１３  記憶制御部
１４  設定情報記憶部
１５  解析部
１６  初期化処理部
１７  初期化情報記憶部
３１  キャンセルＧコード
３２  コード設定情報
３３  加工プログラム
３４  １ブロックデータ
５０  モーダルＧコード
１００  数値制御装置
１４０  不揮発性メモリ
１７０  揮発性メモリＧ
【図１】
0004494303.tif 000002
【図２】
0004494303.tif 000003
【図３】
0004494303.tif 000004
【図４】
0004494303.tif 000005
【図５】
0004494303.tif 000006