(57)【要約】【課題】検出器のデータ長によらず、検出器から出力される回転数データに基づいて絶対位置を検出できる機械の制御装置を提供する。【解決手段】機械の制御装置１０は、検出対象の位置に対応する回転数データを出力する検出器を用いて検出対象の絶対位置を検出し、検出した検出対象の絶対位置に基づいて機械を制御する機械の制御装置であって、絶対位置の原点位置に対応する検出器の回転数データを原点位置データとして記憶し、検出器が出力可能な回転数データ長を超える回転数データを拡張回転数データとして記憶する記憶部と、検出器から出力される回転数データと、原点位置データと、拡張回転数データとに基づく下式（１）より、絶対位置を算出する演算部とを備える。絶対位置＝（検出器からの回転数データ＋拡張回転数データ）−原点位置データ・・・（１）【選択図】図１
2020157388.tif 000002
【特許請求の範囲】
【請求項１】
検出対象の位置に対応する回転数データを出力する検出器を用いて前記検出対象の絶対位置を検出し、検出した前記検出対象の絶対位置に基づいて機械を制御する機械の制御装置であって、
前記絶対位置の原点位置に対応する前記検出器の回転数データを原点位置データとして記憶し、前記検出器が出力可能な回転数データ長を超える回転数データを拡張回転数データとして記憶する記憶部と、
前記検出器から出力される回転数データと、前記原点位置データと、前記拡張回転数データとに基づく下式（１）より、前記絶対位置を算出する演算部と、
を備える、機械の制御装置。
絶対位置＝（検出器からの回転数データ＋拡張回転数データ）−原点位置データ
・・・（１）
【請求項２】
前記拡張回転数データは、前記検出器が前記回転数データ長を超えてロールオーバする場合に、ロールオーバ回数と前記回転数データ長に対応する回転数データとの乗算値である、請求項１に記載の機械の制御装置。
【請求項３】
前記記憶部は、前記検出器がロールオーバするときに、前記拡張回転数データを更新する、請求項２に記載の機械の制御装置。
【請求項４】
検出対象の位置に対応する回転数データを出力する検出器を用いて前記検出対象の絶対位置を検出し、検出した前記検出対象の絶対位置に基づいて機械を制御する機械の制御装置であって、
前記絶対位置の原点位置に対応する前記検出器の回転数データを原点位置データとして記憶し、前記検出器が出力可能な回転数データ長を超える回転数データを拡張回転数データとした場合に、前記原点位置データを前記拡張回転数データだけシフトしたシフト原点位置データを記憶する記憶部と、
前記検出器から出力される回転数データと、前記シフト原点位置データとに基づく下式（２）より、前記絶対位置を算出する演算部と、
を備える、機械の制御装置。
絶対位置＝検出器からの回転数データ−シフト原点位置データ
＝検出器からの回転数データ−（原点位置データ−拡張回転数データ）
・・・（２）
【請求項５】
前記拡張回転数データは、前記検出器が前記回転数データ長を超えてロールオーバする場合に、ロールオーバ回数と前記回転数データ長に対応する回転数データとの乗算値である、請求項４に記載の機械の制御装置。
【請求項６】
前記記憶部は、前記検出器がロールオーバするときに、前記原点位置データをシフトする、請求項５に記載の機械の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、工作機械又は産業用ロボット等の機械の制御装置に関する。
【背景技術】
【０００２】
工作機械又は産業用ロボット等の機械の制御装置は、検出対象の位置に対応する回転数データを出力する検出器を用いて検出対象の絶対位置を検出し、検出した検出対象の絶対位置に基づいて機械を制御する（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−９９１５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
図８に示すように、絶対位置を検出する検出器は、カウンタ値（回転数データ、及び、１回転内の回転数データ）を有する。制御装置は、絶対位置の原点位置に対応する検出器のカウンタ値を保持しており、現在位置における検出器のカウンタ値と原点位置の検出器のカウンタ値との差分により絶対位置（例えば、機械座標）を算出する。
【０００５】
検出器のカウンタ値のデータ長（回転数データ長）は、検出器の種類によって異なる。
図９に示すように、検出器のデータ長が少ない場合、絶対位置検出で表現できる絶対位置（例えば、機械座標値）が狭くなり、適用できる機械が限定される。図９では、検出器のデータ長として、原点位置を中心とした±データ長／２を示す。
検出器のデータ長を超えた位置は、検出器で表現できないため、正しい絶対位置（例えば、機械座標値）を算出できない。
【０００６】
機械の制御装置の分野において、検出器のデータ長によらず、検出器から出力される回転数データに基づいて絶対位置を検出できることが望まれている。
【課題を解決するための手段】
【０００７】
本開示の機械の制御装置は、検出対象の位置に対応する回転数データを出力する検出器を用いて前記検出対象の絶対位置を検出し、検出した前記検出対象の絶対位置に基づいて機械を制御する機械の制御装置であって、前記絶対位置の原点位置に対応する前記検出器の回転数データを原点位置データとして記憶し、前記検出器が出力可能な回転数データ長を超える回転数データを拡張回転数データとして記憶する記憶部と、前記検出器から出力される回転数データと、前記原点位置データと、前記拡張回転数データとに基づく下式（１）より、前記絶対位置を算出する演算部と、を備える。
絶対位置＝（検出器からの回転数データ＋拡張回転数データ）−原点位置データ
・・・（１）
【０００８】
本開示の別の機械の制御装置は、検出対象の位置に対応する回転数データを出力する検出器を用いて前記検出対象の絶対位置を検出し、検出した前記検出対象の絶対位置に基づいて機械を制御する機械の制御装置であって、前記絶対位置の原点位置に対応する前記検出器の回転数データを原点位置データとして記憶し、前記検出器が出力可能な回転数データ長を超える回転数データを拡張回転数データとした場合に、前記原点位置データを前記拡張回転数データだけシフトしたシフト原点位置データを記憶する記憶部と、前記検出器から出力される回転数データと、前記シフト原点位置データとに基づく下式（２）より、前記絶対位置を算出する演算部と、を備える。
絶対位置＝検出器からの回転数データ−シフト原点位置データ
＝検出器からの回転数データ−（原点位置データ−拡張回転数データ）
・・・（２）
【発明の効果】
【０００９】
本開示によれば、機械の制御装置の分野において、検出器のデータ長によらず、検出器から出力される回転数データに基づいて絶対位置を検出できる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態に係る工作機械の制御装置の構成を示す図である。
【図２】第１実施形態における検出器の回転数データと絶対位置との関係を示す図である。
【図３】第１実施形態に係る工作機械の制御装置による絶対位置検出動作を示すフローチャートである。
【図４】第１実施形態に係る工作機械の制御装置による拡張回転数データ更新動作を示すフローチャートである。
【図５】第２実施形態における検出器の回転数データと絶対位置との関係を示す図である。
【図６】第２実施形態に係る工作機械の制御装置による絶対位置検出動作を示すフローチャートである。
【図７】第２実施形態に係る工作機械の制御装置による拡張回転数データ更新動作を示すフローチャートである。
【図８】従来における検出器の回転数データと絶対位置との関係を示す図である。
【図９】従来における検出器の回転数データと絶対位置との関係を示す図である。
【発明を実施するための形態】
【００１１】
以下、添付の図面を参照して本発明の実施形態の一例について説明する。なお、各図面において同一又は相当の部分に対しては同一の符号を附すこととする。
【００１２】
（第１実施形態）
図１は、第１実施形態に係る工作機械の制御装置の構成を示す図である。図１に示す制御装置１０は、例えば工作機械におけるボールねじを制御することにより、ボールねじのテーブル上の制御対象の位置を制御する数値制御装置である。制御装置１０は、例えばボールねじを駆動するモータ２０に設けられたエンコーダ等の検出器３０を用いて制御対象の位置（例えば、機械座標：絶対位置）を検出し、検出した制御対象の位置に基づいてモータ２０を制御する。以下では、制御対象を検出対象ともいう。
【００１３】
検出器３０は、検出対象の実位置に対応する回転数データを出力する回転検出器である。検出器３０は、回転数データと１回転内の回転数データとを出力する。
【００１４】
制御装置１０は、動作制御部１１と、演算部１２と、記憶部１３とを備える。
制御装置１０における動作制御部１１及び演算部１２は、例えば、ＤＳＰ（Digital Signal Processor）、ＦＰＧＡ（Field‐Programmable Gate Array）等の演算プロセッサで構成される。制御装置１０における動作制御部１１及び演算部１２の各種機能は、例えば記憶部に格納された所定のソフトウェア（プログラム、アプリケーション）を実行することで実現される。制御装置１０における動作制御部１１及び演算部１２の各種機能は、ハードウェアとソフトウェアとの協働で実現されてもよい。
制御装置１０における記憶部１３は、例えばＥＥＰＲＯＭ等の書き換え可能なメモリ、又は例えばＨＤＤ（Hard Disk Drive）又はＳＳＤ（Solid State Drive）等の書き換え可能なディスクである。
【００１５】
動作制御部１１は、検出対象の位置を指令する位置指令（例えば、機械座標：絶対位置）と、演算部１２からの検出対象の実位置（例えば、機械座標：絶対位置）とに基づいて、モータ２０を制御することにより、検出対象の位置を制御する。
【００１６】
記憶部１３は、図２に示すように、絶対位置の原点位置に対応する検出器３０の回転数データを原点位置データとして記憶する。また、記憶部１３は、検出器３０が出力可能な回転数データ長を超える回転数データを拡張回転数データとして記憶する。拡張回転数データは、検出器３０が回転数データ長を超えてロールオーバする場合に、ロールオーバ回数と回転数データ長に対応する回転数データとの乗算値である。なお、図２では、検出器のデータ長として、原点位置を中心とした±データ長／２を示す。
【００１７】
演算部１２は、検出器３０から出力される回転数データ（１回転内の回転数データ、及び、回転数データ）と、記憶部１３に記憶された原点位置データ及び拡張回転数データとに基づく下式（１）より、検出対象の実位置（例えば、機械座標：絶対位置）を算出する。
絶対位置（機械座標）＝（検出器からの回転数データ＋拡張回転数データ）−原点位置データ
・・・（１）
具体的には、演算部１２は、算出した回転数に１回転あたりの移動量を乗算することにより、検出対象の実位置（例えば、機械座標：絶対位置）を算出する。
【００１８】
以下では、一例を挙げて説明する。この一例では、検出器３０は、回転数データ及び１回転内の回転数データを保持しており、制御装置１０は、ロールオーバ回数、及び、回転数データ長に対応する回転数データ（すなわち、拡張回転数データ）を保持しているとする。
【００１９】
また、検出器３０の性能は、以下のとおりとする。
１回転内の回転数データ＝２−２１
回転数データ＝２１２
すなわち、検出器３０は、モータ２０の１回転内の位置を２，０９７，１５２等分した位置まで把握でき、モータ２０の回転数を最大４，０９６回転まで把握できるとする。
【００２０】
また、制御装置１０が記憶する拡張回転数データは、以下の通りとする。
拡張回転数データ＝２４
すなわち、制御装置１０は、検出器３０の回転数データ長である４，０９６回転が最大１６回まで繰り返されること（ロールオーバ回数１６）を把握できるとする（回転数データが２１６に拡張）。
【００２１】
また、制御装置１０が記憶する原点位置データは、以下の通りとする。
１回転内の回転数データ＝８００
回転数データ＝８
【００２２】
現在のモータ位置が以下の場合、
１回転内の回転数データ＝３３，５３６
回転数データ＝３３８
ロールオーバ回数＝１
以下の回数たけ、原点位置からモータが回転したと判定できる。
（３３，５３６−８００）×２−２１＋（３３８−８）＋１×２１２≒４，４２６．０１６
【００２３】
この回転数に１回転あたりの移動量を乗算することにより、絶対位置（例えば、機械座標）を算出することができる。
絶対位置（例えば、機械座標）＝回転数×１回転あたりの移動量
【００２４】
この例では、検出器３０の性能（最大４，０９６回転まで）に対して、最大６５，５３６回転まで絶対位置検出の性能が拡張される。
【００２５】
次に、図３及び図４を参照して、本実施形態に係る工作機械の制御装置の動作について説明する。図３は、本実施形態に係る工作機械の制御装置による絶対位置検出動作を示すフローチャートであり、図４は、本実施形態に係る工作機械の制御装置による拡張回転数データ更新動作を示すフローチャートである。
【００２６】
（絶対位置検出動作）
図３に示すように、制御装置１０は、拡張回転数データのカウンタ値（ロールオーバ回数）が０であるか否かを判定する（Ｓ１１）。
拡張回転数データのカウンタ値（ロールオーバ回数）が０でない場合、制御装置１０の演算部１２は、検出器３０からの回転数データに、カウンタ値（ロールオーバ回数）及び回転数データ長に対応する拡張回転数データを加算し（Ｓ１２）、検出対象の機械座標を算出し、確立する（Ｓ１３）。
一方、拡張回転数データのカウンタ値（ロールオーバ回数）が０である場合、制御装置１０の演算部１２は、検出器３０からの回転数データから検出対象の絶対位置（機械座標）を算出し、確率する（Ｓ１３）。
【００２７】
（拡張回転数データ更新動作）
図４に示すように、制御装置１０は、軸を移動し（Ｓ２１）、検出器３０がロールオーバするか否かを検出する（Ｓ２２）。
検出器３０がロールオーバする場合、制御装置１０は、ロールオーバ回数を、拡張回転数データのカウンタ値（ロールオーバ回数）に加減算し（Ｓ２３）、記憶部１３の拡張回転数データを更新する（Ｓ２４）。このように、検出器３０がロールオーバするタイミングで制御装置１０の拡張回転数データを更新すると、制御装置１０の処理負担を軽減することができる。
一方、検出器３０がロールオーバしない場合、終了する。
【００２８】
以上説明したように、本実施形態の制御装置１０によれば、検出器３０が出力可能な回転数データ長を超える回転数データを拡張回転数データとして記憶し、検出器３０から出力される回転数データに加えてこの拡張回転数データを用いた上式（１）により検出対象の絶対位置（例えば、機械座標）を算出する。これにより、検出器３０のデータ長によらず、検出器３０から出力される回転数データに基づいて絶対位置を検出できる。
【００２９】
これにより、検出器のデータ長で絶対位置（例えば、機械座標値）が制限されず、機械のストロークに合わせたデータ長まで絶対位置（例えば、機械座標値）を表現可能である。
【００３０】
（第２実施形態）
第１実施形態では、検出器３０が出力可能な回転数データ長を超える回転数データを拡張回転数データとして記憶し、検出器３０から出力される回転数データに加えてこの拡張回転数データを用いて検出対象の絶対位置（例えば、機械座標）を算出した。
第２実施形態では、検出器３０が出力可能な回転数データ長を超える回転数データを拡張回転数データとした場合に、原点位置データを拡張回転数データだけシフトし（シフト原点位置データ）、検出器３０から出力される回転数データとこのシフト原点位置データとを用いて検出対象の絶対位置（例えば、機械座標）を算出する。
【００３１】
第２実施形態に係る工作機械の制御装置の構成は、図１に示す第１実施形態の工作機械の制御装置の構成と同一である。なお、第２実施形態に係る工作機械の制御装置１０は、図１に示す第１実施形態の工作機械の制御装置１０において、演算部１２の機能及び動作、及び記憶部１３に記載されるデータが異なる。
【００３２】
記憶部１３は、図５に示すように、絶対位置の原点位置に対応する検出器３０の回転数データを原点位置データとして記憶する。また、記憶部１３は、検出器３０が出力可能な回転数データ長を超える回転数データを拡張回転数データとした場合に、原点位置データを拡張回転数データだけシフトしたシフト原点位置データを記憶する。上述したように、拡張回転数データは、検出器３０が回転数データ長を超えてロールオーバする場合に、ロールオーバ回数と回転数データ長に対応する回転数データとの乗算値である。なお、図５でも、検出器のデータ長として、原点位置を中心とした±データ長／２を示す。
【００３３】
演算部１２は、検出器３０から出力される回転数データ（１回転内の回転数データ、及び、回転数データ）と、記憶部１３に記憶されたシフト原点位置データとに基づく下式（２）より、検出対象の実位置（例えば、機械座標：絶対位置）を算出する。
絶対位置（例えば、機械座標）＝検出器からの回転数データ−シフト原点位置データ
＝検出器からの回転数データ−（原点位置データ−拡張回転数データ）
・・・（２）
具体的には、演算部１２は、算出した回転数に１回転あたりの移動量を乗算することにより、検出対象の実位置（例えば、機械座標：絶対位置）を算出する。
【００３４】
以下では、一例を挙げて説明する。この一例では、検出器３０は、回転数データ及び１回転内の回転数データを保持しているとする。
【００３５】
また、検出器３０の性能は、以下のとおりとする。
１回転内の回転数データ＝２−２１
回転数データ＝２１２
すなわち、検出器３０は、モータ２０の１回転内の位置を２，０９７，１５２等分した位置まで把握でき、モータ２０の回転数を最大４，０９６回転まで把握できるとする。
【００３６】
また、制御装置１０が記憶する原点位置データは、以下の通りとする。
１回転内の回転数データ＝８００
回転数データ＝８
制御装置１０は、検出器３０が回転数データ長を超えてロールオーバする場合に、ロールオーバ回数と回転数データ長に対応する回転数データとの乗算値（拡張回転数データ）だけ原点位置データをシフトするとする（シフト原点位置データ）。
【００３７】
現在のモータ位置が以下の場合、
１回転内の回転数データ＝３３，５３６
回転数データ＝３３８
ロールオーバ回数＝１
以下のように、原点位置データをシフトする（シフト原点位置データ）。
１回転内の回転数データ＝８００
回転数データ＝８−（Ｎ×２１２）
（＋方向にロールオーバしたので原点位置を−方向にシフト）
この場合、以下の回数たけ、原点位置からモータが回転したと判定できる。
（３３，５３６−８００）×２−２１＋（３３８−（８−（１×２１２）））≒４，４２６．０１６
【００３８】
この回転数に１回転あたりの移動量を乗算することにより、絶対位置（例えば、機械座標）を算出することができる。
絶対位置（例えば、機械座標）＝回転数×１回転あたりの移動量
【００３９】
この例でも、検出器３０の性能（最大４，０９６回転まで）に対して、最大６５，５３６回転まで絶対位置検出の性能が拡張される。
【００４０】
次に、図６及び図７を参照して、本実施形態に係る工作機械の制御装置の動作について説明する。図６は、本実施形態に係る工作機械の制御装置による絶対位置検出動作を示すフローチャートであり、図７は、本実施形態に係る工作機械の制御装置によるシフト原点位置データ更新動作を示すフローチャートである。
【００４１】
（絶対位置検出動作）
図６に示すように、制御装置１０は、原点位置データがシフトされているか否かを判定する（Ｓ３１）。
原点位置データがシフトされている場合、制御装置１０の演算部１２は、原点位置データに代えてシフト原点位置データを選択し（Ｓ３２）、検出器３０からの回転数データとシフト原点位置データとに基づいて、検出対象の機械座標を算出し、確立する（Ｓ３３）。
一方、原点位置データがシフトされていない場合、制御装置１０の演算部１２は、検出器３０からの回転数データと原点位置データとに基づいて、検出対象の絶対位置（機械座標）を算出し、確率する（Ｓ３３）。
【００４２】
（シフト原点位置データ更新動作）
図７に示すように、制御装置１０は、軸を移動し（Ｓ４１）、検出器３０がロールオーバするか否かを検出する（Ｓ４２）。
検出器３０がロールオーバする場合、制御装置１０は、ロールオーバ回数と回転数データ長に対応する回転数データとの乗算値（拡張回転数データ）だけ原点位置データをシフトしたシフト原点位置データを算出し（Ｓ４３）、記憶部１３のシフト原点位置データを更新する（Ｓ４４）。このように、検出器３０がロールオーバするタイミングで制御装置１０のシフト原点位置データを更新すると、制御装置１０の処理負担を軽減することができる。
一方、検出器３０がロールオーバしない場合、終了する。
【００４３】
以上説明したように、本実施形態の制御装置１０によれば、検出器３０が出力可能な回転数データ長を超える回転数データを拡張回転数データとした場合に、原点位置データを拡張回転数データだけシフトし（シフト原点位置データ）、検出器３０から出力される回転数データとこのシフト原点位置データとを用いた上式（２）により検出対象の絶対位置（例えば、機械座標）を算出する。これにより、検出器３０が出力可能な回転数データ長を超える回転数データを拡張回転数データとして保持しなくても、検出器３０のデータ長によらず、検出器３０から出力される回転数データに基づいて絶対位置を検出できる。
【００４４】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、種々の変更及び変形が可能である。例えば、上述した実施形態では、工作機械を制御する制御装置を例示したが、本開示はこれに限定されず、産業用ロボット等の種々の機械を制御する制御装置に適用可能である。
【００４５】
また、上述した実施形態では、制御対象と検出対象とが同一であり、検出対象の位置に基づいて制御対象の位置を制御する機械の制御装置を例示した。しかし、本開示はこれに限定されず、制御対象と検出対象とが異なり、検出対象の位置に基づいて制御対象の位置を制御する機械の制御装置にも適用可能である。例えば、産業用ロボットのアーム先端部に設けられた工具又はワーク（制御対象）と、固定設置されたワーク又は工具（検出対象）との相対的な位置を制御する産業用ロボットの制御装置にも適用可能である。
【符号の説明】
【００４６】
１０  機械の制御装置
１１  動作制御部
１２  演算部
１３  記憶部
２０  モータ
３０  検出器
【図１】
2020157388.tif 000003
【図２】
2020157388.tif 000004
【図３】
2020157388.tif 000005
【図４】
2020157388.tif 000006
【図５】
2020157388.tif 000007
【図６】
2020157388.tif 000008
【図７】
2020157388.tif 000009
【図８】
2020157388.tif 000010
【図９】
2020157388.tif 000011