(57)【特許請求の範囲】
【請求項１】
基板実装ラインを構成する各デバイスとネットワークで結ばれた基板実装ライン統括コンピュータと、基板実装ライン統括コンピュータに提供されるべきアプリケーションプログラムが格納されたアプリケーションサーバとがインターネットを介して結ばれたシステムにおける基板実装ライン用プログラム提供方法であって、
アプリケーションサーバには、あらかじめ顧客との契約に基づいて作成されたサービス契約情報と同契約情報に規定されているアプリケーションプログラムとが予め格納されており、さらに
基板実装ライン統括コンピュータは、
あらかじめ顧客との契約に基づいて作成されたサービス契約情報と同契約情報に規定されているアプリケーションプログラムとを、アプリケーションサーバからダウンロードするステップと、
同契約情報に基づいてアプリケーションプログラムが適用される基板実装ライン並びにそのラインのデバイス構成を定義すると共に、定義されたデバイス構成をアプリケーションサーバにアップロードするステップと、
アプリケーションサーバにおける検索処理の終了を待って、検索されたデバイスドライバをアプリケーションサーバからダウンロードして、各デバイスに設定するステップと、を実行すると共に、
アプリケーションサーバは、
基板実装ライン統括コンピュータからアップロードされたデバイス構成に基づいて、あらかじめ用意されたデバイスドライバ群の中から必要なデバイスドライバを検索するステップを実行する、
ことを特徴とする基板実装ライン用プログラム提供方法。
【請求項２】
アプリケーションプログラムが、段取り管理、経時変動管理、不良要因推定のいずれかの用途、又はこれらを組み合わせた用途に使用可能なプログラムである、ことを特徴とする請求項１に記載の基板実装ライン用プログラム提供方法。
【請求項３】
サービス契約情報が、各基板実装ラインを基本単位として作成され、かつ適用基板実装ライン統括コンピュータ識別情報、基板実装ライン識別情報、そのラインで使用されるアプリケーションプログラム識別情報、登録可能デバイス数、変更可能デバイス数の各情報を含む、ことを特徴とする請求項１に記載の基板実装ライン用プログラム提供方法。
【請求項４】
サービス契約情報に含まれているクライアント識別情報を有する基板実装ライン統括コンピュータが、サービス契約情報のライン識別情報とプログラム識別情報と登録可能デバイス数とから、そのアプリケーションプログラムが適用される基板実装ライン及びその基板実装ラインの構成デバイスを定義すると共に、アプリケーションプログラムと適用対象デバイスとの間の入出力対応関係を設定する、ことを特徴とする請求項３に記載の基板実装ライン用プログラム提供方法。
【請求項５】
基板実装ラインへの所定のアプリケーションプログラム導入後、当該基板実装ラインにおいてデバイス構成の変更が生じた場合には、基板実装ライン統括コンピュータは、デバイス構成の変更範囲が当初のサービス契約情報に含まれる変更可能デバイス数の範囲内であるときには、契約条件を変更せずに、当該ラインで使用されるデバイス構成を変更すると共に、変更されたデバイス構成に対応するデバイスドライバを設定し、さらにアプリケーションプログラムと変更後の適用デバイスとの間のデータ入出力対応関係の再設定を行う、ことを特徴とする請求項４に記載の基板実装ライン用プログラム提供方法。
【請求項６】
変更されたデバイス構成に対応するデバイスドライバを設定できないときには、基板実装ライン統括コンピュータはアプリケーションサーバに対して当該変更後のデバイス構成をアップロードし、アプリケーションサーバはアップロードされたデバイス構成に基づいて必要なデバイスドライバを検索し、基板実装ライン統括コンピュータはアプリケーションサーバから検索されたデバイスドライバをダウンロードし、各デバイスに再設定する、ことを特徴とする請求項５に記載の基板実装ライン用プログラム提供方法。
【請求項７】
サービス契約情報が、さらに、アプリケーションプログラム利用可能期間を含み、基板実装ライン統括コンピュータにおいてアプリケーションが実行されようとした際に、利用可能期間外であれば当該アプリケーションを実行禁止状態とすることを特徴とする請求項３に記載の基板実装ライン用プログラム提供方法。
【請求項８】
基板実装ライン統括コンピュータは、当該アプリケーションプログラムの利用実績データとして、アプリケーションプログラムの総実行時間、総待機時間、特定アルゴリズムの動作回数、動作結果の表示回数、基板処理枚数、特定基板の抽出枚数の１又は２以上をこれらの項目別にあらかじめデータ収集、記憶させておき、アプリケーションサーバはこれらの利用実績データを単独で、或いは組み合わせて課金対象として所定の課金条件に従って多様な重量課金を行う、ことを特徴とする請求項７に記載の基板実装ライン用プログラム提供方法。
【請求項９】
サービス契約情報が、アプリケーションプログラムの利用実績データの送信、及びサービス契約情報の更新、を行うべきサイクル期間を含み、基板実装ライン統括コンピュータにおいてこの期間以上の間、アプリケーションプログラムの利用実績データの送信又はサービス契約情報の更新が行われなければ、当該アプリケーションプログラムを実行禁止状態とすることを特徴とする請求項３に記載の基板実装ライン用プログラム提供方法。
【請求項１０】
基板実装ライン統括コンピュータが通信クライアントを介してアプリケーションサーバとインターネット通信を行う、ことを特徴とする請求項１〜９のいずれかに記載の基板実装ライン用プログラム提供方法。
【請求項１１】
基板実装ラインを構成する各デバイスとＬＡＮで結ばれた基板実装ライン統括コンピュータと、基板実装ライン統括コンピュータに提供されるべきアプリケーションプログラムが格納されたアプリケーションサーバとがインターネットを介して結ばれたシステムであって、
基板実装ライン統括コンピュータには、
あらかじめ顧客との契約に基づいて作成されたサービス契約情報と同契約情報に規定されているアプリケーションプログラムとを、アプリケーションサーバからダウンロードする手段と、
同契約情報に基づいてアプリケーションプログラムが適用される基板実装ライン並びにそのラインのデバイス構成を定義すると共に、定義されたデバイス構成をアプリケーションサーバにアップロードする手段と、
検索されたデバイスドライバをアプリケーションサーバからダウンロードして、各デバイスに設定する手段とが設けられ、
アプリケーションサーバには、
基板実装ライン統括コンピュータからアップロードされたデバイス構成に基づいて、あらかじめ用意されたデバイスドライバ群の中から必要なデバイスドライバを検索する手段とが設けられている、
ことを特徴とする基板実装ライン用プログラム提供システム。
【請求項１２】
基板実装ラインを構成する各デバイスとＬＡＮで結ばれた基板実装ライン統括コンピュータと、基板実装ライン統括コンピュータとリムーバブルメディアを介して情報伝達が可能な通信クライアントコンピュータと、基板実装ライン統括コンピュータに提供されるべきアプリケーションプログラムが格納されたアプリケーションサーバと、を有すると共に、アプリケーションサーバと通信クライアントコンピュータとがインターネットで結ばれたシステムであって、
基板実装ライン統括コンピュータには、
あらかじめ顧客との契約に基づいて作成されたサービス契約情報と同契約情報に規定されているアプリケーションプログラムとを、通信クライアント並びにリムーバブルメディアを介して、アプリケーションサーバからダウンロードする手段と、
同契約情報に基づいてアプリケーションプログラムが適用される基板実装ライン並びにそのラインのデバイス構成を定義すると共に、定義されたデバイス構成を、通信クライアント並びにリムーバブルメディアを介して、アプリケーションサーバにアップロードする手段と、
検索されたデバイスドライバをアプリケーションサーバから、通信クライアント並びにリムーバブルメディアを介して、ダウンロードして、各デバイスに設定する手段とが設けられ、
アプリケーションサーバには、
基板実装ライン統括コンピュータから、通信クライアント並びにリムーバブルメディアを介して、アップロードされたデバイス構成に基づいて、あらかじめ用意されたデバイスドライバ群の中から必要なデバイスドライバを検索する手段とが設けられている、
ことを特徴とする基板実装ライン用プログラム提供システム。
【請求項１３】
基板実装ラインを構成する各デバイスと、基板実装ライン統轄コンピュータとがネットワークを介してデータの送受を行い、前記基板実装ラインの不良要因を検出するようになされており、かつ
前記各デバイスは、実装処理を行うデバイスと、前記実装処理を行った結果の良否判定を行う検査デバイスと、不良要因判定用の情報を計測する計測デバイスとを含み、
前記計測デバイスは、前記実装生産ラインに対して着脱自在に取り付けられ、
前記基板実装ライン統轄コンピュータに組み込まれた実装不良要因判定手段は、少なくとも前記計測デバイスから取得した情報に基づいて不良要因を特定する機能を備えた、
ことを特徴とする請求項１１又は１２に記載の基板実装ライン用プログラム提供システム。
【請求項１４】
前記基板実装ライン統轄コンピュータは、
前記基板実装ラインを構成する各デバイスから不良発生などの通知を受けた際に、前記実装不良要因判定手段を起動させる機能を備えたことを特徴とする請求項１３に記載の基板実装ライン用プログラム提供システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、顧客のプリント基板実装ラインにおける生産・品質管理等に最適なアプリケーションプログラムを、顧客とのサービス提供契約に基づいて、インターネットを介して提供するための方法に関する。
【背景技術】
【０００２】
周知の如く、プリント基板上に電子部品等を自動実装するための基板実装ラインは、クリーム半田印刷装置、部品搭載装置（マウンタ）、リフロー炉装置等の各種処理装置（デバイス）を含んで構成される。各処理装置には、処理結果の良否を判定する検査装置が付設される。クリーム半田印刷装置に付設された検査装置で印刷不良と判定されると、当該不良基板はラインから排除される。同様にして、部品搭載装置に付設された検査装置で部品搭載不良と判定されると、当該搭載不良基板はラインから排除され又は修復される。
【０００３】
クリーム半田印刷装置におけるクリーム半田印刷処理には、印刷結果に影響を与える様々なパラメータ（例えば、位置合わせ精度、スキージ角度、印圧等）が存在する。部品搭載装置における部品搭載処理には、部品搭載結果に影響を与える様々なパラメータ（例えば、搭載精度、搭載高さ精度、搭載加重制御等）が存在する。同様にして、リフロー炉装置におけるリフロー処理には、リフロー処理結果に影響を与える様々なパラメータ（例えば、予熱プロファイル、過熱プロファイル、温度均一化等）が存在する。
【０００４】
したがって、いずれかの基板が、リフロー処理後に不良と判定された場合、リフロー処理におけるパラメータのみならず、クリーム半田印刷処理や部品搭載処理におけるパラメータも影響を与えている可能性がある。リフロー処理後の基板検査結果だけからその原因を究明して、不良解消に必要な処置を施すことは容易なことではない。
【０００５】
そこで、過去に不良解消に必要な処置が取られた場合の各工程での測定データを予めデータベース化しておき、不良が生じた場合にはその際の測定データを利用して同データベースを参照することにより、対応する要因を推定して不良解消に必要な処置を迅速に取れるよにした自動品質管理装置が従来より知られている（特許文献１参照）。
【０００６】
このような自動品質管理装置の実現に必要な不良要因推定ソフトウェアの開発には、多大なる時間と労力が必要とされる。一方、他品種少量生産が主流となりつつある今日の製造現場にあっては、実装対象となる基板のみならず、基板実装ラインの装置構成自体も頻繁に変更される。加えて、基板実装ラインで使用される基板、電子部品、半田並びに実装技術は年々進歩しており、部品の微細化、実装部品数量の増加、環境に配慮した材料へのシフトも進んでいる。したがって、せっかく開発した不良要因推定ソフトウェアも、一般的にその寿命は短い。
【０００７】
上述の不良要因推定ソフトウェアのように、基板実装ラインにおける生産や品質管理のための各種のソフトウェアを、インターネットを介して迅速かつ低コストに導入することができれば、基板実装ラインを有する多くの電子機器製造業者にとって好都合である。同時に、この種のソフトウェアの提供をインターネットを介して行いかつ適切なる対価が確実に得られるとすれば、ソフトウェア提供業者にとっても好都合である。
【特許文献１】特開平１１−２９８２００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
顧客に対して迅速にかつ低オペレーションコストでサービスを提供する手段として、サービスをソフトウェア化し、インターネットを通じて提供するシステムが知られている。インターネットを介したサービスの提供は現在、グループでのスケジュール管理や財務管理のアウトソーシングなど、いわゆるＯＡの世界において主に実現されている。一般的に、このようなネットワークを介したサービス提供形態は、オフラインでソフトウェアパッケージを配布する方法に比較して以下の利点がある。
【０００９】
第１の利点は、アプリケーションがサーバ側で集中的に管理されているため、アプリケーションのバージョンアップや仕様変更などが容易なことである。そのため、顧客は、特別な作業なしに常に最新のアプリケーションを使用することができる。サービス提供者は、低いオペレーションコストで顧客にサービスを提供することができる。
【００１０】
第２の利点は、顧客のアプリケーション利用状況がサーバで管理できるため、料金体系をユーザごとに、月ぎめ課金など、利用状況に応じてコスト負担を柔軟に変更できることである。そのため、サービス提供者は、従量課金や期間定額課金など多様な課金形態を顧客ごとに行うことができる。顧客は、実質的に提供を受けたサービスの量に応じた、納得性の高い課金を受けることができる。
【００１１】
このようなインターネットを用いたサービス提供システムを、『基板実装ラインの製造不良要因判定サービス』のようなＦＡ／基板実装ラインをターゲットとしたアプリケーションサービスに展開するには、以下に挙げる基板実装ラインに特有の事情を考慮することが必要とされる。
【００１２】
アプリケーションプログラムは、基板実装ラインの各装置から計測結果や検査結果、製造情報など大量のデータをリアルタイムに収集して解析する必要がある（第１の事情）。アプリケーションプログラムが基板実装ラインの装置から取得するデータには、顧客にとって秘匿性の高い製造情報や製造ノウハウが含まれ得る（第２の事情）。アプリケーションの作用対象である基板実装ラインの装置が設置された製造現場は、環境もしくはコストの観点から十分なインターネット接続環境を整えることが困難なケースが多い（第３の事情）。アプリケーションの作用対象である製造ラインの装置構成は、製造品種の切り替えや調整、メンテナンスのためにある装置を取り除いたり、別の機種に入れ替えたり顧客が変更する必要が生じる（第４の事情）。
【００１３】
以上の事情を踏まえ、インターネットを用いてアプリケーションサービスを提供する２つの方法についてその問題点を図２４を参照しつつ以下に述べる。
【００１４】
第１の従来方法は、サーバ上でアプリケーションプログラムを動作させる方法である。この方法は、図２４（ａ）に示されるように、クライアントソフトウェアがデバイスドライバを通じて基板実装ラインの各装置からリアルタイムに取得したデータを、インターネットを通じてサーバに送り、サーバにてアプリケーションプログラムを実行させ、その結果をクライアントソフトウェアに返す、いわゆる『Ｗｅｂコンピューティング』による方法である。しかしながら、この方法でＦＡ／実装ラインをターゲットとしたアプリケーションサービスの提供を行うには、以下のような問題がある。
【００１５】
上述の第１の事情から明らかなように、基板実装ラインの各装置から取得されるデータは膨大であり、それらをサーバ上のアプリケーションがインターネットを通じてリアルタイムに収集することは、通信負荷の観点で困難である。この問題を解決しようとすれば、顧客はサービス提供を受けるために、非常に通信速度の大きなインターネット接続環境を製造現場に導入する必要がある。
【００１６】
上述の第２の事情から明らかなように、基板実装ラインの各装置から取得されたデータをサーバ上のアプリケーションがインターネットを介して収集することは、セキュリティの観点で問題がある。インターネット上の通信の暗号化などのセキュリティ対策は考えうるが、情報漏洩リスクと顧客の不安感を完全に解消することはできない。
【００１７】
上述の第１及び第３の事情から明らかなように、本方法ではクライアントがサーバに接続されていない状態では顧客はサービスの提供を受けることが不可能である。この問題を解決しようとすれば、顧客はサービスの提供を受けるために製造現場にインターネット常時接続もしくはそれに準ずる接続環境を整備する必要がある。
【００１８】
第２の従来方法は、サーバからアプリケーションを取得し、クライアント上で動作させる方法である。この方法は、図２４（ｂ）に示されるように、サーバからアプリケーションをダウンロードし、クライアントソフトウェア上で動作させる方法である。この方法によれば、第１従来方法における上記問題点を解決することができるが、なおも以下の問題がある。
【００１９】
上述の第３の事情から明らかなように、インターネットに接続されていない状態でクライアントソフトウェア上でのアプリケーションの動作を、サーバ側からリモート管理することが困難である。
【００２０】
上述の第４の事情から明らかなように、顧客は製造ラインの装置構成の変更を行う毎に、その装置構成にあわせてアプリケーションプログラムを設定し直し作業を行うことが必要になり、大きな工数がかかるとともにトラブルの原因となる。顧客は、変更された装置構成に対応したアプリケーションプログラムをサーバより取得しなおす必要がある。しかし、上述の第３の事情により、顧客が簡単に装置構成を変更することが困難である。
【００２１】
上述の第３の事情から明らかなように、ＦＡ／実装ラインをターゲットとしたアプリケーションに特有の、基板処理枚数や特定アルゴリズムの実行回数、監視時間、特定作業指示の出力回数などに応じた従量課金を行うための情報を、サーバで把握して的確な課金を行うことが困難である。
【００２２】
本発明は上記の問題点に着目しなされたものであり、その目的とするところは、基板実装ラインに関するノウハウをソフトウェア化したアプリケーションプログラムがサーバから提供されて、顧客側に設置されたクライアントマシン上で動作するとともに、クライアントマシンと基板実装ラインとがネットワークで結ばれ、アプリケーションプログラムが基板実装ラインの各装置からデータをリアルタイムに収集することができる方法を提供することにある。
【００２３】
本発明の他の目的とするところは、最新かつ最適なアプリケーションプログラムおよびデバイスドライバのインターネットを介した顧客への提供と、クライアントへのセットアップを自動化することができる方法を提供することにある。
【００２４】
本発明の他の目的とするところは、クライアントマシン上のアプリケーションプログラムの動作を、顧客との契約内容に従いサーバからリモート制御することができる方法を提供することにある。
【００２５】
本発明の他の目的とするところは、契約の範囲内で、顧客がアプリケーションプログラムの作用対象である装置構成を変更することができる方法を提供することにある。
【００２６】
本発明の他の目的とするところは、クライアントマシン上で作成された基板実装ラインにおける課金行為記録（基板処理枚数や特定アルゴリズムの実行回数、監視時間、特定作業指示の出力回数など）をサーバに確実に回収し、それを元に柔軟な課金を行うことを可能にする方法を提供することにある。
【００２７】
本発明のさらに他の目的とするところは、インターネット接続が不可能な環境にクライアントマシンが設置されている状況においても以上の目的を実現する方法を提供することにある。
【課題を解決するための手段】
【００２８】
本発明の基板実装ライン用プログラム提供方法は、基板実装ラインを構成する各デバイス（装置）とネットワークで結ばれた基板実装ライン統括コンピュータと、基板実装ライン統括コンピュータに提供されるべきアプリケーションプログラムが格納されたアプリケーションサーバとがインターネットを介して結ばれたシステムを前提とする方法である。
【００２９】
この方法は、以下の各ステップを有する。第１のステップは、基板実装ライン統括コンピュータが、あらかじめ顧客との契約に基づいて作成されたサービス契約情報と同契約情報に規定されているアプリケーションプログラムとを、アプリケーションサーバからダウンロードするものである。
【００３０】
第２のステップは、基板実装ライン統括コンピュータが、同契約情報に基づいてアプリケーションプログラムが適用される基板実装ライン並びにそのラインのデバイス構成を定義すると共に、定義されたデバイス構成をアプリケーションサーバにアップロードするものである。
【００３１】
第３のステップは、アプリケーションサーバが、基板実装ライン統括コンピュータからアップロードされたデバイス構成に基づいて、あらかじめ用意されたデバイスドライバ群の中から必要なデバイスドライバを検索するものである。
【００３２】
第４のステップは、基板実装ラインコンピュータが、検索されたデバイスドライバをアプリケーションサーバからダウンロードして、各デバイスに設定するものである。本発明において、アプリケーションプログラムとしては、段取り管理、経時変動管理、不良要因推定のいずれかの用途、又はこれらを組み合わせた用途に使用可能なプログラム等を挙げることができる。
【００３３】
本発明において、サービス契約情報としては、各基板実装ラインを基本単位として作成され、かつ適用基板実装ライン統括コンピュータ識別情報、基板実装ライン識別情報、そのラインで使用されるアプリケーションプログラム識別情報、登録可能デバイス数、変更可能デバイス数の各情報を含んでいてもよい。
【００３４】
本発明において、サービス契約情報に含まれているクライアント識別情報を有する基板実装ライン統括コンピュータが、サービス契約情報のライン識別情報とプログラム識別情報と登録可能デバイス数とから、そのアプリケーションプログラムが適用される基板実装ライン及びその基板実装ラインの構成デバイスを定義すると共に、アプリケーションプログラムと適用対象デバイスとの間の入出力対応関係を設定するようにしてもよい。
【００３５】
このような構成により、最新かつ最適なアプリケーションプログラムおよびデバイスドライバのインターネットを介した顧客への提供と、クライアントへのセットアップを自動化することができる。
【００３６】
本発明において、基板実装ラインへの所定のアプリケーションプログラム導入後、当該基板実装ラインにおいてデバイス構成の変更が生じた場合には、基板実装ライン統括コンピュータは、デバイス構成の変更範囲が当初のサービス契約情報に含まれる変更可能デバイス数の範囲内であるときには、契約条件を変更せずに、当該ラインで使用されるデバイス構成を変更すると共に、変更されたデバイス構成に対応するデバイスドライバを設定し、さらにアプリケーションプログラムと変更後の適用デバイスとの間のデータ入出力対応関係の再設定を行う、ようにしてもよい。同様にして、変更されたデバイス構成に対応するデバイスドライバを設定できないときには、基板実装ライン統括コンピュータはアプリケーションサーバに対して当該変更後のデバイス構成をアップロードし、アプリケーションサーバはアップロードされたデバイス構成に基づいて必要なデバイスドライバを検索し、基板実装ライン統括コンピュータはアプリケーションサーバから検索されたデバイスドライバをダウンロードし、各デバイスに再設定する、ようにしてもよい。
【００３７】
このような構成により、契約の範囲内で、顧客はアプリケーションプログラムの作用対象である装置構成を変更することが可能となる。
【００３８】
本発明において、サービス契約情報が、さらに、アプリケーションプログラム利用可能期間を含み、基板実装ライン統括コンピュータにおいてアプリケーションが実行されようとした際に、利用可能期間外であれば当該アプリケーションを実行禁止状態としてもよい。
【００３９】
本発明において、基板実装ライン統括コンピュータは、当該アプリケーションプログラムの利用実績データとして、アプリケーションプログラムの総実行時間、総待機時間、特定アルゴリズムの動作回数、動作結果の表示回数、基板処理枚数、特定基板の抽出枚数の１又は２以上をこれらの項目別にあらかじめデータ収集、記憶させておき、アプリケーションサーバはこれらの利用実績データを単独で、或いは組み合わせて課金対象として所定の課金条件に従って多様な重量課金を行う、ものであってもよい。
【００４０】
このような構成により、クライアントマシン上で作成された基板実装ラインにおける課金行為記録（基板処理枚数や特定アルゴリズムの実行回数、監視時間、特定作業指示の出力回数など）をサーバに確実に回収し、それを元に柔軟な課金を行うことが可能となる。
【００４１】
本発明において、サービス契約情報が、アプリケーションプログラムの利用実績データの送信、及びサービス契約情報の更新、を行うべきサイクル期間を含み、基板実装ライン統括コンピュータにおいてこの期間以上の間、アプリケーションプログラムの利用実績データの送信又はサービス契約情報の更新が行われなければ、当該アプリケーションプログラムを実行禁止状態とする、ものであってもよい。
【００４２】
さらに、本発明において、基板実装ライン統括コンピュータが通信クライアントを介してアプリケーションサーバとインターネット通信を行う、ものであってもよい。
【００４３】
次に、システムとして本発明を捉えれば、本発明の基板実装ライン用プログラム提供システムは、基板実装ラインを構成する各デバイスとＬＡＮで結ばれた基板実装ライン統括コンピュータと、基板実装ライン統括コンピュータに提供されるべきアプリケーションプログラムが格納されたアプリケーションサーバとがインターネットを介して結ばれたシステムである。
【００４４】
同システムにおいて、基板実装ライン統括コンピュータには、あらかじめ顧客との契約に基づいて作成されたサービス契約情報と同契約情報に規定されているアプリケーションプログラムとを、アプリケーションサーバからダウンロードする手段と、同契約情報に基づいてアプリケーションプログラムが適用される基板実装ライン並びにそのラインのデバイス構成を定義すると共に、定義されたデバイス構成をアプリケーションサーバにアップロードする手段と、検索されたデバイスドライバをアプリケーションサーバからダウンロードして、各デバイスに設定する手段とが設けられている。一方、アプリケーションサーバには、基板実装ライン統括コンピュータからアップロードされたデバイス構成に基づいて、あらかじめ用意されたデバイスドライバ群の中から必要なデバイスドライバを検索する手段とが設けられている。
【００４５】
本発明の他の基板実装ライン用プログラム提供システムは、基板実装ラインを構成する各デバイスとＬＡＮで結ばれた基板実装ライン統括コンピュータと、基板実装ライン統括コンピュータとリムーバブルメディアを介して情報伝達が可能な通信クライアントコンピュータと、基板実装ライン統括コンピュータに提供されるべきアプリケーションプログラムが格納されたアプリケーションサーバと、を有すると共に、アプリケーションサーバと通信クライアントコンピュータとがインターネットで結ばれたシステムである。
【００４６】
同システムにおいて、基板実装ライン統括コンピュータには、あらかじめ顧客との契約に基づいて作成されたサービス契約情報と同契約情報に規定されているアプリケーションプログラムとを、通信クライアント並びにリムーバブルメディアを介して、アプリケーションサーバからダウンロードする手段と、同契約情報に基づいてアプリケーションプログラムが適用される基板実装ライン並びにそのラインのデバイス構成を定義すると共に、定義されたデバイス構成を、通信クライアント並びにリムーバブルメディアを介して、アプリケーションサーバにアップロードする手段と、検索されたデバイスドライバをアプリケーションサーバから、通信クライアント並びにリムーバブルメディアを介して、ダウンロードして、各デバイスに設定する手段とが設けられている。一方、アプリケーションサーバには、基板実装ライン統括コンピュータから、通信クライアント並びにリムーバブルメディアを介して、アップロードされたデバイス構成に基づいて、あらかじめ用意されたデバイスドライバ群の中から必要なデバイスドライバを検索する手段とが設けられている。
【００４７】
このような構成によれば、インターネット接続が不可能な環境にクライアントマシンが設置されている状況においても以上の目的を実現することができる。
【００４８】
この発明による実装不良要因判定システムは、基板実装ラインを構成する各デバイス（装置）と、基板実装ライン統轄コンピュータとがネットワークを介してデータの送受を行い、前記基板実装ラインの不良要因を検出する実装不良要因判定システムであって、前記各デバイス（装置）は、実装処理を行うデバイス（装置）と、前記実装処理を行った結果の良否判定を行う検査デバイス（装置）と、不良要因判定用の情報を計測する計測デバイス（装置）とを含む。そして、前記計測デバイス（装置）は、前記基板実装ラインに対して着脱自在に取り付けられ、前記基板実装ライン統轄コンピュータに組み込まれた実装不良要因判定手段は、少なくとも前記計測デバイス（装置）から取得した情報に基づいて不良要因を特定する機能を備えるようにした。ここで「不良要因」とは、不良の原因はもちろんのこと、不良発生箇所など、検査装置で不良判定されたことに基づくより詳細な情報が得られるもので有ればよい。
【００４９】
そして、前記基板実装ライン統轄コンピュータは、前記実装生産ラインを構成する各デバイス（装置）から不良発生などの通知を受けた際に、前記実装不良要因判定手段を起動させる機能を備えるようにすることができる。
【００５０】
また、本発明に係る実装不良要因判定方法は、基板実装ラインを構成する各デバイス（装置）と、基板実装ライン統轄コンピュータとがネットワークを介してデータの送受を行い、前記基板実装ラインの不良要因を検出する実装不良要因判定システムにおける実装不良要因判定方法であって、前記各デバイス（装置）は、少なくとも実装処理を行うデバイス（装置）と、前記実装処理を行った結果の良否判定を行う検査デバイス（装置）を備えており、その実装生産ラインに対して、着脱自在に不良要因判定用の情報を計測する計測デバイス（装置）を取り付ける。次いで、前記基板実装ラインを稼働させ、その稼働中に、前記実装生産ライン統轄コンピュータが、不良要因判定部を稼働させ、少なくとも前記計測デバイス（装置）から取得した情報に基づいて不良要因を特定するようにした。さらに、前記不良要因判定部は、前記検査デバイス（装置）から不良発生の通知を受けたことを条件に起動し、前記不良要因の特定を行うようにするとよい。
【００５１】
さらに、前記基板実装ライン統轄コンピュータは、前記基板実装ラインの稼働中に、少なくとも前記計測デバイス（装置）からの情報を取得するとともに、計測データ記憶手段に格納し、前記不良要因の特定は、前記計測データ記憶手段に格納された情報を利用するようにすることもできる。
【００５２】
本発明によれば、計測デバイス（装置）を着脱自在に実装するようにしため、基板実装ラインの稼働状況に応じて適切なシステム構成をとることにより、高精度に不良要因の特定を行うことができるとともに、生産効率の向上を図ることができる。すなわち、基板実装ラインに実装される検査デバイス（装置）からの情報では不良要因の特定が困難な場合、適切な計測デバイス（装置）を組み込み、その状態で基板実装ラインを稼働し、不良要因判定を行う。また、不良要因判定を行った結果、不良の原因が分かり、基板実装ラインの調整を行い、不良品の発生率が削減でき、計測デバイス（装置）の必要性が低下した場合には、計測デバイス（装置）を取り外した基板実装ラインを構築し、稼働することができる。
【００５３】
そして、上記した不良要因判定システム並びに不良要因判定方法では、例えば、実装処理デバイス（装置）と検査デバイス（装置）と統括コンピュータとが、最初から存在しているような既存システムに、適宜に、後から、取り外し可能な計測デバイス（装置）、判定手段を追加してシステム化して稼働させることができる。この場合に、追加部分の動作は、既存システムの動作と独立させることもできる。
【発明の効果】
【００５４】
以上の説明で明らかなように、本発明によれば、基板実装ラインに関するノウハウをソフトウェア化したアプリケーションプログラムがサーバから提供されて、顧客側に設置されたクライアントマシン上で動作するとともに、クライアントマシンと基板実装ラインとがネットワークで結ばれ、アプリケーションプログラムが基板実装ラインの各装置からデータをリアルタイムに収集することができる。加えて、本発明によれば、最新かつ最適なアプリケーションプログラムおよびデバイスドライバのインターネットを介した顧客への提供と、クライアントへのセットアップを自動化することができる。加えて、この発明では、計測装置を着脱自在に装着するようにしたため、実装生産ラインの稼働状況に応じて適切なシステム構成をとることにより、高精度に不良要因の特定を行うことができる。
【発明を実施するための最良の形態】
【００５５】
以下に、本発明に係る基板実装ライン用プログラム提供方法並びにシステムの好適な実施の一形態を添附図面に基づいて詳細に説明する。
【００５６】
先ず始めに、本発明方法の前提となるシステム、すなわち、基板実装ライン、基板実装ライン統括コンピュータ、及びアプリケーションサーバとからなるシステムの全体構成について説明する。基板実装ライン統括コンピュータとアプリケーションサーバとを結ぶネットワークの系統図が図１に示されている。
【００５７】
同図に示されるように、このシステムは、基板実装ラインを構成する各装置（デバイス）１〜９と、これらの装置１〜９とＬＡＮで結ばれた基板実装ライン統括コンピュータ１０と、基板実装ライン統括コンピュータ１０に提供されるべきアプリケーションプログラムが格納されたアプリケーションサーバ２０とをインターネット２２を介して結んで構成されている。特に、図においては、アプリケーションサーバ２０に対して３系統の基板実装ライン（１〜９）がインターネット２２を介して結ばれた状態が描かれている。なお、図において、２１はルータである。
【００５８】
それら３系統の基板実装ラインの１つだけが詳細に描かれている。この基板実装ラインは、搬送ラインに沿って、ソルダーペースト印刷装置１、ソルダーペースト印刷検査装置２、はんだ塗布高さ計測装置３、マウンタ４、装着部品検査装置５、部品ずれ計測装置６、リフロー炉７、リフローはんだ検査装置８を配置して構成されており、またリフロー炉７内には炉内温度計測装置９が装着されている。図示省略するが、各装置は、コンベアその他の搬送装置で連結され、その搬送装置にしたがってプリント基板が各装置内を順次通過し、その通過の際に所定の処理がなされて、最終的に、プリント基板上の所定位置に、電子部品が実装されると共に、半田付けがされた完成品が生成され、基板実装ラインから搬出される。さらに、各装置（デバイス）１〜９は、ローカルエリアネットワーク（ＬＡＮ）に接続され、そのＬＡＮを介して基板実装ライン統括コンピュータ１０と情報の送受ができるようになっている。
【００５９】
各構成装置１〜９のうち、プリント基板に対して所定の処理を実行する装置であるソルダーペースト印刷装置１、マウンタ４、並びに、リフロー炉７と、それら各装置の後段に配置したソルダーペースト印刷検査装置２、装着部品検査装置５並びにリフローはんだ検査装置８は、基本的に従来と同様の構造を有する。
【００６０】
検査装置２，５，８の後段その他の所定位置には、検査装置よりも詳細・高精度な判定を行うためのデータを計測して収集する計測装置が配置されている。これらの計測装置としては、はんだ塗布高さ計測装置３、部品ずれ計測装置６、並びに、炉内温度計測装置９がある。各計測装置は、不良箇所・要因等を特定するために有益な情報を取得するためのもので、例えば各検査装置よりも高精度に計測したり、検査装置では測定しない情報の計測を行ったりする。
【００６１】
さらに、この計測装置は、着脱可能となっている。これにより、基板実装ラインの立ち上げ時や、新しい製品の生産開始時などの計測装置によるデータ収集が必要な時に、基板実装システムに装着する。そして、プリント基板への電子部品の実装のための各工程を経た製品の情報を収集し、検査装置で不良と判定された製品についての情報に基づき不良要因等を特定する。さらに、その特定した不良要因等に基づき、自動的或いは人間が、実装生産のための装置（ソルダーペースト印刷装置１，マウンタ４並びにリフロー炉７）の動作条件（各種パラメータ等）を求め、システムにフィードバックすることにより、不良品の発生率を抑えたシステムを構築していく。そして、不良品の発生率が抑制され、所望の歩留まりが期待できる基板実装ラインが構築されたならば、計測装置を取り外し、通常の検査装置のみによる不良判定を行いながら、実装生産を行う。
【００６２】
このように、計測装置をある一定期間のみ設置することにより、高価な計測装置を複数の基板実装ラインで使い回すことができ、基板実装ラインのコストアップを抑制できる。さらに、検査装置は不良品の検出を目的とするため、基板実装ラインの稼働中は、常時動作し、誤って不良品が出荷されるのを抑止する必要がある。従って、一旦不良品の発生が目的値以下に低減された定常状態での基板実装ラインの稼働時においても、良否判定をする検査装置は必須である。しかし、不良要因の特定等を目的とする計測装置は、定常状態では特に無くても問題はないし、逆に、計測装置で取得したデータは、不良品が発生した場合に有効に利用できるものであるので、不良品が殆ど発生しない場合には、計測装置で取得したデータは全て無駄なデータとなる。そこで、係る多数の無駄なデータを収集するために、高価な計測装置を実装させて動作させるのは、コストの面で好ましくなく、さらに、計測装置でデータを収集している間は、その収集対象の製品に対して他の処理を行えなくなるので、生産効率も低下する。
【００６３】
そこで、上記したように、計測装置を着脱することにより、必要なときにのみ計測装置を装着して不良要因等の特定を容易に行うようにし、定常状態では計測装置を取り外すことにより、生産性を向上させるように運営すると良い。もちろん、計測装置を取り付けたままとしていても問題はない。
【００６４】
また、別の利用形態，運用方法としては、不良要因を特定・判定するためのデータが検査装置から得られないか、得られても十分な精度を持っていない場合に、計測装置を基板実装ラインに追加設置する。もちろん、製造装置あるいは検査装置から実装不良要因を判定するために必要なデータが得られる場合には、これらの計測装置を設定する必要はない。また、３つの計測装置をセットで設けるのではなく、そのうちの一部を設置する態様ももちろんある。
【００６５】
次に、基板実装ラインを構成する各装置（デバイス）１〜９について順に説明する。ソルダーペースト印刷装置１は、搬入されたプリント基板の所定の部位に、ソルダーペーストを塗布し、次段のソルダーペースト印刷検査装置２にプリント基板を送るものである。ソルダーペースト印刷検査装置２は、ソルダーペースト印刷装置１にて塗布されたソルダーペーストを検査し、所定の部位に所定の量のソルダーペーストが塗布されているかを検査するものである。この検査は、例えば、プリント基板の一部分を撮像して得られた画像と、正規なソルダーペーストの印刷パターンからなる基準パターンとのパターンマッチングにより行うことができる。
【００６６】
検査結果の良否に関係なく、プリント基板は次段のはんだ塗布高さ計測装置３へと送られ、はんだ塗布高さが計測される。検査結果が不良の場合には、塗布高さの計測の後、当該プリント基板を搬送ラインから排除し、良品と判定されたプリント基板のみが次段のマウンタ４へ送られる。
【００６７】
はんだ塗布高さ計測装置３は、基板上に塗布されたソルダーペーストを３次元計測する。すなわち、このはんだ塗布高さ計測装置３は、例えば１次元高さセンサを備え、プリント基板の搬送方向を横切る方向のある１ライン分の高さを取得する機能を有する。プリント基板の搬送に従って順次１ライン分の高さを取得することにより、１枚のプリント基板の表面の高さの状態を取得することができ、３次元計測が可能となる。しかも、プリント基板の全面の３次元状態を計測することができるので、抜けなく、高精度な情報を取得できる。ソルダーペーストが塗布された部分は、プリント基板の表面よりも高くなっているので、３次元情報から、ソルダーペーストの塗布位置並びにパターン形状（２次元情報）、その高さを精度良く測定可能となる。なお、ソルダーペースト印刷検査装置２における検査結果（良否判定結果）並びにはんだ塗布高さ計測装置３における計測した結果は、ＬＡＮを介して基板実装ライン統括コンピュータ１０に送られる。
【００６８】
マウンタ４は、電子部品の自動実装装置であり、プリント基板の所定の位置に電子部品を装着するものである。電子部品が装着されたプリント基板は、次段の装着部品検査装置５に送られる。装着部品検査装置５では、マウンタ４によって装着された電子部品が所定の位置にあるか、装着されている部品は正しい種別，型式かを判定する。すなわち、例えばＣＣＤカメラなどを用いてプリント基板上に実装された電子部品を撮像し、部品表面に印刷された型番等を文字認識により識別することにより、正しい電子部品が正しい位置に実装されているか否かの良否判定をする。
【００６９】
部品ずれ計測装置６は、実際にプリント基板に装着された電子部品の位置と、設計上の理想的な位置とのずれを計測する。つまり、装着部品検査装置５では、電子部品の位置ずれがしきい値以上か否かを判断し、しきい値以上の場合には不良品と判定することになるが、部品ずれ量計測装置６は、より高精度に計測し、実際のずれ量を求める。具体的には、ＣＣＤカメラ等を用いてプリント基板上に実装された電子部品を撮像し、部品表面に印刷された型番等を文字認識により識別することにより実装された電子部品の位置を認識し、正しい部品の目標実装位置との差を算出する。装着部品検査装置５で良品と判定された基板のみ、部品ずれ計測装置６を経由してリフロー炉７に送られる。なお、検査によって不良と判定されたプリント基板は、部品ずれ計測装置６での計測の後、搬送ラインから排除される。装着部品検査装置５における検査結果（良否判定）並びに部品ずれ計測装置６における計測結果は、良否判定の結果に関係なく全てがＬＡＮを介して基板実装ライン統括コンピュータ１０に送られる。
【００７０】
リフロー炉７は、電子部品が装着されるとともにソルダーペーストが塗布されたプリント基板を適温に加熱し、ソルダーペーストつまりはんだを溶融させ、電子部品とプリント基板上のパターンとを接合する。もちろん、リフロー炉７には図示省略する温度センサが内蔵されており、その温度センサの出力に基づいて炉内温度が制御される。
【００７１】
リフローはんだ検査装置８は、プリント基板に電子部品が正しくはんだ付けされているかを判定する。つまり、ここでの検査は、はんだの状態のみでなく、製品全体の良否判定を行う。従って、このリフローはんだ検査装置８で不良品と判断された場合には、リフロー炉７内の状態（温度等）が悪い場合と、それ以前のマウンタ４などで不具合が生じた場合がある。リフロー炉７の内部に設けられた炉内温度計測装置９は、かかるリフロー炉７内の温度を計測する。この計測結果やリフローはんだ検査装置８で求めた検査結果は、ＬＡＮを介して基板実装ライン統括コンピュータ１０に送られる。リフローはんだ検査装置８で良品と判定された基板のみ、完成品として搬送装置を経由して基板実装ラインから搬出される。なお、検査によって不良と判定された基板は搬送ラインから排除され、修理あるいは廃棄される。
【００７２】
基板実装ライン統括コンピュータ１０は、ＬＡＮで基板実装ラインの各装置１〜９と接続され、ＬＡＮ経由で基板実装ラインから到来する不良発生などの通知により、実装不良要因判定プログラムを実行することによって、実装不良要因を自動判定する。後述するように、この実装不良要因判定プログラムは、アプリケーションサーバ２０からダウンロードされたものである。
【００７３】
本実施の形態では、検査結果並びに計測結果がリアルタイムで基板実装ライン統括コンピュータ１０に与えられる。このとき、どの製品についての情報かを関連づけて登録する。例えば処理対象のプリント基板にバーコードその他のＩＤ情報を付与し、基板実装ラインを構成する各装置に、ＩＤ情報を取得する装置（バーコードリーダ等）を設ける。すると、バーコード等のＩＤ情報に基づき、同一のプリント基板についての検査結果並びに計測結果を容易に関連づけることができる。
【００７４】
また、必ずしもＩＤ情報を付与していなくても、関連づけることはできる。すなわち、各検査装置や計測装置では、現在処理中の製品（プリント基板）が、システムの稼動開始から何番目のものかはわかっているので、何番目かを特定するレコード情報を検査結果や計測データに付加して実装生産ライン統轄コンピュータ１０に送るようにする。
【００７５】
すると、全てのプリント基板が、良品と判定された場合には、同一のプリント基板であれば各検査装置，計測装置から出力されるレコード情報が等しくなる。従って、実装生産ライン統轄コンピュータ１０は、あるプリント基板についてのデータが必要な場合には、レコード情報が一致する検査結果並びに計測データを読み込めば良い。
【００７６】
また、不良品が発生した場合には、上記したレコード情報の設定の仕方では、同一のプリント基板に対して各検査装置や計測装置で付されたレコード番号が一致しなくなる。しかし本実施の形態では、検査装置で不良と判定されたプリント基板に対しては、その検査装置と対になっている計測装置を通過後、廃棄される。つまり、ソルダーペースト印刷検査装置２で不良と判定されると、はんだ塗布高さ計測装置３にてはんだの高さが計測された後、搬送ラインから排除される。同様に、装着部品検査装置５で不良と判定されると、部品ずれ計測装置６にて部品のずれ量を計測した後、搬送ラインから排除される。また、リフローはんだ検査装置８にて不良と判定されると、そのまま搬送ラインから排除されるが、その排除されるプリント基板（製品）について既にフロー炉７内に設置された炉内温度計測装置９にてリフロー炉の温度が計測されている。
【００７７】
従って、仮に不良品が発生した場合、その後の同一製品に対して付されるレコード情報は、その不良品が発生した以降の検査装置と計測装置におけるレコード情報が、不良品が検出されるまでの検査装置と計測装置におけるレコード情報よりも１つ小さい値となる。すなわち、仮に１０番目のプリント基板に対して実装生産を行っている途中で、装着部品検査装置５にて不良と判定されると、その１０番目のプリント基板は、リフロー炉７へは送られない。そして、１１番目のプリント基板が実装生産システムに供給されると、部品ずれ計測装置６までは、そのプリント基板は、１１番目の処理となるので、レコード情報も１１番目となるが、リフローはんだ検査装置８並びに炉内温度計測装置９におけるレコード情報は１０番目となる。そして、実装生産ライン統轄コンピュータ１０では、検査装置から良否の検査結果も送られてくるので、どのレコード情報のものが同一のプリント基板についてのものかを容易に認識することができるので、関連性を持たせて記憶保持する。
【００７８】
このように、同一のプリント基板についての検査結果並びに計測結果が関連付けて登録されるので、例えば、リフローはんだ検査装置８にて不良と判定された場合、そのプリント基板について行った各計測データ、つまり、はんだ塗布高さ計測装置３，部品ずれ計測装置６並びに炉内温度計測装置９により得られた計測データを抽出し、その計測データに基づいて不良要因を特定する。すなわち、本実施の形態では、各プリント基板についての計測データを関連づけて登録しておくため、計測データに基づいて不良と判定した時に実際の実装生産システムの各装置の状態を推測することができ、容易かつ正確に不良要因の特定を行うことができる。不良要因を特定したならば、基板実装ライン統括コンピュータ１０は、その不良要因を解消するための各装置の動作条件を決定し、ＬＡＮを介してソルダーペースト印刷装置１、マウンタ４並びにリフロー炉７へ動作条件の設定を行う。
【００７９】
なお、各計測データを関連づけて登録するとは、必要なときに同一のプリント基板についてのデータを抽出することができるようになっていれば良く、必ずしも、各プリント基板毎にまとめて計測データを格納する必要はない。また、各検査装置から、検査結果とともに不良判定する際に収集したデータを併せて実装生産ライン統轄コンピュータ１０に与え、計測データとともにプリント基板毎に関連づけて記憶保持し、係るデータも不良要因を特定するために用いるように構成するとよい。
【００８０】
なおまた、本発明において、各装置間のプリント基板の搬送においては搬送装置を用いる場合と、用いない場合（搬送装置のない、いわゆるセル生産方式）のいずれも適用できるのは言うまでもない。
【００８１】
次に、図２，図３を参照して、各装置１〜９のより具体的な内部構成を説明する。基板実装ライン統括コンピュータ並びにアプリケーションサーバの構成を説明するための機能ブロック図が図２に、基板実装ラインの各装置の内部構成を説明するための機能ブロック図が図３にそれぞれ示されている。
【００８２】
それらの図において、ソルダーペースト印刷装置１は、基板実装ライン統括コンピュータ１０との間でデータの送受を行うためのソルダーペースト印刷装置通信サーバ１ａと、ソルダーペースト印刷装置１の動作を制御するソルダーペースト印刷装置メカコントローラ１ｂを有する。
【００８３】
ソルダーペースト印刷装置通信サーバ１ａは、基板実装ライン統括コンピュータ１０のソルダーペースト印刷装置のデバイスドライバ１０ａとＬＡＮを介したネットワーク通信を行い、ソルダーペースト印刷装置のデバイスドライバ１０ａからのコマンド処理要求を処理し、当該ソルダーペースト印刷装置のデバイスドライバ１０ａにコマンド処理結果を返すと言った所謂クライアントサーバ通信を実行する。
【００８４】
ソルダーペースト印刷装置通信サーバ１ａは、ソルダーペースト印刷装置１内で発生した事象を通知するために、基板実装ライン統括コンピュータ１０のソルダーペースト印刷装置１のデバイスドライバ１０ａに対してイベントメッセージを送信する機能も有する。発生した事象としては、例えば、正常な稼働中に定常的に発生する動作の場合もあれば、故障・動作異常等の場合もある。なお、ソルダーペースト印刷装置１のデバイスドライバ１０ａは、受け取ったイベントメッセージ毎にあらかじめ決められた所定の処理を行う。
【００８５】
ソルダーペースト印刷装置１のデバイスドライバ１０ａから出力されるコマンド処理要求と、それに基づきソルダーペースト印刷装置通信サーバ１ａから返されるコマンド処理結果としては、例えば以下のようなものがある。すなわち、『装置プロファイル情報読み出し』というコマンド処理要求に対しては、ソルダーペースト印刷装置１が保有する『装置プロファイル情報』を読み出すとともに、それを処理結果として返送するようになる。また、『装置内部データ読み出し』というコマンド処理要求に対しては、そのコマンド処理要求に装置内部のどのデータを読み出すのかの指定情報が含まれているので、その指定された『装置内部データ』を読み出して、それを処理結果として返送するようになる。
【００８６】
なお、装置プロファイル情報は、『装置名』、『生産ライン名』、『装置インスタンス名』を備えたデータからなる。ここで、装置名は、装置の商品名であり、型式、メーカ名などを含む。また、生産ライン名は、装置が所属する実装生産システムを構成する生産ライン名であり、当該装置を生産ラインに設置する際に決定し、装置に登録する。装置インスタンス名は、生産ラインでその装置を識別するための名称である。
【００８７】
また、装置内部データ読み出しコマンド処理要求で指定するデータとしては、例えば『印刷中の基板ＩＤ』がある。この基板ＩＤは、現在、ソルダーペーストを印刷している基板を識別するための情報であり、基板実装ライン内で基板ごとにユニークに付される番号である。例えば、バーコードなどにより実現される。実際には、この基板ＩＤは、基板実装ラインに搬入される前に付与される。すなわち、基板ＩＤは、バーコードなどの形で基板に印刷される。そして、基板実装ライン上の各装置の搬入口にてバーコードリーダによって読み取られる。
【００８８】
一方、ソルダーペースト印刷装置通信サーバ１ａからソルダーペースト印刷装置のデバイスドライバ１０ａに送出するイベントメッセージとしては、例えば、基板に対して印刷処理を開始した場合に送出する『基板作業着手イベント』や、基板に対して印刷処理を完了した場合に送出する『基板作業終了イベント』などがある。いずれの場合も、イベントメッセージ内には、対象となっているプリント基板を特定する基板ＩＤが含まれる。また、このような正常な動作に基づくイベントメッセージ以外にも、異常が発生した場合に、その異常の内容を特定する異常コードと共に送出される『異常発生イベント』などもある。
【００８９】
もちろん、この通信サーバは、上記した機能に限ることなく、装置のメーカや機種によって種々のものを適用することができ、メーカや機種固有の通信サーバに対応するデバイスドライバを基板実装ライン統括コンピュータ１０に実装することにより対応する。さらには、通信サーバの機能を設けなくてもよい。
【００９０】
また、ソルダーペースト印刷装置メカコントローラ１ｂは、ソルダーペースト印刷装置１の本来の機能を実現するための制御部であり、例えば、ソルダーペースト印刷装置１内の搬送装置やプリント基板の所定位置にソルダーペーストを塗布するソルダーペースト供給装置などを制御するものである。なおソルダーペースト印刷装置１内の各種装置は、従来と同様であるとともに、本発明とは直接に関係しない部分であるのでその詳細な説明を省略する。
【００９１】
ソルダーペースト印刷検査装置２は、基板実装ライン統括コンピュータ１０と通信を行うためのソルダーペースト印刷検査装置通信サーバ２ａと、ソルダーペースト印刷検査装置２の本来の動作を行うためのソルダーペースト印刷検査装置メカコントローラ２ｂ、はんだ塗布状態計測部２ｃ並びに検査判定部２ｄを内蔵すると共に、外部にはんだ塗布状態計測部２ｃに接続されるＣＣＤカメラ２ｅを備えている。
【００９２】
ソルダーペースト印刷検査装置メカコントローラ２ｂは、ソルダーペースト印刷検査装置２内の搬送装置や照明などを制御するもので、当該印刷検査装置内の各種装置並びにその制御アルゴリズムは、従来と同様であるので、その詳細な説明を省略する。はんだ塗布状態計測部２ｃは、ＣＣＤカメラ２ｅにてプリント基板を撮像して得られた画像データに基づき、はんだ塗布位置やはんだ塗布量並びにはんだ塗布高さ等を計測するものである。
【００９３】
すなわち、はんだ部分は、プリント基板の表面（はんだ未塗布領域）に比べて、反射率が高く明るく、色も銀色等の金属色であるのに対し、プリント基板の表面は緑色や茶色などである。そこで、このような色等の特徴の差から、所定の画像処理を行うことにより、はんだの塗布領域を認識する。そして、このように認識した塗布領域に基づいて、はんだ塗布位置やはんだ塗布量を求めることができる。
【００９４】
一例としては、はんだの塗布領域の座標位置を求めることで、塗布位置を求めることができる。この座標位置は、例えばＣＣＤカメラの撮像領域と、プリント基板との相対位置関係が常に等しい場合には、その撮像した２次元画像データ内におけるＸＹ座標値により特定することができる。また、両者の関係が一定でない場合には、プリント基板のエッジなど目標となる基準位置に基づき、基板上の絶対座標値を求めることもできる。また、はんだ塗布量は、例えば、はんだの塗布領域の面積を求めることにより、二次元平面上での塗布量を算出することができる。もちろん、他の算出アルゴリズムによって、塗布位置と塗布量を求めることができる。
【００９５】
なお、必ずしも、プリント基板の全体がＣＣＤカメラ２ｅの撮像領域内に収まるとは限らない。そして、収まらない場合には、プリント基板とＣＣＤカメラ２ｅの相対位置を適宜変更して複数回撮像することにより、必要な箇所の画像データを撮像することになる。なお、良品／不良品の判定をすればよいので、プリント基板の一部のみを撮像してもよい。なおまた、計測したデータは次の基板検査が完了するまでは保持する。このための記憶領域を検査装置に確保する。
【００９６】
また、ＣＣＤカメラ２ｅから送られる画像データに基づき、はんだ塗布高さを求めることもできる。すなわち、例えば、ＣＣＤカメラを複数台用意し、多視点（２視点）に基づくステレオ画像に基づいて表面形状（高さ）を求めたり、或いは、異なる方向から照射する光源を複数（例えば３台）用意し、３光源フォトメトリックステレオ法を利用して表面形状（高さ）を求めたりすることにより算出できる。
【００９７】
検査判定部２ｄは、はんだ塗布状態計測部２ｃによって計測された情報を用いて、基板上の全てのはんだ塗布領域，パッドについて判定を行う。判定アルゴリズムは各種のものを用いることができるが、一例としては、以下のようなものがある。
【００９８】
すなわち、はんだ塗布量が充分か否かの判定は、計測して得られたはんだ面積が、あらかじめ指定されたしきい値以下である場合に不良と判定することにより行う。また、はんだ塗布位置がずれていないかの判定は、計測されたはんだ領域の座標と、設計上のパッド領域の座標とが、あらかじめ指定されたしきい値より大きく離れている場合に不良と判定することにより行う。
【００９９】
なお、位置ずれの判定については、上記したように、はんだ塗布状態計測部２ｃにてはんだ位置を計測し、設計上の座標とのずれ量を求めるものに限ることはなく、例えば、はんだの塗布領域のパターン形状を取得し、正規のパターン（基準パターン）とのパターンマッチングを行い、対応するパターン同士のずれ量から判定することができる。また、塗布量についても、はんだの塗布領域のパターン形状を正規のパターンと比較し、その形状の類比から塗布量が正しいか否かを判断することもできる。
【０１００】
ソルダーペースト印刷検査装置通信サーバ２ａは、基板実装ライン統括コンピュータ１０のソルダーペースト印刷検査装置のデバイスドライバ１０ｂとネットワーク通信を行い、ソルダーペースト印刷検査装置のデバイスドライバ１０ｂからのコマンド処理要求を処理し、ソルダーペースト印刷検査装置のデバイスドライバ１０ｂにコマンド処理結果を返す処理を実行する。そして、コマンド処理要求とコマンド処理結果は、上記した『ソルダーペースト印刷装置に対するコマンド処理』と同様で、『装置プロファイル情報読み出しコマンド』や『装置内部データ読み出しコマンド』並びにコマンドに対応する処理結果がある。
【０１０１】
読み出される装置プロファイル情報としては、上記したソルダーペースト印刷装置１に対するものと同様である。また、装置内部データ読み出しコマンド処理要求で指定するデータとしては、例えば、検査対象のプリント基板を特定する『検査中の基板ＩＤ』に加え、その判定結果である『最後に検査した基板の検査結果情報』並びに『最後に検査したはんだ塗布位置情報』などがある。さらに、はんだ塗布状態計測部が、プリント基板の表面、つまり、はんだ塗布高さを求める機能を有する場合には、『最後に検査したはんだ塗布高さ情報』もある。
【０１０２】
ここで、検査中の基板ＩＤは、既に説明した通り、現在検査している基板を識別するための情報である。ソルダーペースト印刷装置１と同様に、基板ＩＤがバーコードなどで具現化される場合には、図示省略のバーコードリーダ等により認識した基板ＩＤを取得し、送出する。
【０１０３】
『最後に検査した基板の検査結果情報』は、最後に検査した基板の不良判定結果の情報である。この検査結果としては、基板ＩＤ、判定結果（良品／不良品）を含み、不良品の場合には、さらに不良判定理由の総数と、各不良判定理由がある。ここで、不良判定理由には、不良となった部品の部品ＩＤとパッドＩＤと理由から構成され、理由は、ニジミ／はんだ過少／印刷ズレ／ブリッジ／はんだ過多判定のいずれかである。なお、パッドＩＤは、基板実装ラインでプリント基板上の部品とはんだ付けするパッドを識別するための番号であり、部品内でパッドごとにユニークな番号が割り当てられる。このパッドＩＤは基板実装ラインで共通で用いられる。
【０１０４】
『最後に検査したはんだ塗布位置情報』は、基板設計上のすべてのはんだ塗布位置およびそれに対するＣＣＤカメラ２ｅによって撮像した画像判定されたはんだの塗布位置についての情報である。具体的には、基板ＩＤ、はんだ塗布位置データの総数並びに各はんだ塗布位置データを含む。はんだ塗布位置データとしては、各位置における設計上のはんだ位置データと、実際の計測されたはんだ位置データを含み、さらに各はんだ位置データは、各位置（パッド領域）を特定するパッドＩＤと、パッド領域を示す座標データから構成される。
【０１０５】
このように、本実施の形態では、単に良否判定をするのではなく、それ意外のプリント基板の情報も収集するようになっている。そして、この情報は、はんだ塗布状態計測部２ｃが求め、それを通信サーバが取得して送出する。また、『最後に検査したはんだ塗布高さ情報』は、基板表面の３次元データである。そして、具体的には、Ｘピッチ（はんだ塗布高さデータのＸ軸方向のピッチ）、Ｙピッチ（はんだ塗布高さデータのＹ軸方向のピッチ）、Ｘ方向に計測したデータ数、Ｙ方向に計測したデータ数並びに各位置におけるはんだ塗布高さを含む。
【０１０６】
なお、本発明では、基板実装ラインに配置される各装置は、そのメーカや型式を問わず、何れのものでも組み込むことができるようにしているため、検査装置のメーカや型式によって、上記した各計測データを得られない場合がある。最小の機能としては、良否判定結果を出力することのみの場合もある。しかし、本実施の形態では、計測装置を追加設置できるようにしているため、不良要因を特定するために必要なデータを検査装置から得られない場合には、その必要なデータを得るための計測装置を追加すれば良い。ソルダーペースト印刷検査装置２との関係で言うと、本実施の形態では、検査装置でははんだ塗布高さについて、十分なデータが得られないので、はんだ塗布高さ計測装置３を追加設置するようにしている。換言すると、検査装置で得られる情報で不良要因の判定をするのに充分である場合には、計測装置を設けなくても良い。
【０１０７】
なお、『不良要因を特定するために必要なデータ』とは、必ずしもデータの種類・項目の過不足に限らず、仮に必要なデータ項目があったとしても、精度が低い場合には必要なデータは欠けていることになる。
【０１０８】
また、ソルダーペースト印刷検査装置通信サーバ２ａが、ソルダーペースト印刷検査装置のデバイスドライバ１０ｂに送出するイベントメッセージには、例えば、基板に対して検査を開始した場合に送出する『検査開始イベント』と、基板に対して検査を完了した場合に送出する『検査終了イベント』がある。何れのイベントメッセージにも、検査を開始、終了した基板ＩＤが含まれる。
【０１０９】
はんだ塗布高さ計測装置３は、ソルダーペースト印刷検査装置２に代わって、はんだ塗布高さ情報を計測する。ここで、『検査装置に代わって』とは、不良要因判定をするための情報の取得源が代わるという意味であり、基板実装ライン統括コンピュータ１０における不良判定の際に用いる情報が、計測装置からの情報に基づくという意味である。もちろん、基板実装ラインを稼働する際には、検査装置も稼働し、必要な情報を収集する。また、検査装置から出力される一部の情報が計測装置の情報に代わることもある。つまり、計測装置を実装した場合に、不良要因判定の際に用いる情報が全て計測装置からのもので、検査装置からのものを用いないというものではなく、検査装置から情報と計測装置からの情報の利用法に基づいて不良要因判定を行うことも構わない。これは、以下の検査装置と計測装置の関係において同様である。
【０１１０】
はんだ塗布高さ計測装置３で計測する情報は、１次元の高さセンサを用いて、プリント基板をスキャンすることにより求める。つまり、プリント基板の搬送方向と直交する方向（横方向）に走査する１次元の高さセンサを用意する。これにより、プリント基板の搬送方向のある位置の横方向の高さ情報（表面の凹凸情報）は、そのセンサ出力に基づいて精度良く求めることができる。
【０１１１】
次いで、プリント基板を搬送方向に所定距離移動させて一時停止させ、その状態で高さセンサにより対向するプリント基板の横方向の高さ情報を取得する。このように、プリント基板を所定距離ずつ搬送させ、その都度横方向（搬送方向と直交する方向）の高さ情報を取得することにより、プリント基板の表面全体の３次元情報を取得できる。そして、プリント基板を搬送させる距離を調整することにより、目的とする精度の３次元情報を得ることができる。本実施の形態では、ソルダーペースト印刷検査装置２においてもはんだ塗布高さを求めるようになっているが、これとの相違は、はんだ塗布高さ計測装置３の方が高精度に測定するとともに、高さを計測するポイントも多くなっている。このようにして得られたデータは、ＬＡＮを通じて、基板実装ライン統括コンピュータ１０内のはんだ塗布高さデバイスドライバ１０ｃに与えられ、当該基板実装ライン統括コンピュータ１０に取り込まれる。
【０１１２】
マウンタ４は、マウンタ通信サーバ４ａと、マウンタメカコントローラ４ｂとを備えている。マウンタ通信サーバ４ａは、基板実装ライン統括コンピュータ１０のデバイスドライバ１０ｄとネットワーク通信を行い、デバイスドライバ１０ｄからのコマンド処理要求を処理し、デバイスドライバ１０ｄにコマンド処理結果を返す処理を行うもので、具体的なコマンド処理要求とコマンド処理結果は、上記したソルダーペースト印刷装置１に対するコマンド処理と同様である。また、通信サーバ４ａが通信ドライバ１０ｄに送出するイベントメッセージも、ソルダーペースト印刷装置１における『イベントメッセージ』と同様である。マウンタメカコントローラ４ｂは、マウンタ４内の搬送装置や取り付けロボットなどを制御するもので、従来公知の機能であるとともに、本発明とは直接に関係しない部分であるので、その詳細な説明を省略する。
【０１１３】
装着部品検査装置５は、基板実装ライン統括コンピュータ１０と通信を行うための装着部品検査装置通信サーバ５ａと、装着部品検査装置５の本来の動作を行うための装着部品検査装置メカコントローラ５ｂ、部品有無・ずれ量計測部５ｃ並びに検査判定部５ｄを内蔵するとともに、外部に部品有無・ずれ量計測部５ｃに接続されるＣＣＤカメラ５ｅを備えている。
【０１１４】
装着部品検査装置メカコントローラ５ｂは、装着部品検査装置内の搬送装置や照明などを制御するもので、当該印刷検査装置内の各種装置並びにその制御アルゴリズムは、従来と同様であるので、その詳細な説明を省略する。
【０１１５】
部品有無・ずれ量計測部５ｃは、ＣＣＤカメラ５ｅで撮像した２次元撮像データに基づいて装着部品位置情報を計測する。かかる２次元撮像データから装着部品位置情報を求める方式は、一般的な画像処理アルゴリズムを用いることができる。すなわち、画像認識並びに文字認識により、どの部品が、２次元撮像データ中のどの位置に存在するかを認識することができる。そして、２次元撮像データ中の原点位置（例えば、左上）が、実際のプリント基板のどの位置にあるかがわかると、認識した部品のプリント基板上での位置を算出することができる。そして、ここで求める装着部品位置情報は、プリント基板の上の実際に配置された部品の位置情報である。この部品の位置情報に基づいて、部品の有無や、ずれ量などを求めることになる。もちろん、これ以外の画像処理アルゴリズムを用いて装着部品位置情報を計測することができる。そして、計測したデータは次の基板検査が完了するまで記憶保持する。
【０１１６】
検査判定部５ｄは、部品有無・ずれ量計測部５ｃによって計測された情報を用い、プリント基板上の全ての部品について判定を行う。具体的には、指定された部品が装着されているか（部品基準パターン一致率について、予め指定されたしきい値以下である場合に不良と判定する）や、装着位置はずれていないか（計測された部品領域の座標と、設計上の部品領域の座標とが、予め指定されたしきい値より大きく離れている場合に不良と判定する）などがある。
【０１１７】
装着部品検査装置通信サーバ５ａは、基板実装ライン統括コンピュータ１０の装着部品検査装置のデバイスドライバ１０ｅとネットワーク通信を行い、装着部品検査装置のデバイスドライバ１０ｅからのコマンド処理要求を処理し、装着部品検査装置のデバイスドライバ１０ｅにコマンド処理結果を返す処理を実行する。コマンド処理要求とコマンド処理結果は、上記した『ソルダーペースト印刷装置に対するコマンド処理』と同様で、『検査中の基板ＩＤ』や『最後に検査した基板の検査結果情報』や『最後に検査した装着部品位置情報』並びにそのコマンドに対応する処理結果がある。
【０１１８】
ここで、『検査中の基板ＩＤ』は、現在、既に述べたように検査しているプリント基板を識別するための情報であって、基板実装ライン内でプリント基板ごとに設定されるユニークな番号である。また、『最後に検査した基板の検査結果情報』は、最後に検査したプリント基板の不良判定結果の情報であり、『良品／不良品の別』を含み、不良判定された場合は、さらにその不良判定理由も含む。そして、不良判定理由は、不良となった部品の『部品ＩＤ』と、『部品ズレ／部品なし／部品種まちがい／極性ちがい／表裏逆』を備えている。
【０１１９】
『最後に検査した装着部品位置情報』は、基板設計上のすべての装着部品位置、および、それに対するＣＣＤカメラ５ｅによって撮像し安定された装着部品位置および部品基準パターン一致率である。なお、装着部品検査装置通信サーバ５ａが装着部品検査装置のデバイスドライバ１０ｅに送出するイベントメッセージは、既に説明したソルダーペースト印刷検査装置２が送る『イベントメッセージ』と同じである。
【０１２０】
部品ずれ計測装置６は、装着部品位置情報を装着部品検査装置５よりも詳細に計測し、ネットワーク（ＬＡＮ）を経由して基板実装ライン統括コンピュータ１０に計測データを送信する。実際には、基板実装ライン統括コンピュータ１０に組み込まれた部品ずれ計測装置のデバイスドライバ１０ｆとの間で通信を行うことにより、上記のデータの送信を行う。
【０１２１】
装置内部データ読み出しコマンド処理要求で指定可能なデータにおける装着部品位置情報は次の情報から構成される。すなわち、『装着部品位置情報』＝基板ＩＤ＋装着部品位置データ数＋装着部品位置データ、『装着部品位置データ』＝部品ＩＤ＋理想的な部品位置データ＋計測された部品位置、『部品位置データ』＝矩形中心座標＋Ｘ方向サイズ＋Ｙ方向サイズがある。ここで、部品ずれ計測装置６が装着部品検査装置５よりも高い精度で計測できるデータは、計測された部品位置データの中の矩形中心座標およびＸ方向サイズ、Ｙ方向サイズである。
【０１２２】
リフロー炉７は、リフロー炉通信サーバ７ａと、リフロー炉メカコントローラ７ｂとを備えている。リフロー炉通信サーバ７ａは、基板実装ライン統括コンピュータ１０のリフローのデバイスドライバ１０ｇとネットワーク通信を行い、通信ドライバからのコマンド処理要求を処理し、通信ドライバにコマンド処理結果を返す処理を行うもので、具体的なコマンド処理要求とコマンド処理結果は、上記したソルダーペースト印刷装置１に対するコマンド処理と同様である。また、通信サーバが通信ドライバに送出するイベントメッセージも、ソルダーペースト印刷装置１における『イベントメッセージ』と同様である。
【０１２３】
リフロー炉通信サーバ７ａは、基板実装ライン統括コンピュータ１０のリフロー炉のデバイスドライバ１０ｇとネットワーク通信を行い、デバイスドライバ１０ｇからのコマンド処理要求を処理し、デバイスドライバにコマンド処理結果を返す機能を持つ。さらに、リフロー炉通信サーバ７ａは、リフロー炉７内で発生した事象について基板実装ライン統括コンピュータ１０のリフロー炉のデバイスドライバ１０ｇにイベントメッセージを送信する。イベントメッセージを受け取ったリフロー炉デバイスドライバ１０ｇは、イベントメッセージごとに予め決められた所定の処理を行う。
【０１２４】
なお、コマンド処理要求とコマンド処理結果は『ソルダーペースト印刷装置に対するコマンド処理』と同じである。また、装置内部データ読み出しコマンド処理要求で指定するデータには、『基板ＩＤ』や『最後に処理した基板に関するリフロー中の温度情報』などがある。ここで、『基板ＩＤ』は、処理中のプリント基板を識別するための情報である。また、『最後に処理した基板に関するリフロー中の温度情報』は、最後に処理したリフロー中の炉内の温度変化の基板のリフロー開始から完了までを時系列で観測したデータである。
【０１２５】
また、リフロー炉通信サーバ７ａがリフロー炉のデバイスドライバ１０ｇに送出するイベントメッセージは、ソルダーペースト印刷装置１で説明した『イベントメッセージ』と同じである。なおまた、通信サーバは、本実施の形態で説明の構成に限らず、装置のメーカや機種によって独自のものであって良いし、通信サーバがなくても構わない。そして、メーカや機種固有の通信サーバに対しては通信ドライバを基板実装ライン統括コンピュータ１０に用意する。
【０１２６】
リフロー炉メカコントローラ７ｂは、リフロー炉７内の搬送装置やヒータなどを制御するもので、従来公知の機能であるとともに、本発明とは直接に関係しない部分であるので、その詳細な説明を省略する。
【０１２７】
炉内温度計測装置９は、リフロー炉７の温度情報（内部温度）を計測する。実際には、基板実装ライン統括コンピュータ１０に組み込まれた炉内温度計測装置のデバイスドライバ１０ｈとの間で通信を行うことにより、上記のデータの送信を行う。本実施の形態では、リフロー炉７自体に温度を計測し、基板実装ライン統括コンピュータ１０に送信する機能を持っているが、この炉内温度計測装置９は、基板のリフロー開始から完了までの温度変化を一定周期でサンプリングする。このリフロー炉の温度情報は、『基板ＩＤ＋温度データ数＋温度データ』から構成される。なお、計測したデータは次の基板のリフローが完了するまでは保持する。このための記憶領域を装置に確保する。
【０１２８】
リフローはんだ検査装置８は、基板実装ライン統括コンピュータ１０と通信を行うためのリフローはんだ検査装置通信サーバ８ａと、リフローはんだ検査装置８の本来の動作を行うためのリフローはんだ検査装置メカコントローラ８ｂと、はんだ付け特徴量計測部８ｃと、検査判定部８ｄを内蔵するとともに、外部にはんだ付け特徴量計測部８ｃに接続されるＣＣＤカメラ８ｅを備えている。
【０１２９】
リフローはんだ検査装置メカコントローラ８ｂは、リフローはんだ検査装置８内におけるプリント基板の搬送装置や照明などを制御するもので、当該リフローはんだ検査装置内の各種装置並びにその制御アルゴリズムは、従来と同様であるので、その詳細な説明を省略する。
【０１３０】
はんだ付け特徴量計測部８ｃは、ＣＣＤカメラ８ｅで撮像した２次元撮像データに基づいて、はんだ付け特徴量を計測する。かかる２次元撮像データからはんだ付け特徴量を求める方式は、一般的な画像処理アルゴリズムを用いることができる。一例としては、画像認識によりはんだ部分を抽出し、その位置と面積等を求めたり、文字認識を併用し、どの部品が、２次元撮像データ中のどの位置に存在しているかを求めたりする。もちろん、例示列挙した以外にも各種の特徴量を求めることができる。そして、計測したデータは次の基板検査が完了するまで記憶保持する。
【０１３１】
検査判定部８ｄは、はんだ付け特徴量計測部８ｃで求めた特徴量に基づき不良判定を行うものである。基板上のすべての部品、パッドに対して条件判定を行う。具体的には、はんだ濡れ性は十分か（特徴量から、緩斜面と判定されるはんだ面積があらかじめ指定されたしきい値以下の場合に不良判定する）や、部品は正しく装着されているか（部品装着部分に対する部品基準パターンの一致率があらかじめ指定されたしきい値以下の場合に不良判定する）等がある。
【０１３２】
リフローはんだ検査装置通信サーバ８ａは、基板実装ライン統括コンピュータ１０のリフローはんだ検査装置のデバイスドライバ１０ｉとネットワーク通信を行い、デバイスドライバ１０ｉからのコマンド処理要求を処理し、デバイスドライバ１０ｉにコマンド処理結果を返す機能を持つ。なお、コマンド処理要求とコマンド処理結果は前述のソルダーペースト印刷装置に対するコマンド処理と同じである。
【０１３３】
装置内部データ読み出しコマンド処理要求で指定するデータには、『検査中の基板ＩＤ』や『最後に検査した基板の検査結果情報』がある。『検査中の基板ＩＤ』は、上記した各検査装置と同様に、現在、検査している基板を識別するための情報であり、基板実装ライン内で基板ごとに設定されたユニークな番号である。また、同様に『最後に検査した基板の検査結果情報』は、最後に検査した基板の不良判定結果の情報であり、良品／不良品の別、および不良判定された場合は、不良判定理由を含むものである。そして、『最後に検査した基板の検査結果情報』のデータ構成は、上記した各検査装置と同様に、『判定結果』、『不良判定理由の総数』、『不良判定理由』がある。リフローはんだ検査装置通信サーバ８ａがリフローはんだ検査装置のデバイスドライバ１０ｉに向けて送信するイベントメッセージは、ソルダーペースト印刷結果装置２と同様である。
【０１３４】
次に、主として、図２を参照しながら、基板実装ライン統括コンピュータ１０側の内部構成について説明する。図２に示すように、統括コンピュータ１０はＬＡＮで接続された各装置と通信を行うデバイスドライバ１０ａ〜１０ｉと、プログラムラウンチャ１０ｊと、計測データを記憶保持する計測データストレージ１０ｋと、に実装不良要因判定部（ソフトウェアで実現される）１０ｍとを備えている。
【０１３５】
各デバイスドライバ１０ａ〜１０ｉは、対応する装置１〜９内の通信サーバにアクセスし、基板実装ライン統括コンピュータ１０内の他のプログラムからコマンド処理要求があった場合に、それを基板実装ラインの所定の装置に転送すると共に、コマンド処理結果をコマンド処理要求したプログラムに返す。さらに、各装置１〜９からのイベントメッセージ受信を常時監視し、イベントメッセージを受信した場合には、すべてプログラムラウンチャ１０ｊに転送する。なお、具体的なコマンド等は、上記した各装置１〜９で説明したため、ここではその説明を省略する。
【０１３６】
さらに、デバイスドライバ１０ａ〜１０ｉは、後述するように、装置メーカや機種固有の通信サーバに対応したものをアプリケーションサーバ２０からダウンロードして用意する。デバイスドライバ１０ａ〜１０ｉは、実装不良要因判定部１０ｍで必要となるデータが通信サーバより取得できない場合は、当該データに対しては無効値を出力する機能と、通信ドライバと関連する装置がイベントをサポートしていない場合には、イベントをサポートしていない旨をプログラムラウンチャ１０ｊに通知する機能を持っている。
【０１３７】
計測データストレージ１０ｋは、基板実装ライン内の基板の情報を記録するデータベースであり、その基板実装ラインを構成する各装置から送られてくる情報を取得し、格納する。そして、具体的なデータ構造の一例を示すと、図４（ａ）に示すように、先頭にデータベース内のレコード数の総数（レコード数）を格納し、それに続いて、各レコード（レコード１〜レコードｎ）を順に格納する。ここで、レコードは、各基板ごとに１対１に対応するもので、同一の基板についての情報が同一のレコードに格納される。レコードを識別するキーは、基板ＩＤを用いている。そして、レコードに格納する具体的な情報・項目としては、図４（ｂ）に示すようなものがある。
【０１３８】
図４（ｂ）から明らかなように、各装置における作業開始時刻と終了時刻並びに、検査結果がある場合には、その結果情報も格納される。ここで、開始時刻並びに終了時刻の初期値は無効値としてあり、各装置から時刻情報を取得した場合に、対応する欄に登録する。従って、作業開始時刻が無効値の場合は、当該作業を開始していないことを意味し、完了時刻が無効値の場合は、当該作業を完了していないことを意味する。
【０１３９】
さらに、本実施の形態では、追加計測装置情報の欄を複数用意している。これは、基板実装ラインに計測装置を追加した場合に使用するもので、追加の計測装置がない場合は、無効値が格納される。つまり、本実施の形態では、追加の計測装置として、はんだ塗布高さ計測装置３、部品ずれ計測装置６、炉内温度計測装置９を例としてあげたが、上記したレコードの追加計測装置情報を用いて、他のデータを計測する計測装置にも対応が容易にしてある。
【０１４０】
さらにまた、はんだ塗布高さ情報、装着部品位置情報並びにリフロー中の温度情報については、追加の計測装置がある場合には、追加の計測装置から得られた情報を格納する。そうでなければ製造装置と検査装置から得ようとする。但し、製造装置と検査装置からは必ずしも情報が得られるとは限らない。得られなかった場合には無効値が格納される。
【０１４１】
なお、本実施の形態では、追加の計測装置３，６，９が全て完備しているため、計測装置からの情報が格納される。また、例えば、はんだ塗布高さ計測装置３が実装されておらず、ソルダーペースト印刷検査装置２においてもはんだ塗布高さが計測される場合には、ソルダーペースト印刷検査装置２で測定したはんだ塗布高さが格納され、ソルダーペースト印刷検査装置２においてもはんだ塗布高さが計測されない場合には、無効値が格納される。このように本発明において、実装不良要因を判定するために必要な情報の取得は、生産ラインの装置構成に柔軟に対応できるようになっている。
【０１４２】
計測データストレージ１０ｋに対するデータの格納は、プログラムラウンチャ１０ｊにより実行される。すなわち、プログラムラウンチャ１０ｊは、各装置１〜９から発せられたイベントメッセージをデバイスドライバ１０ａ〜１０ｉ経由で取得し、イベントメッセージ毎に予め決められた手続きを実行する。具体的には、以下の処理を行う。
【０１４３】
ソルダーペースト印刷装置１との間では、基板作業着手イベントを取得すると、まず、取得した基板ＩＤをキーとするレコードを計測データストレージ１０ｋに新規に追加する。次いで、追加したレコードにソルダーペースト印刷作業開始時刻を記録する処理を実行する。また、基板作業終了イベントを取得した場合には、計測データストレージ１０ｋから、基板ＩＤをキーとするレコードを呼出し、その呼び出したレコードにソルダーペースト印刷作業完了時刻を記録する処理を実行する。
【０１４４】
ソルダーペースト印刷検査装置２との間では、基板作業着手イベントを取得すると、計測データストレージ１０ｋから基板ＩＤをキーとするレコードを呼び出し、その呼び出したレコードにソルダーペースト印刷検査開始時刻を記録する処理を実行する。
【０１４５】
また、基板作業終了イベントを取得した場合には図５に示すフローチャートを実行する。すなわち、まず、計測データストレージ１０ｋから基板ＩＤをキーとするレコードを呼出す（ＳＴ１）。そして、基板作業終了イベントの検査結果情報をレコードに追加保存する（ＳＴ２）。次いで、ソルダーペースト印刷検査装置２に対し、『最後に検査したはんだ塗布位置情報』および『最後に検査したはんだ塗布高さ情報』のデータ読み出しコマンド処理要求を送出し、データをソルダーペースト印刷検査装置２より取得する（ＳＴ３）。そして、取得したデータをレコードに追加する（ＳＴ４）。次いで、レコードにソルダーペースト印刷検査完了時刻を記録する（ＳＴ５）。その後、基板作業終了イベントの検査結果情報が不良判定か否かを判断し、不良判定の場合には、実装不良要因判定サービスプログラムを起動する（ＳＴ６）。つまり、実装不良要因判定プログラムを起動し、不良要因の判定を行う。良品判定の場合には、そのまま終了する。この実装不良要因判定プログラムの起動により、実装不良要因判定部１０ｍの機能が実現される。
【０１４６】
マウンタ４との間では、基板作業着手イベントを取得すると、まず、計測データストレージ１０ｋから基板ＩＤをキーとするレコードを呼び出す。そして、呼び出したレコードに部品装着作業開始時刻を記録する処理を実行する。また、基板作業終了イベントを取得した場合には、計測データストレージ１０ｋから基板ＩＤをキーとするレコードを呼び出し、その呼び出したレコードに部品装着作業完了時刻を記録する処理を実行する。
【０１４７】
装着部品検査装置５との間では、基板作業着手イベントを取得すると、計測データストレージ１０ｋから基板ＩＤをキーとするレコードを呼び出し、その呼び出したレコードに装着部品検査開始時刻を記録する処理を実行する。また、基板作業終了イベントを取得した場合には図６に示すフローチャートを実行する。すなわち、まず、計測データストレージ１０ｋから基板ＩＤをキーとするレコードを呼出す（ＳＴ１１）。そして、基板作業終了イベントの検査結果情報をレコードに追加保存する（ＳＴ１２）。次いで、装着部品検査装置５に対し、『最後に検査した装着部品位置情報』のデータ読み出しコマンド処理要求を出し、装着部品検査装置５より該当するデータを取得する（ＳＴ１３）。そして、取得したデータをレコードに追加する（ＳＴ１４）。次いで、レコードに装着部品検査完了時刻を記録する（ＳＴ１５）。そして、基板作業終了イベントの検査結果情報が不良判定か否かを安定し、不良判定の場合には、実装不良要因判定サービスプログラムを起動する（ＳＴ１６）。つまり、実装不良要因判定プログラムを起動し、不良要因の判定を行う。良品判定の場合には、そのまま終了する。この実装不良要因判定プログラムの起動により、実装不良要因判定部１０ｍの機能が実現される。
【０１４８】
リフロー炉７との間では、基板作業着手イベントを取得すると、まず、計測データストレージ１０ｋから基板ＩＤをキーとするレコードを呼び出す。そして、呼び出したレコードにリフロー炉開始時刻を記録する処理を実行する。
【０１４９】
また、基板作業終了イベントを取得した場合には図７に示すフローチャートを実行する。すなわち、まず、計測データストレージ１０ｋから基板ＩＤをキーとするレコードを呼出す（ＳＴ２１）。そして、装置（炉内温度計測装置９）に対し、『最後に検査したリフロー中の温度情報』のデータ読み出しコマンド処理要求を出し、炉内温度計測装置９より該当するデータを取得する（ＳＴ２２）。そして、取得したデータをレコードに追加する（ＳＴ２３）。最後に、レコードにリフロー完了時刻を記録して処理を終了する（ＳＴ２４）。
【０１５０】
リフローはんだ検査装置８との間では、基板作業着手イベントを取得すると、まず、計測データストレージ１０ｋから基板ＩＤをキーとするレコードを呼び出す。そして、呼び出したレコードにリフローはんだ検査開始時刻を記録する処理を実行する。
【０１５１】
また、基板作業終了イベントを取得した場合には図８に示すフローチャートを実行する。すなわち、まず、計測データストレージ１０ｋから基板ＩＤをキーとするレコードを呼び出す（ＳＴ３１）。そして、呼び出したレコードに、基板作業終了イベントの検査結果情報をレコードに追加保存する（ＳＴ３２）。次いで、レコードにリフローはんだ検査完了時刻を記録する（ＳＴ３４）。そして、基板作業終了イベントの検査結果情報が不良判定か否かを判定し、不良判定の場合には、実装不良要因判定サービスプログラムを起動する（ＳＴ３５）。つまり、実装不良要因判定プログラムを起動し、不良要因の判定を行う。なお、良品判定の場合には、そのまま終了する。この実装不良要因判定プログラムの起動により、実装不良要因判定部１０ｍの機能が実現される。
【０１５２】
このように、プログラムラウンチャ１０ｊを設けたことにより、不良判定されたことを条件に、実装不良要因判定プログラムが起動され、不良要因の判定が行われる。換言すると、良品の場合には実装不良要因判定プログラムが起動されず、計測データストレージ１０ｋに逐次取得した情報を格納する処理を行う。
【０１５３】
なお、装置によってはイベントをサポートしていない場合があるが、本実施の形態では、プログラムラウンチャ１０ｊはイベント駆動形式で手続きを実行するため、単にイベントに関連付けられた手続きが実行されないだけである。そして、イベントに関連付けられた手続きはそれだけで意味のある独立した処理であるので、仮に、実行されないからと言って他の処理に影響を与えることはないので問題はない。
【０１５４】
次に、実装不良要因判定プログラムの構成を説明する。実装不良要因判定部１０ｍを実現するための実装不良要因判定プログラムは、基板の不良判定結果を受けてプログラムラウンチャ１０ｊによって起動されるもので、実装不良要因判定サービスに関わる判定アルゴリズムが記述されている。この判定アルゴリズムは、エキスパートシステムなどで用いられる一般的な推論アルゴリズムで実現されている。
【０１５５】
この推論アルゴリズムの一例としては、『不良判定理由がチップ立ちであり、かつ、パッドに塗布された印刷量にバラツキが大きいとき、ソルダーペースト印刷装置が不良要因である。』、『不良判定理由がチップ立ちであり、かつ、装着部品位置のずれ量が大きいとき、マウンタが不良要因である。』、『不良判定理由がチップ立ちであり、かつ、近隣に大きな部品があるとき、リフロー炉あるいは設計が不良要因である。』、『不良判定理由がチップ立ちであり、かつ、溶融速度の速いソルダーペーストであるとき、ソルダーペーストが不良要因である。』、等が挙げられる。
【０１５６】
なお、知識ベースの評価で必要な不良判定理由や計測量は、実装不良要因判定部１０ｍが適宜、計測データストレージ１０ｋより読み出す。また計測データストレージ１０ｋにあるデータを処理して得るデータについては、実装不良要因判定部１０ｍが、適宜データ処理を行いデータを取得する。すなわち、例えば、上記した知識ベースの『パッドに塗布された印刷量』は、はんだ塗布位置情報からパッドの領域座標を取得し、はんだ塗布高さ情報からパッド領域内の高さデータを積分することによって取得することができる。
【０１５７】
さらに、知識ベースには、あらかじめしきい値や評価関数が組み込まれており、知識ベースの評価に際しては、記述にしたがってしきい値や評価関数の値と比較される。例えば、『バラツキが大きい』に対応する実装例としては、当該部品のパッドにおける『最大印刷量−最小印刷量＞印刷量ばらつき許容値』となる。
【０１５８】
そして、実装不良要因判定部１０ｍが出力するのは、基板実装ラインからリアルタイムで収集したデータを元に、検査装置から通知される不良判定理由を更に分析した結果であり、基板実装ラインのどこにどのような問題があるかを出力する。また、計測されたデータの中に無効値がある場合は、そのルールを無視するか、評価しても一定の係数で評価における重要度を下げるように工夫する。こうすることによって無効値がある場合でも一定の確度で実装不良要因を判定することができる。
【０１５９】
実装不良要因判定部１０ｍの判定結果の出力態様としては、コンピュータ画面へ表示したり、計測データストレージ１０ｋに情報を追加して記憶しておき、一日に終わりなどにまとめて判定結果を表示したりすることもできる。コンピュータ画面への判定結果の表示例としては、例えば図９に示すようなものとすることができる。実装不良要因判定部１０ｍが出力する判定結果の内容としては、図示したもの以外に、『パッドなど基板設計が不適』、『ソルダーペーストのマスクが不適』、『治具が不適』、『部品の形状・めつきが不適』、『ソルダーペーストが不適』、『はんだ塗布装置が不適』、『マウンタが不適』、『リフロー炉が不適』などがある。
【０１６０】
なお、推論アルゴリズムとしては、ファジイ推論アルゴリズムや前向き探索型の推論アルゴリズムなど、各種のものを用いることができる。また、得られた計測データと判定結果と実際との差異を元に、知識ベースを学習する機能を設けても良い。
【０１６１】
次に、装置構成検出部１０ｎ、構成管理部１０ｐ、サービスコンフィグレーション１０ｑ、リモートクライアント１０ｒの各構成について説明する。
【０１６２】
装置構成検出部１０ｎは、定期的にＬＡＮ経由で各装置１〜９の通信サーバにアクセスし、各装置が保有する装置プロファイル情報を取得する。本実施の形態では、ネットワーク（例えば、Ethernet（登録商標）等）のブロードキャストメッセージの機能を利用して本機能を実現している。
【０１６３】
構成管理部１０ｐは、基板実装ライン統括コンピュータ１０内のデバイスドライバ１０ａ〜１０ｎの構成が基板実装ラインの装置構成と一致するか検査する。すなわち、基板実装ライン統括コンピュータ１０内のデバイスドライバ１０ａ〜１０ｎの構成は既知であるので、基板実装ラインの装置構成を装置構成検出部１０ｎから取得し、両者を比較することにより照合する。そして、一致しない場合には構成が一致するようデバイスドライバ１０ａ〜１０ｎの構成を変更する。或いは、基板実装ライン統括コンピュータ１０内の実装不良要因判定部１０ｍを実現するための『実装不良要因判定プログラム』およびドライバ１０ａ〜１０ｎを最新のものに更新する。構成管理部１０ｐは、具体的には、以下の機能を実現するように作用する。
（１）デバイスドライバの自動追加機能
【０１６４】
所定タイミングで、装置構成検出部１０ｎを呼び出し、最新の装置構成を取得する。所定タイミングは、例えば一定の周期に基づく定期的であったり、予め指定された時刻或いはコンピュータの起動時などがある。そして、最新の装置構成とデバイスドライバ１０ａ〜１０ｉの構成とを比較し、デバイスドライバが割り当てられていない装置が発見された場合には、リモートクライアント１０ｒ経由でアプリケーションサーバ２０にアクセスし、対応するデバイスドライバを取得する。次いで、新たにアプリケーションサーバ２０から取得したデバイスドライバを自コンピュータにセットアップする。
（２）実装不良要因判定プログラムおよびデバイスドライバの自動更新
【０１６５】
所定タイミングで、現在基板実装ライン統括コンピュータ１０内で動作しているプログラムとデバイスドライバについて、リモートクライアント１０ｒ経由でアプリケーションサーバ２０から最新バージョン一覧を取得する。所定のタイミングは、通信ドライバの自動追加機能の場合と同様である。そして、最新バージョン一覧と、基板実装ライン統括コンピュータ１０内で現在動作しているプログラムと通信ドライバのバージョンとを比較する。そして、アプリケーションサーバ２０に新しいプログラムあるいはデバイスドライバが存在する場合には、リモートクライアント１０ｒ経由で対応するプログラムあるいは通信ドライバを取得する。
【０１６６】
次いで、取得したソフトウェアについてプログラムラウンチャ１０ｊに削除可能か問い合わせ、削除可能になるまで待機する。そして、削除可能になったならば、コンピュータ内で動作している当該ソフトウェアを削除し、取得した新しい実装不良要因判定プログラムおよび通信ドライバを自コンピュータにセットアップする。ここで『セットアップ』とは、自コンピュータ内の補助記憶装置などにプログラム本体を記憶させ、プログラムラウンチャ１０ｊに補助記憶装置からプログラムを自動的に起動するように指示することを言う。
【０１６７】
実装不良要因判定プログラムをセットアップした場合は、サービスコンフィグレーション１０ｑを呼び出す。なお、実装不良要因判定プログラムの取得において、アプリケーションサーバ２０より取得するのは、『プログラム本体』と『サービス設定情報』である。
【０１６８】
ここで、『サービス設定情報』とは、実装不良要因判定プログラムが基板実装ラインのどの装置に対して作用するかを記述した情報である。この『サービス設定情報』は、図１０（ａ）に示されるように、『生産ライン名』と『装置数』と『装置指定情報』とを含んでいる。『生産ライン名』は、本ソフトウェアが稼働対象となる基板実装ライン名であり、アプリケーションサーバ２０が書き込む。『装置数』は、実装不良要因判定プログラムを作用させたい装置の総数（最大数）を書き込む。『装置指定情報』は、実装不良要因判定プログラムの作用させたい装置のみを列挙する。『装置指定情報』は、図１０（ｂ）に示すように、『装置種別』と、『装置名』と、『装置インスタンス名』を関連付けたテーブルとなっており、『装置種別』は必ず指定するようになっている。
【０１６９】
『サービス設定情報』は、アプリケーションサーバ２０から提供されるが、サーバ２０から提供される情報は一部情報が抜けている。この部分をサービスコンフィグレーション１０ｑで書き込んだものが『サービスパラメータ』である。『サービスパラメータ』は、実装不良要因判定プログラムの起動時には読み込まれ、プログラムの動作に反映される。『サービスパラメータ』は、具体的には、図１０（ｃ）に示すようなデータ構成からなる。ここで、『生産ライン名』は、『サービス設定情報』と同じ名前であり、使用する基板実装ラインを特定する情報である。
【０１７０】
また、その他のデータは、生産ラインの装置構成検出結果から、装置インスタンス名を埋めた『装置指定情報』であり、該当する装置がない場合や意図的に実装不良要因判定プログラムを作用させたくない場合は、『装置指定情報』の装置種別に『装置なし』を設定する。このサービスパラメータは、実装不良要因判定プログラムの起動時に読み込まれ、プログラムの動作に反映される。
【０１７１】
サービスコンフィグレーション１０ｑは、アプリケーションサーバ２０から取得した『サービス設定情報』と、実際の基板実装ラインから取得した『装置プロファイル情報』とに基づいて、ダウンロードしてセットアップした実装不良要因判定プログラムをどの装置に作用させるかを自動設定する。具体的には、サービスコンフィグレーション１０ｑは、以下の機能を有する。
【０１７２】
(1) 複数の基板実装ラインが１つのネットワーク（ＬＡＮ）上に存在する場合には、実装不良要因判定プログラムが同一ライン上にある装置に対して作用させるようにする。実装不良要因判定プログラムがどの基板実装ラインを対象とするかは『サービス設定情報』に規定されているので、かかる『サービス設定情報』を認識し、それに基づいて設定する。(2) 基板実装ラインによって装置構成が異なる場合には、基板実装ラインの実態に合わせて実装不良要因判定プログラムに与えるパラメータを変更する。(3) 基板実装ラインによっては、たとえライン上には装置が存在していてもその装置を除外して、実装不良要因判定プログラムを作用させる装置を限定する場合がある。この場合に、基板実装ラインの実態に合わせて実装不良要因判定プログラムに与えるパラメータを変更する。以上のパラメータの変更を含め、どの装置を対象とするかは『サービス設定情報』に規定されている。
【０１７３】
上記したサービスコンフィグレーション１０ｑの機能は、図１１のフローチャート（ＳＴ４０１〜４１１）に示される処理を実行することで実現される。すなわち、先ず、実装不良要因判定プログラムについて『サービス設定情報』を取得する（ステップＳＴ４０１）。続いて、装置構成検出機能で最新の実装生産ラインの『装置プロファイル情報』を取得する（ステップＳＴ４０２）。続いて、『サービス設定情報』及び『装置プロファイル情報』を参照し、同一生産ラインでかつ『サービス設定情報』に指定された『生産ライン名』の装置を検索する（ステップＳＴ４０３）。続いて、検索結果を判定する（ステップＳＴ４０４）。検索の結果、『サービス設定情報』に記載の『装置指定情報』に一致する装置がただ１つしか存在しないときには、その装置のインスタンス名をサービスパラメータに加える（ステップＳＴ４０５）。検索の結果、『サービス設定情報』に記載の装置指定情報に一致する装置が複数見つかった場合には、実装生産ライン統括コンピュータ１０の画面上に選択リストを表示し（ステップＳＴ４０６）、オペレータに対して適切な装置の指定を促し（ステップ４０８）、指定された装置のインスタンス名を『サービスパラメータ』に加える（ステップＳＴ４０９）。検索の結果、一致する装置がない場合には、『サービスパラメータ』の該当装置指定情報を『なし』に設定する（ステップＳＴ４０７）。以上の処理（ステップＳＴ４０３〜４０９）を『サービス設定情報』のすべての装置指定情報の処理が完了するまで繰り返し（ステップＳＴ４１０ＮＯ）、完了を待って（ステップＳＴ４１０ＹＥＳ）、生成された『サービスパラメータ』を実装不良要因判定プログラムに与える（補助記憶装置の所定場所に格納する）。
【０１７４】
リモートクライアント１０ｒは、基板実装ライン統括コンピュータ１０内の各機能から呼び出され、アプリケーションサーバ２０にコマンド処理要求を送信し、コマンド処理結果をアプリケーションサーバから取得して呼び出し元に返す処理を実行する。主なコマンド処理要求としては、例えば『ソフトウェアダウンロード』がある。このコマンド処理要求を介して、指定された装置の通信ドライバ或いは実装不良要因判定プログラムをアプリケーションサーバ２０から取得することができる。
【０１７５】
次に、アプリケーションサーバの構成について説明する。図２に示されるように、アプリケーションサーバ２０は、リモートサーバ２０ａと、プログラムプール２０ｂ並びに顧客データベース２０ｃを備えている。
【０１７６】
リモートサーバ２０ａは、基板実装ライン統括コンピュータ１０内のリモートクライアント１０ｒからインターネットを経由して呼び出され、受信したコマンド処理要求を処理して、処理結果をリモートクライアント１０ｒに返す処理を行う。本発明との関係で受信する主なコマンド要求は、『ソフトウェアダウンロード』であり、かかる要求を受信すると、以下の各処理ステップを実行する。
【０１７７】
第１の処理ステップでは、コマンド処理要求で指定された装置名のドライバ、もしくは実装不良要因判定プログラム（『プログラム本体』、『サービス設定情報の雛形』）をプログラムプール２０ｂより取得する。続く第２の処理ステップでは、コマンド処理要求の発信元をキーにして顧客データベース２０ｃを検索し、契約情報を取得する。続く第３の処理ステップでは、契約情報から、第１の処理ステップで得た『サービス設定情報の雛形』を書き換える。続く第４の処理ステップでは、『プログラム本体』並びに書き換えた『サービス設定情報』を処理結果として返信する。
【０１７８】
プログラムプール２０ｂは、『プログラム本体』並びに『サービス設定情報の雛形』を１つのレコードとして記憶保持するデータベースである。そして、データ構造は、図１２（ａ）に示すように、データベース内のレコードの総数である『レコード数』と、具体的なレコードの内容が格納される。各レコード（レーコード１〜ｎ）は、１つの実装不良要因判定プログラム或いは通信ドライバというように、１つの機能に対応したプログラム毎に１つずつ存在する。そして、各レコードは、図１２（ｂ）に示すように、サービス設定情報の雛形とプログラム本体とからなる。プログラム本体は、実装不良判定プログラム或いは通信ドライバのプログラム本体である。
【０１７９】
顧客データベース２０ｃは、契約内容や基板実装ライン統括コンピュータ１０ごとの固有の情報を格納するデータベースである。具体的には、図１３に示すようなデータ構造をとっている。すなわち、全体としては、図１３（ａ）に示すように、データベース内のレコードの総数である『レコード数』と、具体的なレコードの内容（レコード１〜ｎ）が格納される。各レコード（レコード１〜ｎ）は、１つの基板実装ライン統括コンピュータ１０毎に１つ存在する。そして、各レコード（レコード１〜ｎ）は、図１３（ｂ）に示すように、基板実装ライン統括コンピュータ１０を特定する『基板実装ライン統括コンピュータＩＤ』と、そのコンピュータについての『ユーザプロファイル情報』と、契約情報の総数である『契約情報総数』と、具体的な『契約情報』が格納される。『ユーザプロファイル情報』は、顧客を特定するための情報であり、例えばユーザ名などがある。『契約情報』（契約情報１〜ｎ）は、図１３（ｃ）に示すように、契約した生産ライン名を特定する『契約実装ライン名』と、除外する装置種別などを記録した『契約詳細情報』からなる。
【０１８０】
これらの『契約情報』を見ることにより、リモートクライアント１０ｒからソフトウェアダウンロードの要求を受けた場合に、要求を発した基板実装ライン統括コンピュータ１０（リモートクライアント１０ｒ）が誰であるかを確認し、それに対応する『契約情報』に基づいて、『サービス設定情報』を変更することにより、基本的なプログラムを共通にしつつ、装置構成や使用する機器や生産する対象物が異なる基板実装ラインに対して適合する実装不良要因判定プログラムや通信ドライバを提供することができる。もちろん、構成が大きく異なる場合には、プログラム本体も異なるが、パラメータ変更等で対応できる程度の基本的に同一、類似するシステム構成のものには、同一のプログラム本体により適用することができるのである。
【０１８１】
アプリケーションサーバ２０と基板実装ライン統括コンピュータ１０との接続形態の説明図が図１４に示されている。同図に示されるように、アプリケーションサーバ２０と基板実装ライン統括コンピュータ１０との接続形態には、２通りの接続形態が存在する。
【０１８２】
第１の接続形態は、同図（ａ）に示されるものであり、今まで説明してきたように、アプリケーションサーバ２０と基板実装ライン統括コンピュータ１０とがインターネット２２を介して直接に接続されるものである。すなわち、基板実装ライン統括コンピュータ１０内には、その主たる機能（１０ａ〜１０ｑ）を司るクライアントコアＣＬ０と主としてインターネット通信を司る通信クライアント（リモートクライアント１０ｒ）ＣＬ１とが含まれている。この通信クライアントＣＬ１がインターネット２２に直接に接続されて、アプリケーションサーバ２０との交信が行われる。この第１の接続形態は、基板実装ライン統括コンピュータ１０が、インターネットに接続可能な環境下に置かれるときに有効である。
【０１８３】
第２の接続形態は、同図（ｂ）に示されるものであり、アプリケーションサーバ２０と基板実装ライン統括コンピュータ１０とがＦＤ，リライタブルＣＤ，ＭＯ等のリムーバブルメディア１２を介して接続されるものである。すなわち、顧客側には、基板実装ライン統括コンピュータ１０とは別に中継コンピュータ１１が設けられる。この中継コンピュータ１１内には、ＷｅｂブラウザＷＢを用いてインタネット通信を行う通信クライアントＣＬ１が含まれている。この通信クライアントＣＬ１がインターネット２２に直接に接続されて、アプリケーションサーバ２０との交信が行われる。一方、中継コンピュータ１１と基板実装ライン統括コンピュータ１０との間の情報のやり取りは、リムーバブルメディア１２を介して行われる。この第２の接続形態は、基板実装ライン統括コンピュータ１０が、インターネットに接続困難な環境下に置かれるときに有効である。
【０１８４】
本発明システムのソフトウェア構成を概念的に示すブロック図が図１５に示されている。尚、図示例においては、上述の第２の接続形態が採用されている。本発明システムの実現のためには、ライン構成装置１〜９、基板実装ライン統括コンピュータ１０、中継コンピュータ１１、アプリケーションサーバ２０のそれぞれに様々なソフトウェア（コンピュータプログラム）が実装される。
【０１８５】
ライン構成装置１〜９には、その内容に応じて、標準通信ドライバＣＤ０又は拡張通信ドライバＣＤ１がシステムプログラムとして組み込まれている。ここで言う『通信ドライバ』とは、図３に示される『通信サーバ』１ａ〜８ａに相当する。標準通信ドライバＣＤ０はデバイスであるライン構成装置１〜９に共通の通信手順（標準プロトコル）を実装したソフトウェアであり、拡張通信ドライバＣＤ１はデバイスであるライン構成装置１〜９に固有の通信手順（拡張プロトコル）を実装したソフトウェアである。
【０１８６】
基板実装ライン統括コンピュータ１０内にシステムプログラムとして組み込まれるソフトウェアとしては、データファイル入出力１００１、サービスマネージャ１００２、デバイスマネージャ１００３、デバイスデータロガー１００４、標準プロトコルによる通信ドライバ１００５等が挙げられる。
【０１８７】
その他、ＣＩはアプリケーションサーバ２０からダウンロードした契約情報、ＳＨは統括コンピュータ１０の側で逐次生成されるサービス利用履歴、ＳＰ１〜ＳＰ３はアプリケーションサーバ２０からダウンロードした各種サービスプログラム（例えば、段取り管理、経時変動管理、不良要因推定のいずれかの用途、又はこれらを組み合わせた用途に使用可能なプログラム）、１０ｋはデバイスであるライン構成装置１〜９から取得された基板処理結果データを保持するデータストレージ、ＤＤ０はアプリケーションサーバ２０からダウンロードした標準デバイスドライバ、ＤＤ１はアプリケーションサーバ２０からダウンロードした拡張デバイスドライバ（拡張プロトコルＰＴＣをサポートする）である。これらのデバイスドライバＤＤ０，ＤＤ１は、デバイスであるライン構成装置１〜９に対応した通信ドライバを有し、各デバイス１〜９からデータを取得する。また、サービスプログラムＳＰ１〜ＳＰ３からの要求により、データストレージ１０ｋよりデータを取りだし、それに論理名を付けてデータを提供する。
【０１８８】
データファイル入出力１００１は、サービスマネージャ１００２の管理下にあって、中継コンピュータ１１の通信クライアント１１０１がアプリケーションサーバ２０と通信を行うために必要なデータをリムーバブルメディア等の記録媒体にファイルとして書き出し、また通信クライアント１１０１が保存したファイルを記録媒体から読み出す機能を実現する。サービスマネージャ１００２は、各種のサービスプログラムＳＰ１〜ＳＰ３とデバイスドライバＤＤ０，ＤＤ１との間にあって、契約情報ＣＩに従い、サービスプログラムＳＰ１〜ＳＰ３のセットアップと実行制御を自動で行う機能を実現する。デバイスマネージャ１００３は、サービスマネージャ１００２の管理下にあって、接続されたデバイスドライバＤＤ０，ＤＤ２のインストールを自動で行う機能を実現する。デバイスデータロガー１００４は、デバイスであるライン構成装置１〜９からデータをリアルタイムで取得し、これをデータストレージ１０ｋに保存する機能を実現する。データストレージ１０ｋはデバイス（構成装置１〜９）から取得された基板処理結果データを保存する記憶媒体であり、デバイスドライバ（ＤＤ０，ＤＤ１）はデバイスに対応した標準又は拡張通信ドライバを有し、デバイスからデータを取得すると共に、アプリケーションプログラムからの要求により、データストレージ１０ｋよりデータを取りだし、これら論理名を付けてデータを提供する機能を実現する。さらに、ライン構成装置１〜９内の標準通信ドライバＣＤ０はデバイスに共通の通信手順（標準プロトコル）を実装したソフトウェアであり、拡張通信ドライバＣＤ１はデバイスに固有の通信手順（拡張プロトコルＰＴＣ）を実装したソフトウェアである。
【０１８９】
中継コンピュータ１１内にシステムプログラムとして組み込まれるソフトウェアとしては、インターネットを介してサーバ２０にに処理要求を行い処理結果を取得する通信クライアント１１０１、及びサーバ２０に送信すべきデータ及びサーバ２０から得たデータをリムーバブルメディア１２にファイルとして書き出す機能を実現するデータファイル入出力ソフト１１０２等が挙げられる。
【０１９０】
アプリケーションサーバ２０内にシステムプログラムとして組み込まれるソフトウェアとしては、通信サーバ２００１、契約管理２００２、デバイスドライバ検索２００３、サービスプログラム検索２００４等が挙げられる。通信サーバ２００１は、インターネットを介して中継コンピュータ１１の通信クライアント１１０１から到来するコマンド処理要求を受け付けると共に、その処理結果を通信クライアント１１０１へと返送する機能を実現する。契約管理２００２は、顧客契約データベース２０ｃと連繋して当該契約内容の書込、更新、読み出し、その他の管理等の機能を実現する。なお、顧客データベース２０ｃには、顧客のサービス契約が保持されている。デバイスドライバ検索２００３は、指定されたデバイスドライバをプログラムプール２０ｂから検索する機能等を実現する。サービスプログラム検索２００４は、指定されたサービスプログラム（ＳＰ）をプログラムプール２０ｂから検索する機能等を実現する。なお、プログラムプール２０ｂには、アプリケーションプログラム及びデバイスドライバが保持されている。
【０１９１】
次に、以上説明したシステム構成並びにソフトウェア構成を前提として実施される本発明方法について説明する。契約からサービス開始の流れの説明図が図１６に示されている。
【０１９２】
まず最初は、基板実装ラインの構築を行う。具体的には、実装不良要因判定システムの初期導入をする。つまり、必要な計測装置５を取り付けて基板実装ラインを構築する。この例では、ラインＡは、印刷装置１と検査装置２とマウンタ４とリフロー炉７とを含む。ラインＢは、印刷装置１と検査装置２とマウンタ４と検査装置５とリフロー炉７とを含む。しかるのち、それらの装置１〜７を基板実装ライン統括コンピュータ１０とＬＡＮで接続するとともに、その基板実装ライン統括コンピュータ１０をアプリケーションサーバ２０に接続可能とする。この接続は、図１４に示される第１又は第２の接続形態のいずれでもよい。
【０１９３】
次いで、オペレータによるアプリケーションサーバ２０への簡単な契約申し込みを行う。この申込は、電話、ファックス、インターネット等を使用して行うことができる。このとき締結されるサービス契約の内容は、かなり大まかなものでよい。この例では、サービス契約情報が、各基板実装ラインを基本単位として作成され、かつ適用基板実装ライン統括コンピュータ識別情報、基板実装ライン識別情報、そのラインで使用されるアプリケーションプログラム識別情報、登録可能デバイス数、変更可能デバイス数の各情報を含むものとされている。こうして締結されたサービス契約情報は、アプリケーションサーバ２０内の顧客データベース２０ｃに登録される。
【０１９４】
次いで、顧客側のマンマシンインタフェースの所定操作に対応して、基板実装ライン統括コンピュータ１０は、アプリケーションサーバ２０から『サービス契約情報』をダウンロードすると共に、この『サービス契約情報』に規定されているアプリケーションプログラム（サービスプログラムＳＰ）を、アプリケーションサーバ２０からダウンロードする。このとき、ダウンロードされるアプリケーションプログラムとしては、段取り管理、経時変動管理、不良要因推定のいずれかの用途、又はこれらを組み合わせた用途に使用可能なプログラム等が想定される。
【０１９５】
次いで、基板実装ライン統括コンピュータ１０は、ダウンロードされた『サービス契約情報』に基づいて、当該アプリケーションプログラムが適用される基板実装ライン並びにそのラインのデバイス構成（装置構成）を定義すると共に、定義されたデバイス構成をアプリケーションサーバ２０にアップロードする。
【０１９６】
契約情報の内容とプログラムのラインへの作用の仕方の説明図が図１７に示されている。この例では、アプリケーションサーバ２０には、特定の顧客に対して２種類のサービス契約（図中、サービス契約α、サービス契約βと記す）が保存されている。一方、顧客側には、２台の基板実装ライン統括コンピュータ（図中、ＵＳクライアント１号、ＵＳクライアント２号と記す）１０が設けられている。第１の基板実装ライン統括コンピュータ（ＵＳクライアント１号）は、３系統の基板実装ライン（ラインＡ，ラインＢ，ラインＣ）を統括制御する。第２の基板実装ライン統括コンピュータ（ＵＳクライアント２号）は、２系統の基板実装ライン（ラインＤ，ラインＥ）を統括制御する。図に矢印で示されるように、サービス契約αに関しては、５個のサービス契約情報（ラインＡにＳＰ(1)、ラインＡにＳＰ(2)、ラインＢにＳＰ(1)、ラインＣにＳＰ(3)、ラインＤにＳＰ(4)）が含まれており、サービス契約βに関しては、１個のサービス契約情報（ラインＥにＳＰ(4)）が含まれている。ここで、ＳＰとはサービスプログラムの略である。各サービス契約情報には、図示するように、『契約番号』、『使用プログラムに関するプログラムＩＤ』、『使用プログラムに関するプログラムオプション』、『プログラム適用対象のラインＩＤ』、『プログラム適用対象のラインへの最大登録デバイス数（装置数）』、『プログラム適用対象のラインへの変更可能デバイス数（装置数）』、『当該契約の利用可能期間』、『プログラム実行マシンＩＤ』、『当該情報の有効期間』が含まれている。後述するように、これらの情報に基づいて、プログラムの実行を抑制することができる。ここで言う『プログラムの実行を抑制』とは、(1) 対象デバイスをラインによって制限すること、(2) 実行可能期間を制限すること、(3) プログラム実行マシンを制限すること、(4) サーバとのデータ交換（課金情報の送信）を実施しないとプログラムの起動を制限すること、等を意味している。
【０１９７】
サービス契約情報の詳細が図２０に表にして示されている。同図から明らかなように、サービス契約情報には、『サービス契約ＩＤ番号』、『サービス契約名』、『利用可能期間開始日』、『利用可能期間終了日』、『クライアントＩＤ』、『プログラムＩＤ』、『ＳＰオプション文字列』、『適用ラインＩＤ』、『最大登録デバイス数』、『デバイス登録変更許容数』、『本情報の有効期間』が含まれている。
【０１９８】
『サービス契約ＩＤ番号』は、サーバで顧客情報と対応づけて管理されるサービス契約を特定する番号である。『サービス契約名』は、表示名のことである。『利用可能期間開始日』は、契約上アプリケーションプログラムの実行が許可される期間の開始日のことである。『利用可能期間終了日』は、契約上アプリケーションプログラムの実行が許可される期間の終了日のことである。『クライアントＩＤ』は、アプリケーションプログラムを実行することが許可されたユーザサイドのライン統括コンピュータのＩＤのことである。『プログラムＩＤ』は、この契約で利用することができるアプリケーションプログラムを指定するＩＤのことである。『ＳＰオプション文字列』は、アプリケーションプログラムで読み込まれオプション設定（特定機能のＯＮ／ＯＦＦ）に用いられる文字列のことである。フォーマットはユーザアプリケーションプログラムに依存する。『適用ラインＩＤ』は、本契約の対象である基板実装ラインを示すＩＤのことである。『最大登録デバイス数』とは、本契約の適用される基板実装ラインに登録されたデバイス数合計の制限値のことである。『デバイス登録変更許容数』は、一旦アプリケーションプログラムを開始した後に、構成の変更を許容するデバイス数のことである。『本情報の有効期間』は、サーバからユーザサイドのライン統括コンピュータにこの契約情報が取得されてからの有効期間のことである。この有効期間が切れるまでにサーバとデータ交換を行い、更新を行わない場合、基板実装ライン統括コンピュータのソフトウェアはアプリケーションプログラムの実行を禁止する。ここで、『０』日とされている場合、有効期間を設けないことを意味するものとする。
【０１９９】
ラインのデバイス構成について言うと、図１７において、ラインＡ，Ｄ，Ｅはデバイス構成が同一であって、クリーム半田印刷装置１，検査装置２，マウンタ４，検査装置５，リフロー炉７，検査装置８とを有する。ラインＢとラインＣとでは、基本的なデバイス構成は変わらないが、マウンタ４と検査装置８とが両者で兼用されている点が他と異なるものである。
【０２００】
次いで、アプリケーションサーバ２０は、基板実装ライン統括コンピュータ１０からアップロードされた上記デバイス構成に基づいて、あらかじめ用意されたデバイスドライバ群の中から必要なデバイスドライバを検索する。
【０２０１】
次いで、基板実装ライン統括コンピュータ１０は、検索されたデバイスドライバをアプリケーションサーバからダウンロードして、各デバイスに設定する。より具体的には、サービス契約情報に含まれているクライアント識別情報を有する基板実装ライン統括コンピュータ１０が、サービス契約情報のライン識別情報とプログラム識別情報と登録可能デバイス数とから、そのアプリケーションプログラムが適用される基板実装ライン及びその基板実装ラインの構成デバイスを定義すると共に、アプリケーションプログラムと適用対象デバイスとの間の入出力対応関係を設定する。
【０２０２】
基板実装ラインの各構成装置とサービスプログラム（アプリケーションプログラム）との入出力インタフェースの説明図が図１８に示されている。同図に示されるように、今仮に、基板実装ライン統括コンピュータ１０に、３個のアプリケーションプログラム（ラインＡ用のプログラム(1)、ラインＡ用のプログラム(2)、ラインＢ用のプログラム(2)）がダウンロードされたものと想定する。この場合、各プログラムには、具体的デバイスは指定せずに、論理的な変数名によってデータを取得するように記述されている。すると、クライアントプラットフォーム（ＰＦ）は、プログラムの適用対象ラインに含まれるデバイスから、指定された変数名のデータを取得できるデバイスを検索し、また検索されたデバイスから取得されたデータをプログラムに引き渡す。デバイスドライバ（１）〜（４）は自身でも論理的な変数名を保有しており、デバイス（１）〜（４）と通信を行ってデータを取得し、取得したデータを自身の論理的な変数名にマップする。これにより、アプリケーションプログラムと適用対象デバイスとの間の入出力対応関係の自動セットアップが可能となる。すなわち、顧客は、契約時に詳細な基板実装ラインの構成を把握している必要がなく、また実装ラインの構成変更があっても契約をし直す必要がない。また、顧客は、基板実装ライン構成を一度登録しておくだけで、サービスプログラムのインストール時に、サービスプログラムが必要とするデバイスをいちいち指定する必要がない。また、顧客は、実装ライン構成が変更されても、登録しておいた実装ライン構成を修正するだけで、すべてのサービスプログラムの設定をいちいち変更する必要がない。
【０２０３】
一方、基板実装ラインへの所定のアプリケーションプログラム導入後、当該基板実装ラインにおいてデバイス構成の変更が生じた場合には、基板実装ライン統括コンピュータ１０は、デバイス構成の変更範囲が当初の『サービス契約情報』に含まれる変更可能デバイス数の範囲内であるときには、契約条件を変更せずに、当該ラインで使用されるデバイス構成を変更すると共に、変更されたデバイス構成に対応するデバイスドライバを設定し、さらにアプリケーションプログラムと変更後の適用デバイスとの間のデータ入出力対応関係の再設定を行う。変更されたデバイス構成に対応するデバイスドライバを設定できないときには、基板実装ライン統括コンピュータ１０はアプリケーションサーバ２０に対して当該変更後のデバイス構成をアップロードし、アプリケーションサーバ２０はアップロードされたデバイス構成に基づいて必要なデバイスドライバを検索する。基板実装ライン統括コンピュータ１０はアプリケーションサーバ２０から検索されたデバイスドライバをダウンロードし、各デバイスに再設定する。
【０２０４】
基板実装ラインへの所定のアプリケーションプログラム導入後、基板実装ライン統括コンピュータ１０は、所定のサイクル期間で当該契約に基づくアプリケーションプログラムの利用実績データをアプリケーションサーバ２０にアップロードする。アプリケーションサーバ２０がこの利用実績データを検査して利用可能期間内であれば、利用実績データに基づき課金条件に従って課金を行い、当該サービス契約に基づいて基板実装ライン統括コンピュータに最新のアプリケーションプログラムのダウンロードを可能とする。利用期間が過ぎていれば前記課金と追加すべき課金情報と契約更新情報とを基板実装ライン統括コンピュータ１０に送信して、契約が更新されるまで基板実装ライン統括コンピュータによる最新のアプリケーションプログラムのダウンロードを禁止状態とする。
【０２０５】
基板実装ライン統括コンピュータ１０は、当該アプリケーションプログラムの利用実績データとして、アプリケーションプログラムの総実行時間、総待機時間、特定アルゴリズムの動作回数、動作結果の表示回数、基板処理枚数、特定基板の抽出枚数をこれらの項目別にあらかじめデータ収集、記憶させておく。アプリケーションサーバはこれらの利用実績データを単独で、或いは組み合わせて課金対象として所定の課金条件に従って多様な重量課金を行う。
【０２０６】
アプリケーションサーバ２０は、アプリケーションプログラム利用可能期間と当該契約有効期間との両方の契約情報に基づいて、当該基板実装ライン統括コンピュータに対する課金制御並びに最新アプリケーションプログラムのダウンロード制御を行う。
【０２０７】
以上述べたアプリケーションサーバ２０と基板実装ライン統括コンピュータ１０との間における情報交換の概要が図１９にまとめて示されている。すなわち、先ず、最初の段階では、アプリケーションサーバ２０から基板実装ライン統括コンピュータ１０へとクライアントサービス契約情報のダウンロードが行われる。続いて、第２の段階では、クライアント側が必要とするサービス又はデバイス構成が、基板実装ライン統括コンピュータ１０からアプリケーションサーバ２０へとアップロードされる。続く、第３の段階では、最新のサービスプログラム又は最新のデバイスドライバが、アプリケーションサーバ２０から基板実装ライン統括コンピュータ１０へとダウンロードされる。続く、第４の段階では、課金情報を含むサービス利用履歴が、基板実装ライン統括コンピュータ１０からアプリケーションサーバ２０へと間欠的にアップロードされる。
【０２０８】
次に、リムーバブルメディア１２を介したアプリケーションサーバ２０とライン統括コンピュータ１０との間における情報交換の説明図が図２２に、またリムーバブルメディア１２を介したアプリケーションサーバとライン統括コンピュータとの間のデータ交換処理が図２３に示されている。
【０２０９】
図２３において、処理が開始されると、先ず、基板実装ライン統括コンピュータ１０においてステップ５０１が実行されて、(1) 保有しているアプリケーションプログラムのリスト、(2) 保有しているデバイスドライバのリスト、(3) 貯えられている未送信のサービス利用履歴がリムーバブルメディア１２に書き込まれる。こうしてデータの書き込まれたリムーバブルメディア１２は、ユーザサイドの作業者等により中継コンピュータ１１へと運ばれる。
【０２１０】
続いて、中継コンピュータ１１において、ステップ５０２が実行されて、(1) 保有しているアプリケーションプログラムのリスト、(2) 保有しているデバイスドライバのリスト、(3) 貯えられている未送信のサービス利用履歴が、リムーバブルメディア１２から読み込まれる。続いてインターネットを介して接続されたアプリケーションサーバ２０において、ステップ５０３が実行されて、顧客情報を照合し、顧客に対応したサービス契約情報を作成し、ダウンロードさせる処理が実行される。
【０２１１】
続いて、中継コンピュータ１１において、ステップ５０４が実行されて、取得したサービス契約情報をリムーバブルメディア１２に書き込む処理が実行される。続いて、中継コンピュータ１１において、ステップ５０５が実行されて、サービス契約情報と、(1) 保有しているアプリケーションプログラムのリストと、(2) 保有しているデバイスドライバのリストから、使用されるアプリケーションプログラム及びデバイスドライバを特定し、現在使用しているプログラム／デバイスドライバと新規に必要なプログラム／デバイスドライバ情報をサーバに送信する処理が実行される。
【０２１２】
続いて、アプリケーションサーバ２０において、ステップ５０６が実行されて、中継コンピュータ１１から問い合わせられたプログラムについて、新規に取得すべきもの、若しくはクライアントの持つ現行のものよりも新しいバージョンのものがあるかどうかが検索される。この検索の結果、該当プログラムがあると判定されれば、続いて中継コンピュータ１１においてステップ５０８が実行され、サーバから通知されたダウンロードパスから、更新すべきプログラムをダウンロードし、リムーバブルメディアに書き込む処理が実行される。続いて、同中継コンピュータ１１においてステップ５０９が実行され、貯えられている未送信のサービス利用履歴をサーバに送信する処理が実行される。
【０２１３】
一方、ステップ５０６に続いて、ステップ５０７の判定処理において該当プログラムなしと判定されれば、続いて中継コンピュータ１１においてステップ５０９が実行され、先ほどと同様なサーバへの送信処理が実行される。続いて、アプリケーションサーバ２０においてステップ５１０が実行され、サービス利用履歴を受信し、顧客の契約情報と関連づけて保存する処理が実行される。さらに、ステップ５１１が実行されて、サービス利用履歴に振られたＩＤ番号を付けてその受領確認を通信クライアント（中継コンピュータ）１１に返信する処理が実行される。
【０２１４】
続いて、中継コンピュータ１１においてステップ５１２が実行され、受け取ったサービス利用履歴の受領確認をリムーバブルメディア１２に書き込む処理が実行される。続いて、基板実装ライン統括コンピュータ１０において、ステップ５１３が実行されて、サービス契約情報をリムーバブルメディア１２より読み込む処理が実行される。続いて、ステップ５１４が実行されて、中継コンピュータ１１がダウンロードしたアプリケーションプログラム及びデバイスドライバをリムーバブルメディア１２から読み込む処理が実行される。さらにステップ５１５が実行されて、受領確認をリムーバブルメディア１２より読み出し対応する送信済サービス利用履歴を消去する処理が実行される。
【０２１５】
以上の処理ステップ５０１〜５１５が実行される結果、リムーバブルメディア１２を介する統括コンピュータ１０と中継コンピュータ１１とのやりとりは２回だけであるものの、実質的には、図２２に示されるように、等価的な都度情報交換が行われる。すなわち、第１の段階では、サービス契約情報がアプリケーションサーバ２０から中継コンピュータ１１及びリムーバブルメディア１２を経由してライン統括コンピュータ１０へと送られる。第２の段階では、サービス／デバイス構成が、ライン統括コンピュータ１０からリムーバブルメディア１２及び中継コンピュータ１１を経由してアプリケーションサーバ２０へと送られる。第３の段階では、最新のサービスプログラム／デバイスドライバが、アプリケーションサーバから中継コンピュータ１１及びリムーバブルメディア１２を経由してライン統括コンピュータ１０へと送られる。第４の段階では、サービス利用履歴（課金情報）が、ライン統括コンピュータ１０からリムーバブルメディア１２及び中継コンピュータ１１を経由してアプリケーションサーバ２０へと送られる。
【０２１６】
基板実装ライン統括コンピュータ１０にダウンロードされたアプリケーションプログラムは、一定の条件が成立した場合に限り実行される。この制限付きアプリケーション起動処理の詳細が図２１のフローチャートに示されている。
【０２１７】
同図において、処理が開始されると、先ず、ステップ６０１が実行されて、契約情報の有効期間を確認する。続いてステップ６０２が実行されて、確認結果が判定される。ここで、確認結果が『ＮＧ』であれば、ステップ６１１へ移って、起動不可の旨をユーザに通知する。
【０２１８】
これに対して、ステップ６０２で『ＯＫ』とされれば、続いてステップ６０３が実行されて、サービス契約情報に記述されたアプリケーションプログラムをインスタンス化する。続いてステップ６０４が実行されて、契約情報を参照し、アプリケーションプログラムの作用対象たるラインを特定する。続いてステップ６０５が実行されて、ラインに登録されているデバイス数を契約情報に記述された制限数と照合する。続いてステップ６０６が実行されて、照合結果が判定される。ここで照合結果が『ＮＧ』であれば、ステップ６１１へ移って、起動不可の旨をユーザに通知する。
【０２１９】
これに対して、ステップ６０６の判定において『ＯＫ』と判定されれば、続いてステップ６０７が実行されて、特定したラインに属するデバイス（装置）から、アプリケーションが必要とするデータを取得し得るデバイスを検索する。続いて、ステップ６０８が実行されて、検索結果が判定される。ここで、判定結果が『ＮＧ』となれば、ステップ６１１が実行されて、起動不可の旨がユーザに通知される。
【０２２０】
これに対して、ステップ６０８の判定において『ＯＫ』とされれば、続いてステップ６０９が実行されて、アプリケーションのデータ取得先として見つかったデバイスを設定する。続いて、ステップ６１０が実行されて、アプリケーションプログラムの起動が行われる。このように、この実施形態においては、アプリケーションプログラムを起動するについて、３段階における制限を設け、ユーザサイドにダウンロードされたアプリケーションプログラムの実行をサーバ側から間接的にコントロール可能としているのである。尚、以上の例では、図２０の表中に記された「本情報の有効期間」を利用してアプリケーションプログラムの実効を制限（ＳＴ６０１）したが、同表中の「利用可能期間開始日」及び「利用可能期間終了日」を利用して、それらの期間に限りアプリケーションプログラムの実行を許可するようにしてもよい。
【０２２１】
基板実装ラインの運転においては、実際に基板実装ラインを稼働させ、そのときに検査装置や計測装置から得られる情報に基づき実装不良要因判定プログラムを実行して実装不良要因判定を行う。これにより、基板実装ラインを構築する各装置のパラメータの調整などを行い、不良品の発生率を抑制した安定したシステムを構築することができる。また、基板実装ラインの保守を行う必要が生じた場合には、アプリケーションサーバ２０にアクセスしてソフトウェアダウンロードの要求を行い、実装不良要因判定プログラムおよび通信ドライバの自動追加・更新を行う。その後、基板実装ラインの運転を行う。このとき実装不良要因判定は、上記の保守によりセットアップした新たな実装不良要因判定プログラム及び通信ドライバに基づいて行う。
【０２２２】
このように、基板実装ラインの運転と基板実装ラインの保守を適宜のタイミングで繰り返し実行する。そして、アプリケーションサーバ２０に登録する実装不良要因判定プログラムや通信ドライバ等を逐次更新し、バージョンアップしておくと、各基板実装ライン統括コンピュータ１０は、アプリケーションサーバ２０にアクセスして最新の実装不良要因判定プログラム等の提供を受けることにより、最新の実装技術ノウハウに基づいて、不良要因を判定し、生産ラインの製造品質を向上させることができる。そして、基板実装ラインの構築および保守フェーズにおいては、実装不良要因判定プログラムおよび通信ドライバの自動更新機能により、ソフトウェアの保守管理や設定の手間を軽減することができる。
【０２２３】
以上のように、本実施の形態では、アプリケーションサーバ２０を中心として複数の基板実装ラインを基板実装ライン統括コンピュータ１０を介してインターネットで結び、基板実装ライン個別の構成に実装不良要因判定プログラムを適合させ（顧客データベース２０ｃに格納した契約情報にしたがってサービス設定情報の雛形を変更することにより行う）、なおかつ、それを自動的に行うことができる。これにより多くの基板実装ラインに実装不良要因判定プログラムを導入しつつ、導入時や導入後のプログラムの更新の手間・コストを削減することが可能となる。
【０２２４】
加えて、顧客は製造ラインの装置に対応したドライバや契約したアプリケーションプログラムの取得・セットアップ作業を行う必要がなく、結果ソフトウェアの切替や製造ラインの機器構成の変更時にプログラムのセットアップに伴うトラブルを回避できる。顧客は、特に意識することなく最新かつ最適なプログラムおよびドライバを使用できる。サービス提供者は、サポート・保守のための人件費を抑制でき、ソフトウェア提供にかかるコストが低減される。サービス提供者は、ＦＡの生産ラインの分野では個別の装置構成に依存しないアプリケーションを構築できることが多い。特に基板実装技術分野では、非常に多くの基板の種類・型式に対応できるアプリケーションを構築することができる。顧客は契約時に、アプリケーションの作用対象たるラインを構成する装置構成を完全にＦｉｘする必要がない。顧客は契約の範囲内でアプリケーションプログラムの作用する製造ラインの装置構成を、サーバと接続することなく変更することができる。サーバ接続なしに装置構成を変更できることは、特に基板実装分野におけるラインでは基板の多種少量生産に対応できる。サービス提供者は、顧客にアプリケーションプログラムの作用対象装置の変更を許容しながらも、その許容範囲を契約内容として顧客ごとに設定することができる。サービス提供者は、クライアントマシンからアップロードされる課金行為実行履歴を元に、従量課金や定額課金など課金形態を顧客ごとに柔軟に行うことができる。顧客は、実質的なサービス供与量に応じた納得性の高い課金を受けることができる。顧客は、サービスの提供を受けるにあたり製造現場にインターネット接続環境を整備する必要がない。製造ラインの装置から出力される製造情報など顧客にとって秘匿性の高い情報がインターネットから漏洩する危険を完全に回避できる。
【図面の簡単な説明】
【０２２５】
【図１】基板実装ライン統括コンピュータとアプリケーションサーバとを結ぶネットワークの系統図である。
【図２】基板実装ライン統括コンピュータ並びにアプリケーションサーバの構成を説明するための機能ブロック図である。
【図３】基板実装ラインの各装置の内部構成を説明するための機能ブロック図である。
【図４】基板実装ライン統括コンピュータ内のデータストレージの説明図である。
【図５】ソルダーペースト印刷検査装置における作業終了イベント処理のフローチャートである。
【図６】装着部品検査装置における作業終了イベント処理を示すフローチャートである。
【図７】リフロー炉における作業終了イベント処理を示すフローチャートである。
【図８】リフローはんだ検査装置における作業終了イベント処理を示すフローチャートである。
【図９】実装不良要因判定結果の表示例を示す画面説明図である。
【図１０】サービス設定情報並びにサービスパラメータの説明図である。
【図１１】サービスコンフィグレーションの動作を示すフローチャートである。
【図１２】アプリケーションサーバ内のプログラムプールの説明図である。
【図１３】アプリケーションサーバ内の顧客データベースの説明図である。
【図１４】アプリケーションサーバと基板実装ライン統括コンピュータとの接続形態の説明図である。
【図１５】本発明システムのソフトウェア構成を概念的に示すブロック図である。
【図１６】契約からサービス開始の流れの説明図である。
【図１７】契約情報の内容とプログラムのラインへの作用の仕方の説明図である。
【図１８】基板実装ラインの各構成装置とサービスプログラムとのインターフェイスの説明図である。
【図１９】アプリケーションサーバと基板実装統括コンピュータ間における情報交換の説明図である。
【図２０】従来のアプリケーションサービス提供方法の説明図である。
【図２１】制限付きアプリケーション起動処理を示すフローチャートである。
【図２２】リムーバブルメディアを介したアプリケーションサーバとライン統括コンピュータとの間における情報交換の説明図である。
【図２３】リムーバブルメディアを介したライン統括コンピュータとアプリケーションサーバとの間のデータ交換処理を示すフローチャートである。
【図２４】従来のアプリケーションサービス提供方法の説明図である。
【符号の説明】
【０２２６】
１  ソルダーペースト印刷装置
１ａ  ソルダーペースト印刷装置通信サーバ
１ｂ  ソルダーペースト印刷装置メカコントローラ
２  ソルダーペースト印刷検査装置
２ａ  ソルダーペースト印刷検査装置通信サーバ
２ｂ  ソルダーペースト印刷検査装置メカコントローラ
２ｃ  はんだ塗布状態計測部
２ｄ  検査判定部
２ｅ  ＣＣＤカメラ
３  はんだ塗布高さ計測装置
４  マウンタ
４ａ  マウンタ通信サーバ
４ｂ  マウンタメカコントローラ
５  装着部品検査装置
５ａ  装着部品検査装置通信サーバ
５ｂ  装着部品検査装置メカコントローラ
５ｃ  部品有無・ずれ量計測部
５ｄ  検査判定部
５ｅ  ＣＣＤカメラ
６  部品ずれ計測装置
７  リフロー炉
７ａ  リフロー炉通信サーバ
７ｂ  リフロー炉メカコントローラ
８  リフローはんだ検査装置
８ａ  リフローはんだ検査装置通信サーバ
８ｂ  リフローはんだ検査装置メカコントローラ
８ｃ  はんだ付け特徴量計測部
８ｄ  検査判定部
８ｅ  ＣＣＤカメラ
９  炉内温度計測装置
１０  基板実装ライン統括コンピュータ
１０ａ  ソルダーペースト印刷装置デバイスドライバ
１０ｂ  ソルダーペースト印刷検査装置デバイスドライバ
１０ｃ  はんだ塗布高さデバイスドライバ
１０ｄ  マウンタデバイスドライバ
１０ｅ  装置部品検査装置デバイスドライバ
１０ｆ  部品ずれ計測装置デバイスドライバ
１０ｇ  リフロー炉デバイスドライバ
１０ｈ  炉内温度計測装置デバイスドライバ
１０ｉ  リフローはんだ検査装置デバイスドライバ
１０ｊ  プログラムラウンチャ
１０ｋ  計測データストレージ
１０ｍ  実装不良要因判定部
１０ｎ  装置構成検出部
１０ｐ  構成管理部
１０ｑ  サービスコンフィグレーション
１０ｒ  リモートクライアント
１１  中継コンピュータ
１２  リムーバブルメディア
２０  アプリケーションサーバ
２０ａ  リモートサーバ
２０ｂ  プログラムプール
２０ｃ  顧客データベース
２１  ルータ
２２  インターネット
１００１  データファイル入出力
１００２  サービスマネージャ
１００３  デバイスマネージャ
１００４  デバイスデータロガー
１００５  標準プロトコルによる通信ドライバ
１１０１  通信クライアント
１１０２  データファイル入出力
２００１  通信サーバ
２００２  契約管理
２００３  デバイスドライバ検索
２００４  サービスプログラム検索
ＣＬ０  クライアントコア
ＣＬ１  通信クライアント（リモートクライアント）
ＷＢ  Ｗｅｂブラウザ
ＣＤ０  標準通信ドライバ
ＣＤ１  拡張通信ドライバ
ＤＤ０  デバイスドライバ（標準）
ＤＤ１  デバイスドライバ（拡張）
ＣＩ  契約情報
ＳＨ  サービス利用履歴
【図１】
0003612712.tif 000002
【図２】
0003612712.tif 000003
【図３】
0003612712.tif 000004
【図４】
0003612712.tif 000005
【図５】
0003612712.tif 000006
【図６】
0003612712.tif 000007
【図７】
0003612712.tif 000008
【図８】
0003612712.tif 000009
【図９】
0003612712.tif 000010
【図１０】
0003612712.tif 000011
【図１１】
0003612712.tif 000012
【図１２】
0003612712.tif 000013
【図１３】
0003612712.tif 000014
【図１４】
0003612712.tif 000015
【図１５】
0003612712.tif 000016
【図１６】
0003612712.tif 000017
【図１７】
0003612712.tif 000018
【図１８】
0003612712.tif 000019
【図１９】
0003612712.tif 000020
【図２０】
0003612712.tif 000021
【図２１】
0003612712.tif 000022
【図２２】
0003612712.tif 000023
【図２３】
0003612712.tif 000024
【図２４】
0003612712.tif 000025