(57)【特許請求の範囲】
【請求項１】
外部機器との通信により入力した撮像指令に基づいて撮像し、当該撮像により取得した画像データを前記外部機器に出力するカメラ装置を対象とし、前記カメラ装置の用途に応じた機能を実装するシステム構築装置であって、
被写体を撮像して前記画像データを取得し且つ前記外部機器と通信する機能を有しない撮像モジュールと、前記外部機器と通信する外部通信モジュールと、前記撮像モジュールおよび前記外部通信モジュールを除く第三のモジュールと、を含む異なる機能を有する３以上のモジュールは、前記撮像モジュールと前記外部通信モジュールとの間、前記撮像モジュールと前記第三のモジュールとの間、および前記外部通信モジュールと前記第三のモジュールとの間で共通化された共通信号によって互いに通信可能な通信プログラムをそれぞれ実装され、
前記カメラ装置は、３以上の前記モジュールのうち、少なくとも前記撮像モジュールおよび前記外部通信モジュールを含むように選択された複数の前記モジュールを着脱可能に連結して構成され、
前記カメラ装置を構成する複数の前記モジュールのうち少なくとも一以上の前記モジュールには、前記モジュールにそれぞれ割り当てられた機能を実行するプログラムを実装可能な回路素子が設けられ、
前記システム構築装置は、
前記カメラ装置と通信可能に接続される通信部と、
前記モジュールの前記回路素子に実装する前記プログラム、および全ての前記モジュールに実装される共通の前記通信プログラムを転送するプログラム実装部と、
を備えるカメラ装置のシステム構築装置。
【請求項２】
請求項１において、
前記システム構築装置は、
選択された前記モジュールに係る前記機能を含むモジュール情報を取得する情報取得部と、
取得した前記モジュール情報に基づいて当該モジュールの前記回路素子に実装可能な前記プログラムを選択可能に表示する表示部と、
をさらに備え、
前記プログラム実装部は、前記表示部において選択された前記プログラムを前記モジュールの前記回路素子に転送するカメラ装置のシステム構築装置。
【請求項３】
請求項２において、
前記表示部は、前記回路素子に実装可能な前記プログラムをアイコンとして表示するプログラム表示領域と、選択された前記プログラムの前記アイコンを表示する選択表示領域と、を有し、
前記プログラム表示領域から前記選択表示領域に前記アイコンをドラッグアンドドロップされた場合に、当該アイコンにより表示された前記プログラムが選択されたものとして前記選択表示領域に表示するカメラ装置のシステム構築装置。
【請求項４】
請求項３において、
前記表示部は、前記プログラムとして前記モジュールのデバイスドライバを前記プログラム表示領域に表示するカメラ装置のシステム構築装置。
【請求項５】
請求項４において、
前記モジュールの前記モジュール情報には当該モジュールの構成に係るハードウェア情報が含まれ、
前記表示部は、取得したハードウェア情報に基づいて当該モジュールに対応した前記デバイスドライバを前記プログラム表示領域に表示するカメラ装置のシステム構築装置。
【請求項６】
請求項３〜５の何れか一項において、
前記表示部は、前記カメラ装置を構成する複数の前記モジュールに前記画像データに対して画像処理を実行する画像処理モジュールが含まれる場合に、前記プログラムとして実行可能な前記画像処理を前記プログラム表示領域に表示し、前記選択表示領域に選択された前記画像処理を指定された実行順に表示するカメラ装置のシステム構築装置。
【請求項７】
請求項６において、
前記選択表示領域に一以上の前記画像処理が選択された場合に、当該画像処理を指定された実行順で実行したものと仮定して、実行後の前記画像データをシミュレーションするシミュレーション部をさらに備えるカメラ装置のシステム構築装置。
【請求項８】
請求項２〜７の何れか一項において、
前記モジュールに対して選択された前記プログラムについて前記モジュール情報に基づいて適正判定する判定部をさらに備えるカメラ装置のシステム構築装置。
【請求項９】
請求項１〜８の何れか一項において、
前記通信部は、前記外部通信モジュールが前記外部機器と通信する通信手段によって、前記カメラ装置と通信可能に接続され、
るカメラ装置のシステム構築装置。
【請求項１０】
請求項１〜９の何れか一項において、
前記外部通信モジュールは、通信可能に接続される前記外部機器によって規定される通信プロトコルまたは通信規格に準拠し、且つ規定のデータ伝送路に対応した通信手段によって前記外部機器との間で通信可能な外部通信機能を有し、
前記プログラム実装部は、前記外部通信機能を実行する前記プログラムを前記モジュールの前記回路素子に転送するカメラ装置のシステム構築装置。
【請求項１１】
請求項１〜１０の何れか一項において、
前記プログラム実装部は、前記カメラ装置を構成する複数の前記モジュールに前記画像データに基づいて所定の動作を自動で行う自律動作機能を有する自律動作モジュールが含まれている場合に、前記自律動作機能を実行する前記プログラムを前記モジュールの前記回路素子に転送するカメラ装置のシステム構築装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体を撮像して画像データを記録するカメラ装置において、当該カメラ装置の用途に応じた機能を実装するシステム構築装置に関するものである。
【背景技術】
【０００２】
近年、カメラ装置は、ＣＣＤ（Charge Coupled Device）やＣＭＯＳ（Complementary Metal Oxide Semiconductor）等の撮像素子を有するデジタルカメラの普及に伴い、様々な分野で使用されている。例えば、特許文献１には、工業分野に適用されたＦＡ用カメラ装置が開示されている。このＦＡ用カメラ装置によれば、電子部品装着装置において、取得した画像データによって基板認識を行い、部品を吸着したヘッドの位置決め精度の向上を図っている。このようなカメラ装置では、用途の多様化に伴って、要求される機能および性能も様々である。そして、要求された機能について汎用のカメラ装置では対応できない場合に、その機能を実装した専用のカメラ装置が必要となる。しかし、所定の機能に特化した専用のカメラ装置は、その製作に多くの時間を要し、汎用のカメラ装置と比較してコストが高くなることが懸念される。
【０００３】
また、カメラ装置は、設置した後に用途や要求性能が変更されることがある。そうすると、これに伴う修正に多くの時間を要するため、用途変更などに即時に対応できない上に、修正コストがかかるという問題点があった。例えば、特許文献２には、撮像素子が設けられた撮像モジュールをカメラ本体に着脱可能に連結して構成されるカメラが開示されている。これにより、例えば、カメラ装置に要求される撮像範囲や分解能が変更されても撮像モジュールの交換により、ある程度の変更に対応することができるものと考えられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−２９４９９２号公報
【特許文献２】特開２００４−３０４６０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、工業分野を始め様々な分野で使用されるカメラ装置には、撮像モジュールの交換の他にも画像処理の種類や処理機能の変更の要請がある。さらには、通信を行う外部機器の変更によってはインターフェイスを修正する必要が生じ、またカメラ装置の設置場所などによっては外形寸法が制約されることもある。
【０００６】
本発明は、このような事情を鑑みてなされたものであり、種々の用途に適用可能なカメラ装置に機能を実装するカメラ装置のシステム構築装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決するために、請求項１に係る発明によると、カメラ装置のシステム構築装置は、外部機器との通信により入力した撮像指令に基づいて撮像し、当該撮像により取得した画像データを前記外部機器に出力するカメラ装置を対象とし、前記カメラ装置の用途に応じた機能を実装する。被写体を撮像して前記画像データを取得し且つ前記外部機器と通信する機能を有しない撮像モジュールと、前記外部機器と通信する外部通信モジュールと、前記撮像モジュールおよび前記外部通信モジュールを除く第三のモジュールと、を含む異なる機能を有する３以上のモジュールは、前記撮像モジュールと前記外部通信モジュールとの間、前記撮像モジュールと前記第三のモジュールとの間、および前記外部通信モジュールと前記第三のモジュールとの間で共通化された共通信号によって互いに通信可能な通信プログラムをそれぞれ実装される。前記カメラ装置は、３以上の前記モジュールのうち、少なくとも前記撮像モジュールおよび前記外部通信モジュールを含むように選択された複数の前記モジュールを着脱可能に連結して構成され、前記カメラ装置を構成する複数の前記モジュールのうち少なくとも一以上の前記モジュールには、前記モジュールにそれぞれ割り当てられた機能を実行するプログラムを実装可能な回路素子が設けられ、前記システム構築装置は、前記カメラ装置と通信可能に接続される通信部と、前記モジュールの前記回路素子に実装する前記プログラム、および全ての前記モジュールに実装される共通の前記通信プログラムを転送するプログラム実装部と、を備える。
【０００８】
請求項２に係る発明によると、請求項１において、前記システム構築装置は、選択された前記モジュールに係る前記機能を含むモジュール情報を取得する情報取得部と、取得した前記モジュール情報に基づいて当該モジュールの前記回路素子に実装可能な前記プログラムを選択可能に表示する表示部と、をさらに備え、前記プログラム実装部は、前記表示部において選択された前記プログラムを前記モジュールの前記回路素子に転送する。
【０００９】
請求項３に係る発明によると、請求項２において、前記表示部は、前記回路素子に実装可能な前記プログラムをアイコンとして表示するプログラム表示領域と、選択された前記プログラムの前記アイコンを表示する選択表示領域と、を有し、前記プログラム表示領域から前記選択表示領域に前記アイコンをドラッグアンドドロップされた場合に、当該アイコンにより表示された前記プログラムが選択されたものとして前記選択表示領域に表示する。
【００１０】
請求項４に係る発明によると、請求項３において、前記表示部は、前記プログラムとして前記モジュールのデバイスドライバを前記プログラム表示領域に表示する。
【００１１】
請求項５に係る発明によると、請求項４において、前記モジュールの前記モジュール情報には当該モジュールの構成に係るハードウェア情報が含まれ、前記表示部は、取得したハードウェア情報に基づいて当該モジュールに対応した前記デバイスドライバを前記プログラム表示領域に表示する。
【００１２】
請求項６に係る発明によると、請求項３〜５の何れか一項において、前記表示部は、前記カメラ装置を構成する複数の前記モジュールに前記画像データに対して画像処理を実行する画像処理モジュールが含まれる場合に、前記プログラムとして実行可能な前記画像処理を前記プログラム表示領域に表示し、前記選択表示領域に選択された前記画像処理を指定された実行順に表示する。
【００１３】
請求項７に係る発明によると、請求項６において、前記選択表示領域に一以上の前記画像処理が選択された場合に、当該画像処理を指定された実行順で実行したものと仮定して、実行後の前記画像データをシミュレーションするシミュレーション部をさらに備える。
【００１４】
請求項８に係る発明によると、請求項２〜７の何れか一項において、前記モジュールに対して選択された前記プログラムについて前記モジュール情報に基づいて適正判定する判定部をさらに備える。
【００１５】
請求項９に係る発明によると、請求項１〜８の何れか一項において、前記通信部は、前記外部通信モジュールが前記外部機器と通信する通信手段によって、前記カメラ装置と通信可能に接続される。
請求項１０に係る発明によると、請求項１〜９の何れか一項において、前記外部通信モジュールは、通信可能に接続される前記外部機器によって規定される通信プロトコルまたは通信規格に準拠し、且つ規定のデータ伝送路に対応した通信手段によって前記外部機器との間で通信可能な外部通信機能を有する。前記プログラム実装部は、前記外部通信機能を実行する前記プログラムを前記モジュールの前記回路素子に転送する。
請求項１１に係る発明によると、請求項１〜１０の何れか一項において、前記プログラム実装部は、前記カメラ装置を構成する複数の前記モジュールに前記画像データに基づいて所定の動作を自動で行う自律動作機能を有する自律動作モジュールが含まれている場合に、前記自律動作機能を実行する前記プログラムを前記モジュールの前記回路素子に転送する。
【発明の効果】
【００１６】
請求項１に係る発明によると、カメラ装置は、異なる機能を有する３以上のモジュールから選択された複数のモジュールを着脱可能に連結して構成される。そのため、このようなカメラ装置によれば、複数のモジュールを要求に応じて連結することが可能となり、種々の用途に容易に適用することができる。また、カメラ装置を構成する複数のモジュールのうち少なくとも一以上のモジュールには、プログラムを実装可能な回路素子が設けられている。この回路素子は、広義のＰＬＤ（Programmable Logic Device）やＡＳＩＣ（Application Specific Integrated Circuit）、マイコンなどに相当するものである。ＰＬＤおよびＡＳＩＣは、論理回路を定義されることによって特定の処理（プログラム）を実行可能となる集積回路である。このように、複数のモジュールにより構成されるカメラ装置は、要求される機能を発揮するためには、モジュールに設けられた回路素子にプログラムを実装して、カメラ装置としてのシステムを構築する必要がある。
【００１７】
そこで、本発明においては、カメラ装置と通信可能に接続される通信部を介して、プログラム実装部がモジュールの回路素子に実装するプログラムを転送する構成としている。これにより、カメラ装置は、実装されたプログラムによって各モジュールにそれぞれ割り当てられた機能を発揮するようにシステムが構築される。よって、従来と比較して設計上の自由度が高く、要求される機能や性能に対応可能なカメラ装置を構成することができる。また、複数のモジュールは、モジュール単位での設計や検査が可能であり、既存のモジュールを流用することができる。これにより、専用のカメラ装置を製作する場合と比較して、開発工数を大幅に削減することができる。
【００１８】
請求項２に係る発明によると、表示部がモジュール情報に基づいて回路素子に実装可能なプログラムを選択可能に表示するものとしている。ここで、カメラ装置は、用途などに応じて複数のモジュールを選択して構成されるため、その組み合わせが決定するまでは、どのようなハードウェア構成となるか特定されない。そこで、先ず、カメラ装置を構成する所定のモジュールの組み合わせが決定した場合に、情報取得部により各モジュールがどのような機能を有するのかなどのモジュール情報を取得する。モジュール情報の取得方法については、システム構築装置に連結されたカメラ装置と通信することにより取得してもよいし、ユーザーにより決定したモジュールの組み合わせを入力されることにより取得してもよい。そして、表示部がこのモジュール情報に基づいてプログラムを表示することにより、プログラムの選択が補助されて容易となる。よって、カメラ装置のシステム構築を簡易化することができる。
【００１９】
請求項３に係る発明によると、モジュールに設けられた回路素子に実装可能なプログラムは、表示部にアイコンとして表示される。そして、このアイコンをプログラム表示領域から選択表示領域にドラッグアンドドロップすることで、容易にプログラムの選択をすることができる。このような構成においては、反対に選択表示領域からプログラム表示領域にドラッグアンドドロップすることで、プログラムの選択を解除することができる。このように、ドラッグアンドドロップのような簡易なマウスジェスチャーにプログラムの選択または解除を行う機能を割り当てることにより、カメラ装置の各モジュールへのプログラムの実装を簡易化することができる。
【００２０】
請求項４に係る発明によると、表示部は、プログラムとしてモジュールのデバイスドライバをプログラム表示領域に表示するものとしている。カメラ装置を構成するモジュールには、当該モジュールが有するハードウェアを駆動させることにより、割り当てられた機能を実行するものがある。そのため、表示部がモジュールに対応したデバイスドライバを表示することにより、必要に応じたプログラムの選択を簡易化することができる。また、表示部においては、デバイスドライバのプログラム名を直接的に表示してもよいし、デバイスドライバに対応するモジュール名を表示するようにしてもよい。
【００２１】
請求項５に係る発明によると、表示部は、ハードウェア情報に基づいてモジュールに対応したデバイスドライバをプログラム表示領域に表示するものとしている。これにより、デバイスドライバの選択を促すようにアシストすることができるので、システム構築におけるプログラムの選択が容易となる。
【００２２】
請求項６に係る発明によると、表示部は、画像処理モジュールが実行可能な画像処理をプログラム表示領域に表示するものとしている。カメラ装置には、撮像して取得した画像データを外部装置に転送する前に、画像データに対して所定の画像処理を実行するために、画像処理モジュールが含まれるように構成されることがある。そこで、画像処理モジュールが実行可能な画像処理をプログラム表示領域に表示することで、画像処理の選択を簡易化することができる。また、画像処理モジュールは、画像データに対して複数の画像処理を所定の順序で実行することがある。これは、同様の画像処理を実行する場合においても、その実行順によっては結果が異なるためである。そこで、選択表示領域では、選択された複数の画像処理を実行順に表示するようにしている。これにより、画像処理の実行順を目視で確認することができるので、画像処理の順序を誤って指定することを防止できる。
【００２３】
請求項７に係る発明によると、仮想的に画像処理を実行するシミュレーション部を有するものとしている。画像処理モジュールが実行可能な画像処理としては、画像データの二値化やフィルタリングなどがある。さらに、上述したように、複数の画像処理が選択された場合には、その実行順によって結果が異なることがある。そのため、シミュレーション部により選択された画像処理を指定された実行順で実行したものとして、仮想的な結果をシミュレーションする。これにより、現在のところ選択されている画像処理が、画像処理モジュールに要求される画像処理として妥当であるかを判断することができる。これにより、適切な画像処理を容易に選択することができるので、カメラ装置のシステム構築に要する工数を低減できる。また、シミュレーション部は、仮想的な画像処理の結果を得るためのものであり、画像処理を実行する対象の画像データとしては、連結されているカメラ装置が撮像したものでもよいし、予め用意されているサンプルとしてもよい。
【００２４】
請求項８に係る発明によると、判定部により選択されたプログラムの適正を判定するものとしている。表示部にはモジュールの回路素子に実装可能なプログラムを選択可能に表示しているが、上記のような構成とすることで、選択されたプログラムが実装される前に適正を判定することができる。これにより、誤ったプログラムを選択することを確実に防止することができる。
【００２５】
請求項９に係る発明によると、通信部は、外部通信モジュールが外部機器と通信する通信手段によって、カメラ装置と通信可能に接続されるものとしている。ここで、外部通信モジュールは、種々の通信プロトコルや通信規格などに準拠するとともに、同軸ケーブルやＵＳＢなどのデータ伝送路に対応した通信手段を有している。そこで、外部通信モジュールの通信手段によって通信部がカメラ装置と通信する構成とすることで、外部通信モジュールに対して専用の通信手段を設ける必要がなくなりコストを低減できる。
【図面の簡単な説明】
【００２６】
【図１】実施形態におけるカメラ装置の使用状態の一例を示す概念図である。
【図２】複数のモジュールを選択的に連結して構成されたカメラ装置の模式図である。
【図３】カメラ装置とシステム構築装置を示すブロック図である。
【図４】システム構築装置における表示画面を示す図である。
【図５】画像処理のシミュレーションの状態を示す図である。（ａ）は画像処理をノイズ除去、二値化の順に実行した結果を示し、（ｂ）は画像処理を二値化、ノイズ除去の順に実行した結果を示している。
【図６】カメラ装置のシステム構築の流れを示すフローチャートである。
【図７】実施形態の第一変形態様におけるカメラ装置とシステム構築装置を示すブロック図である。
【図８】実施形態の第二変形態様におけるカメラ装置とシステム構築装置を示すブロック図である。
【発明を実施するための形態】
【００２７】
以下、本発明のカメラ装置のシステム構築装置を具体化した実施形態について図面を参照して説明する。
【００２８】
＜実施形態＞
（カメラ装置１０の構成）
先ず、本発明のシステム構築装置２０が適用されるカメラ装置１０の構成について、図１〜図３を参照して説明する。また、本実施形態において、カメラ装置１０は、電子部品装着装置１に組み込まれている構成としている。この電子部品装着装置１は、例えば、集積回路の製造工程において、プリント基板ＣＢに複数の電子部品を実装する装置である。また、プリント基板ＣＢは、クリームハンダ印刷機により電子部品の装着位置にハンダを塗布され、複数の装着装置を順に搬送されて電子部品が装着される。その後に、電子部品が装着されたプリント基板ＣＢは、リフロー炉に搬送されてハンダ付けされることにより集積回路を構成する。
【００２９】
この電子部品装着装置１は、図１に示すように、制御装置２と、カメラ装置１０を備えている。制御装置２は、ＣＰＵおよびメモリなどから構成され、電子部品装着装置１に対する指令値やカメラ装置１０およびセンサなどから出力される情報を入力する。そして、制御装置２は、これらの指令値や各種情報に基づいて、プリント基板ＣＢに電子部品が適切に装着されるように電子部品装着装置１の各軸モータや各装置などを制御する。また、本実施形態において、カメラ装置１０は、電子部品装着装置１が電子部品を装着する際に、コンベアなどの搬送装置によって規定位置まで搬送されたプリント基板ＣＢを撮像する基板カメラとして用いられている。
【００３０】
より詳細には、基板カメラであるカメラ装置１０は、制御装置２との通信により入力した撮像指令に基づいて、規定位置まで搬送されてクランプされたプリント基板ＣＢを撮像する。そして、カメラ装置１０は、取得した画像データに対して所定の画像処理を実行して制御装置２に出力する。次に、制御装置２は、画像データからプリント基板ＣＢの対角する二隅に設けられた基板マークを基準位置として認識する。これにより、制御装置２は、電子部品が設定された座標値に装着することが可能となる。つまり、プリント基板ＣＢのクランプの際に生じる位置誤差を画像データに基づいて補正することで、部品実装の高精度化を図っている。このように、本実施形態においては、制御装置２はカメラ装置１０の上位に位置する外部機器であって、プリント基板ＣＢはカメラ装置１０によって撮像される被写体である。
【００３１】
この他に、カメラ装置１０は、例えば、部品実装ヘッドの吸着ノズルに吸着された電子部品の状態を撮像する部品カメラなどにも用いることが可能である。さらには、複数の被写体を撮像するために複数の撮像素子を有する複眼式のカメラ装置１０として電子部品装着装置１に用いることもできる。何れの場合にも、カメラ装置１０は、上位装置である制御装置２によって動作を制御されることになる。また、カメラ装置１０は、電子部品が実装されたプリント基板ＣＢを検査する基板検査装置に組み込むことも可能である。この場合には、カメラ装置１０は、プリント基板ＣＢを撮像する検査カメラとして用いられる。このように、カメラ装置１０は、基板生産以外の用途にも用いることが可能である。この場合には、汎用のパソコンや専用の画像処理ボードなどが上位装置として用いられる。
【００３２】
カメラ装置１０は、異なる機能を有する３以上のモジュールから選択されたモジュールを着脱可能に連結して構成されている。本実施形態では、カメラ装置１０は、図２に示すように、撮像モジュール１１と、画像処理モジュール１２と、外部通信モジュール１３と、自律動作モジュール１４と、光源モジュール１５を含むモジュールのうち、撮像モジュール１１、画像処理モジュール１２、および外部通信モジュール１３を一つずつ選択し、この順で連結して構成されている。
【００３３】
また、例示している各モジュール１１〜１５は、互いに異なる機能を有している。そして、各モジュール１１〜１５には、同様の機能を有する複数種類のタイプが用意されている。また、各モジュール１１〜１５は、共通化された共通信号によってお互いに通信可能な通信部を有し、着脱可能な連結部が設けられた同形状の筐体に収容されている。そして、カメラ装置１０は、各モジュール１１〜１５から用途に応じて選択し、自由に組み合わせることが可能となっている。また、同種のモジュールを複数連結することも可能である。各モジュール１１〜１５の機能および構成の詳細については後述する。
【００３４】
撮像モジュール１１は、被写体であるプリント基板ＣＢを撮像して画像データを取得するモジュールである。この撮像モジュール１１は、図３に示すように、ＰＬＤ１１ａと、メモリ部１１ｂと、イメージセンサ１１ｃを有している。ＰＬＤ１１ａは、撮像モジュール１１に割り当てられた撮像機能を実行するプログラムを実装可能な回路素子である。ＰＬＤ１１ａは、撮像モジュール１１がカメラ装置１０を構成した後においても、上記のプログラムに相当する論理回路を定義可能な集積回路である。より具体的には、ＦＰＧＡ（Field Programmable Gate Array）、ＣＰＬＤ（Complex Programmable Logic Device）などに相当する。
【００３５】
そして、ＰＬＤ１１ａは、カメラ装置１０の撮像モジュール１１として必要な機能を有するように、システム構築装置２０によってプログラムが実装される。ＰＬＤ１１ａに実装されるプログラムは、イメージセンサ１１ｃを動作させるデバイスドライバ、連結される画像処理モジュール１２と通信を行う通信プログラムなどである。また、この通信プログラムは、各モジュール１１〜１５の間で共通化された共通信号によって互いに通信可能としている。従って、ＰＬＤ１１ａは、撮像モジュール１１における通信部としても機能している。
【００３６】
メモリ部１１ｂは、撮像モジュール１１の構成に係るハードウェア情報を記憶するフラッシュメモリである。上記のハードウェア情報は、具体的には、イメージセンサ１１ｃの画素数や画像転送速度などが含まれる。イメージセンサ１１ｃは、ＣＣＤやＣＭＯＳ等の撮像素子である。このイメージセンサ１１ｃは、その撮像面が撮像モジュールに設けられたレンズの光軸に対して直角となるように配置されている。そして、イメージセンサ１１ｃは、レンズにより撮像面に結像された光の強弱に応じて発生される信号電荷によってデジタル信号に変換し、被写体を撮像する。そして、イメージセンサ１１ｃから出力されるデジタル信号に基づいてＰＬＤ１１ａが画像データに変換している。本実施形態においては、撮像モジュール１１は、レンズとイメージセンサ１１ｃを一組だけ有する単眼式の構成としている。
【００３７】
画像処理モジュール１２は、撮像モジュール１１が取得した画像データに対して画像処理を実行するモジュールである。この画像処理モジュール１２は、図３に示すように、ＰＬＤ１２ａと、メモリ部１２ｂを有している。ＰＬＤ１２ａは、画像処理モジュール１２に割り当てられた画像処理機能を実行するプログラムを実装可能な回路素子である。画像処理モジュール１２のＰＬＤ１２ａは、撮像モジュール１１のＰＬＤ１１ａと同様であるため、詳細な説明を省略する。
【００３８】
画像処理モジュール１２のＰＬＤ１２ａに実装されるプログラムは、基板カメラとしての画像処理プログラム、連結される撮像モジュール１１および外部通信モジュール１３と通信を行う通信プログラムなどである。この画像処理プログラムは、カメラ装置１０から画像データを入力した制御装置２が基板マークを基準位置として認識できるように画像処理を実行するものである。この画像処理は、例えば、画像データの二値化、フィルタリング、色相抽出などであって、必要に応じて選択的に実装される。また、通信プログラムは、撮像モジュール１１のＰＬＤ１１ａに実装されたものと同様に、共通信号によって通信を行うものである。従って、ＰＬＤ１２ａは、画像処理モジュール１２における通信部としても機能している。
【００３９】
メモリ部１２ｂは、書き換えによる記憶内容の変更が可能であり、また電源が切れても記憶内容を保持する不揮発性のフラッシュメモリである。メモリ部１２ｂは、例えば、ＰＬＤ１２ａによる画像処理の際に、一時的に画像データを保持するなど、補助的な記憶部として使用される。
【００４０】
外部通信モジュール１３は、外部機器である制御装置２と通信するモジュールである。この外部通信モジュール１３は、図３に示すように、ＰＬＤ１３ａと、メモリ部１３ｂと、インターフェイスＩＣ１３ｃを有している。ＰＬＤ１３ａは、外部通信モジュール１３に割り当てられた外部通信機能を実行するプログラムを実装可能な回路素子である。外部通信モジュール１３のＰＬＤ１３ａは、撮像モジュール１１のＰＬＤ１１ａと同様であるため、詳細な説明を省略する。
【００４１】
外部通信モジュール１３のＰＬＤ１３ａに実装されるプログラムは、インターフェイスＩＣ１３ｃを動作させるデバイスドライバ、連結される画像処理モジュールと通信を行う通信プログラムなどである。また、この通信プログラムは、撮像モジュール１１のＰＬＤ１１ａに定義されたものと同様に、共通信号によって通信を行うものである。従って、ＰＬＤ１３ａは、外部通信モジュール１３における通信部としても機能している。
【００４２】
メモリ部１３ｂは、外部通信モジュール１３の構成に係るハードウェア情報を記憶するフラッシュメモリである。上記のハードウェア情報は、具体的には、インターフェイスＩＣ１３ｃの転送速度や転送バス幅などがある。インターフェイスＩＣ１３ｃは、制御装置２と通信する所定の通信機能を有する電子回路である。このようなインターフェイスＩＣ１３ｃとしては、種々の通信プロトコルや通信規格などに応じて設計され、パラレルインターフェイスや同軸ケーブル、ＵＳＢなどのデータ伝送路に対応した通信形態を有している。
【００４３】
自律動作モジュール１４は、撮像モジュール１１が取得する画像データなどに基づいて、カメラ装置１０における所定の動作を自動で行う機能を割り当てられたモジュールである。このような機能として、例えば、被写体の動きに合わせてカメラ装置１０の撮像方向を変える自動追従機能、被写体の特定マークを認識して撮像モジュール１１に撮像指令を出力する自動撮像機能などがある。そして、自律動作モジュール１４は、何れの機能を有する場合においても、共通信号によって他のモジュールと通信可能な通信部を有している。この自律動作モジュール１４の通信部は、自律動作機能を実行するＰＬＤやマイコンなどに通信プログラムを実装するものとしてもよい。
【００４４】
光源モジュール１５は、上位装置である制御装置２の制御指令などに基づいて、カメラ装置１０が撮像を行う際に被写体を照射する照明機能を割り当てられたモジュールである。このような光源モジュール１５には、ＬＥＤや電球などを光源とし、照度センサによる測定値に応じて照射量を調整する機能を有するものとしてもよい。そして、光源モジュール１５は、何れの構成により照明機能を有する場合においても、共通信号によって他のモジュールと通信可能な通信部を有している。この光源モジュール１５の通信部は、照明機能を実行するＰＬＤやマイコンなどに通信プログラムを実装するものとしてもよい。
【００４５】
上記のような構成からなるカメラ装置１０は、例えば、制御装置２による撮像指令に基づいて、プリント基板ＣＢを撮像して、画像処理を実行した画像データを制御装置２に出力する。このように、カメラ装置１０は、電子部品装着装置１において基板カメラとして用いられている。ここで、カメラ装置１０は、撮像指令を入力すると、各モジュール１１〜１３のＰＬＤ１１ａ，１２ａ，１３ａが所定のプログラムを実行して、被写体の撮像、画像処理、および画像データの出力を実行する。この時、各モジュール１１〜１３のＰＬＤ１１ａ，１２ａ，１３ａは、予め設定された共通信号によって互いに通信している。より具体的には、ＰＬＤ１１ａ，１２ａ，１３ａは、例えば、バス形式で接続され、所定の転送速度により同期または非同期のシリアル通信を行う。このような構成とすることで、種々のモジュールを選択的に連結してカメラ装置を構成しても、各モジュールの間での通信を可能としている。
【００４６】
さらに、画像処理モジュール１２は、カメラ装置１０の電源がオンになると、連結される撮像モジュール１１のメモリ部１１ｂに記憶されたハードウェア情報を入力する。これにより、画像処理モジュール１２は、撮像モジュール１１の構成に係るハードウェア情報に応じて、所定の画像転送速度で画像データを入力し、所定の画素数に対応した画像処理を実行する。同様に、画像処理モジュール１２は、連結されている外部通信モジュール１３のメモリ部１３ｂに記憶されているハードウェア情報を入力する。これにより、画像処理モジュール１２は、外部通信モジュール１３の構成に係るハードウェア情報に応じて、画像処理を実行した画像データを外部通信モジュール１３に転送する。
【００４７】
（システム構築装置２０の構成）
続いて、システム構築装置２０の構成について、図３〜図５を参照して説明する。システム構築装置２０は、カメラ装置１０の用途などに応じて機能を実装するものであり、複数のモジュールにより構成されるカメラ装置１０を対象とした専用ソフトウェアを含んでいる。このシステム構築装置２０は、図３に示すように、通信部２１と、プログラム実装部２２と、情報取得部２３と、表示部２４と、シミュレーション部２５と、判定部２６を備える。
【００４８】
通信部２１は、カメラ装置１０を構成する外部通信モジュール１３と通信可能に接続される。この通信部２１は、本実施形態においては、外部通信モジュール１３が外部機器である制御装置２と通信する通信手段を用いて、カメラ装置１０と通信接続されている。つまり、選択された外部通信モジュール１３が有するＵＳＢなどのデータ伝送路により、カメラ装置１０と通信部２１が接続される。
【００４９】
プログラム実装部２２は、表示部２４において表示されたプログラムを、各モジュール１１〜１３のＰＬＤ１１ａ，１２ａ，１３ａに通信部２１を介して転送する。より具体的には、プログラム実装部２２は、撮像モジュール１１に対してＦＰＧＡなどの集積回路であるＰＬＤ１１ａにプログラムに相当する論理回路を定義する。これにより、ＰＬＤ１１ａは、所定の機能を発揮するように駆動することが可能となる。プログラム実装部２２は、その他のＰＬＤ１２ａ，１３ａについても同様に、通信部を介してプログラムを転送して論理回路を定義する。また、本実施形態においては、各モジュール１１〜１３がＰＬＤ１１ａ，１２ａ，１３ａを有する構成としたが、その他に例えば各モジュール１１〜１３の一部または全部がＰＬＤに代えてマイコンを有することもある。このような場合に、プログラム実装部２２は、マイコンに収容された不揮発性メモリにプログラムを記憶させることにより、当該マイコンが所定の機能を発揮するようにしている。
【００５０】
情報取得部２３は、カメラ装置１０を構成するように選択された各モジュール１１〜１３のモジュール情報を取得する。情報取得部２３が取得するモジュール情報には、各モジュール１１〜１３にそれぞれ割り当てられた機能、および各モジュール１１〜１３の構成に係るハードウェア情報が含まれている。そのため、情報取得部２３は、通信部２１を介して各モジュール１１〜１３の各メモリ部１１ｂ，１２ｂ，１３ｂに記憶されたハードウェア情報を取得する。
【００５１】
表示部２４は、図４に示すように、情報取得部２３により取得した各モジュール１１〜１３のモジュール情報に基づいて、各ＰＬＤ１１ａ，１２ａ，１３ａに実装可能なプログラムを選択可能に表示する。この表示部２４は、各ＰＬＤ１１ａ，１２ａ，１３ａに実装可能なプログラムをアイコンとして表示するプログラム表示領域Ｆｐと、選択されたプログラムのアイコンを表示する選択表示領域Ｆｓと、を有している。プログラム表示領域Ｆｐには、実装可能なプログラムとして、カメラ装置１０を構成するモジュールのデバイスドライバや、画像処理モジュール１２が実行可能な種々の画像処理が含まれている。
【００５２】
プログラム表示領域Ｆｐに表示されるデバイスドライバは、情報取得部２３により取得したハードウェア情報に基づいてモジュールに対応したデバイスドライバであり、当該モジュールが有するハードウェアを駆動させるプログラムである。より具体的には、撮像モジュール１１にどのような種類のイメージセンサ１１ｃが設けられているのかをハードウェア情報として取得し、このイメージセンサ１１ｃを動作させるために必要となるデバイスドライバを表示する。また、プログラム表示領域Ｆｐにおいては、デバイスドライバのプログラム名を直接的に表示してもよいが、本実施形態においては、選択可能なデバイスドライバに対応するデバイス（イメージセンサ１１ｃ、インターフェイスＩＣ１３ｃ）を表示するようにしている。
【００５３】
また、プログラム表示領域Ｆｐに表示される画像処理は、カメラ装置１０を構成する複数のモジュールに画像データに対して画像処理を実行する画像処理モジュール１２が含まれる場合に表示される。本実施形態では、この画像処理モジュール１２が含まれるため、表示部２４は、プログラムとして実行可能な画像処理をプログラム表示領域Ｆｐに表示している。このようなデバイスドライバや画像処理は、それぞれの機能または処理を記号化されたアイコンとして表示される。そして、このアイコンをプログラム表示領域Ｆｐから選択表示領域Ｆｓにドラッグアンドドロップすることで、プログラム実装部２２は、当該アイコンに対応するデバイスドライバまたは画像処理が選択されたものとみなす。反対に、アイコンを選択表示領域Ｆｓからプログラム表示領域Ｆｐにドラッグアンドドロップ、または選択表示領域Ｆｓのアイコンを削除することで、プログラム実装部２２は、当該アイコンに対応するデバイスドライバまたは画像処理が選択解除されたものとみなす。
【００５４】
ここで、複数の画像処理が選択された場合には、選択表示領域Ｆｓにおいて、選択された画像処理を指定された実行順に表示している。ここで、画像処理モジュール１２は、画像データに対して複数の画像処理を所定の順序で実行することがある。これは、同様の画像処理を実行する場合においても、その実行順によっては結果が異なるためである。例えば、図５（ａ）に示すように、ある画像データに対して、ノイズキャンセル処理を実行した後に、二値化処理を実行すると、最右図のような画像データが得られる。一方で、図５（ｂ）に示すように、同じ画像データに対して、二値化処理を実行した後に、ノイズキャンセル処理を実行すると、最右図のような画像データが得られる。このように、図５（ａ），（ｂ）の最右図に示されるように、それぞれ画像処理で得られる結果が異なることから、選択表示領域Ｆｓでは、選択された複数の画像処理を実行順に表示することで、その実行順を目視可能にしている。
【００５５】
シミュレーション部２５は、選択表示領域Ｆｓに一以上の画像処理が選択された場合に、当該画像処理を指定された実行順で実行したものと仮定して、実行後の画像データをシミュレーションする。これは、現在選択されている画像処理および実行順が、画像処理モジュール１２に要求される機能として妥当であるかを判断することを目的としている。また、シミュレーション部２５は、仮想的な画像処理の結果を得るためのものであり、画像処理を実行する対象の画像データとしては、連結されているカメラ装置１０が撮像したものでもよいし、予め用意されているサンプルとしてもよい。
【００５６】
判定部２６は、モジュールに対して選択されたプログラムについて、取得したモジュール情報に基づいて適正判定する。表示部２４には各モジュール１１〜１３のＰＬＤ１１ａ，１２ａ，１３ａに実装可能なプログラムを選択可能に表示しているが、ＰＬＤ１１ａ，１２ａ，１３ａに論理回路を定義する前に、判定部２６によりプログラムの確認を行う。つまり、判定部２６は、モジュールに対して不可欠となるプログラムがある場合に、そのプログラムが選択されているか、モジュールに設けられたセンサやＩＣに対応したドライバが選択されているかなどを判定するものである。
【００５７】
（システム構築装置２０によるプログラムの実装）
システム構築装置２０によるカメラ装置１０のシステム構築の流れについて、図６を参照して説明する。ここでは、上記のような構成からなるカメラ装置１０を対象にした場合を例示する。つまり、カメラ装置１０が３つの異なる機能を有するモジュール１１〜１３から構成され、各モジュール１１〜１３がプログラムを実装可能なＰＬＤ１１ａ，１２ａ，１３ａをそれぞれ有するものである。
【００５８】
先ず、準備工程（Ｓ１０）として、カメラ装置１０とシステム構築装置２０を接続し、通信準備を行う（Ｓ１０１）。ここでは、カメラ装置１０の外部通信モジュール１３と、システム構築装置２０の通信部２１が接続される。そして、システム構築装置２０は、外部通信モジュール１３が制御装置２と通信する通信手段によって、カメラ装置１０と通信する。次に、情報取得部２３が通信部２１を介して、各モジュール１１〜１３のモジュール情報を取得する（Ｓ１０２）。これにより、カメラ装置１０を構成するモジュールの数量、およびモジュール毎の機能およびハードウェア情報がシステム構築装置２０に入力される。
【００５９】
表示部２４は、取得したカメラ装置１０に係るモジュール情報に基づいて、図４に示すように、各ＰＬＤ１１ａ，１２ａ，１３ａに実装可能なプログラムをアイコンとしてプログラム表示領域Ｆｐに表示する。ここで表示されているプログラムは、上述したように、モジュールのデバイスドライや画像処理が含まれている。そして、これらのアイコンのうち実装するものをプログラム表示領域Ｆｐから選択表示領域Ｆｓにドラッグアンドドロップして、プログラムの選択を行う（Ｓ２０）。反対に、アイコンを選択表示領域Ｆｓからプログラム表示領域Ｆｐにドラッグアンドドロップ、または選択表示領域Ｆｓのアイコンを削除することで、プログラムの選択解除が可能となっている。
【００６０】
一通りのプログラム選択を終えたら、選択された画像処理についてシミュレーションを行う（Ｓ３０）。表示部２４による画面（図４参照）において、処理確認ボタンを押下すると、シミュレーション部２５は、予め用意されているサンプルの画像データに対して画像処理を指定された実行順で実行する。ここでは、サンプルの画像データとしているが、カメラ装置１０が実際に撮像した画像データとしてもよい。そして、シミュレーション結果として得られた画像データに基づいて、現在選択されている画像処理や実行順が妥当であるかを判断する（Ｓ４０）。
【００６１】
シミュレーションの結果により、現在の選択が妥当でないと判断した場合には（Ｓ４０：Ｎｏ）、Ｓ２０に戻り画像処理の選択や実行順を調整する。そして、必要であれば再度シミュレーションを行うようにしてもよい（Ｓ３０）。これらを繰り返すことにより、現在選択されている画像処理および実行順が妥当であると判断した場合には（Ｓ４０：Ｙｅｓ）、カメラ装置１０を構成する全てのモジュールに対して選択されたプログラムが妥当であるかを判定する（Ｓ５０）。これは、表示部２４による画面（図４参照）において、決定ボタンを押下すると、判定部２６が判定処理を実行するものである。そして、判定部２６は、選択表示領域Ｆｓに表示されているアイコンに対応するプログラムが適正であるかを、取得したモジュール情報に基づいて判定する。
【００６２】
判定の結果により、現在選択されているプログラムが適正でない場合には（Ｓ５０：Ｎｏ）、図示しないエラーを表示してプログラムの再選択を促し、Ｓ２０に戻りデバイスドライバまたは画像処理を選択する。一方で、現在選択されているプログラムが適正である場合には（Ｓ５０：Ｙｅｓ）、プログラム実装部２２が通信部２１を介してプログラムの実装を行う（Ｓ６０）。つまり、プログラム実装部２２は、表示部２４の選択表示領域Ｆｓに表示されたアイコンに対応するプログラムを、各モジュール１１〜１３のＰＬＤ１１ａ，１２ａ，１３ａに通信部２１を介して転送する。これにより、ＰＬＤ１１ａ，１２ａ，１３ａは、プログラムに相当する論理回路が定義され、所定の機能を発揮するように駆動可能となる。このようにして、システム構築装置２０によるプログラムの実装が完了し、カメラ装置１０としてのシステムが構築される。
【００６３】
（システム構築装置２０による効果）
上述したシステム構築装置２０は、異なる機能を有する複数のモジュールを連結して構成されるカメラ装置１０を対象としてシステム構築を行うものとした。このカメラ装置１０は、複数のモジュールを要求に応じて連結することが可能なので、種々の用途に容易に適用することができるものである。そして、システム構築装置２０は、プログラム実装部２２がモジュール１１〜１３のＰＬＤ１１ａ，１２ａ，１３ａに実装するプログラムを転送する構成としている。これにより、カメラ装置１０は、実装されたプログラムによって各モジュールにそれぞれ割り当てられた機能を発揮するようにシステムが構築することができる。よって、従来と比較して設計上の自由度が高く、要求される機能や性能に対応可能なカメラ装置を構成することができる。また、複数のモジュール１１〜１５は、モジュール単位での設計や検査が可能であり、既存のモジュールを流用することができる。これにより、専用のカメラ装置を製作する場合と比較して、開発工数を大幅に削減することができる。
【００６４】
また、表示部２４がモジュール情報に基づいてＰＬＤ１１ａ，１２ａ，１３ａに実装可能なプログラムを選択可能に表示するものとしている。ここで、カメラ装置１０は、用途などに応じて複数のモジュールを選択して構成されるため、その組み合わせが決定するまでは、どのようなハードウェア構成となるか特定されない。そこで、先ず、カメラ装置１０を構成する所定のモジュールの組み合わせが決定した場合に、情報取得部２３により各モジュールがどのような機能を有するのかなどのモジュール情報を取得する。モジュール情報の取得方法については、システム構築装置２０に連結されたカメラ装置１０と通信することにより取得してもよいし、ユーザーにより決定したモジュールの組み合わせを入力されることにより取得してもよい。そして、表示部２４がこのモジュール情報に基づいてプログラムを表示することにより、プログラムの選択が補助されて容易となる。よって、カメラ装置１０のシステム構築を簡易化することができる。
【００６５】
さらに、各モジュール１１〜１３に設けられたＰＬＤ１１ａ，１２ａ，１３ａに実装可能なプログラムは、表示部２４にアイコンとして表示される。そして、このアイコンをプログラム表示領域Ｆｐから選択表示領域Ｆｓにドラッグアンドドロップすることで、容易にプログラムの選択をすることができる。このような構成においては、反対に選択表示領域Ｆｓからプログラム表示領域Ｆｐにドラッグアンドドロップすることで、プログラムの選択を解除することができる。このように、ドラッグアンドドロップのような簡易なマウスジェスチャーにプログラムの選択または解除を行う機能を割り当てることにより、カメラ装置１０の各モジュール１１〜１３へのプログラムの実装を簡易化することができる。
【００６６】
表示部２４は、ハードウェア情報に基づいて、モジュールに対応したデバイスドライバをプログラムとしてプログラム表示領域Ｆｐに表示するものとしている。カメラ装置１０を構成する各モジュール１１〜１３には、そのモジュールが有するハードウェアを駆動させることにより、割り当てられた機能を実行するものがある。そのため、表示部２４がモジュールに対応したデバイスドライバを表示することにより、デバイスドライバの選択を促すようにアシストすることができる。これらにより、システム構築装置２０は、必要に応じたプログラムの選択を簡易化することができる。
【００６７】
また、表示部２４は、画像処理モジュール１２が実行可能な画像処理をプログラム表示領域Ｆｐに表示するものとしている。カメラ装置１０は、画像処理モジュール１２が含まれるように構成されることがある。そこで、画像処理モジュール１２が実行可能な画像処理をプログラム表示領域Ｆｐに表示することで、画像処理の選択を簡易化することができる。また、選択表示領域Ｆｓでは、選択された複数の画像処理を実行順に表示するようにしている。これにより、画像処理の実行順を目視で確認することができるので、画像処理の順序を誤って指定することを防止できる。
【００６８】
また、システム構築装置２０は、シミュレーション部２５により選択されている画像処理を指定された実行順で実行したものとして、シミュレーションできるものとしている。これにより、現在のところ選択されている画像処理が、画像処理モジュール１２に要求される画像処理として妥当であるかを判断することができる。これにより、適切な画像処理を容易に選択することができるので、カメラ装置１０のシステム構築に要する工数を低減できる。さらに、判定部２６により選択されたプログラムの適正を判定するものとしている。これにより、選択されたプログラムが実装される前に適正を判定することができる。これにより、誤ったプログラムを選択することを確実に防止することができる。
【００６９】
さらに、通信部２１は、外部通信モジュール１３が外部機器と通信する通信手段によって、カメラ装置１０と通信可能に接続されるものとしている。ここで、カメラ装置１０の外部通信モジュール１３は、種々の通信プロトコルや通信規格などに準拠するとともに、同軸ケーブルやＵＳＢなどのデータ伝送路に対応した通信手段を有している。そこで、外部通信モジュール１３の通信手段によって通信部２１がカメラ装置１０と通信する構成とすることで、外部通信モジュール１３に対して専用の通信手段を設ける必要がなくなりコストを低減できる。
【００７０】
＜実施形態の第一変形態様＞
実施形態の第一変形態様について、図７を参照して説明する。本実施形態では、システム構築装置２０の対象としたカメラ装置１０は、３つの異なる機能を有するモジュール１１〜１３から構成され、各モジュールがプログラムを実装可能なＰＬＤ１１ａ，１２ａ，１３ａをそれぞれ有するものとした。これに対して、システム構築装置２０は、上記の組み合わせとは異なるモジュールにより構成さえるカメラ装置についてもシステム構築の対象とすることが可能である。例えば、カメラ装置１１０は、図７に示すように、異なる機能を有する３以上のモジュールのうち、撮像モジュール１１１および外部通信モジュール１１３を一つずつ選択し、着脱可能に連結して構成されるようにしてもよい。
【００７１】
撮像モジュール１１１は、被写体を撮像して画像データを取得するモジュールであって、図７に示すように、ＰＬＤ１１１ａと、メモリ部１１ｂと、イメージセンサ１１ｃを有している。このＰＬＤ１１１ａには、カメラ装置１１０の撮像モジュール１１１として必要な機能を有するように、システム構築装置２０によってプログラムが実装される。また、カメラ装置１１０全体で唯一のＰＬＤ１１１ａには、イメージセンサ１１ｃを動作させるデバイスドライバの他に、連結される外部通信モジュール１１３と通信を行う通信プログラム、用途に応じた画像処理プログラムなどが実装される。この画像処理プログラムは、本実施形態における画像処理モジュール１２のＰＬＤ１２ａに実装されたものと同様であり、イメージセンサ１１ｃにより取得した画像データに画像処理を実行するものである。このように、撮像モジュール１１１は、ＰＬＤ１１１ａに実装された画像処理プログラムにより、画像処理モジュールと同等または簡易な画像処理機能を有する構成としてもよい。
【００７２】
外部通信モジュール１１３は、外部機器である制御装置２と通信するモジュールであって、図７に示すように、メモリ部１３ｂと、インターフェイスＩＣ１３ｃと、通信用ＩＣ１１３ｄを有している。通信用ＩＣ１１３ｄは、各モジュールの間で共通化された共通信号によって互いに通信可能としている。そして、この通信用ＩＣ１１３ｄは、撮像モジュール１１１のＰＬＤ１１１ａとメモリ部１３ｂの間、およびＰＬＤ１１１ａとインターフェイスＩＣ１３ｃの間に介在することにより、制御装置２とＰＬＤ１１１ａの間での撮像指令や画像データの通信を可能としている。ここで、インターフェイスＩＣ１３ｃのデバイスドライバは、撮像モジュール１１１のＰＬＤ１１１ａに実装されている。これにより、インターフェイスＩＣ１３ｃは、通信用ＩＣ１１３ｄを介して撮像モジュール１１１のＰＬＤ１１１ａにより動作を制御されることになる。このようにカメラ装置１１０は、外部通信モジュール１１３にＰＬＤなどの回路素子を有さない構成とし、撮像モジュール１１１により画像処理や外部通信などを統括して制御している。
【００７３】
本変形態様では、システム構築装置２０は、上述したような構成のカメラ装置１１０を対象としている。このような場合に、システム構築装置２０は、準備工程（Ｓ１０）において、カメラ装置１１０が２つのモジュールから構成され、モジュール毎の機能およびハードウェア情報を取得する。そして、システム構築装置２０は、ハードウェア情報に基づいて、ＰＬＤ１１１ａに実装可能なプログラムを表示部２４に表示する。その後に、必要に応じて画像処理のシミュレーションやプログラムの適正を判定して、ＰＬＤ１１１ａに通信部を介してプログラムを転送する。これにより、ＰＬＤ１１１ａは、プログラムに相当する論理回路が定義され、所定の機能を発揮するように駆動可能となる。このようにして、システム構築装置２０によるプログラムの実装が完了し、カメラ装置１１０としてのシステムが構築される。上述したように、カメラ装置を構成する複数のモジュールのうち少なくとも一以上のモジュールにはプログラムを実装可能な回路素子が設けられていれば、システム構築装置２０はそのカメラ装置を対象としてシステム構築が可能である。
【００７４】
＜実施形態の第二変形態様＞
実施形態の第二変形態様について、図８を参照して説明する。本実施形態では、システム構築装置２０の対象としたカメラ装置１０は、３つの異なる機能を有するモジュール１１〜１３を連結した状態で、各モジュール１１〜１３に設けられたＰＬＤ１１ａ，１２ａ，１３ａにプログラムを実装されて、システムを構築されるものとした。これに対して、システム構築装置２０は、連結されていない個々のモジュールを対象として、当該モジュールに設けられたＰＬＤなどの回路素子にプログラムを実装する構成としてもよい。
【００７５】
このような構成では、システム構築装置２０は、先ずシステム構築装置２０は、図８に示すように、アダプタ５１〜５３を介して各モジュール１１〜１３と連結され、通信可能な状態とされる。そして、ＰＬＤ１１ａ，１２ａ，１３ａにプログラムが実装され、その後に各モジュール１１〜１３を着脱可能に連結することによりカメラ装置１０が構成される。このようにして、システム構築装置２０は、各モジュール１１〜１３が連結されていないカメラ装置１０においても、当該カメラ装置１０を対象としてシステムを構築することができる。
【符号の説明】
【００７６】
１：電子部品装着装置、  ２：制御装置
１０，１１０：カメラ装置、  １１，１１１：撮像モジュール
１２：画像処理モジュール、  １３，１１３：外部通信モジュール
１４：自律動作モジュール、  １５：光源モジュール
１１ａ，１２ａ，１３ａ，１１１ａ：ＰＬＤ、  １１ｂ、１２ｂ、１３ｂ：メモリ部
１１ｃ：イメージセンサ、  １３ｃ：インターフェイスＩＣ、  １１３ｄ：通信用ＩＣ
２０：システム構築装置、  ２１：通信部、  ２２：プログラム実装部
２３：情報取得部、  ２４：表示部、  ２５：シミュレーション部
５１，５２，５３：アダプタ
ＣＢ：プリント基板（被写体）、  Ｆｐ：プログラム表示領域、  Ｆｓ：選択表示領域
【図１】
0005822629.tif 000002
【図２】
0005822629.tif 000003
【図３】
0005822629.tif 000004
【図４】
0005822629.tif 000005
【図６】
0005822629.tif 000006
【図７】
0005822629.tif 000007
【図８】
0005822629.tif 000008
【図５】
0005822629.tif 000009