JP2016218867A - エンコーダ、コントローラ、モータ制御システム、ロボット制御システム、ロボット、データ送信方法、及び情報処理方法 - Google Patents

エンコーダ、コントローラ、モータ制御システム、ロボット制御システム、ロボット、データ送信方法、及び情報処理方法 Download PDF

Info

Publication number
JP2016218867A
JP2016218867A JP2015104867A JP2015104867A JP2016218867A JP 2016218867 A JP2016218867 A JP 2016218867A JP 2015104867 A JP2015104867 A JP 2015104867A JP 2015104867 A JP2015104867 A JP 2015104867A JP 2016218867 A JP2016218867 A JP 2016218867A
Authority
JP
Japan
Prior art keywords
additional information
rotation
transmission
unit
transmission data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015104867A
Other languages
English (en)
Other versions
JP6274153B2 (ja
Inventor
小川 邦彦
Kunihiko Ogawa
邦彦 小川
慶太 尾郷
Keita Ogo
慶太 尾郷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yaskawa Electric Corp
Original Assignee
Yaskawa Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yaskawa Electric Corp filed Critical Yaskawa Electric Corp
Priority to JP2015104867A priority Critical patent/JP6274153B2/ja
Priority to US15/160,230 priority patent/US10072948B2/en
Publication of JP2016218867A publication Critical patent/JP2016218867A/ja
Application granted granted Critical
Publication of JP6274153B2 publication Critical patent/JP6274153B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D5/00Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
    • G01D5/12Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means
    • G01D5/244Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable using electric or magnetic means influencing characteristics of pulses or pulse trains; generating pulses or pulse trains
    • G01D5/24457Failure detection
    • G01D5/24461Failure detection by redundancy or plausibility
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D5/00Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable
    • G01D5/26Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light
    • G01D5/32Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light with attenuation or whole or partial obturation of beams of light
    • G01D5/34Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light with attenuation or whole or partial obturation of beams of light the beams of light being detected by photocells
    • G01D5/347Mechanical means for transferring the output of a sensing member; Means for converting the output of a sensing member to another variable where the form or nature of the sensing member does not constrain the means for converting; Transducers not specially adapted for a specific variable characterised by optical transfer means, i.e. using infrared, visible, or ultraviolet light with attenuation or whole or partial obturation of beams of light the beams of light being detected by photocells using displacement encoding scales
    • G01D5/3473Circular or rotary encoders

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Transmission And Conversion Of Sensor Element Output (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)
  • Manipulator (AREA)

Abstract

【課題】生成するのに複数の送信周期を要するような情報であっても、1回転内の回転位置に付加して送信可能なエンコーダの送信方法を提供する。
【解決手段】エンコーダ40の回転位置センサは、モータの回転軸の1回転内の回転位置を検出する。第1付加情報生成部420は、少なくともデータの送信周期よりも長い周期で第1付加情報を生成する。識別情報生成部440は、少なくとも第1付加情報が送信されることを識別可能な識別情報を生成する。送信部450は、少なくとも1回転内の回転位置を含む送信データを送信周期で送信し、識別情報及び第1付加情報を含む第1送信データを含む送信データを送信する。
【選択図】図3

Description

本発明は、エンコーダ、コントローラ、モータ制御システム、ロボット制御システム、ロボット、データ送信方法、及び情報処理方法に関する。
特許文献1には、複数のエンコーダの各々で得られた情報をまとめた一括データを送信するシステムにおいて、位置情報は重要度が高いので、送信周期ごとに全軸分を一括データに含めて送信し、時間情報や温度情報は重要度が低いので、送信周期ごとに一部の軸のものだけを一括データに含めて輪番送信する技術が記載されている。
特開2002−044758号公報
本発明が解決しようとする課題は、生成するのに複数の送信周期を要するような情報であっても、1回転内の回転位置に付加して送信可能にすることである。
本発明の一側面に係るエンコーダは、モータの回転軸の1回転内の回転位置を検出する回転位置センサと、少なくともデータの送信周期よりも長い周期で第1付加情報を生成する第1付加情報生成部と、少なくとも前記第1付加情報が送信されることを識別可能な識別情報を生成する識別情報生成部と、少なくとも前記1回転内の回転位置を含む送信データを前記送信周期で送信する送信部と、を有し、前記送信部は、前記識別情報及び前記第1付加情報を含む第1送信データを含む送信データを送信する。
また、本発明の一側面に係るエンコーダは、前記モータの回転軸の回転数を検出する回転数検出部を更に有し、前記第1付加情報には、前記回転数が含まれるようにしてよい。
また、本発明の一側面に係るエンコーダは、前記第1付加情報生成部は、前記第1付加情報に含まれる情報に対し、誤り検出符号を付加する第1の誤り検出符号付加部を有するようにしてよい。
また、本発明の一側面に係るエンコーダは、前記誤り検出符号は、CRC値であるようにしてよい。
また、本発明の一側面に係るエンコーダは、前記第1送信データに含まれる前記回転位置は、前記回転数検出部により前記回転数が検出されたタイミングで取得された回転位置であるようにしてよい。
また、本発明の一側面に係るエンコーダは、前記第1送信データの送信毎に異なる値となるテストカウンタを生成するテストカウンタ生成部を更に有し、前記第1送信データには、前記テストカウンタが含まれるようにしてよい。
また、本発明の一側面に係るエンコーダは、データの送信周期より短い周期で、前記エンコーダの状態に関する情報を含む第2付加情報を生成する第2付加情報生成部を更に有し、前記送信データには、前記第2付加情報を含む第2送信データが含まれ、前記送信部には、少なくとも、前記第1送信データ及び前記第2送信データの何れを送信するか選択する送信データ選択部が含まれるようにしてよい。
また、本発明の一側面に係るエンコーダは、前記送信データ選択部は、前記第1付加情報生成部により、前記第1付加情報が生成されたことに基づいて、前記第1送信データを選択するようにしてよい。
また、本発明の一側面に係るエンコーダは、前記送信部は、前記送信データに含まれる情報に対し、誤り検出符号を付加する第2誤り検出符号付加部を有するようにしてよい。
また、本発明の一側面に係るエンコーダは、前記誤り検出符号は、CRC値であるようにしてよい。
また、本発明の一側面に係るコントローラは、モータの回転軸の1回転内の回転位置を含む送信データであって、少なくとも当該送信データに第1付加情報が含まれることを識別可能な識別情報と、前記第1付加情報を含む第1送信データを含む送信データを前記モータのエンコーダから受信する受信部と、前記識別情報に基づいて、前記第1付加情報が含まれる場合に前記第1付加情報を用いた情報処理を行う第1付加情報処理部と、を有する。
また、本発明の一側面に係るコントローラは、前記第1付加情報処理部は、前記回転位置により前記回転軸の回転数を取得する第1回転数取得部と、前記第1付加情報に含まれる回転数を取得する第2回転数取得部と、前記第1回転数取得部により取得された前記回転数と、前記第2回転数取得部により取得された前記回転数と、を比較する比較部と、を含むようにしてよい。
また、本発明の一側面に係るコントローラは、モータに対する制御出力を決定するモータ制御部と、前記モータ制御部が使用する回転位置を複数の前記送信データの中から選択する回転位置選択部と、を有し、前記回転位置選択部は、前記第1送信データでない前記送信データより、前記回転位置を選択するようにしてよい。
また、本発明の一側面に係るコントローラは、前記第1回転数取得部は、過去に受信した前記第1送信データに含まれる前記回転位置より前記回転数を取得するようにしてよい。
また、本発明の一側面に係るモータ制御システムは、上記の何れかに記載のエンコーダと、上記の何れかに記載のコントローラと、を有する。
また、本発明の一側面に係るロボット制御システムは、上記に記載のモータ制御システムと、ロボットと、を有する。
また、本発明の一側面に係るロボットは、上記の何れかに記載のエンコーダを有する。
また、本発明の一側面に係るデータ送信方法は、モータの回転軸の1回転内の回転位置を検出し、少なくともデータの送信周期よりも長い周期で第1付加情報を生成し、少なくとも前記第1付加情報が送信されることを識別可能な識別情報を生成し、少なくとも前記1回転内の回転位置を含む送信データを送信する、データ送信方法であって、前記送信データには、前記識別情報及び前記第1付加情報を含む第1送信データが含まれる。
また、本発明の一側面に係る情報処理方法は、モータの回転軸の1回転内の回転位置を含む送信データであって、少なくとも当該送信データに第1付加情報が含まれることを識別可能な識別情報と、前記第1付加情報を含む第1送信データを含む送信データを前記モータのエンコーダから受信し、前記識別情報に基づいて、前記第1付加情報が含まれる場合に前記第1付加情報を用いた情報処理を行う。
上記発明によれば、生成するのに複数の送信周期を要するような情報であっても、1回転内の回転位置に付加して送信可能になる。
実施形態に係るモータ制御システムの物理構成を示すブロック図である。 送信データのデータ格納例を示す図である。 モータ制御システムの機能ブロック図である。 モータ制御システムで実行される処理の流れを示す図である。 モータ制御システムで実行される処理の流れを示す図である。 ロボットシステムの一例を示す図である。
[1.実施形態]
本発明の発明者の見地によれば、エンコーダが生成するのに時間を要する情報をコントローラに送信しようとする場合、送信周期内にこの情報の計算が完了しなければ、エンコーダはコントローラに対して何も情報を送信することができない。そこで本発明の発明者は、生成するのに複数の送信周期を要するような情報であっても、1回転内の回転位置に付加して送信可能にするために鋭意研究開発を行った結果、新規かつ独創的なモータ制御システム等に想到した。実施形態では、このモータ制御システム等を詳細に説明する。
[2.モータ制御システムの物理構成]
図1は、実施形態に係るモータ制御システムの物理構成を示すブロック図である。図1に示すように、モータ制御システム1は、コントローラ10、モータ制御装置20、モータ30、及びエンコーダ40を含み、各機器は伝送路により接続されている。
コントローラ10は、モータ制御システム1全体の動作を制御するコンピュータである。例えば、コントローラ10は、所定のタイミングでモータ制御装置20やエンコーダ40にコマンドを送信したり、モータ制御装置20やエンコーダ40からデータを受信したりする。
コントローラ10は、第1プロセッサ11A、第2プロセッサ11B、第1通信制御部12A、第2通信制御部12B、及びメモリ13を含む。即ち、本実施形態では、コントローラ10は、プロセッサと通信制御部の組み合わせが2系統存在している。
第1プロセッサ11A及び第2プロセッサ11Bの各々は、CPUや、マイクロコントローラ等の任意の汎用の集積回路であってよい。第1プロセッサ11A及び第2プロセッサ11Bは、図示しない作業用RAM(Random Access Memory)を有するようにしてよい。
第1通信制御部12A及び第2通信制御部12Bの各々は、一般的な通信用集積回路である。例えば、第1通信制御部12A及び第2通信制御部12Bの各々は、ASIC(Application Specific Integrated Circuit)等の専用の集積回路により構成されてよい。第1通信制御部12A及び第2通信制御部12Bの各々は、外部機器と通信するための通信インタフェースである接続ポートを含む。
メモリ13は、一般的な情報記憶媒体である。メモリ13は、不揮発性メモリであり、例えば、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)、フラッシュメモリ、及びハードディスク等である。メモリ13は、プログラムや各種データを記憶する。
モータ制御装置20は、モータ30へ電流・電圧等を出力するアンプを制御するコンピュータである。一般的に、サーボモータを制御するモータ制御装置20は、サーボコントローラ又はサーボアンプなどと呼ばれるが、本実施形態でいうモータ30にはサーボモータが含まれるため、モータ制御装置20にはサーボコントローラが含まれる。なお、モータ制御装置20は、コントローラ10と同様のプロセッサ、通信制御部、及びメモリを含んでいてよい。
エンコーダ40は、モータ30の位置を検出するセンサである。エンコーダ40は、インクリメンタル型であってもよいし、アブソリュート型であってもよい。エンコーダ40は、コントローラ10から受信したコマンドを実行したり、コマンドの実行結果をコントローラ10に送信したりする。
エンコーダ40は、プロセッサ41、通信制御部42、メモリ43、光学式ディスク44A、光学センサ45A、磁気式ディスク44B、及び磁気センサ45Bを含む。エンコーダ40のプロセッサ41、通信制御部42、及びメモリ43の各々の物理的構成は、コントローラ10の第1プロセッサ11A(又は第2プロセッサ11B)、第1通信制御部12A(又は第2通信制御部12B)、及びメモリ13と同様であってよい。
なお、図1に示すように、エンコーダ40は、コントローラ10とは異なり、プロセッサ及び通信制御部の組み合わせが2系統ではなく、1系統のみである。ただし、モータ30の位置を検出するためのディスク及びセンサの組み合わせが2系統存在している。別の言い方をすれば、エンコーダ40では、プロセッサ及び通信制御部は、物理的に1つずつのみであるが、ディスク及びセンサは、物理的に2つずつ存在している。また、エンコーダ40のプロセッサ41、通信制御部42、及びメモリ43は、それぞれコントローラ10の第1プロセッサ11A(又は第2プロセッサ11B)、第1通信制御部12A(又は第2通信制御部12B)、及びメモリ13よりも性能(例えば、クロック数)が低くてよい。
光学式ディスク44Aは、モータ30の回転軸に取り付けられた第1のディスクである。光学式ディスク44Aは、例えば、ガラス製又は金属製の円盤であり、コードホイールとも呼ばれるものである。光学式ディスク44Aは、複数のスリットを有する。各スリットは、一定角度毎に設けられており、例えば、後述する光学センサ45Aの発光素子の光を透過させる。スリットの数は、光学センサ45Aによる1回転内の回転位置(角度)の分解能に応じて定めればよい。
光学センサ45Aは、光学式ディスク44Aの1回転内の回転位置を検出する第1のセンサである。別の言い方をすれば、光学センサ45Aは、モータ30の回転軸の1回転内の回転位置を検出する回転位置センサである。光学センサ45Aは、光の強弱により1回転内の回転位置を検出する。光学センサ45Aは、発光素子及び受光素子を含む。例えば、発光素子は、発光ダイオードであり、受光素子は、フォトダイオードである。なお、光学センサ45Aは、発光素子と受光素子との間にある光学式ディスク44Aのスリットが光を透過/遮断する透過型であってもよいし、スリットに対して発光素子と受光素子が同じ側にありスリットが光を反射/非反射する反射型であってもよい。光学センサ45は、1回転内の回転位置を示す信号を発生させてプロセッサ41に入力する。
磁気式ディスク44Bは、モータ30の回転軸に取り付けられた第2のディスクである。光学式ディスク44Aと磁気式ディスク44Bは、同じ回転軸に取り付けられていることになる。磁気式ディスク44Bは、光学式ディスク44Aと同様、ガラス製又は金属製の円盤であってよく、コードホイールとも呼ばれるものである。磁気式ディスク44Bは、少なくとも1つの磁石又はコイルを有する。なお、磁気式ディスク44Bが強磁性体製である場合には、磁気式ディスク44B自体が着磁したものであってよい。
磁気センサ45Bは、磁気式ディスク44Bが1回転したことを検出する第2のセンサである。磁気センサ45Bは、磁気の変化によりモータ30が1回転したことを検出するエンコーダである。磁気センサ45Bは、磁界検出素子やコイルを含み、磁石を利用して磁気の変化を検出する磁石型であってもよいし、コイルを利用して磁気の変化を検出するコイル型であってもよい。例えば、磁界検出素子は、ホール素子や磁気抵抗素子である。磁気式ディスク44Bの回転により磁界が周期的に変化するので、磁気センサ45Bは、この周期的な磁界の変化に基づいて1回転したことを検出することになる。磁気センサ45Bは、1回転したことを検出すると所定の信号を発生させて通信制御部42に入力する。
なお、本実施形態では、エンコーダ40を小型化及び軽量化をするために、付属回路が複雑で大型化するレゾルバではなく光学センサ45Aや磁気センサ45Bとしているが、光学センサ45Aや磁気センサ45Bはレゾルバで代用してもよい。また、コントローラ10やエンコーダ40の物理的構成は、上記の例に限られない。コントローラ10やエンコーダ40は、他の要素を含んでいてもよい。例えば、コントローラ10は、メモリ13が2系統存在するようにしてもよいし、エンコーダ40は、温度センサを有しているようにしてもよい。他にも例えば、コントローラ10やエンコーダ40は、プログラムやデータを記憶するコンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、メモリカードスロット)を含んでいてもよい。
エンコーダ40は、所与の送信周期毎に、コントローラ10から位置取得コマンドを受信する。送信周期は、繰り返し訪れる所定間隔の期間である。送信周期は、コントローラ10のメモリ13やエンコーダ40のメモリ43にパラメータとして定められているようにしてよい。コントローラ10とエンコーダ40との間では、1送信周期内に、位置取得コマンドの送受信と、エンコーダ40が生成する送信データの送受信と、が行われる。
エンコーダ40が生成する送信データは、コントローラ10がエンコーダ40の動作を確認するための第1送信データと、コントローラ10がモータ30の位置決め制御をするための第2送信データと、の2種類がある。以降、第1送信データを安全データと記載し、第2送信データを通常データと記載するが、単に送信データと記載した場合は、第1送信データ及び第2送信データの両方を含む概念とする。
図2は、送信データのデータ格納例を示す図である。エンコーダ40は、送信周期毎に、図2に示す通常データ又は安全データの何れかの送信データをコントローラ10に送信する。送信データは、所定のフォーマットが定められており、ここでは、6バイト長のデータである。通常データ及び安全データの各々に格納されるデータ項目は、一部が共通しているようにしてよい。例えば、図2に示すように、通常データも安全データも1回転内の回転位置を含むので、エンコーダ40は、送信周期内に、少なくとも、1回転内の回転位置を含む送信データを生成してコントローラ10に送信することになる。
通常データの最初の1バイト目には、アラームの種類を示すアラームコードが格納される。通常データの2〜4バイト目は、1回転内の回転位置が格納される。通常データの5バイト目には、エンコーダ40の温度情報が格納される。即ち、通常データでは、温度情報及びアラームコードが1回転内の回転位置に付加されているといえる。以降、温度情報及びアラームコードをまとめて単に第2付加情報という。通常データの6バイト目には、エンコーダ40を一意に識別するアドレス、送信データの種類を識別する識別情報、及びアラームの有無が格納され、残りは予備の領域としている。識別情報は、通常データ又は安全データの何れであるかを示す情報であり、例えば、「01」の場合は通常データであり、「10」の場合は安全データである。
安全データの1バイト目には、回転数とテストカウンタ(詳細後述)が格納される。回転数は、1回転を単位とする回転回数を示す値である。即ち、ここでの回転数とは、いわゆる多回転量と呼ばれるものであり、回転速度を意味するわけではない。安全データの最初の2〜4バイト目及び6バイト目は、通常データと同様である。安全データの5バイト目には、CRC(Cyclic Redundancy Check)値が格納される。詳細は後述するが、このCRC値は、1バイト目に格納される回転数及びテストカウンタの誤りを検出するためのものである。安全データでは、CRC値、回転数、及びテストカウンタが1回転内の回転位置に付加されているといえる。以降、CRC値、回転数、及びテストカウンタをまとめて単に第1付加情報という。
モータ制御システム1では、コントローラ10が、安全データに含まれる1回転内の回転位置から回転数を計算し、安全データ内の回転数と比較することでデータの正当性をチェックするための第1の機能が実現される。即ち、エンコーダ40のプロセッサ41及び通信制御部42の組み合わせが1系統であっても、ディスクとセンサの組み合わせが2系統あるので、2重化相当のデータ信頼性を確保することができるようになっている。
更に、モータ制御における送信周期は一般的に短く、第1付加情報は計算するのに時間を要するため、第1付加情報の計算が送信周期内に終わらないが、モータ制御システム1では、第1付加情報の計算が終わるまでは通常データを送信して、計算が終わったら安全データを送信するための第2の機能が実現される。即ち、1送信周期よりも長い期間で生成する第1付加情報を、コントローラ10に送信できるようになっている。以降、モータ制御システム1が実現する第1の機能及び第2の機能の詳細を説明する。
[3.モータ制御システムで実現される機能]
図3は、モータ制御システム1の機能ブロック図である。ここでは、モータ制御システム1で実現される機能のうち、コントローラ10及びエンコーダ40の機能について説明する。なお、以降では、コントローラ10の第1プロセッサ11A及び第1通信制御部12Aを主として用い、第2プロセッサ11B及び第2通信制御部12Bは補助的に用いる場合を説明する。補助的に用いるとは、エンコーダ40の動作確認を行う場合に用いるという意味である。
コントローラ10の送信部100、受信部111A、第1の誤り検出部112A、及び第2の誤り検出部113Aは、第1通信制御部12Aにより実現される。受信部111B、第1の誤り検出部112B、及び第2の誤り検出部113Bは、第2通信制御部12Bにより実現される。処理決定部120A、制御出力部130、第1付加情報処理部140A、及び回転位置選択部150は、第1プロセッサ11Aにより実現される。処理決定部120B及び第1付加情報処理部140Bは、第2プロセッサ11Bにより実現される。
エンコーダ40の受信部400、識別情報生成部440、及び送信部450は、通信制御部42により実現される。回転位置検出部410は、通信制御部42や光学センサ45Aにより実現される。第1付加情報生成部420及び第2付加情報生成部430は、プロセッサ41や磁気センサ45Bにより実現される。
図4及び図5は、モータ制御システム1で実行される処理の流れを示す図である。ここでは、図4及び図5を参照しながら、図3に示すモータ制御システム1の各機能を説明する。なお、図4及び図5のt軸は、時間軸である。
まず、図4に示すように、送信周期Tの開始時点tが訪れると、コントローラ10の送信部100は、位置取得コマンドをエンコーダ40に送信する(S1)。位置取得コマンドは、エンコーダ40にモータ30の位置を取得させるためのコマンドである。位置取得コマンドは、所定のデータ形式であればよく、例えば、コマンドの種類を示すコマンドコードを含む。他にも、位置取得コマンドは、送信先のエンコーダ40を識別する情報を含んでいてもよい。
エンコーダ40の受信部400は、コントローラ10から位置取得コマンドを受信すると(S2)、回転位置検出部410及び回転数検出部421の各々は、位置取得コマンドを実行する(S3,S4)。S3においては、回転位置検出部410は、光学センサ45Aの信号に基づいて、1回転内の回転位置を検出する。なお、詳細は後述するが、この1回転内の回転位置は、後に生成する安全データに含めるため、通信制御部42内のメモリに保持される。S4においては、回転数検出部421は、磁気センサ45Bの信号に基づいて、1回転したか否かを判定する。
第1付加情報生成部420は、少なくともデータの送信周期Tよりも長い周期TC1で第1付加情報を生成する(S5)。周期TC1は、第1付加情報を生成するのに要する時間である。別の言い方をすれば、周期TC1は、第1付加情報の生成を開始してから終了するまでの時間である。先述のように、第1付加情報は、1回転内の回転位置に付加する情報であり、1回転内の回転位置とともに送信すべき情報といえる。本実施形態では、第1付加情報は、回転数、テストカウンタ、及びCRC値を含む。S5においては、第1付加情報生成部420において、回転数検出部421、テストカウンタ生成部422、及び第1の誤り検出符号付加部423の各々が、下記の処理を実行する。
回転数検出部421は、磁気センサ45Bの出力に基づいて、磁気式ディスク44Bの回転数をカウントする。別の言い方をすれば、回転数検出部421は、モータ30の回転軸の回転数を検出する。例えば、回転数を示すデータは、メモリ43やプロセッサ41内のメモリに記憶されているようにしてよい。回転数検出部421は、磁気式ディスク44Bが1回転したことを示す信号を磁気センサ45Bから受信すると、上記データが示す回転数をインクリメントする。なお、回転数を示すデータは、電源投入時やその後の所定のタイミングで行われる初期化処理によって初期値(例えば、0)になるようにしてよい。
テストカウンタ生成部422は、安全データの送信毎に異なる値となるテストカウンタを生成する。安全データの送信毎に異なるとは、ある安全データに含まれるテストカウンタと、次の安全データに含まれるテストカウンタと、の値が違うことである。例えば、テストカウンタ生成部422は、安全データを送信するたびにテストカウンタをインクリメントする。なお、テストカウンタは、プロセッサ41内のメモリに記憶されているようにしてよい。テストカウンタは、回転数と同様、電源投入時やその後の所定のタイミングで行われる初期化処理によって初期値(例えば、0)になるようにしてよい。
第1の誤り検出符号付加部423は、第1付加情報に含まれる情報(例えば、回転数)に対し誤り検出符号を付加する。情報に対し誤り検出符号を付加するとは、当該情報を誤り検出符号の計算対象とすることである。本実施形態では、誤り検出の一例として、CRCを説明する。即ち、誤り検出符号は、CRC値である場合を説明する。ただし、誤り検出自体は、公知の種々の手法を適用可能であり、CRCに限られない。例えば、誤り検出として、パリティやチェックサムを用いてもよい。
なお、第1の誤り検出符号付加部423は、回転数のみに対してCRC値を付加してもよいが、ここでは、回転数とテストカウンタに対しCRC値を付加する場合を説明する。CRC値の計算自体は、公知の種々の手法を適用可能であり、例えば、CRC−8であってよい。CRC値の計算アルゴリズムは、プログラムに記述されている。第1の誤り検出符号付加部423は、CRCの計算対象(即ち、ここでは、回転数とテストカウンタ)を計算アルゴリズムへの入力とし、計算アルゴリズムの出力であるCRC値を取得することになる。ここで、第1の誤り検出符号付加部423が用いる計算アルゴリズムは、前述の通り、汎用のプロセッサ41により実行され、専用の計算回路を用いるものでないため、その演算に周期TC1を要するのである。
S5では、上記のような処理が実行されるが、先述のように、第1付加情報生成部420は、通信周期T内に第1付加情報の計算を完了しないので、第2付加情報生成部430は、データの送信周期Tより短い周期TC2で、エンコーダ40の状態に関する情報を含む第2付加情報(例えば、温度情報及びアラームコード)を生成する(S6)。送信周期TC2は、第2付加情報生成部430が第2付加情報を生成するのに必要な時間である。別の言い方をすれば、送信周期TC2は、第2付加情報の生成を開始してから終了するまでの時間である。
S6においては、第2付加情報生成部430は、温度センサから温度情報を取得する。そして、第2付加情報生成部430は、所与のアラーム検知アルゴリズムに基づいてアラームの有無及びアラームコードを取得する。アラーム検知アルゴリズムやアラームコードは、プログラムに記述されていればよい。アラームとしては公知の種々のものを検出してよく、例えば、電源の不具合を示すアラームや通信異常を示すアラームであってよい。なお、S6の処理は、S2において位置取得コマンドを受信する前に実行してもよいし、S3やS4で位置取得コマンドが実行された後に実行してもよい。通信周期Tが終了するまでに通常データを送信できるように、第2付加情報を生成すればよい。
送信部450の送信データ選択部451は、少なくとも、通常データ又は安全データの何れを送信するか選択する(S7)。送信データ選択部451は、通常データ又は安全データ以外のデータを送信対象として選択してもよいが、ここでは説明の簡略化のために、これらの何れか一方を選択する場合を説明する。
S7においては、送信データ選択部451は、所与の選択方法に基づいて、通常データ又は安全データの何れかを選択すればよい。例えば、送信データ選択部451は、第1付加情報生成部420により、第1付加情報が生成されたことに基づいて、安全データを選択する。即ち、送信データ選択部451は、第1付加情報が生成されていなければ、通常データを選択し、第1付加情報が生成されていれば、安全データを選択する。S7の時点では、第1付加情報生成部420は、S5の計算を開始したばかりであり第1付加情報をまだ生成していないので、送信データ選択部451は通常データを選択することになる。なお、ここでは、第1付加情報の生成が完了した場合に安全データを送信する場合を説明するが、安全データは所定周期毎に送信されるようにしてもよい。この場合、送信データ選択部451は、所定周期が訪れたか否かを判定することで、通常データ又は安全データの何れかを選択することになる。
識別情報生成部440は、少なくとも第1付加情報が送信されることを識別可能な識別情報を生成する(S8)。識別情報は、第1付加情報が送信されることだけを識別可能であってもよいが、ここでは、第1付加情報又は第2付加情報の何れが送信されるのかを識別可能である。なお、識別情報は、更に他の情報を識別可能であってもよい。
識別情報生成部440は、送信データ選択部451が通常データを選択した場合に、通常データを識別する「01」の識別情報を生成し、送信データ選択部451が安全データを選択した場合に、安全データを識別する「10」の識別情報を生成する。S8においては、S7で通常データが選択されているので、識別情報生成部440は、通常データを識別する「01」の識別情報を生成することになる。
送信部450は、S3で検出された1回転内の回転位置、S6で生成された第2付加情報、及びS8で生成された識別情報を含む通常データを生成する(S9)。なお、通常データに含まれるアドレスは、メモリ43に予め記憶されているものとする。また、アラームの有無は、S6における第2付加情報の生成結果に応じて決定すればよい。予備領域には、データが格納されなくてもよいし、所定値が格納されるようにしてもよい。
送信部450の第2の誤り検出符号付加部452は、S9で生成された通常データに対し誤り検出符号を付加し(S10)、送信部450は、通常データを送信する(S11)。S10においては、第2の誤り検出符号付加部452は、通常データに含まれる情報に対し、誤り検出符号を付加する。なお、後述するように、第2の誤り検出符号付加部452は、通常データだけではなく、安全データに含まれる情報に対しても、誤り検出符号を付加する。また、第1の誤り検出符号付加部423と同様、ここでは誤り検出の一例として、CRCを説明する。即ち、誤り検出符号は、CRC値である場合を説明する。また、誤り検出自体は公知の種々の手法を適用可能である点も、第1の誤り検出符号付加部423と同様である。第2の誤り検出符号付加部452は、通常データの全体に対しCRC値を計算してもよいし、通常データに含まれる一部の情報(例えば、1回転内の回転位置)に対しCRC値を計算してもよい。なお、第2の誤り検出符号付加部452は、前述の通り、専用の集積回路である通信制御部42に用意された専用の回路により実現されているため、その演算は高速である。このため、第2の誤り検出符号付加部452は、送信周期T内にCRC値を計算可能になっている。
コントローラ10においては、受信部111A及び111Bは、通常データを受信する(S12,S13)。第2の誤り検出部113A及び113Bは、通常データに付加されたCRC値のチェックをする(S14,S15)。S14及びS15では、第2の誤り検出部113A及び113Bは、エンコーダ40から受信した通常データに基づいてCRC値を計算する。ここでのCRC値の計算方法は、先述したものと同様である。第2の誤り検出部113A及び113Bは、計算したCRC値と、エンコーダ40から受信したCRC値と、を比較して一致するか否かを判定する。一致していれば、正常であると判定し、一致しなければ、異常が発生したと判定する。ここでの異常とは、ノイズ等の影響により伝送路上で通常データの内容が欠落又は変更されることである。
処理決定部120A及び120Bは、通常データに含まれる識別情報を参照する(S16,S17)。S16及びS17においては、処理決定部120A及び120Bは、識別情報が「01」であれば、通常データなのでモータ30の位置決め制御を実行すると決定し、識別情報が「10」であれば、安全データなので安全検証処理を実行すると決定する。ここでは、識別情報が「01」の通常データを受信しているので、処理決定部120A及び120Bは、モータ制御装置20への制御出力を行うと決定する。
制御出力部130は、モータ30に対する制御出力を決定する(S18)。S18においては、S11で受信した通常データに含まれる1回転内の回転位置に基づいて、モータ30の制御出力を決定する。制御出力は、例えば、モータ30の位置及び速度の少なくとも一方である。モータ制御装置20は、得られた制御出力に基づいて、モータ30に印加する電流を制御する。
上記のようにして、送信周期Tの終了時点tが訪れると、次の送信周期Tが訪れることになる。この時点では、S5に示すように第1付加情報の生成がまだ完了していないので、S21〜S37に示すように、S1〜S4及びS6〜S18と同様の処理が実行される。以降、第1付加情報の生成が完了するまで、位置取得コマンドの送受信、通常データの送受信、及び制御出力が繰り返される。なお、コントローラ10では、通常データに含まれる1回転内の回転位置を時系列的に第1プロセッサ11Aや第2プロセッサ11B内のメモリに蓄積しているものとする。これは、後述するS62及びS63で回転数を計算するために、1回転内の回転位置の変化を利用するためである。
図5に移り、第1付加情報の生成が完了し、その次の送信周期Tの開始時点tが訪れると、安全データを送信するための処理が実行されることになる。S41〜S45は、それぞれS1〜S5と同様である。S46において、第1付加情報生成部420は、第1付加情報生成部420が生成した第1付加情報を送信部450に対して送信する(S46)。
第1付加情報の生成が完了しているので、送信データ選択部451は、安全データを選択し(S47)、識別情報生成部440は、安全データを識別する「10」の識別情報を生成することになる(S48)。S49〜S55は、S9〜S15と同様であるが、S51においては、送信部450は、通常データではなく、1回転内の回転位置及び回転数を含む安全データを送信することになる。
また、先述のように、第1付加情報の計算には時間がかかるため、S43で取得された最新の1回転内の回転位置を安全データに含めてしまうと、後述するS66の比較で動作異常を検知ができない可能性がある。即ち、第1付加情報に含まれる回転数は、時点t〜tにおけるものであるが、安全データに最新の1回転内の回転位置を含めると、時点t〜tにおける回転数と比較することになってしまう。このため、安全データに含まれる1回転内の回転位置は、回転数検出部421により回転数が検出されたタイミングで取得された1回転内の回転位置(即ち、S3で取得された1回転内の回転位置)となっている。回転数が検出されたタイミングで取得された回転位置とは、回転数を検出するための位置取得コマンドで取得した回転位置である。別の言い方をすれば、回転数を検出した送信周期Tと同じ送信周期T内で取得された1回転内の回転位置である。先述のように、この1回転内の回転位置は、プロセッサ41内のメモリに保持されているので、その値を安全データに含めることになる。
また、S52及びS53では、受信部111A及び111Bは、通常データではなく、モータ30の回転軸の1回転内の回転位置と、回転数と、を含む安全データをモータ30のエンコーダ40から受信していることになる。別の言い方をすれば、受信部111Aは、モータの回転軸の1回転内の回転位置を含む安全データであって、少なくとも当該安全データに第1付加情報が含まれることを識別可能な識別情報と、第1付加情報を含む安全データをモータ30のエンコーダ40から受信することになる。
第1の誤り検出部112A及び112Bは、安全データに含まれる回転数に付加されたCRC値のチェックをする(S56,S57)。S56及びS57の各々では、第1の誤り検出部112A及び112Bは、エンコーダ40から受信した安全データの回転数及びテストカウンタに基づいてCRC値を計算する。第1の誤り検出部112A及び112Bは、計算したCRC値と、安全データ内のCRC値と、を比較して一致するか否かを判定する。一致していれば、正常であると判定し、一致しなければ、異常が発生したと判定する。
また、識別情報が「10」の安全データを受信しているので、処理決定部120A及び120Bは、安全検証処理を実行すると決定する(S58,S59)。以降、第1付加情報処理部140A及び140Bは、識別情報に基づいて、第1付加情報が含まれる場合に第1付加情報を用いた情報処理であるS60〜S69の安全検証処理を行うことになる。この情報処理は、第1付加情報を参照して実行する処理であればよく、安全検証処理以外であってもよい。
テストカウンタ判定部141A及び141Bは、安全データに含まれるテストカウンタの値が正しいか否かを判定する(S60,S61)。S60及びS61においては、エンコーダ40から過去に受信した安全データのテストカウンタの値をメモリ13等に保持しておき、テストカウンタ判定部141A及び141Bは、過去に受信したテストカウンタの値と、S51及びS52で受信したテストカウンタの値と、を比較して両者が異なるか否かを判定する。先述のように、テストカウンタは安全データの送信毎に異なるので、エンコーダ40が正常に動作していれば、テストカウンタの値が異なることになる。このため、S58及びS59では、比較した2つのテストカウンタの値が異なっていれば、正常であると判定し、一致していれば異常が発生したと判定する。
第1の回転数取得部142A及び142Bは、1回転内の回転位置により回転軸の回転数を取得する(S62,S63)。S62及びS63においては、第1の回転数取得部142A及び140Bは、1回転内の回転位置の変化に基づいて、回転軸の回転数を取得することになる。例えば、第1の回転数取得部142A及び142Bは、メモリ13等に保持された過去の1回転内の回転位置を参照して1回転内の回転位置の変化を特定する。1回転内の回転位置は、1回転すると元に戻るので、第1の回転数取得部142A及び142Bは、1回転内の回転位置が元に戻った(即ち、減少した)場合に1回転したと判定し、メモリ13等に記憶された回転数のカウンタをインクリメントすることによって、回転数を計算する。
第2の回転数取得部143A及び143Bは、安全データに含まれる回転数を取得する(S64,S65)。S64及びS65においては、第2の回転数取得部143A及び143Bは、第1付加情報に含まれる回転数を取得することになる。
比較部144A及び144Bは、第1の回転数取得部142A及び142Bにより取得された回転数と、第2の回転数取得部143A及び143Bにより取得された回転数と、を比較する(S66,S67)。S66及びS67においては、比較部144A及び144Bは、第1の回転数取得部142A及び142Bにより取得された回転数と、第2の回転数取得部143A及び143Bにより取得された回転数と、を比較して両者が一致するか否かを判定する。両者が一致すれば正常と判定し、両者が一致しなければ異常が発生したと判定する。
第1付加情報処理部140A及び140Bは、S66及びS67における比較結果を相互にチェックする(S68,S69)。第1付加情報処理部140A及び140Bは、何れかの比較結果で異常が発生している場合に、モータ30を停止するようにモータ制御装置20に指示を送るようにしてもよいし、両方の比較結果で異常が発生している場合に、モータ30を停止するようにモータ制御装置20に指示を送るようにしてもよい。
回転位置選択部150は、制御出力部130が使用する回転位置を複数の送信データの中から選択する(S70)。先述のように、安全データに含まれる1回転内の回転位置は、S3で生成された古いものであるので、回転位置選択部150は、安全データでない送信データ(即ち、通常データ)より、回転位置を選択する。例えば、回転位置選択部150は、直近で受信した通常データに含まれる1回転内の回転位置を選択する。続くS71は、S18と同様である。
上記のように、S41〜S71の処理が実行されて安全データが送信された後は、次の送信周期Tの開始時点tが訪れて通常データが送信されることになる。以降、第1付加情報の生成が完了するまでは、通常データが送信され、第1付加情報の生成が完了すると、安全データが送信されることになる。即ち、送信部450は、送信周期Tごとに、通常データ又は安全データの何れかの送信データを送信する。別の言い方をすれば、送信部450は、少なくとも1回転内の回転位置を含む送信データを送信周期Tで送信することになる。
[4.第1の機能のまとめ]
モータ制御システム1の第1の機能によれば、光学式ディスク44Aの1回転内の回転位置と、磁気式ディスク44Bの回転数と、の各々によるデータの2重化チェックが可能になるので、エンコーダからのデータを2重化しつつ、機器のサイズ、重量、及びコストを抑制することができる。即ち、例えば、エンコーダ40自体を2重化したり、プロセッサ41や通信制御部42等の位置検出回路を2重化したりするような場合に比べて機器のサイズ、重量、及びコストを抑制することができ、更に、これらの2重化と同等のデータ信頼性を得ることができる。更に、光学センサ45Aがエンコーダであることによって、レゾルバ等を利用する場合に比べて小型化が可能になる。
また、回転数に対するCRC値と、送信データに対するCRC値と、を用いて2重のチェックを行い、データの信頼性を向上させることができる。更に、1つのハードウェアだけでCRC値を計算すると、そのハードウェアが故障していた場合に異常を検出できない可能性があるがここでは、プロセッサ41及び通信制御部42という別々のハードウェアを使ってCRC値を計算しているので、データの信頼性をより向上させることができる。
また、送信データ全体のデータ長を短くしてデータの伝送効率を高めようとするとビット数が多く強度の高いCRCを使用することができないが、強度の高いCRCを用いなくても、回転数をチェックすることによりデータの信頼性を確保することができる。
また、回転数だけでなく、安全データの送信毎に異なる値となるテストカウンタに対しCRC値を付加するので、モータ30の停止時や低速時のように回転数が更新されないような場合であっても、テストカウンタを参照することで、エンコーダ40の動作が正常かどうかをチェックすることができる。
また、光学式ディスク44Aと磁気式ディスク44Bを組み合わせて使用することで、異なる検出方式でモータの回転位置や回転数を検出することができるので、例えば、埃などが多く光学式ディスク44Aでは影響を受けやすい環境であっても、磁気式ディスク44Bによって正確な位置を検出したり異常検出をしたりすることができる。逆に、周囲の環境から磁気変化の影響があり磁気式ディスク44Bではその影響を受けやすい環境であっても、光学式ディスク44Aによって正確な位置を検出したり異常検出をしたりすることができる。
また、コントローラ10側で、回転位置の変化に基づいて取得する回転数と、送信データに含まれる回転数と、を第1プロセッサ11A及び第2プロセッサ11Bという別々のハードウェアを使用して比較することで動作確認を行うことができる。また、コントローラ10側で、第1通信制御部12A及び第2通信制御部12Bという別々のハードウェアを使用してCRC値のチェックを行うことによって、データの信頼性検証の精度を向上することができる。
[5.第2の機能のまとめ]
モータ制御システム1の第2の機能によれば、CRC値のように生成するのに複数の送信周期Tを要する第1付加情報をコントローラ10に送信することができる。例えば、送信周期T毎に第1付加情報を送信するような場合は、次の送信周期Tが訪れるまでに第1付加情報を生成しなければならず、高速に動作する汎用プロセッサか専用の集積回路が必要となるが、本機能によれば、低クロック・低スペックである比較的低コストの汎用プロセッサを用いても第1付加情報を送信可能になる。
また、第1付加情報を生成するのに複数の送信周期Tを要する場合であっても、誤り検出が必要な情報に対して誤り検出符号の付加が可能となる。更に、計算時間がかかるCRC値を用いた誤り検出も可能になる。
また、安全データには、回転位置が含まれており、第1付加情報には回転数が含まれているため、コントローラ10等においてデータの2重チェックが可能になる。例えば、安全データに含まれる回転位置から回転数を取得して、第1付加情報に含まれる回転数と比較してデータのチェックを行うことができる。
また、先述のように、安全データに最新の1回転内の回転位置を含めてしまうと正確にチェックをすることができない可能性があるが、回転数が検出されたタイミングの1回転内の回転位置を使用することで正確に2重チェックを行うことができる。また、モータの停止時等のように1回転内の回転位置が更新されないような場合であっても、テストカウンタを参照することで、エンコーダ40が正常かどうかをチェックすることができる。
また、1送信周期T内において通常データと安全データとの何れを送信するかを選択することで、無駄のないデータ伝送を可能にする。例えば、生成するのに複数の送信周期Tを要する第1付加情報を含む安全データと、送信周期T内に確実に生成できる第2付加情報を含む通常データと、の何れかを各送信周期Tにおいて送信できるので、効率のよいデータ伝送が可能になる。また、通常データと安全データの両方を同時に送信するのではなく、何れかを選択して送信することで、送信周期Tを短縮化し、1送信周期Tで送信すべきデータ量も少なくすることもできる。また、第1付加情報が生成されて安全データの送信可能な状態になった場合に、安全データを送信し、それ以外のときは通常データを送信することで、無駄のないデータ伝送が可能になる。
また、送信データ全体に対してCRC値を付加しているので、送信データ全体の中で誤り検出が必要な情報に対し、誤り検出符号の付加が可能となる。例えば、安全データでは、第1付加情報に付加されたCRC値と、安全データ全体に対して付加されたCRC値と、があるので、第1付加情報の誤り検出と、送信データ全体の誤り検出と、の2重の誤り検出が可能になる。
また、送信データに識別情報を含めていることで、コントローラ10側は、識別情報に基づいて、送信データに第1付加情報が含まれていることを識別してデータのチェック等の情報処理を行うことができる。また、コントローラ10は、回転位置により取得する回転数と、第1付加情報に含まれる回転数と、を比較することでエンコーダ40の動作確認を行うことができる。また、安全データに含まれる1回転内の回転位置は最新のものではなく古いものであるため、コントローラ10が、直近の1回転内の回転位置を使ってモータ30を制御することで、モータ制御の精度を上げることができる。
[6.変形例]
なお、実施形態では、モータ制御システム1において第1の機能及び第2の機能の両方が実現される場合を説明したが、モータ制御システム1は、第1の機能又は第2の機能の何れかのみを実現してもよい。
例えば、第1の機能だけが実現される場合には、通常データと安全データとの間で送信データを切り替えることは必須ではないので、コントローラ10において、処理決定部120A及び120Bは省略可能であり、エンコーダ40において、送信データ選択部451と識別情報生成部440は省略可能である。即ち、エンコーダ40は、通常データと安全データとの間で送信データを切り替えなくてもよい。このため、エンコーダ40が送信する送信データは、1種類だけであってもよい。この場合、送信データには、1回転内の回転位置及び回転数が含まれているようにすればよい。更に、エンコーダ40は、送信周期T内で第1付加情報の生成を完了してしまうようにしてもよい。この場合は、エンコーダ40は、通常データと安全データの両方を一度に送信してもよい。
また例えば、第2の機能だけが実現される場合には、ハードウェアの2重化は必須ではないので、コントローラ10において、受信部111Aや第1付加情報処理部140A及び140Bは、何れか一方のみであってよい。コントローラ10において、プロセッサと通信制御部の組み合わせは1系統だけであってもよい。同様に、エンコーダ40において、ディスクとセンサの組み合わせは1系統だけであってもよい。更に、送信データに1回転内の回転位置と回転数の両方を含めるのではなく、少なくとも1回転内の回転位置が送信データに含まれているようにすればよい。エンコーダ40は、回転数を検出しなくてもよい。この場合、コントローラ10は、過去に受信した回転位置から回転数を計算すればよい。
また、送信データのデータ格納例は、図2の例に限られない。送信データは、少なくとも1回転内の回転位置を含んでいればよく、他の情報を含んでいてもよい。例えば、安全データには、温度情報が含まれていてもよい。同様に、第1付加情報及び第2付加情報は、他の情報を含んでいてもよい。例えば、第1付加情報は、CRC値やテストカウンタを含まずに他の情報を含んでいてもよい。
また、第1の機能に関し、エンコーダ40に含まれるディスクは、光学式ディスク44Aと磁気式ディスク44Bの組み合わせに限られない。例えば、エンコーダ40は、2枚の光学式ディスクを含んでいてもよいし、2枚の磁気式ディスクを含んでいてもよい。更に、実施形態では、ディスクとセンサの組み合わせが2系統あることにより、2重化相当のデータ信頼性が確保されている場合を例に挙げて説明したが、ディスクとセンサの組み合わせが多系統あることにより、多重化相当のデータ信頼性を確保すればよく、3重化以上であってもよい。
また、第2の機能に関し、第1付加情報は、送信周期Tよりも長い時間をかけて生成するものであればよく、他の情報であってもよい。CRC値等の誤り検出符号以外が第1付加情報に相当してもよい。また、第1付加情報は、通常データに含まれていてもよい。この場合、第1付加情報の生成が完了するまでは、直近で生成した第1付加情報を通常データに毎回含めるようにしてもよい。また、通常データは、第2付加情報を含んでいなくてもよい。
また、コントローラ10において、第1通信制御部12A及び第2通信制御部12Bが送信データのCRCを行ったが、第1プロセッサ11A及び第2プロセッサ11BでCRCを行ってもよい。また、回転数及びテストカウンタだけでなく、アドレスもCRCの計算対象としてもよい。
また、モータ制御システム1が、コントローラ10、モータ制御装置20、モータ30、及びエンコーダ40を含む場合を説明したが、モータ制御システム1は、コントローラ10及びエンコーダ40のみを含むものとしてもよい。
また、上記説明した本発明に係る各処理をロボットシステムに適用してもよい。図6は、ロボットシステムの一例を示す図である。図6に示すように、ロボットシステム2は、モータ制御システム1と、ロボット3と、を含む。なお、図6では、モータ制御装置20を省略している。ロボット3は、コントローラ10の制御対象となる装置であり、例えば、モータ30やエンコーダ40を含む。即ち、ロボット3には、モータ30やエンコーダ40が組み込まれている。図6に示す例では、ロボット3は、アームを有するマニピュレータを含む。また、ここでのロボット3は、2つ以上の軸を有する機械である多軸機械(例えば、金属の加工機械等)を含む意味である。図6に示すロボット3は、4つのモータ30−1〜30−4を有するため、4つの軸を有する多軸機械といえる。
ロボットシステム2では、コントローラ10の指示のもとでモータ30−1〜30−4が回転することで、ロボット3が動作する。例えば、コントローラ10は、ロボット3のアームが所定のタイミングで所定の位置で物をつかむように、モータ30−1〜30−4を回転させる。ここでは、4つのモータ30−1〜30−4の各々に、エンコーダ40−1〜40−4が接続されている。図6に示す例では、各エンコーダ40は、デイジーチェーン接続されており、各エンコーダ40を接続する配線を破線で示している。この配線は、例えば、半二重通信路や全二重通信路であってもよい。デイジーチェーン接続は、複数の機器を数珠繋ぎにした接続方式であり、接続順位が最上位の機器から最下位の機器まで、接続順位の順番にデータを転送する接続方式である。ここでは、エンコーダ40−1の接続順位は最上位であり、エンコーダ40−4の接続順位は最下位である。エンコーダ40−1〜40−3の各々は、上位の機器(コントローラ10やエンコーダ40−1,40−2)から受信したコマンドを下位の機器(エンコーダ40−2〜40−4)に転送する。エンコーダ40−1〜40−4の各々は、コマンドの実行結果を上位の機器(コントローラ10やエンコーダ40−1〜40−3)に送信する。エンコーダ40−1〜40−3の各々は、下位の機器(エンコーダ40−2〜40−4)から受信した実行結果を、上位の機器(コントローラ10やエンコーダ40−1〜40−3)に転送することになる。特にロボットのような用途では、エンコーダ40−1〜40−4をデイジーチェーン接続してコントローラ10との間で例えばシリアル通信することによって、ロボット3の内部の配線に要するスペースの抑制と、実施形態で説明したようなデータの2重化による安全性確保との両立が可能となる。なお、図6では、他の配線や補器類は省略している。
ロボットシステム2においては、実施形態で説明した第1の機能及び第2の機能の少なくとも一方が実現されるようにすればよい。即ち、ロボットシステム2でも、第1の機能のようにして、プロセッサ41や通信制御部42を2重化することなく、2重化相当のデータの信頼性を得るようにしてもよいし、第2の機能のようにして、通常データと安全データを切り替えることで、生成するのに送信周期T以上かかる第1付加情報をコントローラ10に送信できるようにしてもよい。
また、コントローラ10は、モータ制御装置20(サーボコントローラ又はサーボアンプ)とは別体であってもよいし、モータ制御装置20を含んでいてもよい。また例えば、エンコーダ40の通信相手が1又は複数のモータ制御装置20であり、1又は複数のモータ制御装置20が別の上位装置によって制御されるようにしてもよい。即ち、コントローラ10は、モータ制御装置20と、モータ制御装置を制御する上位装置と、の両方を含む意味であってもよいし、モータ制御装置20と、モータ制御装置20を制御する装置と、が別体であってもよい。後者の場合、モータ制御装置20がコントローラ10に相当してもよいし、モータ制御装置20を制御する上位装置がコントローラ10に相当してもよい。
なお、エンコーダ40が有する第1の回転手段及び第2の回転手段の一例として、それぞれ光学式ディスク44A及び磁気式ディスク44Bを説明したが、モータ30の回転軸に取り付けられる回転手段であればよく、ディスクでなくてもよい。例えば、円盤以外の回転体が第1の回転手段及び第2の回転手段であってもよい。また、エンコーダ40の第1の検出手段及び第2の検出手段の一例として、光学センサ45A及び磁気センサ45Bを説明したが、検出手段としては、1回転内の回転位置や回転数を検出する検出器であればよく、センサ以外であってもよい。また、エンコーダ40の送信手段の一例として、送信部450を説明したが、例えば、無線通信が可能なエンコーダ40であれば、無線通信インタフェースが送信手段であってもよい。
また、コントローラ10のデータ受信手段の一例として、受信部111A及び111Bを説明したが、例えば、無線通信が可能なコントローラ10であれば、無線通信インタフェースがデータ受信手段であってもよい。また、比較部144A及び144Bは、上記回転数取得手段により取得された回転数と、上記データ取得手段により取得された回転数と、によりモータ30のエンコーダ40の動作を確認する手段であればよく、実施形態で説明した方法以外によって動作を確認してもよい。例えば、比較部144A及び144Bは、上記2つの回転数の差が基準以内であるか否かにより動作を確認してもよいし、上記2つの回転数を所与の数式に代入することによって得られる値が基準範囲であるか否かにより動作を確認してもよい。
1 モータ制御システム、2 ロボットシステム、3 ロボット、10 コントローラ、11A 第1プロセッサ、11B 第2プロセッサ、12A 第1通信制御部、12B 第2通信制御部、13 メモリ、20 モータ制御装置、30 モータ、40 エンコーダ、41 プロセッサ、42 通信制御部、43 メモリ、44A 光学式ディスク、45A 光学センサ、44B 磁気式ディスク、45B 磁気センサ、100 送信部、111A,111B 受信部、112A,112B 第1の誤り検出部、113A,113B 第2の誤り検出部、120A,120B 処理決定部、130 制御出力部、140A,140B 第1付加情報処理部、141A,141B テストカウンタ判定部、142A,142B 第1の回転数取得部、143A,143B 第2の回転数取得部、144A,144B 比較部、150 回転位置選択部、400 受信部、410 回転位置検出部、420 第1付加情報生成部、421 回転数検出部、422 テストカウンタ生成部、423 第1の誤り検出符号付加部、430 第2付加情報生成部、440 識別情報生成部、450 送信部、451 送信データ選択部、452 第2の誤り検出符号付加部。

