説明

モータ制御システム、モータ制御装置およびモータ制御方法

【課題】多数のモータを円滑に協調して動作させることができるモータ制御システムを提供する。
【解決手段】モータ制御システム1は、モータ101を動作させるドライバ111を有するモータ制御装置100と、モータ201を動作させるドライバ211を有するモータ制御装置200と、モータ101を動作させる第1コマンド、および、モータ201を動作させる第2コマンドの両方を含むコマンド列の処理を要求するコマンド列処理要求部11を有する管理装置10とを備え、モータ制御装置100は、第1コマンドを実行するコマンド実行部121と、第2コマンドの実行をモータ制御装置200に要求するコマンド実行要求部122とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のモータの動作を制御するモータ制御システムに関する。
【背景技術】
【0002】
従来、複数のモータの動作を制御するモータ制御装置が普及している。このようなモータ制御装置は、製造業、医療業または流通業等、様々な分野で用いられている。
【0003】
図16は、従来技術に係るモータ制御装置を示す構成図である。なお、ここでは、モータ、および、モータを動作させるドライバを含めてモータ制御装置と呼ぶが、モータまたはドライバがモータ制御装置から独立して構成されている場合でも、処理の本質は変わらない。
【0004】
図16に示されたモータ制御装置991は、処理部981、3つのモータ901〜903、および、3つのドライバ911〜913を備える。処理部981は、モータ901を動作させるコマンドを解析して、モータ901を動作させるためのパルスをドライバ911に出力する。ドライバ911は、パルスに基づいて、モータ901を動作させる。これにより、処理部981は、モータ901を動作させるコマンドに従って、ドライバ911にモータ901を動作させる。
【0005】
同様に、処理部981は、モータ902を動作させるコマンドに従って、ドライバ912にモータ902を動作させる。また、処理部981は、モータ903を動作させるコマンドに従って、ドライバ913にモータ903を動作させる。
【0006】
これにより、モータ制御装置991は、3つのモータ901〜903の動作を制御する。また、複数のコマンドの組み合わせに応じて、複数のモータ901〜903は、協調して動作する。このように、複数のモータの動作を制御する装置として、特許文献1に記載された装置がある。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平8−95619号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、1台のモータ制御装置で制御されるモータの数には、モータの配置、および、モータ制御装置の処理能力の面で、限界がある。そこで、複数のモータ制御装置が用いられる。これにより、より多くのモータの制御が可能になる。
【0009】
図17は、複数のモータ制御装置を備えるモータ制御システムを示す構成図である。図17に示されたモータ制御システム900は、3つのモータ制御装置991〜993、および、管理装置990を備える。
【0010】
管理装置990は、モータ制御装置991によって制御される3つのモータ901〜903を動作させるためのコマンド列をモータ制御装置991に送信する。モータ制御装置991は、コマンド列に従って、3つのモータ901〜903を動作させる。
【0011】
同様に、管理装置990は、モータ制御装置992によって制御される3つのモータ904〜906を動作させるためのコマンド列をモータ制御装置992に送信する。モータ制御装置992は、コマンド列に従って、3つのモータ904〜906を動作させる。また、管理装置990は、モータ制御装置993によって制御される3つのモータ907〜909を動作させるためのコマンド列をモータ制御装置993に送信する。モータ制御装置993は、コマンド列に従って、3つのモータ907〜909を動作させる。
【0012】
これにより、モータ制御システム900は、9つのモータ901〜909の動作を制御することができる。また、管理装置990が、3つのモータ制御装置991〜993のそれぞれに、適切なタイミングでコマンド列を送信することにより、3つのモータ制御装置991〜993は、適切なタイミングで、9つのモータ901〜909の動作を制御することができる。これにより、9つのモータ901〜909は、協調して動作する。
【0013】
しかし、管理装置990が適切なタイミングでコマンド列を送信するためには、管理装置990は、9つのモータ901〜909の動作状態を取得しなければならない。例えば、管理装置990は、モータ901とモータ904とを協調して動作させるため、次のような処理を実行する必要がある。すなわち、管理装置990は、モータ制御装置991にモータ901を動作させるコマンドを送信し、実行結果をモータ制御装置991から取得した後に、モータ制御装置992にモータ904を動作させるコマンドを送信する必要がある。
【0014】
そのため、管理装置990と3つのモータ制御装置991〜993のそれぞれとの間で、データ交換処理が繰り返される。このような処理は、全体の処理を遅延させ、円滑な協調動作に支障を生じさせる。
【0015】
そこで、本発明は、多数のモータを円滑に協調して動作させることができるモータ制御システムを提供することを目的とする。
【課題を解決するための手段】
【0016】
上記課題を解決するため、本発明に係るモータ制御システムは、複数のモータの動作を制御するモータ制御システムであって、前記複数のモータのうち、第1モータを動作させる第1ドライバを有する第1モータ制御装置と、前記複数のモータのうち、前記第1モータとは異なる第2モータを動作させる第2ドライバを有する第2モータ制御装置と、前記第1モータを動作させる第1コマンド、および、前記第2モータを動作させる第2コマンドの両方を含む第1コマンド列の処理を、前記第1モータ制御装置および前記第2モータ制御装置のいずれか一方に、要求する第1コマンド列処理要求部を有する第1管理装置とを備え、前記第1モータ制御装置は、前記第1コマンド列処理要求部が前記第1コマンド列の処理を前記第1モータ制御装置に要求した場合、前記第1コマンド列に含まれる前記第1コマンドに従って、前記第1ドライバに前記第1モータを動作させることにより、前記第1コマンドを実行する第1コマンド実行部と、前記第1コマンド列処理要求部が前記第1コマンド列の処理を前記第1モータ制御装置に要求した場合、前記第1コマンド列に含まれる前記第2コマンドの実行を前記第2モータ制御装置に要求する第1コマンド実行要求部とを備える。
【0017】
これにより、複数のモータ制御装置が、多数のモータを円滑に協調して動作させることができる。
【0018】
また、前記第2モータ制御装置は、前記第1コマンド列処理要求部が前記第1コマンド列の処理を前記第2モータ制御装置に要求した場合、前記第1コマンド列に含まれる前記第2コマンドに従って、前記第2ドライバに前記第2モータを動作させることにより、前記第2コマンドを実行する第2コマンド実行部と、前記第1コマンド列処理要求部が前記第1コマンド列の処理を前記第2モータ制御装置に要求した場合、前記第1コマンド列に含まれる前記第1コマンドの実行を前記第1モータ制御装置に要求する第2コマンド実行要求部とを備えてもよい。
【0019】
これにより、同様の構成要素を備える複数のモータ制御装置が、多数のモータを円滑に協調して動作させることができる。
【0020】
また、前記第1コマンド実行部は、前記第2コマンド実行要求部が前記第1コマンドの実行を前記第1モータ制御装置に要求した場合、前記第1コマンドに従って、前記第1ドライバに前記第1モータを動作させることにより、前記第1コマンドを実行し、前記第2コマンド実行部は、前記第1コマンド実行要求部が前記第2コマンドの実行を前記第2モータ制御装置に要求した場合、前記第2コマンドに従って、前記第2ドライバに前記第2モータを動作させることにより、前記第2コマンドを実行してもよい。
【0021】
これにより、複数のモータ制御装置が、互いに協調して、多数のモータを動作させることができる。
【0022】
また、前記第1モータ制御装置は、さらに、前記第1コマンド列処理要求部が前記第1コマンド列の処理を前記第1モータ制御装置に要求した場合、処理が要求された前記第1コマンド列を取得し、取得された前記第1コマンド列に含まれる前記第1コマンドを前記第1コマンド実行部に実行させ、取得された前記第1コマンド列に含まれる前記第2コマンドの実行を前記第1コマンド実行要求部に要求させることにより、取得された前記第1コマンド列に含まれる複数のコマンドを、順次、処理するコマンド列処理部を備えてもよい。
【0023】
これにより、コマンド列に含まれる複数のコマンドが、順番に実行される。よって、複数のモータが連携して動作する。
【0024】
また、前記第1コマンド列処理要求部は、前記複数のモータ制御装置から前記第2モータ制御装置を識別する第1識別情報が組み込まれた前記第2コマンドを含む前記第1コマンド列の処理を前記第1モータ制御装置に要求し、前記コマンド列処理部は、前記第1識別情報が組み込まれた前記第2コマンドの実行を前記第1コマンド実行要求部に要求させてもよい。
【0025】
これにより、識別情報を用いて、コマンドの実行の要求先が具体的に決定される。
【0026】
また、前記コマンド列処理部は、前記第1識別情報が組み込まれていない前記第1コマンドを前記第1コマンド実行部に実行させてもよい。
【0027】
これにより、識別情報が省略されている場合、自装置でコマンドが実行される。したがって、モータを制御するためのコマンドの構成が容易になる。
【0028】
また、前記第1コマンド列処理要求部は、前記複数のモータ制御装置から前記第1モータ制御装置を識別する第2識別情報が組み込まれた前記第1コマンドを含む前記第1コマンド列の処理を前記第1モータ制御装置に要求し、前記コマンド列処理部は、前記第2識別情報が組み込まれた前記第1コマンドを前記第1コマンド実行部に実行させてもよい。
【0029】
これにより、自装置を含めて、コマンドを実行するモータ制御装置が具体的に決定される。
【0030】
また、前記第1モータ制御装置は、さらに、前記第1モータが前記第1モータ制御装置に対応し、前記第2モータが前記第2モータ制御装置に対応していることを示す対応情報を記憶している対応情報記憶部を備え、前記コマンド列処理部は、前記対応情報記憶部に記憶されている前記対応情報を参照して、前記第1モータ制御装置に対応している前記第1モータを動作させる前記第1コマンドを前記第1コマンド実行部に実行させ、前記第2モータ制御装置に対応している前記第2モータを動作させる前記第2コマンドの実行を前記第1コマンド実行要求部に要求させてもよい。
【0031】
これにより、予め定められた対応情報に基づいて、コマンドの実行の要求先が具体的に決定される。
【0032】
また、前記第1コマンド列処理要求部は、所定の条件が満たされるか否かに依存させて前記第1コマンド列に含まれる1以上のコマンドを変更する条件分岐コマンドを含む前記第1コマンド列の処理を、前記第1モータ制御装置に、要求し、前記コマンド列処理部は、前記所定の条件が満たされるか否かを判定し、判定された結果に依存させて前記1以上のコマンドを変更し、変更された前記1以上のコマンドを処理してもよい。
【0033】
これにより、所定の条件が満たされるか否かによって、実行される処理が変更される。したがって、より柔軟な動作が実現される。
【0034】
また、前記第1モータ制御装置は、さらに、前記モータ制御システムの状態を示す状態情報を記憶するための状態情報記憶部を備え、前記第1コマンド実行部は、前記状態情報を前記状態情報記憶部に格納し、前記コマンド列処理部は、前記状態情報記憶部に格納された前記状態情報が前記所定の条件を満たすか否かを判定し、判定された結果に依存させて前記1以上のコマンドを変更し、変更された前記1以上のコマンドを処理してもよい。
【0035】
これにより、各モータの状態等に基づいて、実行される処理が変更される。
【0036】
また、前記第1モータ制御装置は、さらに、前記第1コマンド列を記憶するためのコマンド列情報記憶部と、前記第1コマンド列処理要求部が前記第1コマンド列の処理を前記第1モータ制御装置に要求する前に、前記第1コマンド列を前記コマンド列情報記憶部に格納するコマンド列格納部とを備え、前記第1コマンド列処理要求部は、前記コマンド列情報記憶部に格納された前記第1コマンド列を指定することにより、前記第1コマンド列の処理を前記第1モータ制御装置に要求してもよい。
【0037】
これにより、複雑な動作の要求が、より容易になる。
【0038】
また、前記第1コマンド列処理要求部は、前記コマンド列情報記憶部に格納された前記第1コマンド列、および、前記第1コマンド列が処理される時に参照されるパラメータを指定することにより、前記第1コマンド列の処理を前記第1モータ制御装置に要求し、前記コマンド列処理部は、前記パラメータを参照し、前記パラメータに依存させて、前記第1コマンド列を処理してもよい。
【0039】
これにより、複雑な動作の要求と柔軟な動作の要求との両立が可能になる。
【0040】
また、前記第1コマンド実行部は、前記モータ制御システムの状態を示す状態情報を監視し、前記状態情報が所定の条件を満たしたタイミングで、前記第1コマンドを実行してもよい。
【0041】
これにより、複数のモータ制御装置が、各モータの状態等に基づいて、タイミングの同期を取りながら、多数のモータを動作させることができる。
【0042】
また、前記第1コマンド実行部は、前記第1コマンド列処理要求部または前記第2コマンド実行要求部からの要求に基づくタイミングで、前記第1コマンドを実行してもよい。
【0043】
これにより、複数のモータ制御装置が、要求に基づいて、タイミングの同期を取りながら、多数のモータを動作させることができる。
【0044】
また、前記モータ制御システムは、さらに、前記第1モータを動作させる第3コマンド、および、前記第2モータを動作させる第4コマンドの両方を含む第2コマンド列の処理を、前記第1モータ制御装置および前記第2モータ制御装置のいずれか一方に、要求する第2コマンド列処理要求部を有する第2管理装置を備え、前記第1コマンド実行部は、前記第2コマンド列処理要求部が前記第2コマンド列の処理を前記第1モータ制御装置に要求した場合、前記第2コマンド列に含まれる前記第3コマンドに従って、前記第1ドライバに前記第1モータを動作させることにより、前記第3コマンドを実行し、前記第1コマンド実行要求部は、前記第2コマンド列処理要求部が前記第2コマンド列の処理を前記第1モータ制御装置に要求した場合、前記第2コマンド列に含まれる前記第4コマンドの実行を前記第2モータ制御装置に要求してもよい。
【0045】
これにより、複数の管理装置から要求されるそれぞれ異なる複数のコマンド列が、連携して処理される。
【0046】
また、前記第1モータ制御装置は、さらに、電子機器を動作させる電子機器制御部を備え、前記第1コマンド列処理要求部は、前記電子機器を動作させる電子機器制御コマンドを含む前記第1コマンド列の実行を、前記第1モータ制御装置および前記第2モータ制御装置のいずれか一方に、要求し、前記第1コマンド実行部は、前記第1コマンド列処理要求部が前記第1コマンド列の処理を前記第1モータ制御装置に要求した場合、前記第1コマンド列に含まれる前記電子機器制御コマンドに従って、前記電子機器制御部に前記電子機器を動作させ、前記第2コマンド実行要求部は、前記第1コマンド列処理要求部が前記第1コマンド列の処理を前記第2モータ制御装置に要求した場合、前記第1コマンド列に含まれる前記電子機器制御コマンドの実行を前記第1モータ制御装置に要求し、前記第1コマンド実行部は、前記第2コマンド実行要求部が前記電子機器制御コマンドの実行を前記第1モータ制御装置に要求した場合、前記電子機器制御コマンドに従って、前記電子機器制御部に前記電子機器を動作させてもよい。
【0047】
これにより、モータに限らず、電子機器が協調して動作する。
【0048】
また、本発明に係るモータ制御装置は、第1モータを動作させる第1ドライバを有する第1モータ制御装置と、前記第1モータとは異なる第2モータを動作させる第2ドライバを有する第2モータ制御装置と、前記第1モータを動作させる第1コマンド、および、前記第2モータを動作させる第2コマンドの両方を含むコマンド列の実行を、前記第1モータ制御装置および前記第2モータ制御装置のいずれか一方に、要求する管理装置とを備えるモータ制御システムの前記第1モータ制御装置として用いられるモータ制御装置であって、前記管理装置が前記コマンド列の実行を前記第1モータ制御装置に要求した場合、前記コマンド列に含まれる前記第1コマンドに従って、前記第1ドライバに前記第1モータを動作させることにより、前記第1コマンドを実行するコマンド実行部と、前記管理装置が前記コマンド列の実行を前記第1モータ制御装置に要求した場合、前記コマンド列に含まれる前記第2コマンドの実行を前記第2モータ制御装置に要求するコマンド実行要求部とを備えるモータ制御装置であってもよい。
【0049】
これにより、本発明に係るモータ制御装置は、他のモータ制御装置と連携して、多数のモータを円滑に協調して動作させることができる。
【0050】
また、本発明に係るモータ制御方法は、第1モータを動作させる第1ドライバを有する第1モータ制御装置と、前記第1モータとは異なる第2モータを動作させる第2ドライバを有する第2モータ制御装置と、前記第1モータを動作させる第1コマンド、および、前記第2モータを動作させる第2コマンドの両方を含むコマンド列の実行を、前記第1モータ制御装置および前記第2モータ制御装置のいずれか一方に、要求する管理装置とを備えるモータ制御システムの前記第1モータ制御装置に用いられるモータ制御方法であって、前記管理装置が前記コマンド列の実行を前記第1モータ制御装置に要求した場合、前記コマンド列に含まれる前記第1コマンドに従って、前記第1ドライバに前記第1モータを動作させることにより、前記第1コマンドを実行し、前記管理装置が前記コマンド列の実行を前記第1モータ制御装置に要求した場合、前記コマンド列に含まれる前記第2コマンドの実行を前記第2モータ制御装置に要求するモータ制御方法であってもよい。
【0051】
これにより、本発明に係るモータ制御装置が、モータ制御方法として実現される。
【0052】
また、本発明に係るプログラムは、第1モータを動作させる第1ドライバを有する第1モータ制御装置と、前記第1モータとは異なる第2モータを動作させる第2ドライバを有する第2モータ制御装置と、前記第1モータを動作させる第1コマンド、および、前記第2モータを動作させる第2コマンドの両方を含むコマンド列の実行を、前記第1モータ制御装置および前記第2モータ制御装置のいずれか一方に、要求する管理装置とを備えるモータ制御システムの前記第1モータ制御装置に実行させるためのプログラムであって、前記管理装置が前記コマンド列の実行を前記第1モータ制御装置に要求した場合、前記コマンド列に含まれる前記第1コマンドに従って、前記第1ドライバに前記第1モータを動作させることにより、前記第1コマンドを実行し、前記管理装置が前記コマンド列の実行を前記第1モータ制御装置に要求した場合、前記コマンド列に含まれる前記第2コマンドの実行を前記第2モータ制御装置に要求することを前記第1モータ制御装置に実行させるためのプログラムであってもよい。
【0053】
これにより、本発明に係るモータ制御方法が、プログラムとして実現される。
【発明の効果】
【0054】
本発明により、複数のモータ制御装置が、多数のモータを円滑に協調して動作させることができる。
【図面の簡単な説明】
【0055】
【図1】図1は、実施の形態1に係るモータ制御システムを示す構成図である。
【図2】図2は、実施の形態1に係るモータ制御システムの動作を示すフローチャートである。
【図3】図3は、実施の形態1に係るモータ制御装置の動作状態を示す概念図である。
【図4】図4は、実施の形態1に係るモータ制御装置を示す構成図である。
【図5】図5は、実施の形態1に係るモータ制御装置の変形例を示す構成図である。
【図6】図6は、実施の形態1に係る管理装置の変形例を示す構成図である。
【図7】図7は、実施の形態2に係るモータ制御システムを示す構成図である。
【図8A】図8Aは、実施の形態2に係る第1のコマンド列を示す図である。
【図8B】図8Bは、実施の形態2に係る第2のコマンド列を示す図である。
【図8C】図8Cは、実施の形態2に係る第3のコマンド列を示す図である。
【図9】図9は、実施の形態2に係るモータの動作状態を示す図である。
【図10】図10は、実施の形態3に係るモータ制御システムを示す構成図である。
【図11】図11は、実施の形態4に係るモータ制御システムを示す構成図である。
【図12A】図12Aは、実施の形態4に係る第1のマクロを示す図である。
【図12B】図12Bは、実施の形態4に係る第2のマクロを示す図である。
【図12C】図12Cは、実施の形態4に係る第3のマクロを示す図である。
【図12D】図12Dは、実施の形態4に係る第4のマクロを示す図である。
【図12E】図12Eは、実施の形態4に係る第5のマクロを示す図である。
【図12F】図12Fは、実施の形態4に係る第6のマクロを示す図である。
【図13】図13は、実施の形態4に係るモータ制御システムの動作を示すシーケンス図である。
【図14】図14は、実施の形態4に係るモータの動作状態を示す図である。
【図15】図15は、実施の形態4に係る第1のマクロの変形例を示す図である。
【図16】図16は、従来技術に係るモータ制御装置を示す構成図である。
【図17】図17は、従来技術に係るモータ制御システムを示す構成図である。
【発明を実施するための形態】
【0056】
(実施の形態1)
図1は、実施の形態1に係るモータ制御システムを示す構成図である。なお、実施の形態1およびその他の実施の形態において、モータ、および、モータを動作させるドライバを含めてモータ制御装置と呼ぶが、モータまたはドライバがモータ制御装置から独立して構成されている場合でも、処理の本質は変わらない。図1に示されたモータ制御システム1は、管理装置10、および、3つのモータ制御装置100、200、300を備える。
【0057】
また、管理装置10、および、3つのモータ制御装置100、200、300は、LAN(Local Area Network)等の通信ネットワークを介して、相互に接続されている。
【0058】
管理装置10は、コマンド列処理要求部11を備える。管理装置10は、典型的には、CPU(Central Processing Unit)、あるいは、CPUを備えるパーソナルコンピュータによって実現される。コマンド列処理要求部11は、モータを動作させるコマンドを複数含むコマンド列の処理を3つのモータ制御装置100、200、300のいずれかに要求する。この要求は、通信ネットワークを介して実現される。
【0059】
モータ制御装置100は、処理部120、3つのドライバ111〜113および3つのモータ101〜103を備える。処理部120は、コマンド実行部121およびコマンド実行要求部122を備える。処理部120は、典型的には、電子部品が実装されたプリント基板であるボードによって実現される。
【0060】
処理部120は、コマンド列処理要求部11がモータ制御装置100にコマンド列の処理を要求した場合、要求されたコマンド列を処理する。この場合、コマンド実行部121は、コマンド列に含まれる複数のコマンドのうち、3つのモータ101〜103を動作させるコマンドを実行する。
【0061】
例えば、コマンド実行部121は、モータ101を動作させるコマンドに従って、ドライバ111にモータ101を動作させることにより、コマンドを実行する。より具体的には、コマンド実行部121は、モータ101を動作させるコマンドを解析して、モータ101を動作させるためのパルスをドライバ111に出力する。ドライバ111は、パルスに基づいて、モータ101を動作させる。これにより、コマンド実行部121は、モータ101を動作させるコマンドに従って、ドライバ111にモータ101を動作させる。
【0062】
同様に、コマンド実行部121は、モータ102を動作させるコマンドに従って、ドライバ112にモータ102を動作させる。また、コマンド実行部121は、モータ103を動作させるコマンドに従って、ドライバ113にモータ103を動作させる。これにより、コマンド実行部121は、コマンド列に含まれる複数のコマンドのうち、3つのモータ101〜103を動作させるコマンドを実行する。
【0063】
そして、コマンド実行要求部122は、コマンド列に含まれる複数のコマンドのうち、3つのモータ201〜203を動作させるコマンドの実行をモータ制御装置200に要求する。また、コマンド実行要求部122は、コマンド列に含まれる複数のコマンドのうち、3つのモータ301〜303を動作させるコマンドの実行をモータ制御装置300に要求する。この要求は、通信ネットワークを介して実現される。これにより、処理部120は、コマンド列を処理する。
【0064】
モータ制御装置200およびモータ制御装置300は、モータ制御装置100と同様の構成要素を備え、同様の処理を実行する。
【0065】
すなわち、モータ制御装置200は、処理部220、3つのドライバ211〜213および3つのモータ201〜203を備える。処理部220は、コマンド実行部221およびコマンド実行要求部222を備える。モータ制御装置300は、処理部320、3つのドライバ311〜313および3つのモータ301〜303を備える。処理部320は、コマンド実行部321およびコマンド実行要求部322を備える。
【0066】
また、モータ制御装置200の処理部220は、コマンド列処理要求部11がモータ制御装置200にコマンド列の処理を要求した場合、要求されたコマンド列を処理する。この場合、コマンド実行部221は、コマンド列に含まれる複数のコマンドのうち、3つのモータ201〜203を動作させるコマンドを実行する。
【0067】
そして、コマンド実行要求部222は、コマンド列に含まれる複数のコマンドのうち、3つのモータ101〜103を動作させるコマンドの実行をモータ制御装置100に要求する。また、コマンド実行要求部222は、コマンド列に含まれる複数のコマンドのうち、3つのモータ301〜303を動作させるコマンドの実行をモータ制御装置300に要求する。これにより、処理部220は、コマンド列を処理する。
【0068】
また、モータ制御装置300の処理部320は、コマンド列処理要求部11がモータ制御装置300にコマンド列の処理を要求した場合、要求されたコマンド列を処理する。この場合、コマンド実行部321は、コマンド列に含まれる複数のコマンドのうち、3つのモータ301〜303を動作させるコマンドを実行する。
【0069】
そして、コマンド実行要求部322は、コマンド列に含まれる複数のコマンドのうち、3つのモータ101〜103を動作させるコマンドの実行をモータ制御装置100に要求する。また、コマンド実行要求部322は、コマンド列に含まれる複数のコマンドのうち、3つのモータ201〜203を動作させるコマンドの実行をモータ制御装置200に要求する。これにより、処理部320は、コマンド列を処理する。
【0070】
さらに、コマンド実行部121は、コマンド実行要求部222またはコマンド実行要求部322によって要求されたコマンドであって、3つのモータ101〜103を動作させるコマンドを実行する。同様に、コマンド実行部221は、コマンド実行要求部122またはコマンド実行要求部322によって要求されたコマンドであって、3つのモータ201〜203を動作させるコマンドを実行する。そして、コマンド実行部321は、コマンド実行要求部122またはコマンド実行要求部222によって要求されたコマンドであって、3つのモータ301〜303を動作させるコマンドを実行する。
【0071】
すなわち、3つのモータ制御装置100、200、300は、それぞれ、自装置が制御するモータに対するコマンドを自身で実行し、他装置が制御するモータに対するコマンドの実行を他装置に要求する。これにより、モータ制御システム1は、9つのモータ101〜103、201〜203、301〜303の動作を制御する。また、コマンド列に含まれる複数のコマンドの組み合わせに応じて、9つのモータ101〜103、201〜203、301〜303は、協調して動作する。
【0072】
また、3つのモータ制御装置100、200、300のそれぞれが、管理装置10を介することなく、直接、他装置にコマンドの実行を要求するため、3つのモータ制御装置100、200、300のそれぞれと管理装置10との間のデータ交換処理が低減される。そのため、全体の処理の遅延が低減される。したがって、モータ制御システム1は、円滑に、9つのモータ101〜103、201〜203、301〜303の動作を制御することができる。
【0073】
図2は、図1に示されたモータ制御システム1の動作を示すフローチャートである。まず、管理装置10のコマンド列処理要求部11は、1以上のコマンドを含むコマンド列の処理を要求する(S101)。コマンド列には、9つのモータ101〜103、201〜203、301〜303のいずれに対するコマンドが含まれていてもよい。例えば、コマンド列には、9つのモータ101〜103、201〜203、301〜303のすべてに対する複数のコマンドが含まれていてもよい。
【0074】
また、コマンド列処理要求部11は、3つのモータ制御装置100、200、300のいずれにコマンド列の処理を要求してもよい。ここでは、コマンド列処理要求部11が、モータ制御装置100にコマンド列の処理を要求することを想定して、モータ制御システム1の動作を説明する。
【0075】
コマンド列の処理の要求を受けたモータ制御装置100の処理部120は、コマンド列に含まれるコマンド毎にループ処理を実行する(S102)。まず、処理部120は、コマンド列に含まれるコマンドがモータ制御装置100によって管理されているモータへのコマンドであるか否かを判定する(S103)。すなわち、処理部120は、コマンドが3つのモータ101〜103のいずれかに対するコマンドであるか否かを判定する。
【0076】
コマンドがモータ制御装置100によって管理されているモータへのコマンドである場合(S103でYes)、モータ制御装置100のコマンド実行部121は、コマンドに従って、3つのモータ101〜103のいずれかを駆動する(S104)。例えば、コマンドがモータ101へのコマンドである場合、コマンド実行部121は、コマンドに従って、モータ101を駆動する。
【0077】
コマンドがモータ制御装置100によって管理されているモータへのコマンドでない場合(S103でNo)、モータ制御装置100のコマンド実行要求部122は、コマンドの実行を他装置に要求する(S105)。例えば、コマンドがモータ201へのコマンドである場合、コマンド実行要求部122は、モータ制御装置200にコマンドの実行を要求する。
【0078】
そして、他装置は、コマンドに従ってモータを駆動する。例えば、コマンドがモータ201へのコマンドである場合、コマンドの実行の要求を受けたモータ制御装置200のコマンド実行部221は、コマンドに従って、モータ201を駆動する。
【0079】
上述の処理がコマンド毎に繰り返された後、処理部120はループ処理を終了する(S107)。そして、モータ制御システム1は、処理を終了する。
【0080】
これにより、モータ制御装置100は、自装置が制御するモータに対するコマンドを自身で実行し、他装置が制御するモータに対するコマンドの実行を他装置に要求する。なお、モータ制御装置200およびモータ制御装置300も、モータ制御装置100と同様に動作する。
【0081】
以下、より具体的な例を用いて、説明する。
【0082】
まず、コマンド列処理要求部11は、モータ101を動作させる第1コマンド、および、モータ201を動作させる第2コマンドの両方を含むコマンド列の処理を、モータ制御装置100およびモータ制御装置200のいずれか一方に、要求する。
【0083】
コマンド列処理要求部11がコマンド列の処理をモータ制御装置100に要求した場合、コマンド実行部121は、コマンド列に含まれる第1コマンドに従って、ドライバ111にモータ101を動作させることにより、第1コマンドを実行する。そして、コマンド実行要求部122は、コマンド列に含まれる第2コマンドの実行をモータ制御装置200に要求する。
【0084】
コマンド列処理要求部11がコマンド列の処理をモータ制御装置200に要求した場合、コマンド実行部221は、コマンド列に含まれる第2コマンドに従って、ドライバ211にモータ201を動作させることにより、第2コマンドを実行する。そして、コマンド実行要求部222は、コマンド列に含まれる第1コマンドの実行をモータ制御装置100に要求する。
【0085】
コマンド実行要求部222が第1コマンドの実行をモータ制御装置100に要求した場合、コマンド実行部121は、第1コマンドに従って、ドライバ111にモータ101を動作させることにより、第1コマンドを実行する。コマンド実行要求部122が第2コマンドの実行をモータ制御装置200に要求した場合、コマンド実行部221は、第2コマンドに従って、ドライバ211にモータ201を動作させることにより、第2コマンドを実行する。
【0086】
これにより、モータ制御装置100によって制御されるモータ101とモータ制御装置200によって制御されるモータ201とが協調して動作する。また、管理装置10に制御が戻ることなく、モータ制御装置100とモータ制御装置200とが連携して動作する。したがって、処理の遅延が低減され、円滑な動作が実現される。
【0087】
図3は、図1に示されたモータ制御装置100の動作状態を示す概念図である。モータ制御装置100は、管理装置10からコマンド列の処理の要求を受ける。また、モータ制御装置100は、モータ制御装置200およびモータ制御装置300等の他装置からコマンドの実行の要求を受ける。さらに、モータ制御装置100は、管理装置10から複数のコマンド列の処理の要求を受けてもよいし、他装置から複数のコマンドの実行の要求を受けてもよい。
【0088】
このように受け付けた複数のコマンド列および複数のコマンドを並列して処理できるように、モータ制御装置100または処理部120は、仮想ターミナルが複数起動できるような構成であってもよい。そして、複数の仮想ターミナルが、それぞれ、コマンド列を処理し、コマンドを実行してもよい。これにより、モータ制御装置100は、それぞれ異なる複数のモータを並行して制御し、動作させることができる。なお、同じモータに対して複数の動作が要求された場合、先に要求された動作が完了した後、次に要求された動作が実行される。
【0089】
なお、並列処理は、仮想ターミナルではなく、割り込み処理等によって、実現されてもよい。また、複数の処理が、並列ではなく、シーケンシャルに、順次、実行されてもよい。また、シーケンシャルな処理と、並列処理との組み合わせで、複数の処理が実行されてもよい。
【0090】
図4は、図1に示されたモータ制御装置100のより具体的な例を示す構成図である。図4に示されたモータ制御装置100は、処理部120および記憶部130を備える。処理部120は、コマンド実行部121、コマンド実行要求部122、コマンド列処理部123およびコマンド列格納部124を備える。
【0091】
記憶部130は、典型的には、読み書き可能なRAM(Random Access Memory)で構成される。図4に示された例において、記憶部130は、コマンド列情報131、状態情報132および対応情報133を記憶している。コマンド列情報131は、コマンド列格納部124によって格納され、状態情報132は、コマンド実行部121によって格納される。対応情報133は、記憶部130に予め記憶されている。
【0092】
コマンド列情報131は、処理部120によって処理されるコマンド列であって、記憶部130に予め格納されたコマンド列の情報である。状態情報132は、各モータの状態、または、各モータ制御装置の状態、あるいは、各コマンドの実行状態などのモータ制御システム1の様々な状態を示す情報である。より具体的には、状態情報132は、モータ制御システム1に含まれるセンサの状態、入出力ポートの状態、他のモータ制御装置に要求したコマンドの実行結果、モータの位置情報、エラー情報などを含む。
【0093】
対応情報133は、どのモータがどのモータ制御装置に対応しているかを示す情報である。例えば、対応情報133は、モータ101〜103がモータ制御装置100に対応し、モータ201〜203がモータ制御装置200に対応し、モータ301〜303がモータ制御装置300に対応していることを示す。
【0094】
なお、記憶部130は、コマンド列情報131を記憶しているため、コマンド列情報記憶部と称されてもよい。また、記憶部130は、状態情報132を記憶しているため、状態情報記憶部と称されてもよい。また、記憶部130は、対応情報133を記憶しているため、対応情報記憶部と称されてもよい。また、コマンド列情報131、状態情報132および対応情報133は、それぞれ、別個の独立した記憶部に格納されてもよいし、1個の記憶部130に格納されてもよい。
【0095】
コマンド列処理部123は、管理装置10からコマンド列の処理の要求を受けて、コマンド列を処理する。コマンド列処理部123は、管理装置10によって送信されたコマンド列を受信することによりコマンド列を取得してもよいし、管理装置10によって指定されたコマンド列を記憶部130から取得してもよい。
【0096】
コマンド列処理部123は、取得されたコマンド列に含まれる複数のコマンドのうち、自装置が管理するモータへのコマンドをコマンド実行部121に実行させる。また、コマンド列処理部123は、取得されたコマンド列に含まれる複数のコマンドのうち、他装置が管理するモータへのコマンドをコマンド実行要求部122に要求させる。これにより、コマンド列処理部123は、取得されたコマンド列に含まれる複数のコマンドを、順次、処理する。
【0097】
この時、コマンド列処理部123は、状態情報132が所定の条件を満たすか否かを判定してもよい。そして、コマンド列処理部123は、判定された結果に依存させて、コマンド列に含まれるコマンドを変更してもよい。この場合、コマンド列処理部123は、変更されたコマンドを処理する。
【0098】
例えば、状態情報132が所定の条件を満たす場合に、モータ101を動作させるコマンドを処理し、状態情報132が所定の条件を満たさない場合に、モータ201を動作させるコマンドを処理する。あるいは、コマンド列処理部123は、状態情報132が所定の条件を満たすか否かに応じて、コマンドを実行する順番を変更してもよい。つまり、コマンドの変更は、コマンドの実行順序の変更を含む。
【0099】
コマンド列には、上記のように所定の条件に応じてコマンドを変更するための条件分岐コマンドが含まれていてもよい。そして、コマンド列処理部123は、このような条件分岐処理が可能であってもよい。
【0100】
また、コマンド列処理部123は、対応情報133を参照し、モータ制御装置100に対応する3つのモータ101〜103に対するコマンドをコマンド実行部121に実行させる。また、例えば、コマンド列処理部123は、対応情報133を参照し、コマンド実行要求部122が、モータ201を動作させるコマンドの実行を、モータ201に対応するモータ制御装置200に要求するように制御する。
【0101】
コマンド列格納部124は、管理装置10またはその他の装置によって送信されたコマンド列を受信し、受信したコマンド列をコマンド列情報131として記憶部130に格納する。コマンド列処理部123は、このように事前に格納されたコマンド列情報131を参照して、コマンド列を処理してもよい。
【0102】
コマンド実行部121は、コマンド列処理部123からの指示を受け、自装置が管理するモータへのコマンドを実行する。また、コマンド実行部121は、他装置からコマンドの実行の要求を受けて、自装置が管理するモータへのコマンドを実行する。この時、コマンド実行部121は、他装置からコマンドの実行の要求を、直接受けてもよいし、コマンド列処理部123を経由して受けてもよい。
【0103】
そして、コマンド実行部121は、コマンドの実行後、実行完了を示す完了通知信号を他装置に送信する。コマンド実行部121は、コマンド列処理部123を経由して他装置からの要求を受けている場合、コマンド列処理部123を経由して完了通知信号を送信してもよい。また、コマンド列処理部123は、コマンド列の処理後、処理完了を示す完了通知信号を管理装置10に送信する。
【0104】
図5は、図1に示されたモータ制御装置100の変形例を示す構成図である。図5に示されたモータ制御装置100は、処理部120、ドライバ111、モータ101、3つの電子機器制御部144〜146、照明装置104、音響装置105および電子機器106を備える。電子機器制御部144は、照明装置104を動作させる。電子機器制御部145は、音響装置105を動作させる。電子機器制御部146は、その他の電子機器106を動作させる。電子機器106は、センサ入力装置、温度制御装置、画像処理装置、音声処理装置または数理計算装置等であってもよい。
【0105】
なお、ここでは、3つの電子機器制御部144〜146、照明装置104、音響装置105および電子機器106を含めてモータ制御装置100と呼ぶ。しかし、電子機器制御部144〜146、照明装置104、音響装置105または電子機器106がモータ制御装置100から独立して構成されている場合でも、処理の本質は変わらない。
【0106】
管理装置10のコマンド列処理要求部11によって処理が要求されるコマンド列には、照明装置104、または、音響装置105、あるいは、その他の電子機器106を動作させる電子機器制御コマンドが含まれていてもよい。
【0107】
例えば、コマンド列処理要求部11が、照明装置104を動作させる電子機器制御コマンドを含むコマンド列の処理をモータ制御装置100に要求した場合、コマンド実行部121は、電子機器制御コマンドに従って、電子機器制御部144に照明装置104を動作させる。
【0108】
同様に、電子機器制御コマンドが音響装置105を動作させるコマンドである場合、コマンド実行部121は、電子機器制御部145に音響装置105を動作させる。電子機器制御コマンドがその他の電子機器106を動作させるコマンドである場合、コマンド実行部121は、電子機器制御部146に電子機器106を動作させる。
【0109】
このような電子機器制御コマンドを含むコマンド列の処理をコマンド列処理要求部11がモータ制御装置200に要求した場合、モータ制御装置200のコマンド実行要求部222は、電子機器制御コマンドの実行をモータ制御装置100に要求する。要求を受けたモータ制御装置100のコマンド実行部121は、3つの電子機器制御部144〜146のいずれかを介して、照明装置104、音響装置105または電子機器106を動作させる。
【0110】
このようにモータ制御システム1は、モータ以外の電子機器の動作を制御してよい。これによって、モータに限らず、様々な電子機器が協調して動作する。したがって、モータ制御システム1は、より広範な分野で、利用可能になる。なお、モータ制御装置100だけではなく、モータ制御装置200またはモータ制御装置300が、様々な電子機器を有していてもよい。
【0111】
図6は、図1に示された管理装置10の変形例を示す構成図である。図6に示された管理装置10は、コマンド列処理要求部11および要求先選択部12を備える。
【0112】
要求先選択部12は、コマンド列に基づいて、3つのモータ制御装置100、200、300から、コマンド列の処理が要求される要求先を選択する。コマンド列処理要求部11は、選択された要求先にコマンド列の処理を要求する。
【0113】
具体的には、要求先選択部12は、コマンド列が各モータに関連する度合いに依存させて、要求先を選択する。例えば、コマンド列が、主に、モータ101へのコマンドで構成されている場合、要求先選択部12は、モータ制御装置100を要求先として選択する。また、コマンド列に含まれる複数のコマンドのうち、モータ制御装置200が管理する3つのモータ201〜203へのコマンドの数の割合が多い場合、要求先選択部12は、モータ制御装置200を要求先として選択する。
【0114】
このようにコマンド列の処理の要求先が適切に選択されることで、他装置にコマンドの実行を要求する回数が低減される。したがって、処理の遅延が低減され、複数のモータのより円滑な協調動作が実現される。
【0115】
以上のように、実施の形態1に係るモータ制御システム1は、複数のモータ制御装置から構成される。そして、各モータ制御装置は、コマンド列の処理の要求を受けて、自装置が管理するモータへのコマンドを自装置で実行し、他装置が管理するモータへのコマンドの実行を他装置に要求する。この時、管理装置に制御が戻ることがないため、処理の遅延が低減される。したがって、モータ制御システム1は、多数のモータを円滑に協調して動作させることができる。
【0116】
なお、実施の形態1に係るモータ制御システム1は、3つのモータ制御装置100、200、300を備えるが、モータ制御システム1は、2つのモータ制御装置を備えてもよいし、4つ以上のモータ制御装置を備えてもよい。また、各モータ制御装置に備えられるモータの数は、3つに限られず、2つ以下であっても、4つ以上であってもよい。
【0117】
また、実施の形態1に示された構成要素のすべてが、必須というわけではない。例えば、モータ制御装置は、コマンド実行部、および、コマンド実行要求部を備えていれば、多数のモータを協調して動作させることができる。
【0118】
また、実施の形態1に係るコマンド実行部121は、管理装置10のコマンド列処理要求部11、または、モータ制御装置200のコマンド実行要求部222等からの要求に基づくタイミングで、モータ101等を動作させるためのコマンドを実行する。しかし、コマンド実行部121は、状態情報132を監視し、状態情報132が所定の条件を満たしたタイミングで、コマンドを実行してもよい。
【0119】
また、コマンド実行部121は、記憶部130に記憶されている状態情報132を監視せずに、直接、モータ制御システム1の状態を監視してもよい。すなわち、監視対象の状態情報132は、記憶部130に記憶されていなくてもよい。また、コマンド列処理部123が、状態情報132を監視し、状態情報132が所定の条件を満たしたタイミングで、コマンド実行部121にコマンドを実行させてもよい。
【0120】
(実施の形態2)
次に、実施の形態2として、実施の形態1に示されたモータ制御システム1のより具体的な例を示す。
【0121】
図7は、実施の形態2に係るモータ制御システム1を示す構成図である。図7に示されたモータ制御システム1は、管理装置10、および、3つのモータ制御装置100、200、300を備える。モータ制御装置100は、処理部120、記憶部130、3つのドライバ111〜113、および、3つのモータM11〜M13を備える。モータ制御装置200は、処理部220、記憶部230、ドライバ114、および、モータM14を備える。モータ制御装置300は、処理部320、記憶部330、ドライバ115、および、モータM15を備える。
【0122】
図7に示された各構成要素は、実施の形態1に示された各構成要素と同様の機能を有する。例えば、3つの記憶部130、230、330には、モータまたはレジスタ等のオブジェクトがどのモータ制御装置に割り当てられているかを示す対応情報が記憶されている。また、記憶部130には、レジスタReg11(図示せず)が含まれる。レジスタReg11は、図4に示された状態情報132の一例である。
【0123】
図8A〜図8Cは、それぞれ、図7に示されたモータ制御システム1によって処理されるコマンド列の例を示す図である。
【0124】
図8Aに示されたコマンド列501は、3つのコマンドを有する。1番目のコマンドは、モータM11を指定された動作量(1000)で動作させるコマンドである。2番目のコマンドは、レジスタReg11がセットされるまで待機させるコマンドである。3番目のコマンドは、モータM12を指定された動作量(500)で動作させるコマンドである。
【0125】
図8Bに示されたコマンド列502も、3つのコマンドを有する。1番目のコマンドは、モータM14を指定された動作量(500)で動作させるコマンドである。2番目のコマンドは、モータM13を指定された動作量(300)で動作させるコマンドである。3番目のコマンドは、レジスタReg11をセットするコマンドである。
【0126】
図8Cに示されたコマンド列503は、1つのコマンドを有する。コマンド列503に含まれる1つのコマンドは、モータM15を指定された動作量(400)で動作させるコマンドである。
【0127】
管理装置10は、コマンド列501の処理をモータ制御装置100に要求するとともに、コマンド列502の処理をモータ制御装置200に要求する。そして、管理装置10は、コマンド列501の処理が終了した後、コマンド列503の処理をモータ制御装置300に要求する。
【0128】
図9は、図7に示された5つのモータM11〜M15の動作状態を示す図である。
【0129】
まず、コマンド列501の処理の要求を受けたモータ制御装置100の処理部120は、コマンド列501の1番目のコマンドに従って、ドライバ111にモータM11を指定された動作量(1000)で動作させる。
【0130】
一方、コマンド列502の処理の要求を受けたモータ制御装置200の処理部220は、コマンド列502の1番目のコマンドに従って、ドライバ114にモータM14を指定された動作量(500)で動作させる。その後、処理部220は、コマンド列502の2番目のコマンドを処理する。しかし、コマンド列502の2番目のコマンドは、モータ制御装置100が管理するモータM13に対するコマンドである。そのため、処理部220は、モータ制御装置100に、コマンド列502の2番目のコマンドの実行を要求する。
【0131】
コマンド列502の2番目のコマンドの実行の要求を受けたモータ制御装置100の処理部120は、ドライバ113にモータM13を指定された動作量(300)で動作させる。ここで、処理部120は、コマンド列501の1番目のコマンドの実行中であっても、仮想ターミナルの機能を用いて、並行して、コマンド列502の2番目のコマンドを実行する。処理部120は、コマンド列502の2番目のコマンドの実行が完了した後、モータ制御装置200に実行の完了を通知する。
【0132】
実行の完了の通知を受けたモータ制御装置200の処理部220は、コマンド列502の3番目のコマンドを処理する。しかし、コマンド列502の3番目のコマンドは、モータ制御装置100が管理するレジスタReg11に対するコマンドである。そのため、処理部220は、モータ制御装置100に、コマンド列502の3番目のコマンドの実行を要求する。
【0133】
コマンド列502の3番目のコマンドの実行の要求を受けたモータ制御装置100の処理部120は、レジスタReg11をセットする。ここで、処理部120は、コマンド列501の1番目のコマンドの実行中であっても、仮想ターミナルの機能を用いて、並行して、コマンド列502の3番目のコマンドを実行する。処理部120は、コマンド列502の3番目のコマンドの実行が完了した後、モータ制御装置200に実行の完了を通知する。完了の通知を受けたモータ制御装置200の処理部220は、管理装置10に、コマンド列502の処理の完了を通知する。
【0134】
モータ制御装置100の処理部120は、コマンド列501の1番目のコマンドの実行が完了した後、コマンド列501の2番目のコマンドを実行する。すなわち、処理部120は、レジスタReg11がセットされるまで待機する。これにより、同期動作が可能になる。レジスタReg11がセットされた後、処理部120は、コマンド列501の3番目のコマンドを実行する。すなわち、処理部120は、コマンド列501の3番目のコマンドに従って、ドライバ112にモータM12を指定された動作量(500)で動作させる。
【0135】
コマンド列501の3番目のコマンドの実行が完了した後、処理部120は、管理装置10に、コマンド列501の処理の完了を通知する。管理装置10は、コマンド列501の処理の完了の通知を受けた後、モータ制御装置300にコマンド列503の処理を要求する。
【0136】
コマンド列503の処理の要求を受けたモータ制御装置300の処理部320は、コマンド列503に含まれるコマンドに従って、ドライバ115にモータM15を指定された動作量(400)で動作させる。コマンド列503に含まれるコマンドの実行が完了した後、処理部320は、コマンド列503の処理の完了を通知する。管理装置は、3つのコマンド列501〜503の処理の完了の通知を受け、一連の動作を終了する。
【0137】
以上のように、実施の形態2に係るモータ制御システム1は、複数のモータを協調して動作させる。また、記憶部130には、コマンドの実行状態を示す状態情報が、レジスタReg11として、格納される。これにより、複数のモータが、同期をとりつつ、円滑に動作する。なお、このような状態情報は、記憶部230または記憶部330に格納されてもよい。
【0138】
(実施の形態3)
次に、実施の形態3として、複数の管理装置を備えるモータ制御システムの例を示す。すなわち、実施の形態3に係るモータ制御システムは、実施の形態1に係るモータ制御システム1に、さらに、もうひとつ別の管理装置が加えられている。
【0139】
図10は、実施の形態3に係るモータ制御システム1を示す構成図である。図10に示されたモータ制御システム1は、2つの管理装置10、20、および、3つのモータ制御装置100、200、300を備える。つまり、図10に示されたモータ制御システム1は、実施の形態1に係るモータ制御システム1に、通信ネットワークに接続された管理装置20が加えられている。管理装置20は、管理装置10と同様の機能を有し、コマンド列処理要求部21を備える。コマンド列処理要求部21は、コマンド列処理要求部11と同様の機能を有する。
【0140】
すなわち、コマンド列処理要求部21は、コマンド列処理要求部11と同様に、各モータへのコマンドを含むコマンド列の処理を、3つのモータ制御装置100、200、300のいずれかに要求する。コマンド列処理要求部21によって処理が要求されるコマンド列は、コマンド列処理要求部11によって処理が要求されるコマンド列と同じであってもよいし、異なっていてもよい。3つのモータ制御装置100、200、300は、コマンド列処理要求部11からコマンド列の処理の要求を受けた場合と同様に、コマンド列を処理する。
【0141】
以下、より具体的な例を用いて、説明する。
【0142】
まず、コマンド列処理要求部21は、モータ101を動作させる第3コマンド、および、モータ201を動作させる第4コマンドの両方を含むコマンド列の処理を、モータ制御装置100およびモータ制御装置200のいずれか一方に、要求する。
【0143】
コマンド列処理要求部21がコマンド列の処理をモータ制御装置100に要求した場合、コマンド実行部121は、コマンド列に含まれる第3コマンドに従って、ドライバ111にモータ101を動作させることにより、第3コマンドを実行する。そして、コマンド実行要求部122は、コマンド列に含まれる第4コマンドの実行をモータ制御装置200に要求する。
【0144】
コマンド列処理要求部21がコマンド列の処理をモータ制御装置200に要求した場合、コマンド実行部221は、コマンド列に含まれる第4コマンドに従って、ドライバ211にモータ201を動作させることにより、第4コマンドを実行する。そして、コマンド実行要求部222は、コマンド列に含まれる第3コマンドの実行をモータ制御装置100に要求する。
【0145】
コマンド実行要求部222が第3コマンドの実行をモータ制御装置100に要求した場合、コマンド実行部121は、第3コマンドに従って、ドライバ111にモータ101を動作させることにより、第3コマンドを実行する。コマンド実行要求部122が第4コマンドの実行をモータ制御装置200に要求した場合、コマンド実行部221は、第4コマンドに従って、ドライバ211にモータ201を動作させることにより、第4コマンドを実行する。
【0146】
以上のように、実施の形態3に係るモータ制御システム1は、複数の管理装置を備えることにより、管理装置側の処理負荷を分散させることができる。また、複数のモータ制御装置のそれぞれは、複数の管理装置から処理の要求を受ける。これにより、モータ制御システム1は、より柔軟にコマンド列を処理することができる。
【0147】
なお、実施の形態3に係るモータ制御システム1は、2つの管理装置10、20を備えるが、3つ以上の管理装置を備えてもよい。
【0148】
(実施の形態4)
次に、実施の形態4として、実施の形態3に示されたモータ制御システム1のより具体的な例を示す。
【0149】
図11は、実施の形態4に係るモータ制御システム1を示す構成図である。図11に示されたモータ制御システム1は、2つの管理装置10、20、および、3つのモータ制御装置100、200、300を備える。
【0150】
モータ制御装置100は、モータ制御システム1において、試料搬送の役割を担う。また、モータ制御装置100は、処理部120、記憶部130、センサ117、および、2つのモータM1、M2を備える。記憶部130には、マクロMCR101が記憶されている。マクロMCR101は、図4に示されたコマンド列情報131の例である。センサ117は、試験管の有無を検知するセンサである。2つのモータM1、M2は、それぞれ、試験管を運ぶモータである。モータM1は、試験管を導入し、モータM2は、試験管を排出する。
【0151】
モータ制御装置200は、モータ制御システム1において、サンプリングの役割を担う。また、モータ制御装置200は、処理部220、記憶部230、2つのモータM3、M4を備える。記憶部230には、2つのマクロMCR201、MCR202が記憶されている。2つのマクロMCR201、MCR202は、それぞれ、図4に示されたコマンド列情報131の例である。モータM3は、試験管に入れるスポイトを旋回させるモータである。モータM4は、試料ポンプに取り付けられたモータであって、試料を吸引または吐出する。
【0152】
モータ制御装置300は、モータ制御システム1において、洗浄の役割を担う。また、モータ制御装置300は、処理部320、記憶部330、2つのモータM5、M6を備える。記憶部330には、3つのマクロMCR301、MCR302、MCR303が記憶されている。3つのマクロMCR301、MCR302、MCR303は、それぞれ、図4に示されたコマンド列情報131の例である。モータM5は、洗浄容器を移送するモータである。モータM6は、洗浄ポンプに取り付けられたモータであって、洗浄液を吸引または吐出する。
【0153】
図12A〜図12Fは、それぞれ、図11に示されたモータ制御システム1によって処理されるマクロを示す図である。これらのマクロは、各記憶部に予め格納されている。例えば、管理装置10は、図12Aに示されたマクロMCR101をモータ制御装置100に送信する。マクロMCR101を受信したモータ制御装置100の処理部120は、記憶部130にマクロMCR101を格納する。これにより、マクロMCR101は、記憶部130に予め格納される。
【0154】
ここで、図12A〜図12Fに示されたマクロの先頭の記号「#」は、その後に続くマクロ名(図面の符号と同じ)によって識別されるマクロを、実行せずに登録することを示す記号である。また、マクロ名の後に続く「Arg1」は、パラメータを引数として、受け取ることが可能であることを示す。2つの管理装置10、20は、それぞれ、予め格納されたマクロのマクロ名、および、引数としてのパラメータを指定することにより、コマンド列であるマクロの処理を要求する。
【0155】
図12Aに示されたマクロMCR101は、試料を分注するマクロである。1行目は、マクロ名と引数を示す。マクロMCR101は、引数Arg1として、試料を分注する容量(ml)を受け取る。2行目は、モータM1を指定された位置(1000)に移動する導入動作を示す。3行目は、モータM1を指定された位置(0)に移動する後退動作を示す。
【0156】
5、6行目は、試験管の有無を検知して、検知された状態に応じて分岐する処理を示す。5行目は、入力信号PI2を変数Reg02に代入する処理を示す。入力信号PI2は、センサ117が試験管の有無を検知することにより生成された信号である。6行目は、入力信号PI2が0の場合、処理の制御がラベルL1(15行目)へ移動することを示す。すなわち、試験管が無かった場合、試料が分注されない。試験管があった場合、8行目から14行目の処理が実行される。
【0157】
8行目は、マクロMCR201を実行する処理を示す。9行目は、マクロMCR202の実行を開始する処理を示す。マクロ名の先頭の文字「X」は、マクロを開始させた後にマクロの終了を待たずに、次の処理を実行することを示す。10行目は、モータM2を指定された位置(1000)に移動する排出動作を示す。11行目は、モータM2を指定された位置(0)に移動する後退動作を示す。10、11行目の処理は、9行目の処理と並行して実行される。12行目は、マクロMCR202の実行の完了を待機する処理を示す。
【0158】
13行目は、マクロMCR303を実行する処理を示す。14行目は、処理の制御がラベルL2(18行目)へ移動することを示す。
【0159】
15行目は、ラベルL1を示す。16行目は、モータM2を指定された位置(1000)に移動する排出動作を示す。17行目は、モータM2を指定された位置(0)に移動する後退動作を示す。18行目は、ラベルL2を示す。19行目は、変数Reg02を管理装置10に送信する処理を示す。
【0160】
モータ制御システム1は、図12Aに示されたマクロMCR101を実行することにより、試料を分注する。また、試験管の状態に応じて、処理が変更される。
【0161】
図12Bに示されたマクロMCR201は、試料を吸引するマクロである。1行目は、マクロ名と引数を示す。マクロMCR201は、引数Arg1として、試料を分注する容量(ml)を受け取る。2行目は、乗算の処理を示す。すなわち、引数Arg1と100とが乗算され、変数Reg01に格納される。3行目は、モータM3を指定された位置(500)に移動する動作を示す。これにより、スポイトは、試験管側に移動する。4行目は、モータM4を変数Reg01によって指定された位置に移動する動作を示す。これにより、M4は、試料を吸引する。
【0162】
モータ制御システム1は、図12Bに示されたマクロMCR201を実行することにより、試料を吸引する。
【0163】
図12Cに示されたマクロMCR202は、試料を吐出するマクロである。1行目は、マクロ名を示す。2行目は、ラベルL1を示す。3行目は、入力信号PI1の状態を検査する処理を示す。入力信号PI1は、処理部320から得られる信号であって、洗浄中であるか否かを示す信号である。4行目は、入力信号PI1が0でない場合、処理の制御がラベルL1(2行目)へ移動することを示す。
【0164】
6行目は、モータM3を指定された位置(0)に移動する動作を示す。これにより、スポイトは、洗浄側に移動する。7行目は、モータM4を指定された位置(0)に移動する動作を示す。これにより、M4は、試料を吐出する。
【0165】
モータ制御システム1は、図12Cに示されたマクロMCR202を実行することにより、試料を吐出する。
【0166】
図12Dに示されたマクロMCR301は、洗浄動作を制御するマクロである。1行目は、マクロ名と引数を示す。マクロMCR301は、引数Arg1として、洗浄回数を受け取る。2行目は、ラベルL1を示す。3行目は、変数Reg03を検査する処理を示す。変数Reg03は、洗浄動作の開始を制御するための変数である。4行目は、変数Reg03が0の場合、処理の制御がラベルL1(2行目)へ移動することを示す。5行目は、変数Reg03に0を格納する処理を示す。
【0167】
7行目は、出力信号PO1を1にセットする処理を示す。8行目は、マクロMCR302を実行する処理を示す。9行目は、出力信号PO1を0にリセットする処理を示す。
【0168】
モータ制御システム1は、図12Dに示されたマクロMCR301を実行することにより、洗浄動作を制御する。
【0169】
図12Eに示されたマクロMCR302は、洗浄動作を実行するマクロである。1行目は、マクロ名と引数を示す。マクロMCR302は、引数Arg1として、洗浄回数を受け取る。2行目は、モータM5を指定された位置(1000)に移動する動作を示す。これにより、M5は、洗浄容器を移送する。3行目は、モータM5を指定された位置(0)に移動する後退動作を示す。4行目は、変数Reg02に引数Arg1を代入する処理を示す。
【0170】
5行目は、ラベルL1を示す。6行目は、モータM6を指定された位置(5000)に移動する動作を示す。これにより、50mlの洗浄液が吸引される。7行目は、モータM6を指定された位置(0)に移動する動作を示す。これにより、洗浄液が吐出される。8行目は、変数Reg02から1を減算する処理を示す。9行目は、変数Reg02が0でない場合、処理の制御がラベルL1(5行目)へ移動することを示す。これにより、指定された回数分、処理が繰り返される。
【0171】
モータ制御システム1は、図12Eに示されたマクロMCR302を実行することにより、洗浄動作を実行する。
【0172】
図12Fに示されたマクロMCR303は、洗浄動作の開始を制御するマクロである。1行目は、マクロ名を示す。2行目は、変数Reg03に1をセットする処理を示す。これにより、洗浄動作の待機状態が解除される。モータ制御システム1は、図12Fに示されたマクロMCR303を実行することにより、洗浄動作の開始を制御する。
【0173】
図13は、図11に示されたモータ制御システム1の動作を示すシーケンス図である。
【0174】
まず、管理装置10は、モータ制御装置100に、マクロMCR101の処理を要求する。この時、マクロ名と引数が送信されることにより、処理が要求される。より具体的には、管理装置10は、「MCR101 10」をモータ制御装置100に送信する(S201)。
【0175】
要求を受けたモータ制御装置100の処理部120は、マクロMCR101を処理する。マクロMCR101の実行において、まず、処理部120は、モータM1を動作させて、試験管を導入する。次に、処理部120は、試験管の有無を判定する(S202)。
【0176】
試験管が有る場合、処理部120は、試料を吸引するマクロMCR201の処理をモータ制御装置200に要求する。マクロMCR201の処理において、まず、モータ制御装置200の処理部220は、モータM3を指定された位置に移動させる。これにより、スポイトは、試験管側に移動する。次に、処理部220は、モータM4を指定された位置に移動する。これにより、M4は、試料を吸引する(S203)。
【0177】
次に、処理部120は、試料を吐出するマクロMCR202の処理をモータ制御装置200に要求する。マクロMCR202の処理において、まず、モータ制御装置200の処理部220は、入力信号PI1が0になるまで待機する。つまり、処理部220は、動作状態が洗浄中になるまで待機する。その後、処理部220は、モータM3を洗浄側へ移動させる。次に、処理部220は、モータM4を指定された位置に移動する。これにより、M4は、試料を吐出する(S205)。
【0178】
また、処理部120は、マクロMCR202の実行の完了を待たずに、モータM2を動作させて、試験管を排出する(S204)。
【0179】
そして、試験管の排出(S204)およびマクロMCR202の処理(S205)が完了した後、処理部120は、マクロMCR303の処理をモータ制御装置300に要求する(S206)。
【0180】
要求を受けたモータ制御装置300の処理部320は、マクロMCR303を処理する。すなわち、処理部320は、洗浄動作を開始させるための変数Reg03を1にセットする(S207)。
【0181】
次に、処理部120は、試験管の有無を示す値が格納された変数Reg02の値を管理装置10に送信することにより、試験管の有無を通知する(S208)。
【0182】
次に、モータ制御装置100の処理部120は、マクロMCR101の処理の完了を管理装置10に通知する。そして、管理装置10は、一連の処理を完了する(S209)。
【0183】
一方、管理装置20は、モータ制御装置300に、マクロMCR301の処理を要求する。この時、マクロ名と引数が送信されることにより、処理が要求される。より具体的には、管理装置20は、「MCR301 2」をモータ制御装置200に送信する(S301)。
【0184】
要求を受けたモータ制御装置300の処理部320は、マクロMCR301を処理する。マクロMCR301の実行において、まず、処理部320は、洗浄動作を開始させるための変数Reg03が1にセットされるまで、待機する。変数がセットされた後、処理部320は、マクロMCR302を処理する(S302)。
【0185】
マクロMCR302の処理において、まず、処理部320は、モータM5に洗浄容器を移送させる。次に、処理部320は、モータM6を動作させることにより、洗浄動作を実行する。これらの動作は、引数で指定された回数分、繰り返される(S303)。
【0186】
マクロMCR302の処理が完了した後、処理部320は、マクロMCR301の後続の処理を実行する(S304)。マクロMCR301の処理が完了した後、処理部320は、マクロMCR301の処理の完了を管理装置20に通知する。そして、管理装置10は、一連の処理を完了する(S305)。
【0187】
図14は、図11に示された6つのモータM1〜M6の動作状態を示す図であって、図13の処理が繰り返された場合の動作状態を示す図である。
【0188】
管理装置10は、マクロMCR101の処理をモータ制御装置100に要求することにより、モータM1〜M4を動作させる。管理装置10は、マクロMCR101の処理が完了した後、再度、マクロMCR101の処理をモータ制御装置100に要求している。これにより、繰り返し、マクロMCR101が処理される。図14では、マクロMCR101が、5回、処理されている。
【0189】
一方、管理装置20は、マクロMCR301の処理をモータ制御装置300に要求することにより、モータM5、M6を動作させる。管理装置20は、マクロMCR301の処理が完了した後、再度、マクロMCR301の処理をモータ制御装置300に要求している。これにより、繰り返し、マクロMCR301が処理される。図14では、マクロMCR301が、3回、処理されている。
【0190】
図14に示されているように、モータ制御システム1は、複数のモータを協調して動作させる。また、モータ制御システム1は、各コマンドの実行状態に応じて、後続の処理を待機し、あるいは、後続の処理を変更する。例えば、試験管が無かった場合、モータM3、M4による試料の吸引および吐出の動作が実行されない。これにより、より柔軟な協調動作が実現される。
【0191】
図15は、図12Aに示されたマクロMCR101の変形例を示す図である。図12Aに示されたマクロMCR101の8行目のコマンドが、図15に示されたマクロMCR101の8行目から10行目に示されたコマンドに変更されている。すなわち、マクロMCR201の内容がマクロMCR101に組み込まれている。このように、他装置が管理するモータへのコマンドがマクロに含まれていてもよい。この場合、他装置が管理するモータへのコマンドの実行は、他装置に要求される。
【0192】
また、図15に示されたマクロMCR101では、マクロMCR201と比較して、「M3」が「M203」に、「M4」が「M204」に、「Reg01」が「Reg201」に、それぞれ、変更されている。3桁で示された数字の先頭部分は、3つのモータ制御装置100、200、300のそれぞれを識別する数字である。
【0193】
このようにコマンドには、処理対象のオブジェクトがどのモータ制御装置によって管理されているオブジェクトであるかを識別するための識別情報が含まれていてもよい。すなわち、識別情報は、複数のモータ制御装置から、コマンドを実行するモータ制御装置を識別するための情報である。このような識別情報がコマンドに組み込まれていてもよい。
【0194】
例えば、管理装置10のコマンド列処理要求部11は、各モータ制御装置の識別情報が組み込まれたコマンドを含むコマンド列の処理をモータ制御装置100に要求する。モータ制御装置100のコマンド列処理部123は、モータ制御装置200の識別情報が組み込まれたコマンドの実行をコマンド実行要求部122に要求させる。コマンド実行要求部122は、識別情報に基づいて、モータ制御装置200にコマンドの実行を要求する。これにより、コマンド実行要求部122は、図4に示された対応情報133が無くても、適切なモータ制御装置にコマンドの実行を要求できる。
【0195】
そして、モータ制御装置100のコマンド列処理部123は、モータ制御装置100の識別情報が組み込まれたコマンドをコマンド実行部121に実行させる。また、コマンド列処理部123は、識別情報が組み込まれていないコマンドをコマンド実行部121に実行させてもよい。これにより、コマンドの構成が容易になる。
【0196】
入出力処理でのポート指定に、同様の識別情報が用いられてもよい。例えば、識別情報が、入出力信号を示す「PI1」、「PI2」、「PO1」に組み込まれてもよい。
【0197】
以上のように、実施の形態4に係るモータ制御システム1は、複数のモータを協調して動作させる。そして、モータ制御システム1は、複数の管理装置を備えることにより、管理装置側の処理負荷を分散させることができる。また、複数のモータ制御装置のそれぞれは、複数の管理装置から処理の要求を受ける。これにより、モータ制御システム1は、より柔軟にコマンド列を処理することができる。
【0198】
さらに、各記憶部には、コマンド列がマクロとして格納される。したがって、コマンド列の処理の要求、および、複数のモータの協調動作が、より容易になる。また、実施の形態4に示されたように、マクロには、引数が設定可能であってもよい。これにより、動作の変更が可能になり、柔軟性が確保される。
【0199】
なお、マクロに設定可能な引数の数は、複数であってもよい。これにより、より様々な組み合わせで、処理が実行される。また、各モータ制御装置は、他装置にマクロの処理を要求するだけでなく、自装置にマクロの処理を要求してもよい。
【0200】
以上、本発明に係るモータ制御システムについて、複数の実施の形態に基づいて説明したが、これらの実施の形態は例であって、本発明はこれらの実施の形態に限定されるものではない。これらの実施の形態に対して当業者が思いつく変形を施して得られる形態、および、これらの実施の形態における構成要素を任意に組み合わせて実現される別の形態も本発明に含まれる。
【0201】
例えば、特定の機能部が実行する処理を別の機能部が実行してもよい。また、処理を実行する順番が変更されてもよいし、複数の処理が並行して実行されてもよい。
【0202】
また、図8A〜図8C等に示されたコマンド列、および、図12A〜図12F等に示されたマクロの記述方法は、例であって、処理されるコマンド列およびマクロは、このような記述方法に限られない。コマンド列およびマクロが、他の表現により記述され、プログラム化されていてもよい。
【0203】
また、本発明は、モータ制御システムとして実現できるだけでなく、他のモータ制御装置と協調して動作するモータ制御装置としても実現できる。また、モータ制御システムまたはモータ制御装置を構成する処理手段をステップとする方法として実現できる。そして、本発明は、それらの方法に含まれるステップをコンピュータとしてのモータ制御装置に実行させるプログラムとして実現できる。さらに、本発明は、そのプログラムを記録したCD−ROM等のコンピュータ読み取り可能な記録媒体として実現できる。
【0204】
また、モータ制御装置または管理装置に含まれる複数の構成要素は、集積回路であるLSI(Large Scale Integration)として実現されてもよい。これらの構成要素は、個別に1チップ化されてもよいし、一部または全てを含むように1チップ化されてもよい。ここでは、LSIとしたが、集積度の違いにより、IC(Integrated Circuit)、システムLSI、スーパーLSIまたはウルトラLSIと呼称されることもある。
【0205】
また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。プログラムすることが可能なFPGA(Field Programmable Gate Array)、または、LSI内部の回路セルの接続および設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【0206】
さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて、モータ制御装置または管理装置に含まれる構成要素の集積回路化を行ってもよい。
【産業上の利用可能性】
【0207】
本発明は、複数のモータを用いる製造装置、試験装置または移送装置などに適用することができ、製造業または流通業などの様々な産業分野において、有用である。
【符号の説明】
【0208】
1、900 モータ制御システム
10、20、990 管理装置
11、21 コマンド列処理要求部
12 要求先選択部
100、200、300、991、992、993 モータ制御装置
101、102、103、201、202、203、301、302、303、901、902、903、904、905、906、907、908、909、M1、M2、M3、M4、M5、M6、M11、M12、M13、M14、M15 モータ
104 照明装置
105 音響装置
106 電子機器
111、112、113、114、115、211、212、213、311、312、313、911、912、913、914、915、916、917、918、919 ドライバ
117 センサ
120、220、320、981、982、983 処理部
121、221、321 コマンド実行部
122、222、322 コマンド実行要求部
123 コマンド列処理部
124 コマンド列格納部
130、230、330 記憶部
131 コマンド列情報
132 状態情報
133 対応情報
144、145、146 電子機器制御部
501、502、503 コマンド列
MCR101、MCR201、MCR202、MCR301、MCR302、MCR303 マクロ
PI1、PI2 入力信号
PO1 出力信号

