(57)【要約】【課題】プログラムを制御装置が実行することで、生産設備がワークに対して行う加工の順序が適切か否かを作業者が容易に確認することが可能な情報表示方法、およびプログラムを提供することである。【解決手段】制御装置の加工プログラムを加工工程に分割し、分割された加工工程ごとにサイクルタイムを算出する。そして、その加工プログラムのシミュレーション結果の情報を端末装置の表示部に表示する。その際、表示画面の右側には、その加工工程を表示し、表示画面の左側には、対応するその加工工程の加工条件（切削条件）、または、サイクルタイムの少なくとも１つを表示する。【選択図】      図１１
2004227028.tif 000002
【特許請求の範囲】
【請求項１】
ワークを加工する生産設備を制御する制御装置に前記ワークの加工を行わせるプログラムに基づき算出された、前記ワークを前記生産設備が加工する上で要すると予測される時間であるサイクルタイムなどの各種情報を表示する方法において、
予め加工工程ごとに分割された前記加工プログラムにおける、前記加工工程と前記加工工程ごとに予め算出されたサイクルタイム、または加工条件の少なくとも１つとを対応付けて表示することを特徴とする情報表示方法。
【請求項２】
ワークを加工する生産設備を制御する制御装置に前記ワークの加工を行わせるプログラムに基づき算出された、前記ワークを前記生産設備が加工する上で要すると予測される時間であるサイクルタイムなどの各種情報から必要な情報を抽出し、且つ表示手段に表示する方法において、
前記加工プログラムを加工工程に分割し、
前記分割された加工工程に基づいてサイクルタイムを算出し、
前記加工工程と前記加工工程のサイクルタイム、または加工条件の少なくとも１つとを対応付け、
前記表示手段に前記対応付けられた加工工程と前記加工工程のサイクルタイム、または加工条件の少なくとも１つとを表示することを特徴とする情報抽出表示方法。
【請求項３】
ワークを加工する生産設備を制御する制御装置に前記ワークの加工を行わせるプログラムに基づき算出された、前記ワークを前記生産設備が加工する上で要すると予測される時間であるサイクルタイムなどの各種情報から必要な情報を抽出し、且つ表示手段に表示する装置において、
前記加工プログラムを加工工程に分割する手段と、
前記分割された加工工程に基づいてサイクルタイムを算出する手段と、
前記加工工程と前記加工工程のサイクルタイム、または加工条件の少なくとも１つとを対応付ける手段と、
前記表示手段に前記対応付けられた加工工程と前記加工工程のサイクルタイム、または加工条件の少なくとも１つとを表示する手段とを備えることを特徴とする情報抽出表示装置。
【請求項４】
ワークを加工する生産設備を制御する制御装置に前記ワークの加工を行わせるプログラムに基づき算出された、前記ワークを前記生産設備が加工する上で要すると予測される時間であるサイクルタイムなどの各種情報を表示する処理を情報処理装置に行なわせるプログラムにおいて、
予め加工工程ごとに分割された前記加工プログラムにおける、前記加工工程と前記加工工程ごとに予め算出されたサイクルタイム、または加工条件の少なくとも１つとを対応付けて表示する処理を含むことを特徴とする情報表示プログラム。
【請求項５】
ワークを加工する生産設備を制御する制御装置に前記ワークの加工を行わせるプログラムに基づき算出された、前記ワークを前記生産設備が加工する上で要すると予測される時間であるサイクルタイムなどの各種情報から必要な情報を抽出し、且つ表示手段に表示する処理を情報処理装置に行なわせるプログラムにおいて、
前記加工プログラムを加工工程に分割する処理と、
前記分割された加工工程に基づいてサイクルタイムを算出する処理と、
前記加工工程と前記加工工程のサイクルタイム、または加工条件の少なくとも１つとを対応付ける処理と、
前記表示手段に前記対応付けられた加工工程と前記加工工程のサイクルタイム、または加工条件の少なくとも１つとを表示する処理とを含むことを特徴とする情報抽出表示プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ワークを加工する生産設備を制御する制御装置に前記ワークの加工を行わせるプログラムに基づき算出された、前記ワークを前記生産設備が加工する上で要すると予測される時間であるサイクルタイムなどの各種情報から表示手段に表示すべき表示対象を抽出し、且つ前記表示手段に表示する方法、およびプログラムに関する。
【０００２】
【従来の技術】
従来、プログラムを実行する制御装置の制御下で工作機械を動作させ、加工対象であるワークに対して加工を行うシステムが知られている。このようなシステムで用いられる制御装置には、プログラマブルロジックコントローラ（ＰＬＣ）、ＮＣ（Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌ）装置（数値制御装置）、モーションコントローラ（ＭＣ）などの各装置がある。
【０００３】
生産ラインは、複数の生産設備を有機的に結合させることにより構成される。加工には、変形加工（鋳造、粉末加工、プラスチック成型加工など）、除去加工（切削加工、砥粒加工、光学的加工など）、接合加工（溶接加工、接着加工、結合加工、組立加工など）、処理加工（表面処理、熱処理など）などがある。生産ラインを構成する生産設備はワーク（加工物）の種類やそのワークに対し行う加工内容に応じて決定される。
【０００４】
ＮＣ装置が実行するプログラム（ＮＣプログラム）は、作業者が自動プログラミング装置を用いて対話形式で作成／変更するのが普通である。ワークの設計は、例えばＣＡＤ／ＣＡＭ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ  ａｎｄ  Ｍａｎｕｆａｃｔｕｒｉｎｇ）システムを用いて行われるのが殆どである。このことから、上記自動プログラミング装置は、ＮＣ装置と接続される操作盤や、ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）システムなどに標準的に搭載されている。
【０００５】
上記ＣＡＤシステムにはこの他に作成、または変更したＮＣプログラムをＮＣ装置に実行させた場合のシミュレーションを行う機能も搭載されている。この機能を用いることで、作成、または変更したＮＣプログラムをＮＣ装置に実際に実行させた場合に、ワークの加工に要すると予測される時間であるサイクルタイムを作業者は確認できる。
【０００６】
既存のシミュレーションとしては、文献１に示すように、ＮＣプログラムの各工程ごとの所要時間をグラフ化して表示する方法が知られている。この方法によれば、各工程の所要時間を得ることができるが、例えば、各工程における加工条件や、その各工程が元の加工プログラムからどのようにして抽出されたものであるかの因果関係が示されていないため、算出されたサイクルタイムから、その加工を行わせる順序が適切であるか否かを作業者が確認するのが非常に困難である。
【０００７】
【特許文献１】
特開２００２−１３２３１１「加工プログラムのグラフ表示方法及びそのための装置」
【０００８】
【発明が解決しようとする課題】
生産設備にワークの複数箇所の加工を行わせる場合、加工に要する実際の時間は、通常、加工を行わせる順番によって変化する。したがって、文献１などの従来例に示す如く、加工時間を表示しただけでは、ワークの複数箇所に対し所定の順番で行ったシミュレーションの結果として算出されたサイクルタイムが、最適化されたものであるか否かを判定することは作業者にとって困難である。またどのような切削条件でそのワークに対する個々の加工が行われたかについても十分容易に判定することが出来ない。
【０００９】
本発明の課題は、プログラムを制御装置が実行することで、生産設備がワークに対して行う加工の順序が適切か否かを作業者が容易に確認することが可能な情報表示方法、およびプログラムを提供することである。
【００１０】
【課題を解決するための手段】
本発明は、上記課題を解決するため、下記のような構成を採用した。
すなわち、本発明の一態様によれば、本発明の情報表示方法は、ワークを加工する生産設備を制御する制御装置に前記ワークの加工を行わせるプログラムに基づき算出された、前記ワークを前記生産設備が加工する上で要すると予測される時間であるサイクルタイムなどの各種情報を表示する方法であり、予め加工工程ごとに分割された前記加工プログラムにおける、前記加工工程と前記加工工程ごとに予め算出されたサイクルタイム、または加工条件の少なくとも１つとを対応付けて表示することを特徴とする。
【００１１】
ここで、上記サイクルタイム、または加工条件は、加工プログラムを分割した加工工程と対応付けられているので、生産設備がワークに対して行う加工の順序が適切か否かを作業者は容易に確認することができる。
【００１２】
また、本発明の他の態様によれば、本発明の情報抽出表示方法は、ワークを加工する生産設備を制御する制御装置に前記ワークの加工を行わせるプログラムに基づき算出された、前記ワークを前記生産設備が加工する上で要すると予測される時間であるサイクルタイムなどの各種情報から必要な情報を抽出し、且つ表示手段に表示する方法であり、前記加工プログラムを加工工程に分割し、前記分割された加工工程に基づいてサイクルタイムを算出し、前記加工工程と前記加工工程のサイクルタイム、または加工条件の少なくとも１つとを対応付け、前記表示手段に前記対応付けられた加工工程と前記加工工程のサイクルタイム、または加工条件の少なくとも１つとを表示することを特徴とする。
【００１３】
ここで、上記サイクルタイム、または加工条件は、加工プログラムを分割した加工工程と対応付けられているので、生産設備がワークに対して行う加工の順序が適切か否かを作業者は容易に確認することができる。
【００１４】
尚、本発明の情報表示方法、または情報抽出表示方法と同様の処理を実現させるプログラムによっても同様の効果が得られることはいうまでもない。
【００１５】
【発明の実施形態】
以下、本発明の実施の形態を図面を参照しながら説明する。
図１は本発明の実施の形態にかかるサイクルタイム算出装置が適用されたネットワークシステムの構成を示す図である。尚、サイクルタイム算出装置は、この他に後述する加工条件、またはサイクルタイムの少なくとも１つを加工工程と対応付けて表示部に表示する処理も併せて行うことができる。
【００１６】
図１に示すように、本発明のネットワークシステムは、例えば製品の製造を行う工場に構築されたクライアント／サーバ型システムであり、構内ＬＡＮ１０１と工場ローカルＬＡＮ１０２とをルータ１０３により結んで構成される。
【００１７】
構内ＬＡＮ１０１には、例えばパーソナルコンピュータである端末装置１０４が接続され、その端末装置１０４のユーザが業務を行うのを支援するサーバとして、工具情報システムが構築されたアプリケーションサーバ１０５、シミュレーションシステムが構築されたアプリケーションサーバ１０６、データベース（ＤＢ）サーバ１０７が接続されている。
【００１８】
工場ローカルＬＡＮ（以下、ローカルＬＡＮと呼ぶ）１０２は、ラインサーバ１０８や、複数のアクセスポイント（以下、ＡＰ）１０９が接続され、各ＡＰは、その子機に当たるＡＰ１１０と通信を行う。
【００１９】
またローカルＬＡＮ１０２は、生産ライン１２０、１３０が設置された工場に設置され、それぞれ９台、２２台の生産設備から構成されている。各生産設備は、ＮＣ制御装置の制御下でワークを加工したり搬送したりする。
【００２０】
生産ライン１２０を構成する１台の生産設備１２１は、例えばＰＬＣ内臓のＮＣ制御装置の制御下でワークの加工を行う。そして、そのＮＣ制御装置に、操作盤１２２、ＡＰ１２３が接続されている。また、ＡＰ１２３によって、ＮＣ制御装置はローカルＬＡＮ１０２と接続される。作業員は、操作盤１２２を操作してＮＣ制御装置が実行するＮＣプログラムや、仕様を決めるために設定され、上記ＮＣプログラムに与えられるデータであるパラメータを変更することができる。
【００２１】
生産ライン１３０を構成する１台の生産設備１３１は、例えばＮＣ制御装置の制御下でワークの加工を行う部分設備１３１ａと、ＰＬＣ内臓のＮＣ制御装置の制御下でワークの加工を行う部分設備１３１ｂとから構成されている。それらの制御装置は接続され、部分設備１３１ｂのＮＣ制御装置はハブ１３２と接続されている。ハブ１３２には、他に操作盤１３３、ＡＰ１３４が接続されている。そのＡＰ１３４によって、各部分設備１３１ａ、１３１ｂのＮＣ制御装置はローカルＬＡＮ１０２に接続されている。作業員は操作盤１３３を操作して各ＮＣ制御装置が実行するＮＣプログラムやパラメータを変更することができる。
【００２２】
上記ラインサーバ１０８は、各生産設備の制御装置から所定のデータを収集することにより、各生産設備の動作状態の監視を行う。また、各生産設備の制御装置が実行するプログラムやパラメータを自動的に収集し、例えば端末装置１０４のユーザからの要求に応じて、生産設備がワークの加工に要すると予測される時間をサイクルタイムとして算出するシミュレーションを行う。それにより、本実施形態のサイクルタイム算出装置は、ラインサーバ１０８に搭載させた形で適用されている。
【００２３】
生産設備を制御する制御装置が実行するプログラムは、その制御装置の種類によって普通は異なる。また、同じ種類の制御装置に対しても、複数種類のプログラムが開発されていることはいうまでもない。図２にそのようなプログラムの一例を示す。
【００２４】
図２において各ブロックは、ＮＣプログラムを構成する１命令文に当たる。ＮＣプログラムは、基本的に、そのブロック実行順に並べた形で構成されている。
１ブロックはシンボル“Ｎ”に続く数値で表されたシーケンス番号を先頭に、機能の種類を示すシンボル、そのシンボルに続いてコード化された数値からなるデータ（コード）が１つ以上続く構成となっている。シーケンス番号は、ＮＣプログラムの先頭に近づくほど小さな値となる昇順で記述される。以降、プログラムをＰＧと略記する。
【００２５】
図２において、“Ｇ”“Ｍ”“Ｓ”“Ｔ”は、それぞれ異なる機能の種類を表すシンボルであり、それに続くコード化された数値が機能の命令（指令）を表している。
【００２６】
シンボル“Ｇ”は準備機能を表し、補間の種類や座標系の選択、固定サイクル、ねじ切り、準備機能、或いはその他のことは、それに続く数値（Ｇコード）で指定する。シンボル“Ｘ”“Ｙ”は、それに続く数値で座標位置などを指定するために用いられる。
【００２７】
シンボル“Ｍ”は補助機能を表し、主軸の回転や停止、その回転方向、工具交換などは、それに続く数値（Ｍコード）で指定することができる。シンボル“Ｓ”は主軸機能を表し、主軸の回転速度は、それに続く数値（Ｓコード）で指定することができる。シンボル“Ｔ”は工具機能を表し、それに続く数値（Ｔコード）で使用する工具（ツール）を指定することができる。
【００２８】
上述した機能が用意されていることからも明らかなように、生産設備でのワークへの加工は、随時、ツールを交換しながら、そのツールを用いてワークの複数の箇所を加工することがある。このことから、本実施形態では、加工に使用するツールの種類、及びそのツールでワークを加工する動作を一時的に中断するときの動作に着目してプログラムの解析を行うことにより、プログラムを実行する制御装置の制御下で生産設備がワークを加工する加工工程を基本的な加工工程に分割し、そのサイクルタイムを算出するようにしている。例えば同じツールを用いてワークに穴を開ける加工を複数回行わせるようなＰＧの場合、そのツールに動力を伝える主軸を一時的に回転停止させる動作に着目し、加工工程を分割する。これは、ツールを近い加工点間に移動させるときは主軸の回転を通常、停止せずに、主軸を移動させるが、加工と加工の間にワークの回転などが必要とされ、かつ、ワークの回転に要する時間が長い場合、通常、主軸を停止させるのが普通であるためである。それにより、主軸停止の前後の各工程はそれぞれ１加工工程とみなし、停止前に加工させる穴を空けるのに要する時間と、停止後再回転してから加工させる穴を空けるのに要する時間と、をそれぞれの工程のサイクルタイムとして算出するようにしている。
【００２９】
ツールの位置を随時移動させつつ、ワークの加工を複数回行うような場合、その加工に要する全体の加工時間は、その加工を行っている間にツールを移動させる距離によって変化する。その距離は、加工を行う位置の順序によって変化するのが普通である。その距離を短くするほど、全体の時間が短くなることはいうまでもない。生産設備がワークを加工する加工工程を基本的な加工工程に分割してサイクルタイムを算出するのは、このためである。
【００３０】
そのように分割した加工工程の順序を変化させると、それに伴い、各加工工程のサイクルタイム、更には全体の加工時間が変化する。このため、そのサイクルタイムを提示することにより、作業者（端末装置１０４のユーザ）は、問題のある加工工程を正確に把握できるようになる。それにより、ツールの調整や加工工程の見直しも容易に行えるようになる。この結果、加工工程の最適化、例えば全体の加工時間を最も短くさせたり、その加工時間を目標とする時間と一致させたりすることも容易となる。
【００３１】
また、サイクルタイムと併せて、加工工程の加工条件（ツールの種類、切削条件や加工位置、加工方法（ツールの使い方やその移動方向など）など）を提示するようにした場合、サイクルタイムの変化に影響を及ぼす要因の特定が更に容易となる。また、加工条件からツールの寿命、加工の品質を容易、且つ、正確に把握できるようになる。
【００３２】
図３は、加工工程の分割方法を説明する図である。ここでは、主軸を回転させてワークを加工する生産設備を例にとり、その制御を行う制御装置が実行するプログラムから、その生産設備がワークを加工する加工工程を基本的な加工工程に分割する方法を説明する。
【００３３】
図３に示すように、まず、ツール（工具）交換を指令するブロックを検出し、そのブロックでＰＧを分ける。それにより、同一のツールで加工を行わせるためのブロック群を特定する。以降、基本的な加工工程と区別するために、同一のツールを用いて行われる加工工程全体を指してツール工程と呼ぶ。ツール工程は、１以上の基本的な加工工程から構成される。
【００３４】
図２に示すＰＧでは、工具交換指令は１個、または２個のブロックで行われる。図３中の「ケース１」「ケース３」は、共に１ブロック（命令文）で工具交換指令を実現させたケースである。「ケース３」は、マクロとして用意されたサブＰＧを呼び出すことで、工具交換指令を実現させている。また、「ケース２」は、工具の準備を指令するブロック、準備を指令した工具への交換を指令するブロックの２個のブロックで工具交換指令を実現させたケースである。いずれのケースでも、実際に工具を交換させることになる指令のブロックでＰＧを分けている。
【００３５】
工具（ツール）交換に着目してＰＧを１つ以上のブロック群に分割すると、次に各ブロック群（ツール）ごとに、そのブロック群を、主軸停止を指令するブロックに着目して更に分割する。より具体的には、そのブロックとして、ここでは一時的に主軸停止を指令することになるブロック、すなわち、主軸の回転を指令するブロックが後に配置されている主軸停止を指令するブロックに着目している。その理由は、主軸を回転させてワークを加工する生産設備では、主軸を停止させたままワークを加工することは有り得ないためである。尚、１ツールで１回の加工を行う場合には、そのツールのツール工程は分割せず、ツール工程は１基本加工工程から構成される。
【００３６】
そのようにして各加工工程ごとにＰＧを更に細かく分割すると、次に各ブロック群に対し、加工条件（ここでは切削条件）を抽出する。ここで抽出している切削条件は、主にサイクルタイムを算出する上で必要な条件であり、本実施形態では、その切削条件として、Ｆ、Ｅ、Ｓ、Ｄ値を状況に応じて抽出している。それらの値は、いずれもブロック（図２参照）に機能のコードとして記述することが可能な値である。Ｆ値（Ｆコード）は、主軸の移動速度を表し、Ｅ値（Ｅコード）は、主軸の１回転当たりの移動量を表し、Ｄ値（Ｄコード）は、ツールの周速を表している。
【００３７】
主軸は、ツールで加工を行わない場合、パラメータで設定された速度で移動する。予め定められた原点に主軸を戻すのが早戻しであり、それ以外の移動が早送りである。ワークへの穴空けは、Ｚ軸上の位置を減少させることで行われる。ワークにツールを接触させた状態で主軸をＸＹ平面上に移動させれば、ワークに溝が形成されたり、ワークの表面を削ることができたりする。これらのことから、本実施形態では、図４に示すように、切削、早送り、早戻しの識別を行うようにしている。図４中のＧコード「Ｇ０１」は直線補間、Ｇコード「Ｇ００」は位置決めをそれぞれ表している。
【００３８】
図５は、加工工程の分割例を説明する図である。上述したようにして実際のＰＧを解析することで加工工程ごとにＰＧをブロック群に分け、各ブロック群から切削条件を抽出する様子を示したものである。図５に示すＰＧでは、Ｔコードを持つブロックを実行することで呼び出されるサブＰＧはマクロとして用意されている。図中の「工程１」「工程２」は、それぞれツール工程を表している。
【００３９】
図６は、１生産設備により加工されたワークを示す図である。
図６に示すワークには、形状が異なる４種類の穴＃１〜４が空けられている。それらの穴＃１〜４は、それぞれ異なるツールを用いて空けられている。形状が同じ穴＃２は２個空けられている。穴＃３は、円形ではなく細長い形状に空けられている。
【００４０】
そのような穴＃１〜４を空ける加工を行わせるためのＰＧでは、それを４つのツール工程のブロック群に分けることになる。図中の工程１〜４は、ブロック群に分けられたツール工程、それに付された番号は、そのツール工程が行われる順序を示している。穴＃２は２個あることから、工程２に対応するブロック群は更に２つのブロック群に分けられる。
【００４１】
穴＃３は、他とは異なり、ワークの表面の形状が細長くなっている。そのような形状の穴＃３は、例えばツール（例えばエンドミル）でＺ軸に沿った穴を空けた後、そのツール（主軸）をＸＹ平面上に移動させることによって形成される。それにより、図３を参照して説明した加工条件（ここでは切削条件）が変化する。穴＃３を空けるのに要するサイクルタイムを算出する場合、Ｚ軸に沿った穴を空けるのに要する時間と、ツールをＸＹ平面上に移動させた時間とは、別々に計算しなければならない。このことから、そのような加工条件を抽出するようにしている。
【００４２】
図７は、サイクルタイムの定義と計算方法を説明する図である。図８は、そのサイクルタイム計算用データの取得方法を説明する図である。次に、図７、及び図８を参照して、計算の対象とするサイクルタイム、その計算方法、及びその計算に用いるデータの取得方法について説明する。それら図７、及び図８は、切削加工を行う生産設備を例にとった場合のものである。
【００４３】
図７において、「Ｔ工程サイクル１」「Ｔ工程サイクルＮ」は、それぞれ、同じツールを用いてワークを加工する基本加工工程に対応する。図６に示すワークでは、２つの穴＃２を空けるためのそれぞれの加工工程に対応する。そのサイクルタイムＴＲＫは、その基本加工工程の加工を行うために生産設備を稼動させている稼動時間である。
【００４４】
「ツールサイクル」は、上記ツール工程に対応し、そのツール工程で行われる全基本加工工程から構成される。従って、そのサイクルタイムＴｊは、図７に示すように、各基本加工工程のサイクルタイムＴＲＫを積算して計算される時間となる。「設備サイクル」は、生産設備でワークを加工する工程全体に対応し、全ツール工程はその一部として行われる。このため、そのサイクルタイムＴは、各ツール工程のサイクルタイムＴＲを積算して計算される時間に、生産設備固有のワークの加工に必要な時間を加算して得られる時間となる。加工するワークを作業員がセットして安全用の扉を閉め、その扉を開けて加工が終わったワークを取り出すのであれば、図７に示すように、固有の時間として、ワークをセットして扉を閉めるのに要する時間ＴＢＳ、扉を開けてワークを取り出すのに要する時間ＴＢＥを加算することになる。
【００４５】
「ラインサイクル」は、１生産ラインでワークを加工する工程全体に対応し、全設備サイクル（工程）はその一部として行われる。このため、そのサイクルタイムＴＬは、各設備サイクルのサイクルタイムＴを積算して計算される時間に、生産ライン固有のワークの加工に必要な時間を加算して得られる時間となる。生産設備間でのワークの受け渡しを作業員が運搬して行うのであれば、固有の時間として、生産設備間の運搬時間をそれぞれ加算することになる。
【００４６】
基本加工工程のサイクルタイムＴＲＫは、図７に示すように、その添字で示す基本加工工程ＲＫにおける早送り時間（主軸を早送りするのに要する時間）Ｔｑｆ＿ＲＫ、位置決め時間Ｔｌｄ＿ＲＫ、ＡＴＣ時間（ツールの自動交換に要する時間）Ｔａｔｃ＿ＲＫ、テーブル割出時間（ワークをセットするテーブルの割出角度を変化させるために要する時間）Ｔｔａｃ＿ＲＫ、ドウエル時間Ｔｄ＿ＲＫ、主軸加速度タップロス時間（主軸の回転速度が目標値に達するまでに要する時間）Ｔａｌ＿ＲＫ、総切削（加工）時間Ｔｔｓ＿ＲＫ、早戻し時間（主軸を原点に向けて早戻しするのに要する時間）Ｔｑｒ＿ＲＫ、及び工具検知時間Ｔｔｃｃ＿ＲＫを加算することで計算される。
【００４７】
上記総切削（加工）時間Ｔｔｓ＿ＲＫは、上述したように、ＰＧ中から抽出した加工条件別に加工に要する時間を算出し、算出した時間を積算することで求められる時間である。例えば図６に示すような穴＃３では、Ｚ軸に沿って穴を空けるのに要する時間と、主軸をＸＹ平面上に移動させるのに要する時間とを加算した時間となる。
【００４８】
上記各時間は、上述したようにツール工程を基本加工工程に分割することから、切削加工では、早送り時間Ｔｑｆ＿ＲＫ、位置決め時間Ｔｌｄ＿ＲＫ、主軸加速度タップロス時間Ｔａｌ＿ＲＫ、及び総切削（加工）時間Ｔｔｓ＿ＲＫ以外の時間は０であることがあり得る。例えばＡＴＣ時間Ｔａｔｃ＿ＲＫは、最初の基本加工工程以外では０となり、早戻し時間Ｔｑｒ＿ＲＫは、最後の基本加工工程以外では０となる。工具検知時間Ｔｔｃｃ＿ＲＫは、生産設備によっては主軸に別の動きを行わせている間に工具の検知を行うようにしていることから、０ということもある。このことから、工具検知時間Ｔｔｃｃ＿ＲＫは、ファイルに保存した固定値を使用するようにしている。それ以外には、位置決め時間Ｔｌｄ＿ＲＫ、ＡＴＣ時間Ｔａｔｃ＿ＲＫ、更には時間ＴＢＳ、ＴＢＥもファイルに保存した固定値を使用するようにしている（図８参照）。以降、そのファイルについては、サイクルタイム算出用に用意したものであることから、算出用ファイルと呼ぶ。
【００４９】
上記早送り時間Ｔｑｆ＿ＲＫ、及び早戻し時間Ｔｑｒ＿ＲＫは、主軸の移動上の制約を考慮して算出される。例えば主軸を同時には１軸上にしか移動できなければ、各軸の移動距離の積算値が主軸の移動距離となる。その移動距離を移動するのにかかる時間は、各軸につき、その移動距離をその軸の早送り速度で割って得られる時間を積算したものとなる。複数軸上に移動できるのであれば、各軸上の移動距離をその軸の早送り速度で割って得られる時間の最大時間が移動にかかる時間となる。このことから、主軸の移動上の制約を考慮して時間を算出している。各軸上を含め、移動距離は、ＰＧから取得し、早送り速度は、各軸につき、生産設備の制御装置から収集したパラメータ中から取得している。
【００５０】
テーブル割出時間Ｔｔａｃ＿ＲＫを算出するための割出角度θは、ＰＧ中から取得する。その算出は、９０度のテーブルを回転するのに要する基準時間αに、割出角度θを９０で割った値を掛けることで行っている。基準時間αは、上記算出用ファイル内に用意するか、或いはサイクルタイム算出用にラインサーバ１０８が実行するプログラム内で定義されている。
【００５１】
ドウエル時間Ｔｄ＿ＲＫは、ＰＧ中から取得する。それが複数存在していれば、その累計値が時間Ｔｄ＿ＲＫとなる。主軸加速度タップロス時間Ｔａｌ＿ＲＫは、Ｓコードで指令される回転速度に主軸が達するのに要する時間である。その時間は、例えば算出用ファイルにテーブル形式、或いはそれを算出するための方程式の形で格納されている。図８に示す例は、Ｓコードで指令される回転速度が１５００ｒｐｍまでは固定値ａ、その回転速度が１５００〜３０００ｒｐｍの間は固定値ｂ、その回転速度が３０００ｒｐｍ以上であれば固定値ｃを時間Ｔａｌ＿ＲＫとすることを表している。
【００５２】
加工では、同じ、或いは同じと見なせる加工を繰り返し行うことがある。例えばフライス加工では、フライス面を加工するのにツールを複数回、場所や方向を変えつつ移動させることがある。ここでは、ツールを１回移動させる加工を１パスと呼んでいる。それにより、総切削時間Ｔｔｓ＿ＲＫは、１パス当たりの切削（加工）時間にパス数ＰＮ＿ＲＫを掛けて算出している。１パス当たりの切削時間は、そのパスでの切削距離を送り速度で割ることで求めている。切削距離、送り速度、及びパス数ＰＮ＿ＲＫは、共にＰＧから取得している。
【００５３】
このようにして、本実施形態では、生産設備の制御装置から収集したパラメータを必要に応じて使用して、基本加工工程のサイクルタイムＴＲＫを算出している。このため、実際のサイクルタイムと高精度に一致するサイクルタイムＴＲＫを算出することができる。他のサイクルタイムＴＲ、Ｔ、及びＴＬについても同様である。それにより、作業者にとっては、算出されたサイクルタイムを検討するだけで、加工工程の最適化を高精度に行えることになる。
【００５４】
図９は、主軸を回転させて切削加工を行う生産設備を対象にしたサイクルタイム算出処理のフローチャートである。それは、後述する図１０のステップＳ３として実行されるサイクルタイム算出処理のサブルーチン処理として、必要に応じて実行される。次に図９を参照して、主軸を回転させて切削加工を行う生産設備を制御する制御装置のＰＧを対象に、後述の図１０のステップＳ３で実行されるサブルーチン処理について詳細に説明する。
【００５５】
まず、ステップＳ１１では、ＰＧファイルの先頭から、工具（ツール）交換指令が記述されたブロック（図３、図５参照）を検索する。そのブロックとは、上述したように、それを実行することで実際に工具が交換されるブロックである（図３参照）。次のステップＳ１２では、その検索の結果、その指令が記述されたブロックが抽出されたか否かを判定する。そのブロックを抽出できた場合、判定はＹｅｓとなってステップＳ１３に移行する。そうでない場合は、判定はＮｏとなってステップＳ１９に移行する。
【００５６】
ステップＳ１３では、次の工具交換指令が記述されたブロック、或いはＰＧの最後までの間に、主軸停止指令が記述されたブロック、及びその主軸の再正転指令が記述されたブロックがその順序で配置されているか否かを確認するための検索を行う。その後に移行するステップＳ１４では、その検索の結果、そのような配置で２つのブロックが見つかったか否かを判定する。そのような配置で２つのブロックが１組以上存在していた場合、判定はＹｅｓとなり、ステップＳ１５に移行して、次の工具交換指令が記述されたブロック、或いはＰＧの最後までの間を主軸停止指令が記述されたブロックで分割した後、ステップＳ１７に移行する。そうでない場合には、判定はＮｏとなり、ステップＳ１６に移行して、次の工具交換指令が記述されたブロック、或いはＰＧの最後までの間を１工程（基本加工工程）のブロック群とさせた後、ステップＳ１７に移行する。
【００５７】
ステップＳ１７では、上述したようにして基本加工工程でＰＧを分割して得たブロック群ごとに、座標位置、Ｆ、Ｅ、Ｓ、Ｄの各値、ドウエル時間、テーブル割出角度、パス数などをサイクルタイム算出用の加工条件として抽出し、パラメータを必要に応じ用いつつ、その基本加工工程のサイクルタイムＴＲＫを算出して、それらを格納する。それら以外には、ツール工程のサイクルタイムＴＲを算出し、それをサイクルタイムＤＢに格納する。そして、ステップＳ１８に移行する。
【００５８】
抽出した加工条件や算出した各種サイクルタイムＴＲＫ、ＴＲは、例えば予め用意したファイル、或いはデータベースに保存する形で格納する。加工条件とサイクルタイムＴＲＫとはリンクさせ、ツール工程別、生産設備（制御装置）別に格納する。ここでは、便宜的に、それらの格納場所をサイクルタイムＤＢとする。
【００５９】
ステップＳ１８では、ＰＧの全ブロックを対象にした検索が完了したか否かを判定する。上記２つのブロックの検索を行っている間にＰＧの最後まで検索が進まなかった場合、判定はＮｏとなって上記ステップＳ１３に戻り、着目するツールを変更して、それ以降の処理を同様に実行する。反対にそうでない場合、すなわち、ＰＧの最後まで検索が終了した場合には、判定はＹｅｓとなり、設備サイクルのサイクルタイムＴを算出し、それをサイクルタイムＤＢに格納した後、一連の処理を終了する。
【００６０】
図５に示すメインＰＧを後述の図１０のステップＳ２で選択した場合、シーケンス番号３５（図中では「Ｎ３５」と表記）を検索することでＳ１２の判定がＹｅｓとなり、ステップＳ１３に移行する。その後は、ステップＳ１３〜Ｓ１８で形成される処理ループを、ステップＳ１８の判定がＹｅｓとなるまで繰り返し実行する。それにより、１基本加工工程からなるツール工程として、「工程１」「工程２」が順次特定され、そのサイクルタイムＴＲ（＝ＴＲＫ）が算出される。
【００６１】
ステップＳ１９では、ＰＧの検索が全て完了したか否かを判定する。次の工具交換指令が記述されたブロックの検索を行っている間にＰＧの最後まで検索が進んだ場合、判定はＹｅｓとなってステップＳ２０に移行する。そうでない場合は、判定はＮｏとなって上記ステップＳ１１に戻り、検索が終了しているブロックから先に検索を進める。
【００６２】
後述の図１０のステップＳ２で選択したＰＧに工具交換指令が記述されたブロックが存在していない場合、ステップＳ１１、Ｓ１２、及びＳ１９で形成される処理ループはステップＳ１９の判定がＹｅｓとなるまで繰り返し実行される。それにより、ステップＳ２０以降では、ＰＧに工具交換指令が記述されたブロックが存在していないことを前提にした処理が行なわれる。
【００６３】
まず、ステップＳ２０では、検索を開始する位置をＰＧファイルの先頭に戻し、番号でツールの種類を表現するＴコードを「Ｔ００」とする。次のステップＳ２１では、上記２つのブロックを対象にした検索を行う。その後に移行するステップＳ２２では、検索の結果、その２つのブロックが見つかったか否かを判定する。その２つのブロックが１組以上存在していた場合、判定はＹｅｓとなり、ステップＳ２３に移行して、ＰＧの最後までの間を、主軸停止指定が記述されたブロックで分割した後、ステップＳ２５に移行する。そうでない場合には、判定はＮｏとなり、ステップＳ２４に移行して、ＰＧの最後までの間を１工程（基本加工工程）のブロック群とさせた後、ステップＳ２５に移行する。
【００６４】
ステップＳ２５では、上述したようにして基本加工工程でＰＧを分割して得たブロック群ごとに、座標位置、Ｆ、Ｅ、Ｓ、Ｄの各値、ドウエル時間、テーブル割出角度、パス数などをサイクルタイム算出用の加工条件として抽出し、パラメータを必要に応じて用いつつ、その基本加工工程のサイクルタイムＴＲＫを算出して、それらを格納する。それら以外には、ツール工程のサイクルタイムＴＲを算出し、それをサイクルタイムＤＢに格納する。そして、ステップＳ２６に移行する。
【００６５】
ステップＳ２６では、ＰＧの全ブロックを対象にした検索が完了したか否かを判定する。ＰＧの最後まで検索が進んでいない場合、判定はＮｏとなって上記ステップＳ２１に戻り、それ以降の処理を同様に実行する。そうでない場合、すなわち、ＰＧの最後まで検索が終了した場合には、判定はＹｅｓとなり、設備サイクル（設備工程）のサイクルタイムＴを算出し、それをサイクルタイムＤＢに格納した後、一連の処理を終了する。
【００６６】
尚、本実施形態では、混乱を避けるため、ＮＣ制御装置が実行するＮＣプログラムを例にとって説明を行ったが、他の制御装置が実行するプログラムでもサイクルタイム算出の対象とすることができることはいうまでもない。
【００６７】
図１０は、１ラインのサイクルタイム算出処理のフローチャートである。上述した各種サイクルタイムを算出するために、ラインサーバ１０８が実行する処理の流れを示したものである。次に、図１０を参照して、各種サイクルタイムを算出するためにラインサーバ１０８が実行する処理について説明する。
【００６８】
図１０に示す算出処理は、例えば端末装置１０４のユーザからの要求を受け付けて実行される。それは、ラインサーバ１０８に搭載されたＣＰＵが、例えばハードディスクに格納されたサイクルタイム算出用のアプリケーションプログラムを実行することで実現される。サイクルタイムを算出する対象とするＰＧ、その実行の際に参照されるパラメータは、詳細な説明は省略するが、例えば生産ライン１２０、或いは１３０を構成する各生産設備の制御装置から自動的に収集するか、或いはその要求を受け付けて収集している。
【００６９】
まず、ステップＳ１では、１生産ラインを構成する生産設備の制御装置が実行するＰＧ（プログラム）、及びその実行に必要なパラメータ等を取得する。続くステップＳ２では、取得したＰＧ、パラメータ等の中から１組のＰＧ、パラメータ等を選択する。その後に移行するステップＳ３では、図９のフローチャートを参照して説明したように、ステップＳ２で選択したＰＧの言語の種類やそれを実行する制御装置の種類、その制御装置が制御する生産設備の仕様などに応じて、基本加工工程のサイクルタイムを算出するためのサイクルタイム算出処理を実行する。その実行後はステップＳ４に移行する。
【００７０】
ステップＳ４では、全対象ＰＧを対象にサイクルタイムを算出したか否かを判定する。ステップＳ１で取得したＰＧの中にサイクルタイムを算出していないものが残っていた場合、判定結果はＮｏとなり上記ステップＳ２に戻り、残ったＰＧ、パラメータ等の中から１組のＰＧ、パラメータ等を選択し、それ以降のステップの処理を同様に実行する。そうでない場合には、判定結果はＹｅｓとなりステップＳ５に移行する。
【００７１】
ステップＳ５では、上記した図９のステップＳ１８でツール工程別、生産設備（制御装置）別にサイクルタイムＤＢに格納された、加工条件、サイクルタイムＴＲＫに基づいて、加工プログラムのシミュレーション結果の情報を例えば端末装置１０４の表示部に表示している。そして、Ｓ５で表示処理を行った後、一連の処理を終了する。
【００７２】
以下に上記したステップＳ５における、表示部の表示例を、図１１、図１２、図１４、図１５を参照しつつ説明する。
図１１、及び図１２は、ＮＣプログラムにおいて、工具ごと、加工工程ごとに、その工具、加工工程での加工条件（ここでは切削条件）、切削距離／時間、非切削距離／時間、及びサイクルタイムを算出するのに用いるその他の幾つかの時間の各種データを対応するＮＣプログラムのどこからどのように抽出されるかを示した図（表示画面）であり、図１１はその表示画面の左側部分を、また、図１２はその表示画面の右側部分を、それぞれ示している。尚、各図からは定かでないが、図１１、または、図１２の表示画面は、上下方向や左右方向にスクロールすることが可能である。上下方向へのスクロールによって例えば先行、または、後続する加工工程についての情報を表示画面上に表示することができ、左右方向へのスクロールによって例えば下記の表示画面の「右側」に表示される各種情報を表示画面上に表示することができる。
【００７３】
以上の説明から明らかなように、加工工程は、純粋に加工（切削）する動作の他に、その動作の前後にある、工具（ツール）交換の動作や、主軸を移動する動作なども含めている。どの範囲を１加工工程に含めるかについては上述した通りである。図１１及び図１２では、そのような加工工程について、純粋な加工（切削）動作時の加工条件（切削条件（周速、送り量、回転数、送り速度））と、その加工動作の行程（切削距離）、及び要する時間（切削時間）、加工以外の移動行程（非切削移動距離、早送および早戻距離）とその移動に要する時間（非切削移動時間、早送および早戻時間）、及びその他の動作に要する時間（ドウエル時間、主軸加速度タップロス時間、テーブル割出時間）などの各工程ごとの加工条件（切削条件）情報、サイクルタイム情報、を表示画面の右側に表示している。
【００７４】
また、図１１の表示画面の左側には、上記加工工程に対応するＮＣプログラムの各ステップを所定の順番で表示している。その順番は、例えば読み込みプログラムのソースコード順であったり、また、実行順であったりする。
【００７５】
このように加工プログラムの加工工程、各種動作での所要時間をその加工工程の加工条件、及び各種動作と対応付けて表示することにより、作業者は、その加工条件、各種動作での所要時間に照らし合わせ、問題のある加工工程を特定したり、その対策をたてることをより容易に行えるようになる。尚この際、図１１の表示画面における、加工プログラムの各指令に対し、その抽出時に注目するポイントを種別に応じて色分けして表示するようにしてもよい。その色付けの一例を図１３に示す。
【００７６】
図１４は、加工プログラムから抽出された加工工程を表示画面の右側に表示し、対応するその加工工程の加工条件を表示画面の左側に表示している。
図１５は、加工プログラムから抽出された加工工程を表示画面の右側に表示し、対応するその加工工程のサイクルタイム（図中では「設備工程サイクルタイム計算値」）を表示画面の左側に表示している。尚、図１５において、必要に応じてＰＧ単位で算出したサイクルタイムを用いて１ラインのサイクルタイムＴＬを算出してもよい。
【００７７】
尚、上記したサイクルタイム算出のシミュレーション時には、加工条件（切削条件）を変更したり、加工工程の順番を変更したりするが、そのような変更を、図１１、図１２、図１４、図１５の表示画面上から行うようにしてもよい。また、図１１、図１２、図１４、図１５の表示画面から他の画面に遷移して、その遷移先の画面において加工条件、加工工程の順番の変更を行うようにしてもよい。いずれの場合においても、並び替えられたその加工プログラムの加工工程の順番や、置き換えられた加工条件（切削条件）に基づいて、上述した方法により加工工程を新たに抽出して、その抽出した加工工程のサイクルタイムを算出する。
【００７８】
上述したようなサイクルタイム算出処理、または加工条件、サイクルタイムを加工工程と対応付けて表示部に表示する処理を実現させるプログラムを、ＣＤ−ＲＯＭ、ＤＶＤ、または光磁気ディスク等の記録媒体に記録させて配布したり、または、公衆網等で用いられる伝送媒体を介してそのプログラムの一部、または全部を配信したりすることができる。その場合に、ユーザはプログラムを取得してコンピュータなどのデータ処理装置にロードすることにより、その処理装置に本発明によるサイクルタイム算出処理や、加工条件、サイクルタイムを加工工程と対応付けて表示部に表示する処理を搭載させることができる。
【００７９】
【発明の効果】
以上、説明したように、本発明によれば、加工プログラムの加工工程をその加工工程の加工条件、またはサイクルタイムの少なくとも１つと対応付けて表示することにより、作業者は、その加工条件に照らし合わせ、問題のある加工工程を特定したり、その対策をたてることをより容易に行えるようになる。
【図面の簡単な説明】
【図１】本実施形態によるサイクルタイム算出装置が適用されたネットワークシステムの構成を示す図である。
【図２】プログラムの構成を示す図である。
【図３】加工工程の分割方法を示す図である。
【図４】切削、早送り、早戻しの識別方法を説明する図である。
【図５】加工工程の分割例を説明する図である。
【図６】１生産設備により加工されたワークを示す図である。
【図７】サイクルタイムの定義と計算方法を説明する図である。
【図８】サイクルタイム計算用データの取得方法を説明する図である。
【図９】主軸を回転させて切削加工を行う生産設備を対象にしたサイクルタイム算出処理のフローチャートである。
【図１０】１ラインのサイクルタイム算出処理、及び加工条件、サイクルタイムを加工工程と対応付けて表示部に表示する処理のフローチャートである。
【図１１】加工工程ごとに、その加工工程の加工条件を示した図（その１：左側部分）である。
【図１２】加工工程ごとに、その加工工程の加工条件を示した図（その１：右側部分）である。
【図１３】加工プログラムの各指令に対する色付けの一例を示す図である。
【図１４】加工工程ごとに、その加工工程の加工条件を示した図（その２）である。
【図１５】加工工程ごとに、その加工工程のサイクルタイムを示した図である。
【符号の説明】
１０１  構内ＬＡＮ
１０２  工場ローカルＬＡＮ
１０４  端末装置
１０８  ラインサーバ
１０９、１１０、１２３、１３４  アクセスポイント
１２０、１３０  生産ライン
１２１、１３１  生産設備
１２２、１３３  操作盤
【図１】
2004227028.tif 000003
【図２】
2004227028.tif 000004
【図３】
2004227028.tif 000005
【図４】
2004227028.tif 000006
【図５】
2004227028.tif 000007
【図６】
2004227028.tif 000008
【図７】
2004227028.tif 000009
【図８】
2004227028.tif 000010
【図９】
2004227028.tif 000011
【図１０】
2004227028.tif 000012
【図１１】
2004227028.tif 000013
【図１２】
2004227028.tif 000014
【図１３】
2004227028.tif 000015
【図１４】
2004227028.tif 000016
【図１５】
2004227028.tif 000017