(57)【特許請求の範囲】
【請求項１】
一方向に無限に回転し、その回転周期で位置が０にリセットされる無限長軸の位置情報を絶対値エンコーダを使用して管理する数値制御装置における無限長位置管理装置において、
システムの電源断時の前記絶対値エンコーダの位置とパルス単位の無限長軸の位置を格納するバッテリバックアップされたメモリ（３）と、前記システムの電源断後の電源投入時に得られた前記絶対値エンコーダの位置と前記システムの電源断時の前記絶対値エンコーダの位置との相対位置を求め、その相対位置から前記システムの電源投入時のパルス単位の無限長軸の位置を求めるとともに、前記パルス単位の無限長軸の位置について、下記の式で示される端数対策後のパルス単位の無限長軸の周期を超えるとこの位置を０にリセットする無限長軸の周期管理処理部（２）と、システムの通常運転時に前記絶対値エンコーダの位置とパルス単位の無限長軸の位置を格納する現在の位置情報格納メモリ（４）とを備えたことを特徴とする数値制御装置における無限長位置管理装置。
端数対策後のパルス単位の無限長軸の周期＝
（Ｃｎｕｍ／Ｃｄｅｎ）×物理単位の無限長軸の周期
ただし、Ｃｎｕｍは物理単位からパルス単位への変換定数の分子（整数）、
Ｃｄｅｎは物理単位からパルス単位への変換定数の分母（整数）である。
【請求項２】
一方向に無限に回転し、その回転周期で位置が０にリセットされる無限長軸の位置情報を絶対値エンコーダを使用して管理する数値制御装置において、
システムの電源断時の前記絶対値エンコーダの位置とパルス単位の無限長軸の位置を格納するバッテリバックアップされたメモリ（３）と、前記システムの電源断後の電源投入時に得られた前記絶対値エンコーダの位置と前記システムの電源断時の前記絶対値エンコーダの位置との相対位置を求め、その相対位置から前記システムの電源投入時のパルス単位の無限長軸の位置を求めるとともに、前記パルス単位の無限長軸の位置について、下記の式で示される端数対策後のパルス単位の無限長軸の周期を超えるとこの位置を０にリセットする無限長軸の周期管理処理部（２）と、システムの通常運転時に前記絶対値エンコーダの位置とパルス単位の無限長軸の位置を格納する現在の位置情報格納メモリ（４）とを備えたことを特徴とする数値制御装置。
端数対策後のパルス単位の無限長軸の周期＝
（Ｃｎｕｍ／Ｃｄｅｎ）×物理単位の無限長軸の周期
ただし、Ｃｎｕｍは物理単位からパルス単位への変換定数の分子（整数）、
Ｃｄｅｎは物理単位からパルス単位への変換定数の分母（整数）である。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、工作機械や自動組み立て装置、自動搬送装置などの制御に用いる数値制御装置に関する発明であり、さらに詳しくは、絶対値エンコーダを使用した場合の無限長位置管理装置に関する発明である。
【０００２】
【従来の技術】
従来、回転テーブルやベルトコンベアなどのように一方向に無限に回転し、その周期で位置が０にリセットされるような無限長軸にはインクリメンタルエンコーダが一般に使用され、システムの電源を投入する毎に原点復帰操作をおこなうことにより位置情報を確定していた。
このような原点復帰操作を不要とするために、本出願人は、特開平５−３２２６００「絶対位置管理装置」および特開平５−３４０７６４「絶対位置管理装置」において、絶対値エンコーダを用いた絶対位置管理装置を提案した。これは、電源断時など絶対位置データが必要な場合に、読み出した絶対位置データと現在位置記憶部に格納されているデータとにより、整合性のとれた正しい位置制御部の絶対位置を求めることができるため、絶対位置検出器を無限長位置決めに使用できるようにしたものである。
【０００３】
【発明が解決しようとする課題】
一般に、絶対値エンコーダの位置情報が０にリセットされる周期と無限長軸の周期は同じではないため、システムの電源の切／入の前後で無限長軸の位置が異なる値になるという問題があった。電源投入時の無限長軸の位置は、電源投入時に得られた絶対値エンコーダの位置をもとに作成するが、図３のように任意の回転量の位置における絶対値エンコーダの位置と無限長軸の位置は一致しないので、電源投入時に得られた絶対値エンコーダの位置をそのまま無限長軸の位置として扱うことができないことがわかる。
また、無限長軸の周期が物理単位で与えられた場合、その周期が整数の値であっても、エンコーダの単位であるパルス単位に変換したときに整数の値にならず、端数が残る可能性がある。この状態で一方向に回転を続けた場合、この端数が蓄積していくことになり、結果として位置ずれが発生するという問題があった（図４）。
本発明は、このような問題点を解決し、電源断時と電源再投入時の無限長軸の位置ずれをなくした装置を提供することを目的とする。
【０００４】
【課題を解決するための手段】
上記問題を解決するために、本発明は、一方向に無限に回転し、その回転周期で位置が０にリセットされる無限長軸の位置情報を絶対値エンコーダを使用して管理する数値制御装置における無限長位置管理装置または数値制御装置において、
システムの電源断時の前記絶対値エンコーダの位置とパルス単位の無限長軸の位置を格納するバッテリバックアップされたメモリ（３）と、前記システムの電源断後の電源投入時に得られた前記絶対値エンコーダの位置と前記システムの電源断時の前記絶対値エンコーダの位置との相対位置を求め、その相対位置から前記システムの電源投入時のパルス単位の無限長軸の位置を求めるとともに、前記パルス単位の無限長軸の位置について、下記の式で示される端数対策後のパルス単位の無限長軸の周期を超えるとこの位置を０にリセットする無限長軸の周期管理処理部（２）と、システムの通常運転時に前記絶対値エンコーダの位置とパルス単位の無限長軸の位置を格納する現在の位置情報格納メモリ（４）とを備えたことを特徴とする。
端数対策後のパルス単位の無限長軸の周期＝
（Ｃｎｕｍ／Ｃｄｅｎ）×物理単位の無限長軸の周期
ただし、Ｃｎｕｍは物理単位からパルス単位への変換定数の分子（整数）、
Ｃｄｅｎは物理単位からパルス単位への変換定数の分母（整数）である。
本発明は、絶対値エンコーダの位置をそのまま使用するのではなく、システムの電源断時の絶対値エンコーダの位置と、次回電源投入時に得られた絶対値エンコーダの位置の相対位置を使用して電源投入時の無限長軸の位置を求める。まず、通常運転時には、システムのスキャン毎に「絶対値エンコーダの位置」と「パルス単位の無限長軸の位置」を、ペアの位置情報として数値制御装置内のバッテリバックアップされたメモリに保存しておく（図２）。これらの位置情報は、次回電源投入時に電源断時の位置情報として扱われる。次に、システムの電源再投入時には、保存しておいた「電源断時の絶対値エンコーダの位置」と新たに得られた「電源投入時の絶対値エンコーダの位置」から相対位置を求め、この相対位置を保存しておいた「電源断時のパルス単位の無限長軸の位置」に加算し、これを「パルス単位の無限長軸の周期」Ｒｐで割ったものの剰余を求めることにより、「電源投入時のパルス単位の無限長軸の位置」を得ることができる。
Ｐs ＝（Ｐe ＋（Ｅs −Ｅe））／Ｒｐ  の剰余            ・・・（１）
ここで、
Ｐs：電源投入時のパルス単位の無限長軸の位置
Ｐe：電源断時のパルス単位の無限長軸の位置
Ｅs：電源投入時の絶対値エンコーダの位置
Ｅe：電源断時の絶対値エンコーダの位置
Ｒp：パルス単位の無限長軸の周期
である。
また、物理単位で与えられた無限長軸の周期をエンコーダの単位であるパルス単位に変換したときの演算誤差の蓄積の問題を解決するために、本発明では、「パルス単位の無限長軸の周期」に変換定数の分母を乗算することにより端数をなくし、この値を使用して周期管理をおこなう。まず、式（２）のように、物理単位で与えられた無限長軸の周期をエンコーダの単位であるパルス単位に変換する。
Ｒp ＝Ｃnum ／Ｃden ×Ｒph                            ・・・（２）
ここで、
Ｒp：パルス単位の無限長軸の周期
Ｒph：物理単位の無限長軸の周期
Ｃnum：物理単位→パルス単位変換定数（分子）：整数
Ｃden：物理単位→パルス単位変換定数（分母）：整数
しかし、このままでは値が整数とならないため、式（３）のような操作をおこない、端数をなくした無限長軸の周期を求める。
Ｒ＝（Ｃnum ／Ｃden）×Ｒph×Ｃden                    ・・・（３）
ここで、  ×Ｃden：端数をなくすための操作
Ｒ：端数対策後の無限長軸の周期
である。式（３）を通分し、
Ｒ＝Ｃnum ×Ｒph                                      ・・・（４）
を得る。
この「端数対策後のパルス単位の無限長軸の周期」Ｒは、「物理単位の無限長軸の周期」Ｒｐｈの整数倍であると同時に「パルス単位の無限長軸の周期」Ｒｐの整数倍であることがわかる。この「端数対策後のパルス単位の無限長軸の周期」Ｒを使用し、「パルス単位の無限長軸の位置」Ｐtが０〜「端数対策後のパルス単位の無限長軸の周期」Ｒの範囲の値を持つように、「端数対策後のパルス単位の無限長軸の周期」Ｒを超えると位置を０にリセットするといった周期管理をおこなうものとする。周期管理は、式（５）の演算をおこなうことにより実現できる。
Ｐt ＝（Ｐt-1 ＋（Ｅt −Ｅt-1 ）＋Ｒ）／Ｒの剰余       ・・・（５）
ここで、
Ｐt：時刻ｔにおける、パルス単位の無限長軸の位置
Ｐt-1：時刻ｔ−１における、パルス単位の無限長軸の位置
Ｅt：時刻ｔにおける、絶対値エンコーダの位置
Ｅt-1：時刻ｔ−１における、絶対値エンコーダの位置
である。
「パルス単位の無限長軸の位置」Ｐtが「端数対策後のパルス単位の無限長軸の周期」Ｒで周期管理されることから、必然的に式（１）も式（６）に置き換えられる。
Ｐs ＝（Ｐe ＋（Ｅs −Ｅe））／Ｒ  の剰余              ・・・（６）
実際の「電源投入時の無限長軸の位置」は物理単位で得る必要がある。これは、式（７）のように、「電源投入時のパルス単位の無限長軸の位置」Ｐsを物理単位に変換し、さらに物理単位の無限長軸の周期の剰余を求めることで得ることができる。
Ｘｓ＝（（Ｃden ／Ｃnum ）×Ｐｓ）／Ｒpｈの剰余          ・・・（７）
ここで、
Ｘｓ：電源投入時の物理単位の無限長軸の位置
である。
【０００５】
【発明の実施の形態】
以下、本発明の実施例を図に基づいて説明する。
図１は、電源投入時の数値制御装置の動作を説明するためのブロック図である。
図中１は数値制御装置、２は無限長軸の周期管理処理部、３はバッテリバックアップメモリ、４は現在の位置情報格納メモリ、５はパルス単位→物理単位変換処理部、６は物理単位の無限長軸の位置、７はサーボアンプ、８はサーボモータ、９は絶対値エンコーダである。  「物理単位の無限長軸の周期」Ｒphや「物理単位→パルス単位変換定数（分子）」Ｃnumや「物理単位→パルス単位変換定数（分母）」Ｃdenなどの機械諸元が設定された時点で、無限長軸の周期管理処理部２は内部に「端数対策後のパルス単位の無限長軸の周期」Ｒを記憶し、以降その値を使用して前述の無限長軸の周期管理をおこなうものとする。
電源投入時、無限長軸の周期管理処理部２はサーボアンプ７を通じて絶対値エンコーダ９から絶対値エンコーダ９の位置情報Ｅｓを受け取り、現在の位置情報格納メモリ４に格納する。そして、バッテリバックアップメモリ３に保存しておいた「電源断時のエンコーダ位置」Ｅｅと「電源断時のパルス単位の無限長軸の位置」Ｐｅを読み出し、式（１）により「パルス単位の無限長軸の位置」Ｐｓを求め現在の位置情報格納メモリ４に格納する。さらに、式（７）により「パルス単位の無限長軸の位置」Ｐｓから「物理単位の無限長軸の位置」６（Ｘｓ）を作成する。
図２は、通常運転時の数値制御装置の動作を説明するためのブロック図である。
無限長軸の周期管理処理部２はサーボアンプ７を通じて絶対値エンコーダ９から絶対値エンコーダ９の位置を受け取り、現在の位置情報格納メモリ４に格納する。同時に、「パルス単位の無限長軸の位置」Ｐｔを、式（５）により０〜「端数対策後の無限長軸の周期」Ｒの範囲の値を持つように周期管理をおこない、その結果を現在の位置情報格納メモリ４に格納する。
さらに、パルス単位→物理単位変換処理部５において、式（７）により「パルス単位の無限長軸の位置」Ｐｓから「物理単位の無限長軸の位置」６（Ｘｓ）を作成する。
また、無限長軸の周期管理処理部２はシステムのスキャンごとに、現在の位置情報格納メモリ４内の「絶対値エンコーダの位置」と「パルス単位の無限長軸の位置」を、ペアの位置情報としてバッテリバックアップメモリ３に保存しておく。
これらの位置情報は、次回電源投入時に電源断時の位置情報として扱われる。
【０００６】
【発明の効果】
以上述べたように、本発明によれば、回転テーブルやベルトコンベアなどのように一方向に無限に回転し、その周期で位置が０にリセットされるような無限長軸に絶対値エンコーダを適用した場合の位置ずれの発生を防止できる。
【図面の簡単な説明】
【図１】電源投入時の数値制御装置の動作を説明するためのブロック図
【図２】通常運転時の数値制御装置の動作を説明するためのブロック図
【図３】絶対値エンコーダの周期と無限長軸の周期は同じでないことによる問題点を説明するための図
【図４】物理単位で与えられた無限長軸の周期を絶対値エンコーダの単位であるパルス単位に変換したときの演算誤差の蓄積の問題を説明するための図
【符号の説明】
１  数値制御装置
２  無限長軸の周期管理処理部
３  バッテリバックアップメモリ
４  現在の位置情報格納メモリ
５  パルス単位→物理単位変換処理部
６  物理単位の無限長軸の位置
７  サーボアンプ
８  サーボモータ
９  絶対値エンコーダ
【図１】
0003994424.tif 000002
【図２】
0003994424.tif 000003
【図３】
0003994424.tif 000004
【図４】
0003994424.tif 000005