(57)【特許請求の範囲】
【請求項１】
測定情報が予め記憶されている測定情報記憶部と、
コマンド信号を受信する受信部と、
前記受信部が受信したコマンド信号に応じて、該受信したコマンド信号に該当する測定情報を前記測定情報記憶部から読み出す測定情報読出部と、
前記測定情報読出部が読み出した測定情報に対して、シリアル通信処理のエラー検出に用いられる巡回冗長検査用のチェックコードである部分巡回冗長検査用チェックコードを生成する部分巡回冗長検査用チェックコード生成部と、
前記測定情報読出部が読み出した測定情報と、前記部分巡回冗長検査用チェックコード生成部が生成した部分巡回冗長検査用チェックコードとに対して、シリアル通信処理のエラー検出に用いられる巡回冗長検査用のチェックコードである全体巡回冗長検査用チェックコードを生成する全体巡回冗長検査用チェックコード生成部と、
前記測定情報読出部が読み出した測定情報と、前記部分巡回冗長検査用チェックコード生成部が生成した部分巡回冗長検査用チェックコードと、前記全体巡回冗長検査用チェックコード生成部が生成した全体巡回冗長検査用チェックコードとをシリアル通信により送信する送信部と、
を有することを特徴とするエンコーダ装置。
【請求項２】
前記部分巡回冗長検査用チェックコード生成部が、
予め定められた第１の多項式に基いて前記部分巡回冗長検査用チェックコードを生成し、
前記全体巡回冗長検査用チェックコード生成部が、
前記第１の多項式とは異なる予め定められた第２の多項式に基いて前記全体巡回冗長検査用チェックコードを生成する、
ことを特徴とする請求項１に記載のエンコーダ装置。
【請求項３】
前記部分巡回冗長検査用チェックコード生成部が、
前記受信部が受信したコマンド信号に応じて、前記測定情報読出部が読み出した測定情報のうち予め定められたビット領域の情報に対しての前記部分巡回冗長検査用チェックコードを生成する、
ことを特徴とする請求項１または請求項２に記載のエンコーダ装置。
【請求項４】
前記部分巡回冗長検査用チェックコード生成部が、
前記受信部が受信したコマンド信号に応じて、前記生成する部分巡回冗長検査用チェックコードのビット長を変更する、
ことを特徴とする請求項１から請求項３のいずれかに記載のエンコーダ装置。
【請求項５】
前記全体巡回冗長検査用チェックコード生成部が、
前記受信部が受信したコマンド信号に応じて、前記生成する全体巡回冗長検査用チェックコードのビット長を変更する、
ことを特徴とする請求項１から請求項４のいずれかに記載のエンコーダ装置。
【請求項６】
前記エンコーダ装置が、
前記測定情報読出部が読み出した測定情報のうち、それぞれに予め定められたビット領域の情報に対してそれぞれの前記部分巡回冗長検査用チェックコードを生成する複数の前記部分巡回冗長検査用チェックコード生成部、
を有し、
前記全体巡回冗長検査用チェックコード生成部が、
前記測定情報読出部が読み出した測定情報と、前記複数の部分巡回冗長検査用チェックコード生成部がそれぞれ生成した部分巡回冗長検査用チェックコードとに対して前記全体巡回冗長検査用チェックコードを生成し、
前記送信部が、
前記測定情報読出部が読み出した測定情報と、前記複数の部分巡回冗長検査用チェックコード生成部がそれぞれ生成した部分巡回冗長検査用チェックコードと、前記全体巡回冗長検査用チェックコード生成部が生成した全体巡回冗長検査用チェックコードとを送信する、
ことを特徴とする請求項１から請求項５のいずれかに記載のエンコーダ装置。
【請求項７】
前記エンコーダ装置が、
前記受信部が受信したコマンド信号に応じて、該受信したコマンド信号に対応する予め定められたヘッダ情報を生成するヘッダ情報生成部、
を有し、
前記全体巡回冗長検査用チェックコード生成部が、
前記ヘッダ情報生成部が生成したヘッダ情報と、前記測定情報読出部が読み出した測定情報と、前記部分巡回冗長検査用チェックコード生成部が生成した部分巡回冗長検査用チェックコードとに対して前記全体巡回冗長検査用チェックコードを生成し、
前記送信部が、
前記ヘッダ情報生成部が生成したヘッダ情報と、前記測定情報読出部が読み出した測定情報と、前記部分巡回冗長検査用チェックコード生成部が生成した部分巡回冗長検査用チェックコードと、前記全体巡回冗長検査用チェックコード生成部が生成した全体巡回冗長検査用チェックコードとを送信する、
ことを特徴とする請求項１から請求項５のいずれかに記載のエンコーダ装置。
【請求項８】
エンコーダ装置において用いられるシリアル通信方法であって、
受信したコマンド信号に応じて、該受信したコマンド信号に該当する測定情報を、測定情報が予め記憶されている測定情報記憶部から読み出す測定情報読出手順と、
前記測定情報読出手順で読み出した測定情報に対して、シリアル通信処理のエラー検出に用いられる巡回冗長検査用のチェックコードである部分巡回冗長検査用チェックコードを生成する部分巡回冗長検査用チェックコード生成手順と、
前記測定情報読出手順で読み出した測定情報と、前記部分巡回冗長検査用チェックコード生成手順で生成した部分巡回冗長検査用チェックコードとに対して、シリアル通信処理のエラー検出に用いられる巡回冗長検査用のチェックコードである全体巡回冗長検査用チェックコードを生成する全体巡回冗長検査用チェックコード生成手順と、
前記測定情報読出手順で読み出した測定情報と、前記部分巡回冗長検査用チェックコード生成手順で生成した部分巡回冗長検査用チェックコードと、前記全体巡回冗長検査用チェックコード生成手順で生成した全体巡回冗長検査用チェックコードとをシリアル通信により送信する送信手順と、
を有することを特徴とするシリアル通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンコーダ装置に関し、特に、エンコーダ装置のシリアル通信方法に関する。
【背景技術】
【０００２】
従来より、エンコーダ装置は産業用ロボット等の制御システムにおける回転位置変位を検出するセンサとして広く利用されている。このようなエンコーダ装置において検出される位置データなどの各種データは、上位制御装置との間で、双方向のシリアル通信方式によってデータ伝送が行なわれている。このようなエンコーダ装置において用いられるシリアル通信方式の技術として、例えば、特許文献１が知られている。
【０００３】
ところで、近年、国際安全規格の動向に伴い安全への関心が高まる中、ＦＡ（Factory Automation）分野における安全制御システムなどに組み込まれるエンコーダ装置に用いられるシリアル通信方式などの伝送方式に対しても、安全性のニーズが高まってきている。なお、伝送方式の安全性を定量的に評価する方法として、たとえば、国際規格ＩＥＣ６１７８４−３などが知られている。
【特許文献１】特開２００４−３１７２６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、このように伝送の安全性が重要視されている状況に鑑みなされたもので、その目的は、より信頼性の高いシリアル通信をすることが可能であるエンコーダ装置およびシリアル通信方法を提供することにある。
【課題を解決するための手段】
【０００５】
本発明を例示する第１の態様に従えば、測定情報が記憶されている測定情報記憶部と、コマンド信号を受信する受信部と、前記受信部が受信したコマンド信号に応じて、該受信したコマンド信号に該当する測定情報を前記測定情報記憶部から読み出す測定情報読出部と、前記測定情報読出部が読み出した測定情報に対して、シリアル通信処理のエラー検出に用いられる巡回冗長検査用のチェックコードである部分巡回冗長検査用チェックコードを生成する部分巡回冗長検査用チェックコード生成部と、前記測定情報読出部が読み出した測定情報と、前記部分巡回冗長検査用チェックコード生成部が生成した部分巡回冗長検査用チェックコードとに対して、シリアル通信処理のエラー検出に用いられる巡回冗長検査用のチェックコードである全体巡回冗長検査用チェックコードを生成する全体巡回冗長検査用チェックコード生成部と、前記測定情報読出部が読み出した測定情報と、前記部分巡回冗長検査用チェックコード生成部が生成した部分巡回冗長検査用チェックコードと、前記全体巡回冗長検査用チェックコード生成部が生成した全体巡回冗長検査用チェックコードとをシリアル通信により送信する送信部と、を有することを特徴とするエンコーダ装置が提供される。
【０００６】
本発明を例示する第２の態様に従えば、エンコーダ装置において用いられるシリアル通信方法であって、受信したコマンド信号に応じて、該受信したコマンド信号に該当する測定情報を、測定情報が予め記憶されている測定情報記憶部から読み出す測定情報読出手順と、前記測定情報読出手順で読み出した測定情報に対して、シリアル通信処理のエラー検出に用いられる巡回冗長検査用のチェックコードである部分巡回冗長検査用チェックコードを生成する部分巡回冗長検査用チェックコード生成手順と、前記測定情報読出手順で読み出した測定情報と、前記部分巡回冗長検査用チェックコード生成手順で生成した部分巡回冗長検査用チェックコードとに対して、シリアル通信処理のエラー検出に用いられる巡回冗長検査用のチェックコードである全体巡回冗長検査用チェックコードを生成する全体巡回冗長検査用チェックコード生成手順と、前記測定情報読出手順で読み出した測定情報と、前記部分巡回冗長検査用チェックコード生成手順で生成した部分巡回冗長検査用チェックコードと、前記全体巡回冗長検査用チェックコード生成手順で生成した全体巡回冗長検査用チェックコードとをシリアル通信により送信する送信手順と、を有することを特徴とするシリアル通信方法が提供される。
【発明の効果】
【０００７】
この発明によれば、より信頼性の高いシリアル通信をすることが可能であるエンコーダ装置およびシリアル通信方法を提供することができる。
【発明を実施するための最良の形態】
【０００８】
以下、図面を参照して、本発明の実施の形態について説明する。図１は、この発明の一実施形態によるエンコーダ装置が用いられるエンコーダ装置システムの構成を示す概略ブロック図である。
【０００９】
このエンコーダ装置システムにおいては、ｎ個（ｎ≧１の整数）のエンコーダ装置１−１〜ｎと上位制御装置２とが、シリアル通信ライン３を介して互いに接続されている。複数のエンコーダ装置１−１〜ｎは、たとえば、ロボットを駆動する複数のモータに対してそれぞれ搭載されており、各モータの回転位置変位を検出している。なお、この複数のエンコーダ装置１−１〜ｎは、識別情報によりそれぞれが予め識別されている。
【００１０】
上位制御装置２は、シリアル通信ライン３を介してエンコーダ装置１−１〜ｎにコマンド信号を送信し、送信したコマンド信号に応じて、エンコーダ装置１−１〜ｎからモータの回転位置変位をエンコーダ信号として受信する。
【００１１】
また、上位制御装置２は、エンコーダ装置１−１〜ｎから各モータが検出した回転位置変位を受信し、受信した回転位置変位に基づいて、エンコーダ装置１−１〜ｎが有する各モータを制御することにより、ロボットの動作制御を行う。例えば、上位制御装置２は、各モータを所定量回転させる制御を行う。
【００１２】
シリアル通信ライン３は、たとえば、一対のＳＤ＋３ａとＳＤ−３ｂとの差動伝送信号（たとえば、ＲＳ４８５規格準拠）によって構成され、ＳＤ＋３ａとＳＤ−３ｂ間には終端抵抗４が接続される。また、上位制御装置２より一対の電源線ＶＣＣとＧＮＤが各エンコーダに対し接続されている。すなわち、エンコーダ装置１−１〜ｎの電源は、上位制御装置２が供給する。
【００１３】
なお、上述したエンコーダ信号およびコマンド信号は、それぞれデジタルデータであり、上位制御装置２とエンコーダ装置１−１〜ｎとの間で、シリアル通信ライン３を介してシリアル通信により送信される信号である。
【００１４】
ここで、このエンコーダ信号には、後述するように、シリアル通信処理のエラー検出に用いられる巡回冗長検査（ＣＲＣ（Cyclical Redundancy Check））用のチェックコードが含まれている。本実施形態においては、巡回冗長検査用のチェックコードとして、送信するエンコーダ信号全体に対する巡回冗長検査用のチェックコードである全体巡回冗長検査用チェックコードのみならず、送信するエンコーダ信号の中で重要な情報、たとえば、各モータが検出した回転位置変位の情報のみに対する巡回冗長検査用のチェックコードである部分巡回冗長検査用チェックコードも含んでいる。
【００１５】
上位制御装置２は、エンコーダ装置１−１〜ｎからエンコーダ信号を受信した場合、受信したエンコーダ信号に含まれている巡回冗長検査用のチェックコードにより、受信したエンコーダ信号が正常に受信されたか否かについて検証する。
【００１６】
ここで、本実施形態においては、上述したように受信したエンコーダ信号には、巡回冗長検査用のチェックコードとして全体巡回冗長検査用チェックコードのみならず部分巡回冗長検査用チェックコードも含まれている。そのため、上位制御装置２は、受信したエンコーダ信号に含まれている全体巡回冗長検査用チェックコードにより、受信したエンコーダ信号全体が正常に受信されたか否かについて検証することができるのみならず、受信したエンコーダ信号に含まれている部分巡回冗長検査用チェックコードにより、受信したエンコーダ信号の中で重要な情報についても、受信が正常にされたか否かについて検証することができる。
【００１７】
次に、図２を用いて、エンコーダ装置１−１〜ｎの一例としての構成について説明する。なお、図１のエンコーダ装置１−１〜ｎは、それぞれ同様の構成を有しているため、以降においては、エンコーダ装置１−１〜ｎのうちいずれか１つをエンコーダ装置１として説明する。
【００１８】
エンコーダ装置１が有する回転円板１２は、たとえば、このエンコーダ装置１が対応するモータの回転軸の回転変位、または、このモータにより駆動される部材の回転変位または位置変位により、直接またはギア装置などの動力伝達機構を介して、回転変位されるようになっている。
【００１９】
そのため、このエンコーダ装置１において、この回転円板１２の回転位置変位を検出することにより、このエンコーダ装置１と対応付けられているモータの回転位置変位、または、このモータにより駆動される部材の回転位置変位または位置変位を、検出することが可能となっている。
【００２０】
このエンコーダ装置１において、発光部１１が発光した光は、回転円板１２のスリットを経て受光部１３に入光する。受光部１３からの出力信号は、波形整形回路１４で波形整形されて信号処理部１５に入力する。信号処理部１５は、所定の演算処理を施し回転円板１２の回転位置変位を検出する。
【００２１】
たとえば、回転円板１２には微小なスリットが円周方向に形成されており、回転により回転位置変位が生じると、この円周方向に形成されている微小なスリットを、発光部１１から発光された光が、透過または遮光する。信号処理部１５は、この回転円板１２の回転による光の変化を受光部１３により検知し、波形整形回路１４および信号処理部１５を経て、回転円板１２の回転位置変位を検出する。
【００２２】
この信号処理部１５が検出した回転位置変位は、送受信ドライバ部１６を介してエンコーダ信号として、上位制御装置２へシリアル通信ライン３を介して送信される。このエンコーダ信号の送信の詳細については、後述する。
【００２３】
また、信号処理部１５には、不揮発性メモリ１７が接続されている。この不揮発性メモリ１７には、たとえば、エンコーダ装置１を識別するための識別情報が予め記憶されている。また、信号処理部１５には、温度センサ１８が接続されている。この温度センサ１８は、エンコーダ装置１の動作温度、または、エンコーダ装置１が設置されているモータの温度を温度情報として測定している。
【００２４】
また、信号処理部１５は、必要に応じて、または、予め定められた所定の時間毎に、不揮発性メモリ１７または温度センサ１８にアクセスし、識別情報または温度情報を読み出して、信号処理部１５が内部に有する記憶部１５０に記憶させる。また、信号処理部１５は、各種信号の異常検出を行っており、異常検出した情報をステータス情報として、信号処理部１５が内部に有する記憶部１５０に記憶させる。
【００２５】
また、信号処理部１５は、所定の演算処理を施して検出した回転円板１２の回転位置変位を、位置情報として、信号処理部１５が内部に有する記憶部１５０に記憶させる。
【００２６】
なお、エンコーダ装置１は、上位制御装置２からコマンド信号を受信したことに応じて、この受信したコマンド信号に該当する情報を記憶部１５０から読み出し、送受信ドライバ部１６を介して、読み出した情報をエンコーダ信号として、シリアル通信ライン３を通じて上位制御装置２へ、シリアル通信により送信する。
【００２７】
次に、図３を用いて、信号処理部１５の一例としての構成について説明する。ここでは、信号処理部１５の構成において、上位制御装置２とエンコーダ装置１との通信に関する構成のみについて説明する。なお、以降においては、位置情報または温度情報を、測定情報と称して説明する。
【００２８】
信号処理部１５は、上記に説明した記憶部１５０として、識別情報が予め記憶されている識別情報記憶部１５１と、位置情報や温度情報が測定情報として予め記憶されている測定情報記憶部１５２と、ステータス情報が記憶されているステータス情報記憶部１５３と、を有する。
【００２９】
また、この信号処理部１５は、受信部１５４と、ヘッダ情報生成部１５５と、測定情報読出部１５６と、部分巡回冗長検査用チェックコード生成部１５７と、全体巡回冗長検査用チェックコード生成部１５８と、送信部１５９と、を有する。
【００３０】
受信部１５４は、上位制御装置２がシリアル通信ライン３を介して送信したコマンド信号を、送受信ドライバ部１６を介して受信する。
【００３１】
ヘッダ情報生成部１５５は、受信部１５４が受信したコマンド信号に応じて、該受信したコマンド信号に対応する予め定められたヘッダ情報を生成する。また、このヘッダ情報生成部１５５は、たとえば、識別情報記憶部１５１から識別情報を読み出し、この読み出した識別情報をヘッダ情報に含めて、予め定められた形式のヘッダ情報を生成する。
【００３２】
また、このヘッダ情報生成部１５５は、受信部１５４が受信したコマンド信号、または、コマンド信号に含まれているコマンドを含めて、予め定められた形式のヘッダ情報を生成する。また、このヘッダ情報生成部１５５は、ステータス情報記憶部１５３からステータス情報を読み出し、読み出したステータス情報を含めて、予め定められた形式のヘッダ情報を生成する。
【００３３】
測定情報読出部１５６は、受信部１５４が受信したコマンド信号に応じて、該受信したコマンド信号に該当する測定情報を測定情報記憶部１５２から読み出す。
【００３４】
部分巡回冗長検査用チェックコード生成部１５７は、測定情報読出部１５６が読み出した測定情報に対して、シリアル通信処理のエラー検出に用いられる巡回冗長検査用のチェックコードである部分巡回冗長検査用チェックコードを生成する。この部分巡回冗長検査用チェックコード生成部１５７は、たとえば、予め定められた第１の多項式に基いて部分巡回冗長検査用チェックコードを生成する。
【００３５】
全体巡回冗長検査用チェックコード生成部１５８は、ヘッダ情報生成部１５５が生成したヘッダ情報と、測定情報読出部１５６が読み出した測定情報と、部分巡回冗長検査用チェックコード生成部１５７が生成した部分巡回冗長検査用チェックコードとに対して、シリアル通信処理のエラー検出に用いられる巡回冗長検査用のチェックコードである全体巡回冗長検査用チェックコードを生成する。
この全体巡回冗長検査用チェックコード生成部１５８は、たとえば、予め定められた第２の多項式に基いて全体巡回冗長検査用チェックコードを生成する。この第２の多項式は、たとえば、上述した第１の多項式とは異なる多項式である。
【００３６】
送信部１５９は、ヘッダ情報生成部１５５が生成したヘッダ情報と、測定情報読出部１５６が読み出した測定情報と、部分巡回冗長検査用チェックコード生成部１５７が生成した部分巡回冗長検査用チェックコードと、全体巡回冗長検査用チェックコード生成部１５８が生成した全体巡回冗長検査用チェックコードとを、予め定められた順序で、送受信ドライバ部１６を介してシリアル通信方式によりエンコード信号として、シリアル通信ライン３を通じて上位制御装置２に送信する。
【００３７】
次に、図４を用いて、図３を用いて説明した信号処理部１５を有するエンコーダ装置１の一例としての動作について説明する。ここでは、信号処理部１５の動作を中心にして、エンコーダ装置１の動作について説明する。
【００３８】
まず、受信部１５４は、上位制御装置２からのコマンド信号を、送受信ドライバ部１６を介して受信したか否かを判定する（ステップＳ４１）。ステップＳ４１で、受信部１５４がコマンド信号を受信していない場合には、受信部１５４は、コマンド信号を受信するまで、この処理を繰り返す。
【００３９】
ステップＳ４１で受信部１５４がコマンド信号を受信した場合には、ヘッダ情報生成部１５５は、受信部１５４が受信したコマンド信号に応じて、該受信したコマンド信号に対応する予め定められたヘッダ情報を生成する（ステップＳ４２）。
【００４０】
次に、測定情報読出部１５６は、受信部１５４が受信したコマンド信号に応じて、該受信したコマンド信号に該当する測定情報を測定情報記憶部１５２から読み出す（ステップＳ４３）。
【００４１】
次に、部分巡回冗長検査用チェックコード生成部１５７が、測定情報読出部１５６が読み出した測定情報に対して、シリアル通信処理のエラー検出に用いられる巡回冗長検査用のチェックコードである部分巡回冗長検査用チェックコードを生成する（ステップＳ４４）。
【００４２】
次に、全体巡回冗長検査用チェックコード生成部１５８は、ヘッダ情報生成部１５５が生成したヘッダ情報と、測定情報読出部１５６が読み出した測定情報と、部分巡回冗長検査用チェックコード生成部１５７が生成した部分巡回冗長検査用チェックコードとに対して、シリアル通信処理のエラー検出に用いられる巡回冗長検査用のチェックコードである全体巡回冗長検査用チェックコードを生成する（ステップＳ４５）。
【００４３】
次に、送信部１５９は、ヘッダ情報生成部１５５が生成したヘッダ情報と、測定情報読出部１５６が読み出した測定情報と、部分巡回冗長検査用チェックコード生成部１５７が生成した部分巡回冗長検査用チェックコードと、全体巡回冗長検査用チェックコード生成部１５８が生成した全体巡回冗長検査用チェックコードとを、予め定められた順序で、送受信ドライバ部１６を介してシリアル通信方式によりエンコード信号として、シリアル通信ライン３を通じて上位制御装置２に送信する（ステップＳ４６）。
【００４４】
その後、エンコード信号を受信した上位制御装置２は、受信したエンコード信号に含まれているヘッダ情報と測定情報と部分巡回冗長検査用チェックコードとに対して、上述した第２の多項式と同じ多項式を用いて巡回冗長検査用チェックコードを生成する。そして、上位制御装置２は、この生成した巡回冗長検査用チェックコードと、受信したエンコード信号に含まれている全体巡回冗長検査用チェックコードとが一致するか否かを判定することにより、受信したエンコード信号が正常に受信されているか否かを判定する。
【００４５】
また、エンコード信号を受信した上位制御装置２は、受信したエンコード信号に含まれている測定情報に対して、上述した第１の多項式と同じ多項式を用いて巡回冗長検査用チェックコードを生成する。そして、上位制御装置２は、この生成した巡回冗長検査用チェックコードと、受信したエンコード信号に含まれている部分巡回冗長検査用チェックコードとが一致するか否かを判定することにより、受信したエンコード信号に含まれている測定情報が正常に受信されたか否かを判定する。
【００４６】
次に、図５を用いて、エンコーダ装置１が上位制御装置２にシリアル通信ライン３を介してシリアル通信により送信するエンコード信号の、一例としてのフォーマット構成について説明する。ここでは、エンコーダ装置１が送信するエンコーダ信号のフォーマット構成として、固定ビット長のフィールドを複数有する場合の構成について説明する。
【００４７】
たとえば、エンコーダ装置１は、コマンド信号としてコマンドＰを上位制御装置２から受信した場合は、コマンドＰに対応するデータＰ（例えば、位置情報）をエンコーダ情報として上位制御装置２へ送信する。次に、たとえば、エンコーダ装置１は、コマンド信号としてコマンドＡを上位制御装置２から受信した場合は、コマンドＡに対応するデータＡ（例えば、温度情報）を上位制御装置２へ送信する（図５（ａ）参照）。
【００４８】
すなわち、上述したように、エンコーダ装置１は上位制御装置２からコマンド信号を受信すると、受信したコマンド信号の種類に応じて所定の情報をエンコード信号として、シリアル通信ライン３を介して上位制御装置２へ出力する。
【００４９】
このエンコーダ装置１が送信するエンコード信号は、フィールド単位で構成されており、インフォメーションフィールドＩＦ、データフィールドＤＦ０〜ＤＦ２、および、ＣＲＣフィールドによって構成されている（図５（ｂ）参照）。なお、データフィールドＤＦ０〜ＤＦ２のフィールド数は、コマンド信号の種類、または、コマンド信号の種類に応じて送信する測定情報のビット数に対応している。ここでは、データフィールドのフィールド数は、データフィールドＤＦ０〜ＤＦ２の３つである場合について説明する。
【００５０】
なお、このインフォメーションフィールドＩＦに含まれる情報が、上述したヘッダ情報に対応する。また、データフィールドＤＦ０〜ＤＦ２に含まれる情報が、上述した測定情報に対応する。また、ＣＲＣフィールドに含まれる情報が、上述した部分巡回冗長検査用チェックコードと全体巡回冗長検査用チェックコードとに対応する。
【００５１】
また、エンコーダ装置１の送信部１５９は、各フィールドを予め定められた順序により送信する。たとえば、エンコーダ装置１は、インフォメーションフィールドＩＦ、データフィールドＤＦ０〜ＤＦ２、ＣＲＣフィールドの順に送信する。
【００５２】
次に、各フィールドのビット構成について説明する。一例としてのＣＲＣフィールドのビット構成を、図５（ｃ）に示す。また、一例としてのインフォメーションフィールドＩＦのビット構成を、図６（ａ）に示す。また、一例としてのデータフィールドＤＦ０〜ＤＦ２のビット構成を、図６（ｂ）に示す。
【００５３】
ここでは、各フィールドのビット長は、図５（ｃ）、図６（ａ）および図６（ｂ）に示すように、１８ビットに固定されており、各フィールドのスタートビットには２進数で０が予め設定されており、各フィールドのストップビットには２進数で１が予め設定されている。このように各フィールドにおいて、ビット長とスタートビットとストップビットとは共通であるため、以降においては、各フィールドにおいて、異なる点のみについて説明する。
【００５４】
インフォメーションフィールドＩＦは、図６（ａ）に示すように、３ビットのシンクコード、３ビットのエンコーダアドレス、５ビットのコマンドコード、１ビットの０固定ビット、および、４ビットのエンコーダステータスビットを有する。インフォメーションフィールドＩＦ内において、これらの情報のビット位置は、図６（ａ）に示すように、予め定められている。
【００５５】
シンクコードは、エンコーダ装置１と上位制御装置２との間の通信において、同期のために用いられる情報であり、ここでは、２進数で００１に固定されている。エンコーダアドレスは、エンコーダを識別する情報であり、上述した識別情報に対応する情報である。０固定ビットは、２進数で０に予め定められた情報である。エンコーダステータスビットは、上述したステータス情報に対応する情報である。
【００５６】
コマンドデータは、エンコーダ装置１が受信したコマンド信号に含まれていたコマンドの情報である。このコマンドデータにより、たとえば、上位制御装置２は、受信したエンコード信号について、データフィールドＤＦ０〜ＤＦ２に含まれている情報の種類、たとえば、位置情報であるのか温度情報であるのかを、判定することができる。また、このコマンドデータにより、たとえば、上位制御装置２は、受信したエンコード信号について、データフィールドＤＦ０〜ＤＦ２のフィールド長など、エンコード信号のフィールド構成を判定することが可能である。
【００５７】
データフィールドＤＦ０〜ＤＦ２は、それぞれ、図６（ｂ）に示すように、１６ビットのデータビットを有する。このデータビットは、上述した測定情報に対応する情報である。
【００５８】
ＣＲＣフィールドには、ＣＲＣ２コードとＣＲＣ１コードとが含まれている。このＣＲＣ２コードは、上述した部分巡回冗長検査用チェックコードに対応し、ＣＲＣ１コードは、上述した全体巡回冗長検査用チェックコードに対応する。ここでは、ＣＲＣ２コードは８ビットであり、ＣＲＣ１コードは８ビットである。
【００５９】
このＣＲＣ２コードは、送信において安全に送信したいデータに対してのみの巡回冗長検査用チェックコードであり、ここでは、データフィールドＤＦ０〜ＤＦ２に対しての巡回冗長検査用チェックコードである。また、ＣＲＣ１コードは、送信するデータ全てに対しての巡回冗長検査用チェックコードであり、ここでは、インフォメーションフィールドＩＦと、データフィールドＤＦ０〜ＤＦ２と、ＣＲＣ２コードとに対しての巡回冗長検査用チェックコードである（図５（ｄ）参照）。
【００６０】
この、ＣＲＣ１コードとＣＲＣ２コードとを生成する生成多項式は、それぞれ異なる多項式を用いる（図５（ｄ）参照）。なお、各フィールドに対して、スタートビットとストップビットとを除いた情報について、ＣＲＣ１コードとＣＲＣ２コードとが、それぞれ生成される。
【００６１】
図５と図６とを用いて説明したように、本実施形態においては、ＣＲＣフィールドには、ＣＲＣ１コードとＣＲＣ２コードとを有する構成となっている。そして、このＣＲＣフィールド内のＣＲＣ１コードによって、全送信データの安全性をチェックすることが可能になっている。すなわち、このＣＲＣ１コードは、ＣＲＣ２コードを含む送信データ全体のＣＲＣチェック（ＣＲＣを用いたチェック）に用いられる。このＣＲＣ１コードに対して、ＣＲＣ２コードは、送信データの一部であるデータフィールドＤＦ０〜ＤＦ２のみに対してのＣＲＣチェックに用いられる。
【００６２】
以上のような構成をとることにより、本実施形態においては、データフィールドＤＦ０〜ＤＦ２内のデータには、ＣＲＣ１コードとＣＲＣ２コードとで、二重にＣＲＣチェックがされることになり、データフィールドＤＦ０〜ＤＦ２内のデータに対しての、伝送上における誤り検出能力を大きく向上させることが可能となる。
【００６３】
また、ＣＲＣ１コードとＣＲＣ２コードとを生成する生成多項式が異なるため、データフィールドＤＦ０〜ＤＦ２内のデータについては、ＣＲＣ１コードとＣＲＣ２コードとで、二重にＣＲＣチェックがされるとともに、異なる生成多項式によりＣＲＣチェックがされることになるため、伝送上における誤り検出能力を大きく向上させることが可能となる。
【００６４】
また、ＣＲＣ１コードについてＣＲＣチェックをすることにより、ＣＲＣ２コードについてのＣＲＣチェックもされることになるため、ＣＲＣ２コード自体に対しての伝送上における誤り検出が可能となる。そして、この送信において誤りのないと判定されたＣＲＣ２コードを用いて、データフィールドＤＦ０〜ＤＦ２内のデータについてのＣＲＣチェックを行うことができるため、更に、伝送上における誤り検出能力を大きく向上させることが可能となる。
【００６５】
なお、上記においては、エンコーダ装置１は、ＣＲＣ１コードとＣＲＣ２コードとを生成し、生成したＣＲＣ１コードとＣＲＣ２コードとをＣＲＣフィールドに入力してエンコード信号として送信するものとして説明したが、これに限られるものではない。たとえば、エンコーダ装置１は、ＣＲＣ１コードのみを生成し、生成したＣＲＣ１コードのみをＣＲＣフィールドに入力してエンコード信号として送信してもよい。なお、エンコーダ装置１が、ＣＲＣ１コードとＣＲＣ２コードとを生成するのか、または、ＣＲＣ１コードのみを生成するのかは、エンコーダ装置１が受信したコマンド信号に応じて、エンコーダ装置１の信号処理部１５が判定するようにしてもよい。
【００６６】
たとえば、エンコーダ装置１の信号処理部１５は、受信したコマンド信号に応じて送信する測定情報を変更するが、送信する測定情報の重要度に基づいて、ＣＲＣ１コードとＣＲＣ２コードとを生成して送信するか、または、ＣＲＣ１コードのみを生成して送信するかを判定する。この判定は、たとえば、信号処理部１５の部分巡回冗長検査用チェックコード生成部１５７が行う。すなわち、部分巡回冗長検査用チェックコード生成部１５７が、受信部１５４が受信したコマンド信号に応じて、部分巡回冗長検査用チェックコードを生成するか否かを判定する。
【００６７】
図７を用いて、ＣＲＣ１コードのみを送信する場合の、一例としてのフォーマット構成について説明する。ここでは、エンコーダ装置１は、コマンド信号としてコマンドＡを上位制御装置２から受信し、コマンドＡに対応するデータＡ（例えば、位置情報）をエンコーダ情報として上位制御装置２へ送信する。次に、エンコーダ装置１は、コマンド信号としてコマンドＢを上位制御装置２から受信し、コマンドＢに対応するデータＢを上位制御装置２へ送信する（図７（ａ）参照）。
【００６８】
ここでは、このデータＡ（例えば、位置情報）に対するエンコーダ情報において、データフィールドのフィールド数は、データフィールドＤＦ０〜ＤＦ１の２つであるとする（図７（ｂ）参照）。図７（ｂ）および図７（ｃ）に示すように、インフォメーションフィールドＩＦとデータフィールドＤＦ０〜ＤＦ１とは、図５および図６に示したインフォメーションフィールドＩＦとデータフィールドＤＦ０〜ＤＦ２とに対比して、フィールドの構成としては、データフィールドのフィールド数が異なる点を除いては同様である。
【００６９】
なお、ＣＲＣフィールドについては、図５（ｃ）に示したＣＲＣフィールドにおいては、前半の８ビットがＣＲＣ１コードであり、後半の８ビットがＣＲＣ２コードであったのに対して、図７（ｃ）に示すＣＲＣフィールドにおいては、前半の８ビットがデータビットであり、後半の８ビットがＣＲＣ２コードである。
【００７０】
すなわち、ＣＲＣフィールドにおいて、前半の８ビットが、図５（ｃ）に示すＣＲＣフィールドにおいてはＣＲＣ１コードであり、図７（ｃ）に示すＣＲＣフィールドにおいてはデータビットである点が異なる。なお、このデータビットは、データフィールドＤＦ０〜１と同様の情報である。
【００７１】
このように、エンコード信号において、ＣＲＣ２コードを含めずＣＲＣ１コードのみとすることにより、エンコード信号における送信データ（この場合、データビット）の割合が増大することにより、送信におけるデータの送信効率が向上する効果がある。
【００７２】
また、上記においては、測定情報のうち、部分巡回冗長検査用チェックコードを生成する対象としてのビット領域は、予め定められているものとして説明したが、これに限られるものではない。たとえば、部分巡回冗長検査用チェックコード生成部１５７が、受信部１５４が受信したコマンド信号に応じて、測定情報のうち、部分巡回冗長検査用チェックコードを生成する対象として予め定められたビット領域を変更するようにしてもよい。
【００７３】
たとえば、図６に示したようにデータフィールドＤＦ０〜ＤＦ２がある場合に、コマンドに応じて、データフィールドＤＦ０〜ＤＦ１に対してのみＣＲＣ２コードを生成することや、データフィールドＤＦ０のみに対してＣＲＣ２コードを生成することも可能である。このようにすることにより、データフィールド内の情報において、より重要なビット領域にある情報に対してのＣＲＣ２コードが生成されるため、重要な情報に対して、伝送上における誤り検出能力を大きく向上させることが可能となる。
【００７４】
また、上記においては、部分巡回冗長検査用チェックコードのビット長が固定であるものとして説明したが、これに限られるものではない。たとえば、部分巡回冗長検査用チェックコード生成部１５７が、受信部１５４が受信したコマンド信号に応じて、生成する部分巡回冗長検査用チェックコードのビット長を変更するようにしてもよい。
【００７５】
ここで、一般には、チェックコードのビット長を長くすることにより、エラーチェックの検出率が高くなる。そのため、受信したコマンド信号に応じて、すなわち、送信する情報の重要度に応じて、より重要な送信情報については、長いビット長を有する部分巡回冗長検査用チェックコードを生成することにより、よりエラーチェックの検出率を向上させることが可能となる。逆に、部分巡回冗長検査用チェックコードのビット長を短くすることにより、データの送信効率が向上する効果がある。
【００７６】
また、全体巡回冗長検査用チェックコード生成部１５８が、受信部１５４が受信したコマンド信号に応じて、生成する全体巡回冗長検査用チェックコードのビット長を変更するようにしてもよい。これにより、部分巡回冗長検査用チェックコードのビット長を変更する場合と同様の効果がある
【００７７】
また、エンコーダ装置１が、測定情報読出部１５６が読み出した測定情報のうち、それぞれに予め定められたビット領域の情報に対してそれぞれの部分巡回冗長検査用チェックコードを生成する複数の部分巡回冗長検査用チェックコード生成部１５７を有するようにする。
また、全体巡回冗長検査用チェックコード生成部１５８が、測定情報読出部１５６が読み出した測定情報と、複数の部分巡回冗長検査用チェックコード生成部１５７がそれぞれ生成した部分巡回冗長検査用チェックコードとに対して全体巡回冗長検査用チェックコードを生成するようにする。
そして、送信部１５９が、測定情報読出部１５６が読み出した測定情報と、複数の部分巡回冗長検査用チェックコード生成部１５７がそれぞれ生成した部分巡回冗長検査用チェックコードと、全体巡回冗長検査用チェックコード生成部１５８が生成した全体巡回冗長検査用チェックコードとを送信するようにするようにする。
【００７８】
このようにすることにより、たとえば、図６に示したようにデータフィールドＤＦ０〜ＤＦ２がある場合に、複数の部分巡回冗長検査用チェックコード生成部１５７は、たとえば、データフィールドＤＦ０、データフィールドＤＦ１、および、データフィールドＤＦ２に対して、それぞれの部分巡回冗長検査用チェックコードを生成することが可能である。これにより、たとえば、各データフィールドに対しての部分巡回冗長検査用チェックコードがあるために、エラーチェックの検出率を向上させることが可能となる。
【００７９】
なお、図２と図３とを用いて説明した信号処理部１５と送受信ドライバ部１６とにおいて、信号処理部１５の受信部１５４と送受信ドライバ部１６とを一体としてもよいし、信号処理部１５の送信部１５９と送受信ドライバ部１６とを一体としてもよい。また、送受信ドライバ部１６と信号処理部１５とを一体としてもよい。
【００８０】
なお、図２における信号処理部１５は専用のハードウェアにより実現されるものであってもよく、また、この信号処理部１５はメモリおよびＣＰＵ（中央演算装置）により構成され、信号処理部１５の機能を実現するためのプログラムをメモリにロードして実行することによりその機能を実現させるものであってもよい。
【００８１】
また、記憶部１５０は、ハードディスク装置や光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のような揮発性のメモリ、あるいはこれらの組み合わせにより構成されるものとする。
【００８２】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図面の簡単な説明】
【００８３】
【図１】この発明の一実施形態によるエンコーダ装置が用いられるエンコーダ装置システムの構成を示すブロック図である。
【図２】この発明の一実施形態によるエンコーダ装置の構成を示すブロック図である。
【図３】図２の信号処理部の構成を示すブロック図である。
【図４】エンコーダ装置の動作を示すフローチャートである。
【図５】第１の場合におけるエンコード信号の一例としてのフィールド構成を示す図である。
【図６】図５のフィールド内のビット構成を示す図である。
【図７】第２の場合におけるエンコード信号の一例としてのフィールド構成を示す図である。
【符号の説明】
【００８４】
１…エンコーダ装置、２…上位制御装置、３…シリアル通信ライン、４…終端抵抗、１１…発光部、１２…回転円板、１３…受光部、１４…波形整形回路、１５…信号処理部、１６…送受信ドライバ部、１７…不揮発性メモリ、１８…温度センサ、１５０…記憶部、１５１…識別情報記憶部、１５２…測定情報記憶部、１５３…ステータス情報記憶部、１５４…受信部、１５５…ヘッダ情報生成部、１５６…測定情報読出部、１５７…部分巡回冗長検査用チェックコード生成部、１５８…全体巡回冗長検査用チェックコード生成部、１５９…送信部
【図１】
0005104523.tif 000002
【図２】
0005104523.tif 000003
【図３】
0005104523.tif 000004
【図４】
0005104523.tif 000005
【図５】
0005104523.tif 000006
【図６】
0005104523.tif 000007
【図７】
0005104523.tif 000008