(57)【特許請求の範囲】
【請求項１】
直線状に整列配置された複数の投光素子を有する投光部と、
前記複数の投光素子にそれぞれ対向配置された複数の受光素子を有する受光部と、
前記複数の投光素子と前記複数の受光素子との間に形成される複数の光軸を検出エリアとし、光軸の選択が１スキャンするごとに前記複数の光軸の各々が遮光状態にあるか否かを判定し、その判定結果に基づいて検出信号を出力する検出処理部とを備え、
前記検出処理部は、前記複数の光軸のうちのいずれか少なくとも１つの光軸についての判定結果を無効化するブランキング機能が有効に設定されている場合において、遮光状態となる光軸の数が予め設定された最大光軸数より大きいとき、または予め設定された最小光軸数より小さいときには、前記検出信号を出力する一方で、
前記ブランキング機能が無効に設定されている場合において、遮光状態となる光軸の数が１以上であるときには、前記検出信号を出力する、多光軸光電センサシステム。
【請求項２】
物体を用いた学習を実行することにより、前記最大光軸数および前記最小光軸数を設定するティーチング処理部をさらに備え、
前記ティーチング処理部は、前記光軸の選択が１スキャンするごとに前記物体により遮光状態となる光軸数を取得するとともに、各スキャンにおいて取得される遮光光軸数を比較した結果に基づいて前記最大光軸数および前記最小光軸数を設定する、請求項１に記載の多光軸光電センサシステム。
【請求項３】
前記ティーチング処理部は、前記各スキャンにおいて取得される遮光光軸数のうちの最小値、または当該最小値から所定の光軸数を減算した値を前記最小光軸数に設定する、請求項２に記載の多光軸光電センサシステム。
【請求項４】
前記ティーチング処理部は、前記各スキャンにおいて取得される遮光光軸数のうちの最大値、または当該最大値に所定の光軸数を加算した値を前記最大光軸数に設定する、請求項２に記載の多光軸光電センサシステム。
【請求項５】
前記ティーチング処理部は、前記各スキャンにおいて取得される遮光光軸数のうちの最小値に所定の光軸数を加算した値を前記最大光軸数に設定する、請求項２に記載の多光軸光電センサシステム。
【請求項６】
前記ティーチング処理部は、前記各スキャンにおいて取得される遮光光軸数のうちの最大値から所定の光軸数を減算した値を前記最小光軸数に設定する、請求項２に記載の多光軸光電センサシステム。
【請求項７】
前記ティーチング処理部は、前記投光部および前記受光部の少なくとも一方に設けられる、請求項２から６のいずれか１項に記載の多光軸光電センサシステム。
【請求項８】
前記検出処理部は、前記投光部および前記受光部の少なくとも一方に設けられる、請求項１から７のいずれか１項に記載の多光軸光電センサシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多光軸光電センサシステムに関する。本発明は、特に、多光軸光電センサのフローティングブランキング機能を備えた多光軸光電センサシステムに関する。
【背景技術】
【０００２】
一般的な多光軸光電センサは、複数の投光素子が一列に配置された投光部と、投光素子と同数の受光素子が一列に配置された受光部とを備える。投光素子と受光素子とが一対一の関係で向かい合うように配置されて、複数の光軸による検出エリアが設定される。
【０００３】
投光部は、各投光素子を順次発光させる。受光部は、投光素子の発光動作に同期するタイミングで、各投光素子に対応する受光素子から、その受光素子の受光量を取り出す。これにより、多光軸光電センサの光軸ごとの遮光状態が順に検知される。受光部は、光軸ごとの検知結果を用いて、検出エリアに物体があるか否かを判別して、その判別結果を示す信号を出力する。投光部と受光部とを同期させるために、投光部と受光部とが通信線を介して接続される。あるいは投光部と受光部との間の光通信によって、投光部と受光部とを同期させる。
【０００４】
多光軸光電センサは、たとえば生産現場において作業者の安全のための装置として設置される。たとえば多光軸光電センサの検出エリアのいずれかの光軸において遮光状態が検出されると、生産設備の動作が停止される。製造装置によっては、多光軸光電センサの検出エリアの一部の光軸が常にワークなどの特定の物体で遮光された状態で使用される場合がある。このようなアプリケーションに対応するため、多光軸光電センサは、特定の物体で遮光される一部の光軸を無効化するブランキング機能を有している。このブランキング機能には、検出エリア内で遮光物体が固定されている場合に対応したフィックスブランキングと、検出エリア内を遮光物体が移動する場合に対応したフローティングブランキングとがある。
【０００５】
上記のように、多光軸光電センサにおける安全機能は、検出エリアのいずれかの光軸に遮光状態が発生すると、遮光される光軸の数に関係なく、直ちに生産設備の動作を停止させるものである。これに対して、ブランキング機能は、検出エリアを構成する複数の光軸のうち、予め設定された特定の条件を満たす光軸以外の光軸が遮光されたときに生産設備の動作を停止させるものである。この特定の条件を満たす光軸は、遮光物体のサイズおよび検出エリア内における位置に応じて、ユーザが自由に設定することができる。具体的には、フィックスブランキング機能においては、ユーザは、検出エリアのうちの無効化したい光軸を指定することができる。一方、フローティングブランキング機能においては、ユーザは、無効化したい光軸の数を設定することができる。
【０００６】
たとえば特開平２−２７１１９９号公報（特許文献１）には、工作機の光線式安全装置として、設定モードとして複数の光軸について全光軸のスキャンを行ない、遮光が検出されたすべての光軸を記憶するとともに、その後の実行モードのスキャンで、記憶された光軸以外の光軸の遮光が検出された場合に、予定の遮光物体以外の物体が危険領域内に入ったと判断して工作機の停止信号を出力する構成が開示されている。
【０００７】
また、特許第４４８１５４９号公報（特許文献２）に記載されるフローティングブランキング機能を備えた多光軸光電式安全装置においては、検出エリア内に部分的にフローティングブランキングエリアが設定される。これにより、設定されたエリアでフローティングブランキング機能が働き、他のエリアでは通常の安全機能が働く。特許文献２において、フローティングブランキングエリアは、ティーチング法によって設定される。具体的には、設定したいエリアに遮光物体を置き、遮光させた状態で、ティーチングボタンを押すことでフローティングエリアを指定する。これにより、遮光物体が存在しないエリアは、通常動作を行なうエリアとして指定される。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許平２−２７１１９９号公報
【特許文献２】特許第４４８１５４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
フローティングブランキング機能を正常に動作させるためには、無効化したい光軸数を、実際のアプリケーションにとって最適な値に設定する必要がある。しかしながら、実際のアプリケーションでは、機械の振動などに起因して検出エリア内における物体の位置が不規則に変化することがある。この物体の位置の不規則な変化によって、物体によって遮光される光軸の数が変化すると、予め設定された無効化したい光軸数と、実際に物体によって遮光される光軸数とが一致しない場合が起こり得る。すなわち、本来入光状態となる光軸が遮光状態になる場合や、本来遮光状態となる光軸が入光状態になる場合が生じる。この結果、多光軸光電センサにおいて通常の安全機能が働くため、機械が想定外に停止されてしまい、生産現場の生産性を阻害する要因となる。
【００１０】
ここで、多光軸光電センサにおいては、検出エリア内の遮光物体の存在を常時監視するブランキング監視機能を有するものがある。このブランキング監視機能は、ブランキング機能の使用中に検出エリアから遮光物体がいなくなったり、遮光物体が小さくなった場合に、ブランキング機能の異常と判断して、機械の動作を強制的に停止させる、あるいは、ブランキング機能を解除して検出エリアのすべてを有効とする機能である。上記のように、物体の位置の不規則な変化に起因して本来遮光状態となる光軸が入光状態になると、このブランキング監視機能が動作することにより、機械が想定外に停止する可能性がある。
【００１１】
このようなフローティングブランキング機能およびブランキング監視機能の誤動作を防止するためには、フローティングブランキング機能およびブランキング監視機能に関する設定値を実際のアプリケーションに最適な値に正確に設定する必要がある。しかしながら、上記の特許文献１および２は、無効化したいエリアを設定する手法を開示するにとどまり、上述した実際のアプリケーションでの課題を考慮した設定とはなっていない。
【００１２】
なお、従来の多光軸光電センサにおいては、計算または実機を使ってのカットアンドトライによって正確な設定値を導出する手法があるが、計算では使用する多光軸光電センサの最小検出感度や遮光物体のサイズなどを変数とした複雑な処理が必要となり、設定に多くの時間が費やされてしまう。カットアンドトライにおいても、設定値の絞り込みのために作業工数が膨大となるという問題がある。
【００１３】
この発明は、このような問題点を解決するためになされたものであって、その目的は、フローティングブランキング機能を備えた多光軸光電センサシステムにおいて、実際のアプリケーションに適応したブランキング機能の設定を正確かつ迅速に行なうことを可能とすることである。
【課題を解決するための手段】
【００１４】
本発明のある局面に従うと、多光軸光電センサシステムは、直線状に整列配置された複数の投光素子を有する投光部と、複数の投光素子にそれぞれ対向配置された複数の受光素子を有する受光部と、複数の投光素子と複数の受光素子との間に形成される複数の光軸を検出エリアとし、光軸の選択が１スキャンするごとに複数の光軸の各々が遮光状態にあるか否かを判定し、その判定結果に基づいて検出信号を出力する検出処理部とを備える。検出処理部は、検出エリア内を移動可能な物体によって複数の光軸のうちのいずれか少なくとも１つの光軸が常時遮光状態となる場合において、遮光状態となる光軸の数が予め設定された最大光軸数より大きいときには、検出信号を出力するように構成される。検出処理部は、遮光状態となる光軸の数が予め設定された最小光軸数より小さいときにも、検出信号を出力する。
【００１５】
好ましくは、多光軸光電センサシステムは、物体を用いた学習を実行することにより、最大光軸数および最小光軸数を設定するティーチング処理部をさらに備える。ティーチング処理部は、光軸の選択が１スキャンするごとに物体により遮光状態となる光軸数を取得するとともに、各スキャンにおいて取得される遮光光軸数を比較した結果に基づいて最大光軸数および最小光軸数を設定する。
【００１６】
好ましくは、ティーチング処理部は、各スキャンにおいて取得される遮光光軸数のうちの最小値、または当該最小値から所定の光軸数を減算した値を最小光軸数に設定する。
【００１７】
好ましくは、ティーチング処理部は、各スキャンにおいて取得される遮光光軸数のうちの最大値、または当該最大値に所定の光軸数を加算した値を最大光軸数に設定する。
【００１８】
好ましくは、ティーチング処理部は、各スキャンにおいて取得される遮光光軸数のうちの最小値に所定の光軸数を加算した値を最大光軸数に設定する。
【００１９】
好ましくは、ティーチング処理部は、各スキャンにおいて取得される遮光光軸数のうちの最大値から所定の光軸数を減算した値を最小光軸数に設定する。
【００２０】
好ましくは、ティーチング処理部は、投光部および受光部の少なくとも一方に設けられる。
【００２１】
好ましくは、検出処理部は、投光部および受光部の少なくとも一方に設けられる。
【発明の効果】
【００２２】
この発明によれば、検出エリア内を移動する特定の物体により遮光される一部の光軸を無効化するフローティングブランキング機能を備えた多光軸光電センサシステムにおいて、当該特定の物体を用いたティーチングを行なうことにより、フローティングブランキング機能に関する設定値としての最大光軸数、およびブランキング監視機能に関する設定値としての最小光軸数がそれぞれ設定される。これにより、フローティングブランキング機能およびブランキング監視機能に関する設定値を、実際のアプリケーションに最適な値に正確かつ迅速に設定することができる。この結果、生産性と安全性とを両立可能な多光軸光電センサシステムを簡易に構築することができる。
【図面の簡単な説明】
【００２３】
【図１】本実施の形態に係る多光軸光電センサシステムの構成例を模式的に示した図である。
【図２】本実施の形態に係る多光軸光電センサシステムの構成例を示す外観図である。
【図３】図２に示す多光軸光電センサの構成を示すブロック図である。
【図４】図３のパーソナルコンピュータの構成を示す図である。
【図５】多光軸光電センサシステムに設定される動作モードと各モード間の関係とを概略的に示す図である。
【図６】光軸方向から見た検出エリアを模式的に示した図である。
【図７】本実施の形態に係る多光軸光電センサシステムにおける制御構造を示すブロック図である。
【図８】図７に示す検出処理部のより詳細な構成を示す図である。
【図９】フローティングブランキングのためのティーチング処理を説明するための図である。
【図１０】フローティングブランキングのためのティーチング処理を説明するフローチャートである。
【図１１】本実施の形態に係る多光軸光電センサシステムにおける物体検出処理を説明するフローチャートである。
【図１２】本実施の形態に係る多光軸光電センサシステムにおける制御構造の変更例を示すブロック図である。
【図１３】ティーチングの実行中における異常検出処理を説明するフローチャートである。
【図１４】ティーチングの実行中におけるフィルタ処理を説明するフローチャートである。
【図１５】検出エリア選択処理を説明するための図である。
【図１６】ティーチングの実行中における検出エリア選択処理を説明するフローチャートである。
【図１７】複数の多光軸光電センサを有する多光軸光電センサシステムの一例を示す図である。
【図１８】ティーチングの実行中における多光軸光電センサ選択処理を説明するフローチャートである。
【図１９】ティーチングの実行中において、投受光処理をスキャンするごとに取得される遮光情報を示す図である。
【図２０】ティーチングの実行中における物体の動作速度検出処理を説明するフローチャートである。
【図２１】フローティングブランキングの実行中における物体の動作異常検出処理を説明するフローチャートである。
【発明を実施するための形態】
【００２４】
以下において、本発明の実施の形態について図面を参照して詳しく説明する。なお、図中同一符号は同一または相当部分を示す。また、本明細書においては、特に必要のない限り、光ビームの進行方向を表す点線、および、その光ビームを「光軸」と表現する。
【００２５】
図１は、本実施の形態に係る多光軸光電センサシステムの構成例を模式的に示した図である。図１を参照して、本実施の形態に係る多光軸光電センサシステムにおいて、センサ装置は、多光軸光電センサＳＮＳとして実現される。
【００２６】
多光軸光電センサＳＮＳは、投光部１と、受光部２とを備える。投光部１は、複数の発光素子１１（投光素子）を有する。受光部２は、発光素子１１と対向配置された受光素子２１（図４参照）を複数有する。複数の発光素子１１と複数の受光素子２１とが一対一の関係で位置合わせされる。したがって、複数の光軸から構成される２次元の検出エリアＬＣが設定される。
【００２７】
図１に示す例では、検出エリアＬＣの手前側が「安全側エリア」に設定され、検出エリアＬＣの奥側が「危険側エリア」に設定される。危険側エリアには、図示しない機械（たとえば生産設備）が設置されている。多光軸光電センサＳＮＳからの検出信号は、当該機械の電源供給回路（図示せず）に出力される。検出エリアＬＣが全く遮光されていない場合、多光軸光電センサＳＮＳから「非検出」の状態を示す信号が出力される。検出エリアＬＣの少なくとも一部が遮光された場合、多光軸光電センサＳＮＳの出力が停止する。言い換えれば、検出信号が「非検出」の状態から「検出」の状態に切替えられる。機械の電源供給回路は、検出信号が「検出」の状態に切替わったことに応答して、機械の動作を停止させる。
【００２８】
上記機械の電源供給回路は、多光軸光電センサＳＮＳから「検出」の状態を示す信号を受けると、機械に対する電源供給を停止することにより機械を安全が確保された状態に移行させる。この場合、「検出」の状態を示す信号は、停止信号として使用されるということができる。機械は、「検出」の状態を示す信号を受けたとき、機械全体の電源を遮断する代わりに、機械の中の危険な部分だけの動作を停止させたり、危険な部分の動作の速度を遅くしたりすることにより、安全を確保するようにしてもよい。
【００２９】
本実施の形態では、検出エリアＬＣを構成する複数の光軸のうちの一部の光軸が、特定の物体ＯＢによって常に遮光された状態となっている。この物体ＯＢは、たとえば危険側エリアに設置された機械の一部分であり、図中に矢印で示すように、検出エリアＬＣ内を移動する。多光軸光電センサＳＮＳは、フローティングブランキング機能を使用することにより、移動する物体ＯＢによって一時的に遮光状態となる一部の光軸を無効化することが可能に構成されている。これによれば、物体ＯＢによって遮光されている一部の光軸以外の光軸が遮光された場合に、多光軸光電センサＳＮＳの検出信号が「非検出」の状態から「検出」の状態に切替えられる。
【００３０】
投光部１および受光部２の筐体の上部には、フローティングブランキング機能に関する報知のための表示灯１０，２０をそれぞれ設けることができる。表示灯１０，２０は、フローティングブランキング機能の使用中に点灯する。異常が生じた場合、表示灯１０，２０は、光の点滅によって、異常の発生を報知する。「異常」は、たとえば、フローティング有効エリア以外の検出エリアＬＣ内に物体（たとえば人体）が侵入することによって生じた異常のほか、物体ＯＢの姿勢の変化などによってフローティング有効エリアの一部（または全部）が入光状態になる異常を含む。
【００３１】
表示灯１０，２０はさらに、ティーチングの実行中に点灯する。そして、ティーチングの実行中に異常が生じた場合には、表示灯１０，２０は光の点滅によって異常の発生を報知する。また、ティーチングの終了時には表示灯１０，２０は消灯することによって、ティーチングの終了を報知する。
【００３２】
図２は、本発明の実施の形態に係る多光軸光電センサシステムの構成例を示す外観図である。図２を参照して、多光軸光電センサＳＮＳは、投光部１と、受光部２と、通信ユニット４とを含む。多光軸光電センサシステム１００は、多光軸光電センサＳＮＳと、パーソナルコンピュータ５とを備える。
【００３３】
多光軸光電センサＳＮＳは、投光部１と、受光部２と、通信用ケーブル１０１とを有する。投光部１と受光部２とは通信用ケーブル１０１により接続される。通信用ケーブル１０１には、分岐コネクタ１０２および専用コード３を介して通信ユニット４が連結される。通信ユニット４は、分岐コネクタ１０２およびパーソナルコンピュータ５に接続される。
【００３４】
図３は、図２に示す多光軸光電センサＳＮＳの構成を示すブロック図である。図３を参照して、投光部１は、複数の発光素子１１を備える。投光部１は、さらに、各発光素子１１を個別に駆動する駆動回路１２と、光軸順次選択回路１３と、処理回路１６と、通信回路１７と、電源回路１８と、表示回路１９と、記憶回路１４とを含む。
【００３５】
受光部２は、複数の発光素子１１に対応してそれぞれ設けられる複数の受光素子２１を備える。受光部２は、さらに、各受光素子２１に対応して設けられるアンプ２２およびスイッチ２３と、光軸順次選択回路２５と、処理回路２６と、処理回路２６への入力用のアンプ２４と、通信回路２７と、電源回路２８と、記憶回路２９と、モニタ回路３０と、出力回路３１とを含む。
【００３６】
光軸順次選択回路１３は、各発光素子１１の駆動回路１２を順に処理回路１６に接続する。光軸順次選択回路２５は、各受光素子２１に対応するアンプ２２およびスイッチ２３を順に処理回路２６に接続する。
【００３７】
処理回路１６，２６は、ＣＰＵ（Central  Processing  Unit）およびメモリ等を具備するマイクロコンピュータ（マイコン）などにより構成される。処理回路１６，２６は、毎時の受光量を所定の閾値と比較することによって、各光軸が入光／遮光のいずれの状態であるかを判定する。さらに、処理回路１６，２６は、光軸の選択が一巡（１スキャン）する都度、光軸ごとの判定結果を統合して、検出エリアＬＣ全体としての遮光の有無を判定する。なお、フローティングブランキング機能が有効に設定されている場合には、物体ＯＢにより遮光状態となる一部の光軸についての入光／遮光の判定結果が無効化される。
【００３８】
通信回路１７，２７は、ＲＳ４８５に準拠する通信インターフェースであって、投光部１と受光部２との間における信号のやりとりを制御する。
【００３９】
記憶回路１４，２９には、同じ筐体内の処理回路１６，２６の動作に必要なプログラムやパラメータなどが保存される。さらに、記憶回路１４，２９には、後述するティーチングにおいて取得されるデータを蓄積するための領域が設けられる。
【００４０】
出力回路３１は、外部接続端子３２を介して危険側エリア内の機械への電源供給回路に組み込まれたスイッチ機構（図示せず）に接続される。出力回路３１からの出力信号が「非検出」の状態であれば、スイッチ機構が閉じて危険側エリア内の機械に電源が供給される。一方、出力回路３１からの出力信号が「検出」の状態であれば、スイッチ機構が開いて機械が停止する。モニタ回路３０は、表示灯１０，２０の点灯を制御する。
【００４１】
電源回路１８，２８は、共通の外部電源１５（直流電源）から電源の提供を受け、投光部１と受光部２とにそれぞれ電源を供給する。表示回路１９は、たとえば複数の７セグメントＬＥＤ（Light  Emitting  Diode）から構成されており、複数桁の数字やアルファベット文字例を表示する。表示回路１９は、投光部１に代えて、あるいは投光部１に加えて受光部２にも設けられてもよい。
【００４２】
分岐コネクタ１０２は、投光部１と受光部２との間の通信線および電源ラインを分岐する。専用コード３には分岐した通信線や電源ラインが収納される。専用コード３には通信ユニット４が接続される。通信ユニット４はパーソナルコンピュータ（図３においてＰＣと示す）５に接続される。
【００４３】
通信ユニット４は、マイコン３６と、通信回路３７と、電源回路３８と、通信変換器３５とを含む。通信回路３７はＲＳ４８５規格のインターフェースである。電源回路３８は分岐コネクタ１０２を介して外部電源１５からの電源を取り込み、通信ユニット４内の各部に供給する役割を果たす。通信変換器３５は、ＲＳ４８５規格の信号をシリアル変換して、たとえばＲＳ２３２ＣあるいはＵＳＢ（Universal  Serial  Bus）等の規格に準拠した信号を出力する。
【００４４】
光軸順次選択回路１３と光軸順次選択回路２５とが同期して、複数の発光素子１１が順次点灯するとともに、複数の受光素子２１が受光信号を順次出力する。処理回路１６，２６は、通信回路１７，２７によって、発光素子１１と受光素子２１との動作を制御するための信号を同期させる。
【００４５】
上記のように、投光部１と受光部２とは、通信用ケーブル１０１による通信を利用して互いに同期している。しかしながら投光部１と受光部２とは、光通信を利用して互いに同期してもよい。
【００４６】
パーソナルコンピュータ５は、たとえば通信ユニット４を介して受けたデータＤＴを表示する。パーソナルコンピュータ５は、多光軸光電センサＳＮＳに設定する各種のパラメータ等を表示してもよい。パーソナルコンピュータ５に加えて、あるいはパーソナルコンピュータ５に代えて、表示回路１９に各種のパラメータ等を表示してもよい。または、上記した各種の情報を表示する別の表示装置（たとえば専用コンソール）が通信ユニット４に接続されてもよい。
【００４７】
図４は、図３のパーソナルコンピュータ５の構成を示す図である。図４を参照して、パーソナルコンピュータ５は、全体を制御するための制御部５１と、データを入力するための入力部５５と、データを一時的に記憶するための記憶部５３と、データを出力するための表示部５７と、制御部５１で実行するためのプログラム等を不揮発的に記憶するための外部記憶装置５９とを含む。
【００４８】
制御部５１は、ＣＰＵと、このＣＰＵで実行するためのプログラムを記憶するための読出専用メモリ（ＲＯＭ）やＣＰＵでプログラムを実行する際に必要となる変数等を記憶するためのランダムアクセスメモリ（ＲＡＭ）を含む。
【００４９】
入力部５５は、キーボードまたはマウスなどであり、文字または数字の入力、または、所定の指示コマンドの入力が可能となっている。また、入力部５５は通信ユニット４から伝送されるデータを受ける。
【００５０】
記憶部５３は、多光軸光電センサＳＮＳの設定に必要な各種データ等を一時的に格納する。
【００５１】
表示部５７は、液晶表示装置等のディスプレイであり、制御部５１の指示に従って各種の情報を表示する。表示部５７が表示する情報には、たとえば多光軸光電センサＳＮＳの動作結果や、後述するティーチングの実行によって取得されるフローティングブランキング機能およびブランキング監視機能に関する設定値などが含まれる。
【００５２】
外部記憶装置５９は、プロセッサ読み取り可能な記録媒体６１に記録されたプログラムやデータを読込み、制御部５１に送信する。プロセッサ読み取り可能な記録媒体６１としては、磁気テープやカセットテープなどのテープ系、磁気ディスク（フレキシブルディスク、ハードディスク装置等）や光ディスク（ＣＤ−ＲＯＭ／ＤＶＤ等）などのディスク系、ＩＣカード（メモリカードを含む）あるいは光カードなどのカード系、あるいはマスクＲＯＭ、ＥＰＲＯＭ、フラッシュメモリなどの半導体メモリ等、固定的にプログラムを担持する媒体である。なお、プログラムはネットワーク（図示せず）からダウンロードされてもよい。制御部５１は、記録媒体６１に記録されたプログラムを外部記憶装置５９で読み取ることにより、読み取ったプログラムを実行することができる。
【００５３】
本実施の形態に係る多光軸光電センサシステムの制御方法に含まれる各ステップをパーソナルコンピュータ５（プロセッサ）に実行させるプログラムは、たとえば記録媒体６１に記録されたプログラムに含まれる。ただし、多光軸光電センサシステムの制御方法に含まれる各ステップをパーソナルコンピュータ５（プロセッサ）に実行させるプログラムを記憶する装置は特定されない。たとえば、投光部１の記憶回路１４および受光部２の記憶回路２９のいずれかに記録されていてもよい。また、多光軸光電センサシステムの制御方法に含まれる各ステップを実行するプロセッサは、パーソナルコンピュータ５のようなコンピュータに特定されない。たとえば、ネットワーク（図示せず）への接続機能を有する携帯端末装置、または生産設備を制御するコントローラが実行してもよい。
【００５４】
本実施の形態においては、表示部５７による画面表示によりデータが多光軸光電センサシステム１００の外部に出力可能である。データは外部記憶装置５９あるいは記録媒体６１に出力されてもよく、印刷装置によってプリントアウトされてもよい。
【００５５】
また、本実施の形態において、多光軸光電センサシステム１００は、多光軸光電センサＳＮＳにおける光軸の選択が一巡（１スキャン）するごとに、検出エリアＬＣ（図１）全体としての遮光の有無を判定し、その判定結果に基づいて検出信号を出力する検出処理部を備える。具体的には、検出処理部は、光軸の選択が１スキャンするごとに各光軸が遮光状態にあるか否かを判定し、光軸ごとの判定結果を統合して、検出エリアＬＣ全体としての遮光の有無を判定する。検出エリアＬＣが全く遮光されていない場合、検出処理部は「非検出」の状態を示す信号を出力する。一方、検出エリアＬＣの少なくとも一部が遮光された場合には、検出処理部は「検出」の状態を示す信号を出力する。
【００５６】
一方、図１に示すように、検出エリアＬＣ内を移動可能な特定の物体ＯＢによって複数の光軸のうちのいずれか少なくとも１つの光軸が常時遮光状態となる場合には、フローティングブランキング機能が有効に設定される。フローティングブランキング機能が有効に設定されると、検出処理部は、複数の光軸のうち特定の物体ＯＢによって遮光状態となる一部の光軸についての入光／遮光の判定結果を無効化する。具体的には、検出処理部は、遮光状態となる光軸の数が予め設定された最大光軸数より大きいときに、「検出」の状態を示す信号を出力する。検出処理部はさらに、遮光状態となる光軸の数が予め設定された最小光軸数より小さいときにも、「検出」の状態を示す信号を出力する。なお、最大光軸数および最小光軸数は、後述するように、フローティングブランキング機能およびブランキング監視機能に関する設定値に相当する。
【００５７】
多光軸光電センサシステム１００はさらに、物体ＯＢを用いた学習（ティーチング）を実行することにより、上記のフローティングブランキング機能およびブランキング監視機能に関する設定値を、実際のアプリケーションに適した値に設定するためのティーチング処理部をさらに備える。
【００５８】
なお、多光軸光電センサシステム１００が備える検出処理部およびティーチング処理部の各々は、たとえば受光部２側の処理回路、投光部１側の処理回路１６、またはパーソナルコンピュータ５によって実現可能である。検出処理部およびティーチング処理部は、１つの処理回路（制御回路）に統合されていてもよい。
【００５９】
［ティーチング処理］
次に、本発明の実施の形態に係る多光軸光電センサシステム１００において実行されるティーチングについて説明する。
【００６０】
図５は、多光軸光電センサシステム１００に設定される動作モードと各モード間の関係とを概略的に示す図である。
【００６１】
図５を参照して、多光軸光電センサシステム１００は、検出モードおよびティーチングモードの２つのモードを有している。このうち検出モードは、通常の物体検出処理を行なうためのモードである。
【００６２】
検出モードでは、投光部１と受光部２との間で投受光処理が行なわれる。投受光処理では、処理回路１６（図３）は、信号光発生のために所定の時間毎にタイミング信号を発生させて、これを光軸順次選択回路１３に与える。光軸順次選択回路１３は、各発光素子１１に対応する駆動回路１２を順に処理回路１６に接続する。これにより、処理回路１６からのタイミング信号が各駆動回路１２に順に与えられて、各発光素子１１の順次発光動作が実現する。さらにタイミング信号は、通信回路１７，２７を介して受光部２側の処理回路２６にも与えられる。
【００６３】
受光部２において、各受光素子２１からの受光出力は、アンプ２２およびスイッチ２３を介して処理回路２６に送出される。処理回路２６は、投光部１からのタイミング信号を光軸順次選択回路２５に送って、各光軸のスイッチ２３を順にオン動作させ、信号光を発光した発光素子１１に対応する受光素子２１からの受光出力を取り込むとともに、各受光出力をそれぞれ所定のしきい値と比較して、各光軸が遮光状態であるか否かを判定する。すべての光軸に対する受光出力の取り込みが終了すると、処理回路２６は光軸ごとの判定結果をまとめて最終的な判定処理を行なって、その判定結果を示す検出信号を生成し、生成した検出信号を出力回路３１を介して外部に出力する。
【００６４】
一方、ティーチングモードは、特定の物体ＯＢを用いたティーチングを行なうことにより、フローティングブランキング機能およびブランキング監視機能に関する設定値を設定するためのモードである。ティーチングモードでは、検出モードと同様の投受光処理が行なわれる。そして、この投受光処理において取得される各光軸の入光／遮光の判定結果に基づいて、フローティングブランキング機能およびブランキング監視機能に関する設定値が算出されて設定される。
【００６５】
多光軸光電センサシステム１００は、電源が立ち上げられた直後に検出モードが設定されるが、ティーチングモードへの移行命令が与えられるとティーチングモードに切り替えられる。ティーチングモードへの移行命令は、たとえば、パーソナルコンピュータ５の入力部５５から入力可能である。あるいは、投光部１または受光部２にユーザにより操作されるスイッチを設けておき、当該スイッチがオン操作されたことに応答して、ティーチングモードへの移行命令が発せられるようにしてもよい。
【００６６】
ティーチングモードにおいてティーチングモード終了命令を受け付けると、多光軸光電センサシステム１００は、ティーチングモードを終了して検出モードに戻る。ティーチングモード終了命令は、パーソナルコンピュータ５の入力部５５から入力可能である。あるいは、投光部１または受光部２に設けられたスイッチがオフ操作されたことに応答して、ティーチングモード終了命令が発せられるようにしてもよい。または、ティーチングモードを開始してから継続して所定時間経過したときに、パーソナルコンピュータ５の制御部５１がティーチングモード終了命令を発生するようにしてもよい。
【００６７】
次に、フローティングブランキング機能を使用する場合におけるティーチングモードでの処理を説明する。
【００６８】
（フローティングブランキングのためのティーチング処理）
図１に示したように、フローティングブランキングは、検出エリアＬＣ内で特定の物体ＯＢが移動している場合に有効な機能である。物体ＯＢのサイズおよび検出エリアＬＣ内における物体ＯＢの位置に応じて、無効化したい光軸の数である「フローティング光軸数」を設定することにより、フローティング光軸数に対応した光軸数についての遮光の有無の判定結果を無効化することができる。
【００６９】
しかしながら、実際のアプリケーションでは、機械の振動などに起因して検出エリアＬＣ内における物体ＯＢの位置が不規則に変化することがある。図６は、光軸方向から見た検出エリアＬＣ（図１）を模式的に示した図である。図６を参照して、検出エリアＬＣは、複数の光軸Ｂ１〜Ｂｎ（ｎは２以上の整数である）から構成されている。図６（ａ），（ｂ）の各々において、四角は物体ＯＢの一部分を表わしている。図中の白丸は入光状態の光軸を表わし、図中の黒丸は遮光状態の光軸を表わしている。
【００７０】
図６（ａ）と図６（ｂ）とは、検出エリアＬＣを遮光する物体ＯＢが共通する一方で、物体ＯＢの位置が異なっている。そのため、図６（ａ）と図６（ｂ）とを比較すると、遮光される光軸の位置とともに、遮光される光軸の数も異なっている。すなわち、物体ＯＢの位置が不規則に変化することで、物体ＯＢのサイズが同じであっても、遮光される光軸数が変化する可能性がある。
【００７１】
ここで、フローティングブランキング機能の使用中において、多光軸光電センサシステム１００は、検出エリアＬＣ内の物体ＯＢの存在を常時監視している。そして、検出エリアＬＣから物体ＯＢがいなくなる、または検出エリアＬＣにおける物体ＯＢのサイズが小さくなることによって遮光されるべき光軸の一部（または全部）が入光状態になった場合には、フローティングブランキング機能の異常と判断して、機械の動作を強制的に停止させる。あるいは、フローティングブランキング機能を解除することにより、検出エリアＬＣのすべてを有効とする。
【００７２】
詳細には、物体ＯＢが検出エリアＬＣからいなくなった後においてもフローティングブランキング機能が有効状態に維持されていると、万一検出エリアＬＣ内に別の物体（たとえば人体）が侵入した場合において、当該物体によって遮光状態となる光軸の数がフローティング光軸数以下であるときには、多光軸光電センサＳＮＳは当該物体を検出することができないという事態が生じてしまう。このような事態を未然に回避して多光軸光電センサＳＮＳの安全機能を確保するために、多光軸光電センサシステム１００は、フローティングブランキング機能の使用中に物体ＯＢの存在を監視する機能（ブランキング監視機能）を備えている。すなわち、多光軸光電センサシステム１００は、フローティングブランキング機能とブランキング監視機能とを並行して動作させることによって、生産現場での生産性と安全性とを両立している。
【００７３】
しかしながら、図６に示したように、検出エリアＬＣにおける物体ＯＢの位置が不規則に変化することに起因して遮光される光軸の数が変化すると、遮光状態の光軸が入光状態に切り替わる場合がある。このような場合においても、上記のブランキング監視機能が動作することにより、ブランキング機能の異常と判断されて、機械の動作が強制的に停止させられることになる。すなわち、物体ＯＢの位置の不規則な変化に起因してブランキング監視機能が誤った判断を行なうことにより、機械が想定外に停止して生産現場での生産性を阻害することになる。
【００７４】
そこで、本発明の実施の形態では、フローティングブランキング機能を使用する場合、フローティング光軸数の設定に加えて、ブランキング監視機能が動作しない光軸である「許容光軸」の数（以下、「許容光軸数」と称する）を設定する。図６のような場合には、物体ＯＢの位置の不規則な変化によって遮光状態から入光状態に切り替わる光軸の数を許容光軸数に設定する。これにより、ブランキング監視機能の誤動作に基づく機械の停止を未然に回避することができる。
【００７５】
ここで、フローティングブランキング機能およびブランキング監視機能を正常に動作させるためには、フローティング光軸数および許容光軸数を、実際のアプリケーションにとって最適な値に正確に設定する必要がある。そこで、本発明の実施の形態では、実際のアプリケーションを用いたティーチングを実行する。ティーチングでは、実際のアプリケーション上において、投光部１および受光部２の間の投受光処理が一巡（１スキャン）するごとに蓄積される各光軸における遮光の有無の判定結果に基づいて、フローティング光軸数および許容光軸数を算出する。このフローティング光軸数および許容光軸数は、投受光処理が１スキャンするごとに算出されて更新される。もしくは、投受光処理を複数回スキャンした後に、蓄積される各光軸の遮光の有無の判定結果に基づいてフローティング光軸数および許容光軸数を算出してもよい。これにより、フローティング光軸数および許容光軸数を、実際のアプリケーションに最適な値に正確かつ迅速に設定することができる。
【００７６】
以下、フローティングブランキングおよびティーチングを行なうための制御構造について説明する。図７は、本実施の形態に係る多光軸光電センサシステム１００における制御構造を示すブロック図である。
【００７７】
図７を参照して、多光軸光電センサシステム１００における制御構造は、検出処理部７０と、ティーチング処理部８０とを備える。検出処理部７０は、多光軸光電センサＳＮＳにおける光軸の選択が１スキャンするごとに、検出エリアＬＣ（図１）全体としての遮光の有無を判定し、その判定結果に基づいて検出信号を出力する。図８は、検出処理部７０のより詳細な構成を示す図である。図８を参照して、検出処理部７０は、遮光判定部７２と、ブランキング処理部７４とを含む。
【００７８】
遮光判定部７２は、投光部１および受光部２の間の投受光処理が１スキャンするごとに、各受光素子２１からの受光出力に基づいて、各光軸が遮光状態にあるか否かを判定する。遮光判定部７２は、光軸ごとの判定結果を統合して、検出エリアＬＣ全体としての遮光の有無を判定し、その判定結果を示す信号をブランキング処理部７４に出力する。
【００７９】
ブランキング処理部７４は、遮光判定部７２から与えられる判定結果に基づいて検出信号を出力する。ブランキング処理部７４には、フローティングブランキング機能の有効／無効を選択するためのブランキングオンオフ指令が与えられる。ブランキング処理部７４は、ブランキングオン指令を受け付けることにより、フローティングブランキング機能が有効（オン）に設定される。一方、ブランキングオフ指令を受け付けることにより、フローティングブランキング機能が無効（オフ）に設定される。ブランキングオンオフ指令は、たとえば、パーソナルコンピュータ５の入力部５５から入力可能である。あるいは、投光部１または受光部２にユーザにより操作されるスイッチを設けておき、当該スイッチがオンされたことに応答して、ブランキングオンオフ指令が発せられるようにしてもよい。
【００８０】
ブランキング処理部７４は、フローティングブランキング機能が有効に設定されている場合には、移動する物体ＯＢ（図１）によって一時的に遮光状態となる一部の光軸についての入光／遮光の判定結果を無効化する。具体的には、ブランキング処理部７４は、ティーチング処理部８０によって予め設定されたフローティング光軸数を用いて、物体ＯＢによって遮光されている一部の光軸以外の光軸が遮光されているか否かを判定する。当該一部の光軸以外の光軸が遮光されていると判定されたとき、ブランキング処理部７４は「検出」の状態を示す信号を出力する。
【００８１】
ブランキング処理部７４はさらに、ティーチング処理部８０によって予め設定された許容光軸数を用いて、検出エリアＬＣ内の物体ＯＢの存在を常時監視している。検出エリアＬＣから物体ＯＢがいなくなった、または検出エリアＬＣにおける物体ＯＢのサイズが小さくなったと判定されたときにも、ブランキング処理部７４は「検出」の状態を示す信号を出力する。
【００８２】
一方、フローティングブランキング機能が無効に設定されている場合には、ブランキング処理部７４は、検出エリアＬＣの少なくとも一部が遮光されたときに、「検出」の状態を示す信号を出力する。機械の電源供給回路は、多光軸光電センサＳＮＳから「検出」の状態を示す信号を受けると、機械に対する電源供給を停止することにより機械を安全が確保された状態に移行させる。
【００８３】
フローティングブランキング機能を使用するにあたっては、物体ＯＢのサイズおよび検出エリアＬＣ内における位置に応じて、フローティング光軸数、許容光軸数および、フローティングブランキング機能が有効となるエリアであるフローティング有効エリアが予め設定される。ティーチング処理部８０は、ティーチングモードへの移行命令を受け付けると、物体ＯＢを用いたティーチングを行なうことにより、フローティング光軸数、許容光軸数およびフローティング有効エリアの各々を、実際のアプリケーションに適した値に設定する。
【００８４】
検出処理部７０およびティーチング処理部８０の各々は、たとえば受光部２側の処理回路、投光部１側の処理回路１６、またはパーソナルコンピュータ５によって実現可能である。検出処理部およびティーチング処理部は、１つの処理回路（制御回路）に統合されていてもよい。また、受光素子２１からの受光信号に基づいて各光軸における遮光の有無を判定する遮光判定部７２は、たとえば光軸順次選択回路２５、処理回路２６またはその両方によって実現可能である。
【００８５】
図９は、フローティングブランキングのためのティーチング処理を説明するための図である。図９は、図６と同様に、光軸方向から見た検出エリアＬＣ（図１）を模式的に示している。すなわち、検出エリアＬＣは、複数の光軸Ｂ１〜Ｂｎ（ｎは２以上の整数である）から構成されており、四角は物体ＯＢの一部分を表わしている。図中の白丸は入光状態の光軸を表わし、図中の黒丸は遮光状態の光軸を表わしている。
【００８６】
図９を参照して、投受光処理を３スキャン行ない、１スキャンごとにフローティング光軸数、許容光軸数およびフローティング有効エリアを設定する場合を想定する。１スキャン目では、複数の光軸Ｂ１〜Ｂｎのうち、物体ＯＢによって光軸Ｂ３，Ｂ４が遮光状態となっている。したがって、フローティング光軸数は「２」に設定されるとともに、物体ＯＢによる遮光エリアである光軸Ｂ３，Ｂ４がフローティング有効エリアに設定される。なお、許容光軸数は「０」に設定される。
【００８７】
２スキャン目では、物体ＯＢが移動したことによって、光軸Ｂ４〜Ｂ６が遮光状態となっている。すなわち、２スキャン目では、光軸Ｂ３が遮光エリアから外れる一方で、光軸Ｂ５，Ｂ６が新たに遮光エリアとなっている。したがって、１スキャン目での遮光エリア（光軸Ｂ３，Ｂ４）と２スキャン目での遮光エリア（光軸Ｂ４〜Ｂ６）との論理和に基づき、光軸Ｂ３〜Ｂ６がフローティング有効エリアに設定される。
【００８８】
さらに、２スキャン目では、遮光エリア（光軸Ｂ４〜Ｂ６）に基づいて、フローティング光軸数が「３」に設定される。２スキャン目のフローティング光軸数（遮光光軸数の最大値）と１スキャン目のフローティング光軸数（遮光光軸数の最小値）との差である「１」（＝３−２）が許容光軸数に設定される。
【００８９】
３スキャン目では、物体ＯＢがさらに移動することにより、光軸Ｂ５〜Ｂ７が遮光状態となっている。２スキャン目と比較して、３スキャン目では、光軸Ｂ３，Ｂ４が遮光エリアから外れる一方で、光軸Ｂ７が新たに遮光エリアとなっている。したがって、２スキャン目でのフローティング有効エリア（光軸Ｂ３〜Ｂ６）と３スキャン目での遮光エリア（光軸Ｂ５〜Ｂ７）との論理和に基づき、光軸Ｂ３〜Ｂ７がフローティング有効エリアに設定される。
【００９０】
３スキャン目では、遮光エリア（光軸Ｂ５〜Ｂ７）に基づいて、フローティング光軸数が「３」に設定される。２スキャン目および３スキャン目のフローティング光軸数（遮光光軸数の最大値）と１スキャン目のフローティング光軸数（遮光光軸数の最小値）との差である「１」（＝３−２）が許容光軸数に設定される。
【００９１】
このようにして、投受光処理が１スキャンするごとに取得される遮光エリアおよび遮光光軸数を比較した結果に基づいて、フローティング有効エリア、フローティング光軸数および許容光軸数が設定される。なお、フローティング有効エリアは、スキャンごとの遮光エリアの論理和に相当する。フローティング光軸数は、スキャンごとの遮光光軸数の最大値に相当する。許容光軸数は、スキャンごとの遮光光軸数の最大値（フローティング光軸数）とスキャンごとの遮光光軸数の最小値との差に相当する。これらの設定値はいずれも、実際のアプリケーション上での物体ＯＢの位置の変化を反映したものとなっている。したがって、本実施に形態に係るティーチング処理によれば、フローティング有効エリア、フローティング光軸数および許容光軸数を、実際のアプリケーションに最適な値に正確かつ迅速に設定することができる。
【００９２】
図１０は、フローティングブランキングのためのティーチング処理を説明するフローチャートである。なお、図１０および他の図面に記載された処理は、多光軸光電センサシステム１００の制御に関係する機能ブロックによって実行される。したがって、特定の機能ブロックのみが以下に説明する処理を実行するものと限定されない。すなわち、フローチャートの各ステップの処理は、たとえば通信ユニット４のマイコン３６、処理回路１６，２６、およびパーソナルコンピュータ５のいずれかによって実行可能である。
【００９３】
図１０を参照して、まずティーチングが開始されたか否かが判定される（ステップＳ１１）。ティーチングが開始されたか否かは、たとえば、ＰＣ５の入力部５５に入力されるパラメータや、投光部１または受光部２に設けられたスイッチの設定を参照することにより判定することができる。
【００９４】
ティーチングモードへの移行命令が与えられてティーチングが開始されている場合（ステップＳ１１においてＹＥＳ）、ティーチング処理部８０（図７）は、投受光処理が１スキャンするごとに、検出エリアＬＣの各光軸について、遮光状態であるか否かの判定結果を示す情報（以下、「遮光情報」とも称する）を取得する（ステップＳ１２）。
【００９５】
ティーチング処理部８０は、取得した遮光情報に基づいて遮光エリアおよび遮光光軸数を検出すると、検出した遮光エリアおよび遮光光軸数と、前回のスキャンにおいて検出された遮光エリアおよび遮光光軸数とをそれぞれ比較する（ステップＳ１３）。ティーチング処理部８０は、比較結果に基づき、今回のスキャンにおける遮光光軸数が前回のスキャンにおける遮光光軸数よりも増加したか否かを判定する。ティーチング処理部８０はさらに、今回のスキャンにおける遮光エリアが前回のスキャンにおける遮光エリアよりも拡大したか否かを判定する（ステップＳ１４）。
【００９６】
今回のスキャンにおける遮光光軸数が前回のスキャンにおける遮光光軸数よりも増加した場合（ステップＳ１４においてＹＥＳ）、ティーチング処理部８０は、遮光光軸数の最大値を今回のスキャンにおける遮光光軸数に更新する（ステップＳ１５）。ティーチング処理部８０はまた、今回のスキャンにおける遮光エリアが前回のスキャンにおける遮光エリアよりも拡大した場合（ステップＳ１４においてＹＥＳ）、拡大した遮光エリアを含めるように遮光エリア情報を更新する（ステップＳ１５）。
【００９７】
ティーチング処理部８０は、ティーチングの実行中において、遮光情報、遮光エリア情報および遮光光軸数情報を蓄積する。本実施の形態において、遮光情報、遮光エリア情報および遮光光軸数情報を蓄積するための記憶装置は特定されない。たとえば、投光部１の記憶回路１４、受光部２の記憶回路２９および、通信ユニット４の記憶回路３９のいずれかにデータが蓄積されてもよい。あるいは、パーソナルコンピュータ５の外部記憶装置５９または記録媒体６１にデータが蓄積されてもよい。
【００９８】
ティーチング処理部８０はさらに、ティーチングの実行中、記憶装置に蓄積した遮光情報、遮光エリア情報および遮光光軸数情報をユーザに提示することが可能である。本発明の実施の形態において、遮光情報、遮光エリア情報および遮光光軸数情報を提示する提示部は、たとえばパーソナルコンピュータ５の表示部５７による画面表示によって実現可能である。なお、提示部は、遮光情報、遮光エリア情報および遮光光軸数情報を多光軸光電センサシステム１００の外部に出力可能に構成されているものであれば、その手段は限定されない。たとえば、遮光情報、遮光エリア情報および遮光光軸数情報は、印刷装置によるプリントアウトされてもよく、外部記憶装置５９あるいは記録媒体６１に出力されてもよい。あるいは、遮光情報、遮光エリア情報および遮光光軸数情報を携帯機器、生産設備の制御装置であるコントローラ、あるいは生産設備を管理するネットワークに出力することも可能である。
【００９９】
次に、ティーチング処理部８０は、ティーチングが完了したか否かを判定する（ステップＳ１６）。ティーチングは、ティーチングモード終了命令（図５）に従って終了する。ティーチングモード終了命令が与えられたか否かは、たとえば、パーソナルコンピュータ５の入力部５５に入力されるパラメータや、投光部１または受光部２に設けられたスイッチの設定を参照することにより判定することができる。あるいは、ティーチング処理部８０は、ティーチングモードを開始してから継続して所定時間経過したときにパーソナルコンピュータ５の制御部５１が発生するティーチングモード終了命令に基づいて、ティーチング処理が完了したと判定するようにしてもよい。
【０１００】
ティーチングが完了していない場合（ステップＳ１６においてＮＯ）、ティーチング処理部８０はステップＳ１２〜Ｓ１５の処理を継続して実行する。すなわち、ティーチング処理部８０は、投受光処理が１スキャンするごとに遮光エリアおよび遮光光軸数を検出し、検出した遮光エリアを遮光エリア情報として順次蓄積していくとともに、検出した遮光光軸数を遮光光軸数情報として順次蓄積していく。そして、ティーチングが完了すると（ステップＳ１６においてＹＥＳ）、ティーチング処理部８０は、蓄積された遮光エリア情報および遮光光軸数情報に基づいて、フローティング有効エリア、フローティング光軸数および許容光軸数を算出する（ステップＳ１７）。算出されたフローティング有効エリア、フローティング光軸数および許容光軸数は、上述した遮光情報および遮光エリア情報と同様の提示部を用いてユーザに提示される。
【０１０１】
ティーチング処理によって設定されたフローティング有効エリア、フローティング光軸数および許容光軸数は、検出処理部７０（図７）に与えられる。検出処理部７０は、検出モードにおいてフローティングブランキング機能が有効（オン）に設定されている場合には、これらの設定値を用いて物体検出処理を実行する。図１１は、本実施の形態に係る多光軸光電センサシステムにおける物体検出処理を説明するフローチャートである。
【０１０２】
図１１を参照して、ティーチングモード終了命令が与えられて検出モードに切替えられると、検出処理部７０は、投受光処理が１スキャンするごとに、検出エリアＬＣの各光軸について、遮光状態であるか否かの判定結果を示す情報（遮光情報）を取得する（ステップＳ０１）。
【０１０３】
次に、検出処理部７０は、フローティングブランキング機能が有効に設定されているか否かを判定する（ステップＳ０２）。ブランキングオン指令が与えられてフローティングブランキング機能が有効に設定されている場合（ステップＳ０２においてＹＥＳ）、検出処理部７０は、取得した遮光情報に基づいて遮光光軸数を検出すると、検出した遮光光軸数と最大光軸数とを比較する（ステップＳ０３）。最大光軸数は、上述したティーチング処理によって設定されたフローティング光軸数に相当する。すなわち、最大光軸数は、ティーチング処理において各スキャンにおいて取得される遮光光軸数のうちの最大値に相当する。
【０１０４】
遮光光軸数が最大光軸数より大きい場合（ステップＳ０３においてＹＥＳ）、検出処理部７０は、物体ＯＢによって遮光されている一部の光軸以外の光軸が遮光されていると判断する。したがって、検出処理部７０は「検出」の状態を示す信号を出力する（ステップＳ０７）。機械の電源供給回路は、多光軸光電センサシステム１００から「検出」の状態を示す信号を受けると、機械に対する電源供給を停止することにより機械を安全が確保された状態に移行させる。
【０１０５】
一方、遮光光軸数が最大光軸数以下となる場合（ステップＳ０３においてＮＯ）、検出処理部７０は続いて、検出した遮光光軸数と最小光軸数とを比較する（ステップＳ０４）。最小光軸数は、フローティング光軸数から許容光軸数を差し引いた値に相当する。すなわち、最小光軸数は、ティーチング処理において各スキャンにおいて取得される遮光光軸数の最小値に相当する。
【０１０６】
遮光光軸数が最小光軸数より小さい場合（ステップＳ０４においてＹＥＳ）、検出処理部７０は、検出エリアＬＣ内から物体ＯＢがいなくなった、または検出エリアＬＣにおける物体ＯＢのサイズが小さくなったと判断する。このような場合においても、検出処理部７０は「検出」の状態を示す信号を出力する（ステップＳ０７）。すなわち、検出処理部７０は、ブランキング機能の異常と判断して、機械の動作を強制的に停止させる。
【０１０７】
一方、遮光光軸数が最小光軸数以上となる場合（ステップＳ０４においてＮＯ），検出処理部７０は、ブランキング機能が正常であり、かつ、物体ＯＢによって遮光されている一部の光軸以外の光軸が遮光されていないと判断して「非検出」の状態を示す信号を出力する（ステップＳ０５）。
【０１０８】
これに対して、ブランキングオフ指令が与えられてフローティングブランキング機能が無効に設定されている場合（ステップＳ０２においてＮＯ）、検出処理部７０は、取得した遮光情報に基づいて遮光光軸数を検出すると、検出した遮光光軸数が１以上であるか否かを判定する（ステップＳ０６）。検出した遮光光軸数が１以上である場合（ステップＳ０６においてＹＥＳ）、検出処理部７０は、検出エリアＬＣを構成する複数の光軸の少なくとも１つが遮光されていると判断して「検出」の状態を示す信号を出力する（ステップＳ０７）。一方、遮光光軸数が１より小さい、すなわち遮光光軸数が０である場合（ステップＳ０６においてＮＯ）、検出処理部７０は、検出エリアＬＣが全く遮光されていないと判断して「非検出」の状態を示す信号を出力する（ステップＳ０８）。
【０１０９】
なお、本実施の形態では、最大光軸数にフローティング光軸数を採用し、最小光軸数にフローティング光軸数から許容光軸数を差し引いた値を採用する構成について例示したが、この構成に限られるものではない。本実施の形態において、最大光軸数および最小光軸数はティーチング処理において各スキャンにおいて取得される遮光光軸数を比較した結果に基づいて設定されるものであればよい。
【０１１０】
たとえば、ティーチング処理によって設定されたフローティング光軸数に所定の光軸数を加算した値を最大光軸数に設定してもよい。フローティング光軸数は、一部の光軸の遮光が物体ＯＢによるものか否かを判定するための判定値に相当する。所定の光軸数は、この判定値に対してマージン（余裕）を設けるものである。所定の光軸数は、多光軸光電センサシステムの安全機能と生産現場の生産性とを比較考量した上で任意の値に設定することが可能である。
【０１１１】
さらに、フローティング光軸数から許容光軸数を差し引いた値から所定の光軸数を更に減算した値を「最小光軸数」に設定してもよい。フローティング光軸数から許容光軸数を差し引いた値は、検出エリアＬＣ内から物体ＯＢがいなくなる、または検出エリアＬＣにおける物体ＯＢのサイズが小さくなることを検出するための判定値である。所定の光軸数は、このブランキング監視機能における判定値に対してマージンを設けるものである。所定の光軸数は、多光軸光電センサシステムの安全機能と生産現場の生産性とを比較考量した上で任意の値に設定することが可能である。
【０１１２】
あるいは、フローティング光軸数から許容光軸数を差し引いた値を最小光軸数に設定した上で、この最小光軸数に所定の光軸数を加算した値を最大光軸数に設定してもよい。または、フローティング光軸数を最大光軸数に設定した上で、この最大光軸数から所定の光軸数を減算した値を最小光軸数に設定してもよい。
【０１１３】
また、物体検出処理を行なうための制御構造としては、検出処理部７０において、まず遮光判定部７２（図８）が光軸ごとの遮光の有無の判定結果を統合して、検出エリアＬＣ全体としての遮光の有無を判定し、その後、ブランキング処理部７４（図８）がフローティングブランキング機能が有効に設定されていることに応じて、遮光判定部７２の判定結果のうちの一部の光軸についての判定結果を無効化する構成について例示したが、この構成に限られるものではない。たとえば、図１２に示すように、フローティングブランキング機能が有効に設定されている場合には、ブランキング処理部７４がティーチング処理部８０から与えられるフローティング光軸数および許容光軸数に応じて最大光軸数および最小光軸数を設定し、その設定値を遮光判定部７２に与える構成としてもよい。この場合、遮光判定部７２は、遮光情報から取得される遮光光軸数と、最大光軸数および最小光軸数の各々とを比較し、その比較結果に基づいて検出信号を出力する。
【０１１４】
［本実施の形態の作用効果］
この発明の実施の形態によれば、特定の物体を用いたティーチングを実行することにより蓄積される光軸ごとの遮光の有無の判定結果に基づいて、フローティングブランキング機能およびブランキング監視機能に関する設定値を設定する。具体的には、ティーチングにより取得される遮光エリア情報および遮光光軸数情報に基づいて、フローティングブランキング機能に関する設定値（最大光軸数、フローティング光軸数）およびブランキング機能に関する設定値（最小光軸数、許容光軸数）を設定する。これにより、フローティングブランキング機能およびブランキング監視機能に関する設定値を、実際のアプリケーションに最適な値に正確かつ迅速に設定することが可能となる。
【０１１５】
従来の多光軸光電センサにおいては、これらの設定値を複雑な計算、または、実機を用いてのカットアンドトライによって設定することが一般的であるため、設定に多くの時間を必要としていた。この結果、生産設備の立上げ、または生産設備における機械の取り替えの際に作業工数が膨大となるという問題があった。特に、ブランキング監視機能を無効化するための許容光軸については、ユーザが感覚的に設定したり、上記のカットアンドトライによって設定されるため、正確な値を迅速に設定することが難しいという課題があった。
【０１１６】
これに対して、この発明の実施の形態においては、特定の物体を用いたティーチングを行ない、ティーチングによって取得される光軸ごとの遮光の有無の判定結果に基づいてフローティングブランキング機能およびブランキング監視機能に関する設定値を設定する。このため、設定値は、実際のアプリケーション上での物体の位置の変化を反映したものとなっている。したがって、フローティングブランキング機能およびブランキング監視機能に関する設定値を、実際のアプリケーションに最適な値に正確かつ迅速に設定することができる。
【０１１７】
特に、この発明の実施の形態によれば、ブランキング監視機能に関する設定値である許容光軸数を実際のアプリケーションに最適な値に迅速に設定することができる。このため、実際のアプリケーションにおいて物体の位置の不規則な変化に起因して生産設備が停止するのを防止することができる。すなわち、この発明の実施の形態によれば、生産性と安全性とを両立可能な多光軸光電センサシステムを簡易に構築することができる。
【０１１８】
［その他の実施の形態］
本願発明に係る多光軸光電センサシステムは、以下に示す実施の形態によっても、上述した実施の形態と同様の作用効果を得ることができる。
【０１１９】
（１）リアルタイム表示処理：
本願発明におけるティーチング処理部は、投受光処理をスキャンするごとに蓄積される光軸ごとの遮光の有無の判定結果に基づいて、フローティングブランキング機能に関する設定値を更新することが可能に構成される。そして、ティーチング処理部は、ティーチングの実行中、更新された設定値をリアルタイムで表示する処理を実行する。この表示処理は、たとえば多光軸光電センサＳＮＳの表示回路１９，３２（図３）またはパーソナルコンピュータ５の表示部５７（図４）を用いて行なうことが可能である。ユーザは、表示された設定値を監視することによってティーチングが正常に行なわれているか否かを判断することができる。
【０１２０】
（２）異常検出処理：
本願発明におけるティーチング処理部は、フローティングブランキング機能に関する設定値が所定の許容範囲から外れる場合には、警告をユーザに提示する処理を実行する。図１３は、フローティングブランキングのためのティーチングの実行中における異常検出処理を説明するフローチャートである。
【０１２１】
図１３を参照して、図１０と同様のステップＳ１１により、ティーチングが開始されたか否かが判定される。ティーチングが開始されている場合（ステップＳ１１においてＹＥＳ）、ティーチング処理部８０（図７）は、フローティング有効エリアの許容範囲を示す情報を取得する（ステップＳ２１）。フローティング有効エリアの許容範囲は、検出エリアＬＣ内に存在する物体ＯＢ（図１）の移動可能範囲に基づいて設定することができる。
【０１２２】
次に、ティーチング処理部８０は、投受光処理が１スキャンするごとに遮光情報を取得すると（ステップＳ２２）、遮光情報に基づいて遮光エリアを検出する。そして、ティーチング処理部８０は、検出した遮光エリアとフローティング有効エリアの許容範囲とを比較することにより、許容範囲外の光軸が遮光状態であるか否かを判定する（ステップＳ２３）。
【０１２３】
ティーチング処理部８０は、許容範囲外の光軸が遮光状態である場合（ステップＳ２３においてＹＥＳ）、警告をユーザに提示する（ステップＳ２４）。これによれば、設定値が正確な値ではないため、ティーチングをやり直す必要があることをユーザに知らせることができる。その結果、不適切な設定値に基づいてフローティングブランキング機能が動作することを未然に防止することができる。なお、警告の提示は、たとえば表示灯１０，２０における光の点滅によって行なうことができる。
【０１２４】
一方、遮光エリアが許容範囲内にある場合には（ステップＳ２３においてＮＯ）、ティーチング処理部８０は、図１０と同様のステップＳ１３〜Ｓ１７により、ティーチングを行ない、フローティング光軸数、許容光軸数およびフローティング有効エリアを算出する。算出されたフローティング光軸数、許容光軸数およびフローティング有効エリアは、上述した遮光情報および遮光エリア情報と同様の提示部を用いてユーザに提示される。
【０１２５】
（３）フィルタ処理：
本願発明におけるティーチング処理部８０は、ティーチングの実行中に複数の光軸をスキャンするごとに蓄積される光軸ごとの遮光の有無判定結果から異常値を除去するフィルタ処理を実行する。図１４は、フローティングブランキングのためのティーチングの実行中におけるフィルタ処理を説明するフローチャートである。
【０１２６】
図１４を参照して、図１０と同様のステップＳ１１，Ｓ１２により、ティーチングが開始されると、ティーチング処理部８０は、投受光処理が１スキャンするごとに遮光情報を取得する。ティーチング処理部８０は、取得された遮光情報が正常であるか否かを判定する（ステップＳ１２１）。具体的には、ティーチング処理部８０は、遮光状態にある複数の光軸の中に、物体ＯＢ以外のものによって遮光された光軸が含まれているか否かを判定する。物体ＯＢ以外のものによって遮光された光軸が含まれていると判定された場合、ティーチング処理部８０は遮光情報が異常であると判断する。この場合、ティーチング処理部８０は、遮光情報から当該光軸についての判定結果（異常値）を除去する（ステップＳ１２２）。
【０１２７】
次に、ティーチング処理部８０は、図１０と同様のステップＳ１３〜Ｓ１７により、ティーチングを実行し、フローティング光軸数、許容光軸数およびフローティング有効エリアを算出する。算出されたフローティング光軸数、許容光軸数およびフローティング有効エリアは、上述した遮光情報および遮光エリア情報と同様の提示部を用いてユーザに提示される。
【０１２８】
上記のように、ティーチング中、遮光判定部の判定結果の中から明らかな異常値を取り除くことにより、フローティングブランキング機能に関する設定値を正確に設定することができる。なお、フィルタ処理は、ティーチングを開始する前に予め設定しておくようにしてもよいし、蓄積された光軸ごとの遮光の有無の判定結果を参照してユーザが異常値を手動で取り除くようにしてもよい。
【０１２９】
（４）検出エリア選択処理：
本願発明におけるティーチング処理部は、検出エリア内に、フローティングブランキング機能およびブランキング監視機能に関する設定値を複数個設定可能に構成される。図１５に示されるように、機械の構造上、検出エリア内に複数の物体ＯＢ１，ＯＢ２が存在するような構成がある。このような構成では、物体ごとにフローティングブランキング機能を独立して動作させることが求められる場合がある。上記の構成において、ティーチング処理部８０は、検出エリアＬＣを複数の検出エリアＬＣ１〜ＬＣｍ（ｍは２以上の整数である）に分割し、検出エリアごとにティーチングを実行する。
【０１３０】
図１６は、フローティングブランキングのためのティーチングの実行中における検出エリア選択処理を説明するフローチャートである。図１６を参照して、図１０と同様のステップＳ１１により、ティーチングが開始されたか否かが判定される。ティーチングが開始されている場合（ステップＳ１１においてＹＥＳ）、ティーチング処理部８０は、複数の検出エリアＬＣ１〜ＬＣｍの中から選択された検出エリアを示す情報を取得する（ステップＳ３１）。ティーチングの対象となる検出エリアは、検出エリアＬＣ内に存在する少なくとも１つの物体ＯＢ１，ＯＢ２（図１４）の位置およびサイズに基づいて選択することができる。
【０１３１】
次に、ティーチング処理部８０は、投受光処理が１スキャンするごとに、選択された検出エリアにおける遮光情報を取得する（ステップＳ３２）。ティーチング処理部８０は、図１０と同様のステップＳ１３〜Ｓ１７により、ティーチングを実行し、フローティング光軸数、許容光軸数およびフローティング有効エリアを算出する。算出されたフローティング光軸数、許容光軸数およびフローティング有効エリアは、上述した遮光情報および遮光エリア情報と同様の提示部を用いてユーザに提示される。
【０１３２】
このような構成とすることにより、検出エリアＬＣ内に複数の物体が存在する場合においても、物体ごとにフローティングブランキング機能およびブランキング監視機能に関する設定値を正確かつ迅速に設定することができる。なお、検出処理部７０は、フローティングブランキング機能が有効に設定されている場合において、検出エリアごとに設定された設定値を同時に使用することも、切り替えて使用することも可能に構成される。すなわち、検出処理部７０は、検出エリアＬＣ内に存在する物体の位置およびサイズに応じて最適な設定値を適宜選択することができる。
【０１３３】
さらに、上記の構成によれば、ティーチング処理部８０は、複数の光軸の中から選択された光軸に対する遮光の有無の判定結果に基づいて、フローティングブランキング機能およびブランキング監視機能に関する設定値を設定することが可能となる。これによれば、検出エリアＬＣ内に存在する物体ＯＢの位置およびサイズに応じて、複数の光軸の中からティーチングの対象となる光軸を予め選択しておくことにより、ティーチングに要する負荷を軽減することができる。また、ティーチングの実行中に、ティーチング対象の光軸以外の光軸が遮光状態となった場合には、ティーチング処理部８０は、特定の物体ＯＢ以外の物体が検出エリアＬＣ内に侵入したと判断してユーザに警告を提示することができる。したがって、ティーチングの実行中における安全性を確保できる。
【０１３４】
（５）センサ選択処理：
本願発明における多光軸光電センサシステムにおいては、複数の多光軸光電センサＳＮＳの投光部１同士を連結させるとともに受光部２同士を連結させる構成にも適用可能である。図１７は、複数の多光軸光電センサＳＮＳＡ〜ＳＮＳＣを有する多光軸光電センサシステムの一例を示す。図１７を参照して、３つの投光部１Ａ〜１Ｃは光軸に垂直な方向に直線状に配列される。３つの受光部２Ａ〜２Ｃは、３つの投光部１Ａ〜１Ｃにそれぞれ対向するように、光軸に垂直な方向に直線状に配置される。
【０１３５】
このような構成において、ティーチング処理部８０は、複数の多光軸光電センサＳＮＳＡ〜ＳＮＳＣを一体とみなしてティーチング処理を行なうことも、多光軸光電センサごとにティーチング処理を行なうことも可能である。複数の多光軸光電センサＳＮＳＡ〜ＳＮＳＣを一体とみなしてティーチング処理を行なう場合、ティーチング処理部８０は、複数の投光部１Ａ〜１Ｃと複数の受光部２Ａ〜２Ｃとの間に形成される複数の光軸を一体の検出エリアとみなし、当該複数の光軸の遮光判定結果に基づいてブランキング機能に関する設定値を設定する。
【０１３６】
一方、多光軸光電センサごとにティーチング処理を行なう場合には、複数の多光軸光電センサＳＮＳＡ〜ＳＮＳＣの中からティーチング処理を行なう対象となる少なくとも１つの多光軸光電センサを選択することができる。この選択は、たとえば、ユーザが、パーソナルコンピュータ５の入力部５５（図６）を用いて、データの蓄積および分析の対象となる多光軸光電センサを選択できるようにしてもよい。
【０１３７】
図１８は、フローティングブランキングのためのティーチングの実行中における多光軸光電センサ選択処理を説明するフローチャートである。図１８を参照して、図１０と同様のステップＳ１１により、ティーチングが開始されたか否かが判定される。ティーチングが開始されている場合（ステップＳ１１においてＹＥＳ）、ティーチング処理部８０は、複数の多光軸光電センサＳＮＳＡ〜ＳＮＳＣの中から選択された多光軸光電センサを示す情報を取得する（ステップＳ４１）。
【０１３８】
次に、ティーチング処理部８０は、投受光処理が１スキャンするごとに、選択された多光軸光電センサの検出エリアＬＣの遮光情報を取得する（ステップＳ４２）。ティーチング処理部８０は、図１０と同様のステップＳ１３〜Ｓ１７により、ティーチングを実行し、フローティング光軸数、許容光軸数およびフローティング有効エリアを算出する。算出されたフローティング光軸数、許容光軸数およびフローティング有効エリアは、上述した遮光情報および遮光エリア情報と同様の提示部を用いてユーザに提示される。
【０１３９】
（６）物体動作速度検出処理：
本願発明におけるティーチング処理部８０は、フローティングブランキングのためのティーチング処理において、投受光処理をスキャンするごとに蓄積される遮光判定部の判定結果に基づいて、特定の物体の動作速度を検出することができる。
【０１４０】
図１９は、フローティングブランキングのためのティーチングの実行中において、投受光処理をスキャンするごとに取得される遮光情報を示す図である。スキャンごとに取得される遮光情報は、投受光処理をスキャンしたタイミングでの物体ＯＢの位置を表わしている。図１９に示されるように、光軸に垂直な方向をｙ軸方向とする。１スキャン目の物体ＯＢの位置（座標ｙ１）は、遮光状態となっている光軸Ｂ３，Ｂ４から求めることができる。同様にして、２スキャン目および３スキャン目の物体ＯＢの位置（座標ｙ２，ｙ３）も、各スキャンで遮光状態となっている光軸から求めることができる。
【０１４１】
１スキャン目の物体ＯＢの位置（座標ｙ１）と２スキャン目の物体ＯＢの位置（座標ｙ２）との差は、１スキャンする時間における物体ＯＢの移動距離に相当する。この物体ＯＢの移動距離および１スキャンする時間に基づいて、物体ＯＢの動作速度を算出することができる。
【０１４２】
図２０は、フローティングブランキングのためのティーチングの実行中における物体の動作速度検出処理を説明するフローチャートである。図２０を参照して、まずティーチングが開始されたか否かが判定される（ステップＳ５１）。ティーチングが開始されたか否かは、たとえば、ＰＣ５の入力部５５に入力されるパラメータや、投光部１または受光部２に設けられたスイッチの設定を参照することにより判定することができる。
【０１４３】
ティーチングモードへの移行命令が与えられてティーチングが開始されている場合（ステップＳ５１においてＹＥＳ）、ティーチング処理部８０は、投受光処理が１スキャンするごとに遮光情報を取得する（ステップＳ５２）。
【０１４４】
ティーチング処理部８０は、取得した遮光情報に基づいて物体ＯＢの位置（ｙ座標）を検出すると（ステップＳ５３）、検出した物体ＯＢの位置と、前回のスキャンにおいて検出された物体ＯＢの位置とに基づいて、１スキャンする時間における物体ＯＢの移動距離を算出する。そして、ティーチング処理部８０は、算出した物体ＯＢの移動距離および１スキャンする時間に基づいて、物体ＯＢの動作速度を算出する（ステップＳ５４）。ティーチング処理部８０は、今回のスキャンにおける物体ＯＢの動作速度を含めるように、動作速度情報を更新する（ステップＳ５５）。
【０１４５】
ティーチング処理部８０は、ティーチングの実行中において、遮光情報、遮光エリア情報および遮光光軸数情報とともに、動作速度情報を蓄積する。ティーチング処理部８０はさらに、ティーチングの実行中、記憶装置に蓄積した動作速度情報をユーザに提示することも可能である。
【０１４６】
次に、ティーチング処理部８０は、ティーチングが完了したか否かを判定する（ステップＳ５６）。ティーチングが完了していない場合（ステップＳ５６においてＮＯ）、ティーチング処理部はステップＳ５３〜Ｓ５５の処理を継続して実行する。すなわち、ティーチング処理部８０は、投受光処理が１スキャンするごとに物体ＯＢの動作速度を算出し、算出した物体ＯＢの動作速度を動作速度情報として順次蓄積していく。
【０１４７】
ティーチングが完了すると（ステップＳ５６においてＹＥＳ）、ティーチング処理部８０は、蓄積された動作速度情報の中から、動作速度の上限値および下限値を抽出する。そして、ティーチング処理部８０は、抽出した動作速度の上限値および下限値に基づいて、動作速度の許容範囲を設定する（ステップＳ５７）。設定された動作速度の許容範囲は、フローティング有効エリア、フローティング光軸数および許容光軸数とともに、提示部を用いてユーザに提示される。
【０１４８】
（７）物体動作異常検出処理：
上記（６）の物体動作速度検出処理を行なうことによって物体ＯＢの動作速度の設定範囲が設定されると、ティーチング処理部８０は、ティーチングモードから検出モードに移行した後において、フローティングブランキングの実行中、上記設定範囲を用いて物体ＯＢの動作異常を検出する処理を実行する。具体的には、ティーチング処理部８０は、フローティングブランキングの実行中、物体ＯＢの動作速度を検出するとともに、検出した動作速度と許容範囲とを比較する。これによれば、検出モード時に機械が暴走して物体が許容範囲を超える速度で動作した場合に、ティーチング処理部８０は機械側の異常を検出してユーザに報知することができる。
【０１４９】
図２１は、フローティングブランキングの実行中における物体の動作異常検出処理を説明するフローチャートである。図２１を参照して、まず検出モードが開始されたか否かが判定される（ステップＳ６１）。検出モードが開始されたか否かは、たとえば、ＰＣ５の入力部５５に入力されるパラメータや、投光部１または受光部２に設けられたスイッチの設定を参照することにより判定することができる。
【０１５０】
ティーチングモード終了命令が与えられて検出モードが開始されている場合（ステップＳ６１においてＹＥＳ）、ティーチング処理部８０は、図２０と同様のステップＳ５２〜Ｓ５５により、フローティングブランキングの実行中に取得される遮光情報に基づいて物体ＯＢの位置の検出、物体ＯＢの動作速度の算出、および動作速度情報の更新を実行する。
【０１５１】
さらに、ティーチング処理部８０は、算出した物体ＯＢの動作速度と動作速度の許容範囲とを比較する（ステップＳ６６）。物体ＯＢの動作速度が許容範囲を超えている場合（ステップＳ６６においてＮＯ）、ティーチング処理部８０は警告をユーザに提示する（ステップＳ６７）。警告の提示は、たとえば表示灯１０，２０における光の点滅によって行なうことができる。
【０１５２】
（８）最大許容サイズ提示処理：
本願発明におけるティーチング処理部８０は、フローティングブランキング機能に関する設定値に基づいて、当該設定値を適用することが可能な物体の大きさの範囲を算出することができる。たとえば、図９に示したように、フローティング光軸数が「３」であり、かつ許容光軸数が「１」である場合、これらの設定値を適用できる物体のサイズは、遮光光軸数が２以上３以下となる範囲となる。ティーチング処理部８０は、算出した物体の大きさの範囲を、たとえばパーソナルコンピュータ５の表示部５７による画面表示によってユーザに提示することができる。
【０１５３】
（９）設定入力受付処理：
本願発明に係る多光軸光電センサシステムは、ユーザからの設定入力を受け付けるための入力部をさらに備える。入力部は、ティーチング処理部８０がフローティングブランキング機能およびブランキング監視機能に関する設定値を設定するために用いる条件に関する設定を受け付ける。具体的には、ティーチングを実行する際に、ユーザは、フローティングブランキング機能およびブランキング監視機能に関する設定値を、安全性を重視した値に設定するか、生産性を重視した値に設定するかを選択することができる。たとえば、フローティングブランキングのためのティーチング処理において、安全性を重視したい場合には、遮光光軸数情報に基づいて算出されたフローティング光軸数に所定マージンを加えたものをフローティング光軸数に設定する。一方、生産性を重視したい場合には、遮光光軸数情報に基づいて算出された許容光軸数に所定マージンを加えたものを許容光軸数に設定する。このように、フローティングブランキング機能に関する設定値の設定条件を調整可能とすることにより、ユーザの利便性を向上させることができる。
【０１５４】
今回開示された実施の形態は例示であって、上記内容のみに限定されるものではない。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内のすべての変更が含まれることが意図される。
【符号の説明】
【０１５５】
１  投光部、２  受光部、３  専用コード、４  通信ユニット、５  パーソナルコンピュータ、１０，２０  表示灯、１１  発光素子、１２  駆動回路、１３，２５  光軸順次選択回路、１４，２９  記憶回路、１５  外部電源、１６，２６  処理回路、１７，２７，３７  通信回路、１８，２８，３８  電源回路、１９，３２  表示回路、２１  受光素子、２２，２４  アンプ、２３  スイッチ、３０  モニタ回路、３１  出力回路、３２  外部接続端子、３４  通信変換器、３６  マイコン、５１  制御部、５３  記憶部、５５  入力部、５７  表示部、５９  外部記憶装置、６１  記録媒体、１００  多光軸光電センサシステム、１０１  通信用ケーブル、１０２  分岐コネクタ、ＬＣ  検出エリア、ＯＢ  物体、ＳＮＳ  多光軸光電センサ。
【図１】
0006303882.tif 000002
【図２】
0006303882.tif 000003
【図３】
0006303882.tif 000004
【図４】
0006303882.tif 000005
【図５】
0006303882.tif 000006
【図６】
0006303882.tif 000007
【図７】
0006303882.tif 000008
【図８】
0006303882.tif 000009
【図９】
0006303882.tif 000010
【図１０】
0006303882.tif 000011
【図１１】
0006303882.tif 000012
【図１２】
0006303882.tif 000013
【図１３】
0006303882.tif 000014
【図１４】
0006303882.tif 000015
【図１５】
0006303882.tif 000016
【図１６】
0006303882.tif 000017
【図１７】
0006303882.tif 000018
【図１８】
0006303882.tif 000019
【図１９】
0006303882.tif 000020
【図２０】
0006303882.tif 000021
【図２１】
0006303882.tif 000022