(57)【特許請求の範囲】
【請求項１】
ドライバが指令位置を表すパルスのパルス数を用いて駆動するモータにより減速機を介した所定の減速比で回転する回転体の回転を制御するための前記パルスを前記ドライバに与える制御装置であって、
前記指令位置を表す角度を前記ドライバで扱われる前記パルス数に変換する単位変換部と、
前記パルス数をカウントするカウンタのカウント範囲を決定するカウント範囲決定部とを備え、
前記減速機は、前記モータがＭ（Ｍは整数）回転するのに対して前記回転体をＮ（Ｎは整数）回転させる前記減速比がＮ／Ｍとなる歯車対であり、
前記単位変換部は、
前記回転体のＮ回転分の角度の範囲をＮ倍するとともに、前記モータの回転数のＭ回転分の前記パルス数の範囲をＭ倍に拡大し、前記指令位置を拡大した前記角度の範囲において対応する前記角度の値に変換し、変換後の当該角度の値を拡大した前記パルス数の範囲において対応する前記パルス数の値に変換し、変換後の前記パルス数の値を拡大前の前記パルス数の範囲において対応する前記パルス数に変換し、
前記カウント範囲決定部は、
前記モータの１回転当たりの規定パルス数に前記減速比の逆数および補正値を乗じるとともに、乗算の結果を整数にする前記補正値を決定することを特徴とする制御装置。
【請求項２】
前記カウント範囲決定部は、前記回転体の回転数Ｎを前記補正値として決定することを特徴とする請求項１に記載の制御装置。
【請求項３】
前記カウント範囲決定部は、前記規定パルス数および前記減速比の逆数の乗算値に正の整数を乗数として１から順に乗じていき、乗算の結果が整数となるときに前記乗算値に乗じた前記乗数を前記補正値として決定することを特徴とする請求項１に記載の制御装置。
【請求項４】
請求項１から３のいずれか１項に記載の制御装置としてコンピュータを機能させるための制御プログラムであって、各部としてコンピュータを機能させるための制御プログラム。
【請求項５】
請求項４に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回転体の回転を制御する制御装置に関する。
【背景技術】
【０００２】
モーション制御を行うコントローラは、ユーザプログラムで指令された目標値（位置、速度、トルクなど）を用いて、所望の動作を実現するために必要な、モータなどの制御対象への指令位置の出力、および制御対象からの情報取得を一定の周期で実行する。このようなコントローラにおいては、例えば、特許文献１に記載されているように、回転体の指令移動量をサーボドライバが扱うパルス数の単位に変換している。
【０００３】
例えば、モータによって円テーブルなどの回転体を回転させるシステムにおいて回転体を駆動する場合、ユーザプログラムの作成時には、回転体の位置を表す指令位置が角度の単位で設定される。これに対し、モータのドライバが指令値をパルス単位で扱うため、指令位置の単位を角度からパルス数に変換する。例えば、０°から３６０°まで１回転すると０°に戻り、０°から回転を繰り返す座標系では、モータの１回転（３６０°）が規定のパルス数に換算される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−１５０８０８号公報（１９９３年６月１８日公開）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、ドライバでは、偏差カウンタによって指令位置と現在位置との偏差パルスに基づいてモータの制御が行われる。この偏差パルスを得るために、指令位置を表すパルスと現在位置を表すパルスとをカウントする必要がある。このカウントのためには、一般にリングカウンタが用いられる。リングカウンタは、回転体の回転開始とともに、カウント下限値から指令位置のパルスをカウントしていき、回転体が１回転して指令位置のパルス数がカウント上限値に達したときに、再び、カウント下限値からカウントしていく。
【０００６】
上記のシステムにおいて、歯車による減速機を用いて回転体としてのワークを減速駆動する場合、減速機の減速比によっては、ワークの１回転あたりの移動量が、パルス単位に変換された場合、非整数となることがある。このとき、コントローラがドライバに与える指令位置は整数値であるため、ワークが回転する度に小数値分の端数が生じる。リングカウンタのカウントがカウント上限値から下限値に切り替わる度に、この端数をコントローラ側で切り捨てた場合、ワークが回転を重ねていくうちに、数値上の回転と実際の回転との間にずれが生じる。
【０００７】
例えば、モータが５回転するのに対してワークが３回転する場合、減速機の減速比は３／５となる。この場合、当該減速比を考慮したワーク１回転分の変換パルス数Ｐは、次式のように、減速比の逆数をモータ１回転分の規定パルス数（１００００パルス）に乗じることによって求められる。
【０００８】
Ｐ＝１００００×（５／３）
＝１６６６６．６６６６６…
指令位置としての変換パルス数Ｐは整数でなければならないので、上記の小数値（０．６６６６６…）を切り捨てた場合、ワークの回転位置をパルス数にて表すパルス位置は、図７の（ｃ）に示すように１回転ごとに、リングカウンタのカウント上限値である１６６６６に達するとカウント下限値の０に戻る。したがって、実際に駆動されるワークの位置（ワーク位置）は、図７の（ａ）に示すように表されるのに対して、小数値が切り捨てられた変換パルス数Ｐに基づくワーク位置は、図７の（ｂ）に示すように、ずれＤが生じている。このずれＤは、累積されることによって回転を重ねるごとに拡大していく。
【０００９】
このようなずれＤを補正する方法としては、小数の端数パルス数（上記の場合では０.６６６６…）を１回転ごとに累積させてモニタし、端数パルス数の累積値が１以上になった時点で補正値を出力して、端数パルス数の累積値を無くすように変換パルス数Ｐを補正する。しかしながら、この方法では、補正値を出力する際に速度が不連続になったり、モニタした位置と出力パルス数とが合わなかったりするという不都合が生じる。また、このような不都合を回避するために、演算部の構成が複雑となる。
【００１０】
本発明は、前記の問題点に鑑みてなされたものであり、その目的は、回転体の位置を簡素な構成で高精度に制御することにある。
【課題を解決するための手段】
【００１１】
上記の課題を解決するために、本発明に係る制御装置は、ドライバが指令位置を表すパルスのパルス数を用いて駆動するモータにより減速機を介した所定の減速比で回転する回転体の回転を制御するための前記パルスを前記ドライバに与える制御装置であって、前記パルス数をカウントするカウンタのカウント範囲を決定するカウント範囲決定部を備え、前記カウント範囲決定部が、前記モータの１回転当たりの規定パルス数に前記減速比の逆数および補正値を乗じるとともに、乗算の結果を整数にする前記補正値を決定する。
【００１２】
上記の構成によれば、規定パルス数に減速比の逆数および補正値が乗算された結果得られたパルス数が整数となる。それゆえ、従来のシステムのように、カウント範囲が上限値から下限値に切り替わるときに、小数値の誤差が生じることがない。したがって、このような誤差の累積が現在位置に累積することがない。これにより、実際に駆動された回転体の位置と指令位置から想定されるワークの位置とが一致する。また、従来のコントローラのように、小数の端数パルス数を管理して補正するという処理が不要となる。
【００１３】
前記制御装置において、前記減速機は、前記モータがＭ（Ｍは整数）回転するのに対して前記回転体をＮ（Ｎは整数）回転させる前記減速比がＮ／Ｍとなる歯車対であり、前記カウント範囲決定部は、前記回転体の回転数Ｎを前記補正値として決定してもよい。
【００１４】
上記の構成によれば、補正値の決定プロセスを簡素にすることができる。
【００１５】
前記制御装置において、前記カウント範囲決定部は、前記規定パルス数および前記減速比の逆数の乗算値に正の整数を乗数として１から順に乗じていき、乗算の結果が整数となるときに前記乗算値に乗じた前記乗数を前記補正値として決定してもよい。
【００１６】
本発明に係る制御装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記制御装置が備える各部（ソフトウェア要素）として動作させることにより上記制御装置をコンピュータにて実現させる制御装置の制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【００１７】
本発明は、回転体の位置を簡素な構成で高精度に制御することができるという効果を奏する。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態１に係る制御システムの概略構成を示すブロック図である。
【図２】上記制御システムにおける機構部の構成を示す斜視図である。
【図３】上記制御システムにおけるサーボドライバのカウンタ部の動作を示す図である。
【図４】上記制御システムにおけるコントローラの単位変換部の構成を示すブロック図である。
【図５】（ａ）〜（ｃ）は、それぞれ、上記コントローラによって管理される、ワーク位置、モータ位置およびパルス位置の関係を示す図である。
【図６】上記単位変換部による単位変換の動作を示す図であって、（ａ）はワーク３４の位置を示す図であり、（ｂ）はワーク３４の位置をパルスに変換したパルス位置を示す図である。
【図７】（ａ）〜（ｃ）は、それぞれ、従来のシステムにおける、実際のワーク位置と、変換パルス数の小数点が切り捨てられた場合のワーク位置およびパルス位置との関係を示す図である。
【発明を実施するための形態】
【００１９】
本発明の一実施形態について図１〜図６を用いて説明すれば、以下のとおりである。
【００２０】
（制御システム１００の構成）
図１は、実施形態１に係る制御システム１００の概略構成を示すブロック図である。図２は、制御システムにおける機構部３の構成を示す斜視図である。図３は、制御システム１００におけるサーボドライバ２のカウンタ部２１の動作を示す図である。図４は、制御システム１００におけるコントローラ１の単位変換部１３１の構成を示すブロック図である。
【００２１】
図１に示すように、制御システム１００は、コントローラ１と、サーボドライバ２（ドライバ）と、機構部３とを備えている。
【００２２】
機構部３は、コントローラ１の制御対象であり、モータ３１と、ロータリエンコーダ３２と、減速機３３と、回転体であるワーク３４とを含んでいる。モータ３１は、例えばサーボモータであり、ワーク３４を回転駆動する。また、図２にも示すように、モータ３１は、回転角度および回転角速度を検出するためのロータリエンコーダ３２が一体に設けられている。ロータリエンコーダ３２は、モータ３１の回転に伴って周期的なパルス信号を出力する。
【００２３】
減速機３３は、ワーク３４の回転軸３６に取り付けられたワーク側歯車３３ａ（第１歯車）と、モータ３１の回転軸３５に取り付けられたモータ側歯車３３ｂ（第２歯車）とから構成された歯車対であり、ワーク側歯車３３ａと、モータ側歯車３３ｂとが噛み合っている。モータ３１によるワーク３４の駆動に減速機３３が介在することにより、モータ３１がＭ回転するのに対してワーク３４がＮ回転する場合、減速機３３の所定の減速比はＮ／Ｍで表される（Ｍ：正の整数，Ｎ：Ｍより小さい正の整数）。
【００２４】
サーボドライバ２は、カウンタ部２１と、偏差カウンタ２２と、制御部２３とを有している。また、サーボドライバ２は、通信処理部１４から送信された指令位置を受信するとともに、ロータリエンコーダ３２の出力に基づいて検出されるフィードバック位置などの情報をコントローラ１に送信する。
【００２５】
カウンタ部２１は、指令位置カウンタ２１ａ（カウンタ）と、フィードバックカウンタ２１ｂとを含んでいる。指令位置カウンタ２１ａは、コントローラ１からパルス信号の形態で与えられる指令位置（指令値）のパルス数をカウントする。フィードバックカウンタ２１ｂは、ロータリエンコーダ３２からパルス信号の形態で与えられるフィードバック位置（現在位置）のパルス数をカウントする。カウンタ部２１は、図３に示すように、パルス数をカウントするごとにカウント範囲の上限値から下限値に戻す動作を繰り返すため、リングカウンタによって構成される。なお、カウンタ部２１については、サーボドライバ２とは別体に設けられるカウンタユニットが備える各種のカウンタ機能のうちのリングカウンタ機能を利用したものであってもよい。
【００２６】
偏差カウンタ２２は、カウンタ部２１でカウントされた指令位置と現在位置との偏差をカウントして、制御部２３に与える。
【００２７】
制御部２３は、偏差カウンタ２２に偏差パルスとして残留した指令位置と現在位置との偏差が無くなるように、モータ３１の回転を制御する。具体的には、制御部２３は、モータ３１の状態量（回転角度、回転角速度など）に応じた最適な駆動エネルギーとしてトルクを与えることによってモータ３１を駆動する。制御部２３は、位置制御機能として、ロータリエンコーダ３２から出力されるパルス信号によるフィードバック位置（回転角度）と、コントローラ１からの指令値とに基づいて位置制御を行う。また、制御部２３は、速度制御機能として、位置制御結果として得た制御パルスと、ロータリエンコーダ３２から出力されるパルス信号によるフィードバック速度（回転角速度）とに基づいて速度制御を行う。また、制御部２３は、トルク制御機能として、入力トルクと出力トルク（フィードバックトルク）とに基づいてトルク制御を行う。
【００２８】
コントローラ１は、サーボドライバ２に与えるモーション制御のための指令位置（指令値）を生成する制御装置であり、プログラマブルロジックコントローラ（ＰＬＣ）などによって構成される。コントローラ１は、モーション制御部１１と、メモリ１２と、単位変換管理部１３と、通信処理部１４とを有している。
【００２９】
モーション制御部１１は、後述するユーザプログラムに含まれるモーション制御命令を解析するとともに、解析結果に基づいて一定周期ごとにモーション演算を実行することにより、サーボドライバ２に与える指令位置を生成する。また、モーション制御部１１は、サーボドライバ２からの現在位置との差に基づいて、ワーク３４が指令された位置（インポジション）に到達したか否かを判定する。
【００３０】
メモリ１２は、ユーザプログラムとパラメータとを記憶するために設けられている記憶装置である。ユーザプログラムは、ワーク３４の動作を規定したモーション制御命令、モーション制御命令を実行する条件などが規定されており、ユーザによって作成される。パラメータは、ワーク３４の動作を規定するための各種の情報であって、ユーザによって設定される。パラメータとしては、前述の減速比を定めるためのモータ３１の回転数Ｍおよびワーク３４の回転数Ｎと、規定パルス数Ｐｒと、カウント上限値と、カウント下限値とが用意される。
【００３１】
規定パルス数Ｐｒは、モータ３１の１回転分（回転範囲）に割り当てられた一定間隔のパルスの数である。
【００３２】
カウント上限値およびカウント下限値は、ユーザが指定したワーク３４の回転範囲を示し、単位系も同じ単位（例えば回転角度）で設定される。
【００３３】
単位変換管理部１３は、モーション制御部１１によって生成された指令値の単位をサーボドライバ２で扱われる単位に変換するとともに、カウンタ部２１のカウント周期を管理する。このため、単位変換管理部１３は、図４に示すように、単位変換部１３１と、カウント範囲決定部１３２とを有している。
【００３４】
単位変換部１３１は、指令位置および現在位置の単位を変換するために、範囲拡大部１３１ａと、変換処理部１３１ｂ、範囲縮小部１３１ｃとを有している。
【００３５】
範囲拡大部１３１ａは、ワーク３４のＮ回転分の角度の範囲（角度の上限は３６０°）をＮ倍（Ｍ×３６０°）に拡大する。また、範囲拡大部１３１ａは、モータ３１のＭ回転分のパルス数の範囲（規定パルス数の上限はＰｒ）をＭ倍（Ｍ×Ｐｒ）に拡大する。ここで、Ｍは前述のモータ３１の回転数であり、Ｎは前述のワーク３４の回転数である。また、範囲拡大部１３１ａは、入力された指令位置を、拡大した角度の範囲において対応する値に変換するとともに、現在位置を、拡大したパルス数の範囲において対応する値に変換する。
【００３６】
変換処理部１３１ｂは、範囲拡大部１３１ａによって変換された角度の指令位置を拡大されたパルス数の範囲において対応する値に変換する。また、変換処理部１３１ｂは、範囲拡大部１３１ａによって変換されたパルス数の現在位置を拡大された角度の範囲において対応する値に変換する。
【００３７】
範囲縮小部１３１ｃは、範囲拡大部１３１ａによって拡大された角度の範囲を拡大前の範囲に戻す（縮小する）。また、範囲縮小部１３１ｃは、範囲拡大部１３１ａによって拡大されたパルス数の範囲を拡大前の範囲に戻す（縮小する）。
【００３８】
カウント範囲決定部１３２は、初期処理時に、カウンタ部２１の指令位置カウンタ２１ａおよびフィードバックカウンタ２１ｂが、ワーク３４の１回転分の角度に相当するパルス数をカウントする値の範囲を、規定パルス数Ｐｒに前述の減速比Ｎ／Ｍの逆数を乗じることで変換値（乗算値）として算出する。また、カウント範囲決定部１３２は、初期処理時に、変換値に乗じた結果を整数にする乗数を補正値として決定し、変換値に当該補正値を乗じて変換パルス数Ｐｃを算出する。ここで、変換パルス数Ｐｃは、ワーク３４のｎ（ｎ：正の整数）回転分に相当するパルスの数である。
【００３９】
具体的には、カウント範囲決定部１３２は、前述のワーク３４の回転数Ｎを乗数として決定する。あるいは、カウント範囲決定部１３２は、変換値に正の整数を乗数として１から順に乗じていき、乗算の結果が整数（特に最小の整数が好ましい）となるときに変換値に乗じた乗数を補正値として決定してもよい。
【００４０】
通信処理部１４は、単位変換管理部１３によって単位変換された指令値をプロセスデータ通信周期ごとにＰＤＯ（Process Data Objects）通信によりサーボドライバ２に送信する。ＰＤＯ通信は、定周期でリアルタイムの情報交換を行うことに適している。
【００４１】
（コントローラ１の動作）
上記のように構成される制御システム１００におけるコントローラ１による単位変換の動作について説明する。図５の（ａ）〜（ｃ）は、それぞれ、上記コントローラによって管理される、ワーク位置、モータ位置およびパルス位置の関係を示す図である。図６は、単位変換部による単位変換の動作を示す図である。図６において、（ａ）はワーク３４の位置を表し、（ｂ）はワーク３４の位置をパルスに変換したパルス位置を表している。
【００４２】
まず、カウント範囲決定部１３２によるカウント範囲の決定について説明する。
【００４３】
カウント範囲決定部１３２は、メモリ１２にパラメータとして記憶されているワーク３４の回転数Ｎを読み出して、当該回転数Ｎを補正値として決定する。カウント範囲決定部１３２は、メモリ１２にパラメータとして記憶されている、モータ３１の回転数Ｍ、ワーク３４の回転数Ｎおよび規定パルス数Ｐｒと、上記の補正値とに基づいて、次式により変換パルス数Ｐｃを算出して、メモリ１２に記憶させる。
【００４４】
Ｐｃ＝Ｐｒ×（Ｍ／Ｎ）×Ｎ
＝Ｍ×Ｐｒ
カウント範囲決定部１３２は、変換パルス数Ｐｃを指令位置カウンタ２１ａおよびフィードバックカウンタ２１ｂの新たなカウント範囲として変換パルス数Ｐｃに設定するように、通信処理部１４を介してカウンタ部２１に指示する。カウンタ部２１は、その指示を受けて、指令位置カウンタ２１ａおよびフィードバックカウンタ２１ｂのカウント範囲を変換パルス数Ｐｃに設定する。
【００４５】
これにより、指令位置カウンタ２１ａおよびフィードバックカウンタ２１ｂは、カウント値が変換パルス数Ｐｃに達するまでカウントを続けてカウント値を０に戻す。
【００４６】
ここで、具体的なカウント範囲設定事例について説明する。このカウント範囲設定事例では、次のパラメータを採用する。
【００４７】
規定パルス数Ｐｒ：１００００パルス
カウント上限値：３６０°
カウント下限値：０°
ワーク３４の回転数Ｎ：３
モータ３１の回転数Ｍ：５
上記のパラメータに基づけば、変換パルス数Ｐｃは前述の式により、次のように算出される。
【００４８】
Ｐｃ＝１００００×（５／３）×３
＝５００００〔パルス〕
このカウント範囲設定事例では、実際には、図５の（ｂ）に示すように、モータ３１が５回転するのに対して、図５の（ａ）に示すように、ワーク３４が３回転する。また、図５の（ｃ）に示すように、ワーク３４の回転位置をパルス数にて表すパルス位置として、ワーク３４が３回転した５００００パルスが、指令位置カウンタ２１ａおよびフィードバックカウンタ２１ｂのカウントによって得られる。このように、変換パルス数Ｐｃが整数であるので、カウント値がカウント範囲の上限値から下限値に切り替わるときに、従来の技術で生じていたような、切り捨てられた小数値の誤差が累積することがない。これにより、変換パルス数Ｐｃに基づいて想定されるワーク３４の位置も図５の（ａ）に示すように表され、実際のワーク３４の位置とのずれがない。
【００４９】
続いて、単位変換部１３１による指令位置および現在位置の単位変換の動作について説明する。
【００５０】
ここでは、上記のパラメータを採用した場合の単位変換事例について説明する。
【００５１】
指令位置の単位を変換する場合、まず、図６の（ａ）および（ｂ）に示すように、範囲拡大部１３１ａは、上限が３６０°であったワーク３４の３回転分の角度の範囲を３倍（３×３６０°＝１０８０°）に拡大するとともに、上限が１００００パルスであったモータ３１の５回転分のパルス数の範囲を５倍（５×Ｐｒ）に拡大する。また、範囲拡大部１３１ａは、モーション制御部１１から入力された指令位置を拡大した角度の範囲において対応する値に変換する。
【００５２】
変換処理部１３１ｂは、上記のように変換された角度で表される指令位置を、図６の（ｂ）に示すように、拡大されたパルス数の範囲において対応する値に変換する。
さらに、範囲縮小部１３１ｃは、上記のように拡大されたパルス数の範囲を拡大前の範囲に縮小する。
【００５３】
現在位置の単位を変換する場合、まず、範囲拡大部１３１ａは、指令位置の単位を変換する場合と同様にして、ワーク３４の３回転分の角度の範囲を３倍に拡大するとともに、モータ３１の５回転分のパルス数の範囲を５倍に拡大する。また、範囲拡大部１３１ａは、サーボドライバ２から入力された現在位置を拡大した角度の範囲において対応する値に変換する。
【００５４】
変換処理部１３１ｂは、上記のように変換されたパルス数で表される現在位置を、図６の（ａ）に示すように、拡大された角度の範囲において対応する値に変換する。さらに、範囲縮小部１３１ｃは、上記のように拡大された角度の範囲を拡大前の範囲に縮小する。
【００５５】
以上のようにして、単位が変換された指令位置は、値によっては、減速比のために、小数値を含む場合がある、例えば、指令位置が２回転である場合、上述の単位変換事例では、７２０°が３３３３３．３３３３３…パルスに変換される。単位変換部１３１は、この指令位置の小数値を切り捨てて、サーボドライバ２に与える。サーボドライバ２が、与えられた指令位置に基づいてモータ３１を駆動してワーク３４を回転させると、フィードバックカウンタ２１ｂによって検出される２回転分の現在位置は、３３３３３パルスであるので、コントローラ１における上記の３３３３３．３３３３３…パルスに対してずれている。
【００５６】
しかしながら、カウント範囲が整数の変換パルス数Ｐｃに規定されているので、前述のように小数値を切り捨てた誤差が累積することはないので、当該誤差は１を超えない。上記のずれは、受け取り側（サーボドライバ２）で扱われるパルス数が整数単位である以上、常に存在しうる誤差である。
【００５７】
これに対し、従来のカウント範囲では、１回転ごとに０.６６６６…の誤差が生じるので、２回転すると１を超える１．３３３３…の誤差が生じてしまう。
【００５８】
（コントローラ１によるカウント範囲の補正による効果）
本実施形態に係るコントローラ１は、パルス数をカウントする指令位置カウンタ２１ａのカウント範囲を決定するカウント範囲決定部１３２を備えている。このカウント範囲決定部１３２は、モータ３１の１回転当たりの規定パルス数Ｐｒに減速比（Ｎ／Ｍ）の逆数および補正値を乗じるとともに、乗算の結果を整数にする補正値を決定する。
【００５９】
これにより、指令位置カウンタ２１ａおよびフィードバックカウンタ２１ｂのカウント範囲が整数となる変換パルス数Ｐｃに設定される。それゆえ、前述のように、カウント範囲が上限値から下限値に切り替わるときに、小数値の誤差が生じることがない。したがって、このような誤差の累積が現在位置に累積することがない。それゆえ、実際に駆動された回転体の位置と指令位置から想定されるワークの位置とが一致する。また、従来のコントローラのように、小数の端数パルス数を管理して補正するという処理が不要となる。しかも、ロータリエンコーダ３２が絶対位置エンコーダである場合、現在位置をカウント範囲のパルス数で管理するので、電源遮断時に端数の累積データ等の追加情報を保持する必要がなく、電源遮断時にメモリに保持すべきデータ量を少なくすることができる。よって、簡素な構成で高精度にワーク位置を制御することができる。
【００６０】
また、カウント範囲決定部１３２は、ワーク３４の回転数Ｎを補正値として決定する。これにより、補正値の決定プロセスを簡素にすることができる。
【００６１】
〔ソフトウェアによる実現例〕
コントローラ１の制御ブロック（特にモーション制御部１１、単位変換管理部１３および通信処理部１４）は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ＣＰＵ（Central Processing Unit）を用いてソフトウェアによって実現してもよい。
【００６２】
後者の場合、コントローラ１は、各部の機能を実現するソフトウェアである制御プログラムの命令を実行するＣＰＵ、上記プログラムおよび各種データがコンピュータ（またはＣＰＵ）で読み取り可能に記録されたＲＯＭ（Read Only Memory）または記憶装置（これらを「記録媒体」と称する）、上記プログラムを展開するＲＡＭ（Random Access Memory）などを備えている。そして、コンピュータ（またはＣＰＵ）が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００６３】
〔付記事項〕
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【００６４】
１  コントローラ（制御装置）
２  サーボドライバ（ドライバ）
２１ａ  指令位置カウンタ（カウンタ）
３１  モータ
３３  減速機
３３ａ  ワーク側歯車（第１歯車）
３３ｂ  モータ側歯車（第２歯車）
３４  ワーク（回転体）
３５  回転軸
３６  回転軸
１３２  カウント範囲決定部
Ｍ  回転数
Ｎ  回転数
Ｐｒ  規定パルス数
【図１】
0006504081.tif 000002
【図２】
0006504081.tif 000003
【図３】
0006504081.tif 000004
【図４】
0006504081.tif 000005
【図５】
0006504081.tif 000006
【図６】
0006504081.tif 000007
【図７】
0006504081.tif 000008