(57)【要約】【課題】制御装置がネットワークと接続された生産設備の管理をより容易に行えるようにするための技術を提供する。【解決手段】Ｆ用プログラム２０２Ｆ、Ｔ用プログラム２０２Ｔ、Ｍ用プログラム２０２Ｍ、Ｘ用プログラム２０２Ｘは、生産設備を制御する制御装置（Ｍ／Ｃ）２０１のメーカ別に用意されている。設定シート２０３には、制御装置２０１から情報を収集するためのデータが記述され、そのデータは設定プログラム２０４によって設定ＤＢ１１１に格納される。収集プログラム２０５は、設定ＤＢ１１１を参照し、メーカ別に用意されたプログラムを介して制御装置２０１から情報を収集し、履歴ＤＢ１１２に格納する。【選択図】　　　図２
2004005400.tif 000002
【特許請求の範囲】
【請求項１】
生産設備を制御するネットワークと接続の制御装置が有する情報を少なくとも収集するシステムであって、
前記情報の収集対象とする前記生産設備の制御装置から前記ネットワークを介して該情報を収集するための収集用データを入力する収集用データ入力手段と、
前記収集用データ入力手段が入力した収集用データを基に、前記生産設備の制御装置から情報を収集する情報収集手段と、
を具備することを特徴とする生産設備情報管理システム。
【請求項２】
前記収集用データ入力手段は、予め定められた形式で前記収集用データが記述された設定シートの入力を行い、
前記情報収集手段は、前記収集用データ入力手段が入力した前記設定シートに記述の前記収集用データを保存し、該収集用データ入力手段が新たに設定シートを入力するまでの間、該保存の収集用データを基に前記生産設備の制御装置から情報を収集する、
ことを特徴とする請求項１記載の生産設備情報管理システム。
【請求項３】
前記情報収集手段は、前記生産設備の制御装置から収集した情報を、前記収集用データを基に保存する、
ことを特徴とする請求項１、または２記載の生産設備情報管理システム。
【請求項４】
前記収集用データは、前記生産設備の制御装置から情報を自動的に収集するタイミングを指定するデータを有し、
前記情報収集手段は、前記収集用データが指定するタイミングで前記生産設備の制御装置から情報を自動的に収集する、
ことを特徴とする請求項１〜３の何れか１項に記載の生産設備情報管理システム。
【請求項５】
前記情報収集手段が前記生産設備の制御装置から収集した情報を、該情報収集手段が過去に該制御装置から収集した情報と照合して、変更の有無を確認する変更確認手段と、
前記変更確認手段による確認結果を出力する確認結果出力手段と、
を更に具備することを特徴とする請求項１〜４の何れか１項に記載の生産設備情報管理システム。
【請求項６】
前記情報収集手段が収集した前記情報が変更されていることを前記変更確認手段が確認した場合に、該情報の変更内容をユーザに提示して、該変更を承認するか否か問い合わせるための承認管理手段、
を更に具備し、
前記変更確認手段は、前記承認管理手段によりユーザの変更承認を確認した情報を、前記情報収集手段が新たに収集した情報と照合する、
ことを特徴とする請求項５記載の生産設備情報管理システム。
【請求項７】
前記変更確認手段が確認した情報の変更を前記承認管理手段によりユーザが承認したことを確認した場合に、該情報が変更されたことを履歴として残す履歴管理手段、
を更に具備することを特徴とする請求項６記載の生産設備情報管理システム。
【請求項８】
前記変更確認手段は、前記情報として、前記生産設備の制御装置が実行するプログラム、該生産設備の仕様を決めるために設定されたパラメータ、及びコメントのうちの少なくとも１つを対象に前記照合を行う、
ことを特徴とする請求項５、６、または７記載の生産設備情報管理システム。
【請求項９】
生産設備を制御するネットワークと接続の制御装置が有する情報を管理用に収集するシステムであって、
前記ネットワークを介して、前記生産設備の制御装置から情報を収集する情報収集手段と、
前記情報収集手段が前記生産設備の制御装置から収集した情報を、該情報収集手段が過去に収集した該制御装置の情報と照合して、変更の有無を確認する変更確認手段と、
前記変更確認手段による確認結果を出力する確認結果出力手段と、
を具備することを特徴とする生産設備情報管理システム。
【請求項１０】
前記変更確認手段は、前記情報として、前記生産設備の制御装置が実行するプログラム、該生産設備の仕様を決めるために設定されたパラメータ、及びコメントのうちの少なくとも１つを対象に前記照合を行う、
ことを特徴とする請求項９記載の生産設備情報管理システム。
【請求項１１】
生産設備を制御する制御装置が有する情報を収集するシステムであって、
前記制御装置が有する情報として、該制御装置が実行する、或いは該制御装置に実行させるべきプログラムを取得する情報取得手段と、
前記情報取得手段が取得したプログラムを前記制御装置が実行した場合に前記生産設備が使用するツールに着目して、該生産設備がワークを加工する加工工程を分割する加工工程分割手段と、
前記加工工程分割手段が分割した加工工程を単位として、該加工工程で前記ワークを加工する加工条件を前記情報取得手段が取得したプログラム中から抽出する加工条件抽出手段と、
を具備することを特徴とする生産設備情報管理システム。
【請求項１２】
前記加工工程分割手段は、前記生産設備が同一のツールを用いて行う加工工程を、該加工工程を構成する一つ以上の基本加工工程に分割し、
前記加工条件抽出手段は、前記基本加工工程毎に前記加工条件を抽出する、
ことを特徴とする請求項１１記載の生産設備情報管理システム。
【請求項１３】
前記加工工程分割手段は、前記ツールの種類別に予めパターン化された前記加工工程の仕様を基に、該ツールを用いて行う加工工程を一つ以上の基本加工工程に分割する、
ことを特徴とする請求項１２記載の生産設備情報管理システム。
【請求項１４】
前記加工工程分割手段が分割した加工工程毎に、該加工工程の加工を行うのに要する時間をサイクルタイムとして算出する、
ことを特徴とする請求項１１、１２、または１３記載の生産設備情報管理システム。
【請求項１５】
生産設備によるワークの加工に係わる情報を生産設備情報として少なくとも収集するシステムであって、
前記生産設備を制御する制御装置が実行の対象とし、前記生産設備情報が挿入されているプログラムを取得するプログラム取得手段と、
前記プログラム取得手段が取得したプログラム中から前記生産設備情報を抽出する情報抽出手段と、
を具備することを特徴とする生産設備情報管理システム。
【請求項１６】
前記プログラム中に挿入された前記生産設備情報は、該プログラムを実行の対象とする前記制御装置が制御する前記生産設備に係わる情報、該生産設備で用いられるツールに係わる情報、及び該生産設備でのワークの加工に係わる情報のうちの少なくとも一つを有する、
ことを特徴とする請求項１５記載の生産設備情報管理システム。
【請求項１７】
前記プログラム中に挿入された前記生産設備情報を構成する情報と、該プログラムを実行の対象とする前記制御装置が制御する前記生産設備が加工の対象とするワークと、の間の対応関係を定義する定義手段、を更に具備し、
前記定義手段により定義された対応関係に従って、前記生産設備情報を構成する情報を前記ワークと対応付けてユーザに提供できる、
ことを特徴とする請求項１５、または１６記載の生産設備情報管理システム。
【請求項１８】
前記プログラム取得手段は、ネットワークを介して、前記プログラムを前記制御装置から取得し、
前記プログラム取得手段が前記ネットワークを介して前記制御装置から取得した前記プログラムを基に、該制御装置が制御する前記生産設備で用いられる前記ツールをユーザに提示できる、
ことを特徴とする請求項１５、１６、または１７記載の生産設備情報管理システム。
【請求項１９】
生産設備を制御するネットワークと接続の制御装置が有する情報を収集するために用いられる方法であって、
前記制御装置別に該制御装置から情報を収集するための第１のプログラムを用意し、
前記ネットワークを介して前記生産設備の制御装置から情報を収集するための収集用データを用意し、
前記収集用データを基に、前記第１のプログラムを用いて前記生産設備の制御装置から情報を収集するための第２のプログラムを用意し、
前記第２のプログラムに前記第１のプログラムを呼び出させて、前記収集用データで指定された前記生産設備の制御装置の情報を収集させる、
ことを特徴とする生産設備情報収集方法。
【請求項２０】
生産設備によるワークの加工に係わる情報を生産設備情報としてシステムに収集させるために用いられる方法であって、
前記生産設備を制御する制御装置が実行の対象とするプログラム中に前記生産設備情報を挿入し、
前記生産設備情報を挿入した前記プログラムを前記システムに取得させ、
該取得させた前記プログラム中に挿入された前記生産設備情報を前記システムに抽出させることにより収集させる、
ことを特徴とする生産設備情報収集方法。
【請求項２１】
検索を行い、取得した情報のなかからユーザが所望の情報を抽出して提示するシステムであって、
制御装置が制御する生産設備がワークの加工を行う加工工程を分割した加工工程の加工に要する時間、或いは該分割した加工工程でワークを加工するうえでの加工条件を前記情報として少なくとも取得する情報取得手段と、
ユーザに検索用のデータを指定させるためのデータ指定手段と、
前記データ指定手段によりユーザが指定したデータを用いて検索を行い、前記情報取得手段が取得した情報のなかから該データに対応する情報を抽出する検索手段と、
前記検索手段による検索結果をユーザに提示する検索結果提示手段と、
を具備することを特徴とする情報検索システム。
【請求項２２】
前記情報取得手段は、請求項１１、または１４記載の生産設備情報管理システムから前記情報を取得する、
ことを特徴とする請求項２１記載の情報検索システム。
【請求項２３】
生産設備を制御するネットワークと接続の制御装置が有する情報を少なくとも収集するシステムの構築に用いられるデータ処理装置に実行させるプログラムであって、
前記情報の収集対象とする前記生産設備の制御装置から前記ネットワークを介して該情報を収集するための収集用データを入力する機能と、
前記入力する機能により入力した収集用データを基に、前記生産設備の制御装置から情報を収集する機能と、
を実現させるためのプログラム。
【請求項２４】
生産設備を制御するネットワークと接続の制御装置が有する情報を管理用に収集するシステムの構築に用いられるデータ処理装置に実行させるプログラムであって、
前記ネットワークを介して、前記生産設備の制御装置から情報を収集する機能と、
前記収集する機能により前記生産設備の制御装置から収集した情報を、該収集する機能により過去に収集した該制御装置の情報と照合して、変更の有無を確認する機能と、
前記確認する機能による確認結果を出力する機能と、
を実現させるためのプログラム。
【請求項２５】
生産設備を制御する制御装置が有する情報を収集するシステムの構築に用いられるデータ処理装置に実行させるプログラムであって、
前記制御装置が有する情報として、該制御装置が実行する、或いは該制御装置に実行させるべきプログラムを取得する機能と、
前記取得する機能により取得したプログラムを前記制御装置が実行した場合に前記生産設備が使用するツールに着目して、該生産設備がワークを加工する加工工程を分割する機能と、
前記分割する機能により分割した加工工程を単位として、該加工工程で前記ワークを加工する加工条件を前記取得する機能により取得したプログラム中から抽出する機能と、
を実現させるためのプログラム。
【請求項２６】
生産設備によるワークの加工に係わる情報を生産設備情報として少なくとも収集するシステムの構築に用いられるデータ処理装置に実行させるプログラムであって、
前記生産設備を制御する制御装置が実行の対象とし、前記生産設備情報が挿入されているプログラムを取得する機能と、
前記取得する機能により取得したプログラム中から前記生産設備情報を抽出する機能と、
を実現させるためのプログラム。
【請求項２７】
検索を行い、取得した情報のなかからユーザが所望の情報を抽出して提示するシステムの構築に用いられるデータ処理装置に実行させるプログラムであって、
制御装置が制御する生産設備がワークの加工を行う加工工程を分割した加工工程の加工に要する時間、或いは該分割した加工工程でワークを加工するうえでの加工条件を前記情報として少なくとも取得する機能と、
ユーザに検索用のデータを指定させるための機能と、
前記指定させるための機能によりユーザが指定したデータを用いて検索を行い、前記取得する機能により取得した情報のなかから該データに対応する情報を抽出する機能と、
前記抽出する機能による検索結果をユーザに提示する機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、制御装置がプログラムを実行することで制御が行われる生産設備を管理するための技術に関する。
【０００２】
【従来の技術および発明が解決しようとする課題】
近年、人々の価値観は多様化し、その変化も速くなっている。それにより、製品生産のための生産設備は、多品種の生産に使用される傾向にある。生産コストの低減の面からは、自動化（無人化）が求められている。これらのことから、生産設備の多くは、プログラムを実行する制御装置の制御下で生産設備（工作機械）を動作させる構成となっている。その制御装置としては、プログラムロジックコントローラ（以下、ＰＬＣ）やＮＣ（Ｎｕｍｅｒｉｃａｌ　Ｃｏｎｔｒｏｌ　）装置（数値制御装置）、モーションコントローラ（以下、ＭＣ）などがある。なお、現在では、ＮＣ装置の多くはＣＮＣ（Ｃｏｍｐｕｔｅｒｉｚｅｄ　Ｎｕｍｅｒｉｃａｌ　Ｃｏｎｔｒｏｌ　）装置となっているが、特に断らない限り、ＮＣ装置とはＣＮＣ装置を含む意味で用いる。
【０００３】
生産ラインは、複数の生産設備を有機的に結合させることにより構築される。加工には、変形加工（鍛造、粉末加工、プラスチック成形加工など）や除去加工（切削加工、砥粒加工、或いは光学的加工など）、接合加工（溶接加工、接着加工、結合加工、組立加工など）、及び処理加工（表面処理、熱処理など）といった様々なものがある。生産ラインを構成させる生産設備は、ワーク（加工物）の種類やそれに対して行うべき加工内容に応じて決定される。
【０００４】
ＮＣ装置が実行するプログラム（ＮＣプログラム）は、作業者が自動プログラミング装置を用いて対話形式で作成（ここでは変更を含む）するのが普通である。ワークの設計は、ＣＡＤ／ＣＡＭ（Ｃｏｍｐｕｔｅｒ　Ａｉｄｅｄ　Ｄｅｓｉｇｎ　ａｎｄ　Ｍａｎｕｆａｃｔｕｒｉｎｇ）　システムを用いて行われるのが殆どである。このことから、自動プログラミング装置は、ＮＣ装置と接続される操作盤以外には、ＣＡＤ（Ｃｏｍｐｕｔｅｒ　Ａｉｄｅｄ　Ｄｅｓｉｇｎ）　システムに標準的に搭載されている。
【０００５】
製品の生産をより経済的、且つ効率的に行うために、現在では、生産設備が製品を生産している状況を正確に把握することが求められている。コンピュータのネットワーク化は急速に進んでいる。このような背景から、多くの企業では、生産設備の制御装置をネットワークで結んだネットワークシステムを構築して、その状況を把握できるようにしている。そのネットワークシステムでは、ユーザが使用する端末装置は通常、サーバを介して制御装置にアクセスするようになっている。
【０００６】
その生産設備、更には生産ラインは、生産する製品や加工方法等に応じて用意するものである。上述したように、人々の価値観は多様化し、その変化が速いこともあって、新たに設置したり、或いは撤去して別のものに代えるといった形で生産設備を新たに設置することは多い。その場合、新たに設置された生産設備の制御装置にアクセスできるようにしなければならない。しかし、従来は、設置された生産設備にアクセスするのを前提にシステムを構築していた。このため、状況によっては、プログラムの変更や追加などを行わなければならず、非常に重い負担を担当者にかけるという問題点があった。
【０００７】
生産設備の制御装置にアクセスできなければ、その生産設備の管理を行うことはできない。このことから、生産設備の管理もより容易に行えるようにするには、新たな生産設備の設置に容易に対応できるようにすることが重要である。
【０００８】
一方、生産設備を制御する制御装置が実行するプログラムは、それに接続された操作盤を介して変更できるようになっている。これは、そのプログラムが随時、変更される可能性があることを意味する。しかし、その変更が常に適切に行われるとは限らない。このことから、生産設備の管理の一つとして、制御装置が実行するプログラムの変更を監視すること、更にはその変更が適切に行われたか否か容易に確認できるようにすることも重要であると考えられる。
【０００９】
新たに加工することになったワークの加工を既存の生産設備に行わせることがある。その場合、そのワークの加工用に新たにプログラムが作成されることになる。その新たに作成されたプログラムが適切か否か容易に確認できるようにすることも重要である。
【００１０】
本発明は、制御装置がネットワークと接続された生産設備の管理をより容易に行えるようにするための技術を提供することを目的とする。
【００１１】
【課題を解決するための手段】
本発明の第１の態様の生産設備情報管理システムは、生産設備を制御するネットワークと接続の制御装置が有する情報を少なくとも収集するシステムであって、情報の収集対象とする生産設備の制御装置からネットワークを介して該情報を収集するための収集用データを入力する収集用データ入力手段と、収集用データ入力手段が入力した収集用データを基に、生産設備の制御装置から情報を収集する情報収集手段と、を具備する。
【００１２】
なお、上記収集用データ入力手段は、予め定められた形式で収集用データが記述された設定シートの入力を行い、情報収集手段は、収集用データ入力手段が入力した設定シートに記述の収集用データを保存し、該収集用データ入力手段が新たに設定シートを入力するまでの間、該保存の収集用データを基に生産設備の制御装置から情報を収集する、ことが望ましい。また、情報収集手段は、生産設備の制御装置から収集した情報を、収集用データを基に保存する、ことが望ましい。
【００１３】
上記収集用データは、生産設備の制御装置から情報を自動的に収集するタイミングを指定するデータを有し、情報収集手段は、収集用データが指定するタイミングで生産設備の制御装置から情報を自動的に収集する、ことが望ましい。
【００１４】
本発明の第２の態様の生産設備情報管理システムは、上記第１の態様における構成に加えて、情報収集手段が生産設備の制御装置から収集した情報を、該情報収集手段が過去に該制御装置から収集した情報と照合して、変更の有無を確認する変更確認手段と、変更確認手段による確認結果を出力する確認結果出力手段と、を更に具備する。
【００１５】
本発明の第３の態様の生産設備情報管理システムは、上記第２の態様における構成に加えて、情報収集手段が収集した情報が変更されていることを変更確認手段が確認した場合に、該情報の変更内容をユーザに提示して、該変更を承認するか否か問い合わせるための承認管理手段、を更に具備し、変更確認手段は、承認管理手段によりユーザの変更承認を確認した情報を、情報収集手段が新たに収集した情報と照合する。
【００１６】
本発明の第４の態様の生産設備情報管理システムは、上記第３の態様における構成に加えて、変更確認手段が確認した情報の変更を承認管理手段によりユーザが承認したことを確認した場合に、該情報が変更されたことを履歴として残す履歴管理手段、を更に具備する。
【００１７】
なお、上記第２〜第４の態様では、変更確認手段は、情報として、生産設備の制御装置が実行するプログラム、該生産設備の仕様を決めるために設定されたパラメータ、及びコメントのうちの少なくとも１つを対象に照合を行う、ことが望ましい。
【００１８】
本発明の第５の態様の生産設備情報管理システムは、生産設備を制御するネットワークと接続の制御装置が有する情報を管理用に収集するシステムであって、ネットワークを介して、生産設備の制御装置から情報を収集する情報収集手段と、情報収集手段が生産設備の制御装置から収集した情報を、該情報収集手段が過去に収集した該制御装置の情報と照合して、変更の有無を確認する変更確認手段と、更確認手段による確認結果を出力する確認結果出力手段と、を具備する。
【００１９】
なお、上記変更確認手段は、情報として、生産設備の制御装置が実行するプログラム、該生産設備の仕様を決めるために設定されたパラメータ、及びコメントのうちの少なくとも１つを対象に照合を行う、ことが望ましい。
【００２０】
本発明の第６の態様の生産設備情報管理システムは、生産設備を制御する制御装置が有する情報を収集するシステムであって、制御装置が有する情報として、該制御装置が実行する、或いは該制御装置に実行させるべきプログラムを取得する情報取得手段と、情報取得手段が取得したプログラムを制御装置が実行した場合に生産設備が使用するツールに着目して、該生産設備がワークを加工する加工工程を分割する加工工程分割手段と、加工工程分割手段が分割した加工工程を単位として、該加工工程でワークを加工する加工条件を情報取得手段が取得したプログラム中から抽出する加工条件抽出手段と、を具備する。
【００２１】
なお、上記加工工程分割手段は、生産設備が同一のツールを用いて行う加工工程を、該加工工程を構成する一つ以上の基本加工工程に分割し、加工条件抽出手段は、基本加工工程毎に加工条件を抽出する、ことが望ましい。また、加工工程分割手段は、ツールの種類別に予めパターン化された加工工程の仕様を基に、該ツールを用いて行う加工工程を一つ以上の基本加工工程に分割する、ことが望ましく、更には加工工程分割手段が分割した加工工程毎に、該加工工程の加工を行うのに要する時間をサイクルタイムとして算出する、ことが望ましい。
【００２２】
本発明の第７の態様の生産設備情報管理システムは、生産設備によるワークの加工に係わる情報を生産設備情報として少なくとも収集するシステムであって、生産設備を制御する制御装置が実行の対象とし、生産設備情報が挿入されているプログラムを取得するプログラム取得手段と、プログラム取得手段が取得したプログラム中から生産設備情報を抽出する情報抽出手段と、を具備する。
【００２３】
なお、上記プログラム中に挿入された生産設備情報は、該プログラムを実行の対象とする制御装置が制御する生産設備に係わる情報、該生産設備で用いられるツールに係わる情報、及び該生産設備でのワークの加工に係わる情報のうちの少なくとも一つを有する、ことが望ましい。
【００２４】
本発明の第８の態様の生産設備情報管理システムは、上記第７の態様における構成に加えて、プログラム中に挿入された生産設備情報を構成する情報と、該プログラムを実行の対象とする制御装置が制御する生産設備が加工の対象とするワークと、の間の対応関係を定義する定義手段、を更に具備し、定義手段により定義された対応関係に従って、生産設備情報を構成する情報をワークと対応付けてユーザに提供できる。
【００２５】
なお、上記第７、または第８の態様では、プログラム取得手段は、ネットワークを介して、プログラムを制御装置から取得し、プログラム取得手段がネットワークを介して制御装置から取得したプログラムを基に、該制御装置が制御する生産設備で用いられるツールをユーザに提示できる、ことが望ましい。
【００２６】
本発明の第１の態様の生産設備情報収集方法は、生産設備を制御するネットワークと接続の制御装置が有する情報を収集するために用いられる方法であって、制御装置別に該制御装置から情報を収集するための第１のプログラムを用意し、ネットワークを介して生産設備の制御装置から情報を収集するための収集用データを用意し、収集用データを基に、第１のプログラムを用いて生産設備の制御装置から情報を収集するための第２のプログラムを用意し、第２のプログラムに第１のプログラムを呼び出させて、収集用データで指定された生産設備の制御装置の情報を収集させる。
【００２７】
本発明の第２の態様の生産設備情報収集方法は、生産設備によるワークの加工に係わる情報を生産設備情報としてシステムに収集させるために用いられる方法であって、生産設備を制御する制御装置が実行の対象とするプログラム中に生産設備情報を挿入し、生産設備情報を挿入したプログラムをシステムに取得させ、該取得させたプログラム中に挿入された生産設備情報をシステムに抽出させることにより収集させる。
【００２８】
本発明の情報検索システムは、検索を行い、取得した情報のなかからユーザが所望の情報を抽出して提示するシステムであって、制御装置が制御する生産設備がワークの加工を行う加工工程を分割した加工工程の加工に要する時間、或いは該分割した加工工程でワークを加工するうえでの加工条件を情報として少なくとも取得する情報取得手段と、ユーザに検索用のデータを指定させるためのデータ指定手段と、データ指定手段によりユーザが指定したデータを用いて検索を行い、情報取得手段が取得した情報のなかから該データに対応する情報を抽出する検索手段と、検索手段による検索結果をユーザに提示する検索結果提示手段と、を具備する。なお、上記情報取得手段は、上記第６、または第７の態様の生産設備情報管理システムから情報を取得する、ことが望ましい。
【００２９】
本発明の第１〜第５の態様のプログラムは、それぞれ、第１、第５、第６、及び第７の態様の生産設備管理システム、及び本発明の情報検索システムの構築に用いられるデータ処理装置に実行させることにより、それらのうちの何れかのシステムを実現させるためのものである。
【００３０】
本発明では、情報の収集対象とする生産設備の制御装置からネットワークを介してその情報を収集するための収集用データを基に、生産設備の制御装置から情報を収集する。それにより、収集用データを入力させるだけで、新たな生産設備の設置に対応することが可能となる。
【００３１】
本発明では、生産設備の制御装置から収集した情報を、過去に収集した情報と照合して、変更の有無を確認し、その確認結果を出力する。それにより、ユーザは変更の有無を容易に知ることが可能となる。
【００３２】
本発明では、生産設備を制御する制御装置が有する情報として、それが実行する、或いはそれに実行させるべきプログラムを取得し、そのプログラムを制御装置が実行した場合に生産設備が使用するツールに着目して、その生産設備がワークを加工する加工工程を分割し、分割した加工工程を単位として、その加工工程でワークを加工する加工条件を抽出する。それにより、ユーザは分割した加工工程毎にその加工条件を知ることが可能となる。その加工工程毎にその加工に要する時間をサイクルタイムとして算出した場合には、そのサイクルタイムはもとより、そのサイクルタイムとその加工工程での加工条件との間の対応関係を知ることが可能となる。
【００３３】
本発明では、生産設備を制御する制御装置が実行の対象とするプログラム中に生産設備情報を挿入し、生産設備情報を挿入したプログラムを、その情報を必要とするシステムに取得させ、取得させたプログラム中に挿入された情報を抽出させる。そのようにして、プログラムに生産設備情報を挿入すると、それらを個別に扱う場合と比較して、管理の対象とする情報の個数が少なくなり、そのプログラムをより様々な用途に使用できるようになる。それを見る人にとっては、より多くの情報をより容易に把握できるようになる。それにより、管理がより容易となり、手間はより省けるようになる。
【００３４】
その挿入された情報を他の情報、例えばワークとの間の対応関係を定義できるようにした場合には、より多くの情報を連携させられるようになる。それにより、ユーザにとってはより多くの情報をより容易に取得することが可能となる。
【００３５】
本発明では、制御装置が制御する生産設備がワークの加工を行う加工工程を分割した加工工程の加工に要する時間、或いは該分割した加工工程でワークを加工するうえでの加工条件を情報として少なくとも取得し、それに対してユーザが指定したデータを用いて検索を行い、取得した情報のなかからそのデータに対応する情報を抽出して提示する。それにより、ユーザにとっては加工工程が最適か否かを容易に確認することが可能となる。
【００３６】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照しながら詳細に説明する。
＜第１の実施の形態＞
図１は、本実施の形態による生産設備情報管理システムが適用されたネットワークシステムの構成を示す図である。
【００３７】
そのネットワークシステムは、例えば製品の製造を行う工場を所有する企業に構築されたクライアント／サーバ型のシステムである。図１に示すように、構内ＬＡＮ１０１と工場ローカルＬＡＮ１０２をルータ１０３により結んでいる。構内ＬＡＮ１０１には、例えばパーソナルコンピュータである端末装置１０４が接続され、その端末装置１０４のユーザが業務を行うのを支援するサーバとして、工具情報システムが構築されたアプリケーションサーバ１０５、シミュレーションシステムが構築されたアプリケーションサーバ１０６、及びデータベース（ＤＢ）サーバ１０７が接続されている。
【００３８】
一方の工場ローカルＬＡＮ（以降、ローカルＬＡＮと略記）１０２には、ラインサーバ１０８や複数のアクセスポイント（無線ＬＡＮ装置。以降、「ＡＰ」）１０９が接続されている。各ＡＰ１０９は、その子機に当たるＡＰ１１０と通信を行う。
【００３９】
そのローカルＬＡＮ１０２は、生産ライン１２０、１３０が設置された工場に敷設されている。生産ライン１２０、１３０は、それぞれ９台、２２台の生産設備から構成されている。
【００４０】
それらの生産設備は、ＮＣ制御装置、ＰＬＣ、或いはＭＣの制御下でワークを加工するか、或いはそれを搬送するものである。例えばマシンニングセンタ、打ち抜き装置、バリ取り装置、或いは洗浄装置などを備えたものである。その構成は、周知のものであることから、特に詳細な説明は省略するが、例えば以下のようになっている。
【００４１】
生産ライン１２０を構成する１台の生産設備１２１は、例えばＰＬＣ内蔵のＮＣ制御装置の制御下でワークの加工を行うものである。そのＮＣ制御装置に、操作盤１２２、及びＡＰ１２３が接続されている。そのＡＰ１２３によって、ＮＣ制御装置はローカルＬＡＮ１０２と接続させている。作業員は、操作盤１２２を操作してＮＣ制御装置が実行するＮＣプログラムやパラメータ（仕様を決めるために設定されたデータ）を変更することができる。
【００４２】
生産ライン１３０を構成する１台の生産設備１３１は、例えばＮＣ制御装置の制御下でワークの加工を行う部分（以降、「部分設備」と記す）１３１ａと、ＰＬＣ内蔵のＮＣ制御装置の制御下でワークの加工を行う部分設備１３１ｂと、から構成されている。それらの制御装置は接続され、部分設備１３１ｂのＮＣ制御装置はハブ１３２と接続されている。そのハブ１３２には、他に、操作盤１３３、及びＡＰ１３４が接続されている。そのＡＰ１３４によって、各部分設備１３１ａ、１３１ｂのＮＣ制御装置はローカルＬＡＮ１０２と接続させている。作業員は、操作盤１３３を操作して各ＮＣ制御装置が実行するＮＣプログラムやパラメータを変更することができる。
【００４３】
上記ラインサーバ１０８は、各生産設備の制御装置から情報を収集することにより、各生産設備の動作状態の監視を行う。また、その情報として、各生産設備の制御装置が実行するプログラムやパラメータなどを自動的に収集し、それらを過去に収集したものと照合して変更の有無を確認し、その確認結果を例えば端末装置１０４を使用する、その権利を有するユーザに提示する。その権利を有するか否かは、アクセスしてきたユーザの認証を行い、判断している。その確認の結果、変更されていることが判明すれば、生産設備がワークの加工に要する時間をサイクルタイムとして算出するシミュレーションを行い、そのシミュレーション結果を提示する。その提示は、端末装置１０４のユーザからの要求に応じて、そのユーザが所望するデータを抽出して行う。それにより、本実施の形態による生産設備情報管理システム、及び情報検索システムは、共にラインサーバ１０８に搭載させた形で実現されている。
【００４４】
ラインサーバ１０８は、設定データベース（ＤＢ）１１１、履歴ＤＢ１１２、ＰＧライブラリファイル１１３、ＰＧファイルバッファ１１４、設備情報ＤＢ１１５、工程情報ＤＢ１１６、及び工具（ツール）情報ＤＢ１１７を管理する。それらは、サーバ１０８に搭載されたハードディスク装置などの補助記憶装置、或いはそれと接続された記憶装置上に保存するものである。設定ＤＢ１１１は、生産設備の制御装置にアクセスして収集すべき情報を収集するためのデータ（収集用データ）を保存するために用意したものである。履歴ＤＢ１１２は、収集した情報や、変更された情報に係わるデータ、などを履歴として保存しておくために用意したものである。ＰＧライブラリファイル１１３は、生産設備の制御装置が現在、実行の対象としているプログラムや、パラメータなどを保存しておくために用意したものである。ＰＧファイルバッファ１１４は、制御装置から収集したプログラムやパラメータなどを一時的に格納するために用意したものである。設備情報ＤＢ１１５は、生産設備に係わる情報である設備情報を保存しておくために用意したものである。工程情報ＤＢ１１６は、生産設備でワークを加工する加工工程に係わる工程情報を保存しておくために用意したものである。工具情報ＤＢ１１７は、生産設備でのワークの加工に用いられるツール（工具）に係わる工具情報を保存しておくために用意したものである。
【００４５】
上記アプリケーションサーバ１０５もラインサーバ１０８と同様に工具情報ＤＢ１０５ａを管理する。ラインサーバ１０８は、基本的に、それが接続されたローカルＬＡＮ１０２が敷設された工場に設置の生産設備を対象にして情報を管理するのに対し、アプリケーションサーバ１０５では、そのような対象の制限はしていない。このことから、通常、アプリケーションサーバ１０５はラインサーバ１０５よりも多くの工具情報を管理する。ＤＢ１０５ａに保存する工具情報を構成するデータ項目数も、ＤＢ１１７に保存する工具情報のそれ以上である。しかし、それらの間の対応関係を特定できるように、工具情報に対応するツールを一義的に特定できる少なくとも１項目のデータは同じとしている。そのデータは、例えばツールに割り当てられたコード（ツールコード）である。
【００４６】
ラインサーバ１０８は、生産設備を制御する制御装置が有する情報を以下のようにして収集する。図２〜図９に示す各種説明図を参照して詳細に説明する。なお、各ＤＢ１１５〜１１７への情報の格納は、例えば端末装置１０４のユーザの指示により行われる。
【００４７】
図２は、生産設備から情報収集を行うための仕組みを説明する図である。図２において、「２０１」を符号として付した「Ｍ／Ｃ」は生産設備を制御する制御装置を表している。
【００４８】
制御装置は、たとえ同じ種類であっても、細部や機能などが異なるために、通常、アクセスするには個別にプログラムが必要である。メーカは、普通、同じプログラムでアクセスできるように制御装置を製造する。このことから、そのプログラムは少なくともメーカ別に用意しなければならない。図２中のＦ用プログラム２０２Ｆ、Ｔ用プログラム２０２Ｔ、Ｍ用プログラム２０２Ｍ、及びＸ用プログラム２０２Ｘは、それぞれメーカ別に用意したプログラムである。以降、それらのプログラムを総称して個別プログラム２０２と呼ぶことにする。
【００４９】
新しい製品の生産開始、製品の生産中止、老朽化、或いは生産設備の変更などの理由により、それまでになかった生産設備が新たに設置されることは多い。このため、新たな生産設備が設置される度に、それの制御装置２０１にアクセスするためのシステムの設定を担当者に行わせるようにすると、その担当者の負担は非常に重くなる。本実施の形態では、設定シート２０３を利用することでそれを回避できるようにさせている。
【００５０】
上記設定シート２０３は、制御装置２０１から収集すべき情報を収集するためのデータ（収集用データ）を予め定めた形式で記述させたものである。設定プログラム２０４は、その設定シート２０３に記述されたデータを設定ＤＢ１１１に格納してそれを更新するために用意したプログラムである。
【００５１】
収集プログラム２０５は、設定ＤＢ１１１を参照し、制御装置２０１から情報の収集に用いるべき個別プログラム２０２を特定し、特定した個別プログラム２０２を呼び出して制御装置２０１から情報を収集させ、それを受け取る。そのようにして収集した情報は履歴ＤＢ１１２に格納する。その格納は、設定ＤＢ１１１に格納されているデータに従って行う。
【００５２】
上述したようにして制御装置２０１から情報を収集するようにすると、プログラムの修正や追加などを行うことなく、設定ＤＢ１１１を更新するだけで新たな生産設備の設置に対応できるようになる。このため、新たな生産設備の設置への対応を容易に行うことができる。なお、収集プログラム２０５が設定シート２０３を直接、参照して、個別プログラム２０２を呼び出すようにしても良い。
【００５３】
図３はラインの設定シートを示す図であり、図４は設備の設定シートを示す図である。ライン設定シート２０３ａ、及び設備の設定シート２０３ｂは共に、上記設定シート２０３として用意するものである。
【００５４】
ライン設定シート２０３ａは、生産ライン単位でその構成や各生産設備から収集すべき情報を設定するためのものである。それを用意したのは、企業では、新たな生産設備の設置は生産ライン単位で行うことが多く、その生産ラインを多数の生産設備で構築することも少なくないためである。データを記述するデータ項目としては、ライン番号、設備番号、ＩＰアドレス、収集クラス、収集アイテム、名称、単位、変換係数、上限値、下限値、画面表示名、及び収集周期が設けられている。
【００５５】
上記収集アイテムは、収集するデータ項目を識別するための記号であり、収集クラスは、収集アイテムを分類するために用意した上位の概念である。収集周期は、収集アイテムで特定されるデータの収集を行う時間間隔である。その収集周期を記述する項目を設けたことにより、所望の収集周期で所望のデータを制御装置２０１から収集できるようにさせている。
【００５６】
他方の設備の設定シート２０３ａは、上記ラインの設定シート２０３ａに記述された設備番号毎に用意されるものである。図４に示すように、データ項目として、設備番号、収集アイテム、使用ＤＬＬ、アドレスが設けられている。そのアドレスとは、収集するデータの格納場所を示すものである。
【００５７】
各設定シート２０３ａ、２０３ｂに記述されたデータは、図５に示すように、収集アイテム定義テーブル５０１、収集タグ情報テーブル５０２、及び収集条件情報テーブル５０３に格納される。それら各テーブル５０１〜５０３は、収集クラス、及び収集アイテムによってリンクされている。それら各テーブル５０１〜５０３を用意することで、収集クラス、或いは収集アイテム毎にデータを収集するような形としている。設定ＤＢ１１１には、それら各テーブル５０１〜５０３が格納される。
【００５８】
生産設備では、改造などにより収集アイテムなどに変更が生じることがある。例えば或る時点までは「１０１」というタグに「ＥｑｕｉＡｌａｒｍ」という収集アイテムを割り当てていたのを「ＣｏｎｔＡｌａｒｍ」に変更するようなことがある。そのような場合、その時点の以前と以後とでタグ「１０１」がどの収集アイテムに対応しているのかが分からなくなる。区別するための情報が必要となる。収集タグ情報テーブル５０２に格納されるタグ構成バージョンは、そのために用意するものである。タグの割り当てを変更する場合には、タグ構成バージョンも変えることで管理を行うようにしている。
【００５９】
図６は、設定ＤＢ更新処理のフローチャートである。その更新処理は、図５に示すように、各設定シート２０３ａ、２０３ｂに記述されたデータを設定ＤＢ１１１に保存する各テーブル５０１〜５０３に格納するためにラインサーバ１０８が実行する処理である。それは、図２に示す設定プログラム２０４を起動することで実現される。その起動は、例えば端末装置１０４のユーザからの要求によって行われる。
【００６０】
先ず、ステップＳ１１では、各設定シート２０３ａ、２０３ｂを読み込む。その読み込みは、ローカルＬＡＮ１０２、ルータ１０３、及び構内ＬＡＮ１０１を介してその電子化データを端末装置１０４から受信することで行う。続くステップＳ１２では、各設定シート２０３ａ、２０３ｂにそれぞれ記述されたデータのなかから必要なデータを抽出して、収集アイテム定義テーブル５０１に格納する。その後はステップＳ１３に移行する。
【００６１】
ステップＳ１３では、設定シート２０３ａに記述された収集クラス、収集アイテムを収集タグ情報テーブル５０２に格納し、収集アイテム定義テーブル５０１とリンクさせる。また、収集アイテムを一意に示すタグ番号を作成して、タグ構成バージョンとともに情報テーブル５０２に格納する。次に移行するステップＳ１４では、各設定シート２０３ａ、２０３ｂにそれぞれ記述されたデータのなかから必要なデータを抽出して、収集条件情報テーブル５０３に格納する。収集クラス、及び収集アイテムも合わせて格納することにより、収集タグ情報テーブル５０２とリンクさせる。その後に一連の処理を終了する。
【００６２】
図７は、履歴ＤＢ１１２へのデータ格納方法を説明する図である。
図２に示す収集プログラム（図７中では「収集モジュール」と表記）２０５は、収集条件情報テーブル５０３中に格納されたＩＰアドレス、アドレスを用いて、それに格納された収集周期に従って、そのＩＰアドレスを持つ制御装置２０１から個別プログラム２０２を介してデータを収集し、その収集したデータをデータ収集値として収集データライブラリテーブル７０１に収集日時とともに格納する。それら以外には、収集条件情報テーブル５０３中のライン番号、設備番号、収集タグ情報テーブル５０２中のタグ番号、タグ構成バージョンを格納する。それらを格納した収集データライブラリテーブル７０１を履歴ＤＢ１１２に保存する。
【００６３】
図８は、実際に生産設備から情報収集を行う方法を説明する図である。
図８において、「ＴＬｇｅｔＤａｔａ」は図２の収集プログラム２０５の関数名を示し、「ＴＬｇｅｔＤａｔａＦｏｒＦ」は、関数ＴＬｇｅｔＤａｔａの括弧内に引数として“１８ｉ−ＬＮＡ”を記述することで呼び出される個別プログラム２０２の関数名を示している。そのようにして、収集プログラム２０５、及び個別プログラム２０２を実行させるようにしている。
【００６４】
制御装置２０１が実行するプログラムやパラメータなどは、操作盤を操作することにより現場の作業者などが変更することができる。このことから、本実施の形態では、各生産設備の制御装置２０１が実行するプログラムやパラメータなどを自動的に収集し、それらをＰＧライブラリファイル１１３に保存したものと照合して変更の有無を確認し、その確認結果を端末装置１０４を使用するユーザに提示する。変更が有れば、その詳細を提示し、その変更を承認するか否か問い合わせ、その結果に応じて、変更されたプログラムやパラメータをそれまでのものに代わってＰＧライブラリファイル１１３に保存させている。
【００６５】
変更の有無、変更内容の詳細の提示は、何れも担当者が制御装置２０１のプログラムやパラメータなどを管理するのをより容易にする。承認するか否かに応じた保存を行うようにすると、常に最新のプログラムやパラメータなどをＰＧライブラリファイル１１３に保存しておくことができ、格納領域の浪費を回避することができる。その一方では、承認されないプログラム、或いはパラメータによる製品の生産を回避させられるようになることから、生産設備で生産される製品の品質もより正確に管理できるようになる。
【００６６】
プログラムやパラメータは、稼働率や加工回数（図３参照）などとは異なり、ファイルの形で制御装置２０１に格納されている。このことから、本実施の形態では、それらの自動収集は、図３や図４に示すような設定シート２０３ａ、２０３ｂとは別の設定シートを用いて行えるようにさせている。用意した設定シートでは、データの格納場所を示すアドレスの代わりに、制御装置２０１の型式を記述している。収集する対象のファイル名は、制御装置２０１の型式別に用意する設定シートに記述するようにしている。ファイル名を記述した設定シートは、設備の設定シート２０３ｂ（図４参照）の代わりとなるものである。設定シート上に記述されたデータは同様に、設定ＤＢ１１１に格納している。それにより、設定ＤＢ１１１を参照して、図９に示すように、制御装置２０１からプログラムやパラメータなどを自動的に収集できるようにさせている。
【００６７】
自動的に収集したプログラムやパラメータなどは、ＰＧファイルバッファ１１４に格納する。そのバッファ１１４に格納したプログラムやパラメータなどは、ＰＧライブラリファイル１１３に格納されている承認されたものと照合を行い、変更されているか否か確認する。変更されているのを確認すると、その旨を示す照合情報を発行する。図１０に示すファイル照合結果画面は、例えば端末装置１０４のユーザ（その権限を有するユーザ）からの要求により、発行された照合情報を例えばオリジナルの画面に配置することで生成し、そのユーザに提示する。変更日時としては、変更されたプログラム、或いはパラメータなどを収集したときの日時を提示している。
【００６８】
上述したようなプログラムやパラメータなどのファイルの自動収集、照合は、ラインサーバ１０８は図１２に示すファイル自動収集処理を実行することで実現する。ここで図１２を参照して、その自動収集処理について詳細に説明する。その自動収集処理は、設定シート上で記述された収集周期に従ってそれを実現させるプログラムを起動させることで実行される。
【００６９】
先ず、ステップＳ２１では、ファイルの自動収集を行ううえでの初期設定を行う。続くステップＳ２２では、設定ＤＢ１１１から、設定シート上に記述された収集周期により収集すべきタイミングとなった制御装置２０１からファイルを収集するためのデータを取得し、次のステップＳ２３では、収集するファイルの保存先を示すデータを設定ＤＢ１１１から取得する。その後はステップＳ２４に移行する。
【００７０】
ステップＳ２４では、ステップＳ２２で取得したデータを用いて制御装置２０１からファイルを収集し、それをステップＳ２３で取得したデータに従い、ＰＧファイルバッファ１１４に保存する。次に移行するステップＳ２５では、ステップＳ２４で保存したファイルを、ＰＧライブラリファイル１１３に保存されている対応のファイルと照合するファイル照合処理を実行する。ステップＳ２６にはその後に移行する。
【００７１】
ステップＳ２６では、ファイル照合処理を実行した結果、違いが有ったか否か判定する。前回、ファイルを収集してから今回、収集するまでの間に、現場の作業者などがプログラム、或いはパラメータなどを変更した場合、それらの間には違いがあることから、判定はＹＥＳとなり、ステップＳ２７に移行して、違いが見つかった制御装置２０１の機番、機器名（型式）、ファイル名、変更日時（ここではそれを正確に特定できないことから、現在日時としている）などを持つ照合情報を発行した後、ステップＳ２８に移行する。そうでない場合には、判定はＮＯとなってそのステップＳ２８に移行する。
【００７２】
ステップＳ２８では、ファイルを収集すべき対象（制御装置２０１）が残っているか否か判定し、それが残っていると判定すれば上記ステップＳ２２に戻り、次にファイルを収集すべき制御装置２０１からファイルを収集するためのデータを取得し、それ以降の処理を同様に実行する。そうでなければ、ここで一連の処理を終了する。
【００７３】
図１３は、上記ステップＳ２５として実行されるファイル照合処理のフローチャートである。次に、図１３を参照して、そのファイル照合処理について詳細に説明する。
【００７４】
先ず、ステップＳ３１では、照合すべきファイルをＰＧファイルバッファ１１４、及びＰＧライブラリファイル１１３からそれぞれ取得する。次に移行するステップＳ３２では、例えば拡張子から、ステップＳ３１で取得したファイルがバイナリファイルか否か判定する。図９に示すように、そのファイルの拡張子が「ＭＥＭ」或いは「ｐｐｌ」であった場合、判定はＹＥＳとなってステップＳ３３に移行する。そうでない場合には、判定はＮＯとなってステップＳ３８に移行する。
【００７５】
ステップＳ３３〜Ｓ３７では、ファイルの先頭から終端まで、ビット単位でデータの比較を行いながら、違いがあるか否か確認する処理を行う。ファイルの終端まで比較を行っても違いが見つからなければ、そのまま一連の処理を終了し、反対に違いが見つかれば、ステップＳ３５の判定がＹＥＳとなってステップＳ３６に移行し、照合情報を発行した後、一連の処理を終了する。その照合情報が、図１２に示すファイル自動収集処理においてステップＳ２７で発行される。
【００７６】
一方、上記ステップＳ３２の判定がＮＯとなって移行するステップＳ３８〜Ｓ４１では、ファイルの先頭から終端まで、バイト単位でデータの比較を行いながら、違いがあるか否か確認する処理を行う。ファイルの終端まで比較を行っても違いが見つからなければ、そのまま一連の処理を終了し、反対に違いが見つかれば、ステップＳ４０の判定がＹＥＳとなってステップＳ３６に移行し、照合情報を発行した後、一連の処理を終了する。
【００７７】
上述したようなファイル自動収集処理、及びファイル照合処理を実行することにより、変更されたファイルが特定されることになる。それにより、端末装置１０４のユーザに、図１０に示すようなファイル照合結果画面を提示できることになる。その結果、ユーザはプログラム、或いはパラメータなどの変更の有無を知ることができ、それらの管理をより容易に行えるようになる。
【００７８】
端末装置１０４のユーザが図１０に示すようなファイル照合結果画面上でラインを選択し、変更内容（差分）の詳細の表示を指示すると、ラインサーバ１０８は、図１１に示すような変更チェック結果画面を生成して端末装置１０４に送信する。その変更チェック結果画面では、図１１に示すように、変更されたファイルの種類に応じて、プログラムを構成する命令（ブロック）毎、或いはパラメータ毎に、ファイルにそれぞれ格納された内容を対比させている。変更された行や追加された行は、他と色を変えて示している。それにより、両者の違いをより確認し易いようにさせている。
【００７９】
その変更チェック結果画面は、図１４に示す差分詳細表示処理を実行することでラインサーバ１０８は生成する。ここで図１４を参照して、その表示処理について詳細に説明する。その表示処理は、端末装置１０４のユーザからの要求により、それを実現するプログラムを起動させることで実行される。
【００８０】
先ず、ステップＳ５１では、表示対象情報を取得する。その表示対象情報とは、図１０に示すファイル照合結果画面上で選択された行の照合情報中の情報、例えばファイル名である。それを取得した後に移行するステップＳ５２では、例えば拡張子から、表示対象とするファイルがテキストファイルか否か判定する。そのファイルがテキストファイルであった場合、判定はＹＥＳとなってステップＳ５３に移行する。そうでない場合には、判定はＮＯとなってステップＳ５９に移行する。
【００８１】
ステップＳ５３では、表示対象とするファイルをＰＧファイルバッファ１１４、ＰＧライブラリファイル１１３からそれぞれ取得する。続くステップＳ５４では、バージョン管理ソフトを起動させる。
【００８２】
起動されたバージョン管理ソフトは、ステップＳ５３で取得したファイルの内容を比較することで差分チェックをステップＳ５５として行う。その後は、ステップＳ５６に移行して、差分チェック結果を出力する。
【００８３】
バージョン管理ソフトを起動させたプログラムは、その差分チェック結果をステップＳ５７で受け取り、それを配置した図１１に示すような変更チェック結果画面を生成し、それを端末装置１０４に送信する。その後はステップＳ５８に移行して、端末装置１０４から終了の指示を受信するのを待って、一連の処理を終了する。
【００８４】
本実施の形態では、差分の表示はテキストファイルのみを対象に行うようにしている。このことから、上記ステップＳ５２の判定がＮＯとなって移行するステップＳ５９では、その旨を通知するためのメッセージを送り、表示させる。続くステップＳ６０では、変更されたファイルを保存するか否かユーザに問い合わせ、そのユーザが保存を指示したか否か判定する。ユーザが保存を指示した場合、判定はＹＥＳとなってステップＳ６１に移行する。そうでない場合には、判定はＮＯとなり、ここで一連の処理を終了する。
【００８５】
ステップＳ６１では、保存先を選択させるためのパス情報を端末装置１０４に表示させる。端末装置１０４のユーザがパスを選択すると、それを示すパス情報がラインサーバ１０８に送信される。ラインサーバ１０８は、それをステップＳ６２で取得する。その後は、ステップＳ６３に移行して、取得したパス情報に従い、変更されたファイルを保存する。一連の処理はその後に終了する。
【００８６】
ラインサーバ１０８は、上記差分詳細表示処理を実行することにより、図１１に示すような変更チェック結果画面を端末装置１０４に送信し表示させる。それにより、変更された内容をユーザに確認させる。
【００８７】
その画面には、特に図示していないが、対象プログラム毎に設けられたチェック欄、設定ボタンが配置されている。変更を承認する場合、該当するチェック欄をチェックした後、設定ボタンをクリックする。その設定ボタンをクリックすると、端末装置１０４からチェック欄がチェックされた対象プログラムを示す情報がラインサーバ１０８に送信される。
【００８８】
ラインサーバ１０８は、その情報を受信すると、その情報で指定された対象プログラムやパラメータなどを、ＰＧバッファファイル１１４から読み出してＰＧライブラリファイル１１３に格納する。その格納は上書きの形で格納する。それにより、ＰＧライブラリファイル１１３には、最新の承認されたプログラムやパラメータなどだけを保存する。また、履歴ＤＢ１１２には、履歴として、例えば変更日時、変更内容（変更が行われたシーケンス番号、その前後の内容、など）を保存する。それにより、過去に使われていたプログラムやパラメータなどの再現、再利用を行えるようにさせている。
【００８９】
プログラムが承認されると、本実施の形態では、その後に、そのプログラムを参照して、それを制御装置２０１が実行することで生産設備がワークの加工に要する時間をサイクルタイムとして算出するシミュレーションを行っている。それらの結果は保存することで、必要に応じて端末装置１０４のユーザが参照できるようにさせている。以降は、そのサイクルタイムの算出方法について図１５〜図２４に示す各種説明図を参照して詳細に説明する。
【００９０】
生産設備を制御する制御装置２０１が実行するプログラムは、その制御装置２０１の種類によって普通は異なる。同じ種類の制御装置２０１にも複種類のプログラム言語が開発されている。このことから、混乱を避けて理解を容易とするために、以降、図１５に示すプログラムを例にとって、本実施の形態におけるサイクルタイムの算出方法について詳細に説明することとする。
【００９１】
図１５に示すプログラム例は、ＮＣ制御装置が実行するＮＣプログラムである。図１５中の各ブロックは、ＮＣプログラムを構成する１命令文に当たる。ＮＣプログラムは基本的に、そのブロックを実行順に並べた形で構成されている。
【００９２】
１ブロックは、シンボル“Ｎ”に続く数値で表されたシーケンス番号を先頭に、機能の種類を表すシンボル、及びそれに続くコード化された数値からなるデータ（コード）が１つ以上、続く構成となっている。シーケンス番号は、ＮＣプログラムの先頭に近づくほど小さな値となる昇順で記述される。「（」と「）」内に記述された内容はコメントとして無視される。以降、プログラムはＰＧと略記することにする。
【００９３】
図１５中の“Ｇ”“Ｍ”“Ｓ”及び“Ｔ”は、それぞれ異なる機能の種類を表すシンボルであり、それに続くコード化された数値が機能の命令（指令）を表すようになっている。
【００９４】
シンボル“Ｇ”は準備機能を表し、補間の種類や座標系の選択、固定サイクル、ねじ切り、準備機能、或いはその他のことは、それに続く数値（Ｇコード）で指定する。シンボル“Ｘ”、“Ｙ”は、それに続く数値で座標位置などを指定するために用いられる。
【００９５】
シンボル“Ｍ”は補助機能を表し、主軸の回転や停止、その回転方向、工具交換などは、それに続く数値（Ｍコード）で指定することができる。シンボル“Ｓ”は主軸機能を表し、主軸の回転速度は、それに続く数値（Ｓコード）で指定することができる。シンボル“Ｔ”は工具機能を表し、それに続く数値（Ｔコード）で使用する工具（ツール）を指定することができる。
【００９６】
上述したような機能が用意されていることから明らかなように、生産設備でのワークへの加工は、随時、ツールを交換しながら、そのツールを用いてワークの複数の箇所を加工することがある。このことから、本実施の形態では、加工に使用するツールの種類、及びそのツールでワークを加工する動作を一時的に中断するときの動作に着目してプログラムの解析を行うことにより、プログラムを実行する制御装置２０１の制御下で生産設備がワークを加工する加工工程を基本的な加工工程に分割し、そのサイクルタイムを算出するようにしている。例えば同じツールを用いてワークに穴を空ける加工を複数、行わせるようなＰＧの場合には、そのツールに動力を伝える主軸を一時的に回転停止させる動作に着目して、加工工程を分割する。これは、ツールを単に移動させるときには主軸の回転を停止させるのが普通であるためである。それにより、各穴はそれぞれ１加工工程の加工によって空けられるものと見なし、１個の穴を空けるのに要する時間をサイクルタイムとして算出している。
【００９７】
ツールの位置を随時、移動させつつ、ワークの加工を複数回、行うような場合、その加工に要する全体の加工時間は、その加工を行っている間にツールを移動させる距離によって変化してくる。その距離は、加工を行う位置の順序によって変化するのが普通である。当然のことながら、その距離を短くするほど、全体の時間が短くなる。生産設備がワークを加工する加工工程を基本的な加工工程に分割してサイクルタイムを算出するのは、このためである。各加工工程での加工条件（ここではツールの種類や加工位置、加工方法（ツールの使い方やその移動方向など）など）もＰＧから抽出して作業者に提示できるようにさせている。
【００９８】
そのように分割した加工工程の順序を変化させると、それに伴い、各加工工程のサイクルタイム、更には全体の加工時間が変化する。このため、そのサイクルタイムを提示することにより、作業者、或いは管理担当者（端末装置１０４のユーザ）は、問題のある加工工程を正確に把握できるようになる。それにより、ツールの調整や加工工程の見直しも容易に行えるようになる。この結果、加工工程の最適化、例えば全体の加工時間を最も短くさせるか、或いは目標とする時間と一致させるといったことも容易となる。
【００９９】
サイクルタイムと併せて、加工工程の加工条件を提示するようにした場合には、サイクルタイムの変化に影響を及ぼす要因の特定が更に容易となる。このため、加工工程の最適化も更に容易に行えるようになる。
【０１００】
図１６は、加工工程の分割方法を説明する図である。主軸を回転させてワークを加工する生産設備を例にとって、その制御を行う制御装置が実行するプログラムから、その生産設備がワークを加工する加工工程を基本的な加工工程に分割する方法を説明するものである。
【０１０１】
図１６に示すように、先ず、ツール（工具）交換を指令するブロックを検出し、そのブロックでＰＧを分ける。それにより、同一のツールで加工を行わせるためのブロック群を特定する。以降、基本的な加工工程と区別するために、同一のツールを用いて行われる加工工程全体を指してツール工程と呼び、それを分割して得られる基本的な加工工程は基本加工工程と呼ぶことにする。そのツール工程は、１つ以上の基本加工工程から構成される。
【０１０２】
図１５に示すようなＰＧでは、工具交換指令は１個、或いは２個のブロックで行われる。図１６中の「ケース１」「ケース３」は、共に１ブロック（命令文）で工具交換指令を実現させたケースである。「ケース３」はマクロとして用意されたサブＰＧを呼び出すことで工具交換指令を実現させていることが「ケース１」とは異なっている。「ケース２」は、工具の準備を指令するブロック、及び準備を指令した工具への交換を指令するブロックの２個のブロックで工具交換指令を実現させたケースである。何れのケースでも、実際に工具を交換させることになる指令のブロックでＰＧを分けている。
【０１０３】
工具（ツール）交換に着目してＰＧを１つ以上のブロック群に分割すると、次に、各ブロック群（ツール）毎に、そのブロック群を、主軸停止を指令するブロックに着目して更に分割する。より具体的には、そのブロックとして、ここでは一時的に主軸停止を指令することになるブロック、即ち主軸の回転を指令するブロックが後に配置されている主軸停止を指令するブロックに着目している。そのブロックとして、一時的に主軸停止を指令することになるブロックに着目したのは、主軸を回転させてワークを加工する生産設備では、主軸を停止させたままワークを加工することは通常ありえないためである。それにより、１ツールで１回の加工を行う場合には、そのツールのツール工程は分割せず、ツール工程は１基本加工工程から構成されているとしている。
【０１０４】
そのようにして各加工工程毎にＰＧを更に細かく分割すると、次に各ブロック群毎に、加工条件（ここでは切削条件）を抽出する。ここで抽出している切削条件とは、主にサイクルタイムを算出するうえでも必要な条件であり、本実施の形態では、その切削条件として、Ｆ、Ｅ、Ｓ、Ｄ値を状況に応じて抽出している。それらの値は、何れもブロック（図１５参照）に機能のコードとして記述することが可能な値である。Ｆ値（Ｆコード）は、主軸の移動速度を表現し、Ｅ値（Ｅコード）は主軸、１回転当たりの移動量を表現し、Ｄ値（Ｄコード）はツールの周速を表現している。
【０１０５】
主軸は、ツールで加工を行わない場合、パラメータで設定された速度で移動させる。予め定められた原点に主軸を戻すのが早戻しであり、それ以外の移動が早送りである。ワークに穴を空ける場合、通常Ｚ軸上の位置を減少させることで行われる。ワークにツールを接触させた状態で主軸をＸＹ平面上に移動させると、ワークに溝を形成させたり、その表面を削ることができる。これらのことから、本実施の形態では、図１７に示すように、切削、早送り、及び早戻しの識別を行うようにしている。図１７中のＧコード「Ｇ０１」は直線補間、Ｇコード「Ｇ００」は位置決めを表している。
【０１０６】
ツールを用いて行う加工の内容、つまりツールによるワークの加工法（使用形態）は、その種類によって限定される。このことから、本実施の形態では、図１８に示すように、ツール（工具）による加工法を区分け、即ちツールの種類とそのツールを用いて行える加工法との間の対応関係を定義している。それにより、ワークの加工に用いられるツールの種類を考慮して、加工工程を分割し、サイクルタイムの算出、及び加工条件の抽出を行うようにしている。
【０１０７】
ツールによるワークの加工は、そのツールを移動させて行われる。そのツールを移動させる方法は、ツールの種類だけでなく、ワークの形状や加工する場所などによっても変化する。例えば、平面状の部分に穴を空ける場合、穴を空けられるようにツールを移動→ツールを移動させて穴を空ける、といったような手順で加工を行うことができるが、ワークに形成されている穴にツールを通して、その穴の出口部分を削る場合には、その穴にツールを通せる位置にまで移動→穴にツールを挿入する→出口部分を削れるようにツールを移動→出口部分を削るためのツールの移動、といったように、手順が複雑となる。このようなことから、本実施の形態では、ツールの移動の仕方を含むワークの加工法を加工仕様として、その特徴をパターン（定義）化し、そのパターン化した加工仕様特徴を参照して加工工程の分割を行うようにしている。
【０１０８】
図１９は、そのパターン化例を説明する図である。
その図１９に示すように、本実施の形態では、穴あけ、ねじ立て、中繰り切削、ボーリング、溝入れ、フライス、面削り、面取り、バリ取り、歯切り・ブローチ加工、穴掃除、検査、に加工法を大別し、大別した加工法を更にツールの使用形態などを考慮して細分化し、細分化した加工法別にその加工に用いることができるツールの種類を設定している。パターン化した加工仕様特徴は、細分化した加工法別に設定している。ツールを用いた加工に対応する加工仕様特徴パターンは、その種類から大別した加工法を特定し、特定した加工法で用意された加工仕様特徴パターンを対象に、ＰＧ中で指定されたツールの移動のさせ方のマッチングを行い、その移動のさせ方と一致するものを探し出すことで特定している。
【０１０９】
なお、図１９中のＧコード「Ｇ０３」は円弧補間／ヘリカル補間ＣＣＷ、Ｇコード「Ｇ７４」は逆タッピングサイクル、Ｇコード「Ｇ７６」はファインボーリング、Ｇコード「Ｇ８４」はタッピングサイクル、Ｇコード「Ｇ８６」はボーリングサイクル、をそれぞれ表している。
【０１１０】
図２０は、加工工程の分割例を説明する図である。上述したようにして実際のＰＧを解析することで加工工程毎にＰＧをブロック群に分け、各ブロック群から切削条件を抽出する様子を示したものである。その図２０に示すＰＧでは、Ｔコードを持つブロックを実行することで呼び出されるサブＰＧはマクロとして用意されている。図中の「工程１」「工程２」は、それぞれツール工程を表している。
【０１１１】
図２１は、１生産設備により加工されたワークを示す図である。
そのワークには、図２１に示すように、形状が異なる４種類の穴＃１〜４が空けられている。それらの穴＃１〜４は、それぞれ異なるツールを用いて空けられている。形状が同じ穴＃２は２個、空けられている。穴＃３は、円形ではなく、細長い形状に空けられている。
【０１１２】
そのような穴＃１〜４を空ける加工を行わせるためのＰＧでは、それを４つのツール工程のブロック群に分けることになる。図中の工程１〜４は、ブロック群に分けられたツール工程、それに付された番号は、そのツール工程が行われる順序を表している。穴＃２は２個あることから、工程２に対応するブロック群は更に２つのブロック群に分けられる。穴＃３は、他とは異なり、ワークの表面の形状が細長くなっている。そのような形状の穴＃３は、例えばツール（例えばドリル）でＺ軸に沿った穴を空けた後、そのツール（主軸）をＸＹ平面上に移動させることで形成される。それにより、図３を参照して説明の加工条件（ここでは切削条件）が変化する。穴＃３を空けるのに要するサイクルタイムを算出する場合、Ｚ軸に沿った穴を空けるのに要する時間と、ツールをＸＹ平面上に移動させた時間とは、別々に計算しなければならない。このことから、そのような加工条件を抽出するようにしている。
【０１１３】
図２２は、サイクルタイムの定義と計算方法を説明する図である。図２３は、そのサイクルタイム計算用データの取得方法を説明する図である。次に、図２２、及び図２３を参照して、計算の対象とするサイクルタイム、その計算方法、及びその計算に用いるデータの取得方法について詳細に説明する。それら図２２、及び図２３は、切削加工を行う生産設備を例にとった場合のものである。
【０１１４】
図２２において、「Ｔ工程サイクル１」「Ｔ工程サイクルＮ」は、それぞれ、同じツールを用いてワークを加工する基本加工工程に対応する。図２１に示すワークでは、２つの穴＃２を空けるためのそれぞれの加工工程に対応する。そのサイクルタイムＴＲＫは、その基本加工工程の加工を行うために生産設備を稼働させている稼働時間である。
【０１１５】
「ツールサイクル」は、上記ツール工程に対応し、そのツール工程で行われる全基本加工工程から構成される。従って、そのサイクルタイムＴＲ　は、図２０に示すように、各基本加工工程のサイクルタイムＴＲＫを積算して計算される時間となる。「設備サイクル」は、生産設備でワークを加工する工程全体に対応し、全ツール工程はその一部として行われる。このため、そのサイクルタイムＴは、各ツール工程のサイクルタイムＴＲ　を積算して計算される時間に、生産設備固有のワークの加工に必要な時間を加算して得られる時間となる。加工するワークを作業員がセットして安全用の扉を閉め、その扉を開けて加工が終わったワークを取り出すのであれば、図２２に示すように、固有の時間として、ワークをセットして扉を閉めるのに要する時間ＴＢＳ、及び扉を開けてワークを取り出すのに要する時間ＴＢＥを加算することになる。
【０１１６】
「ラインサイクル」は、１生産ラインでワークを加工する工程全体に対応し、全設備サイクル（工程）はその一部として行われる。このため、そのサイクルタイムＴＬは、各設備サイクルのサイクルタイムＴを積算して計算される時間に、生産ライン固有のワークの加工に必要な時間を加算して得られる時間となる。生産設備間でのワークの受け渡しを作業員が運搬して行うのであれば、固有の時間として、生産設備間の運搬時間をそれぞれ加算することになる。
【０１１７】
基本加工工程のサイクルタイムＴＲＫは、図２０に示すように、その添字で示す基本加工工程ＲＫにおける早送り時間（主軸を早送りする時間）Ｔｑｆ＿ＲＫ、位置決め時間Ｔｌｄ＿ＲＫ、ＡＴＣ時間（ツールの自動交換に要する時間）Ｔａｔｃ＿ＲＫ　、テーブル割出時間（ワークをセットするテーブルの割出角度を変化させるために要する時間）Ｔｔａｃ＿ＲＫ　、ドウエル時間Ｔｄ＿ｒｋ　、主軸加速度タップロス時間（主軸の回転速度が目標値に達するまでに要する時間）Ｔａｌ＿ＲＫ、総切削（加工）時間Ｔｔｓ＿ＲＫ、早戻し時間（主軸を原点に向けて早戻しする時間）Ｔｑｒ＿ＲＫ、及び工具検知時間Ｔｔｃｃ＿ＲＫ　を加算することで計算される。
【０１１８】
上記総切削（加工）時間Ｔｔｓ＿ＲＫは、上述したように、ＰＧ中から抽出した加工条件別に加工に要する時間を算出し積算することで求められる時間である。例えば図２１に示すような穴＃３では、Ｚ軸に沿って穴を空けるのに要する時間と、主軸をＸＹ平面上に移動させるのに要する時間と、を加算した時間となる。
【０１１９】
上記各時間では、上述したようにツール工程を基本加工工程に分割することから、切削加工では、早送り時間Ｔｑｆ＿ＲＫ、位置決め時間Ｔｌｄ＿ＲＫ、主軸加速度タップロス時間Ｔａｌ＿ＲＫ、及び総切削時間Ｔｔｓ＿ＲＫ以外の時間は０であることがあり得る。例えばＡＴＣ時間Ｔａｔｃ＿ＲＫ　は、最初の基本加工工程以外では０となり、早戻し時間Ｔｑｒ＿ＲＫは最後の基本加工工程以外では０となる。工具検知時間Ｔｔｃｃ＿ＲＫ　は、生産設備によっては主軸に別の動きを行わせている間に工具の検知を行うようにしていることから、０ということもある。このことから、工具検知時間Ｔｔｃｃ＿ＲＫ　は、ファイルに保存した固定値を使用するようにしている。それ以外には、位置決め時間Ｔｌｄ＿ＲＫ、ＡＴＣ時間Ｔａｔｃ＿ＲＫ　、更には時間ＴＢＳ、ＴＢＥもファイルに保存した固定値を使用するようにしている（図２２参照）。以降、そのファイルについては、サイクルタイム算出用に用意したものであることから、算出用ファイルと呼ぶことにする。
【０１２０】
上記早送り時間Ｔｑｆ＿ＲＫ及び早戻し時間Ｔｑｒ＿ＲＫは、主軸の移動上の制約を考慮して算出される。例えば主軸を同時には１軸上にしか移動できなければ、各軸毎の移動距離の積算値が主軸の移動距離となる。その移動距離の移動にかかる時間は、各軸毎に、その移動距離をその軸の早送り速度で割って得られる時間を積算したものとなる。複数軸上に移動できるのであれば、各軸上の移動距離をその軸の早送り速度で割って得られる時間の最大時間が移動にかかる時間となる。このことから、主軸の移動上の制約を考慮して時間を算出している。各軸上を含め、移動距離は、ＰＧから取得し、早送り速度は、各軸毎に、生産設備の制御装置２０１から収集したパラメータ中から取得している。
【０１２１】
テーブル割出時間Ｔｔａｃ＿ＲＫ　を算出するための割出角度θは、ＰＧ中から取得する。その算出は、９０度のテーブル回転に要する基準時間αに、割出角度θを９０で割った値を掛けることで行っている。基準時間αは、上記算出用ファイル内に用意するか、或いはサイクルタイム算出用にラインサーバ１０８が実行するプログラム内で定義されている。
【０１２２】
ドウエル時間Ｔｄ＿ＲＫ　は、ＰＧ中から取得する。それが複数、存在していれば、その累計値が時間Ｔｄ＿ＲＫ　となる。主軸加速度タップロス時間Ｔａｌ＿ＲＫは、Ｓコードで指令される回転速度に主軸が達するのに要する時間である。その時間は、例えば算出用ファイルにテーブル形式、或いはそれを算出するための方程式の形で格納されている。図２３に示す例は、Ｓコードで指令される回転速度が１５００ｒｐｍまでは固定値ａ、その回転速度が１５００〜３０００ｒｐｍの間は固定値ｂ、その回転速度が３０００ｒｐｍ以上であれば固定値ｃを時間Ｔａｌ＿ＲＫとすることを表している。
【０１２３】
加工では、同じ、或いは同じと見なせる加工を繰り返し行うことがある。例えばフライス加工では、フライス面を加工するのにツールを複数回、場所や方向を変えつつ、移動させることがある。ここでは、ツールを１回、移動させる加工を１パスと呼んでいる。それにより、総切削時間Ｔｔｓ＿ＲＫは、１パス当たりの切削（加工）時間に、パス数ＰＮ＿ＲＫを掛けて算出している。１パス当たりの切削時間は、そのパスでの切削距離を送り速度で割ることで求めている。切削距離、送り速度、及びパス数ＰＮ＿ＲＫは、共にＰＧから取得している。
【０１２４】
このようにして、本実施の形態では、生産設備の制御装置２０１から収集したパラメータを必要に応じて使用して、基本加工工程のサイクルタイムＴＲＫを算出している。このため、実際のサイクルタイムと高精度に一致するサイクルタイムＴＲＫを算出することができる。他のサイクルタイムＴＲ　、Ｔ、及びＴＬにおいても同様である。それにより、作業者にとっては、算出されたサイクルタイムを検討するだけで、加工工程の最適化を高精度に行えるようになる。
【０１２５】
算出した各種サイクルタイムや基本加工工程の加工条件は、ライン番号や設備番号などとリンクさせて保存している。各加工工程は、その順序やその加工に用いるツールなどとリンクさせて保存させている。それにより、ライン単位、生産設備、ツール、などをキーとして検索を行えるようにしている。その検索は、端末装置１０４のユーザからの要求に応じて行い、その検索結果をユーザに提示している。それにより、プログラムをより適切、且つ容易に検討できるようにさせている。
【０１２６】
図２４は、上述したようにしてサイクルタイムを算出するラインサーバ１０８の機能構成図である。
ＮＣＰＧ読込部４０１は、サイクルタイムを算出する対象となるＰＧ（図中、「ＮＣＰＧ」）２４１０をＰＧライブラリファイル１１３から読み込み、工具情報取得部２４０２、及び工程情報認識部２４０３に渡す。
【０１２７】
工具情報取得部２４０２は、ＮＣＰＧ読込部２４０１から渡されたＰＧ２４１０中で使用が指定されたツールを示すデータ、例えばＴコードを抽出し、それをキーに工具情報ＤＢ１１７の検索を行うことにより、そのＴコードで指定されるツールの種類を特定する。工程情報認識部２４０３は、例えばＰＧ２４１０に対応する工程情報が工程情報ＤＢ１１６に格納されていればそれを読み出す。
し、特殊切削・加工パターン認識ロジック部２４０４に渡す。
【０１２８】
そのロジック部２４０４は、工具情報取得部２４０２からツールの種類を示すデータを受け取り、工程情報認識部２４０３からは工程情報を受け取って、ＰＧ２４１０の解析を行い、そのＰＧ２４１０を制御装置が実行することで行われる加工工程をツール工程に分割し、分割したツール工程を、加工仕様特徴（パターン）情報２４２０を参照して更に基本加工工程に分割する。その分割は、工程情報認識部２４０３から工程情報を受け取ればそれを参照して行い、それを受け取れなければ、ＰＧ２４１０のみを参照し、それを解析することで行う。
【０１２９】
そのロジック部２４０４が参照する加工仕様特徴情報は、図１９に示すようにパターン化した加工仕様特徴別に、その加工に用いられるツールの種類やそのパターンなどを定義したものである。例えば、工具情報ＤＢ１１７などが構築された記憶装置上に格納されている。その情報を参照してロジック部２４０４は、上述したようにして加工工程の分割を行う。
【０１３０】
切削条件・Ｃ／Ｔ抽出計算処理部２４０５は、ロジック部２４０４が分割した加工工程毎に、加工条件をＰＧ２４１０中から抽出し、そのサイクルタイム（Ｃ／Ｔ）を算出する。抽出した加工条件、算出したサイクルタイムは、例えばＰＧ２４０１やそれを実行する制御装置が制御する生産設備などとも対応付けて切削条件Ｃ／Ｔ情報ＤＢ２４０６に格納する。そのＤＢ２４０６は、例えば工具情報ＤＢ１１７などが構築された記憶装置上に構築されたものである。
【０１３１】
なお、本実施の形態では、混乱を避けるために、ＮＣ制御装置が実行するＮＣプログラムを例にとって説明を行ったが、他の制御装置が実行するプログラムでもサイクルタイム算出の対象とすることができる。加工工程の分割については、本実施の形態では、ツールを交換する動作（１ブロック（命令）の実行で実現）、及び主軸を一時的に回転停止させる動作（２ブロック（命令）の実行で実現）に着目して行っているが、着目する動作は、生産設備がワークに対して行う加工の内容に応じて適宜、選択することが望ましい。
＜第２の実施の形態＞
上記第１の実施の形態では、ラインサーバ１０８が管理するＤＢ１１５〜１１７に格納させるべき情報は端末装置１０４のユーザの指示により格納させるようになっている。例えば端末装置１０４から格納させるべき情報を送信（それを格納したファイルを指定するか、或いは入力することで送信される）させるか、或いはその情報の格納場所を指定することで行うようになっている。しかし、そのような方法では、新たにＰＧを作成したり、或いはそれを変更した場合、各ＤＢ１１５〜１１７にそれを反映させるのが遅くなるのが実情である。また、それを反映させること自体、面倒である。このようなことから、第２の実施の形態は、ＤＢ１１５〜１１７への反映をより容易に行えるようにしたものである。
【０１３２】
第２の実施の形態における構成は、基本的に第１の実施の形態におけるそれと同じである。動作についても大部分は同じである。このことから、第１の実施の形態の説明で付した符号をそのまま用いて、第１の実施の形態から異なる部分についてのみ説明することとする。
【０１３３】
ＰＧ２４１０を新たに作成、或いは既存のＰＧ２４１０を変更する。と各ＤＢ１１５〜１１７に格納される設備情報、工程情報、及び工具情報などの生産設備情報は、新たなＰＧ２４１０の作成と併せて作成し、既存のＰＧ２４１０の変更に併せて更新しなければならない。新たに作成したＰＧ２４１０、変更したＰＧ２４１０は、当然のことながら、それを実行させる制御装置に格納させなければならず、それをＤＢ１１５〜１１７に反映させることより重要度が高いのが普通である。第２の実施の形態では、このようなことにも着目し、ＤＢ１１５〜１１７への反映を自動的に行うようにしている。以降、既存のＰＧ２４１０を変更して得られるＰＧ２４１０も新しいものであることから、新たに作成したＰＧ２４１０、及び既存のＰＧ２４１０を変更して得られたＰＧ２４１０を「新ＰＧ」と総称することにする。
【０１３４】
第２の実施の形態では、各ＤＢ１１５〜１１７に登録（ここでは、格納された情報の更新を含む）すべき情報をＰＧ２４１０中に挿入し、その挿入された情報をラインサーバ１０８が抽出して各ＤＢ１１５〜１１７に登録させるようになっている。それにより、端末装置１０４のユーザがその登録を行う必要性を回避させて、生産設備の管理をより容易に行えるようにさせている。
【０１３５】
図２５は、ＰＧ２４１０への情報の挿入方法を説明する図である。
第２の実施の形態では、図２５に示すように、生産準備情報（生産設備情報）を構成する設備設計情報、工具設定情報、及び工程設計情報を各ＤＢ１１５〜１１７に登録すべき情報としてコメント（「（」と「）」の間の記述はコメントと見なされる）の形でＰＧ２４１０中に挿入させている。ラインサーバ１０８は、設備設計情報は設備情報、工具設計情報は工具情報、工程設計情報を工程情報とみなして、各ＤＢ１１５〜１１７に登録する。
【０１３６】
設備情報（設備設計情報）、工具情報（工具設計情報）、及び工程情報（工程設計情報）は、第１の実施の形態と基本的に同じものであり、以下のデータから構成される。
【０１３７】
設備情報は、設備基本情報と、設備能力情報と、から構成される。設備基本情報は、機番（設備番号）、ファイル名（設備情報が格納されたファイルの名前）、作成日付、設備機種、設備メーカ名、設備名、生産設備の制御装置（図中「ＮＣ」と表記）メーカ、その制御装置の機種、その型式、などのデータから構成される。他方の設備能力情報は、生産設備の軸数、ＡＴＣ（交換可能なツールの）本数、ＡＴＣ時間、ツール検知時間（図中「刃具検知時間」）、及びその他のデータから構成される。
【０１３８】
工具情報は、工具名、ツールコード（図中「ＴＣ」）、工具種類、ツールを用いた加工法（回転、直進、バック）、工具径、工具長、ヘッダ角度、ホルダ名、チップ数、材質、寿命、などのデータから構成される。
【０１３９】
工程設計情報は、ライン工程情報、設備工程情報、及び工具工程情報から構成される。ライン工程情報は、加工工程が属するライン工程名（オペレーション（ＯＰ）番号）、その他のデータから構成される。設備工程情報は、設備工程名、ツール（刃具）検知の有無、クーラントの種類（空気、或いはそれ以外）、などのデータから構成される。工具工程情報は、工具工程名、及びその他のデータから構成される。通常、工程情報は、１つのライン工程情報、１つ以上である設備工程情報、及び工具工程情報から構成される。
【０１４０】
設備情報は、ＰＧ２４１０のメインＰＧ内に挿入し、工程情報を構成するライン工程情報は、それに続ける形で挿入される。工具情報、及び工程情報を構成する設備工程情報、及び工具工程情報は、それに関係するＰＧ２４１０中のブロックの記述が出現する位置に合わせて随時、挿入される。
【０１４１】
本実施の形態では、上述したようにして、ＰＧ２４１０の内容を理解しようとする人がより理解し易くなるように、その内容を記述したブロックの近傍にその内容を理解するのに役立つ情報をコメントの形で配置するようにしている。それにより、各ＤＢ１１５〜１１７への登録の他に、ＰＧ２４１０の内容の理解をより容易に行えるようにしている。
【０１４２】
コメントとしての情報の記述方法は、特に限定するものではないが、それを見る人が容易に理解できるように、ＸＭＬなどのマークアップ言語で記述することが望ましい。
【０１４３】
ラインサーバ１０８は、図２５に示すように情報が挿入されたＰＧ２４１０を生産設備の制御装置から自動的に収集する。収集したＰＧ２４１０のなかの新ＰＧ２４１０が各ＤＢ１１５〜１１７の更新を行ううえでの対象となるが、その更新は、承認の権限を有する端末装置１０４のユーザがそれを承認した場合に行う。それにより、不必要な登録を行うようなことを回避させている。図２６は、そのようにしてＰＧ２４１０に挿入された情報をＤＢ１１５〜１１７に登録する様子を示す図である。なお、状況等にとっては、その承認とは無関係に、登録を行わせるようにしても良い。
【０１４４】
設備情報中の設備番号（機番）、工具情報中のツールコード（ＴＣ）は一義的にそれらの情報を特定するデータである。工程情報では、ライン工程情報中のライン工程名、設備工程情報中の設備工程名、工具工程情報中の工具工程名がそうである。このことから、ラインサーバ１０８は、それらのデータをキーにして対応するＤＢ１１５〜１１７の検索を行うことにより、更新すべき情報の有無を判断し、その判断結果に応じてＰＧ２４１０中に挿入された情報を対応するＤＢ１１５〜１１７に登録する。即ち更新すべき情報が存在すれば、ＰＧ２４１０中に挿入された情報を上書きする形で登録し、更新すべき情報が存在していなければ、対応するＤＢ１１５〜１１７中に情報を書き込む領域を確保して、その確保した領域にＰＧ２４１０中に挿入された情報を書き込む。そのようにして、各ＤＢ１１５〜１１７の更新を行う。
【０１４５】
ＤＢ１１５〜１１７の更新を行う場合、情報を書き込むＤＢ１１５〜１１７には、各ＤＢ１１５〜１１７に格納する設備情報、工程情報、及び工具情報間の対応関係を特定できるように、例えば、その少なくとも２つの情報には、残り１つの情報を一義的に特定できるデータを挿入している。そのようにして、それらの情報を対応付けて端末装置１０４のユーザに提供できるようにさせている。それらの情報が挿入されたＰＧ２４１０との対応関係については、残り１つの情報、或いはそれ以外の情報にそのＰＧ２４１０を一義的に特定できるデータ（例えばプログラム番号。図２５に示すＰＧ２４１０では、その先頭に「Ｏ」に続けて記述される番号（ここでは「１」が対応する）を挿入することにより特定できるようにさせている。
【０１４６】
図２７は、設備情報、工具情報、ワーク情報、加工情報（工程情報・加工ＰＧ）の管理方法を説明する図である。これらの情報は、ユーザによる設定、他のＤＢからの収集、または、そのＰＧ２４１０への挿入により、各ＤＢ１１５〜１１７に登録された設備情報、工程情報、及び工具情報を他の情報と連携させる方法、それらを端末装置１０４のユーザに提供する方法を説明する図である。次にそのようなことを実現させる方法について図２７を参照して詳細に説明する。
【０１４７】
第２の実施の形態では、ＰＧ２４１０に挿入された情報をワークと対応付けるようにしている。これは、そのＰＧ２４１０を制御装置が実行することで生産設備が加工を行うワークがどのようなものかを容易に知ることができるようにするためである。図２７に示すように、そのための機能として、「設備←ワーク定義機能」「ワーク⇔ＰＧ対応登録機能」「工具⇔ワーク対応登録機能」を用意している。設備←ワーク定義機能は生産設備別に、それが加工の対象とするワークを定義するための機能でる。ワーク⇔ＰＧ対応登録機能は、ワーク別に、それを加工する生産設備を制御する制御装置が実行するＰＧ２４１０を登録するための機能である。工具⇔ワーク対応登録機能は、ツール（工具）別に、そのツールを用いて加工が行われるワークを登録するための機能である。
【０１４８】
生産設備から、それを制御する制御装置が実行するＰＧ２４１０を特定することができる。しかし、制御装置が１つのＰＧ２４１０だけを実行するとは限らない。つまり、複数のＰＧ２４１０を切り替えて制御装置に実行させるような場合がある。
【０１４９】
生産設備が加工の対象とするワークも１つだけとは限らない。これは、ワークによってその加工に用いられるツールが異なる場合があることを意味する。これらのことから、第２の実施の形態では、上記設備←ワーク定義機能、ワーク⇔ＰＧ対応登録機能、工具⇔ワーク対応登録機能を用意して、生産設備とワーク、ワークとその加工に用いられるＰＧ２４１０、ツールとそれが加工に用いられるワーク、の各対応関係を端末装置１０４のユーザに定義させるようにしている。工具⇔ワーク対応登録機能では、各ツール毎に、それが加工に用いられるワークを指定させるようにしている。それらの機能により入力されたデータは、対応情報として対応情報ＤＢ１１８に格納している。その対応情報を格納することにより、ワークの情報を各ＤＢ１１５〜１１７に格納された情報と連携させて端末装置１０４のユーザに提供できるようにさせている。
【０１５０】
図２７中に表記の「設備⇔工具割付機能」は、生産設備でワークの加工に用いられるツールを割り付ける機能である。その機能では、以下のようなことを行うようになっている。
【０１５１】
その機能を起動させることで表示される画面には、項目名として「現状使用ツールＮｏ」「取込ツールＮｏ」が配置されている。項目「現状使用ツールＮｏ」の欄には、生産設備で現在、使われているツールの例えばツールコードが配置され、項目「取込ツールＮｏ」の欄には、その生産設備で次に使われる、つまり制御装置に実行させるＰＧ２４１０を切り替えた後に使われるツールのツールコードが配置される。それらの項目の図中、左側にそれぞれ位置する項目「Ｔ−Ｎｏ」の欄には、ＰＧ２４１０中に記述されたＴコードが配置される。それにより、生産設備で現在、使用されているツール、次に使われるツールをリアルタイムに管理できるようにさせている。生産設備で使われるツール（その工具情報）は、その生産設備を制御する制御装置が実行するＰＧ２４１０から特定することができる。項目「刃具」の欄に配置された数字は、ツールに取り付けている刃具（例えばチップ）の数を表している。
【０１５２】
ところで、制御装置から収集したＰＧ２４１０は、アプリケーションサーバ１０５が管理する工具情報ＤＢ１０５ａに工具情報が格納されていないツールの使用を指定していることがあり得る。例えば端末装置１０４のユーザがアプリケーションサーバ１０５、或いは１０６を利用することなくＰＧ２４１０を新たに作成、若しくは変更するか、そのＰＧ２４１０の作成、或いは変更を外部に委託したような場合、そのようなことが起こり得る。このようなことから、ラインサーバ１０８が管理する工具情報ＤＢ１１７に格納された工具情報は、アプリケーションサーバ１０５が管理する工具情報ＤＢ１０５ａにも格納させるように連携させている。その連携は、例えばＰＧ２４１０から抽出した工具情報をＤＢ１１７に格納した場合に、その工具情報中のツールコードをラインサーバ１０８がアプリケーションサーバ１０５に送信して、そのコードを有する工具情報がＤＢ１０５ａに格納されているか否か確認させることにより、該当する工具情報が格納されていないことが確認された工具情報をラインサーバ１０８がアプリケーションサーバ１０５に送信することで行われる。
【０１５３】
図２７中に表記した機能は、特に詳細な説明は省略するが、ラインサーバ１０８にアクセスさせた端末装置１０４に搭載、或いはそれと接続された表示装置上に表示される画像上に配置されたアイコン、或いはメニュー項目をクリックしていくことで起動されるようになっている。それにより、端末装置１０４のユーザが必要に応じて所望の機能を利用できる環境を実現させている。
【０１５４】
なお、第２の実施の形態では、サーバ１０５が管理するＤＢ１０５ａに必要な工具情報を全て格納させるようにラインサーバ１０８に連携を行わせているが、その連携は、必要に応じて設備情報や工程情報を対象に行うようにしても良い。また、ＰＧ２４１０に挿入する情報については、上述したようなものに限定されるわけではなく、様々な変形を行えるものである。例えば設備情報、工程情報、及び工具情報のうちの少なくとも１つを省いても良く、それらにワークに係わる情報を加えるようにしても良い。そのワークに係わる情報は、別個の情報としてではなく、例えば工程情報中に挿入する形で加えても良い。ＰＧ２４１０に情報を直接、挿入するのではなく、その格納場所を示すデータを挿入して、その格納場所から自動的に情報を収集させるようにしても良い。
【０１５５】
挿入された情報を抽出する対象となるＰＧ２４１０は、ラインサーバ１０８が自動的に収集しているが、ユーザが端末装置１０４からラインサーバ１０８に送信させたＰＧ２４１０を対象にするようにしても良い。ＰＧ２４１０に情報を挿入してそれを必要とするシステムに抽出させる手法は、生産設備を制御する制御装置が実行するＰＧ以外のＰＧに適用させても良い。つまり、幅広く適用できる手法である。
【０１５６】
上述したような生産設備情報管理システム、或いは情報検索システムの動作を実現させるようなプログラムは、ＣＤ−ＲＯＭ、ＤＶＤ、或いは光磁気ディスク等の記録媒体に記録させて配布しても良い。或いは、公衆網等で用いられる伝送媒体を介して、そのプログラムの一部、若しくは全部を配信するようにしても良い。そのようにした場合には、ユーザはプログラムを取得してコンピュータなどのデータ処理装置にロードすることにより、その処理装置を用いて本発明による生産設備情報管理システム、或いは情報検索システムを実現させることができる。このことから、記録媒体は、プログラムを配信する装置がアクセスできるものであっても良い。
【０１５７】
【発明の効果】
以上、説明したように本発明は、情報の収集対象とする生産設備の制御装置からネットワークを介してその情報を収集するための収集用データを基に、生産設備の制御装置から情報を収集する。このため、収集用データを入力させるだけで、新たな生産設備の設置に対応することができる。
【０１５８】
本発明は、生産設備の制御装置から収集した情報を、過去に収集した情報と照合して、変更の有無を確認し、その確認結果を出力する。このため、ユーザは変更の有無を容易に知ることができる。
【０１５９】
本発明は、生産設備を制御する制御装置が有する情報として、それが実行する、或いはそれに実行させるべきプログラムを取得し、そのプログラムを制御装置が実行した場合に生産設備が使用するツールに着目して、その生産設備がワークを加工する加工工程を分割し、分割した加工工程を単位として、その加工工程でワークを加工する加工条件を抽出する。このため、ユーザは分割した加工工程毎にその加工条件を知ることができる。その加工工程毎にその加工に要する時間をサイクルタイムとして算出した場合には、そのサイクルタイムはもとより、そのサイクルタイムとその加工工程での加工条件との間の対応関係を知ることができるようになる。
【０１６０】
本発明は、生産設備を制御する制御装置が実行の対象とするプログラム中に生産設備情報を挿入し、生産設備情報を挿入したプログラムを、その情報を必要とするシステムに取得させ、取得させたプログラム中に挿入された情報を抽出させる。そのようにして、プログラムに生産設備情報を挿入すると、それらを個別に扱う場合と比較して、管理の対象とする情報の個数が少なくなり、そのプログラムをより様々な用途に使用できるようになる。それを見る人にとっては、より多くの情報をより容易に把握できるようになる。このようなことから、管理はより容易となり、手間はより省けることとなる。
【０１６１】
その挿入された情報を他の情報、例えばワークとの間の対応関係を定義できるようにした場合には、より多くの情報を連携させられるようになる。このため、ユーザにとってはより多くの情報をより容易に取得することが可能となる。
【０１６２】
本発明は、制御装置が制御する生産設備がワークの加工を行う加工工程を分割した加工工程の加工に要する時間、或いは該分割した加工工程でワークを加工するうえでの加工条件を情報として少なくとも取得し、それに対してユーザが指定したデータを用いて検索を行い、取得した情報のなかからそのデータに対応する情報を抽出して提示する。このため、ユーザにとっては加工工程が最適か否かを容易に確認することができる。
【０１６３】
それらは何れも、生産設備の管理をより容易にするのに寄与する。
【図面の簡単な説明】
【図１】本実施の形態による生産設備情報管理システムが適用されたネットワークシステムの構成を示す図である。
【図２】生産設備から情報収集を行うための仕組みを説明する図である。
【図３】ラインの設定シートを示す図である。
【図４】設備の設定シートを示す図である。
【図５】設定シートのデータを設定ＤＢに格納する様子を示す図である。
【図６】設定ＤＢ更新処理のフローチャートである。
【図７】履歴ＤＢへのデータの格納方法を説明する図である。
【図８】実際に生産設備から情報収集を行う方法を説明する図である。
【図９】ファイル照合の対象を示す図である。
【図１０】ファイル照合結果画面を示す図である。
【図１１】変更チェック結果画面を示す図である。
【図１２】ファイル自動収集処理のフローチャートである。
【図１３】ファイル照合処理のフローチャートである。
【図１４】差分詳細表示処理のフローチャートである。
【図１５】プログラムの構成を説明する図である。
【図１６】加工工程の分割方法を説明する図である。
【図１７】切削、早送り、早戻しの識別方法を説明する図である。
【図１８】工具による加工法の区分けを説明する図である。
【図１９】加工仕様特徴のパターン化を説明する図である。
【図２０】加工工程の分割例を説明する図である。
【図２１】１生産設備により加工されたワークを示す図である。
【図２２】サイクルタイムの定義と計算方法を説明する図である。
【図２３】サイクルタイム計算用データの取得方法を説明する図である。
【図２４】サイクルタイムを算出するラインサーバの機能構成図である。
【図２５】ＰＧへの情報の挿入方法を説明する図である。
【図２６】ＰＧに挿入された情報をデータベースに登録する様子を示す図である。
【図２７】設備情報、工具情報、ワーク情報、加工情報（工程情報・加工ＰＧ）の管理方法を説明する図である。
【符号の説明】
１０１　　構内ＬＡＮ
１０２　　工場ローカルＬＡＮ
１０４　　端末装置
１０８　　ラインサーバ
１０９、１１０、１２３、１３４　　アクセスポイント
１１１　　設定データベース
１１２　　履歴データベース
１１３　　ＰＧライブラリファイル
１１４　　ＰＧファイルバッファ
１１５　　設備情報データベース
１１６　　工程情報データベース
１１７　　工具情報データベース
１１８　　対応情報データベース
１２０、１３０　　生産ライン
１２１、１３１　　生産設備
１２２、１３３　　操作盤
２０１　　制御装置（Ｍ／Ｃ）
２０２Ｆ　Ｆ用プログラム
２０２Ｔ　Ｔ用プログラム
２０２Ｍ　Ｍ用プログラム
２０２Ｘ　Ｘ用プログラム
２０３　　設定シート
２０３ａ　ラインの設定シート
２０３ｂ　設備の設定シート
２０４　　設定プログラム
２０５　　収集プログラム
５０１　　収集アイテム定義テーブル
５０２　　収集タグ情報テーブル
５０３　　収集条件情報テーブル
７０１　　収集データライブラリテーブル
【図１】
2004005400.tif 000003
【図２】
2004005400.tif 000004
【図３】
2004005400.tif 000005
【図４】
2004005400.tif 000006
【図５】
2004005400.tif 000007
【図６】
2004005400.tif 000008
【図７】
2004005400.tif 000009
【図８】
2004005400.tif 000010
【図９】
2004005400.tif 000011
【図１０】
2004005400.tif 000012
【図１１】
2004005400.tif 000013
【図１２】
2004005400.tif 000014
【図１３】
2004005400.tif 000015
【図１４】
2004005400.tif 000016
【図１５】
2004005400.tif 000017
【図１６】
2004005400.tif 000018
【図１７】
2004005400.tif 000019
【図１８】
2004005400.tif 000020
【図１９】
2004005400.tif 000021
【図２０】
2004005400.tif 000022
【図２１】
2004005400.tif 000023
【図２２】
2004005400.tif 000024
【図２３】
2004005400.tif 000025
【図２４】
2004005400.tif 000026
【図２５】
2004005400.tif 000027
【図２６】
2004005400.tif 000028
【図２７】
2004005400.tif 000029