(57)【要約】      （修正有）【課題】ホストコンピュータ無しにロボット制御装置のシステムソフトウェア更新を行う。【解決手段】ロボットのシステムソフトウェア４０を書換可能な状態で記憶するＥＰＲＯＭ２２を備えたロボット制御装置２０において、複数のロボット制御装置を接続し、相互間の通信を可能とするネットワーク回線６１と、ネットワーク回線６１によって接続された他のロボット制御装置２０ＢのＥＰＲＯＭ２２に記憶されたシステムソフトウェア４０のバージョン番号ＶＢを確認するバージョン番号確認プログラム５２と、ロボット制御装置２０Ｂのシステムソフトウェア４０のバージョン番号ＶＢの方が、バージョン番号確認プログラム５２によって、より新規であると確認された場合に、ロボット制御装置２０Ｂからネットワーク回線６１を介してシステムソフトウェア４０を転送するための転送要求プログラム５３を備える。【選択図】図５
2008139972.tif 000002
【特許請求の範囲】
【請求項１】
ロボットのシステムソフトウェアを書換可能な状態で記憶する記憶手段を備えたロボット制御装置において、
複数のロボット制御装置を接続し、相互間の通信を可能とする通信手段と、
前記通信手段によって接続された他のロボット制御装置の前記記憶手段に記憶されたシステムソフトウェアのバージョン番号を確認するバージョン番号確認手段と、
前記他のロボット制御装置のシステムソフトウェアのバージョン番号の方が、前記バージョン番号確認手段によって、より新規であると確認された場合に、前記他のロボット制御装置から前記通信手段を介してシステムソフトウェアを転送するための転送要求を行う転送要求手段と、
を備えたロボット制御装置。
【請求項２】
システムソフトウェアの更新が完了した際に、前記通信手段を介して、前記通信手段によって接続された他のロボット制御装置に対し、更新されたシステムソフトウェアのバージョン番号を報知する報知手段を備え、
前記バージョン番号確認手段は、他のロボット制御装置の前記報知手段による報知を受けた際に、報知されたバージョン番号と自己のシステムソフトウェアのバージョン番号を比較し、
前記転送要求手段は、報知されたバージョン番号が自己のシステムソフトウェアのバージョン番号よりも新規である場合に、システムソフトウェアの転送要求を行うことを特徴とする、請求項１に記載のロボット制御装置。
【請求項３】
システムソフトウェアの転送中に、前記通信手段を介して、システムソフトウェアの転送中であることを、前記通信手段によって接続された他のロボット制御装置に認識させる転送状態提示手段を備え、
前記バージョン番号確認手段は、他のロボット制御装置の前記転送状態提示手段からシステムソフトウェアの転送中であることを認識した場合には、当該他のロボット制御装置に対して、システムソフトウェアのバージョン番号を確認しないことを特徴とする、請求項１または２のいずれかに記載のロボット制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムソフトウェアの更新を行うロボット制御装置に関するものである。
【背景技術】
【０００２】
従来、ロボット制御装置のシステムソフトウェア更新は、外部記憶メディアに更新するシステムソフトウェアを記録し、これを制御装置の読み込み装置に挿入してシステムソフトウェアをロボット制御装置の内部へ転送することで実現していた。しかし、この方法では多数のロボット制御装置に対して、オペレータが前記作業をする必要があり、多大な工数を費やしていた。
これを解決するために、通信ネットワークに一つのホストコンピュータと、複数のロボット制御装置を接続し、ホストコンピュータからシステムソフトウェアを各ロボット制御装置に転送することで、オペレータの作業負荷を軽減する方法がある（例えば、特許文献１参照）。
【特許文献１】特開平８−２６３１２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、従来技術では各ロボット制御装置のシステムソフトウェア更新機能を備えたホストコンピュータが必要であるために高価となることに加え、何らかの理由によりホストコンピュータが機能しなくなった場合（例えば、サーバシステムダウン等）、全てのロボット制御装置について、システムソフトウェアを更新する方法が一切なくなってしまうという欠点があった。
【０００４】
本発明は、前述した問題点に鑑みて、各々のロボット制御装置が、自分自身のシステムソフトウェアを更新するロボット制御装置を提供することをその目的とする。
【課題を解決するための手段】
【０００５】
請求項１記載の発明は、ロボットのシステムソフトウェアを書換可能な状態で記憶する記憶手段を備えたロボット制御装置において、複数のロボット制御装置を接続し、相互間の通信を可能とする通信手段と、前記通信手段によって接続された他のロボット制御装置の前記記憶手段に記憶されたシステムソフトウェアのバージョン番号を確認するバージョン番号確認手段と、前記他のロボット制御装置のシステムソフトウェアのバージョン番号の方が、前記バージョン番号確認手段によって、より新規であると確認された場合に、前記他のロボット制御装置から前記通信手段を介してシステムソフトウェアを転送するための転送要求を行う転送要求手段と、を備えることを特徴とする。
【０００６】
請求項２記載の発明は、請求項１記載の発明において、システムソフトウェアの更新が完了した際に、前記通信手段を介して、前記通信手段によって接続された他のロボット制御装置に対し、更新されたシステムソフトウェアのバージョン番号を報知する報知手段を備え、前記バージョン番号確認手段は、他のロボット制御装置の前記報知手段による報知を受けた際に、報知されたバージョン番号と自己のシステムソフトウェアのバージョン番号を比較し、前記転送要求手段は、報知されたバージョン番号が自己のシステムソフトウェアのバージョン番号よりも新規である場合に、システムソフトウェアの転送要求を行うこと、を特徴とする。
【０００７】
請求項３の発明は、請求項１または２のいずれかに記載の発明において、システムソフトウェアの転送中に、前記通信手段を介して、システムソフトウェアの転送中であることを、前記通信手段によって接続された他のロボット制御装置に認識させる転送状態提示手段を備え、前記バージョン番号確認手段は、他のロボット制御装置の前記転送状態提示手段からシステムソフトウェアの転送中であることを認識した場合には、当該他のロボット制御装置に対して、システムソフトウェアのバージョン番号を確認しないこと、を特徴とする。
【発明の効果】
【０００８】
請求項１記載の発明によれば、前記バージョン番号確認手段が、前記通信手段により接続されている他のロボット制御装置のシステムソフトウェアとのバージョン比較を行い、自己より新しいバージョンのシステムソフトウェアを発見すると、それを要求し、取得する。このため、ロボット制御装置は、自らシステムソフトウェアのバージョンの新旧を判断し、新しいシステムソフトウェアを他のロボット制御装置から取得することができるため、新しいシステムソフトウェアを供給するホストコンピュータを不要とすることが可能となる。
なお、複数台のロボット制御装置からなる制御システムに、ホストコンピュータを組み込むことも可能だが、その場合も、当該ホストコンピュータによる新規なシステムソフトウェアの拡布作業を、各ロボット制御装置が肩代わりして行うことができ、ホストコンピュータの作業負担削減を図ることが可能となる。
また、システムソフトウェアの更新は、通信手段によって接続された複数のロボット制御装置のうち、いずれのロボット制御装置からも行うことができるため、特定のロボット制御装置が機能しなくなった場合においても、それ以外のロボット制御装置はシステムソフトウェアの更新作業を行うことができる。よって、従来技術において、ホストコンピュータが機能しなくなった場合に、ロボット制御装置のシステムソフトウェアの更新ができなくなるといった問題を回避することができ、ロボット制御装置は常に最新のシステムソフトウェアを取得することができる。
【０００９】
請求項２記載の発明によれば、システムソフトウェアの更新が完了したロボット制御装置が、前記通信手段によって接続された他のロボット制御装置に対して、自立的に更新されたシステムソフトウェアのバージョン番号を報知することによって、他のロボット制御装置が自立的に、システムソフトウェアの更新の必要性を判断し、必要な場合にはシステムソフトウェアの更新を開始する。これによって、従来技術において、ホストコンピュータによる命令、あるいは各々のロボット制御装置に対してオペレータが手動で行っていた、システムソフトウェアの更新開始の命令を、ロボット制御装置自身が行うことができる。
さらに、前記通信手段によって接続された複数のロボット制御装置が、システムソフトウェアの更新が完了したロボット制御装置の報知を受けることによって、前記通信手段で接続された全てのロボット制御装置のシステムソフトウェアを更新することができ、システムソフトウェアの更新作業によって発生する作業負荷を大幅に軽減することができる。
【００１０】
請求項３記載の発明によれば、システムソフトウェアを転送中のロボット制御装置が、他のロボット制御装置の前記バージョン番号確認手段からシステムソフトウェアのバージョン番号確認要求を受ける前に、前記転送状態提示手段がシステムソフトウェアの転送中であることを前記他のロボット制御装置に提示することによって、システムソフトウェアの更新作業中に割込処理が入ることを防止するとともに、更新作業中の不完全なシステムソフトウェアが他のロボット制御装置に転送されることを防止する。これによって、更新が不完全なシステムソフトウェアを誤って転送することによって、ロボット制御装置の機能が損なわれる可能性をなくすことができ、安全にシステムソフトウェアの更新を行うことができる。
また、上記の作用に加え、システムソフトウェア取得中のロボット制御装置の前記記憶手段に記憶されている、更新作業前の古いシステムソフトウェアに対して、前記転送要求手段によるシステムソフトウェアの転送要求が行われることを防止する。よって、前記通信手段によって接続された複数のロボット制御装置に対して、最新のシステムソフトウェアに更新を完了したロボット制御装置のみが転送要求を受けるようにすることができ、効率的なシステムソフトウェアの転送を行うことができる。
【発明を実施するための最良の形態】
【００１１】
（複数のロボットシステムを接続したネットワークシステムの構成）
以下、図面を参照して、ロボット制御装置の最良の形態について詳細に説明する。
図１は、複数のロボットシステムを接続したネットワークシステム６０の構成を示す。
ネットワークシステム６０は、「通信手段」として機能するネットワーク回線６１と、ネットワーク回線６１によって相互に接続された複数のロボット制御装置２０と、ロボット制御装置２０に接続された、複数のロボット１０によって構成されている。
上記のネットワーク回線６１は、電気信号を伝送するためのケーブルを使用するが、複数のロボット制御装置２０を相互に接続できる手段であれば、実施の形態はこれに限定されない。例えば、無線の電波や光信号による接続でもよい。
【００１２】
（ロボット）
図２は、ロボット１０及びロボットの駆動制御を行うロボット制御装置２０の構成を示すブロック図である。
上述のロボット１０は、土台となるベース１１と、関節１３で連結された複数のアーム１２と、各関節１３ごとに設けられた駆動源としてのサーボモータ（図示略）と、各サーボモータの軸角度をそれぞれ検出するエンコーダ（図示略）とを備えている。そして、連結された各アーム１２の先端部１４にはロボットの用途に応じた作業ツール１５（例えば溶接ガン等）が装備される。
上記各関節１３は、アーム１２の一端部を揺動可能として他端部を軸支する揺動関節と、アーム自身をその長手方向を中心に回転可能に軸支する回転関節とのいずれかから構成される。つまり、本実施形態におけるロボット１０はいわゆる多関節型ロボットに相当する。
なお、ロボット１０は、ロボット制御装置２０によって制御を受けるロボットならば、特定の形態および機能に限定されない。例えば、スカラー型ロボットであってもよい。
【００１３】
（ロボット制御装置）
ロボット制御装置２０Ａ〜２０Ｄはロボット制御装置２０と同一の構造および構成を備えているので、ここではロボット制御装置２０についてのみ詳細に説明する。
ロボット制御装置２０は、ロボット制御装置２０全体を制御する各種のプログラムと、ロボット１０の動作制御を行うシステムソフトウェア４０と、各種の初期設定データが格納されたＥＰＲＯＭ２２と、ＥＰＲＯＭ２２に格納された各種のプログラム、およびシステムソフトウェア４０を実行するＣＰＵ２１と、ＣＰＵ２１の処理による各種データを格納するＲＡＭ２３と、ＣＰＵ２１の実行するシステムソフトウェア４０に従って決定されるロボット１０の各関節１３のサーボモータのトルク値に応じたサーボモータ駆動電流を通電するサーボ制御回路２４と、各関節１３のエンコーダ出力を受信するロボット接続インターフェイス２５と、前述のシステムソフトウェア４０の処理により求められる各種のデータが格納される記憶手段としてのバッファ２６と、各種の設定を入力するための例えばキーボード及びそのインターフェイスを備える入力手段２７と、ネットワーク回線６１を介して他のロボット制御装置と相互に通信を行うためのインターフェイスであるＮＩＣ２８と、外部の記憶装置を接続する外部接続インターフェイス２９と、上記各構成の信号の送受可能に接続するバス３０とを備えている。
なお、上述のＥＰＲＯＭ２２及びバッファ２６は、格納されたデータを書き替え可能に記憶保持可能な手段であればよく、例えば、前者は不揮発性の半導体メモリ、後者はいわゆるハードディスク装置等で構成されている。
ここで、ＥＰＲＯＭ２２は、システムソフトウェア４０を書き換え可能に記憶する「記憶手段」として機能する。
【００１４】
ＮＩＣ２８は、複数のロボットシステムを接続したネットワークシステム５０において、各々のロボット制御装置２０が識別を行うための固有アドレスを記憶するアドレス部２８ａを持つ。
【００１５】
図３は、ＥＰＲＯＭ２２に記憶された各種プログラム及びデータの構成を示す。ＥＰＲＯＭ２２には、ロボットの駆動制御を行うために必要なシステムソフトウェア４０が記憶されたシステムソフトウェアエリア２２ａと、ロボット制御装置のシステムソフトウェアを更新するために必要な、各種の更新処理プログラム５０が記憶された更新処理プログラムエリア２２ｂと、システムソフトウェア４０及び更新処理プログラム５０が取り扱う各種データを記録したデータエリア２２ｃと、が形成されている。
【００１６】
システムソフトウェア４０は、前記入力手段２７から入力されるロボットアームの先端部１４の移動軌跡の指標となる複数の教示点の位置座標と、各教示点に基づくロボットアーム先端部１４の通過軌跡と、その通過軌跡に沿って所定の間隔で配置される無数の通過点の位置座標を算出するための処理をＣＰＵ２１に実行させる。さらに、各通過点の位置座標から、ロボットアームの先端部１４が各通過点を通過するための各関節１３のサーボモータの軸角度を算出するための処理をＣＰＵ２１に実行させる。さらに、システムソフトウェア４０は、軌道計画データを読み出すと共に各サーボモータを駆動して、設定された教示点に基づく移動軌跡でロボットアーム先端部１４を移動させる動作制御をＣＰＵ２１に実行させる機能を有している。
【００１７】
更新処理プログラム５０は、ネットワーク回線６１によって接続された他のロボット制御装置２０を認識する接続確認プログラム５１と、ネットワーク回線６１によって接続された他のロボット制御装置２０のシステムソフトウェアのバージョン番号Ｖを確認するバージョン番号確認プログラム５２と、他のロボット制御装置２０のシステムソフトウェアを取得するための転送要求を行う転送要求プログラム５３と、システムソフトウェアの更新が完了した際に、他のロボット制御装置２０にシステムソフトウェアの更新が行われたこと、および更新後のシステムソフトウェアのバージョン番号Ｖを報知するシステムソフトウェア更新報知プログラム５４と、他のロボットがシステムソフトウェアの取得中、あるいは転送中でないかを確認する転送フラグ確認プログラム５５と、から構成されている。
【００１８】
データエリア２２ｃには、システムソフトウェア４０のバージョンを示すバージョン番号Ｖが記憶されている。一般的にソフトウェアのバージョン番号は、機能の追加を表すメジャー番号と不具合修正等の細かい修正を表すマイナー番号に分かれる。例えば、バージョン０２．００３とあれば、０２がメジャー番号、００３がマイナー番号である。バージョン番号Ｖは、このメジャー番号とマイナー番号を連結し、一つの整数とみなして扱う。前例のＶ０２．００３であれば整数２００３としてみなし、データエリア２２ｃに記憶する。
【００１９】
（システムソフトウェア更新の手順）
本実施形態におけるネットワークシステム６０は、一つのロボット制御装置２０に対して、システム外部から入力され（ここでは人為的な操作により）システムソフトウェア４０が更新されると、各ロボット制御装置２０間で自立的に伝搬されることを特徴とする。
まず、一つのロボット制御装置２０に対して、人為的にシステムソフトウェア４０の更新が行われる場合の処理について、図４のフローチャートに従って、詳細に説明する。
【００２０】
外部接続インターフェイス２９に、外部記憶装置４１を接続する。このとき外部記憶装置４１には、ロボット制御装置２０のＥＰＲＯＭ２２のシステムソフトウェアエリア２２ａに記憶されているシステムソフトウェア４０よりも新しいバージョンのシステムソフトウェア４０が記憶されている。その後、入力手段２７から“システムソフトウェア更新”を操作する。“システムソフトウェア更新”を操作されたロボット制御装置２０は、ＣＰＵ２１が、システムソフトウェア取得中であることを示す転送フラグＦをＲＡＭ２３に格納する（ステップＳ１）。転送フラグＦは、他のロボット制御装置から転送フラグ確認プログラム５５による転送フラグの確認を受けた際に、システムソフトウェアの取得中であることを当該他のロボット制御装置に通知するためのフラグである。このように、転送フラグＦは、「転送状態提示手段」として機能する。
【００２１】
その後、ＣＰＵ２１は、外部記憶装置接続インターフェイス２９を経由して、外部記憶装置４１に記憶された新しいシステムソフトウェア４０を取得し、バッファ２６に格納する（ステップＳ２）。新しいシステムソフトウェアの取得が完了すると、ＣＰＵ２１は、システムソフトウェアエリア２２ａに記憶されたシステムソフトウェア４０を消去し（ステップＳ３）、バッファ２６に格納された新しいシステムソフトウェア４０をシステムソフトウェアエリア２２ａに書き込み、記憶する（ステップＳ４）。システムソフトウェアエリア２２ａに新しいシステムソフトウェア４０の書き込みが完了すると、ＣＰＵ２１は、データエリア２２ｃに記憶されたバージョン番号Ｖを消去し、新しいシステムソフトウェアのバージョン番号Ｖを書き込み、記憶する（ステップＳ５）。その後、ＣＰＵ２１は、ＲＡＭ２３に格納された、転送フラグＦを消去する（ステップＳ６）。以上で、外部記憶装置４１を接続したロボット制御装置２０のシステムソフトウェアの更新は完了する。
【００２２】
なお、上述の手順は、システムソフトウェアが更新されれば、どのような方法をとってもよい。例えばＥＰＲＯＭ２２を直接差替えたり、あるいはシステムソフトウェアを記録した記録媒体を読み取る読取装置を外部記憶装置接続インターフェイス２９に接続してシステムソフトウェアを転送したりしてもよい。
【００２３】
システムソフトウェアの更新が完了すると、ＣＰＵ２１は、システムソフトウェア更新報知プログラム５４を呼び出して、ネットワーク回線６１を通して、他のロボットにシステムソフトウェアの更新が行われたこと、および更新後のシステムソフトウェアのバージョン番号Ｖを報知する（ステップＳ７）。このように、ＣＰＵ２１は、ステップＳ７の処理を行うことにより「報知手段」として機能する。
なお、上述の報知は、入力手段２７による直接操作によって行うことも可能としてもよい。
【００２４】
次に、システムソフトウェアの更新が行われたこと、および更新されたシステムソフトウェアのバージョン番号Ｖの報知を受けたロボット制御装置２０Ａ（いずれのロボット制御装置が通知を受けた場合でも同じ処理が行われるが、ここでは識別しやすいようにロボット制御装置２０Ａを例にする）が、自立的にシステムソフトウェア４０の更新を行う手順について、図５、及び図６のフローチャートに従って、詳細に説明する。
なお、システムソフトウェア４０の更新及びバージョン番号Ｖの報知は、人為的な更新及びロボット制御装置２０の自立的な更新のいずれの場合にも行われるが、いずれの場合の報知を受けた場合であっても、ロボット制御装置２０は、自立的なシステムソフトウェア４０の更新を開始する。
【００２５】
システムソフトウェアの更新が行われたこと、および更新されたシステムソフトウェアのバージョン番号Ｖの報知を受けたロボット制御装置２０Ａは、ＣＰＵ２１が、データエリア２２ｃに記憶されたバージョン番号Ｖ（以後、バージョン番号ＶＡとする）を呼び出し（ステップＳ１１）、報知の際に送信されたバージョン番号Ｖと比較する（ステップＳ１２）。このとき、送信されたバージョン番号Ｖが、データエリア２２ｃに記憶されたバージョン番号Ｖと同じか、あるいは小さかった場合は、その時点で処理を終了する。
送信されたバージョン番号Ｖが、データエリア２２ｃに記憶されたバージョン番号Ｖよりも大きかった場合は、ロボット制御装置２０Ａはシステムソフト更新モードへと移行する（ステップＳ１３）。
このように、ＣＰＵ２１は、ステップＳ１１〜Ｓ１２の処理を行うことにより「バージョン番号確認手段」として機能する。
【００２６】
システムソフト更新モードは、ネットワーク回線６１に接続された他のロボット制御装置２０からシステムソフトウェアの更新通知を受けた際に、通知を受けたロボット制御装置２０が自立的にシステムソフトウェアの更新を行う一連の処理のことを指す。
なお、システムソフト更新モードへの移行は、入力手段２７による直接操作によって行うことも可能としてもよい。
【００２７】
システムソフト更新モードへと移行したロボット制御装置２０Ａは、ＣＰＵ２１が、接続確認プログラム５１を呼び出し、ネットワーク回線６１によって接続された他のロボット制御装置２０を認識する（ステップＳ１４）。このとき、各ロボット制御装置のＮＩＣ２８が持つアドレス部２８ａに記憶された固有アドレスによって、各ロボット制御装置を識別する。認識された各ロボット制御装置のアドレスは、ＲＡＭ２３に格納される。
【００２８】
ネットワーク回線６１によって接続された他のロボット制御装置２０の認識が完了すると、他のロボット制御装置２０Ｂのうち一台のロボット制御装置（いずれのロボット制御装置でも同じ処理が行われるが、ここでは識別しやすいように、ロボット制御装置２０Ｂを例にする）を転送要求対象として指定する（ステップＳ１５）。このとき、ロボット制御装置２０Ｂを指定する基準は、上述の接続確認プログラム５１によってロボット制御装置を認識した順番に従う。
【００２９】
ロボット制御装置２０ＡのＣＰＵ２１は、転送フラグ確認プログラム５５を呼び出し、ロボット制御装置２０Ｂがシステムソフトウェアの取得中、あるいは転送中でないかを確認する（ステップＳ１６）。
このとき、ロボット制御装置２０Ｂがシステムソフトウェアの取得中、あるいは転送中であった場合には、ロボット制御装置２０Ｂに対する転送要求対象の指定を解除し（ステップＳ２８）、上述の接続確認プログラム５１によってロボット制御装置を認識した順番に従い、次に認識されたロボット制御装置２０をＲＡＭ２３に格納されたアドレスに基づき、転送要求対象として指定する（ステップＳ２９）。
【００３０】
ロボット制御装置２０Ｂがシステムソフトウェアの取得中、あるいは転送中ではない場合、ロボット制御装置２０ＡのＣＰＵ２１は、バージョン番号確認プログラム５２を呼び出し、ロボット制御装置２０Ｂのデータエリア２２ｃに記憶された、システムソフトウェア４０のバージョン番号Ｖ（以後、バージョン番号ＶＢとする）を取得する（ステップＳ１７）。ロボット制御装置２０Ａが取得したバージョン番号ＶＢはＲＡＭ２３に書き込まれ、一時的に記憶される。
【００３１】
次に、ロボット制御装置２０ＡのＣＰＵ２１は、バージョン番号ＶＡを呼び出し（ステップＳ１８）、上述の手順で取得したバージョン番号ＶＢと比較する（ステップＳ１９）。バージョン番号ＶＢがバージョン番号ＶＡと同じか、または小さい場合は、ＲＡＭ２３に一時的に記憶されたバージョン番号ＶＢを消去し、バージョン番号確認プログラム５２を終了し、ロボット制御装置２０Ｂに対する転送要求対象の指定を解除し（ステップＳ３０）、上述の接続確認プログラム５１によってロボット制御装置を認識した順番に従い、次に認識されたロボット制御装置２０をＲＡＭ２３に格納されたアドレスに基づき、転送要求対象として指定する（ステップＳ３２）。
なお、ネットワーク回線６１に接続された他の全てのロボット制御装置２０に対してバージョン番号確認プログラム５２を実行した結果、他の全てのロボット制御装置のバージョン番号Ｖが、バージョン番号ＶＡと同じか、または小さい場合は、システムソフト更新モードを終了する（ステップＳ３１）。
【００３２】
バージョン番号ＶＢが自己のシステムソフトウェアのバージョン番号ＶＡよりも大きかった場合、ロボット制御装置２０ＡのＣＰＵ２１は、転送要求プログラム５３を呼び出し、ロボット制御装置２０Ｂに対してシステムソフトウェア４０の転送要求を行う（ステップＳ２０）とともに、転送フラグＦをＲＡＭ２３に格納する（ステップＳ２１）。
このように、ＣＰＵ２１は、ステップＳ１６〜Ｓ１９の処理を行うことにより「バージョン番号確認手段」として機能し、ステップＳ２０の処理を行うことにより「転送要求手段」として機能する。また、転送フラグＦは「転送状態提示手段」として機能する。
【００３３】
上述の転送要求を受けたロボット制御装置２０Ｂは、転送要求を行ったロボット制御装置２０Ａに対してシステムソフトウェアを転送する。システムソフトウェアの転送を受けたロボット制御装置２０Ａは、転送されたシステムソフトウェアをバッファ２６に書き込み、一時的に記憶する（ステップＳ２２）。
システムソフトウェアの転送が完了すると、システムソフトウェアの転送を受けたロボット制御装置２０Ａは、ＣＰＵ２１が、システムソフトウェアエリア２２ａに記憶された古いバージョンのシステムソフトウェア４０を消去し（ステップＳ２３）、バッファ２６に記憶された新しいシステムソフトウェア４０をシステムソフトウェアエリア２２ａに書き込み、記憶する（ステップＳ２４）。システムソフトウェアエリア２２ａに新しいシステムソフトウェア４０の書き込みが完了すると、ＣＰＵ２１は、データエリア２２ｃに記憶された古いバージョン番号ＶＡを消去し、ＲＡＭ２３に記憶された新しいバージョン番号ＶＢを、データエリア２２ｃにバージョン番号Ｖとして書き込み、記憶する（ステップＳ２５）。その後、ＲＡＭ２３に格納された転送フラグＦを削除する（ステップＳ２６）。以上で、ロボット制御装置２０Ａによるシステムソフトウェアの更新は完了する。
【００３４】
ロボット制御装置２０Ａはシステムソフトウェアの更新が完了すると、ＣＰＵ２１が、システムソフトウェア更新報知プログラム５４を呼び出し、システムソフトウェアの更新が行われたこと、および更新後のシステムソフトウェアのバージョン番号Ｖを他のロボット制御装置に報知し、システムソフト更新モードを終了する（ステップＳ２７）。
このように、ＣＰＵ２１は、ステップＳ２７の処理を行うことにより「報知手段」として機能する。
【００３５】
報知を受けた他のロボット制御装置２０は、システムソフト更新モードへと移行し、システムソフトウェアの更新を完了したロボット制御装置２０と同一のフローに従ってシステムソフトウェアを更新し、他のロボット制御装置２０にシステムソフトウェアの更新を報知し、システムソフト更新モードを終了する。上記の更新作業は、ネットワーク回線６１に接続された全てのロボット制御装置２０のシステムソフトウェアのバージョン番号Ｖが同一の新しい番号になるまで行われる。
【００３６】
次に、他のロボット制御装置から、転送要求対象として指定された場合の処理について図７のフローチャートに従って、詳細に説明する。以下のフローチャートにおいて、ステップＳ４１〜Ｓ４５までの処理は後述するロボット制御装置２０Ｃが実行する処理であり、ステップＸ１〜Ｘ６までの処理は後述するロボット制御装置２０Ｄが実行する処理である。
ロボット制御装置２０Ｃは、他のロボット制御装置２０Ｄ（いずれのロボット制御装置でも同じ処理が行われるが、ここでは識別しやすいように、ロボット制御装置２０Ｃと２０Ｄとを例にする）によって転送要求対象として指定され（ステップＸ１）、転送フラグＦの確認要求が行われると（ステップＸ２）、ロボット制御装置２０Ｄが実行した転送フラグ確認プログラム５５によって、ロボット制御装置２０Ｃの転送フラグＦの確認が行われる（ステップＳ４１）。
このように、転送フラグＦは、「転送状態提示手段」として機能する。
【００３７】
ロボット制御装置２０ＣのＲＡＭ２３に転送フラグＦに格納されていた場合は、ロボット制御装置２０Ｄによる、ロボット制御装置２０Ｃに対する転送要求対象の指定は解除される（ステップＸ３）。
ロボット制御装置２０ＣのＲＡＭ２３に転送フラグＦに格納されていなかった場合は、ロボット制御装置２０Ｃは、ロボット制御装置２０Ｄが実行したバージョン番号確認プログラム５２によって、バージョン番号Ｖを要求される（ステップＸ４）。
【００３８】
バージョン番号Ｖの要求を受けたロボット制御装置２０ＣのＣＰＵ２１は、データエリア２２ｃに格納されているバージョン番号Ｖ（以後、バージョン番号ＶＣとする）を呼び出し、ロボット制御装置２０Ｄにバージョン番号ＶＣを転送する（ステップＳ４２）。
このとき、バージョン番号ＶＣが、ロボット制御装置２０Ｄにより、そのデータエリア２２ｃに格納されたバージョン番号Ｖ（以後、バージョン番号ＶＤとする）と大小比較され（ステップＸ５）、同じか、あるいは小さかった場合は、ロボット制御装置２０Ｄによる、ロボット制御装置２０Ｃに対する転送要求対象の指定は解除される（ステップＸ３）。
バージョン番号ＶＣが、バージョン番号ＶＤよりも大きかった場合は、ロボット制御装置２０Ｃは、ロボット制御装置２０Ｄが実行した転送要求プログラム５３によって、システムソフトウェア４０の転送を要求される（ステップＸ６）。
【００３９】
システムソフトウェア４０の転送を要求されたロボット制御装置２０ＣのＣＰＵ２１は、転送フラグＦをＲＡＭ２３に格納する（ステップＳ４３）とともに、ＥＰＲＯＭ２２のシステムソフトウェアエリア２２ａに記憶されているシステムソフトウェア４０を読み込み、当該他のロボット制御装置２０Ｄに対して転送する（ステップＳ４４）。
システムソフトウェア４０の転送が完了すると、ＣＰＵ２１は、ＲＡＭ２３に格納された転送フラグＦを削除する（ステップＳ４５）。
以上で、転送要求対象として指定された場合の処理は終了する。
【００４０】
（ネットワークシステムの効果）
本実施例では、ロボット制御装置２０は、更新処理プログラム５０によって、自らシステムソフトウェア４０のバージョンの新旧を判断し、新しいバージョンのシステムソフトウェア４０を他のロボット制御装置２０から取得することができるため、新しいシステムソフトウェア４０を供給するホストコンピュータを不要とすることが可能となる。
また、システムソフトウェア４０の更新は、ネットワーク回線６１によって接続された複数のロボット制御装置２０のうち、いずれのロボット制御装置２０からも行うことができるため、特定のロボット制御装置２０が機能しなくなった場合においても、それ以外のロボット制御装置２０はシステムソフトウェアの更新作業を行うことができる。よって、従来技術において、ホストコンピュータが機能しなくなった場合に、ロボット制御装置２０のシステムソフトウェア４０の更新ができなくなるといった問題を回避することができ、ロボット制御装置２０は常に最新のシステムソフトウェア４０を取得することができる。
【００４１】
さらに、システムソフトウェア４０の更新が完了したロボット制御装置２０は、ＣＰＵ２１が、システムソフトウェア更新報知プログラム５３を実行し、ネットワーク回線６１によって接続された他のロボット制御装置２０に対して、自立的に更新されたシステムソフトウェア２０のバージョン番号Ｖを報知することによって、他のロボット制御装置２０が自立的に、システムソフトウェア４０の更新の必要性を判断し、必要な場合にはシステムソフトウェアの４０更新を開始する。これによって、従来技術において、ホストコンピュータによる命令、あるいは各々のロボット制御装置２０に対してオペレータが手動で行っていた、システムソフトウェア４０の更新開始の命令を、ロボット制御装置２０自身が行うことができる。
さらに、ネットワーク回線６１によって接続された複数のロボット制御装置２０が、システムソフトウェア４０の更新が完了したロボット制御装置２０の報知を受けることによって、ネットワーク回線６１によって接続された全てのロボット制御装置２０のシステムソフトウェア４０を更新することができ、システムソフトウェア４０の更新作業によって発生する作業負荷を大幅に軽減することができる。
【００４２】
さらに、システムソフトウェア４０を転送中のロボット制御装置２０が、他のロボット制御装置２０からシステムソフトウェア４０のバージョン番号確認要求を受ける前に、システムソフトウェア４０の転送中であることを前記他のロボット制御装置２０に提示することによって、システムソフトウェア４０の更新作業中に割込処理が入ることを防止するとともに、更新作業中の不完全なシステムソフトウェア４０が他のロボット制御装置２０に転送されることを防止する。これによって、更新が不完全なシステムソフトウェア４０を誤って転送することによって、ロボット制御装置２０の機能が損なわれる可能性をなくすことができ、安全にシステムソフトウェア４０の更新を行うことができる。
さらに、システムソフトウェア４０を取得中のロボット制御装置のＥＰＲＯＭ２２に記憶されている、更新作業前の古いシステムソフトウェア４０に対して、システムソフトウェアの転送要求が行われることを防止する。よって、ネットワーク回線６１によって接続された複数のロボット制御装置２０に対して、最新のシステムソフトウェア４０に更新を完了したロボット制御装置２０のみが転送要求を受けるようにすることができ、効率的なシステムソフトウェア４０の転送を行うことができる。
【００４３】
（その他）
なお、上述のシステムソフトウェア４０の更新はシステムソフトウェア４０に限らず、ロボット制御装置２０が扱う全てのアプリケーションソフトウェア、ファイル、及びデータに適用できる。
【図面の簡単な説明】
【００４４】
【図１】本発明の一実施形態の全体構成図である。
【図２】図１に開示したロボットおよびロボット制御装置の構成図である。
【図３】図２に開示したロボット制御装置が備えるＥＰＲＯＭに形成されているデータエリアおよびその記憶内容を示す構成図である。
【図４】図１に開示したロボットシステムにおけるシステムソフトウェアの更新において、手動で行われる更新の処理を示すフローチャートである。
【図５】図１に開示したロボットシステムにおけるシステムソフトウェアの更新において、更新報知およびバージョン番号報知を受けたロボット制御装置が行う更新の処理を示すフローチャートのうち、転送要求対象から取得したバージョン番号と自己のバージョン番号との比較処理までの処理を示すフローチャートである。
【図６】図１に開示したロボットシステムにおけるシステムソフトウェアの更新において、更新報知およびバージョン番号報知を受けたロボット制御装置が行う更新の処理を示すフローチャートのうち、転送要求対象にシステムソフトウェアの転送要求を行う処理以降の処理を示すフローチャートである。
【図７】図１に開示したロボットシステムにおけるシステムソフトウェアの更新において、転送要求対象として指定されたロボット制御装置が行う処理を示すフローチャートである。
【符号の説明】
【００４５】
１０  ロボット
２０  ロボット制御装置
２１  ＣＰＵ
２２  ＥＰＲＯＭ
２３  ＲＡＭ
２６  バッファ
２８  ＮＩＣ
６１  ネットワーク回線
【図１】
2008139972.tif 000003
【図２】
2008139972.tif 000004
【図３】
2008139972.tif 000005
【図４】
2008139972.tif 000006
【図５】
2008139972.tif 000007
【図６】
2008139972.tif 000008
【図７】
2008139972.tif 000009