(57)【要約】【課題】モーションシステムの制御用途を詳細に判定できるようにするとともに、オンラインでシステム内の一部機械ユニットが交換されるようなケースでも、それに対応してアプリケーションプログラムを切り替え可能なモーションシステムを提供する。【解決手段】コントローラ１は、機器構成情報収集部１００と、機種情報収集部１０１と、制御プログラム選択部１０２と、制御プログラム取得部１０３と、機器構成情報１０４と、全機器機種情報と、判定用データベース１０６と、制御アプリケーションプログラム格納エリア１０７を有し、制御対象機器２ｉは、機種情報通知部２００ｉと、機種情報保持部２０１ｉを有し、アプリケーションサーバー４は、制御プログラム送信部４００と、各種制御アプリケーションプログラムエリア４０１を有する。【選択図】  図２
2007213275.tif 000002
【特許請求の範囲】
【請求項１】
複数の制御対象機器（２ｉ）がモーションネットワーク（５）で接続されたコントローラ（１）と、
前記モーションネットワーク（５）とは別のネットワーク（６）で前記コントローラ（１）と接続され、前記コントローラ（１）用の複数の制御アプリケーションプログラムを保持するアプリケーションサーバー（４）と、
を備えたモーションシステムにおいて、
前記コントローラ（１）は、
前記モーションネットワーク（５）を通じてトポロジーを含めた前記モーションネットワーク（５）上の機器構成情報を収集する機器構成情報収集部（１００）と、
前記各制御対象機器（２ｉ）の保持する機種を特定するための機種情報を収集する機種情報収集部（１０１）と、
前記制御アプリケーションプログラムで必要とされる機種構成を記述した判定用データベース（１０６）と、
収集した前記機器構成情報と全ての前記制御対象機器（２ｉ）の前記機種情報および前記判定用データベース（１０６）に基づいて前記制御アプリケーションプログラムを選択する制御プログラム選択部（１０２）と、
選択された前記制御アプリケーションプログラムを前記アプリケーションサーバー（４）に要求し取得する制御プログラム取得部（１０３）と、を有するものであり、
前記制御対象機器（２ｉ）は、
自機器の前記機種情報を保持する機種情報保持部（２０１ｉ）と、
前記機種情報収集部（１０１）からの要求に応じて自機器の前記機種情報を通知する機種情報通知部（２００ｉ）を有するものであり、
前記アプリケーションサーバー（４）は、
前記制御プログラム取得部（１０３）からの要求に応じて要求された前記制御アプリケーションプログラムを送信する制御プログラム送信部（４００）を有するものであることを特徴とするモーションシステム。
【請求項２】
前記コントローラ（１）は、
モーションシステム起動時に、
先ず、前記機器構成情報収集部（１００）で前記機器構成情報を収集し、
次に、機種情報収集部（１０１）で前記モーションネットワーク（５）に接続される全ての前記制御対象機器（２ｉ）の前記機種情報を収集し、
次に、制御プログラム選択部（１０２）でこれら収集した各情報と前記判定用データベース（１０６）とを比較することにより前記制御用アプリケーションプログラムを特定し、
次に、制御プログラム取得部（１０３）で前記アプリケーションサーバー（４）から前記制御アプリケーションプログラムを取得し、
前記制御アプリケーションプログラムを実行する、というシーケンスを有することを特徴とする請求項１記載のモーションシステム。
【請求項３】
前記コントローラ（１）の保持する前記判定用データベース（１０６）は、
前記モーションネットワーク（５）に接続された全制御対象機器数と、機種別機器数と、ネットワークトポロジーパタンと対応する制御アプリケーションプログラム名データと、を含むレコードからなることを特徴とする請求項１記載のモーションシステム。
【請求項４】
前記コントローラ（１）は、
前記モーションネットワーク（５）に接続された一部の前記制御対象機器が取り除かれたり、新たな前記制御対象機器が接続されたりして機器構成が変更された場合にこの事象を検出する機器構成変更検出部（１１０）を有し、
前記事象発生時には、前記制御アプリケーションプログラムの実行を停止後、前記モーションシステム起動時と同様のシーケンスを実行し、新たな制御アプリケーションプログラムを特定し、前記アプリケーションサーバー（４）から前記新たなアプリケーションプログラムを取得することを特徴とする請求項２記載のモーションシステム。
【請求項５】
前記制御対象機器（２ｉ）は、機能毎にユニット化され、
該ユニット内に複数の前記制御対象機器が前記モーションネットワーク（５）用の配線で接続されてまとめられており、
前記制御対象機器（２ｉ）内に保持される前記機種情報には、どのユニットに含まれる機器であるかを識別するコードであるユニットＩＤが含まれていることを特徴とする請求項１記載のモーションシステム。
【請求項６】
前記モーションネットワーク（５）は、ＩＥＥＥ１３９４であり、
前記機器構成情報は、ＩＥＥＥ１３９４規定のトポロジーマップであることを特徴とする請求項１または２記載のモーションシステム。
【請求項７】
前記機器構成変更検出部（１１０）は、ＩＥＥＥ１３９４で定義されているバスリセット信号に基づいて機器構成の変更を検出するものであることを特徴とする請求項４記載のモーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の制御対象機器、コントローラ、アプリケーションサーバー、モーションネットワークを備えたモーションシステムに関し、特に、コントローラアプリケーションプログラムの自動構築を可能とするモーションシステムに関する。
【背景技術】
【０００２】
従来のモーションシステムでは、適用すべき機械システム向けに組み付けられ、その機械を最適に制御できるようにプログラムされたアプリケーションプログラムが、ユーザの指示にてコントローラに書き込まれ実行されるようになっている。この場合アプリケーションプログラムは、産業用ロボットシステムのように、ロボットを制御するための基本的なプログラムがロボット装置ベンダーにてあらかじめ書き込まれ、さらにそのロボットをどのように動かすかというさらに上位のプログラムがロボットシステムのユーザによって組まれて書き込まれるというように、アプリケーションプログラム自体が階層化していることもある。しかし、いずれの場合も人の判断によって書き込まれるプログラムが指示・選択されている。
一方、アプリケーションプログラムが定型化されており、その中から選択すれば済むような場合には、制御機器の構成から、どのアプリケーションプログラムを書き込めばよいか、コントローラ自身で選択してインストールすることにより、アプリケーションプログラムの書き込みを自動化しているものもある（例えば、特許文献１参照）。
【０００３】
図１４は、従来技術を示すアプリケーションプログラムを自動的にインストールするモーションシステムの機能ブロック図である。
図１４において、８０１はコントローラ、８０３は機器判定部、８０４はドライバインストーラ、８０５はドライバ、８０６はアプリケーション判定部、８０７はアプリケーションインストーラ、８０８はアプリケーション、８０９はコントローラ８０１の基本プログラム、８１０は計算機内アプリケーション記憶部、８１１は計算機、８２１、８２２は制御機器、８３０はネットワーク、８６１は機器構成と対応表の比較部、８６２はアプリケーション判定用の機器構成との対応表、８６３は機器記録部である。
以下、図１４を用いて、従来技術によるアプリケーションプログラムを自動的にインストールするモーションシステムの構成および動作について説明する。
コントローラ８０１は、ネットワーク８３０を介して上位の計算機８１１に接続されている。コントローラ８０１内のコントローラソフトウェア内には、機器判定部８０３、アプリケーション判定部８０６がある。
まず、コントローラ８０１が起動されるとこの機器判定部８０３が実行され、配下の制御機器８２１、８２２をサーチして情報を収集する。アプリケーション判定部８０６は、機器判定部８０３で判定された制御機器８２１、８２２の種類、個数に基づいてインストールすべきアプリケーションを判定する。尚、図１４では機器構成を比較するための対応表８６２を上位計算機８１１側においているが、コントローラ８０１側にあってもかまわない。
次に、アプリケーション判定部８０６で判定されたアプリケーションは、計算機８１１からコントローラ８０１にネットワーク８３０経由で送信され、アプリケーションインストーラ８０７によってインストールされる。
【０００４】
このように従来のモーションシステムは、ユーザが接続した制御機器に応じたアプリケーションの選択とインストール工程を意識することなく、コントローラにアプリケーションをインストールするものである。
【特許文献１】特開２００２−１８２９１９号公報（第９頁、第.１０図）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、制御機器の種類とその数によってのみアプリケーションプログラムを判断するので、同じ組み合わせでも別のアプリケーションプログラムが組まれている場合には正しい選択・判断ができずコントローラにアプリケーションプログラムをインストールすることができないといった問題があった。
また、従来技術ではアプリケーションプログラムの選択・インストールはシステム起動時に限定され、例えば途中で機械の一部ユニットを交換しつつ作業を継続するような場合、例えば指状のマニュピュレータ部分をねじ締め用工具に取り替える場合などでは一旦装置の電源を切って人手で交換した後、再立ち上げが必要であった。
【０００６】
本発明はこのような問題点に鑑みてなされたものであり、モーションシステムの制御用途を詳細に判定できるようにするとともに、オンラインでシステム内の一部機械ユニットが交換されるようなケースでも、それに対応してアプリケーションプログラムを切り替え可能なモーションシステムを提供することを目的とする。  
【課題を解決するための手段】
【０００７】
上記問題を解決するため、請求項１に記載の発明は、複数の制御対象機器がモーションネットワークで接続されたコントローラと、前記モーションネットワークとは別のネットワークで前記コントローラと接続され、前記コントローラ用の複数の制御アプリケーションプログラムを保持するアプリケーションサーバーと、を備えたモーションシステムにおいて、前記コントローラは、前記モーションネットワークを通じてトポロジーを含めた前記モーションネットワーク上の機器構成情報を収集する機器構成情報収集部と、前記各制御対象機器の保持する機種を特定するための機種情報を収集する機種情報収集部と、前記制御アプリケーションプログラムで必要とされる機種構成を記述した判定用データベースと、収集した前記機器構成情報と全ての前記制御対象機器の前記機種情報および前記判定用データベースに基づいて前記制御アプリケーションプログラムを選択する制御プログラム選択部と、選択された前記制御アプリケーションプログラムを前記アプリケーションサーバーに要求し取得する制御プログラム取得部と、を有するものであり、前記制御対象機器は、自機器の前記機種情報を保持する機種情報保持部と、前記機種情報収集部からの要求に応じて自機器の前記機種情報を通知する機種情報通知部を有するものであり、前記アプリケーションサーバーは、前記制御プログラム取得部からの要求に応じて要求された前記制御アプリケーションプログラムを送信する制御プログラム送信部を有するものであることを特徴とするものである。
【０００８】
また、請求項２に記載の発明は、請求項１に記載のモーションシステムにおいて、前記コントローラは、モーションシステム起動時に、先ず、前記機器構成情報収集部で前記機器構成情報を収集し、次に、機種情報収集部で前記モーションネットワークに接続される全ての前記制御対象機器の前記機種情報を収集し、次に、制御プログラム選択部でこれら収集した各情報と前記判定用データベースとを比較することにより前記制御用アプリケーションプログラムを特定し、次に、制御プログラム取得部で前記アプリケーションサーバーから前記制御アプリケーションプログラムを取得し、前記制御アプリケーションプログラムを実行する、というシーケンスを有することを特徴とするものである。
【０００９】
また、請求項３に記載の発明は、請求項１に記載のモーションシステムにおいて、前記コントローラの保持する前記判定用データベースは、前記モーションネットワークに接続された全ての制御対象機器数と、機種別機器数と、ネットワークトポロジーパタンと対応する制御アプリケーションプログラム名データと、を含むレコードからなることを特徴とするものである。
【００１０】
また、請求項４に記載の発明は、請求項２に記載のモーションシステムにおいて、前記コントローラは、前記モーションネットワークに接続された一部の前記制御対象機器が取り除かれたり、新たな前記制御対象機器が接続されたりして機器構成が変更された場合にこの事象を検出する機器構成変更検出部を有し、前記事象発生時には、前記制御アプリケーションプログラムの実行を停止後、前記モーションシステム起動時と同様のシーケンスを実行し、新たな制御アプリケーションプログラムを特定し、前記アプリケーションサーバーから前記新たなアプリケーションプログラムを取得することを特徴とするものである。
【００１１】
また、請求項５に記載の発明は、請求項１に記載のモーションシステムにおいて、前記制御対象機器は、機能毎にユニット化され、該ユニット内に複数の前記制御対象機器が前記モーションネットワーク用の配線で接続されてまとめられており、前記制御対象機器内に保持される前記機種情報には、どのユニットに含まれる機器であるかを識別するコードであるユニットＩＤが含まれていることを特徴とするものである。
【００１２】
また、請求項６に記載の発明は、請求項１または２に記載のモーションシステムにおいて、前記モーションネットワークは、ＩＥＥＥ１３９４であり、前記機器構成情報は、ＩＥＥＥ１３９４規定のトポロジーマップであることを特徴とするものである。
【００１３】
また、請求項７に記載の発明は、請求項４に記載のモーションシステムにおいて、前記機器構成変更検出部は、ＩＥＥＥ１３９４で定義されているバスリセット信号に基づいて機器構成の変更を検出するものであることを特徴とするものである。
【発明の効果】
【００１４】
請求項１、２、３に記載の発明によると、モーションネットワーク中の制御対象機器の機種とその個数だけでなく、機器構成情報収集部によって収集されたネットワークトポロジーを含めた機器構成情報と、判定用データベース中の制御アプリケーションプログラムで必要とされているネットワークトポロジーとを照合することができるため、システムを構成する制御対象機器の機種と個数が他のアプリケーションプログラムと同一の構成であっても、制御アプリケーションプログラムが同一であるかどうか特定でき、モーションシステムの制御用途を詳細に判定できる。
【００１５】
また、請求項４に記載の発明によると、オンラインでシステムの一部機械ユニットが交換されるようなケースでは、コントローラ内部の機器構成変更検出部がこれを検出し、いったんアプリケーションプログラムの実行を停止後、再度あらたな制御対象機器構成に対応した制御アプリケーションプログラムを取得することができるため、オンラインでシステム内の一部機械ユニットが交換されるようなケースでも、それに対応してアプリケーションプログラムを切り替え、動作を継続させることができる。
【００１６】
また、請求項５に記載の発明によると、モーションシステム内の機械がユニット化されている場合に、コントローラの制御プログラム選択部にて機器構成、機種構成の判断を行う際に、各機器のユニットＩＤを読み出すことによって、システムを構成する制御対象機器の機種と個数が他のアプリケーションプログラムと同一構成の判定とネットワークトポロジーの判定に加え、ユニット構成が同一であるかを判定することができるようになるため、制御アプリケーションプログラムの特定が、一層詳細に判定できる。
【００１７】
また、請求項６に記載の発明によると、モーションネットワークとしてＩＥＥＥ１３９４を適用するので、機器構成情報収集部としてトポロジーマップの収集機能を利用でき、請求項１または２に記載の発明の効果を容易に実現することができる。
【００１８】
また、請求項７に記載の発明によると、制御対象機器が、ユニット単位で交換された場合、交換されたことをバスリセット信号によって検出し、新たなユニットに対応した制御アプリケーションプログラムに切替える手順をとるので、オンラインでのユニット単位での自動交換がなされた場合でも、制御用アプリケーションプログラムを対応して切替えることができるようになる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の具体的実施例について、図を参照して説明する。
【実施例１】
【００２０】
図１は、本発明を適用するモーションシステムの構成図である。
図１において、１はコントローラ、２ｉ（ｉ＝１、２、・・・）は制御対象機器、４はアプリケーションサーバー、５はコントローラと制御対象機器を接続するモーションネットワーク、６は例えばイーサネット（Ｅｔｈｅｒｎｅｔ登録商標）などの上位ネットワークである。図１では制御対象機器２ｉ（ｉ＝１、２、・・・）は、２ａｍ  サーボドライブ（ｍ＝１、２、・・・）、と２ｂｎ  Ｉ／Ｏ（ｎ＝１、２、・・・）から成るものとして例示している。
また、図２は、本発明の第1実施例を示すモーションシステムの各内部機能ブロック図であり、図１におけるコントローラ１、制御対象機器２ｉ（サーボドライブ２ａｍ、Ｉ／Ｏ２ｂｎから成る）、アプリケーションサーバー４の各内部機能ブロック図を示している。
図２において、１００は機器構成情報収集部、１０１は機種情報収集部、１０２は制御プログラム選択部、１０３は制御プログラム取得部、１０４は機器構成情報、１０５は全機器機種情報、１０６は判定用データベース、１０７はコントローラ１にインストールされた制御アプリケーションプログラム格納エリアであり、これらはコントローラ１内にあるものとする。
また、２００ｉは機種情報通知部、２０１ｉは機種情報保持部であり、これらは制御対象機器２ｉ内にあるものとする。
また、４００は制御プログラム送信部、４０１は複数の制御アプリケーションプログラムの実体のファイルを格納している各種制御アプリケーションプログラムエリアであり、これらはアプリケーションサーバー４内にあるものとする。
本発明の特徴とする点は以下のとおりである。
すなわち、コントローラ１は、モーションネットワーク５とは別のネットワーク、例えばイーサネット（登録商標）６でアプリケーションサーバー４と接続され、モーションネットワーク５を通じてトポロジーを含めたモーションネットワーク５上の機器構成情報を収集する機器構成情報収集部１００と、各制御対象機器２ｉの保持する機種を特定する機種情報を収集する機種情報収集部１０１と、制御アプリケーションプログラムで必要とされる機種構成を記述した判定用データベース１０６と、収集した機器構成情報と全ての制御対象機器２ｉの機種情報および判定用データベース１０６に基づいて制御アプリケーションプログラムを選択する制御プログラム選択部１０２と、選択された制御アプリケーションプログラムをアプリケーションサーバー４に要求し取得する制御プログラム取得部１０３と、を有するものであり、制御対象機器２ｉは、自機器の機種情報を保持する機種情報保持部２０１ｉと、コントローラ１の機種情報収集部１０１からの要求に応じて自機種情報を通知する機種情報通知部２００ｉを有するものであり、アプリケーションサーバー４は、コントローラ１用の複数の制御アプリケーションプログラムを保持し、コントローラ１の制御プログラム取得部１０３からの要求に応じて制御アプリケーションプログラムを送信する制御プログラム送信部４００を有するものであるとしている点である。
【００２１】
なお、図２では、コントローラ１内の制御プログラム取得部１０３とアプリケーションサーバー４内の制御プログラム送信部４００は、例えばイーサネット(登録商標)などの上位ネットワーク６で接続されており、実際にはＦＴＰなどＴＣＰ/ＩＰベースのファイル転送プロトコルによって制御アプリケーションファイルの読み出しなどで実現可能であるが、本実施例中では制御プログラム要求６００とそれに対する制御プログラム応答６０１として説明している。
また、コントローラ１内の機種情報収集部１０１と制御対象機器２ｉ内の機種情報通知部２００ｉとはモーションネットワーク５（本実施例ではＩＥＥＥ１３９４を前提として説明している）で接続されており、実際にはＩＥＥＥ１３９４のＡｓｙｎｃｈｒｏｎｏｕｓ通信で提供されているＣＳＲレジスタＲｅａｄサービスなどで容易に実現可能であるが、本実施例中では機種情報要求５００ｉとそれに対する機種情報応答５０１ｉのやりとりとして説明している。
なお、図２の中で本来コントローラとして機能するための機能ブロックや通信処理を実行するための機能ブロックは当然備わっているものであるが、本発明の説明には直接関係しないため図示していない。
【００２２】
図３、４は、本発明における機器構成情報１０４のデータ構造例の説明図である。
また、図５は、本発明における全機器機種情報１０５のデータ構想例の説明図である。
また、図６は、本発明における判定用データベース１０６のデータ構成例の説明図である。
また、図７〜１０は、本発明の第１実施例を示すモーションシステムにおけるフローチャートであり、図７は本発明におけるコントローラ初期化処理手順、図８は本発明における機器構成情報収集部の処理手順、図９は本発明におけるノード＃２ｉ機種情報収集部の処理手順、図１０は本発明における制御プログラム選択部の処理手順、図１１は本発明における制御アプリケーションプログラムを取得する処理手順を示すフローチャートである。
以下、図３〜１１を用いて本発明のモーションシステムにおける処理動作を順を追って説明する。
はじめに、ステップＳＴ１０００で機器構成情報収集部１００が実行される。
機器構成情報収集部１００は起動されるとステップＳＴ１１００でＩＥＥＥ１３９４通信機能により標準的に備わっているトポロジーマップの読み出し、ノード数の読み出しを行う。このトポロジーマップ構成は図４に概略のデータ構造を示しているが、詳細はＩＥＥＥＳｔｄ．１３９４−１９９５Ｅ．３．４章（ｐ．３０９）に記載されている。次に、ステップＳＴ１１０１でコントローラ１内部の機器構成情報１０４を更新する。この機器構成情報１０４のデータ構造はＩＥＥＥ１３９４のトポロジーマップと等価な内容であるが、ここではソフトウェアによる情報処理が容易なポインターチェインによるｔｒｅｅ構造に変換して格納するものとする。
こうして機器構成情報収集部１００が終了するとステップＳＴ１０００で取得したノード数に基づき、ステップＳＴ１００２をノード数分ループ実行する。ステップＳＴ１００２ではノード＃２ｉに対し機種情報収集部１０１を実行して機種情報２０１ｉの読み出しを実行する。
機種情報収集部１０１では、まずステップＳＴ１２００にてノード＃２ｉに機種情報要求５００ｉを送信する。これを受信したノード＃２ｉの機種情報通知部２００ｉは機種情報２０１ｉのデータを読み出して機種情報応答５０１ｉ電文を編集し、機種情報収集部１０１に該応答を返信する。機種情報収集部１０１ではステップＳＴ１２０１でこの機種情報応答５０１ｉ受信を待ち、受信したらステップＳＴ１２０２にてコントローラ１内部の全機器機種情報１０５の対応するノード＃２ｉ行のデータを更新する。このデータ構造は図５（ａ）に示してあり、例えばノードＩＤ＃０の制御対象機器の場合、読み出した機種情報中に、機種をグルーピングしている機種コード（この例の場合、Ｉ／Ｏ＝１）、と型式コード（ａａａ−０００１）を格納するとともに、図５（ｂ）の表データとなっている機種コード別のカウンタ値（この場合機種コード１に治するカウンタ値）を１インクリメントする。
こうして全ノードの機種情報収集部１０１処理が終了すると、次にステップＳＴ１００３で制御プログラム選択部１０２を起動する。制御プログラム選択部１０２では、まずステップＳＴ１４００〜ＳＴ１４０２のループの中で判定用データベース１０６のレコードをｊ＝０〜最終レコードまで順に取り出して、ステップＳＴ１０００、ＳＴ１００２で収集した機器構成情報１０４、全機器機種情報１０５の内容との一致判定を行う。一致判定は、ステップＳＴ１４０１にてまず総ノード数が一致するか判定し、一致した場合ステップＳＴ１４０４〜ＳＴ１４０６にて機種コード毎のノード数が全て一致するかを判定し、さらに一致した場合にはステップＳＴ１４０７にてトポロジーパタンが機器構成情報１０４のｔｒｅｅ構造と一致するかを判定する。こうしてステップＳＴ１４０７で一致の判定であれば、そのレコードｊに記されているアプリケーションファイル名（例えばａｐｐ＿１．２．３ｔａｒ．ｚなど）を戻り値として制御プログラム選択部１０２を終了する。一方、全てのレコードｊをチェックしても一致すると判定できなかった場合には、実際の機器構成に相当する制御アプリケーションプログラムが用意されていないことになるので、しかるべきエラー処理、すなわちステップＳＴ１４０３における全レコード不一致処理が実施されて制御プログラム選択部１０２は異常終了する。ここで判定用データベースのレコード構成については図６に例示している。
こうして正常に制御アプリケーションプログラム名を判定用データベース１０６から取得できた場合には、ステップＳＴ１００４で制御プログラム取得部１０３が起動される。
制御プログラム取得部１０３ではステップＳＴ１５００にて、まずアプリケーションサーバー４に対し制御プログラム要求６００を送信し、ステップＳＴ１００３で取得した制御アプリケーションプログラム名に相当するファイルを要求する。これを受信したアプリケーションサーバー４内の制御プログラム送信部４００では、各種制御アプリケーションプログラム４０１の中から指定された制御アプリケーションプログラム名に相当するファイルデータを読み出し、制御プログラム応答６０１として返信する。実際にはプログラムファイルは大きなデータ量となり、１回の通信パケットでは転送できないケースも考えられるが、このようなデータパケットの分割・組み立ての仕組みなどは上位ネットワーク内の標準的な通信機能、例えば、ＴＣＰ/ＩＰ、ＦＴＰなどのプロトコルにて実現可能であるため本実施例では、詳細説明は省略する。制御プログラム取得部１０３ではこの制御プログラム応答６０１の受信をステップＳＴ１５０１にて待ち、受信した場合にはステップＳＴ１５０２にてコントローラ１内部の制御アプリケーションプログラム格納エリア１０７に格納する。
【００２３】
なお、本実施例では判定用データベース１０６をコントローラ１内にあるものとして説明したが、データベース自体は制御アプリケーションサーバー４やその他のサーバー機器から必要に応じてロードするものとしてもよい。
【００２４】
このように、本実施例に係るモーションシステムは、機種別のノード数を照合するだけでなく、ネットワーク中のトポロジーパタンを比較するので、より詳細に制御アプリケーションプログラムの選択判定を行わせることができるのである。
【実施例２】
【００２５】
図１２は、本発明の第２実施例を示すモーションシステムの構成図である。
図１２において、１１０は機器構成変更検出部である、尚、図１、２と同じ説明符号のものは図１、２と同じ構成要素を示しているものとし、その説明は省略する。
本実施例が第1実施例と異なる点は、本実施例は制御対象機器が複数のユニットにまとめられている点と、コントローラ１内に機器構成変更検出部１１０が追加されている点である。
さらに図示していないが、制御対象機器であるサーボ（２ａＡｍ、２ａＢｍ、・・・）やＩ／Ｏ（２ｂＡｎ、２ｂＢｎ、・・・）内の機種情報中には機種コードや型式コードの他に、どのユニットに属すかを示すユニットＩＤが含まれている。機器構成変更検出部１１０は、モーションネットワーク５がＩＥＥＥ１３９４ベースの場合には、ＩＥＥＥ１３９４通信部からのバスリセット信号処理として実現することができる。
【００２６】
図１３は、本発明の第２実施例を示すモーションシステムにおける動作のフローチャートである。
図１２ではモーションシステム内にはユニットＡ、ユニットＢ、ユニットＣの３種類のユニットがモーションネットワークを介してコントローラと接続されている。ここでマニュピュレート用ユニットＣを交換し、別の工具のついたユニットＤにオンライン作業中に取替えを行う場合について、図１２および図１３のフローチャートを使って説明する。
図１２においてユニットＣをオンライン中にモーションネットワーク５から切り離したり別のユニットＤに接続を切替えた場合には、ＩＥＥＥ１３９４のバスリセット信号がネットワーク上の各ノードで発生する。このバスリセット信号を割込みとして受信したコントローラ１内のバスリセット割込みハンドラ、すなわち機器構成変更検出部１１０は、まず実行中の処理が残っていれば安全サイドで実行停止処理、すなわち通常の通信異常時の処理を行い、次に第1実施例で述べたコントローラ初期化処理を起動する。これら処理は既に第1実施例において図７〜１０のフローチャートに沿って詳述された通りであり、最終的には、あらたな機器構成に対応した制御アプリケーションプログラムを取得して、実行を再開さえることができる。この際、本実施例では各制御対象機器２ｉのそれぞれが持つ機種情報２０１ｉに、ユニットＩＤ（Ａ、Ｂ、Ｃ、Ｄ・・・）を含むので、判定用データベース１０６でも、機種コードとその個数、トポロジーパタンに加えて、ユニットＩＤの構成に関する情報が付加され、ユニット構成に応じた制御アプリケーションプログラムの対応付けができるように拡張されている。
【００２７】
このように、本実施例に係るモーションシステムは、制御対象機器２ｉが、ユニット単位で交換された場合、交換されたことをバスリセット信号によって検出し、新たなユニットに対応した制御アプリケーションプログラムに切替える手順をとるので、オンラインでのユニット単位での自動交換がなされた場合でも、制御用アプリケーションプログラムを対応して切替えることができるようになる。またその際機種情報にユニットＩＤを含んでいるため、より詳細に制御アプリケーションプログラムの選択判定を行わせることができ、ユニットに応じた適切な制御アプリケーションを選択することができる。
【産業上の利用可能性】
【００２８】
本発明は、モーションコントローラの制御ソフトウェアを自動で更新することが要求されるマニュピュレート装置などに適用して好適である。
【図面の簡単な説明】
【００２９】
【図１】本発明を適用するモーションシステムの構成図
【図２】本発明の第1実施例を示すモーションシステムの各内部機能ブロック図
【図３】本発明における機器構成情報１０４のデータ構造例の説明図
【図４】本発明における機器構成情報１０４のデータ構造例（ＩＥＥＥ１３９４トポロジーマップ）の説明図
【図５】本発明における全機器機種情報１０５のデータ構想例の説明図
【図６】本発明における判定用データベース１０６のデータ構成例の説明図
【図７】本発明におけるコントローラ初期化処理手順のフローチャート
【図８】本発明における機器構成情報収集部の処理手順を示すフローチャート
【図９】本発明におけるノード＃２ｉ機種情報収集部の処理手順を示すフローチャート
【図１０】本発明における制御プログラム選択部の処理手順を示すフローチャート
【図１１】本発明における制御アプリケーションプログラムを取得する処理手順を示すフローチャート
【図１２】本発明の第２実施例を示すモーションシステムの構成図
【図１３】本発明の第２実施例を示すモーションシステムにおける動作のフローチャート
【図１４】従来技術を示すアプリケーションプログラムを自動的にインストールするモーションシステムの機能ブロック図
【符号の説明】
【００３０】
１  コントローラ
２ｉ（ｉ＝１、２・・・）  制御対象機器
２ａｍ（ｍ＝１、２、・・・）  制御対象機器の一例：サーボドライブ
２ｂｎ（ｎ＝１、２、・・・）制御対象機器の一例：Ｉ／Ｏ
４  制御アプリケーションサーバー
５  モーションネットワーク（ＩＥＥＥ１３９４）
６  上位ネットワーク
１００  機器構成情報収集部
１０１  機種情報収集部
１０２  制御プログラム選択部
１０３  制御プログラム取得部
１０４  機器構成情報
１０５  全機器機種情報
１０６  判定用データベース
１０７  制御アプリケーションプログラム格納エリア
１１０  機器構成変更検出部
２００ｉ（ｉ＝１、２、・・・）  機種情報通知部
２０１ｉ（ｉ＝１、２、・・・）  機種情報保持部
４００  制御プログラム送信部
４０１  各種制御アプリケーションプログラムファイル格納エリア
５００ｉ（ｉ＝１、２、・・・）  機器情報要求
５０１ｉ（ｉ＝１、２、・・・）  機器情報応答
６００  制御プログラム要求
６０１  制御プログラム応答
８０１  コントローラ
８０３  機器判定部
８０４  ドライバインストーラ
８０５  ドライバ
８０６  アプリケーション判定部
８０７  アプリケーションインストーラ
８０８  アプリケーションプログラム
８０９  コントローラの基本ソフトウェア
８１０  アプリケーション記憶部
８１１  計算機
８２１、８２２  制御機器
８３０  ネットワーク
８６１  機器構成と対応表の比較部
８６２  アプリケーション判定用の機器構成との対応表
８６３  機器構成の記録部
【図１】
2007213275.tif 000003
【図２】
2007213275.tif 000004
【図３】
2007213275.tif 000005
【図４】
2007213275.tif 000006
【図５】
2007213275.tif 000007
【図６】
2007213275.tif 000008
【図７】
2007213275.tif 000009
【図８】
2007213275.tif 000010
【図９】
2007213275.tif 000011
【図１０】
2007213275.tif 000012
【図１１】
2007213275.tif 000013
【図１２】
2007213275.tif 000014
【図１３】
2007213275.tif 000015
【図１４】
2007213275.tif 000016