【特許請求の範囲】
【請求項1】
複数のモータの動作を制御するモータ制御システムであって、
前記複数のモータのうち、第1モータを動作させる第1ドライバを有する第1モータ制御装置と、
前記複数のモータのうち、前記第1モータとは異なる第2モータを動作させる第2ドライバを有する第2モータ制御装置と、
前記第1モータを動作させる第1コマンド、および、前記第2モータを動作させる第2コマンドの両方を含む第1コマンド列の処理を、前記第1モータ制御装置および前記第2モータ制御装置のいずれか一方に、要求する第1コマンド列処理要求部を有する第1管理装置とを備え、
前記第1モータ制御装置は、
前記第1コマンド列処理要求部が前記第1コマンド列の処理を前記第1モータ制御装置に要求した場合、前記第1コマンド列に含まれる前記第1コマンドに従って、前記第1ドライバに前記第1モータを動作させることにより、前記第1コマンドを実行する第1コマンド実行部と、
前記第1コマンド列処理要求部が前記第1コマンド列の処理を前記第1モータ制御装置に要求した場合、前記第1コマンド列に含まれる前記第2コマンドの実行を前記第2モータ制御装置に要求する第1コマンド実行要求部とを備える
モータ制御システム。
【請求項2】
前記第2モータ制御装置は、
前記第1コマンド列処理要求部が前記第1コマンド列の処理を前記第2モータ制御装置に要求した場合、前記第1コマンド列に含まれる前記第2コマンドに従って、前記第2ドライバに前記第2モータを動作させることにより、前記第2コマンドを実行する第2コマンド実行部と、
前記第1コマンド列処理要求部が前記第1コマンド列の処理を前記第2モータ制御装置に要求した場合、前記第1コマンド列に含まれる前記第1コマンドの実行を前記第1モータ制御装置に要求する第2コマンド実行要求部とを備える
請求項1に記載のモータ制御システム。
【請求項3】
前記第1コマンド実行部は、前記第2コマンド実行要求部が前記第1コマンドの実行を前記第1モータ制御装置に要求した場合、前記第1コマンドに従って、前記第1ドライバに前記第1モータを動作させることにより、前記第1コマンドを実行し、
前記第2コマンド実行部は、前記第1コマンド実行要求部が前記第2コマンドの実行を前記第2モータ制御装置に要求した場合、前記第2コマンドに従って、前記第2ドライバに前記第2モータを動作させることにより、前記第2コマンドを実行する
請求項2に記載のモータ制御システム。
【請求項4】
前記第1モータ制御装置は、さらに、前記第1コマンド列処理要求部が前記第1コマンド列の処理を前記第1モータ制御装置に要求した場合、処理が要求された前記第1コマンド列を取得し、取得された前記第1コマンド列に含まれる前記第1コマンドを前記第1コマンド実行部に実行させ、取得された前記第1コマンド列に含まれる前記第2コマンドの実行を前記第1コマンド実行要求部に要求させることにより、取得された前記第1コマンド列に含まれる複数のコマンドを、順次、処理するコマンド列処理部を備える
請求項2または請求項3に記載のモータ制御システム。
【請求項5】
前記第1コマンド列処理要求部は、前記複数のモータ制御装置から前記第2モータ制御装置を識別する第1識別情報が組み込まれた前記第2コマンドを含む前記第1コマンド列の処理を前記第1モータ制御装置に要求し、
前記コマンド列処理部は、前記第1識別情報が組み込まれた前記第2コマンドの実行を前記第1コマンド実行要求部に要求させる
請求項4に記載のモータ制御システム。
【請求項6】
前記コマンド列処理部は、前記第1識別情報が組み込まれていない前記第1コマンドを前記第1コマンド実行部に実行させる
請求項5に記載のモータ制御システム。
【請求項7】
前記第1コマンド列処理要求部は、前記複数のモータ制御装置から前記第1モータ制御装置を識別する第2識別情報が組み込まれた前記第1コマンドを含む前記第1コマンド列の処理を前記第1モータ制御装置に要求し、
前記コマンド列処理部は、前記第2識別情報が組み込まれた前記第1コマンドを前記第1コマンド実行部に実行させる
請求項5または請求項6に記載のモータ制御システム。
【請求項8】
前記第1モータ制御装置は、さらに、前記第1モータが前記第1モータ制御装置に対応し、前記第2モータが前記第2モータ制御装置に対応していることを示す対応情報を記憶している対応情報記憶部を備え、
前記コマンド列処理部は、前記対応情報記憶部に記憶されている前記対応情報を参照して、前記第1モータ制御装置に対応している前記第1モータを動作させる前記第1コマンドを前記第1コマンド実行部に実行させ、前記第2モータ制御装置に対応している前記第2モータを動作させる前記第2コマンドの実行を前記第1コマンド実行要求部に要求させる
請求項4に記載のモータ制御システム。
【請求項9】
前記第1コマンド列処理要求部は、所定の条件が満たされるか否かに依存させて前記第1コマンド列に含まれる1以上のコマンドを変更する条件分岐コマンドを含む前記第1コマンド列の処理を、前記第1モータ制御装置に、要求し、
前記コマンド列処理部は、前記所定の条件が満たされるか否かを判定し、判定された結果に依存させて前記1以上のコマンドを変更し、変更された前記1以上のコマンドを処理する
請求項4〜8のいずれか1項に記載のモータ制御システム。
【請求項10】
前記第1モータ制御装置は、さらに、前記モータ制御システムの状態を示す状態情報を記憶するための状態情報記憶部を備え、
前記第1コマンド実行部は、前記状態情報を前記状態情報記憶部に格納し、
前記コマンド列処理部は、前記状態情報記憶部に格納された前記状態情報が前記所定の条件を満たすか否かを判定し、判定された結果に依存させて前記1以上のコマンドを変更し、変更された前記1以上のコマンドを処理する
請求項9に記載のモータ制御システム。
【請求項11】
前記第1モータ制御装置は、さらに、
前記第1コマンド列を記憶するためのコマンド列情報記憶部と、
前記第1コマンド列処理要求部が前記第1コマンド列の処理を前記第1モータ制御装置に要求する前に、前記第1コマンド列を前記コマンド列情報記憶部に格納するコマンド列格納部とを備え、
前記第1コマンド列処理要求部は、前記コマンド列情報記憶部に格納された前記第1コマンド列を指定することにより、前記第1コマンド列の処理を前記第1モータ制御装置に要求する
請求項4〜10のいずれか1項に記載のモータ制御システム。
【請求項12】
前記第1コマンド列処理要求部は、前記コマンド列情報記憶部に格納された前記第1コマンド列、および、前記第1コマンド列が処理される時に参照されるパラメータを指定することにより、前記第1コマンド列の処理を前記第1モータ制御装置に要求し、
前記コマンド列処理部は、前記パラメータを参照し、前記パラメータに依存させて、前記第1コマンド列を処理する
請求項11に記載のモータ制御システム。
【請求項13】
前記第1コマンド実行部は、前記モータ制御システムの状態を示す状態情報を監視し、前記状態情報が所定の条件を満たしたタイミングで、前記第1コマンドを実行する
請求項2〜12のいずれか1項に記載のモータ制御システム。
【請求項14】
前記第1コマンド実行部は、前記第1コマンド列処理要求部または前記第2コマンド実行要求部からの要求に基づくタイミングで、前記第1コマンドを実行する
請求項2〜13のいずれか1項に記載のモータ制御システム。
【請求項15】
前記モータ制御システムは、さらに、前記第1モータを動作させる第3コマンド、および、前記第2モータを動作させる第4コマンドの両方を含む第2コマンド列の処理を、前記第1モータ制御装置および前記第2モータ制御装置のいずれか一方に、要求する第2コマンド列処理要求部を有する第2管理装置を備え、
前記第1コマンド実行部は、前記第2コマンド列処理要求部が前記第2コマンド列の処理を前記第1モータ制御装置に要求した場合、前記第2コマンド列に含まれる前記第3コマンドに従って、前記第1ドライバに前記第1モータを動作させることにより、前記第3コマンドを実行し、
前記第1コマンド実行要求部は、前記第2コマンド列処理要求部が前記第2コマンド列の処理を前記第1モータ制御装置に要求した場合、前記第2コマンド列に含まれる前記第4コマンドの実行を前記第2モータ制御装置に要求する
請求項2〜14のいずれか1項に記載のモータ制御システム。
【請求項16】
前記第1モータ制御装置は、さらに、電子機器を動作させる電子機器制御部を備え、
前記第1コマンド列処理要求部は、前記電子機器を動作させる電子機器制御コマンドを含む前記第1コマンド列の実行を、前記第1モータ制御装置および前記第2モータ制御装置のいずれか一方に、要求し、
前記第1コマンド実行部は、前記第1コマンド列処理要求部が前記第1コマンド列の処理を前記第1モータ制御装置に要求した場合、前記第1コマンド列に含まれる前記電子機器制御コマンドに従って、前記電子機器制御部に前記電子機器を動作させ、
前記第2コマンド実行要求部は、前記第1コマンド列処理要求部が前記第1コマンド列の処理を前記第2モータ制御装置に要求した場合、前記第1コマンド列に含まれる前記電子機器制御コマンドの実行を前記第1モータ制御装置に要求し、
前記第1コマンド実行部は、前記第2コマンド実行要求部が前記電子機器制御コマンドの実行を前記第1モータ制御装置に要求した場合、前記電子機器制御コマンドに従って、前記電子機器制御部に前記電子機器を動作させる
請求項2〜15のいずれか1項に記載のモータ制御システム。
【請求項17】
第1モータを動作させる第1ドライバを有する第1モータ制御装置と、前記第1モータとは異なる第2モータを動作させる第2ドライバを有する第2モータ制御装置と、前記第1モータを動作させる第1コマンド、および、前記第2モータを動作させる第2コマンドの両方を含むコマンド列の実行を、前記第1モータ制御装置および前記第2モータ制御装置のいずれか一方に、要求する管理装置とを備えるモータ制御システムの前記第1モータ制御装置として用いられるモータ制御装置であって、
前記管理装置が前記コマンド列の実行を前記第1モータ制御装置に要求した場合、前記コマンド列に含まれる前記第1コマンドに従って、前記第1ドライバに前記第1モータを動作させることにより、前記第1コマンドを実行するコマンド実行部と、
前記管理装置が前記コマンド列の実行を前記第1モータ制御装置に要求した場合、前記コマンド列に含まれる前記第2コマンドの実行を前記第2モータ制御装置に要求するコマンド実行要求部とを備える
モータ制御装置。
【請求項18】
第1モータを動作させる第1ドライバを有する第1モータ制御装置と、前記第1モータとは異なる第2モータを動作させる第2ドライバを有する第2モータ制御装置と、前記第1モータを動作させる第1コマンド、および、前記第2モータを動作させる第2コマンドの両方を含むコマンド列の実行を、前記第1モータ制御装置および前記第2モータ制御装置のいずれか一方に、要求する管理装置とを備えるモータ制御システムの前記第1モータ制御装置に用いられるモータ制御方法であって、
前記管理装置が前記コマンド列の実行を前記第1モータ制御装置に要求した場合、前記コマンド列に含まれる前記第1コマンドに従って、前記第1ドライバに前記第1モータを動作させることにより、前記第1コマンドを実行し、
前記管理装置が前記コマンド列の実行を前記第1モータ制御装置に要求した場合、前記コマンド列に含まれる前記第2コマンドの実行を前記第2モータ制御装置に要求する
モータ制御方法。
【請求項19】
第1モータを動作させる第1ドライバを有する第1モータ制御装置と、前記第1モータとは異なる第2モータを動作させる第2ドライバを有する第2モータ制御装置と、前記第1モータを動作させる第1コマンド、および、前記第2モータを動作させる第2コマンドの両方を含むコマンド列の実行を、前記第1モータ制御装置および前記第2モータ制御装置のいずれか一方に、要求する管理装置とを備えるモータ制御システムの前記第1モータ制御装置に実行させるためのプログラムであって、
前記管理装置が前記コマンド列の実行を前記第1モータ制御装置に要求した場合、前記コマンド列に含まれる前記第1コマンドに従って、前記第1ドライバに前記第1モータを動作させることにより、前記第1コマンドを実行し、
前記管理装置が前記コマンド列の実行を前記第1モータ制御装置に要求した場合、前記コマンド列に含まれる前記第2コマンドの実行を前記第2モータ制御装置に要求する
ことを前記第1モータ制御装置に実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8A】
image rotate

【図8B】
image rotate

【図8C】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12A】
image rotate

【図12B】
image rotate

【図12C】
image rotate

【図12D】
image rotate

【図12E】
image rotate

【図12F】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2012−130190(P2012−130190A)
【公開日】平成24年7月5日(2012.7.5)
【国際特許分類】
【出願番号】特願2010−280661(P2010−280661)
【出願日】平成22年12月16日(2010.12.16)
【出願人】(501156350)株式会社ベイビッグ (7)
【Fターム(参考)】