(57)【特許請求の範囲】
【請求項１】
検出のための光を投光する投光部と、
投光動作に応じて受光処理を行って受光量データを出力する受光部と、
受光部からの受光量データを取得する処理と取得した受光量データが示す受光量をしきい値と比較することにより入光状態および非入光状態のいずれであるかを判別する処理とを繰り返すと共に、この判別の結果が切り替わったとき、切り替え後と同じ判別結果を得る受光量データをＰ回（Ｐ≧２）続けて取得したことを条件として、判別結果を示す出力を切り替える検出手段と、
現在設定されているしきい値により入光状態と判別される受光量を示す受光量データがＰ個以上得られる入光期間を複数対象として、対象の入光期間毎にその期間中に取得したＰ個の受光量データが示す受光量の中の最小値を当該入光期間における代表受光量として特定し、前記現在設定されているしきい値により非入光状態と判別される受光量を示す受光量データがＰ個以上得られる非入光期間を複数対象として、対象の非入光期間毎にその期間中に取得したＰ個の受光量データが示す受光量の中の最大値を当該非入光期間における代表受光量として特定する第１の代表受光量特定手段と、
前記複数の入光期間のそれぞれにつき第１の代表受光量特定手段が特定した代表受光量の中の最小値を入光状態を表す代表受光量として特定し、前記複数の非入光期間のそれぞれにつき第１の代表受光量特定手段が特定した代表受光量の中の最大値を非入光状態を表す代表受光量として特定する第２の代表受光量特定手段と、
前記第２の代表受光量特定手段により特定された２つの代表受光量を示す情報を、各代表受光量の表示のために出力する出力手段とを、
具備する光電センサ。
【請求項２】
前記第１の代表受光量特定手段は、前記複数の入光期間毎に、その入光期間内に取得した受光量データが示す受光量を大きさの降順に並べた場合にＰ番目に位置する受光量を当該入光期間における代表受光量として特定し、前記複数の非入光期間毎に、その非入光期間内に取得した受光量データが示す受光量を大きさの昇順に並べた場合にＰ番目に位置する受光量を当該非入光期間における代表受光量として特定する、請求項１に記載された光電センサ。
【請求項３】
前記第２の代表受光量特定手段は、あらかじめ定めた一定時間内に生じた複数の入光期間のそれぞれに対して第１の代表受光量特定手段が特定した代表受光量の中の最小値を前記入光状態を表す代表受光量として特定し、前記一定時間内に生じた複数の非入光期間のそれぞれに対して第１の代表受光量特定手段が特定した代表受光量の中の最大値を前記非入光状態を表す代表受光量として特定する、請求項１または２に記載された光電センサ。
【請求項４】
前記第１の代表受光量特定手段は、前記受光部からの受光量データが示す受光量を前記しきい値と比較して入光期間と非入光期間との切り替わりを判別しつつ、各期間における代表受光量を特定し、
前記第２の代表受光量特定手段は、入光期間から非入光期間への切り替わりが生じる都度、その直前の入光期間から遡る過去の複数の入光期間に対して第１の代表受光量特定手段が特定した代表受光量の中の最小値を前記入光状態を表す代表受光量として特定し、前記非入光期間から入光期間への切り替わりが生じる都度、その直前の非入光期間から遡る過去の複数の非入光期間に対して第１の代表受光量特定手段が特定した代表受光量の中の最大値を前記非入光状態を表す代表受光量として特定する、請求項１または２に記載された光電センサ。
【請求項５】
請求項１に記載された光電センサにおいて、
前記Ｐの値が異なる複数の検出モードのうちの１つを選択する操作を受け付けて、選択された検出モードによるＰの値を前記検出手段に設定する設定手段を、さらに具備する光電センサ。
【請求項６】
前記出力手段は、前記第２の代表受光量特定手段により特定された２つの代表受光量を表示するための表示部を含む、請求項１に記載された光電センサ。
【請求項７】
請求項１に記載された光電センサにおいて、
しきい値を変更する操作を行うための操作部と、
前記第２の代表受光量特定手段により特定された２つの代表受光量の表示に連動させて前記検出手段の判別処理のために設定されているしきい値が表示されるように当該しきい値を出力し、この出力による表示が行われている状態下で操作部による操作に応じてしきい値を変更するしきい値変更手段とを、さらに具備する光電センサ。
【請求項８】
検出のための光を投光する投光部と、投光動作に応じて受光処理を行って受光量データを出力する受光部と、受光部からの受光量データを取得する処理と取得した受光量データが示す受光量をしきい値と比較することにより入光状態および非入光状態のいずれであるかを判別する処理とを繰り返すと共に、この判別の結果が切り替わったとき、切り替え後と同じ判別結果を得る受光量データをＰ回（Ｐ≧２）続けて取得したことを条件として、判別結果を示す出力を切り替える検出手段とを具備する光電センサを対象に、当該センサの受光状態を確認する作業を支援するための方法であって、
前記光電センサに現在設定されているしきい値により入光状態と判別される受光量を示す受光量データがＰ個以上得られる入光期間を複数対象として、対象の入光期間毎にその期間中に取得したＰ個の受光量データが示す受光量の中の最小値を当該入光期間における代表受光量として特定し、前記現在設定されているしきい値により非入光状態と判別される受光量を示す受光量データがＰ個以上得られる非入光期間を複数対象として、対象の非入光期間毎にその期間中に取得したＰ個の受光量データが示す受光量の中の最大値を当該非入光期間における代表受光量として特定し、
前記複数の入光期間のそれぞれにおける代表受光量の中の最小値を入光状態を表す代表受光量として特定して表示し、前記複数の非入光期間のそれぞれにおける代表受光量の中の最大値を非入光状態を表す代表受光量として特定して表示することを特徴とする、光電センサの受光状態を確認する作業の支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検出のための光を投光すると共に、その投光された光または投光された光に対する反射光を受光し、受光量を所定のしきい値と比較することにより物体を検出する光電センサに関する。
【背景技術】
【０００２】
移動する物体を検出する光電センサの受光量には、設定されたしきい値を超えて山状に変化する部分と、しきい値より下がって谷状に変化する部分とが交互に生じる（以下、各変動部分を「山」「谷」という。）。透過型のセンサでは、山から谷への変化が生じたことをもって「物体あり」を示す検出信号を出力する。反対に反射型のセンサでは、谷から山への変化が生じたことをもって「物体あり」を示す検出信号を出力する。
【０００３】
いずれの型のセンサでも、検出の精度を確保するには、山と谷との間に十分な差が生じるように感度を調整すると共に、山のピーク値と谷のボトム値との双方に対して余裕のある値をしきい値に設定する必要がある。また、ユーザが手操作でしきい値を設定する場合の参考にしたり、検出に適したしきい値が設定されているかどうかを確認するために、実際の受光状態を確認できるようにする必要がある。
【０００４】
上記の必要性を鑑みて、一定長さの期間における受光量の最大値と最小値とを抽出し、抽出された各値を表示する機能を備えた光電センサがある（特許文献１を参照。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４０２３６２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
光電センサでは、微小な物体や高速で移動する物体を検出対象とすることが多く、また複数種の物体が検出対象となる場合もあるので、検出対象物によって反射状態（反射率、反射の方向など）が変動する可能性がある。この反射状態の変動が大きいと、受光量の山や谷のばらつきも大きくなる。
【０００７】
特許文献１に記載された発明によれば、一定長さの期間内に含まれる山の中で最も振幅が大きな山のピーク値と、同期間に含まれる谷の中で最も振幅が大きな谷のボトム値とが抽出されて表示されるので、これらに対して十分な余裕度を有する値がしきい値として設定される。このため、受光量の山や谷に大きなばらつきが生じていると、振幅が小さな山や谷では、しきい値に対する余裕度が小さくなり、検出動作が不安定になるおそれがある。
【０００８】
本発明は上記の問題に着目してなされたもので、検出に適したしきい値を判別するのに適した情報が表示されるようにすることを、課題とする。
【課題を解決するための手段】
【０００９】
本発明が適用される光電センサは、検出のための光を投光する投光部と、投光動作に応じて受光処理を行って受光量データを出力する受光部と、受光部からの受光量データを取得する処理と取得した受光量データが示す受光量をしきい値と比較することにより入光状態および非入光状態のいずれであるかを判別する処理とを繰り返すと共に、この判別の結果が切り替わったとき、切り替え後と同じ判別結果を得る受光量データをＰ回（Ｐ≧２）続けて取得したことを条件として、判別結果を示す出力を切り替える検出手段とを具備するもので、さらに、以下の第１および第２の代表受光量特定手段ならびに出力手段を具備する。
【００１０】
第１の代表受光量特定手段は、現在設定されているしきい値により入光状態と判別される受光量を示す受光量データがＰ個以上得られる入光期間を複数対象として、対象の入光期間毎にその期間中に取得したＰ個の受光量データが示す受光量の中の最小値を当該入光期間における代表受光量として特定し、現在設定されているしきい値により非入光状態と判別される受光量を示す受光量データがＰ個以上得られる非入光期間を複数対象として、対象の非入光期間毎にその期間中に取得したＰ個の受光量データが示す受光量の中の最大値を当該非入光期間における代表受光量として特定する。
第２の代表受光量特定手段は、複数の入光期間のそれぞれにつき第１の代表受光量特定手段が特定した代表受光量の中の最小値を入光状態を表す代表受光量として特定し、複数の非入光期間のそれぞれにつき第１の代表受光量特定手段が特定した代表受光量の中の最大値を非入光状態を表す代表受光量として特定する。
出力手段は、第２の代表受光量特定手段により特定された２つの代表受光量を示す情報を、各代表受光量の表示のために出力する。この出力に伴い実施される表示処理では、たとえば、各代表受光量を並べて表示したり、両者を切り替え操作に応じて交互に表示することができる。
【００１１】
上記において、入光期間は受光量の山が生じる期間に相当し、非入光期間は受光量の谷が生じる期間に相当する。入光状態と非入光状態とが切り替わっても、すぐには出力を切り替えずに、切り替わった後の状態がＰ回続いたことをもって出力を反転させるタイプのセンサでは、山、谷ともに、少なくともＰ個の受光量が確保できるようにしきい値が設定されていないと、誤検出が生じてしまう。またＰ個の受光量が得られる場合でも、それらの受光量のしきい値に対する余裕度が小さい場合には、受光量のばらつきに対して安定した検出を行うのが困難である。
本発明は上記の問題点を考慮して、受光量の山に関してはその山に含まれるＰ個の受光量の中の最小値を代表受光量として特定し、受光量の谷に関してはその谷に含まれるＰ個の受光量の中の最大値を代表受光量として特定し、複数の山の中で最も値が低い代表受光量を入光状態を表す代表受光量として、複数の谷の中で最も値が高い代表受光量を非入光状態を表す代表受光量として、それぞれ表示する。山と谷とは、あくまでも現在設定されているしきい値に基づいて区別されるので、ユーザは、表示された２つの代表受光量の関係（各代表受光量の差の値など）に基づき、検出に適したしきい値の値を判断することができる。
【００１２】
なお、代表受光量特定手段が処理対象とする入光期間と非入光期間とを分けるしきい値は、検出手段の判別処理のために設定されているしきい値に限らず、当該判別処理のためのしきい値を変更する候補の値として仮に設定されたしきい値であってもよい。
上記の光電センサの第１の実施形態による第１の代表受光量特定手段は、複数の入光期間毎に、その入光期間内に取得した受光量データが示す受光量を大きさの降順に並べた場合にＰ番目に位置する受光量を当該入光期間における代表受光量として特定し、複数の非入光期間毎に、その非入光期間内に取得した受光量データが示す受光量を大きさの昇順に並べた場合にＰ番目に位置する受光量を当該非入光期間における代表受光量として特定する。この実施形態によれば、各山のＰ番目に高い受光量の中の最小値と、各谷のＰ番目に低い受光量の中の最大値とが表示されるので、ユーザは、両者の値の関係から、検出処理に適したしきい値を容易に判別することが可能になる。
【００１３】
上記の光電センサの第２の実施形態では、第２の代表受光量特定手段は、あらかじめ定めた一定時間内に生じた複数の入光期間のそれぞれに対して第１の代表受光量特定手段が特定した代表受光量の中の最小値を入光状態を表す代表受光量として特定する。また一定時間内に生じた複数の非入光期間のそれぞれに対して第１の代表受光量特定手段が特定した代表受光量の中の最大値を非入光状態を表す代表受光量として特定する。
この実施形態によれば、たとえば検出対象物の移動速度に基づき、十分な数の対象物が通過するのに要する時間を求めて、この時間を代表受光量特定手段による処理時間として設定することにより、様々な値にばらつく受光量の山や谷を得て、それらの中で山と谷とを分けたしきい値に対する余裕度が最も小さい山および谷の代表受光量を表示することができる。
【００１４】
第３の実施形態による光電センサでは、第１の代表受光量特定手段は、受光部からの受光量データが示す受光量をしきい値と比較して入光期間と非入光期間との切り替わりを判別しつつ、各期間における代表受光量を特定する。第２の代表受光量特定手段は、入光期間から非入光期間への切り替わりが生じる都度、その直前の入光期間から遡る過去の複数の入光期間に対して第１の代表受光量特定手段が特定した代表受光量の中の最小値を入光状態を表す代表受光量として特定し、非入光期間から入光期間への切り替わりが生じる都度、その直前の非入光期間から遡る過去の複数の非入光期間に対して第１の代表受光量特定手段が特定した代表受光量の中の最大値を非入光状態を表す代表受光量として特定する。この実施形態によれば、たとえば、複数の対象物が移動している間の受光量を取得して処理を行うことにより、最終的に、各対象物に対応する山や谷の中からしきい値に対する余裕度が最も小さい山および谷の代表受光量を表示することができる。
【００１５】
第４の実施形態による光電センサは、さらに、前記Ｐの値が異なる複数の検出モードのうちの１つを選択する操作を受け付けて、選択された検出モードによるＰの値を検出手段に設定する設定手段を具備する。
【００１７】
第５の実施形態による光電センサでは、出力手段に、第２の代表受光量特定手段により特定された２つの代表受光量を表示するための表示部が含まれる。すなわち、検出を行うセンサ自体が２種類の代表受光量を表示する機能を備えることになる。
出力手段に表示部が含まれない場合でも、各代表受光量を示す情報を外部の表示装置に与えて表示することができる。
【００１８】
第６の実施形態による光電センサは、しきい値を変更する操作を行うための操作部と、第２の代表受光量特定手段により特定された２つの代表受光量の表示に連動させて検出手段の判別処理のために設定されているしきい値が表示されるように当該しきい値を出力し、この出力による表示が行われている状態下で操作部による操作に応じてしきい値を変更するしきい値変更手段とを、さらに具備する。この構成によれば、たとえば、各代表受光量の表示に対してしきい値を呼び出す操作が行われたことに応じて、現在のしきい値を表示し、ユーザがしきい値と代表受光量との関係が適切でないと判断した場合に、操作によりしきい値を変更することができる。
【００１９】
上記のしきい値の表示は、代表受光量の表示と切り替えて行っても良いし、代表受光量の表示にしきい値の表示を加える方法をとってもよい。また、ユーザによるしきい値の呼び出し操作を行うことなく、最初から、各代表受光量およびしきい値を、三者の比較が可能な態様により表示してもよい。
【００２０】
本発明は、光電センサの受光状態を確認する作業を支援する方法に適用することができる。この方法では、光電センサに現在設定されているしきい値より入光状態と判別される受光量を示す受光量データがＰ個以上得られる入光期間を複数対象として、対象の入光期間毎にその期間中に取得したＰ個の受光量データが示す受光量の中の最小値を当該入光期間における代表受光量として特定し、現在設定されているしきい値により非入光状態と判別される受光量を示す受光量データがＰ個以上得られる非入光期間を複数対象として、対象の非入光期間毎にその期間中に取得したＰ個の受光量データが示す受光量の中の最大値を当該非入光期間における代表受光量として特定する。さらに、複数の入光期間のそれぞれにおける代表受光量の中の最小値を入光状態を表す代表受光量として特定して表示し、複数の非入光期間のそれぞれにおける代表受光量の中の最大値を非入光状態を表す代表受光量として特定して表示する。
【００２１】
上記の方法は、光電センサの制御部により実施することができるが、これに限らず、光電センサの受光部から取得した受光量を外部機器に伝送し、外部機器で代表受光量の特定や表示を行ってもよい。または、代表受光量を特定する処理は光電センサで行い、特定された代表受光量を外部機器に送信して、センサの外部で代表受光量の表示を行うようにしてもよい。
【発明の効果】
【００２２】
本発明によれば、検出対象物によって受光量の変化の状態にばらつきが生じる場合でも、入光期間および非入光期間につき、それぞれしきい値に対する余裕度が最も小さな期間における代表受光量が表示されるので、ユーザは、双方の代表受光量に対して十分な余裕度が得られる受光量がしきい値の適正値であると判断することができる。よって、現在のしきい値がこの適正値から離れている場合には、しきい値を変更することにより、安定した検出処理を実施することができる。
【図面の簡単な説明】
【００２３】
【図１】光ファイバ式の光電センサの外観を示す斜視図である。
【図２】図１の光電センサの上面カバーを開けた状態を示す斜視図である。
【図３】上記光電センサの操作部および表示部を含む上面を正面視した図である。
【図４】上記光電センサの電気構成を示すブロック図である。
【図５】受光量のピーク値およびボトム値を参照してしきい値を変更する処理を行う場合に表示部に展開される表示の例を示す図である。
【図６】検出処理に用いられるパルスカウント数をモード別に示すテーブルである。
【図７】パルスカウント方式の検出処理の具体例をその問題点と共に示す図である。
【図８】受光量のピーク値およびボトム値を表示する処理に関する手順を示すフローチャートである。
【図９】入光時処理および非入光時処理の詳細な手順を示すフローチャートである。
【図１０】入光期間中の受光量を格納するバッファの値の変化の例を示すテーブルである。
【図１１】受光量のピーク値およびボトム値を表示する処理に関する手順の第２の例を示すフローチャートである。
【図１２】受光量のピーク値およびボトム値を表示する処理に関する手順の第３の例を示すフローチャートである。
【発明を実施するための形態】
【００２４】
図１および図２は、本発明が適用される光ファイバ式の光電センサの外観を示す。
この光電センサ１は、本体部１０と本体部１０の前面に取り付けられる一対の光ファイバ１１，１２とを具備する。光ファイバ１１は投光用で、他方の光ファイバ１２は受光用である。各光ファイバ１１，１２の先端部には、それぞれレンズなどを含むヘッド部１１Ａ，１２Ａが取り付けられている。なお、実際の光ファイバ１１，１２は、図示の状態より長くすることができる。
【００２５】
各光ファイバ１１，１２は、それぞれ本体部１０の前面の挿入口１１Ｂ，１２Ｂに挿入される。投光用の光ファイバ１１の挿入口１１Ｂの近傍には投光部が設けられ、受光用の光ファイバ１２の挿入口１２Ｂの近傍には受光部が設けられる。また本体部１０の背面からは、接続用のケーブル１４が引き出されている。
【００２６】
上記の光電センサ１は、投光部から投光された光を受光部により受光し、この光路が遮光された状態を「物体あり」と判別する透過型のセンサとして機能するが、物体からの反射光を受光して「物体あり」と判別する反射型の光電センサとして機能させることもできる。反射型の光電センサとして使用する場合には、各光ファイバ１１，１２の先端に共通のヘッド部が装着され、このヘッド部が検出エリアに向けて配備される。
【００２７】
受光部により生成された受光量データは、制御部（ＣＰＵ）に入力され、あらかじめ登録されたしきい値との比較により入光状態であるか否かが判定されて、その判定結果が出力される。
【００２８】
本体部１０の上面には、表示部１００や複数の押ボタンスイッチＳＷ１〜ＳＷ５が設けられる。使用時の上面にはカバー１３が被せられるが、設定の際などには、カバー１３が開放されて各押ボタンスイッチＳＷ１〜ＳＷ５の操作が可能になる。図２は、カバー１３が開放された状態の本体部１０の斜視図であり、図３は上面を正面視した図である。なお、カバー１３は透明であるので、カバー１３が装着されている場合でも、カバー１３を介して表示部１００の表示を確認することができる。
【００２９】
図２，３を参照して上面の構成を説明する。
この実施例では、本体部の前面寄りの位置に、押ボタンスイッチＳＷ１が配備され、その後方に表示部１００が設けられ、さらに表示部１００の後方に４個の押ボタンスイッチＳＷ２，ＳＷ３，ＳＷ４，ＳＷ５が配備されている。なお、押ボタンスイッチＳＷ２，ＳＷ３のボタン部は一体になっているが、筐体１０内のスイッチ本体（図示せず。）はそれぞれ独立している。
【００３０】
表示部１００には、一対の表示器１０１，１０２や５個の表示灯１１１〜１１５が設けられる。表示器１０１，１０２は、４個の７セグＬＥＤが組み合わせられたもので、それぞれ４桁以内の数字やアルファベット文字列を表示する。
【００３１】
前方の押ボタンスイッチＳＷ１は、後記するチューニング処理に使用されるので、以下、このスイッチＳＷ１を「チューニングスイッチＳＷ１」という。
表示部１００の後方の一対の押ボタンスイッチＳＷ２，ＳＷ３は、表示器１０１，１０２に表示される数値やサブメニューを変更するために用いられる。以下、ボタン部に＋印が付いたスイッチＳＷ２を「アップスイッチＳＷ２」と呼び、ボタン部に−印が付いたスイッチＳＷ３を「ダウンスイッチＳＷ３」と呼ぶ。
【００３２】
押ボタンスイッチＳＷ４は、計測モードと設定モードとを切り替えたり、設定モードのメインメニューの選択や決定に用いられる。以下では、このスイッチＳＷ４を「モードスイッチＳＷ４」と呼ぶ。
設定モードにおいて何らかの設定が行われると、設定された内容が確定する。モードスイッチＳＷ４により計測モードに切り替えられると、設定された内容にて計測が開始される。
【００３３】
押ボタンスイッチＳＷ５は、センサ１の出力形式を切り替えるためのものである。具体的には、受光量がしきい値以上となったときに出力をオン状態にする「ライトオンモード」か、受光量がしきい値以下となったときに出力をオン状態とする「ダークオンモード」が選択される。
【００３４】
表示灯１１１は、検出処理において、センサ１からの検出信号がオン状態になったときに点灯する。表示灯１１２はライトオンモードが選択されているときに点灯し、表示灯１１３はダークオンモードが選択されているときに点灯する。
表示灯１１４は、表示上の受光量を自動的に調整する処理が有効に設定されている場合に点灯する。表示灯１１５は、チューニング処理が行われている間とチューニング終了後とに点灯する。
【００３５】
図４は、上記光電センサ１の電気的構成を示す。
このセンサ１では、制御部となるＣＰＵ１０５に、投光部１０３や受光部１０４のほか、プログラムが格納されたメモリ１０６、表示部１００、操作部１１０、外部機器用インタフェース１０７、出力部１０８、電源部１０９などが接続される。
【００３６】
表示部１００には、前述した表示器１０１，１０２や表示灯１１１〜１１５が含まれ、操作部１１０には、各押ボタンスイッチＳＷ１〜ＳＷ５が含まれる。投光部１０３には、ＬＥＤ１３１とＬＥＤ駆動回路１３２とが含まれ、受光部１０４には、フォトダイオード（ＰＤ）１４１のほか、増幅回路１４２やＡ／Ｄ変換回路１４３が含まれる。投光部１０３では、ＬＥＤ駆動回路１３２からＬＥＤ１３１に駆動用の電流が流れて、投光処理が行われる。受光部１０４では、フォトダイオード１４１からの出力が増幅回路１４２およびＡ／Ｄ変換回路１４３により処理されることにより、受光量を表すディジタルデータ（以下、「受光量データ」という。）が生成される。
【００３７】
ＣＰＵ１０５は、メモリ１０６に格納されたプログラムに従って、投光部１０３および受光部１０４の動作を制御しながら、受光部１０４から受光量データを入力して検出処理を実行する。検出結果は、出力部１０８や外部機器用インタフェース１０７を介して出力される。
【００３８】
計測モードにおいてチューニングスイッチＳＷ１が操作されると、「チューニング」と呼ばれる設定処理が実施される。チューニングは、検出処理に不可欠な設定であるしきい値の設定処理と感度調整処理とを一括で行うものである。簡単に説明すると、移動するワークを検出対象とする場合には、検出時と同じ条件でワークを移動させながらチューニングスイッチＳＷ１を所定時間以上押し続け、その間に得られる受光量の中の最大値と最小値とを特定する。そして、最大値があらかじめ定めた目標値になるように感度を調整すると共に、この調整に合わせて最小値を補正し、最大値と最小値との間の中間値をしきい値に設定する。なお、感度の調整は、投光部１０３に流す駆動電流や受光部１０４の増幅回路１４２の倍率の調整により行われる。
【００３９】
また、比較的短い間隔をおいてチューニングスイッチＳＷ１を２回押下する操作に伴ってチューニング処理が行われる場合もある。この場合には、一方の操作は、ワークが検出エリアに置かれた状態で実施され、他方の操作はワークが検出エリアにない状態下で行われる。そして、各操作に応じて取り込まれた受光量のうちの高い方の値が目標値になるように感度を調整し、この調整に合わせて他方の受光量を補正し、各受光量の間の中間値をしきい値に設定する。
【００４０】
モードスイッチＳＷ４により設定モードが選択されると、表示部１００の各表示器１０１，１０２に、設定用のメニューが表示される。ユーザは、アップスイッチＳＷ２やダウンスイッチＳＷ３によってメニュー表示を切り替えながら、所望の設定を実行する。
【００４１】
上記の設定モードには、センサの受光状態を確認し、チューニング処理により設定されたしきい値を必要に応じて手操作で変更する処理が含まれている。図５は、この受光量の確認作業およびしきい値の変更作業のために表示部１００に展開される表示例を示す。
【００４２】
まず、ユーザは、メインメニューやサブメニューの選択により、図５の（ａ）に示すように、表示器１０１に「ｄｉｓｐ」という文字列（「ｄｉｓｐｌａｙ」の略である。）が表示され、表示器１０２に「Ｐ−ｂ」という文字列が表示された状態にする。この表示状態下でユーザがモードスイッチＳＷ４を操作すると、図５（ｂ）に示すように、表示器１０１は「ＰＥＡＫ」という文字列を表示する状態になり、表示器１０２は「ｂｏｔｎ（ｎはバー付）」という文字列（「ＢＯＴＴＯＭ」を意味する。）を表示する状態になる。
【００４３】
さらに所定時間が経過すると、表示器１０１，１０２には、図５（ｃ）に示すような数値が表示される。この実施例では、しきい値以上の受光量を得た状態を入光状態とし、しきい値より小さい受光量を得た状態を非入光状態としており、表示器１０１に表示される数値（３１８５）は、入光状態が続く期間（入光期間）における代表受光量であり、表示部１０２に表示される数値（１４６７）は、非入光状態が続く期間（非入光期間）における代表受光量である。
【００４４】
図５（ｃ）の表示と図５（ｂ）の表示とは、所定の時間をおいて交互に切り替えられる。これにより、表示器１０１に表示される代表受光量は受光量のピーク値として、表示器１０２に表示される代表受光量は受光量のボトム値として、それぞれユーザに提示される。
【００４５】
この実情に合わせて、以下の説明でも、表示器１０１に表示される代表受光量をピーク値と呼び、表示器１０２に表示される代表受光量をボトム値と呼ぶ。ただし、以下に詳細に述べるように、各代表受光量は、受光量の最大値や最小値ではない。
【００４６】
ピーク値およびボトム値の表示に対し、所定の時点でユーザがアップスイッチＳＷ２またはダウンスイッチＳＷ３を操作すると、当該表示が終了し、図５（ｄ）に示すように、表示器１０２に「ｔｈ」という文字列（ｔｈｒｅｓｈｏｌｄ（しきい値）の略。）が表示され、表示器１０１に、現在のしきい値を示す数値が表示される。
【００４７】
上記の表示状態において、ユーザは、アップスイッチＳＷ２やダウンスイッチＳＷ３を操作することにより、図５（ｅ）に示すように、表示器１０１の数値を自由に変更することができる。この変更後にモードスイッチＳＷ４が操作されると、計測モードに戻り、変更された数値をしきい値とした検出処理が開始される。
【００４８】
なお、ピーク値およびボトム値の表示やしきい値の表示の形態は、図５の例に限らず、たとえば、３種類の値を、それぞれの値の意味を示す文字列と共に、１つずつ切り替えて表示してもよい。または、表示部１００を液晶パネルなどにより構成して、３種類の値を並列表示してもよい。この場合には、各数値を、バーグラフなどの視覚的に大きさを表現する形態にして表示してもよい。
【００４９】
つぎに、この実施例の検出処理では、制御用のクロックパルスに従って受光量をサンプリングし、サンプリングした受光量をしきい値と比較することにより入光状態および非入光状態のいずれであるかを判別しながら、出力を制御する。ただし、判別の結果が切り替わっても、出力を直ちに切り替えるのではなく、切り替え後と同じ結果を一定数Ｐ回続けて得たことを確認してから、出力を切り替える。
【００５０】
具体的には、非入光を示す受光量（しきい値より小）を得ている状態から入光を示す受光量（しきい値以上）を得ている状態に変わると、ＣＰＵ１０５は、その受光を１回目として、入光がＰ回続くことを確認してから、非入光を示す出力から入光を示す出力に切り替える。入光を示す受光量を得ている状態から非入光を示す受光量を得ている状態に変わった場合も同様に、その受光を１回目として、非入光がＰ回続くことを確認してから、入光を示す出力から非入光を示す出力に切り替える。したがって、受光状態が変化した時点を１回目とすると、Ｐ＋１回目の受光のタイミングに合わせて、出力が切り替えられることになる。
【００５１】
上記の方法による検出処理を、以下、「パルスカウント方式の検出処理」という。
パルスカウント方式の検出処理では、Ｐの値を変更することにより、検出の精度や速度を変更することができる。この実施例では、図６に示すような４種類の検出モードを用意して、これらの中のいずれか１つを設定モードにおいて選択できるようにしている。
【００５２】
図７は、パルスカウント方式の検出処理の具体例を、その問題点と共に示す。
この例では、出力形式がライトオンモードに設定され、検出モードとして最速モード（Ｐ＝２）が選択されているものとする。また、図７では、受光量の変化曲線を示すと共に。この曲線上にＣＰＵ１０５によるサンプリング点をドットにより示し、さらに各サンプリング点とセンサからの出力の変化とを対応づけて示す。
【００５３】
入光期間中の受光量曲線は受光量の山に相当し、非入光期間中の受光量曲線は受光量の谷に相当すると考えると、Ｐ＝２としてパルスカウント方式の検出処理を誤りなく行うには、全ての山および全ての谷に、それぞれ２点以上のサンプリング点が含まれる必要がある。
【００５４】
図７の例の受光量の変化曲線は、２つのワークが検出エリアを通過する間に生じたもので、ワーク毎に山および谷が１つずつ生じているが、ワーク間での反射状態の違いが大きいために、山や谷の振幅にかなり大きなばらつきが生じている。また、設定されるしきい値によっても、山や谷の振幅や幅が変動する。
このように受光量のばらつきが大きい場合でも、図７（１）に示すように、各山および各谷にそれぞれ２点以上のサンプリング点が含まれる状態でしきい値が設定されると、ワーク毎に出力のオン／オフを切り替えることができる。一方、図７（２）の例のように、しきい値が図７（１）より低い値に設定され、谷となる箇所に対するサンプリング点が１点のみとなると、この谷に対して出力を切り替えることができなくなる。この結果、図７（２）の例では、２つのワークが１つのワークとして誤検出されている。
【００５５】
しきい値が高すぎて、山となる箇所で２点以上のサンプリング点を確保できなくなった場合も、同様に、ワーク毎に出力を切り替えることができなくなって、誤検出が生じる。
【００５６】
前述したチューニング処理では、ワークが検出エリアにある状態での受光量とワークが検出エリアにない状態での受光量とを取得して、各受光量に基づきしきい値を自動設定するが、受光量のばらつきが大きく、振幅が大きな山や谷の受光量に基づいてしきい値が設定されると、振幅が小さな山や谷に対しては、いずれか一方にしきい値が偏った状態になる。この結果、図７（２）に示すような誤検出が生じるおそれがある。
【００５７】
上記の問題点に着目して、この実施例では、入光期間および非入光期間からそれぞれ代表受光量を１つ抽出し、各入光期間の代表受光量の中の最小値（以下、ＭＴｍｉｎとする。）をピーク値とし、非入光期間の代表受光量の中の最大値（以下、ＶＹｍａｘとする。）をボトム値とする。図５（ｃ）に示した表示例は、この方法により特定されたＭＴｍｉｎとＶＹｍａｘとを表示したものである。
【００５８】
代表受光量は、検出処理に設定されているパルスカウント数Ｐに基づいて抽出される。具体的には、入光期間については、期間中の受光量を最大値から降順に並べた場合にＰ番目に位置する受光量が、代表受光量として抽出され、非入光期間については、期間中の受光量を最小値から昇順に並べた場合にＰ番目に位置する受光量が、代表受光量として抽出される。
【００５９】
図８は、表示器１０１，１０２により図５（ｃ）に示した表示を行うための処理の手順を示す。また、図９（Ａ）は図８中の入光時処理（ステップＳ１１１）の詳細な手順を示し、図９（Ｂ）は図８中の非入光時処理（ステップＳ１２１）の詳細な手順を示す。また、図１０は、入光期間中の代表受光量の特定に関わる受光量を格納するバッファの値が変化する例を示す。
【００６０】
以下、これらの図を参照して、各代表受光量の表示処理について詳細に説明する。なお、この実施例では、あらかじめ定められた処理時間をＴ秒とし、制御部１０５内のタイマにより時間の経過をチェックする。
【００６１】
図８において、最初のステップＳ１０１では、初期化処理を実施する。この初期化処理には、表示器１０１に表示されるピーク値ＭＴｍｉｎ、表示器１０２に表示されるボトム値ＶＹｍａｘ、および２種類のバッファｍｔ（ｉ），ｖｙ（ｊ）に初期値を設定する処理が含まれる。
【００６２】
ＭＴｍｉｎには、表示器１０１に表示可能な最大の値９９９９が初期値として格納され、ＶＹｍａｘには表示器１０２に表示される最小の値０が初期値として格納される。
バッファｍｔ（ｉ）（ｉ＝１〜Ｐ）は、入光期間中の受光量を、最大値から降順にＰ番目まで格納するためのもので、初期値として０が格納される。ｖｙ（ｊ）（ｊ＝１〜Ｐ）は、非入光期間中の受光量を、最小値から昇順にＰ番目まで格納するためのもので、初期値として９９９９が格納される。
【００６３】
初期化処理の後はタイマをリセットする（ステップＳ１０２）。その後は、クロックパルスに応じたタイミングで受光量Ｄを取得し（ステップＳ１０３）、取得した受光量Ｄをしきい値と比較して、入光か非入光かを判定する（ステップＳ１０４）。
図８では詳細を省略しているが、ステップＳ１０４では、検出処理時と同様のパルスカウント方式に従って、入光、非入光の切り替えを判別する。すなわち、ステップＳ１０３で取得した受光量Ｄがしきい値以上であれば、さらにしきい値以上となる受光量をＰ−１回続けて受光したことを確認して入光状態であると判定する。ステップＳ１０３で取得した受光量Ｄがしきい値より小さい場合も同様に、しきい値より小さい受光量をＰ−１回続けて受光したことを確認して非入光状態であると判定する。
【００６４】
なお、入光、非入光ともに、同じ状態がＰ回続くことなく別の状態に変動した場合（受光量Ｄがしきい値以上となる入光状態からしきい値より小さい非入光状態への変動、または非入光状態から入光状態への変動をいう。）には、さらに変動後の状態がＰ回続くか否かによって判定を行う。また、判定に用いられたＰ個の受光量は、作業用のバッファに一時保存される。
【００６５】
ステップＳ１０４において入光状態であると判定された場合には、ステップＳ１１１の入光時処理に移行し、非入光状態であると判定された場合には、ステップＳ１２１の非入光時処理に移行する。
【００６６】
ここで、処理開始後の最初のステップＳ１０４で入光状態と判定されたものと仮定して、図９（Ａ）および図１０を参照して、入光時処理の詳細を説明する。
この処理は、直前に取得した受光量Ｄを、バッファｍｔ（ｉ）に格納されている値と比較し、バッファｍｔ（ｉ）よりＤの方が大きい場合に、バッファｍｔ（ｉ）の書き換えを行うものである。
【００６７】
まず、ステップＳ１１でｉ＝Ｐとし、ステップＳ１２で、直前の取得受光量Ｄをｍｔ（ｉ）と比較する。
ｉ＝ＰのときにＤ＞ｍｔ（ｉ）となると、ステップＳ１２が「ＹＥＳ」、ステップＳ１３が「ＮＯ」となり、ステップＳ１５に進む。ステップＳ１５では、ｍｔ（ｉ）の現在値を破棄して、受光量Ｄをｍｔ（ｉ）に格納する。
【００６８】
この後は、ステップＳ１６からステップＳ１７に進んで、ｉをディクリメントし（ｉ＝Ｐ−１）、ステップＳ１２で、更新後のｉにより特定されるバッファｍｔ（ｉ）に格納されている値と取得受光量Ｄとを比較する。この段階でもＤ＞ｍｔ（ｉ）となると、ステップＳ１２およびこれに続くステップＳ１３が共に「ＹＥＳ」となり、ステップＳ１４に進む。
【００６９】
ステップＳ１４では、バッファｍｔ（ｉ＋１）の現在値を破棄して、このバッファｍｔ（ｉ＋１）にｍｔ（ｉ）の値を格納する。さらにステップＳ１５に進み、受光量Ｄをｍｔ（ｉ）に格納する。
【００７０】
以下、ｉが１になるまで（ステップＳ１６が「ＹＥＳ」）、上記と同様の処理を繰り返し実行するが、途中で受光量Ｄがｍｔ（ｉ）以下になった場合（ステップＳ１２が「ＮＯ」）には、処理を終了する。
【００７１】
図１０は、Ｐ＝３として、３回の受光に対してそれぞれ入光時処理が行われた場合のバッファｍｔ（１），ｍｔ（２），ｍｔ（３）に生じる値の変化を示す。
バッファｍｔ（１），ｍｔ（２），ｍｔ（３）には、それぞれ初期値として０がセットされている。初期化後の最初の受光量Ｄが１００であるとすると、ｍｔ（１），ｍｔ（２），ｍｔ（３）はいずれもＤより小さくなるので、ステップＳ１２〜Ｓ１７のループが３回繰り返される。
【００７２】
最初のループでは、ステップＳ１５によってｍｔ（３）に１００が格納される。２回目のループでは、ステップＳ１４によってｍｔ（２）の０がｍｔ（３）に移動し、ステップＳ１５によって、ｍｔ（２）に１００が格納される。さらに、３回目のループでは、ステップＳ１４によってｍｔ（１）の０がｍｔ（２）に移動し、ステップＳ１５によってｍｔ（１）に１００が格納される。
【００７３】
２回目の受光量Ｄが１５０であるとすると、上記と同様に、ステップＳ１２〜Ｓ１７のループが３回繰り返され、最初のループで、ｍｔ（３）に１５０が格納される。２回目のループでは、ｍｔ（２）の０がｍｔ（３）に移動して、ｍｔ（２）に１５０が格納される。さらに３回目のループで、ｍｔ（１）の１００がｍｔ（２）に移動し、ｍｔ（１）に１５０が格納される。
【００７４】
３回目の受光量Ｄが８０であるとすると、１回目のループで着目されるｍｔ（３）にはＤより小さい値０が格納されているので、ステップＳ１５によりｍｔ（３）に８０が格納される。しかし、２回目のループでは、着目されるｍｔ（２）にＤより大きい値（１００）が格納されているので、ステップＳ１２の判定が「ＮＯ」となって処理が終了する。これにより、ｍｔ（２）やｍｔ（１）の値は維持される。
【００７５】
上記のとおり、入光期間中の各受光量に対して入光時処理を行うことにより、受光量の中の最大値がバッファｍｔ（１）に格納され、以下、２番目に高い受光量からＰ番目に高い受光量までの各受光量が、ｍｔ（２）・・・ｍｔ（Ｐ）に順に格納される。
【００７６】
図９（Ｂ）に示す非入光時処理も、図９（Ａ）の入光時処理と同様の流れで進行する。
簡単に説明すると、ｊ＝Ｐとして処理を開始し（ステップＳ２１）、バッファｖｙ（ｊ）の値を取得受光量Ｄと比較して（ステップＳ２２）、バッファｖｙ（ｊ）が取得受光量より小さい場合（ステップＳ２２が「ＹＥＳ」）にはバッファｖｙ（ｊ）を取得受光量Ｄに書き換える（ステップＳ２５）。またｊがＰより小さい場合には、ステップＳ２５を実行する前にバッファｖｙ（ｊ）の値をｖｙ（ｊ＋１）に移動させる（ステップＳ２３，２４）。
上記の処理を、ｊの値をディクリメントして続け（ステップＳ２７）、ｊが１となった場合（ステップＳ２６が「ＹＥＳ」）か、ｖｙ（ｊ）が取得受光量Ｄ以下となった場合（ステップＳ２２が「ＮＯ」）に、処理を終了する。
【００７７】
上記のとおり、非入光期間中の各受光量に対して非入光時処理を行うことにより、受光量の中の最小値がバッファｖｙ（１）に格納され、以下、２番目に低い受光量からＰ番目に低い受光量までの各受光量が、バッファｖｙ（２）・・・ｖｙ（Ｐ）に順に格納される。
【００７８】
図８に参照を戻す。
ステップＳ１０４での入光判定に応じた入光時処理（ステップＳ１１１）では、上記の判定に使用されたＰ個の受光量を順にＤにセットして、図９（Ａ）の処理を実行する。その後は、Ｔ秒が経過していないことを条件に（ステップＳ１１２が「ＮＯ」）、再び受光量を取得し（ステップＳ１１３）、その受光量Ｄにより非入光状態に切り替わったか否かを判定する。
【００７９】
この判定でも、しきい値より小さい受光量がＰ回得られたことをもって、非入光状態に変化したと判定し、非入光状態になったと判定されるまではステップＳ１１１〜Ｓ１１４のループを繰り返す。これにより、入光期間中の各受光量に対して図９（Ａ）に示した処理が実行され、受光量の山の頂点の受光量（最大受光量）から降順に数えてＰ番目に相当する受光量がバッファｍｔ（Ｐ）に格納される。
【００８０】
入光状態から非入光状態に切り替わると、ステップＳ１１１〜Ｓ１１４のループを終了してステップＳ１１５に進み、バッファｍｔ（Ｐ）の値をＭＴｍｉｎと比較する。ここでｍｔ（Ｐ）＜ＭＴｍｉｎであれば（ステップＳ１１５が「ＹＥＳ」）、ｍｔ（Ｐ）をＭＴｍｉｎとする（ステップＳ１１６）。ｍｔ（Ｐ）がＭＴｍｉｎ以上になる場合（ステップＳ１１５が「ＮＯ」）には、ステップＳ１１６はスキップされ、ＭＴｍｉｎの現在値が維持される。
この後は、バッファｍｔ（ｉ）（ｉ＝１〜Ｐ）を初期値の０に戻し（ステップＳ１１７）、ステップＳ１２１の非入光時処理に移行する。
【００８１】
ステップＳ１２１の非入光時処理でも、ステップＳ１０４またはステップＳ１１４の判定に用いられたＰ個の受光量を順にＤにセットして、図９（Ｂ）の処理を実行する。その後は、Ｔ秒が経過しないことを条件に（ステップＳ１２２が「ＮＯ」）、再び受光量を取得し（ステップＳ１２３）、取得した受光量Ｄにより入光状態に切り替わったか否かを判定する（ステップＳ１２４）。
【００８２】
このステップＳ１２４でも、しきい値Ｄ以上の受光量をＰ回連続して受光するまでは、判定は「ＮＯ」となる。入光状態になったと判定されるまでステップＳ１２１〜Ｓ１２４のループを繰り返すことにより、非入光期間中の各受光量に対して図９（Ｂ）に示した処理が実行される。これにより、受光量の谷底（最小受光量）から昇順に数えてＰ番目に相当する受光量がバッファｖｙ（Ｐ）に格納される。
【００８３】
非入光状態から入光状態に切り替わると（ステップＳ１２４が「ＹＥＳ」）、ステップＳ１２５において、ｖｙ（Ｐ）をＶＹｍａｘと比較する。ここでｖｙ（Ｐ）＞ＶＹｍａｘであれば（ステップＳ１２５が「ＹＥＳ」）、ｖｙ（Ｐ）をＶＹｍａｘとする（ステップＳ１２６）。一方、ｖｙ（Ｐ）がＶＹｍａｘ以下の場合（ステップＳ１２５が「ＮＯ」）には、ステップＳ１２６はスキップされる。
この後はバッファｖｙ（ｊ）（ｊ＝１〜Ｐ）を初期値の９９９９に戻し、ステップＳ１１１の入光時処理に移行する。なお、ステップＳ１１１でも、その移行のための判定に用いられたＰ個の受光量を順に対象として、図９（Ａ）に示した処理を実行する。
【００８４】
このように、毎回の受光量により入光状態と非入光状態との切り替わり時期を判別しながら、入光時処理を含むループ（Ｓ１０１〜１０４）と非入光時処理を含むループ（Ｓ１１１〜１１４）とを繰り返し実行する。これにより入光期間中の受光量群（受光量の山）毎に最大値から数えてＰ番目に高い受光量が代表受光量として抽出され、それらの代表受光量の中の最小値がＭＴｍｉｎに格納される。また非入光期間中の受光量群（受光量の谷）毎に最小値から数えてＰ番目に低い受光量が代表受光量として抽出され、それらの代表受光量の中の最大値がＶＹｍａｘに格納される。
【００８５】
最終的に、タイマの計時時刻がＴ秒に達すると、ステップＳ１１２またはステップＳ１２２が「ＹＥＳ」となってステップＳ１０５に進み、その時点でのＭＴｍｉｎをピーク値として表示器１０１に表示し、ＶＹｍａｘをボトム値として表示器１０２に表示する。
【００８６】
図８では、上記の表示をもって処理終了となるが、以後は、適宜、ＭＴｍｉｎ，ＶＹｍａｘを表示する状態と図５（ｂ）に示した表示とを切り換えながら、ユーザの操作に待機する。ユーザにより、アップスイッチＳＷ２またはダウンスイッチＳＷ３が操作されると、処理を終了し、しきい値を表示する状態（図５の（ｄ））に移行する。
【００８７】
なお、上記の処理では、ピーク値ＭＴｍｉｎやボトム値ＶＹｍａｘの表示に合わせて、これらの値を外部機器に出力することもできる。またセンサの本体部に表示部がない場合でも、特定されたＭＴｍｉｎ，ＶＹｍａｘを外部機器に出力し、外部のモニタで各値を表示することが可能である。
【００８８】
図８の例では、ピーク値ＭＴｍｉｎおよびボトム値ＶＹｍａｘを特定する処理を１回としたが、これに限らず、しきい値を設定するための操作が行われるまで図８に示した処理を繰り返すことにより、ピーク値およびボトム値の値の表示が周期的に更新されるようにしてもよい。また、この処理の周期の長さ（Ｔ秒間のＴ）を、ユーザの設定操作に応じて変更できるようにしてもよい。さらに、表示の更新に合わせて、各値を外部に出力したり、メモリ１０６に保存してもよい。
このようにすれば、ワークが高速で移動するためにその移動に伴う受光量の変化を直接認識するのが困難な場合でも、表示されるピーク値およびボトム値のばらつきの度合いに基づき、ワークの移動に伴い生じる受光量のおよその変化を知ることができる。
【００８９】
上記図８および図９に示した処理によれば、Ｔ秒間に生じた受光量の山や谷の中で、現在のしきい値に対する余裕度が最も小さい山および谷から抽出された代表受光量が、ピーク値およびボトム値として表示される。また、サンプリングされた各受光量により実際に検出を行うとした場合に、入光状態と非入光状態との切り替わりの判定に必要となる受光量データの中で最もしきい値に近い値が、ピーク値およびボトム値として特定される。
【００９０】
よって、ユーザは、表示されたピーク値およびボトム値の双方に対して余裕度のある値（たとえばピーク値とボトム値との中間値）を、しきい値の適正値であると判定し、切替操作に応じて表示されたしきい値（図５（ｄ）参照）が適正値に近い値であれば、検出処理を安定して実行することが可能であると解釈する。一方、しきい値の適正値と表示されたしきい値との間に大きな差がある場合には、しきい値が偏った設定になっており、しきい値を変更する必要があることがわかる。
【００９１】
なお、図８および図９に示した処理によれば、しきい値が高すぎたために、しきい値以上の受光量をＰ回続けて受光することができなかった場合には、入光時処理が一度も行われず、その結果、ＭＴｍｉｎが０となる。また、しきい値が低すぎて、しきい値より小さい受光量をＰ回続けて受光することができなかった場合には、非入光時処理が一度も行われず、その結果、ＶＹｍａｘが９９９９となる。このような結果になった場合のステップＳ１０５では、ＭＴｍｉｎ，ＶＹｍａｘの表示後、またはこの表示と交互に、エラー表示を行って、しきい値の変更を促すのが望ましい。
【００９２】
一方で、パルスカウント数Ｐの値が比較的小さい（たとえば、図６の最速モードの場合のＰ＝２）場合や、パルスカウント方式の検出処理を実施しない場合には、各入光期間の最大受光量の中の最も小さい値をピーク値とし、各非入光期間の最小受光量の中の最も大きい値をボトム値として、それぞれ表示してもよい。
【００９３】
また、上記実施例では、各入光期間および各非入光期間の代表受光量を期間の種類毎に比較し、入光期間の代表受光量の中の最小値をピークとし、非入光期間の代表受光量の中の最大値とボトム値としたが、ピーク値およびボトム値を特定するための方法は、これに限定されるものではない。たとえば、入光期間について、最大受光量からＰ番目に高い受光量までの各受光量の平均値を算出し、この平均値が最小となる入光期間の代表受光量をピーク値として特定してもよい。非入光期間についても、最小受光量からＰ番目に低い受光量までの各受光量の平均値を算出し、この平均値が最大となる非入光期間の代表受光量をボトム値として特定してもよい。
【００９４】
また、上記の実施例では、あらかじめ定めたＴ秒間の受光量の中から、表示対象のピーク値およびボトム値を特定したが、処理の期間を定めることなく、処理開始後にＭＴｍｉｎおよびＶＹｍａｘの値が初めて特定されたことに応じてこれらを表示し、以後、ＭＴｍｉｎまたはＶＹｍａｘの値が更新される都度、それに応じて表示を更新してもよい。
この場合には、ユーザは、ピーク値およびボトム値の表示が安定したことをもって、それらに基づき、しきい値の適正値を判別することができる。
【００９５】
またパルスカウント方式の検出処理の精度を重視するために、受光量のばらつきを把握したい場合には、図１１に示すような処理により、入光期間と非入光期間とが切り替わる都度、その切り替えの直前の期間の代表受光量により表示を更新してもよい。
【００９６】
図１１の処理について説明する。なお、この実施例では、ピーク値をＭＴ、ボトム値をＶＹとする。
最初のステップＳ２０１の初期化処理では、入光期間中の受光量を格納するためのバッファｍｔ（ｉ）（ｉ＝１〜Ｐ）に０を格納し、非入光期間中の受光量を格納するためのバッファｖｙ（ｊ）（ｊ＝１〜Ｐ）に９９９９を格納する。
【００９７】
つぎに受光量Ｄを取得し（ステップＳ２０２）、入光、非入光のいずれになるかを判定する。この実施例でも、同じ受光状態がＰ回続いたことをもって、判定を確定するようにしており、入光と判定された場合には、その判定に用いられたＰ個の受光量を順に対象にして、ステップＳ２１１の入光時処理を実行する。非入光と判定された場合にも同様に、その判定に用いられたＰ個の受光量を順に対象にして、ステップＳ２２１の非入光時処理を実行する。なお、ステップＳ２１１の具体的手順は図９（Ａ）に示したものと同様であり、ステップＳ２２１の具体的手順は図９（Ｂ）に示したものと同様である。
【００９８】
入光時処理（ステップＳ２１１）の後は、再び受光量Ｄを取得し（ステップＳ２１２）、その受光量Ｄにより入光状態が続いていると判定した場合（ステップＳ２１３が「ＮＯ」）には、新たに取得した受光量Ｄを対象として、再び入光時処理（ステップＳ２１１）を実行する。以下、同様に、非入光状態に切り替わったと判定されるまで（ステップＳ２１３が「ＹＥＳ」）、受光量Ｄの取得と入光時処理とが繰り返される。
【００９９】
上記一連の処理により、入光状態から非入光状態に切り替わったとき（ステップＳ２１３が「ＹＥＳ」）のバッファｍｔ（Ｐ）には、入光期間中で最大受光量から数えてＰ番目に高い受光量が格納される。ステップＳ２１４では、このｍｔ（Ｐ）の値をＭＴとし、ステップＳ２１５ではバッファｍｔ（ｉ）を初期値のゼロに戻す。さらにステップＳ２１６では、ＭＴをピーク値として表示器１０１に表示する。
【０１００】
ステップＳ２０３で非入光と判定されて非入光時処理（ステップＳ２２１）が行われた場合も、同様に、入光状態に切り替わったと判定されるまで、受光量Ｄを取得する処理（ステップＳ２２２）と非入光時処理（ステップＳ２２１）とを繰り返す。この一連の処理により、非入光状態から入光状態に切り替わったと判定されたとき（ステップＳ２２３が「ＹＥＳ」）に、非入光期間の受光量の中で最大値から数えてＰ番目に低い受光量がバッファｖｙ（Ｐ）に格納される。ステップＳ２２４では、このｖｙ（Ｐ）の値をＶＹとし、ステップＳ２２５では、バッファｖｙ（ｊ）を初期値の９９９９に戻す。さらにステップＳ２２６では、ＶＹをボトム値として表示器１０２に表示する。
【０１０１】
以下、同様に、表示部１００の表示を切り替える操作が行われるまで（ステップＳ２１７が「ＹＥＳ」）、入光と非入光との切り替わりを判別しながら、ステップＳ２１１〜２１６またはステップＳ２２１〜Ｓ２２６を実行する。所定のタイミングでユーザによる切り替え操作が行われると、ステップＳ２１７が「ＹＥＳ」となり、処理を終了する。
なお、ステップＳ２１１，Ｓ２２３でも、それぞれ非入光状態、入光状態がＰ回続いたことをもって、「ＹＥＳ」判定となり、それぞれの判定を受けたステップＳ２１１，Ｓ２２１では、判定に用いられたＰ個の受光量を順に処理対象とする。
【０１０２】
図１１に示した処理によれば、受光量の山毎に、その山を検出するために最低限確保すべき受光量の中で現在のしきい値に最も近い値（Ｐ番目に高い受光量）が抽出され、ピーク値として表示される。また、受光量の谷毎に、その谷を検出するために最低限確保すべき受光量の中で現在のしきい値に最も近い値（Ｐ番目に低い受光量）が抽出され、ボトム値として表示される。したがって、ユーザは、毎回の表示により受光量の山と谷とのばらつきを把握すると共に、各値のしきい値に対する余裕度に基づき、現在のしきい値の適否を判別することができる。
【０１０３】
なお、図１１に示した方法でピーク値ＭＴおよびボトム値ＶＹを特定する場合には、これらを表示する処理に代えて、または表示と共に、毎回のＭＴ，ＶＹの値をメモリ１０６に蓄積し、蓄積された各値を所定のタイミングで外部機器に出力してもよい。または、新たなピーク値ＭＴや新たなボトム値ＶＹを得る都度、その値を直ちに外部機器に出力してもよい。このようにすれば、毎回のピーク値ＭＴやボトム値ＶＹを時系列に並べて表示するなど、各値のばらつき度合いやしきい値との関係の詳細な分析に適した処理を行うことが可能になる。
【０１０４】
また、図８や図１１の処理に先立ち設定されるしきい値は、チューニング処理により設定されるものに限らず、メモリ１０６にデフォルトで登録されているしきい値を用いてもよい。
【０１０５】
つぎに、これまでに示した実施例では、あらかじめしきい値が設定されていることを前提にして、そのしきい値に基づき入光期間と非入光期間との切り替わりを判別しながら、ピーク値およびボトム値を特定したが、事前にしきい値を設定することなく、一定の時間内に得られた受光量の中から、ピーク値およびボトム値となる代表受光量を抽出することも可能である。その場合の処理を、図１２を参照して説明する。
【０１０６】
この処理でも、２種類のバッファｍｔ（ｉ），ｖｙ（ｊ）によりそれぞれＰ個の受光量を保存するようにしている。ステップＳ３０１の初期化処理では、先の各例と同様に、バッファｍｔ（ｉ）に０を格納し、バッファｖｙ（ｊ）に９９９９を格納する。
【０１０７】
つぎに、内部のタイマをリセットし（ステップＳ３０２）、クロックパルスに応じて受光量を取得し（ステップＳ３０３）、この受光量に対し、入光時処理（ステップＳ３０４）と非入光時処理（ステップＳ３０５）とを順に実行する。各処理の詳細手順は、それぞれ図９（Ａ），図９（Ｂ）に示したものと同様である。
【０１０８】
この後も、あらかじめ定めたＴ１秒が経過していないことを条件に（ステップＳ３０６が「ＮＯ」）、新たな受光量を取得し（ステップＳ３０３）、この受光量を対象にして、入光時処理（ステップＳ３０４）と非入光時処理（ステップＳ３０５）とを実行する。これにより、バッファｍｔ（ｉ）においては、Ｐ個の受光量が最大値を先頭に降順に整列し、バッファｍｔ（ｊ）においては、Ｐ個の受光量が最小値を先頭に昇順に整列する。
【０１０９】
Ｔ１秒が経過すると（ステップＳ３０６が「ＹＥＳ」）、ステップＳ３０７に進み、バッファｍｔ（Ｐ）の値をピーク値として表示器１０１に表示し、バッファｖｙ（Ｐ）の値をボトム値として表示器１０２に表示する。
【０１１０】
図８の実施例によれば、１つのワークの通過にかかる時間に応じてＴ１の値を決めることにより、受光量の山と谷とを１つずつ発生させて、山の中で最大値から数えてＰ番目に高い受光量をピーク値とし、谷の中で最小値から数えてＰ番目に低い受光量をボトム値として、それぞれ表示することができる。よって、これらの値の関係に基づき、しきい値として適切な値を設定することができる。
【０１１１】
図８の実施例でも、ピーク値およびボトム値の表示を１回にとどめずに、ワークの通過に応じてステップＳ３０１〜Ｓ３０７の手順を繰り返すようにすれば、図７の例と同様に、ワーク毎のピーク値とボトム値とのばらつきを確認することができる。また、この実施例でも、毎回のピーク値およびボトム値をメモリ１０６に蓄積したり、外部機器に出力することが可能である。また、検出処理のために設定されているしきい値を変更することを検討する場合にも、変更後の値として仮設定されたしきい値により入光状態と非入光状態との切り替わりを判別しながら、ピーク値およびボトム値を求め、表示や出力を行うことができる。
【符号の説明】
【０１１２】
１  光電センサ
１００  表示部
１０１，１０２  表示器
１１０  操作部
１０３  投光部
１０４  受光部
１０５  制御部（ＣＰＵ）
１０６  メモリ
【要約】
【課題】検出に適したしきい値を判別するのに適した情報を表示する。
【解決手段】投光部１０３および受光部１０４と、受光処理により得られた受光量をあらかじめ設定されたしきい値と比較することにより入光状態および非入光状態のいずれであるかを判別して、その判別結果を出力する検出部として機能する制御部１０５と、受光量を表示することが可能な表示部１００とを具備する光電センサにおいて、現在設定されているしきい値により判別される複数の入光期間および複数の受光期間を対象に、各入光期間の中で受光量が相対的に最も低くなった期間における受光量と、各受光期間の中で受光量が相対的に最も高くなった期間における受光量とをそれぞれ特定し、特定された２つの代表受光量を、表示部１００に表示する。
【選択図】図４【図１】
0005152397.tif 000002
【図２】
0005152397.tif 000003
【図３】
0005152397.tif 000004
【図４】
0005152397.tif 000005
【図５】
0005152397.tif 000006
【図６】
0005152397.tif 000007
【図７】
0005152397.tif 000008
【図８】
0005152397.tif 000009
【図９】
0005152397.tif 000010
【図１０】
0005152397.tif 000011
【図１１】
0005152397.tif 000012
【図１２】
0005152397.tif 000013