Claims (19)

  1. モータの回転軸の1回転内の回転位置を検出する回転位置センサと、
    少なくともデータの送信周期よりも長い周期で第1付加情報を生成する第1付加情報生成部と、
    少なくとも前記第1付加情報が送信されることを識別可能な識別情報を生成する識別情報生成部と、
    少なくとも前記1回転内の回転位置を含む送信データを前記送信周期で送信する送信部と、
    を有し、
    前記送信部は、前記識別情報及び前記第1付加情報を含む第1送信データを含む送信データを送信する、
    エンコーダ。
  2. 前記モータの回転軸の回転数を検出する回転数検出部を更に有し、
    前記第1付加情報には、前記回転数が含まれる、
    請求項1に記載のエンコーダ。
  3. 前記第1付加情報生成部は、前記第1付加情報に含まれる情報に対し、誤り検出符号を付加する第1の誤り検出符号付加部を有する、
    請求項1又は2に記載のエンコーダ。
  4. 前記誤り検出符号は、CRC値である、
    請求項3に記載のエンコーダ。
  5. 前記第1送信データに含まれる前記回転位置は、前記回転数検出部により前記回転数が検出されたタイミングで取得された回転位置である、
    請求項4に記載のエンコーダ。
  6. 前記第1送信データの送信毎に異なる値となるテストカウンタを生成するテストカウンタ生成部を更に有し、
    前記第1送信データには、前記テストカウンタが含まれる、
    請求項1〜5の何れかに記載のエンコーダ。
  7. データの送信周期より短い周期で、前記エンコーダの状態に関する情報を含む第2付加情報を生成する第2付加情報生成部を更に有し、
    前記送信データには、前記第2付加情報を含む第2送信データが含まれ、
    前記送信部には、少なくとも、前記第1送信データ及び前記第2送信データの何れを送信するか選択する送信データ選択部が含まれる、
    請求項1〜6の何れかに記載のエンコーダ。
  8. 前記送信データ選択部は、前記第1付加情報生成部により、前記第1付加情報が生成されたことに基づいて、前記第1送信データを選択する、
    請求項7に記載のエンコーダ。
  9. 前記送信部は、前記送信データに含まれる情報に対し、誤り検出符号を付加する第2誤り検出符号付加部を有する、
    請求項1〜8の何れかに記載のエンコーダ。
  10. 前記誤り検出符号は、CRC値である、
    請求項9に記載のエンコーダ。
  11. モータの回転軸の1回転内の回転位置を含む送信データであって、少なくとも当該送信データに第1付加情報が含まれることを識別可能な識別情報と、前記第1付加情報を含む第1送信データを含む送信データを前記モータのエンコーダから受信する受信部と、
    前記識別情報に基づいて、前記第1付加情報が含まれる場合に前記第1付加情報を用いた情報処理を行う第1付加情報処理部と、
    を有するコントローラ。
  12. 前記第1付加情報処理部は、
    前記回転位置により前記回転軸の回転数を取得する第1回転数取得部と、
    前記第1付加情報に含まれる回転数を取得する第2回転数取得部と、
    前記第1回転数取得部により取得された前記回転数と、前記第2回転数取得部により取得された前記回転数と、を比較する比較部と、
    を含む請求項11に記載のコントローラ。
  13. モータに対する制御出力を決定するモータ制御部と、
    前記モータ制御部が使用する回転位置を複数の前記送信データの中から選択する回転位置選択部と、
    を有し、
    前記回転位置選択部は、前記第1送信データでない前記送信データより、前記回転位置を選択する、
    請求項12に記載のコントローラ。
  14. 前記第1回転数取得部は、過去に受信した前記第1送信データに含まれる前記回転位置より前記回転数を取得する、
    請求項12又は13に記載のコントローラ。
  15. 請求項1〜10の何れかに記載のエンコーダと、
    請求項11〜14の何れかに記載のコントローラと、
    を有するモータ制御システム。
  16. 請求項15に記載のモータ制御システムと、
    ロボットと、
    を有するロボット制御システム。
  17. 請求項1〜10の何れかに記載のエンコーダを有するロボット。
  18. モータの回転軸の1回転内の回転位置を検出し、
    少なくともデータの送信周期よりも長い周期で第1付加情報を生成し、
    少なくとも前記第1付加情報が送信されることを識別可能な識別情報を生成し、
    少なくとも前記1回転内の回転位置を含む送信データを送信する、
    データ送信方法であって、
    前記送信データには、前記識別情報及び前記第1付加情報を含む第1送信データが含まれるデータ送信方法。
  19. モータの回転軸の1回転内の回転位置を含む送信データであって、少なくとも当該送信データに第1付加情報が含まれることを識別可能な識別情報と、前記第1付加情報を含む第1送信データを含む送信データを前記モータのエンコーダから受信し、
    前記識別情報に基づいて、前記第1付加情報が含まれる場合に前記第1付加情報を用いた情報処理を行う、
    情報処理方法。
