(57)【特許請求の範囲】
【請求項１】
制御権切替え指令を複数のコントローラへ出力するホストコンピュータと、現在位置から目標位置に至る途中の位置に対応するモータ駆動位置指令をモータドライバへ逐次出力する前記複数のコントローラと、前記制御権切替え指令により選択された前記複数のコントローラのいずれか１つのコントローラからの前記モータ駆動位置指令とモータの現在位置とが一致するように駆動回路に電流指令を出力する前記モータドライバと、前記電流指令を受けて前記モータを駆動する電流を制御する前記駆動回路と、前記モータの現在位置を検出する位置検出手段と、を有するモータ駆動制御装置において、
前記モータドライバが、前回のモータ駆動位置指令とする前記いずれか１つのコントローラからの前記モータ駆動位置指令と、前記モータの現在位置と、を前記複数のコントローラ全てに出力するものであり、
前記複数のコントローラの各々が、前記前回のモータ駆動位置指令と前記モータの現在位置に基づいて、各々自ら出力する次回のモータ駆動位置指令を演算し出力するものである、ことを特徴とするモータ駆動制御装置。
【請求項２】
前記複数のコントローラの各々が、自らのモータ駆動位置指令と、前記前回のモータ駆動位置指令と前記モータの現在位置との差と、を加算して前記次回のモータ駆動位置指令を演算するものであることを特徴とする請求項１記載のモータ駆動制御装置。
【請求項３】
制御権切替え指令を複数のコントローラへ出力するホストコンピュータと、現在位置から目標位置に至る途中の位置に対応するモータ駆動位置指令をモータドライバへ逐次出力する前記複数のコントローラと、前記制御権切替え指令により選択された前記複数のコントローラのいずれか１つのコントローラからの前記モータ駆動位置指令とモータの現在位置とが一致するように駆動回路に電流指令を出力する前記モータドライバと、前記電流指令を受けて前記モータを駆動する電流を制御する前記駆動回路と、前記モータの現在位置を検出する位置検出手段と、を有するモータ駆動制御装置の制御方法において、
前記ホストコンピュータが、プログラムまたは外部指令に基づいて前記制御権切替え指令により前記複数のコントローラのいずれか１つのコントローラを選択する処理をし、
選択されたコントローラが、自らのモータ駆動位置指令と、前記モータドライバからの前回のモータ駆動位置指令と前記モータの現在位置との差と、を加算して次回のモータ駆動位置指令を演算して前記モータドライバへ出力する処理をし、
前記モータドライバが、前記次回のモータ駆動位置指令に基づいて前記駆動回路を介して前記モータを駆動させると共に、前記次回のモータ駆動位置指令と前記モータの現在位置とを前記複数のコントローラ全てに出力する処理をする、ことを特徴とするモータ駆動制御装置の制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のコントローラを備えたモータ駆動制御装置およびその制御方法に係り、特に、複数のコントローラから１つのモータドライバへモータ駆動位置指令を出す場合でも、正確にモータの駆動制御を行うことができ、コントローラ数が増えても処理効率が低下しないモータ駆動制御装置およびその制御方法に関する。
【０００２】
【従来の技術】
機械装置にモータを用いて位置決め制御系を構成する場合など、１台のモータに、電流増幅する１台の駆動回路と、位置制御する１台のモータドライバと、上位装置の指示に応じて位置指令を出力する１台のコントローラを設けるのが一般的である。しかし、異なるメーカの製品を比較するため、複数のコントローラを設けて時々切替えて使用されたり、予備として設けたコントローラの機能を確認するため、時々、常時使用中のコントローラと切替えて使用されることがある。そのように複数台のコントローラを設けて適宜切替えて使用する場合があるので、その状況を図を用いて説明する。
従来の複数のコントローラを備えたモータ駆動制御装置としては、例えば図３に示すようなものがある。同図において、１００はホストコンピュータ、３０１−１，３０１−２はそれぞれ駆動位置指令Ｘｓ１，Ｘｓ２を発する第１および第２コントローラである。３０３はモータドライバ、１０４は駆動回路、１０５はモータである。１０６はエンコーダで、モータ１０５の回転軸に設けられモータの回転数、すなわちモータの現在位置を検出し、モータ現在位置情報ｐｏｓをモータドライバ３０３へフイードバックしている。
このような従来例のモータ駆動制御装置で、モータ１０５によって駆動される図示しない被駆動体の位置制御を行うには、まず、コントローラ３０１−１と３０１−２のうちホストコンピュータ１００によって制御権の与えられたコントローラ（ここでは仮に、コントローラ３０１−１とする。）が、目標位置を入力されると現在位置から目標位置に至る途中の位置に対応するモータ駆動位置指令Ｘｓをモータドライバ３０３へ逐次出力し、モータドライバ３０３は、供給された駆動位置指令Ｘｓ１における目標位置情報とエンコーダ１０６から得られるモータ１０５の現在の位置情報ｐｏｓに基づいて目標位置にモータ１０５がくるように駆動回路１０４に電流指令を出し、モータ１０５は駆動回路１０４からの電流指令に従って回転する。例えば、初めのモータ１０５の位置をＰ０として、まず、第１コントローラ３０１−１から、目標位置Ｐ１００に駆動制御するための駆動位置指令Ｘｓ１がモータドライバ３０３へ指示されると、モータドライバ３０３は供給された駆動位置指令Ｘｓ１における目標位置情報（Ｐ１００）とエンコーダ１０６から得られるモータ１０５の現在の位置情報ｐｏｓ（Ｐ０）に基づいて、モータ１０５を目標位置に駆動制御する。しかし、モータ１０５は実際には位置Ｐ１００で完全に停止せずに微妙に動いているのが一般的であり、例えば、位置Ｐ１００を中心として位置Ｐ９９から位置Ｐ１０１の範囲の位置にあるとする。したがって、第１のコントローラ３０１−１の駆動位置指令Ｘｓ１によってモータ１０５の現在位置が位置Ｐ９９にあるときに、ホストコンピュータ１００によって制御権が第１のコントローラ３０１−１から第２コントローラ３０１−２に移されたとすると、この第２コントローラ３０１−２がモータ１０５の位置をさらに２００単位ほど駆動制御することになるが、第２コントローラ３０１−２からは、現在位置Ｐ９９から２００単位移動した目標位置Ｐ２９９に駆動制御するための駆動位置指令Ｘｓ２がモータドライバ３０３へ指示されてしまうことになる。これは、この従来例では第１コントローラ３０１−１による駆動位置指令Ｘｓ１の後に、モータドライバ３０１から各コントローラ３０１−１，３０１−２へ送信される各種情報にはモータ１０５の現在の位置情報およびステータス情報しか含まれていないためである。つまり、本来、第２コントローラ３０１−２は、位置Ｐ１００から２００単位移動した目標位置Ｐ３００に駆動制御したいにもかかわらず、第２コントローラ３０１−２は、現在位置Ｐ９９から２００単位移動した目標位置Ｐ２９９に駆動制御するため、その結果、モータ１０５は位置Ｐ２９９を中心とした位置Ｐ２９８から位置Ｐ３００の範囲に位置することとなり、微妙な誤差が生じてしまう。そしてさらに、第２コントローラ３０１−２よる駆動制御の後にモータ１０５の現在位置が位置Ｐ２９８にあるときに、第１コントローラ３０１−１からモータ１０５をさらに１００単位だけ移動させるべく駆動制御しようとする場合には、第１コントローラ３０１−１は、現在位置Ｐ２９８から１００単位移動した目標位置Ｐ３９８への駆動位置指令Ｘｓ１をモータドライバ１０３へ出力することとなるので、その結果、モータ１０５は位置Ｐ３９８を中心とした位置Ｐ３９７から位置Ｐ３９９の範囲に位置することになる。このようにして、実際のモータ１０５の位置と、コントローラ３０１−１，３０１−２が駆動しようとする位置と間の誤差が蓄積されていく場合があるという問題があった。
この問題を解消する手法としては、従来、モータドライバ１０３へ発した駆動位置指令を複数のコントローラ３０１−１，３０１−２間で通信する方法があったが、各コントローラ３０１−１，３０１−２間で通信を行わなければならないことから、コントローラの数が増えると効率が悪かった。
【０００３】
【発明が解決しようとする課題】
以上のように、上記従来のモータ駆動制御装置にあっては、複数のコントローラから１つのモータドライバへモータ駆動位置指令を発するとき、コントローラから発せられるモータのモータ駆動位置指令（駆動位置指令）に応答してモータドライバが各コントローラに送信する各種情報には、実際のモータの位置情報やステータス情報しか含まれていないので、実際のモータの位置と、各コントローラが駆動しようとする位置と間の誤差が蓄積されていき、コントローラから正確にモータドライバへモータ駆動位置指令を出せない場合があるという問題があった。また、この問題を解消する手法としては、モータドライバへ発したモータ駆動位置指令に関する情報を複数のコントローラ間で通信する方法があるが、この場合、コントローラの数が増えると効率が悪いという問題点があった。
本発明は、上記従来の問題点に鑑みてなされたものであって、複数のコントローラを備えたモータ駆動制御装置において、一方のコントローラから他方のコントローラへ制御権を切替えた場合でも、正確にモータの駆動制御を行うことができ、コントローラ数が増えても処理効率が低下しないモータ駆動制御装置およびその制御方法を提供することを目的としている。
【０００４】
【課題を解決するための手段】
上記課題を解決するために、本発明は次のように構成したものである。請求項１に記載の発明は、制御権切替え指令を複数のコントローラへ出力するホストコンピュータと、現在位置から目標位置に至る途中の位置に対応するモータ駆動位置指令をモータドライバへ逐次出力する前記複数のコントローラと、前記制御権切替え指令により選択された前記複数のコントローラのいずれか１つのコントローラからの前記モータ駆動位置指令とモータの現在位置とが一致するように駆動回路に電流指令を出力する前記モータドライバと、前記電流指令を受けて前記モータを駆動する電流を制御する前記駆動回路と、前記モータの現在位置を検出する位置検出手段と、を有するモータ駆動制御装置において、前記モータドライバが、前回のモータ駆動位置指令とする前記いずれか１つのコントローラからの前記モータ駆動位置指令と、前記モータの現在位置と、を前記複数のコントローラ全てに出力するものであり、前記複数のコントローラの各々が、前記前回のモータ駆動位置指令と前記モータの現在位置に基づいて、各々自ら出力する次回のモータ駆動位置指令を演算し出力するものである、ことを特徴とするものである。
また、請求項２に記載の発明は、請求項１記載の発明における前記複数のコントローラの各々が、自らのモータ駆動位置指令と、前記前回のモータ駆動位置指令と前記モータの現在位置との差と、を加算して前記次回のモータ駆動位置指令を演算するものであることを特徴とするものである。
請求項３に記載の発明は、制御権切替え指令を複数のコントローラへ出力するホストコンピュータと、現在位置から目標位置に至る途中の位置に対応するモータ駆動位置指令をモータドライバへ逐次出力する前記複数のコントローラと、前記制御権切替え指令により選択された前記複数のコントローラのいずれか１つのコントローラからの前記モータ駆動位置指令とモータの現在位置とが一致するように駆動回路に電流指令を出力する前記モータドライバと、前記電流指令を受けて前記モータを駆動する電流を制御する前記駆動回路と、前記モータの現在位置を検出する位置検出手段と、を有するモータ駆動制御装置の制御方法において、前記ホストコンピュータが、プログラムまたは外部指令に基づいて前記制御権切替え指令により前記複数のコントローラのいずれか１つのコントローラを選択する処理をし、選択されたコントローラが、自らのモータ駆動位置指令と、前記モータドライバからの前回のモータ駆動位置指令と前記モータの現在位置との差と、を加算して次回のモータ駆動位置指令を演算して前記モータドライバへ出力する処理をし、前記モータドライバが、前記次回のモータ駆動位置指令に基づいて前記駆動回路を介して前記モータを駆動させると共に、前記次回のモータ駆動位置指令と前記モータの現在位置とを前記複数のコントローラ全てに出力する処理をする、ことを特徴とするものである。
【０００５】
以上のように、一のコントローラからのモータ駆動位置指令が目標とする位置情報を位置検出手段からの現位置情報と共に、他のコントローラへ送信するようにしているので、これにより各コントローラは各駆動制御段階における目標位置情報と実際の位置情報とを考慮した目標位置へのモータ駆動位置指令を発行することが可能となる。従って複数のコントローラから１つの駆動手段へモータ駆動位置指令を出す場合でも正確にモータの駆動制御を行うことができ、さらに駆動手段へ発したモータ駆動位置指令に関する情報を複数のコントローラ間で通信する必要もないのでコントローラ数が増えても処理効率が低下することもない。
【０００６】
【発明の実施の形態】
以下、本発明のモータ駆動制御装置およびその制御方法の実施の形態について、図面を参照して詳細に説明する。図１は本発明の一実施形態に係るモータ駆動制御装置の構成図である。図１において、図３（従来例）と重複する部分には同一の符号を付する。図１において、本実施形態のモータ駆動制御装置は、制御権切替え等を指令するホストコンピュータ１００と、駆動対象であるモータ１０５と、モータ駆動位置指令Ｘｓ１およびＸｓ２をそれぞれ発する第１コントローラ１０１−１および第２コントローラ１０１−２と、モータ１０５の現在位置を検出する位置検出手段（エンコーダ）１０６と、第１コントローラ１０１−１または第２コントローラ１０１−２からの駆動位置指令Ｘｓ１またはＸｓ２に応じてモータ１０５を駆動制御する駆動手段としてのモータドライバ１０３および駆動回路１０４とを備えて構成されている。
モータドライバ１０３は、第１コントローラ１０１−１または第２コントローラ１０１−２から与えられた駆動位置指令Ｘｓ１またはＸｓ２における目標位置情報とエンコーダ１０６から得られるモータ１０５の現在の位置情報ｐｏｓを基に駆動回路１０４を通じてモータ１０５を駆動制御するとともに、第１コントローラ３０１−１および第２コントローラ３０１−２へ各種情報、すなわち、モータ１０５の現在の位置情報および各種ステータス（過電流・断線などのトラブル情報）等の情報の他に、本発明による情報駆動位置指令Ｘｓ１またはＸｓ２が目標とする位置情報も出力するようにしている。
【０００７】
次に本実施形態のモータ駆動制御装置において実施される複数のコントローラ１０１−１，１０１−２によるモータ１０５の駆動制御の処理について、図２のフローチャートを参照して説明する。
１）まず、ステップＳ２０１では、ホストコンピュータはプログラムに従って又は外部指令を受けて第１コントローラ（又は第２コントローラ）へ制御権を切替える。
２）次に、ステップＳ２０２では、制御権のある第１コントローラ（又は第２コントローラ）はプログラムに従いフィードバック位置、指令位置等からモータ運動量を計算する。
３）次に、ステップＳ２０３では、制御権のある第１コントローラ（又は第２コントローラ）はモータドライバへモータ駆動位置を指令する。
４）さらに、ステップＳ２０４では、モータドライバが駆動回路を使用して指令位置までモータを駆動する。
５）そして、ステップＳ２０５では、モータドライバがエンコーダからのフィードバック位置、指令位置、及び各種ステータスを第１コントローラ及び第２コントローラへ送信する。
６）さらに、ステップＳ２０６第１コントローラ及び第２コントローラは動作完了などのステータスをホストコンピュータへ送信する。
以上のステップＳ２０１からステップＳ２０６までの処理が繰り返し行われる。
このようにして、例えば、初めのモータ１０５の位置をＰ０として、第１コントローラ１０１−１から目標位置Ｐ１００に駆動制御するための駆動位置指令Ｘｓ１がモータドライバ１０３へ指示された場合、駆動回路１０４の駆動制御によってモータ１０５が位置Ｐ１００で完全に停止せずに微妙に動いて、例えば位置Ｐ１００を中心とした位置Ｐ９９から位置Ｐ１０１の範囲の位置にあったとしても、制御権が切替えられて第２コントローラ１０１−２によってモータ１０５の位置をさらに２００単位ほど駆動制御しようする場合第２コントローラ１０１−２には第１コントローラ１０１−１に送られた位置Ｐ１００に駆動制御するための駆動位置指令Ｘｓ１が与えられているため、これを基にしてモータ１０５の位置を第１のコントローラ１０１−１の駆動位置指令Ｘｓ１が目標位置としたＰ１００から２００単位移動した目標位置Ｐ３００という制御するための駆動位置指令Ｘｓ２がモータドライバ１０３へ指示されることが可能となる。この結果、モータドライバ１０３は与えられた目標位置へモータ１０５を駆動制御し、モータ１０５は位置Ｐ３００を中心とした位置Ｐ２９９から位置Ｐ３０１の範囲の位置にある。
そしてさらに、第２コントローラ１０１−２による駆動制御の後にモータ１０５の現在位置が位置Ｐ２９９にあるときに、ホストコンピュータ１００によって再び制御権が第１コントローラ１０１−１（あるいは、図示のない第３のコントローラに）切替えられても、第１コントローラ１０１−１からモータ１０５をさらに１００単位だけ移動させるべく駆動制御しようとする場合同様にして、第１コントローラ１０１−１は、第２のコントローラ１０１−２の駆動位置指令Ｘｓ２が目標位置としたＰ３００からから１００単位移動した目標位置Ｐ４００への駆動位置指令Ｘｓ１をモータドライバ１０３へ出力することができ、その結果、モータ１０５は位置Ｐ４００を中心とした位置Ｐ３９９から位置Ｐ４０１の範囲に位置することになる。
【０００８】
以上のように、本実施形態のモータ駆動制御装置では、駆動位置指令Ｘｓ１またはＸｓ２に応答した各種情報として、エンコーダ１０６からのモータ１０５の現在の位置情報（フィードバック位置情報）および各種ステータス情報の他に、該モータ駆動位置指令Ｘｓ１またはＸｓ２が目標とする位置情報をも第１コントローラ１０１−１および第２コントローラ１０１−２に送信するので、各コントローラ１０１−１，１０１−２は、各駆動制御段階における目標位置情報と実際の位置情報とを考慮した目標位置への駆動位置指令Ｘｓ１，Ｘｓ２を発行することが可能となるので、２つのコントローラ１０１−１，１０１−２から１つのモータドライバ１０３へ駆動位置指令Ｘｓ１，Ｘｓ２を出す場合でも、正確にモータ１０５の駆動制御を行うことができ、さらに、モータドライバ１０３へ発した駆動位置指令Ｘｓ１，Ｘｓ２に関する情報をコントローラ１０１−１，１０１−２間で通信する必要もないので、コントローラ数が増えても処理効率が低下することもない。
【０００９】
【発明の効果】
以上説明したように、本発明のモータ駆動制御装置およびその制御方法によれば、１のコントローラからモータ駆動位置指令がモータドライバに発せられ、モータドライバが該モータ駆動位置指令に応じた駆動制御を行ったとき、モータドライバ、１のコントローラからのモータ駆動位置指令が目標とする位置情報を、位置検出手段からの現位置情報と共に、他のコントローラへも送信することとしたので、複数のコントローラのうち制御権を切替えて常時どれか１つのコントローラからモータ駆動位置指令を出す場合でも、正確にモータの駆動制御を行うことができ、さらに、複数のコントローラ間通信の必要もなく、コントローラ数が増えても処理効率が低下しないモータ駆動制御装置およびその制御方法を提供することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るモータ駆動制御装置の構成図である。
【図２】複数のコントローラによるモータの駆動制御の処理を説明するフローチャートである。
【図３】従来の複数のコントローラを備えたモータ駆動制御装置の構成図である。
【符号の説明】
１００  ホストコンピュータ
１０１−１，３０１−１    第１コントローラ
１０１−２，３０１−２    第２コントローラ
１０３，３０３    モータドライバ
１０４    駆動回路
１０５    モータ
１０６    エンコーダ（位置検出手段）
Ｘｓ  モータ駆動位置指令
ｐｏｓ    モータ位置情報
【図１】
0003994239.tif 000002
【図２】
0003994239.tif 000003
【図３】
0003994239.tif 000004