(57)【特許請求の範囲】
【請求項１】
コンピュータに、
生産管理データに含まれるデータ項目を取得し、
複数の生産支援プログラムのそれぞれの実行時に利用されるデータ項目を記憶する記憶部を参照して、前記複数の生産支援プログラムのうち、実行時に利用されるデータ項目が前記取得したデータ項目の中にすべて含まれる生産支援プログラムを特定プログラムとして特定し、
前記特定プログラムを示す情報を出力する、
処理を実行させるプログラムの利用支援プログラム。
【請求項２】
前記取得は、前記生産管理データの取得処理を含み、
取得した前記生産管理データに基づいて、前記取得したデータ項目に対応するデータ値の精度を示す指標値を算出する処理を、前記コンピュータにさらに実行させ、
算出された前記指標値が、前記取得したデータ項目に対して設定された精度の指標値基準を満たすことが、前記特定プログラムを特定する条件に含まれる、
請求項１記載のプログラムの利用支援プログラム。
【請求項３】
前記取得したデータ項目に対応する、前記生産管理データに含まれるデータ値の精度を示す指標値を取得する処理を、前記コンピュータにさらに実行させ、
取得した前記指標値が、前記取得したデータ項目に対して設定された精度の指標値基準を満たすことが、前記特定プログラムを特定する条件に含まれる、
請求項１記載のプログラムの利用支援プログラム。
【請求項４】
前記指標値は、同一のデータ項目に対応するデータ値の取得頻度、または、同一のデータ項目に対応するデータ値のバラツキ度合いを示す、
請求項２または３記載のプログラムの利用支援プログラム。
【請求項５】
前記記憶部に記憶された、前記複数の生産支援プログラムのうち第１のプログラムの実行時に利用される第１のデータ項目に対して、前記第１のデータ項目を代替する第２のデータ項目が設定されており、なおかつ、前記特定プログラムの特定において、前記第１のデータ項目が前記取得したデータ項目と一致しないと判定されたとき、前記取得したデータ項目に前記第２のデータ項目が含まれ、なおかつ、前記記憶部において前記第１のプログラムに対応付けられたデータ項目のうち前記第１のデータ項目以外のデータ項目が、前記取得したデータ項目のうち前記第２のデータ項目以外のデータ項目の中にすべて含まれる場合には、前記第１のプログラムを前記特定プログラムとして特定する処理を前記コンピュータにさらに実行させる、
請求項１乃至４のいずれか１項に記載のプログラムの利用支援プログラム。
【請求項６】
コンピュータに、
生産管理データに含まれるデータ項目を取得し、
記憶部に記憶された、生産支援プログラムの実行時に利用されるデータ項目を特定し、
前記特定したデータ項目のうち、前記取得したデータ項目の中に含まれないデータ項目を抽出し、
前記抽出の結果に基づく出力情報を出力する、
処理を実行させるプログラムの利用支援プログラム。
【請求項７】
特定の生産支援プログラムを指定する第１の情報を取得する処理を前記コンピュータにさらに実行させ、
前記生産支援プログラムは、前記第１の情報によって指定された生産支援プログラムである、
請求項６記載のプログラムの利用支援プログラム。
【請求項８】
前記出力情報は、前記抽出されたデータ項目を示す情報と、前記抽出されたデータ項目に対応するデータ値を生成するための生産管理データ生成プログラムを示す情報との少なくとも一方を含む、
請求項６または７記載のプログラムの利用支援プログラム。
【請求項９】
前記記憶部には、複数の生産支援プログラムのそれぞれの実行時に利用されるデータ項目が記憶され、
前記出力情報は、前記複数の生産支援プログラムのうち、前記取得したデータ項目に含まれない第１のデータ項目を実行時に利用する生産支援プログラムを示す情報と、前記第１のデータ項目を示す情報とを含む、
請求項６または７記載のプログラムの利用支援プログラム。
【請求項１０】
前記記憶部には、前記生産支援プログラムの実行時に利用されるデータ項目のそれぞれに対して、データ値の精度に関する基準値が記憶され、
前記取得は、前記生産管理データの取得処理を含み、
前記特定したデータ項目が前記取得したデータ項目の中にすべて含まれるが、前記取得したデータ項目のうち第１のデータ項目に対応する、前記生産管理データに含まれるデータ値の精度の評価値が、前記第１のデータ項目に対して前記記憶部に記憶された前記基準値を満たさない場合に、前記第１のデータ項目についてデータ値の精度を高めることで前記生産支援プログラムを利用可能であることを示す情報を出力する処理を、前記コンピュータにさらに実行させる、
請求項６乃至９のいずれか１項に記載のプログラムの利用支援プログラム。
【請求項１１】
前記記憶部には、前記生産支援プログラムの実行時に利用されるデータ項目のそれぞれに対して、データ値の精度に関する基準値が記憶され、
前記取得は、前記生産管理データと、前記取得したデータ項目に対応する、前記生産管理データに含まれるデータ値の精度の評価値とを取得する処理を含み、
前記特定したデータ項目が前記取得したデータ項目の中にすべて含まれるが、前記取得したデータ項目のうち第１のデータ項目に対応する前記評価値が、前記第１のデータ項目に対して前記記憶部に記憶された前記基準値を満たさない場合に、前記第１のデータ項目についてデータ値の精度を高めることで前記生産支援プログラムを利用可能であることを示す情報を出力する処理を、前記コンピュータにさらに実行させる、
請求項６乃至９のいずれか１項に記載のプログラムの利用支援プログラム。
【請求項１２】
複数の生産支援プログラムのそれぞれの実行時に利用されるデータ項目を記憶する記憶部と、
生産管理データに含まれるデータ項目を取得し、前記記憶部を参照して、前記複数の生産支援プログラムのうち、実行時に利用されるデータ項目が前記取得したデータ項目の中にすべて含まれる生産支援プログラムを特定プログラムとして特定し、前記特定プログラムを示す情報を出力する演算部と、
を有するプログラム利用支援装置。
【請求項１３】
生産支援プログラムの実行時に利用されるデータ項目を記憶する記憶部と、
生産管理データに含まれるデータ項目を取得し、前記記憶部に記憶されたデータ項目のうち、前記取得したデータ項目の中に含まれないデータ項目を抽出し、前記抽出の結果に基づく出力情報を出力する演算部と、
を有するプログラム利用支援装置。
【請求項１４】
コンピュータが、
生産管理データに含まれるデータ項目を取得し、
複数の生産支援プログラムのそれぞれの実行時に利用されるデータ項目を記憶する記憶部を参照して、前記複数の生産支援プログラムのうち、実行時に利用されるデータ項目が前記取得したデータ項目の中にすべて含まれる生産支援プログラムを特定プログラムとして特定し、
前記特定プログラムを示す情報を出力する、
プログラム利用支援方法。
【請求項１５】
コンピュータが、
生産管理データに含まれるデータ項目を取得し、
記憶部に記憶された、生産支援プログラムの実行時に利用されるデータ項目を特定し、
前記特定したデータ項目のうち、前記取得したデータ項目の中に含まれないデータ項目を抽出し、
前記抽出の結果に基づく出力情報を出力する、
プログラム利用支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムの利用支援プログラム、プログラム利用支援装置およびプログラム利用支援方法に関する。
【背景技術】
【０００２】
工場の管理者は、稼働中の生産設備から収集された様々な生産管理データに基づいて、生産効率の改善や生産予測を行う。近年、管理者によるこのような作業を支援するためのアプリケーションプログラムが利用されるようになっている。アプリケーションプログラムが実行されることで、生産管理データに基づいて、効率改善や生産予測のための有用な情報が管理者にもたらされる。【０００３】
また、診断支援プログラムで演算する入力データの範囲として推奨されるデータ範囲を出力するようにした診療支援装置が提案されている。さらに、利用要求において指定されたサービスの種別と一致する種別に係るサービス属性情報を検索し、検索されたサービス属性情報に含まれる評価情報に基づいて、利用を推奨するサービスを判定するようにした情報処理装置が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−６６１３７号公報
【特許文献２】特開２０１０−２１８０６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上記のように、工場の管理者の作業を支援するアプリケーションプログラムの実行時には、生産設備から収集された生産管理データが参照される。ここで、生産管理データは生産設備に依存するデータであるので、管理者が利用するアプリケーションプログラムとしては、生産設備の状況に合致したものが選択されることが望ましい。しかし、必ずしも管理者側の生産設備の状況に合致した最適なアプリケーションプログラムが選択されていないという問題がある。【０００６】
１つの側面では、本発明は、生産設備に合った適切な生産支援プログラムを特定可能なプログラムの利用支援プログラム、プログラム利用支援装置およびプログラム利用支援方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
１つの案では、コンピュータに次のような処理を実行させるプログラムの利用支援プログラムが提供される。コンピュータは、利用支援プログラムに従い、生産管理データに含まれるデータ項目を取得し、複数の生産支援プログラムのそれぞれの実行時に利用されるデータ項目を記憶する記憶部を参照して、複数の生産支援プログラムのうち、実行時に利用されるデータ項目が取得したデータ項目の中にすべて含まれる生産支援プログラムを特定プログラムとして特定し、特定プログラムを示す情報を出力する。【０００８】
また、１つの案では、コンピュータに次のような処理を実行させるプログラムの利用支援プログラムが提供される。コンピュータは、利用支援プログラムに従い、生産管理データに含まれるデータ項目を取得し、記憶部に記憶された、生産支援プログラムの実行時に利用されるデータ項目を特定し、特定したデータ項目のうち、取得したデータ項目の中に含まれないデータ項目を抽出し、抽出の結果に基づく出力情報を出力する。【０００９】
さらに、１つの案では、上記各利用支援プログラムに従った処理と同様の処理を実行するプログラム利用支援装置が提供される。
また、１つの案では、上記各利用支援プログラムに従った処理と同様の処理をコンピュータが実行するプログラム利用支援方法が提供される。
【発明の効果】
【００１０】
１つの側面では、生産設備に合った適切な生産支援プログラムを特定できる。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
【図面の簡単な説明】
【００１１】
【図１】第１の実施の形態に係るプログラム利用支援装置の構成例および処理例を示す図である。
【図２】第２の実施の形態に係る生産支援システムの構成例を示す図である。
【図３】生産支援サーバのハードウェア構成例を示す図である。
【図４】生産管理サーバが備える処理機能の構成例を示すブロック図である。
【図５】生産管理サーバ上に蓄積される生産管理データベースのデータ構成例を示す図である。
【図６】データ蓄積サーバが備える処理機能の構成例を示すブロック図である。
【図７】データ蓄積サーバ上に蓄積される生産管理データベースのデータ構成例を示す図である。
【図８】生産支援サーバが備える処理機能の構成例を示すブロック図である。
【図９】ユーザ管理データベースのデータ構成例を示す図である。
【図１０】アプリケーション管理データベースのデータ構成例を示す図である。
【図１１】生産工程の進捗実績を可視化するための生産支援プログラムによる処理例を示す図（その１）である。
【図１２】生産工程の進捗実績を可視化するための生産支援プログラムによる処理例を示す図（その２）である。
【図１３】単位時間当たりの生産数量の変化を可視化するための生産支援プログラムによる処理例を示す図（その１）である。
【図１４】単位時間当たりの生産数量の変化を可視化するための生産支援プログラムによる処理例を示す図（その２）である。
【図１５】部品搭載位置のズレを補正するための生産支援プログラムによる処理例を示す図である。
【図１６】代替項目の例を示す図である。
【図１７】利用支援サービスでの第１の処理例を示すフローチャートである。
【図１８】第１の処理例における端末装置での画面表示例を示す図である。
【図１９】利用支援サービスでの第２の処理例を示すフローチャートである。
【図２０】第２の処理例における端末装置での画面表示例を示す図である。
【図２１】第３の実施の形態の生産支援サーバが備える処理機能の構成例を示す図である。
【図２２】生産支援サービスでの処理例を示すフローチャートである。
【図２３】第４の実施の形態の生産支援サーバが備える処理機能の構成例を示す図である。
【図２４】開発者支援サービスでの処理例を示すフローチャートである。
【図２５】開発者支援サービスによる開発者端末における画面表示例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について図面を参照して説明する。
〔第１の実施の形態〕
図１は、第１の実施の形態に係るプログラム利用支援装置の構成例および処理例を示す図である。プログラム利用支援装置１は、ユーザによる生産支援プログラムの利用を支援するための処理を実行する。ユーザは、例えば、工業製品、部品、食品、植物などの生産物を生産する工場の管理者や、生産計画の立案者である。生産支援プログラムは、ユーザに利用されることで、生産工程の管理、生産を効率化するための作業、生産の予測、予測に基づく生産計画の立案といった、生産に関する様々な支援をユーザに与える。
【００１３】
プログラム利用支援装置１は、記憶部１ａと演算部１ｂを有する。記憶部１ａは、例えば、プログラム利用支援装置１が備える記憶装置の記憶領域として実現される。演算部１ｂは、例えば、プログラム利用支援装置１が備えるプロセッサとして実現される。この場合、プロセッサが所定のプログラムを実行することにより、演算部１ｂの処理が実現される。
【００１４】
記憶部１ａは、複数の生産支援プログラムのそれぞれの実行時に利用されるデータ項目を記憶する。ここで、データ項目とは、生産管理データに含まれる項目である。生産管理データは、少なくとも、データ項目と、そのデータ項目に対応するデータ値とを、１組以上含む。生産管理データは、例えば、ユーザの工場においてその稼働に伴って取得されるデータである。この場合、生産管理データにどのようなデータ項目が含まれるかは、生産管理データが取得される工場における生産設備の状況によって異なる。
【００１５】
図１の例では、記憶部１ａには、生産支援プログラム２ａについて、データ項目Ａ，Ｂが記憶され、生産支援プログラム２ｂについて、データ項目Ｂ，Ｃが記憶されている。この場合、生産支援プログラム２ａの実行時には、少なくともデータ項目Ａ，Ｂに対応するデータ値が参照され、生産支援プログラム２ｂの実行時には、少なくともデータ項目Ｂ，Ｃに対応するデータ値が参照されることを示す。
【００１６】
演算部１ｂは、次のような処理を実行する。演算部１ｂは、生産管理データ３に含まれるデータ項目を取得する（ステップＳ１）。取得される生産管理データ３は、利用支援を行うユーザに対応するデータである。図１の例では、生産管理データ３には、データ項目Ｂに対応するデータ値ｂ１，ｂ２と、データ項目Ｃに対応するデータ値ｃ１，ｃ２とが含まれる。この場合、演算部１ｂは、生産管理データ３からデータ項目Ｂ，Ｃを取得する。
【００１７】
次に、演算部１ｂは、記憶部１ａを参照して、生産支援プログラム２ａ，２ｂのうち、実行時に利用されるデータ項目が、生産管理データ３から取得したデータ項目の中にすべて含まれる生産支援プログラムを特定する（ステップＳ２）。すなわち、この処理では、生産管理データ３から取得したデータ項目と、記憶部１ａに記憶された生産支援プログラムごとのデータ項目とが照合される。
【００１８】
図１の例では、生産管理データ３から取得されたデータ項目Ｂ，Ｃには、生産支援プログラム２ａに対応付けられたデータ項目Ａ，Ｂのうち、データ項目Ａが含まれない。このため、演算部１ｂは、生産支援プログラム２ａについては照合に失敗したと判定する。この場合、生産支援プログラム２ａの実行時に参照されるデータ項目Ａのデータ値が足りないので、ユーザは生産支援プログラム２ａを利用できない。
【００１９】
一方、生産管理データ３から取得されたデータ項目Ｂ，Ｃには、生産支援プログラム２ｂに対応付けられたデータ項目Ｂ，Ｃが両方とも含まれる。このため、演算部１ｂは、生産支援プログラム２ｂについては照合に成功したと判定する。すなわち、ステップＳ２において、演算部１ｂは、生産支援プログラム２ｂを特定する。この場合、生産支援プログラム２ｂをユーザが利用可能と判定される。
【００２０】
次に、演算部１ｂは、ステップＳ２で特定された生産支援プログラム２ｂを示す情報を出力する（ステップＳ３）。これにより、現在取得されているデータ項目のデータ値により生産支援プログラム２ｂを利用できることをユーザに通知できる。
【００２１】
以上の処理によれば、プログラム利用支援装置１は、ユーザ側の生産設備の状況に合致する適切な生産支援プログラムを特定することができる。従って、特定された生産支援プログラムを示す情報をユーザに通知することで、ユーザによる生産支援プログラムの利用を適切に支援することができる。特定された生産支援プログラムをユーザが利用することで、例えば、生産に関する様々な作業が効率化される。
【００２２】
〔第２の実施の形態〕
図２は、第２の実施の形態に係る生産支援システムの構成例を示す図である。図２に示す生産支援システムは、工場を有する企業や団体をユーザとし、ユーザによる工場での生産活動を支援するためのサービスが提供されるシステムである。図２では例として、それぞれ個別のユーザに対応する工場１００ａ，１００ｂ，１００ｃ，・・・が示されている。なお、工場１００ａ，１００ｂ，１００ｃ，・・・はそれぞれ、例えば、各種の工業製品や部品を製造する工場であってもよいし、植物や農産物、食品を生産する工場であってもよい。
【００２３】
工場１００ａ，１００ｂ，１００ｃ，・・・はそれぞれ、生産管理サーバ１１０、端末装置１２０および生産ライン１３０を有する。工場１００ａ，１００ｂ，１００ｃ，・・・のそれぞれの生産管理サーバ１１０は、ネットワーク５０を介してデータ蓄積サーバ２００および生産支援サーバ３００と接続されている。また、データ蓄積サーバ２００と生産支援サーバ３００との間も、ネットワーク５０を介して通信可能になっている。
【００２４】
生産管理サーバ１１０は、生産計画を示すデータに従って、生産ライン１３０における生産の進捗を管理する。その際、生産管理サーバ１１０は、生産に伴って計測された各種のデータを生産管理データベースに蓄積する。以下の説明では、生産管理データベースに蓄積されるデータを「生産管理データ」と記載する場合がある。生産管理データは、測定項目とその測定値とのペアを少なくとも含み、例えば、生産の進捗状況や製造機械の状態などを示す。
【００２５】
また、生産管理サーバ１１０は、生産支援サーバ３００から提供される生産支援サービスをユーザが受けられるようにする機能を備える。生産支援サービスは、ユーザの生産活動を支援するためのサービスであり、例えば、生産状況の可視化、生産活動における統計情報の提供、生産活動の問題点や改善点の指摘、生産設備の調整などのサービスを含み得る。生産支援サービスは、生産支援サーバ３００から提供されるアプリケーションプログラムによって実現される。以下、このアプリケーションプログラムを「生産支援プログラム」と呼ぶ。
【００２６】
本実施の形態では例として、生産支援プログラムが生産支援サーバ３００において実行され、その処理結果が生産管理サーバ１１０に提供される。工場の生産管理者や生産計画立案者は、端末装置１２０を用いて、生産支援プログラムの実行を生産管理サーバ１１０を介して生産支援サーバ３００に指示し、その処理結果を端末装置１２０の表示装置などを介して認識する。
【００２７】
さらに、生産管理サーバ１１０は、生産支援プログラムの利用を支援するための利用支援サービスを、生産支援サーバ３００から受けることができる。利用支援サービスは、例えば、ユーザが蓄積している生産管理データを用いてどの生産支援プログラムを提供可能かを、ユーザに通知してその利用を推奨するサービスを含む。生産管理サーバ１１０は、利用支援サービスを受けられるようにするために、生産管理サーバ１１０が蓄積している生産管理データを、データ蓄積サーバ２００にアップロードする機能を備える。
【００２８】
端末装置１２０は、生産管理サーバ１１０に接続され、生産管理者や生産計画立案者などのユーザ側のオペレータによって操作される。オペレータは、端末装置１２０を介して、生産支援サービスや生産支援プログラムの利用支援サービスを受けることができる。
【００２９】
生産ライン１３０は、生産管理サーバ１１０の制御の下で生産物を生産する。また、生産ライン１３０は、例えば、各種のセンサを備え、生産の過程でセンサによって検出された検出値を生産管理サーバ１１０に送信する。なお、生産ライン１３０は、工場が備える生産設備のあくまで一例であり、本実施の形態の生産支援サービスを受けられる工場は、ライン生産方式を採用した工場に限定されるものではない。
【００３０】
データ蓄積サーバ２００は、工場１００ａ，１００ｂ，１００ｃ，・・・のそれぞれにおいて蓄積された生産管理データを収集し、データベースに蓄積する。また、データ蓄積サーバ２００は、データベースに蓄積された生産管理データを、生産支援サーバ３００からの要求に応じて提供する。
【００３１】
このデータ蓄積サーバ２００は、例えば、多数の工場から収集された生産管理データを様々なサービス提供者が利用できるようにするためのプラットフォームを提供するサーバであってもよい。この場合、データ蓄積サーバ２００は、データ収集元の各工場の生産管理サーバ１１０や、サービス提供者側のサーバとの接続のための認証機能を備える。また、生産支援サーバ３００は、サービス提供者側のサーバの１つとして位置付けられる。
【００３２】
生産支援サーバ３００は、生産支援プログラムを実行することで、ユーザに対して生産支援サービスを提供する。具体的には、生産支援サーバ３００は、ユーザから収集された生産管理データをデータ蓄積サーバ２００から取得する。そして、生産支援サーバ３００は、取得した生産管理データを用いて、ユーザから提供が申し込まれた生産支援プログラムを実行し、その処理結果をユーザの生産管理サーバ１１０に送信する。
【００３３】
また、生産支援サーバ３００は、生産支援プログラムの利用支援サービスをユーザに提供する。例えば、生産支援サーバ３００は、生産支援サービスをまだ受けていないユーザに対して、次のようなサービスを提供する。生産支援サーバ３００は、ユーザに推奨する生産支援プログラムを選択する。また、生産支援サーバ３００は、ユーザから収集された生産管理データをデータ蓄積サーバ２００から取得する。そして、生産支援サーバ３００は、取得した生産管理データの内容に基づいて、選択した生産支援プログラムの実行のために必須のデータがユーザの生産管理サーバ１１０においてすでに計測されているかを判定する。
【００３４】
計測されている場合、生産支援サーバ３００は、選択した生産支援プログラムが利用可能であることをユーザに通知する。一方、選択した生産支援プログラムの利用のために足りないデータがある場合、生産支援サーバ３００は、足りないデータの項目をユーザに通知して、その項目のデータをさらに取得することで新たな生産支援プログラムを利用可能になることをユーザに案内する。
【００３５】
このようにして、生産支援サーバ３００は、ユーザの生産管理サーバ１１０で計測されている計測項目を用いて利用可能な生産支援プログラムをユーザに案内し、その利用を推奨することができる。また、生産支援サーバ３００は、計測項目を増やすことで利用可能になる生産支援プログラムを、増やすべき計測項目とともにユーザに案内して、その利用を推奨することもできる。さらに、生産支援サーバ３００は、すでに生産支援プログラムを利用しているユーザに対しては、別の生産支援プログラムを利用するようにユーザに推奨することもできる。
【００３６】
図３は、生産支援サーバのハードウェア構成例を示す図である。第２の実施の形態に係る生産支援サーバ３００は、例えば、図３に示すようなコンピュータとして実現される。
生産支援サーバ３００は、プロセッサ３０１によって装置全体が制御されている。プロセッサ３０１は、マルチプロセッサであってもよい。プロセッサ３０１は、例えばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤ（Programmable Logic Device）である。またプロセッサ３０１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００３７】
プロセッサ３０１には、バス３０８を介して、ＲＡＭ（Random Access Memory）３０２と複数の周辺機器が接続されている。
ＲＡＭ３０２は、生産支援サーバ３００の主記憶装置として使用される。ＲＡＭ３０２には、プロセッサ３０１に実行させるＯＳ（Operating System）プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ３０２には、プロセッサ３０１による処理に必要な各種データが格納される。
【００３８】
バス３０８に接続されている周辺機器としては、ＨＤＤ（Hard Disk Drive）３０３、グラフィック処理装置３０４、入力インタフェース３０５、読み取り装置３０６および通信インタフェース３０７がある。
【００３９】
ＨＤＤ３０３は、生産支援サーバ３００の補助記憶装置として使用される。ＨＤＤ３０３には、ＯＳプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、ＳＳＤ（Solid State Drive）などの他の種類の不揮発性記憶装置を使用することもできる。
【００４０】
グラフィック処理装置３０４には、表示装置３０４ａが接続されている。グラフィック処理装置３０４は、プロセッサ３０１からの命令に従って、画像を表示装置３０４ａに表示させる。表示装置３０４ａとしては、液晶ディスプレイや有機ＥＬ（Electroluminescence）ディスプレイなどがある。
【００４１】
入力インタフェース３０５には、入力装置３０５ａが接続されている。入力インタフェース３０５は、入力装置３０５ａから出力される信号をプロセッサ３０１に送信する。入力装置３０５ａとしては、キーボードやポインティングデバイスなどがある。ポインティングデバイスとしては、マウス、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００４２】
読み取り装置３０６には、可搬型記録媒体３０６ａが脱着される。読み取り装置３０６は、可搬型記録媒体３０６ａに記録されたデータを読み取ってプロセッサ３０１に送信する。可搬型記録媒体３０６ａとしては、光ディスク、光磁気ディスク、半導体メモリなどがある。
【００４３】
通信インタフェース３０７は、ネットワーク５０を介して、生産管理サーバ１１０、データ蓄積サーバ２００などの他の装置との間でデータの送受信を行う。
以上のようなハードウェア構成によって、生産支援サーバ３００の処理機能を実現することができる。なお、生産管理サーバ１１０およびデータ蓄積サーバ２００も、図３に示すようなコンピュータとして実現可能である。
【００４４】
図４は、生産管理サーバが備える処理機能の構成例を示すブロック図である。生産管理サーバ１１０は、記憶部１１１、工程制御部１１２、アップロード処理部１１３およびサービスインタフェース１１４を有する。記憶部１１１は、例えば、生産管理サーバ１１０が備える記憶装置の記憶領域として実装される。工程制御部１１２、アップロード処理部１１３およびサービスインタフェース１１４の処理は、例えば、生産管理サーバ１１０が備えるプロセッサが所定のプログラムを実行することで実現される。
【００４５】
記憶部１１１には、生産計画データ１１１ａと生産管理データベース１１１ｂが記憶される。生産計画データ１１１ａは、生産ライン１３０での生産工程の進捗を制御するためのデータである。生産管理データベース１１１ｂには、生産ライン１３０から取得された生産管理データが蓄積される。なお、生産計画データ１１１ａと生産管理データベース１１１ｂの少なくとも一方は、生産管理サーバ１１０の外部に接続された記憶装置に記憶されていてもよい。
【００４６】
工程制御部１１２は、生産計画データ１１１ａに基づいて、生産ライン１３０での生産工程の進捗を制御する。また、工程制御部１１２は、生産ライン１３０から生産管理データを取得し、生産管理データベース１１１ｂに蓄積する。前述のように、生産管理データは、生産に伴って計測されたデータである。
【００４７】
例えば、図４に示すように、生産ライン１３０には、生産の進捗状況や製造機械の状態を検出するためのセンサ１３１ａ，１３１ｂ，１３１ｃ，・・・が設けられている。工程制御部１１２は、これらのセンサ１３１ａ，１３１ｂ，１３１ｃ，・・・から検出データを取得し、取得した検出データに基づいて工程の進捗を制御するとともに、取得した検出データを生産管理データとして生産管理データベース１１１ｂに格納する。このような検出データとしては、例えば、温度センサによって検出された温度、装置内の電流、電圧の値、近接センサや光切断センサによる検出回数を示すカウント値、生産ライン１３０を流れる製品や部品に取り付けられたバーコードの読み取り結果やその読み取り時刻などがある。
【００４８】
また、工程制御部１１２は、生産ライン１３０から取得した検出データに基づいて所定の計算を行い、その計算結果を生産管理データとして生産管理データベース１１１ｂに格納することもできる。例えば、工程制御部１１２は、ある製造物についてのある製造工程の完了時刻に基づいて、その製造工程における時間当たりの生産台数や不良数を計算し、生産管理データベース１１１ｂに格納することができる。あるいは、工程制御部１１２は、ある製造工程における製造物のマウント位置の検出結果に基づいて、マウント位置の位置ズレ量や位置のバラツキを計算し、生産管理データベース１１１ｂに格納することができる。
【００４９】
このようにして、各工場における生産管理データベース１１１ｂには、生産ライン１３０から得られた検出データや、検出データから算出されたデータが蓄積される。これ以後の説明では、このようにセンサから検出された検出データの値や、検出データの値から算出された値を、「測定値」と記載する。
【００５０】
ここで、図５は、生産管理サーバ上に蓄積される生産管理データベースのデータ構成例を示す図である。生産管理データベース１１１ｂのレコード１１１ｂ１，１１１ｂ２，１１１ｂ３，・・・のそれぞれには、測定項目、測定値、測定時刻、測定位置、測定対象および測定条件が登録される。
【００５１】
測定項目は、測定値がどのような種類の情報かを示す。測定値は、測定項目に対応する値であり、例えば、生産ライン１３０のセンサによる検出値、または検出値に基づいて算出された値を示す。測定時刻は、測定値が測定された時刻を示す。測定位置は、測定値が測定された生産ライン１３０上の位置や、測定された工程を示す。また、同一工場に複数の生産ライン１３０が存在する場合、測定位置は生産ライン１３０の識別情報を示してもよい。測定対象は、測定値が測定された対象の生産物を識別する情報を示す。例えば、測定対象は、生産物のＩＤやロット番号、オーダ番号などを示す。測定条件は、測定値が測定された条件を示す。例えば、測定条件は、測定値のサンプリング周期（取得頻度）、測定値の分解能などを示す。
【００５２】
以下、図４に戻って説明する。
アップロード処理部１１３は、生産管理データベース１１１ｂに蓄積された生産管理データを、データ蓄積サーバ２００にアップロードする。その際、アップロード処理部１１３は、例えば、蓄積された生産管理データをあらかじめ決められた形式のデータに変換して、データ蓄積サーバ２００にアップロードする。例えば、生産管理データは、タグ情報とデータ値とのペアがテキストデータとして記載されたＸＭＬ（Extensible Markup Language）形式あるいはＪＳＯＮ（JavaScript Object Notation、JavaScript：登録商標）形式のデータに変換される。
【００５３】
サービスインタフェース１１４は、生産支援サーバ３００から、生産支援サービスおよび生産支援プログラムの利用支援サービスを受けるための処理を実行する。例えば、生産支援サーバ３００は、これらのサービスを提供するためのＷｅｂサーバとして機能する。この場合、生産管理サーバ１１０に接続された端末装置１２０では、Ｗｅｂブラウザが動作し、サービスインタフェース１１４は、生産支援サーバ３００と端末装置１２０のＷｅｂブラウザとの間で送受信されるデータを中継する。例えば、サービスインタフェース１１４は、上記各サービスによる処理結果を示すＷｅｂページのデータを生産支援サーバ３００から受信して、端末装置１２０に送信する。これにより、Ｗｅｂブラウザ上にサービスの処理結果が表示される。また、サービスインタフェース１１４は、例えば、生産支援プログラムの処理によって生産支援サーバ３００から送信されたデータに基づいて、工程制御部１１２による生産ライン１３０の制御処理や設定を変更させることもできる。
【００５４】
図６は、データ蓄積サーバが備える処理機能の構成例を示すブロック図である。データ蓄積サーバ２００は、記憶部２１０、蓄積処理部２２１および提供処理部２２２を有する。記憶部２１０は、例えば、データ蓄積サーバ２００が備える記憶装置の記憶領域として実装される。蓄積処理部２２１および提供処理部２２２の処理は、例えば、データ蓄積サーバ２００が備えるプロセッサが所定のプログラムを実行することで実現される。
【００５５】
記憶部２１０には、ユーザデータベース２１１と生産管理データベース２１２が記憶される。ユーザデータベース２１１には、ユーザ認証を行うための情報が格納される。ここで言うユーザとは、生産支援サーバ３００から生産支援サービスを受けるユーザの他、データ蓄積サーバ２００に蓄積された生産管理データを取得可能なユーザも含む。すなわち、ユーザデータベース２１１には、生産管理サーバ１１０から生産管理データがアップロードされる際のユーザ認証に用いられる情報と、生産支援サーバ３００から生産管理データが要求される際のユーザ認証に用いられる情報とが格納される。生産管理データベース２１２には、各工場の生産管理サーバ１１０から収集された生産管理データが蓄積される。
【００５６】
なお、ユーザデータベース２１１と生産管理データベース２１２の少なくとも一方は、データ蓄積サーバ２００の外部に接続された記憶装置に記憶されていてもよい。
蓄積処理部２２１は、各工場の生産管理サーバ１１０からアップロードされた生産管理データを、生産管理データベース２１２に格納する。これによって、データ蓄積サーバ２００の生産管理データベース２１２には、すべての工場でローカルに蓄積されていた生産管理データが集約される。なお、蓄積処理部２２１は、各生産管理サーバ１１０との接続の際に、ユーザデータベース２１１を参照する。
【００５７】
提供処理部２２２は、生産支援サーバ３００から要求された生産管理データを、生産管理データベース２１２から読み出し、生産支援サーバ３００に送信する。例えば、提供処理部２２２は、ユーザ名や計測期間などの検索キーを生産支援サーバ３００から受信し、検索キーに該当する生産管理データを生産管理データベース２１２から抽出して、生産支援サーバ３００に送信することができる。
【００５８】
なお、提供処理部２２２は、生産支援サーバ３００との接続の際に、ユーザデータベース２１１を参照する。また、ユーザデータベース２１１により、生産支援サーバ３００が取得可能な生産管理データをユーザごとに制限したり、取得可能なデータの範囲を制限することもできる。
【００５９】
図７は、データ蓄積サーバ上に蓄積される生産管理データベースのデータ構成例を示す図である。生産管理データベース２１２のレコード２１２ａ，２１２ｂ，２１２ｃ，・・・のそれぞれには、各工場で蓄積された生産管理データベース１１１ｂの各レコードに含まれるデータに加えて、ユーザ名が登録される。ユーザ名は、レコード内のデータの送信元のユーザを示す。
【００６０】
図８は、生産支援サーバが備える処理機能の構成例を示すブロック図である。生産支援サーバ３００は、記憶部３１０、生産支援処理部３２１ａ，３２１ｂ，３２１ｃ，・・・、補助処理部３２２ａ，３２２ｂ，３２２ｃ，・・・、データ取得部３２３および利用支援処理部３２４を有する。
【００６１】
記憶部３１０は、例えば、図３に示すＨＤＤ３０３など、生産支援サーバ３００が備える記憶装置の記憶領域として実装される。記憶部３１０には、生産支援プログラム３１１ａ，３１１ｂ，３１１ｃ，・・・、補助プログラム３１２ａ，３１２ｂ，３１２ｃ，・・・、ユーザ管理データベース３１３およびアプリケーション管理データベース３１４が記憶される。
【００６２】
生産支援プログラム３１１ａ，３１１ｂ，３１１ｃ，・・・は、生産支援サービスを提供するためのアプリケーションプログラムである。補助プログラム３１２ａ，３１２ｂ，３１２ｃ，・・・は、生産支援プログラムによる処理を補助するための処理を実行するアプリケーションプログラムである。この補助処理としては、例えば、生産支援プログラムを利用するために必要な生産管理データを、測定項目が異なる他の生産管理データを用いて作成する処理がある。
【００６３】
ユーザ管理データベース３１３には、生産支援サービスを受けるユーザと、ユーザに利用される生産支援プログラムとが対応付けて登録されている。アプリケーション管理データベース３１４には、生産支援プログラム３１１ａ，３１１ｂ，３１１ｃ，・・・のそれぞれについての情報が登録される。例えば、アプリケーション管理データベース３１４には、生産支援プログラムの実行時に利用される（すなわち、参照される）生産管理情報の測定項目が登録される。
【００６４】
生産支援処理部３２１ａ，３２１ｂ，３２１ｃ，・・・の処理は、それぞれ生産支援プログラム３１１ａ，３１１ｂ，３１１ｃ，・・・が生産支援サーバ３００のプロセッサ３０１によって実行されることで実現される。すなわち、生産支援処理部３２１ａ，３２１ｂ，３２１ｃ，・・・は、それぞれ生産支援プログラム３１１ａ，３１１ｂ，３１１ｃ，・・・がプロセッサ３０１によって実行されることで起動する。
【００６５】
例えば、生産支援処理部３２１ａは、あるユーザに対する生産支援サービスを提供する際、そのユーザに対応する生産管理データを、データ取得部３２３を介してデータ蓄積サーバ２００から取得する。生産支援処理部３２１ａは、取得した生産管理データを利用して、ユーザの生産活動を支援するための処理を実行し、処理結果をユーザに対応する生産管理サーバ１１０に送信する。
【００６６】
補助処理部３２２ａ，３２２ｂ，３２２ｃ，・・・の処理は、それぞれ補助プログラム３１２ａ，３１２ｂ，３１２ｃ，・・・が生産支援サーバ３００のプロセッサ３０１によって実行されることで実現される。すなわち、補助処理部３２２ａ，３２２ｂ，３２２ｃ，・・・は、それぞれ補助プログラム３１２ａ，３１２ｂ，３１２ｃ，・・・がプロセッサ３０１によって実行されることで起動する。
【００６７】
データ取得部３２３および利用支援処理部３２４の処理は、例えば、生産支援サーバ３００のプロセッサ３０１が所定のプログラムを実行することで実現される。
データ取得部３２３は、生産支援プログラムの実行のために必要な生産管理データを、データ蓄積サーバ２００から取得する。例えば、データ取得部３２３は、ユーザ名や計測期間などの検索キーをデータ蓄積サーバ２００に送信して検索を要求することで、検索キーに該当するレコードのデータを、データ蓄積サーバ２００の生産管理データベース２１２から取得する。
【００６８】
利用支援処理部３２４は、生産支援プログラムの利用支援サービスを提供する処理を実行する。例えば、利用支援処理部３２４は、ユーザを選択するとともに、そのユーザに推奨すべき生産支援プログラムを選択する。利用支援処理部３２４は、選択したユーザに対応する生産管理データを、データ取得部３２３を介してデータ蓄積サーバ２００から取得し、取得したデータに基づき、ユーザの生産管理サーバ１１０で測定されている測定項目を特定する。これとともに、利用支援処理部３２４は、選択した生産支援プログラムの実行時に利用される必須の測定項目をアプリケーション管理データベース３１４から抽出する。そして、利用支援処理部３２４は、特定された測定項目が、必須の測定項目をすべて含むかを判定する。
【００６９】
特定された測定項目が必須の測定項目をすべて含む場合、利用支援処理部３２４は、選択した生産支援プログラムが利用可能であることをユーザに通知する。一方、選択した生産支援プログラムを利用するために足りない測定項目がある場合、利用支援処理部３２４は、足りない測定項目をユーザに通知する。そして、利用支援処理部３２４は、足りない測定項目を新たに測定することによって、選択した生産支援プログラムが利用できるようになることをユーザに案内する。
【００７０】
図９は、ユーザ管理データベースのデータ構成例を示す図である。ユーザ管理データベース３１３は、ユーザ別のレコード３１３ａ，３１３ｂ，３１３ｃ，・・・を含む。レコード３１３ａ，３１３ｂ，３１３ｃ，・・・のそれぞれには、ユーザを識別するユーザ名と、ユーザからの利用申請に応じてユーザが利用可能になっている生産支援プログラムを示すアプリケーション名が登録される。
【００７１】
図１０は、アプリケーション管理データベースのデータ構成例を示す図である。アプリケーション管理データベース３１４は、生産支援プログラム別のレコード３１４ａ，３１４ｂ，３１４ｃ，・・・を含む。レコード３１４ａ，３１４ｂ，３１４ｃ，・・・のそれぞれには、アプリケーション名、必須測定項目、その他の測定項目、精度条件、代替項目、関連アプリケーションが登録される。
【００７２】
アプリケーション名は、生産支援プログラムを識別する識別情報である。必須測定項目は、生産支援プログラムの実行のために必須の測定項目を示す。その他の測定項目は、生産支援プログラムの実行時に利用され得る測定項目のうち、必須測定項目に含まれない測定項目を示す。必須測定項目およびその他の測定項目のどちらにも、複数の測定項目を登録することができる。
【００７３】
精度条件は、必須測定項目またはその他の測定項目として登録された測定項目の少なくとも１つについて、生産支援プログラムの実行時に利用可能となる測定値の精度の条件を示す。すなわち、精度条件が登録されている測定項目については、測定値が精度条件を満たしていないと生産支援プログラムの実行時に利用できない。ここで言う精度とは、測定値の正確性や信頼性を示す指標である。精度条件としては、例えば、測定値の測定頻度やバラツキの条件が登録される。
【００７４】
代替項目は、必須測定項目として指定された測定項目の代わりに利用可能な他の測定項目を示す。関連アプリケーションは、生産支援プログラムに関連する補助プログラムを示す。例えば、関連アプリケーションとしては、必須測定項目の測定値を、他の測定項目の測定値を基に計算によって作成することが可能な補助プログラムが登録される。
【００７５】
次に、図１１〜図１５を用いて、生産支援プログラムによって実現される生産支援サービスの具体例について説明する。また、図１３〜図１５では、測定項目に対応する精度条件についても例示する。
【００７６】
まず、図１１、図１２は、生産工程の進捗実績を可視化するための生産支援プログラムによる処理例を示す図である。図１１、図１２では例として、プリント基板に対する部品の実装工程に対して生産支援プログラムを適用したものとする。この実装工程は、工程ＳＴ１〜ＳＴ４を含むものとする。工程ＳＴ１は、基板に対してハンダ印刷を行う工程である。工程ＳＴ２は、高速マウンタ＃１を用いて基板に部品を搭載する工程である。工程ＳＴ３は、高速マウンタ＃２を用いて基板に部品を搭載する工程である。工程ＳＴ４は、汎用マウンタを用いて基板に部品を搭載する工程である。
【００７７】
また、図１１は、生産支援プログラム＃１による処理例であり、図１２は、生産支援プログラム＃２による処理例であるとする。ここで、生産支援プログラム＃２は、生産支援プログラム＃１と同じ分野に属するプログラム、または同じ種類のプログラムでありながら、生産支援プログラム＃１よりも多機能となっている。例えば、生産支援プログラム＃２は、生産支援プログラム＃１のレベルアップ版に相当する。
【００７８】
図１１に示すように、生産支援プログラム＃１の実行により、測定項目として、部品ごとの各工程ＳＴ１〜ＳＴ４の完了時刻が利用され、それらの完了時刻に基づいて図１１に示すグラフ３５１が端末装置１２０に表示される。グラフ３５１は、基板＃１〜＃３のそれぞれについての工程の進捗状況を示すものであり、縦軸が時間の推移を示し、横軸が工程の進捗を示す。そして、同一基板についての各工程の完了時刻が直線によって結ばれている。
【００７９】
このグラフ３５１によれば、直線の傾きが小さいほど、対応する基板について工程の進捗が速く、生産効率が高いことがわかる。したがって、端末装置１２０のオペレータは、グラフ３５１を視認することで、実装工程における生産効率を視覚的に認識できる。
【００８０】
また、図１１に示すように、例えば工程ＳＴ２において、吸着エラーを示すアラームと、部品欠品による停止を示すアラームが検出されていたとする。オペレータは、アラームの発生時刻とグラフ３５１上の直線とを対比させることで、どの基板に対してアラームが発生したかを推定できる。
【００８１】
一方、図１２に示すように、生産支援プログラム＃２の実行時には、測定項目として、部品ごとの各工程ＳＴ１〜ＳＴ４の投入時刻がさらに利用される。そして、各工程の投入時刻と完了時刻とに基づいて、図１２に示すグラフ３５２が端末装置１２０に表示される。グラフ３５２では、同一基板について、ある工程の完了時刻、次の工程の投入時刻、同じ工程の完了時刻が、順に直線によって結ばれている。
【００８２】
このグラフ３５２によれば、ある工程の完了時刻と次の工程の投入時刻との間が、待ち時間として現れる。このため、オペレータは、各工程での生産効率を直線の傾きによって認識できるだけでなく、待ち時間の大小も認識できる。さらに、オペレータは、アラームが工程の投入中に発生したのか、待ち時間中に発生したのかも確認できる。図１２の例では、オペレータは、基板＃３についての工程ＳＴ１と工程ＳＴ２との間の待ち時間にアラームが発生したことを認識できる。このように、生産支援プログラム＃２を用いたサービスは、生産支援プログラム＃１を用いたサービスより、生産工程の進捗実績をきめ細かく可視化できるものとなっている。
【００８３】
ここで、アプリケーション管理データベース３１４のレコードのうち、生産支援プログラム＃１に対応するレコードでは、必須測定項目として各工程の完了時刻が登録される。一方、生産支援プログラム＃２に対応するレコードでは、必須測定項目として各工程の投入時刻と完了時刻とが登録される。図１１、図１２の例のように、必須測定項目が多い生産支援プログラムほど、生産活動をきめ細かく支援できる生産支援サービスを提供できる。
【００８４】
図１３、図１４は、単位時間当たりの生産数量の変化を可視化するための生産支援プログラムによる処理例を示す図である。図１３、図１４では例として、上記の工程ＳＴ１に投入された基板の数量と、工程ＳＴ１での部品実装が完了した基板の数量とを可視化する場合を示す。図１３は、生産支援プログラム＃３による処理例であり、図１４は、生産支援プログラム＃４による処理例であるとする。また、生産支援プログラム＃４は、生産支援プログラム＃２のレベルアップ版に相当するものとする。
【００８５】
生産支援プログラム＃３，＃４のいずれの実行時にも、測定項目として、それぞれの基板についての工程ＳＴ１に対する投入時刻および工程ＳＴ１における完了時刻と、アラームの発生時刻とが利用される。すなわち、アプリケーション管理データベース３１４のレコードのうち、生産支援プログラム＃３，＃４にそれぞれ対応するレコードでは、必須測定項目として投入時刻、完了時刻、アラーム発生時刻が登録される。
【００８６】
ただし、生産支援プログラム＃３の処理では、各測定項目に対応する測定値の取得間隔が２０分以下であればよいのに対し、生産支援プログラム＃４の処理では、取得間隔が１分以下でなくてはならなくなっている。すなわち、アプリケーション管理データベース３１４のレコードのうち、生産支援プログラム＃３に対応するレコードでは、精度条件として、投入時刻、完了時刻、アラーム発生時刻のそれぞれの取得間隔が２０分以下であることが登録されている。また、生産支援プログラム＃４に対応するレコードでは、精度条件として、投入時刻、完了時刻、アラーム発生時刻のそれぞれの取得間隔が１分以下であることが登録されている。このように、生産支援プログラム＃３と生産支援プログラム＃４との間では、必須測定項目は同じであるものの、各必須測定項目に対して設定された精度条件が異なる。
【００８７】
図１３に示すように、生産支援プログラム＃３の実行により、基板＃１〜＃４のそれぞれに対応する投入時刻および完了時刻に基づいて、工程ＳＴ１における基板＃１〜＃４の進捗を示すグラフ３６１が端末装置１２０に表示される。これとともに、基板＃１〜＃４のそれぞれに対応するアラーム発生時刻に基づいて、グラフ３６１における２０分ごとの時間帯に対応付けてアラーム発生を示すマーカが表示される。さらに、生産効率を示す指標として、２０分当たりの工程完了個数が算出され、グラフ３６１における２０分ごとの時間帯に対応付けて表示される。例えば、１０時から１０時２０分の時間帯では、２０分当たり１個という指標が算出されている。
【００８８】
一方、図１４に示すように、生産支援プログラム＃４の実行により、基板＃１〜＃４のそれぞれに対応する投入時刻および完了時刻に基づいて、工程ＳＴ１における基板＃１〜＃４の進捗を示すグラフ３６２が端末装置１２０に表示される。これとともに、基板＃１〜＃４のそれぞれに対応するアラーム発生時刻に基づいて、グラフ３６２における１分ごとの時間帯に対応付けてアラーム発生を示すマーカが表示される。さらに、生産効率を示す指標として、２０分当たりの工程完了個数が算出され、グラフ３６２における２０分ごとの時間帯に対応付けて表示される。
【００８９】
図１３の表示情報によれば、オペレータは、１０時２０分から１０時３０分までの時間帯に、アラームが４回発生したことを視覚的に認識できる。ただし、この時間帯では、基板＃２と基板＃３の両方が工程ＳＴ１に投入されているため、オペレータは、基板＃２と基板＃３のどちらの部品実装作業においてアラームが発生したのかを判断できない。これに比べて、図１４の表示情報によれば、アラームの発生を示すマーカの位置が１分というより細かい分解能で表示される。これにより、オペレータは、基板＃３の部品実装作業においてアラームが発生したことを判断できる。
【００９０】
このように、生産支援プログラムの実行時に利用される必須測定項目が同じであっても、精度条件の違いにより、生産活動の支援レベルが異なる生産支援サービスが提供される。
【００９１】
図１５は、部品搭載位置のズレを補正するための生産支援プログラムによる処理例を示す図である。図１５では例として、所定のマウンタによる基板への部品の実装工程に対して生産支援プログラム＃５を適用したものとする。生産支援プログラム＃５の実行時には、必須測定項目として、基板に対する部品の搭載位置が利用される。すなわち、アプリケーション管理データベース３１４のレコードのうち、生産支援プログラム＃５に対応するレコードでは、必須測定項目として部品の搭載位置が登録される。なお、図１５では、部品の搭載位置は、基板における左右方向における座標値として表され、この座標値は右側にいくほど大きな値になるものとする。
【００９２】
生産支援プログラム＃５の実行により、所定の時間帯において実装工程に投入された各部品についての搭載位置の分布を示すグラフが、端末装置１２０に表示される。そして、搭載位置の平均値が計算され、この平均値があらかじめ決められた基準値からどれだけずれているかを示すズレ量Ｇが計算される。この基準値は、部品が基板に搭載される際の理想的な基準位置を示し、ズレ量Ｇは、実際の実装工程における部品の平均的な搭載位置が、理想的な基準位置からどれだけずれているかを示す。
【００９３】
端末装置１２０のオペレータは、算出されたズレ量Ｇを認識することで、基板に対する部品の搭載位置がズレ量Ｇの分だけ補正されるように、生産ライン１３０の制御データを変更することができる。あるいは、生産支援プログラム＃５の実行により、生産ライン１３０の制御データが自動的に補正されてもよい。
【００９４】
図１５（Ａ）は、搭載位置のバラツキが小さい場合のグラフの例を示し、図１５（Ｂ）は、バラツキが大きい場合のグラフの例を示す。基板における部品を搭載可能な範囲には、限界がある。図１５（Ａ），（Ｂ）では、左側の限界位置を示す左限界値と、右側の限界位置を示す右限界値とが示されている。
【００９５】
図１５（Ａ）のように搭載位置のバラツキが比較的小さい場合には、搭載位置をズレ量Ｇの分だけ移動させたとしても、移動後に測定される搭載位置の座標は左限界値と右限界値との間に収まる。しかし、算出されたズレ量Ｇが図１５（Ａ）の場合と同じであっても、図１５（Ｂ）のように搭載位置のバラツキが大きい場合には、搭載位置をズレ量Ｇの分だけ移動させると、移動後に測定される搭載位置が搭載可能な範囲を超えてしまう場合がある。図１５（Ｂ）の例では、搭載位置の移動後には搭載位置の座標が右限界値を超えている。
【００９６】
このため、生産支援プログラム＃５の実行時に利用される、部品の搭載位置の測定値については、そのバラツキが一定値以下である必要がある。従って、アプリケーション管理データベース３１４のレコードのうち、生産支援プログラム＃５に対応するレコードでは、部品の搭載位置についての精度条件として、バラツキを示す指標が所定値以下であることが登録される。例えば、図１５では、測定された部品の搭載位置の平均値を中心とした許容範囲が設定されている。そして、部品の搭載位置についての精度条件として、搭載位置の測定値の分散が許容範囲に収まることが登録される。
【００９７】
ここで、上記の図１３、図１４の例では、測定項目に対応する精度条件として、測定値の取得間隔（取得頻度）という測定条件に関連する条件が設定されている。このような測定条件は、生産管理データベース２１２のレコードにおいて測定条件として設定されている。このため、利用支援処理部３２４は、生産支援プログラムの実行時にこの測定項目についての測定値を利用可能か否かを、ユーザに対応するレコードから抽出された測定条件が精度条件を満たすか否かによって判定すればよい。
【００９８】
これに対して、図１５の例では、測定項目についての測定値のバラツキが精度条件として設定されている。このような場合、利用支援処理部３２４は、生産支援プログラムの実行時にこの測定項目についての測定値を利用可能か否かを、次のようにして判定すればよい。例えば、利用支援処理部３２４は、ユーザに対応する複数のレコードから抽出された測定値のバラツキを計算し、算出されたバラツキが精度条件を満たすか否かによって判定する。
【００９９】
次に、アプリケーション管理データベース３１４に登録される代替項目について説明する。
前述のように、利用支援処理部３２４は、あるユーザがある生産支援プログラムを利用可能かを判定する際に、そのユーザに対応する生産管理データをデータ蓄積サーバ２００から取得する。そして、利用支援処理部３２４は、取得したデータに基づいて、ユーザの生産管理サーバ１１０で測定されている測定項目を特定する。これとともに、利用支援処理部３２４は、この生産支援プログラムについての必須測定項目をアプリケーション管理データベース３１４から抽出し、特定された測定項目が必須測定項目をすべて含むかを判定する。
【０１００】
ここで、生産支援プログラムを利用するために足りない測定項目がある場合でも、その測定項目の測定値を、測定内容がほぼ同等である他の測定項目の測定値によって代替できることがある。そして、そのような代替可能な測定項目がユーザの生産管理サーバ１１０で測定されていれば、利用支援処理部３２４は、ユーザがこの生産支援プログラムを利用可能と判定できる。
【０１０１】
図１６は、代替項目の例を示す図である。図１６では、プリント基板に対する部品の実装工程に含まれる工程ＳＴ２１，ＳＴ２２を想定する。工程ＳＴ２１は、部品実装工程に対する前工程であり、工程ＳＴ２２は、高速マウンタによる部品の実装工程であるものとする。
【０１０２】
例えば、ある生産支援プログラムに対応する必須測定項目として、工程ＳＴ２２に対する基板の投入時刻Ｔ１が設定されているが、あるユーザの生産管理サーバ１１０ではこの投入時刻Ｔ１が測定されていないとする。一方、図１６の下側に示すように、工程ＳＴ２１は、前工程ＳＴ２１ａと、搬送コンベアによる高速マウンタへの基板の搬送が行われる工程ＳＴ２１ｂとを含んでいる。そして、ユーザの生産管理サーバ１１０は、測定項目として、工程ＳＴ２１ａの完了時刻Ｔ２、工程ＳＴ２１ｂでの所定位置における基板の通過時刻Ｔ３、工程ＳＴ２１ｂでの搬送コンベアによる基板のセット完了時刻Ｔ４を測定していたとする。
【０１０３】
この場合、例えば、工程ＳＴ２１ｂでの搬送コンベアによる基板の搬送時間が、工程ＳＴ２２での高速マウンタによる部品の搭載にかかる時間より十分に短ければ、投入時刻Ｔ１は、完了時刻Ｔ２、通過時刻Ｔ３、セット完了時刻Ｔ４のいずれかによって代替できる。
【０１０４】
次に、生産支援プログラムの利用支援サービスでの処理について、フローチャートを用いて説明する。
図１７は、利用支援サービスでの第１の処理例を示すフローチャートである。この第１の処理例は、ある特定の生産支援プログラムをある特定のユーザが利用可能であるかを判定した判定結果に基づく情報を、ユーザに提供する利用支援サービスでの処理を示す。
【０１０５】
［ステップＳ１１］生産支援サーバ３００の利用支援処理部３２４は、利用支援サービスの提供対象のユーザを選択する。そして、利用支援処理部３２４は、選択されたユーザに対応する生産管理データを、データ取得部３２３を介してデータ蓄積サーバ２００から取得する。具体的には、利用支援処理部３２４は、検索キーとして選択されたユーザのユーザ名を通知する。利用支援処理部３２４は、通知されたユーザ名を検索キーとしてデータ蓄積サーバ２００に送信して、生産管理データベース２１２の検索を要求する。この要求に応じて、生産管理データベース２１２からユーザに対応するレコードが読み出され、生産支援サーバ３００に送信される。データ取得部３２３は、送信されたレコードのデータを受信して、利用支援処理部３２４に渡す。
【０１０６】
［ステップＳ１２］利用支援処理部３２４は、取得した生産管理データに基づき、ユーザの生産管理サーバ１１０で測定されている測定項目を特定する。具体的には、利用支援処理部３２４は、取得したレコードに設定された測定項目を抽出する。
【０１０７】
［ステップＳ１３］利用支援処理部３２４は、ユーザに推奨する生産支援プログラムを１つ特定する。例えば、ユーザが生産支援サービスをまだ受けていない場合、利用支援処理部３２４は、ユーザの業種や用途に関連する生産支援プログラムを選択する。また、ユーザが生産支援サービスをすでに受けている場合には、例えば、次のような処理が実行される。利用支援処理部３２４は、ユーザ管理データベース３１３を参照してユーザが利用中の生産支援プログラムを１つ抽出する。そして、利用支援処理部３２４は、抽出された生産支援プログラムに関連する他の生産支援プログラム、例えば、抽出された生産支援プログラムのレベルアップ版の生産支援プログラムを、ユーザに推奨する生産支援プログラムとして特定する。
【０１０８】
なお、このステップＳ１３では、例えば、生産支援プログラムがユーザ側から指定されてもよい。この場合、ユーザは、現在測定している測定項目の測定値を用いて特定の生産支援プログラムを利用可能かを、生産支援サーバ３００に問い合わせることができる。
【０１０９】
［ステップＳ１４］利用支援処理部３２４は、アプリケーション管理データベース３１４から、ステップＳ１３で特定された生産支援プログラムに対して設定された必須測定項目を抽出する。
【０１１０】
［ステップＳ１５］利用支援処理部３２４は、ステップＳ１４で抽出された必須測定項目と、ステップＳ１２で特定された測定項目とを照合することで、ユーザの測定項目が足りているか否かを判定する。
【０１１１】
利用支援処理部３２４は、抽出された必須測定項目が、ステップＳ１２で特定された測定項目の中にすべて含まれている場合には、測定項目が足りていると判定し、ステップＳ１８の処理を実行する。一方、利用支援処理部３２４は、抽出された必須測定項目の中に、ステップＳ１２で特定された測定項目に含まれていないものがある場合には、測定項目が足りないと判定し、ステップＳ１６の処理を実行する。
【０１１２】
［ステップＳ１６］利用支援処理部３２４は、アプリケーション管理データベース３１４から、ステップＳ１３で特定された生産支援プログラムに対して設定された代替項目を抽出する。そして、利用支援処理部３２４は、次の各条件を満たすかを判定する。
【０１１３】
利用支援処理部３２４は、まず、アプリケーション管理データベース３１４から代替項目を抽出できたかを判定する。代替項目を抽出できた場合、利用支援処理部３２４は、必須測定項目のうち、ステップＳ１２で特定された測定項目の中に含まれていない必須測定項目を特定し、特定された必須測定項目のすべてに対して代替項目が設定されているかを判定する。設定されている場合、利用支援処理部３２４は、設定されている代替項目のすべてが、ステップＳ１２で特定された測定項目の中に含まれているかを判定する。
【０１１４】
利用支援処理部３２４は、以上の各条件をすべて満たす場合に、代替項目の使用によって測定項目が足りると判定し、ステップＳ１８の処理を実行する。一方、利用支援処理部３２４は、上記の条件のうち１つでも満たさない場合、測定項目が足りないと判定し、ステップＳ１７の処理を実行する。
【０１１５】
［ステップＳ１７］利用支援処理部３２４は、アプリケーション管理データベース３１４から、ステップＳ１３で特定された生産支援プログラムに対して設定された関連アプリケーションを抽出する。利用支援処理部３２４は、関連アプリケーションとして抽出されたプログラムの中に、足りないと判定された必須測定項目の測定値を、ステップＳ１２で特定された他の測定項目の測定値から作成可能な補助プログラムが含まれているかを確認する。この処理で該当する補助プログラムが含まれていると判定された場合、ステップＳ１９で出力される処理結果の中に、この補助プログラムを示す情報が含められる。
【０１１６】
［ステップＳ１８］利用支援処理部３２４は、アプリケーション管理データベース３１４から、ステップＳ１３で特定された生産支援プログラムに対して設定された精度条件を抽出する。そして、利用支援処理部３２４は、次の条件を満たすかを判定する。
【０１１７】
利用支援処理部３２４は、まず、アプリケーション管理データベース３１４から精度条件を抽出できたかを判定する。精度条件を抽出できた場合、利用支援処理部３２４は、精度条件が設定されているすべての必須測定項目に対応するユーザの測定値が、精度条件を満たすかを判定する。なお、ステップＳ１６で必須測定項目に対応する代替項目があると判定された場合には、代替項目に対応するユーザの測定値が精度条件を満たすかも判定される。
【０１１８】
利用支援処理部３２４は、以上の各条件をすべて満たす場合に、ステップＳ１３で特定された生産支援プログラムをユーザが利用可能であると判定し、ステップＳ１９の処理を実行する。一方、利用支援処理部３２４は、上記の条件のうち１つでも満たさない場合、ステップＳ１７の処理を実行する。
【０１１９】
なお、測定値の精度は、ステップＳ１１で取得したレコードの測定条件から取得できる場合と、そうでない場合がある。例えば、図１４に示した生産支援プログラム＃４の場合、必須測定項目は、工程の投入時刻および完了時刻と、アラーム発生時刻であり、精度条件は、これらの測定値の取得間隔が１分以下であることである。このケースにおいて、ステップＳ１１で取得したレコードの測定条件に、各必須測定項目の取得間隔が設定されている場合には、利用支援処理部３２４は、設定されている取得間隔に基づいて精度条件を満たすかを判定できる。
【０１２０】
一方、例えば、図１５に示した生産支援プログラム＃５の場合、必須測定項目は、部品の搭載位置であり、精度条件は、搭載位置のバラツキを示す指標（ここでは分散とする）が一定値以下であることである。このケースにおいて、ステップＳ１１で取得したレコードの測定条件に、搭載位置の分散が設定されていない場合には、利用支援処理部３２４は、取得した各レコードの測定値の分散を計算し、算出された分散が精度条件を満たすかを判定する。
【０１２１】
［ステップＳ１９］利用支援処理部３２４は、以上の処理による処理結果をユーザの生産管理サーバ１１０に送信して、端末装置１２０に処理結果を表示させる。ここで、処理結果の例を図１８に例示する。
【０１２２】
図１８は、第１の処理例における端末装置での画面表示例を示す図である。まず、図１８（Ａ），（Ｂ）は、生産支援サービスを受けていないユーザに対して提示される画面の例を示す。
【０１２３】
図１８（Ａ）に示す画面１２１は、図１７のステップＳ１８で、「アプリケーションＡ２」という生産支援プログラムをユーザが利用可能と判定された場合の画面の一例である。この画面１２１により、利用支援処理部３２４は、現在測定されている測定値を用いて生産支援プログラムを利用できることをユーザに案内し、その利用を推奨することができる。すなわち、利用支援処理部３２４は、ユーザ側の生産設備や生産システムの環境に合致した生産支援プログラムを、ユーザに提示することができる。
【０１２４】
図１８（Ｂ）に示す画面１２２は、図１７のステップＳ１５で測定項目Ｂ１が足りていないと判定され、かつ、ステップＳ１７で測定項目Ｂ１を作成する「補助アプリケーションＣ１」という補助プログラムが抽出された場合の画面の一例である。この画面１２２により、利用支援処理部３２４は、新たに測定項目Ｂ１を測定することで生産支援プログラムを利用できるようになることをユーザに案内し、その利用を推奨することができる。さらに、利用支援処理部３２４は、足りない測定項目Ｂ１の測定値を作成する補助プログラムをユーザに案内して、上記の生産支援プログラムの利用を推奨することができる。
【０１２５】
ここで、図１８（Ａ），（Ｂ）のような情報を作成するための処理では、精度条件や代替項目も用いて判定が行われる。これにより、提供する情報の正確性を向上させることができる。
【０１２６】
また、生産支援サーバ３００は、利用可能な生産支援プログラムや、生産支援プログラムを利用可能にする方法をユーザに案内することで、生産支援プログラムの利用を促進することができる。ここで、生産支援サーバ３００は、ユーザ側に蓄積された膨大な量の生産管理データを解析し、その結果としてユーザに上記情報を提供する。これにより、生産支援サービスの提供者にとっては、手作業では解析不可能であった膨大な量のデータに基づいて、多くのユーザに生産支援プログラムの利用を容易に推奨することができる。従って、低コストで生産支援プログラムの利用を促進することができる。
【０１２７】
次に、図１８（Ｃ），（Ｄ）は、ユーザが現在「アプリケーションＡ１」という生産支援プログラムを利用中であり、図１７のステップＳ１３において、そのレベルアップ版である「アプリケーションＡ２」という生産支援プログラムが特定された場合を示す。
【０１２８】
図１８（Ｃ）に示す画面１２３は、図１７のステップＳ１８で、「アプリケーションＡ２」という新たな生産支援プログラムをユーザが利用可能と判定された場合の画面の一例である。この画面１２３により、利用支援処理部３２４は、新たな生産支援プログラムを利用できることをユーザに案内し、その利用を推奨することができる。
【０１２９】
図１８（Ｄ）に示す画面１２４は、図１７のステップＳ１８で、必須測定項目である測定項目Ｂ２の測定値が、測定頻度が毎分１０回以上という精度条件を満たしていないと判定された場合の画面の一例である。この画面１２４により、利用支援処理部３２４は、測定項目Ｂ２の測定頻度を高めることで新たな生産支援プログラムを利用できるようになることをユーザに案内し、その利用を推奨することができる。
【０１３０】
図１９は、利用支援サービスでの第２の処理例を示すフローチャートである。この第２の処理例は、複数の生産支援プログラムの中から、特定のユーザが利用可能な生産支援プログラムを抽出してユーザに提示することを目的とした利用支援サービスでの処理を示す。
【０１３１】
［ステップＳ２１］利用支援処理部３２４は、図１７のステップＳ１１と同様の手順で、サービス提供対象のユーザを選択し、選択したユーザに対応する生産管理データを、データ取得部３２３を介してデータ蓄積サーバ２００から取得する。
【０１３２】
［ステップＳ２２］利用支援処理部３２４は、図１７のステップＳ１２と同様の手順で、ユーザの生産管理サーバ１１０で測定されている測定項目を特定する。
［ステップＳ２３］利用支援処理部３２４は、生産支援プログラムの中から、ステップＳ２４以降で判定対象とする生産支援プログラムを１つ以上特定する。例えば、利用支援処理部３２４は、属性を指定することで、その属性に対応する生産支援プログラムを特定する。属性としては、例えば、生産支援プログラムがどのような分野の技術に適用されるか、あるいは、生産支援プログラムの実行によりどのような種類の効果が生まれるかを示す属性が考えられる。
【０１３３】
なお、このステップＳ２２では、ユーザが生産支援サービスをすでに受けている場合には、ユーザ管理データベース３１３に基づき、ユーザが現在利用中である生産支援プログラム以外の生産支援プログラムが特定される。
【０１３４】
［ステップＳ２４］利用支援処理部３２４は、ステップＳ２３で特定された生産支援プログラムの中から、処理対象とする生産支援プログラムを１つ選択する。
［ステップＳ２５〜Ｓ２９］利用支援処理部３２４は、ステップＳ２４で選択された生産支援プログラムを処理対象として、図１７のステップＳ１４〜Ｓ１８と同様の処理を実行する。
【０１３５】
［ステップＳ３０］利用支援処理部３２４は、ステップＳ２４〜Ｓ２９での処理結果を記憶領域に一時的に記憶させる。この処理結果は、ステップＳ２４で選択された生産支援プログラムをユーザが利用できるかを示す。また、利用できない場合、処理結果は、測定項目を追加するか、必須測定項目の測定値の精度を向上させることで、ステップＳ２４で選択された生産支援プログラムをユーザが利用できるようになるかを示す。さらに、処理結果は、測定項目が足りていない場合に、その測定項目の測定値を作成するための補助プログラムが存在するかを示す。
【０１３６】
［ステップＳ３１］利用支援処理部３２４は、ステップＳ２３で特定された生産支援プログラムをすべて処理対象として選択済みかを判定する。選択済みの場合、利用支援処理部３２４は、ステップＳ３２の処理を実行する。一方、未選択の生産支援プログラムがある場合、利用支援処理部３２４は、ステップＳ２４の処理を実行して、未選択の生産支援プログラムを選択する。
【０１３７】
［ステップＳ３２］利用支援処理部３２４は、ステップＳ３０で記憶された処理結果に基づいて最終的な処理結果を作成し、その処理結果をユーザの生産管理サーバ１１０に送信して、端末装置１２０に処理結果を表示させる。ここで、処理結果の例を図２０に例示する。
【０１３８】
図２０は、第２の処理例における端末装置での画面表示例を示す図である。図２０に示す画面１２５は、現在測定されている測定項目を用いて、「アプリケーションＡ２」という生産支援プログラムをユーザが利用できることを示す。このような情報をユーザに提供することで、ユーザ側の生産設備や生産システムの環境に合致した生産支援プログラムを、ユーザに提示することができる。さらに、画面１２５は、新たに測定項目Ｂ３を測定することで、「アプリケーションＡ３」という別の生産支援プログラムを利用できるようになることを示す。このような情報をユーザに提供することで、生産支援プログラムの利用を促進することができる。
【０１３９】
〔第３の実施の形態〕
上記の第２の実施の形態では、あらかじめアプリケーション管理データベース３１４に登録された必須測定項目に基づいて、生産支援プログラムをユーザが利用可能かが判定される。しかし、あらかじめ登録された必須測定項目が、生産支援プログラムが実際に実行された際にすべて参照されるとは限らない。その場合には、ユーザの生産管理サーバ１１０が、実際に利用されていない必須測定項目の測定値を計測していない場合、ユーザが生産支援プログラムを利用できないと判定されてしまう。このため、実際には利用できる可能性が高い生産支援プログラムをユーザに提供できず、この生産支援プログラムをユーザに利用してもらう機会が失われてしまうので、サービス提供者側にとってもユーザ側にとっても不利益が生じる。
【０１４０】
そこで、第３の実施の形態では、第２の実施の形態の生産支援サーバ３００の処理が、次のように変形される。第３の実施の形態の生産支援サーバは、生産支援プログラムの実行時に、利用された測定項目に関する履歴情報を蓄積する。そして、生産支援サーバは、ユーザにある生産支援プログラムを推奨する際、履歴情報から実際に利用された測定項目を必須測定項目として用いて、この生産支援プログラムをユーザが利用可能かを判定する。
【０１４１】
図２１は、第３の実施の形態の生産支援サーバが備える処理機能の構成例を示す図である。この図２１では、図８と同じ構成要素には同じ符号を付して示している。
図２１に示す生産支援サーバ３００−１は、図８の記憶部３１０の代わりに記憶部３１０−１を有する。記憶部３１０−１には、記憶部３１０に記憶された情報に加えて、利用履歴３１５が記憶される。利用履歴３１５には、生産支援プログラム３１１ａ，３１１ｂ，３１１ｃ，・・・の実行時において、生産支援処理部３２１ａ，３２１ｂ，３２１ｃ，・・・によって利用された（すなわち、参照された）測定項目についての履歴が登録される。
【０１４２】
また、生産支援サーバ３００−１は、図８の利用支援処理部３２４の代わりに利用支援処理部３２４−１を備える。利用支援処理部３２４−１は、生産支援プログラムに対応する必須測定項目を利用履歴３１５に基づいて判定し、判定された必須測定項目を用いて、ユーザがその生産支援プログラムを利用可能かを判定する。
【０１４３】
なお、利用支援処理部３２４−１の処理は、例えば、生産支援サーバ３００−１が備えるプロセッサが所定のプログラムを実行することで実現される。
図２２は、生産支援サービスでの処理例を示すフローチャートである。
【０１４４】
［ステップＳ５１〜Ｓ５３］利用支援処理部３２４−１は、図１７のステップＳ１１〜Ｓ１３と同様の処理を実行する。
［ステップＳ５４］利用支援処理部３２４−１は、利用履歴３１５から、ステップＳ５３で特定された生産支援プログラムの実行時に登録された履歴情報を抽出する。この処理では、他のユーザに対する生産支援サービスの提供時に登録された履歴情報が抽出される。
【０１４５】
［ステップＳ５５］利用支援処理部３２４−１は、抽出された利用履歴に基づき、利用された測定項目の中から利用頻度が一定値以上である測定項目を、必須測定項目として特定する。
【０１４６】
なお、このステップＳ５５はスキップされてもよい。その場合、ステップＳ５６〜Ｓ５９で利用される必須測定項目は、ステップＳ５４で抽出された履歴情報に含まれるすべての測定項目とされる。
【０１４７】
［ステップＳ５６〜Ｓ５９］利用支援処理部３２４−１は、ステップＳ５５で特定された必須測定項目を用いて、図１７のステップＳ１５〜Ｓ１８と同様の処理を実行する。
［ステップＳ６０］利用支援処理部３２４−１は、図１７のステップＳ１９と同様の手順で、上記処理による処理結果をユーザの生産管理サーバ１１０に送信し、端末装置１２０に処理結果を表示させる。
【０１４８】
以上の第３の実施の形態によれば、生産支援プログラムの実行時に実際に利用された測定項目が必須測定項目として用いられて、この生産支援プログラムをユーザが利用可能か、あるいはどうすれば生産支援プログラムを利用できるようになるかが判定される。これにより、実際の測定値の利用実態に合うように正確な判定が行われるようになる。
【０１４９】
〔第４の実施の形態〕
前述のように、アプリケーション管理データベース３１４にあらかじめ登録された必須測定項目が、対応する生産支援プログラムが実際に実行された際にすべて参照されるとは限らない。逆に、その他の測定項目として設定されていた測定項目の中に、実際の利用頻度が高く、必須測定項目として設定しておく方が有用と考えられる測定項目が存在することもあり得る。
【０１５０】
そこで、第４の実施の形態では、生産支援プログラムの開発者に対する次のような開発者支援サービスが提供される。このサービスでは、生産支援プログラムの実際の利用状況に基づいて、生産支援プログラムに対して設定された必須測定項目のうち不要な測定項目や、必須測定項目として新たに追加すべき測定項目が、開発者に通知される。
【０１５１】
図２３は、第４の実施の形態の生産支援サーバが備える処理機能の構成例を示す図である。この図２３では、図２１と同じ構成要素には同じ符号を付して示している。
図２３の示す生産支援サーバ３００−２は、図２１の生産支援サーバ３００−１の処理機能に加えて、開発者支援処理部３２５をさらに有する。開発者支援処理部３２５は、生産支援プログラムの開発者が操作する開発者端末４００に接続されている。開発者支援処理部３２５は、ある生産支援プログラムの実行時に登録された履歴情報を利用履歴３１５から抽出し、抽出された履歴情報に基づいて測定項目の利用頻度を計算する。開発者支援処理部３２５は、算出された利用頻度に基づいて、生産支援プログラムに対して設定された必須測定項目の中に不要な測定項目がないか、あるいは必須測定項目として追加すべき測定項目がないかを判定する。そして、開発者支援処理部３２５は、判定結果を開発者端末４００に送信し、判定結果の内容を開発者に通知する。
【０１５２】
なお、開発者支援処理部３２５の処理は、例えば、生産支援サーバ３００−２が備えるプロセッサが所定のプログラムを実行することで実現される。
図２４は、開発者支援サービスでの処理例を示すフローチャートである。
【０１５３】
［ステップＳ８１］開発者支援処理部３２５は、処理対象とする生産支援プログラムを特定する。
［ステップＳ８２］開発者支援処理部３２５は、アプリケーション管理データベース３１４を参照して、ステップＳ８１で特定された生産支援プログラムに対して設定された必須測定項目およびその他の測定項目を特定する。
【０１５４】
［ステップＳ８３］開発者支援処理部３２５は、利用履歴３１５から、ステップＳ８１で特定された生産支援プログラムの実行時に登録された履歴情報を抽出する。
［ステップＳ８４］開発者支援処理部３２５は、抽出された履歴情報に基づき、ステップＳ８１で特定された生産支援プログラムの実行時に利用された測定項目を特定する。そして、開発者支援処理部３２５は、特定された測定項目のそれぞれについての利用頻度を算出する。利用頻度は、例えば、測定項目の測定データが参照された回数を、生産支援プログラムが実行されていた時間で除算することによって算出される。
【０１５５】
［ステップＳ８５］開発者支援処理部３２５は、ステップＳ８４で特定された測定項目を、利用頻度が高い測定項目と利用頻度が低い測定項目とに分類する。この分類は、利用頻度を所定の閾値と比較することで行われ、利用頻度が閾値以上の場合に利用頻度が高いと判定され、利用頻度が閾値未満の場合に利用頻度が低いと判定される。
【０１５６】
［ステップＳ８６］開発者支援処理部３２５は、アプリケーション管理データベース３１４を参照して、ステップＳ８５で利用頻度が低いと判定された測定項目のうち、代替項目が設定されている測定項目を抽出する。開発者支援処理部３２５は、代替項目が設定されている測定項目が抽出され、かつ、設定された代替項目の利用頻度が上記の閾値を超える場合には、測定項目を利用頻度の高い測定項目に分類し直す。
【０１５７】
このステップＳ８６の処理により、必須測定項目として設定されている測定項目の実際の利用頻度が低い場合でも、対応する代替項目の利用頻度が高い場合には、元の測定項目は必須測定項目のまま維持される。
【０１５８】
［ステップＳ８７］開発者支援処理部３２５は、ステップＳ８５，Ｓ８６で利用頻度が高いと判定された測定項目の中から、ステップＳ８２で特定された必須測定項目の中に含まれていない測定項目を抽出する。開発者支援処理部３２５は、抽出された測定項目を、必須測定項目に追加すべき測定項目と判定する。
【０１５９】
［ステップＳ８８］開発者支援処理部３２５は、ステップＳ８２で特定された必須測定項目の中から、ステップＳ８５，Ｓ８６で利用頻度が低いと判定された測定項目を抽出する。開発者支援処理部３２５は、抽出された測定項目を、必須測定項目から削除すべき測定項目と判定する。
【０１６０】
［ステップＳ８９］開発者支援処理部３２５は、ステップＳ８７，Ｓ８８での判定結果を開発者端末４００に送信し、判定結果を開発者端末４００に表示させる。
［ステップＳ９０］開発者の操作に応じて、開発者端末４００からアプリケーション管理データベース３１４の修正が要求された場合、開発者支援処理部３２５は、ステップＳ８７，Ｓ８８での判定結果に基づいてアプリケーション管理データベース３１４を修正する。
【０１６１】
具体的には、開発者支援処理部３２５は、アプリケーション管理データベース３１４のレコードのうち、ステップＳ８１で特定された生産支援プログラムに対応するレコードを特定する。開発者支援処理部３２５は、特定されたレコードに登録された必須測定項目のうち、ステップＳ８８で削除すべきと判定された測定項目を削除し、この測定項目をその他の測定項目として追加する。また、開発者支援処理部３２５は、ステップＳ８７で追加すべきと判定された測定項目を、特定されたレコードに必須測定項目として追加し、この測定項目をその他の測定項目から削除する。
【０１６２】
図２５は、開発者支援サービスによる開発者端末における画面表示例を示す図である。図２５に示す画面４０１は、図２４のステップＳ８８で測定項目Ｂ１を必須測定項目から削除すべきと判定され、ステップＳ８７で測定項目Ｂ２を必須測定項目として追加すべきと判定された場合を示す。この画面４０１により、生産支援プログラムの実行時におけるデータ利用状況の解析結果として、必須測定項目から削除すべき測定項目と、必須測定項目として追加すべき測定項目とが、それぞれ開発者に通知される。開発者は、通知された情報を、今後の生産支援プログラムの開発や現状の生産支援サービスのメンテナンスの際に生かすことができる。したがって、開発者支援処理部３２５の処理により、開発者による開発効率やメンテナンスの作業効率を向上させることができる。
【０１６３】
また、画面４０１では、アプリケーション管理データベース３１４の修正を要求するためのボタン４０２が表示されている。開発者によってボタン４０２の選択操作が行われることで、アプリケーション管理データベース３１４の修正が生産支援サーバ３００−２に要求される。この要求に応じて、図２４のステップＳ９０の処理が実行され、該当する生産支援プログラムのレコードのうち、必須測定項目およびその他の測定項目の情報が更新される。
【０１６４】
これにより、必須測定項目として、生産支援プログラムの実行時に実際に利用される可能性が高いデータ項目のみが登録されるようになり、生産支援プログラムの利用条件がユーザの利用実態に合致するように適正化される。その結果、生産支援プログラムの利用によって利益が得られるユーザに、生産支援プログラムを利用してもらえる確率が高くなり、その利用が促進される。
【０１６５】
また、例えば、画面４０１からボタン４０２が除去された画面が、生産支援プログラムの管理者の端末装置に表示されてもよい。この場合、管理者は、表示された画面に基づいて、アプリケーション管理データベース３１４の設定変更操作を行うことができる。
【０１６６】
なお、上記の各実施の形態に示した装置（例えば、プログラム利用支援装置１、生産支援サーバ３００，３００−１，３００−２）の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１６７】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１６８】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１６９】
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
【符号の説明】
【０１７０】
１  プログラム利用支援装置
１ａ  記憶部
１ｂ  演算部
２ａ，２ｂ  生産支援プログラム
３  生産管理データ
【図１】
0006659984.tif 000002
【図２】
0006659984.tif 000003
【図３】
0006659984.tif 000004
【図４】
0006659984.tif 000005
【図５】
0006659984.tif 000006
【図６】
0006659984.tif 000007
【図７】
0006659984.tif 000008
【図８】
0006659984.tif 000009
【図９】
0006659984.tif 000010
【図１０】
0006659984.tif 000011
【図１１】
0006659984.tif 000012
【図１２】
0006659984.tif 000013
【図１３】
0006659984.tif 000014
【図１４】
0006659984.tif 000015
【図１５】
0006659984.tif 000016
【図１６】
0006659984.tif 000017
【図１７】
0006659984.tif 000018
【図１８】
0006659984.tif 000019
【図１９】
0006659984.tif 000020
【図２０】
0006659984.tif 000021
【図２１】
0006659984.tif 000022
【図２２】
0006659984.tif 000023
【図２３】
0006659984.tif 000024
【図２４】
0006659984.tif 000025
【図２５】
0006659984.tif 000026