本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については同一符号を付してその説明は繰返さない。
図1は、本発明の実施形態に従う光電センサの上部カバーを開いた状態における外観斜視図である。
図1を参照して、本発明の実施の形態に従う光電センサ1は多連装型のプラスチック製筐体101を有する。筐体101の前部には、投光用ファイバ2と受光用ファイバ3とが挿入され、クランプレバー103の操作によって抜け止め固定される。筐体101の後部からは電気コード4が引き出されている。
図示の電気コード4は、アース(GND)用の芯線41と、電源(Vcc)用の芯線42と、検出出力用の芯線43と、補助出力用の芯線44と、リモート入力用の芯線45とを有する。
筐体101は、制御盤などの取付面に対して図示しないDINレールを介して固定される。符号104で示されるものはDINレール嵌合溝である。筐体101の上部には、透明な上部カバー102が開閉可能に取り付けられている。上部カバー102を開いた状態で露出する筐体101の上面には、第1の表示器105と、第2の表示器106と、第1の操作ボタン(UP)107と、第2の操作ボタン(DOWN)108と、第3の操作ボタン(MODE)109と、第1のスライド操作子(SET/RUN)110と、第2のスライド操作子(L/D)111とが設けられている。
図2は、本発明の実施の形態に従う光電センサの操作・表示部の拡大図を説明する図である。
図1および図2を参照して、第1の表示器105及び第2の表示器106は、いずれも4桁の7セグメントデジタル表示器で構成されており、それぞれ4桁の数字、アルファベット、さらにはそれらの組み合わせを任意に表示可能となされている。
第1の操作ボタン107、第2の操作ボタン108、及び第3の操作ボタン109は、いずれもモメンタリタイプの押しボタンスイッチを構成しており、図2に示されるように、第1の操作ボタン107は『UPキー』として、第2の操作ボタン108は『DOWNキー』として、第3の操作ボタン109は『MODEキー』としてそれぞれ機能するように構成されている。
第1のスライド操作子110及び第2のスライド操作子111はいずれもスライドスイッチを構成するものであり、図2に示されるように、第1のスライド操作子110は『SET/RUN切替スイッチ』として、第2のスライド操作子111は『L/D切替スイッチ』として機能するように構成されている。
図1を再び参照して、筐体101の内部には、図示しないが、物体検出用の発光素子と物体検出用の受光素子とが内蔵されている。投光用ファイバ2をファイバ挿入孔にしっかりと挿入すると、投光用ファイバ2の端面と検出用発光素子の発光部とがしっかりと光結合され、これにより検出用の発光素子から発生した光は、投光用ファイバ2を経由して、その先端の図示しないファイバヘッドから検出領域へと投光される。同様に、受光用ファイバ3をファイバ挿入孔にしっかりと挿入すると、受光用ファイバ3の端面と検出用受光素子とが光結合され、これにより図示しない受光用ファイバ3のファイバヘッドからファイバ内に導入された光は、受光用ファイバ3に案内されて、検出用の受光素子にたどり着くようになっている。以上述べた検出用の発光素子と検出用の受光素子との配置構成は従来のこの種のファイバ型光電スイッチに採用されたものと同様である。
次に、本発明の実施形態に従う光電センサの電気的ハードウェア構成について説明する。
図3は、本発明の実施の形態に従う光電センサの概略ブロック図である。
図3を参照して、この回路はマイクロプロセッサを主体として構成される信号処理部200を中心として構成されている。信号処理部200内には、マイクロプロセッサの他に、システムプログラムを格納したROMやプログラムの実行に必要なワーキングRAM、その他各種の設定データを格納するためのEEPROMなどが内蔵されている。このEEPROMには、工場出荷前においてメーカ側が設定したデータや、工場出荷後にユーザが設定した各種のデータが格納される。このような信号処理部200の構成については、各種の文献において種々公知であるから、その点についての詳細な説明は省略する。
図3の紙面左側においては、後に詳細に説明するが先に説明した発光素子を有する投光部202と受光素子を有する受光部203とが描かれている。投光部202は、検出用の発光素子である発光ダイオード(以下、LEDと称する)202aと、LED202aを駆動するためのLED駆動部202bとを含む。一方、受光部203は、検出用の受光素子であるフォトダイオード(以下、PDと称する)203aと、PD203aの出力を増幅するためのアンプ部203cとを含む。なお、本発明の実施の形態に従う投光部202は、白色光を出射するものとする。また、検出用受光素子PD203aは、赤色光、緑色光および青色光をそれぞれ受光可能な3種類の受光素子で構成される。
そして、LED駆動部202bの作用により検出用発光素子であるLED202aから発生したパルス光は、投光用ファイバ2を介して検出領域へと導かれる。検出領域において透過または反射したことにより受光用ファイバ3に導入された光は、受光用ファイバ3を経由して検出用受光素子であるPD203aへとたどり着く。検出用受光素子PD203aは、赤色光、緑色光および青色光をそれぞれ受光可能な3種類の受光素子でそれぞれ受光し、それぞれの各色について光電変換する。
PD203aで光電変換されて生じた出力信号は、アンプ部203cで増幅された後信号処理部200へとA/D変換器(図示せず)を介して取り込まれる。尚、これら投受光の基本的な構成についても、各種の文献において公知であるから、この点についての詳細な説明は省略する。なお、本実施の形態において、投光部および受光部は、検出対象物を透過あるいは反射した物理量である光量を検知する検知部を構成する。
表示部204は、信号処理部200における各種の演算により生成されたデータを表示させるための表示器で構成されており、この表示部204には、より具体的には、先に図1並びに図2を参照して説明した第1の表示器105並びに第2の表示器106が含まれている。それらの第1並びに第2の表示器105,106は、7セグメントディスプレイが複数個組み込まれ、各種の情報が、数値、アルファベット、それらの組み合わせなどによりデジタル表示される。
入力部205は、信号処理部200に対して各種の情報を入力するためのものである。この入力部205には、キー入力部205aと信号入力部205bとが含まれている。キー入力部205aは、オペレータが手動操作で各種のデータを入力するためのものであり、この入力部205aには先に図1並びに図2を参照して説明したように、第1の操作ボタン107、第2の操作ボタン108、第3の操作ボタン109、第1のスライド操作子110、及び第2のスライド操作子111が含まれている。
これに対して、信号入力部205bは、先に図1を参照して説明した電気コード4の芯線45を介してリモート入力信号を入力するためのものであり、この信号入力部205bを介して芯線45から到来する外部から入力される制御信号が信号処理部200へと取り込まれる。
尚、この例にあっては、信号入力部205bは1ラインしか設けられていないが、これを2ライン以上すなわち複数ライン設けて入力させることも当然に可能である。
出力部206は、信号処理部200で生成された各種の出力信号を電気コード4に含まれる芯線43及び44へと出力するためのものである。この出力部206には、物体検出信号出力用の出力部206aと任意の補助出力信号用の出力部206bとが含まれている。すなわち、信号処理部200で生成された物体検出用の検出信号は、出力部206aを介して電気コード4内の芯線43へと送り出される。
同様にして、信号処理部200で生成された任意の補助出力信号は、出力部206bを介して、電気コード4に含まれる芯線44へと送り出される。これらの電気コード4に含まれる芯線43,44は一般的には外部のPLCやPC等の上位装置へと接続される。同様にして、電気コード4に含まれる芯線45についても、外部のPLCやPC等の上位装置と接続されている。
電源部201は、図3に示される投光部202、受光部203、表示部204、入力部205、出力部206のそれぞれに対して電源を供給する電源安定化装置等で構成されており、この電源部201に対する給電は、電気コード4に含まれる芯線41及び42を介して行なわれる。この例では芯線41はGNDに接続され、芯線42はVccに接続される。
次に、以上述べた機械的構造並びに電気的なハードウェア構成を前提として、この光電センサに備えられた様々な機能並びにそれらを実現するために信号処理部200で実行されるシステムプログラムの構成について説明する。
一般的に光電センサには、選択的に実行(ON/OFF)可能な複数の機能が備えられている。それらの機能のそれぞれには、様々な選択肢が用意されている。それらの機能の選択(ON/OFF)並びに選択肢の選択は、この光電センサをSETモードに設定することで行なうことができる。特定の選択肢に従ってON設定された機能を実現させる動作は、この光電センサをRUNモードに設定することで行なうことができる。
動作モードをSETモードとするかRUNモードとするかの指定は、図2に示されるように、第1のスライド操作子110を『SET』側とするか、『RUN』側とするかにより決定することができる。また、第2のスライド操作子111は、この光電センサの検出出力信号の論理極性を設定するためのもので、第2のスライド操作子111が『L』側に設定されているといわゆるライトオンモードとなり、『D』側に設定されるとダークオンモードとなる。
図4は、本発明の実施の形態に従う投光部202および受光部203の詳細を説明する図である。
図4を参照して、本発明の実施の形態に従う投光部202は、上述したようにLED202aと、LED駆動部202bとを含み、さらに、LED駆動部202bを制御してLEDの出射パワーを調整するためのLED駆動調整部202bgを含む。なお、LED駆動調整部202bgは、後述するオートパワーコントロール(APC)処理によりLED202aからの出射パワーのモニタ結果を信号処理部200から受けて、LED駆動部202bに指示してLED駆動部202bからLED202aに供給する投光電流のパワー制御を行なうものとする。
本発明の実施の形態に従う受光部203は、上述したようにPD203aと、アンプ部203cとを含む。アンプ部203cは、PD203aから出力される受光した赤色、緑色、青色のそれぞれの波長領域の信号光を光電変換した電気信号をそれぞれ増幅する増幅部と、当該増幅部の増幅率を調整する増幅調整率を含む。
本例においては、一例として、アンプ部203cは、赤色の波長領域の信号光に対して光電変換した電気信号を増幅するための増幅部203r(R増幅部とも称する)と、緑色の波長領域の信号光に対して光電変換した電気信号を増幅するための増幅部203g(G増幅部とも称する)と、青色の波長領域の信号光に対して光電変換した電気信号を増幅するための増幅部203b(B増幅部とも称する)と、増幅部203r,203g,203bにそれぞれ対応して設けられ、それぞれの対応する増幅部の増幅率を調整するための増幅調整部203rg(R増幅調整部とも称する)、増幅調整部203gg(G増幅調整部とも称する)および増幅調整部203bg(B増幅調整部とも称する)を含む。
増幅調整部203rg、増幅調整部203ggおよび増幅調整部203bgは、それぞれ信号処理部200からの指示に応答して対応する増幅部の増幅率を調整するものとする。
また、後述するが、本発明の実施の形態に従う投光部202および受光部203は、ワークに対する検出対象領域を広く確保するために信号処理部200のCPUからの指示に従って3種類のゲイン調整(Gain=L、Gain=N、Gain=S)が可能であるものとする。具体的には、LED駆動部202bからLED202aに供給する投光電流として例えば電流量を大、小と2段階に切替可能であるものとする。また、受光部203のアンプ部203cの増幅部の受光ゲインを大、小と2段階に切替可能であるものとする。これに伴い、投光電流が「大」、受光ゲインが「大」の場合(Gain=L)、投光電流「大」、受光ゲインが「小」の場合(Gain=N)、投光電流が「小」、受光ゲインが「小」の場合(Gain=S)の如く3種類のゲイン調整が可能であるものとする。
図5は、信号処理部200のCPUで実行されるシステムプログラムの全体を概略的に示すゼネラルフローチャートである。
図5を参照して、このシステムプログラムは電源投入によって実行を開始される。
同図において、処理が開始されると、まず初期設定処理(ステップ401)が実行される。この初期設定処理(ステップ401)においては、後述するルーチン処理を開始するに先立って必要な各種の初期設定処理が実行される。この初期設定処理には、各種メモリ、表示灯、制御出力の初期化の実行や、信号処理部200に含まれるEEPROMから必要項目の読出とデータチェックを行なう処理などが実行される。
初期設定処理(ステップ401)が実行を完了すると、ルーチン処理への移行が行なわれ、その最初においてまず第1のスライド操作子110の設定状態が参照される(ステップ402)。ここで、第1のスライド操作子110が『SET』側へ設定されていれば(ステップ402SET)、続いてSETモード初期設定処理(ステップ403)が実行される。このSETモード初期設定処理(ステップ403)では、SETモード用測定値の初期化等が行なわれる。
SETモード初期設定処理(ステップ403)が実行を完了すると、以後、第1のスライド操作子110が『SET』側へ設定された状態にある限り(ステップ405YES)、様々な機能(F)に関するSETモード処理(ステップ404)が実行される。この状態において、ユーザは、第1の操作ボタン107、第2の操作ボタン108、第3の操作ボタン109を適宜に操作することによって、当該光電センサに用意された様々な機能のON/OFF設定、さらには、各機能別の個別設定処理を実行することができる。
一方、第1のスライド操作子110の設定状態を参照した結果、『RUN』側へと設定されたと判定されると(ステップ402RUN)、続いて、RUNモード初期設定処理(ステップ406)が実行される。このRUNモード初期設定処理(ステップ406)においては、表示灯、制御出力の初期化、しきい値及び各種RUNモード用設定値の初期化等が行なわれる。
RUNモード初期設定処理(ステップ406)が完了すると、続いて第1のスライド操作子110が『RUN』側へ設定されている限り(ステップ408YES)、RUNモード処理(ステップ407)が実行される。このRUNモード処理(ステップ407)においては、光電センサとして必要な基本的な動作の他に、ユーザにより選択的に設定された各種の機能が実現される。尚、このRUNモード処理の具体的な内容については、必要に応じて、後に詳細に説明を行なう。
このように、信号処理部200で実行されるシステムプログラムは、いわゆる電源投入直後に行なわれるイニシャル処理である初期設定処理(ステップ401)と、ルーチン処理であるところの2つの処理すなわちSETモード処理(ステップ404)及びRUNモード処理(ステップ407)に大別される。
図6は、SETモード処理の全体を示すフローチャート図である。
図6を参照して、処理が開始されると、まず本発明の実施の形態に従うガイダンス表示処理(ステップ501)が実行される。このガイダンス表示処理(ステップ501)については後に詳細に説明する。
続いて、キー入力検出処理が実行され(ステップ502)、図1並びに図2に示される操作ボタン107〜109並びにスライド操作子110,111におけるキー入力操作の有無を待機する状態となる(ステップ503NO)。
この状態において、キー入力有りと判定された場合(ステップ503YES)、第1の操作ボタン107(『UPキー』)、第2の操作ボタン108(『DOWNキー』)の操作回数を判定する(ステップ504)。
ステップ504において、第1の操作ボタン107(『UPキー』)あるいは第2の操作ボタン108(『DOWNキー』)の操作回数の合計回数が奇数である場合には、RUNモードにおけるON/OFF判定のしきい値を設定するためのSETモード処理として設けられている一点ティーチング処理が実行される(ステップ505)。一方、ステップ504において、第1の操作ボタン107(『UPキー』)あるいは第2の操作ボタン108(『DOWNキー』)の操作回数の合計回数が偶数である場合には、RUNモードにおけるON/OFF判定のしきい値を設定するためのSETモード処理として設けられている二点ティーチング処理が実行される(ステップ506)。
そして、一点ティーチング処理(ステップ505)あるいは二点ティーチング処理(ステップ506)が実行された後は、再びステップ501に戻ってガイダンス表示処理(ステップ501)が実行される。
なお、第1の操作ボタン107(『UPキー』)あるいは第2の操作ボタン108(『DOWNキー』)の操作回数に従う一点ティーチング処理あるいは二点ティーチング処理が実行される場合には、表示部204でいずれのティーチング処理であるかを示す表示をすることにより、案内表示される内容に応じて、当該センサにどのような処理が行なわれているかを容易に目で確認することも可能である。例えば、第1の表示器105あるいは第2の表示器106の7セグメントを用いて操作ボタンを押してから所定期間それぞれ予め定められた表示をすることにより実現可能である。
図7は、ティーチング処理の状態を説明する概念図である。
図7(a)は、一点ティーチング処理を説明する図である。
ここで示されるように、しきい値を設定するためティーチング処理を実行する基準対象物(ワーク)に対して第1の操作ボタン107(『UPキー』)あるいは第2の操作ボタン108(『DOWNキー』)の操作回数(奇数回)に従って一点ティーチング処理が実行される。
そして、当該一点ティーチング処理結果として第1の表示器105および第2の表示器106にそれぞれ一致度およびしきい値が表示されている場合が示されている。本例においては、一致度「1000」、しきい値「900」が表示されている場合が示されている。一点ティーチング処理については後に後述する。
なお、ここでは、ティーチング処理を実行するワークがある場合について一点ティーチング処理を実行してしきい値を設定する場合について示したが、ワークがない場合について一点ティーチング処理を実行することも可能である。
本例においては、ワークが無い場合には、壁あるいは支持台が基準対象物となり当該基準対象物に反射した光を受光して一致度およびしきい値が計算され処理されるものとする。
図7(b)は、二点ティーチング処理を説明する図である。
ここで示されるように、しきい値を設定するためティーチング処理を実行するワークが有る場合、ワークが無い場合のそれぞれに対して第1の操作ボタン107(『UPキー』)あるいは第2の操作ボタン108(『DOWNキー』)が操作され、二点ティーチング処理が実行される。具体的には、第1の操作ボタン107(『UPキー』)あるいは第2の操作ボタン108(『DOWNキー』)の操作回数が(偶数回)に従って二点ティーチング処理が実行される。
そして、当該二点ティーチング処理結果として第1の表示器105および第2の表示器106にそれぞれ一致度およびしきい値が表示されている場合が示されている。本例においては、まず、ワークが有る場合におけるティーチング処理すなわち一点ティーチングが実行された場合が示されている。一致度「1000」、しきい値「900」が表示されている。
そして、次にワークが無い場合におけるティーチング処理すなわち二点ティーチング処理が実行された場合が示されている。本例においては、ワークが無い場合には、壁あるいは支持台が基準対象物となり当該基準対象物に反射した光を受光して一致度およびしきい値が計算され処理されるものとする。そして、本例においては、一致度「600」、しきい値「800」が表示されている。二点ティーチング処理については後に後述する。
なお、ここでは、ティーチング処理を実行するワークがある場合、ない場合について二点ティーチング処理を実行してしきい値を設定する場合について示したが、ワークがある場合、ない場合の順序を入れ替えることも可能である。
ここで、『1点ティーチング処理』とは、基準となる対象物(基準対象物とも称する)の受光量をサンプリングし、受光量の総和が所定値(本例においては1000)(以下、正規化最大値と称する)となるように各色の受光量を正規化して、正規化した各色の受光量を基準として検出対象物とのON/OFF判定処理を実行するための一致度のしきい値を設定する機能である。ここで、一致度とは、基準対象物の色に対して検出対象物の近似の程度を示す指標である。
また、『2点ティーチング処理』とは、2つの検出対象物の一方の検出対象物の受光量をサンプリングし、受光量の総和が所定値(本例においては1000)(以下、正規化最大値と称する)となるように各色の受光量を正規化する。そして、他方の検出対象物の受光量をサンプリングし、受光量の総和が所定値(以下、正規化最大値と称する)となるように各色の受光量を正規化する。そして、正規化した一方の検出対象物の一致度と、正規化した他方の検出対象物の一致度との中間にON/OFF判定処理を実行するための一致度のしきい値を設定する機能である。すなわち、この2点ティーチング機能によれば、しきい値=(1回目の一致度+2回目の一致度)/2となる。
図8は、SETモード処理として設けられている一点ティーチング処理について説明するフロー図である。
ユーザのキー操作又は外部信号により指定された機能が、1点ティーチング機能である場合、例えば、上述したステップ504において第1の操作ボタン107(『UPキー』)あるいは第2の操作ボタン108(『DOWNキー』)の操作回数が奇数回の場合には、一点ティーチング処理が実行される。
図8を参照して、処理が開始されると、ティーチングサンプリング処理が実行される(ステップ301)。
図9は、ティーチングサンプリング処理を説明するフロー図である。
図9を参照して、ティーチングのためのサンプリング取得(ティーチングサンプリング取得)が行なわれる(ステップ602)、そして、ティーチングサンプリング取得の後に、ティーチング用のサンプリングデータ算出が実行される(ステップ603)。
そして、このサンプリング回数が規定値(例えば一例として1024回)を越えているかどうかを判定する(ステップ604)。そして、規定値を越えていなければ、ステップ602に再び戻り、サンプリング回数が規定値となるまで上述した動作を繰り返すものとする。
そして、ステップ604において、サンプリング回数が規定値を越えた場合には、次に取得したサンプリングデータに基づいて、ティーチングのためのサンプリングデータの平均値を算出する(ステップ605)。
そして、ティーチングのための受光量比率を算出する。(ステップ606)。具体的には、3色の光(赤色、緑色、青色)のそれぞれにおけるティーチングのためのサンプリングデータの平均値に従って受光量の総和を算出し、受光量の総和全体に対する各色の受光量の平均値の割合すなわち受光量比率を算出する。
そして、また、受光量の総和全体に従って正規化係数を算出して(ステップ607)、終了する。正規化係数は、3色の光(赤色、緑色、青色)の受光量の総和が所定値(本例においては1000)となるように正規化するための係数である。
なお、このティーチング処理は、PD203aで受光した信号光に含まれる赤色、緑色および青色の各色のそれぞれについてサンプリングが行なわれサンプリングデータが算出されるものとする。
図10は、ゲイン調整により変化する受光量と距離との関係を説明する図である。
図10に示されるように、本発明の実施の形態に従う投光部202および受光部203は、ワークに対する検出対象領域を広く確保するために信号処理部200のCPUからの指示に従って上述した3種類のゲイン調整(Gain=L、Gain=N、Gain=S)が実行される。ここでは、Gainのレベル表示として、L=3、N=2、S=1として示されている。
ゲイン調整により、ゲインが大きい程、検出対象領域の受光部から距離が離れたところからも受光量を安定的に検出可能である一方、距離が近い場合には、受光量は飽和してしまうことになる。また、ゲインが小さい程、検出対象領域の受光部から距離が近いところから受光量を安定的に検出可能である一方、距離が遠い場合には、受光量は不足してしまうことになる。
上述したように、本例においては、ゲインを調整してワークに対する検出対象領域を広く確保する方式となっている。
図11は、受光部(ファイバ)と検出対象物との距離を説明する図である。
図11(a)に示されるように、検出対象物が検出対象領域に存在する場合には、検出対象物から適切な光量を検出することができる(安定領域)。
一方、受光部(ファイバ)と検出対象物との距離が近すぎる場合(図11(b))には、受光量が大きすぎるため飽和してしまい検出対象物から適切な光量を検出することができない(飽和領域)。
また、受光部(ファイバ)と検出対象物との距離はある程度あるが検出対象物に光沢がある場合例えば表面が金属面である場合には、検出対象物からの反射光量が大きいため飽和してしまい検出対象物から適切な光量を検出することができない(飽和領域)。
一方、受光部(ファイバ)と検出対象物との距離が離れ過ぎている場合(図11(c))には、受光量が小さ過ぎるため受光量が不足し検出対象物から適切な光量を検出することができない(受光量不足領域)。
したがって、再び図8を参照して、ティーチングサンプリング処理が終了した後、上述した安定領域の検出対象物から得られたサンプリング結果か否か適切なサンプリング結果か否かを判断することが必要である。
具体的には、まず、受光量が大きすぎるか否かすなわちOVER条件を満たすかどうかを判定する(ステップ302)。
本例においては、一例としてティーチングサンプリング処理により得られた各色それぞれにおける受光量が最大受光量4000に対して2560以上であるか否かが判断される。
なお、初期においては、ゲインはL(Gain=3)に設定されているものとする。
ステップ302において、受光量が大きすぎるすなわちOVER条件を満たす(YES)場合には、ステップ313に移行する。
そして、ゲイン調整が可能かどうかが判定される(ステップ313)。ゲイン調整が可能である(ステップ313においてYES)場合には、ゲイン調整され(ステップ314)、再びティーチングサンプリング処理(ステップ301)を実行する。
具体的には、ステップ314において初期においてゲインがL(Gain=3)に設定されている場合、ゲインがL→N→Sにシフトしてゲイン調整されるものとする。
一方、ステップ313において、ゲイン調整が不可能であると判定される場合には、ステップ315においてOVERエラーであると判定される。そして、OVERエラーである旨の表示がなされる(ステップ316)。そして、一点ティーチングを終了する(エンド)。
具体的には、ステップ313において、ゲインがSの場合にOVER条件を満たす場合すなわち受光量が2560以上である場合には、これ以上ゲインを下げることができないためステップ315に進みOVERエラーと判定される。この場合は、図11で説明した飽和領域に検出対象物が位置していると推定されるためOVERエラーである旨の表示がなされる。
次に、OVER条件を満たさない場合(ステップ302においてNO)には、LO条件を満たすかどうかを判定する(ステップ303)。
本例においては、一例としてティーチングサンプリング処理により得られた各色における受光量の総和に基づいて受光量が不足しているかどうかが判断される。
本例においては、一例として各色(赤、緑、青)における受光量の総和を求める。そして、各色(赤、緑、青)における受光量の総和に基いて正規化係数Pを算出する。正規化係数Pは、上述したように1000/受光量の総和(赤色の受光量+緑色の受光量+青色の受光量)により算出される。
そして、1000≦Hys×Pを満たすかどうかを判定する。
Hysは、本発明の実施の形態に従うON/OFF判定処理を実行する図示しない回路の回路特性上のノイズ量を指し示している。なお、このHysの値は、EEPROM等に予め設定されているものとする。
図12は、LO条件を説明する図である。
図12に示されるようにHys×P≧1000を満たす場合には、受光量が不足しており逆に一致度計算においてノイズ量が過大になり過ぎるため一点ティーチングにおいて後述するしきい値計算処理において適切なしきい値を設定することができないためLO条件として設定されている。
再び、図9を参照して、ステップ303において、受光量が小さすぎるためLO条件を満たす(ステップ303においてYES)場合には、ステップ309に移行する。
そして、ゲイン調整が可能かどうかが判定される(ステップ309)。ゲイン調整が可能である(ステップ309においてYES)場合には、ゲイン調整され(ステップ312)、再びティーチングサンプリング処理(ステップ301)を実行する。
具体的には、ステップ312において、ゲインがS(Gain=1)に設定されている場合、ゲインがS→N→Lにシフトしてゲイン調整されるものとする。
一方、ステップ309において、ゲイン調整が不可能であると判定される場合には、ステップ309においてLOエラーであると判定される。そして、LOエラーである旨の表示がなされる(ステップ311)。そして、一点ティーチングを終了する(エンド)。
具体的には、ステップ309において、ゲインがLの場合にLO条件を満たす場合すなわちゲインを最大にした場合であっても十分な受光量が得られない場合には、これ以上ゲインを上げることができないためステップ310に進みLOエラーと判定される。この場合は、図12で説明した受光量不足領域に検出対象物が位置していると推定されるためLOエラーである旨の表示がなされる。
図13は、本発明の実施の形態で用いられるエラー条件等を説明する図である。
図13を参照して、本例においては光量および一致度に関するエラー表示等が実行される。
具体的には、光量が適切な場合には、「OK」が表示される。一方、光量が大きすぎる場合には、「OVER」が表示される。一方、光量が小さすぎる場合には、「LO」が表示される。
ここで、「OVER」の条件は、次式で示される。
VRS≧XorVGS≧XorVBS≧X・・・(1)として示されている。本例においては、X=2560とする。
ここで、受光量VRS,VGS,VBSは、ゲインがSにおける各色(赤色、緑色、青色)の受光量をそれぞれ指し示すものとする。すなわち、式(1)を満たす場合、OVERエラーである旨の表示がなされる。
次に、「LO」の条件は、次式で示される。
Hys×P≧1000・・・(2)として示される。なお、正規化係数Pは、1000/(VRL+VGL+VBL)である。受光量VRL,VGL,VBLは、ゲインがLにおける各色(赤色、緑色、青色)の受光量をそれぞれ指し示すものとする。すなわち、式(2)を満たす場合、LOエラーである旨の表示がなされる。
この式(1),(2)の条件以外の場合にOK表示がなされる。
一点ティーチングの場合には、光量に関するエラー表示等のみが実行されるが2点ティーチングの場合には、一致度に関するエラー表示等もさらに実行される。
具体的には、一致度差が大きい場合には、「OK」が表示される。一方、一致度差が小さすぎる場合には、「NEAR」が表示される。
ここで、「NEAR」の条件は、次式で示される。
一点目の一致度−二点目の一致度≦2×P×Hys・・・(3)
ここで、一点目の一致度は、一点ティーチングにおけるティーチングサンプリング処理により算出された一致度である。また、二点目の一致度は、二点ティーチングにおけるティーチングサンプリング処理により算出された一致度である。
ここで、Pは正規化係数である。正規化係数Pは、上述したように1000/受光量の総和(赤色の受光量+緑色の受光量+青色の受光量)により算出される。
また、Hysは、本発明の実施の形態に従うON/OFF判定処理を実行する図示しない回路の回路特性上のノイズ量を指し示している。なお、このHysの値は、EEPROM等に予め設定されているものとする。
この式(3)の条件以外の場合にOK表示がなされる。
図14は、表示器におけるエラー表示等を説明する図である。
図14に示されるように表示器に設けられた7セグメントの組み合わせに基づいて「OK」、「OVER」、「LO」、「NEAR」表示がなされる。
次に、再び図9を参照して、ゲイン判別処理が実行される(ステップ304)。
具体的には、OVER条件およびLO条件を満たさないOK判定となるゲイン(Gain=L、Gain=N、Gain=S)はいずれであるかが判定される。
そして、次に、しきい値算出処理が実行される(ステップ305)。
具体的には、一例としてステップ301において実行されたティーチングサンプリング処理において、受光量の総和全体に対する各色の受光量の平均値の割合すなわち受光量比率の算出および3色の光(赤色、緑色、青色)の受光量の総和が所定値(本例においては1000)となるように正規化するための正規化係数が算出される。そして、1点ティーチング処理においては一致度が1000に設定される。
本例においては、この一致度(正規化最大値)に対して10%減少させた値をしきい値に設定する。例えば、900をしきい値に設定する。
そして、次にON/OFF点算出処理を実行する(ステップ306)。
具体的には、上記において設定されたしきい値に対してON点/OFF点を以下の如く設定する。
ON点=しきい値+Hys/2、OFF点=しきい値−Hys/2
次に、上記の処理において算出されたしきい値およびON点/OFF点の等のデータがEEPROMへ書き込まれる(ステップ307)。EEPROMに書き込まれたデータは、後のRUNモードの際に読み出されて検出対象物の特徴量を算出するために用いられる。
なお、ステップ307においては、しきい値等のデータのみならず、算出された受光量比率、正規化係数および判定されたゲイン等のレベルについてもEEPROMに記録される。なお、ゲイン判別処理により判別されたゲインのレベルについては後述する1点ティーチング処理後のガイダンス表示処理のサンプリング処理において、EEPROMに記録されたゲインとして用いられる。
そして、次に、一致度およびしきい値表示処理ならびにOK表示処理を実行する(ステップ308)。なお、図7(a)においては、一点ティーチング処理を実行した場合の一致度およびしきい値が示されている。具体的には、一致度が1000、しきい値が900となっている。なお、ここでは、図示しないが一致度およびしきい値表示とともにOK表示も実行するものとする。
表示処理としては、予め所定期間、LOエラーあるいはOVERエラーあるいは一致度等を表示する期間が設けられているものとする。
そして、一致度およびしきい値表示とともにOK表示する場合には、所定期間の一部分を用いて交互に表示することが可能である。
そして、所定期間の表示処理終了後に一点ティーチング処理を終了する(エンド)。
なお、LOエラーあるいはOVERエラーを表示する場合(ステップ311,316)には、しきい値は算出されず、EEPROMへの書込は実行されないが、EEPROMに既に記録されていた前回時の一致度およびしきい値等が記録されている場合には、記録されていた一致度およびしきい値をLOエラーあるいはOVERエラーと交互に表示する処理を実行させることも可能である。
図15は、SETモード処理として設けられている二点ティーチング処理について説明するフロー図である。
ユーザのキー操作又は外部信号により指定された機能が、二点ティーチング機能である場合、例えば、上述したステップ504において第1の操作ボタン107(『UPキー』)あるいは第2の操作ボタン108(『DOWNキー』)の操作回数が偶数回の場合には、二点ティーチング処理が実行される。
図15を参照して、処理が開始されると、ティーチングサンプリング処理が実行される(ステップ701)。
ここで、ティーチングサンプリング処理は、図10で説明したのと同様であるのでその詳細な説明は繰り返さない。すなわち、2点ティーチングのためのサンプリング取得(ティーチングサンプリング取得)が行なわれる。そして、ティーチングのための受光量比率が算出される。また、受光量の総和全体に従って正規化係数が算出される。
そして、受光量が大きすぎるか否かすなわちOVER条件を満たすかどうかを判定する(ステップ702)。ステップ702において、受光量が大きすぎるすなわちOVER条件を満たす(YES)場合には、ステップ715に移行する。
そして、ゲイン調整が可能かどうかが判定される(ステップ715)。ゲイン調整が可能である(ステップ715においてYES)場合には、ゲイン調整され(ステップ716)、再びティーチングサンプリング処理(ステップ701)を実行する。
一方、ステップ715において、ゲイン調整が不可能であると判定される場合には、ステップ717においてOVERエラーであると判定される。そして、OVERエラーである旨の表示がなされる(ステップ717)。そして、二点ティーチングを終了する(エンド)。
次に、OVER条件を満たさない場合(ステップ702においてNO)には、LO条件を満たすかどうかを判定する(ステップ703)。
ステップ703において、受光量が小さすぎるためLO条件を満たす(ステップ703においてYES)場合には、ステップ711に移行する。
そして、ゲイン調整が可能かどうかが判定される(ステップ711)。ゲイン調整が可能である(ステップ711においてYES)場合には、ゲイン調整され(ステップ714)、再びティーチングサンプリング処理(ステップ701)を実行する。
一方、ステップ711において、ゲイン調整が不可能であると判定される場合には、ステップ712においてLOエラーであると判定される。そして、LOエラーである旨の表示がなされる(ステップ713)。そして、二点ティーチングを終了する(エンド)。
このOVER条件およびLO条件の判定については、図8で説明した一点ティーチング処理と同様であるのでその詳細な説明は繰り返さない。
次に、OVER条件およびLO条件を満たさない(ステップ703においてNO)場合には、一致度算出処理が実行される(ステップ704)。
図16は、本発明の実施の形態に従う一致度算出処理を説明するフロー図である。
図16を参照して、処理が開始されると、それぞれの色に関して、二点ティーチング処理のティーチングサンプリング処理により正規化された各色のデータと一点ティーチング処理のティーチングサンプリング処理により正規化された各色とのデータとを比較して、比較に基づく変化量を算出する。具体的には、まず、赤色の変化量(変化光量)を算出する(R変化量算出)(ステップ1200)。同様に、緑色の変化量を算出する(G変化量算出)(ステップ1201)。さらに、青色の変化量を算出する(B変化量算出)(ステップ1202)。
そして、赤色、緑色、青色の合計変化量を計算する(ステップ1203)。
そして、赤色、緑色、青色の合計変化量に基づいて一致度を算出する(ステップ1204)。
図17は、二点ティーチングを実行した場合における一致度を説明する図である。
図17を参照して、ワークが有る場合(図17(a))と、無い場合(図17(b))の反射光をそれぞれ受光して、各色の受光量をそれぞれ正規化した場合が示されている。
具体的には、3色の光(赤色、緑色、青色)の受光量の総和が所定値(正規化最大値)となるように各色の受光量を正規化した場合が示されている。なお、本例においては、一例として正規化最大値を1000とした場合が示されている。
図17(a)は、ワーク有りに対して一点ティーチング処理を実行した場合の各色の受光量を正規化した場合の図であり、それぞれ各色についての受光量比率が示されている。
図17(b)は、ワーク無しに対して二点ティーチング処理を実行した場合の各色の受光量を正規化した場合の図であり、それぞれ各色についての受光量比率が示されている。
ここで、上述した図16のステップ1200〜1202の処理を行なうことにより、ワーク有りとワーク無しとの差が赤色について変化量Δ%R=150、緑色について変化量Δ%G=150、青色について変化量Δ%B=100の差が算出された場合が一例として示されている。
ステップ1203において、RGBの合計変化量(Δ%R+Δ%B+Δ%G)は、400であり、正規化最大値1000からこの合計変化量400を差し引くことにより、一致度が算出される。本例においては、一致度600が算出されている場合が示されている。すなわち、この一致度は、ワーク有りの色に対してワーク無しの色の近似の程度を示す指標に相当する。
そして、この算出された一致度がNEAR条件を満たすか否かが判定される(ステップ705)。
図18は、二点ティーチング処理におけるNEAR条件を説明する図である。
図18(a)に示されるように二点ティーチング処理において後述するしきい値算出処理は、一点ティーチング処理のサンプリング処理により算出された一致度(一致度一点目)と、二点ティーチング処理のサンプリング処理により算出された一致度(一致度二点目)との中間値に設定される。
したがって、図18(b)に示されるように一点ティーチング処理のサンプリング処理により算出された一致度(一致度一点目)と、二点ティーチング処理のサンプリング処理により算出された一致度(一致度二点目)との間の差分値が小さければその中間値をしきい値に設定した場合、設定されたしきい値と検出対象物との一致度との差がさらに小さくなるためON/OFF判定処理を実行する図示しない回路の回路特性上のノイズ量が大きい場合には、正常にON/OFF判定を実行することができない可能性がある。
したがって、正常にON/OFF判定を実行する上で、一点ティーチング処理のサンプリング処理により算出された一致度(一致度一点目)と、二点ティーチング処理のサンプリング処理により算出された一致度(一致度二点目)との間の差分値は一定値以上であることが求められる。
本例においては、この差分値である上述した一点目の一致度−二点目の一致度≦2×P×Hysを満たす場合には、差分値が小さいと判定する。すなわちNEARエラー判定となる。なお、正規化係数Pは、一点ティーチング処理のサンプリング処理により算出された正規化係数と、二点ティーチング処理のサンプリング処理により算出された正規化係数の大きい方とする。
ステップ705において、NEAR条件を満たす場合には、NEARエラーと判定される(ステップ719)。
そして、NEARエラーが表示される(ステップ720)。
一方、ステップ705において、NEAR条件が満たされない場合には、ゲイン判別処理が実行される(ステップ706)。そして、しきい値算出処理が実行される(ステップ707)。
このしきい値算出処理は、上述したように、一点ティーチング処理のサンプリング処理により算出された一致度(一致度一点目)と、二点ティーチング処理のサンプリング処理により算出された一致度(一致度二点目)との間の中間値に設定される。
そして、次にON/OFF点算出処理を実行する(ステップ708)。
具体的には、上記において設定されたしきい値に対してON点/OFF点を以下の如く設定する。
ON点=しきい値+Hys/2、OFF点=しきい値−Hys/2
次に、上記の処理において算出されたしきい値およびON点/OFF点等のデータがEEPROMへ書き込まれる(ステップ709)。EEPROMに書き込まれたデータは、後のRUNモードの際に読み出されて検出対象物の特徴量を算出するために用いられる。
なお、ステップ709においては、しきい値等のデータのみならず、算出された受光量比率、正規化係数および判定されたゲイン等のレベルについてもEEPROMに記録される。なお、ゲイン判別処理により判別されたゲインのレベルについては後述する二点ティーチング処理後のガイダンス表示処理のサンプリング処理において、EEPROMに記録されたゲインとして用いられる。
そして、次に、一致度およびしきい値表示処理ならびにOK表示処理を実行する(ステップ710)。
なお、図7(b)においては、ワークが有る場合の一点ティーチング処理を実行した場合の一致度およびしきい値が示されている。具体的には、一致度が1000、しきい値が900となっている。また、図7(b)においては、ワークが無い場合の二点ティーチング処理を実行した場合の一致度およびしきい値が示されている。具体的には、一致度が600、しきい値が一致度一点目1000と一致度二点目600の中間値である800が示されている。
なお、表示処理としては、予め所定期間、LOエラーあるいはOVERエラーあるいはNEARエラーあるいは一致度等を表示する期間が設けられているものとする。
一致度およびしきい値表示とともにOK表示する場合には、所定期間の一部分を用いて交互に表示するものとする。
そして、所定期間の表示処理終了後に二点ティーチング処理を終了する(エンド)。
次に、再び、図5に戻って、RUNモード処理について説明する。
RUNモードへの導入に先立ち、まずRUNモード初期設定処理が実行される(ステップ406)。このRUNモード初期設定処理(ステップ406)においては、RUNモードの実行に必要な各種のフラグ、カウンタ、レジスタ類等の初期設定処理が行なわれる。続いて、RUNモード初期設定処理(ステップ406)が完了すると、以後第1のスライド操作子110が『RUN』側に設定されている限り(ステップ408YES)、RUNモード処理(ステップ407)が繰り返し実行される。
図19は、RUNモード処理を説明するフローチャート図である。
このRUNモード処理の全体は、通常処理と割込処理とに大別される。
図19(a)は、このRUNモード処理における通常処理を説明するフローチャート図であり、図19(b)は、このRUNモード処理における割込処理を説明するフローチャート図である。
そして、割込処理(ステップ806〜808)は、時間Tsec毎(例えば、100μsec毎)にタイマ割込で実行される。
まず、図19(a)を参照して、通常処理(ステップ801〜805)について説明する。
処理が開始されると、表示灯制御処理(ステップ801)が実行される。この表示灯制御処理(ステップ801)では、指定された表示内容に応じて、7セグメントデジタル表示器である第1及び第2の表示器105,106の点灯制御を行なう。
続いて、オートパワーコントロール(以下、APCという)処理(ステップ802)が実行される。このAPC処理(ステップ802)では、後述する計測用の投受光処理(ステップ806)で取得したモニタ受光量を監視し、一定期間毎に、APC補正を実施する。このAPC補正は、この例においては、上述したように投光電流のパワー制御により行なわれている。
続いて、キー入力検知処理(ステップ803)が実行される。このキー入力検知処理(ステップ803)においては、一定期間毎に、キー入力の検知を行ない、入力を検知した場合は、該当処理の実行ができるように設定を行なう。続いて、入力キー対応処理(ステップ804)が実行されて、検知されたキー入力に対応する様々な処理が実行される。
そして、入力キー対応処理(ステップ804)が終了すると、外部入力処理(ステップ805)が実行される。尚、これらのRUNモードの処理は、一般的な光電センサに備えられている処理であるためその詳細な説明は省略する。
次に、図19(b)を参照して、時刻Tsec毎に実行される割込処理について説明する。
割込処理が開始されると、まず投受光処理(ステップ806)が実行される。この投受光処理(ステップ806)においては、図3に示されるLED201aを投光駆動部201bを介してパルス駆動することによって、白色光を発生させ、これを投光用ファイバ2を通じて投光用ヘッド(図示せず)へと導き、投光用ヘッドから検出対象領域へと放出する。同時に、検出対象領域において反射又は透過した光を受光用ファイバ3の先端に設けられた受光ヘッドから受光用ファイバ3内へと導入し、これを受光用ファイバ3を経由してPD202bへと導き、PD202bにて光電変換により得られた信号を、アンプ部203cにて増幅し、その後増幅出力をA/Dコンバータ202cを介して信号処理部200に取り込む。これにより、検出対象領域の状況に対応する特徴量を含んだ受光量が信号処理部200に取得される。
続いて、ON/OFF判定処理(ステップ807)が実行される。このON/OFF判定処理(ステップ807)においては、上述の一点ティーチング処理あるいは二点ティーチング処理により予め設定されたON/OFF点を基準として計算されるいわゆる一致度を弁別二値化することにより、検出対象領域に物体の有無が判定される。すなわち、検出対象領域に目的とする物体が存在すれば、判定結果はONとなり、存在しなければ判定結果はOFFとされる。
こうしてON/OFF判定処理(ステップ807)が実行終了すると、続いて出力制御処理(ステップ808)が実行されて、信号処理部200で生成された検出出力信号は、出力部209を介して、電気コード4に含まれる物体検出信号出力用の芯線43へと送り出される。こうして芯線43へと出力された検出出力信号は、例えばPLCやPC等の上位装置などへと送られる。
図20は、本発明の実施の形態に従う投受光処理を説明するフロー図である。
図20を参照して、処理が開始されると、投光処理として上述したように図3に示されるLED202aをLED駆動部202bを介してパルス駆動することによって、白色光を発生させ、これを投光用ファイバ2を通じて投光用ヘッド(図示せず)へと導き、投光用ヘッドから検出対象領域へと放出する(ステップ1000)。
そして、次に、検出対象領域において反射又は透過した光は、受光用ファイバ3の先端に設けられた受光ヘッドから受光用ファイバ3内へと導入される。そして、受光用ファイバ3を経由してPD203aへ導かれ、PD203aにて光電変換される。
PD203aにより得られた信号について、まず、赤色の受光量を処理(R受光量処理)する(ステップ1001)。同様にして、緑色の受光量を処理(G受光量処理)する(ステップ1002)。また、同様にして青色の受光量を処理(B受光量処理)する(ステップ1003)。なお、赤色の受光量をVR、緑色の受光量をVG、青色の受光量をVBとして説明する。
図21は、本発明の実施の形態に従うON/OFF判定処理を説明するフロー図である。
図21を参照して、処理が開始されるとまず、一致度算出処理を実行する(ステップ1100)。
一致度算出処理については、図16で説明したのでその詳細な説明は繰り返さない。
そして、ステップ1100の一致度算出処理を実行した後、しきい値判定処理を実行する(ステップ1101)。
具体的には、ここで、算出された一致度と一点ティーチング処理あるいは二点ティーチング処理で算出されたしきい値とを比較判定することにより、基準対象物であるワークに対して同一の色を有するか否かを判別し、検出対象物を検出することが可能となる。
以上において、本発明の実施の形態に従うSETモードおよびRUNモードについて説明したが、以下、本発明の実施の形態に従うSETモード時におけるガイダンス表示処理について説明する。
上述したように図6において、SETモード処理が開始された場合にガイダンス表示処理(ステップ501)が実行される。
図22は、ガイダンス表示処理を説明するフロー図である。
図22を参照して、まず、ゲイン調整サンプリング処理が実行される(ステップ1300)。
図23は、ゲイン調整サンプリング処理を実行するフロー図である。
図23を参照して、ゲイン調整サンプリング処理が開始される(スタート)とまずGain=3に設定される(ステップ1401)。すなわち、ゲインのレベルをLに設定する。
そして、次に受光量サンプリングを実行する(ステップ1402)。
図24は、受光量サンプリングを実行するフロー図である。
図24を参照して、受光量サンプリングが開始される(スタート)と、まずサンプリング回数を0に初期化する(ステップ1501)。
そして、赤色(R)の受光量処理すなわちサンプリング処理を実行する(ステップ1502)。そして、緑色(G)の受光量処理すなわちサンプリング処理を実行する(ステップ1503)。そして、青色(B)の受光量処理すなわちサンプリング処理を実行する(ステップ1504)。そして、サンプリング回数に1を加える(ステップ1505)。
次に、ステップ1506において、サンプリング回数が16であるかどうかを判断し、サンプリング回数が16となるまで上述したステップ1502〜1505の処理を繰り返す。
そして、ステップ1506において、サンプリング回数が16であると判断された場合には、サンプリング平均値を算出する処理を実行する(ステップ1506)。
具体的には、16回繰り返されたR受光量処理、G受光量処理およびB受光量処理の平均値を算出する。
そして、再び図23を参照して、Gainのレベルを1下げる(Gain=Gain−1)(ステップ1403)。具体的には、ゲインのレベルをNに設定する。
そして、ステップ1404において、Gain=0であるかどうかを判断する。ステップ1404において、Gain=0となるまでステップ1402〜1404の処理を繰り返す。
すなわち、ゲインをL、N、Sとした場合の受光量サンプリングを実行する。そして、終了する(エンド)。
再び、図22を参照して、次に、EEPROMに設定されている現在のゲインでサンプリング処理が実行される(ステップ1301)。
上述したように初期設定時においては、EEPROMには、ゲインLで設定されている。そして、一点ティーチング処理あるいは二点ティーチング処理を実行した後においては、一点ティーチング処理あるいは二点ティーチング処理におけるゲイン判別処理で判別されたゲインの値がEEPROMに設定されている。したがって、一点ティーチング処理後のガイダンス表示処理においては、一点ティーチング処理におけるゲイン判別処理で判別されたEEPROMに記録されたゲインの値が現在のゲインとなる。
また、二点ティーチング処理後のガイダンス表示処理においては、二点ティーチング処理におけるゲイン判別処理で判別されたEEPROMに記録されたゲインの値が現在のゲインとなる。
当該ゲインによる図24で説明した受光量サンプリング処理が実行される。
図25は、ゲイン調整サンプリング処理と、EEPROMに設定されているゲインによるサンプリング処理を説明する図である。
図25に示されるように、ゲイン調整サンプリング処理と、EEPROMに設定されているゲインによるサンプリング処理とはそれぞれ異なるタイミングで実行される。また、ゲイン調整サンプリング処理は、上述したようにゲインL、N、Sのそれぞれのゲインでサンプリング処理が実行される。
図26は、図25におけるゲイン調整サンプリング処理と、EEPROMに設定されているゲインによるサンプリング処理結果を説明する図である。
図26に示されるように3種類のゲイン調整(Gain=L、Gain=N、Gain=S)が実行されて、3種類のゲイン調整サンプリングデータが取得される。具体的には、投光電流が「大」、受光ゲインが「大」の場合(Gain=L)のサンプリングデータVRL1,VGL1,VBL1が取得される。また、投光電流「大」、受光ゲインが「小」の場合(Gain=N)のサンプリングデータVRN1,VGN1、VBN1が取得される。また、投光電流が「小」、受光ゲインが「小」の場合(Gain=S)のサンプリングデータVRS1,VGS1,VBS1が取得される。
また、EEPROMに設定されているゲインによるサンプリング処理として、Gain=LのサンプリングデータVRL2,VGL2,VBL2あるいはGain=NのサンプリングデータVRN2,VGN2、VBN2あるいはGain=SのサンプリングデータVRS2,VGS2,VBS2のいずれかが取得される。
図22を再び参照して、これらサンプリングデータに基づいてエラーガイダンス判定処理(ステップ1302)が実行される。
図27は、エラーガイダンス判定処理を説明するフロー図である。
図27を参照して、まず一点ティーチング処理前あるいは二点ティーチング処理前か否かが判定される(ステップ1600)。
上述したように第1のスライド操作子110が『SET』側へ設定された場合は、一点ティーチング処理前である。また、第1の操作ボタン107(『UPキー』)あるいは第2の操作ボタン108(『DOWNキー』)の操作回数の合計回数が偶数である場合には、二点ティーチング処理が実行された後であるので一点ティーチング処理前である。
また、上述したように第1の操作ボタン107(『UPキー』)あるいは第2の操作ボタン108(『DOWNキー』)の操作回数の合計回数が奇数である場合には、一点ティーチング処理が実行された後であるので二点ティーチング処理前である。
ステップ1600において一点ティーチング前であると判定された場合には、ステップ1601に移行する。
そして、受光量が大きすぎるか否かすなわちOVER条件を満たすかどうかを判定する(ステップ1601)。
ステップ1601において、受光量が大きすぎるすなわちOVER条件を満たす(YES)場合には、OVERエラーであると判定される(1607)。そして、OVERエラーである旨の表示がなされる(ステップ1608)。そして、終了する(エンド)。
一方、ステップ1601において、OVER条件を満たさない場合(ステップ1601においてNO)には、LO条件を満たすかどうかを判定する(ステップ1602)。
ステップ1602において、受光量が小さすぎるためLO条件を満たす(ステップ1602においてYES)場合には、LOエラーであると判定される(ステップ1605)。そして、LOエラーである旨の表示がなされる(ステップ1606)。そして、終了する(エンド)。
このOVER条件およびLO条件を満たさない場合(ステップ1602においてNO)には、しきい値算出処理が実行される(ステップ1603)。
具体的には、EEPROMに設定されているゲインによるサンプリング処理のサンプリングデータに基づいて、受光量の総和全体に対する各色の受光量の平均値の割合すなわち受光量比率の算出および3色の光(赤色、緑色、青色)の受光量の総和が所定値(本例においては1000)となるように正規化するための正規化係数の算出が実行され、一致度が1000に設定される。そして、この一致度(正規化最大値)に対して10%減少させた値をしきい値に設定する。例えば、900をしきい値に設定する。
そして、次に、一致度およびしきい値表示処理ならびにOK表示処理を実行する(ステップ1604)。なお、図28においては、一点ティーチング処理前のガイダンス表示処理の処理結果が示されている。具体的には、一致度が1000、しきい値が900となっている。なお、ここでは、図示しないが一致度およびしきい値表示とともにOK表示も実行されるものとする。
なお、ガイダンス表示処理としては、一定周期で繰り返されるものとする。そして、予め所定期間、LOエラーあるいはOVERエラーあるいは一致度等を表示する期間が設けられているものとする。
一致度およびしきい値表示とともにOK表示する場合には、所定期間の一部分を用いて交互に表示するものとする。
一方、ステップ1600において二点ティーチング前であると判定された場合には、ステップ1610に移行する。
そして、受光量が大きすぎるか否かすなわちOVER条件を満たすかどうかを判定する(ステップ1610)。
ステップ1610において、受光量が大きすぎるすなわちOVER条件を満たす(YES)場合には、OVERエラーであると判定される(1620)。そして、OVERエラーである旨の表示がなされる(ステップ1621)。そして、終了する(エンド)。
一方、ステップ1610において、OVER条件を満たさない場合(ステップ1610においてNO)には、LO条件を満たすかどうかを判定する(ステップ1611)。
ステップ1611において、受光量が小さすぎるためLO条件を満たす(ステップ1611においてYES)場合には、LOエラーであると判定される(ステップ1618)。そして、LOエラーである旨の表示がなされる(ステップ1619)。そして、終了する(エンド)。
このOVER条件およびLO条件を満たさない場合(ステップ1611においてNO)には、次に一致度算出処理が実行される(ステップ1612)。一致度算出処理は、図16で説明したのと同様の処理が実行される。
ここで、一致度算出処理で用いられるサンプリングデータは、EEPROMに設定されているゲインによるサンプリングデータである。具体的には、Gain=LのサンプリングデータVRL2,VGL2,VBL2あるいはGain=NのサンプリングデータVRN2,VGN2、VBN2あるいはGain=SのサンプリングデータVRS2,VGS2,VBS2のいずれかである。
二点ティーチング前の場合、既に一点ティーチング処理が実行されているのでEEPROMにおいては、一点ティーチング処理後の処理結果すなわち各色における受光比率および正規化係数等が格納されている。
この一点ティーチング処理後の処理結果およびEEPROMに設定されているゲインによるサンプリングデータを用いて上述したのと同様の方式に従って一致度が算出される。
そして、次にNEAR条件を満たすか否か判断される(ステップ1613)。
NEAR条件を満たすか否かについては、図18で説明したのと同様である。
すなわち、一点ティーチング処理のサンプリング処理により算出された一致度(一点目)と、二点ティーチング処理前のEEPROMに設定されているゲインによるサンプリング処理により算出された一致度(二点目)との間の差分値が一定値以上であるかどうかが判断される。
本例においては、この差分値である上述した一点目の一致度−二点目の一致度≦2×P×Hysを満たす場合には、差分値が小さいと判定する。すなわちNEARエラー判定となる。なお、正規化係数Pは、一点ティーチング処理のサンプリング処理により算出された正規化係数と、二点ティーチング処理前のEEPROMに設定されているゲインによるサンプリング処理により算出された正規化係数の大きい方とする。
そして、ステップ1613において、NEAR条件を満たす場合には、NEARエラーと判定される(ステップ1614)。
そして、NEARエラーが表示される(ステップ1615)。そして、終了する(エンド)。
一方、ステップ1613において、NEAR条件を満たさない場合には、しきい値算出処理が実行される(ステップ1616)。
このしきい値算出処理は、上述したように、一点ティーチング処理のサンプリング処理により算出された一致度(一致度一点目)と、二点ティーチング処理前のEEPROMに設定されているゲインによるサンプリング処理により算出された一致度(一致度二点目)との間の中間値に設定される。
そして、次に、一致度およびしきい値表示処理ならびにOK表示処理を実行する(ステップ1617)。
なお、表示処理としては、予め所定期間、LOエラーあるいはOVERエラーあるいはNEARエラーあるいは一致度等を表示する期間が設けられているものとする。
一致度およびしきい値表示とともにOK表示する場合には、所定期間の一部分を用いて交互に表示するものとする。
従来においては、ティーチング処理前にティーチング処理の結果を予想するガイダンス表示処理は実行されていなかった。本発明の実施の形態に従うティーチング処理前のガイダンス表示処理を実行することによりティーチング処理前に受光量が適切か否か等のエラー情報を判断することができるため、受光量等のエラ−情報を早期にユーザが検知することが可能である。
したがって、ユーザは、ティーチング処理を実行する前に検出対象物の位置等を調整することが可能であり、ユーザの利便性が向上する。
特に、本実施の形態に従う方式の如く一致度比較により検出対象物を検知する光電センサは、単色の受光量検知により検出対象物を検知する方式ではなく、基準対象物の色(赤色、緑色、青色)との近似度を示す一致度を表示する方式である。したがって、従来構成の光電センサの場合には、ユーザが単純に受光量を知る術は無くティーチング処理におけるしきい値設定の際に表示されるエラー表示の理由を容易に認識することが難しい可能性があったが、本実施の形態に従う方式の如く受光量等のエラー情報を表示するガイダンス表示処理をティーチング処理前に実行することにより、受光量等のエラー情報を早期にユーザに認識させることによりユーザのティーチング処理におけるしきい値設定を容易にし、ユーザの利便性を向上させることが可能である。
なお、本実施の形態において、白色光を投光する方式すなわち、単一の白色光源を用いる構成であるため、赤色、緑色、青色と順次光源を切り替える必要はなく、視認性に優れるという効果もある。また、特に白色光に限られず、赤色、緑色、青色を順次発光させて、受光部において赤色、緑色、青色を順次受光する方式を採用することも当然可能である。
また、本例においては、受光部において、赤色、緑色、青色の光を受光する場合について説明したが、特に3色の光に限られず、それよりもさらに複数種類の色の光を並列に受光する構成とすることも可能である。
(実施の形態の変形例)
上記においては、検出した受光量に基づく一致度が表示される一致度タイプの光電センサの構成について説明したが、検出した受光量に基づいて検出対象物の特徴量を検出する受光量タイプの光電センサについても適用可能である。
受光量タイプの光電センサは、上述した一致度タイプの光電センサと比較して、基準対象物の色の近似度を示す一致度比較はなく基準対象物との受光量比較を実行する点で異なるのみであり、その他の処理方式等については同様である。
なお、上述したフロー図において一致度を算出するための処理は実行されない。例えば、図9のステップ606,607で説明した一致度を算出するための各色の受光量比率の計算や正規化係数の算出処理は実行されない。また、一致度を算出するための処理ではなく、単に受光量を算出する処理であるため投光部および受光部においては、単一光線の投光および受光が可能な構成であれば足りる。また、各色におけるサンプリング処理を実行する必要は無く、一色におけるサンプリング処理を実行すれば足りる。
次に、受光量タイプの光電センサにおけるOVERエラーおよびLOエラーについて説明する。
図29は、受光量タイプの光電センサにおける一点ティーチング処理のOVER条件およびLO条件を説明する図である。
図29を参照して、本例においては、一例として受光量が4000以上であればOVERエラーであると判定する。
また、受光量<Hys×α(一例としてα=3/2)未満であればLOエラーであると判定する。なお、Hysは、上述したように本発明の実施の形態に従うON/OFF判定処理を実行する図示しない回路の回路特性上のノイズ量を指し示している。
なお、一点ティーチング処理におけるしきい値算出処理は、一例として一点ティーチング処理により得られた受光量に対して10%減少させた値をしきい値に設定することが可能である。
図30は、受光量タイプの光電センサにおける二点ティーチング処理のNEAR条件を説明する図である。
図30(a)に示されるように二点ティーチング処理においてしきい値算出処理は、一点ティーチング処理のサンプリング処理により算出された受光量(受光量一点目)と、二点ティーチング処理のサンプリング処理により算出された受光量(一致度二点目)との中間値に設定される。
したがって、図30(b)に示されるように一点ティーチング処理のサンプリング処理により算出された受光量(受光量一点目)と、二点ティーチング処理のサンプリング処理により算出された受光量(受光量二点目)との間の差分値が小さければその中間値をしきい値に設定した場合、設定されたしきい値と検出対象物との受光量との差がさらに小さくなるためON/OFF判定処理を実行する図示しない回路の回路特性上のノイズ量が大きい場合には、正常にON/OFF判定を実行することができない可能性がある。
したがって、正常にON/OFF判定を実行する上で、一点ティーチング処理のサンプリング処理により算出された受光量(受光量一点目)と、二点ティーチング処理のサンプリング処理により算出された受光量(受光量二点目)との間の差分値は一定値以上であることが求められる。
本例においては、この差分値である上述した受光量(受光量一点目)−受光量(受光量二点目)≦Hysを満たす場合には、差分値が小さいと判定する。すなわちNEARエラー判定となる。
したがって、受光量タイプの光電センサにおける本発明の実施の形態に従うSETモード時におけるガイダンス表示処理についても一致度タイプの光電センサと同様の処理が実行され、図29で説明したOVER条件およびLO条件に従って条件を満たす場合にはOVER表示あるいはLO表示を一点ティーチング処理前に実行することが可能である。
また、図30で説明したNEAR条件に従って条件を満たす場合にはNEAR表示を二点ティーチング処理前に実行することが可能である。
すなわち、受光量タイプの光電センサにおいても一致度タイプの光電センサと同様にティーチング処理前のガイダンス表示処理を実行することによりティーチング処理前に受光量が適切か否か等のエラー情報を判断することができるため、受光量等のエラ−情報を早期にユーザが検知することが可能である。
したがって、ユーザは、ティーチング処理を実行する前に検出対象物の位置等を調整することが可能であり、ユーザの利便性が向上する。
また、別の変形例として、余裕度表示が可能な余裕度タイプの光電センサも存在する。余裕度タイプの光電センサとは、しきい値に対する受光量の割合を余裕度として表示可能な光電センサである。受光量タイプの光電センサと基本的には同様であり、表示形式が異なるのみである。
図31は、余裕度タイプの光電センサの余裕度を説明する図である。
図31を参照して、ここでは、3パターン(PT1〜PT3)が示されている。
例えば、パターンPT1は、受光量が1200でしきい値が1000の場合である。この場合は、余裕度は120%となる。
パターンPT2は、受光量が400でしきい値が200の場合である。この場合は、余裕度は200%となる。
パターンPT3は、受光量が2400でしきい値が2000の場合である。この場合は、余裕度は120%となる。
余裕度タイプの光電センサの場合にも受光量タイプの光電センサと同じ受光量の条件に従ってOVERエラーあるいはLOエラーを判定するものとする。
例えば、一例として受光量が4000以上であればOVERエラーであると判定する。
また、受光量<Hys×α(一例としてα=3/2)未満であればLOエラーであると判定する。なお、Hysは、上述したように本発明の実施の形態に従うON/OFF判定処理を実行する図示しない回路の回路特性上のノイズ量を指し示している。
また、余裕度タイプの光電センサは、受光量タイプの光電センサにおける二点ティーチング処理のNEAR条件と同様に一点ティーチング処理のサンプリング処理により算出された受光量(受光量一点目)と、二点ティーチング処理のサンプリング処理により算出された受光量(一致度二点目)との間の差分値が小さければその中間値をしきい値に設定した場合、設定されたしきい値と検出対象物との受光量との差がさらに小さくなるためON/OFF判定処理を実行する図示しない回路の回路特性上のノイズ量が大きい場合には、正常にON/OFF判定を実行することができない可能性がある。
したがって、差分値である上述した受光量(受光量一点目)−受光量(受光量二点目)≦Hysを満たす場合には、差分値が小さいと判定する。すなわちNEARエラー判定とする。
したがって、余裕度タイプの光電センサにおける本発明の実施の形態に従うSETモード時におけるガイダンス表示処理についても受光量タイプあるいは一致度タイプの光電センサと同様の処理が実行され、上述したOVER条件およびLO条件に従って条件を満たす場合にはOVER表示あるいはLO表示を一点ティーチング処理前に実行することが可能である。また、上述したNEAR条件に従って条件を満たす場合にはNEAR表示を二点ティーチング処理前に実行することが可能である。
すなわち、余裕度タイプの光電センサにおいても一致度タイプあるいは受光量タイプの光電センサと同様にティーチング処理前のガイダンス表示処理を実行することによりティーチング処理前に受光量が適切か否か等のエラー情報を判断することができるため、受光量等のエラ−情報を早期にユーザが検知することが可能である。
したがって、ユーザは、ティーチング処理を実行する前に検出対象物の位置等を調整することが可能であり、ユーザの利便性が向上する。
本実施の形態においては、反射型の光電センサすなわち検出対象領域の検出対象物に反射した反射光を受光して検出対象物の特徴量を検出する光電センサについて説明したが、反射型の光電センサに限られず、透過型の光電センサすなわち検出対象力の検出対象物を透過した透過光を受光して検出対象物の特徴量を検出する光電センサについても同様に適用可能である。すなわち、この場合、受光用ファイバに導光される光が反射光ではなく透過光である点が異なりその他の方式については同様である。
なお、上記においては、受光量を検知して検出対象物の特徴量を検知する光電センサを例に挙げて説明したが、受光量ではなく他の物理媒体を検知して検出対象物の特徴量を検知するセンサについても同様に適用可能である。例えば、検出対象物との距離に従って変化する磁気作用等に基づいて検出対象物の位置を検知する近接センサや、センサヘッドから発信される超音波に対して反射してくる超音波を受信し、この音波の発信から受信までの時間を計測することで検出対象物の位置を検出する超音波センサ等においてもしきい値を計算する光電センサと同様にティーチング処理を実行する。
したがって、光電センサの場合と同様にティーチング処理前のガイダンス表示処理を実行することにより具体的には、ティーチング処理前に検知した物理媒体の値が適切か否か等のエラー判定を実行することにより、エラ−情報を早期にユーザが検知することが可能でありユーザの利便性が向上する。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 光電センサ、2 投光用ファイバ、3 受光用ファイバ、4 電気コード、41 GND用芯線、42 Vcc用芯線、43 検出出力信号用の芯線、44 補助出力信号用の芯線、45 制御信号用の芯線、101 筐体、102 透明カバー、103 クランプレバー、104 DINレール嵌合溝、105 第1の表示器、106 第2の表示器、107 第1の操作ボタン、108 第2の操作ボタン、109 第3の操作ボタン、110 第1のスライド操作子、111 第2のスライド操作子、200 信号処理部、201 電源部、202 投光部、202a LED、202b 投光駆動部、203 受光部、203a PD、203b アンプ部、204 表示部、205 入力部、205a キー入力部、205b 信号入力部、206 出力部、206a 検出信号用の出力部、206b 補助出力信号用の出力部。