(57)【特許請求の範囲】
【請求項１】
所定の生産手順に従って加工装置で加工を行い、所望の製品を生産する生産システムにおいて、
前記製品と一対一に設けられ、製品の生産手順を記述したレシピを有する製品エージェントと、
加工装置と一対一に設けられ、対応する加工装置に関する情報を有し、前記製品エージェントからの加工依頼により加工装置を制御する装置エージェントと、
前記製品エージェント及び前記装置エージェントとネットワークを介して通信を行い、システムを管理する管理オブジェクトとを備え、
前記製品エージェントは、前記レシピに従って必要な加工装置を選択し、選択した加工装置に対応する装置エージェントに対して作業可能かの問い合わせを行い、作業可能であれば該装置エージェントに対して加工依頼を行い、作業終了時に前記管理オブジェクトに対して報告を行うことを特徴とする生産システム。
【請求項２】
前記製品エージェント及び前記装置エージェントは、前記管理オブジェクトが再生成されたことを通知されると、自分の生成条件を管理オブジェクトに答えることを特徴とする請求項１記載の生産システム。
【請求項３】
前記管理オブジェクトは、製品エージェント及び装置エージェントを再生成するのに必要なログ情報を収集する機能を有することを特徴とする請求項１又は２記載の生産システム。
【請求項４】
前記装置エージェントは、自分を専有していた製品エージェントが再生成されたことを通知されたときは、再生成された製品エージェントに対して自分への専有権があることを通知することを特徴とする請求項１乃至３のいずれかに記載の生産システム。
【請求項５】
前記管理オブジェクトは、製品エージェント及び装置エージェントが動いているかどうかを周期的にチェックし、
製品エージェント及び装置エージェントは、自分が動いていることを通知するハートビートを定周期で管理オブジェクトに送り、
管理オブジェクトのチェック周期と前記ハートビートの周期が等しいことを特徴とする請求項１乃至４のいずれかに記載の生産システム。
【請求項６】
前記管理オブジェクトは、ハートビートが所定周期分だけ来ないときに、ハートビートが来ないエージェントにメッセージを送り、このメッセージに対する応答に基づいてエージェントが動いているかどうかを判断することを特徴とする請求項５記載の生産システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、所定の生産手順に従って加工装置で加工を行い、所望の製品を生産する生産システムに関するものである。
【０００２】
【従来の技術】
工場では一般に、生産管理システムや手作業によって立てられた生産計画に従って実際の生産が行われる。すなわち、生産に使用する加工装置や、加工装置を使用する順番は予め決められているのが通常であった。
【０００３】
しかし、このような生産のしかたでは、事前にスケジューリングされた生産計画に従って加工装置を使うため、加工装置の故障等のような生産環境の変化に迅速に対応できないという不都合があった。
【０００４】
このような不都合を解決するための生産システムとして、エージェントを導入した生産システムが現在開発されつつある。このシステムをエージェントベース生産システムと称することにする。
エージェントベース生産システムでは、分散環境下で自律的に動くエージェントというソフトウェアを存在させることにより、様々な面でシステムの柔軟性を実現することを狙っている。エージェントベース生産システムでは、製品と一対一に製品エージェントを設け、この製品エージェントは、製品の生産手順に従って自律的に移動し、加工装置に必要な加工を依頼する。製品エージェントが自律的に移動することによって、突発的な加工装置の故障などにも柔軟に対応することが可能になる。
【０００５】
しかし、個々のエージェントが自律的に動くといっても、ある程度それらを管理するソフトウェアが必要となる。具体的には、エージェントを生成したり、個々のエージェントが動いているかどうかを定期的に調べて、止まっていたら動作を回復させる機能が必要になる。特に、エージェントを回復させる機能を設けることにより、ロバストなシステムを実現できる。
従来のエージェントベース生産システムでは個々のエージェントを管理する機能が十分に構築されていなかった。
【０００６】
【発明が解決しようとする課題】
本発明は上述した問題点を解決するためになされたものであり、システムの構成要素となるエージェントを生成し、これらが正常に動いているかどうかを監視し、止まっていることを検知したときは回復させる機能を持たせることによって、一部のソフトウェアの不具合や加工装置の故障によりシステム全体が影響を受けることがなく、ロバストな構成になった生産システムを実現することを目的とする。
【０００７】
【課題を解決するための手段】
本発明は次のとおりの構成になった生産システムである。
【００１０】
（１）所定の生産手順に従って加工装置で加工を行い、所望の製品を生産する生産システムにおいて、前記製品と一対一に設けられ、製品の生産手順を記述したレシピを有する製品エージェントと、加工装置と一対一に設けられ、対応する加工装置に関する情報を有し、前記製品エージェントからの加工依頼により加工装置を制御する装置エージェントと、前記製品エージェント及び前記装置エージェントとネットワークを介して通信を行い、システムを管理する管理オブジェクトとを備え、前記製品エージェントは、前記レシピに従って必要な加工装置を選択し、選択した加工装置に対応する装置エージェントに対して作業可能かの問い合わせを行い、作業可能であれば該装置エージェントに対して加工依頼を行い、作業終了時に前記管理オブジェクトに対して報告を行うことを特徴とする生産システム。
【００１５】
（２）前記製品エージェント及び前記装置エージェントは、前記管理オブジェクトが再生成されたことを通知されると、自分の生成条件を管理オブジェクトに答えることを特徴とする（１）記載の生産システム。
【００１６】
（３）前記管理オブジェクトは、製品エージェント及び装置エージェントを再生成するのに必要なログ情報を収集する機能を有することを特徴とする（１）又は（２）記載の生産システム。
【００１７】
（４）前記装置エージェントは、自分を専有していた製品エージェントが再生成されたことを通知されたときは、再生成された製品エージェントに対して自分への専有権があることを通知することを特徴とする（１）乃至（３）のいずれかに記載の生産システム。
【００２０】
（５）前記管理オブジェクトは、製品エージェント及び装置エージェントが動いているかどうかを周期的にチェックし、製品エージェント及び装置エージェントは、自分が動いていることを通知するハートビートを定周期で管理オブジェクトに送り、管理オブジェクトのチェック周期と前記ハートビートの周期が等しいことを特徴とする（１）乃至（４）のいずれかに記載の生産システム。
【００２１】
（６）前記管理オブジェクトは、ハートビートが所定周期分だけ来ないときに、ハートビートが来ないエージェントにメッセージを送り、このメッセージに対する応答に基づいてエージェントが動いているかどうかを判断することを特徴とする（５）記載の生産システム。
【００２２】
【発明の実施の形態】
以下図面を用いて本発明を詳しく説明する。
図１は本発明の一実施例を示す構成図である。
図１の例では加工装置は３０ａ〜３０ｄの４個が設けられている。
制御装置４０ａ〜４０ｄは加工装置３０ａ〜３０ｄにそれぞれ接続されている。なお、図１の例では各制御装置に１つの加工装置が接続されているが、１つの制御装置に複数の加工装置が接続されていてもよい。
【００２３】
記憶手段４１は、各制御装置に設けられていて、製品エージェント５０及び装置エージェント６０ａ〜６０ｄの存在領域を提供する。
【００２４】
制御部４２は、各制御装置に設けられていて、制御装置の制御機能を司る。装置エージェント６０ａ〜６０ｄは、制御部４２に働きかけて各制御装置の制御機能を実行させる。
【００２５】
ネットワーク７０には制御装置４０ａ〜４０ｄと管理装置８０が接続されている。
管理装置８０はネットワーク７０を介して各制御装置と通信を行い、システムを管理する。記憶手段８１は、管理オブジェクト８２が存在する領域を提供する。
ユーザインタフェイス９０はオペレータの操作画面を表示する。操作画面は管理オブジェクト８２がオペレータに判断を仰ぐときに使う。
製品１００に対して加工が施される。
【００２６】
製品エージェント５０は、製品と一対一に設けられている。製品エージェント５０は、製品の生産手順を記述したレシピ５１を持ち、このレシピに従って加工に必要な加工装置を選択し、選択した加工装置に対応する装置エージェントに加工を依頼する。製品エージェント５０は、装置エージェントが存在する制御装置４０ａ〜４０ｄを渡り歩く。
【００２７】
装置エージェント６０ａ〜６０ｄは加工装置３０ａ〜３０ｄと一対一に設けられていて、対応する加工装置がどのような加工が可能なのか等、加工装置固有の情報を持ち、加工装置を制御する。装置エージェント６０ａ〜６０ｄは、製品エージェント５０から渡される加工依頼の内容に従って加工装置３０ａ〜３０ｄを動かす。
【００２８】
管理オブジェクト８２は、エージェントの管理等を行うオブジェクトで、次の機能を持つ。
▲１▼製品エージェント及び装置エージェントを生成する生成機能
▲２▼製品エージェント及び装置エージェントが動いているかどうかを監視する監視機能
▲３▼監視結果をもとに動いていないエージェントを検出し、このエージェントを再生成する再生成機能
▲４▼製品エージェント、装置エージェント及び管理オブジェクトの再生成を通知する通知機能
▲５▼製品エージェント及び装置エージェントを再生成するのに必要なログ情報を収集するログ収集機能
【００２９】
ログ情報として、例えば、停止した製品エージェントが最後に何の作業をしていたかを示す情報がある。
【００３０】
図１のシステムの動作を説明する。
まず、製品を生産する動作を説明する。
製品エージェント５０は、レシピに従って必要な加工装置を選択するために加工装置に対応する装置エージェントにメッセージを投げて作業が可能かどうかを問い合わせる。製品エージェント５０は装置エージェントから加工装置の使用許可を得ると、装置エージェントのいる制御装置のもとへ移動し、加工を依頼する。これに伴って、製品エージェントに使用許可を与えた装置エージェントと対応する加工装置に製品が移動する。
図１の例では、製品エージェント５０は装置エージェント６０ａのいる制御装置４０ａのもとへ移動し、これに伴って製品１００は加工装置３０ａに移動する。
【００３１】
移動先で必要な作業が終わると、同様にして次の生産手順で必要な加工装置を探し出して加工を行う。これを繰り返すことにより最終的な製品を作り上げる。
【００３２】
次に通信の動作について説明する。
製品エージェント５０、装置エージェント６０ａ〜６０ｄ及び管理オブジェクト８２は一対一のメッセージ通信機能を持つ。また、全部に通知するためのブロードキャスト機能も持つ。
【００３３】
一対一のメッセージ通信機能は次の場合に実行する。
▲１▼オペレータの指示
ユーザインタフェイス９０から来た指示を、管理オブジェクトから製品エージェント及び装置エージェントにメッセージとして送る。送るメッセージとしては、例えば、エージェント状態の問い合わせ、緊急ストップや終了のメッセージがある。
▲２▼ハートビート
自分が動いていることを周期的に知らせるメッセージである。製品エージェント及び装置エージェントが管理オブジェクトに通知する。
▲３▼ステータス報告
製品エージェントがある作業を終えたとき等に管理オブジェクトに報告する。
▲４▼作業依頼
製品エージェントから装置エージェントへ、加工装置で行う作業を依頼する。
【００３４】
システム復帰処理のために行うブロードキャストは、いずれも管理オブジェクト８２から出す。ブロードキャストする通知として次のものがある。
▲１▼管理オブジェクトの再生成通知
管理オブジェクトが立ち上がったときに必ず出す。これを受け取った各エージェントは、自分の生成条件を答える。すなわち、製品エージェントであれば、例えば、製品名、納期、生産手順（レシピ）のファイル名等を管理オブジェクトに知らせる。装置エージェントは、例えば、加工装置のコンフィギュレーション情報等を答える。
【００３５】
▲２▼エージェントの再生成通知
エージェントを再生成して動くようになったときに、このことを管理オブジェクトが通知する。この通知を受け取った各エージェントは、再生成したエージェントが自分に関係する場合、生産を復帰する処理を行う。例えば、装置エージェントが、自分を専有していた製品エージェントが再生成されたことをブロードキャストにより知った場合，その装置エージェントは再生成された製品エージェントに自分に対する専有権があることを知らせる。
【００３６】
▲３▼エージェントの消滅通知
オペレータの指示によりエージェントが終了したとき等に、ブロードキャストする。再生成通知と同様に、関係するエージェントは必要な処理を行う。例えば、装置エージェントは製品エージェントから受けた専有依頼をキューに入れ、専有依頼をキューに入れていた製品エージェントが消滅したときは、この専有依頼をキューから外す。
【００３７】
図２は管理オブジェクトを初期化したときの動作手順を示したフローチャートである。
図２で、管理オブジェクトがオペレータによって再起動された場合でも、現在動いているエージェントはそのまま管理できるようにして、システムに必要な装置エージェントを常に動作させておく。
【００３８】
図３はエージェントの監視と再生成処理の手順を示したフローチャートである。
管理オブジェクトは製品エージェント及び装置エージェントが動いているかどうかを周期的にチェックする。その一方で、製品エージェント及び装置エージェントは、自分が動いていることを通知するハートビートを定周期で管理オブジェクトに送る。管理オブジェクトのチェック周期とハートビートの周期は等しい。
【００３９】
図４は管理オブジェクトのチェックタイミングとハートビートの発生タイミングを示したタイムチャートである。なお、製品エージェントと装置エージェントとで異なる周期を持たせているが、エージェント毎に違っても原理は同じである。
【００４０】
図３へ戻り、エージェントからハートビートが３周期分来ないときに、管理オブジェクトは対象エージェントにメッセージを送り、応答があったときはエージェントが動いていると判断する。応答がないときは、エージェントが動いていないと判断してオペレータに問い合わせる。
【００４１】
なお、メッセージを送り始める周期は３周期以外でもよい。また、ハートビートが２周期分以上来ないことを待てば判断を下してもよい。
【００４２】
図５はエージェントの動作フラグの状態遷移図である。各エージェントについての動作フラグは管理オブジェクトが管理している。図に示す各動作フラグは次の意味を持つ。
ＩＡＭ ＡＬＩＶＥ：ハートビートが来たエージェントを動作中とみなす
ＤＯＮ’Ｔ ＫＮＯＷ：動作フラグの初期状態
ＰＯＳＳＩＢＬＹ：１回目のチェックでハートビートが来ていなかった
ＷＯＲＲＩＥＤ：２回目のチェックでハートビートが来ていなかった
ＤＥＡＤ：３回目のチェックでハートビートが来ていなかった
ＤＩＳＰＯＳＩＮＧ：終了したエージェント
このような動作フラグをもとに管理オブジェクトはエージェントの状態を管理する。
【００４３】
図６は製品エージェント５０の詳細構造の一例を説明するブロック図である。
図６で、通信手段５１は、製品エージェント間の通信、製品エージェントと装置エージェントとの間の通信、製品エージェントと管理オブジェクトの間の通信等を行う。
装置選択手段５２は、加工依頼をする加工装置を選択する。
動作命令記憶手段５３は、加工装置に与える動作命令を制御装置側で読み出すのに適した形式で記憶している。
加工依頼手段５４は加工装置に加工を依頼する。加工の依頼は、依頼する作業に応じた動作命令を動作命令記憶手段５３から読み出し、読み出した動作命令を装置エージェントに与えることによって行う。
加工履歴管理手段５５は、製品に対する加工履歴を管理する。
次回移動先決定手段５６は、製品エージェントの今度の移動先を決定する。
【００４４】
図７は装置エージェントの詳細構造の一例を説明するブロック図である。
装置エージェント６０で、通信手段６１は製品エージェントと装置エージェントとの間の通信、管理オブジェクトと装置エージェントの間の通信等を行う。
返信手段６２は、製品エージェントからの加工依頼に含まれた機能が対応する加工装置が持っている機能にあるかどうかを判別し、あるときは製品エージェントにリプライを返す。
動作命令実行手段６３は、製品エージェントから与えられた動作命令を実行して加工装置３０に加工を行わせる。
【００４５】
図８は管理オブジェクトの詳細構造の一例を説明するブロック図である。
管理オブジェクト８２で、通信手段８２１は製品エージェントと管理オブジェクトとの間の通信、装置エージェントと管理オブジェクトの間の通信等を行う。
生成手段８２２、再生成手段８２３、監視手段８２４、通知手段８２５、ログ収集手段８２６は、それぞれ管理オブジェクト８２が持つ生成機能、再生成機能、監視機能、通知機能、ログ収集機能を実現する手段である。
【００４６】
【発明の効果】
本発明によれば次の効果が得られる。
【００４７】
本発明によれば、エージェントの管理・監視機能を持った管理オブジェクトを設けることにより、ロバストな生産システムを構築できる。
【００４８】
本発明によれば、システムの構成要素となるエージェントを生成し、これらが正常に動いているかどうかを監視し、止まっていることを検知したときは回復させる機能を持った管理オブジェクトを設けることによって、一部のソフトウェアの不具合や加工装置の故障によりシステム全体が影響を受けることがなく、ロバストな構成になった生産システムを実現できる。
【００４９】
本発明によれば、各エージェントやオブジェクトは、エージェントとオブジェクトの生成状況を認識して動作できる。
【００５０】
本発明によれば、エージェントとオブジェクトの生成状況を全てのエージェントとオブジェクトに周知させることができる。
【００５１】
本発明によれば、エージェントが再生成されたときに、互いに関係のあるエージェントと最適な手順を踏んで復旧することができる。
【００５２】
本発明によれば、製品エージェントと装置エージェントの専有関係を再現できる。
【００５３】
本発明によれば、エージェントの消滅を全てのエージェントとオブジェクトに周知させることができる。
【００５４】
本発明によれば、消滅した製品エージェントの影響により加工作業が停滞することを防止できる。
【００５５】
本発明によれば、製品エージェント及び装置エージェントが動いているかどうかを適確なタイミングでチェックできる。
【００５６】
以上説明したように本発明によれば、一部のソフトウェアの不具合や加工装置の故障によりシステム全体が影響を受けることがなく、ロバストな構成になった生産システムを実現できる。
【図面の簡単な説明】
【図１】本発明の一実施例を示す構成図である。
【図２】本発明の動作説明図である。
【図３】本発明の動作説明図である。
【図４】本発明の動作説明図である。
【図５】本発明の動作説明図である。
【図６】製品エージェント５０の詳細構造の一例を説明するブロック図である。
【図７】装置エージェントの詳細構造の一例を説明するブロック図である。
【図８】管理オブジェクトの詳細構造の一例を説明するブロック図である。
【符号の説明】
【図１】
0004284732.tif 000002
【図２】
0004284732.tif 000003
【図３】
0004284732.tif 000004
【図４】
0004284732.tif 000005
【図５】
0004284732.tif 000006
【図６】
0004284732.tif 000007
【図７】
0004284732.tif 000008
【図８】
0004284732.tif 000009