(57)【特許請求の範囲】
【請求項１】
産業機器を連携して駆動する複数のモータを個別に制御する複数のモータ制御装置を有する分散モータ制御システムであって、
前記複数のモータ制御装置に含まれる少なくとも２つのモータ制御装置のそれぞれは、
前記産業機器の連携駆動に必要な連携制御データを、前記少なくとも２つのモータ制御装置どうしのデータ通信を介し互いに共有するための、共有化処理を行う第１共有化処理部と、
前記共有化処理された前記連携制御データを用いて、対応する前記モータを制御する制御部と、
を有し、
前記少なくとも２つのモータ制御装置それぞれの前記第１共有化処理部は、
当該モータ制御装置により処理される前記連携制御データを、当該モータ制御装置以外の他のモータ制御装置が参照可能な状態とする被参照処理部と、
当該モータ制御装置以外の他のモータ制御装置により参照可能な状態とされた、前記他のモータ制御装置により処理される前記連携制御データを参照する参照処理部と、
を備えることを特徴とする分散モータ制御システム。
【請求項２】
前記産業機器は、複数の機構要素を有し、
前記複数のモータは、互いに連携して、前記複数の機構要素にそれぞれ備えられた複数の駆動軸をそれぞれ駆動し、
前記少なくとも２つのモータ制御装置のそれぞれの前記制御部は、前記複数の駆動軸にそれぞれ対応する複数の軸制御プログラムに基づいて、対応する前記モータを制御する
ことを特徴とする請求項１記載の分散モータ制御システム。
【請求項３】
前記複数の軸制御プログラムを含む制御動作プログラムを作成可能な外部装置をさらに備え、
前記少なくとも２つのモータ制御装置のそれぞれは、
前記外部装置からロードされた、当該モータ制御装置に対応する前記軸制御プログラムを記憶する記憶部をさらに有する
ことを特徴とする請求項２記載の分散モータ制御システム。
【請求項４】
前記少なくとも２つのモータ制御装置それぞれの前記第１共有化処理部は、
当該モータ制御装置の前記記憶部に記憶された前記軸制御プログラムにより処理される前記連携制御データを、前記少なくとも２つのモータ制御装置どうしのデータ通信を介し互いに共有するための、前記共有化処理を行い、
前記少なくとも２つのモータ制御装置それぞれの前記制御部は、
当該モータ制御装置の前記記憶部に記憶された前記軸制御プログラムに基づき、前記共有化処理された前記連携制御データを用いて、対応する前記モータを制御する
ことを特徴とする請求項３記載の分散モータ制御システム。
【請求項５】
前記少なくとも２つのモータ制御装置それぞれの前記第１共有化処理部に備えられた前記被参照処理部は、
当該モータ制御装置の前記軸制御プログラムにより処理される前記連携制御データを、当該モータ制御装置以外の他のモータ制御装置が前記データ通信を介し参照可能な状態とする
ことを特徴とする請求項４記載の分散モータ制御システム。
【請求項６】
前記少なくとも２つのモータ制御装置それぞれの前記第１共有化処理部に備えられた前記参照処理部は、
当該モータ制御装置以外の他のモータ制御装置により参照可能な状態とされた、前記他のモータ制御装置の前記軸制御プログラムにより処理される前記連携制御データを、前記データ通信を介し参照する
ことを特徴とする請求項４又は５記載の分散モータ制御システム。
【請求項７】
前記少なくとも２つのモータ制御装置のそれぞれは、
前記外部装置に保持されている前記制御動作プログラムを分割して当該モータ制御装置に対応して生成された前記軸制御プログラムを前記外部装置からロードする分割ロード処理部をさらに有し、
前記記憶部は、
前記分割ロード処理部によりロードされた前記軸制御プログラムを記憶する
ことを特徴とする請求項３乃至請求項６のいずれか１項記載の分散モータ制御システム。
【請求項８】
前記少なくとも２つのモータ制御装置のそれぞれは、
前記外部装置に保持されている当該モータ制御装置に対応する前記軸制御プログラムを含んだ前記制御動作プログラムの全体を前記外部装置からロードする全体ロード処理部をさらに有し、
前記記憶部は、
前記全体ロード処理部によりロードされた前記制御動作プログラムのうち当該モータ制御装置に対応する軸制御プログラムだけを記憶する
ことを特徴とする請求項３乃至請求項６のいずれか１項記載の分散モータ制御システム。
【請求項９】
前記外部装置に保持されている前記制御動作プログラムは、当該外部装置の表示部において前記複数の軸制御プログラムを含む態様で表示され、編集可能に構成されている
ことを特徴とする請求項３乃至請求項８のいずれか１項記載の分散モータ制御システム。
【請求項１０】
前記連携制御データは、
前記少なくとも２つのモータ制御装置のそれぞれで駆動するモータの間の連携駆動を同期させるための同期データが含まれている
ことを特徴とする請求項１乃至９のいずれか１項記載の分散モータ制御システム。
【請求項１１】
前記産業機器を統括的に制御する上位制御装置をさらに備え、
前記上位制御装置は、前記複数のモータ制御装置のいずれか１つと統括制御データを共有するための第１通信路を有し、
前記複数のモータ制御装置に含まれる少なくとも２つのモータ制御装置は、前記連携制御データを共有するための第２通信路を有し、
前記第１通信路と前記第２通信路における通信速度は互いに異なる
ことを特徴とする請求項１乃至１０のいずれか１項記載の分散モータ制御システム。
【請求項１２】
前記産業機器内において前記複数のモータ制御装置を統括的に制御する機器制御装置をさらに備え、
前記機器制御装置は、
前記少なくとも２つのモータ制御装置との間で前記連携制御データを共有するための共有化処理を行う第２共有化処理部
を有することを特徴とする請求項１乃至１１のいずれか１項記載の分散モータ制御システム。
【請求項１３】
産業機器を連携して駆動する複数のモータのうち１つのモータを制御するモータ制御装置であって、
前記産業機器を連携して駆動する他のモータ制御装置との連携駆動に必要な連携制御データを、前記他のモータ制御装置との間でデータ通信を介し互いに共有するための共有化処理を行う共有化処理部と、
前記共有化処理された前記連携制御データを用いて、前記１つのモータを制御する制御部と、
を有し、
前記共有化処理部は、
当該モータ制御装置により処理される前記連携制御データを、当該モータ制御装置以外の他のモータ制御装置が参照可能な状態とする被参照処理部と、
当該モータ制御装置以外の他のモータ制御装置により参照可能な状態とされた、前記他のモータ制御装置により処理される前記連携制御データを参照する参照処理部と、
を備えることを特徴とするモータ制御装置。
【請求項１４】
モータ制御における基本機能に関する第１プログラムを実行する第１領域と、モータ制御における用途別アプリケーションに関する第２プログラムを実行する第２領域と、を少なくとも確保するマルチコアプロセッサを備え、
前記第２領域において、
当該モータ制御装置と前記他のモータ制御装置による、前記産業機器を連携駆動するためのそれぞれに対応する前記モータを制御する前記第２プログラムを実行する
ことを特徴とする請求項１３記載のモータ制御装置。
【請求項１５】
産業機器を連携して駆動する複数のモータを個別に制御する複数のモータ制御装置を有する分散モータ制御システムで実行する、分散モータ制御方法であって、
前記産業機器の連携駆動に必要な連携制御データを、前記複数のモータ制御装置に含まれる少なくとも２つのモータ制御装置どうしのデータ通信を介し互いに共有することと、
前記共有された前記連携制御データを用いて、前記少なくとも２つのモータ制御装置それぞれにより、対応する前記モータを制御することと、
を実行し、
前記共有することは、
前記少なくとも２つのモータ制御装置のうち１つのモータ制御装置により処理される前記連携制御データを、当該１つのモータ制御装置以外の他のモータ制御装置が参照可能な状態とすることと、
当該１つのモータ制御装置以外の他のモータ制御装置により参照可能な状態とされた、前記他のモータ制御装置により処理される前記連携制御データを参照することと、
を備えることを特徴とする分散モータ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の実施形態は、分散モータ制御システム、モータ制御装置、及び分散モータ制御方法に関する。
【背景技術】
【０００２】
特許文献１には、複数の実行コード・ファンクション・ブロックの組み合わせをパラメータで繋いだアプリケーション部及びモータ制御部からなる実行コード部と、実行コードを実行するＣＰＵを備えたインバータが開示されている。そして、当該構成を備えたインバータを複数用意し、それら複数のインバータの入出力どうしを通信によって接続することにより、元来複数のインバータの上位に接続されていたＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）が省略されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１７８２３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来技術では、上記複数のインバータのうち１つにマスタとしての機能が割り付けられるとともに、残りのインバータにスレーブとしての機能が割り付けられている。すなわち、前述の元来構成におけるＰＬＣの役割を、マスタとして機能する上記１つのインバータが肩代わりしているにすぎず、複数のモータ制御装置が対等な位置づけで互いにデータ通信を行うわけではない。例えばスレーブとして機能する複数のインバータどうしは直接相互にデータ通信を行うことはできず、マスタとして機能する上記１つのインバータを介してしかデータを送受できない。そのため、複数のモータを制御する際、マスタと各スレーブとの間での通信遅れが発生し、モータ制御性能の向上という点では改善の余地があった。また、マスタとスレーブでの機能が異なるため、モータ制御装置としての汎用性に乏しいという点でも改善の余地があった。
【０００５】
本発明はこのような問題点に鑑みてなされたものであり、複数のモータを制御する際の処理速度を向上できる、分散モータ制御システム、モータ制御装置、及びモータ制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明の一の観点によれば、産業機器を連携して駆動する複数のモータを個別に制御する複数のモータ制御装置を有する分散モータ制御システムであって、前記複数のモータ制御装置に含まれる少なくとも２つのモータ制御装置のそれぞれは、前記産業機器の連携駆動に必要な連携制御データを、前記少なくとも２つのモータ制御装置どうしのデータ通信を介し互いに共有するための、共有化処理を行う共有化処理部と、前記共有化処理された前記連携制御データを用いて、対応する前記モータを制御する制御部と、を有する分散モータ制御システムが適用される。
【０００７】
また、本発明の別の観点によれば、産業機器を連携して駆動する複数のモータのうち１つのモータを制御するモータ制御装置であって、前記産業機器を連携して駆動する他のモータ制御装置との連携駆動に必要な連携制御データを、前記他のモータ制御装置との間でデータ通信を介し互いに共有するための共有化処理を行う共有化処理部と、前記共有化処理された前記連携制御データを用いて、前記１つのモータを制御する制御部と、を有するモータ制御装置が適用される。
【０００８】
また、本発明の別の観点によれば、産業機器を連携して駆動する複数のモータを個別に制御する複数のモータ制御装置を有する分散モータ制御システムで実行する、分散モータ制御方法であって、前記産業機器の連携駆動に必要な連携制御データを、前記複数のモータ制御装置に含まれる少なくとも２つのモータ制御装置どうしのデータ通信を介し互いに共有することと、前記共有された前記連携制御データを用いて、前記少なくとも２つのモータ制御装置それぞれにより、対応する前記モータを制御することと、を実行する分散モータ制御方法が適用される。
【発明の効果】
【０００９】
本発明によれば、複数のモータを制御する際の処理速度を向上できる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態に係る分散モータ制御システムの全体構成の一例を示す説明図である。
【図２】サーボアンプのソフトウェア的な機能構成を表す機能ブロック図である。
【図３】サーボアンプのＣＰＵとして利用するマルチコアプロセッサの構成内容を表す図である。
【図４】エンジニアリングＰＣの表示部で表示、編集される制御動作プログラムのタイムシーケンスチャートである。
【図５】連携制御データのデータ内容の一例を表す図である。
【図６】サーボアンプ間のデータ送受を一局集中管理する比較例の場合の参照工程を表す図である。
【図７】サーボアンプ間のデータ送受を巡回して行う実施形態の場合の参照工程を表す図である。
【図８】産業機器に機構要素と駆動制御系の追加モジュールを追加した場合のシステム構成を表す図である。
【図９】全体ロード処理部により動作制御プログラムの全体をロードする場合の構成を表す図である。
【図１０】上位制御装置も連携制御データを共有する場合の機能ブロック図である。
【図１１】連携制御データを共有する上位ＰＬＣを設けた場合の機能ブロック図である。
【図１２】サーボアンプのハードウェア構成例を表す機能ブロック図である。
【発明を実施するための形態】
【００１１】
以下、一実施の形態について図面を参照しつつ説明する。
【００１２】
＜１．分散モータ制御システムの全体構成＞
まず、図１を参照しつつ、本実施形態に係る分散モータ制御システムの構成の一例について説明する。図１は本実施形態に係る分散モータ制御システムの全体構成の一例を示している。図示する本実施形態の例では、例えばワークに対して所定の処理を行う産業機器を複数の駆動軸で連携して制御する場合について説明する。
【００１３】
分散モータ制御システム１００は、上位制御装置１と、エンジニアリングＰＣ２と、産業機器３とを有している。
【００１４】
上位制御装置１は、ＣＰＵやＲＯＭ、ＲＡＭなどのメモリなどを備えたコンピュータ、又はＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）等で構成され、例えば図示するように複数設けられた産業機器３のそれぞれに対して処理動作の開始や概略的な制御内容を指令する統括制御データ（統括制御指令）を出力して統括的に制御する上位の制御装置である。なお、この統括制御データについては、後に詳述する。
【００１５】
エンジニアリングＰＣ２は、ＣＰＵやＲＯＭ、ＲＡＭなどのメモリ、及び操作部や表示部などを備えたパーソナルコンピュータ又は専用ツールで構成され、後述するように各産業機器３に対応してそれぞれが備える複数の駆動軸の時系列的又は条件的な連携制御の制御内容を示す制御動作プログラムを編集、作成する外部装置である。なお、この制御動作プログラムについても、後に詳述する。
【００１６】
産業機器３は、それぞれ駆動軸を介してモータ３４により駆動される複数の機構要素３２を備え、それら複数の機構要素３２の連携駆動により所定の処理を行う機械システムである。本実施形態の例における産業機器３は、上述したようにワークに対して加工や計測などの所定の処理を行う産業用の機械システムである場合を例として説明する。
【００１７】
＜２．産業機器の詳細構成＞
以下、産業機器３内部のハードウェア構成の詳細について説明する。図１に示す本実施形態の例では、産業機器３における機械的構成部分の機構部３１がそれぞれ可動要素である３つの機構要素３２Ａ，３２Ｂ，３２Ｃを備えており、それら機構要素３２Ａ，３２Ｂ，３２Ｃに対応してそれぞれ駆動軸３３Ａ，３３Ｂ，３３Ｃを介して個別に駆動する３つのモータ３４Ａ，３４Ｂ，３４Ｃと、各モータ３４Ａ，３４Ｂ，３４Ｃに対応してそれぞれ個別に駆動電力の給電を制御するサーボアンプ３５Ａ，３５Ｂ，３５Ｃをさらに有している。また、各モータ３４Ａ，３４Ｂ，３４Ｃはそれぞれの出力位置を検出するエンコーダ３６Ａ，３６Ｂ，３６Ｃを備えており、各エンコーダ３６Ａ，３６Ｂ，３６Ｃはその検出値をそれぞれ対応するサーボアンプ３５Ａ，３５Ｂ，３５Ｃに出力する。また、必要に応じていずれかの機構要素（図示する例では機構要素３２Ｂ）にはセンサ３７が設けられており、このセンサ３７が検出した機構要素やワークなどに関する検出値が対応するエンコーダ３６Ｂなどを介してサーボアンプ３５Ｂに入力される。
【００１８】
各サーボアンプ３５Ａ，３５Ｂ，３５Ｃは、ＣＰＵやＲＯＭ、ＲＡＭ、フラッシュメモリなどのメモリなどを備えたコンピュータ（図１２参照）で構成され、後述する軸動作制御部５１による駆動軸間の連携制御と、後述するモータ制御部５２によるモータ制御との２つの制御機能によって、対応するモータ３４Ａ，３４Ｂ，３４Ｃに駆動電力を給電し駆動制御するモータ制御装置である。
【００１９】
また図示する例では、３つのサーボアンプ３５Ａ，３５Ｂ，３５Ｃが、「Ａ−Ｂ−Ｃ」の順での直列な接続構成（いわゆる線形のデイジーチェーン接続構成）で相互に情報送受可能に接続されている。このようなサーボアンプ間でのデータ通信を行う通信経路を、以下においてはアンプ間通信経路３８（第２通信路に相当）という。また図示する例では、上記のアンプ間通信経路３８とは別に、サーボアンプ３５Ａの１つだけが上記の上位制御装置１と相互に情報送受可能に接続されている。このような上位制御装置１と特定のサーボアンプ３５Ａとの間でデータ通信を行う通信経路を、以下においては上位通信経路３９（第１通信路に相当）という。
【００２０】
次に、図２を参照して、産業機器３内部における各サーボアンプ３５Ａ，３５Ｂ，３５Ｃのソフトウェア的な機能構成について詳細に説明する。この図２に示すように、本実施形態の例においては、３つのサーボアンプ３５Ａ，３５Ｂ，３５Ｃはいずれもソフトウェア的な機能構成としてほぼ共通する同じ構成にあり、以下においてはそれら共通する機能構成について説明する。各サーボアンプ３５Ａ，３５Ｂ，３５Ｃは、それぞれ共有化処理部４０と制御部５０を備えている。
【００２１】
共有化処理部４０（第１共有化処理部）は、当該産業機器３内に設けられたサーボアンプ３５Ａ，３５Ｂ，３５Ｃどうしの間で上記アンプ間通信経路３８を介し連携制御データを共有するための共有化処理を行う機能部であり、被参照処理部４１と参照処理部４２を有している。連携制御データは、後述する軸動作制御部５１により処理されるデータであり、上記の被参照処理部４１と参照処理部４２によって当該サーボアンプ３５Ａ，３５Ｂ，３５Ｃが備える上記メモリ上に専用に割り当てられた所定の記憶領域に連携制御データが記録、管理される。なお、この連携制御データのデータ内容については後に詳述する。
【００２２】
被参照処理部４１は、連携制御データを、当該サーボアンプ３５Ａ，３５Ｂ，３５Ｃ以外の他のサーボアンプ３５Ａ，３５Ｂ，３５Ｃがアンプ間通信経路３８でのデータ通信を介して参照可能な状態となるよう処理する。具体的には、後述する軸動作制御部５１によって連携制御データの読み取りと書き換えを可能にするとともに、他のサーボアンプ３５Ａ，３５Ｂ，３５Ｃの参照処理部４２からの要求に応じて連携制御データを返信するよう処理する。
【００２３】
参照処理部４２は、当該サーボアンプ３５Ａ，３５Ｂ，３５Ｃ以外の他のサーボアンプ３５Ａ，３５Ｂ，３５Ｃにより参照可能な状態とされた、他のサーボアンプ３５Ａ，３５Ｂ，３５Ｃに記録されている連携制御データを、アンプ間通信経路３８でのデータ通信を介して参照するよう処理する。具体的には、あらかじめ参照対象として設定されている他のサーボアンプ３５Ａ，３５Ｂ，３５Ｃの被参照処理部４１に対してその参照対象のサーボアンプ３５Ａ，３５Ｂ，３５Ｃで記録されている連携制御データを送信するよう要求するとともに、返信された連携制御データを当該サーボアンプ３５Ａ，３５Ｂ，３５Ｃのメモリ上の同じ記憶領域にある連携制御データに上書きするよう処理する。
【００２４】
制御部５０は、上記共有化処理部４０によって共有化処理された連携制御データを用いて対応するモータ３４Ａ，３４Ｂ，３４Ｃを制御する機能部であり、軸動作制御部５１と、モータ制御部５２と、分割ロード処理部５３とを有している。
【００２５】
軸動作制御部５１は、上記共有化処理部４０により記録、管理されている連携制御データを利用して、当該産業機器３における他のサーボアンプ３５Ａ，３５Ｂ，３５Ｃとの連携駆動を実現するためのシーケンス制御を行う。具体的には、当該サーボアンプ３５Ａ，３５Ｂ，３５Ｃに記録されている連携制御データを読み取り、その連携制御データをパラメータとして別途ロードされている軸制御プログラムでのシーケンスに従い、モータ制御の各種指令値（位置指令、速度指令、トルク指令など）を出力する。上記の軸制御プログラムは、当該サーボアンプ３５Ａ，３５Ｂ，３５Ｃに対応する駆動軸（機構要素）の駆動に関して当該サーボアンプ３５Ａ，３５Ｂ，３５Ｃ独自に割り当てられたプログラムであり、本実施形態の例では上記分割ロード処理部５３が上記の上位制御装置１、上位通信経路３９、アンプ間通信経路３８を介してエンジニアリングＰＣ２からあらかじめ対応する軸制御プログラムだけをロードする（詳細な図示は省略）。なお、軸制御プログラムのロードは、通信経路を経由せずにエンジニアリングＰＣ２をサーボアンプ３５Ａ，３５Ｂ，３５Ｃに直接接続してロードするなど多様な経路で行ってもよい。また、軸制御プログラムについても、後に詳述する。また、この軸動作制御部５１は、必要に応じてセンサ３７から入力されたセンサデータもパラメータとして利用する。また、この軸動作制御部５１は、必要に応じて被参照処理部４１を介し連携制御データ中の所定データを書き換える。
【００２６】
モータ制御部５２は、エンコーダ３６から入力された検出値を参照しつつ、上記軸動作制御部５１が出力したモータ制御の各種指令値についてリアルタイムかつ高精度に追従するようモータへ給電する駆動電力を制御する。このモータ制御部５２の機能は、あらかじめ別途保存されている後述のモータ制御プログラムの実行により実現する。
【００２７】
また、以上のように各サーボアンプ３５Ａ，３５Ｂ，３５Ｃが共通した機能構成にあるうち、図示する例のサーボアンプ３５Ａの軸動作制御部５１だけが、上位通信経路３９を介して上位制御装置１から入力された統括制御データ（統括制御指令）を直接的に利用できる。
【００２８】
以上の構成にある本実施形態の分散モータ制御システム１００の構成においては、複数の産業機器３の上位に位置してそれらを統括制御する上位制御装置１が設けられているものの、各産業機器３の内部においてはいずれもほぼ同位の制御関係にある複数のサーボアンプ３５Ａ，３５Ｂ，３５Ｃが設けられているだけであり、つまりそれら複数のサーボアンプ３５Ａ，３５Ｂ，３５Ｃのいずれに対しても直接的に制御するような上位に位置する制御装置は設けられていない。
【００２９】
なお、上述した上位制御装置１、エンジニアリングＰＣ２、及び各サーボアンプ３５Ａ，３５Ｂ，３５Ｃ等における処理等は、これらの処理の分担の例に限定されるものではなく、例えば、更に少ない数の制御装置で処理されてもよく、また、更に分化された制御装置により処理されてもよい。また、サーボアンプ３５Ａ，３５Ｂ，３５Ｃの処理は、後述するＣＰＵ９０１（図１２参照）が実行するプログラムにより実装されてもよいし、その一部又は全部がＡＳＩＣやＦＰＧＡ等の専用集積回路、その他の電気回路等の実際の装置により実装されてもよい。
【００３０】
＜３．マルチコアプロセッサの利用について＞
ここで、各サーボアンプ３５Ａ，３５Ｂ，３５Ｃにおける制御部５０の処理内容は、上述したように軸動作制御部５１による軸動作の連携制御と、モータ制御部５２によるモータ制御の２つを行うものであるが、これら軸動作制御部５１とモータ制御部５２それぞれの処理負荷は比較的大きく、１つのＣＰＵコアにより時分割で交互に実行した場合には十分な実行速度が得られない場合がある。これに対し本実施形態の例では、各サーボアンプ３５Ａ，３５Ｂ，３５Ｃが備えるＣＰＵとして、図３に示すように複数のコアを備えたマルチコアプロセッサ６１の形態のものを用いる場合を説明する。
【００３１】
図３に示す例のマルチコアプロセッサ６１は、第１コア６２と第２コア６３の２つのコアを有しており、これら２つのコア６２，６３が当該プロセッサ６１の内部で共有バス６４を介して同じ共有メモリ６５に一時的に記録されたデータを共有して処理する構成となっている。この例では、第１コア６２が対応する機構要素３２の機械的特性に合わせて調整されたモータ制御プログラム（第１プログラムに相当）を実行することで、上記モータ制御部５２としての機能（基本機能に相当）を実装する。このとき、第１コア６２がエンコーダ３６からのセンサデータを参照し、モータ３４への駆動電力に対応するトルク指令（電流指令）等を出力する。
【００３２】
また第２コア６３が、当該サーボアンプ３５Ａ，３５Ｂ，３５Ｃに対応してロードされた軸制御プログラム（第２プログラムに相当）を実行することで、上記軸動作制御部５１としての機能（用途別アプリケーションに相当）を実装する。この軸制御プログラムは、メモリ上で連携制御データとは別の記憶領域に設定された記憶部５４に、当該サーボアンプ３５Ａ，３５Ｂ，３５Ｃに対応して上記分割ロード処理部５３によりロードされたものである。
【００３３】
そして、第２コア６３による軸動作制御部５１の処理によって出力されたモータ制御の各種指令値は、共有バス６４と共有メモリ６５を介して第１コア６２によるモータ制御部５２の処理に利用される。また、第１コア６２が取得したセンサデータや出力したトルク指令なども共有バス６４と共有メモリ６５を介して第２コア６３と共有してもよい。以上のマルチコアプロセッサ６１の構成により、第１コア６２によるモータ制御部５２の処理と、第２コア６３による軸動作制御部５１の処理を並列に（時間的に重複して）実行可能となる。
【００３４】
なお、マルチコアプロセッサ６１内に備えるコアの数は２つに限られず３つ以上であってもよく、その場合においてモータ制御部５２の処理を分担する全てのコアが各請求項記載の第１領域に相当し、軸動作制御部５１の処理を分担する全てのコアが各請求項記載の第２領域に相当する。
【００３５】
＜４．制御動作プログラム、軸制御プログラム、連携制御データについて＞
図４は、エンジニアリングＰＣ２の表示部で表示、編集される制御動作プログラムのタイムシーケンスチャートの一例を表している。図示する例においては、駆動軸３３Ａの速度変化のシーケンスを規定する駆動軸Ａの軸制御プログラムと、駆動軸３３Ｂの速度変化のシーケンスを規定する駆動軸Ｂの軸制御プログラムと、駆動軸３３Ｃのトルク変化のシーケンスを規定する駆動軸Ｃの軸制御プログラムのそれぞれが、幾何的な時系列線形グラフの形態で表示、編集されている。なお、特に図示しないが、例えばラダー図を用いたり、又はいわゆるコマンドライン記述形式で編集する形態であってもよい。
【００３６】
これら複数の駆動軸３３Ａ，３３Ｂ，３３Ｃにそれぞれ対応した軸制御プログラムは、産業機器３の構成内容に応じて当該産業機器３の製造メーカーの設計者（ユーザ）が編集するものであり、エンジニアリングＰＣ２は１つの産業機器３が備える複数の駆動軸３３Ａ，３３Ｂ，３３Ｃの軸制御プログラムをまとめて１つの制御動作プログラムとして編集、作成する。本実施形態の例では、この制御動作プログラムのうち各駆動軸３３Ａ，３３Ｂ，３３Ｃごとに分割された軸制御プログラムをそれぞれ対応するサーボアンプ３５Ａ，３５Ｂ，３５Ｃの分割ロード処理部５３が記憶部５４にロードする。
【００３７】
ここで本実施形態の例では、産業機器３が順次供給される多数のワークに対してそれぞれ同じ処理を周期的に繰り返し実行する場合を想定し、その１回の処理に費やす時間周期を動作周期Ｔとし、その動作周期Ｔの開始タイミングから経過した相対的な時間位置（例えば動作周期Ｔの何％経過、等）を周期内時間位置ｔとしている。このとき、当該産業機器３における各駆動軸間での円滑な連携制御を実現するためには、各駆動軸３３Ａ，３３Ｂ，３３Ｃにそれぞれ対応するサーボアンプ３５Ａ，３５Ｂ，３５Ｃ間で少なくとも上記の動作周期Ｔと周期内時間位置ｔの各データを同期データとして共有し、同期させる必要がある。
【００３８】
また、この例のサーボアンプ３５Ｂに入力されたセンサデータを他のサーボアンプ３５Ｃでも共有して利用したい場合などもある。具体的には、供給される多数のワークの個体ごとに異なる寸法の測定値や、特定の機構要素３２の挙動を検出するスイッチのＯＮ・ＯＦＦ状態などを複数の駆動軸間での連携制御に利用したい場合などがある。
【００３９】
本実施形態では、上述した動作周期Ｔ、周期内時間位置ｔ、及びセンサデータなどのように少なくとも２つ以上のサーボアンプ３５Ａ，３５Ｂ，３５Ｃ間で共有させたいデータを全てまとめて図５に示すような１つの連携制御データとし、これを各サーボアンプ３５Ａ，３５Ｂ，３５Ｃの共有化処理部４０がそれぞれ共有して記憶する。このとき、連携制御データを構成する複数の要素データは、それぞれ担当する１つのサーボアンプ３５によってのみ書き換えられ、他のサーボアンプ３５はそれを参照するだけとすることで、各サーボアンプ３５Ａ，３５Ｂ，３５Ｃがそれぞれ管理する連携制御データどうしの間の同一性を確保できる。
【００４０】
例えば、この例のサーボアンプ３５Ａだけが上位制御装置１から入力される統括制御データに基づいて動作周期Ｔの値を逐次変更するとともに、当該サーボアンプ３５Ａだけが統括制御データに含まれる連携制御の開始指令を基準として周期内時間位置ｔのカウント修正を行うようにする。またその一方、他のサーボアンプ３５Ｂ，３５Ｃはそれら動作周期Ｔと周期内時間位置ｔの同期データを参照して処理するだけとする。これにより、上位制御装置１から動作周期Ｔを変更する統括制御データを一元的に出力するだけで、当該産業機器３全体の処理タクトタイムを全ての駆動軸３３Ａ，３３Ｂ，３３Ｃで一律に変更しつつ同期を維持した連携駆動が可能となる。
【００４１】
このとき、動作周期Ｔ中においては各サーボアンプ３５Ａ，３５Ｂ，３５Ｃどうしの間でアンプ間通信経路３８を介した連携制御データの送受を高い頻度で繰り返して参照し合うが、これと比較して上位通信経路３９を介した上位制御装置１とサーボアンプ３５Ａとの間の統括制御データやその他データの送受は動作周期Ｔ中において例えば数回行う程度で十分機能できる。このため、アンプ間通信経路３８と上位通信経路３９は互いに通信速度が異なるプロトコルの通信形態とし、特にアンプ間通信経路３８よりも上位通信経路３９の方で通信速度や通信処理サイクルの遅いプロトコルを適用することで、サーボアンプ３５Ａの機器的又は処理的な負荷を軽減できる。また、このように上位通信経路３９と接続する構成の実装コストを低くできればいずれのサーボアンプ３５Ａ，３５Ｂ，３５Ｃにも実装することが可能となり、産業機器３に用いる複数のサーボアンプ３５Ａ，３５Ｂ，３５Ｃどうしの間に互換性を持たせることができる。
【００４２】
＜５．連携制御データの参照工程について＞
次に、産業機器３内での各サーボアンプ３５Ａ，３５Ｂ，３５Ｃ間における連携制御データの参照工程について説明する。ここで、上述した構成にある本実施形態の場合の参照工程を説明する前に、例えば図６に示すように１つのサーボアンプ３５Ａ′に集中データ管理部７１を備えた比較例の場合の参照工程について説明する。
【００４３】
この図６に示す例では、産業機器３が備える３つのサーボアンプ３５Ａ′，３５Ｂ′，３５Ｃ′のいずれも上記の共有化処理部４０を備えておらず、その代わりに１つのサーボアンプ３５Ａ′のみが上位制御装置１や他の全てのサーボアンプ３５Ｂ′，３５Ｃ′と接続する集中データ管理部７１を備えている。この構成において、上位制御装置１からの統括制御データの受信や、各サーボアンプ３５Ａ′，３５Ｂ′，３５Ｃ′のデータの送受はこの集中データ管理部７１だけが一括して集中的に行う。
【００４４】
この比較例の場合には、上位制御装置１から受信した統括制御データに含まれる動作周期Ｔや自らカウントした周期内時間位置ｔを、集中データ管理部７１が全てのサーボデータの軸動作制御部５１にそれぞれ高い通信頻度で送信し、それを受信した各軸動作制御部５１がいずれも同一にある動作周期Ｔと周期内時間位置ｔに基づいて連携制御を行う。また、サーボアンプ３５Ａ′，３５Ｂ′，３５Ｃ′間におけるセンサデータ等の送受は全て集中データ管理部７１を介して行われる。すなわちこの集中データ管理部７１を備えたサーボアンプ３５Ａ′が当該産業機器３内におけるデータの送受を一元的に管理するマスタとして機能し、他のサーボアンプ３５Ｂ′，３５Ｃ′が集中データ管理部７１から受信したデータに基づいて軸動作制御を行うスレーブとして機能する。
【００４５】
しかしこの比較例のように一局集中的にデータを送受する形態では、どのような組み合わせの２つのサーボアンプ３５′間でもデータを送受する際に全て集中データ管理部７１を経由しなければならず、そのため集中データ管理部７１に通信負荷が集中して過大な処理負担がかかりやすくなるとともに、通信経路上でのデータ通信の衝突（いわゆるコリジョン）による通信遅延が発生しやすくなる。特に産業機器３の規模が大きく、備える駆動軸３３の数が多数である場合にはそのような処理負担と通信遅延の弊害が顕著となりやすい。
【００４６】
これに対して各サーボアンプ３５Ａ，３５Ｂ，３５Ｃがそれぞれ共有化処理部４０を有する本実施形態の場合には、例えば図７に示すように連携制御データの全体を巡回させる参照工程で共有化することにより、全てのサーボアンプ３５Ａ，３５Ｂ，３５Ｃが同等に少ない通信処理負担で円滑かつ迅速に連携制御データを送受することが可能となる。参照工程について具体的には、この例の直列線形に接続する複数のサーボアンプ３５Ａ，３５Ｂ，３５Ｃが所定の循環方向の接続順（図示する例ではＡ→Ｂ→Ｃ→Ａの順）で連携制御データを巡回させるよう送受する。つまり、接続順に隣接する２つのサーボアンプ３５間のうち下流側のサーボアンプ３５の参照処理部４２が上流側のサーボアンプ３５に記憶されている連携制御データを参照するよう読み取り、それを利用して軸動作制御を行う。この参照読み取りを、アンプ間通信経路３８の接続順で各サーボアンプ３５Ａ，３５Ｂ，３５Ｃの参照処理部４２が行い、始端のサーボアンプ３５Ａの参照処理部４２の場合は全てのアンプ間通信経路３８を介して終端のサーボアンプ３５Ｃから参照読み取りを行う。またこの最中で、この例のサーボアンプ３５Ａが動作周期Ｔと周期内時間位置ｔを書き換えるように、各サーボアンプ３５Ａ，３５Ｂ，３５Ｃの軸動作制御部５１は担当するデータ要素の書き換えも行う。
【００４７】
このように連携制御データを巡回させる形態の参照工程では、１回分の連携制御データの参照読み取りがほとんどの場合で隣接する２つのノード間における１回のデータ送受処理だけで済むため、データ通信の処理負担を低く抑えることができる。また、この参照工程では１回の動作周期Ｔ中に何度も繰り返し連携制御データを巡回させても、アンプ間通信経路３８上におけるデータ通信の衝突の発生を抑えて円滑かつ迅速なデータの送受が可能となる。また、特定のサーボアンプ３５にマスタ機能を持たせることがないため、全てのサーボアンプ３５Ａ，３５Ｂ，３５Ｃをほぼ同等で互換性の高い構成にできる。
【００４８】
なお、上記のように接続順で連携制御データを巡回させる参照工程はあくまで一例であり、本実施形態のように各サーボアンプ３５Ａ，３５Ｂ，３５Ｃが共有化処理部４０を備えていることで他の多様な参照工程で連携制御データを参照し合うことが可能である。すなわち、どの２つのサーボアンプ３５の組み合わせで、どのような順番で連携制御データを参照しあう参照工程としてもよく（特に図示せず）、上記比較例のような通信負荷の集中が生じない程度に多様な参照工程を採用してもよい。また、本実施形態ではアンプ間通信経路３８として各サーボアンプ３５Ａ，３５Ｂ，３５Ｃを線形直列に接続する接続構成（いわゆるネットワークトポロジ）を適用した場合を例に説明したが、他にもいわゆるバス型やリング型などの接続構成を適用した場合でも同様の効果が得られる。
【００４９】
そして、以上のように各サーボアンプ３５Ａ，３５Ｂ，３５Ｃが共有化処理部４０を備える構成の本実施形態の分散モータ制御システム１００によれば、例えば図８に示すように、産業機器３に新たな機構要素３２Ｄとそれに対応するモータ３４Ｄ及びサーボアンプ３５Ｄの駆動制御系を追加しても既存の駆動軸制御系との連携駆動を容易に実現できる。例えば、特に図示しないが、産業機器３内において複数のサーボアンプ３５Ａ，３５Ｂ，３５Ｃに対しそれらの上位で制御するＰＬＣ等を設けている場合、新たに駆動制御系を追加するためにはそのＰＬＣが実行する複雑な制御動作プログラムを修正するといった煩雑な作業が必要となる。これに対して本実施形態の場合には、基本的に追加するサーボアンプ３５Ｄへの軸制御プログラムのロードと、他のサーボアンプ３５Ａ，３５Ｂ，３５Ｃとの間の配線接続及び参照工程の設定を行うだけで既存の駆動制御系との連携駆動が可能となる。つまり、機構要素３２Ｄとそれを駆動する駆動制御系（モータ３４Ｄ及びサーボアンプ３５Ｄ）とをまとめたモジュール単位での追加や削除が容易となり、産業機器３においてどのようなモジュールを組み合わせて構成するかの設計自由度を向上できる。
【００５０】
＜６．本実施形態による効果＞
以上説明したように、本実施形態の分散モータ制御システム１００においては、複数のサーボアンプ３５のうち少なくとも２つが、共有化処理部４０と制御部５０とを備えている。各共有化処理部４０が所定の共有化処理を行うことにより、それら少なくとも２つのサーボアンプ３５の間で、産業機器３の連携駆動に必要となるデータ（連携制御データ）を互いにデータ通信を介し共有することができる。各制御部５０は、その共有した連携制御データを用いて、それぞれの制御対象となるモータ３４を制御する。
【００５１】
このように、連携制御データをサーボアンプ３５どうしのデータ通信で共有して各モータ３４の制御に用いることにより、マスタとして機能する１つのサーボアンプ３５を介してデータ送受を行う従来手法（例えば上記比較例）に比べ、複数のサーボアンプ３５どうしの間の通信速度と複数のモータ３４の制御時における処理速度を大きく向上することができる。また、それら複数のサーボアンプ３５どうしの間でマスタやスレーブなどの機能の差別化が不要となり、サーボアンプ３５の単体における汎用性や互換性も向上できる。
【００５２】
また、本実施形態では特に、産業機器３が、それぞれ駆動軸３３を備えた複数の機構要素３２により構成されている。そして複数のサーボアンプ３５は、それぞれ、各機構要素３２の駆動軸３３を駆動するモータ３４を制御する。このとき、複数のサーボアンプ３５の制御部５０は、それら複数の駆動軸３３にそれぞれ対応する複数の軸制御プログラムに基づいてモータ３４を制御する。これにより、それぞれ機構要素３２ごとに駆動動作が異なる場合であっても、それぞれ対応する軸制御プログラムに基づいてサーボアンプ３５が分担して個別に駆動制御でき、産業機器３全体における複雑なシーケンス制御を実現できる。
【００５３】
また、本実施形態では特に、複数の駆動軸３３にそれぞれ対応する複数の軸制御プログラムを含む制御動作プログラムを作成可能なエンジニアリングＰＣ２がさらに備えられている。そして各サーボアンプ３５は、上記エンジニアリングＰＣ２に保持されていた制御動作プログラムのうち、自らの制御に関わる軸制御プログラムのみをロードして記憶する記憶部５４を備えている。以上の結果、多軸駆動型の産業機器３において複数のモータ３４を各軸ごとに分散制御するにあたり、エンジニアリングＰＣ２からロードして使用される制御動作プログラムを各軸ごとにモジュール化して各軸に対応するサーボアンプ３５で使用することができる。
【００５４】
また、本実施形態では特に、各サーボアンプ３５の共有化処理部４０は、その共有化処理において、それぞれの記憶部５４に記憶された軸制御プログラムで処理される連携制御データをデータ通信を介して互いに共有する。以上の結果、多軸駆動型の産業機器３において、複数のモータ３４を各軸ごとに分散制御するにあたり、連携制御データを各軸に対応するモータ３４の制御において共有して使用することができる。これにより、上記従来手法に比べ、各軸に対応する複数のモータ３４の制御時における処理速度を確実に向上することができる。
【００５５】
また、本実施形態では特に、少なくとも２つのサーボアンプ３５それぞれの共有化処理部４０は、当該サーボアンプ３５の軸制御プログラムにより処理される連携制御データを、当該サーボアンプ３５以外の他のサーボアンプ３５がデータ通信を介し参照可能な状態とする被参照処理部４１を備える。これにより、各軸に対応するサーボアンプ３５は、被参照処理部４１により、自らの制御対象のモータ制御に関わる連携制御データを、他のサーボアンプ３５が参照可能な状態とすることができる。なお上記実施形態では、被参照処理部４１が他のサーボアンプ３５の参照処理部４２からの要求に応じて連携制御データを返信するよう共有処理していたが、これに限られない。例えば、あらかじめ設定された周期タイミングなどの時間スケジュールに基づいて、被参照処理部４１から能動的に所定のサーボアンプ３５の参照処理部４２へ連携制御データを送信するように共有処理してもよい。
【００５６】
また、本実施形態では特に、少なくとも２つのサーボアンプ３５それぞれの共有化処理部４０は、当該サーボアンプ３５以外の他のサーボアンプ３５により参照可能な状態とされた、他のサーボアンプ３５の軸制御プログラムにより処理される連携制御データを、データ通信を介し参照する参照処理部４２を備える。これにより、各軸に対応するサーボアンプ３５は、他のサーボアンプ３５が参照可能とした、制御対象のモータ制御に関わる連携制御データを、参照処理部４２により参照することができる。なお上記実施形態では、参照処理部４２が他のサーボアンプ３５の被参照処理部４１に対して連携制御データを返信するよう要求して共有処理していたが、これに限られない。例えば、あらかじめ設定された周期タイミングなどの時間スケジュールに基づいて、所定のサーボアンプ３５の被参照処理部４１から自発的に送信された連携制御データを参照処理部４２が受動的に受信するように共有処理してもよい。
【００５７】
また、本実施形態では特に、少なくとも２つのサーボアンプ３５のそれぞれは、エンジニアリングＰＣ２に保持されている制御動作プログラムを分割して当該サーボアンプ３５に対応して生成された軸制御プログラムをエンジニアリングＰＣ２からロードする分割ロード処理部５３をさらに有し、記憶部５４は、分割ロード処理部５３によりロードされた軸制御プログラムを記憶する。これにより、各サーボアンプ３５は、上記エンジニアリングＰＣ２の上記制御動作プログラムから分割して生成された、自らの制御に関わる軸制御プログラムのみをエンジニアリングＰＣ２からロードし、上記記憶部５４に記憶することができる。
【００５８】
なお、上記分割ロード処理部５３に代えて、例えば上記図２に対応する図９に示すように、エンジニアリングＰＣ２から軸動作プログラムの全体をロードする全体ロード処理部５５を備えてもよい。この場合には、その全体ロード処理部５５が一旦ロードした軸動作プログラムの中から自らの制御に関わる軸制御プログラムのみを選択し分割して上記記憶部５４に記憶させればよい。これにより、制御動作プログラムの全体がロードされた複数のサーボアンプ３５は、いずれも各駆動軸３３の駆動制御に対応可能な互換性を有することになり、実際に産業機器３の各駆動軸３３のモータ３４に接続された際に当該駆動軸３３（当該サーボアンプ３５）に対応する軸制御プログラムのみを選択して記憶部５４に記憶させることができる。
【００５９】
また、本実施形態では特に、エンジニアリングＰＣ２に保持されている制御動作プログラムは、当該エンジニアリングＰＣ２の表示部において複数の軸制御プログラムを含む態様で表示され、編集可能に構成されている。これにより、操作者は、エンジニアリングＰＣ２の表示部において複数の制御動作プログラムを、所望の態様に編集することができる。またその結果、例えば前述のように制御動作プログラムを分割し各サーボアンプ３５の制御に関わる軸制御プログラムを生成する場合には、上記編集操作によって、容易に上記分割及び軸制御プログラムの生成を実行可能となる。
【００６０】
また、本実施形態では特に、連携制御データは、少なくとも２つのサーボアンプ３５のそれぞれで駆動するモータ３４の間の連携駆動を同期させるための同期データが含まれている。これにより、上記比較例のような一局集中管理によらず、サーボアンプ３５どうしの間だけで産業機器３における複数の駆動軸間の円滑かつ確実な連携駆動が可能となる。
【００６１】
また、本実施形態では特に、産業機器３を統括的に制御する上位制御装置１をさらに備え、この上位制御装置１は、複数のサーボアンプ３５のいずれか１つと統括制御データを共有するための上位通信経路３９を有し、複数のサーボアンプ３５に含まれる少なくとも２つのサーボアンプ３５は、連携制御データを共有するためのアンプ間通信経路３８を有し、上位通信経路３９とアンプ間通信経路３８における通信速度は互いに異なる。
【００６２】
これにより、１つの産業機器３を連携駆動する複数の駆動軸間の軸間制御については連携制御データを共有する複数のサーボアンプ３５で行わせつつ、当該産業機器３全体の統括的な制御については上位制御装置１が複数のサーボアンプ３５のいずれか１つと統括制御データを共有するだけで行える。このため、当該上位制御装置１における統括制御の処理を簡素化できる。またそのような上位制御装置１と１つのサーボアンプ３５との間で上位通信経路３９を介して共有される統括制御データの通信頻度は比較的低い一方、複数のサーボアンプ３５の間でアンプ間通信経路３８を介して共有される連携制御データの通信頻度は比較的高い。このため、上記上位通信経路３９と上記アンプ間通信経路３８における通信速度や通信処理サイクルが互いに異なる（例えば上位通信経路３９よりもアンプ間通信経路３８の方が通信速度が速い、又は通信処理サイクルが短い）ことで、上記上位通信経路３９とアンプ間通信経路３８との間における通信頻度の大きな差異を吸収して当該産業機器３における軸間連携制御と統括制御の両方を円滑に実行させることができる。
【００６３】
なお、例えば上記図７に対応する図１０に示すように、上位制御装置１においてもサーボアンプ３５と同様の共有化処理部４０を備えて同じ内容の連携制御データを各サーボアンプ３５と共有してもよい。この場合、上位制御装置１だけが書き換えできる統括制御データ（統括制御指令）も連携制御データに含めて、その連携制御データの全体を上位制御装置１と全てのサーボアンプ３５との間で共有してもよい。このとき、動作周期Ｔや周期内時間位置ｔなどの同期データが統括制御データに含まれてもよく、上位制御装置１だけがそれら同期データを変更、カウント修正することで、例えばサーボアンプ３５Ａの処理負担を軽減できる。なお、特に図示しないが、上位制御装置１もアンプ間通信経路３８を介してサーボアンプ３５と接続してもよく、つまり上位制御装置１と複数のサーボアンプ３５が同位的な接続態様で情報を送受することにより連携制御データを共有してもよい。これにより、上位制御装置１は各サーボアンプ３５と同等の送受頻度で連携制御データを共有し、それに含まれるセンサデータや軸間パラメータをリアルタイムに取得、記録することもできる。
【００６４】
また上記実施形態では、産業機器３内において複数のサーボアンプ３５に対しそれらの上位で制御するＰＬＣ等を設けていないことを前提として説明したが、これに限られない。例えば上記図１０に対応する図１１に示すように、所定の産業機器３内において複数のサーボアンプ３５を統括的に制御する上位ＰＬＣ８１（機器制御装置）を設け、この上位ＰＬＣ８１だけが複数の産業機器３を統括制御する上位制御装置１と上位通信経路３９を介して接続する構成としてもよい。この場合には、上位ＰＬＣ８１が共有化処理部８２（第２共有化処理部：被参照処理部、参照処理部を含む）を備えてアンプ間通信経路３８を介した他のサーボアンプ３５との連携制御データの共有化処理を行い、この連携制御データの共有によって各駆動軸（各サーボアンプ３５）に対する上位の制御を行う。このとき、上位ＰＬＣ８１は上位制御装置１から受信する統括制御指令（統括制御データ）に基づいて、動作周期Ｔや周期内時間位置ｔなどの同期データの変更、カウント修正などを行う。この場合でも、産業機器３内で１つのＰＬＣが全ての軸制御プログラム（＝制御動作プログラム）を処理して各サーボアンプ３５に個別に制御指令を出力する場合（特に図示せず）と比較してＰＬＣにおける処理負担を大きく軽減できるとともに、複数のサーボアンプ３５どうしの間の通信速度と複数のモータ３４の制御時における処理速度を向上できる。
【００６５】
また、本実施形態では特に、サーボアンプ３５が備えるＣＰＵとして、モータ制御部５２としての機能に関するモータ制御プログラムを実行する第１コア６２と、軸動作制御部５１としての機能に関する軸制御プログラムを実行する第２コア６３と、を少なくとも確保するマルチコアプロセッサ６１を備え、第２コア６３において、当該サーボアンプ３５と他のサーボアンプ３５による、産業機器３を連携駆動するためのそれぞれに対応するモータ３４を制御する軸制御プログラムを実行する。
【００６６】
これにより、モータ３４を指令通りに制御するための基本機能（フィードバックループなどによる追従制御）に関するモータ制御プログラムと、モータ制御におけるアプリケーションの実行機能に関する軸制御プログラムとを、それぞれマルチコアプロセッサ６１の第１コア６２と第２コア６３で分担して並列に（時間的に重複して）実行可能となる。特に本実施形態の例では、上記第２コア６３が実行する軸制御プログラムとして、産業機器３に対する他のサーボアンプ３５との連携駆動に関する処理を実行する。この結果、各プログラムの処理負担が大きくともそれぞれの実行速度を落とさずに両立して実行でき、当該サーボアンプ３５によるモータ制御のリアルタイム性と制御精度を向上できる。
【００６７】
なお本実施形態の例において、第２コア６３が軸制御プログラムの実行により機能するアプリケーションは、ユーザ（主に産業機器メーカの設計者）により任意にカスタマイズされるアプリケーションとして解釈できる。これに対して、その他にもいわゆるガントリ制御や圧力フィードバック制御などといった市場・用途別に実行させるアプリケーションを、上記マルチコアプロセッサ６１の第１コア６２もしくは第２コア６３のいずれかに分担処理させるか、又は別途の専用のコアを設けた構成としてもよい。このようにサーボアンプ３５自体にモータ制御を行う本来の基本機能以外にもアプリケーションの実行機能を持たせる場合には、モータ制御機能の性能を阻害させることがないようマルチコアプロセッサ６１の複数のコアでアプリケーションの実行機能を分担させる構成とすることが有用である。  
【００６８】
＜７．サーボアンプのハードウェア構成例＞
次に、図１２を参照しつつ、上記で説明したＣＰＵ９０１が実行するプログラムにより実装された共有化処理部４０、被参照処理部４１、参照処理部４２、制御部５０、分割ロード処理部５３、軸動作制御部５１、モータ制御部５２、又は記憶部５４等による処理を実現するサーボアンプ３５のハードウェア構成例について説明する。なお、図１２中では、モータ３４に駆動電力を給電する機能に係る構成を適宜省略して図示している。
【００６９】
図１２に示すように、サーボアンプ３５は、例えば、ＣＰＵ９０１と、ＲＯＭ９０３、ＲＡＭ９０５と、ＡＳＩＣ又はＦＰＧＡ等の特定の用途向けに構築された専用集積回路９０７と、入力装置９１３と、出力装置９１５と、記録装置９１７と、ドライブ９１９と、接続ポート９２１と、通信装置９２３とを有する。これらの構成は、バス９０９や入出力インターフェース９１１を介し相互に信号を伝達可能に接続されている。
【００７０】
プログラムは、例えば、ＲＯＭ９０３やＲＡＭ９０５、記録装置９１７等に記録しておくことができる。
【００７１】
また、プログラムは、例えば、フレキシブルディスクなどの磁気ディスク、各種のＣＤ・ＭＯディスク・ＤＶＤ等の光ディスク、半導体メモリ等のリムーバブルな記録媒体９２５に、一時的又は永続的に記録しておくこともできる。このような記録媒体９２５は、いわゆるパッケージソフトウエアとして提供することもできる。この場合、これらの記録媒体９２５に記録されたプログラムは、ドライブ９１９により読み出されて、入出力インターフェース９１１やバス９０９等を介し上記記録装置９１７に記録されてもよい。
【００７２】
また、プログラムは、例えば、ダウンロードサイト・他のコンピュータ・他の記録装置等（図示せず）に記録しておくこともできる。この場合、プログラムは、ＬＡＮやインターネット等のネットワークＮＷを介し転送され、通信装置９２３がこのプログラムを受信する。そして、通信装置９２３が受信したプログラムは、入出力インターフェース９１１やバス９０９等を介し上記記録装置９１７に記録されてもよい。
【００７３】
また、プログラムは、例えば、適宜の外部接続機器９２７に記録しておくこともできる。この場合、プログラムは、適宜の接続ポート９２１を介し転送され、入出力インターフェース９１１やバス９０９等を介し上記記録装置９１７に記録されてもよい。
【００７４】
そして、ＣＰＵ９０１が、上記記録装置９１７に記録されたプログラムに従い各種の処理を実行することにより、上記の共有化処理部４０、被参照処理部４１、参照処理部４２、制御部５０、分割ロード処理部５３、軸動作制御部５１、モータ制御部５２、又は記憶部５４等による処理が実現される。この際、ＣＰＵ９０１は、例えば、上記記録装置９１７からプログラムを直接読み出して実行してもよいし、ＲＡＭ９０５に一旦ロードした上で実行してもよい。更にＣＰＵ９０１は、例えば、プログラムを通信装置９２３やドライブ９１９、接続ポート９２１を介し受信する場合、受信したプログラムを記録装置９１７に記録せずに直接実行してもよい。
【００７５】
また、ＣＰＵ９０１は、必要に応じて、例えばマウス・キーボード・マイク（図示せず）等の入力装置９１３から入力する信号や情報に基づいて各種の処理を行ってもよい。
【００７６】
そして、ＣＰＵ９０１は、上記の処理を実行した結果を、例えば表示装置や音声出力装置等の出力装置９１５から出力してもよく、さらにＣＰＵ９０１は、必要に応じてこの処理結果を通信装置９２３や接続ポート９２１を介し送信してもよく、上記記録装置９１７や記録媒体９２５に記録させてもよい。
【００７７】
なお、以上の説明において、「垂直」「平行」「平面」等の記載がある場合には、当該記載は厳密な意味ではない。すなわち、それら「垂直」「平行」「平面」とは、設計上、製造上の公差、誤差が許容され、「実質的に垂直」「実質的に平行」「実質的に平面」という意味である。
【００７８】
また、以上の説明において、外観上の寸法や大きさが「同一」「等しい」「異なる」等の記載がある場合は、当該記載は厳密な意味ではない。すなわち、それら「同一」「等しい」「異なる」とは、設計上、製造上の公差、誤差が許容され、「実質的に同一」「実質的に等しい」「実質的に異なる」という意味である。
【００７９】
但し、例えばしきい値や基準値等、所定の判定基準となる値あるいは区切りとなる値の記載がある場合は、それらに対しての「同一」「等しい」「異なる」等は、上記とは異なり、厳密な意味である。
【符号の説明】
【００８０】
１            上位制御装置
２            エンジニアリングＰＣ（外部装置）
３            産業機器
３１          機構部
３２          機構要素
３３          駆動軸
３４          モータ
３５          サーボアンプ（モータ制御装置）
３６          エンコーダ
３７          センサ
３８          アンプ間通信経路（第２通信路）
３９          上位通信経路（第１通信路）
４０          共有化処理部（第１共有化処理部）
４１          被参照処理部
４２          参照処理部
５０          制御部
５１          軸動作制御部
５２          モータ制御部
５３          分割ロード処理部
５４          記憶部
５５          全体ロード処理部
６１          マルチコアプロセッサ
６２          第１コア（第１領域）
６３          第２コア（第２領域）
６４          共有バス
６５          共有メモリ
８１          上位ＰＬＣ（機器制御装置）
８２          共有化処理部（第２共有化処理部）
１００        分散モータ制御システム
【要約】
【課題】複数のモータを制御する際の処理速度を向上する。
【解決手段】産業機器３を連携して駆動する複数のモータ３４Ａ，３４Ｂ，３４Ｃを個別に制御する複数のサーボアンプ３５Ａ，３５Ｂ，３５Ｃを有する分散モータ制御システム１００であって、複数のサーボアンプ３５Ａ，３５Ｂ，３５Ｃに含まれる少なくとも２つのサーボアンプ３５のそれぞれは、産業機器３の連携駆動に必要な連携制御データを、少なくとも２つのサーボアンプ３５どうしのデータ通信を介し互いに共有するための、共有化処理を行う共有化処理部４０と、共有化処理された連携制御データを用いて、対応するモータを制御する制御部５０と、を有する。
【選択図】図２【図１】
0006741924.tif 000002
【図２】
0006741924.tif 000003
【図３】
0006741924.tif 000004
【図４】
0006741924.tif 000005
【図５】
0006741924.tif 000006
【図６】
0006741924.tif 000007
【図７】
0006741924.tif 000008
【図８】
0006741924.tif 000009
【図９】
0006741924.tif 000010
【図１０】
0006741924.tif 000011
【図１１】
0006741924.tif 000012
【図１２】
0006741924.tif 000013