JP2015104867A 2015-05-22 2015-05-22 エンコーダ、コントローラ、モータ制御システム、ロボット制御システム、ロボット、データ送信方法、及び情報処理方法 Active JP6274153B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015104867A JP6274153B2 (ja) 2015-05-22 2015-05-22 エンコーダ、コントローラ、モータ制御システム、ロボット制御システム、ロボット、データ送信方法、及び情報処理方法
US15/160,230 US10072948B2 (en) 2015-05-22 2016-05-20 Encoder, controller, method for processing data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015104867A JP6274153B2 (ja) 2015-05-22 2015-05-22 エンコーダ、コントローラ、モータ制御システム、ロボット制御システム、ロボット、データ送信方法、及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2016218867A true JP2016218867A (ja) 2016-12-22
JP6274153B2 JP6274153B2 (ja) 2018-02-07

Family

ID=57324898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015104867A Active JP6274153B2 (ja) 2015-05-22 2015-05-22 エンコーダ、コントローラ、モータ制御システム、ロボット制御システム、ロボット、データ送信方法、及び情報処理方法

Country Status (2)

Country Link
US (1) US10072948B2 (ja)
JP (1) JP6274153B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018200262A (ja) * 2017-05-29 2018-12-20 ファナック株式会社 異常検出機能を備えたエンコーダシステム及び異常検出方法
JP2019004259A (ja) * 2017-06-13 2019-01-10 株式会社ダイヘン 通信装置、および、ロボットシステム
WO2019207697A1 (ja) * 2018-04-25 2019-10-31 三菱電機株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP2020137142A (ja) * 2019-02-12 2020-08-31 株式会社安川電機 モータ制御システム
WO2020213161A1 (ja) * 2019-04-19 2020-10-22 三菱電機株式会社 ロボット
JP2020201783A (ja) * 2019-06-12 2020-12-17 ファナック株式会社 エンコーダおよびデータ送信方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10578463B2 (en) * 2016-12-19 2020-03-03 Microchip Technology Incorporated Detection of defects in motor position decoder system
JP6428817B2 (ja) * 2017-03-22 2018-11-28 株式会社安川電機 モータ制御システム、制御方法、エンコーダ及びモータ制御装置
JP6781226B2 (ja) * 2018-09-25 2020-11-04 ファナック株式会社 エンコーダ及び制御システム
JP6761011B2 (ja) * 2018-09-25 2020-09-23 ファナック株式会社 エンコーダ及び制御システム
JP6777703B2 (ja) * 2018-09-25 2020-10-28 ファナック株式会社 エンコーダ及び制御システム
JP7210103B2 (ja) * 2019-01-28 2023-01-23 株式会社ミツトヨ エンコーダの寿命検出装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015049769A (ja) * 2013-09-03 2015-03-16 株式会社ニコン 通信装置、エンコーダ装置、及びシリアル通信方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002044758A (ja) 2000-07-31 2002-02-08 Yaskawa Electric Corp 制御システムおよび制御方法
CN104764473B (zh) * 2008-08-26 2017-07-07 株式会社尼康 编码器系统、信号处理方法
EP2554950B1 (en) * 2010-04-02 2016-01-20 Kabushiki Kaisha Yaskawa Denki Encoder, drive device, absolute position calculation method, and encoder manufacturing method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015049769A (ja) * 2013-09-03 2015-03-16 株式会社ニコン 通信装置、エンコーダ装置、及びシリアル通信方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018200262A (ja) * 2017-05-29 2018-12-20 ファナック株式会社 異常検出機能を備えたエンコーダシステム及び異常検出方法
US10360784B2 (en) 2017-05-29 2019-07-23 Fanuc Corporation Encoder system having function of detecting abnormality, and method for detecting abnormality of the same
JP2019004259A (ja) * 2017-06-13 2019-01-10 株式会社ダイヘン 通信装置、および、ロボットシステム
JP7006902B2 (ja) 2017-06-13 2022-01-24 株式会社ダイヘン ロボットシステム
WO2019207697A1 (ja) * 2018-04-25 2019-10-31 三菱電機株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JPWO2019207697A1 (ja) * 2018-04-25 2020-07-30 三菱電機株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP2020137142A (ja) * 2019-02-12 2020-08-31 株式会社安川電機 モータ制御システム
US11038443B2 (en) 2019-02-12 2021-06-15 Kabushiki Kaisha Yaskawa Denki Motor control system and motor control apparatus
WO2020213161A1 (ja) * 2019-04-19 2020-10-22 三菱電機株式会社 ロボット
JP6837621B1 (ja) * 2019-04-19 2021-03-03 三菱電機株式会社 ロボット
JP2020201783A (ja) * 2019-06-12 2020-12-17 ファナック株式会社 エンコーダおよびデータ送信方法
JP7277274B2 (ja) 2019-06-12 2023-05-18 ファナック株式会社 エンコーダおよびデータ送信方法

