(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023158075
(43)【公開日】2023-10-26
(54)【発明の名称】モータ制御システム、モータ制御装置、モータ制御方法
(51)【国際特許分類】
H02P 5/46 20060101AFI20231019BHJP
【FI】
H02P5/46 F
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023143812
(22)【出願日】2023-09-05
(62)【分割の表示】P 2021165769の分割
【原出願日】2021-10-07
(71)【出願人】
【識別番号】000006622
【氏名又は名称】株式会社安川電機
(74)【代理人】
【識別番号】110003096
【氏名又は名称】弁理士法人第一テクニカル国際特許事務所
(72)【発明者】
【氏名】吉良 俊信
(72)【発明者】
【氏名】大久保 整
(72)【発明者】
【氏名】松村 勇
(72)【発明者】
【氏名】太田 諒
(72)【発明者】
【氏名】上遠野 優
(57)【要約】
【課題】上位制御装置の処理負荷を軽減することが可能なモータ制御システム、モータ制御装置、及びモータ制御方法を提供する。
【解決手段】モータ制御システム1は、制御指令を出力する上位制御装置3と、制御指令に基づいて複数のモータ7A~7Dを制御して機構要素15A~15Dを駆動する複数のモータ制御装置5A~5Dと、モータ制御装置5Dに機構要素15Dに関わる情報を出力する外部センサ17と、を有し、複数のモータ制御装置5A~5Dの各々は、機構要素15Dに関わる情報を複数のモータ制御装置5A~5D間のデータ通信を介して互いに共有する情報共有部23と、共有した機構要素15Dに関わる情報をモータ制御装置5A~5D自身による自立運転用の制御指令に変換する指令変換部25と、変換された制御指令に基づいてモータ7を制御するモータ制御部27と、を有する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
第1の制御指令を出力する上位制御装置と、
前記第1の制御指令に基づいて複数のモータを制御して機構要素を駆動する複数のモータ制御装置と、
いずれか1つの前記モータ制御装置に前記機構要素に関わる情報を出力するセンサと、
を有し、
前記複数のモータ制御装置の各々は、
前記機構要素に関わる情報を前記複数のモータ制御装置間のデータ通信を介して互いに共有する情報共有部と、
共有した前記機構要素に関わる情報を前記モータ制御装置自身による自立運転用の第2の制御指令に変換する指令変換部と、
前記第2の制御指令に基づいて前記モータを制御するモータ制御部と、
を有する、モータ制御システム。
【請求項2】
前記センサは、
前記機構要素の位置情報、速度情報、又はトルク情報を検出し、対応する前記モータ制御装置に出力する、
請求項1に記載のモータ制御システム。
【請求項3】
前記指令変換部は、
前記センサにより検出される前記機構要素に関わる情報と、制御対象である前記モータに対応する前記第1の制御指令と、の相関情報に基づいて、前記機構要素に関わる情報を前記第2の制御指令に変換する、
請求項1に記載のモータ制御システム。
【請求項4】
前記上位制御装置は、
前記複数のモータ制御装置に所定のタイミングで開始指令を出力する開始指令出力部を有し、
前記複数のモータ制御装置の各々は、
前記開始指令を受信した場合に、前記情報共有部により前記機構要素に関わる情報を共有し、前記指令変換部により前記機構要素に関わる情報を前記第2の制御指令に変換し、前記モータ制御部により前記第2の制御指令に基づいて前記モータを制御する、
請求項1乃至3のいずれか1項に記載のモータ制御システム。
【請求項5】
上位制御装置から出力される第1の制御指令に基づいて複数のモータのうちの1つのモータを制御して機構要素を駆動するモータ制御装置であって、
前記機構要素に関わる情報を他のモータ制御装置との間でデータ通信を介して互いに共有する情報共有部と、
共有した前記機構要素に関わる情報を前記モータ制御装置自身による自立運転用の第2の制御指令に変換する指令変換部と、
前記第2の制御指令に基づいて前記モータを制御するモータ制御部と、
を有する、モータ制御装置。
【請求項6】
上位制御装置から出力される第1の制御指令に基づいて複数のモータのうちの1つのモータを制御して機構要素を駆動するモータ制御方法であって、
前記機構要素に関わる情報を他のモータ制御装置との間でデータ通信を介して互いに共有することと、
共有した前記機構要素に関わる情報を前記モータ制御装置自身による自立運転用の第2の制御指令に変換することと、
前記第2の制御指令に基づいて前記モータを制御することと、
を有する、モータ制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
開示の実施形態は、モータ制御システム、モータ制御装置、及びモータ制御方法に関する。
【背景技術】
【0002】
特許文献1には、分散モータ制御システムが記載されている。この分散モータ制御システムでは、上位制御装置に接続された複数のサーボアンプに含まれる少なくとも2つのサーボアンプのそれぞれが、産業機器の連携駆動に必要な連携制御データを、少なくとも2つのサーボアンプどうしのデータ通信を介し互いに共有するための、共有化処理を行う共有化処理部と、共有化処理された連携制御データを用いて、対応するモータを制御する制御部と、を有する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
モータ制御システムにおいて、上位制御装置の処理負荷を軽減することが要望されていた。
【0005】
本発明はこのような問題点に鑑みてなされたものであり、上位制御装置の処理負荷を軽減することが可能なモータ制御システム、モータ制御装置、及びモータ制御方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明の一の観点によれば、第1の制御指令を出力する上位制御装置と、前記第1の制御指令に基づいて複数のモータを制御して機構要素を駆動する複数のモータ制御装置と、いずれか1つの前記モータ制御装置に前記機構要素に関わる情報を出力するセンサと、を有し、前記複数のモータ制御装置の各々は、前記機構要素に関わる情報を前記複数のモータ制御装置間のデータ通信を介して互いに共有する情報共有部と、共有した前記機構要素に関わる情報を前記モータ制御装置自身による自立運転用の第2の制御指令に変換する指令変換部と、前記第2の制御指令に基づいて前記モータを制御するモータ制御部と、を有する、モータ制御システムが適用される。
【0007】
また、本発明の別の観点によれば、上位制御装置から出力される第1の制御指令に基づいて複数のモータのうちの1つのモータを制御して機構要素を駆動するモータ制御装置であって、前記機構要素に関わる情報を他のモータ制御装置との間でデータ通信を介して互いに共有する情報共有部と、共有した前記機構要素に関わる情報を前記モータ制御装置自身による自立運転用の第2の制御指令に変換する指令変換部と、前記第2の制御指令に基づいて前記モータを制御するモータ制御部と、を有する、モータ制御装置が適用される。
【0008】
また、本発明の別の観点によれば、上位制御装置から出力される第1の制御指令に基づいて複数のモータのうちの1つのモータを制御して機構要素を駆動するモータ制御方法であって、前記機構要素に関わる情報を他のモータ制御装置との間でデータ通信を介して互いに共有することと、共有した前記機構要素に関わる情報を前記モータ制御装置自身による自立運転用の第2の制御指令に変換することと、前記第2の制御指令に基づいて前記モータを制御することと、を有する、モータ制御方法が適用される。
【発明の効果】
【0009】
本発明のモータ制御システム等によれば、上位制御装置の処理負荷を軽減することができる。
【図面の簡単な説明】
【0010】
【
図1】第1実施形態に係るモータ制御システムの全体構成の一例を表す図である。
【
図2】上位制御装置及びモータ制御装置の機能構成の一例を表すブロック図である。
【
図3】外部センサにより検出される位置情報とモータに対する位置指令との相関情報の一例を表す図である。
【
図4】モータ制御装置により実行される処理手順の一例を表すフローチャートである。
【
図5】第2実施形態に係るモータ制御システムの全体構成の一例を表す図である。
【
図6】第2実施形態に係るモータ制御システムにより駆動されるステージ装置の構造の一例を表す斜視図である。
【
図7】上位制御装置及びモータ制御装置の機能構成の一例を表すブロック図である。
【
図8】モータ制御装置により実行される処理手順の一例を表すフローチャートである。
【
図9】第3実施形態に係るモータ制御システムの全体構成の一例を表す図である。
【
図10】第3実施形態に係るモータ制御システムにより駆動されるガントリ機構の構造の一例を表す斜視図である。
【
図11】上位制御装置及びモータ制御装置の機能構成の一例を表すブロック図である。
【
図12】モータ制御装置により実行される処理手順の一例を表すフローチャートである。
【
図13】モータ制御装置のハードウェア構成例を表すブロック図である。
【発明を実施するための形態】
【0011】
以下、実施形態について図面を参照しつつ説明する。
【0012】
<1.第1実施形態>
第1実施形態は、モータ制御システムを基準信号を用いて自立運転するシステムに適用した場合の実施形態である。
【0013】
(1-1.モータ制御システムの全体構成)
図1を参照しつつ、第1実施形態に係るモータ制御システム1の全体構成の一例について説明する。
【0014】
図1に示すように、モータ制御システム1は、上位制御装置3と、複数(例えば4台)のモータ制御装置5A~5Dと、複数(例えば4台)のモータ7A~7Dとを有する。
【0015】
上位制御装置3は、例えば汎用パーソナルコンピュータ、PLC(Programable Logic Controller)、モーションコントローラ等のコンピュータで構成されている。上位制御装置3は、モータ7A~7Dを制御するための制御指令(第1の制御指令の一例。例えば位置指令、速度指令、トルク指令等)をそれぞれ生成し、モータ制御装置5A~5Dにそれぞれ送信する。
【0016】
モータ制御装置5A~5Dは、上位制御装置3から受信した制御指令に基づいて、モータ7A~7Dをそれぞれ制御する。モータ7A~7Dは、ロータリモータでもよいしリニアモータでもよい。モータ制御装置5A~5Dはサーボアンプともいう。モータ制御装置5A~5Dは、上位制御装置3に対して直列に接続されており、相互にデータ通信が可能である。また、モータ制御装置5A~5Dのうちの特定の1つのモータ制御装置(例えばモータ制御装置5A)は、上位制御装置3と相互にデータ通信可能に接続されている。以下では適宜、上位制御装置3とモータ制御装置5Aとの間でデータ通信を行う通信路を第1通信路9と、モータ制御装置5A~5Dの相互間でのデータ通信を行う通信路を第2通信路11という。
【0017】
モータ制御装置5Aは、上位制御装置3から受信した制御指令及びエンコーダ13Aから受信した位置情報に基づいてモータ7Aに電力を供給し、モータ7Aを制御する。モータ7Aは、機構要素15Aを駆動する。エンコーダ13Aは、モータ7Aの駆動部(例えば回転子又は可動子)の位置情報を検出し、モータ制御装置5Aに送信する。
【0018】
モータ制御装置5Bは、上位制御装置3から受信した制御指令及びエンコーダ13Bから受信した位置情報に基づいてモータ7Bに電力を供給し、モータ7Bを制御する。モータ7Bは、機構要素15Bを駆動する。エンコーダ13Bは、モータ7Bの駆動部の位置情報を検出し、モータ制御装置5Bに送信する。
【0019】
モータ制御装置5Cは、上位制御装置3から受信した制御指令及びエンコーダ13Cから受信した位置情報に基づいてモータ7Cに電力を供給し、モータ7Cを制御する。モータ7Cは、機構要素15Cを駆動する。エンコーダ13Cは、モータ7Cの駆動部の位置情報を検出し、モータ制御装置5Cに送信する。
【0020】
モータ制御装置5Dは、上位制御装置3から受信した制御指令及びエンコーダ13Dから受信した位置情報に基づいてモータ7Dに電力を供給し、モータ7Dを制御する。モータ7Dは、機構要素15Dを駆動する。エンコーダ13Dは、モータ7Dの駆動部の位置情報を検出し、モータ制御装置5Dに送信する。
【0021】
モータ制御装置5A~5Dのうちの特定の1つのモータ制御装置(例えばモータ制御装置5D)は、モータの制御に関わる基準情報を受信する。「基準情報」の種類は、各モータ7A~7Dに対する制御指令とそれぞれ相関を有しており、相関情報を用いて各制御指令に変換可能な情報であれば、特に限定されるものではない。例えば、モータ7Dが駆動する機構要素15D(駆動部の一例)の位置情報を検出する外部センサ17(基準情報出力部の一例)を設置しておき、モータ制御装置5Dが基準情報として、外部センサ17が検出した位置情報(基準情報の一例)を受信してもよい。モータ制御装置5Dが受信した基準情報はモータ制御装置5A~5D間で共有され、上位制御装置3に依存しないモータ制御装置5A~5Dによる自立運転の実行に使用される。
【0022】
なお、外部センサ17の種類は、機構要素15の位置情報等を検出可能であれば特に限定されるものではない。例えばエンコーダ、ポテンショメータ、赤外線センサ、レーザセンサ等でもよい。基準情報として機構要素15の速度情報やトルク情報を検出する場合には、外部センサ17は例えば速度センサやトルクセンサ等でもよい。なお、外部センサ17の検出情報の代わりに、エンコーダ13Dが出力するモータ7Dの駆動部の位置情報を基準情報として利用してもよい。この場合、エンコーダ13Dが基準情報出力部の一例となる。
【0023】
機構要素15A~15Dは、例えばワークに対して加工や計測などの所定の処理を行う産業用の機械システム等を構成する。各機構要素の種類は特に限定されるものではないが、例えばモータ7が回転型である場合にはボールねじ機構等でもよい。
【0024】
なお、以上説明したモータ制御システム1の構成は一例であり、上述の内容に限定されるものではない。例えば、モータ制御装置5及びモータ7の台数(軸数)は4以外の複数であってもよいし、モータ制御装置5B~5Dのいずれかが上位制御装置3と接続されてもよい。また、モータ制御装置5A~5Cのいずれかが基準情報を受信する構成としてもよい。
【0025】
また、本実施形態においてモータ制御装置5A~5D、モータ7A~7D、エンコーダ13A~13D、機構要素15A~15Dの各々を区別しない場合には、モータ制御装置5、モータ7、エンコーダ13、機構要素15と記載する。
【0026】
(1-2.上位制御装置、モータ制御装置の機能構成)
図2及び
図3を参照しつつ、上位制御装置3及びモータ制御装置5A~5Dの機能構成の一例について説明する。
【0027】
図2に示すように、上位制御装置3は、制御指令出力部19と、開始指令出力部21とを有する。制御指令出力部19は、モータ7A~7Dのそれぞれの動作を制御するための制御指令(例えば位置指令、速度指令、トルク指令等)を生成し、対応するモータ制御装置5A~5Dにそれぞれ送信する。前述のようにモータ制御装置5A~5Dは直列に接続されているため、モータ制御装置5Aに対する制御指令は第1通信路9を介して、モータ制御装置5B~5Dに対する制御指令は第1通信路9及び第2通信路11を介してそれぞれ送信される。
【0028】
開始指令出力部21は、モータ制御装置5A~5Dに所定のタイミングで開始指令を出力する。「開始指令」は、上位制御装置3に依存しないモータ制御装置5A~5Dによる自立運転の開始を指示するための指令である。上位制御装置3からモータ制御装置5Aに送信された開始指令は、第2通信路11を介して各モータ制御装置5B~5Dに送信される。
【0029】
モータ制御装置5A~5Dはそれぞれ、情報共有部23と、指令変換部25と、モータ制御部27とを有する。情報共有部23は、基準情報(本実施形態ではモータ制御装置5Dが外部センサ17から受信した機構要素15Dの位置情報)を第2通信路11を介したデータ通信を介してモータ制御装置5A~5D間で互いに共有する。具体的には、モータ制御装置5Dの情報共有部23は外部センサ17から受信した位置情報を共有化し、第2通信路11を介してモータ制御装置5A~5Cの情報共有部23にそれぞれ送信する。また、共有化された位置情報は第1通信路9を介して上位制御装置3にも送信される。
【0030】
指令変換部25は、情報共有部23により共有した基準情報を、制御対象であるモータ7に対応した制御指令(第2の制御指令の一例)に変換する。例えば指令変換部25は、外部センサ17により検出される位置情報と、制御対象であるモータ7に対応する位置指令との相関情報に基づいて、位置情報を位置指令に変換する。
【0031】
具体的には、モータ制御装置5Aの指令変換部25は、モータ制御装置5Aの適宜の記録手段に記録された、外部センサ17により検出される位置情報とモータ7Aに対する位置指令との相関情報に基づいて、共有した位置情報をモータ7Aに対する位置指令に変換する。同様に、モータ制御装置5Bの指令変換部25は、モータ制御装置5Bの適宜の記録手段に記録された、外部センサ17により検出される位置情報とモータ7Bに対する位置指令との相関情報に基づいて、共有した位置情報をモータ7Bに対する制御指令に変換する。同様に、モータ制御装置5Cの指令変換部25は、モータ制御装置5Cの適宜の記録手段に記録された、外部センサ17により検出される位置情報とモータ7Cに対する位置指令との相関情報に基づいて、共有した位置情報をモータ7Cに対する制御指令に変換する。同様に、モータ制御装置5Dの指令変換部25は、モータ制御装置5Dの適宜の記録手段に記録された、外部センサ17により検出される位置情報とモータ7Dに対する位置指令との相関情報に基づいて、共有した位置情報をモータ7Dに対する制御指令に変換する。
【0032】
図3に、外部センサ17により検出される位置情報とモータ7に対する位置指令との相関情報の一例を示す。
図3に示すように、相関情報では、外部センサ17により検出される各位置情報P1,P2,P3・・・にそれぞれ対応する位置指令C1,C2,C3・・・が規定されている。相関情報は電子カムテーブルともいう。各モータ制御装置5A~5Dには、制御対象であるモータ7に対応した固有の相関情報がそれぞれ記録されている。各モータ制御装置5A~5Dの指令変換部25は、共有した位置情報を上記相関情報に基づいて固有の位置指令にそれぞれ変換する。
【0033】
なお、指令変換部25により基準情報から変換される制御指令は、位置指令に限定されるものではなく、例えば速度指令やトルク指令でもよい。その場合には、予め対応する相関情報を各モータ制御装置5に記録しておけばよい。
【0034】
モータ制御部27は、指令変換部25により変換された制御指令、及び、対応するエンコーダ13から受信した位置情報に基づいて、制御対象であるモータ7を制御する。具体的には、モータ制御部27は、例えば位置制御部、速度制御部、電流制御部等(図示省略)を有する。位置制御部は、指令変換部25により変換された位置指令からエンコーダ13の検出情報に基づくフィードバック位置を減算した位置偏差に基づいて、例えばPID制御等により速度指令を生成する。速度制御部は、速度指令からエンコーダ13の検出情報に基づくフィードバック速度を減算した速度偏差に基づいて、例えばPID制御等によりトルク指令を生成する。電流制御部は、トルク指令に基づく電力変換を行いモータ7に電力を供給する。
【0035】
上述した上位制御装置3の制御指令出力部19及び開始指令出力部21等における処理、モータ制御装置5A~5Dの情報共有部23、指令変換部25、及びモータ制御部27等における処理等は、これらの処理の分担の例に限定されるものではない。例えば、更に少ない数の処理部(例えば1つの処理部)で処理されてもよく、更に細分化された処理部により処理されてもよい。またモータ制御装置5A~5Dは、モータ7A~7Dに電力を供給する部分(インバータ等)のみ実際の装置により実装され、その他の上記各処理部による機能は後述するCPU901(
図13参照)が実行するプログラムにより実装されてもよいし、その機能の一部又は全部がASICやFPGA、その他の電気回路等の実際の装置により実装されてもよい。
【0036】
(1-3.モータ制御装置の処理手順)
図4を参照しつつ、モータ制御装置5により実行される処理手順の一例について説明する。
【0037】
ステップS10では、モータ制御装置5は、モータ制御部27により、上位制御装置3から受信した制御指令、及び、対応するエンコーダ13から受信した位置情報に基づいて、制御対象であるモータ7を制御する。
【0038】
ステップS20では、モータ制御装置5は、上位制御装置3から開始指令を受信したか否かを判定する。開始指令を受信していない場合には(ステップS20:NO)、ステップS10に戻る。一方、開始指令を受信した場合には(ステップS20:YES)、次のステップS30に移る。
【0039】
ステップS30では、モータ制御装置5は、情報共有部23により、モータ制御装置5Dが外部センサ17から受信した機構要素15Dの位置情報を第2通信路11を介したデータ通信を介してモータ制御装置5A~5D間で互いに共有する。
【0040】
ステップS40では、モータ制御装置5は、指令変換部25により、上記ステップS30で共有した位置情報を、記録手段に記録された相関情報に基づいて、制御対象であるモータ7に対応した位置指令に変換する。
【0041】
ステップS50では、モータ制御装置5は、モータ制御部27により、上記ステップS40で変換された位置指令、及び、対応するエンコーダ13から受信した位置情報に基づいて、制御対象であるモータ7を制御する。これにより、上位制御装置3からの制御指令が無くともエンコーダ13から受信した位置情報に基づいてモータ制御装置5A~5Dが各モータ7A~7Dを制御する、モータ制御装置5A~5Dによる自立運転が実行される。
【0042】
ステップS60では、モータ制御装置5は、自立運転を終了するか否かを判定する。自立運転の終了は、例えば、上位制御装置3から自立運転の終了を指示する終了指令を受信したか否か、又は、相関情報に基づいて変換された位置指令の払い出しが終了したか否か等により判定される。自立運転を終了しない場合には(ステップS60:NO)、先のステップS30に戻る。一方、自立運転を終了する場合には(ステップS60:YES)、次のステップS70に移る。
【0043】
ステップS70では、モータ制御装置5は、モータ制御システム1の稼働を終了するか否かを判定する。システムの稼働を継続する場合には(ステップS70:NO)、先のステップS10に戻り、同様の手順を繰り返す。一方、システムの稼働を終了する場合には(ステップS70:YES)、本フローチャートを終了する。
【0044】
以上説明した処理手順は一例であって、上記手順の少なくとも一部を削除又は変更してもよいし、上記以外の手順を追加してもよい。また、上記手順の少なくとも一部の順番を変更してもよいし、複数の手順が単一の手順にまとめられてもよい。
【0045】
(1-4.第1実施形態の効果)
以上説明したように、第1実施形態のモータ制御システム1は、制御指令を出力する上位制御装置3と、制御指令に基づいて複数のモータ7A~7Dを制御する複数のモータ制御装置5A~5Dと、いずれか1つのモータ制御装置5(例えばモータ制御装置5D)にモータ7の制御に関わる基準情報を出力する外部センサ17と、を有し、複数のモータ制御装置5A~5Dの各々は、基準情報を複数のモータ制御装置5A~5D間のデータ通信を介して互いに共有する情報共有部23と、共有した基準情報を制御対象であるモータ7に対応した制御指令に変換する指令変換部25と、変換された制御指令に基づいて制御対象であるモータ7を制御するモータ制御部27と、を有する。
【0046】
モータ制御システム1では、複数のモータ制御装置5A~5Dの各々がデータ通信を介して互いに基準情報を共有し、共有した基準情報を自立運転用の制御指令に変換し、当該制御指令に基づいてモータ7を制御する。このようにして、各モータ制御装置5A~5Dは、上位制御装置3からの制御指令が無くとも自立して運転することが可能となる。これにより、上位制御装置3は各モータ制御装置5A~5Dに対する制御指令を生成して出力する処理が不要となるため、上位制御装置3の処理負荷を軽減することができる。
【0047】
また、上位制御装置3からの制御指令により複数のモータ制御装置5A~5Dを同期して運転する場合、上位制御装置3の処理周期で指令分解能が決まる。例えば、制御するモータ制御装置の数(接続軸数)が多かったり、同期に関係のないモータ制御装置に対する処理がある場合、上位制御装置3の処理負荷が増大し、処理周期が長くなる。その結果、指令分解能が粗くなり、同期精度の低下を招く可能性がある。
【0048】
本実施形態では、各モータ制御装置5A~5Dが第2通信路11を介したデータ通信により共有した基準情報に基づいて自立運転を行う。このため、基準情報は例えば第2通信路11の伝送周期又は各モータ制御装置5A~5Dの処理周期ごとに更新され、自立運転用の制御指令も当該周期ごとに更新される。これにより、各モータ制御装置5A~5Dは上位制御装置3の処理周期に依存せずに第2通信路11の伝送周期又はモータ制御装置5A~5Dの処理周期で同期運転を実行することが可能となる。したがって、指令分解能を細かくでき、同期精度を向上できる。
【0049】
また本実施形態において、外部センサ17は、いずれか1つのモータ7(例えばモータ7D)の駆動対象の位置情報を検出し、当該位置情報を対応するモータ制御装置5(例えばモータ制御装置5D)に出力する位置センサとしてもよい。
【0050】
この場合、外部センサ17により検出された例えばモータ7Dの駆動対象の位置情報に基づいて、複数のモータ制御装置5A~5Dを同期させて自立運転することができる。また、外部センサ17の代わりに、例えばモータ7Dに搭載されたエンコーダ13Dを使用して位置情報を検出する場合には、基準情報を生成して出力するための新たな機器が不要となるので、コストアップを抑制できる。
【0051】
また本実施形態において、指令変換部25は、外部センサ17により検出される位置情報と、制御対象であるモータ7に対応する位置指令との相関情報に基づいて、位置情報を位置指令に変換してもよい。
【0052】
本実施形態では、各モータ制御装置5A~5Dが相関情報に基づいて、共通の位置情報を自身の制御対象であるモータ7に対応した個別の位置指令に変換する。これにより、複数のモータ制御装置5A~5Dを精度良く同期させて自立運転することができる。例えば、複数軸の電子カム制御を自立して実行することが可能となる。
【0053】
また本実施形態において、上位制御装置3は、複数のモータ制御装置5A~5Dに所定のタイミングで開始指令を出力する開始指令出力部21を有してもよく、その場合には、複数のモータ制御装置5A~5Dの各々は、開始指令を受信した場合に、情報共有部23により基準情報を共有し、指令変換部25により基準情報を自立運転用の制御指令に変換し、変換された制御指令に基づいてモータ制御部27により制御対象であるモータ7を制御してもよい。
【0054】
この場合、上位制御装置3から出力される制御指令に基づく通常運転から、任意のタイミングで上位制御装置3に依存しない自立運転に切り替えることが可能となる。これにより、例えば上位制御装置3の処理負荷が少ない場合や、高い同期精度を要求されない場合は通常運転を行い、例えば上位制御装置3の処理負荷が増大する場合や、高い同期精度を要求される場合等、必要な期間のみ自立運転に切り替えることが可能となる。
【0055】
<2.第2実施形態>
第2実施形態は、モータ制御システムを定点通過信号を出力するシステムに適用した場合の実施形態である。
【0056】
(2-1.モータ制御システムの全体構成)
図5及び
図6を参照しつつ、第2実施形態に係るモータ制御システム100の全体構成の一例について説明する。
【0057】
図5に示すように、モータ制御システム100は、上位制御装置103と、複数(例えば3台)のモータ制御装置105A~105Cと、複数(例えば3台)のモータ107A~107Cとを有する。
【0058】
上位制御装置103は、前述の上位制御装置3と同様に、例えば汎用パーソナルコンピュータ、PLC、モーションコントローラ等のコンピュータで構成されている。上位制御装置103は、モータ107A~107Cを制御するための制御指令(例えば位置指令、速度指令、トルク指令等)をそれぞれ生成し、モータ制御装置105A~105Cにそれぞれ送信する。
【0059】
各モータ制御装置105A~105Cは、上位制御装置103から受信した制御指令に基づいて、モータ107A~107Cをそれぞれ制御する。モータ制御装置105A~105Cは、上位制御装置103に対して直列に接続されており、第2通信路11を介して相互にデータ通信が可能である。また、モータ制御装置105A~105Cのうちの特定の1つのモータ制御装置(例えばモータ制御装置105A)は、第1通信路9を介して上位制御装置103と相互にデータ通信可能に接続されている。
【0060】
モータ制御装置105Aは、上位制御装置103から受信した制御指令及びエンコーダ113Aから受信した位置情報に基づいてモータ107Aに電力を供給し、モータ107Aを制御する。モータ107Aは、X軸に対応するモータであり、
図6に示す3次元直交座標系におけるX軸、Y軸、Z軸方向に駆動可能なステージ装置115のX軸機構115Aを駆動する。エンコーダ113Aは、モータ107Aにより駆動される駆動部(例えばY軸機構115B)のX軸方向の位置情報を検出し、モータ制御装置105Aに送信する。
【0061】
モータ制御装置105Bは、上位制御装置103から受信した制御指令及びエンコーダ113Bから受信した位置情報に基づいてモータ107Bに電力を供給し、モータ107Bを制御する。モータ107Bは、Y軸に対応するモータであり、
図6に示すステージ装置115のY軸機構115Bを駆動する。エンコーダ113Bは、モータ107Bにより駆動される駆動部(例えば可動テーブル111)のY軸方向の位置情報を検出し、モータ制御装置105Bに送信する。
【0062】
モータ制御装置105Cは、上位制御装置103から受信した制御指令及びエンコーダ113Cから受信した位置情報に基づいてモータ107Cに電力を供給し、モータ107Cを制御する。モータ107Cは、Z軸に対応するモータであり、
図6に示すステージ装置115のZ軸機構115Cを駆動する。エンコーダ113Cは、モータ107Cにより駆動される駆動部(例えばX軸機構115A)のZ軸方向の位置情報を検出し、モータ制御装置105Cに送信する。
【0063】
図6に示すように、ステージ装置115(駆動機械の一例)は、X軸方向に沿って配置されたX軸機構115Aと、Y軸方向に沿って配置されたY軸機構115Bと、Z軸方向に沿って配置されたZ軸機構115Cと、可動テーブル111とを有する。X軸機構115A、Y軸機構115B、及びZ軸機構115Cは、それぞれ略直交するように配置されており、機械的に連結されている。X軸機構115Aは、Z軸機構115Cの駆動部に連結されており、モータ107Cの駆動によって全体がZ軸方向に移動する。Y軸機構115Bは、X軸機構115Aの駆動部に連結されており、モータ107Aの駆動によって全体がX軸方向に移動する。可動テーブル111は、Y軸機構115Bの駆動部に連結されており、モータ107Bの駆動によってY軸方向に移動する。モータ107A,107B,107Cは、可動テーブル111が所望の位置に移動するように同期して制御される。
【0064】
X軸機構115A、Y軸機構115B、及びZ軸機構115Cはそれぞれ、モータ107A,107B,107Cと、それぞれの駆動部の軸方向位置を検出するためのエンコーダ113A,113B,113Cとを有する。モータ107A~107Cは、リニアモータでもよいし、ロータリモータでもよい。ロータリモータの場合には、例えばボールねじ機構等により回転が直動に変換される。エンコーダ113A,113B,113C(センサの一例)は、例えばリニアエンコーダである。なお、モータ107A~107Cがロータリモータの場合にはロータリエンコーダとしてもよい。エンコーダ113Aは、リニアスケール113a1とスケールヘッド113a2とを有する。エンコーダ113Bは、リニアスケール113b1とスケールヘッド113b2とを有する。エンコーダ113Cは、リニアスケール113c1とスケールヘッド113c2とを有する。エンコーダ113A,113B,113Cは、各駆動部の位置を検出し、位置情報を対応するモータ制御装置105A,105B,105Cへそれぞれ送信する。
【0065】
上位制御装置103は、モータ制御装置105Aに対してX軸の位置指令を送信し、モータ制御装置105Bに対してY軸の位置指令を送信し、モータ制御装置105Cに対してZ軸の位置指令を送信する。各モータ制御装置105A~105Cは、エンコーダ113A~113Cから受信した位置情報を参照して、対応するモータ107A~107Cにより駆動される駆動部の位置が位置指令に一致するように各モータ107A~107Cを制御する。以上の構成により、ステージ装置115は、上位制御装置103が送信したX軸、Y軸、Z軸の各位置指令に対応する位置に可動テーブル111を移動させる。
【0066】
なお、以上説明したモータ制御システム100の構成は一例であり、上述の内容に限定されるものではない。例えば、モータ制御装置105及びモータ107の台数(軸数)は3以外の複数であってもよい。例えば、2次元直交座標系におけるX軸及びY軸方向に駆動可能なステージ装置等に適用する場合には、軸数は2であってもよい。また、X軸、Y軸、Z軸に加えて例えば回転方向(θ軸)に駆動可能な多軸駆動機械等に適用する場合には、軸数は4以上としてもよい。また、モータ制御装置105B,105Cのいずれかが上位制御装置103と接続されてもよい。
【0067】
また、本実施形態においてモータ制御装置105A~105C、モータ107A~107C、エンコーダ113A~113Cの各々を区別しない場合には、モータ制御装置105、モータ107、エンコーダ113と記載する。
【0068】
(2-2.上位制御装置、モータ制御装置の機能構成)
図7を参照しつつ、上位制御装置103及びモータ制御装置105A~105Cの機能構成の一例について説明する。
【0069】
図7に示すように、上位制御装置103は、制御指令出力部119を有する。制御指令出力部119は、モータ107A~107Cのそれぞれの動作を制御するための制御指令(例えば位置指令、速度指令、トルク指令等)を生成し、対応するモータ制御装置105A~105Cにそれぞれ送信する。前述のようにモータ制御装置105A~105Cは直列に接続されているため、モータ制御装置105Aに対する制御指令は第1通信路9を介して、モータ制御装置105B,105Cに対する制御指令は第1通信路9及び第2通信路11を介してそれぞれ送信される。
【0070】
モータ制御装置105A~105Cはそれぞれ、情報共有部123と、モータ制御部127とを有する。情報共有部123は、エンコーダ113A,113B,113Cにより検出された位置情報を、第2通信路11を介したデータ通信を介してモータ制御装置105A~105C間で互いに共有する。具体的には、モータ制御装置105Aの情報共有部123は、エンコーダ113Aから受信したX軸の位置情報を共有化し、第2通信路11を介してモータ制御装置105B,105Cの情報共有部123にそれぞれ送信する。同様に、モータ制御装置105Bの情報共有部123は、エンコーダ113Bから受信したY軸の位置情報を共有化し、第2通信路11を介してモータ制御装置105A,105Cの情報共有部123にそれぞれ送信する。同様に、モータ制御装置105Cの情報共有部123は、エンコーダ113Cから受信したZ軸の位置情報を共有化し、第2通信路11を介してモータ制御装置105A,105Bの情報共有部123にそれぞれ送信する。これにより、各モータ制御装置105A~105Cはそれぞれ、X軸、Y軸、Z軸の全ての位置情報を共有することになる。また、共有化された各エンコーダ113A,113B,113Cの位置情報は、第1通信路9を介して上位制御装置103にも送信される。
【0071】
モータ制御部127は、上位制御装置103から受信した制御指令、及び、対応するエンコーダ113から受信した位置情報に基づいて、制御対象であるモータ107を制御する。具体的には、モータ制御部127は、例えば位置制御部、速度制御部、電流制御部等(図示省略)を有する。例えば上位制御装置103から位置指令を受信した場合には、位置制御部は、位置指令からエンコーダ113の検出情報に基づくフィードバック位置を減算した位置偏差に基づいて、例えばPID制御等により速度指令を生成する。速度制御部は、速度指令からエンコーダ113の検出情報に基づくフィードバック速度を減算した速度偏差に基づいて、例えばPID制御等によりトルク指令を生成する。電流制御部は、トルク指令に基づく電力変換を行いモータ107に電力を供給する。
【0072】
モータ制御装置105A~105Cのうちの少なくとも1つのモータ制御装置(例えばモータ制御装置105A)は、到達判定部125と、トリガ出力部129とを有する。到達判定部125は、情報共有部123が共有したX軸、Y軸、Z軸の位置情報に基づいて、複数のモータ107A~107Cにより駆動されるステージ装置115の基準点が所定の位置(以下適宜「定点」ともいう)に到達したか否かを判定する。「基準点」は、ステージ装置115の制御点であり、例えば可動テーブル111の中心位置等である。「所定の位置」は、X軸、Y軸、Z軸からなる3次元直交座標系における所定の座標位置である(以下適宜「定点」ともいう)。
【0073】
なお、到達判定部125は、ステージ装置115の基準点が実際に定点に到達又は通過したか否かを判定してもよいし、基準点が定点に到達又は通過する到達時間(例えば現時点から到達するまでの予想経過時間)を算出し、当該到達時間が経過したか否かを判定してもよい。
【0074】
トリガ出力部129は、到達判定部125によりステージ装置115の基準点が定点に到達したと判定された場合に、例えば上位制御装置103にトリガ信号を出力する。また、上記のように到達判定部125が到達時間を推定する場合には、トリガ出力部129は到達時間が経過したと判定された場合にトリガ信号を出力する。トリガ信号は、例えばカメラによる撮像等、外部機器の作動に使用される。なお、トリガ信号は上位制御装置103以外の外部機器に送信されてもよいし、情報共有部123を介してモータ制御装置105B,105Cに送信されてもよい。
【0075】
なお、上記の到達判定部125及びトリガ出力部129の機能は、モータ制御装置105Aに加えて又は代えて、モータ制御装置105B,105Cの少なくとも一方が備えてもよい。
【0076】
上述した上位制御装置103の制御指令出力部119等における処理、モータ制御装置105B,105Cの情報共有部123及びモータ制御部127等における処理、モータ制御装置105Aの情報共有部123、到達判定部125、モータ制御部127、及びトリガ出力部129等における処理等は、これらの処理の分担の例に限定されるものではない。例えば、更に少ない数の処理部(例えば1つの処理部)で処理されてもよく、更に細分化された処理部により処理されてもよい。またモータ制御装置105A~105Cは、モータ107A~107Cに電力を供給する部分(インバータ等)のみ実際の装置により実装され、その他の上記各処理部による機能は後述するCPU901(
図13参照)が実行するプログラムにより実装されてもよいし、その機能の一部又は全部がASICやFPGA、その他の電気回路等の実際の装置により実装されてもよい。
【0077】
(2-3.モータ制御装置の処理手順)
図8を参照しつつ、モータ制御装置105Aにより実行される処理手順の一例について説明する。
【0078】
ステップS110では、モータ制御装置105Aは、モータ制御部127により、上位制御装置103から受信した制御指令、及び、エンコーダ113Aから受信した位置情報に基づいて、モータ107Aを制御する。
【0079】
ステップS120では、モータ制御装置105Aは、情報共有部123により、各エンコーダ113A~113Cから受信した位置情報を第2通信路11を介したデータ通信を介してモータ制御装置105A~105C間で互いに共有する。具体的には、モータ制御装置105Aは、情報共有部123により、エンコーダ113Aから受信したX軸の位置情報を共有化して他のモータ制御装置105B,105Cに送信する。また、モータ制御装置105Bの情報共有部123により共有化されたエンコーダ113BによるY軸の位置情報、及び、モータ制御装置105Cの情報共有部123により共有化されたエンコーダ113CによるZ軸の位置情報を、第2通信路11を介したデータ通信を介して取得する。
【0080】
ステップS130では、モータ制御装置105Aは、到達判定部125により、情報共有部123が共有したX軸、Y軸、Z軸の位置情報に基づいて、複数のモータ107A~107Cにより駆動されるステージ装置115の基準点が所定位置(定点)に到達したか否かを判定する。なお、当該ステップS130の判定には、前述のように基準点が定点に到達又は通過する到達時間を算出し、当該到達時間が経過したか否かを判定することも含まれる。基準点が定点に到達していない場合には(ステップS130:NO)、先のステップS110に戻る。一方、基準点が定点に到達した場合には(ステップS130:YES)、次のステップS140に移る。
【0081】
ステップS140では、モータ制御装置105Aは、トリガ出力部129により例えば上位制御装置103にトリガ信号を出力する。
【0082】
ステップS150では、モータ制御装置105Aは、モータ制御システム100の稼働を終了するか否かを判定する。システムの稼働を継続する場合には(ステップS150:NO)、先のステップS110に戻り、同様の手順を繰り返す。一方、システムの稼働を終了する場合には(ステップS150:YES)、本フローチャートを終了する。
【0083】
以上説明した処理手順は一例であって、上記手順の少なくとも一部を削除又は変更してもよいし、上記以外の手順を追加してもよい。また、上記手順の少なくとも一部の順番を変更してもよいし、複数の手順が単一の手順にまとめられてもよい。
【0084】
(2-4.第2実施形態の効果)
以上説明したように、第2実施形態のモータ制御システム100は、制御指令を出力する上位制御装置103と、制御指令に基づいて複数のモータ107A~107Cを制御する複数のモータ制御装置105A~105Cと、複数のモータ107A~107Cの各々の駆動部の位置情報を検出し、対応するモータ制御装置105A~105Cに出力する複数のエンコーダ113A~113Cと、を有し、複数のモータ制御装置105A~105Cの各々は、エンコーダ113A~113Cにより検出された位置情報を、複数のモータ制御装置105A~105C間のデータ通信を介して互いに共有する情報共有部123を有し、モータ制御装置105A~105Cの少なくとも1つであるモータ制御装置105Aは、共有した位置情報に基づいて、複数のモータ107A~107Cにより駆動されるステージ装置115の基準点が所定の位置に到達したか否かを判定する到達判定部125と、基準点が所定の位置に到達したと判定された場合に、トリガ信号を出力するトリガ出力部129と、を有する。
【0085】
一般にモータ制御システムにおいて、基準点が予め設定した位置に到達又は通過した場合にトリガ信号を出力する場合、各モータ制御装置は自身の軸の位置情報を用いて定点通過判定を行い信号を出力する。このため、例えばXYZ座標系における定点通過判定等、複数の軸の位置情報が必要な場合には、モータ制御装置単体では対応できず、上位制御装置が各軸の位置をモニタして定点通過判定を行うことが一般的であるが、上位制御装置の処理負荷が増大する要因となる。
【0086】
本実施形態のモータ制御システム100では、各軸においてエンコーダ113がモータ107の駆動部の位置情報を検出して対応するモータ制御装置105に出力する。複数のモータ制御装置105A~105Cの各々は、データ通信を介して互いの位置情報を共有する。複数のモータ制御装置105A~105Cのうち少なくとも1つのモータ制御装置105Aは、共有した位置情報に基づいてステージ装置115の基準点が所定の位置に到達したか否かを判定し、到達したと判定した場合にはトリガ信号を出力する。このようにして、各モータ制御装置105A~105Cは、自身の制御対象であるモータ107の位置情報だけでなく他のモータ107の位置情報についても共有できるので、ステージ装置115の基準点が所定の位置に到達したか否かを、上位制御装置103による処理無しに、モータ制御装置単体(本実施形態ではモータ制御装置105A単体)で自立して判定することが可能となる。したがって、モータ制御装置単体で定点出力機能を実現できる。その結果、上位制御装置103は各モータ制御装置105A~105Cから位置情報を取得して判定する処理が不要となるため、上位制御装置103の処理負荷を軽減することができる。
【0087】
また本実施形態において、到達判定部125による判定は、共有した位置情報に基づいて、基準点が所定の位置に到達する到達時間を算出し、当該到達時間が経過したか否かを判定する処理を含んでもよく、その場合には、トリガ出力部129は、到達時間が経過したと判定された場合にトリガ信号を出力してもよい。
【0088】
本実施形態では、モータ制御装置105Aの到達判定部125は、共有した位置情報に基づいて、ステージ装置115の基準点が実際に所定の位置に到達又は通過したか否かを判定してもよいし、基準点が所定の位置に到達又は通過する到達時間を算出し、当該到達時間が経過したか否かを判定してもよい。到達時間を予測して時間経過で判定する場合には、基準点が実際に定点を通過したか否かを判定する場合のように位置情報を継続してモニタする必要がないので、モータ制御装置105Aの処理負荷を軽減できる。
【0089】
また本実施形態において、複数のモータ制御装置105A~105Cは、3次元直交座標系におけるX軸、Y軸、Z軸に対応する3つのモータ107A~107Cをそれぞれ制御する3つのモータ制御装置であってもよく、その場合には、情報共有部123は、複数のエンコーダ113A~113Cにより検出されたX軸、Y軸、及びZ軸の位置情報を共有し、到達判定部125は、共有したX軸、Y軸、及びZ軸の位置情報に基づいて、基準点が3次元直交座標系における所定の位置に到達したか否かを判定してもよい。
【0090】
この場合、モータ制御装置単体(本実施形態ではモータ制御装置105A単体)で3次元直交座標系における定点出力機能を実現できる。
【0091】
<3.第3実施形態>
第3実施形態は、モータ制御システムを制御パラメータの補償機能を備えたガントリ機構に適用した場合の実施形態である。
【0092】
(3-1.モータ制御システムの全体構成)
図9及び
図10を参照しつつ、第3実施形態に係るモータ制御システム200の全体構成の一例について説明する。
【0093】
図9に示すように、モータ制御システム200は、上位制御装置203と、複数(例えば3台)のモータ制御装置205A~205Cと、複数(例えば3台)のモータ207A~207Cとを有する。
【0094】
上位制御装置203は、前述の上位制御装置3,103と同様に、例えば汎用パーソナルコンピュータ、PLC、モーションコントローラ等のコンピュータで構成されている。上位制御装置203は、モータ207A~207Cを制御するための制御指令(例えば位置指令、速度指令、トルク指令等)をそれぞれ生成し、モータ制御装置205A~205Cにそれぞれ送信する。
【0095】
各モータ制御装置205A~205Cは、上位制御装置203から受信した制御指令に基づいて、モータ207A~207Cをそれぞれ制御する。モータ制御装置205A~205Cは、上位制御装置203に対して直列に接続されており、第2通信路11を介して相互にデータ通信が可能である。また、モータ制御装置205A~205Cのうちの特定の1つのモータ制御装置(例えばモータ制御装置205A)は、第1通信路9を介して上位制御装置203と相互にデータ通信可能に接続されている。
【0096】
モータ制御装置205A(第1モータ制御装置の一例)は、上位制御装置203から受信した制御指令及びエンコーダ213Aから受信した位置情報に基づいてモータ207Aに電力を供給し、モータ207Aを制御する。モータ207A(第1モータの一例)は、Y1軸に対応するモータであり、
図10に示すガントリ機構215におけるY1軸方向(第1の軸方向の一例)に沿って駆動可能なY1軸機構215Aを駆動する。エンコーダ213Aは、モータ207Aにより駆動される駆動部(例えばX軸機構215C)のY1軸方向の位置情報を検出し、モータ制御装置205Aに送信する。
【0097】
モータ制御装置205B(第2モータ制御装置の一例)は、上位制御装置203から受信した制御指令及びエンコーダ213Bから受信した位置情報に基づいてモータ207Bに電力を供給し、モータ207Bを制御する。モータ207B(第2モータの一例)は、Y2軸に対応するモータであり、
図10に示すガントリ機構215における、Y1軸方向に略平行なY2軸方向(第2の軸方向の一例)に沿って駆動可能なY2軸機構215Bを駆動する。エンコーダ213Bは、モータ207Bにより駆動される駆動部(例えばX軸機構215C)のY2軸方向の位置情報を検出し、モータ制御装置205Bに送信する。
【0098】
モータ制御装置205C(第3モータ制御装置の一例)は、上位制御装置203から受信した制御指令及びエンコーダ213Cから受信した位置情報に基づいてモータ207Cに電力を供給し、モータ207Cを制御する。モータ207C(第3モータの一例)は、X軸に対応するモータであり、
図10に示すガントリ機構215における、Y1軸機構215A及びY2軸機構215Bの各々の駆動部の間に渡すようにY1軸方向及びY2軸方向に略垂直なX軸方向(第2の軸方向の一例)に沿って駆動可能なX軸機構215Cを駆動する。エンコーダ213Cは、モータ207Cにより駆動される駆動部(例えばヘッド211)のX軸方向の位置情報を検出し、モータ制御装置205Cに送信する。
【0099】
図10に示すように、ガントリ機構215は、Y軸方向(Y1軸、Y2軸の方向)に沿って略平行に配置されたY1軸機構215A及びY2軸機構215Bと、Y軸方向に略垂直なX軸方向に沿って配置されたX軸機構215Cと、ヘッド211とを有する。Y1軸機構215A及びY2軸機構215Bは、それぞれ略同じ長さの直線可動範囲がY軸方向に平行かつ重複するように配置されており、モータ207A及びモータ207Bによってそれぞれの駆動部がY軸方向の同じ位置で移動するように同期して制御される。X軸機構215Cは、モータ207A及びモータ207Bの駆動によって全体がY軸方向に移動するとともに、モータ207Cによってヘッド211が連結された駆動部をX軸方向に移動させる。
【0100】
Y1軸機構215A、Y2軸機構215B、及びX軸機構215Cはそれぞれ、モータ207A,207B,207Cと、それぞれの駆動部の軸方向位置を検出するためのエンコーダ213A,213B,213Cとを有する。モータ207A~207Cは、リニアモータでもよいし、ロータリモータでもよい。ロータリモータの場合には、例えばボールねじ機構等により回転が直動に変換される。エンコーダ213A,213B,213C(センサの一例)は、例えばリニアエンコーダである。なお、モータ207A~207Cがロータリモータの場合にはロータリエンコーダとしてもよい。エンコーダ213Aは、リニアスケール213a1とスケールヘッド213a2とを有する。エンコーダ213Bは、リニアスケール213b1とスケールヘッド213b2とを有する。エンコーダ213Cは、リニアスケール213c1とスケールヘッド213c2とを有する。エンコーダ213A,213B,213Cは、各駆動部の位置を検出し、位置情報を対応するモータ制御装置205A,205B,205Cへそれぞれ送信する。
【0101】
上位制御装置203は、モータ制御装置205Aに対してY1軸の位置指令を送信し、モータ制御装置205Bに対してY2軸の位置指令を送信し、モータ制御装置205Cに対してX軸の位置指令を送信する。各モータ制御装置205A~205Cは、エンコーダ213A~213Cから受信した位置情報を参照して、対応するモータ207A~207Cにより駆動される駆動部の位置が位置指令に一致するように各モータ207A~207Cを制御する。以上の構成により、ガントリ機構215は、上位制御装置203が送信したY1軸、Y2軸、X軸の各位置指令に対応する位置にヘッド211を移動させる。
【0102】
なお、以上説明したモータ制御システム200の構成は一例であり、上述の内容に限定されるものではない。例えば、ヘッド211を回転方向(θ軸)に駆動可能とする場合等、モータ制御装置205及びモータ207の台数(軸数)は4以上であってもよい。また、モータ制御装置205B,205Cのいずれかが上位制御装置203と接続されてもよい。
【0103】
また、本実施形態においてモータ制御装置205A~205C、モータ207A~207C、エンコーダ213A~213Cの各々を区別しない場合には、モータ制御装置205、モータ207、エンコーダ213と記載する。
【0104】
(3-2.上位制御装置、モータ制御装置の機能構成)
図11を参照しつつ、上位制御装置203及びモータ制御装置205A~205Cの機能構成の一例について説明する。
【0105】
図11に示すように、上位制御装置203は、制御指令出力部219を有する。制御指令出力部219は、モータ207A~207Cのそれぞれの動作を制御するための制御指令(例えば位置指令、速度指令、トルク指令等)を生成し、対応するモータ制御装置205A~205Cにそれぞれ送信する。前述のようにモータ制御装置205A~205Cは直列に接続されているため、モータ制御装置205Aに対する制御指令は第1通信路9を介して、モータ制御装置205B,205Cに対する制御指令は第1通信路9及び第2通信路11を介してそれぞれ送信される。
【0106】
モータ制御装置205A~205Cはそれぞれ、情報共有部223と、モータ制御部227とを有する。情報共有部223は、エンコーダ213Cにより検出されたX軸の位置情報(ヘッド211の位置情報)を、第2通信路11を介したデータ通信を介してモータ制御装置205A~205C間で互いに共有する。具体的には、モータ制御装置205Cの情報共有部223は、エンコーダ213Cから受信したX軸の位置情報を共有化し、第2通信路11を介してモータ制御装置205A,205Bの情報共有部223にそれぞれ送信する。これにより、モータ制御装置205A,205Bはそれぞれ、モータ制御装置205CのX軸の位置情報を共有することになる。また、共有化されたエンコーダ213Cの位置情報は、第1通信路9を介して上位制御装置203にも送信される。
【0107】
モータ制御部227は、上位制御装置203から受信した制御指令、及び、対応するエンコーダ213から受信した位置情報に基づいて、制御対象であるモータ207を制御する。具体的には、モータ制御部227は、例えば位置制御部、速度制御部、電流制御部等(図示省略)を有する。例えば上位制御装置203から位置指令を受信した場合には、位置制御部は、位置指令からエンコーダ213の検出情報に基づくフィードバック位置を減算した位置偏差に基づいて、例えばPID制御等により速度指令を生成する。速度制御部は、速度指令からエンコーダ213の検出情報に基づくフィードバック速度を減算した速度偏差に基づいて、例えばPID制御等によりトルク指令を生成する。電流制御部は、トルク指令に基づく電力変換を行いモータ207に電力を供給する。
【0108】
モータ制御装置205A~205Cのうちの少なくとも1つのモータ制御装置(例えばモータ制御装置205A,205B)は、パラメータ調整部225を有する。パラメータ調整部225は、情報共有部223により共有したX軸の位置情報に基づいて、制御対象であるモータ207の制御に関わる制御パラメータを調整する。「制御パラメータ」は、X軸の位置情報に応じて変動するパラメータであり、例えばモータ207A,207Bの制御に関わるイナーシャの設定値である。パラメータ調整部225は、ヘッド211の位置が自身のモータ制御装置205に近づくほどイナーシャの設定値を増加させ、ヘッド211の位置が自身のモータ制御装置205から遠ざかるほどイナーシャの設定値を減少させる。
【0109】
モータ制御部227は、上位制御装置203から受信した制御指令、及び、パラメータ調整部225により調整された制御パラメータ(イナーシャの設定値)に基づいて、制御対象であるモータ207を制御する。
【0110】
上述した上位制御装置203の制御指令出力部219等における処理、モータ制御装置205A~205Cの情報共有部223及びモータ制御部227等における処理、モータ制御装置205A,205Bのパラメータ調整部225等における処理等は、これらの処理の分担の例に限定されるものではない。例えば、更に少ない数の処理部(例えば1つの処理部)で処理されてもよく、更に細分化された処理部により処理されてもよい。またモータ制御装置205A~205Cは、モータ207A~207Cに電力を供給する部分(インバータ等)のみ実際の装置により実装され、その他の上記各処理部による機能は後述するCPU901(
図13参照)が実行するプログラムにより実装されてもよいし、その機能の一部又は全部がASICやFPGA、その他の電気回路等の実際の装置により実装されてもよい。
【0111】
(3-3.モータ制御装置の処理手順)
図12を参照しつつ、モータ制御装置205A,205Bにより実行される処理手順の一例について説明する。
【0112】
ステップS210では、モータ制御装置205A,205Bは、モータ制御部227により、上位制御装置203から受信した制御指令、及び、エンコーダ213A,213Bから受信した位置情報に基づいて、モータ207A,207Bを制御する。
【0113】
ステップS220では、モータ制御装置205A,205Bは、情報共有部223により、モータ制御装置205Cがエンコーダ213Cから受信したX軸の位置情報を第2通信路11を介したデータ通信を介してモータ制御装置205A,205B間で互いに共有する。具体的には、モータ制御装置205Cの情報共有部223がエンコーダ213Cから受信したX軸の位置情報を共有化して他のモータ制御装置205A,205Bにそれぞれ送信する。モータ制御装置205A,205Bは、情報共有部223により、共有化されたX軸の位置情報を第2通信路11を介したデータ通信を介して取得する。
【0114】
ステップS230では、モータ制御装置205A,205Bは、パラメータ調整部225により、上記ステップS220で共有したX軸の位置情報に基づいて、制御対象であるモータ207A,207Bの制御に関わるイナーシャの設定値をそれぞれ調整する。
【0115】
ステップS240では、モータ制御装置205A,205Bは、モータ制御システム200の稼働を終了するか否かを判定する。システムの稼働を継続する場合には(ステップS240:NO)、先のステップS210に戻り、同様の手順を繰り返す。一方、システムの稼働を終了する場合には(ステップS240:YES)、本フローチャートを終了する。
【0116】
以上説明した処理手順は一例であって、上記手順の少なくとも一部を削除又は変更してもよいし、上記以外の手順を追加してもよい。また、上記手順の少なくとも一部の順番を変更してもよいし、複数の手順が単一の手順にまとめられてもよい。
【0117】
(3-4.第3実施形態の効果)
以上説明したように、第3実施形態のモータ制御システム200は、制御指令を出力する上位制御装置203と、制御指令に基づいて複数のモータ207A~207Cを制御する複数のモータ制御装置205A~205Cと、モータ207A~207Cの駆動部の位置情報を検出し、対応するモータ制御装置205A~205Cに出力するエンコーダ213A~213Cと、を有し、複数のモータ制御装置205A~205Cの各々は、エンコーダ213Cにより検出された位置情報を、複数のモータ制御装置205A~205C間のデータ通信を介して互いに共有する情報共有部223を有し、モータ制御装置205A,205Bは、共有した位置情報に基づいて、制御対象であるモータ207A,207Bの制御に関わる制御パラメータを調整するパラメータ調整部225と、制御指令及び調整された制御パラメータに基づいて、制御対象であるモータ207A,207Bを制御するモータ制御部227と、を有する。
【0118】
一般に複数の軸を制御するモータ制御システムにおいては、駆動機構の構造によっては、ある軸の制御パラメータが他の軸の位置の影響を受けて変化する場合がある。この場合、上位制御装置が各軸の位置をモニタし、その位置に応じて制御パラメータの調整を行うことが一般的であるが、上位制御装置の処理負荷が増大する要因となる。
【0119】
本実施形態のモータ制御システム200では、エンコーダ213Cがモータ207Cの駆動部の位置情報を検出して対応するモータ制御装置205Cに出力する。モータ制御装置205A,205Bの各々は、データ通信を介してエンコーダ213Cにより検出されたX軸の位置情報を共有する。モータ制御装置205A,205Bは、共有した位置情報に基づいて制御対象であるモータ207A,207Bの制御に関わる制御パラメータを調整し、制御指令及び調整された制御パラメータに基づいて制御対象であるモータ207A,207Bを制御する。このようにして、各モータ制御装置205A,205Bは、自身の制御対象であるモータ207A,207Bの位置情報だけでなく他のモータ207Cの位置情報についても共有できるので、上位制御装置203による処理無しに、各モータ制御装置205A,205B単体で自立して制御パラメータを調整することが可能となる。したがって、モータ制御装置単体で制御パラメータを補償した制御を実現できる。その結果、上位制御装置203はモータ制御装置205Cから位置情報を取得してモータ制御装置205A,205Bの制御パラメータを調整する処理が不要となるため、上位制御装置203の処理負荷を軽減することができる。
【0120】
また本実施形態において、複数のモータ制御装置205A~205Cは、Y軸方向に沿って略平行に配置されたモータ207A,207Bの各々を制御するモータ制御装置205A及びモータ制御装置205Bと、モータ207A及びモータ207Bの各々の駆動部の間に渡すようにY軸方向に略垂直なX軸方向に沿って配置されたモータ207Cを制御するモータ制御装置205Cと、を有し、エンコーダ213Cは、モータ207Cの駆動部の位置情報を検出してモータ制御装置205Cに出力し、モータ制御装置205A,205Bの各々は、パラメータ調整部225により、共有したモータ207Cの位置情報に基づいてモータ207A,207Bの制御に関わる制御パラメータを調整し、モータ制御部227により、制御指令及び調整された制御パラメータに基づいてモータ207A,207Bを制御してもよい。
【0121】
一般にガントリ機構では、ガントリ軸(Y1,Y2軸)の制御パラメータがヘッド軸(X軸)の位置の影響を受けて変化する。本実施形態では、ガントリ軸(Y1,Y2軸)に対応するモータ制御装置205A,205Bの各々は、ヘッド軸(X軸)に対応するモータ207Cの位置情報を共有し、共有した位置情報に基づいて制御対象であるモータ207A,207Bの制御に関わる制御パラメータを調整する。これにより、ガントリ機構を制御するモータ制御システム200において、モータ制御装置205A,205B単体でガントリのヘッド位置による制御パラメータを補償した制御を実現できる。
【0122】
また本実施形態において、パラメータ調整部225は、共有したモータ207Cの位置情報に基づいてモータ207A,207Bの制御に関わるイナーシャの設定値を調整し、モータ制御部227は、調整されたイナーシャの設定値に基づいてモータ207A,207Bを制御してもよい。
【0123】
この場合、ガントリ機構を制御するモータ制御システム200において、モータ制御装置205A,205B単体でガントリのヘッド位置によるイナーシャ補償制御を実現できる。
【0124】
<4.モータ制御装置のハードウェア構成例>
図13を参照しつつ、以上の各実施形態で説明したモータ制御装置5A~5D(105A~105C,205A~205C)のハードウェア構成例について説明する。
図13中では、モータ制御装置のモータに電力を供給する機能に係る構成を適宜省略して図示している。
【0125】
図13に示すように、モータ制御装置5A~5D(105A~105C,205A~205C)は、例えば、CPU901と、ROM903と、RAM905と、ASIC又はFPGA等の特定の用途向けに構築された専用集積回路907と、入力装置913と、出力装置915と、記録装置917と、ドライブ919と、接続ポート921と、通信装置923とを有する。これらの構成は、バス909や入出力インターフェース911を介し相互に信号を伝達可能に接続されている。
【0126】
プログラムは、例えば、ROM903やRAM905、ハードディスク等の記録装置917等に記録しておくことができる。
【0127】
プログラムは、例えば、フレキシブルディスクなどの磁気ディスク、各種のCD・MOディスク・DVD等の光ディスク、半導体メモリ等のリムーバブルな記録媒体925に、一時的又は非一時的(永続的)に記録しておくこともできる。このような記録媒体925は、いわゆるパッケージソフトウエアとして提供することもできる。この場合、これらの記録媒体925に記録されたプログラムは、ドライブ919により読み出されて、入出力インターフェース911やバス909等を介し上記記録装置917に記録されてもよい。
【0128】
プログラムは、例えば、ダウンロードサイト・他のコンピュータ・他の記録装置等(図示せず)に記録しておくこともできる。この場合、プログラムは、LANやインターネット等のネットワークNWを介し転送され、通信装置923がこのプログラムを受信する。そして、通信装置923が受信したプログラムは、入出力インターフェース911やバス909等を介し上記記録装置917に記録されてもよい。
【0129】
プログラムは、例えば、適宜の外部接続機器927に記録しておくこともできる。この場合、プログラムは、適宜の接続ポート921を介し転送され、入出力インターフェース911やバス909等を介し上記記録装置917に記録されてもよい。
【0130】
CPU901が、上記記録装置917に記録されたプログラムに従い各種の処理を実行することにより、上記の情報共有部23、指令変換部25、モータ制御部27、情報共有部123、到達判定部125、モータ制御部127、トリガ出力部129、情報共有部223、パラメータ調整部225、及びモータ制御部227等による処理が実現される。CPU901は、例えば、上記記録装置917からプログラムを直接読み出して実行してもよいし、RAM905に一旦ロードした上で実行してもよい。CPU901は、例えば、プログラムを通信装置923やドライブ919、接続ポート921を介し受信する場合、受信したプログラムを記録装置917に記録せずに直接実行してもよい。
【0131】
CPU901は、必要に応じて、例えばマウス・キーボード・マイク(図示せず)等の入力装置913から入力する信号や情報に基づいて各種の処理を行ってもよい。
【0132】
CPU901は、上記の処理を実行した結果を、例えば表示装置や音声出力装置等の出力装置915から出力してもよい。CPU901は、必要に応じて処理結果を通信装置923や接続ポート921を介し送信してもよい。CPU901は、処理結果を上記記録装置917や記録媒体925に記録させてもよい。
【0133】
以上の説明において、「垂直」「平行」「平面」等の記載がある場合には、当該記載は厳密な意味ではない。それら「垂直」「平行」「平面」とは、設計上、製造上の公差、誤差が許容され、「実質的に垂直」「実質的に平行」「実質的に平面」という意味である。
【0134】
以上の説明において、外観上の寸法や大きさ、形状、位置等が「同一」「同じ」「等しい」「異なる」等の記載がある場合は、当該記載は厳密な意味ではない。それら「同一」「同じ」「等しい」「異なる」とは、設計上、製造上の公差、誤差が許容され、「実質的に同一」「実質的に同じ」「実質的に等しい」「実質的に異なる」という意味である。
【0135】
なお、例えばしきい値や基準値等、所定の判定基準となる値あるいは区切りとなる値の記載がある場合は、それらに対しての「同一」「等しい」「異なる」等は、上記とは異なり、厳密な意味である。
【0136】
以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。その他、一々例示はしないが、上記実施形態や各変形例は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。
【0137】
以上説明した実施形態や変形例等が解決しようとする課題や効果は、上述した内容に限定されるものではない。実施形態や変形例等によって、上述されていない課題を解決したり、上述されていない効果を奏することもでき、記載されている課題の一部のみを解決したり、記載されている効果の一部のみを奏することがある。
【符号の説明】
【0138】
1 モータ制御システム
3 上位制御装置
5A~5D モータ制御装置
7A~7D モータ
17 外部センサ(基準情報出力部)
19 制御指令出力部
21 開始指令出力部
23 情報共有部
25 指令変換部
27 モータ制御部
100 モータ制御システム
103 上位制御装置
105A~105C モータ制御装置
107A~107C モータ
113A~113C エンコーダ(センサ)
115 ステージ装置(駆動機械)
119 制御指令出力部
123 情報共有部
125 到達判定部
127 モータ制御部
129 トリガ出力部
200 モータ制御システム
203 上位制御装置
205A~205C モータ制御装置
207A~207C モータ
213A~213C エンコーダ(センサ)
215 ガントリ機構
219 制御指令出力部
223 情報共有部
225 パラメータ調整部
227 モータ制御部