(57)【要約】【課題】  ツールパス、加工条件等の最適化、更に工程全体の最適化を図る。【解決手段】  ツールパス最適化部３２は、加工部位対応情報作成部３１によって作成された加工部位対応情報２４等に基づいて、非加工/加工移動のツールパスの最適化を図る。工具毎加工条件の最適化部３３は、「サイクルタイム×コスト」が最小となる加工条件（切削条件）を求める。工程全体の最適化部３５は、ワーク回転動作を含めた工程全体のサイクルタイムが最小となるような加工工程順序を求める。【選択図】図２
2004237441.tif 000002
【特許請求の範囲】
【請求項１】
加工工程設計情報と、ワークの加工部位、寸法情報に基づいて、加工工程・加工部位を、加工法/工具によって分類して、該分類結果に基づいて加工部位対応情報を作成する加工部位対応情報作成手段と、
該加工部位対応情報に基づいて、各処理対象工具毎に、その加工法が点加工であった場合、同一工具を用いた複数の加工点の巡回路の合計距離が、最小となるようなツールパスを求めるツールパス最適化手段と、
を有することを特徴とする最適化装置。
【請求項２】
加工工程設計情報と、ワークの加工部位、寸法情報に基づいて、加工工程・加工部位を、加工法/工具によって分類して、該分類結果に基づいて加工部位対応情報を作成する加工部位対応情報作成手段と、
該加工部位対応情報に基づいて、各処理対象工具毎に、その加工法が面加工であった場合、一回の工具移動での切削面積または切削体積が最大となるようなツールパスを求めるツールパス最適化手段と、
を有することを特徴とする最適化装置。
【請求項３】
加工工程設計情報と、ワークの加工部位、寸法情報に基づいて、加工工程・加工部位を、加工法/工具によって分類して、該分類結果に基づいて加工部位対応情報を作成する加工部位対応情報作成手段と、
該加工部位対応情報と工具設計情報とに基づいて、各処理対象工具毎に、その加工部位での加工において「サイクルタイム×コスト」が最小となる切削条件を求める工具毎加工条件の最適化手段と、
を有することを特徴とする最適化装置。
【請求項４】
加工工程設計情報と、ワークの加工部位、寸法情報に基づいて、加工工程・加工部位を、加工法/工具によって分類し、更にワーク回転情報を求め、該分類結果とワーク回転情報に基づいて加工部位対応情報を作成する加工部位対応情報作成手段と、
該加工部位対応情報に基づいて、各処理対象工具毎に、その加工法が点加工であった場合、同一工具を用いた複数の加工点の巡回路の合計距離が、最小となるようなツールパスを求め、その加工法が面加工であった場合、一回の工具移動での切削面積または切削体積が最大となるようなツールパスを求めるツールパス最適化手段と、
前記加工部位対応情報と工具設計情報とに基づいて、各処理対象工具毎に、その加工部位での加工において「サイクルタイム×コスト」が最小となる切削条件を求める工具毎加工条件の最適化手段と、
前記ツールパス最適化手段によって求められた最適化されたツールパスと、前記工具毎加工条件の最適化手段によって求められた最適化された切削条件と、予め用意されている各加工パターン毎の特徴情報とに基づいて、工具別の各加工パターン毎のサイクルタイムを算出するサイクルタイム計算手段と、
前記サイクルタイム計算手段によって求められたサイクルタイム情報と、前記加工部位対応情報とに基づいて、ワーク回転動作を含めた工程全体でのサイクルタイムが最小となる加工工程順序を求める工程全体の最適化手段と、
を有することを特徴とする最適化装置。
【請求項５】
ワークの加工のために生産設備を制御する制御装置において実行される制御プログラムのメインプログラムのライブラリと、該メインプログラムから呼び出されるサブプログラムであって、工具別の加工工程を記述するサブプログラムのライブラリと、加工特徴パターン別の加工仕様を記述するサブプログラムのライブラリとを記憶しておくライブラリ記憶手段と、
該各ライブラリと、加工工程情報、工具設計情報、加工仕様特徴情報、切削条件・サイクルタイム設計情報から取得した情報に基づいて、該各ライブラリを組合せ、前記取得した情報をライブラリ内の所定の箇所に記述することによって、前記制御プログラムを生成する制御プログラム生成手段と、
を有することを特徴とする制御プログラム生成装置。
【請求項６】
コンピュータに、
加工工程設計情報と、ワークの加工部位、寸法情報に基づいて、加工工程・加工部位を、加工法/工具によって分類し、更にワーク回転情報を求め、該分類結果とワーク回転情報に基づいて加工部位対応情報を作成する機能と、
該加工部位対応情報に基づいて、各処理対象工具毎に、その加工法が点加工であった場合、同一工具を用いた複数の加工点の巡回路の合計距離が、最小となるようなツールパスを求め、その加工法が面加工であった場合、一回の工具移動での切削面積または切削体積が最大となるようなツールパスを求める機能と、
前記加工部位対応情報と工具設計情報とに基づいて、各処理対象工具毎に、その加工部位での加工において「サイクルタイム×コスト」が最小となる切削条件を求める機能と、
前記最適化されたツールパスと、前記最適化された切削条件と、予め用意されている各加工パターン毎の特徴情報とに基づいて、工具別の各加工パターン毎のサイクルタイムを算出する機能と、
を実現させるためのプログラム。
【請求項７】
前記工具別の各加工パターン毎のサイクルタイム情報と、前記加工部位対応情報とに基づいて、ワーク回転動作を含めた工程全体でのサイクルタイムが最小となる加工工程順序を求める機能を更に有することを特徴とする請求項６記載のプログラム。
【請求項８】
コンピュータに、
ワークの加工のために生産設備を制御する制御装置において実行される制御プログラムのメインプログラムのライブラリと、該メインプログラムから呼び出されるサブプログラムであって、工具別の加工工程を記述するサブプログラムのライブラリと、加工特徴パターン別の加工仕様を記述するサブプログラムのライブラリとを記憶しておく機能と、
該各ライブラリと、加工工程情報、工具設計情報、加工仕様特徴情報、切削条件・サイクルタイム設計情報から取得した情報に基づいて、該各ライブラリを組合せ、前記取得した情報をライブラリ内の所定の箇所に記述することによって、前記制御プログラムを生成する機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークの加工のために生産設備を制御するシステムとそのプログラムに係わり、特に工程全体の最適化を図り、またプログラムの自動生成を実現する装置、プログラム等に関する。
【背景技術】
【０００２】
近年、人々の価値観は多様化し、その変化も速くなっている。それにより、製品生産のための生産設備は、多品種の生産に使用される傾向にある。生産コストの低減の面からは、自動化（無人化）が求められている。これらのことから、生産設備の多くは、プログラムを実行する制御装置の制御下で工作機械を動作させる構成となっている。その制御装置としては、プログラムロジックコントローラ（以下、ＰＬＣ）やＮＣ（Numerical Control ）装置（数値制御装置）、モーションコントローラ（以下、ＭＣ）などがある。  なお、現在では、ＮＣ装置の多くはＣＮＣ（Computerized Numerical Control ）装置となっているが、特に断らない限り、以降ＮＣ装置とはＣＮＣ装置を含む意味で用いる。
【０００３】
生産ラインは、複数の生産設備を有機的に結合させることにより構築される。加工には、変形加工（鍛造、粉末加工、プラスチック成形加工など）や除去加工（切削加工、砥粒加工、或いは光学的加工など）、接合加工（溶接加工、接着加工、結合加工、組立加工など）、及び処理加工（表面処理、熱処理など）といった様々なものがある。生産ラインを構成させる生産設備は、ワーク（加工物）の種類やそれに対して行うべき加工内容に応じて決定される。
【０００４】
ＮＣ装置が実行するプログラム（ＮＣプログラム）は、作業者が自動プログラミング装置を用いて対話形式で作成（ここでは変更を含む）するのが普通である。ワークの設計は、ＣＡＤ／ＣＡＭ（Computer Aided Design and Manufacturing ）システムを用いて行われるのが殆どである。このことから、自動プログラミング装置は、ＮＣ装置と接続される操作盤に搭載されるだけでなく、ＣＡＤ（Computer Aided Design ）システムにも標準的に搭載されている。
【０００５】
そのＣＡＤシステムには、作成、或いは変更したＮＣプログラムをＮＣ装置に実行させた場合のシミュレーションを行う機能も標準的に搭載されている。それにより、作成、或いは変更したＮＣプログラムをＮＣ装置に実際に実行させた場合に、ワークの加工に要すると予測される時間をサイクルタイムとして作業者が確認できるようにさせている。
【０００６】
従来のシミュレーションでは、ＮＣプログラムを模擬的に実行し、その実行にかかる時間を計時することでサイクルタイムを求めていた。しかし、そのようにして求められたサイクルタイムでは、生産設備全体でワークの加工に要する時間しか確認することはできない。
【０００７】
生産設備にワークの複数箇所の加工を行わせることは多い。その場合、加工に要する実際の時間は、通常、加工を行わせる順序によって変動する。
ここで、加工工程設計の手間を軽減することや、工程設計の内容を最適化することについて、従来より、様々な提案が行われている。
例えば、特許文献１には、従来、手作業で行っていた一連の作業、すなわち製品形状、粗材形状に基づく各加工部位抽出、加工形状の決定、工具の自動選択、工具形状の設計、加工条件決定、工具軌跡作成、加工時間作成・チェック・変更等の作業を、自動的に行うようにすることが開示されている。
【０００８】
また、例えば、特許文献２には、工程設計自動化モジュール、非加工時間計算モジュール、マシン台数最適化モジュールを備え、工程組み合わせ作業をコンピュータシステムにより自動的に行うことが開示されている。
上記工程設計自動化モジュールは、加工部位の座標値、加工種類、加工径、加工開始/終了座標の情報を取得して、加工種類、加工径に対応する標準の切削速度、送り速度の情報を取得し、これら取得した情報に基づいて各加工部位の工程別切削時間を計算する。そして、工程順序を考慮したうえで、対象工程の全組合せパターンを抽出する。
【０００９】
次に、上記非加工時間計算モジュールが、早送り動作時間を計算し、これにＡＴＣ時間、治具動作時間を加算して非加工動作時間を計算する。
最後に、マシン台数最適化モジュールによって、早送り動作に待ちが発生しない範囲で切削条件を補正して切削時間を再計算（補正）することにより工程設計の内容を最適化することを以って、マシン台数の最適化（最小化）を行う。
【００１０】
また、特許文献３には、加工機の設計の結果を利用して、加工機の設計と同時期に治具の詳細な仕様を決定できるようにし、また工程設計時において正確なサイクルタイムを見積もることを可能にし、また個々の治具を採用した場合の早送り動作経路を算出しサイクルタイムが短くできるようにする治具諸元決定装置を提案している。
【特許文献１】特開平１１−１２９１４１号公報  （図２、図３）
【特許文献２】特開平１１−２４５１４１号公報
【特許文献３】特開２００１−９２５２２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
上記従来技術では、最適化に関して、未だ不十分な面が多い。
また、ＮＣプログラム等の制御プログラムを効率良く/自動的に生成することについては、考えられていなかった。
【００１２】
本発明の課題は、ワークの加工のために生産設備を制御するシステムとその制御プログラムに係わり、ツールパス、加工条件等の最適化を図り、更にこれによって工程全体の最適化を図ることができる最適化装置、及び上記制御プログラムの自動生成を行える制御プログラム生成装置、これらの装置の機能をコンピュータにおいて実現させるアプリケーションプログラム等を提供することである。
【課題を解決するための手段】
【００１３】
本発明による最適化装置は、第１に、加工工程設計情報と、ワークの加工部位、寸法情報に基づいて、加工工程・加工部位を、加工法/工具によって分類して、該分類結果に基づいて加工部位対応情報を作成する加工部位対応情報作成手段と、該加工部位対応情報に基づいて、各処理対象工具毎に、その加工法が点加工であった場合、同一工具を用いた複数の加工点の巡回路の合計距離が、最小となるようなツールパスを求めるツールパス最適化手段とを有するように構成する。
【００１４】
本発明による最適化装置は、第２に、加工工程設計情報と、ワークの加工部位、寸法情報に基づいて、加工工程・加工部位を、加工法/工具によって分類して、該分類結果に基づいて加工部位対応情報を作成する加工部位対応情報作成手段と、該加工部位対応情報に基づいて、各処理対象工具毎に、その加工法が面加工であった場合、一回の工具移動での切削面積または切削体積が最大となるようなツールパスを求めるツールパス最適化手段とを有するように構成する。
【００１５】
上記第１、第２の最適化装置では、加工工程・加工部位を整理・詳細分類した加工部位対応情報に基づいて、各処理対象工具毎に、加工法に応じて、点加工であった場合には、同一工具を用いた複数の加工点の巡回路の合計距離が、最小となるようなツールパスを求め、面加工であった場合には切削面積/体積が最大となるようなツールパスを求めることができるので、非加工の際の工具移動の効率または加工時の切削効率を向上させることができる。
【００１６】
本発明による最適化装置は、第３に、加工工程設計情報と、ワークの加工部位、寸法情報に基づいて、加工工程・加工部位を、加工法/工具によって分類して、該分類結果に基づいて加工部位対応情報を作成する加工部位対応情報作成手段と、該加工部位対応情報と工具設計情報とに基づいて、各処理対象工具毎に、その加工部位での加工において「サイクルタイム×コスト」が最小となる切削条件を求める工具毎加工条件の最適化手段とを有するように構成する。
【００１７】
一般に、刃具などの工具の寿命は、切削速度が速くなるほど、短くなる。高価な刃具の場合、切削速度を速くすると非常にコスト高となる。一方、安価な刃具であれば、切削速度を速くした為に寿命が短くなっても、それほどコスト高にはならない。これより、上記第３の最適化装置では、加工時間とコストとのバランスが最適となるような切削条件を求める。
【００１８】
本発明による最適化装置は、第４に、加工工程設計情報と、ワークの加工部位、寸法情報に基づいて、加工工程・加工部位を、加工法/工具によって分類し、更にワーク回転情報を求め、該分類結果とワーク回転情報に基づいて加工部位対応情報を作成する加工部位対応情報作成手段と、該加工部位対応情報に基づいて、各処理対象工具毎に、その加工法が点加工であった場合、同一工具を用いた複数の加工点の巡回路の合計距離が、最小となるようなツールパスを求め、その加工法が面加工であった場合、一回の工具移動での切削面積または切削体積が最大となるようなツールパスを求めるツールパス最適化手段と、前記加工部位対応情報と工具設計情報とに基づいて、各処理対象工具毎に、その加工部位での加工において「サイクルタイム×コスト」が最小となる切削条件を求める工具毎加工条件の最適化手段と、前記ツールパス最適化手段によって求められた最適化されたツールパスと、前記工具毎加工条件の最適化手段によって求められた最適化された切削条件と、予め用意されている各加工パターン毎の特徴情報とに基づいて、工具別の各加工パターン毎のサイクルタイムを算出するサイクルタイム計算手段と、前記サイクルタイム計算手段によって求められたサイクルタイム情報と、前記加工部位対応情報とに基づいて、ワーク回転動作を含めた工程全体でのサイクルタイムが最小となる加工工程順序を求める工程全体の最適化手段とを有するように構成する。
【００１９】
上記第４の最適化装置では、ツールパスと切削条件を最適化し、更にこれらと予め用意されている各加工パターン毎の特徴情報とに基づいて算出した、工具別の各加工パターン毎のサイクルタイムに基づいて、更にワークの回転動作に要する時間とＡＴＣに要する時間の合計時間が最小となる加工工程順序を求めることができるので、工程全体の作業効率が非常に良くなる。
【００２０】
また、本発明による制御プログラム生成装置は、ワークの加工のために生産設備を制御する制御装置において実行される制御プログラムのメインプログラムのライブラリと、該メインプログラムから呼び出されるサブプログラムであって、工具別の加工工程を記述するサブプログラムのライブラリと、加工特徴パターン別の加工仕様を記述するサブプログラムのライブラリとを記憶しておくライブラリ記憶手段と、該各ライブラリと、加工工程情報、工具設計情報、加工仕様特徴情報、切削条件・サイクルタイム設計情報から取得した情報に基づいて、該各ライブラリを組合せ、前記取得した情報をライブラリ内の所定の箇所に記述することによって、前記制御プログラムを生成する制御プログラム生成手段とを有するように構成する。
【００２１】
上記制御プログラム生成装置では、制御プログラムを、メインプログラムと、このメインプログラムから呼び出されるサブプログラム群とから成る構成とし、更に、予め上記制御プログラムを構成する各部分毎のテンプレート（雛型）となるライブラリを用意しておくことで、これらライブラリを組み合わせて、更に座標、切削条件等の情報を記述することで、制御プログラムを自動生成することができる。
【００２２】
なお、上述した本発明の各構成により行なわれる機能と同様の制御をコンピュータに行なわせるプログラムを記憶したコンピュータ読み取り可能な記憶媒体から、そのプログラムをコンピュータに読み出させて実行させることによっても、前述した課題を解決することができる。
【発明の効果】
【００２３】
本発明の最適化装置によれば、ワークの加工のために生産設備を制御するシステムとその制御プログラムに関して、ツールパス、加工条件等の最適化を図り、更にこれによって工程全体の最適化を図ることができる。更に、本発明の制御プログラム生成装置によれば、予め用意されるメインプログラムのライブラリ、工具別/加工特徴パターン別のサブプログラムのライブラリに基づいて、上記制御プログラムを自動的に生成できる。
【発明を実施するための最良の形態】
【００２４】
以下、図面を参照して、本発明の実施の形態について説明する。
図１は、本実施の形態による最適化装置、制御プログラム生成装置が適用されるネットワークシステム全体の構成を示す図である。
【００２５】
図示のネットワークシステムは、例えば製品の製造を行う工場を所有する企業に構築されたクライアント／サーバ型のシステムである。図１に示すように、構内ＬＡＮ１と工場ローカルＬＡＮ２をルータ３により結んでいる。
構内ＬＡＮ１には、設備設計情報システムサーバ４、工具設計情報システムサーバ５、工程設計情報システムサーバ６、及びデータベース（ＤＢ）サーバ７が接続されている。
【００２６】
一方の工場ローカルＬＡＮ（以降、ローカルＬＡＮと略記）２には、ラインサーバ８や複数のアクセスポイント（以降、ＡＰ）９が接続されている。各ＡＰ９は、その子機に当たるＡＰ１０と通信を行う。
【００２７】
そのローカルＬＡＮ２は、生産ライン１２、１３が設置された工場に敷設されている。生産ライン１２、１３は、それぞれ９台、２２台の生産設備から構成されている。
それらの生産設備は、ＮＣ制御装置、ＰＬＣ、或いはＭＣの制御下でワークを加工するか、或いはそれを搬送するものである。例えばマシンニングセンタ、打ち抜き装置、バリ取り装置、或いは洗浄装置などを備えたものである。その構成は、周知のものであることから、特に詳細な説明は省略するが、例えば以下のようになっている。
【００２８】
生産ライン１２を構成する１台の生産設備１２ａは、例えばＰＬＣ内蔵のＮＣ制御装置の制御下でワークの加工を行うものである。そのＮＣ制御装置に、操作盤１２ｂ、及びＡＰ１２ｃが接続されている。そのＡＰ１２ｃによって、ＮＣ制御装置はローカルＬＡＮ２と接続させている。作業員は、操作盤１２ｂを操作してＮＣ制御装置が実行するＮＣプログラムやパラメータ（仕様を決めるために設定されたデータ）を変更することができる。
【００２９】
生産ライン１３を構成する１台の生産設備１３ａは、例えばＮＣ制御装置の制御下でワークの加工を行う部分（以降、部分設備と記す）と、ＰＬＣ内蔵のＮＣ制御装置の制御下でワークの加工を行う部分設備とから構成されている。それらの制御装置は接続され、部分設備のＮＣ制御装置はハブ１３ｂと接続されている。そのハブ１３ｂには、他に、操作盤１３ｃ、及びＡＰ１３ｄが接続されている。そのＡＰ１３ｄによって、各部分設備のＮＣ制御装置はローカルＬＡＮ２と接続させている。作業員は、操作盤１３ｃを操作して各ＮＣ制御装置が実行するＮＣプログラムやパラメータを変更することができる。
【００３０】
上記ラインサーバ８は、各生産設備の制御装置から所定のデータを収集することにより、各生産設備の動作状態の監視を行う。
上記ＤＢサーバ７には、設備設計情報システムサーバ４、工具設計情報システムサーバ５、工程設計情報システムサーバ６で作成された各種データが一元管理・格納される。よって、本例による最適化装置３０、ＮＣＰＧ自動生成装置２１０等は、ＤＢサーバ７において実現することが望ましいが、これに限らず、他の装置において実現してもよい。
【００３１】
尚、生産設備を制御する制御装置が実行する制御プログラム（ＮＣプログラム等）は、その制御装置の種類によって普通は異なる。同じ種類の制御装置にも複種類のプログラム言語が開発されている。よって、以下の説明中で図面等に示す制御プログラム等は、一例を示しているのであり、この一例に限るわけではない。
【００３２】
図２は、本実施の形態による最適化装置の機能ブロック図である。
図示の最適化装置３０は、予め設計者等によって設計・設定されて、データベース等に蓄積されている各種情報、すなわち設備設計情報２１、加工工程設計情報２２、ワーク設計情報２３、工具設計情報２６、加工仕様特徴（パターン）情報２８を用いて、更に処理途中で得られる加工部位対応情報２４、（最適化された）切削条件情報２５、工具別各種加工パターンのサイクルタイム情報２７（以下、省略して、サイクルタイム情報２７と記す）を用いて、各種処理を実行し、最終的には、「最適化された加工工程情報」４０を生成・出力する。
【００３３】
最適化装置３０は、加工部位対応情報作成部３１、ツールパス最適化部３２、工具毎加工条件の最適化部３３、工具別の各種加工仕様パターン毎の工程サイクルタイム計算部３４（以下、省略して、サイクルタイム計算部３４と記す）、工具毎の加工工程のサイクルタイムによる工程全体の最適化部３５（以下、省略して、工程全体の最適化部３５と記す）、及び処理結果統合・整理部３６を有する。
【００３４】
これら各機能部によって実行される処理については、後に図３以降で詳細に説明するが、ここでは簡単に説明しておく。
加工部位対応情報作成部３１は、加工工程設計情報２２を取得して、またワーク設計情報２３から、ワーク（加工対象）の加工部位（名称、形状）、座標（基準面からの寸法）の情報を取得して、これら取得した情報を、加工法（点加工または面加工）、使用する工具等に応じて分類し、加工部位対応情報２４を作成する。加工部位対応情報２４は、ツールパス最適化部３２、工具毎加工条件の最適化部３３、サイクルタイム計算部３４、工程全体の最適化部３５の処理で用いられる。
【００３５】
ツールパス最適化部３２は、「工具毎非加工工具移動のツールパスの最適化」処理、「工具毎加工移動のツールパスの最適化」処理を実行する。
「工具毎非加工工具移動のツールパスの最適化」処理では、上記加工部位対応情報２４と設備設計情報２１を用いて、工具毎に、各加工点間の工具移動距離または時間の合計が最短となるようなツールパスを作成する。
【００３６】
「工具毎加工移動のツールパスの最適化」処理では、上記加工部位対応情報２４と、設備設計情報２１、工具設計情報２６を用いて、面加工工程中、工具毎に、工具移動での走行面積または体積の最大化を図ることで、加工工具移動のツールパスを最適化する。
【００３７】
工具毎加工条件の最適化部３３は、上記加工部位対応情報２４と、工具設計情報２６を用いて、「サイクルタイム×コスト」が最小となる切削条件を求めることで、上記最適化された切削条件情報２５を作成する。
【００３８】
サイクルタイム計算部３４は、上記加工部位対応情報２４と最適化された切削条件情報２５、及び加工仕様特徴（パターン）情報２８に上記ツールパス最適化部３２の処理結果を加えた情報を用いて、サイクルタイム情報２７を作成する。
【００３９】
工程全体の最適化部３５は、上記加工部位対応情報作成部３１、サイクルタイム計算部３４による処理結果と、設備設計情報２１、加工工程設計情報２２を用いて、ワーク回転動作を含めた工程全体のサイクルタイムが最小となるような加工工程順序を求める。
【００４０】
以下、上記機能部の各々について、詳細に説明していく。
まず、加工部位対応情報作成部３１について説明する。
図３は、上記加工部位対応情報作成部３１によって実行される処理の一例を示すフローチャート図である。
【００４１】
また、図４にはワーク設計情報２３の一例、図５には加工工程設計情報２２の一例を示す。
図３の説明の前に、まず、図４、図５に示すワーク設計情報２３、加工工程設計情報２２の一例について説明する。
【００４２】
まず、図４に示すワーク設計情報２３の一例について説明する。
ワーク設計情報２３は、ワーク（加工対象）の素材/製品形状・寸法、精度、公差、材質、硬度、表面処理（塗装・焼入れ）、面粗度等の情報より成るが、本システムの処理で利用するのは、加工部位４１、基準面からの寸法４２等である。
【００４３】
加工部位４１は、各加工部位の名称、形状のデータより成る。図示の例では、加工部位は６箇所であり、各々の名称は“Ａ１面”、“Ｂ１面”、“Ｃ１穴”、“Ｃ２穴”、“Ｄ１面”、及び“Ｅ１穴”であり、それぞれ、形状、及び基準面からの寸法４２（方位、位置、径（幅）、深さ等）、その他のデータが対応付けられて格納されている。ここで、“Ｅ１穴”のみは、１つの面上に複数の穴をあけるものであり、図示の例ではＤ１面上に８つの穴をあける場合を例にして示す。このような場合のツールパスの最適化については、後に図１１等を参照して説明する。尚、基準面に関するデータは、特に示していないが、当然存在する。
【００４４】
次に、図５に示す加工工程設計情報２２の一例について説明する。
図５に示す加工工程設計情報２２の一例は、上記図４に示す例のワークの各加工部位を加工する為の加工工程を示す。
【００４５】
図示の加工工程設計情報２２は、工程ＮＯ．５１、工程名５２、工程内容５３、工具径５４、工具種類５５、加工部位５６、（基準面からの）加工角度５７より成る。
工程ＮＯ５１．は、当該加工工程の順番を示すものであり、この番号順に加工が行われる。
【００４６】
工程名５２は各工程に任意に付けられた名称であり、工程内容５３はその実際の工程内容（面削り、穴明け等）であり、加工部位５６は加工対象の部位名であり、工具径５４及び工具種類５５は各工程で用いる工具（刃具）である。例えば、ＮＯ．＝１の工程では、径が６０．０のフライスを用いて、Ａ１面の面削りを行うことを意味する。尚、ここでは、工程名５２は、工程内容５３と加工部位５６とを併せた内容となっているが、この例に限るわけではない。
【００４７】
加工角度５７は、ターンテーブル、チルトテーブル各々の（基準面からの）回転角度を示す。つまり、ワークを加工する場合、工具の進入方向は固定的とし、ワーク自体を回転移動させて、その都度加工すべき面を工具のある位置へともっていく手法が一般的であり、加工角度５７はワークを載せた各テーブルを回転させる角度を意味する。同様に、ワークを固定的とし、工具を持つ主軸をターン、チルト回転させる場合も、同様に考えることは言うまでもない。
【００４８】
図３の説明に戻る。
図３において、まず、予めデータベース等に格納されている加工工程設計情報２２を取得すると共に（ステップＳ１１）、予めデータベース等に格納されているワーク設計情報２３を参照して、ワークの加工部位、形状、基準面からの寸法等のデータを取得する（ステップＳ１２）。そして、これら取得した情報を用いて、例えば図６に示す加工部位対応情報２４を作成する。
【００４９】
図６に示す加工部位対応情報２４は、工程名６１、工程内容６７、部位名６２、形状６３、基準からの寸法６４（方位、位置、径（幅）、深さ）、工具６５（Ｔ−Ｎｏ．、径、種類）、加工法分類６６、ターンテーブル割出角度６８、チルトテーブル割出角度６９より成る。このうち、工程名６１、部位名６２、形状６３、基準からの寸法６４（方位、位置、径（幅）、深さ）、面粗度、その他、工具６５における径と種類、ターンテーブル割出角度６８、チルトテーブル割出角度６９の各データは、加工工程設計情報２２、ワーク設計情報２３から取得したデータをそのまま用いればよい。これら以外のデータ、すなわち工程内容６７、工具６５におけるＴ−Ｎｏ．、加工法分類６６は、以下のステップＳ１３〜Ｓ１７の処理によって作成する。
【００５０】
まず、加工部位４１の名称、形状から、加工法を面か点かに分類し、これを加工法分類６６に格納する（ステップＳ１３）。分類方法は、例えば、名称、形状に“穴”という文字があれば“点”とし、“穴”以外は全て“面”とする。尚、“面”は面加工、“点”は点加工に分類されたことを意味する。
【００５１】
次に、各加工部位毎に、加工工程設計情報２２の工具種類５５、工具径５４、及びワーク設計情報２３の面粗度が全て同一のもの同士は、同一のＴ−Ｎｏ．が割り当てられるようにして、Ｔ−Ｎｏ．を割り当てる（ステップＳ１４）。Ｔ−Ｎｏ．は例えばＴ０１，Ｔ０２，Ｔ０３、・・・というように、任意の値であってよい。そして、加工部位対応情報２４の工具６５におけるＴ−Ｎｏ．に、割り当てた結果を格納する。
【００５２】
次に、加工部位対応情報２４の工程内容６７における補助作業の欄に、工程Ｎｏ．１から順に、工具６５におけるＴ−Ｎｏ．が変わる毎に（つまり、工具種類５５、工具径５４、及び面粗度の何れか１つ以上が変わる毎に）、工具交換を示す記述を追加する（ステップＳ１５）。
【００５３】
次に、ターンテーブル割出角度６８、チルトテーブル割出角度６９に基づいて、工程内容６７における補助作業の欄に、ワーク／チルトの回転、回転角度を示す記述を追加する（ステップＳ１６）。
【００５４】
以上の処理で、例えば図６に一例を示す加工部位対応情報２４が作成される。尚、ステップＳ１７は、ステップＳ１３〜Ｓ１６の処理結果を最後にまとめて加工部位対応情報２４を作成することを意味するが、上述した説明ではステップＳ１３〜Ｓ１６の各処理毎に処理結果を加工部位対応情報２４に追加しているので、この場合にはステップＳ１７の処理は必要ない。
【００５５】
次に、以下、ツールパス最適化部３２について説明する。
図７は、ツールパス最適化部３２によって実行される処理全体を概略的に示すフローチャート図である。
【００５６】
図示の処理では、まず、上記加工部位対応情報作成部３１によって作成された加工部位対応情報２４を取得する（ステップＳ２１）。
次に、取得した情報に基づいて、まず、処理対象工具を１つ選択し（ステップＳ２２）、当該処理対象工具の加工法に応じて（ステップＳ２３）、ステップＳ２４、ステップＳ２５の何れかの処理を実行する。すなわち、加工法が点加工であれば（ステップＳ２３，ＹＥＳ）ステップＳ２４の処理を実行し、面加工であれば（ステップＳ２３，ＮＯ）ステップＳ２５の処理を実行する。尚、ステップＳ２３の処理は、加工部位対応情報２４の加工法分類６６を参照すれば、判定できる。
【００５７】
以上の処理を、全ての工具について実行したら（ステップＳ２６，ＹＥＳ）、当該処理を終了する。
ステップＳ２４の非加工工具移動のツールパスの最適化処理の詳細フローチャートを図８に示す。ステップＳ２５の面加工工具移動のツールパスの最適化処理の詳細フローチャートを図１３に示す。
【００５８】
まず、図８〜図１２を参照して、ステップＳ２４の処理について詳細に説明する。
図８において、まず、設備設計情報２１から主軸動作方式、リファレンス点座標を取得する（ステップＳ３２）。
【００５９】
図９に、設備設計情報２１の一例を示す。
図示の設備設計情報２１は、Ｃ／Ｔ（サイクルタイム）関連情報７１、エネルギー関連情報７２、設備情報７３等より成る。尚、実際には、これら以外にも、サイズ、工具、精度、信頼性等の情報もあるが、ここでは関係ないので、省略する。
【００６０】
Ｃ／Ｔ関連情報７１は、その設備（ＮＣまたはＰＬＣ；ここではＮＣを例にする）の最大能力を示す情報であり、例えば早送り速度（ＸＹＺ）とは、その設備の早送り速度のＭＡＸ値を意味する。他の切削送り速度（ＸＹＺ）等も同様である。
【００６１】
エネルギー関連情報７２は、後に説明するコスト計算に利用する場合もあるが、ここでは関係ないので、説明は省略する。
設備情報７３は、その設備（ＮＣ、ＰＬＣ等）の機種名、メーカー、型式等の情報である。同一メーカーであっても、機種、型式によって、使用するプログラムが異なる場合も多いので、この設備情報７３に基づいて、使用するプログラムを判断する。更に、制御装置パラメータファイル名が格納されている。制御装置パラメータ７４は、主軸動作方式、リファレンス点座標等であり、上記ステップＳ３２では、これらの情報を取得する。
【００６２】
そして、上記ステップＳ２１、Ｓ３２で取得した情報を用いて、ステップＳ３４〜ステップＳ３６の処理を繰り返し実行するが、その前に、まず、上記リファレンス点座標に最も距離が近い加工点を求めて、当該加工点とリファレンス点座標とを繋げることで、最初の巡回路を作成する（ステップＳ３３）。つまり、ステップＳ２２で選択した工具を用いて、連続して複数箇所の点加工を行う場合に、この中で最もリファレンス点座標に近い加工点を求めて、最初の巡回路を作成する。
【００６３】
図８に示す処理について、図６に示す加工部位対応情報２４の例の中でＥ１穴（８箇所の穴）を例にして、以下、図１０、図１１を参照して説明する。
図１０は、同一工具を用いて連続して８個所（(1)〜(8)）の点加工を行う例において、ツールパスの最適化の手順を視覚的に示す図である。
【００６４】
この例では、まず、ステップＳ３３の処理によって、リファレンス点と加工点(3)との間に、最初の巡回路が作成される（図１０（ａ））。尚、点間距離は、以下の式（１）によって求められる。
【００６５】
【数１】
2004237441.tif 000003
【００６６】
・・・（１）式
次に、作成された巡回路上の各枝に対して、ある枝Ｂ（ｉ）の両端点の各々から上記巡回路上に無い（残りの）各点までの距離の合計を求め、この合計距離から枝Ｂ（ｉ）の距離を引いた値が最小となるような点ｐ（ｊ）を求める（ステップＳ３４）。
【００６７】
最初は、ステップＳ３３で作成した枝のみであるので、この枝の両端点、すなわち点(3)とリファレンス点から、残りの各点（(1)、(2)、(4)〜(8)）までの各合計距離を求める。この場合、図１０に示す各点の位置関係から感覚的に分かると思うが、上記点ｐ（ｊ）として点(1)が求められる。すなわち、“リファレンス点−点(1)間の距離”＋“点(1)−点(3)間の距離”−“リファレンス点−点(3)間の距離（枝Ｂ（ｉ）の長さ）”が、最も小さいので、点(1)が上記点ｐ（ｊ）として求められる。
【００６８】
そして、上記求めた点ｐ（ｊ）、枝Ｂ（ｉ）の両端の点それぞれに繋げて、枝Ｂ（ｉ）を削除する。ここでは、枝“リファレンス点−点(3)”の両端の点（リファレンス点、点(3)）と点(1)とを繋げて、新たに、枝“リファレンス点−点(1)”、及び枝“点(1)−点(3)”を作成すると共に、枝“リファレンス点−点(3)”を削除することになる（図１０（ｂ））。
【００６９】
以上の処理を、全ての加工点が、作成された巡回路上にある状態になるまで（ステップＳ３６，ＹＥＳ）、繰り返し実行する。
上述した例では、枝“リファレンス点−点(1)”及び枝“点(1)−点(3)”が作成された状態になっているので、この状態で、ステップＳ３４の処理を実行すると、枝“点(1)−点(3)”に対して枝(2)が上記点ｐ（ｊ）として求められる。
【００７０】
よって、ステップＳ３５の処理により、図１０（ｃ）に示すように、新たに、枝“点(1)−点(2)”及び枝“点(3)−点(2)”が作成され、枝“点(1)−点(3)”が削除される。
以下、同様にして、ステップＳ３４、Ｓ３５の処理を繰り返し実行していくことで、図１０（ｄ）〜図１０（ｈ）に示すように、順次、新たな枝の作成と枝Ｂ（ｉ）の削除が行われていき、最終的に、図１０（ｉ）に示す最適ルートパスが求められる。
【００７１】
このとき作成されているデータを、図１１の図上右側に示す。
図示のデータの中で、「最適」フラグは、その枝が最適巡回路上にある場合には‘１’、その枝が枝が最適巡回路上にない場合には‘０’が格納される。「最適」フラグが‘１’となっている枝同士を繋ぎ合わせることにより、最適ツールパスが生成できる（ステップＳ３７）。更に、この最適ツールパス情報に、ステップＳ２１で取得した工具情報、ステップＳ３２で取得した主軸動作方式（移動区分；切削/早送・早戻）の情報等を加えることで、例えば図１２に示すような「工具毎の非加工工具移動の最適化ツールパス」情報が生成される。尚、図１２における“移動区分”（切削／早送・早戻）は、“作業”に基づいて判定する。すなわち、“穴明け”に関するものは全て切削であり、“移動”に関するものは１つを除いて全て“早送”と判定する。１つを除いてとは、一番最後の“移動”であり、これだけは“早戻”と判定する。
【００７２】
次に、上記図７のステップＳ２５の処理について、図１３〜図１７を参照して、詳細に説明する。
図１３は、面加工工具移動のツールパスの最適化処理の詳細フローチャート図である。
【００７３】
同図において、まず、加工部位対応情報２４を取得し（ステップＳ４１）、設備設計情報２１から主軸動作方式データを取得し（ステップＳ４２）、更に、工具設計情報２６から、工具の半径方向の最大切り込み量、一回転の最大可能切削量情報を取得する（ステップＳ４３）。尚、これらの情報は、図１５に示す一例には示していないが、実際には、例えばエンドミル刃具に関する工具設計情報には存在する。一方、図１５に示すように面加工工具がクイルである場合には、図１５に示す（横方向の）最大切り込み量Ｄ、（縦方向の）最大切り込み量Ｕを、例えば図１４に示す工具設計情報２６の工具３Ｄデータベース名９７に基づいて得た工具３Ｄ情報から取得する。
【００７４】
図１４に工具設計情報２６の一例を示す。
図示の工具設計情報２６は、工程ＮＯ．９１、工程名９２、工具９３（刃具径、刃具種類、最大切り込み量／一回転の最大可能切削量）、刃具ＣＤ９４、チップ数Ｄｒ種類９５、刃具材質９６、工具３Ｄデータベース名９７、切削条件９８（周速、送り量、回転数、送り速度）、寿命９９、寿命特性１００、及びコスト１０１等より成る。尚、工具９３における最大切り込み量とは「工具の半径方向の最大切り込み量」の意味であり、一回転の最大可能切削量ともども、後述するステップＳ５３，Ｓ５４の処理で用いられる。
【００７５】
ここで、寿命特性１００は、例えば図１４の図上下側に示す「エンドミル刃具寿命特性例」のように、切削速度と刃具寿命との対応関係を示すものである。図示の通り、切削速度が早くなるほど、刃具寿命は短くなる。切削速度を早くすれば、作業効率は良くなるが、特に使用する刃具が高価であると、コストが増大することになる。これは、後述する工具毎加工条件の最適化部３３の処理で必要になるデータであり、図１３の処理では必要ないので、これ以上は説明しない。
【００７６】
図１３の説明に戻る。
上記の通り、各種情報を取得したら、ステップＳ４４〜Ｓ４８の処理を実行する。これらの処理の説明は、図１５に示す例を参照して説明する。尚、図１５に示す例では、ステップＳ４３で取得するデータが多少違うだけであり、処理の基本的な流れは略同様である。
【００７７】
図１５に示す一例では、ワークの加工部位は、幅Ｗ＝３６（単位は特に記さないが、通常はｃｍかｍｍ）、深さＶ＝７の面加工（切削）を行うものである。尚、長手方向の長さは、幾つであっても、本処理には影響しないので、特に示していない。また、使用する工具は、例えば図示の通り、工具の横（面）方向の最大切り込み量Ｄ＝１０、工具の縦（深さ）方向の最大切り込み量Ｕ＝５となっているものとする。
【００７８】
工具の動作は、一回の切削動作では、加工面に平行に、長手方向に沿って切削移動する。これを何回か繰り返すことで、幅Ｗ＝３６、深さＶ＝７の面加工が実行されることになる。この繰り返し回数を最小にする条件を求めることが、本処理の目的である。
【００７９】
まず、ステップＳ４５の処理について説明する。この処理では、工具の横（面）方向の最大切り込み量（上記Ｄ＝１０）で加工面の幅（上記幅Ｗ＝３６）で割って、この除算結果を小数点以下切り上げする。図１５の例では、Ｗ/Ｄ＝３６/１０＝３．６となるので、小数点以下切り上げすると‘４’が得られる。この‘４’を、横方向の切削回数とする。
【００８０】
続いてステップＳ４６の処理を行う。この処理では、上記横方向の切削回数（＝４）で、加工面の幅を割ることで、切削動作１回毎の横方向の切削量を求める。上記例では３６/４＝９となる。
【００８１】
次に、ステップＳ４７の処理について説明する。この処理では、工具の縦（深さ）方向の最大切り込み量（上記Ｕ＝５）で、加工面の切削深さ（上記Ｖ＝７）を割って、この除算結果を小数点以下切り上げする。図１５の例では、Ｖ/Ｕ＝７/５＝１．４となるので、小数点以下切り上げすると‘２’が得られる。この‘２’を、縦方向の切削回数とする。
【００８２】
続いてステップＳ４８の処理を行う。この処理では、上記縦方向の切削回数（＝２）で、加工面の幅を割ることで、切削動作１回毎の縦方向の切削量を求める。上記例では７/２＝３．５となる。
【００８３】
尚、図１５の例の総切削回数は、横方向の切削回数×縦方向の切削回数＝４×２＝８（回）となる。
以上の処理によって、切削動作１回毎の横方向/縦方向の切削量が求められ、既に加工部位の座標等のデータも取得してあるので、これらを用いて、面加工工具移動のツールパスを作成することは既存手法により容易にできる。このツールパスは、例えば図１６に示す例のように、各切削動作の開始位置、終了位置の情報として格納される。
【００８４】
次に、工具毎加工条件の最適化部３３によって実行される処理について説明する。
図１７は、工具毎加工条件の最適化部３３の処理を説明する為のフローチャート図である。
【００８５】
同図に示す処理は、まず、加工部位対応情報２４を取得する（ステップＳ５１）。
次に、取得した情報から、任意の処理対象工具をひとつ選択して（ステップＳ５２）、その工具についてステップＳ５３、Ｓ５４の処理を実行するプロセスを、全ての工具について処理を実行するまで（ステップＳ５５，ＹＥＳ）繰り返し実行する。
【００８６】
まず、ステップＳ５３の処理において、ステップＳ５２で選択した工具に関する「工具の半径方向の最大切り込み量又は一回転の最大可能切削量」、刃具径、寿命特性１００、及びコスト１０１の情報を、工具設計情報２６から取得する。
【００８７】
そして、当該工具対応の加工部位での加工に、「サイクルタイム×コスト」が最小となる送り速度、回転速度等を求める（ステップＳ５４）。
図１８は、ステップＳ５４の処理の詳細フローチャート図である。
【００８８】
図１８において、まず、処理対象工具を１つ決め、図１２又は図１６に示す最適化ツールパスに関する情報から、処理対象工具の切削st（切削距離）を取得する（ステップＳ３０１）。尚、図１２、図１６に示すように１つの工具で連続して複数箇所（複数回）切削する場合には、その全ての切削stの総和（総切削距離Ｌ）を求めておく。
【００８９】
続いて、例えば設備設計情報の設備情報７３には、図９には図示していないが、各機器（ＰＬＣ／ＮＣ）毎に、その工具駆動部分の性能、すなわち回転数Ｎの最大値・最小値、送り速度Ｆの最大値・最小値が格納されており、これらのデータを取得する。更に、予め回転数Ｎ、送り速度Ｆ各々の増分値と、評価指標Ａの初期値が任意に設定されており、これらのデータも取得する（ステップＳ３０２）。
【００９０】
そして、ステップＳ３０３以降の処理は、概略的に言えば、回転数Ｎ、送り速度Ｆの値を、各々の最小値〜最大値までの範囲内で増分値によって少しずつ変えながら、ステップＳ３０７〜Ｓ３１２の処理を繰り返し実行することで、評価指標Ａの値を最も小さくする回転数Ｎと送り速度Ｆの値を求める（そのときの周速Ｖと送り量ｆも算出する）処理である。
【００９１】
ステップＳ３０３以降の処理は、詳細には、まず、一番最初は、回転数Ｎの初期値として、上記回転数Ｎの最小値を設定する（ステップＳ３０３）。また、送り速度Ｆの初期値として、上記送り速度Ｆの最小値を設定する（ステップＳ３０５）。
【００９２】
そして、これら回転数Ｎ、送り速度Ｆの設定値と、上記ステップＳ５３で取得した「最大切込み量又は１回転の最大可能切削量」Ｃrm、工具径Φ、及びステップＳ３０１で得た総切削距離Ｌとを用いて、以下の（１）式、（２）式により、その工具による総切削時間Ｔtc、及び切削速度（周速）Ｖを求める（ステップＳ３０７）。
【００９３】
Ｔtc＝Ｍａｘ[（Ｌ／Ｃrm）／Ｎ，Ｌ／Ｆ]    ・・・（１）式
Ｖ＝π×Φ×Ｎ／１０００      ・・・（２）式
続いて、上記求めた周速ＶとステップＳ５３で取得した寿命特性１００（例えば図１４の図上下側に示す特性）とを用いて、当該周速Ｖに対応する刃具寿命Ｔを求め、これより以下の（３）式によって使用可能回数Ｍを算出する（ステップＳ３０８）。
【００９４】
Ｍ＝Ｔ／Ｔtc    ・・・（３）式
更に、ステップＳ５３で取得したコスト１０１を用いて、上記使用可能回数Ｍの１回当りの工具消耗費用Ｗを、以下の（４）式により算出する（ステップＳ３０９）。
【００９５】
Ｗ＝コスト／Ｍ    ・・・（４）式
最後に、以下の（５）式により、評価指標Ａを算出する（ステップＳ３１０）。
評価指標Ａ＝Ｗ×Ｔtc    ・・・（５）式
そして、ステップＳ３１０で算出した評価指標Ａを、それまでの処理で最も小さかった評価指標Ａmin（ステップＳ３１２で記録されている）と比較して、評価指標Ａ＜評価指標Ａminであった場合には（ステップＳ３１１，ＹＥＳ）、当該評価指標Ａを新たな評価指標Ａminとして記録すると共に、これに対応する上記回転数Ｎ、送り速度Ｆ、周速Ｖを記録し、更に以下の（６）式により送り量ｆも求めて、この送り量ｆも記録する（ステップＳ３１２）。尚、評価指標Ａminは、一番最初は、ステップS３０２で取得した評価指標Ａの初期値となっている。
【００９６】
送り量ｆ＝Ｆ／Ｎ    ・・・（６）式
以上のステップＳ３０７〜Ｓ３１２の処理を、送り速度Ｆが最大値より大きくなるまで、送り速度Ｆの値をその増分値によって増加させながら（ステップＳ３０６）、繰り返し実行する。送り速度Ｆが最大値より大きくなったら（ステップＳ３１３，ＹＥＳ）、回転数Ｎをその増分値によって増加させ（ステップＳ３０４）、送り速度Ｆの値を一旦初期値に戻した後（ステップＳ３０５）、再び送り速度Ｆが最大値より大きくなるまで、送り速度Ｆの値をその増分値によって増加させながら（ステップＳ３０６）、上記ステップＳ３０７〜Ｓ３１２の処理を繰り返し実行する。
【００９７】
以上の処理を繰り返し実行し、回転数Ｎの値がその最大値より大きくなったら（ステップＳ３１４，ＹＥＳ）、本処理は終了であり、このとき記録されている評価指標Ａminが、最小の評価指標であり、これに対応して記録されている回転数Ｎ、送り速度Ｆ、周速Ｖ、及び送り量ｆが、最適な切削条件ということになり、これらを出力する（ステップＳ３１５）。
【００９８】
以上の処理によって、各工具毎に、最適な切削条件（回転数Ｎ、送り速度Ｆ、周速Ｖ、送り量ｆ）が求められたら、これらをまとめることで、最適化された切削条件情報２５が作成される（ステップＳ５６）。
【００９９】
図１９に最適化された切削条件情報２５の一例を示す。
図示の切削条件情報２５は、工程ＮＯ．８１、工程名８２、工具８３（刃具径、刃具種類）、刃具ＣＤ８４、及び切削条件８５より成る。
【０１００】
切削条件８５は、周速、送り量、回転数、送り速度などであるが、必ずしもこれら全てが必要なわけではなく、最低２つあれば、実用上問題ない。
図示の切削条件情報２５は、図１５の工具設計情報２６と比較すれば分かる通り、データ項目としては、工具設計情報２６の一部を抜け出した形となっているが、切削条件８５のデータ値は、最適化が図られた後の値となっている点で異なる。
【０１０１】
次に、工程サイクルタイム計算部３４によって実行される処理について説明する。
図２０は、工程サイクルタイム計算部３４の処理を説明する為のフローチャート図である。
【０１０２】
同図に示す処理は、まず、加工部位対応情報２４を取得する（ステップＳ６１）。
次に、取得した情報から、任意の処理対象工具をひとつ選択して（ステップＳ６２）、この対象工具に対応するツールパス情報を、図１２又は図１６に示すデータから取得する（ステップＳ６３）。
【０１０３】
ここで、加工仕様特徴（パターン）情報２８の一例を、図２１に示す。
図示の加工仕様特徴（パターン）情報２８は、工程ＮＯ．１１１、工程名１１２、工程内容１１３、刃具種類１１４、及び加工仕様（工具内加工仕様パターン）１１５より成る。
【０１０４】
続いて、対象工具に対応する、最適化された切削条件情報を取得する（ステップＳ６４）。
そして、以上、取得した各種情報に基づいて、対象工具の加工パターン対応のサイクルタイムを計算する（ステップＳ６５）処理を、全加工パターンについての処理が完了するまで、繰り返し実行する（ステップＳ６６）。
【０１０５】
以上で、ある対象工具に関する加工パターン対応のサイクルタイムの計算が完了したら、未だ処理対象とすべき工具が残っている場合には（ステップＳ６７，ＮＯ）ステップＳ６２に戻り、同様の処理を繰り返す。
【０１０６】
全ての工具について上記処理が完了したら（ステップＳ６７，ＹＥＳ）、工具別各種加工パターンのサイクルタイム情報２７を作成し（ステップＳ６８）、当該処理を終了する。
【０１０７】
図２２、図２３に、工具別各種加工パターンのサイクルタイム情報２７の一例を示す。尚、工具別各種加工パターンのサイクルタイム情報２７のデータ項目量が多い為、２つに分けて（図２２と図２３に分けて）示しているだけである。
【０１０８】
尚、サイクルタイム情報自体は、主に図２３に示す情報である。
図２３に示す各種サイクルタイム情報の求め方は、特開２００３−３０８１０６号公報に記載の公知の手法を利用する。ここで特開２００３−３０８１０６号公報に記載の公知の手法について、図２４、図２５を参照して簡単に説明しておく。
【０１０９】
図２４は、サイクルタイムの定義と計算方法を説明する図である。図２５は、そのサイクルタイム計算用データの取得方法を説明する図である。
図２４において、「Ｔ工程サイクル１」「Ｔ工程サイクルN」は、それぞれ、同じツールを用いてワークを加工する基本加工工程に対応する。これは、例えば図１０等に示す８つの穴を空けるためのそれぞれの加工工程に対応する。そのサイクルタイムＴRKは、その基本加工工程の加工を行うために生産設備を稼動させている稼動時間である。
【０１１０】
「ツールサイクル」は、ツール工程に対応し、そのツール工程で行われる全基本加工工程から構成される。尚、ツール工程とは、同一のツールを用いて行われる加工工程全体を意味する。従って、そのサイクルタイムＴjは、図２４に示すように、各基本加工工程のサイクルタイムＴRKを積算して計算される時間となる。「設備サイクル」は、生産設備でワークを加工する工程全体に対応し、全ツール工程はその一部として行われる。このため、そのサイクルタイムＴは、各ツール工程のサイクルタイムＴRを積算して計算される時間に、生産設備固有のワークの加工に必要な時間を加算して得られる時間となる。加工するワークを作業員がセットして安全用の扉を閉め、その扉を開けて加工が終わったワークを取り出すのであれば、図２４に示すように、固有の時間として、ワークをセットして扉を閉めるのに要する時間ＴBS、扉を開けてワークを取り出すのに要する時間ＴBEを加算することになる。
【０１１１】
「ラインサイクル」は、１生産ラインでワークを加工する工程全体に対応し、全設備サイクル（工程）はその一部として行われる。このため、そのサイクルタイムＴＬは、各設備サイクルのサイクルタイムＴを積算して計算される時間に、生産ライン固有のワークの加工に必要な時間を加算して得られる時間となる。生産設備間でのワークの受け渡しを作業員が運搬して行うのであれば、固有の時間として、生産設備間の運搬時間をそれぞれ加算することになる。
【０１１２】
基本加工工程のサイクルタイムＴRKは、図２４に示すように、その添字で示す基本加工工程ＲＫにおける早送り時間（主軸を早送りするのに要する時間）Ｔqf＿RK、位置決め時間Ｔld＿RK、ＡＴＣ時間（ツールの自動交換に要する時間）Ｔatc＿RK、テーブル割出時間（ワークをセットするテーブルの割出角度を変化させるために要する時間）Ｔtac＿RK、ドウエル時間Ｔd＿RK、主軸加速度タップロス時間（主軸の回転速度が目標値に達するまでに要する時間）Ｔal＿RK、総切削（加工）時間Ｔts＿RK、早戻し時間（主軸を原点に向けて早戻しするのに要する時間）Ｔqr＿RK、及び工具検知時間Ｔtcc＿RKを加算することで計算される。
【０１１３】
上記総切削（加工）時間Ｔts＿RKは、ＰＧ中から抽出した加工条件別に加工に要する時間を算出し、算出した時間を積算することで求められる時間である。
上記各時間は、ツール工程を基本加工工程に分割することから、切削加工では、早送り時間Ｔqf＿RK、位置決め時間Ｔld＿RK、主軸加速度タップロス時間Ｔal＿RK、及び総切削（加工）時間Ｔts＿RK以外の時間は０であることがあり得る。例えばＡＴＣ時間Ｔatc＿RKは、最初の基本加工工程以外では０となり、早戻し時間Ｔqr＿RKは、最後の基本加工工程以外では０となる。工具検知時間Ｔtcc＿RKは、生産設備によっては主軸に別の動きを行わせている間に工具の検知を行うようにしていることから、０ということもある。このことから、工具検知時間Ｔtcc＿RKは、ファイルに保存した固定値を使用するようにしている。それ以外には、位置決め時間Ｔld＿RK、ＡＴＣ時間Ｔatc＿RK、更には時間ＴBS、ＴBEもファイルに保存した固定値を使用するようにしている（図２５参照）。以降、そのファイルについては、サイクルタイム算出用に用意したものであることから、算出用ファイルと呼ぶ。
【０１１４】
上記早送り時間Ｔqf＿RK、及び早戻し時間Ｔqr＿RKは、主軸の移動上の制約を考慮して算出される。例えば主軸を同時には１軸上にしか移動できなければ、各軸の移動距離の積算値が主軸の移動距離となる。その移動距離を移動するのにかかる時間は、各軸につき、その移動距離をその軸の早送り速度で割って得られる時間を積算したものとなる。複数軸上に移動できるのであれば、各軸上の移動距離をその軸の早送り速度で割って得られる時間の最大時間が移動にかかる時間となる。このことから、主軸の移動上の制約を考慮して時間を算出している。各軸上を含め、移動距離は、ＰＧから取得し、早送り速度は、各軸につき、生産設備の制御装置から収集したパラメータ中から取得している。
【０１１５】
テーブル割出時間Ｔtac＿RKを算出するための割出角度θは、ＰＧ中から取得する。その算出は、９０度のテーブルを回転するのに要する基準時間αに、割出角度θを９０で割った値を掛けることで行っている。基準時間αは、上記算出用ファイル内に用意するか、或いはサイクルタイム算出用にラインサーバ８が実行するプログラム内で定義されている。
【０１１６】
ドウエル時間Ｔd＿RKは、ＰＧ中から取得する。それが複数存在していれば、その累計値が時間Ｔd＿RKとなる。主軸加速度タップロス時間Ｔal＿RKは、Ｓコードで指令される回転速度に主軸が達するのに要する時間である。その時間は、例えば算出用ファイルにテーブル形式、或いはそれを算出するための方程式の形で格納されている。図２５に示す例は、Ｓコードで指令される回転速度が１５００ｒｐｍまでは固定値ａ、その回転速度が１５００〜３０００ｒｐｍの間は固定値ｂ、その回転速度が３０００ｒｐｍ以上であれば固定値ｃを時間Ｔal＿RKとすることを表している。
【０１１７】
加工では、同じ、或いは同じと見なせる加工を繰り返し行うことがある。例えばフライス加工では、フライス面を加工するのにツールを複数回、場所や方向を変えつつ移動させることがある。ここでは、ツールを１回移動させる加工を１パスと呼んでいる。それにより、総切削時間Ｔts＿RKは、１パス当たりの切削（加工）時間にパス数ＰＮ＿ＲＫを掛けて算出している。１パス当たりの切削時間は、そのパスでの切削距離を送り速度で割ることで求めている。切削距離、送り速度、及びパス数ＰＮ＿ＲＫは、共にＰＧから取得している。
【０１１８】
以上、特開２００３−３０８１０６号公報に記載の公知手法に簡単に説明し、本例ではこの手法を利用するが、上記の通り、公知手法ではＮＣＰＧ（制御用プログラム）を解析して必要なデータ取得を行っているのに対して、本例では上記の通りＮＣＰＧは用いていないので、処理に必要なデータの取得方法が多少異なる。異なる点について以下に説明する。但し、本例においてＮＣＰＧも入力するものとし、公知手法によりサイクルタイムを算出するものであってもよい。
【０１１９】
ツールの移動時間はツールパス(座標)情報を用いて距離を計算し、図１２、図１６に示す移動区分（切削／早送・早戻）対応の移動速度で除算して移動時間を求める。つまり、
（ａ）切削時間＝総切削st（距離）／送り速度Ｆ
切削時のツール移動速度Ｆは切削条件であり、通常プログラムで指定するが、本例では上記最適化された切削条件のＦを使用する。
（ｂ）早送・早戻時間＝早送・早戻距離／早送・早戻速度
早送・早戻速度は機器仕様であり、図９の設備設計情報におけるパラメータから取得する。
（ｃ）位置決め時間は機器仕様であり、図９の設備設計情報におけるパラメータから取得する。
（ｄ）主軸加減速タップロス時間は機器仕様であり、図９の設備設計情報におけるパラメータから取得する。例：0.5秒
（ｅ） ATC時間は機器仕様であり、図９の設備設計情報におけるパラメータから取得する。例：2.5秒
（ｆ）ドウエル時間はプログラムによって設定されるが、最適化するとき不変と考え、無視する。
（ｇ）テーブル割出時間は割出角度の絶対値と比例する設備の仕様であり、割出角度の値で計算する。設備仕様である比例係数は上記パラメータから取得する。
（ｈ）工具検知時間は通常必要な工具の切削後で実行するが、ツールを固定な点(検査センサー装着)を通過させることでツールの破損を検査することである。つまり、あるツールについて実行する場合、設計時に検査パスをそのツールのツールパスに加える。したがって、ここではその実行時間の計算は（ｂ）に含まれているものとする。
【０１２０】
総サイクルタイム（合計時間）は、以上の（ａ）〜（ｈ）を合計するものである。
次に、以下、工程全体の最適化部３５によって実行される処理について説明する。
図２６は、工程全体の最適化部３５の処理手順を説明するためのフローチャート図である。
【０１２１】
同図において、まず、加工工程設計情報２２を取得し（ステップＳ７１）、加工部位対応情報７４を取得し（ステップＳ７２）、設備設計情報２１から制御装置パラメータ７４（主軸動作方式、リファレンス点座標）、Ｃ／Ｔ関連７１の情報を取得し（ステップＳ７３）、工具別各種加工パターンのサイクルタイム情報２７を取得する（ステップＳ７４）。
【０１２２】
そして、まず、上記取得した情報を統合することで、例えば図２７にその一例を示す詳細加工工程/ワーク操作（回転）順番情報を作成する（ステップＳ７５）。尚、図２７に示す“工具交換”は、図６の工具６５のＴ−Ｎｏ．により判断する（Ｔ−Ｎｏ．が記述されているところは全て‘１’としている）。
【０１２３】
次に、ステップＳ７６、Ｓ７８、Ｓ７９の処理を行う。これらの処理は、上記工程名の各工程の順番の全ての組み合わせについて総当りで工程全体のサイクルタイムを計算する処理である。これより、まず、加工工程・ワーク回転の順番の組合せを１つ設定し、この設定における工程全体のサイクルタイムを計算する（ステップＳ７８）処理を、全ての組合せについてサイクルタイムの計算が完了するまで、繰り返し実行する（ステップＳ７９）。尚、当然、サイクルタイムの算出結果は、そのときの工程順の情報に対応付けて記録しておく。また、尚、組み合わせの単位は、例えば図２７における本作業に記載の各項目を１単位とする（但し、Ｅ１に関しては、８つの穴をまとめて１単位とする；よって、図示の例では１６項目あるので、この１６の工程について全ての工程順の組み合わせを試行することになる）。
【０１２４】
そして、算出した全てのサイクルタイムの中で最も値が小さいサイクルタイムを求め、この最小のサイクルタイムを算出したときの工程順を取得して、これを工程全体のサイクルタイムが最小となる組合せ情報（最適工程順）とする（ステップＳ８０）。この情報（最適工程順でのＣ/Ｔ（サイクルタイム））の一例を、図２８に示す。
【０１２５】
また、比較の為、計画時の工程順でのＣＴ（サイクルタイム）情報の一例を、図２９に示す。尚、図２８、図２９では、工程名の情報は省略して示しており、また工程内容は補助作業と本作業とを１つにまとめて示し、更にＥ１穴あけに係わる８つの穴あけの情報も省略して示してある。これは、図３１、図３３も同様である。
【０１２６】
図２８、図２９を参照すれば分かる通り、工程順番が変わっている。すなわち、図２９に示す計画時では、Ｃ２穴ねじ立（タッピング）の後にＤ１面削りを行い、Ｃ１穴ねじエアブロー、Ｃ２穴ねじエアブローは一番最後に行っていた。一方、図２８に示す最適工程順では、Ｃ２穴ねじ立（タッピング）の後にＣ１穴ねじエアブロー、Ｃ２穴ねじエアブローを行い、その後にＤ１面削りを行うという工程順になっている。
【０１２７】
これより、図２９に示す計画時では工程全体（ワーク回転動作含む）でのトータルサイクルタイムは１７６．７（sec）となっている。一方、図２８に示す最適化後では、工程全体でのトータルサイクルタイムは１７０．９（sec）となっており、工程全体でのトータルサイクルタイムを５．８（sec）短縮することができた。その内訳は、図３０に示す通り、工具交換（ＡＴＣ）に掛かる全体時間は２秒増えたものの、ワーク操作に掛かる時間は、ターン回転では５．２秒短縮し、チルト回転では２．６秒短縮している。よって、全体としては上記の通り５．８秒短縮している。つまり、主に、ターンテーブル、チルトテーブルの回転角度の総量が小さくなったことにより（図２９ではそれぞれ５４０（°）、２７０（°）であったが、図２８では３６０（°）、１８０（°）となっている）、トータルサイクルタイムを短縮できている。
【０１２８】
また、上記図２８に示す情報の一部を、例えば図３１に示すような（最適化された）詳細加工工程/ワーク操作（回転）順番情報として抽出して、これを図３２に示す処理結果統合・整理部３６による処理の際に用いる。
【０１２９】
図３２は、処理結果統合・整理部３６によって実行される処理手順を説明する為のフローチャート図である。
図３２において、まず、上記図３１に示すような（最適化された）詳細加工工程/ワーク操作（回転）順番情報を取得し（ステップＳ９１）、ツールパス最適化部３２の処理結果、すなわち「工具毎の非加工工具移動の最適化ツールパス」、及び「工具毎の各加工工程での加工移動（面加工）の最適化ツールパス」の情報を、各々、取得する（ステップＳ９２、Ｓ９３）。更に、最適化された切削条件情報２５を取得する（ステップＳ９４）。
【０１３０】
そして、上記取得した各種情報を、詳細加工工程順（含む、ワーク回転）で工具別、工程別の工程処理順・ツールパス・切削条件・サイクルタイム情報を統合整理し、出力する（ステップＳ９５）。
【０１３１】
ステップＳ９５で出力する情報の一例（最適化後の全体結果）を、図３３に示す。
次に、本発明の第２実施例であるＮＣＰＧ（ＮＣプログラム）自動生成装置について説明する。
【０１３２】
図３４は、本例のＮＣＰＧ自動生成装置２１０の機能ブロック図である。
図示のＮＣＰＧ自動生成装置２１０は、基本部分の生成/調整部２１１、加工前準備処理部分/加工工程順序仕様部分の生成部２１２（以下、省略して、準備/順序部分生成部２１２と記す）、工具別加工仕様を記述するサブＰＧの生成/調整部２１３（以下、省略して、サブＰＧ生成/調整部２１３と記す）、加工仕様パターン記述サブＰＧ取り入れ部２１４（以下、省略して、サブＰＧ取り入れ部２１４と記す）、切削条件の埋め込み部２１５、及び作成結果合成部２１６とから成る。
【０１３３】
ＮＣＰＧ自動生成装置２１０は、予め作成・格納されている図示の各種データベース、すなわち、設備設計情報２１、ＮＣＰＧライブラリテンプレート２０１、最適化された加工工程情報２５、工具設計情報２６、工具別加工仕様設計情報／ＰＧライブラリテンプレート２０２、加工仕様特徴（パターン）情報２０３、各種加工パターンのサブＰＧテンプレート２０４、切削条件・Ｃ／Ｔ設計情報２０５のデータベースに格納されている各種情報に基づいて、最終的に、ＮＣＰＧ２２０を生成する。尚、設備設計情報２１、最適化された加工工程情報２５、工具設計情報２６は、図２に示すものと同じであり、同一符号を付してある。また、切削条件・Ｃ／Ｔ設計情報２０５は、例えば図２２、図２３に示すサイクルタイム情報であってよい。
【０１３４】
このＮＣＰＧ２２０の一例を、図３５の図上右側に示す。
図示のＮＣＰＧ２２０は、(1)〜(7)の各部分より成る。
(1)〜(4)はメインプログラムであり、(5)〜(7)は、このメインプログラム中で呼び出されるサブプログラム群である。
【０１３５】
また、(1)、(4)、(7)は、加工仕様に関係ない部分である。一方、(2)、(3)、(5)、(6)は、加工仕様に関係する部分である為、加工仕様が変更される毎にその記述内容を変更すべき部分である。
【０１３６】
(1)は、設備仕様に関する設定、準備処理１（治具動作等）に関するプログラムである。
(2)は、準備処理２（座標設定等）に関するプログラムである。
【０１３７】
(3)は、指定順序の加工工程組合せ（１〜ｎ工程から構成され、サブＰＧコールにより組立）に関するプログラムである。
(4)は、加工完了処理に関するプログラムである。
【０１３８】
(5)は、工具別の加工工程仕様を記述するサブプログラム群である（各工具毎に予め決められた準備作業等の処理が記述されている）。この例では、工具１〜工具１０の各々の加工仕様を記述したサブプログラムが存在する。これらサブプログラムは、(3)のプログラムによって呼び出される。この(5)部の各サブプログラム群の雛型となるテンプレートが、図３４に示す工具別のＰＧライブラリテンプレート２０２である。上記のように工具毎に予め決められた準備作業等の処理が記述されているだけであるので、図３５に示す(5)部のプログラム例の中で、サブプログラム番号（Ｏ３００１）、サブプログラムコール番号（Ｐ４００１）以外は、既にテンプレート２０２に記述されている。
【０１３９】
(6)は、加工特徴パターン別の加工仕様を記述するサブプログラム群である。この例では、加工特徴パターン１〜加工特徴パターン１０の各々の加工仕様を記述したサブプログラムが存在する。これらサブプログラムは、(5)のサブプログラム中から呼び出される。この(6)部の各サブプログラム群の雛型となるテンプレートが、図３４に示す各種加工パターンのサブＰＧテンプレート２０４である。図３５に示す(6)部のプログラム例の中で、サブプログラム番号（Ｐ４００１）と各種切削条件以外は、既にテンプレート２０２に記述されている。
【０１４０】
(7)は、補正、工具交換、刃具検知等の処理を記述したサブプログラム群であり、ここでは特に説明しない。
また、図示のプログラムの各行は、シンボル“Ｎ”に続く数値で表されたシーケンス番号を先頭に、機能の種類を表すシンボル、及びそれに続くコード化された数値からなるデータ（コード）が１つ以上、続く構成となっている。
シーケンス番号は、ＮＣプログラムの先頭に近づくほど小さな値となる昇順で記述される。
【０１４１】
上記機能の種類を表すシンボルである“Ｇ”“Ｍ”“Ｓ”及び“Ｔ”は、それぞれ異なる機能の種類を表すシンボルであり、それに続くコード化された数値が機能の命令（指令）を表すようになっている。
【０１４２】
シンボル“Ｇ”は準備機能を表し、補間の種類や座標系の選択、固定サイクル、ねじ切り、準備機能、或いはその他のことは、それに続く数値（Ｇコード）で指定する。シンボル“Ｘ”、“Ｙ”は、それに続く数値で座標位置などを指定するために用いられる。
【０１４３】
シンボル“Ｍ”は補助機能を表し、主軸の回転や停止、その回転方向、工具交換などは、それに続く数値（Ｍコード）で指定することができる。シンボル“Ｓ”は主軸機能を表し、主軸の回転速度は、それに続く数値（Ｓコード）で指定することができる。シンボル“Ｔ”は工具機能を表し、それに続く数値（Ｔコード）で使用する工具（ツール）を指定することができる。
【０１４４】
再び図３４の説明に戻る。
図３４のＮＣＰＧ自動生成装置２１０において、基本部分の生成/調整部２１１は、設備設計情報２１、ＮＣＰＧライブラリテンプレート２０１のデータを用いて、上記(1)、(4)、(7)の部分を作成する。
【０１４５】
準備/順序部分生成部２１２は、設備設計情報２１、ＮＣＰＧライブラリテンプレート２０１、最適化された加工工程情報２５のデータを用いて、上記(2)、(3)の部分を作成する。
【０１４６】
サブＰＧ生成/調整部２１３は、設備設計情報２１、最適化された加工工程情報２５、工具設計情報２６、工具別加工仕様・ＰＧライブラリテンプレート２０２、加工仕様特徴（パターン）情報２０３のデータを用いて、上記(5)の部分を作成する。
【０１４７】
サブＰＧ取り入れ部２１４は、サブＰＧ生成/調整部２１３の処理において得られるデータと、加工仕様特徴（パターン）情報２０３、各種加工パターンのサブＰＧテンプレート２０３のデータを用いて、上記(6)の部分を作成する。
【０１４８】
切削条件の埋め込み部２１５は、切削条件・Ｃ／Ｔ設計情報２０５のデータを利用して、サブＰＧ取り入れ部２１４によって作成された上記(6)の部分の中に、切削条件を埋め込む。
【０１４９】
作成結果合成部２１６は、上記基本部の生成/調整部２１１〜切削条件の埋め込み部２１５によって生成された、ＮＣＰＧの各部分（(1)〜(7)）を合成等して、ＮＣＰＧを完成させる。
【０１５０】
以下、上記ＮＣＰＧ自動生成装置２１０の各機能部の処理について詳細に説明する。
図３６は、基本部分の生成/調整部２１１の処理手順を説明する為のフローチャート図である。
【０１５１】
まず、設備設計情報２１を参照して、今回作成するＮＣＰＧを使用するＮＣの機種/型式を取得する（ステップＳ２０１）。ＮＣＰＧライブラリは、基本的に、各機種/型式に応じてそれぞれ用意されており、取得した機種/型式のＮＣ用に用意されているＮＣＰＧライブラリを検索して（ステップＳ２０２）、そこから上記(1)、(4)、(7)の部分に対応するＮＣＰＧライブラリ部分を取得する（ステップＳ２０３）。そして、(1)、(4)、(7)の部分のＮＣＰＧを作成する（ステップＳ２０４，Ｓ２０５，Ｓ２０６）。尚、ここでは、“作成する”といっても、上述した通り、(1)、(4)、(7)の部分は、加工仕様に関係ない部分であるので、基本的には、ステップＳ２０３で取得したものをそのまま用いる。また、尚、(1)、(4)、(7)の部分は、機種/型式が同じであれば同じになるように、予め標準化されている。
【０１５２】
図３７は、準備/順序部分生成部２１２の処理手順を説明する為のフローチャート図である。
同図において、設備設計情報２１を参照して、今回作成するＮＣＰＧを使用するＮＣの機種/型式と、ワーク基準座標情報（リファレンス座標）とを取得する（ステップＳ２１１）。次に、(2)、(3)の部分に対応するＮＣＰＧライブラリを取得して（ステップＳ２１２）、まず、(2)部分に対応するＮＣＰＧライブラリに、上記リファレンス座標を書き込むことで、(2)部分が作成される（ステップＳ２１３）。
【０１５３】
次に、最適化された加工工程設計情報２３０を参照して、最適化された工程の順番を取得し（ステップＳ２１４）、各工程毎のサブプログラムコール番号を工程順に任意に割り当てて（ステップＳ２１５）、(3)部を作成する（ステップＳ２１６）。例えば、図３５に示すＮＣＰＧ２２０の(3)部の例は、工程が１０ある例であり、これより‘Ｐ３００１’、‘Ｐ３００２’、・・・‘Ｐ３００９’、‘Ｐ３０１０’の１０のサブプログラムコール番号を割り当てている。尚、図３５に示すＮＣＰＧ２２０の(3)部において‘Ｐ３００１’等のサブプログラム番号以外の部分が、ステップＳ２１２で取得してある(3)部分のＮＣＰＧライブラリである。尚、最適化された加工工程設計情報２２０とは、図３１や図３３に示す情報の中で、工程順序を示す情報（工程No.と工程名等；尚、上記の通り、図３１や図３３では工程名は省略して示しているだけであり、実際には存在する）を意味する。但し、必ず最適化されたものを用いなければならないわけではなく、例えば図５に示す加工工程設計情報２２の工程順を取得してもよい。
【０１５４】
次に、以下、サブＰＧ生成/調整部２１３の処理について説明する。
図３８は、サブＰＧ生成/調整部２１３によって実行される処理手順を説明する為のフローチャート図である。
【０１５５】
同図において、まず、設備設計情報２１から、当該処理対象設備のＮＣ型式情報を取得し（ステップＳ２２１）、最適化された加工工程情報２３０から加工工程情報を取得し（ステップＳ２２２）、工具設計情報２６から各種工具設計情報を取得し（ステップＳ２２３）、上記工具別加工仕様設計情報２０２から工具毎の加工仕様設計情報（工具名、加工仕様パターン名、ツールパス等）を取得する（ステップＳ２２４）。
【０１５６】
図３９に、工具別加工仕様設計情報２０２の一例を示す。
図示の通り、工具別加工仕様設計情報２０２は、工具Ｎｏ．、工具名、工程名、加工仕様パターン名、及びツールパスの各データ項目より成る。
【０１５７】
そして、上記取得した情報を整理・統合することで、例えば図４０に示すような各加工仕様パターン名対応の座標情報（ツールパス）を作成する（ステップＳ２２５）。
次に、予め用意されている加工仕様特徴（パターン）情報２０３を参照すれば（図４１に一例を示す）、各加工仕様パターン名対応のＮＣＰＧライブラリファイル名が分かる（ステップＳ２２６）。一方、特に図示していないが、工具別のＰＧライブラリテンプレート２０２には、各工具毎に対応付けてテンプレートが格納されている。これより、ステップＳ２２５で作成した図４０の情報によれば、各工程で使用する工具と加工仕様パターンが分かるので、各工程毎に、対応する工具別のＰＧライブラリテンプレート２０２、及び各種加工パターンのサブＰＧテンプレート２０４のファイル名（ＮＣＰＧライブラリファイル名）が分かる。これより、まず、各工程毎に、対応する工具別のＰＧライブラリテンプレート２０２を取得し、その工程について(3)部で割り当てたサブプログラムコール番号を、当該テンプレート２０２内にそのサブプログラム番号として記述する。例えば図３５に示す例において最初の工程に関して(3)部にはサブプログラムコール番号‘Ｐ３００１’を割り当ててあるので、(5)部ではサブプログラム番号‘Ｏ３００１’を記述している。更に、この例における‘Ｐ４００１’のように、当該(5)部のサブＰＧから(6)部のサブＰＧを呼び出す為のサブプログラムコール番号も記述する。この番号は任意に決めてよいが、決めた番号は図４２の「コール側のＰＧのＰ番号」に格納する。更に、これに対応するＮＣＰＧライブラリファイル名を、図４２の「サブＰＧファイル名」に格納する。この様にして図４２に示すようなサブＰＧ情報を生成する（ステップＳ２２７）。以上の処理で、(5)部分のＮＣＰＧが作成され、(6)部分作成の為の前準備が完了する（ステップＳ２２８）。
【０１５８】
次に、以下、サブＰＧ取り入れ部２１４の処理について、図４３のフローチャートを参照して説明する。
この処理では、上記サブＰＧ生成/調整部２１３の処理で生成されている各加工仕様パターン名対応の座標情報（ツールパス）（一例を図４０に示す）とサブＰＧ情報（一例を図４２に示す）とを取得すると共に（ステップＳ２３１、Ｓ２３２）、加工仕様特徴（パターン）情報２０３（一例を図４１に示す）を取得する（ステップＳ２３３）。
【０１５９】
上記の通り、図４２に示すサブＰＧ情報には「サブＰＧファイル名」が格納されているので、このファイル名のテンプレートを、各種加工パターンのサブＰＧテンプレート２０４から取得する（ステップＳ２３４）。そして、取得したテンプレートにおいてサブプログラム番号を記述する。これは、図４２に示すサブＰＧ情報の「コール側のＰＧのＰ番号」を参照すれば分かる。以上の処理で、(6)部分が、一部を除いて作成される（ステップＳ２３５）。
【０１６０】
但し、この処理段階では、未だ、(6)部分中に切削条件情報が書き込まれていない。そこで、切削条件の埋め込み部２１５によって、図４４の処理により、ステップＳ２３５で作成した(6)部分に、新たな切削条件を書き込む。
【０１６１】
図４４において、切削条件の埋め込み部２１５は、まず、切削条件・Ｃ／Ｔ設計情報２０５（図３３に示す、最適化後の全体結果）を取得し（ステップＳ２４１）、上記ステップＳ２３５で作成したＮＣＰＧの(6)部分（複数）を取得して、各加工仕様特徴パターンにおける切削条件を、そのパターンに対応して作成されている(6)部分（複数の中で、対応する１つ）の中に書き込む（ステップＳ２４３）。
【０１６２】
次に、上記サブＰＧの生成/調整部２１３によって作成されている(5)部分を取得して（ステップＳ２４４）、(5)部と(6)部とを結合し、シーケンス番号の整理等を行う（ステップＳ２４５）。
【０１６３】
最後に、作成結果合成部２１６によって、図４５に示す処理を実行する。
すなわち、上記の通り作成した(1)部分、(2)部分、(3)部分、(4)部分を取得して（ステップＳ２５１〜Ｓ２５４）、これら(1)部分〜(4)部分を結合し、シーケンス番号の整理等を実行する（ステップＳ２５５）。
【０１６４】
次に、ステップＳ２４５で作成した(5)部＋(6)部を取得し（ステップＳ２５６）、更に(7)部分を取得して（ステップＳ２５７）、これら取得した部分を、ステップＳ２５５の処理結果に連結する（ステップＳ２５８）。
【０１６５】
最後に、構文/記号の整理、Ｏ番号競合のチェック等を行って、ＮＣＰＧの作成が完了し、これを出力等する（ステップＳ２６０）。
図４６は、最適化装置３０、ＮＣＰＧ自動生成装置２１０を実現するコンピュータ（例えばＤＢサーバ７等）のハードウェア構成の一例を示す図である。
【０１６６】
同図に示すコンピュータ３００は、ＣＰＵ３０１、メモリ３０２、入力部３０３、出力部３０４、記憶部３０５、記録媒体駆動部３０６、及びネットワーク接続部３０７を有し、これらがバス３０８に接続された構成となっている。同図に示す構成は一例であり、これに限るものではない。
【０１６７】
ＣＰＵ３０１は、当該コンピュータ３００全体を制御する中央処理装置である。
メモリ３０２は、プログラム実行、データ更新等の際に、記憶部３０５（あるいは可搬型記録媒体３０９）に記憶されているプログラムあるいはデータを一時的に格納するＲＡＭ等のメモリである。ＣＰＵ３０１は、メモリ３０２に読み出したプログラム／データを用いて、上述してある各種処理を実行する。
【０１６８】
入力部３０３は、例えば、キーボード、マウス等である。
出力部３０４は、例えばディスプレイである。
記憶部３０５は、例えばハードディスク等であり、上述した様々な処理・機能（図２、図３４に示す各機能部の機能、図３、図７、図８、図１３、図１７、図１８、図２０、図２６、図３２、図３６〜図３８、図４３〜図４５に示すフローチャートの処理）を、コンピュータ３００に実行させるためのプログラム／データが格納される（データ；例えば図４〜図６、図９、図１２、図１４、図１６、図１９、図２１〜図２３、図２７〜図３１、図３９〜図４２に一例を示すデータ）。
【０１６９】
ネットワーク接続部３０７は、不図示のネットワークに接続して、他の情報処理装置とのコマンド／データ送受信を行う為の構成である。
あるいは、これらプログラム／データは、可搬型記録媒体３０９に記憶されているものであってもよい。この場合、可搬型記録媒体３０９に記憶されているプログラム／データは、記録媒体駆動部３０６によって読み出される。可搬型記録媒体３０９とは、例えば、ＦＤ（フレキシブル・ディスク）３０９ａ、ＣＤ−ＲＯＭ３０９ｂ、その他、ＤＶＤ、光磁気ディスク等である。
【０１７０】
あるいは、また、上記プログラム／データは、ネットワーク接続部３０７により接続しているネットワークを介して、他の装置内に記憶されているものをダウンロードするものであってもよい。あるいは、更に、インターネットを介して、外部の他の装置内に記憶されているものをダウンロードするものであってもよい。
【０１７１】
また、本発明は、上記本発明の各種処理をコンピュータ上で実現するプログラムを記録した可搬型記憶媒体として構成できるだけでなく、当該プログラム自体として構成することもできる。
【図面の簡単な説明】
【０１７２】
【図１】本実施の形態による装置が適用されるネットワークシステム全体の構成を示す図である。
【図２】本実施の形態による最適化装置の機能ブロック図である。
【図３】加工部位対応情報作成部の処理フローチャート図である。
【図４】ワーク設計情報の一例を示す図である。
【図５】加工工程設計情報の一例を示す図である。
【図６】加工部位対応情報の一例を示す図である。
【図７】ツールパス最適化部によって実行される処理全体を概略的に示すフローチャート図である。
【図８】非加工工具移動のツールパスの最適化処理の詳細フローチャート図である。
【図９】設備設計情報の一例を示す図である。
【図１０】（ａ）〜（ｉ）は、同一工具を用いて８個所の点加工を行う例において、ツールパスの最適化の手順を視覚的に示す図である。
【図１１】最適化されたツールパスとそのデータを示す図である。
【図１２】工具毎の非加工工具移動の最適化ツールパス情報の一例を示す図である。
【図１３】面加工工具移動のツールパスの最適化処理の詳細フローチャート図である。
【図１４】工具設計情報の一例を示す図である。
【図１５】面加工工具移動のツールパスの最適化手順の具体例を示す図である。
【図１６】面加工工具移動のツールパスの最適化ツールパスの一例を示す図である。
【図１７】工具毎加工条件の最適化部の処理フローチャート図である。
【図１８】図１７のステップＳ５４の詳細処理フローチャート図である。
【図１９】最適化された切削条件情報の一例を示す図である。
【図２０】工程サイクルタイム計算部の処理フローチャート図である。
【図２１】加工仕様特徴（パターン）情報の一例を示す図である。
【図２２】サイクルタイム情報の一例を示す図（１/２）である。
【図２３】サイクルタイム情報の一例を示す図（２/２）である。
【図２４】サイクルタイムの定義と計算方法を説明する図である。
【図２５】サイクルタイム計算用データの取得方法を説明する図である。
【図２６】工程全体の最適化部の処理フローチャート図である。
【図２７】詳細加工工程/ワーク操作（回転）順番情報の一例を示す図である。
【図２８】最適工程順でのＣＴ（サイクルタイム）の一例を示す図である。
【図２９】計画時の工程順でのＣＴ（サイクルタイム）情報の一例を示す図である。
【図３０】計画時と最適化後とを比較する図である。
【図３１】（最適化された）詳細加工工程/ワーク操作（回転）順番情報の一例を示す図である。
【図３２】処理結果統合・整理部の処理フローチャート図である。
【図３３】最適化後の全体結果の一例を示す図である。
【図３４】本実施の形態によるＮＣＰＧ自動生成装置の機能ブロック図である。
【図３５】ＮＣＰＧ（プログラム）の一例とその説明を示す図である。
【図３６】基本部分の生成/調整部の処理フローチャート図である。
【図３７】準備/順序部分生成部の処理フローチャート図である。
【図３８】サブＰＧ生成/調整部の処理フローチャート図である。
【図３９】工具別加工仕様設計情報の一例を示す図である。
【図４０】各加工仕様パターン名対応の座標情報（ツールパス）の一例を示す図である。
【図４１】加工仕様特徴（パターン）情報の一例を示す図である。
【図４２】サブＰＧ（プログラム）情報の一例を示す図である。
【図４３】サブＰＧ取り入れ部の処理フローチャート図である。
【図４４】切削条件の埋め込み部の処理フローチャート図である。
【図４５】作成結果合成部の処理フローチャート図である。
【図４６】最適化装置、ＮＣＰＧ自動生成装置を実現するコンピュータのハードウェア構成の一例を示す図である。
【符号の説明】
【０１７３】
１  構内ＬＡＮ
２  工場ローカルＬＡＮ
３  ルータ
４  設備設計情報システムサーバ
５  工具設計情報システムサーバ
６  工程設計情報システムサーバ
７  データベース（ＤＢ）サーバ
８  ラインサーバ
９、１０  アクセスポイント（ＡＰ）
１２，１３  生産ライン
２１  設備設計情報
２２  加工工程設計情報
２３  ワーク設計情報
２４  加工部位対応情報
２５  （最適化された）切削条件情報
２６  工具設計情報
２７  工具別各種加工パターンのサイクルタイム情報２７（サイクルタイム情報）
２８  加工仕様特徴（パターン）情報
３０  最適化装置
３１  加工部位対応情報作成部
３２  ツールパス最適化部
３３  工具毎加工条件の最適化部
３４  工具別の各種加工仕様パターン毎の工程サイクルタイム計算部（サイクルタイム計算部）
３５  工具毎の加工工程のサイクルタイムによる工程全体の最適化部３５（工程全体の最適化部）
３６  処理結果統合・整理部
４０  最適化された加工工程情報
４１  加工部位
４２  基準面からの寸法
５１  工程ＮＯ．
５２  設備工程名
５３  工程内容
５４  刃具径
５５  刃具種類
５６  加工部位
５７  （基準面からの）加工角度
６１  工程名
６２  部位名
６３  形状
６４  基準からの寸法（方位、位置、径（幅）、深さ）
６５  工具（Ｎｏ．、径、種類）
６６  加工法分類
６７  工程内容
６８  ターンテーブル割出角度
６９  チルトテーブル割出角度
７１  Ｃ／Ｔ（サイクルタイム）関連情報
７２  エネルギー関連情報
７３  設備情報
８１  工程ＮＯ．
８２  工程名
８３  工具（刃具径、刃具種類）
８４  刃具ＣＤ
８５  切削条件（周速、送り量、回転数、送り速度）
９１  工程ＮＯ．
９２  工程名
９３  工具（刃具径、刃具種類）
９４  刃具ＣＤ
９５  チップ数Ｄｒ種類
９６  刃具材質
９７  工具３Ｄデータベース名
９８  切削条件（周速、送り量、回転数、送り速度）
９９  寿命
１００  寿命特性
１０１  コスト
１１１  工程ＮＯ．
１１２  工程名
１１３  工程内容
１１４  刃具種類
１１５  加工仕様（工具内加工仕様パターン）
２０１  ＮＣＰＧライブラリテンプレート
２０２  工具別加工仕様ＰＧライブラリテンプレート
２０３  加工仕様特徴（パターン）情報
２０４  各種加工パターンのサブＰＧテンプレート
２０５  切削条件・Ｃ／Ｔ設計情報
２１０  ＮＣＰＧ自動生成装置
２１１  基本部分の生成/調整部
２１２  加工前準備処理部分/加工工程順序仕様部分の生成部（準備/順序部分生成部）
２１３  工具別加工仕様を記述するサブＰＧの生成/調整部（サブＰＧ生成/調整部）
２１４  加工仕様パターン記述サブＰＧ取り入れ部（サブＰＧ取り入れ部）
２１５  切削条件の埋め込み部
２１６  作成結果合成部
２２０  ＮＣＰＧ（プログラム）
３００  コンピュータ
３０１  ＣＰＵ
３０２  メモリ
３０３  入力部
３０４  出力部
３０５  記憶部
３０６  記録媒体駆動部
３０７  ネットワーク接続部
３０８  バス
３０９  可搬型記録媒体
【図２】
2004237441.tif 000004
【図３】
2004237441.tif 000005
【図４】
2004237441.tif 000006
【図５】
2004237441.tif 000007
【図６】
2004237441.tif 000008
【図７】
2004237441.tif 000009
【図８】
2004237441.tif 000010
【図９】
2004237441.tif 000011
【図１０】
2004237441.tif 000012
【図１１】
2004237441.tif 000013
【図１２】
2004237441.tif 000014
【図１３】
2004237441.tif 000015
【図１４】
2004237441.tif 000016
【図１５】
2004237441.tif 000017
【図１６】
2004237441.tif 000018
【図１７】
2004237441.tif 000019
【図１８】
2004237441.tif 000020
【図１９】
2004237441.tif 000021
【図２０】
2004237441.tif 000022
【図２１】
2004237441.tif 000023
【図２２】
2004237441.tif 000024
【図２３】
2004237441.tif 000025
【図２４】
2004237441.tif 000026
【図２５】
2004237441.tif 000027
【図２６】
2004237441.tif 000028
【図２７】
2004237441.tif 000029
【図２８】
2004237441.tif 000030
【図２９】
2004237441.tif 000031
【図３０】
2004237441.tif 000032
【図３１】
2004237441.tif 000033
【図３２】
2004237441.tif 000034
【図３３】
2004237441.tif 000035
【図３４】
2004237441.tif 000036
【図３５】
2004237441.tif 000037
【図３６】
2004237441.tif 000038
【図３７】
2004237441.tif 000039
【図３８】
2004237441.tif 000040
【図３９】
2004237441.tif 000041
【図４０】
2004237441.tif 000042
【図４１】
2004237441.tif 000043
【図４２】
2004237441.tif 000044
【図４３】
2004237441.tif 000045
【図４４】
2004237441.tif 000046
【図４５】
2004237441.tif 000047
【図４６】
2004237441.tif 000048
【図１】
2004237441.tif 000049