Also Published As

Publication number Publication date
US20160344429A1 (en) 2016-11-24
US10072948B2 (en) 2018-09-11
JP6274153B2 (ja) 2018-02-07

Similar Documents

Publication Publication Date Title
JP6274153B2 (ja) エンコーダ、コントローラ、モータ制御システム、ロボット制御システム、ロボット、データ送信方法、及び情報処理方法
JP6299671B2 (ja) エンコーダ、コントローラ、モータ制御システム、ロボット制御システム、ロボット、データ送信方法、及び回転数比較方法
US9164826B2 (en) Method and apparatus to recover from an erroneous logic state in an electronic system
CN109983309B (zh) 检测马达位置解码器系统中的缺陷
CN111197954B (zh) 一种机器的绝对位置测量方法、装置、存储介质及机器
US10274944B2 (en) Motor control system, control method, encoder, and motor controller
US9869547B2 (en) Position-measuring device and method for testing a clock signal
JP2006177959A (ja) 位置測定装置の機能テストを実施する方法およびこの方法を実施するための位置測定装置
US10119842B1 (en) Encoder design and use
CN108459581B (zh) 确定信号处理部件完整性信息的方法、信号处理电路及电子控制单元
EP3179378B1 (en) Device configuration using a magnetic field
US10983497B2 (en) Motor control system and input and output device
KR101244636B1 (ko) 인코더
US9863790B1 (en) Devices and methods for a rotary encoder
WO2023140000A1 (ja) 回転検出器
JP2017129527A (ja) 回転角度検出装置
TWI748618B (zh) 馬達的校正系統
JP6319519B1 (ja) モータ制御装置、モータ制御方法及びモータ制御システム
WO2022041100A1 (zh) 马达的校正系统
JPH0336608A (ja) 位置検出回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171124

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171225

R150 Certificate of patent or registration of utility model

Ref document number: 6274153

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150