以下に、添付の図面に基づいて本発明の好ましい実施例を説明する。図1は、実施例の変位スイッチを示し、より具体的には光学式三角測距センサ200を示す。図1を参照して、三角測距センサ200は、第1、第2の筐体2、4に分けて構成され、第1、第2の筐体2、4は中継ケーブル6によって接続されている。少なくとも第1の筐体2は一般的に合成樹脂よりも強度、剛性に優れた金属で構成されるのが好ましい。第2筐体4は、金属で構成されていてもよいし、合成樹脂で構成されていてもよい。
一般的な三角測距センサに含まれる構成要素のうち、三角測距に必要とされる光学部品及びこれに関連した素子、電源基板などの構成要素群は第1筐体2に収容され、それ以外のドットマトリックスディスプレイ、例えば有機ELディスプレイ(OELD)などの構成要素群が第2筐体4に収容されている。これにより、第1筐体1を小型化することができる。説明を分かり易くするために、第1筐体2を「ヘッド部」と呼び、第2筐体4を「本体部」と呼ぶ。
図2は本体部4を示す。本体部4は、幾分扁平な断面略矩形の細長い外形形状を有し、その長手方向一端に位置するヘッド側端4aと、長手方向他端部に位置する出力側端4bとを有している。また、本体部4の4つの面で構成される側面は、比較的幅広の第1側面4cと、この第1側面4cに隣接した幅狭の第2側面4dを含んでいる。
本体部4には出力ケーブル8が接続され、本体部4から出力ケーブル8を通じて判定信号つまりON/OFF信号がPLCなどの制御機器10(図1)に向けて出力される。中継ケーブル6及び出力ケーブル8は共に屈曲可能な可撓性を備え、図1に示すように中継ケーブル6を折り返して束ねることにより、ヘッド部2と本体部4との距離を任意に調整することができる。図2を参照して、本体部4は、ヘッド側端4a及び出力側端4bから夫々長手方向に突出した周方向に延びる溝状の首部Nを有し、この首部Nの周面は好ましくは円形である。首部Nに結束バンドBを掛け渡すことで、ヘッド部2に近い、例えば30cm程度離れた任意の設置場所ILに固定することができる。
首部Nの配置位置に関する変形例として、首部Nの代わりに、ヘッド側端4a及び出力側端4bの近傍に結束バンドBを受け入れる溝を本体部4に設けてもよい。幅広の第1側面4cにはOELD12が配設されている。また、この第1側面4cには、OELD12を挟んで一端側に第1表示灯14が配設され、他端側にSETボタン16が配設されている。SETボタン16は例えばしきい値の自動設定(ティーチングモード)など動作モードを選択するのに用いられる。幅狭の第2側面4dには、UPボタン18とDOWNボタン20とが隣接して配置され、また、モードボタン22が配設されている。UP/DOWNボタン18、20は例えばしきい値を調整したりメニューを選択したりするのに用いられる。モードボタン22は三角測距センサ200の動作モードを切り替えるのに用いられる。上述したSETボタン16を第1側面4cではなくて、幅狭の第2側面4dに配置してもよい。
図3は、中継ケーブル6及び出力ケーブル8が本体部4に対して半田付けされることにより連結されていることを説明するための図である。参照符号Cは本体部基板36の接点を示す。具体的には、中継ケーブル6はフレキシブル基板38に接続され、フレキシブル基端38は本体部基板36に半田付けされている。他方、出力ケーブル8は鉛直の中継基板40又はフレキシブル基板を介して本体部基板36に半田付けされる。このような構成を採用することにより、本体部4の長手方向の寸法を小さくすることができる。フレキシブル基板を使って中継ケーブル6及び出力ケーブル8を本体部基板36に半田付けすることにより、中継ケーブル6及び出力ケーブル8の端部の取付に関する自由度を与えることができる。他方、鉛直の中継基板40を使って出力ケーブル8を半田付けすることにより、出力ケーブル8の姿勢を一意に固定することができる。なお、出力ケーブル8は、本体部4に対してコネクタ(図示せず)を使って接続するようにしてもよい。同様に、中継ケーブル6も本体部4に対してコネクタ(図示せず)を使って接続するようにしてもよい。
図4は、ヘッド部2の内部に配設される要素を説明するための図である。ヘッド部2は、このヘッド部2の設置姿勢の変化を検出するためのモーションセンサ50を含んでいる。モーションセンサ50の代表例がジャイロセンサであり、他の例として加速度センサ、地磁気センサを挙げることができる。モーションセンサ50はヘッド部2と一体的に設置されている。具体的には、モーションセンサ50はヘッド部2との関係で相対変位しないようにヘッド部2に組み付けられている。これにより、ヘッド部2が外力を受けてヘッド部2の設置姿勢が変化し、光軸変位が発生したことをモーションセンサ50によって敏感に検知することができる。
光軸変位について図4を参照して説明する。投光部52から出射された光は投光レンズ54によって集光され、ワークWの表面にスポットを形成する。ヘッド部2が何らかの原因で設置姿勢が変化すると、投光部52から出射された光の光軸Laxは軸振れし、ワークWの表面のスポットの位置が変化する。この現象が「光軸変位」である。ヘッド部2に設置されたモーションセンサ50は、ヘッド部2と相対変位不能にヘッド部2に組み付けられている。ヘッド部2の姿勢変化はモーションセンサ50によって検知することができる。このことは、モーションセンサ50によってスポットの位置が変化したことを検知できることを意味する。また、ヘッド部2の姿勢変化は投光の光軸Laxに軸振れを伴うことから、ワークWの表面のスポットが所望の位置から変化したか否かをユーザが目視で確認することで、ヘッド部2の姿勢変化が発生していることを知ることができる。すなわち、「光軸の変位」は、ヘッド部2つまり投光部52の光軸Laxの変位のことであり、モーションセンサ50の光軸変位発生信号と共にワークWのスポットの位置が適正位置に位置しているか否かを目視で確認できることは適正な運用において重要である。
ヘッド部2は、投光部52、投光レンズ54、受光レンズ56、ミラー58、撮像素子60を有し、これらの要素で三角測距のための光路が形成されている。撮像素子60はリニアイメージセンサで構成され、撮像素子60には電荷蓄積素子が含まれる。この撮像素子60と受光回路62で受光部64が構成されている。投光部52は好ましくは緑色レーザ光を発する半導体レーザ光源(InGaN/GaNの窒化ガリウム系)で構成される。ヘッド部2は、検出対象の検出領域に向けて測定光である緑色レーザ光を投光する。ワークに照射されたスポット光の状態は検出精度に影響する。集光したスポット光であるほど検出精度が良い。緑色のレーザ光は赤色よりもスポット光の状態が優れている。後に説明するように緑色は比視感度に優れている。この特性を利用して、緑色レーザ光の強度、パワーを制限してもスポット光の視認性を確保することができる。ワークの所望の位置に投光ビームが照射されていることをユーザが目視で確認できることは検出を適正に実行する上で望ましいことは言うまでもない。
投光部52から出射した緑色レーザ光は投光レンズ54、投光窓66を通じてワークに達する。ワークの表面で反射した反射光は、受光窓67、受光レンズ56を通り、ミラー58で屈折されて受光部64で受け取られる。すなわち、受光部64は、ワークの検出領域から反射した緑色レーザ光を受光し、これを光電変換して受光信号を生成する。投光部52、受光部64は、ヘッド部2に内蔵されたプロセッサ68によって制御される。
図1、図4から分かるように、ヘッド部2は、比較的薄い略直方体の形状を有し、幅狭の第1の側面2aに上記の投光窓66、受光窓67が配置されている。投光窓66と受光窓67の間には例えば赤色、緑色の2色のLEDで構成された第1動作表示灯70が配設されている。第1動作表示灯つまり前面動作表示灯70は、赤色、緑色、赤と緑の混色である黄色で点灯又は点滅することができる。
ヘッド部2の長手方向の第1、第2の端2b、2cのうち、投光窓66から離れた第2の端2cと、上記第1の側面2aと対抗する第2の側面2dとの間の角部2eは切り欠かれた形状を有し、この角部2eは45°の傾斜面で構成されている。この角部2eに中継ケーブル6が通過する孔が形成され、孔は止水部材72で水の侵入が阻止される。止水部材72に直に隣接してヘッド部2の内部には上記第1動作表示灯70と同じ色の2色のLED74が配置されている。止水部材72は光を透過する導光部材で構成され、LED74と導光止水部材72によって第2の動作表示灯76が構成されている。第1、第2の動作表示灯70、76は、ON/OFF出力信号に同期して黄色又は緑色で点灯され、また、例えば赤色の点滅によってエラー表示される。
ヘッド部2の設置において、投受光窓66、68が位置する第1側面2a及び中継ケーブル6が位置する角部2eは露出した状態に置かれるのが通常である。実際の運用において、露出した状態に置かれる第1側面2a及び角部2eに第1、第2の表示灯70、76を配置することで第1、第2の動作表示灯70、76をヘッド部2の外形輪郭から突出させる必要はない。換言すれば、ヘッド部2の外形輪郭の小型化を阻害する第1、第2の動作表示灯70、76を突出した形態にする必要無しに、ユーザに第1、第2の表示灯70、76の点灯、点滅を認識させることができる。
上述したように、45°の傾斜面で構成された角部2eに中継ケーブル6が接続されている。また、導光止水部材72によって第2動作表示灯76が構成されている。したがって、角部2eに配置した第2動作表示灯76は、ヘッド部2の外形輪郭を規定する第2の端2c、第2の側面2dの延長線L1、L2の内側に位置している(図4)。換言すれば、第2表示灯76は、延長線L1、L2から外部に突出していない。これにより、第2動作表示灯76の存在によって小型化したヘッド部2の外形寸法は拡大しない。小型化を意識しないのであれば、第1、第2表示灯70、76はヘッド部2の外形輪郭から突出した形態であってもよい。
図2を参照して前述したように、本体部4の溝状の首部Nに結束バンドBを掛け渡すことで、本体部4をヘッド部2に近い任意の場所ILに固定することができる。図5は本体部4を断面した模式図である。本体部4は正方形状または長方形状の断面形状を有している。OELD12を設置した第1側面4cと、UP/DOWNボタン18、20等を設置した幅狭の第2側面4dとは互いに直角に交わっている。第1側面4cと対抗する第3側面4e、第2側面4dと対抗する第4側面4fは平らな面で構成され、この第3側面4e、第4側面4fは設置面を構成している。この第3側面4e及び/又は第4側面4fを設置場所に当接させた状態で、ヘッド部2の近傍であって比較的平らな任意の場所IL(例えば柱)に上記結束バンドBを使って固定することがきる。
図6は、本体部4の断面形状の第1変形例を示す。図6から分かるように、OELD12を設置した第1側面4cと、UP/DOWNボタン18、20等を設置した幅狭の第2側面4dとは互いに90°よりも大きな角度で交わっていても良い。
図7は、本体部4の断面形状の第2変形例を示す。図7から分かるように、上述した設置面を構成する第3、第4の側面4e、4fを3つ以上の面、図示例では3つの平らな面4g~4iで構成してもよい。この第2変形例によれば、3つの面4g~4iが夫々設置面を構成する。
図8は、本体部4の断面形状の第3変形例を示す。第3変形例は本体部4が楕円の断面形状を有し、この楕円の本体部4にアタッチメントATを組み付けて、アタッチメントATで設置面を形成してもよいことを例示している。図示のアタッチメントATは、2つの平面輪郭を有する設置面Sf(1)、Sf(2)を含んでいるが、設置面の数は任意である。
図9は、ヘッド部2の制御系を説明するためのブロック図である。投光部52を構成する緑色レーザダイオード(LD)520が発するレーザ光はフォトダイオード(モニタPD)522で監視され、このモニタPD522の出力電流はI/V変換回路524、A/D変換回路526を経て投光制御回路680に入力される。緑色LD520はLD駆動回路530によって制御され、このLD駆動回路530は投光制御回路680によって制御される。LD駆動回路530は電流制御回路532、投光スイッチ回路534を含む。投光制御回路680からD/A変換回路536を経て制御信号が電流制御回路532に入力され、また、投光制御回路680から投光スイッチ回路534に制御信号が入力される。これにより、緑色LD520は所定の周期で且つ所定のパワーでレーザ光を投光する。LD駆動回路530に過電流が流れたときには過電流検知回路538によって検知され、過電流検知回路538の検知情報は投光制御回路680に供給される。これにより投光制御回路680は過電流を抑制する制御が実行される。
受光部64を構成する受光回路62の受光情報はA/D変換回路640を経てプロセッサ68に入力される。プロセッサ68は、投光制御部680、ピーク受光量検出部682、ピーク位置検出部684、距離算出部686、距離判定部688、出力部690を構成する。A/D変換回路640から出力された受光情報はピーク受光量検出部682及びピーク位置検出部684に入力される。ピーク受光量検出部682は受光情報に基づいてピーク受光量を検出し、このピーク受光量は投光制御部680に入力されて投光制御に反映される。ピーク位置検出部684は、入力された受光情報に基づいて受光量のピーク位置を検出すると共にピーク位置の変位を測定する。この情報は距離算出部686に供給される。距離算出部686は、ピーク位置の変位に基づいてワークの検出変位を算出する。この変位の算出には、ピーク位置と距離との対応関係を示すテーブル692が参照される。算出した検出変位は、距離判定部688において、メモリに保存されている判定しきい値694から読み込んだしきい値と対比することによって、判定用のしきい値よりも大きいか否かの判定に用いられる。この判定に関連したデータや後の説明するOELD12の表示に必要な受光情報を含む測定情報(判定しきい値を含む)は出力部690、通信部80を通じて本体部4に供給される。
前述したモーションセンサ50を構成するジャイロセンサの出力は光軸変位検知部696に入力される。光軸変位検知部696は、メモリ参照部698からしきい値を読み込み、ジャイロセンサの出力がしきい値以上のときに光軸変位検知信号を生成し、この光軸変位検知信号を出力部690に供給する。この光軸変位検知信号は通信部80を通じて本体部4に供給され、OELD12の表示に反映される。
図10は、本体部4の制御系を説明するためのブロック図である。本体部4は、プロセッサ24、入力回路26、出力回路28、電源回路30、メモリ32、通信部34を含んでいる。図示の操作部402は、SETボタン16、UPボタン18、DOWNボタン20、モードボタン22を意味している。ユーザは操作部402を操作することにより、チューニング設定、マスク設定、ジャイロセンサ(モーションセンサ50)のしきい値設定、本体部4の出力論理の設定、クリア入力などを行うことができる。ユーザが操作部402を操作すると操作受付部240でこの操作が受け付けられ、ユーザが例えば光軸変位しきい値や距離判定しきい値を変更する操作を行うとメモリ32に保存されている光軸変位しきい値、距離判定しきい値が更新される。
データ受信部340を通じてヘッド部2から受け取った光軸変位検知信号は光軸変位制御部242に供給される。光軸変位制御部242が光軸変位検知信号を受け取ったときには、光軸変位検知信号を表示画面生成部244に供給する。表示画面生成部244は光軸変位検知信号を受け取ると、直ちにOELD12に表示する表示画面を生成する。表示画面生成部244で生成した表示画面はディスプレイ制御部250に供給され、ディスプレイ制御部250は表示画面生成部244で生成した表示画面に基づいてOELD12の描画を制御する。
ヘッド部2から受け取った判定しきい値を含む受光情報を含む測定情報は表示画面生成部244によって受け取られる。表示画面生成部244は受光情報に基づいてOELD12に表示する表示画面を生成する。表示画面生成部244で生成した表示画面はディスプレイ制御部250に供給され、ディスプレイ制御部250は表示画面生成部244で生成した表示画面に基づいてOELD12の描画を制御する。
データ受信部340を通じてヘッド部2から受け取った受光情報を含む測定情報、光軸変位検知信号は出力生成部246に供給される。出力生成部246は、ヘッド部2から受け取った受光情報に含まれる判定情報に基づいて、ユーザが設定可能な出力論理248に従って出力情報を生成する。この出力情報は出力回路28を通じて出力ケーブル8を通じて外部機器に供給される。また、出力生成部246は光軸変位検知信号を受け取ったときには、出力回路28を通じて警報信号を外部に供給してもよい。
上述した出力情報は、上述したように本体部4で生成してもよいし、ヘッド部2で生成してもよい。ヘッド部2と本体部4とを連結する中継ケーブル6の存在によって、一般的には、ノイズの影響を受け易い。ヘッド部2で判定ON/OFF信号を生成した場合において、中継ケーブル6を通じて本体部4に供給される判定ON/OFF信号は二値化された信号であるためノイズの影響は受け難い。他方、本体部4で判定ON/OFF信号を生成した場合には、この判定ON/OFF信号をヘッド部で生成する必要がないためヘッド部2の回路基板が複雑になることを回避でき、小型化を目指すときにヘッド部2を小型にすることが可能である。
図11は、ヘッド部2、本体部4に含まれる電源回路を説明するための図である。本体部4は電源回路30を内蔵している。電源回路30は、2つの電源回路30A、30Bを含む。一方の電源回路30Aは外部から受け取った電源の電圧を調整して、調整した電圧を他方の電源回路30Bとヘッド部2に供給する。この他方の電源回路30Bは電圧を調整してプロセッサ24及びヘッド部2に供給する。ヘッド部2において、本体部4から受け取った電源によってモーションセンサ(ジャイロセンサ)50及びプロセッサ68が駆動され、また、緑色LD520が駆動される。ヘッド部2の第2電源回路78は電圧を調整し、調整後の電圧はリニアレギュレータ82によって安定化された後に、撮像素子60、受光回路62に供給される。
図12は、緑色レーザ光を発するLD520(図9)の強度及びパワーを制限する制御を説明するためのフローチャートである。図11を参照して、ステップS1で投光信号を生成する。この投光信号は予め定められた投光周期を有している。次のステップS2において、予め設定された電流量で緑色LD520を駆動する。緑色LD520の駆動制御はパルス幅で行ってもよい。次のステップS3において、受光部64が受け取った受光量が予め規定した範囲内であるか否かを判別しYESであればステップS1に戻る。ステップS3において、NOつまり受光量が規定の範囲を逸脱しているときには、ステップS4に移行してこの逸脱が所定回数以上連続しているか否かを判別する。このステップS4においてYESつまり逸脱が所定回数以上連続しているときには何らかの故障が発生しているとして緑色LD520への電源供給を停止する(S5)。ステップS4において、NOのときには、ステップS6に進んで緑色LD520を制御する電流量及びパルス幅を調整してステップS2に戻る。
上記ステップS3ないしS6は、緑色レーザ光の強度及びパワーを制限する実質的なリミッタを構成している。投光部52が発する緑色レーザ光の強度及びパワーは、ワークに当たった緑色レーザ光のスポットの位置をユーザが目視で確認してもユーザに影響を及ぼさないレベルに制限される。この制限は安全規格の「クラス1」又は「クラス2」を念頭に置いて設定すればよい。緑色は波長が500nm~555nmであり、比視感度(明比視感度及び暗比視感度)が他の色よりも優れている。したがって、緑色レーザ光の強度及びパワーを上記のレベルに制限してもスポット光の視認性を確保できる。
次に図13を参照してチューニングに関連した処理を説明する。ヘッド部2において受光部64で検出した受光量から判定用距離が算出され、この判定用距離は、チューニング対象であるしきい値と共に通信部80、34を通じて本体部4に供給される。本体部4では、表示画面生成部244で表示画面が生成され、この表示画面に基づいてディスプレイ制御部250(図10)はOELD12の描画の制御を実行する。
<反転表示>
図14の(I)は運用時におけるOELD12の表示の一例を示す。図14の(II)はチューニング時におけるOELD12の表示の一例を示す。図中の数値「199.9mm」は現在値である。単位の「mm」はユーザの設定により「inch」に変更することができる。運用時(図14(I))とチューニング時(図14(II))とにおいて画面全体が反転表示するのが好ましい。ユーザは、OELD12の背景色を含む表示態様の違いに基づいて、今現在、運用時の表示モードであるかチューニング時の表示モードであるかを目視で瞬時に認識又は確認することができる。
<チューニングの安定度の表示>
三角測距センサ200の能力として、三角測距センサ200を安定して運用可能なしきい値を設定できる段差が仮に0.5mmであるとき、検出する第1点と第2点との間の段差(距離差)が0.5mmよりも大きいときには、安定的に運用可能なしきい値の自動設定が可能である。このことをユーザに知らせるのに、三角測距センサ200を安定して運用可能なしきい値を設定できる段差である「0.5mm」が現在値の隣に表示される(図14の(II))。これに加えて、現在値が許容段差よりも大きいことを示す不等号記号(>)を表示してもよい。これによれば、ユーザは目視で直ちに運用上問題が発生しないしきい値の自動設定が行われることを認識又は確認できる。運用上問題が発生しないしきい値の自動設定が可能であることを意味する表示として、図18を参照して後に説明する例えば円形のキャラクタ85を表示させてもよい。
<2点チューニング>
図15は2点チューニングモードでの処理を説明するためのフローチャートである。ユーザがチューニングモードを選択するとステップS11でワークの変位の算出が開始される。次のステップS12において、ユーザがSETボタン16(図2)を押し下げると(第1回目のSETボタン16の押し下げ)、この第1の取り込み指示に従ってその時点での第1検出変位を取得して(S13)、この第1検出変位を「第1基準値」として設定する(S14)。
ワークの変位を検出し続け、リアルタイムの検出変位を取得し続ける(S15)。そしてリアルタイムの検出変位と基準値との差つまり「相対変位」を算出し(S16)、これをOELD12に表示する(S17)。ユーザは、上記第1回目のSETボタン16を押し下げた後、第2回目のSETボタン16を押し下げる箇所までワークを移動させるとOELD12の現在値が変化し続けることになる。ユーザはワーク表面上のスポット光を目視しながら第2回目のSETボタン16を押し下げる箇所を探す。この間、ユーザがワークを移動させる過程において変化する上記相対変位をOELD12の表示を見ることで確認することができる。
次のステップS18において、上記相対変位がチューニング成功可能な検出段差以上であるか否かを判別する。ここに、「チューニング成功」とは、三角測距センサ200の能力との関係で、運用上支障が発生しないしきい値を自動設定できるという意味である。「チューニング成功」の限界値、上記の例の「0.5mm」は予めメモリ32に記憶されているのが良い。
ステップS18においてYES、つまり相対変位がチューニング成功可能な段差以上であるときには、OELD12の画面に、前述した三角測距センサ200を安定して運用可能なしきい値を設定できる段差である「0.5mm」を表示し、また、好ましくは不等号記号を表示してもよい。ユーザは表示の現在値が上記段差「0.5mm」より遙かに大きい値を見ることでユーザはしきい値が余裕を持って設定可能であることを知ることできる。また、表示の現在値が上記段差「0.5mm」に近い値であるときには、現在値と「0.5」とを見比べて現在値が「0.5」よりも大きな値であれば、また、上述した不等号記号を見ることで、運用上支障のないしきい値が設定可能であることを知ることができる。これによりユーザは安心して第2回目のSETボタン16を押下げて第2回目の取り込みを指示することができる。
仮に、今現在の地点では、相対変位が上記「0.5mm」よりも小さいときには、ステップS18においてNOと判断して、上記ステップS19をジャンプする。ユーザは、OELD12の画面に上記段差「0.5mm」や不等号記号が表示されていないことから、2回目のSETボタン16を押し下げるのを控えることができる。
ユーザはOELD12に「0.5mm」や不等号記号が表示されたら、安定したしきい値が設定可能であるとして、安心して第2回目のSETボタン16を押下げることができる。必要であればスポット光が当たっている地点を目視で確認した上で第2回目のSETボタン16を押下げることができる。この第2回目の押し下げがあるとステップS20からS21に進んで、第2回目のSETボタン16を押下げた地点の第2検出変位を取得し、これを第2基準位置とする。そして、この第2基準位置と前述した第1基準値との差つまり段差の値を算出する(S22)。次のステップS23において、この段差の例えば半分の値をしきい値として設定する(S23)。しきい値の設定アルゴリズムとしては、この手法に限られず、第1基準位置と第2基準位置の検出距離のいずれの場合も判定がONとなるように上下限のしきい値を設けるようなものであってもよい。
<フルオートチューニング>
ユーザは判定しきい値の設定に関し、上述した手動で行う2点チューニングと、自動で行うフルオートチューニングとを択一的に選択することができる。フルオートチューニングにおいては、ユーザがSETボタン16を押し下げ続けている最中の検出変位を算出して、この検出変位を更新しながらピーク値(ヘッド部2から遠い側のピーク値)を「第1基準値」と決定し、ボトム値(ヘッド部2に近い側のピーク値)を「第2基準値」と決定して、第1基準値と第2基準値との中間値を「しきい値」として設定する。
図16はフルオートチューニングモードでの基本的な処理を説明するためのフローチャートである。フルオートチューニングモードでは、ステップS31において、ユーザがSETボタン16を押し下げると、ワーク変位の取得が行われる(S32)。取得したワークの変位に基づいて第1、第2の基準値が決定され、この第1、第2の基準値が登録される(S33)。そして、ユーザがSETボタン16の押し下げを止めると、ステップS34からステップS35に進んで、登録されている第1、第2の基準値に基づいて判定用のしきい値が設定される。しきい値設定のアルゴリズムとしては、例えば、第1の基準値と第2の基準値の中間値をしきい値とするものや、第1の基準値と第2の基準値の判定がONとなるようにしきい値を定めるものが挙げられる。他方、SETボタン16の押し下げ操作が継続しているときには、ステップS34からステップS36に進んで第1、第2の基準値を更新する処理が実行される。
図17は、上記ステップS36(図16)の基準値更新処理の一例を説明するためのフローチャートである。基準値更新処理では、ワークの変位の取得が継続的に行われ(S361)、検出したワークの変位と第1基準値を対比して(S362)、ワークの変位が第1基準値以上のときには、ステップS363において、検出したワークの変位に基づいて第1基準値の更新が行われる。
また、ステップS364において、検出したワークの変位と第2基準値を対比して、ワークの変位が第2基準値以下のときには、ステップS365において、検出したワークの変位に基づいて第2基準値の更新が行われる。
次のステップS366において、第1基準値と第2基準値との相対変位が算出され、この算出した相対変位に基づいてチューニング成功可能な変位であるか否かの判断が行われる(S367)、算出した相対変位がチューニング成功可能な変位以上であれば、ステップS368に進んで、安定した判定しきい値を設定できることを意味する円形のキャラクタ85(図19、図20)がOELD12に表示され、また、OELD12に第1基準値と第2基準値との相対変位が表示される(S369)。
フルオートチューニングモードを選択したユーザは、OELD12に円形のキャラクタ85が表示されたことを確認することで、フルオートチューニングで自動設定されたしきい値の下で安定した運用ができることを知ることができる。そして、キャラクタ85が表示されたことを確認してSETボタン16の押し下げをやめて、新たなワーク変位データの取得を止めることで、自動設定された判定しきい値の下で安定した運用を実現できる。
光学式三角測距センサ200は、ワークの変位の測定において、「高さモード」と「距離モード」とを有し、ユーザは高さモード又は距離モードを任意に設定することができる。「高さモード」では、載置した面(基準面)からのワークの変位つまり高さが計測される。基準面としてワークの設置面に代えて、例えばワークの上面を基準面として設定してもよい。基準面よりもワークの上面が高いワークを測定したときには、OELD12に「+」のアイコンが表示され、基準面よりもワークの上面が低いときには、OELD12に「-」のアイコンが表示される。
図18は「高さモード」と「距離モード」との選択画面を示す。図18の(I)は高さモードを意味し、図18の(II)は距離モードを意味する。OELD12には、高さモード選択画面(図18の(I))と距離モード選択画面(図18の(II))が交互に表示される。高さモード選択画面(図18の(I))では、「0」(ゼロ)を付記した基準面からヘッド部2を意味するキャラクタ84に向けて伸びる矢印が表示される。他方、距離モード選択画面(図18の(II))では、「0」(ゼロ)を付記したヘッド部キャラクタ84から遠のく方向に向けて伸びる矢印が表示される。
図18の(I)及び図19の(II)に示す高さモード選択画面に基づいてユーザが高さモードを選択したときの高さモードの表示画面を図19の(I)に示す。図19の(I)において、数値「199.9」は現在値を意味する。その左隣の「+」のアイコンは、上述したように基準面よりもワークの上面が高い、つまり基準面よりもヘッド部2に近いことを意味する。数値「67.8」は判定しきい値を意味する。また、この判定しきい値の下で、安定した運用が可能であること意味する上述した円形のキャラクタ85が表示される。
図18の(II)及び図20の(II)に示す距離モード選択画面に基づいてユーザが距離モードを選択したときの距離モードの表示画面を図20の(I)に示す。図19の(I)(高さモード)と図20の(I)(距離モード)とを対比すると分かるように、距離モード(図20の(I)では、センサヘッドの位置を基準としているため、「+」のアイコン(図19の(I))が表示されない。
図19の(I)において、数値「199.9」は現在値を意味する。その左隣の「+」のアイコンは、上述したように基準面よりもワークの上面が高い、つまり基準面よりもヘッド部2に近いことを意味する。数値「67.8」は判定しきい値を意味する。また、この判定しきい値の下で、安定した運用が可能であること意味する上述した円形のキャラクタ85が表示される。
図19の(I)の高さモード及び図20の(I)の距離モードでは数値表示されているが、ユーザの選択により、これをバー表示に切り替えることができる。図21は、高さモードにおけるバー表示を示す。図22は、距離モードにおけるバー表示を示す。図21、図22に図示の数値「12.3mm」は現在値を意味する。図21の高さモードにおけるバー表示では、現在値「12.3mm」の隣に「+」のアイコンが表示される。この「+」のアイコンは、上述したように基準面よりもワークの上面が高い、つまり基準面よりもヘッド部2に近いことを意味する。
図21、図22において現在値を意味するバーBrは、高さモードの表示(図21)では基準面からヘッド部アイコン84に向けて伸びている。他方、距離モードの表示(図2)では、ヘッド部アイコン84からバーBrが伸びている。図中、「P」を含む参照符号88の縦ラインは、これまで取得した検出変位の最大値を示す。判定しきい値は、現在値のバーBrを横断する方向に延びる縦ライン90で表示される。ユーザがUP/DOWNボタン18、20を操作してしきい値の設定を変更したときには、このユーザの操作に追従して判定しきい値キャラクタ(縦ライン)90が移動する。これにより、ユーザは、OELD12の現在値のバーBr及び最大値Pの表示を見て、そして、判定しきい値キャラクタ90の位置を確認しながら判定しきい値を微調整することができる。
以上、しきい値設定に関し、2点チューニングとフルオートチューニングを説明したが、これに加えて三角測距センサ200はDATUMチューニングの機能を有していてもよい。DATUMチューニングはワークが存在しない状態でチューニングを実行して基準値を設定し、DATUMチューニング実行時以外の状態となった場合に判定をONする機能である。DATUMチューニングに基づくDATUM測定では、設定した基準値から変化があるか否かが検知される。そのため、DATUM測定によれば、反射光量の少ないワークや、多重反射するワークに対しても効果的に且つ迅速に検知することが可能である。DATUM測定に用いられる「基準値」は、DATUMチューニングによって登録することができ、また、外部入力により更新されてもよい。
<検出範囲マスク表示>
三角測距センサ200は、外乱光による影響を抑制するためにマスク機能を有しており、マスク範囲をユーザが設定することができる。図23を参照して、例えばビューポート100を通じて投受光した場合、三角測距センサ200には、ワークWの表面で測定光が反射した第1の光L(1)と、ビューポート100で反射した第2の光L(2)が入る。三角測距センサ200から見てワークW、ビューポート100との位置関係は、ワークWの方がビューポート100よりも遠い。このことから、受光部64を構成する複数の撮像素子60において、ワークWからの反射光L(1)とビューポート100からの反射光L(2)は異なる画素位置に結像する。
図24は正常時の受光波形を示す。参照符号P(1)は、ワークWからの反射光L(1)によるピークであり、参照符号P(2)は、ビューポート100からの反射光L(1)によるピークである。図24から分かるように、ワークWに関連したピークP(1)は、ビューポート100に関連したピークP(2)に比べて高いことから、正常にワークの変位を測定することができる。
図25は異常時の受光波形を示す。図25から分かるように、ビューポート100に関連したピークP(2)は、ワークWに関連したピークP(1)に比べて高いことから、ワークの変位を測定することは事実上不可能である。図25において斜線で図示する画素範囲にマスクを設定することにより、ワークWに関連したピークP(1)に基づいてワークの変位を測定することができる。
<ユーザによるマスク領域の設定>
図26は、マスク領域の設定に関する一連の処理の一例を説明するためのフローチャートである。図27はマスク領域を設定する際のOELD12の表示画面を示す。図26において、受光波形とマスク領域に基づいて画像データを作成する(S41)。OELD12の表示画面には、判定しきい値を意味する縦ライン90と、受光ピーク102が表示され、また、ヘッド部キャラクタ84が表示される。いま、OELD12の表示画面に第1、第2のピークP(O)、P(d)が現れていたとき、ユーザは、測定環境及びヘッド部2からの遠近を念頭においたときに、第2のピークP(d)が外乱光であることを認識することができる。換言すれば、第1のピークP(O)が測定光であることが理解できる。また、測定光と判定しきい値とが接近し過ぎているか否かを認識することができる。仮に、判定しきい値が接近し過ぎていると判断したときには、UP/DOWNボタン18、20を操作することにより判定しきい値を調整することができる。この調整が行われたときには、OELD12に表示のリアルタイムに判定しきい値の縦ライン90が移動する。
ステップS42において、ヘッド本体2に近い近距離側マスク領域を変更する操作が有るか否かを判定し、YES(操作有り)のときにはステップS43に進んでユーザが行った操作部402(図10)の操作に応じて近距離側マスク領域の変更が行われ、そして受光波形とマスク領域に基づいて画像データが更新される(S44)。マスク領域の変更は、例えば0.1mm単位で行うことができる。OELD12の1列分の変位量と、最小変更可能量は必ずしも1対1対応しない。ここにOELD12の1列分の変位量は、OELD12の表示部部分の大きさ(解像度)と最大検出可能範囲に依存することから、OELD12の1列分以上の変更の有無をプロセッサ68が判断して、1列分以上変更があった場合のみマスク領域の表示を変更するようにしてもよい。
受光波形の処理は、ピーク位置を取得し、取得したピーク位置をOELD12のどの位置に描画すべきかを計算する。変形例として、三角測距センサ200の最大検出可能範囲と受光波形のピーク受光量とに基づいて、受光波形をOELD12の表示領域で正規化する処理が行われる。図28において、OELD12の表示画面の斜線で図示の領域Ms(1)が近距離側マスク領域である。ユーザの操作部402の操作によって、リアルタイムに近距離側マスク領域Ms(1)が変化する。左側の(I)では、近距離側マスク領域Ms(1)の境界がヘッド部2から12.0mmであることを数値表示されている。右側の(II)では、近距離側マスク領域Ms(1)の境界がヘッド部2から30.0mmであることを数値表示されている。この数値もユーザの操作部402の操作に応じてリアルタイムに変化する。
近距離側マスク領域の設定が終わると、ステップS45からステップS46に進んで画像データを更新する。マスク領域は、この実施例では設定されていない。後に説明するオートマスク領域設定機能を備えているときには、自動で設定したマスク領域を表示するようにしてもよい。次いで、ステップS47において、ヘッド部2から遠い遠距離側マスク領域を変更する操作が有るか否かを判定し、YES(操作有り)のときにはステップS48に進んでユーザが行った操作部402の操作に応じて遠距離側マスク領域の変更が行われ、そして画像データが直ちに更新される(S49)。図29を参照して、斜線で図示の領域Ms(2)が遠距離側マスク領域である。ユーザの操作部402の操作によって、リアルタイムに遠距離側マスク領域Ms(2)が変化する。左側の(I)では、遠距離側マスク領域Ms(2)の境界がヘッド部2から45.0mmであることを数値表示されている。右側の(II)では、遠距離側マスク領域Ms(2)の境界がヘッド部2から40.0mmであることを数値表示されている。この数値もユーザの操作部402の操作に応じてリアルタイムに変化する。
近距離側マスク領域Ms(1)の境界を「下限」と呼び、遠距離側マスク領域Ms(2)の境界を「上限」と呼ぶと、ユーザはOELD12の表示を見ながら上限及び下限を任意に指定することによって確実にマスクできるようにマスク領域の設定操作を行うことができる。
後に図32を参照して説明するマスク設定では、ピーク検出距離に基づいてマスク領域Msが決定される。このように予め定められたアルゴリズムに基づいてマスク領域Msが決定された後に、ユーザの操作により、マスク領域Msを調整できるように構成するのがよい。
近距離側マスク領域Ms(1)の境界の距離、例えば「12.0mm」の数値及び遠距離側マスク領域Ms(2)の境界の距離、例えば「45.0mm」の数値は、図28、図29から分かるように、横長のOELD12の中央に寄せた位置に表示するのが好ましい。本体部4の小型化を目指した設計を行う場合、横長のOELD12の縦横寸法は限定的である。このことから、ユーザが注目するマスク領域Ms(1)、(2)の境界の距離の数値をOELD12の中央に寄せた位置に表示することで、ユーザにとって視認性が良い。
図26のフローチャートにおいて、遠距離側マスク領域の設定が終わると、ステップS50からステップS52に進んで撮像素子60の各画素から受光量を取得し、マスク設定されていない領域から受光量のピーク位置(現在のピーク位置)を取得する。そして、現在のピーク位置としきい値とを比較する(S53)。そして、次のステップS54で表示処理が行われる。この表示処理について図30、図31に基づいて次に説明する。
マスク設定表示画面は大別すると2つの表示モードが用意されている。図30は、マスク設定表示画面の具体例を示す。図30の(I)、(II)はマスク領域の境界を数値で表示する第1表示モードを示す。第1表示モード(図30の(I))は、しきい値「5.0」と、マスク領域の境界「12.3」と、近距離マスク領域を意味する「+」と、安定した運用が可能な判定しきい値が設定されていることを意味する上述の円形のキャラクタ85とを含む。図30の(II)から分かるように、第1表示モード(図30の(I))から円形のキャラクタ85の表示を省いてもよい。
図30の(III)はマスク領域を斜線で絵画的に表示する第2表示モードを示す。図示の表示例では、近距離側及び遠距離のマスク領域Ms(1)、マスク領域Ms(2)が設定されているときの表示である。第2表示モードでは、しきい値を意味する縦ラインのキャラクタ90、ヘッド部2を意味するキャラクタ84、外乱ピークを意味するキャラクタ102Pが表示される。ピークキャラクタ102Pはテレスコピックをイメージさせる形状で描画され、ピーク受光量の大小は段階的に上方に伸びるテレスコピック図形で表示される。これにより、ユーザはピークキャラクタ102Pの形状を見ることでピーク受光量の大小を感覚的に把握することができる。
図31は表示処理の一例を説明するためのフローチャートである。ステップS61において、設定されている表示モードが判定され、第1表示モードが設定されているときには、ステップS62に進んで受光波形のピークの数が1つであるか否かの判定が行われ、一つのときにはステップS63に進んで、第1表示モードの第1パターンA(図30(I))に基づいて表示画面情報が生成される。上記ステップS62において、受光波形のピークの数が複数の場合には、ステップS64に進んで、第1表示モードの第2パターンB(図30(II))に基づいて表示画面情報が生成される。また、上記ステップS61において、第2表示モードが設定されているときには、ステップS66に進んで、第2表示モード(図30(III))に基づいて表示画面情報が生成される。次のステップS65では、生成された表示画面情報に基づいてOELD12に描画される。
<自動マスク領域設定>
図32は、自動でマスク領域を設定する処理の一例を説明するためのフローチャートである。マスク領域の自動設定は、ユーザの要求によりマスク領域を本体部4の内部処理で設定する場合に限らず、上述した手動によってユーザが設定したマスク領域を修正又は変更するのに適用される。
図32を参照して、ステップS71において受光波形が取得され、次のステップS72において、受光波形からピーク検出距離が取得される。次いでステップS73において、ピーク検出距離に基づいて、当該部分をマスクすることのできるマスク領域Msが決定される。例えば、近距離側のピーク検出位置に基づき、当該位置が検出範囲の中心となるようにマスク領域を自動的に決定する。そして、受光波形と現在のマスク領域Msに基づいて画像データが生成される(S74)。これにより、マスク領域Msが自動的に設定される。ここに、マスク領域Msは、その後、任意に上下限又はマスク領域の変更などマスク領域を設定変更することが可能であってもよい。
次のステップS75において、マスク領域を変更する指示があるか否かを判定し、マスク領域を変更する指示があれば、ステップS76において、受光波形とマスク領域に基づいて画面データが更新される。次いで、ステップS77において、マスク領域を変更する操作があるか否かを判定し、マスク領域を変更するユーザの操作があれば、操作量に応じてマスク領域が変更され(S78)、そして、次のステップS79において、受光波形とマスク領域に基づいて画面データが更新される。マスク領域Msの設定が終わると、ステップS80からステップS81に進んでマスク領域Msの画素が無効画素とされる。次のステップS82において、有効画素の各画素から受光量を取得し、次のステップS83において、有効画素の受光量に基づいて受光波形が生成される(S83)。次にマスク設定されていない領域からピーク位置を取得し(S84)、このピーク位置から変位を算出する(S85)。次に、この有効画素の受光量から受光波形を生成し(S86)、この受光波形からピーク位置を取得し(S87)、このピーク位置としきい値を比較する(S88)。そして、次のステップS89で表示処理される。表示処理は図30、図31に基づいて前述したのと同じである。
図32を参照して説明したマスク自動設定は、高速応答を実現するときに効果的に用いられる。この高速応答を実現するためにマスク領域を自動設定する場合は、応答時間を担保するために、データの取得領域を制限する必要がある場合がある。この場合、ユーザによるマスク領域の変更は、例えば、自動的に設定されたマスク領域よりも、マスク領域が増加される方向、すなわち検出領域を狭める方向にのみ変更が可能であるような構成であってもよく、自動的に設定されたマスク領域を平行移動するようなものであってもよい。この場合、マスク設定された領域を無効画素とし、有効画素からの受光データを取得することによって応答時間を短縮することができる。
三角測距センサ200においてマスク設定時は、マスク領域の撮像画素を無効画素としてもよいし、マスク領域をピーク検出範囲から除外してもよい。無効画素を設定した場合、マスク領域からは受光量データを取得しない。この場合、マスク設定された領域を無効画素とし、無効画素となっていない画素、すなわち有効画素において取得される受光情報に基づいてピーク位置の取得し、当該ピーク位置に基づいてワークの変位などの測定を行っても良い。この場合、データを取得する領域が少なくなるので、高速応答を実現することが可能である。
また、マスク設定時は、全ての画素において取得される受光情報に基づいてピーク位置を取得し、取得されたピーク位置がマスク領域内であるか否かに基づいて測定を行っても良い。すなわち、取得されたピーク位置がマスク領域ではなかった場合は、当該位置をピーク位置として取得する。一方、取得されたピーク位置がマスク領域であった場合は、当該位置をピーク位置として取得しないで、第2のピーク位置(すなわち受光量が2番目の位置)を取得し、この第2のピーク位置がマスク領域であるか否かを判定する。第2のピーク位置がマスク領域ではなかった場合は、当該位置がピーク位置として取得される。
<ジャイロセンサに関する表示>
実施例の三角測距センサ200は、モーションセンサの一例としてジャイロセンサ50をヘッド部2に搭載され、このジャイロセンサ50によって、ヘッド部2の設置姿勢の変化つまり光軸変位を検出する。この処理の一例を図33に示すフローチャートに基づいて説明する。ステップS91は、三角測距センサ200のメーカが出荷時に行う初期設定の工程である。この初期設定はユーザが行うようにしてもよい。この初期設定ではジャイロセンサのサンプリング周波数や検出レンジが設定される。設定したサンプリング周波数毎つまり所定時間毎にリセットされる。
ステップS92において、ジャイロセンサから3軸の角速度情報を取得する。次のステップS93において、一定期間の3軸の角速度値を夫々平均して、3軸の現在の角速度情報を生成し、3軸の角速度情報から例えば最も大きな値を現在値とする(S94)。次のステップS95において、現在値がしきい値以上であるか否かを判別しYESつまり現在値がしきい値以上であるときには、ヘッド部2の光軸が変位して検出精度に影響を及ぼすとして、ステップS96に進んで、ON出力及び経過時間表示のための計測を開始する。これにより、例えば動作表示灯70、76、14が赤色で点滅する。これにより、ユーザはヘッド部2の設置に関して異常が発生したことを知ることができる。このON出力及び光軸変位が発生してからの経過時間は本体部4のOELD12に表示される。この表示例は後に説明する。
ステップS96のON出力及び経過時間表示のための計測は、例えばSETボタン16にクリア処理機能を割り付けている場合には、ユーザがSETボタン16を押し下げてクリア操作するまで継続される(S97、S98)。このクリア処理は、PLC10(図1)等の外部機器からの信号入力によるクリア指示によって行ってもよい。経過時間のタイマのクリア処理は、カウントの停止とカウント値のリセットとを含む。
図34はユーザの選択によりOELD12に表示されるジャイロバーモニタ表示の例を示す。図34において参照符号120はジャイロセンサのキャラクタを示す。ジャイロキャラクタ120は互いに対抗する矢印付きの2つの円弧で構成され、ジャイロセンサが角速度を検出している最中は、図35に図示するように例えば3つのコマが順次表示される。これにより2つの矢印付きの円弧がクルクルと回るキャラクタ120をユーザが見ることで、ジャイロセンサが角速度を検出している最中であることを知ることができる。
図36のジャイロバーモニタ表示において、参照符号122はバー形式で示す現在値を示す。この現在値バーは左から右に延びる程、大きな値であることを意味している。参照符号136はしきい値を示す縦ラインである。図示のバーモニタ表示において、参照符号126は、ヘッド部2がこれまでに取得した角度変化(光軸変位)の最大値を示す縦ラインのキャラクタを示す。しきい値を示す縦ラインのキャラクタ136との差別化のために、最大値ライン126に例えば「P」というキャラクタ128を表示するのが好ましい。
光軸変位に関するしきい値はユーザがUPボタン18及び/又はDOWNボタン20を操作することにより変更することができる。この変更はリアルタイムに、しきい値表示ライン124に反映され、しきい値を例えば大きくする操作が行われたときにはしきい値キャラクタ124の縦ラインが左に移動する。
ユーザのしきい値変更を簡便化するために、しきい値の大小の設定レベルを例えば5段階のクラスに分けて、僅かな光軸変位に敏感に反応するクラス1から比較的鈍感に反応するクラス5の中からユーザが選択できるようにするのが好ましい。ユーザが選択したクラスを例えば「1」乃至「5」のキャラクタ130で表示するのが好ましい。図36の表示例は、しきい値ラインキャラクタ124の上にクラスキャラクタ110を表示する例を示す。図示のしきい値ラインキャラクタ124の上の「5」のクラスキャラクタ110は、ユーザが選択したクラスが「5」であることを示している。
ジャイロセンサ50が検出した角速度に基づいて算出した変位量がしきい値よりも大きいときには、異常発生(光軸変位発生)の異常発生信号が生成されて出力され、又は、異常発生信号の出力に代えて、好ましくはOELD12の表示が通常の運用表示から図37に図示のアラーム表示に直ちに切り替わる。アラーム表示は「位置ずれ検知」を文字で表示した第1アラーム表示モードと、ジャイロセンサが検出した角速度に基づく変位量がしきい値以上であることを検出した時点からの経過時間を表示する第2アラーム表示モードを含む。この第1、第2のアラーム表示モードを交互に表示するのが好ましい。
<ペアリング表示>
図38はペアリングに関連した表示例を示す。この表示例は、実施例の三角測距センサ200に限定されない。一般的に変位センサに適用可能である。ペアリングとは、対を構成するヘッド部2と本体部4とが正常に連携動作することを意味する。ヘッド部2と本体部4とのペアリング中は、「PAIRING」の文字表示と共にヘッド部のキャラクタ84が表示され、ペアリングに成功すると「PAIRING」の文字が強調されると共にヘッド部のキャラクタ84に正常に連携動作することを意味するキャラクタ140が表示される。これをユーザが見ることで対のヘッド部2と本体部4とが正常にペアリングされたことを確認できる。例えば、数多くのヘッド部2が設置される環境下において、本体部4のOELD12に上記のペアリング表示を行うことで、対のヘッド部2と本体部4との対応に関する混乱を防止できる。