(57)【要約】【課題】  モーションコントローラがサーボドライブのファームウェアを格納するためのメモリが小容量で、また、ネットワークのトラフィックの効率が良く、各サーボドライブのファームウェアを更新することができるモーションコントロールシステムおよびファームウェア更新方法を提供する。【解決手段】  モーションコントローラ１に、サーボドライブ４の少なくとも１台分のファームウェアを格納するファームウェア格納メモリ１４と、ファームウェア取得処理部１６と、サーボドライブ４に送信するファームウェアサーボ送信部１８と、ホスト計算機２にファームウェアの取得を要求し、取得したファームウェアをサーボドライブ４に転送するステップを繰り返し実行するファームウェア取得送信管理部１７を備える。【選択図】図１
2006350884.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１台のサーボドライブとサーボネットワークで接続され、前記サーボドライブが制御する軸の軸番号、前記サーボドライブの機種名、ファームウェアバージョンからなる軸情報リストを有するモーションコントローラと、
該モーションコントローラとネットワークで接続され、種々の前記サーボドライブのファームウェアを記憶するファームウェア格納部を有するホスト計算機で構成されるサーボドライブのファームウェア更新システムにおいて、
前記ホスト計算機に、前記軸情報リストを前記モーションコントローラから取得し、前記ファームウェア格納部の内容と前記軸情報リストからファームウェアを更新すべき前記サーボドライブを選択し、選択した情報をファームウェア更新要求として前記モーションコントローラに送信するファームウェア更新要求部と、
前記モーションコントローラからのファームウェア取得要求を受け、要求のあった前記サーボドライブのファームウェアを前記ファームウェア格納部から抽出し、前記モーションコントローラに送信するファームウェア抽出部を備え、
前記モーションコントローラに、前記サーボドライブの少なくとも１台分のファームウェアを格納するファームウェア格納メモリと、
前記ホスト計算機からのファームウェア更新要求を受け、更新に必要な前記サーボドライブのファームウェアを取得するファームウェア取得要求を前記ホスト計算機に送信し、取得したファームウェアを前記ファームウェア格納メモリに格納するファームウェア取得処理部と、
前記ファームウェア格納メモリの内容を前記サーボドライブに送信するファームウェアサーボ送信部と、
更新すべき全ての前記サーボドライブについて、前記モーションコントローラが前記ホスト計算機に前記サーボドライブのファームウェアの取得を要求し、取得したファームウェアを前記ファームウェア格納メモリに格納し、該ファームウェア格納メモリの内容を前記サーボドライブに送信するステップを繰り返し実行するファームウェア取得送信管理部を備えることを特徴とするファームウェア更新システム。
【請求項２】
前記ファームウェア取得送信管理部は、取得しようとするファームウェアの機種名とファームウェアバージョンが前記ファームウェア格納メモリに既に格納されているファームウェアの機種名とファームウェアバージョンと一致する場合、前記ホスト計算機へのファームウェア取得要求をスキップすることを特徴とする請求項１記載のファームウェア更新システム。
【請求項３】
前記ファームウェア取得送信管理部は、取得すべき前記サーボドライブのファームウェアが機種の異なる複数のファームウェアである場合、前記ホスト計算機からのファームウェア更新要求で示されるファームウェアの容量と前記ファームウェア格納メモリの容量から一度に格納可能なファームウェアの数を判定し、格納可能な数のファームウェアを前記ホスト計算機から取得することを特徴とする請求項１記載のファームウェア更新システム。
【請求項４】
少なくとも１台のサーボドライブとサーボネットワークで接続され、前記サーボドライブが制御する軸の軸番号、前記サーボドライブの機種名、ファームウェアバージョンからなる軸情報リストを有するモーションコントローラと、
該モーションコントローラとネットワークで接続され、種々の前記サーボドライブのファームウェアを記憶するファームウェア格納部を有するホスト計算機で構成されるファームウェア更新システムのファームウェア更新方法において、
前記ホスト計算機が、前記軸情報リストを前記モーションコントローラから取得し、
前記ファームウェア格納部の内容と前記軸情報リストからファームウェアを更新すべき前記サーボドライブを選択し、
選択した情報をファームウェア更新要求として前記モーションコントローラに送信し、
前記モーションコントローラは、前記サーボドライブの少なくとも１台分のファームウェアを格納するファームウェア格納メモリを備え、
前記ホスト計算機からのファームウェア更新要求を受け、更新に必要な前記サーボドライブのファームウェアを取得するファームウェア取得要求を前記ホスト計算機に送信し、
前記ホスト計算機は、要求のあった前記サーボドライブのファームウェアを前記ファームウェア格納部から抽出し、前記モーションコントローラに送信し、
前記モーションコントローラは、取得したファームウェアを前記ファームウェア格納メモリに格納し、
前記ファームウェア格納メモリの内容を前記サーボドライブに送信し、
更新すべき全ての前記サーボドライブについて、前記モーションコントローラが前記ホスト計算機に前記サーボドライブのファームウェアの取得を要求し、取得したファームウェアを前記ファームウェア格納メモリに格納し、該ファームウェア格納メモリの内容を前記サーボドライブに送信するステップを繰り返し実行するという手順で処理することを特徴とするファームウェア更新方法。
【請求項５】
前記モーションコントローラは、取得しようとするファームウェアの機種名とファームウェアバージョンが前記ファームウェア格納メモリに既に格納されているファームウェアの機種名とファームウェアバージョンと一致する場合、前記ホスト計算機へのファームウェア取得要求をスキップすることを特徴とする請求項４記載のファームウェア更新方法。
【請求項６】
前記モーションコントローラは、取得すべき前記サーボドライブのファームウェアが機種の異なる複数のファームウェアである場合、前記ホスト計算機からのファームウェア更新要求で示されるファームウェアの容量と前記ファームウェア格納メモリの容量から一度に格納可能なファームウェアの数を判定し、格納可能な数のファームウェアを前記ホスト計算機から取得することを特徴とする請求項４記載のファームウェア更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モーションコントローラとサーボドライブをサーボネットワークで接続するモーションコントロールシステムにおいて、モーションコントローラを介して、ホスト計算機からインターネットまたはイントラネットのネットワークを経由してサーボドライブのファームウェアを更新する、ファームウェア更新システムおよびファームウェア更新方法に関する。  
【背景技術】
【０００２】
サーボドライブのファームウェアを更新する方法としては、サーボネットワークのインターフェースモジュールを搭載したパソコンをサーボネットワークに接続し、パソコンに格納されたサーボドライブのファームウェアを、サーボネットワークを介して各サーボドライブに書き込む方法がある。しかし、この方法では、ファームウェアの更新が必要になったときに、作業者は、複数のサーボドライブとそれを制御するモーションコントローラによって構成されるモーションコントロールシステムの設置場所に行き、パソコンを接続して作業をおこなう必要があり、特に複数のモーションコントロールシステムに対して作業を行う場合は作業効率が悪い。
【０００３】
一方、モーションコントロールシステムを構成するモーションコントローラは、インターネットやイントラネットに接続可能なイーサネット(登録商標)などの通信インターフェースを備えることが一般的になっており、このインターフェースを介してネットワーク経由でサーボドライブのファームウェアを更新すれば、ファームウェア更新の作業効率は良くなる。このように、ネットワークに接続可能なモーションコントローラを介してサーボドライブのファームウェアを更新する従来の方法として、特許文献１のような例がある。特許文献１では、モーションコントローラに相当する制御ユニットに接続された各サーボドライブに書き込む全てのファームウェアをまとめたデータを、ホスト計算機からネットワーク経由で制御ユニットに送信し、制御ユニットが内部に搭載したメモリにデータを格納し、制御ユニット内のプログラムによって、各サーボドライブにファームウェアを送信して書き込みを行う。
このように、従来のファームウェアの更新では、更新しようとする複数のサーボドライブのファームウェアの全てをホスト計算機のメモリに格納し、ホスト計算機から制御ユニットへ送信し、制御ユニット内のメモリへ格納している。
【特許文献１】特許第２８６２０５１号公報（請求項３、図１２）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来の技術では、ホスト計算機が制御ユニットにサーボドライブのファームウェアを送信するためのデータは、装置を構成する各サーボドライブの台数分の複数のファームウェアを含んだデータになっている。このようなデータが利用可能であるのは、対象とする装置が数値制御装置などで、制御ユニットに接続されるサーボドライブの数が装置毎にほぼ固定であり、多くとも６台程度なので、サーボドライブのファームウェアのデータを受信するために制御ユニットが備えるべきメモリの容量を予め見積もることができるからである。しかしながら、汎用のモーションコントローラとサーボドライブで構成されるモーションコントロールシステムにおいては、接続されるサーボドライブの数は不定であり、ときには数十台のサーボドライブが接続される可能性がある。このため、接続可能な最大数のサーボドライブのファームウェアをまとめて格納できるメモリは、大きな容量が必要となり、モーションコントローラは、通常運転時には必要のない大容量のメモリをファームウェア更新のためだけに搭載しなければならないという問題が生じる。また、そのような大容量をホスト計算機からモーションコントローラに転送すると、ネットワークのトラフィックを無駄に消費して効率が悪いという問題もある。
本発明はこのような問題点に鑑みてなされたものであり、モーションコントローラがサーボドライブのファームウェアを格納するためのメモリが小容量で、また、ネットワークのトラフィックの効率が良く、各サーボドライブのファームウェアを更新することができるファームウェア更新システムおよびファームウェア更新方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記問題を解決するため、本発明は、次のように構成したのである。
請求項１に記載の発明は、少なくとも１台のサーボドライブとサーボネットワークで接続され、前記サーボドライブが制御する軸の軸番号、前記サーボドライブの機種名、ファームウェアバージョンからなる軸情報リストを有するモーションコントローラと、該モーションコントローラとネットワークで接続され、種々の前記サーボドライブのファームウェアを記憶するファームウェア格納部を有するホスト計算機で構成されるサーボドライブのファームウェア更新システムにおいて、前記ホスト計算機に、前記軸情報リストを前記モーションコントローラから取得し、前記ファームウェア格納部の内容と前記軸情報リストからファームウェアを更新すべき前記サーボドライブを選択し、選択した情報をファームウェア更新要求として前記モーションコントローラに送信するファームウェア更新要求部と、前記モーションコントローラからのファームウェア取得要求を受け、要求のあった前記サーボドライブのファームウェアを前記ファームウェア格納部から抽出し、前記モーションコントローラに送信するファームウェア抽出部を備え、前記モーションコントローラに、前記サーボドライブの少なくとも１台分のファームウェアを格納するファームウェア格納メモリと、前記ホスト計算機からのファームウェア更新要求を受け、更新に必要な前記サーボドライブのファームウェアを取得するファームウェア取得要求を前記ホスト計算機に送信し、取得したファームウェアを前記ファームウェア格納メモリに格納するファームウェア取得処理部と、前記ファームウェア格納メモリの内容を前記サーボドライブに送信するファームウェアサーボ送信部と、更新すべき全ての前記サーボドライブについて、前記モーションコントローラが前記ホスト計算機に前記サーボドライブのファームウェアの取得を要求し、取得したファームウェアを前記ファームウェア格納メモリに格納し、該ファームウェア格納メモリの内容を前記サーボドライブに送信するステップを繰り返し実行するファームウェア取得送信管理部を備えることを特徴ものである。
また、請求項２に記載の発明は、前記ファームウェア取得送信管理部は、取得しようとするファームウェアの機種名とファームウェアバージョンが前記ファームウェア格納メモリに既に格納されているファームウェアの機種名とファームウェアバージョンと一致する場合、前記ホスト計算機へのファームウェア取得要求をスキップすることを特徴とするものである。
また、請求項３に記載の発明は、前記ファームウェア取得送信管理部は、取得すべき前記サーボドライブのファームウェアが機種の異なる複数のファームウェアである場合、前記ホスト計算機からのファームウェア更新要求で示されるファームウェアの容量と前記ファームウェア格納メモリの容量から一度に格納可能なファームウェアの数を判定し、格納可能な数のファームウェアを前記ホスト計算機から取得することを特徴とするものである。
【０００６】
また、請求項４に記載の発明は、少なくとも１台のサーボドライブとサーボネットワークで接続され、前記サーボドライブが制御する軸の軸番号、前記サーボドライブの機種名、ファームウェアバージョンからなる軸情報リストを有するモーションコントローラと、該モーションコントローラとネットワークで接続され、種々の前記サーボドライブのファームウェアを記憶するファームウェア格納部を有するホスト計算機で構成されるファームウェア更新システムのファームウェア更新方法において、前記ホスト計算機が、前記軸情報リストを前記モーションコントローラから取得し、前記ファームウェア格納部の内容と前記軸情報リストからファームウェアを更新すべき前記サーボドライブを選択し、選択した情報をファームウェア更新要求として前記モーションコントローラに送信し、前記モーションコントローラは、前記サーボドライブの少なくとも１台分のファームウェアを格納するファームウェア格納メモリを備え、前記ホスト計算機からのファームウェア更新要求を受け、更新に必要な前記サーボドライブのファームウェアを取得するファームウェア取得要求を前記ホスト計算機に送信し、前記ホスト計算機は、要求のあった前記サーボドライブのファームウェアを前記ファームウェア格納部から抽出し、前記モーションコントローラに送信し、前記モーションコントローラは、取得したファームウェアを前記ファームウェア格納メモリに格納し、前記ファームウェア格納メモリの内容を前記サーボドライブに送信し、更新すべき全ての前記サーボドライブについて、前記モーションコントローラが前記ホスト計算機に前記サーボドライブのファームウェアの取得を要求し、取得したファームウェアを前記ファームウェア格納メモリに格納し、該ファームウェア格納メモリの内容を前記サーボドライブに送信するステップを繰り返し実行するという手順で処理することを特徴とするものである。
また、請求項５に記載の発明は、前記モーションコントローラは、取得しようとするファームウェアの機種名とファームウェアバージョンが前記ファームウェア格納メモリに既に格納されているファームウェアの機種名とファームウェアバージョンと一致する場合、前記ホスト計算機へのファームウェア取得要求をスキップすることを特徴とするものである。
また、請求項６に記載の発明は、前記モーションコントローラは、取得すべき前記サーボドライブのファームウェアが機種の異なる複数のファームウェアである場合、前記ホスト計算機からのファームウェア更新要求で示されるファームウェアの容量と前記ファームウェア格納メモリの容量から一度に格納可能なファームウェアの数を判定し、格納可能な数のファームウェアを前記ホスト計算機から取得することを特徴とするものである。
【発明の効果】
【０００７】
請求項１と請求項４に記載の発明によると、モーションコントローラにサーボドライブの少なくとも１台分のファームウェアを格納するファームウェア格納メモリを備え、更新すべき全てのサーボドライブについて、モーションコントローラがホスト計算機にサーボドライブのファームウェアの取得を要求し、取得したファームウェアをファームウェア格納メモリに格納し、ファームウェア格納メモリの内容をサーボドライブに送信するステップを繰り返し実行するようにしたので、モーションコントローラがサーボドライブのファームウェアを格納するためのメモリが小容量で、また、ネットワークのトラフィックの効率が良く、各サーボドライブのファームウェアを更新することができる。
請求項２と請求項５に記載の発明によると、取得しようとするファームウェアがファームウェア格納メモリに既に格納されているファームウェアと一致する場合、ホスト計算機へのファームウェア取得要求をスキップするので、ネットワークのトラフィック効率を良くすることができる。
請求項３と請求項６に記載の発明によると、ホスト計算機からのファームウェア更新要求で示されるファームウェアの容量とファームウェア格納メモリの容量から一度に格納可能なファームウェアの数を判定し、格納可能な数のファームウェアをホスト計算機から取得するので、ファームウェアを１台分づつ取得する場合に比べ、ファームウェア更新時のトータルの処理時間を短くすることができる。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施の形態について図を参照して説明する。
【実施例１】
【０００９】
図１は、本発明のファームウェア更新システムの構成を示す図である。図において、１はモーションコントローラである。４はサーボドライブで各サーボドライブ４には図示しないモータが接続され、そのモータを通じて機械や装置の軸を駆動する。モーションコントローラ１とサーボドライブ４はサーボネットワーク３で接続され、モーションコントローラ１がサーボドライブ４の動作を制御する。２はホスト計算機でモーションコントローラ１とインターネットまたはイントラネット５のネットワークを介して接続され、情報のやり取りを行う。
この構成でサーボドライブ４のファームウェアを更新する場合、ホスト計算機２に種々のサーボドライブのファームウェアを持ち、その中から選択したファームウェアをモーションコントローラ１に送信し、モーションコントローラ１からサーボドライブ４に送信することを繰り返し実行する。
【００１０】
モーションコントローラ１には、ホスト計算機２と通信を行う通信インターフェース１１と、サーボドライブ４と通信を行うサーボネットワークインターフェース１２と作業用メモリ１３がある。作業用メモリ１３の中には、少なくともサーボドライブ１台分のファームウェアを格納するファームウェア格納メモリ１４と、接続されているサーボドライブ４が制御する軸の軸番号、サーボドライブ４の機種名、ファームウェアバージョンをリストにした軸情報リスト１５がある。この軸情報リストは、あらかじめ作業者が、モーションコントロールシステムを構築する際に、図示しないモーションコントローラのＨＭＩを使用して入力しておく。なお、図１ではサーボドライブ４として４台の場合を図示しているが、実際にはモーションコントローラ１が制御する装置に応じ、任意の数のサーボドライブ４が接続される。
【００１１】
また、モーションコントローラ１には、ホスト計算機２に格納されているサーボドライブ４のファームウェアの取得を要求し、取得したファームウェアをファームウェア格納メモリ１４に格納するファームウェア取得処理部１６と、ファームウェアを更新すべき全てのサーボドライブ４について、ホスト計算機２にファームウェアの取得を要求し、取得したファームウェアをファームウェア格納メモリ１４に格納し、ファームウェア格納メモリ１４の内容をサーボドライブ４に送信するというステップを繰り返し実行するファームウェア取得送信管理部１７と、ファームウェア格納メモリ１４の内容をサーボドライブ４に送信するファームウェア送信部１８がある。
【００１２】
ホスト計算機２には、モーションコントローラ１と通信を行う通信インターフェース２１と、種々のサーボドライブ４のファームウェアを格納するファームウェア格納部２２と、軸情報リスト１５をモーションコントローラ１から取得し、ファームウェア格納部２２の内容と軸情報リスト１５からファームウェアを更新すべきサーボドライブ４を選択し、選択した情報をファームウェア更新要求としてモーションコントローラ１に送信するファームウェア更新要求部２３と、モーションコントローラ１からのファームウェア取得要求を受け、要求のあったサーボドライブ４のファームウェアをファームウェア格納部２２から抽出し、モーションコントローラ１に送信するファームウェア抽出部２４がある。なお、ファームウェア格納部２２には、あらかじめ作業者が種々のサーボドライブ４のファームウェアを格納しておく。
本発明のファームウェア更新システムの構成が、従来技術と異なる特徴部分は、ファームウェア格納メモリ１４を、接続されているサーボドライブ４の台数分だけのファームウェアの容量よりも小さな容量のメモリとした点と小さな容量のファームウェア格納メモリを使用し、効率良くサーボドライブ４のファームウェアの更新を行うように制御するファームウェア取得送信管理部１７を備えた点である。
【００１３】
図２は、本発明のファームウェア更新の手順を示すシーケンス図である。概略のシーケンスは以下のとおりである。ホスト計算機２は、（１）で、モーションコントローラ１に軸情報リスト１５を要求する。(２)で、モーションコントローラ１は軸情報リスト１５をホスト計算機２に送信する。（３）で、ホスト計算機２がモーションコントローラ１にファームウェア更新要求を行う。（４）でモーションコントローラ１はホスト計算機２にファームウェアの取得要求を行い、（５）で取得応答として、ファームウェアの内容を送信する。（６）でモーションコントローラ１は取得したファームウェアを該当するサーボドライブ４に送信する。そして、（４）から（６）を更新すべき全サーボドライブ４について繰り返し実行する。
【００１４】
以下に各シーケンスの詳細を述べる。
まず、作業者がホスト計算機に対し、ファームウェア更新開始の操作を行う。ホスト計算機２は、図２の（１）で、モーションコントローラ１に軸情報リスト１５を要求する。（２）でモーションコントローラ１は軸情報リスト１５をホスト計算機２に送信する。
図３は、軸情報リストの例を示す図である。モーションコントローラ１に接続されているサーボドライブ４が制御する軸番号、サーボドライブ４の機種名、ファームウェアバージョンがリストとなっている。これにより、ホスト計算機２は、実際に存在するサーボドライブ４の機種名とファームウェアのバージョンを知り、ファームウェア格納部２２に格納されている種々のサーボドライブ４のファームウェアの機種名、バージョンと比較することにより、どのサーボドライブ４のファームウェアを更新すれば良いかが分る。
【００１５】
次に、図２の（３）で、ホスト計算機２はファームウェア格納部２２と軸情報リスト１５の内容から、ファームウェアを更新すべきサーボドライブ４を選択し、モーションコントローラ１にファームウェア更新要求を行う。このとき選択した情報をファームウェア更新要求メッセージとして送信する。
図４はファームウェア更新要求メッセージの例を示す図である。対象とするモーションコントローラ１の識別子、ファームウェアの更新を指令するコマンドであることを示すファームウェア更新命令、ファームウェアの書換えを行うサーボドライブ４の制御する軸番号、サーボドライブ４の機種名、新たに書き込むファームウェアバージョン、新たに書き込むファームウェアの容量を表すファームウェアサイズのリスト、で構成される。ここで、モーションコントローラ１の識別子としては、例えばＩＰアドレス、ファームウェア更新命令としては、例えばＷＲＩＴＥ＿ＦＩＲＭのような文字列が例として挙げられる。また、図１ではモーションコントローラ１は１台の例を示しているが、ホスト計算機２に１台のモーションコントローラ１と複数のサーボドライブ４からなるモーションコントロールシステムが複数接続されている場合でも、モーションコントローラ１の識別子を指定することにより、モーションコントロールシステム単位でファームウェアの更新が可能である。
【００１６】
次に、ファームウェア更新要求メッセージを受信したモーションコントローラ１は、図２の（４）で、ホスト計算機２に対し、ファームウェア取得要求をファームウェア取得要求メッセージとして送信する。
図５（ａ）は、ファームウェア取得要求メッセージの例を示す図である。モーションコントローラ１の識別子、ファームウェア取得要求を表すデータ、軸番号、機種名、必要なファームウェアのバージョンで構成される。この例は１台分のファームウェアを取得する場合の例である。
【００１７】
次に図２のステップ（５）で、ホスト計算機２はモーションコントローラ１にファームウェア取得応答をファームウェア取得応答メッセージとして送信する。
図６（ａ）は、ファームウェア取得応答メッセージの例を示す図である。モーションコントローラ１の識別子、ファームウェア取得応答を表すデータ、軸番号、機種名、ファームウェアバージョン、ファームウェアのデータで構成される。モーションコントローラ１は取得したファームウェアのデータをファームウェア格納メモリ１４に格納する。
次に図２のステップ（６）で、モーションコントローラ１はファームウェア格納メモリ１４から、サーボネットワーク３を経由してサーボドライブ４にファームウェアを送信する。
これで、サーボドライブ４の１台分のファームウェアが更新されるが、ファームウェア更新要求で複数台分のファームウェア更新が要求された場合は、図２のステップの（４）から（６）を要求された台数分だけ繰り返し実行する。
【００１８】
また、図１のファームウェア更新要求部２３、ファームウェア抽出部２４、ファームウェア取得処理部１６、ファームウェア取得送信管理部１７、ファームウェアサーボ送信部１８と、図２のシーケンスとの対応は以下のとおりである。
図１のホスト計算機２のファームウェア更新要求部２３は、軸情報リスト１５をモーションコントローラ１から取得し、ファームウェア格納部２２の内容と軸情報リスト１５からファームウェアを更新すべきサーボドライブ４を選択し、選択した情報をファームウェア更新要求としてモーションコントローラ１に送信する処理を行い、図２のステップ（１）からステップ（３）のホスト計算機２側の処理を行う。ファームウェア抽出部２４は、モーションコントローラ１からのファームウェア取得要求を受け、要求のあったサーボドライブ４のファームウェアをファームウェア格納部２２から抽出し、モーションコントローラ１に送信する処理を行い、図２のステップ（５）のホスト計算機２側の処理を行う。
【００１９】
また、図１のモーションコントローラ１のファームウェア取得処理部１６は、ファームウェアの取得を要求し、取得したファームウェアをファームウェア格納メモリ１４に格納する処理を行い、図２のステップ（４）、（５）のモーションコントローラ１側の処理を行う。ファームウェア取得送信管理部１７は、ファームウェアを更新すべき全てのサーボドライブ４について、ホスト計算機２にファームウェアの取得を要求し、取得したファームウェアをファームウェア格納メモリ１４に格納し、ファームウェア格納メモリ１４の内容をサーボドライブ４に送信するというステップを繰り返し実行する制御を行い、図２のステップ（４）から（６）の繰り返しの制御を行う。ファームウェアサーボ送信部１８は、ファームウェア格納メモリ１４の内容をサーボドライブ４に送信する処理を行い、図２のステップ（６）のモーションコントロール側１の処理を行う。
【実施例２】
【００２０】
実施例１では、サーボドライブ４のファームウェアは１台づつホスト計算機２から取得し、サーボドライブ４に送信する例を示したが、モーションコントローラ１に接続される複数のサーボドライブ４の中には、機種名、ファームウェアバージョンが同一のサーボドライブ４が複数接続されている場合がある。この場合、サーボドライブ４にファームウェアを送信する順序を考慮すれば、一度ホスト計算機２から取得したファームウェアを、続けて複数のサーボドライブ４に送信可能である。
そのため、機種名、ファームウェアバージョンが同一のサーボドライブ４が複数ある場合、ファームウェア取得送信管理部１７で、１台分のファームウェアをサーボドライブ４に送信した後、次のサーボドライブ４のファームウェアを取得しに行く前に、機種名、ファームウェアが同一のサーボドライブ４に対し、ファームウェア格納メモリ１４から送信するようにする。
図７は機種名、ファームウェアバージョンが同一のサーボドライブ４がある場合のファームウェア格納メモリ１４からサーボドライブ４への送信処理のフローを示す図である。
ステップＳ１１で、ファームウェア格納メモリ１４の内容をサーボドライブ４に送信する。ステップＳ１２で、送信したサーボドライブ４の機種名、ファームウェアバージョンと、機種名、ファームウェアバージョンが同一のサーボドライブ４で、ファームウェアの送信未完のものがあるかどうかチェックする。あればステップＳ１３に進み、送信先を送信未完のサーボドライブ４に変更する。そしてステップＳ１１に戻る。ステップＳ１２で機種名、ファームウェアバージョンが同一のサーボドライブ４がない場合、次のファームウェアの取得要求に進む。
【実施例３】
【００２１】
実施例１では、サーボドライブのファームウェアは１台分をホスト計算機２からモーションコントローラ１のファームウェア格納メモリ１４に取得しているが、モーションコントローラ１の構成から、ファームウェア格納メモリ１４の容量をサーボドライブ４の２台分以上を一度に格納できる容量にできる場合がある。この場合、２台ないしは３台分の複数台分のファームウェアをホスト計算機２から取得すれば、ファームウェアを１台分づつ取得する場合に比べ、ファームウェア更新時のトータルの処理時間は短くなる。
そのため、ファームウェア取得送信管理部１７で、ホスト計算機２にファームウェアを取得に行く前に、複数台分のファームウェアがファームウェア格納メモリ１４に格納可能であれば、複数台分のファームウェアを取得するようにする。
図８は、複数台分のファームウェア取得要求処理のフローを示す図である。ステップＳ２１で機種の異なる複数のファームウェアの更新があるかどうかチェックし、あればステップＳ２２に進む。ステップＳ２２で、ファームウェア格納メモリ１４の容量とファームウェア更新要求で示される新たに書き込むファームウェアのファームウェアサイズから、一度に取得する取得要求ファームウェア数を決定する。そして、ステップＳ２４に進み、ファームウェア取得要求を送信する。なお、ステップＳ２１で機種の異なるファームウェアの更新がない場合、ステップＳ２３で取得要求ファームウェア数を１にする。
なお、複数のファームウェアをファームウェア格納メモリ１４に格納する場合、図５（ａ）のファームウェア取得要求メッセージは、軸番号、機種名、ファームウェアバージョンが複数台分追加され図５（ｂ）のようになる。また、図６（ａ）のファームウェア取得応答メッセージは、軸番号、機種名、ファームウェアバージョン、ファームウェアが複数台分追加され図６（ｂ）のようになる。また、図２のステップ（４）〜（６）で、ファームウェアを取得し、サーボドライブ４へ送信するステップを繰り返し行う処理は、ファームウェア格納メモリ１４にある複数のファームウェアをサーボドライブ４に送信してから、次のファームウェアを取得するようにする。
【００２２】
図９は、複数のファームウェアがファームウェア格納メモリ１４にある場合のファームウェア格納メモリ１４からサーボドライブ４への送信処理のフローを示す図である。ステップＳ１１からステップＳ１３までは、図７と同一である。ステップＳ３１で、ファームウェア格納メモリ１４に送信未完のファームウエアがあるかどうかチェックする。送信未完のファームウェアがある場合、ステップＳ３２に進み、ファームウェア格納メモリ１４の送信元を次のファームウェアに変更し、ステップＳ１１に戻る。ステップＳ３１で、送信未完のファームウェアがない場合、次のファームウェアの取得要求処理に進む。
このように、モーションコントローラにサーボドライブの少なくとも１台分のファームウェアを格納するファームウェア格納メモリを備え、更新すべき全てのサーボドライブについて、モーションコントローラがホスト計算機にサーボドライブのファームウェアの取得を要求し、取得したファームウェアをファームウェア格納メモリに格納し、ファームウェア格納メモリの内容をサーボドライブに送信するステップを繰り返し実行するようにしたので、モーションコントローラがサーボドライブのファームウェアを格納するためのメモリが小容量で、また、ネットワークのトラフィックの効率が良く、各サーボドライブのファームウェアを更新することができるのである。
また、取得しようとするファームウェアがファームウェア格納メモリに既に格納されているファームウェアと一致する場合、ホスト計算機へのファームウェア取得要求をスキップするので、ネットワークのトラフィック効率を良くすることができるのである。
また、ホスト計算機からのファームウェア更新要求で示されるファームウェアの容量とファームウェア格納メモリの容量から一度に格納可能なファームウェアの数を判定し、格納可能な数のファームウェアをホスト計算機から取得するので、ファームウェアを１台分づつ取得する場合に比べ、ファームウェア更新時のトータルの処理時間を短くすることができるのである。
【産業上の利用可能性】
【００２３】
本発明は、サーボドライブのファームウェア更新に対応したサーボネットワークにより接続される汎用のモーションコントローラと複数のサーボドライブによって構成されるモーションコントロールシステムに対し、インターネットなどのネットワークによりモーションコントローラと接続されたホスト計算機から、サーボドライブのファームウェアを更新することができるので、リモートメンテナンスシステムの構築にも適用できる。
【図面の簡単な説明】
【００２４】
【図１】本発明のファームウェア更新システムの構成を示す図
【図２】ファームウェア更新の手順を示すシーケンス図
【図３】軸情報リストの例を示す図
【図４】ファームウェア更新要求メッセージの例を示す図
【図５】ファームウェア取得要求メッセージの例を示す図
【図６】ファームウェア取得応答メッセージの例を示す図
【図７】機種名、ファームウェアバージョンが同一のサーボドライブ４がある場合のファームウェア格納メモリからサーボドライブへの送信処理のフローを示す図
【図８】複数台分のファームウェア取得要求処理のフローを示す図
【図９】複数のファームウェアがファームウェア格納メモリにある場合のファームウェア格納メモリからサーボドライブへの送信処理のフローを示す図
【符号の説明】
【００２５】
１  モーションコントローラ
２  ホスト計算機
３  サーボネットワーク
４  サーボドライブ
５  インターネット／イントラネット
１１、２１  通信インターフェース
１２  サーボネットワークインターフェース
１３  作業用メモリ
１４  ファームウェア格納メモリ
１５  軸情報リスト
１６  ファームウェア取得処理部
１７  ファームウェア取得送信管理部
１８  ファームウェアサーボ送信部
２２  ファームウェア格納部
２３  ファームウェア更新要求部
２４  ファームウェア抽出部
【図１】
2006350884.tif 000003
【図２】
2006350884.tif 000004
【図３】
2006350884.tif 000005
【図４】
2006350884.tif 000006
【図５】
2006350884.tif 000007
【図６】
2006350884.tif 000008
【図７】
2006350884.tif 000009
【図８】
2006350884.tif 000010
【図９】
2006350884.tif 000011