(57)【特許請求の範囲】
【請求項１】
被検物の位置に応じた信号を検出し、前記被検物の位置を算出する位置検出部と、
前記位置の情報を通信ラインで接続された上位装置に送信する通信装置とを有し、
前記通信装置は、
前記上位装置からコマンドデータを受信して、前記コマンドデータが双方向通信要求コマンドのときに、前記コマンドデータにより要求された前記位置情報を前記上位装置に送信する双方向通信モードと、
前記双方向通信モードにおいて受信された前記コマンドデータが単方向通信要求コマンドのときに、前記位置情報を所定の通信サイクルで前記上位装置に送信する単方向送信処理を実行する単方向通信モードと、
前記双方向通信モードにおいて受信された前記コマンドデータが疑似単方向通信要求コマンドのときに、前記位置情報を所定の通信サイクルで、所定の送信回数だけ前記上位装置に送信する疑似単方向送信処理を実行後、所定の時間だけ前記コマンドデータの受信を待ち、前記コマンドデータを受信したときは前記双方向通信モードに移行し、前記コマンドデータが受信されないときは、前記疑似単方向送信処理を繰り返す疑似単方向通信モードとを有することを特徴とするエンコーダ。
【請求項２】
前記単方向通信要求コマンド、若しくは、前記疑似単方向通信要求コマンドが、前記通信サイクルの長さを設定するパラメータを有し、
前記パラメータで設定された前記通信サイクルにより前記単方向送信処理若しくは前記疑似単方向送信処理を実行するように構成されたことを特徴とする請求項１に記載のエンコーダ。
【請求項３】
不揮発性メモリを有し、
前記単方向通信要求コマンド、若しくは、前記疑似単方向通信要求コマンドで設定された前記通信サイクルを前記不揮発性メモリに保持することを特徴とする請求項２に記載のエンコーダ。
【請求項４】
前記疑似単方向通信要求コマンドが、前記送信回数を設定するパラメータを有し、
前記パラメータで設定された前記送信回数により前記疑似単方向送信処理を実行するように構成されたことを特徴とする請求項１に記載のエンコーダ。
【請求項５】
不揮発性メモリを有し、
前記疑似単方向通信要求コマンドで設定された前記送信回数を前記不揮発性メモリに保持するように構成されたことを特徴とする請求項４に記載のエンコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンコーダに関する。
【背景技術】
【０００２】
エンコーダは、被検体の回転角度や移動長さを計測するものであり、ロボットや工作機械等のセンサとして用いられている。このエンコーダで計測された計測値（角度や長さに関する情報であり、以降の説明では「エンコーダデータ」と呼ぶ）は、通信ラインを介してシリアル通信を行う通信装置により制御装置等の上位装置に送信される。シリアル通信の形態としては、単方向通信若しくは双方向通信が用いられており、単方向通信では、エンコーダはエンコーダデータをシリアルデータに変換し、ある一定サイクル時間毎にデータを出力する。一方、双方向通信では、上位装置からのコマンド信号を受信して、そのコマンド信号の内容に応じて対応するエンコーダデータを送信する構成を取っているのが一般的である（例えば、特許文献１参照）。
【０００３】
このようなエンコーダを用いて被検物の状態をサンプリングする場合、上位装置からエンコーダデータを取得できるサンプリング時間はエンコーダデータの通信時間に制限される。たとえば、図３（ａ）に示すように単方向通信の場合の通信サイクルＴ1は、エンコーダデータＥＤの送信時間ＴDとウエイト時間ＴWにより決定され、図３（ｂ）に示すように双方向通信の場合の通信サイクルＴ2は、コマンドデータＣＤの送信時間ＴC、エンコーダデータＥＤの送信時間ＴDおよびウエイト時間ＴW1，ＴW2により決定される。
【０００４】
近年、ロボットや工作機械の動作が高速化し、それに伴い、エンコーダによる状態のサンプリング間隔を短くしたいという要求があり、そのため、エンコーダに用いられる通信装置におけるシリアル通信の高速化が望まれている。
【０００５】
【特許文献１】特開２００４−３１７２６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上位装置がエンコーダから取得する情報は、従来の角度や長さの計測だけでなく、このエンコーダのステータス情報、温度情報、あるいは、メモリ情報など情報量が増えている。そのため、単方向通信の場合は、データ量の増加により通信時間が増加するためサンプリング間隔を短くすることができない。一方、双方向通信の場合は、上位装置からのリクエスト信号（図３（ｂ）におけるコマンドデータ）に応じてエンコーダから出力する情報を選択可能であるが、一回の通信サイクル内に上位装置からのコマンドデータとエンコーダからのエンコーダデータの送受信が行われるため、全体としての通信サイクルを短くすることができない。このように従来のエンコーダでは、エンコーダデータの通信に時間がかかってしまうという問題があった。
【０００７】
本発明はこのような課題に鑑みてなされたものであり、通信を高速化することができる通信装置、および、この通信装置が実装されたエンコーダを提供することを目的とする。
【課題を解決するための手段】
【０００８】
前記課題を解決するために、本発明に係るエンコーダは、被検物の位置に応じた信号を検出し、被検物の位置を算出する位置検出部（例えば、実施形態における発光部１、回転円盤２，および、受光部３）と、位置の情報を通信ラインで接続された上位装置に送信する通信装置（例えば、実施形態における信号処理部５）とから構成される。そして、通信装置は、上位装置からコマンドデータを受信して、このコマンドデータが双方向通信要求コマンドのときに、このコマンドデータにより要求された位置情報を上位装置に送信する双方向通信モードと、双方向通信モードにおいて受信されたコマンドデータが単方向通信要求コマンドのときに、位置情報を所定の通信サイクルで上位装置に送信する単方向送信処理を実行する単方向通信モードと、双方向通信モードにおいて受信されたコマンドデータが疑似単方向通信要求コマンドのときに、位置情報を所定の通信サイクルで、所定の送信回数だけ上位装置に送信する疑似単方向送信処理を実行後、所定の時間だけコマンドデータの受信を待ち、コマンドデータを受信したときは双方向通信モードに移行し、コマンドデータが受信されないときは、疑似単方向送信処理を繰り返す疑似単方向通信モードとを有して構成される。
【０００９】
なお、本発明に係るエンコーダは、単方向通信要求コマンド、若しくは、疑似単方向通信要求コマンドが、通信サイクルの長さを設定するパラメータを有し、このパラメータで設定された通信サイクルにより単方向送信処理若しくは疑似単方向送信処理を実行するように構成されることが好ましい。このとき、不揮発性メモリを有し、単方向通信要求コマンド、若しくは、疑似単方向通信要求コマンドで設定された通信サイクルをこの不揮発性メモリに保持することが好ましい。
【００１０】
あるいは、本発明に係るエンコーダは、疑似単方向通信要求コマンドが、送信回数を設定するパラメータを有し、パラメータで設定された送信回数により疑似単方向送信処理を実行するように構成されることが好ましい。このときも、不揮発性メモリを有し、疑似単方向通信要求コマンドで設定された送信回数を不揮発メモリに保持するように構成されることが好ましい。
【発明の効果】
【００１１】
本発明に係るエンコーダを以上のように構成すると、通信を高速化できる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の好ましい実施形態について図面を参照して説明する。まず、本発明に係る通信装置（後述する信号処理部５）が実装されるエンコーダ１０の一例として任意の回転体の回転量を検出するアブソリュートエンコーダについて図１および図２を用いて説明する。
【００１３】
エンコーダ１０は、発光部１、回転円盤２、受光部３、波形整形回路４、信号処理部５，送受信ドライバ部６、不揮発性メモリ７、および、温度センサ８から構成され、送受信ドライバ部６に接続されたシリアル通信ライン９を介して上位装置２０に接続されている。
【００１４】
発光部１と受光部３とは対向して配置されており、発光部１から受光部３に照射される光を遮るように回転円盤２が配置されている。この回転円盤２は微小なスリットが円周方向に形成されており、また回転軸は回転量を検出する被検体（図示せず）に接続されて、この被検体とともに回転する。そのため、回転円盤２が回転することにより発光部１から出た光が回転円盤２に遮光される、もしくは、スリットを透過することにより、受光部３で受光される光量が変化する。この光量の変化を受光部３で検出し、波形整形回路４を経由して信号処理部５に送り、この信号処理部５で回転円盤２の位置（角度）、回転方向、回転数等（これらを総称して以降の説明では「位置情報５ａ」と呼ぶ）が演算処理され、この信号処理部５内に保持される。なお、このような回転円盤２の構成や角度等の検出方法は、例えば、特開平１０−２０６１８８号公報に開示されている。
【００１５】
また、信号処理部５は、必要に応じて不揮発性メモリ７、および、温度センサ８等にアクセスし、これらの温度センサ８または不揮発性メモリ７から読み出された情報を、温度情報５ｃおよびメモリ情報５ｄとして保持する。さらに、この信号処理部５は各種信号の異常検出（例えば、受光部３で受光した光から得られる信号にエラーがある等の検出）を行っており、それらの情報がステータス情報５ｂとして保持される。そして、このようなエンコーダデータ５ａ〜５ｄは、送信処理部５から送受信ドライバ部６により通信ライン９を介して上位装置２０に送信される。
【００１６】
それでは、図２を用いてこのエンコーダ１０の送信処理部５がエンコーダデータ５ａ〜５ｄを上位装置２０に送信するときの通信フローについて説明する。エンコーダ１０の主電源が投入されると、双方向通信モードＭ１となり上位装置２０からのコマンドデータの受信を待つコマンド受信モードＡとなる（ステップＳ１００）。ここで、双方向通信モードＭ１とは、図３（ｂ）に示すように、上位装置２０から送信されたコマンドデータ（双方向通信要求コマンド）ＣＤを受信し、そのコマンドデータＣＤの種類に応じたエンコーダデータＥＤを上位装置２０に送信するモードである。すなわち、エンコーダ１０は、コマンド受信モードＡのときに、コマンドデータＣＤを受信すると、そのコマンドデータＣＤがどのコマンドに対応しているのかを検査して対応する処理に移行する（ステップＳ１０１）。図２の通信フローにおいては、コマンドデータがコマンドＡの場合は、エンコーダデータＡ（例えば、位置情報５ａ）を送信し（ステップＳ１０２）、コマンドＢの場合は、エンコーダデータＢ（例えば、ステータス情報５ｂ）を送信し（ステップＳ１０３）、コマンドＣの場合は、エンコーダデータＣ（例えば、温度情報５ｃ）を送信する（ステップＳ１０４）。そして、コマンドＡ〜Ｃに対応するエンコーダデータＡ〜Ｃを送信した後は、コマンド受信モードＡ（Ｓ１００）に戻り、双方向通信モードＭ１が継続される。
【００１７】
ところで、このコマンド受信モードＡ（Ｓ１００）において、上位装置２０からコマンドＰ（単方向通信要求コマンド）が送信されると、エンコーダ１０は単方向通信モードＭ２に移行し（ステップＳ１０１）、単方向送信処理（エンコーダデータＰを送信する処理）が実行される（ステップＳ１０５）。この単方向通信モードＭ１は、所定のデータのみ（例えば、位置情報５ａとステータス情報５ｂ）をエンコーダデータＰとして所定の通信サイクルＴ1で上位装置２０に送信し続けるモードである（図３（ａ））。本実施例におけるエンコーダ１０においては、この単方向通信モードＭ２に移行すると、電源を再投入しない限りこのモードから抜けることはできない。
【００１８】
一方、コマンド受信モードＡ（Ｓ１００）において、上位装置２０からコマンドＱ（疑似単方向通信要求コマンド）が送信されると、疑似単方向通信モードＭ３に移行する（ステップＳ１０１）。疑似単方向通信モードＭ３においては、エンコーダ１０は、エンコーダデータＱを所定の回数（ｎ回）だけ連続して単方向送信を行う疑似単方向送信処理が実行される（ステップＳ１０７）。このときのエンコーダデータＱも所定のデータのみが所定の通信サイクルＴ1で上位装置２０に送信される。そして所定の回数の送信が終わると、一旦、コマンド受信モードＢに移行し、上位装置２０からのコマンドデータの受信を待つ（ステップＳ１０８）。このコマンド受信モードＢ（Ｓ１０８）では、エンコーダ１０は、上位装置２０からコマンドデータを受信するか、若しくは、所定の時間が経過してタイムアウトするとコマンド内容の判断処理に移行する（ステップＳ１０９）。この判断処理（Ｓ１０９）においては、コマンド受信モードＢ（Ｓ１０８）でタイムアウトしたときは、上述の疑似単方向送信処理（Ｓ１０７）に移行し、所定のコマンドが上位装置２０から送信されたときは、双方向通信処理Ｍ１、すなわち、コマンド受信モードＡ（Ｓ１００）に移行する。
【００１９】
なお、疑似単方向送信処理（Ｓ１０７）において、エンコーダ１０は、コマンド受信モードＢに移行する直前のエンコーダデータＱ（ｎ回目に送信されるエンコーダデータＱ）にコマンド受信モードＢに移行することを示すフラグを立てる。すなわち、このエンコーダデータの所定のビットを、コマンド受信モードＢに移行するときは”１”に設定し、それ以外の場合は”０”に設定する。これにより、上位装置２０は、エンコーダ１０がいつコマンド受信モードＢに移行するのかをこのビットを見て判断することができる。
【００２０】
このように、エンコーダ１０に疑似単方向通信モードＭ３を設けることにより、単方向通信の形態を取り通信サイクルを可能な限り短くして被検物の状態のサンプリング量を多く（サンプリング間隔を短く）することができる。また、同時に、所定の間隔でコマンド受信可能として必要に応じて双方向通信の形態（双方向通信モードＭ１）に戻り、必要なエンコーダデータをこのエンコーダ１０から取得することが可能となる。また、再度、コマンドＱを送信することにより、疑似単方向通信モードＭ３に切り替えることもできる。
【００２１】
双方向通信モードＭ１は、通常はシステムの起動時や自己診断に用いられ、位置情報以外のエンコーダデータを上位装置２０が受信することができる。単方向通信モードＭ２若しくは疑似単方向通信モードＭ３では、上述のようにエンコーダデータＰ，Ｑは、例えば、ロボットの制御に必要な所定のデータ（位置情報５ａとステータス情報５ｂ）のみを送信するように構成することにより、通信サイクルを可能な限り短くすることができ、それにより、このロボットの高速な動作が可能となる。
【００２２】
なお、上位装置２０から送信されるコマンドデータに、単方向通信モードＭ２および疑似単方向通信モードＭ３における通信サイクル時間（例えば、図３におけるＴ1）を設定するパラメータを設けることにより、上位装置２０から通信サイクルを任意に変化させることができる。なおこの通信サイクルは、システムが動作中でも変更することができる。また、疑似単方向通信モードＭ３における繰り返し回数ｎを設定するパラメータをコマンドデータに設けることにより、連続で何回エンコーダデータを送信するかの設定も上位装置２０から可能となり、疑似単方向通信時の通信タイミングを変化させることができる。これらの設定情報（パラメータ値）は、不揮発性メモリ７に格納され、信号処理部５は起動時にこの情報を読み込んで通信サイクルや繰り返し回数を設定するように構成することも可能である。なお、これらのパラメータは、不揮発性メモリ７に直接アクセスするコマンドを使用して設定しても構わない。
【００２３】
以上説明したように、このエンコーダ１０は、双方向通信モードＭ１から単方向通信モードＭ２若しくは疑似単方向通信モードＭ３に移行させることができるため、通信サイクル時間の短縮化が可能となり、通信の無駄時間を無くして上位装置２０とエンコーダ１０との間で効率的なデータのやり取りを行うことができる。なお、以上の説明においては、被検体の回転角度等を計測するアブソリュートエンコーダを例に説明したが、本発明がこの実施例に限定されることはなく、リニアエンコーダ等に用いても良いし、その他の計測装置において上位装置に計測データを送信する場合に用いても良い。
【図面の簡単な説明】
【００２４】
【図１】本発明に係るエンコーダの構成を示すブロック図である。
【図２】本発明に係るエンコーダの通信フローを示すフローチャートである。
【図３】シリアル通信の通信サイクルを示す説明図であり、（ａ）は単方向シリアル通信の場合であり、（ｂ）は双方向シリアル通信の場合である。
【符号の説明】
【００２５】
１  発光部（位置検出部）
２  回転円盤（位置検出部）
３  受光部（位置検出部）
５  信号処理部
７  不揮発性メモリ
９  通信ライン
１０  エンコーダ
２０  上位装置
Ｍ１  双方向通信モード
Ｍ２  単方向通信モード
Ｍ３  疑似単方向通信モード
【図１】
0004805629.tif 000002
【図２】
0004805629.tif 000003
【図３】
0004805629.tif 000004