(57)【特許請求の範囲】
【請求項１】
ワークの加工を行うための数値制御プログラムを読み込み、この数値制御プログラムによって工作機械の各可動部の動作を制御する数値制御装置において、
前記数値制御プログラムを記憶する第一の記憶手段と、
この第一の記憶手段から前記数値制御プログラムを読み込み、前記ワークの加工を行う前に、当該ワークの加工のための数値制御プログラムの解読・変換を行う解読・変換部と、前記数値制御プログラムの中から予め前記数値制御プログラムに付された所定の識別子を検索し、前記識別子が発見されたときに、当該識別子で指定されたプログラム部分を前記解読・変換部による解読・変換処理の対象から除外する検索部とを有する事前解読・変換処理手段と、
前記解読・変換処理の対象から除外された前記プログラム部分を含めて、前記事前解読・変換処理手段で解読・変換された数値制御プログラムを記憶する第二の記憶手段と、
前記ワークの加工を行う際に、前記第二の記憶手段から読み出した前記数値制御プログラムの中から前記識別子を検索する検索部と、この検索部で前記識別子が発見されたときに、当該識別子で指定されたプログラム部分の解読・変換を行う解読・変換部と、解読・変換された数値制御プログラムに基づいて各可動部に動作指令を出力する動作指令出力部とを有する数値制御プログラム実行手段と、
を備えることを特徴とする数値制御装置。
【請求項２】
前記識別子で指定されたプログラム部分に、前記数値制御プログラムの再解読・変換を要求するための第二の識別子が付されている場合であって、この第二の識別子の検索を行う第二の検索部と、この第二の検索部によって前記第二の識別子が発見されたときに、前記第一の記憶手段に記憶された前記数値制御プログラムの再解読・変換の要求を行う再解読・変換要求部とをさらに備えることを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記再解読・変換要求部によって数値制御プログラムの再解読・変換が要求されたときに、前記第一の記憶手段に記憶されている前記数値制御プログラムを前記事前解読・変換処理手段に送って事前解読・変換を行うことを特徴とする請求項２に記載の数値制御装置。
【請求項４】
前記事前解読・変換処理手段は、前記数値制御プログラムの実行中に、前記再解読・変換の要求に応じて事前解読・変換処理を行い、前記数値制御プログラムの実行後に事前解読・変換処理された数値制御プログラムを前記第二の記憶手段に格納することを特徴とする請求項２又は３に記載の数値制御装置。
【請求項５】
前記再解読・変換要求部は、前記数値制御プログラムの実行終了後に、前記数値制御プログラムの再解読・変換を要求することを特徴とする請求項２〜４のいずれかに記載の数値制御装置。
【請求項６】
工作機械の各可動部の動作を制御してワークの加工等を行うための数値制御プログラムの実行方法において、
前記ワークの加工を行う前に、数値制御プログラムを記憶する第一の記憶手段から数値制御プログラムを読み込むステップと、
読み込んだ数値制御プログラムの中から予め数値制御プログラムに付された識別子を検索するステップと、
前記識別子が発見されたときに、当該識別子で指定されたプログラム部分を解読・変換部による解読・変換処理の対象から除外するステップと、
解読・変換処理の対象から除外されたプログラム部分を除いて数値制御プログラムの解読・変換を行うステップと、
前記解読・変換処理の対象から除外された前記プログラム部分を含めて、解読・変換された数値制御プログラムを第二の記憶手段に記憶するステップと、
前記ワークの加工を行う際に、前記第二の記憶手段から前記数値制御プログラムを読み込み、この数値制御プログラムの中から前記識別子を検索するステップと、前記識別子が発見されたときに、当該識別子で指定されたプログラム部分の解読・変換を行うステップと、前記第二の記憶手段から読み込まれた解読・変換済みの数値制御プログラム又は解読・変換された前記プログラム部分に基づいて、各可動部に動作指令を出力するステップと、
を有することを特徴とする数値制御プログラムの実行方法。
【請求項７】
前記識別子で指定されたプログラム部分に、前記数値制御プログラムの再解読・変換を要求するための第二の識別子が付されている場合であって、
この第二の識別子の検索を行うステップと、
この検索によって前記第二の識別子が発見されたときに、前記第一の記憶手段に記憶された前記数値制御プログラムの再解読・変換の要求を行うステップとを有することを特徴とする請求項６に記載の数値制御プログラムの実行方法。
【請求項８】
前記数値制御プログラムの実行中に、再解読・変換の要求に応じて事前解読・変換処理を行い、前記数値制御プログラムの実行終了後に事前解読・変換処理された数値制御プログラムを前記第二の記憶手段に格納することを特徴とする請求項７に記載の数値制御プログラムの実行方法。
【請求項９】
前記数値制御プログラムの実行終了後に、前記数値制御プログラムの再解読・変換を要求することを特徴とする請求項７又は８に記載の数値制御プログラムの実行方法。
【請求項１０】
請求項６〜９のいずれかに記載の数値制御プログラムの実行方法の各ステップを実行するためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、数値制御旋盤等の数値制御工作機械に用いられ、ワークの加工を行う際に、前記数値制御工作機械の各可動部の動作を制御する数値制御装置、数値制御プログラムの実行方法及びそのプログラムに関する。
【０００２】
【従来の技術】
数値制御旋盤等の工作機械においては、ワークを加工するための数値制御（以下、ＮＣと略記することがある）プログラムの内容を解読・変換して、パルス分配用の実行形式のデータを用意し、この実行形式に変換したデータに基づいて、工作機械の主軸や刃物台等の可動部の動作を制御するようにしている。ここで、ＮＣプログラムの内容を実行形式のデータに変換するとは、ＮＣプログラムに含まれているデータを、工作機械のＮＣ装置の内部で処理しやすい形の２進数等の機械語データに変換することをいう。そして、このようなＮＣプログラムの実行方法として、逐次解読・変換処理方式と事前解読・変換処理方式とが知られている。
【０００３】
逐次解読・変換処理方式とは、データベースやフレキシブルディスク、メモリカード、メモリ等の記憶媒体からＮＣプログラムを一ブロックずつ読み取り、当該一ブロックについて解読・変換を行いながら動作を行うものをいう。
図８のフローチャートに、逐次解読・変換処理方式の処理を簡単に示す。
加工開始とともに（ステップＳ１１０）、ＮＣプログラムが記憶された記憶媒体からＮＣプログラムを一ブロック読み込み（ステップＳ１１１）、当該ブロックについて解読・変換を行う（ステップＳ１１２）。そして、この解読・変換結果に基づいて、各可動部を動作させるための動作指令を出力する（ステップＳ１１３）。
読み込んだブロックがＮＣプログラムのプログラムエンドコマンドでなければ、ステップＳ１１１に戻って次のブロックを読み込む。
【０００４】
読み込んだブロックがＮＣプログラムのプログラムエンドコマンドであれば（ステップＳ１１４）、次のサイクルを実行するかどうかを判断し（ステップＳ１１５）、次のサイクルを実行するのであればステップＳ１１１に戻ってＮＣプログラムの先頭のブロックを読み込む。次のサイクルを実行しないのであれば、加工を終了する（ステップＳ１１６）。
【０００５】
また、事前解読・変換処理方式とは、予めＮＣプログラムを一括して解読・変換しておき、解読・変換の終了したＮＣプログラムにより、動作を行わせるものをいう。
図９のフローチャートに、事前解読・変換処理方式の処理を簡単に示す。
図９（ａ）はＮＣプログラムの事前解読・変換処理の手順を示すもので、（ｂ）は事前解読・変換処理されたＮＣプログラムによる加工の手順を示すものである。
事前解読・変換処理の開始（ステップＳ２１０）とともに、記憶媒体からＮＣプログラムを一ブロック読み込み（ステップＳ２１１）、当該ブロックについて解読・変換を行う（ステップＳ２１２）。解読・変換結果は、メモリ等の記憶媒体に記憶させる（ステップＳ２１３）。この作業を、ＮＣプログラムの最後のブロックまで行い（ステップＳ２１４）、最後のブロックについて解読・変換を終了したところで、事前解読・変換処理を終了する（ステップＳ２１５）。
【０００６】
次いで、メモリ等の記憶媒体に記憶された解読・変換済みのＮＣプログラムを、加工開始（ステップＳ２２０）とともに一ブロックずつ読み込み、当該ブロックに基づいて動作指令を出力しながら、ワークの加工を行う（ステップＳ２２２）。
読み込んだブロックにＮＣプログラムがプログラムエンドコマンドでなければ（ステップＳ２２３）、ステップＳ２２１に戻って次のブロックを読み込む。
読み込んだブロックにＮＣプログラムがプログラムエンドコマンドであれば（ステップＳ２２３）、次のサイクルを実行するかどうかを判断し（ステップＳ２２４）、次のサイクルを実行するのであればステップＳ２２１に戻ってＮＣプログラムの先頭のブロックを読み込む。次のサイクルを実行しないのであれば、加工を終了する（ステップＳ２２５）。
【０００７】
ところで、図８に示したような逐次解読・変換処理方式は、ＮＣプログラムを一ブロックずつ読み込んで解読・変換を行いながら動作を行うため、一ブロックの動作に複雑な加工（補間）が含まれていると解読・変換に時間がかかり、動作が途中で停止するということがある。そのため、無駄時間が生じ、加工効率が低下し、カッターマークが付くという問題がある。
これに対し、図９に示したような事前解読・変換処理方式は、既に解読・変換の終了したＮＣプログラムを読み込んで動作を行うため、逐次解読・変換処理方式で生じるような無駄時間は生じないという利点がある。事前解読・変換処理方式は、同一のワークに対して同一の加工を繰り返し行う場合に有利である。
【０００８】
しかしながら、事前解読・変換処理方式は、一サイクル（ＮＣプログラムの先頭から終端までの実行を一サイクルとする）の動作を繰り返し実行するのみであり、一サイクルの動作を開始すると、その間にＮＣプログラムの解読・変換を行うことはない。そのため、ＮＣプログラムの一部を書き換えて所定の動作を変更したり、新たな動作を追加したりするには、書き換えたＮＣプログラムを再び事前解読・変換処理方式によって解読・変換しなければならず、柔軟な対応ができないという問題がある。
したがって、例えば、ワークの総生産個数を５００個に設定し、一ロットごとの取り個数を１００個に設定して解読・変換を行ってしまうと、一ロットの取り個数を途中で５０個や３０個などの任意の数に変更することは困難である。
【０００９】
【発明が解決しようとする課題】
本発明は上記の問題にかんがみてなされたもので、無駄時間が発生しないという点で優れる事前解読・変換処理を前提としながら、所定の動作をサイクル中に任意に追加したり変更したりすることができる、柔軟な対応が可能なＮＣ装置、ＮＣプログラムの実行方法及びそのプログラムを提供することを目的とする。
【００１０】
【課題を解決するための手段】
上記の目的を達成するために請求項１に記載の発明は、ワークの加工を行うための数値制御プログラムを読み込み、この数値制御プログラムによって工作機械の各可動部の動作を制御する数値制御装置において、前記数値制御プログラムを記憶する第一の記憶手段と、この第一の記憶手段から前記数値制御プログラムを読み込み、前記ワークの加工を行う前に、当該ワークの加工のための数値制御プログラムの解読・変換を行う解読・変換部と、前記数値制御プログラムの中から予め前記数値制御プログラムに付された所定の識別子を検索し、前記識別子が発見されたときに、当該識別子で指定されたプログラム部分を前記解読・変換部による解読・変換処理の対象から除外する検索部とを有する事前解読・変換処理手段と、前記解読・変換処理の対象から除外された前記プログラム部分を含めて、前記事前解読・変換処理手段で解読・変換された数値制御プログラムを記憶する第二の記憶手段と、前記ワークの加工を行う際に、前記第二の記憶手段から読み出した前記数値制御プログラムの中から前記識別子を検索する検索部と、この検索部で前記識別子が発見されたときに、当該識別子で指定されたプログラム部分の解読・変換を行う解読・変換部と、解読・変換された数値制御プログラムに基づいて各可動部に動作指令を出力する動作指令出力部とを有する数値制御プログラム実行手段とを備える構成としてある。
【００１１】
上記構成の数値制御装置では、事前解読・変換処理部が数値制御プログラムの事前解読・変換を行う。この場合、第一の記憶手段から読み込まれた数値制御プログラムの中から、検索部が、予め設定された識別子を検索し、当該識別子が発見された場合には、当該識別子によって指定された部分の事前解読・変換は行わない。識別子で指定された部分については、加工のために数値制御プログラムを実行する際に、逐次解読・変換処理を行う。この逐次解読・変換処理を行う部分では、設定値を変更したり追加することが容易に行える。
したがって、本発明では、事前解読・変換処理の長所と逐次解読・変換処理の長所とを併せ持つ数値制御装置を得ることができる。
【００１２】
請求項２に記載の発明は、前記識別子で指定されたプログラム部分に、前記数値制御プログラムの再解読・変換を要求するための第二の識別子が付されている場合であって、この第二の識別子の検索を行う第二の検索部と、この第二の検索部によって前記第二の識別子が発見されたときに、前記記憶手段に記憶された前記数値制御プログラムの再解読・変換の要求を行う再解読・変換要求部とをさらに備える構成としてある。
この構成によれば、設定値の追加や変更によって数値制御プログラムのパスが変化するような場合であっても、前記数値制御プログラムについて再解読・変換を行い、以後の数値制御プログラムの実行を正常に継続することができる。
【００１３】
請求項３に記載するように、前記再解読・変換要求部によって数値制御プログラムの再解読・変換が要求されたときには、前記記憶手段に記憶されている前記数値制御プログラムを前記事前解読・変換処理手段に送って事前解読・変換を行うようにするとよい。
【００１４】
請求項４に記載の発明は、前記事前解読・変換処理手段は、前記数値制御プログラムの実行中に、前記再解読・変換の要求に応じて事前解読・変換処理を行い、前記数値制御プログラムの実行後に事前解読・変換処理された数値制御プログラムを前記第二の記憶手段に格納する構成としてある。
また、請求項５に記載するように、前記数値制御プログラムの実行終了後に、前記数値制御プログラムの再解読・変換を要求するようにすることも可能である。
【００１５】
本発明の目的は、請求項６から９に記載の実行方法によっても達成が可能である。すな
わち、請求項６に記載の発明は、工作機械の各可動部の動作を制御してワークの加工等を行うための数値制御プログラムの実行方法において、前記ワークの加工を行う前に、数値制御プログラムを記憶する第一の記憶手段から数値制御プログラムを読み込むステップと、読み込んだ数値制御プログラムの中から予め数値制御プログラムに付された識別子を検索するステップと、前記識別子が発見されたときに、当該識別子で指定されたプログラム部分を解読・変換部による解読・変換処理の対象から除外するステップと、解読・変換処理の対象から除外されたプログラム部分を除いて数値制御プログラムの解読・変換を行うステップと、前記解読・変換処理の対象から除外された前記プログラム部分を含めて、解読・変換された数値制御プログラムを第二の記憶手段に記憶するステップと、前記ワークの加工を行う際に、前記第二の記憶手段から前記数値制御プログラムを読み込み、この数値制御プログラムの中から前記識別子を検索するステップと、前記識別子が発見されたときに、当該識別子で指定されたプログラム部分の解読・変換を行うステップと、前記第二の記憶手段から読み込まれた解読・変換済みの数値制御プログラム又は解読・変換された前記プログラム部分に基づいて、各可動部に動作指令を出力するステップとを有する方法としてある。
【００１６】
また、請求項７に記載に記載するように、前記識別子で指定されたプログラム部分に、前記数値制御プログラムの再解読・変換を要求するための第二の識別子が付されている場合には、この第二の識別子の検索を行うステップと、この検索によって前記第二の識別子が発見されたときに、前記記憶手段に記憶された前記数値制御プログラムの再解読・変換の要求を行うステップとを有するようにしてもよい。請求項８に記載の発明のように、前記数値制御プログラムの実行中に、再解読・変換の要求に応じて事前解読・変換処理を行い、前記数値制御プログラムの実行終了後に事前解読・変換処理された数値制御プログラムを前記第二の記憶手段に格納するようにしてもよい。
さらに、請求項９に記載の発明は、前記数値制御プログラムの実行終了後に、前記数値制御プログラムの再解読・変換を要求する方法である。
請求項６〜９のいずれかに記載の数値制御プログラムの実行方法は、請求項１０に記載のプログラムを数値制御装置に導入することで、各ステップの実行が可能になる。
【００１７】
【発明の実施の形態】
以下、本発明の好適な実施形態を、図面を参照しながら詳細に説明する。
［ＮＣ装置の実施形態］
まず、図１及び図２を参照しながら、本発明のＮＣ装置の実施形態を説明する。
図１は、本発明の一実施形態にかかるＮＣ装置のブロック図、図２は、図１のＮＣ装置で処理が行われるＮＣプログラムの一例にかかり、その一部分を示す図である。
【００１８】
ＮＣ装置１は、ＮＣプログラム入力部２等によって入力された各種のＮＣプログラムを記憶する第一のメモリ３と、事前解読・変換処理を行う事前解読・変換処理部１０と、解読・変換処理を終えたＮＣプログラムを記憶する第二のメモリ１６と、この第二のメモリ１６からＮＣプログラムを読み出し、ＮＣプログラムにしたがって刃物台や主軸等を実際に動作させるＮＣプログラム実行部２０とを有している。
【００１９】
事前解読・変換処理部１０は、第一のメモリ３から、所定のＮＣプログラムを、一ブロックずつ読み込むＮＣプログラム読み込み部１１と、読み込んだ前記一ブロックの中に、逐次解読・変換処理を行うための識別子が含まれているかどうかを検索する逐次解読・変換処理検索部１２と、各ブロックに含まれているデータを、実行形式のデータに変換する変換部１３と、前記実行形式のデータに変換されたＮＣプログラムを第二のメモリ１６に記憶するメモリ格納部１４とを有している。
【００２０】
ＮＣプログラム実行部２０は、第二のメモリ１６からＮＣプログラムを一ブロックずつ読み込むＮＣプログラム読み込み部２１と、読み込んだ前記一ブロックの中に、逐次解読・変換処理を行うための識別子「＊」が含まれているかどうかを検索する逐次解読・変換処理検索部２２と、識別子「＊」が含まれている場合には、加工プログラム部分Ｐ２の解読・変換を行う解読・変換部２３と、この解読・変換部２３で解読・変換されたＮＣプログラム又は第二のメモリ１６に記憶された解読・変換済みのＮＣプログラムに基づいてモータ等の駆動部に動作指令を出力する動作指令出力部２４と、再解読・変換要求を行う必要があるかどうかを判断して、第二のメモリ１６に対して再解読・変換要求を出力する再解読・変換要求部２５とを有している。
【００２１】
図２に示すＮＣプログラムの一ブロックには、実際の動作を行う加工プログラム部分Ｐ１と、任意に変更が可能な変数部分を含むマクロプログラム部分Ｐ２とが含まれている。
加工プログラム部分Ｐ１は、事前解読・変換処理部１０による事前解読・変換処理の対象となる部分で、一サイクルの動作中に追加や変更が行われることがなく、同一の動作をサイクルごとに繰り返し行わせる部分である。
マクロプログラム部分Ｐ２は、加工プログラム部分Ｐ１の中の「＊Ｇ６５Ｐ２０００」によって呼び出されるもので、逐次解読・変換処理の対象となる部分である。このマクロプログラム部分Ｐ２の最初と最後には、予め定められた開始コード「Ｏ２０００」と終了コード「Ｍ９９」が設定され、マクロプログラム部分Ｐ２を他の部分（加工プログラム部分Ｐ１を含む）から識別している。
【００２２】
なお、前記した「Ｇ６５Ｐ２０００」は、マクロプログラム部分Ｐ２の呼び出しを行う一般的なコマンドであるが、その先頭に識別子「＊」を付すことで、呼び出すマクロプログラム部分Ｐ２については逐次解読・変換処理を行うように定義している。
もちろん、逐次解読・変換処理を行うプログラム部分を他のプログラム部分から識別することができるのであれば、上記した識別子「＊」に限らず他の識別子であってもよく、刃物台や主軸等の可動部の制御に用いられるＭコードやＧコード、Ｔコード等であってもよい。
【００２３】
したがって、事前解読・変換処理部１０の逐次解読・変換処理検索部１２は、読み込まれたＮＣプログラムの一ブロックの中を検索して、識別子「＊」が含まれているか否かを判断し、含まれている場合には、「＊Ｇ６５Ｐ２０００」によって指定されたマクロプログラム部分Ｐ２については解読・変換部１３で解読・変換を行わないようにし、それ以外の部分について解読・変換部１３で解読・変換を行うようにする。
解読・変換部１３で解読・変換が行われた加工プログラム部分Ｐ１及び解読・変換を行わなかったマクロプログラム部分Ｐ２は、メモリ格納部１４によって、第二のメモリ１６に記憶される。
【００２４】
第二のメモリ１６に記憶されたＮＣプログラムは、ＮＣプログラム読み込み部２１が一ブロックずつＮＣプログラム実行部２０に読み込む。逐次解読・変換処理検索部２２は、第二のメモリ１６から読み込んだ一ブロックの中に識別子「＊」が含まれているかどうかを判断する。そして、識別子「＊」が含まれている場合には、「＊Ｇ６５Ｐ２０００」で指定されるマクロプログラム部分Ｐ２を解読・変換部２３に送り、解読・変換部２３で解読・変換を行う。
【００２５】
なお、図２に示すマクロプログラム部分Ｐ２には、加工プログラム部分Ｐ１の部分のパスが変化するような補正値の入力を、「＃２１０１＝＃２１０１＋０．０１」で行っている。この補正値の入力のタイミングは、前段の「ＩＦ」文の条件によって設定される。図２で示す場合は、「＃１＝＃１＋１」でカウントされている製品の生産個数が１００個になったときに、変数「＃２１０１」の変更を行うようにしている。このような補正があった場合には、補正後の内容について加工プログラム部分Ｐ１の再解読・変換を行う必要がある。そのため、図２に示すブロックでは、再解読・変換要求のための識別子「Ｍ６２」を、マクロプログラム部分Ｐ２に設定している。
【００２６】
一サイクル中の識別子「Ｍ６２」の有無に関する情報及び変数「＃２１０１」の変更の内容は、解読・変換部２３から第一のメモリ３に送られるとともに、一サイクルが終了したときに、又は即時、再解読・変換要求が、再解読・変換要求部２５から事前解読・変換処理部１０に送られる。
ＮＣプログラムの再解読・変換は、第一のメモリ３内のＮＣプログラムを、事前解読・変換部１０に再読み込みすることによって行う。
【００２７】
次に、図３及び図４を参照しながら、本発明のＮＣプログラムの実行方法を説明する。
なお、以下の説明では、図１に示したＮＣ装置及び図２に示したＮＣプログラムのブロックを適宜参照するものとする。
まず、加工に使用するＮＣプログラムを第一のメモリ３の中から選択し、当該ＮＣプログラムについて事前解読・変換処理を開始する（ステップＳ１０）。これにより、第一のメモリ３の中から、ＮＣプログラムの一ブロックがＮＣ装置１に読み込まれる（ステップＳ１１）。
ＮＣ装置１の事前解読・変換部１０は、この一ブロックの中に、予め設定された識別子「＊」が含まれているかどうかを検索する（ステップＳ１２）。その結果、識別子「＊」が含まれていなければ、当該ブロックについて解読・変換を行い（ステップＳ１４）、解読・変換されたＮＣプログラムを第二のメモリ１６に記憶する（ステップＳ１５）。
【００２８】
識別子「＊」が含まれていれば、マクロプログラム内の各ブロック「＃１＝＃１＋１」・・・「Ｍ９９」の先頭に識別子「＊」を付け、逐次解読・変換処理を行うためのコマンドに変換する（ステップＳ１３）。
そして、「＊Ｇ６５Ｐ２０００」で指定されたマクロプログラム部分Ｐ２の各ブロックの解読・変換を行うことなく、そのまま第二のメモリ１６に記憶する（ステップＳ１５）。
以上の処理は、第二のメモリ１６に記憶されたＮＣプログラムの最終ブロックに達するまで行う（ステップＳ１６）。
以上で、事前解読・変換処理を終了する（ステップＳ１７）。
【００２９】
図４に示すように、ワークの加工を開始するために、スタートスイッチを押すと（ステップＳ２０）、ＮＣプログラム実行部２０が、第二のメモリ１６の中からＮＣプログラムの一ブロックを読み込む（ステップＳ２１）。ＮＣプログラム実行部２０は、この一ブロックの中に、識別子「＊」が含まれているかどうかを検索する（ステップＳ２２）。その結果、識別子「＊」が含まれていなければ、事前解読・変換済みのＮＣプログラムに基づいて動作指令出力を行う（ステップＳ２４）。識別子「＊」が含まれていれば、そのブロックの解読・変換を行い（ステップＳ２３）、解読・変換結果に基づいて動作指令出力を行う（ステップＳ２４）。
【００３０】
その後、当該ブロックがＮＣプログラムの最終ブロックであるかどうかを判断し（ステップＳ２５）、最終ブロックでなければステップＳ２１に戻って次のブロックを読み込む。最終ブロックであれば、このサイクル中に再解読・変換要求（「Ｍ６２」）が存在したかどうかを判断し（ステップＳ２６）、再解読・変換要求が存在する場合には、第一のメモリ３からＮＣプログラムを再読み込みして、再解読・変換を行う（ステップＳ２７）。なお、変更の内容は、予め解読・変換部２３から第一のメモリ３に送られている。また、最終ブロックであれば、繰り返して加工を行うかどうかを判断し（ステップＳ２８）、行わないのであれば運転を終了する（ステップＳ２９）。
なお、ＮＣプログラムの実行中に再解読・変換要求を事前解読・変換処理部１０に送り、再解読変換をバックグラウンドで行うことも可能である。
【００３１】
ステップＳ２７の再解読・変換要求を、図２のプログラムを用いてやや具体的に説明する。マクロプログラム部分Ｐ２のＩＦ文で設定された条件になったとき、すなわち、製品の生産個数が１００個に達したときに、変数＃２１０１を＃２１０１＋０．０１に置き換え、＃１＝０としてカウンタをリセットして、識別子「Ｍ６２」で再解読・変換要求を指令する。なお、ここで、変数＃２１０１は、例えば、製品を１００個生産したときの工具磨耗を考慮した工具の刃先位置である。
【００３２】
［加工例の説明    第一の加工例］
次に、図５〜図７を参照しながら、上記ＮＣ装置１及びＮＣプログラムの実行方法を用いた具体的な加工例について説明する。
図５に示す加工例では、主軸ＳからワークＷを所定長さ突出させ、その先端部分を工具Ｔで加工して、同一の製品Ｗａを予め設定された個数生産するものとする。この例では、製品Ｗａは全部で５００個生産するものとして説明する。また、生産の途中で、製品回収箱Ａに１００個の製品を回収した後、次の製品回収箱Ｂには５０個の製品を回収するように設定するものとする。
図５（ｂ）に示すように、この加工例では、製品Ｗａを加工するためのＮＣプログラムに、予め識別子「Ｇ５１０」，「Ｇ５１１」が付されている。識別子「５１０」は逐次解読・変換処理の開始のためのもので、「Ｇ５１１」は逐次解読・変換処理の終了のためのものである。そして、この識別子「Ｇ５１０」，「Ｇ５１１」によって指定される部分が、逐次解読・変換処理を行う部分（マクロプログラム部分）Ｐ２である。変数である前記１００個、５０個等の数字は、このマクロプログラム部分Ｐ２内で設定される。
【００３３】
事前解読・変換処理部１０は、識別子「Ｇ５１０」，「Ｇ５１１」で指定されたマクロプログラム部分Ｐ２を除いて事前解読・変換処理を行い、その結果を第二のメモリ１６に記憶する。なお、製品Ｗａの生産個数５００個についても、予め事前解読・変換が行われているため、ＮＣプログラムが５００回（５００サイクル）繰り返えされて、製品Ｗａが５００個生産される。
識別子「Ｇ５１０」，「Ｇ５１１」によって指定されたマクロプログラム部分Ｐ２については、事前解読・変換処理部１０での解読・変換の対象から除外され、識別子「Ｇ５１０」，「Ｇ５１１」間の各ブロック「＃１００＝＃１００＋１」・・・「Ｍ６２」の先頭に識別子「＊」を付けて、第二のメモリ１６に記憶される。
【００３４】
マクロプログラム部分Ｐ２には、製品Ｗａの生産個数をカウントする指令と、そのカウント数が最初の設定数の１００（個）になったときに、Ｚ２軸を７０ｍｍ移動させて製品回収箱Ａを交換するように出力する移動指令が含まれている。
さらに、１００個生産した後に、次の設定値である５０（個）を新たに設定するようにしている。
なお、マクロプログラム部分Ｐ２の変数の設定は自由で、例えば、１００個生産したときに最初の移動指令を出力し、１５０個生産したときに次の移動指令を出力するように設定することも可能である。
また、このマクロプログラム部分Ｐ２においても、必要があるときは、適宜に再解読・変換要求のための識別子（「Ｍ６２」）を付し、サイクル終了後に事前解読・変換処理部１０に対して再解読・変換要求をするように設定することができる。
【００３５】
［第二の加工例］
図６に示す加工例は、ＮＣプログラムの一サイクルで、一度に複数個（この例では３個）の製品Ｗｂ１，Ｗｂ２，Ｗｂ３を生産する多数個取り加工の場合である。
この加工例では、製品Ｗｂ１，Ｗｂ２，Ｗｂ３のうちの一つを加工するごとに、ワークＷの残量を確認し、次の製品が加工できるかどうかを判断する。製品Ｗｂ１，Ｗｂ２，Ｗｂ３をこの順で生産する場合には、製品Ｗｂ１の加工後にワークＷの残量を求め、次の製品Ｗｂ２の加工を行うのに必要な長さが残っているかどうかを判断する。そして、次の製品Ｗｂ２の加工を行うのに必要な長さがあれば、製品Ｗｂ２の加工を開始し、無ければ、製品Ｗｂ２の生産は行わない。製品Ｗｂ３の加工を開始する際についても同様である。
【００３６】
この加工例では、図６（ｂ）に示すように、Ｍ９８Ｐ１０００でサブプログラムの指定個所に移行し、このサブプログラムの中で、ワークＷの加工指令とワークＷの残量確認とを行うようにしている。したがって、このサブプログラムは、同一動作を繰り返し行う事前解読・変換処理部分と、識別子「＊」によって事前解読・変換処理部分とは区別された逐時処理解読・変換部分とを含んでいる。
逐次解読・変換処理部分には、変数として一サイクルごとに変化するワークＷの残量が変数として設定される。そして、ＮＣプログラムから求められた製品Ｗｂ１，Ｗｂ２，Ｗｂ３の長さと、ワークＷの残量とを比較し、ワークＷの残量が製品Ｗｂ１，Ｗｂ２，Ｗｂ３の長さよりも短くなったときに、次の製品（例えば製品Ｗｂ２）の加工を行わないように判断し、ワークＷの交換を行うようにプログラムが設定されている。
【００３７】
［第三の加工例］
図７に示す加工例は、工具の使用回数（製品Ｗａの生産個数）が一定回数になったときに、工具寿命と判断して予備工具と交換して加工を続けるものである。
この加工例では、工具Ｔ１１００の予備として工具Ｔ１１００′と工具Ｔ１１００″が準備され、工具Ｔ２１００の予備として工具Ｔ２１００′と工具Ｔ２１００″が準備されている。
工具寿命を判断するためのマクロプログラムは、図７（ｂ）に示すように、工具Ｔ１１００と工具Ｔ２１００とで共通である。また、この加工例でも、識別子「＊」で、事前解読・変換を行う部分と、逐次解読・変換処理を行う部分を区別している。
工具Ｔ１１００と工具Ｔ２１００とは、逐次解読・変換処理を行う部分でそれぞれ生産個数がカウントされ、工具Ｔ１１００の交換を行う個数になったときに、マクロプログラムから工具Ｔ１１００の交換指令が出力される。同様に、工具Ｔ２１００について交換を行う個数になったときに、マクロプログラムから工具Ｔ２１００の交換指令が出力される。
【００３８】
このように、本発明では、同じ動作（加工や処理）を繰り返す部分については事前解読・変換を行い、事前解読・変換処理によって解読・変換されたＮＣプログラムを実行しつつ、設定値の追加や変更を行う部分については逐次解読・変換処理を行うことで、製品の取り個数やワークの交換、工具の検査や交換等の種々の動作に対して、柔軟な対応が可能になる。
【００３９】
本発明の好適な実施形態について説明してきたが、本発明は上記の実施形態により何ら限定されるものではない。
本発明は、本発明の技術的範囲内で種々に変更して実施することが可能である。
また、本発明の加工方法の各ステップを実行するためのプログラムは、ＣＤやＦＤ、ＲＯＭ等の記憶媒体の他、通信回線を介して、ＮＣ装置に読み込むことができる。
【００４０】
【発明の効果】
本発明は上記のように構成されているので、無駄時間の少ない事前実行方法と、設定値の変更等が自由に行える逐次解読・変換処理方法とを組み合わせることが可能になり、繰り返し同じ処理を行う部分については事前解読・変換法で予め解読・変換を行い、設定の変更を行うことのある部分については、逐次解読・変換処理を行うことができるようになる。そのため、各種設定値の設定や変更に対して柔軟に対応することが可能で、事前解読・変換処理の長所と逐次解読・変換処理の長所とを併せ持った加工効率に優れるＮＣ装置を得ることができる。
【図面の簡単な説明】
【図１】本発明の一実施形態にかかるＮＣ装置のブロック図である。
【図２】図１のＮＣ装置で処理が行われるＮＣプログラムの一例にかかり、その一ブロック部分を示す図である。
【図３】本発明の実行方法の実施形態にかかり、事前解読・変換の処理を説明するためのフローチャートである。
【図４】本発明の実行方法の実施形態にかかり、加工を行う際の処理を説明するためのフローチャートである。
【図５】本発明のＮＣ装置又は実行方法によるワークの第一の加工例を示す図である。
【図６】本発明のＮＣ装置又は実行方法によるワークの第二の加工例を示す図である。
【図７】本発明のＮＣ装置又は実行方法によるワークの第三の加工例を示す図である。
【図８】本発明の従来例にかかり、逐次解読・変換処理の処理の手順を説明するためのフローチャートである。
【図９】本発明の従来例にかかり、事前解読・変換処理の手順を説明するためのフローチャートである。
【符号の説明】
１  ＮＣ装置
３  第一のメモリ（第一の記憶手段）
１０  事前解読・変換処理部
１１  加工プログラム読み込み部
１２  逐次解読・変換処理検索部
１３  解読・変換部
１４  メモリ格納部
１６  第二のメモリ（第二の記憶手段）
２０  ＮＣプログラム実行部
２１  ＮＣプログラム読み込み部
２２  逐次解読・変換処理検索部
２３  解読・変換部
２４  動作指令出力部
２５  再解読・変換要求部
【図１】
0004718040.tif 000002
【図２】
0004718040.tif 000003
【図３】
0004718040.tif 000004
【図４】
0004718040.tif 000005
【図５】
0004718040.tif 000006
【図６】
0004718040.tif 000007
【図７】
0004718040.tif 000008
【図８】
0004718040.tif 000009
【図９】
0004718040.tif 000010