【手続補正書】
【提出日】平成17年2月22日(2005.2.22)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】発明の名称
【補正方法】変更
【補正の内容】
【発明の名称】ＮＣプログラムのための最適データ変換方法および数値制御工作機械
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
数値制御工作機械にロードされて該機械を動作させるＮＣプログラムを作成する第１のＳｔｅｐと、
所定パラメータに対する位置の関係を定めた電子カムデータへの変換を行うべきワーク又は工具の所定の作業を上記ＮＣプログラムの作成中に予め指定する第２のＳｔｅｐと、
上記ＮＣプログラムを上記数値制御工作機械内の所定の記憶素子に読み込む第３のＳｔｅｐと、
上記記憶素子に読み込まれたＮＣプログラムに対して上記指定された箇所を検索し電子カムデータへの変換可否を検討する第４のＳｔｅｐと、
該検討結果が可となった場合には、上記指定された箇所のワーク又は工具の動作の記述に従い仮想的にワーク又は工具を動作させ、かつ機械固有情報を参照して上記指定された箇所を電子カムデータに変換する第５のＳｔｅｐと、
該Ｓｔｅｐにより得られた電子カムデータを記憶するテーブルを作成する第６のＳｔｅｐと、
上記ＮＣプログラムにおいて、この電子カムデータに変換された箇所を上記テーブルを参照するコマンドと置換する第７のＳｔｅｐとを備えることを特徴とするＮＣプログラムのための最適データ変換方法。
【請求項２】
複数のチャンネルを含み数値制御工作機械にロードされて該機械を動作させるＮＣプログラムを作成する第１のＳｔｅｐと、
上記ＮＣプログラムにおける工具選択指令位置変更の検討が必要な箇所を指定する第２のＳｔｅｐと、
上記ＮＣプログラムを所定の記憶素子に読み込む第３のＳｔｅｐと、
上記記憶素子に読み込まれたＮＣプログラムの上記チャンネル間の待ち合わせ処理において、工具選択指令位置を変更することにより選択された工具での作業時間が短縮されるか否かにつき工具選択指令位置変更可否の検討を行う第４のＳｔｅｐと、
該検討結果が可となった場合には、上記ＮＣプログラムにおける工具選択指令位置変更を実行し、機械稼動用プログラムファイルの作成を行う第５のＳｔｅｐとを備えることを特徴とするＮＣプログラムのための最適データ変換方法。
【請求項３】
複数のチャンネルを含み数値制御工作機械にロードされて該機械を動作させるＮＣプログラムと、
予め該ＮＣプログラムにおける工具選択指令位置変更の検討が必要な箇所が指定された上記ＮＣプログラムを記憶するメモリー手段と、
上記複数のチャンネル間の待ち合わせ処理において、上記工具選択指令位置を変更することにより作業時間が短縮されるか否かの判定を行う可否判定手段と、
該判定結果が可となった場合には、上記ＮＣプログラムにおいて指定された箇所の工具選択指令位置変更を実行し、この変更結果に基づき機械を稼動させる数値制御部とを備えることを特徴とする数値制御工作機械。
【請求項４】
ＮＣプログラムの一部分を電子カムデータに変換する機械稼働用プログラムファイル作成手段と、
工具又はワークの位置に関する補正値情報を記憶する補正値情報記憶手段とを備え、
上記プログラムファイル作成手段によりＮＣプログラムの一部分が電子カムデータに変換される際に、上記補正値情報を反映させるようにしたことを特徴とする請求項３に記載の数値制御工作機械。
【請求項５】
数値制御工作機械にロードされて該機械を動作させるＮＣプログラムと、
上記ＮＣプログラムを記憶するメモリー手段と、
工具補正値を含む機械固有情報を記憶する機械固有情報記憶手段と、
上記ＮＣプログラムを電子カムデータに変換するためのデータ変換プログラム記憶部と、
変換された電子カムデータを記憶するための電子カムデータ記憶手段と、
上記データ変換プログラムに従って上記変換を実行する際に、上記機械固有情報記憶手段に記憶された機械固有情報を参照して変換を実行し、この変換結果に基づき機械を稼働する数値制御部とを備えることを特徴とする数値制御工作機械。
【請求項６】
数値制御工作機械にロードされて該機械を動作させるＮＣプログラムを作成する第１のＳｔｅｐと、
ワーク又は工具の所定の作業を所定パラメータに対する位置の関係を定めた電子カムデータに変換すべきか変換すべきでないかを上記ＮＣプログラムの作成中に予め指定する第２のＳｔｅｐと、
上記ＮＣプログラムを所定の記憶素子に読み込む第３のＳｔｅｐと、
上記記憶素子に読み込まれたＮＣプログラムに対して上記指定された箇所を検索し電子カムデータへの変換可否を検討する第４のＳｔｅｐと、
該検討結果が可となった場合には、上記指定された箇所のワーク又は工具の動作の記述に従い仮想的にワーク又は工具を動作させてパラメータと位置との関係を定めて電子カムデータに変換する第５のＳｔｅｐと、
該Ｓｔｅｐにより得られた電子カムデータを記憶するテーブルを作成する第６のＳｔｅｐと、
上記ＮＣプログラムにおいて、この電子カムデータに変換された箇所を上記テーブルを参照するコマンドと置換する第７のＳｔｅｐとを備えることを特徴とするＮＣプログラムのための最適データ変換方法。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
【課題を解決するための手段】
本発明に係るＮＣプログラムのための最適データ変換方法は、数値制御工作機械にロードされて該機械を動作させるＮＣプログラムを作成する第１のＳｔｅｐと、所定パラメータに対する位置の関係を定めた電子カムデータへの変換を行うべきワーク又は工具の所定の作業を上記ＮＣプログラムの作成中に予め指定する第２のＳｔｅｐと、上記ＮＣプログラムを上記数値制御工作機械内の所定の記憶素子に読み込む第３のＳｔｅｐと、上記記憶素子に読み込まれたＮＣプログラムに対して上記指定された箇所を検索し電子カムデータへの変換可否を検討する第４のＳｔｅｐと、該検討結果が可となった場合には、上記指定された箇所のワーク又は工具の動作の記述に従い仮想的にワーク又は工具を動作させ、かつ機械固有情報を参照して上記指定された箇所を電子カムデータに変換する第５のＳｔｅｐと、該Ｓｔｅｐにより得られた電子カムデータを記憶するテーブルを作成する第６のＳｔｅｐと、上記ＮＣプログラムにおいて、この電子カムデータに変換された箇所を上記テーブルを参照するコマンドと置換する第７のＳｔｅｐとを備えることを特徴としている。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
又、本発明に係るＮＣプログラムのための最適データ変換方法は、複数のチャンネルを含み数値制御工作機械にロードされて該機械を動作させるＮＣプログラムを作成する第１のＳｔｅｐと、上記ＮＣプログラムにおける工具選択指令位置変更の検討が必要な箇所を指定する第２のＳｔｅｐと、上記ＮＣプログラムを所定の記憶素子に読み込む第３のＳｔｅｐと、上記記憶素子に読み込まれたＮＣプログラムの上記チャンネル間の待ち合わせ処理において、工具選択指令位置を変更することにより選択された工具での作業時間が短縮されるか否かにつき工具選択指令位置変更可否の検討を行う第４のＳｔｅｐと、該検討結果が可となった場合には、上記ＮＣプログラムにおける工具選択指令位置変更を実行し、機械稼動用プログラムファイルの作成を行う第５のＳｔｅｐとを備えることを特徴としている。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
一方、本発明に係る数値制御工作機械は、複数のチャンネルを含み数値制御工作機械にロードされて該機械を動作させるＮＣプログラムと、予め該ＮＣプログラムにおける工具選択指令位置変更の検討が必要な箇所が指定された上記ＮＣプログラムを記憶するメモリー手段と、上記複数のチャンネル間の待ち合わせ処理において、上記工具選択指令位置を変更することにより作業時間が短縮されるか否かの判定を行う可否判定手段と、該判定結果が可となった場合には、上記ＮＣプログラムにおいて指定された箇所の工具選択指令位置変更を実行し、この変更結果に基づき機械を稼動させる数値制御部とを備えることを特徴としている。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
上述した、数値制御工作機械の構成の一部を具体化すると、ＮＣプログラムの一部分を電子カムデータに変換する機械稼働用プログラムファイル作成手段と、工具又はワークの位置に関する補正値情報を記憶する補正値情報記憶手段とを備え、上記プログラムファイル作成手段によりＮＣプログラムの一部分が電子カムデータに変換される際に、上記補正値情報を反映させるようにしたことを特徴としている。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
又、本発明に係る数値制御工作機械は、数値制御工作機械にロードされて該機械を動作させるＮＣプログラムと、上記ＮＣプログラムを記憶するメモリー手段と、工具補正値を含む機械固有情報を記憶する機械固有情報記憶手段と、上記ＮＣプログラムを電子カムデータに変換するためのデータ変換プログラム記憶部と、変換された電子カムデータを記憶するための電子カムデータ記憶手段と、上記データ変換プログラムに従って上記変換を実行する際に、上記機械固有情報記憶手段に記憶された機械固有情報を参照して変換を実行し、この変換結果に基づき機械を稼働する数値制御部とを備えることを特徴としている。
又、本発明に係るＮＣプログラムのための最適データ変換方法は、数値制御工作機械にロードされて該機械を動作させるＮＣプログラムを作成する第１のＳｔｅｐと、ワーク又は工具の所定の作業を所定パラメータに対する位置の関係を定めた電子カムデータに変換すべきか変換すべきでないかを上記ＮＣプログラムの作成中に予め指定する第２のＳｔｅｐと、上記ＮＣプログラムを所定の記憶素子に読み込む第３のＳｔｅｐと、上記記憶素子に読み込まれたＮＣプログラムに対して上記指定された箇所を検索し電子カムデータへの変換可否を検討する第４のＳｔｅｐと、該検討結果が可となった場合には、上記指定された箇所のワーク又は工具の動作の記述に従い仮想的にワーク又は工具を動作させてパラメータと位置との関係を定めて電子カムデータに変換する第５のＳｔｅｐと、該Ｓｔｅｐにより得られた電子カムデータを記憶するテーブルを作成する第６のＳｔｅｐと、上記ＮＣプログラムにおいて、この電子カムデータに変換された箇所を上記テーブルを参照するコマンドと置換する第７のＳｔｅｐとを備えることを特徴としている。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】変更
【補正の内容】
【００２８】
ＮＣ部用ＲＡＭ５６は、中央演算ユニット５２における各種演算の結果を読み出し可能に一時的に記憶するように構成されている。このＮＣ部用ＲＡＭ５６は、工作機械１が、ＮＣプログラム（機械稼動用プログラム）に基づいて実際の加工動作を行う時に必要とされるＮＣプログラムを含むデータの全てを格納している。その一部に、第１のチャンネル加工手順記憶部５６ａと、第２のチャンネル加工手順記憶部５６ｂと、第３のチャンネル加工手順記憶部５６ｃ、電子カムデータテーブル５６ｄとが設けられている。尚、該データテーブルは、所謂電子カム制御を行うために備えられるものである。電子カム制御とは、特開２００１−１７０８４３に示されるように、基準軸に取りつけられたパルスエンコーダが出力するパルス信号により時々刻々の回転位置データと、基準軸の単位回転位置ごとに対応してそれぞれ設定された移動軸の指令位置データとから時々刻々の移動軸の指令データを生成し、この移動指令データと回転位置データとから回転物の回転速度に同期する移動軸の指令速度データを生成して、生成した移動指令データと指令速度データに基づいて工具の位置を制御することである。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
ここで、第１のチャンネル加工手順記憶部５６ａと、第２のチャンネル加工手順記憶部５６ｂと、第３のチャンネル加工手順記憶部５６ｃに記憶されたＮＣプログラムにより、実際に作動させられる部分を図２に示す。第１のチャンネル加工手順記憶部５６ａに記憶されたＮＣプログラムにより、主軸回転用モータ１１、被加工物送り用モータ３１（不図示）、工具送りモータ２１（不図示）が制御される。これによって、主軸Ｓ１は、矢印で示すＺ１軸方向に移動制御されると共にＣ１回転方向に主軸回転が制御される。一方、工具ＴＳ１は、矢印で示すＸ１軸、Ｙ１軸方向に移動制御される。チャンネル１では、主軸台の移動制御、回転制御又は、工具ＴＳ１を支持する刃物台の各矢印方向の移動制御、工具ＴＳ１の中に回転工具が含まれていて、その制御が必要であるものの場合は回転等の制御を行う。第２のチャンネル加工手順記憶部５６ｂに記憶されたＮＣプログラムにより、背面主軸回転モータ６１、背面主軸移動用モータ４１（不図示）、工具ＴＳ２の回転が制御される。これによって、背面主軸Ｓ２は、矢印で示すＺ２軸方向、Ｘ２軸方向に移動制御されると共にＣ２回転方向に背面主軸回転が制御される。一方工具ＴＳ２そのものは、固定刃物台に設置されるものであって、バイトなどの非可動のものあるいは、ドリルなどの回転可能なものを取りつけ可能としているものである。ドリルなどの回転可能なものを使う場合には、第２のチャンネル加工手順記憶部５６ｂに記憶されたＮＣプログラムにより、回転が制御される。第３のチャンネル加工手順記憶部５６ｃに記憶されたＮＣプログラムにより、工具送りモータ２１（不図示）が制御される。これによって、工具ＴＳ３は、矢印で示すＸ３，Ｙ３，Ｚ３軸方向に移動制御される。チャンネル３では、この工具ＴＳ３を支持する刃物台の移動制御あるいは、保持される工具の制御が必要な場合に回転等の制御を行う。尚、この実施の形態では、工具ＴＳ３は、チャンネル３に、ＴＳ２はチャンネル２に、ＴＳ１はチャンネル１に割り付けられているが、ＴＳ１あるいはＴＳ３は、どのチャンネルで制御しても良く、必要に応じて適宜工具のチャンネル割り当ては変更できる。同様に主軸、背面主軸もチャンネル割り当ては動的に変更できる。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
時間計測モジュールは、ＮＣプログラムから、工具の座標値や、工具の送り速度や、主軸の回転速度、移動方法等を取得する。これらの情報を使用して、工具の移動距離、各座標での移動速度を算出し工具の移動軌跡を求める。前記工具の移動軌跡から、前記各モータの加速度を使用して移動時間を求める。ＮＣプログラムに記載されている工具の座標値には、工具又はワークの位置に関する補正情報が含まれていない。そのため、工具の移動距離算出時に、プログラム上では記載されていない工具又はワークの位置に関する補正情報を加えて計算を行う。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００３６
【補正方法】変更
【補正の内容】
【００３６】
次に、ＳｔｅｐＡ１において、ＳｔｅｐＡにて測定された時間データを、以降のＳｔｅｐでの処理に備えて読み込みを行う。ＳｔｅｐＢでは、ＮＣプログラム記憶部５８ｄに対して最適データ変換を行いたいＮＣプログラムを格納するべく、ＮＣプログラムファイルの読み込みを行う。ここでの読み込みを行うことにより、実際に加工を行う為のＮＣプログラムを作成する元になるプログラムを保持する。つまり、オリジナルを保持することにより、変更をプログラム上で検討できるようにする。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００３７
【補正方法】変更
【補正の内容】
【００３７】
ＳｔｅｐＣでは、ＮＣプログラム上で同期加工を行うように指定されている箇所のうち、電子カムデータを呼び出して加工を行った方が、精度の向上、効率の向上あるいは加工が可能になる箇所を抽出するべく、ＮＣプログラムを検索し、電子カムデータを呼び出す加工が必要である箇所があれば、その同期加工の電子カムデータ化を行う。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００３８
【補正方法】変更
【補正の内容】
【００３８】
ＳｔｅｐＤでは、更に、同期加工の電子カムデータ化を行う箇所以外の電子カムデータ化することが指定されている箇所の電子カムデータ化を行う。これは、プログラム作成ツールから或いは、人手で作成したＮＣプログラム内に、始めから電子カムデータを利用した方が良い加工箇所としてフラグを付与しておき、これを検索して電子カムデータ化を行うものである。加工例としては、ねじ切りあるいは、タップ加工などが挙げられる。ＳｔｅｐＥでは、工具選択指令位置の最適化を行う。これは、ＮＣプログラムに当初設定された工具選択指令が行われるブロックを基準にして考えた時に、工具選択指令位置を変更すれば、結果的に加工時間が短縮できるかを検討し、短縮できるのであれば、その指令位置を加工時間の短縮に繋がる位置に変更する。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００３９
【補正方法】変更
【補正の内容】
【００３９】
ＳｔｅｐＦでは、工具選択動作の最適化を行う。ここでは、他のチャンネルとの関係で見て、自チャンネルの工具の選択に時間的な余裕がある時には、工具をゆっくり選択（移動）させるように工具の移動を電子カムデータを利用して制御する。このようにすることにより、送り用のボールネジ、あるいは、刃物台を支持するベアリングなどに入力されるショック等の負荷を低減させるようにし、工作機械の寿命、加工部品の精度などにとって悪影響が出ないようにする。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００４０
【補正方法】変更
【補正の内容】
【００４０】
ＳｔｅｐＧでは、機械稼動用のプログラムファイルの作成を行うと共に、ＮＣプログラム記憶部５８ｄ、電子カムデータ記憶テーブル５８ｂに記憶されているデータのそれぞれを、第１，２，３チャンネル加工手順記憶部５６ａ、５６ｂ、５６ｃに振り分けて記憶させる一方、電子カムデータテーブルに転送する。尚、これらの一連の処理は、数値制御部５１の操作パネル（不図示）に設けられるトランスフォーマボタン５９によって起動する。更に、上記ＳｔｅｐＣからＧのそれぞれの処理について詳述する。これらＳｔｅｐＣからＧの処理中に本発明の主要となる部分の構成が具現化されている。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００４６
【補正方法】変更
【補正の内容】
【００４６】
１．２．同期加工の電子カムデータに変換する箇所の検索の説明
ここで、図５のＳｔｅｐ２に示される同期加工における電子カムデータへの変換可能箇所を検索する処理に関して、図６を用いて更に詳細に説明する。まず、メインとなる処理の流れから説明する。検索処理の開始後に、Ｓｔｅｐ1において現在記憶されている行番号Ｂ、カレントチャンネルＣＨを読み込み、検索対象箇所を指定する。Ｓｔｅｐ２では、カレントチャンネルＣＨにおいて、行番号Ｂ＋１行以降での最初のタイミング指令行Ｔを検索し記憶する処理を行う（タイミング指令行Ｔは、ＮＣプログラムの作成段階で、プログラマーが同期加工を行いたい位置に対して、他のチャンネルの同期させたい箇所に同一のタイミングコードを記述することで、同期加工を行うようにさせるためのコマンドを含む行である。コマンドの具体的な記述としては、例えば「ｔｉｍｉｎｇ＝１」などのように記述し、同一タイミング番号のもの同士を同期させる。Ｓｔｅｐ３では、Ｓｔｅｐ２においてタイミング指令行Ｔの取得に成功したか否かの判定を行う。成功した場合には、そのままＳｔｅｐ４に行き、タイミング指令行Ｔを挟む前後の待ち合せ行Ａ、Ｂを検索し記憶する。そこで更に、Ｓｔｅｐ５において、行番号Ａ，Ｂ間は同期加工中であるか否かについての判定を行う。この判定を行うことによりプログラマーが誤ってタイミング指令行Ｔを記述した場合であっても、誤って行Ａ，Ｂ間が電子カムデータ化されることが防がれる。Ｓｔｅｐ５での判定がＮになった場合、つまり、同期加工中ではない場合又はプログラマーにより誤ってタイミング指令行Ｔが記述されていた場合には、行番号Ｂ＋１以降のブロックに対して、Ｓｔｅｐ２以降の処理を行うべく、Ｓｔｅｐ２に処理を戻している。判定が同期加工中を示すＹであった場合には、更に、Ｓｔｅｐ６にて記憶された行番号Ａ，Ｂの区間に電子カムデータに変換出来ないものがあるか否かについて判定する。この電子カムデータに変換できないものとは、具体的には、主軸の回転数変化を行わせる指令、潤滑液の噴射命令などの補機動作を行わせる所謂Ｍコードなどの指令である。電子カムデータに変換出来ないものが無い、つまり判定がＮである場合には、続いて、Ｓｔｅｐ７において、現在カレントチャンネルＣＨを解析中であるか否かについての判定を行う。ここでの判定がＹである場合には、そのままＳｔｅｐ８に進み、カレントチャンネルＣＨでのタイミング指令行Ｔを挟む待ち合わせ処理行Ａ，Ｂに対応した他のチャンネルのタイミング指令行Ｔを挟む待ち合わせ処理行Ａ，Ｂを全て検索し存在すれば記憶する。次に、Ｓｔｅｐ９において同じタイミングコードが一つも存在しないか否かについての判定を行う。Ｎの判定、つまり同じタイミングコードが一つ以上存在する場合には、カレントチャンネルＣＨ以外の行Ａ，ＢのブロックにＳｔｅｐ６以降の処理を繰り返す。この処理の場合、カレントチャンネルＣＨの行Ａ，Ｂを対象にした処理ではないので、Ｓｔｅｐ７における判定は、必ずＮになり、Ｓｔｅｐ１０へと処理が進む。Ｓｔｅｐ１０では、電子カムデータ化すべき加工を行う箇所が存在したことを意味する存在フラグをＯＮにし、同時に、Ｓｔｅｐ６をＮの判定でかつＳｔｅｐ７をＹの判定で抜けた行Ａ，Ｂを記憶する。この後Ｓｔｅｐ１０で��憶された行Ａ、Ｂが最後のＡ，Ｂであるか否かの判定を行う。Ｙの判定がされた場合には、Ｓｔｅｐ１２に進み、存在フラグＯＮ、カレントチャンネルＣＨ、Ｓｔｅｐ１０で記憶された全ての行番号Ａ，Ｂを記憶する。これらの値は最終的に、同期加工の電子カムデータ化処理に渡される。
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】００４８
【補正方法】変更
【補正の内容】
【００４８】
繰り返しになるが、上述しているタイミングコードとは、タイミング指令行Ｔに単独で記述されるコマンドであり、Ｍコード、Ｇコードなどの他のコマンドと併記されない。他のチャンネルの同期させたい箇所に同一のタイミングコードを記述することで、同期加工を行うようにさせるためのコマンドである。具体的な記述としては、例えば「ｔｉｍｉｎｇ＝１」などのように記述し、同一タイミング番号のもの同士を同期させる。
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】００４９
【補正方法】変更
【補正の内容】
【００４９】
１．３．同期加工の電子データ化処理についての説明
次に、図７に示される同期加工の電子カムデータ化（図５Ｓｔｅｐ５にて示される）処理を説明する。ここでは、まず、Ｓｔｅｐ１において、図５におけるＳｔｅｐ４にて取得されている行Ａ，Ｂに基づき、それらＡ，Ｂの間の行に示されるデータ中に、どの制御軸の移動指令がされているかを特定するべく、いずれの制御軸の移動指令が存在するのかを調べる。次にＳｔｅｐ２において、移動指令が存在するものに対して移動指令前の座標位置を取得し保持する。これは、行間の情報だけであると電子カムデータの作成に必要な情報が不足するので、これを防止する為である。Ｓｔｅｐ３では、行Ａ，Ｂ間のブロックを順に解析し要素配列を作成する。つまり、ワークあるいは工具が移動する軌跡と、移動時の速度を求める処理である。この際同時に、ＮＣプログラム中に含まれる工具移動指令に対して、工具刃先位置の補正を行って工具座標を補正した上で、要素配列の作成処理を行う。このように補正を同時に行うことにより、ＮＣプログラムを読み込んだ段階でも補正処理を行うのと異なり変換処理の時間の短縮を図ることが出来、利便性が向上する。次にＳｔｅｐ４では、加減速最適化処理を行う。ここでは、主軸回転角と関連させた位置即ち点のデータを最適なワーク、あるいは工具の加減速が為されるように決定する。次にＳｔｅｐ５では、チャンネル間の同期を取る為に、タイミング調整処理を行う。次にＳｔｅｐ６では、要素配列を電子カムデータに変換する。ここでは、上述したように電子カムデータのテーブルを作成すると共に、該テーブルに識別番号の付与を行う。Ｓｔｅｐ７では、ＮＣプログラムの修正を行う。つまり、行Ａ，Ｂの間に書かれるプログラムを削除し、行Ａの次行に電子カムデータを呼ぶ為のサイクルコマンドを代入する。このサイクルコマンドは、電子カムデータテーブル毎に付与される識別番号を引数として、電子カムデータテーブルのデータを参照する。
【手続補正１９】
【補正対象書類名】明細書
【補正対象項目名】００５０
【補正方法】変更
【補正の内容】
【００５０】
２．１．ＳｔｅｐＤの処理の説明
次に、図４ＳｔｅｐＤに示される同期以外の電子データに変換する箇所の電子データ化への処理について、説明する。
【手続補正２０】
【補正対象書類名】明細書
【補正対象項目名】００５２
【補正方法】変更
【補正の内容】
【００５２】
２．２．同期以外の電子カムデータに変換する箇所の検索処理についての説明（図８Ｓｔｅｐ２）
次に、図９に示される、同期以外の電子カムデータに変換する箇所の検索処理について、詳細に説明する。まず、処理が開始されると、このサブルーチンを含むメインのルーチンの側で設定されている行番号ＢをＳｔｅｐ１にて読み込む。続いて、Ｓｔｅｐ２において、行番号Ｂ＋１行以降での最初の電子カムデータ変換開始行Ａを取得する。この変換開始行は、プログラムの作成段階において、予めラベルが付されたものになっている（ラベルは、ＮＣプログラムの作成段階で、プログラマーが電子カムデータを利用した加工を行いたい位置に対して、ラベルとしての意味を持つコードを記述することで、ＮＣプログラム部分の電子カムデータ化を行うようにさせるためのコメント文である。具体的な記述としては、例えば「ＤＲＩＬＬＩＮＧ ＳＴＡＲＴ」、「ＤＲＩＬＬＩＮＧ ＥＮＤ」などのように記述して当該箇所を指定する。プログラムは、このラベルを検索することによって、変換開始行Ａを抽出する。次にＳｔｅｐ3に進み、変換開始行Ａの取得が成功したか否かを判定する。判定がＮであった、つまり、変換開始行が存在しない場合には、Ｓｔｅｐ７に進んで存在しないをメインルーチンへの戻り値として処理を終了し、メインルーチン側に処理が復帰する。又、判定がＹであった、つまり、変換開始行が存在した場合には、Ｓｔｅｐ４に進んで行番号Ａ＋１以降での最初の電子カムデータ変換終了行Ｂを取得する。ここでも上述と同様に、電子カムデータ変換終了行にはラベルが付されており、プログラムは、このラベルを検索することによって、変換終了行Ｂを抽出する。
【手続補正２１】
【補正対象書類名】明細書
【補正対象項目名】００５３
【補正方法】変更
【補正の内容】
【００５３】
更に、Ｓｔｅｐ５に進んで取得した行番号Ａ，Ｂの区間に電子カムデータに変換できないものがあるか否かの判定を行う。ここでの判定がＮ、つまり電子カムデータに変換不可なものはないの判定であった場合には、Ｓｔｅｐ６に進んで存在するを戻り値として処理を終了する。一方、判定がＹ、つまり電子カムデータに変換できないものありの判定であった場合には、Ｓｔｅｐ８に進みログファイル出力用にエラーフラグのセットを行う一方、処理が完了したところまでのＳｔｅｐ４で取得した行番号Ｂを戻り値としてＳｔｅｐ２以降を繰り返し実行すべく、処理をＳｔｅｐ２に戻す。
【手続補正２２】
【補正対象書類名】明細書
【補正対象項目名】００５５
【補正方法】変更
【補正の内容】
【００５５】
２．３．同期以外の箇所の電子カムデータ化についての説明
次に、図１０に示される、同期以外の電子カムデータに変換する箇所の電子カムデータ化処理について、詳細に説明する。まず、処理が開始されると、図９のＳｔｅｐ４までで得られた、変換開始行Ａ，変換終了行Ｂ及びこれらの行間にて指定されている加工種類をＳｔｅｐ１にて読み込む。次に、Ｓｔｅｐ２にて加工種類がねじ切りであるか否かの判定を行う。判定がＹ、つまり、ねじ切り加工が指定されている場合には、Ｓｔｅｐ３に進みねじ切り処理を設定しＳｔｅｐ６に進む。一方、判定がＮ、つまり、ねじ切り加工が指定されていない場合には、Ｓｔｅｐ４に進み、更にタップ加工であるか否かの判定を行う。判定がＹ、つまり、タップ加工が指定されていた場合には、タップ加工処理をＳｔｅｐ５にて設定しＳｔｅｐ６に進む。ここでも判定がＮとなった場合には、Ｓｔｅｐ８に進みその他の加工処理を設定し、Ｓｔｅｐ6に進む。
【手続補正２３】
【補正対象書類名】明細書
【補正対象項目名】００５８
【補正方法】変更
【補正の内容】
【００５８】
次に、Ｓｔｅｐ２において、チャンネル１，３に対して記述されるＮＣプログラム中から処理対象になる待ち合せ行番号Ａ，Ｂ，Ｃと工具選択指令行Ｔを取得する。このＳｔｅｐ３において、Ｓｔｅｐ２の取得処理が成功したか否かの判定を行う。判定がＮ、つまり、取得が失敗した場合には、以降の処理を行う必要のある箇所が無かったとして図４に示されるメインフローに処理が復帰する。一方、判定がＹ、つまり、取得が成功した場合には、Ｓｔｅｐ４に進み、取得した行Ａ，Ｂ，Ｃと工具選択指令行Ｔを記憶する。その後、Ｓｔｅｐ５に進み、工具選択指令位置を最適化する処理を行う。尚、ここでは、ＮＣプログラムの作成時に何らかの検討を最適データ変換プログラムにて行うように指定しているものになっていないため、請求項１第２のＳｔｅｐ相当になるのは、一見該当しないように理解されるが、変換プログラム側が指定されたコマンドを検出するようにしており、ＮＣプログラムの作成段階で指定するか、変換プログラム側での指定をするかの違いがあるのみである。プログラムで何らかの操作を加えたい要求に従い、プログラム側から特定されるという意味では同一の意味づけが為されている。このような処理を行うことにより、要は、この処理の対象となったＮＣプログラムで指定される加工の加工時間の短縮効果を得ることが出来る。
【手続補正２４】
【補正対象書類名】明細書
【補正対象項目名】００６７
【補正方法】変更
【補正の内容】
【００６７】
次にＳｔｅｐ３に進むと、待ち合せ行番号Ａ，Ｂ，Ｃの取得が成功したか否かの判定を行う。判定がＮ、つまり、取得できなかった場合には、これ以降の処理は必要が無いので、そのままリターンされて、図４のメインフローに処理が復帰する。一方、判定がＹであった場合には、Ｓｔｅｐ４に進み、待ち合せコードが有効なコードであるか否かを判定する。判定がＹである、つまり、工具選択指令行を動かしても良いと判定された場合には、そのままＳｔｅｐ５に進む。ここで、有効なコードとは、他チャンネルとの連携を持たない待ち合わせを意味する。Ｓｔｅｐ４は、工具選択指令行を移動させるにあたり、待ち合せ処理が、他のチャンネルとの連携を持つ待ち合せであるかを判定し、連携がある場合に工具選択指令行が移動されないようにするための判定である。ここで言う連携があるとは、例えば、チャンネル１がチャンネル３側の工具を使用したい場合に、両チャンネルが一時加工を停止している状態を作り、其の後にＮＣコードで指定されている動作を他チャンネルの工具にさせる時などである。
【手続補正２５】
【補正対象書類名】明細書
【補正対象項目名】００７４
【補正方法】変更
【補正の内容】
【００７４】
次に、Ｓｔｅｐ６に進み、最適度Ｏｐｔｉ１と最適度Ｏｐｔｉ３の比較を行う。判定がＹ、つまり、最適度Ｏｐｔｉ１が最適度Ｏｐｔｉ３よりも大きい場合には、Ｓｔｅｐ７に進み、更に、最適度Ｏｐｔｉ１と最適度Ｏｐｔｉ１３との比較を行う。ここでも判定がＹ、つまり、最適度Ｏｐｔｉ１が最適度Ｏｐｔｉ１３よりも大きい場合には、そのままＳｔｅｐ８に進み最適度Ｏｐｔｉ１が正か否かの判定を行う。ここでの判定がＹであった場合には、チャンネル１の工具選択指令行Ｔを行Ｂの直前行に移動する。このように直前行に移動することにより、上述した移動指令の前側に工具選択指令が移動して軸移動指令の意味合いが変化することを、工具選択指令が移動した後にあっても防止している。又Ｓｔｅｐ７において、判定がＮ、つまり、最適度Ｏｐｔｉ１３が最適度Ｏｐｔｉ１よりも大きい場合には、そのままＳｔｅｐ１１に進む。Ｓｔｅｐ１１にて最適度Ｏｐｔｉ１３の正負の判定を行い、判定がＮ、つまり、負であった場合には上述と同様の理由により、工具選択指令行の移動は行わず、処理を図１１のメインフローに復帰させる。又、判定がＹ、つまり正であった場合には、Ｓｔｅｐ１２に進みチャンネル１と３の工具選択指令行Ｔを行Ｂの直前行に移動する。尚、Ｓｔｅｐ８において最適度Ｏｐｔｉ１が負となる場合には無駄時間が延びる場合になるので、工具選択指令行の移動は行わず、処理を図Ｎｏ．１１のメインフローに復帰させる。
【手続補正２６】
【補正対象書類名】明細書
【補正対象項目名】００７８
【補正方法】変更
【補正の内容】
【００７８】
更に、Ｓｔｅｐ７に進んで、ＣＨ＝４になったか否かについて判定する。ＣＨ＝４ではない場合には、Ｓｔｅｐ８に進み、行Ａ，Ｂ、工具選択指令行Ｔをイニシャライズし、Ｓｔｅｐ２以降を繰り返す。又、ＣＨ＝４であった場合には、全部のチャンネルのＮＣプログラムの検索が終了したので、図４のメインフローに処理が復帰する。
【手続補正２７】
【補正対象書類名】明細書
【補正対象項目名】００８０
【補正方法】変更
【補正の内容】
【００８０】
まず、処理が開始されると、Ｓｔｅｐ１にて、行番号Ｂの読み込みが行われる。次に、Ｓｔｅｐ２にて、行番号Ｂ＋１以降で最初の工具選択単独指令行Ｔを取得する。次に、Ｓｔｅｐ３に進み、工具選択指令行Ｔの取得を成功したか否かの判定を行う。判定がＮ、つまり、工具選択指令行Ｔを取得できなかった場合には、そのまま図１４に示されるフローチャートに処理が移行する。又、Ｓｔｅｐ３にて判定がＹ、つまり、工具選択指令行Ｔの取得に成功した場合には、Ｓｔｅｐ４に進み工具選択指令行Ｔを挟む前後の待ち合せ行Ａ，Ｂの取得を行う。Ｓｔｅｐ５に進むと、待ち合せコードは有効なコードであるか否かの判定を行う。Ｓｔｅｐ５での判定がＮ、つまり、待ち合せコードが有効でない場合にはＳｔｅｐ２からの処理を改めて繰り返す。つまり、Ｘ１−Ｘ３同期など、チャンネル間での連携を持つように待ちあわせコードを設定している場合に、目的の処理を行うことで、その連携関係が損なわれてしまう処理が対象から除外されるようにしているものである。判定がＹ、つまり、待ち合せコードが有効な場合には、次に、Ｓｔｅｐ６に進み、待ち合わせをしている他のチャンネルと比較し、待ち合せ間が一番長い時間になっているか否かを判定し、判定がＹ、つまり、一番長い時間になっている場合には、Ｓｔｅｐ２からの処理を繰り返すべく処理をＳｔｅｐ２に戻す。一方、判定がＮ、つまり、一番長い時間になっていない場合には、Ｓｔｅｐ７に進み、工具選択指令行Ｔ、待ち合せ開始行Ａ，終了行Ｂの三者を記憶保持する。このように、一番長い時間になっているか否かを判定することによって、その工具選択指令行Ｔによる工具選択に対して実際に余裕時間として存在する時間が他チャンネル工具選択に比較し、余裕があるかないかを判定している。
【手続補正２８】
【補正対象書類名】明細書
【補正対象項目名】００８２
【補正方法】変更
【補正の内容】
【００８２】
４．３．工具選択動作の電子カムデータ化処理の説明
次に、図１６に示される、工具選択動作の電子カムデータ化の処理を説明する。まず、処理が開始されると、Ｓｔｅｐ１にて工具選択指令行Ｔ、待ち合せ開始行Ａ，終了行Ｂの読み込みを行う。続いて、Ｓｔｅｐ２に進み，他のチャンネルの一番長い待ち合せ間の時間との差ΔＴを演算する。Ｓｔｅｐ３に進んで、待ち合せ行Ａ，Ｂ間に含まれる工具選択単独指令行とその選択時間を全て読み込まれているＮＣプログラムファイル及び時間計測モジュールから読み込む。次に、Ｓｔｅｐ４に進んでΔＴを選択時間の長さの比で分配する。次に、Ｓｔｅｐ５に進み、工具選択動作を分配された時間分ゆっくりと動作するような電子カムデータに変換する。次に、Ｓｔｅｐ６に進み、処理が完了した行番号Ｂを記憶保持し、もとのフローに処理が復帰する。