以下において、本発明の実施の形態について図面を参照して詳しく説明する。なお、図中同一符号は同一または相当部分を示す。また、本明細書においては、特に必要のない限り、光ビームの進行方向を表す点線、および、その光ビームを「光軸」と表現する。
図1は、本実施の形態に係る多光軸光電センサシステムの構成例を模式的に示した図である。図1を参照して、本実施の形態に係る多光軸光電センサシステムにおいて、センサ装置は、多光軸光電センサSNSとして実現される。
多光軸光電センサSNSは、投光部1と、受光部2とを備える。投光部1は、複数の発光素子11(投光素子)を有する。受光部2は、発光素子11と対向配置された受光素子21(図4参照)を複数有する。複数の発光素子11と複数の受光素子21とが一対一の関係で位置合わせされる。したがって、複数の光軸から構成される2次元の検出エリアLCが設定される。
図1に示す例では、検出エリアLCの手前側が「安全側エリア」に設定され、検出エリアLCの奥側が「危険側エリア」に設定される。危険側エリアには、図示しない機械(たとえば生産設備)が設置されている。多光軸光電センサSNSからの検出信号は、当該機械の電源供給回路(図示せず)に出力される。検出エリアLCが全く遮光されていない場合、多光軸光電センサSNSから「非検出」の状態を示す信号が出力される。検出エリアLCの少なくとも一部が遮光された場合、多光軸光電センサSNSの出力が停止する。言い換えれば、検出信号が「非検出」の状態から「検出」の状態に切替えられる。機械の電源供給回路は、検出信号が「検出」の状態に切替わったことに応答して、機械の動作を停止させる。
上記機械の電源供給回路は、多光軸光電センサSNSから「検出」の状態を示す信号を受けると、機械に対する電源供給を停止することにより機械を安全が確保された状態に移行させる。この場合、「検出」の状態を示す信号は、停止信号として使用されるということができる。機械は、「検出」の状態を示す信号を受けたとき、機械全体の電源を遮断する代わりに、機械の中の危険な部分だけの動作を停止させたり、危険な部分の動作の速度を遅くしたりすることにより、安全を確保するようにしてもよい。
本実施の形態では、検出エリアLCを構成する複数の光軸のうちの一部の光軸が、特定の物体OBによって常に遮光された状態となっている。この物体OBは、たとえば危険側エリアに設置された機械の一部分であり、図中に矢印で示すように、検出エリアLC内を移動する。多光軸光電センサSNSは、フローティングブランキング機能を使用することにより、移動する物体OBによって一時的に遮光状態となる一部の光軸を無効化することが可能に構成されている。これによれば、物体OBによって遮光されている一部の光軸以外の光軸が遮光された場合に、多光軸光電センサSNSの検出信号が「非検出」の状態から「検出」の状態に切替えられる。
投光部1および受光部2の筐体の上部には、フローティングブランキング機能に関する報知のための表示灯10,20をそれぞれ設けることができる。表示灯10,20は、フローティングブランキング機能の使用中に点灯する。異常が生じた場合、表示灯10,20は、光の点滅によって、異常の発生を報知する。「異常」は、たとえば、フローティング有効エリア以外の検出エリアLC内に物体(たとえば人体)が侵入することによって生じた異常のほか、物体OBの姿勢の変化などによってフローティング有効エリアの一部(または全部)が入光状態になる異常を含む。
表示灯10,20はさらに、ティーチングの実行中に点灯する。そして、ティーチングの実行中に異常が生じた場合には、表示灯10,20は光の点滅によって異常の発生を報知する。また、ティーチングの終了時には表示灯10,20は消灯することによって、ティーチングの終了を報知する。
図2は、本発明の実施の形態に係る多光軸光電センサシステムの構成例を示す外観図である。図2を参照して、多光軸光電センサSNSは、投光部1と、受光部2と、通信ユニット4とを含む。多光軸光電センサシステム100は、多光軸光電センサSNSと、パーソナルコンピュータ5とを備える。
多光軸光電センサSNSは、投光部1と、受光部2と、通信用ケーブル101とを有する。投光部1と受光部2とは通信用ケーブル101により接続される。通信用ケーブル101には、分岐コネクタ102および専用コード3を介して通信ユニット4が連結される。通信ユニット4は、分岐コネクタ102およびパーソナルコンピュータ5に接続される。
図3は、図2に示す多光軸光電センサSNSの構成を示すブロック図である。図3を参照して、投光部1は、複数の発光素子11を備える。投光部1は、さらに、各発光素子11を個別に駆動する駆動回路12と、光軸順次選択回路13と、処理回路16と、通信回路17と、電源回路18と、表示回路19と、記憶回路14とを含む。
受光部2は、複数の発光素子11に対応してそれぞれ設けられる複数の受光素子21を備える。受光部2は、さらに、各受光素子21に対応して設けられるアンプ22およびスイッチ23と、光軸順次選択回路25と、処理回路26と、処理回路26への入力用のアンプ24と、通信回路27と、電源回路28と、記憶回路29と、モニタ回路30と、出力回路31とを含む。
光軸順次選択回路13は、各発光素子11の駆動回路12を順に処理回路16に接続する。光軸順次選択回路25は、各受光素子21に対応するアンプ22およびスイッチ23を順に処理回路26に接続する。
処理回路16,26は、CPU(Central Processing Unit)およびメモリ等を具備するマイクロコンピュータ(マイコン)などにより構成される。処理回路16,26は、毎時の受光量を所定の閾値と比較することによって、各光軸が入光/遮光のいずれの状態であるかを判定する。さらに、処理回路16,26は、光軸の選択が一巡(1スキャン)する都度、光軸ごとの判定結果を統合して、検出エリアLC全体としての遮光の有無を判定する。なお、フローティングブランキング機能が有効に設定されている場合には、物体OBにより遮光状態となる一部の光軸についての入光/遮光の判定結果が無効化される。
通信回路17,27は、RS485に準拠する通信インターフェースであって、投光部1と受光部2との間における信号のやりとりを制御する。
記憶回路14,29には、同じ筐体内の処理回路16,26の動作に必要なプログラムやパラメータなどが保存される。さらに、記憶回路14,29には、後述するティーチングにおいて取得されるデータを蓄積するための領域が設けられる。
出力回路31は、外部接続端子32を介して危険側エリア内の機械への電源供給回路に組み込まれたスイッチ機構(図示せず)に接続される。出力回路31からの出力信号が「非検出」の状態であれば、スイッチ機構が閉じて危険側エリア内の機械に電源が供給される。一方、出力回路31からの出力信号が「検出」の状態であれば、スイッチ機構が開いて機械が停止する。モニタ回路30は、表示灯10,20の点灯を制御する。
電源回路18,28は、共通の外部電源15(直流電源)から電源の提供を受け、投光部1と受光部2とにそれぞれ電源を供給する。表示回路19は、たとえば複数の7セグメントLED(Light Emitting Diode)から構成されており、複数桁の数字やアルファベット文字例を表示する。表示回路19は、投光部1に代えて、あるいは投光部1に加えて受光部2にも設けられてもよい。
分岐コネクタ102は、投光部1と受光部2との間の通信線および電源ラインを分岐する。専用コード3には分岐した通信線や電源ラインが収納される。専用コード3には通信ユニット4が接続される。通信ユニット4はパーソナルコンピュータ(図3においてPCと示す)5に接続される。
通信ユニット4は、マイコン36と、通信回路37と、電源回路38と、通信変換器35とを含む。通信回路37はRS485規格のインターフェースである。電源回路38は分岐コネクタ102を介して外部電源15からの電源を取り込み、通信ユニット4内の各部に供給する役割を果たす。通信変換器35は、RS485規格の信号をシリアル変換して、たとえばRS232CあるいはUSB(Universal Serial Bus)等の規格に準拠した信号を出力する。
光軸順次選択回路13と光軸順次選択回路25とが同期して、複数の発光素子11が順次点灯するとともに、複数の受光素子21が受光信号を順次出力する。処理回路16,26は、通信回路17,27によって、発光素子11と受光素子21との動作を制御するための信号を同期させる。
上記のように、投光部1と受光部2とは、通信用ケーブル101による通信を利用して互いに同期している。しかしながら投光部1と受光部2とは、光通信を利用して互いに同期してもよい。
パーソナルコンピュータ5は、たとえば通信ユニット4を介して受けたデータDTを表示する。パーソナルコンピュータ5は、多光軸光電センサSNSに設定する各種のパラメータ等を表示してもよい。パーソナルコンピュータ5に加えて、あるいはパーソナルコンピュータ5に代えて、表示回路19に各種のパラメータ等を表示してもよい。または、上記した各種の情報を表示する別の表示装置(たとえば専用コンソール)が通信ユニット4に接続されてもよい。
図4は、図3のパーソナルコンピュータ5の構成を示す図である。図4を参照して、パーソナルコンピュータ5は、全体を制御するための制御部51と、データを入力するための入力部55と、データを一時的に記憶するための記憶部53と、データを出力するための表示部57と、制御部51で実行するためのプログラム等を不揮発的に記憶するための外部記憶装置59とを含む。
制御部51は、CPUと、このCPUで実行するためのプログラムを記憶するための読出専用メモリ(ROM)やCPUでプログラムを実行する際に必要となる変数等を記憶するためのランダムアクセスメモリ(RAM)を含む。
入力部55は、キーボードまたはマウスなどであり、文字または数字の入力、または、所定の指示コマンドの入力が可能となっている。また、入力部55は通信ユニット4から伝送されるデータを受ける。
記憶部53は、多光軸光電センサSNSの設定に必要な各種データ等を一時的に格納する。
表示部57は、液晶表示装置等のディスプレイであり、制御部51の指示に従って各種の情報を表示する。表示部57が表示する情報には、たとえば多光軸光電センサSNSの動作結果や、後述するティーチングの実行によって取得されるフローティングブランキング機能およびブランキング監視機能に関する設定値などが含まれる。
外部記憶装置59は、プロセッサ読み取り可能な記録媒体61に記録されたプログラムやデータを読込み、制御部51に送信する。プロセッサ読み取り可能な記録媒体61としては、磁気テープやカセットテープなどのテープ系、磁気ディスク(フレキシブルディスク、ハードディスク装置等)や光ディスク(CD−ROM/DVD等)などのディスク系、ICカード(メモリカードを含む)あるいは光カードなどのカード系、あるいはマスクROM、EPROM、フラッシュメモリなどの半導体メモリ等、固定的にプログラムを担持する媒体である。なお、プログラムはネットワーク(図示せず)からダウンロードされてもよい。制御部51は、記録媒体61に記録されたプログラムを外部記憶装置59で読み取ることにより、読み取ったプログラムを実行することができる。
本実施の形態に係る多光軸光電センサシステムの制御方法に含まれる各ステップをパーソナルコンピュータ5(プロセッサ)に実行させるプログラムは、たとえば記録媒体61に記録されたプログラムに含まれる。ただし、多光軸光電センサシステムの制御方法に含まれる各ステップをパーソナルコンピュータ5(プロセッサ)に実行させるプログラムを記憶する装置は特定されない。たとえば、投光部1の記憶回路14および受光部2の記憶回路29のいずれかに記録されていてもよい。また、多光軸光電センサシステムの制御方法に含まれる各ステップを実行するプロセッサは、パーソナルコンピュータ5のようなコンピュータに特定されない。たとえば、ネットワーク(図示せず)への接続機能を有する携帯端末装置、または生産設備を制御するコントローラが実行してもよい。
本実施の形態においては、表示部57による画面表示によりデータが多光軸光電センサシステム100の外部に出力可能である。データは外部記憶装置59あるいは記録媒体61に出力されてもよく、印刷装置によってプリントアウトされてもよい。
また、本実施の形態において、多光軸光電センサシステム100は、多光軸光電センサSNSにおける光軸の選択が一巡(1スキャン)するごとに、検出エリアLC(図1)全体としての遮光の有無を判定し、その判定結果に基づいて検出信号を出力する検出処理部を備える。具体的には、検出処理部は、光軸の選択が1スキャンするごとに各光軸が遮光状態にあるか否かを判定し、光軸ごとの判定結果を統合して、検出エリアLC全体としての遮光の有無を判定する。検出エリアLCが全く遮光されていない場合、検出処理部は「非検出」の状態を示す信号を出力する。一方、検出エリアLCの少なくとも一部が遮光された場合には、検出処理部は「検出」の状態を示す信号を出力する。
一方、図1に示すように、検出エリアLC内を移動可能な特定の物体OBによって複数の光軸のうちのいずれか少なくとも1つの光軸が常時遮光状態となる場合には、フローティングブランキング機能が有効に設定される。フローティングブランキング機能が有効に設定されると、検出処理部は、複数の光軸のうち特定の物体OBによって遮光状態となる一部の光軸についての入光/遮光の判定結果を無効化する。具体的には、検出処理部は、遮光状態となる光軸の数が予め設定された最大光軸数より大きいときに、「検出」の状態を示す信号を出力する。検出処理部はさらに、遮光状態となる光軸の数が予め設定された最小光軸数より小さいときにも、「検出」の状態を示す信号を出力する。なお、最大光軸数および最小光軸数は、後述するように、フローティングブランキング機能およびブランキング監視機能に関する設定値に相当する。
多光軸光電センサシステム100はさらに、物体OBを用いた学習(ティーチング)を実行することにより、上記のフローティングブランキング機能およびブランキング監視機能に関する設定値を、実際のアプリケーションに適した値に設定するためのティーチング処理部をさらに備える。
なお、多光軸光電センサシステム100が備える検出処理部およびティーチング処理部の各々は、たとえば受光部2側の処理回路、投光部1側の処理回路16、またはパーソナルコンピュータ5によって実現可能である。検出処理部およびティーチング処理部は、1つの処理回路(制御回路)に統合されていてもよい。
[ティーチング処理]
次に、本発明の実施の形態に係る多光軸光電センサシステム100において実行されるティーチングについて説明する。
図5は、多光軸光電センサシステム100に設定される動作モードと各モード間の関係とを概略的に示す図である。
図5を参照して、多光軸光電センサシステム100は、検出モードおよびティーチングモードの2つのモードを有している。このうち検出モードは、通常の物体検出処理を行なうためのモードである。
検出モードでは、投光部1と受光部2との間で投受光処理が行なわれる。投受光処理では、処理回路16(図3)は、信号光発生のために所定の時間毎にタイミング信号を発生させて、これを光軸順次選択回路13に与える。光軸順次選択回路13は、各発光素子11に対応する駆動回路12を順に処理回路16に接続する。これにより、処理回路16からのタイミング信号が各駆動回路12に順に与えられて、各発光素子11の順次発光動作が実現する。さらにタイミング信号は、通信回路17,27を介して受光部2側の処理回路26にも与えられる。
受光部2において、各受光素子21からの受光出力は、アンプ22およびスイッチ23を介して処理回路26に送出される。処理回路26は、投光部1からのタイミング信号を光軸順次選択回路25に送って、各光軸のスイッチ23を順にオン動作させ、信号光を発光した発光素子11に対応する受光素子21からの受光出力を取り込むとともに、各受光出力をそれぞれ所定のしきい値と比較して、各光軸が遮光状態であるか否かを判定する。すべての光軸に対する受光出力の取り込みが終了すると、処理回路26は光軸ごとの判定結果をまとめて最終的な判定処理を行なって、その判定結果を示す検出信号を生成し、生成した検出信号を出力回路31を介して外部に出力する。
一方、ティーチングモードは、特定の物体OBを用いたティーチングを行なうことにより、フローティングブランキング機能およびブランキング監視機能に関する設定値を設定するためのモードである。ティーチングモードでは、検出モードと同様の投受光処理が行なわれる。そして、この投受光処理において取得される各光軸の入光/遮光の判定結果に基づいて、フローティングブランキング機能およびブランキング監視機能に関する設定値が算出されて設定される。
多光軸光電センサシステム100は、電源が立ち上げられた直後に検出モードが設定されるが、ティーチングモードへの移行命令が与えられるとティーチングモードに切り替えられる。ティーチングモードへの移行命令は、たとえば、パーソナルコンピュータ5の入力部55から入力可能である。あるいは、投光部1または受光部2にユーザにより操作されるスイッチを設けておき、当該スイッチがオン操作されたことに応答して、ティーチングモードへの移行命令が発せられるようにしてもよい。
ティーチングモードにおいてティーチングモード終了命令を受け付けると、多光軸光電センサシステム100は、ティーチングモードを終了して検出モードに戻る。ティーチングモード終了命令は、パーソナルコンピュータ5の入力部55から入力可能である。あるいは、投光部1または受光部2に設けられたスイッチがオフ操作されたことに応答して、ティーチングモード終了命令が発せられるようにしてもよい。または、ティーチングモードを開始してから継続して所定時間経過したときに、パーソナルコンピュータ5の制御部51がティーチングモード終了命令を発生するようにしてもよい。
次に、フローティングブランキング機能を使用する場合におけるティーチングモードでの処理を説明する。
(フローティングブランキングのためのティーチング処理)
図1に示したように、フローティングブランキングは、検出エリアLC内で特定の物体OBが移動している場合に有効な機能である。物体OBのサイズおよび検出エリアLC内における物体OBの位置に応じて、無効化したい光軸の数である「フローティング光軸数」を設定することにより、フローティング光軸数に対応した光軸数についての遮光の有無の判定結果を無効化することができる。
しかしながら、実際のアプリケーションでは、機械の振動などに起因して検出エリアLC内における物体OBの位置が不規則に変化することがある。図6は、光軸方向から見た検出エリアLC(図1)を模式的に示した図である。図6を参照して、検出エリアLCは、複数の光軸B1〜Bn(nは2以上の整数である)から構成されている。図6(a),(b)の各々において、四角は物体OBの一部分を表わしている。図中の白丸は入光状態の光軸を表わし、図中の黒丸は遮光状態の光軸を表わしている。
図6(a)と図6(b)とは、検出エリアLCを遮光する物体OBが共通する一方で、物体OBの位置が異なっている。そのため、図6(a)と図6(b)とを比較すると、遮光される光軸の位置とともに、遮光される光軸の数も異なっている。すなわち、物体OBの位置が不規則に変化することで、物体OBのサイズが同じであっても、遮光される光軸数が変化する可能性がある。
ここで、フローティングブランキング機能の使用中において、多光軸光電センサシステム100は、検出エリアLC内の物体OBの存在を常時監視している。そして、検出エリアLCから物体OBがいなくなる、または検出エリアLCにおける物体OBのサイズが小さくなることによって遮光されるべき光軸の一部(または全部)が入光状態になった場合には、フローティングブランキング機能の異常と判断して、機械の動作を強制的に停止させる。あるいは、フローティングブランキング機能を解除することにより、検出エリアLCのすべてを有効とする。
詳細には、物体OBが検出エリアLCからいなくなった後においてもフローティングブランキング機能が有効状態に維持されていると、万一検出エリアLC内に別の物体(たとえば人体)が侵入した場合において、当該物体によって遮光状態となる光軸の数がフローティング光軸数以下であるときには、多光軸光電センサSNSは当該物体を検出することができないという事態が生じてしまう。このような事態を未然に回避して多光軸光電センサSNSの安全機能を確保するために、多光軸光電センサシステム100は、フローティングブランキング機能の使用中に物体OBの存在を監視する機能(ブランキング監視機能)を備えている。すなわち、多光軸光電センサシステム100は、フローティングブランキング機能とブランキング監視機能とを並行して動作させることによって、生産現場での生産性と安全性とを両立している。
しかしながら、図6に示したように、検出エリアLCにおける物体OBの位置が不規則に変化することに起因して遮光される光軸の数が変化すると、遮光状態の光軸が入光状態に切り替わる場合がある。このような場合においても、上記のブランキング監視機能が動作することにより、ブランキング機能の異常と判断されて、機械の動作が強制的に停止させられることになる。すなわち、物体OBの位置の不規則な変化に起因してブランキング監視機能が誤った判断を行なうことにより、機械が想定外に停止して生産現場での生産性を阻害することになる。
そこで、本発明の実施の形態では、フローティングブランキング機能を使用する場合、フローティング光軸数の設定に加えて、ブランキング監視機能が動作しない光軸である「許容光軸」の数(以下、「許容光軸数」と称する)を設定する。図6のような場合には、物体OBの位置の不規則な変化によって遮光状態から入光状態に切り替わる光軸の数を許容光軸数に設定する。これにより、ブランキング監視機能の誤動作に基づく機械の停止を未然に回避することができる。
ここで、フローティングブランキング機能およびブランキング監視機能を正常に動作させるためには、フローティング光軸数および許容光軸数を、実際のアプリケーションにとって最適な値に正確に設定する必要がある。そこで、本発明の実施の形態では、実際のアプリケーションを用いたティーチングを実行する。ティーチングでは、実際のアプリケーション上において、投光部1および受光部2の間の投受光処理が一巡(1スキャン)するごとに蓄積される各光軸における遮光の有無の判定結果に基づいて、フローティング光軸数および許容光軸数を算出する。このフローティング光軸数および許容光軸数は、投受光処理が1スキャンするごとに算出されて更新される。もしくは、投受光処理を複数回スキャンした後に、蓄積される各光軸の遮光の有無の判定結果に基づいてフローティング光軸数および許容光軸数を算出してもよい。これにより、フローティング光軸数および許容光軸数を、実際のアプリケーションに最適な値に正確かつ迅速に設定することができる。
以下、フローティングブランキングおよびティーチングを行なうための制御構造について説明する。図7は、本実施の形態に係る多光軸光電センサシステム100における制御構造を示すブロック図である。
図7を参照して、多光軸光電センサシステム100における制御構造は、検出処理部70と、ティーチング処理部80とを備える。検出処理部70は、多光軸光電センサSNSにおける光軸の選択が1スキャンするごとに、検出エリアLC(図1)全体としての遮光の有無を判定し、その判定結果に基づいて検出信号を出力する。図8は、検出処理部70のより詳細な構成を示す図である。図8を参照して、検出処理部70は、遮光判定部72と、ブランキング処理部74とを含む。
遮光判定部72は、投光部1および受光部2の間の投受光処理が1スキャンするごとに、各受光素子21からの受光出力に基づいて、各光軸が遮光状態にあるか否かを判定する。遮光判定部72は、光軸ごとの判定結果を統合して、検出エリアLC全体としての遮光の有無を判定し、その判定結果を示す信号をブランキング処理部74に出力する。
ブランキング処理部74は、遮光判定部72から与えられる判定結果に基づいて検出信号を出力する。ブランキング処理部74には、フローティングブランキング機能の有効/無効を選択するためのブランキングオンオフ指令が与えられる。ブランキング処理部74は、ブランキングオン指令を受け付けることにより、フローティングブランキング機能が有効(オン)に設定される。一方、ブランキングオフ指令を受け付けることにより、フローティングブランキング機能が無効(オフ)に設定される。ブランキングオンオフ指令は、たとえば、パーソナルコンピュータ5の入力部55から入力可能である。あるいは、投光部1または受光部2にユーザにより操作されるスイッチを設けておき、当該スイッチがオンされたことに応答して、ブランキングオンオフ指令が発せられるようにしてもよい。
ブランキング処理部74は、フローティングブランキング機能が有効に設定されている場合には、移動する物体OB(図1)によって一時的に遮光状態となる一部の光軸についての入光/遮光の判定結果を無効化する。具体的には、ブランキング処理部74は、ティーチング処理部80によって予め設定されたフローティング光軸数を用いて、物体OBによって遮光されている一部の光軸以外の光軸が遮光されているか否かを判定する。当該一部の光軸以外の光軸が遮光されていると判定されたとき、ブランキング処理部74は「検出」の状態を示す信号を出力する。
ブランキング処理部74はさらに、ティーチング処理部80によって予め設定された許容光軸数を用いて、検出エリアLC内の物体OBの存在を常時監視している。検出エリアLCから物体OBがいなくなった、または検出エリアLCにおける物体OBのサイズが小さくなったと判定されたときにも、ブランキング処理部74は「検出」の状態を示す信号を出力する。
一方、フローティングブランキング機能が無効に設定されている場合には、ブランキング処理部74は、検出エリアLCの少なくとも一部が遮光されたときに、「検出」の状態を示す信号を出力する。機械の電源供給回路は、多光軸光電センサSNSから「検出」の状態を示す信号を受けると、機械に対する電源供給を停止することにより機械を安全が確保された状態に移行させる。
フローティングブランキング機能を使用するにあたっては、物体OBのサイズおよび検出エリアLC内における位置に応じて、フローティング光軸数、許容光軸数および、フローティングブランキング機能が有効となるエリアであるフローティング有効エリアが予め設定される。ティーチング処理部80は、ティーチングモードへの移行命令を受け付けると、物体OBを用いたティーチングを行なうことにより、フローティング光軸数、許容光軸数およびフローティング有効エリアの各々を、実際のアプリケーションに適した値に設定する。
検出処理部70およびティーチング処理部80の各々は、たとえば受光部2側の処理回路、投光部1側の処理回路16、またはパーソナルコンピュータ5によって実現可能である。検出処理部およびティーチング処理部は、1つの処理回路(制御回路)に統合されていてもよい。また、受光素子21からの受光信号に基づいて各光軸における遮光の有無を判定する遮光判定部72は、たとえば光軸順次選択回路25、処理回路26またはその両方によって実現可能である。
図9は、フローティングブランキングのためのティーチング処理を説明するための図である。図9は、図6と同様に、光軸方向から見た検出エリアLC(図1)を模式的に示している。すなわち、検出エリアLCは、複数の光軸B1〜Bn(nは2以上の整数である)から構成されており、四角は物体OBの一部分を表わしている。図中の白丸は入光状態の光軸を表わし、図中の黒丸は遮光状態の光軸を表わしている。
図9を参照して、投受光処理を3スキャン行ない、1スキャンごとにフローティング光軸数、許容光軸数およびフローティング有効エリアを設定する場合を想定する。1スキャン目では、複数の光軸B1〜Bnのうち、物体OBによって光軸B3,B4が遮光状態となっている。したがって、フローティング光軸数は「2」に設定されるとともに、物体OBによる遮光エリアである光軸B3,B4がフローティング有効エリアに設定される。なお、許容光軸数は「0」に設定される。
2スキャン目では、物体OBが移動したことによって、光軸B4〜B6が遮光状態となっている。すなわち、2スキャン目では、光軸B3が遮光エリアから外れる一方で、光軸B5,B6が新たに遮光エリアとなっている。したがって、1スキャン目での遮光エリア(光軸B3,B4)と2スキャン目での遮光エリア(光軸B4〜B6)との論理和に基づき、光軸B3〜B6がフローティング有効エリアに設定される。
さらに、2スキャン目では、遮光エリア(光軸B4〜B6)に基づいて、フローティング光軸数が「3」に設定される。2スキャン目のフローティング光軸数(遮光光軸数の最大値)と1スキャン目のフローティング光軸数(遮光光軸数の最小値)との差である「1」(=3−2)が許容光軸数に設定される。
3スキャン目では、物体OBがさらに移動することにより、光軸B5〜B7が遮光状態となっている。2スキャン目と比較して、3スキャン目では、光軸B3,B4が遮光エリアから外れる一方で、光軸B7が新たに遮光エリアとなっている。したがって、2スキャン目でのフローティング有効エリア(光軸B3〜B6)と3スキャン目での遮光エリア(光軸B5〜B7)との論理和に基づき、光軸B3〜B7がフローティング有効エリアに設定される。
3スキャン目では、遮光エリア(光軸B5〜B7)に基づいて、フローティング光軸数が「3」に設定される。2スキャン目および3スキャン目のフローティング光軸数(遮光光軸数の最大値)と1スキャン目のフローティング光軸数(遮光光軸数の最小値)との差である「1」(=3−2)が許容光軸数に設定される。
このようにして、投受光処理が1スキャンするごとに取得される遮光エリアおよび遮光光軸数を比較した結果に基づいて、フローティング有効エリア、フローティング光軸数および許容光軸数が設定される。なお、フローティング有効エリアは、スキャンごとの遮光エリアの論理和に相当する。フローティング光軸数は、スキャンごとの遮光光軸数の最大値に相当する。許容光軸数は、スキャンごとの遮光光軸数の最大値(フローティング光軸数)とスキャンごとの遮光光軸数の最小値との差に相当する。これらの設定値はいずれも、実際のアプリケーション上での物体OBの位置の変化を反映したものとなっている。したがって、本実施に形態に係るティーチング処理によれば、フローティング有効エリア、フローティング光軸数および許容光軸数を、実際のアプリケーションに最適な値に正確かつ迅速に設定することができる。
図10は、フローティングブランキングのためのティーチング処理を説明するフローチャートである。なお、図10および他の図面に記載された処理は、多光軸光電センサシステム100の制御に関係する機能ブロックによって実行される。したがって、特定の機能ブロックのみが以下に説明する処理を実行するものと限定されない。すなわち、フローチャートの各ステップの処理は、たとえば通信ユニット4のマイコン36、処理回路16,26、およびパーソナルコンピュータ5のいずれかによって実行可能である。
図10を参照して、まずティーチングが開始されたか否かが判定される(ステップS11)。ティーチングが開始されたか否かは、たとえば、PC5の入力部55に入力されるパラメータや、投光部1または受光部2に設けられたスイッチの設定を参照することにより判定することができる。
ティーチングモードへの移行命令が与えられてティーチングが開始されている場合(ステップS11においてYES)、ティーチング処理部80(図7)は、投受光処理が1スキャンするごとに、検出エリアLCの各光軸について、遮光状態であるか否かの判定結果を示す情報(以下、「遮光情報」とも称する)を取得する(ステップS12)。
ティーチング処理部80は、取得した遮光情報に基づいて遮光エリアおよび遮光光軸数を検出すると、検出した遮光エリアおよび遮光光軸数と、前回のスキャンにおいて検出された遮光エリアおよび遮光光軸数とをそれぞれ比較する(ステップS13)。ティーチング処理部80は、比較結果に基づき、今回のスキャンにおける遮光光軸数が前回のスキャンにおける遮光光軸数よりも増加したか否かを判定する。ティーチング処理部80はさらに、今回のスキャンにおける遮光エリアが前回のスキャンにおける遮光エリアよりも拡大したか否かを判定する(ステップS14)。
今回のスキャンにおける遮光光軸数が前回のスキャンにおける遮光光軸数よりも増加した場合(ステップS14においてYES)、ティーチング処理部80は、遮光光軸数の最大値を今回のスキャンにおける遮光光軸数に更新する(ステップS15)。ティーチング処理部80はまた、今回のスキャンにおける遮光エリアが前回のスキャンにおける遮光エリアよりも拡大した場合(ステップS14においてYES)、拡大した遮光エリアを含めるように遮光エリア情報を更新する(ステップS15)。
ティーチング処理部80は、ティーチングの実行中において、遮光情報、遮光エリア情報および遮光光軸数情報を蓄積する。本実施の形態において、遮光情報、遮光エリア情報および遮光光軸数情報を蓄積するための記憶装置は特定されない。たとえば、投光部1の記憶回路14、受光部2の記憶回路29および、通信ユニット4の記憶回路39のいずれかにデータが蓄積されてもよい。あるいは、パーソナルコンピュータ5の外部記憶装置59または記録媒体61にデータが蓄積されてもよい。
ティーチング処理部80はさらに、ティーチングの実行中、記憶装置に蓄積した遮光情報、遮光エリア情報および遮光光軸数情報をユーザに提示することが可能である。本発明の実施の形態において、遮光情報、遮光エリア情報および遮光光軸数情報を提示する提示部は、たとえばパーソナルコンピュータ5の表示部57による画面表示によって実現可能である。なお、提示部は、遮光情報、遮光エリア情報および遮光光軸数情報を多光軸光電センサシステム100の外部に出力可能に構成されているものであれば、その手段は限定されない。たとえば、遮光情報、遮光エリア情報および遮光光軸数情報は、印刷装置によるプリントアウトされてもよく、外部記憶装置59あるいは記録媒体61に出力されてもよい。あるいは、遮光情報、遮光エリア情報および遮光光軸数情報を携帯機器、生産設備の制御装置であるコントローラ、あるいは生産設備を管理するネットワークに出力することも可能である。
次に、ティーチング処理部80は、ティーチングが完了したか否かを判定する(ステップS16)。ティーチングは、ティーチングモード終了命令(図5)に従って終了する。ティーチングモード終了命令が与えられたか否かは、たとえば、パーソナルコンピュータ5の入力部55に入力されるパラメータや、投光部1または受光部2に設けられたスイッチの設定を参照することにより判定することができる。あるいは、ティーチング処理部80は、ティーチングモードを開始してから継続して所定時間経過したときにパーソナルコンピュータ5の制御部51が発生するティーチングモード終了命令に基づいて、ティーチング処理が完了したと判定するようにしてもよい。
ティーチングが完了していない場合(ステップS16においてNO)、ティーチング処理部80はステップS12〜S15の処理を継続して実行する。すなわち、ティーチング処理部80は、投受光処理が1スキャンするごとに遮光エリアおよび遮光光軸数を検出し、検出した遮光エリアを遮光エリア情報として順次蓄積していくとともに、検出した遮光光軸数を遮光光軸数情報として順次蓄積していく。そして、ティーチングが完了すると(ステップS16においてYES)、ティーチング処理部80は、蓄積された遮光エリア情報および遮光光軸数情報に基づいて、フローティング有効エリア、フローティング光軸数および許容光軸数を算出する(ステップS17)。算出されたフローティング有効エリア、フローティング光軸数および許容光軸数は、上述した遮光情報および遮光エリア情報と同様の提示部を用いてユーザに提示される。
ティーチング処理によって設定されたフローティング有効エリア、フローティング光軸数および許容光軸数は、検出処理部70(図7)に与えられる。検出処理部70は、検出モードにおいてフローティングブランキング機能が有効(オン)に設定されている場合には、これらの設定値を用いて物体検出処理を実行する。図11は、本実施の形態に係る多光軸光電センサシステムにおける物体検出処理を説明するフローチャートである。
図11を参照して、ティーチングモード終了命令が与えられて検出モードに切替えられると、検出処理部70は、投受光処理が1スキャンするごとに、検出エリアLCの各光軸について、遮光状態であるか否かの判定結果を示す情報(遮光情報)を取得する(ステップS01)。
次に、検出処理部70は、フローティングブランキング機能が有効に設定されているか否かを判定する(ステップS02)。ブランキングオン指令が与えられてフローティングブランキング機能が有効に設定されている場合(ステップS02においてYES)、検出処理部70は、取得した遮光情報に基づいて遮光光軸数を検出すると、検出した遮光光軸数と最大光軸数とを比較する(ステップS03)。最大光軸数は、上述したティーチング処理によって設定されたフローティング光軸数に相当する。すなわち、最大光軸数は、ティーチング処理において各スキャンにおいて取得される遮光光軸数のうちの最大値に相当する。
遮光光軸数が最大光軸数より大きい場合(ステップS03においてYES)、検出処理部70は、物体OBによって遮光されている一部の光軸以外の光軸が遮光されていると判断する。したがって、検出処理部70は「検出」の状態を示す信号を出力する(ステップS07)。機械の電源供給回路は、多光軸光電センサシステム100から「検出」の状態を示す信号を受けると、機械に対する電源供給を停止することにより機械を安全が確保された状態に移行させる。
一方、遮光光軸数が最大光軸数以下となる場合(ステップS03においてNO)、検出処理部70は続いて、検出した遮光光軸数と最小光軸数とを比較する(ステップS04)。最小光軸数は、フローティング光軸数から許容光軸数を差し引いた値に相当する。すなわち、最小光軸数は、ティーチング処理において各スキャンにおいて取得される遮光光軸数の最小値に相当する。
遮光光軸数が最小光軸数より小さい場合(ステップS04においてYES)、検出処理部70は、検出エリアLC内から物体OBがいなくなった、または検出エリアLCにおける物体OBのサイズが小さくなったと判断する。このような場合においても、検出処理部70は「検出」の状態を示す信号を出力する(ステップS07)。すなわち、検出処理部70は、ブランキング機能の異常と判断して、機械の動作を強制的に停止させる。
一方、遮光光軸数が最小光軸数以上となる場合(ステップS04においてNO),検出処理部70は、ブランキング機能が正常であり、かつ、物体OBによって遮光されている一部の光軸以外の光軸が遮光されていないと判断して「非検出」の状態を示す信号を出力する(ステップS05)。
これに対して、ブランキングオフ指令が与えられてフローティングブランキング機能が無効に設定されている場合(ステップS02においてNO)、検出処理部70は、取得した遮光情報に基づいて遮光光軸数を検出すると、検出した遮光光軸数が1以上であるか否かを判定する(ステップS06)。検出した遮光光軸数が1以上である場合(ステップS06においてYES)、検出処理部70は、検出エリアLCを構成する複数の光軸の少なくとも1つが遮光されていると判断して「検出」の状態を示す信号を出力する(ステップS07)。一方、遮光光軸数が1より小さい、すなわち遮光光軸数が0である場合(ステップS06においてNO)、検出処理部70は、検出エリアLCが全く遮光されていないと判断して「非検出」の状態を示す信号を出力する(ステップS08)。
なお、本実施の形態では、最大光軸数にフローティング光軸数を採用し、最小光軸数にフローティング光軸数から許容光軸数を差し引いた値を採用する構成について例示したが、この構成に限られるものではない。本実施の形態において、最大光軸数および最小光軸数はティーチング処理において各スキャンにおいて取得される遮光光軸数を比較した結果に基づいて設定されるものであればよい。
たとえば、ティーチング処理によって設定されたフローティング光軸数に所定の光軸数を加算した値を最大光軸数に設定してもよい。フローティング光軸数は、一部の光軸の遮光が物体OBによるものか否かを判定するための判定値に相当する。所定の光軸数は、この判定値に対してマージン(余裕)を設けるものである。所定の光軸数は、多光軸光電センサシステムの安全機能と生産現場の生産性とを比較考量した上で任意の値に設定することが可能である。
さらに、フローティング光軸数から許容光軸数を差し引いた値から所定の光軸数を更に減算した値を「最小光軸数」に設定してもよい。フローティング光軸数から許容光軸数を差し引いた値は、検出エリアLC内から物体OBがいなくなる、または検出エリアLCにおける物体OBのサイズが小さくなることを検出するための判定値である。所定の光軸数は、このブランキング監視機能における判定値に対してマージンを設けるものである。所定の光軸数は、多光軸光電センサシステムの安全機能と生産現場の生産性とを比較考量した上で任意の値に設定することが可能である。
あるいは、フローティング光軸数から許容光軸数を差し引いた値を最小光軸数に設定した上で、この最小光軸数に所定の光軸数を加算した値を最大光軸数に設定してもよい。または、フローティング光軸数を最大光軸数に設定した上で、この最大光軸数から所定の光軸数を減算した値を最小光軸数に設定してもよい。
また、物体検出処理を行なうための制御構造としては、検出処理部70において、まず遮光判定部72(図8)が光軸ごとの遮光の有無の判定結果を統合して、検出エリアLC全体としての遮光の有無を判定し、その後、ブランキング処理部74(図8)がフローティングブランキング機能が有効に設定されていることに応じて、遮光判定部72の判定結果のうちの一部の光軸についての判定結果を無効化する構成について例示したが、この構成に限られるものではない。たとえば、図12に示すように、フローティングブランキング機能が有効に設定されている場合には、ブランキング処理部74がティーチング処理部80から与えられるフローティング光軸数および許容光軸数に応じて最大光軸数および最小光軸数を設定し、その設定値を遮光判定部72に与える構成としてもよい。この場合、遮光判定部72は、遮光情報から取得される遮光光軸数と、最大光軸数および最小光軸数の各々とを比較し、その比較結果に基づいて検出信号を出力する。
[本実施の形態の作用効果]
この発明の実施の形態によれば、特定の物体を用いたティーチングを実行することにより蓄積される光軸ごとの遮光の有無の判定結果に基づいて、フローティングブランキング機能およびブランキング監視機能に関する設定値を設定する。具体的には、ティーチングにより取得される遮光エリア情報および遮光光軸数情報に基づいて、フローティングブランキング機能に関する設定値(最大光軸数、フローティング光軸数)およびブランキング機能に関する設定値(最小光軸数、許容光軸数)を設定する。これにより、フローティングブランキング機能およびブランキング監視機能に関する設定値を、実際のアプリケーションに最適な値に正確かつ迅速に設定することが可能となる。
従来の多光軸光電センサにおいては、これらの設定値を複雑な計算、または、実機を用いてのカットアンドトライによって設定することが一般的であるため、設定に多くの時間を必要としていた。この結果、生産設備の立上げ、または生産設備における機械の取り替えの際に作業工数が膨大となるという問題があった。特に、ブランキング監視機能を無効化するための許容光軸については、ユーザが感覚的に設定したり、上記のカットアンドトライによって設定されるため、正確な値を迅速に設定することが難しいという課題があった。
これに対して、この発明の実施の形態においては、特定の物体を用いたティーチングを行ない、ティーチングによって取得される光軸ごとの遮光の有無の判定結果に基づいてフローティングブランキング機能およびブランキング監視機能に関する設定値を設定する。このため、設定値は、実際のアプリケーション上での物体の位置の変化を反映したものとなっている。したがって、フローティングブランキング機能およびブランキング監視機能に関する設定値を、実際のアプリケーションに最適な値に正確かつ迅速に設定することができる。
特に、この発明の実施の形態によれば、ブランキング監視機能に関する設定値である許容光軸数を実際のアプリケーションに最適な値に迅速に設定することができる。このため、実際のアプリケーションにおいて物体の位置の不規則な変化に起因して生産設備が停止するのを防止することができる。すなわち、この発明の実施の形態によれば、生産性と安全性とを両立可能な多光軸光電センサシステムを簡易に構築することができる。
[その他の実施の形態]
本願発明に係る多光軸光電センサシステムは、以下に示す実施の形態によっても、上述した実施の形態と同様の作用効果を得ることができる。
(1)リアルタイム表示処理:
本願発明におけるティーチング処理部は、投受光処理をスキャンするごとに蓄積される光軸ごとの遮光の有無の判定結果に基づいて、フローティングブランキング機能に関する設定値を更新することが可能に構成される。そして、ティーチング処理部は、ティーチングの実行中、更新された設定値をリアルタイムで表示する処理を実行する。この表示処理は、たとえば多光軸光電センサSNSの表示回路19,32(図3)またはパーソナルコンピュータ5の表示部57(図4)を用いて行なうことが可能である。ユーザは、表示された設定値を監視することによってティーチングが正常に行なわれているか否かを判断することができる。
(2)異常検出処理:
本願発明におけるティーチング処理部は、フローティングブランキング機能に関する設定値が所定の許容範囲から外れる場合には、警告をユーザに提示する処理を実行する。図13は、フローティングブランキングのためのティーチングの実行中における異常検出処理を説明するフローチャートである。
図13を参照して、図10と同様のステップS11により、ティーチングが開始されたか否かが判定される。ティーチングが開始されている場合(ステップS11においてYES)、ティーチング処理部80(図7)は、フローティング有効エリアの許容範囲を示す情報を取得する(ステップS21)。フローティング有効エリアの許容範囲は、検出エリアLC内に存在する物体OB(図1)の移動可能範囲に基づいて設定することができる。
次に、ティーチング処理部80は、投受光処理が1スキャンするごとに遮光情報を取得すると(ステップS22)、遮光情報に基づいて遮光エリアを検出する。そして、ティーチング処理部80は、検出した遮光エリアとフローティング有効エリアの許容範囲とを比較することにより、許容範囲外の光軸が遮光状態であるか否かを判定する(ステップS23)。
ティーチング処理部80は、許容範囲外の光軸が遮光状態である場合(ステップS23においてYES)、警告をユーザに提示する(ステップS24)。これによれば、設定値が正確な値ではないため、ティーチングをやり直す必要があることをユーザに知らせることができる。その結果、不適切な設定値に基づいてフローティングブランキング機能が動作することを未然に防止することができる。なお、警告の提示は、たとえば表示灯10,20における光の点滅によって行なうことができる。
一方、遮光エリアが許容範囲内にある場合には(ステップS23においてNO)、ティーチング処理部80は、図10と同様のステップS13〜S17により、ティーチングを行ない、フローティング光軸数、許容光軸数およびフローティング有効エリアを算出する。算出されたフローティング光軸数、許容光軸数およびフローティング有効エリアは、上述した遮光情報および遮光エリア情報と同様の提示部を用いてユーザに提示される。
(3)フィルタ処理:
本願発明におけるティーチング処理部80は、ティーチングの実行中に複数の光軸をスキャンするごとに蓄積される光軸ごとの遮光の有無判定結果から異常値を除去するフィルタ処理を実行する。図14は、フローティングブランキングのためのティーチングの実行中におけるフィルタ処理を説明するフローチャートである。
図14を参照して、図10と同様のステップS11,S12により、ティーチングが開始されると、ティーチング処理部80は、投受光処理が1スキャンするごとに遮光情報を取得する。ティーチング処理部80は、取得された遮光情報が正常であるか否かを判定する(ステップS121)。具体的には、ティーチング処理部80は、遮光状態にある複数の光軸の中に、物体OB以外のものによって遮光された光軸が含まれているか否かを判定する。物体OB以外のものによって遮光された光軸が含まれていると判定された場合、ティーチング処理部80は遮光情報が異常であると判断する。この場合、ティーチング処理部80は、遮光情報から当該光軸についての判定結果(異常値)を除去する(ステップS122)。
次に、ティーチング処理部80は、図10と同様のステップS13〜S17により、ティーチングを実行し、フローティング光軸数、許容光軸数およびフローティング有効エリアを算出する。算出されたフローティング光軸数、許容光軸数およびフローティング有効エリアは、上述した遮光情報および遮光エリア情報と同様の提示部を用いてユーザに提示される。
上記のように、ティーチング中、遮光判定部の判定結果の中から明らかな異常値を取り除くことにより、フローティングブランキング機能に関する設定値を正確に設定することができる。なお、フィルタ処理は、ティーチングを開始する前に予め設定しておくようにしてもよいし、蓄積された光軸ごとの遮光の有無の判定結果を参照してユーザが異常値を手動で取り除くようにしてもよい。
(4)検出エリア選択処理:
本願発明におけるティーチング処理部は、検出エリア内に、フローティングブランキング機能およびブランキング監視機能に関する設定値を複数個設定可能に構成される。図15に示されるように、機械の構造上、検出エリア内に複数の物体OB1,OB2が存在するような構成がある。このような構成では、物体ごとにフローティングブランキング機能を独立して動作させることが求められる場合がある。上記の構成において、ティーチング処理部80は、検出エリアLCを複数の検出エリアLC1〜LCm(mは2以上の整数である)に分割し、検出エリアごとにティーチングを実行する。
図16は、フローティングブランキングのためのティーチングの実行中における検出エリア選択処理を説明するフローチャートである。図16を参照して、図10と同様のステップS11により、ティーチングが開始されたか否かが判定される。ティーチングが開始されている場合(ステップS11においてYES)、ティーチング処理部80は、複数の検出エリアLC1〜LCmの中から選択された検出エリアを示す情報を取得する(ステップS31)。ティーチングの対象となる検出エリアは、検出エリアLC内に存在する少なくとも1つの物体OB1,OB2(図14)の位置およびサイズに基づいて選択することができる。
次に、ティーチング処理部80は、投受光処理が1スキャンするごとに、選択された検出エリアにおける遮光情報を取得する(ステップS32)。ティーチング処理部80は、図10と同様のステップS13〜S17により、ティーチングを実行し、フローティング光軸数、許容光軸数およびフローティング有効エリアを算出する。算出されたフローティング光軸数、許容光軸数およびフローティング有効エリアは、上述した遮光情報および遮光エリア情報と同様の提示部を用いてユーザに提示される。
このような構成とすることにより、検出エリアLC内に複数の物体が存在する場合においても、物体ごとにフローティングブランキング機能およびブランキング監視機能に関する設定値を正確かつ迅速に設定することができる。なお、検出処理部70は、フローティングブランキング機能が有効に設定されている場合において、検出エリアごとに設定された設定値を同時に使用することも、切り替えて使用することも可能に構成される。すなわち、検出処理部70は、検出エリアLC内に存在する物体の位置およびサイズに応じて最適な設定値を適宜選択することができる。
さらに、上記の構成によれば、ティーチング処理部80は、複数の光軸の中から選択された光軸に対する遮光の有無の判定結果に基づいて、フローティングブランキング機能およびブランキング監視機能に関する設定値を設定することが可能となる。これによれば、検出エリアLC内に存在する物体OBの位置およびサイズに応じて、複数の光軸の中からティーチングの対象となる光軸を予め選択しておくことにより、ティーチングに要する負荷を軽減することができる。また、ティーチングの実行中に、ティーチング対象の光軸以外の光軸が遮光状態となった場合には、ティーチング処理部80は、特定の物体OB以外の物体が検出エリアLC内に侵入したと判断してユーザに警告を提示することができる。したがって、ティーチングの実行中における安全性を確保できる。
(5)センサ選択処理:
本願発明における多光軸光電センサシステムにおいては、複数の多光軸光電センサSNSの投光部1同士を連結させるとともに受光部2同士を連結させる構成にも適用可能である。図17は、複数の多光軸光電センサSNSA〜SNSCを有する多光軸光電センサシステムの一例を示す。図17を参照して、3つの投光部1A〜1Cは光軸に垂直な方向に直線状に配列される。3つの受光部2A〜2Cは、3つの投光部1A〜1Cにそれぞれ対向するように、光軸に垂直な方向に直線状に配置される。
このような構成において、ティーチング処理部80は、複数の多光軸光電センサSNSA〜SNSCを一体とみなしてティーチング処理を行なうことも、多光軸光電センサごとにティーチング処理を行なうことも可能である。複数の多光軸光電センサSNSA〜SNSCを一体とみなしてティーチング処理を行なう場合、ティーチング処理部80は、複数の投光部1A〜1Cと複数の受光部2A〜2Cとの間に形成される複数の光軸を一体の検出エリアとみなし、当該複数の光軸の遮光判定結果に基づいてブランキング機能に関する設定値を設定する。
一方、多光軸光電センサごとにティーチング処理を行なう場合には、複数の多光軸光電センサSNSA〜SNSCの中からティーチング処理を行なう対象となる少なくとも1つの多光軸光電センサを選択することができる。この選択は、たとえば、ユーザが、パーソナルコンピュータ5の入力部55(図6)を用いて、データの蓄積および分析の対象となる多光軸光電センサを選択できるようにしてもよい。
図18は、フローティングブランキングのためのティーチングの実行中における多光軸光電センサ選択処理を説明するフローチャートである。図18を参照して、図10と同様のステップS11により、ティーチングが開始されたか否かが判定される。ティーチングが開始されている場合(ステップS11においてYES)、ティーチング処理部80は、複数の多光軸光電センサSNSA〜SNSCの中から選択された多光軸光電センサを示す情報を取得する(ステップS41)。
次に、ティーチング処理部80は、投受光処理が1スキャンするごとに、選択された多光軸光電センサの検出エリアLCの遮光情報を取得する(ステップS42)。ティーチング処理部80は、図10と同様のステップS13〜S17により、ティーチングを実行し、フローティング光軸数、許容光軸数およびフローティング有効エリアを算出する。算出されたフローティング光軸数、許容光軸数およびフローティング有効エリアは、上述した遮光情報および遮光エリア情報と同様の提示部を用いてユーザに提示される。
(6)物体動作速度検出処理:
本願発明におけるティーチング処理部80は、フローティングブランキングのためのティーチング処理において、投受光処理をスキャンするごとに蓄積される遮光判定部の判定結果に基づいて、特定の物体の動作速度を検出することができる。
図19は、フローティングブランキングのためのティーチングの実行中において、投受光処理をスキャンするごとに取得される遮光情報を示す図である。スキャンごとに取得される遮光情報は、投受光処理をスキャンしたタイミングでの物体OBの位置を表わしている。図19に示されるように、光軸に垂直な方向をy軸方向とする。1スキャン目の物体OBの位置(座標y1)は、遮光状態となっている光軸B3,B4から求めることができる。同様にして、2スキャン目および3スキャン目の物体OBの位置(座標y2,y3)も、各スキャンで遮光状態となっている光軸から求めることができる。
1スキャン目の物体OBの位置(座標y1)と2スキャン目の物体OBの位置(座標y2)との差は、1スキャンする時間における物体OBの移動距離に相当する。この物体OBの移動距離および1スキャンする時間に基づいて、物体OBの動作速度を算出することができる。
図20は、フローティングブランキングのためのティーチングの実行中における物体の動作速度検出処理を説明するフローチャートである。図20を参照して、まずティーチングが開始されたか否かが判定される(ステップS51)。ティーチングが開始されたか否かは、たとえば、PC5の入力部55に入力されるパラメータや、投光部1または受光部2に設けられたスイッチの設定を参照することにより判定することができる。
ティーチングモードへの移行命令が与えられてティーチングが開始されている場合(ステップS51においてYES)、ティーチング処理部80は、投受光処理が1スキャンするごとに遮光情報を取得する(ステップS52)。
ティーチング処理部80は、取得した遮光情報に基づいて物体OBの位置(y座標)を検出すると(ステップS53)、検出した物体OBの位置と、前回のスキャンにおいて検出された物体OBの位置とに基づいて、1スキャンする時間における物体OBの移動距離を算出する。そして、ティーチング処理部80は、算出した物体OBの移動距離および1スキャンする時間に基づいて、物体OBの動作速度を算出する(ステップS54)。ティーチング処理部80は、今回のスキャンにおける物体OBの動作速度を含めるように、動作速度情報を更新する(ステップS55)。
ティーチング処理部80は、ティーチングの実行中において、遮光情報、遮光エリア情報および遮光光軸数情報とともに、動作速度情報を蓄積する。ティーチング処理部80はさらに、ティーチングの実行中、記憶装置に蓄積した動作速度情報をユーザに提示することも可能である。
次に、ティーチング処理部80は、ティーチングが完了したか否かを判定する(ステップS56)。ティーチングが完了していない場合(ステップS56においてNO)、ティーチング処理部はステップS53〜S55の処理を継続して実行する。すなわち、ティーチング処理部80は、投受光処理が1スキャンするごとに物体OBの動作速度を算出し、算出した物体OBの動作速度を動作速度情報として順次蓄積していく。
ティーチングが完了すると(ステップS56においてYES)、ティーチング処理部80は、蓄積された動作速度情報の中から、動作速度の上限値および下限値を抽出する。そして、ティーチング処理部80は、抽出した動作速度の上限値および下限値に基づいて、動作速度の許容範囲を設定する(ステップS57)。設定された動作速度の許容範囲は、フローティング有効エリア、フローティング光軸数および許容光軸数とともに、提示部を用いてユーザに提示される。
(7)物体動作異常検出処理:
上記(6)の物体動作速度検出処理を行なうことによって物体OBの動作速度の設定範囲が設定されると、ティーチング処理部80は、ティーチングモードから検出モードに移行した後において、フローティングブランキングの実行中、上記設定範囲を用いて物体OBの動作異常を検出する処理を実行する。具体的には、ティーチング処理部80は、フローティングブランキングの実行中、物体OBの動作速度を検出するとともに、検出した動作速度と許容範囲とを比較する。これによれば、検出モード時に機械が暴走して物体が許容範囲を超える速度で動作した場合に、ティーチング処理部80は機械側の異常を検出してユーザに報知することができる。
図21は、フローティングブランキングの実行中における物体の動作異常検出処理を説明するフローチャートである。図21を参照して、まず検出モードが開始されたか否かが判定される(ステップS61)。検出モードが開始されたか否かは、たとえば、PC5の入力部55に入力されるパラメータや、投光部1または受光部2に設けられたスイッチの設定を参照することにより判定することができる。
ティーチングモード終了命令が与えられて検出モードが開始されている場合(ステップS61においてYES)、ティーチング処理部80は、図20と同様のステップS52〜S55により、フローティングブランキングの実行中に取得される遮光情報に基づいて物体OBの位置の検出、物体OBの動作速度の算出、および動作速度情報の更新を実行する。
さらに、ティーチング処理部80は、算出した物体OBの動作速度と動作速度の許容範囲とを比較する(ステップS66)。物体OBの動作速度が許容範囲を超えている場合(ステップS66においてNO)、ティーチング処理部80は警告をユーザに提示する(ステップS67)。警告の提示は、たとえば表示灯10,20における光の点滅によって行なうことができる。
(8)最大許容サイズ提示処理:
本願発明におけるティーチング処理部80は、フローティングブランキング機能に関する設定値に基づいて、当該設定値を適用することが可能な物体の大きさの範囲を算出することができる。たとえば、図9に示したように、フローティング光軸数が「3」であり、かつ許容光軸数が「1」である場合、これらの設定値を適用できる物体のサイズは、遮光光軸数が2以上3以下となる範囲となる。ティーチング処理部80は、算出した物体の大きさの範囲を、たとえばパーソナルコンピュータ5の表示部57による画面表示によってユーザに提示することができる。
(9)設定入力受付処理:
本願発明に係る多光軸光電センサシステムは、ユーザからの設定入力を受け付けるための入力部をさらに備える。入力部は、ティーチング処理部80がフローティングブランキング機能およびブランキング監視機能に関する設定値を設定するために用いる条件に関する設定を受け付ける。具体的には、ティーチングを実行する際に、ユーザは、フローティングブランキング機能およびブランキング監視機能に関する設定値を、安全性を重視した値に設定するか、生産性を重視した値に設定するかを選択することができる。たとえば、フローティングブランキングのためのティーチング処理において、安全性を重視したい場合には、遮光光軸数情報に基づいて算出されたフローティング光軸数に所定マージンを加えたものをフローティング光軸数に設定する。一方、生産性を重視したい場合には、遮光光軸数情報に基づいて算出された許容光軸数に所定マージンを加えたものを許容光軸数に設定する。このように、フローティングブランキング機能に関する設定値の設定条件を調整可能とすることにより、ユーザの利便性を向上させることができる。
今回開示された実施の形態は例示であって、上記内容のみに限定されるものではない。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内のすべての変更が含まれることが意図される。