(57)【要約】【課題】  異常発生の原因特定が容易なエンコーダ。【解決手段】  エンコーダのアラーム検出回路が、エンコーダあるいはサーボモータの温度異常、各温度検出素子の動作不良のいずれかを検出すると数値制御装置にオーバヒートアラームの信号が送られ、異常発生時における「アラーム信号」、「温度情報」、「位置情報または速度情報」、「異常判断根拠情報」に加えて、アラーム検出回路内の論理状態、エンコーダの使用開始以後の積算総移動量または積算総稼働時間が不揮発性記憶素子に記憶される。記憶データは、必要時に外部の記憶素子リード／ライト回路により読み出され、異常原因の調査等に役立てられる。不揮発性記憶素子に代えてバックアップ電源付の揮発性記憶素子の使用も可能である。【選択図】      図４
2005221258.tif 000002
【特許請求の範囲】
【請求項１】
モータの位置情報及び速度情報の少なくとも一方を検出するエンコーダにおいて、
記憶素子と、
前記エンコーダ及び前記モータの少なくとも一方に関する異常チェック項目について異常の有無を表わす信号を生成する異常信号生成手段とを備え、
前記異常信号生成手段により、前記異常チェック項目について異常の存在を表わす信号が生成された時に、該時点または該時点より所定時間前の時点における前記エンコーダの内部情報が前記記憶素子に記憶されることを特徴とする、エンコーダ。
【請求項２】
前記内部情報には、
（１）前記異常の存在を表わす信号が生成された時点または該時点より所定時間前の時点において前記エンコーダが検出している位置情報、
（２）前記異常の存在を表わす信号が生成された時点または該時点より所定時間前の時点において前記エンコーダが検出している速度情報、
（３）前記異常の存在を表わす信号が生成された時点または該時点より所定時間前の時点におおける前記エンコーダの温度情報、
（４）前記異常の存在を表わす信号が生成された時点または該時点より所定時間前の時点におおける前記サーボモータの温度情報、及び、
（５）前記異常の存在を表わす信号が生成された時点または該時点より所定時間前の時点において、異常と判断した根拠となる情報、の内の少なくとも１つが含まれていることを特徴とする、請求項１に記載されたエンコーダ。
【請求項３】
前記エンコーダ及びモータの少なくとも一方に関する複数の異常チェック項目の各々について異常の有無を表わす信号を生成する異常信号生成手段とを備え、
前記内部情報には、前記複数の異常チェック項目の内の少なくとも１つについて異常の存在を表わす信号が前記異常信号生成手段により生成された時点または該時点より所定時間前の時点における前記複数の異常チェック項目の夫々について異常の有無を表わす信号の情報が含まれていることを特徴とする、請求項１または請求項２に記載されたエンコーダ。
【請求項４】
前記エンコーダの積算総移動量を計測する積算総移動量計測手段を備え、
前記内部情報には、前記異常の存在を表わす信号が生成された時点または該時点より所定時間前の時点において前記積算総移動量計測手段によって計測されている積算総移動量の情報が含まれていることを特徴とする、請求項１〜請求項３の内のいずれか１項に記載されたエンコーダ。
【請求項５】
前記エンコーダの積算稼働時間を計測する積算稼働時間計測手段を備え、
前記内部情報には、前記異常の存在を表わす信号が生成された時点または該時点より所定時間前の時点において前記積算稼働時間計測手段によって計測されている積算稼働時間の情報が含まれていることを特徴とする、請求項１〜請求項３の内のいずれか１項に記載されたエンコーダ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば工作機械や産業用ロボットの軸を駆動するサーボモータの位置や速度を検出するエンコーダに関し、更に詳しく言えば、エンコーダ自身あるいはエンコーダで位置や速度を検出しているモータに異常が発生した場合に、その異常発生原因の解析に資する情報を提供できるように改良されたエンコーダに関する。
【背景技術】
【０００２】
周知のように、例えば工作機械や産業用ロボットの軸を駆動するサーボモータの位置や速度を検出するためにエンコーダが広く使用されているが、様々な内的要因あるいは外的要因によってエンコーダ自身あるいはモータに異常が発生することがある。そこで、これら異常発生の有無をエンコーダ内部で自己診断し、なんらかの異常発生を表わす自己診断結果が得られた時に、それをアラーム情報として制御装置に送信（転送）することが従来より行なわれている。そして、この制御装置に転送された情報（データ）が、異常原因の解明等の保守サービスにおいて利用されている。
【０００３】
しかし、エンコーダから制御装置に転送されるデータ（アラーム情報）は、転送データ容量の制限により、エンコーダ内部での異常発生原因究明のために役立つ可能性のあるデータを十分にカバーするものになっていない。即ち、ある異常が発生した時に制御装置に転送されるアラーム情報としては、そのアラーム情報に関連する１つの自己診断の結果のみ、あるいは、複数の自己診断の結果の論理和（少なくとも１つの自己診断の結果が異常発生を示しているか否か）が出力されている。従って、制御装置に表示乃至記憶されるアラーム情報だけでは、異常発生の原因究明を十分に行なうことができないことが多い。
【０００４】
また、異常を起こして交換されたエンコーダは、後日、専門部署で再動作させてみるなどして異常発生の原因調査が行なわれるが、再動作時には異常現象が再現されず、原因調査がうまくいかない場合も珍しくない。  
ところで、エンコーダの中には例えば下記特許文献１、２のように、記憶素子を搭載したものも知られているが、これらはサーボモータやエンコーダのＩＤ情報（仕様データ、製造年月日、個体のシリアル番号等）、あるいは、エンコーダの検出精度を確保するための精度補正データの記憶に利用されるものであった。即ち、従来のエンコーダに搭載されている記憶素子は、モータやエンコーダのいわば個有の情報を記憶しておくものであり、エンコーダあるいはモータに異常が発生した際に、エンコーダの内部情報を記憶するものではなかった。
【０００５】
図１は、上記したような自己診断−アラーム情報転送機能と不揮発性記憶素子を備えた従来のエンコーダの概略を例示した回路ブロック図である。同図に示したように、従来のエンコーダ回路には、位置データ用エンコーダ信号増幅回路にＡＤ変換器等を組み合わせた回路ブロックと同ブロックに接続された位置データ算出回路が設けられている。位置データ用エンコーダ信号増幅回路は、光学コード板（図示省略）の回転（ロータリエンコーダの場合）あるいは直線移動（リニアエンコーダの場合）に応じて生成される諸相（Ａ相、Ｂ相、Ｚ相等）の信号を増幅するアナログ信号回路で、同回路で増幅された信号はＡＤ変換等の処理を受けた後、位置データ算出回路に入力される。図中に記した通り、位置データ算出回路は、周知の計算処理に基づいて位置（回転位置あるいは直線移動位置）を計算する回路であり、ＬＳＩからなる論理回路の一部を構成している。
【０００６】
計算された位置データは、他の諸回路の出力と同様に、シリアルデータ送受信制御回路を通して順次トランシーバに入力され、そこから数値制御装置（ＣＮＣ）へ送信される。数値制御装置（ＣＮＣ）は、この位置データに基づき、フィードバック制御等を行なう。但し、数値制御装置（ＣＮＣ）に送られる位置データは、必要に応じて、不揮発性記憶素子に記憶されたデータを用いて修正乃至加工される。即ち、エンコーダ回路中に設けられた不揮発性記憶素子には、サーボモータやエンコーダのＩＤ情報（仕様データ、製造年月日、個体のシリアル番号等）、あるいは、エンコーダの検出精度を確保するための精度補正データ等（図１中の※印参照）が書き込まれており、これらデータは不揮発性記憶素子リード回路によって読み出され、数値制御装置内で行なわれる計算（例えば個々のエンコーダに特有の誤差の補正）に使用される。また、速度データが必要な場合、位置データ算出回路を「位置データ及び速度データ算出回路」として、エンコーダ内で速度データを作成することもできるし、数値制御装置内で位置データに基づいて計算することもできる。
【０００７】
このような位置検出にはできるだけ高精度であることが要求されるため、上記の位置データ用エンコーダ信号増幅回路で扱われる信号は、極めて精度の高いものであり、図中に「（精）」と括弧書きしたのはこの趣旨を表わしている。エンコーダ回路には、このような高精度の位置情報検出のための回路の外に、図中に「（粗）」と括弧書きで示したように、粗い精度（ロータリエンコーダであれば回転数が分かる程度の精度；リニアエンコーダであれば例えばリニアモータの１磁極周期程度の誤差で位置が分かる程度の精度）でモータ軸の位置を表わす信号として磁極データ用エンコーダ信号を出力する回路が設けられている。この信号は、磁極データ算出回路に入力され、その計算結果は、他の諸回路の出力と同様に、シリアル送受信回路、トランシーバを介して数値制御装置（ＣＮＣ）へ送られ、エンコーダあるいはモータの総回転数（エンコーダがリニアエンコーダの場合は、エンコーダあるいはリニアモータの総移動距離）の検出等に利用される。
【０００８】
ＬＳＩからなる論理回路には、上記した位置データ算出回路、磁極データ算出回路、不揮発性記憶素子リード回路の外に、アラーム検出回路及び温度検出回路が含まれている。温度検出回路は、エンコーダの温度を感知するエンコーダ温度検出素子の出力及びサーボモータの温度を感知するサーボモータ温度検出素子の出力に基づいて、エンコーダの温度及びモータの温度を検出し、検出結果をアラーム検出回路に入力する。アラーム検出回路にはこれら温度関連の信号の外に、位置検出回路及び磁極検出回路の出力が入力される。なお、場合によっては、温度検出回路による検出結果のアラーム検出回路への入力は省かれる場合もある（その場合、図１において符号Ａで示した矢印は割愛される）。
【０００９】
アラーム検出回路は、これら入力信号に基づき、１つまたは複数のチェック項目について異常の有無を検出して、異常を検出したチェック項目について「アラーム」を出力する。アラームの種類には、例えばオーバヒートアラーム、ポジションアラーム等がある。１つのチェック項目についての異常有無の判定は、通常、複数のチェック要因についての異常有無の検出結果に基づいて行なわれる。具体的には、各チェック要因についての異常有無の検出結果の論理和がとられ、それがシリアルデータ送受信回路、トランシーバを介して数値制御装置に送られる。例えばオーバヒートアラームは、「エンコーダあるいはサーボモータのオーバヒートに関連するなんらかの異常があるか否か」というチェック項目について検出結果が「異常あり」であれば出力されるもので、「異常あり」かどうかは、例えば次の４つのチェック結要因についてのチェック結果から判定される。
【００１０】
（チェック要因１）＝エンコーダの温度異常（しきい値を越えた温度）の有無。異常あればこのチェック要因についての出力は値“１”、なければ値“０”をとる。  
（チェック要因２）＝エンコーダ温度検出素子の動作不良の有無。例えば検出信号の出力がない、あるいは異常値（例えば有り得ない温度を示す値）を表わす場合には、このチェック要因についての出力は、動作不良を表わす値“１”をとり、そうでなければ値“０”をとる。  
（チェック要因３）＝サーボモータの温度異常（しきい値を越えた温度）の有無。異常あればこのチェック要因についての出力は値“１”、なければ値“０”をとる。  
（チェック要因４）＝サーボモータ温度検出素子の動作不良の有無。例えば検出信号の出力がない、あるいは異常値（例えば有り得ない温度を示す値）を表わす場合には、このチェック要因についての出力は、動作不良を表わす値“１”をとり、そうでなければ値“０”をとる。
【００１１】
上記各チェック要因の各チェック結果を表わすバイナリ値（“０”または“１”）はＯＲ回路に入力され論理和が出力される。この倫理和が“１”を示した時、数値制御装置はこれをオーバヒートアラーム情報として受け取り、サーボモータを非常停止させ、“オーバヒートアラーム”の表示の処理を実行する。なお、当然のことであるが、このようにオーバヒートがチェック項目に入っている場合には、図１における矢印Ａで示したライン（温度検出回路による検出結果のアラーム検出回路への入力）の省略は行なわれない。但し、このラインが省略された場合でも、アラーム検出回路に入力される各エンコーダ信号（精及び粗）をチェックすることで、ポジションアラーム（チェック項目は、「エンコーダ信号（精）関連の異常があるか否か）、あるいは、磁極アラーム（チェック項目は、「エンコーダ信号（粗）関連の異常があるか否か）を出力することができる。
【００１２】
いずれにしても、数値制御装置に送られるのは、各アラームの出力を左右する各チェック要因毎の個々のチェック結果ではなく、それらの論理和であるため、数値制御装置では詳しい異常要因は判らない。例えば「オーバヒートアラーム」が出力された場合、それを起こし得る要因（上記例では４つ）の内のいずれが原因となってオーバヒートアラームが出されたのか特定できない。即ち、エンコーダ自身のオーバヒート、エンコーダ温度検出素子の動作不良、サーボモータのオーバヒート、サーボモータ温度検出素子の動作不良の内のいずれに原因があるのか判然としない。また、各チェック項目の個々の結果はどこにも残らない。換言すれば、異常発生原因究明のために役立つ可能性のあるデータが、数値制御装置に伝えれておらず、保存もされない。
【００１３】
従って、異常を起こして交換されたエンコーダを、後日、専門部署で調査するにしても、異常発生時の内部データがエンコーダに残されていないため、原因調査は簡単ではない。即ち、エンコーダ自身が不揮発性記憶素子を搭載していても、それが異常発生時の状況を記憶するために活用されていないので、異常発生の原因究明には余り役に立たなかった。
【００１４】
【特許文献１】特許第３１８３４２７号
【特許文献２】実開平１−１４３２９７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
そこで、本発明の目的は、上記従来技術の問題点を解消したエンコーダを提供することにある。即ち、本発明は、エンコーダの保守時あるいは調査時に、異常発生時の状況を確認できるようにして、異常発生の原因を特定することを容易にし、保守性の向上を図るものである。また、そのことを通して、異常発生に対する対策を立て易くすることで、エンコーダの信頼性の向上を図るものである。
【課題を解決するための手段】
【００１６】
本発明は、エンコーダに設けられた記憶素子に、異常発生時またはその直前（異常発生時から所定時間遡った時点）のエンコーダやサーボモータ内部情報を記憶させることで、上記課題を解決したものである。即ち、本発明は、エンコーダに、記憶素子と、前記エンコーダ及び前記モータの少なくとも一方に関する異常チェック項目について異常の有無を表わす信号を生成する異常信号生成手段とを設け、前記異常信号生成手段により、前記異常チェック項目について異常の存在を表わす信号が生成された時に、該時点または該時点より所定時間前の時点における前記エンコーダの内部情報が前記記憶素子に記憶されるようにした点に基本的な特徴がある。なお、以下の説明では、この「異常の存在を表わす信号が生成された時点」、あるいは、「該時点より所定時間前の時点」のことを適宜「異常発生対応時点」と呼ぶことにする。
【００１７】
ここで、前記内部情報には、下記（１）〜（５）の内の少なくとも１つを含ませることができる。  
（１）前記異常の存在を表わす信号が生成された時点または該時点より所定時間前の時点において前記エンコーダが検出している位置情報。  
（２）前記異常の存在を表わす信号が生成された時点または該時点より所定時間前の時点において前記エンコーダが検出している速度情報。  
（３）前記異常の存在を表わす信号が生成された時点または該時点より所定時間前の時点におおける前記エンコーダの温度情報。  
（４）前記異常の存在を表わす信号が生成された時点または該時点より所定時間前の時点におおける前記サーボモータの温度情報。  
（５）前記異常の存在を表わす信号が生成された時点または該時点より所定時間前の時点において、異常と判断した根拠となる情報。
【００１８】
また、エンコーダに、前記エンコーダ及びモータの少なくとも一方に関する複数の異常チェック項目の各々について異常の有無を表わす信号を生成する異常信号生成手段とを設け、前記内部情報には、前記複数の異常チェック項目の内の少なくとも１つについて異常の存在を表わす信号が前記異常信号生成手段により生成された時点または該時点より所定時間前の時点における前記複数の異常チェック項目の夫々について異常の有無を表わす信号の情報が含まれるようにすることもできる。
【００１９】
更に、エンコーダに同エンコーダの積算総移動量を計測する積算総移動量計測手段を設け、前記内部情報に、前記異常発生対応時点において前記積算総移動量計測手段によって計測されている積算総移動量の情報を含ませることもできる。なお、エンコーダがロータリエンコーダの場合、積算総移動量は積算総回転数で表現することができ、リニアエンコーダの場合は、積算総移動量は積算総移動距離で表現することができる。  
同様に、エンコーダの積算稼働時間を計測する積算稼働時間計測手段を設け、前記内部情報に、前記異常発生対応時点において前記積算稼働時間計測手段によって計測されている積算稼働時間の情報を含ませることもできる。なお、エンコーダに設けられる記憶素子としては、通常、不揮発性記憶素子が採用されるが、バックアップ電源（例えば内蔵バッテリ）が存在すれば、揮発性記憶素子を用いることも可能である。
【発明の効果】
【００２０】
本発明によれば、エンコーダの保守時あるいは調査時に、異常発生時のエンコーダやサーボモータの状態が確認できるため、異常発生の原因を特定することが容易となり、保守性が向上する。また、異常発生に対する対策が立て易くなり、エンコーダの信頼性が向上する。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施形態について説明する。先ず図２は、本発明の実施形態に係るエンコーダについて説明する回路ブロック図である。同図に示したように、エンコーダ回路には、従来例と同様に、位置データ用エンコーダ信号増幅回路にＡＤ変換器等を組み合わせた回路ブロックと同ブロックに接続された位置データ算出回路が設けられている。位置データ用エンコーダ信号増幅回路は、光学コード板（図示省略）の回転（ロータリエンコーダの場合）あるいは直線移動（リニアエンコーダの場合）に応じて生成される諸相（Ａ相、Ｂ相、Ｚ相等）の信号を増幅するアナログ信号回路で、同回路で増幅された信号はＡＤ変換等の処理を受けた後、位置データ算出回路に入力される。
【００２２】
位置データ算出回路は、周知の計算処理に基づいて位置（回転位置あるいは直線移動位置）を計算する回路で、ＬＳＩからなる論理回路の一部を構成している。計算された位置データは、他の諸回路の出力と同様に、シリアルデータ送受信制御回路を通して順次トランシーバに入力され、そこから数値制御装置（ＣＮＣ）へ送信される。
【００２３】
一方、エンコーダ回路中には、従来例と同じく、不揮発性記憶素子が設けられている。但し、この不揮発性記憶素子は、大別して２種類の情報の記憶のために用いられる。１つ目の種類の情報は、従来例において記憶される情報と同様の情報、即ち、サーボモータやエンコーダのＩＤ情報（仕様データ、製造年月日、個体のシリアル番号等）、あるいは、エンコーダの検出精度を確保するための精度補正データ等である。これらデータは、従来例の場合と同じく、不揮発性記憶素子リード／ライト回路によって読み出され、数値制御装置内で行なわれる計算（例えば個々のエンコーダに特有の誤差の補正）やデータ加工に使用される。
【００２４】
数値制御装置（ＣＮＣ）は、位置データ（補正がある場合は補正後のデータ）に基づき、フィードバック制御等を行なう。なお、速度データが必要な場合、位置データ算出回路を「位置データ及び速度データ算出回路」として、エンコーダ内で速度データを作成することもできるし、数値制御装置内で位置データに基づいて計算することもできる。
【００２５】
不揮発性記憶素子に記憶される２つ目の種類の情報は、アラーム時に記憶される種々の内部情報である。ここで、「内部情報」とは、そのエンコーダあるいは同エンコーダが被検査対象としているサーボモータのその時々の状態を表わす情報で、少なくとも稼働時には刻々変化する性質を持つ情報である。以下、回路ブロック構成の説明を続けながら、アラーム関連の事項についても詳述する。
【００２６】
従来例の説明でも述べたように  位置データ用エンコーダ信号増幅回路では極めて精度の高い信号（「（精）」を括弧書き）を扱う一方、粗い精度（ロータリエンコーダであれば回転数が分かる程度の精度；リニアエンコーダであれば例えばリニモータの１磁極周期程度の誤差で位置が分かる程度の精度）でモータ軸の位置を表わす信号（「（粗）」を括弧書き）として磁極データ用エンコーダ信号を出力する回路が設けられている。
【００２７】
この信号は、磁極データ算出回路に入力され、その計算結果は、他の諸回路の出力と同様に、シリアル送受信回路、トランシーバを介して数値制御装置（ＣＮＣ）へ送られ、エンコーダあるいはモータの総回転数の検出等に利用される。ＬＳＩからなる論理回路には、上記した位置データ算出回路、磁極データ算出回路、不揮発性記憶素子リード／ライト回路の外に、アラーム検出回路及び温度検出回路が含まれている。温度検出回路は、エンコーダの温度を感知するエンコーダ温度検出素子の出力及びサーボモータの温度を感知するサーボモータ温度検出素子の出力に基づいて、エンコーダの温度及びモータの温度を検出し、検出結果をアラーム検出回路に入力する。アラーム検出回路にはこれら温度関連の信号の外に、位置検出回路及び磁極検出回路の出力が入力される。
【００２８】
アラーム検出回路は、これら入力信号に基づき、１個または複数のチェック項目について異常の有無を検出する。各チェック項目は、アラームの種類（オーバヒートアラーム、ポジションアラーム等）に対応しており、各チェック項目の検出結果は“１”（異常あり）と“０”（異常なし）で出力され、前者の出力があった時、そのチェック項目に対応するアラームが数値制御装置に送られる。各チェック項目の検出結果が“１”となるか“０”となるかは、そのチェック項目に関係するチェック要因の異常の有無で決まる。通常、１つのチェック項目に関係するチェック要因は２個以上あり、それらの内の１つにでも異常が有れば、そのチェック項目の出力は“１”（異常あり）とされる。具体的には、各チェック要因毎の判定結果を表わす信号の論理和がシリアルデータ送受信回路、トランシーバを介して数値制御装置に送られる。この論理和が“１”となればアラームが出力されたことになる。
【００２９】
その一方、アラーム発生時（少なくとも１つのチェック要因の異常有無判定結果が“異常”を示した時）には、前述した「異常発生対応時点」（その時点あるいは該時点より所定時間前の時点）における各種内部情報が、不揮発性記憶素子リード／ライト回路を介して不揮発性記憶素子に書き込まれる。図２中の印※１〜※４はその例を示している。※１〜※４は下記の情報を表わしている。  
※１＝アラーム信号；アラームの発生自体を表わす信号。  
※２＝温度情報；温度検出回路で検出されたエンコーダの温度、及び、モータの温度を表わす情報。  
※３＝位置情報または速度情報；位置データ算出回路及び磁極データ算出回路で算出された位置情報または速度情報。  
※４＝異常判断根拠情報；異常ありとの判断をもたらす根拠となった情報で、システム各部（エンコーダ、サーボモータ、エンコーダ温度検出素子、サーボモータ温度検出素子）の状態をより生に近い形で表わしている。
【００３０】
更に、上記※１のアラーム信号に付帯して、各チェック項目のチェック結果を表わす情報も不揮発性記憶素子リード／ライト回路を介して不揮発性記憶素子に書き込まれる。これを図を参照して説明する。図３は、本実施形態で用いられるアラーム検出回路の構成例を示している。同図において、アラーム情報の種類毎の状態を表わすビットがｂ２、ｂ１、ｂ０で表わされており、例えば、ｂ２は従来例で述べた「オーバヒートアラーム」に対応するビットであり、ｂ１、ｂ０は、夫々「ポジションアラーム」、「磁極アラーム」に対応するビットである。アラーム情報の種類（ビット数）はここでは、「３」としたがこれはあくまで例示であり、一般には数個〜数１０個程度である。
【００３１】
図示されているように、各アラーム情報の種類毎にグループ化されている複数のバイナリ入力が設けられ、各グループ毎の論理和で各ビットｂ２、ｂ１、ｂ０のバイナリ値が決まるようになっている。ここに示した例では、ビットｂ２のバイナリ値は４個のバイナリ入力ｂ２−１、ｂ２−２、ｂ２−３、ｂ２−４の論理和で決まるように論理回路が構成されている。同様に、ビットｂ１のバイナリ値は２個のバイナリ入力ｂ１−１、ｂ１−２で決まり、ビットｂ０のバイナリ値は２個のバイナリ入力ｂ０−１、ｂ０−２で決まるようになっている。なお、各アラーム情報の種類毎（ビット毎）に用意される入力の個数についても、ここに示した数（ｂ２について４個、ｂ１について２個、ｂ０について２個）はいずれも例示である。
【００３２】
今、ｂ２、ｂ１、ｂ０を、上記したように、夫々「オーバヒートアラーム」、「ポジションアラーム」、「磁極アラーム」に対応するビットであるとした時、各入力ｂ２−１〜ｂ０−２を、例えば次のようなチェック項目についての状態（正常／異常区別）を表わす信号とすることができる。  
［ビットｂ２（オーバヒートアラームのビット）の値を左右する信号］
●ｂ２−１＝前出のチェック項目１に対応する入力で、エンコーダの温度異常（しきい値を越えた温度）の有無を表わす。異常あれば値“１”のバイナリ信号となり、なければ値“０”のバイナリ信号となる。  
●ｂ２−２＝前出のチェック項目２に対応する入力で、エンコーダ温度検出素子の動作不良の有無を表わす。例えば検出信号の出力がない、あるいは異常値（例えば有り得ない温度を示す値）を表わす場合には、動作不良として値“１”のバイナリ信号となり、そうでなければ値“０”のバイナリ信号となる。
【００３３】
●ｂ２−３＝前出のチェック項目３に対応する入力で、サーボモータの温度異常（しきい値を越えた温度）の有無を表わす。異常あれば値“１”のバイナリ信号となり、なければ値“０”のバイナリ信号となる。  
●ｂ２−４＝前出のチェック項目４に対応する入力で、サーボモータ温度検出素子の動作不良の有無を表わす。例えば検出信号の出力がない、あるいは異常値（例えば有り得ない温度を示す値）を表わす場合には、動作不良として値“１”のバイナリ信号となり、そうでなければ値“０”のバイナリ信号となる。
【００３４】
図示されている通り、これら４つの信号の論理和がビットｂ２の値となる。即ち、もし、ｂ２−１〜ｂ２−４の内の少なくとも１つが“１”であれば、ビットｂ２の値は“１”となり、ｂ２−１〜ｂ２−４がすべて“０”であれば、ビットｂ２の値は“０”となる。  
【００３５】
［ビットｂ１（ポジションアラームのビット）の値を左右する信号］
●ｂ１−１＝位置データ算出回路で算出結果が、エンコーダ信号生成部の不良（例えば光学式エンコーダの光源の故障、光検出器の故障等）を表わしている場合に値“１”のバイナリ信号となり、それ以外でば値“０”のバイナリ信号となる。  
●ｂ１−２＝位置データ算出回路で算出結果が、位置データ自身の異常（例えばその軸が取り得ない値を示していること）の有無を表わす。異常であれば値“１”のバイナリ信号となり、なければ値“０”のバイナリ信号となる。
【００３６】
図示されている通り、これら２つの信号の論理和がビットｂ１の値となる。即ち、もし、ｂ１−１、ｂ１−２の内の少なくとも１方が“１”であれば、ビットｂ１の値は“１”となり、両方が“０”であれば、ビットｂ１の値は“０”となる。
【００３７】
［ビットｂ０（磁極アラームのビット）の値を左右する信号］
●ｂ０−１＝磁極データ算出回路で算出結果が、磁極信号生成部の不良（例えば光学式エンコーダの１回転信号生成部の光源や光検出器の故障等）を表わしている場合に値“１”のバイナリ信号となり、それ以外でば値“０”のバイナリ信号となる。  
●ｂ０−２＝磁極データ算出回路で算出結果が、磁極データ自身の異常（例えばその軸が取り得ない値を示していること）の有無を表わす。異常であれば値“１”のバイナリ信号となり、なければ値“０”のバイナリ信号となる。
【００３８】
図示されている通り、これら２つの信号の論理和がビットｂ０の値となる。即ち、もし、ｂ０−１、ｂ０−２の内の少なくとも１方が“１”であれば、ビットｂ１の値は“１”となり、両方が“０”であれば、ビットｂ１の値は“０”となる。  
このようにしてアラームを構成するビットｂ２、ｂ１、ｂ０の値が定められる場合、ビットｂ２、ｂ１、ｂ０の内の少なくとも１つが値“１”を示せば、数値制御装置（ＣＮＣ）はこれをアラーム情報として受け取る訳であるが、数値制御装置（ＣＮＣ）が認識し得るのは、ビットｂ２、ｂ１、ｂ０の各値だけである。
【００３９】
従って、例えばｂ２＝１となった場合、上述のように「オーバヒートアラーム」は出力できるが、その原因が上記４つのチェック項目のいずれによるものか、言い換えれば、「エンコーダの温度異常」、「エンコーダ温度検出素子の動作不良」、「サーボモータの温度異常」、「サーボモータ温度検出素子の動作不良」の内のいずれ（場合によっては２つ以上）によるものか特定できない。
【００４０】
そこで、本実施形態では、既述の通り、エンコーダが内部で異常を検出した時、数値制御装置（ＣＮＣ）に「オーバヒートアラーム」、「ポジションアラーム」、「磁極アラーム」の情報をシリアルデータ送受信制御回路を通して送信するとともに、エンコーダ内では、エンコーダの内部情報を不揮発性記憶素子にエンコーダ自身が書き込む。ここで不揮発性記憶素子に記憶される情報は、上記の※１〜※４の情報の他、各異常チェック項目に対応する各チェック要因の判定結果を示す情報で、上記例では、ｂ２−１〜ｂ２−４、ｂ１−１、ｂ１−２、ｂ０−１、ｂ０−１の各値がそれに相当する。従って、これらｂ２−１〜ｂ２−４、ｂ１−１、ｂ１−２、ｂ０−１、ｂ０−１の各値（“０”または“１”）が記憶される。
【００４１】
このようにして、情報を異常発生時にエンコーダ自身の不揮発性記憶素子に記憶されたデータは、必要に応じて、外部の不揮発性記憶素子リード／ライト回路（外部）を用いて読み出すことができる。例えば、異常発生により取り外されたエンコーダを後日専門部署で調査する際に、不揮発性記憶素子リード／ライト回路（外部）を不揮発性記憶素子に接続して、記憶されたデータを読み出すことができる。図示は省略したが、これらデータをディスプレイに表示したり、あるいは、プリンタで印刷したりすることで、数値制御装置によるアラーム情報では判らなかった詳細な情報を知ることができる。例えば、「オーバヒートアラーム」が出力された場合、それか、「エンコーダの温度異常」、「エンコーダ温度検出素子の動作不良」、「サーボモータの温度異常」、「サーボモータ温度検出素子の動作不良」の内のいずれ（場合によっては２つ以上）によるものかを特定することができる。
【００４２】
また、「ポジションアラーム」あるいは「磁極アラーム」が出力された場合、対応するチェック結果を表わす信号（上記ｂ１−１、ｂ１−２あるいはｂ０−１、ｂ０−２）の状態とともに、異常発生時の「位置データ算出回路によって算出された位置データ」及び「磁極データ算出回路によって算出された磁極データ」が判るので、異常発生原因の究明がやり易くなる。
【００４３】
以上が本発明の１つの実施形態についての説明であるが、不揮発性記憶素子には、エンコーダの寿命に関連する情報を記憶するようにエンコーダを構成することもできる。例えば図２に示した回路ブロック構成に代えて図４に示した回路ブロック構成を採用することで、異常発生対応時点におけるエンコーダの「積算総回転数」を記憶することができる。図４に示した変形例は、「積算総回転数」を計数するブロックが加えられている点を除けば、図２に示した回路ブロック構成と同じであり、アラーム検出回路の構成も同じである（詳細説明の繰り返しは省略）。その動作についても、異常発生時に異常発生対応時点におけるエンコーダの「積算総回転数」が不揮発性メモリに記憶されることが加わっている点を除けば、上記実施形態と同様である。
【００４４】
図４に示した変形例で設けられている「積算総回転数」の回路ブロックは、磁極データ算出回路の出力に基づいてエンコーダの使用開始以後の総回転数を積算計数するものである。そして、エンコーダが内部で異常を検出した時、即ち、数値制御装置（ＣＮＣ）に「オーバヒートアラーム」、「ポジションアラーム」、「磁極アラーム」の情報をシリアルデータ送受信制御回路を通して送信するとともに、エンコーダ内では、エンコーダの内部情報を不揮発性記憶素子にエンコーダ自身が書き込む。但し、この変形例では、異常発生時に不揮発性メモリに書き込ませる内部情報に、前出の※１〜※４の情報に加えて、「異常発生対応時点における、エンコーダの使用開始以後の積算総回転数」が含まれる。
【００４５】
また、「積算総回転数」の回路ブロックに代えて（あるいはそれに加えて）、そのエンコーダの使用開始以来の積算総稼働時間を異常発生時の記憶情報に加えることもできる。即ち、「異常発生対応時点における、エンコーダの使用開始以後の積算総回転数」に代えて、あるいは、それに加えて「異常発生対応時点における、エンコーダの使用開始以後の積算総稼働時間（エンコーダの電源がオン状態にあった積算時間）」を異常発生時に不揮発性記憶素子に書き込むようにすることができる。
【００４６】
これら変形例で記憶された情報は、異常が発生した場合に、それがエンコーダの寿命に関連するものであるかどうか判断する上で有用な材料を提供する。例えば、上記のｂ１−１が“１”となって、ポジションアラームが出力された場合、もし上記積算総回転数あるいは積算総稼働時間の情報がエンコーダの寿命到来を意味するもの（例えば、仕様上推定されている総回転数を遥かに越えた総回転数）であれば、「寿命到来による異常」と判断できるし、それでなければ他の原因と判断できる。
【００４７】
なお、エンコーダがリニアエンコーダの場合、図４に示した回路ブロック構成において、「積算総回転数」を計測するブロックは、「積算総移動距離」とし、異常発生対応持に記憶される情報を、「積算総回転数」に代えて、「積算総移動距離」とすれば良い。また、上述の実施形態及びその変形例の説明では、エンコーダに装備される記憶素子は「不揮発性記憶素子」であるとして説明したが、バックアップ電源（例えば内蔵バッテリ）が確保されているのであれば、揮発性記憶素子の採用が可能であることは言うまでもない。
【図面の簡単な説明】
【００４８】
【図１】自己診断−アラーム情報転送機能を持ち、不揮発性記憶素子を備えたエンコーダの従来例について説明する回路ブロック図である。
【図２】本発明の１つの実施形態に係るエンコーダについて説明する回路ブロック図である。
【図３】本発明の実施形態で用いられるアラーム検出回路の構成例を示している。
【図４】本発明の変形実施形態に係るエンコーダについて説明する回路ブロック図である。
【図１】
2005221258.tif 000003
【図２】
2005221258.tif 000004
【図３】
2005221258.tif 000005
【図４】
2005221258.tif 000006