以下、本発明の実施の形態に係る画像処理センサシステムについて、図面を参照して説明する。なお、本実施の形態の説明で参照する図面を通じて、同一又は同様の構成又は機能を有する要素については、同一又は同様の符号を付して、詳細な説明を省略する。以下、画像処理センサシステムに、検査対象物の良否判定を行う画像処理センサを用いる場合を例に挙げて説明する。
(実施の形態1)
図1は、本発明の実施の形態1に係る画像処理センサシステムの構成を示す模式図である。図1に示すように、本実施の形態1に係る画像処理センサシステムで用いる画像処理センサは、撮像装置1と、撮像装置1とデータ通信することが可能に接続ケーブルで接続されている画像処理装置(以下、コントローラ)2とで構成されている。
撮像装置1は、検査対象物を撮像する撮像素子を有するカメラモジュール(撮像部)と、検査対象物に対して光を照射する照明部とを備えている。撮像装置1を小型化するべく、画像処理を実行するコントローラ2は、撮像装置1とは別個に備えている。画像処理は、撮像装置1内で一部の処理(フィルタ処理等の前処理)を実行し、実行後の画像データをコントローラ2へ送信して、残りの画像処理をコントローラ2で実行しても良いし、撮像した画像をそのままコントローラ2へ送信しても良い。
撮像装置1と接続ケーブルで接続されているコントローラ2は、それぞれ内部に画像処理を実行するFPGA、DSP等を備えており、撮像装置1の撮像部、照明部の動作を制御するとともに、取得した画像に対して画像処理を実行する。特にDSPは、画像に対して、色面積検出処理、パターン検索処理等を実行する。さらに、画像処理の結果として、検査対象物を検出したか否かで検査対象物の良否を示すOK/NG信号(判定信号)を出力する。もちろん、場合によってはFPGAが実行するようにしても良い。OK/NG信号は、コントローラ2p、2qに備えるI/Oコネクタ213から、それぞれI/Oケーブルを経由して外部のPLC、他の光電センサ・近接センサ、表示灯等(以下、PLC等)へ出力される。I/Oコネクタ213は、親機2pだけでなく子機2qを含め各コントローラ2に設けられている。
隣接して配置されている複数のコントローラ2は、互いにデータ通信することが可能に接続されている。互いに接続されている複数のコントローラ2のうち、少なくとも一のコントローラ2pは、親機としてイーサネットコネクタ214と電源端子215とを備えている。子機である他のコントローラ2qは、少なくとも一のコントローラ2p(親機)と接続されている。図1では4個の子機2qが接続されているが、接続される子機の数はこれに限定されるものではなく、例えば8個の子機、16個の子機等、任意の数の子機を接続に設定することができる。
複数の画像処理センサと外部のコンピュータ3あるいは表示装置4とは、少なくとも一のコントローラ(親機)2pのイーサネットコネクタ214、イーサネットケーブル23を介して接続されており、画像データのデータ通信を行う。隣接して配置されている複数のコントローラ2は、互いにデータ通信を行う。
データ通信されるデータとしては、例えば、各コントローラ2に接続された撮像装置1で撮像された画像の画像データ(画像処理後の画像データも含む)、外部のコンピュータ3あるいは表示装置4で設定を受け付けた設定データ、後述する相互干渉防止トリガ信号等がある。
親機2pから子機2qへは、相互干渉防止トリガ信号、外部のコンピュータ3あるいは表示装置4から設定を受け付けた設定データが送信される。親機2pに近い位置にある子機2qから、より離れた位置にある子機2qへは、相互干渉防止トリガ信号、外部のコンピュータ3あるいは表示装置4から親機2pを介して設定を受け付けた設定データが送信される。
親機2pに近い位置にある子機2qから親機2pへは、該子機2qで取得した画像データ、該子機2qよりも親機2pから離れた位置にある子機2qで取得した画像データ、及びその他の制御信号が送信される。親機2pから離れた位置にある子機2qから、親機2pにより近い子機2qへは、離れた位置にある子機2qで取得した画像データ、該子機2qよりも親機2pから離れた位置にある子機2qで取得した画像データ、及びその他の制御信号が送信される。
外部のコンピュータ3及び表示装置4は、コントローラ(親機)2pに設定データを送信することができ、コントローラ(親機)2pを介して他のコントローラ(子機)2qにも設定データを送信することができ、コントローラ2に保存された画像データを含むデータを読み出すことができる。
外部のコンピュータ3は、市販のパーソナルコンピュータ等に画像処理センサを動作させるためのコンピュータプログラムをインストールする等して用いられる。
表示装置4は、外部のコンピュータ3よりも小型であり、例えば表示部としてタッチパネル式の表示部を備え、表示機能及びコントローラ2との通信機能を有する。
図1において隣接するコントローラ2は、コネクタピン(図示しない)で接続されており、コントローラ2同士が接触して接続されている。図1において、コントローラ2の紙面の右側に雌ピン(図示しない)が、コントローラ2の紙面の左側に雄ピン(図示しない)が設けられている。図1において、親機2pの紙面の左側には、雄ピンが設けられていない。
また、図1では、紙面の左側に親機2pを配置し、親機2pの右側に子機2qを配置しているが、特にこれに限定されるものではなく、親機2pの左側に子機2qを配置しても良いし、親機2pの両側に子機2qを配置しても良い。
図1では、外部のコンピュータ3及び表示装置4の両方にイーサネットケーブル23が接続されているように図示しているが、いずれか一方を用いてコントローラ2とデータ通信する。
図1では、5つの画像処理センサ(撮像装置1及びコントローラ2)が図示されている。紙面の左から3つの画像処理センサの撮像装置1は互いに近くに配置され、一のグループを形成している。同様に、右から2つの画像処理センサの撮像装置1は近くに配置され、他のグループを形成している。このように、複数の画像処理センサの撮像装置1をグループ分けすることができ、後述する実施の形態4に示す相互干渉防止機能を用いることができる。すなわち、3つの画像処理センサで形成される一のグループは、図1において破線で示される撮像領域又は照射領域が重なる程度に近接した位置に撮像装置1が配置されており、2つの画像処理センサで形成される他のグループも、同程度に近接した位置に撮像装置1が配置されている。
撮像装置1は、従来の画像処理センサの撮像装置1に比べて小型であり、配置するスペースが小さな場所であっても配置することができる。したがって、撮像装置1を同じ方向を向くように並べて配置するような場合であっても、撮像領域又は照射領域が重なる程度に近接した位置に配置することができる。
もちろん、図1のようにグループ分けをしなくても、それぞれ独立した画像処理センサとして用いて別個の検査対象物を検査することも可能である。この場合、撮像装置1は互いに関連しない位置に配置されているが、隣接して配置されているコントローラ2同士は接続されているので、外部のコンピュータ3あるいは表示装置4での管理は容易である。
図1に示すように、撮像装置1とコントローラ2とを有する画像処理センサは、イーサネットケーブル23を介して外部のコンピュータ3及び表示装置4に接続され、画像処理センサシステムが構成されている。
図2は、本発明の実施の形態1に係る画像処理センサの撮像装置1の構成を示す外形図である。図2(a)は、本発明の実施の形態1に係る画像処理センサの撮像装置1の構成を示す正面図を、図2(b)は、本発明の実施の形態1に係る画像処理センサの撮像装置1の構成を示す模式断面図を、それぞれ示している。
図2(a)に示すように、撮像装置1は、撮像部12として正面の中央近傍にレンズ121を配置しており、レンズ121の周囲を囲むように、照明部11として複数の(図2では4つの)LED111を配置してある。なお、リフレクタ(図示せず)はLED111の前方に設けてある。撮像時には、複数のLED111を点灯させることにより、検査対象物に光を照射し、検査対象物を明瞭に撮像することができる。なお、照明部11として、4つのLED111を撮像部12(レンズ121)の周囲に設けることに限定されるものではなく、一以上の照明具が照明部11として撮像装置1内に設けられていれば良い。
図2(b)に示すように、撮像装置1の撮像部12は、CMOSイメージセンサ又はCCD等の撮像素子が搭載されたCMOS基板122とレンズ121との間の距離を変えることができる可動部として焦点制御部123を備えている。コントローラ2からの信号に応じて焦点制御部123がCMOS基板122を前後動させることにより、オートフォーカス機能を実現させている。
また、照明部11は、LED111の前方にリフレクタ(導光部)112を設けている。これにより、LED111から照射される光を、少しでも平行光に近づけている。
図3は、本発明の実施の形態1に係る画像処理センサの撮像装置1のハードウェア構成を示すブロック図である。図3において、本実施の形態1に係る画像処理センサの撮像装置1は、撮像部12と照明部11とで構成されており、それぞれの動作をメイン基板13が制御し、通信基板14がコントローラ2との通信を制御する。例えば、メイン基板13からのオートフォーカス動作を制御する制御信号に応じて撮像部12のモータ124を駆動させることにより、図2に示す焦点制御部123が前後動し、オートフォーカス動作の制御を行う。そして、メイン基板13からの撮像指示信号に応じて検査対象物を撮像する。
本実施の形態1では、撮像素子が搭載されたCMOS基板122を備えており、CMOS基板122で撮像されたカラー画像は、例えばFPGA131にてフィルタ処理が実行された後、画像処理後の画像データが出力される。つまり、演算処理負荷の大きい画像変換処理等は撮像装置1では実行されないので、撮像装置1内に備える半導体装置を小型化することができる、あるいは放熱を考慮した配置をする必要性が相対的に少なくなるので、撮像装置1を小型化することができる。
メイン基板13は、接続してある各部の動作を制御する。例えば照明部11に対しては、複数のLED111の点灯/消灯を制御する制御信号を、LEDドライバ113へ送信する。LEDドライバ113は、FPGA131からの制御信号に応じて、例えばLED111の点灯/消灯、光量等を調整する。また、撮像部12のモータ124に対しては、メイン基板13のモータドライバ134を介してオートフォーカス動作を制御する制御信号を、CMOS基板122に対しては、撮像指示信号等を、それぞれ送信する。
通信基板14は、メイン基板13から出力された、検査対象物についての画像データをコントローラ2へ送信する。また、コントローラ2から撮像装置1の制御信号を受信し、受信した制御信号をメイン基板13に送信する。
図4は、本発明の実施の形態1に係る画像処理センサのコントローラ2のハードウェア構成を示すブロック図である。図4では、親機として機能する一のコントローラ2p及び子機として機能する他のコントローラ2qとが隣接して接続されている。他のコントローラ2qは、さらに親機である一のコントローラ2pに隣接して接続されている、子機である他のコントローラ2qの隣に直列に連続して接続されている。親機である一のコントローラ2pと子機である他のコントローラ2qとは、それぞれの連結コネクタ211同士が接続されている。本実施の形態1では、親機である一のコントローラ2pは、マイクロコンピュータ、FPGA、DSP、ゲートアレイ等で構成されたメイン基板21に、イーサネットスイッチ210、連結コネクタ211、撮像装置コネクタ212、I/Oコネクタ213、イーサネットコネクタ214、及び電源端子215が接続されている。また、子機である他のコントローラ2qは、メイン基板21に、イーサネットスイッチ210、連結コネクタ211、撮像装置コネクタ212、及びI/Oコネクタ213が接続されているが、親機である一のコントローラ2pとは異なり、イーサネットコネクタ214、及び電源端子215は設けられていない。
なお、メイン基板21は、マイクロコンピュータ、FPGA、DSP、ゲートアレイ等の単体で構成することに限定されるものではなく、例えばFPGAとDSP、DSPとゲートアレイのように組み合わせて構成しても良いし、複数のDSPで構成して並列処理しても良い。メイン基板21は、機能ブロックとしてトリガ制御部201、I/O制御部202、相互干渉制御部203、画像処理部204、画像データ記憶部205、画像処理結果記憶部206、イーサネット通信制御部207、設定記憶部208、撮像装置通信制御部209等を備えている。トリガ制御部201は、撮像タイミング信号(トリガ信号)を制御し、撮像装置1に送信する。
I/O制御部202は、外部の入出力装置(図示せず)との間でI/O信号をデータ通信する。撮像タイミング信号は、I/Oコネクタ213でPLCから受信した場合、外部のコンピュータ3又は表示装置4からの受信を検知した場合、あるいは内蔵するタイマから発せられた場合に、撮像装置1へ送信される。
相互干渉制御部203は、複数の画像処理センサ間で撮像装置1同士が干渉しないように、一の撮像装置1における照明の点灯/消灯及び撮像のタイミングと、他の撮像装置1における照明の点灯/消灯及び撮像のタイミングとを制御するためのものである。詳細については、実施の形態4で説明する。
画像処理部204は、撮像装置1で撮像されて受信した画像データに対して画像処理を実行する。例えば、画像データに対して、色面積検出処理、パターン検索処理等を実行する。検査対象物を検出したか否かで検査対象物の良否を示すOK/NG信号(判定信号)は、画像処理の結果として、I/O制御部202によりI/Oコネクタ213を介して外部のPLC等の出力装置(図示せず)へ出力される。
画像データ記憶部205は、画像データを記憶する。画像データ記憶部205には、現在撮像装置1で撮像している画像と、過去に撮像した画像データとの両方が記憶されている。画像処理結果記憶部206は、画像処理された画像データ及びパターン検索処理等の処理結果を記憶する。
イーサネット通信制御部207は、イーサネット通信を制御し、画像データ記憶部205に記憶されている画像データ等の外部のコンピュータ3あるいは表示装置4への出力、設定データの送受信等を実行する。親機である一のコントローラ2pでは、外部のコンピュータ3あるいは表示装置4との間の通信を制御し、子機である他のコントローラ2qでは、外部のコンピュータ3あるいは表示装置4との間の、親機である一のコントローラ2pのイーサネットスイッチ210を経由した通信を制御する。設定記憶部208は、例えばIPアドレス、MACアドレス、相互干渉防止機能の設定データ等の設定情報を記憶する。
撮像装置通信制御部209は、コントローラ2と撮像装置1との通信を制御し、撮像装置1からの画像データの受信、撮像条件の設定データの撮像装置1への送信等を実行する。
イーサネットスイッチ210は、イーサネット通信用のハブである。親機である一のコントローラ2pのイーサネットスイッチ210は、隣接して接続されている子機である他のコントローラ2qとのデータ通信の経路を確保する。子機である他のコントローラ2qのイーサネットスイッチ210は、両隣に接続されているコントローラ2(2p又は2q)とのデータ通信の経路(信号線)を確保する。親機である一のコントローラ2pのイーサネットスイッチ210は、イーサネットコネクタ214に接続されており、図1に示すイーサネットケーブル23を経由して外部のコンピュータ3あるいは表示装置4に接続されている。
(1)設定データの送信方法
設定データを外部のコンピュータ3あるいは表示装置4からコントローラ2へ送信する場合、親機である一のコントローラ2pのイーサネットコネクタ214を経由して、親機である一のコントローラ2pのイーサネットスイッチ210に送信される。外部のコンピュータ3あるいは表示装置4では、複数の画像処理センサのうち、どのコントローラ2に設定データを送信するのか、IPアドレス等を用いて指定しておく。イーサネットスイッチ210は、設定データの送信先が自機ではないと判定したとき、及び設定データの送信先が自機であると判定したときには、隣接して接続されている次のコントローラ2に設定データを送信(転送)する。設定データが、外部のコンピュータ3あるいは表示装置4により指定されたコントローラ2のイーサネットスイッチ210を介して、メイン基板21に入力される。
(2)画像データの外部のコンピュータ3あるいは表示装置4への送信方法
連結コネクタ211は、隣接するコントローラ2を連結して、例えば相互干渉トリガ信号等の制御信号、画像データ等の送受信経路として機能する。外部のコンピュータ3あるいは表示装置4により、複数の画像処理センサのうち、どのコントローラ2から画像データを読み出すかが選択される。親機2pのすぐ隣の子機2qが選択された場合、画像データ読み出しのための信号が、イーサネットケーブル23、親機2pのイーサネットコネクタ214、イーサネットスイッチ210、連結コネクタ211、子機2qの連結コネクタ211、イーサネットスイッチ210を介して、子機2qのメイン基板21に入力される。子機2qの画像データ記憶部205から画像データが読み出され、子機2qのイーサネットスイッチ210及び連結コネクタ211、親機2pの連結コネクタ211及びイーサネットスイッチ210を介して、外部のコンピュータ3あるいは表示装置4に読み出される。画像データ読み出しのための信号及び画像データは、親機2pではメイン基板21に入力されず、イーサネットスイッチ210を介して子機2qに転送される。
相互干渉トリガ信号等の制御信号は、図4では、親機である一のコントローラ2pのメイン基板21から、連結コネクタ211を介して隣接して接続されている子機である他のコントローラ2qのメイン基板21へ送信される。そして電力も、親機である一のコントローラ2pの電源端子215から、親機である一のコントローラ2pのメイン基板21に供給されるとともに、連結コネクタ211を介して隣接して接続されている子機である他のコントローラ2qへ供給される。同様にして直列に接続されているすべての子機である他のコントローラ2qへ電力が供給される。
撮像装置コネクタ212は、コントローラ2ごとに撮像装置1と接続して、設定情報やオートフォーカス制御信号等を送信し、画像データ等を受信する。I/Oコネクタ213は、外部の入出力装置(図示せず)との間でI/O信号を送受信する。
イーサネットコネクタ214は、少なくとも親機2pに設ける。イーサネットコネクタ214は、イーサネットスイッチ210と接続されており、子機2qの外部のコンピュータ3あるいは表示装置4とのデータ通信にも使用される。電源端子215は、親機2pにのみ備える。子機2qへは、連結コネクタ211を介して親機2pから電力を供給する。このような構成とすることで、複数の画像処理センサを用いる場合であっても、イーサネットケーブル23あるいは電源ケーブル等の配線を簡略化することができ、画像処理センサの付け替えや交換等を容易に行うことができる。
つまり、イーサネットコネクタ214及び電源端子215を、少なくとも親機2pにのみ備えることで、ケーブル類の配線の煩雑さを解消することができる。
図4に示す複数のコントローラ2のうち、親機である一のコントローラ2pと子機である他のコントローラ2qとの違いは、親機である一のコントローラ2pにはイーサネットコネクタ214が設けられているのに対し、子機である他のコントローラ2qには設けられていない点にある。
なお、本実施の形態1において「イーサネットコネクタ214が設けられていない」とは、物理的にイーサネットコネクタ214を設けていない場合だけでなく、イーサネットコネクタ214は設けてあるものの、イーサネットスイッチ210に接続されていない場合、内部の信号線に接続されていない場合等、イーサネット通信の通信インタフェースとして機能していない場合も意味している。
図5は、本発明の実施の形態1に係る画像処理センサのコントローラ2の、他のコントローラ(子機)2と外部のコンピュータ3あるいは表示装置4とのイーサネット接続処理の手順を示すフローチャートである。図5(a)は、コントローラ2にIPアドレスが割り当てられていない場合の処理の手順を、図5(b)は、コントローラ2にIPアドレスが割り当てられている場合の処理の手順を、それぞれ示している。
まず、図5(a)において、コントローラ2は、BOOTPパケットを外部のBOOTPサーバへ送信する(ステップS501)。コントローラ2は、BOOTPパケットを送信してから一定時間経過したか否かを判断し(ステップS502)、コントローラ2が、まだ経過していないと判断した場合(ステップS502:NO)、コントローラ2は、経過待ち状態となる。
コントローラ2が、経過したと判断した場合(ステップS502:YES)、コントローラ2は、動的なIPアドレスを取得したか否かを判断する(ステップS503)。コントローラ2が、IPアドレスを取得していないと判断した場合(ステップS503:NO)、コントローラ2は、処理をステップS501へ戻して、上述した処理を繰り返す。コントローラ2が、IPアドレスを取得したと判断した場合(ステップS503:YES)、コントローラ2は処理を終了する。
次に、図5(b)において、コントローラ2は、検索パケットを受信したか否かを判断する(ステップS504)。コントローラ2が、検索パケットをまだ受信していないと判断した場合(ステップS504:NO)、コントローラ2は、受信待ち状態となる。コントローラ2が、検索パケットを受信したと判断した場合(ステップS504:YES)、コントローラ2は、応答パケットを送信する(ステップS505)。
図6は、本発明の実施の形態1に係る画像処理センサシステムの外部のコンピュータ3の、コントローラ2とのイーサネット接続処理の手順を示すフローチャートである。なお、処理の手順自体は、外部のコンピュータ3の代わりに表示装置4を用いる場合であっても同様である。
図6において、外部のコンピュータ3は、接続対象となるコントローラ2のIPアドレスの指定を受け付けたか否かを判断する(ステップS601)。外部のコンピュータ3が、指定を受け付けていないと判断した場合(ステップS601:NO)、外部のコンピュータ3は、コントローラ2へ検索パケットを送信する(ステップS602)。
外部のコンピュータ3は、検索パケットを送信してから一定時間経過したか否かを判断する(ステップS603)。外部のコンピュータ3が、まだ一定時間経過していないと判断した場合(ステップS603:NO)、外部のコンピュータ3は、経過待ち状態となる。外部のコンピュータ3が、一定時間経過したと判断した場合(ステップS603:YES)、外部のコンピュータ3は、検索パケットに対する応答パケット又はBOOTPパケットをコントローラ2から受信したか否かを判断する(ステップS604)。
外部のコンピュータ3が受信していないと判断した場合(ステップS604:NO)、外部のコンピュータ3は、ネットワーク内に接続対象となるコントローラ2が存在しないと判断し、エラー処理を実行して(ステップS611)、処理を終了する。外部のコンピュータ3が受信したと判断した場合(ステップS604:YES)、外部のコンピュータ3は、接続対象となるコントローラ2の一覧を表示する(ステップS605)。
図7は、本発明の実施の形態1に係る画像処理センサシステムの外部のコンピュータ3で表示されるコントローラ2の一覧の例示図である。図7の例では、イーサネットコネクタ214及び電源端子215を備えるコントローラ2を親機2p、それ以外のコントローラ2を子機2qとする。親機2p、子機2qそれぞれについて、撮像装置1の型式、MACアドレス、IPアドレス、サブネットマスク、デフォルトゲートウェイを表示する。これらの情報は、例えば親機2pと子機2qとの応答パケット、BOOTPパケット等に情報として含ませても良いし、親機2pの応答パケット、BOOTPパケット等に情報として含ませても良い。また、別途専用のシリアル通信線を親機2pと子機2qとの間に追加することで、子機2qの情報を親機2pに集約しても良い。
図7では、本実施の形態1に係る画像処理センサシステムの外部のコンピュータ3に、3つの親機2pが、同じネットワーク上に接続されている。すなわち、3つの子機2qが接続された親機2pと、子機2qが接続されていない親機2pと、2つの子機2qが接続された親機2pが、それぞれ外部のコンピュータ3に接続されている場合の例である。このように、一つの外部のコンピュータ3を、一対の親機2pと子機2qとの組み合わせに接続するのみではなく、複数の親機2pと複数の子機2qとの組み合わせに接続することができる。
図7に示す表示画面の例では、親機2pとその親機2pに接続された子機2qとをツリー状に示すことで、ある子機2qがどの親機2pと接続されているか、あるいはある親機2pから何番目かの子機2qのIPアドレスを簡単に確認することができる。一の親機2pに子機2qを複数台接続している場合、ある子機2qを対象としてメンテナンスをしようとするとき又は接続されている外部のコンピュータ3で視認しようとするときには、IPアドレスなどの個体の識別情報及び親機2pとの物理的な位置関係(何番目のコントローラ2であるか)を確認しやすい。親機2pのイーサネットコネクタ214は一つだけであるが、外部のコンピュータ3と親機2pとの間に、市販のイーサネットハブを設置すること等により、一つの外部のコンピュータ3と複数の親機2pとでデータ通信することができる。
図6に戻って、外部のコンピュータ3は、コントローラ2の一覧の中から、ユーザによる接続対象となるコントローラ2の選択を受け付ける(ステップS606)。外部のコンピュータ3は、IPアドレスを明示的に割り当てるIPアドレス割当画面を表示し(ステップS607)、ユーザによるIPアドレスの割当設定を受け付ける(ステップS608)。
外部のコンピュータ3が、接続対象となるコントローラ2のIPアドレスの指定を受け付けたと判断した場合(ステップS601:YES)、外部のコンピュータ3は、接続に成功したか否かを判断する(ステップS609)。ここで「接続に成功する」とは、論理的に接続され、TCPのコネクションが確立されたことを意味する。なお、ステップS607、ステップS608は、IPアドレスが未割当であるコントローラ2である場合にだけ実行される。
外部のコンピュータ3が、接続に失敗したと判断した場合(ステップS609:NO)、外部のコンピュータ3は、エラー処理を実行して(ステップS611)、処理を終了する。外部のコンピュータ3が、接続に成功したと判断した場合(ステップS609:YES)、外部のコンピュータ3は、設定情報、画像データ、画像処理結果等を接続されたコントローラ2から読み出して(ステップS610)、処理を終了する。
このようにして外部のコンピュータ3とコントローラ2とが接続される。接続されたコントローラ2に対して、外部のコンピュータ3から設定データを送信する、あるいはコントローラ2に記憶されている画像データを外部のコンピュータ3で表示することができる。同様に、外部のコンピュータ3と親機である一のコントローラ2pとを接続するだけでなく、子機である他のコントローラ2qとも接続することができる。
図8は、本発明の実施の形態1に係る画像処理センサシステムの外部のコンピュータ3の設定情報の更新処理の手順を示すフローチャートである。なお、処理手順自体は、外部のコンピュータ3の代わりに表示装置4を用いる場合であっても同様である。
図8において、外部のコンピュータ3は、接続されたコントローラ2から読み出した設定情報を表示する(ステップS801)。外部のコンピュータ3は、ユーザによる設定情報の更新を受け付け(ステップS802)、更新後の設定情報をコントローラ2へ送信する(ステップS803)。送信先となるコントローラ2は、図6に示す手順で接続した親機である一のコントローラ2p又は子機である他のコントローラ2qのいずれかである。
図9は、本発明の実施の形態1に係る画像処理センサシステムの画像処理センサから外部のコンピュータ3あるいは表示装置4への画像データの送信処理の手順を示すフローチャートである。図9の左側のフローは、画像処理センサのコントローラ2における画像データの送信処理の手順を示しており、図9の右側のフローは、撮像装置1における画像データの取得処理の手順を示している。なお、処理手順自体は、外部のコンピュータ3の代わりに表示装置4を用いる場合であっても同様である。
図9において、コントローラ2は、撮像を開始する撮像タイミング信号(トリガ信号)を受信したか否かを判断する(ステップS901)。コントローラ2が、撮像タイミング信号(トリガ信号)を受信していないと判断した場合(ステップS901:NO)、コントローラ2は、受信待ち状態となる。なお、撮像タイミング信号(トリガ信号)は、I/Oコネクタ213から受信しても良いし、親機である一のコントローラ2pに近い位置の子機である他のコントローラ2qから受信しても良い。
コントローラ2が、撮像タイミング信号(トリガ信号)を受信したと判断した場合(ステップS901:YES)、コントローラ2は、撮像装置1に撮像タイミング信号(トリガ信号)を送信する(ステップS902)。
撮像装置1は、撮像を開始する撮像タイミング信号(トリガ信号)を受信したか否かを判断する(ステップS906)。撮像装置1が、撮像タイミング信号(トリガ信号)を受信していないと判断した場合(ステップS906:NO)、撮像装置1は、受信待ち状態となる。
撮像装置1が、撮像タイミング信号(トリガ信号)を受信したと判断した場合(ステップS906:YES)、撮像装置1は、設定されている撮像条件で検査対象物の撮像処理を実行し(ステップS907)、撮像された画像データに対してフィルタ処理等の前処理を実行する(ステップS908)。撮像装置1は、前処理後の画像データをコントローラ2へ送信する(ステップS909)。
コントローラ2は、撮像装置1から画像データを受信したか否かを判断する(ステップS903)。コントローラ2が、画像データを受信していないと判断した場合(ステップS903:NO)、コントローラ2は、画像データの受信待ち状態となる。
コントローラ2が、画像データを受信したと判断した場合(ステップS903:YES)、コントローラ2は、受信した画像データに対して画像処理を実行し(ステップS904)、画像処理後の画像データを外部のコンピュータ3へ送信する(ステップS905)。
なお、画像データを外部のコンピュータ3へ送信するタイミングは、送信する画像データとは別の画像データに対して画像処理が実行されている間であっても良い。つまり、他の画像データに対する色面積検出処理、パターン検索処理等の実行中に送信しても良いし、次の画像を撮像するための撮像タイミング信号(トリガ信号)を撮像装置1へ送信する前であっても良い。
また、外部のコンピュータ3あるいは表示装置4の表示画面からGUI操作により、コントローラ2のうち、どのコントローラ2のどの画像データであるかの選択を受け付けることができる。例えば、複数のコントローラ2の候補の中から選択を受け付け、選択されたコントローラ2に接続されている撮像装置1で撮像された最新の画像データ及び欠陥の有無等の判定結果を表示するよう要求することができる。外部のコンピュータ3あるいは表示装置4からの選択は、コントローラ2、撮像装置1の撮像処理、画像処理とは独立して受け付けることができ、独立して親機である一のコントローラ2pへ送信することができる。
複数のコントローラ2が直列に連結されている場合も同様である。例えば親機(コントローラ)2p、子機(コントローラ)2q(1)、子機(コントローラ)2q(2)の3台が直列に連結されている場合、外部のコンピュータ3あるいは表示装置4の表示画面から子機2q(2)の選択を受け付けたとき、画像データを読み出す信号は、親機2p、子機2q(1)を経由して子機2q(2)へ送信される。子機2q(2)のメイン基板21のイーサネット通信制御部207は、外部のコンピュータ3あるいは表示装置4と通信を確立して、画像データ記憶部205に記憶されている画像データを、イーサネットスイッチ210を介して、子機2q(1)、親機2pをスルーして、外部のコンピュータ3あるいは表示装置4へ送信する。
このとき、画像データを読み出す信号は、親機2pのイーサネットコネクタ214から親機2pのイーサネットスイッチ210に入力される。親機2pのイーサネットスイッチ210は、親機2pの画像データを読み出すわけではないので、親機2pのメイン基板21とはデータ通信することなく、画像データを読み出す信号は、親機2pの連結コネクタ211を経由し、子機2q(1)の連結コネクタ211を経て、子機2q(1)のイーサネットスイッチ210に入力される。
子機2q(1)のイーサネットスイッチ210においても、親機2pと同様、子機2q(1)の画像データを読み出すわけではないので、子機2q(1)のメイン基板21とはデータ通信することなく、画像データを読み出す信号は、子機2q(1)より親機2pから離れている一の連結コネクタ211を経由し、子機2q(2)の連結コネクタ211を経て、子機2q(2)のイーサネットスイッチ210に入力される。子機2q(2)のイーサネットスイッチ210では、子機2q(2)の画像データの読み出しであると判定し、子機2q(2)のメイン基板21に外部のコンピュータ3からの画像データを読み出す信号を送信する。子機2q(2)のメイン基板21内の画像データ記憶部205に記憶された画像データは、同じ経路をたどって外部のコンピュータ3に送信される。
画像データは、子機2q(2)のイーサネットスイッチ210、連結コネクタ211、子機2q(1)の親機2pから離れている位置の連結コネクタ211、イーサネットスイッチ210、親機2pに近い位置の連結コネクタ211、親機2pの連結コネクタ211、イーサネットスイッチ210、イーサネットコネクタ214を経て、外部のコンピュータ3に送信される。このとき、接続された子機2q(2)以外のコントローラ2のメイン基板21には、画像データは送信されない。
もちろん、最新の画像データだけではなく、画像データ記憶部205に記憶されている過去の画像データ及び欠陥の有無等の判定結果を表示するよう要求することができる。
以上のように本実施の形態1によれば、検査対象物を撮像する撮像部12及び該検査対象物に光を照射する照明部11を有する撮像装置1と、撮像装置1の撮像部12で取得した画像データに対して画像処理を実行し、検査対象物の良否を判定するコントローラ2とを別個に備えるので、撮像装置1自体を小型化することができ、互いに隣接して配置する場合であっても、検査対象物の近辺に撮像装置1を配置するための小スペースさえあれば配置することができるので、配置する位置の制約が少ない。また、コントローラ2の少なくとも親機2pにのみ、外部のコンピュータ3あるいは表示装置4とデータ通信することが可能なイーサネットコネクタ(通信インタフェース)214を備えており、子機2qは、少なくとも親機2pのイーサネットコネクタ(通信インタフェース)214を介して外部のコンピュータ3あるいは表示装置4とデータ通信する。したがって、子機2qは、親機2pの演算処理負荷を増大させることなく、独立して外部のコンピュータ3あるいは表示装置4とデータ通信することができる。さらに、外部のコンピュータ3あるいは表示装置4とのデータ通信に用いるイーサネットコネクタ(通信インタフェース)214と接続されるケーブル類、例えばイーサネットケーブル23は、少なくとも親機2pにのみ備えているので、複数の画像処理センサを用いる場合であってもケーブル類の配線が煩雑になることがない。連結された複数の画像処理センサの撮像装置1で取得した画像データは、イーサネットケーブル23を介して外部のコンピュータ3あるいは表示装置4へ送信することができる。
図10は、本発明の実施の形態1に係る画像処理センサのコントローラ2のイーサネットスイッチ210の接続形態を示す模式回路図である。図10に示すように、本実施の形態1では、隣接するコントローラ2のイーサネットスイッチ210間は信号線で接続され、絶縁素子であるパルストランスを必要とせず、イーサネットスイッチ210間にパルストランスが接続されていない。したがって、部品点数を少なくすることができるので、製造コストを低減することができるとともに、配置によってはコントローラ2を小型化することも可能となる。パルストランスは、外部のコンピュータ3あるいは表示装置4とデータ通信する場合には、ノイズ耐性を向上させるという効果を奏することができる。しかし、本実施の形態1におけるイーサネットスイッチ210は、内部のデータ通信のみに使用するので、あえて設ける必要性がない。したがって、その分製造コストの低減を図ることができる。
(実施の形態2)
本発明の実施の形態2に係る画像処理センサの構成は、実施の形態1と同様であることから、同一又は類似の機能を有する構成要素については同一の符号を付することで詳細な説明を省略する。本実施の形態2は、各コントローラ2での処理結果を、親機(一のコントローラ)2pに一括して記憶する点で、実施の形態1とは相違する。
図11は、本発明の実施の形態2に係る画像処理センサのコントローラ2のハードウェア構成を示すブロック図である。図11では、親機として機能する一のコントローラ2p及び子機として機能する他のコントローラ2qとが隣接して接続されており、他のコントローラ2qがさらに直列に連続して接続されている構成を示している。本実施の形態2では、親機である一のコントローラ2pは、マイクロコンピュータ、FPGA、DSP、ゲートアレイ等で構成されたメイン基板21に、連結コネクタ211、撮像装置コネクタ212、I/Oコネクタ213、イーサネットコネクタ214、及び電源端子215が接続されている。また、子機である他のコントローラ2qは、メイン基板21に、連結コネクタ211、撮像装置コネクタ212、及びI/Oコネクタ213が接続されているが、親機である一のコントローラ2pとは異なり、イーサネットコネクタ214、及び電源端子215が設けられていない。つまり、イーサネットコネクタ214は、画像処理の処理結果を一括して記憶する画像処理結果記憶部206を設けてある親機2pのみに備えている。また、実施の形態2における子機である他のコントローラ2qは、実施の形態1における子機である他のコントローラ2qと比べて、画像処理結果記憶部206を備えておらず、装置間通信制御部220を備えている点で相違する。
なお、メイン基板21は、マイクロコンピュータ、FPGA、DSP、ゲートアレイ等の単体で構成することに限定されるものではなく、例えばFPGAとDSP、DSPとゲートアレイのように組み合わせて構成しても良いし、複数のDSPで構成して並列処理しても良い。メイン基板21は、機能ブロックとしてトリガ制御部201、I/O制御部202、相互干渉制御部203、画像処理部204、画像データ記憶部205、画像処理結果記憶部206、イーサネット通信制御部207、設定記憶部208、撮像装置通信制御部209、装置間通信制御部220等を備えている。
少なくとも親機2pの画像処理結果記憶部206は、子機2qで画像処理された画像データ及びパターン検索処理等の処理結果も含めて一括して記憶する。コントローラ2間(親機−親機間、子機−子機間)の画像データ及び処理結果の送受信は、装置間通信制御部220を介して実行される。
イーサネット通信制御部207は、イーサネット通信を制御し、画像データ記憶部205に記憶されている画像データ、又は画像処理結果記憶部206に記憶されている処理結果等の外部のコンピュータ3あるいは表示装置4への出力、設定データの送受信等を実行する。設定記憶部208は、例えばIPアドレス、MACアドレス、相互干渉防止機能の設定データ等の設定情報を記憶する。
本実施の形態2では、イーサネットスイッチ210は備えていない。少なくとも親機2pに一括して記憶されている処理結果を、外部のコンピュータ3あるいは表示装置4へ送信すれば足りるからである。
したがって、連結コネクタ211は、隣接するコントローラ2を連結して、例えば相互干渉トリガ信号等の制御信号、画像データ等の他、子機2qで画像処理された処理結果の送受信経路としても機能する。そして電力も、連結コネクタ211を介して電源端子215からそれぞれの子機2qへ供給される。
イーサネットコネクタ214は、少なくとも親機2pに設ける。イーサネットコネクタ214は、メイン基板21と接続されており、子機2qが外部のコンピュータ3あるいは表示装置4とデータ通信する場合には、イーサネットコネクタ214を介する。すなわち、外部のコンピュータ3あるいは表示装置4から親機2pに対して画像データ取得の要求があった場合には、親機2pが子機2qから画像データを取得し、親機2pに集約された子機2qの画像データを、一括して外部のコンピュータ3へ出力する。
なお、実施の形態1と同様、電源端子215は、親機2pのみに備える。子機2qへは、連結コネクタ211を介して親機2pから電力を供給する。このような構成とすることで、複数の画像処理センサを用いる場合であっても、イーサネットケーブル23あるいは電源ケーブル等のケーブル類の配線を簡略化することができ、画像処理センサの付け替えや交換等を容易に行うことができる。
以上のように本実施の形態2によれば、少なくとも親機2pは、イーサネットコネクタ(通信インタフェース)214を経由して外部のコンピュータ3(表示装置4)とデータ通信するので、記憶されている処理結果を、子機2qにおける処理結果も含めて、任意のタイミングで一括して外部のコンピュータ3(表示装置4)へ送信することができる。
なお、本実施の形態2では、接続対象となるコントローラ2の一覧表示において、イーサネット通信に必要なMACアドレス、IPアドレス等は、少なくとも親機2pにのみ必要であり、子機2qには不要である。図12は、本発明の実施の形態2に係る画像処理センサシステムの外部のコンピュータ3で表示されるコントローラ2の一覧の例示図である。
図12の例では、実施の形態1と同様、イーサネットコネクタ214及び電源端子215を備えるコントローラ2を親機2p、それ以外のコントローラ2を子機2qとしている。親機2pには、撮像装置1の型式、MACアドレス、IPアドレス、サブネットマスク、デフォルトゲートウェイを表示する。それに対して、子機2qには撮像装置1の型式だけで足りる。したがって、画像処理センサの付け替えや交換等を行った場合であっても、設定情報の更新量が少なくて済む。
(実施の形態3)
本発明の実施の形態3に係る画像処理センサの構成は、実施の形態1及び2とほぼ同様であることから、同一又は類似の機能を有する構成要素については同一の符号を付することで詳細な説明を省略する。本実施の形態3は、外部のコンピュータ3あるいは表示装置4とデータ通信するための通信ユニットを、コントローラ2とは別個に備えている点で、実施の形態1及び2とは相違する。
図13は、本発明の実施の形態3に係る画像処理センサのハードウェア構成を示すブロック図である。図13では、親機として機能する一のコントローラ2p及び子機として機能する他のコントローラ2qとが隣接して接続されており、他のコントローラ2qがさらに直列に連続して接続されている。連続して接続されている他のコントローラ2qの最後(又は中途)に通信ユニット5が連結されている。
図13において、親機である一のコントローラ2pは、マイクロコンピュータ、FPGA、DSP、ゲートアレイ等で構成されたメイン基板21に、連結コネクタ211、撮像装置コネクタ212、I/Oコネクタ213、及び電源端子215が接続されている。また、子機である他のコントローラ2qは、メイン基板21に、連結コネクタ211、撮像装置コネクタ212、及びI/Oコネクタ213が接続されている。
なお、メイン基板21は、マイクロコンピュータ、FPGA、DSP、ゲートアレイ等の単体で構成することに限定されるものではなく、例えばFPGAとDSP、DSPとゲートアレイのように組み合わせて構成しても良いし、複数のDSPで構成して並列処理しても良い。メイン基板21は、機能ブロックとしてトリガ制御部201、I/O制御部202、相互干渉制御部203、画像処理部204、画像データ記憶部205、画像処理結果記憶部206、設定記憶部208、撮像装置通信制御部209、装置間通信制御部220等を備えている。
コントローラ2間の画像データ及び処理結果の送受信は、装置間通信制御部220を介して実行され、外部のコンピュータ3(表示装置4)とのデータ通信は、通信ユニット5を経由して行われる。
また、通信ユニット5は、マイクロコンピュータ、FPGA、DSP、ゲートアレイ等で構成された通信基板51に、連結コネクタ504、イーサネットコネクタ505が接続されている。
また、通信基板51は、機能ブロックとしてイーサネット通信制御部501、設定記憶部502、装置間通信制御部503等を備えている。イーサネット通信制御部501は、イーサネット通信を制御し、接続されているコントローラ2ごとに画像データ記憶部205に記憶されている画像データ、又は画像処理結果記憶部206に記憶されている処理結果等の外部のコンピュータ3あるいは表示装置4への出力、設定データの送受信等を実行する。設定記憶部502は、例えば各コントローラ2のIPアドレス、MACアドレス、相互干渉防止機能の設定データ等の設定情報を一括して記憶する。装置間通信制御部503は、親機2p及び子機2qとの間のデータ通信を制御し、親機2p及び子機2qとの間で画像データ及び処理結果の送受信を行う。
連結コネクタ504は、隣接するコントローラ2と連結して、例えば相互干渉トリガ信号等の制御信号、画像データ等の他、子機2qで画像処理された処理結果の送受信経路としても機能する。そして親機2pの電源端子215から供給される電力も、連結コネクタ504を介して通信ユニット5へ供給される。
イーサネットコネクタ(他の通信インタフェース)505は、通信ユニット5にのみ設ける。イーサネットコネクタ505は、通信基板51と接続されており、コントローラ2が外部のコンピュータ3あるいは表示装置4とデータ通信する場合には、通信ユニット5の通信基板51による処理が必要となる。
なお、実施の形態1及び2と同様、電源端子215は、少なくとも親機2pにのみ備える。子機2q及び通信ユニット5へは、連結コネクタ211を介して、親機2pから電力を供給する。親機2pから電力を供給することで、通信ユニット5を備えていない場合であっても、親機2p、子機2qは画像処理センサとして動作させることができる。このようにすることで、複数の画像処理センサを用いる場合であっても、通信ケーブルあるいは電源ケーブル等のケーブル類の配線を簡略化することができ、画像処理センサの付け替えや交換等を容易に行うことができる。なお、後述する相互干渉防止トリガ信号は、通信ユニット5側から送信しても良いし、親機2p側から送信しても良い。
以上のように本実施の形態3によれば、外部のコンピュータ3(表示装置4)とデータ通信するイーサネットコネクタ(他の通信インタフェース)505を有する通信ユニット5を別個に備えるので、画像処理センサは、通信ユニット5の通信インタフェースを経由して、外部のコンピュータ3とデータ通信することができる。
なお、本実施の形態3では、接続対象となるコントローラ2の一覧表示において、イーサネット通信に必要なMACアドレス、IPアドレス等は、通信ユニット5にのみ必要であり、親機2pにも、子機2qにも不要である。図14は、本発明の実施の形態3に係る画像処理センサシステムの外部のコンピュータ3で表示されるコントローラ2の一覧の例示図である。
図14の例では、電源端子215を備えるコントローラ2を親機2p、それ以外のコントローラ2を子機2qとしている。通信ユニット5には、通信ユニット5の型式、撮像装置1の型式、MACアドレス、IPアドレス、サブネットマスク、デフォルトゲートウェイを表示する。それに対して、コントローラ2には、親機2pも子機2qも撮像装置1の型式だけで足りる。したがって、画像処理センサの付け替えや交換等を行った場合であっても、設定情報の更新量が少なくて済む。
(実施の形態4)
本発明の実施の形態4は、上述した実施の形態1乃至3に示す画像処理センサシステムにおいて相互干渉を防止する方法に関するものである。図15は、本発明の実施の形態4に係る画像処理センサシステムの撮像装置1の照明の照射領域の重なり状態を示す図である。撮像装置1を小型化した場合、撮像装置1を互いに近接させて配置することが多くなる。撮像装置1自体は小型化することはできるが、撮像領域及び照射領域が小さくならない場合には、照射領域が重なり合う現象が生じやすくなる。この場合、一の撮像装置1の照射領域161と他の撮像装置1の照射領域162とが近接するので、両者の間に照射領域が互いに重なり合う領域163が生じる。
通常、照明の照射領域内に撮像装置1の撮像領域が収まるように、照射領域と撮像領域とを設定する。隣接して配置された他の撮像装置1の照射領域が、一の撮像装置1の照射領域と重なることで、照射領域が互いに重なり合う領域163が生じた場合、撮像装置1による撮像領域に照射領域が互いに重なり合う領域163が含まれる現象が生じうる。
それぞれの画像処理センサは、独立して一つの画像処理センサとして機能するので、隣接する画像処理センサを含め、自らのタイミングで照明による検査対象物への照射、照明の消灯、撮像、画像処理を行うよう動作させる。近接して配置された画像処理センサの照明領域が重なる場合であっても、それぞれの照明による照射タイミングが合わない限り、照射領域が互いに重なり合う領域163は生じない。
このような照射領域が互いに重なり合う領域163が撮像装置1による撮像領域に含まれる場合は、照明が明るすぎていわゆる白飛びが発生し、撮像される画像の品質を高く維持することが困難である。また、一の画像処理センサの撮像領域に、他の画像処理センサの照明が照射された場合には、撮像時に他の画像処理センサの照明により照射された部分の明るさが強すぎるため、検査対象物の正常な画像データを取得することが困難となる。
本実施の形態4では、撮像装置1の配置に依存することなく、このような照射領域が互いに重なり合う領域163が生じないよう、撮像装置1の照明部11の照射及び/又は消灯のタイミングと、隣接する、あるいは近接して配置された撮像装置1の撮像タイミングとを調整するための相互干渉防止制御を行う。
本発明の実施の形態4に係る画像処理センサの構成自体は、実施の形態1乃至3と同様であることから、同一の機能を有する構成要素については同一の符号を付することにより詳細な説明は省略する。実施の形態1乃至3のいずれの構成であっても良いが、コントローラ2の機能ブロックの相互干渉制御部203を機能させる点に特徴を有する。
図16は、本発明の実施の形態4に係る画像処理センサのコントローラ2のハードウェア構成を示すブロック図である。図16にはあえて図示していないが、本実施の形態4に係る画像処理センサの少なくとも親機(一のコントローラ)2pにおいても、実施の形態1と同様にマイクロコンピュータ、FPGA、DSP、ゲートアレイ等で構成されたメイン基板21に、イーサネットスイッチ210、連結コネクタ211、撮像装置コネクタ212、I/Oコネクタ213、電源端子215が接続されている。また、他のコントローラ2では、イーサネットスイッチ210、連結コネクタ211、撮像装置コネクタ212、I/Oコネクタ213が接続されている。
なお、メイン基板21は、マイクロコンピュータ、FPGA、DSP、ゲートアレイ等の単体で構成することに限定されるものではなく、例えばFPGAとDSP、DSPとゲートアレイのように組み合わせて構成しても良いし、複数のDSPで構成して並列処理しても良い。メイン基板21は、機能ブロックとしてトリガ制御部201、I/O制御部202、相互干渉制御部203、画像処理部204、画像データ記憶部205、画像処理結果記憶部206、イーサネット通信制御部207、設定記憶部208、撮像装置通信制御部209等を備えている。実施の形態1と同一の符号を付している機能ブロックについては詳細な説明は省略する。
相互干渉制御部203は、相互干渉防止トリガ信号を、隣接して接続されているコントローラ2へ送信する。つまり、隣接するコントローラ2は、互いに遅延時間経過、照明点灯、撮像、照明消灯の一連の処理が完了した時点で、相互干渉防止トリガ信号を生成して送信する。
図16の例では、4つのコントローラ2a、2b、2c、2dを、第1グループ2Aと第2グループ2Bとにグループ化している。第1グループ2Aには、コントローラ2a、2bが属し、第2グループ2Bには、コントローラ2c、2dが属する。
相互干渉防止トリガ信号Trg3により、画像処理センサのコントローラ2、あるいはグループ単位で照射及び撮像のタイミングを、相互干渉しないように制御する。本実施の形態4では、複数のスイッチSW1、SW2、SW3を切り替えることで、グループ単位で相互干渉防止機能のオンオフを切り替え、トリガ信号Trg1〜3により照射及び撮像のタイミングを制御している。
例えばグループ単位で相互干渉防止機能をオン状態にするか否かは、複数のスイッチSW1、SW2、SW3を切り替えることにより制御することができる。図17は、本発明の実施の形態4に係る画像処理センサのコントローラ2のスイッチ切り替え処理の手順を示すフローチャートである。
図17において、画像処理センサのコントローラ2は、外部のコンピュータ3からの情報に基づいて、相互干渉防止機能をオフにするか否かを判断する(ステップS1701)。ここで、相互干渉防止機能をオフにするとは、オフにするか否かを判断するコントローラ2と、制御対象となるコントローラ2とが、別のグループに属する場合を想定している。
図16の例であれば、コントローラ2bは、親機であるコントローラ2aと同じグループに属するので、相互干渉防止機能はオンにする。また、コントローラ2dは、コントローラ2cと同じグループに属するので、相互干渉防止機能はオンにする。
これに対して、コントローラ2cは、親機2aと接続されているコントローラ2bとは別のグループに属するので、コントローラ2cの相互干渉防止機能はオフにする。
コントローラ2が、相互干渉防止機能をオフにすると判断した場合(ステップS1701:YES)、コントローラ2は、スイッチSW1をTrg2側に、スイッチSW2をOFFに、スイッチSW3をGND側に、それぞれ切り替える(ステップS1702)。図16の例では、コントローラ2cは相互干渉防止機能がオフになる。
コントローラ2が、相互干渉防止機能をオンにすると判断した場合(ステップS1701:NO)、コントローラ2は、スイッチSW1をTrg3側に、スイッチSW2をONに、スイッチSW3をD_RST3側に、それぞれ切り替える(ステップS1703)。図16の例では、コントローラ2b、コントローラ2dは、相互干渉防止機能がオンになる。
これにより、相互干渉防止機能を利用したいグループの設定が完了する。不必要に多くのコントローラ2に相互干渉防止機能を設定した場合、相互干渉防止のために他の処理に遅れが生じうる。したがって、必要な範囲内でのみグループを構成し、構成されたグループ内でのみ相互干渉防止機能を機能させる。グループの構成の方法には種々のものがあるが、撮像領域が近い画像処理センサ、撮像装置1が互いに近くに配置されている画像処理センサ、一の照明部11からの照射が他の撮像領域又は照射領域に入りうる画像処理センサ等を一のグループとして構成し、相互干渉しないよう設定することができる。
相互干渉防止機能のオンオフの設定は、外部のコンピュータ3あるいは表示装置4に表示される設定画面から受け付ける。図18は、本発明の実施の形態4に係る画像処理センサシステムの外部のコンピュータ3あるいは表示装置4における相互干渉防止機能のオンオフ(有効/無効)の設定画面の例示図である。図18に示すように、選択された画像処理センサで撮像された画像が検査対象物表示領域181に表示され、ユーザは表示された画像を見て、相互干渉防止機能を有効にするか否かを入力する。
具体的には、撮像条件設定領域182において、「トリガ条件」の選択を受け付ける。内部トリガは指定した時間間隔で撮像を開始する設定であり、外部トリガはPLC等から入力されるタイミングで撮像を開始する設定である。トリガ条件の設定の中に、相互干渉防止機能のオンオフを設定する相互干渉防止機能設定ボタン183が表示されている。ユーザは、「有効」ボタン又は「無効」ボタンのいずれかを選択することにより、相互干渉防止機能をオン状態又はオフ状態にすることができる。外部のコンピュータ3あるいは表示装置4で相互干渉防止機能を有効又は無効に設定し、画像処理センサ(コントローラ2)に送信することで、それぞれの画像処理センサは、相互干渉防止機能を有効又は無効に設定される。
なお、相互干渉防止機能のオンオフを、個別の画像処理センサごとに一つずつ設定するのではなく、外部のコンピュータ3あるいは表示装置4に接続された画像処理センサのすべてを一括して設定することもできる。図19は、本発明の実施の形態4に係る画像処理センサシステムの外部のコンピュータ3あるいは表示装置4における相互干渉防止機能のオンオフの一括設定画面の例示図である。
図19の例では、親機と子機No.1、No.2、No.3、No.4及びNo.5とが連結されている。図19に示すように、コントローラ2ごとにグループを設定することができる。図19の例では、親機と子機No.1とをグループ1として設定し、グループ1内で相互干渉防止機能を発揮させている。また、親機と子機No.3、No.4、No.5とをグループ3として設定し、子機No.2は、グループ1、3とは別のグループとして設定している。このように、外部のコンピュータ3あるいは表示装置4でグループを設定した後、図19に示す「設定変更」ボタンを選択することで、外部のコンピュータ3あるいは表示装置4から各画像処理センサ(コントローラ2)に相互干渉防止機能を機能させるか否かを設定する信号が送信され、送信された信号に基づいて、コントローラ2が制御信号(相互干渉防止トリガ信号Trg3)の発信を制御する。
また、トリガ信号Trg2は、I/Oコネクタ213で受け付けることもできる。これにより、例えばグループAについては、外部のコンピュータ3からトリガ信号Trg1の入力を、グループBについては、I/Oコネクタ213からトリガ信号Trg2の入力を、それぞれ受け付けることができる。
例えば、図19の例では、表示順にどのグループに属するかをコントローラ2ごとに設定できるようになっている。すべてのコントローラ2が同一のグループに属するように設定された場合、一のグループ内の各コントローラ2が相互干渉しないよう設定する必要がある。ここで、同一のグループ内に複数のコントローラ2がある場合、一のグループ内で相互干渉防止機能が動作し、一のグループ内の画像処理センサが干渉しないよう相互干渉防止トリガ信号Trg3が送信される。なお、隣接するグループの境目のコントローラ2間、図19の例では、子機No.1と子機No.2との間、子機No.2と子機No.3との間では、相互干渉防止トリガ信号Trg3が伝達されない。グループが別であれば、相互干渉防止する必要がないからである。
つまり、グループとして相互干渉を防止するものではないので、グループ間での相互干渉防止機能をオフに設定することを意味している。また、複数のグループが設定されている場合、グループ間で相互干渉防止機能をオンに設定することを意味している。設定された情報は、コントローラ2ごとに設定記憶部208に記憶される。
図20は、本発明の実施の形態4に係る画像処理センサのコントローラ2の相互干渉防止処理の手順を示すフローチャートである。図20において、画像処理センサのコントローラ2は、設定記憶部208を照会して、相互干渉防止機能がオフであるか否かを判断する(ステップS2001)。
コントローラ2が、相互干渉防止機能がオフであると判断した場合(ステップS2001:YES)、コントローラ2は、トリガ信号Trg1又はトリガ信号Trg2を受信したか否かを判断する(ステップS2002)。コントローラ2が、まだいずれの信号も受信していないと判断した場合(ステップS2002:NO)、コントローラ2は、受信待ち状態となる。トリガ信号Trg1又はトリガ信号Trg2は、コントローラ2の内部で発生させるトリガ信号であっても良いし、外部から入力されるトリガ信号であっても良い。
コントローラ2が、トリガ信号Trg1又はトリガ信号Trg2を受信したと判断した場合(ステップS2002:YES)、コントローラ2は、信号Done3がオンであるか否かを判断する(ステップS2003)。コントローラ2が、信号Done3がオフであると判断した場合(ステップS2003:NO)、コントローラ2は、トリガエラーを発生させ(ステップS2004)、処理をステップS2002へ戻して上述した処理を繰り返す。
コントローラ2が、信号Done3がオンであると判断した場合(ステップS2003:YES)、コントローラ2は、信号D_RST1又は信号D_RST2をオンにし、信号Done2をオフにして(ステップS2005)、処理をステップS2007へ進める。
コントローラ2が、相互干渉防止機能がオンであると判断した場合(ステップS2001:NO)、コントローラ2は、相互干渉防止トリガ信号Trg3を受信したか否かを判断する(ステップS2006)。コントローラ2が、相互干渉防止トリガ信号Trg3を受信していないと判断した場合(ステップS2006:NO)、コントローラ2は、受信待ち状態となる。
コントローラ2が、相互干渉防止トリガ信号Trg3を受信したと判断した場合(ステップS2006:YES)、コントローラ2は、相互干渉防止トリガ信号の受信から撮像開始までの遅延時間の設定が有るか否かを判断する(ステップS2007)。コントローラ2が、遅延時間の設定が無いと判断した場合(ステップS2007:NO)、コントローラ2は、処理をステップS2009へ進める。コントローラ2が、遅延時間の設定が有ると判断した場合(ステップS2007:YES)、コントローラ2は、設定されている遅延時間が経過したか否かを判断する(ステップS2008)。
コントローラ2が、設定されている遅延時間が経過していないと判断した場合(ステップS2008:NO)、コントローラ2は、経過待ち状態となる。コントローラ2が、設定されている遅延時間が経過したと判断した場合(ステップS2008:YES)、コントローラ2は、撮像装置1の照明部11へ点灯信号を送信し(ステップS2009)、撮像部12へ撮像処理の開始信号及び停止信号を送信して、撮像処理を実行する(ステップS2010)。
コントローラ2は、撮像装置1の照明部11へ消灯信号を送信し(ステップS2011)、画像データを受信して(ステップS2012)、画像処理を実行する(ステップS2013)。コントローラ2は、信号Done2をオンにして(ステップS2014)、処理を終了する。また、コントローラ2は、撮像装置1の照明部11へ消灯信号を送信した後(ステップS2011)、並行して相互干渉防止トリガ信号Trg3を送信して(ステップS2015)、処理を終了する。
ステップS2013における画像処理には、撮像した画像の台形補正、明るさ補正、位置補正等が含まれる。相互干渉防止トリガ信号Trg3は、検査対象物の撮像後(生の画像データの取得後、露光終了後)に送信さえすれば、たとえ相互干渉防止トリガ信号Trg3を受信してすぐに隣接する撮像装置1において照明部11の点灯を開始したとしても、相互干渉は生じない。
仮に、ステップS2013における画像処理の終了後に、相互干渉防止トリガ信号Trg3を送信した場合、ステップS2011における消灯信号の送信後、画像処理を開始するまでの間は、隣接して接続されている画像処理センサは撮像待ち状態となる。ステップS2013における画像処理には、相当の時間を要する場合もありえるからである。ステップS2011における消灯信号の送信後は、照明部11の照明が消えているので、相互干渉防止トリガ信号Trg3を受信する画像処理センサが撮像を開始したとしても、該画像処理センサの撮像領域内に隣接する画像処理センサの照明が照射されることはない。
ここで、ステップS2011において消灯信号を送信した後に、ステップS2015として相互干渉防止トリガ信号Trg3を送信している。相互干渉防止トリガ信号Trg3を送信するタイミングは特にこれに限定されるものではない。例えば、照明の点灯後、所定の時間が経過した後に照明が消灯するように、消灯するタイミングを見計らって相互干渉防止トリガ信号Trg3を送信しても良い。また、撮像処理開始後、所定の時間が経過した後に照明が消灯するように、消灯するタイミングを見計らって相互干渉防止トリガ信号Trg3を送信しても良く、照明が消灯するタイミングに関連した照射の完了に関する信号であれば良い。
図21は、本発明の実施の形態4に係る画像処理センサシステムの各種信号のタイミングチャートの例示図である。図21の例では、親機2pと子機2qとの間で相互干渉防止処理を行う場合のタイミングチャートを示している。
まず、タイミング(1)では、親機2pのトリガ信号Trg1がオン状態になる。しかし、子機2qでの画像処理が未完了(子機2qでの画像処理信号がオン状態のまま)であるため、親機2pの信号Done3はオフ状態のままとなっている。そのため、トリガエラー信号がオン状態となり、トリガエラーが発生する。
タイミング(2)では、親機2pのトリガ信号Trg1が再度オン状態になる。親機2pの信号Done3がオン状態のままであるので、親機2pの信号D_RST1がオン状態となり、親機2p及び子機2qの信号Done2がオフ状態となる。したがって、親機2pの照明制御信号及び露光制御信号がオン状態となり、親機2pの撮像装置1の制御を開始する。
タイミング(3)では、親機2pの照明制御信号及び露光制御信号がオフ状態となり、親機2pの画像処理信号がオン状態となり、親機2pの相互干渉防止トリガ信号Trg3がオン状態となる。したがって、子機2qの照明制御信号及び露光制御信号がオン状態となり、子機2qの撮像装置1の制御を開始する。
タイミング(4)では、子機2qの信号Done2がオン状態のまま、親機2pの画像処理信号がオフ状態となるので、親機2pの信号Done2がオン状態となる。したがって、親機2pの信号Done3がオン状態となり、次のトリガ信号を受け付け可能となる。
以上のように本実施の形態4によれば、隣接して配置されている一方の画像処理センサのコントローラ2は、撮像及び照射が完了したことを示す信号を、他方の画像処理センサのコントローラ2へ送信し、他方の画像処理センサのコントローラ2は、信号を受信した後に撮像及び照射を開始するので、画像処理センサの撮像装置1を隣接して配置する場合であっても光の照射による干渉が生じず、撮像する画像の品質を低下させることがない。また、一又は複数の画像処理センサで一のグループを構成し、一の画像処理センサのコントローラ2は、撮像及び照射が完了したことを示す信号を、他の画像処理センサのコントローラ2へ送信し、他の画像処理センサのコントローラ2は、信号を受信した時点で撮像及び照射を開始する。これにより、グループ内では光の照射による干渉が生じず、撮像する画像の品質を低下させることがない。
上述した実施の形態4では、各コントローラ2は、他のコントローラ2の設定情報が必要となった場合、都度取得すれば足りるが、もちろん、親機2pが子機2qの設定情報を一括して取得し、集中的に管理していても良い。
本実施の形態4では、複数の画像処理センサを用い、複数の撮像装置1が隣接又は近接して配置される場合に適用することができる。撮像装置1同士が隣接して、互いに接触して配置されている場合、撮像装置1同士が近接して配置されている場合も含まれる。複数の画像処理センサが同じ検査対象物を撮像する場合でなくても、本実施の形態4を適用することは可能である。
(実施の形態5)
本発明の実施の形態5は、上述した実施の形態1乃至4に示す画像処理センサシステムにおいてネットワーク接続のミスにより発生する通信ループを検出する方法に関するものである。図22は、本発明の実施の形態5に係る画像処理センサシステムの通信ループが発生するおそれのある接続状態の例示図である。
図22に示すように、本実施の形態5に係る画像処理センサシステムで用いる画像処理センサは、撮像装置1と、撮像装置1とデータ通信することが可能に接続ケーブルで接続されている画像処理装置(以下、コントローラ)2とで構成されている。
撮像装置1は、検査対象物を撮像する撮像素子を有するカメラモジュール(撮像部)と、検査対象物に対して光を照射する照明部とを備えている。撮像装置1を小型化するべく、画像処理を実行するコントローラ2は、撮像装置1とは別個に備えている。画像処理は、撮像装置1内で一部の処理(フィルタ処理等の前処理)を実行し、実行後の画像データをコントローラ2へ送信して、残りの画像処理をコントローラ2で実行しても良いし、撮像した画像をそのままコントローラ2へ送信しても良い。
撮像装置1と接続ケーブルで接続されているコントローラ2は、それぞれ内部に画像処理を実行するFPGA、DSP等を備えており、撮像装置1の撮像部、照明部の動作を制御するとともに、取得した画像に対して画像処理を実行する。特にDSPは、画像に対して、色面積検出処理、パターン検索処理等を実行する。さらに、画像処理の結果として、検査対象物を検出したか否かで検査対象物の良否を示すOK/NG信号(判定信号)を出力する。もちろん、場合によってはFPGAが実行するようにしても良い。OK/NG信号は、コントローラ2p、2qに備えるI/Oコネクタ213から、それぞれI/Oケーブルを経由して外部のPLC、他の光電センサ・近接センサ、表示灯等(以下、PLC等)へ出力される。I/Oコネクタ213は、親機2pだけでなく子機2qを含め各コントローラ2に設けられている。
隣接して配置されている複数のコントローラ2は、図4に示す連結コネクタ211を介して互いにデータ通信することが可能に接続されている。互いに接続されている複数のコントローラ2のうち、少なくとも一のコントローラ2pは、親機としてイーサネットコネクタ214と電源端子215とを備えている。子機である他のコントローラ2qについても、イーサネットコネクタ224を備えている。図22では2個の子機2qが接続されているが、接続される子機の数はこれに限定されるものではなく、例えば4個の子機、8個の子機等、任意の数の子機を接続に設定することができる。また、2個の子機2qの右隣に、親機と子機とを有する2個のコントローラ2を接続しても良い。
複数の画像処理センサと外部のコンピュータ3あるいは表示装置4とは、少なくとも一のコントローラ(親機)2pのイーサネットコネクタ214とイーサネットケーブル23によりハブ240と接続され、ハブ240とイーサネットケーブル23を介して接続されることで、画像データのデータ通信を行う。隣接して配置されている複数のコントローラ2は、連結コネクタ211を介することで互いにデータ通信を行う。
図22に示すように、一番右端の子機2qから誤ってイーサネットケーブル23bによりハブ240へ接続された場合、子機2qから本来は次の子機2qへ送信されるべきパケットが、親機2pへと戻ってくる。すなわち親機2pが送信したパケットと同一のパケットが親機2pへ戻ってくる、いわゆる通信ループが発生することになる(矢印241参照)。
したがって、イーサネットケーブル23の接続ミス等により通信ループが発生したか否かは、例えば送信したパケットと同一のパケットを受信したか否かにより判断することができる。図23は、本発明の実施の形態5に係る画像処理センサのコントローラ2の通信ループ検出処理の手順を示すフローチャートである。図23に示す通信ループの検出処理は、原則として子機2qで実行するが、親機2pで実行しても良いことは言うまでもない。
図23において、画像処理センサのコントローラ2は、一定時間間隔で検出パケットをブロードキャスト送信する(ステップS2301)。検出パケットの内容は特に限定されるものではないが、同一内容のパケットを検出したことを判断できる程度の情報量が必要である。
コントローラ2は、検出パケットと完全一致するパケットを受信したか否かを判断する(ステップS2302)。コントローラ2が、完全一致するパケットを受信していないと判断した場合(ステップS2302:NO)、コントローラ2は、一定時間経過したか否かを判断する(ステップS2303)。コントローラ2が、まだ一定時間経過していないと判断した場合(ステップS2303:NO)、コントローラ2は、処理をステップS2302へ戻して上述した処理を繰り返す。コントローラ2が、一定時間経過したと判断した場合(ステップS2303:YES)、コントローラ2は、通信ループが発生していないと判断して処理を終了する。
コントローラ2が、完全一致するパケットを受信したと判断した場合(ステップS2302:YES)、コントローラ2は、通信ループが発生していると判断して、通信ループ切断処理を実行する(ステップS2304)。通信ループ切断処理は特に限定されるものではないが、例えばコントローラ2を再起動するまで、親機2p−子機2q間のイーサネット通信、子機2q−子機2q間のイーサネット通信を切断し、配線更新後にコントローラ2を再起動させる方法でも良い。その他、親機2pでも通信ループの検出処理を実行し、親機2pと通信ループの発生が検出された子機2qとの間のイーサネット通信のみ、あるいは通信ループの発生が検出された子機2qと他の子機2qとの間のイーサネット通信のみを切断し、親機2pと他の子機2qとの間のイーサネット通信は停止させないようにしても良い。
上述した通信ループの検出方法は一実施例を示しているに過ぎず、他の方法を用いて通信ループの発生を検出しても良いことは言うまでもない。例えば自分宛てのパケットを送信しても良い。
以上のように本実施の形態5によれば、複数の画像処理センサのコントローラ2のうち、少なくとも一のコントローラ2において通信ループの発生を検出した場合、検出された通信ループを切断する処理を速やかに実行することができるので、例えば配線ミスのような初歩的なミスが生じた場合であっても確実に通信ループを解消することができる。
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨の範囲内であれば多種の変更、改良等が可能である。例えば撮像装置1とコントローラ2とは、接続ケーブルで直結されている形態に限定されるものではなく、LAN、WAN等のネットワーク網を介して接続されていても良いことは言うまでもない。また、上記実施例では、撮像装置1とコントローラ2とを別個に備えているが、小型化できるのであれば、両者が一体となっているタイプの画像処理センサであっても良い。この場合、画像処理センサ間を連結してデータ通信をすることができる。また、上記実施例では、親機である一のコントローラ2pにのみ電源端子215を備えているが、子機である他のコントローラ2qに備えていても良い。
また、上記実施例では、撮像装置1内に備える半導体装置にDSP、FPGA等を用いているが、とくにこれらに限定されるものではなく、同様の機能を実現することができる半導体装置であれば良いことは言うまでもない。
また、グループ間で相互干渉防止トリガ信号Trg3を伝達しない場合、本実施の形態4では図16に示すように、SW1を用いて相互干渉防止トリガ信号Trg3を別のグループの最前段の画像処理センサ(コントローラ2)に伝達しないようにしている。しかし、グループ間で相互干渉防止トリガ信号Trg3を伝達しない方法は、特にこれに限定されるものではない。例えば、グループの最後段(図16の例では、コントローラ2b又はコントローラ2d)が相互干渉防止トリガ信号Trg3を発信しないようにしても良い。また、グループの最前段(図16の例では、コントローラ2c)で相互干渉防止トリガ信号Trg3の入力を受け付けた場合であっても、入力を受け付けた相互干渉防止トリガ信号Trg3を用いて、又は相互干渉防止トリガ信号Trg3に基づいて、撮像動作を行なわないようにしても良い。