(57)【特許請求の範囲】
【請求項１】
ロボットに所望の動作を行なわせる動作制御装置と、前記ロボットに動作指示を行う動作指示装置とが所定のネットワークを介して接続されているロボットコントロール・システムにおいて、
前記動作制御装置は、
第１記憶部の所定の記憶領域に記憶されている第２プログラムで動作中に、前記動作指示装置が出力する第１プログラムを受け取り、受け取った前記第１プログラムを第２記憶部の所定の記憶領域に書き込んで記憶させ、前記第２記憶部の所定の記憶領域に記憶させた前記第１プログラムを第１記憶部の前記第２プログラムが記憶されていない所定の記憶領域に書き込んで記憶させ、書き換え検証部が出力するベリファイ情報を受け取り、受け取った前記ベリファイ情報に対応した選択情報を、前記第１記憶部の前記第１プログラム及び前記第２プログラムが記憶されていない所定の記憶領域に書き込んで記憶させ、前記第１記憶部の所定の記憶領域に記憶されている前記選択情報に基づいて、前記第１記憶部の所定の記憶領域に記憶されている前記第１プログラム及び前記第２プログラムのいずれか一方を読み出して動作を行う追加機能部と、
前記追加機能部に接続された前記第２プログラムと前記選択情報を記憶する前記第１記憶部と、
前記追加機能部に接続された前記第２記憶部と、
前記第１記憶部の所定の記憶領域に記憶されている前記第１プログラムと、前記第２記憶部の所定の記憶領域に記憶されている前記第１プログラムとのベリファイを行い、ベリファイを行った結果の前記ベリファイ情報を前記追加機能部に出力する前記書き換え検証部と、
を備えることを特徴とするロボットコントロール・システム。
【請求項２】
前記追加機能部は、
前記動作指示装置との通信情報の変換を行い、前記動作指示装置が出力する前記第１プログラムである第１通信変換制御プログラムを受け取り、受け取った前記第１通信変換制御プログラムを前記第２記憶部の所定の記憶領域に書き込んで記憶させ、前記第２記憶部に記憶させた前記第１通信変換制御プログラムを前記第１記憶部の所定の記憶領域に書き込んで記憶させ、前記書き換え検証部が出力する前記ベリファイ情報を受け取り、受け取った該ベリファイ情報に基づく前記選択情報を前記第１記憶部の所定の記憶領域に書き込んで記憶させることを特徴とする請求項１に記載のロボットコントロール・システム。
【請求項３】
前記第１記憶部および前記第２記憶部、あるいは、前記第１記憶部または前記第２記憶部は、前記第１通信変換制御プログラムが記憶される所定の記憶領域を複数備えることを特徴とする請求項２に記載のロボットコントロール・システム。
【請求項４】
前記追加機能部は、
前記第１記憶部の所定の記憶領域に記憶されている前記選択情報を読み出し、読み出した該選択情報に対応した前記第１記憶部の所定の領域から前記第２プログラムを読み出し、前記第２記憶部に記憶させた前記第１プログラムを、前記第１記憶部の前記第２プログラムが記憶されていない所定の記憶領域に書き込んで記憶させることを特徴とする請求項１から請求項３のいずれか１項に記載のロボットコントロール・システム。
【請求項５】
第１記憶部と第２記憶部を備えロボットに所望の動作を行なわせる動作制御装置と、前記ロボットに動作指示を行う動作指示装置とが所定のネットワークを介して接続されているロボットコントロール・システムのロボットコントロール方法において、
追加機能部が、前記第１記憶部の所定の記憶領域に記憶されている第２プログラムを読み出して、読み出した前記第２プログラムで動作させる第２プログラム動作工程と、
前記追加機能部が、前記第２プログラムで動作中に、前記動作指示装置が出力する第１プログラムを受け取り、受け取った前記第１プログラムを前記第２記憶部の所定の記憶領域に書き込んで記憶させる第１プログラム記憶工程と、
前記追加機能部が、前記第２記憶部の所定の記憶領域に記憶させた前記第１プログラムを前記第１記憶部の前記第２プログラムが記憶されていない所定の記憶領域に書き込んで記憶させる第２記憶部記憶工程と、
書き換え検証部が、前記第１記憶部の所定の記憶領域に記憶されている前記第１プログラムと、前記第２記憶部の所定の記憶領域に記憶されている前記第１プログラムとのベリファイを行い、ベリファイを行った結果のベリファイ情報を前記追加機能部に出力する検証工程と、
前記追加機能部が、前記検証工程が出力する前記ベリファイ情報を受け取り、受け取った該ベリファイ情報に対応した選択情報を前記第１記憶部の所定の記憶領域に書き込んで記憶させる選択情報書き込み工程と、
前記追加機能部が、前記第１記憶部の所定の記憶領域に記憶されている前記選択情報に基づいて、前記第１記憶部の所定の記憶領域に記憶されている前記第１プログラム及び前記第２プログラムのいずれか一方を読み出して動作を行う工程と、
を備えることを特徴とするロボットコントロール方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットコントロール・システム、ロボットコントロール方法に関する。
【背景技術】
【０００２】
機器の組み立てや部品搬送用途向け等に用いるロボットをコントロールするロボットコントロール・システムは、一般的に動作制御装置（サブコントローラー）と動作指示装置（主コントローラー）を備えている。動作制御装置は、例えば、ロボットの各軸のモーターを制御し、ロボットが所望の動作をするように制御する。また、動作指示装置は、例えば、外部ネットワークとのインターフェース、汎用アプリケーション、ロボット動作に必要なデータベース等を備え、動作制御装置と動作指示装置とが、所定の通信規格に基づいて接続されている。さらに、動作制御装置と動作指示装置は、それぞれの内部に各装置の制御プログラムを備えている。
【０００３】
このようなロボットコントロール・システムにおいて、動作制御装置のコントローラープログラムの更新を行う場合、システムの起動時に動作指示装置内に記憶されているコントローラープログラムを動作制御装置にダウンロードし、コントローラープログラムの更新を行う。この場合、動作指示装置内に記憶されている動作指示装置のプログラムに変更が生じた場合、動作制御装置のコントローラープログラムも合わせて書き換えておけば、システム起動時に自動的に動作制御装置のコントローラープログラムが更新できる（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−２０９２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１のロボットコントロール・システムにおいて、例えば、機能を拡張するために動作制御装置にプログラムを備える拡張機能部を追加した場合、この追加した拡張機能部のプログラムも適時更新する必要が生じる。例えば、追加機能部を例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）に接続している汎用的なＣＰＵ（中央演算装置）で実現した場合、追加機能部のプログラムを更新するためには、追加機能部に接続されているＲＯＭを差し替える必要があるという問題があった。あるいは、動作制御装置の追加機能部に、直接、プログラムの書き換え装置を接続してプログラムを更新する必要があるという問題があった。特に、製造ライン等で、複数の動作指示装置、動作制御装置、および、ロボットが接続されている場合、一度、ロボットコントロール・システムを停止し、その上で各動作制御装置の追加機能部にプログラムの書き換え装置を接続し、更新する必要があるため多くの工数を要するという問題があった。
【０００６】
本発明は、上記の問題点に鑑みてなされたものであって、ロボットコントロール・システムを停止することなく、動作制御装置の機能を拡張する追加機能部の制御プログラムの更新を行うことを可能にしたロボットコントロール・システム、ロボットコントロール方法を提供することを課題とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明にかかるロボットコントロール・システムは、ロボットに所望の動作を行なわせる動作制御装置と、前記ロボットに動作指示を行う動作指示装置とが所定のネットワークを介して接続されているロボットコントロール・システムにおいて、前記動作制御装置は、第１記憶部の所定の記憶領域に記憶されている第２プログラムで動作中に、前記動作指示装置が出力する第１プログラムを受け取り、受け取った前記第１プログラムを第２記憶部の所定の記憶領域に書き込んで記憶させ、前記第２記憶部の所定の記憶領域に記憶させた前記第１プログラムを第１記憶部の前記第２プログラムが記憶されていない所定の記憶領域に書き込んで記憶させ、書き換え検証部が出力するベリファイ情報を受け取り、受け取った前記ベリファイ情報に対応した選択情報を、前記第１記憶部の前記第１プログラム及び前記第２プログラムが記憶されていない所定の記憶領域に書き込んで記憶させ、前記第１記憶部の所定の記憶領域に記憶されている前記選択情報に基づいて、前記第１記憶部の所定の記憶領域に記憶されている前記第１プログラム及び前記第２プログラムのいずれか一方を読み出して動作を行う追加機能部と、前記追加機能部に接続された前記第２プログラムと前記選択情報を記憶する前記第１記憶部と、前記追加機能部に接続された前記第２記憶部と、前記第１記憶部の所定の記憶領域に記憶されている前記第１プログラムと、前記第２記憶部の所定の記憶領域に記憶されている前記第１プログラムとのベリファイを行い、ベリファイを行った結果の前記ベリファイ情報を前記追加機能部に出力する前記書き換え検証部と、を備えることを特徴としている。
【０００８】
また、本発明にかかるロボットコントロール・システムにおいて、前記追加機能部は、前記動作指示装置との通信情報の変換を行い、前記動作指示装置が出力する前記第１プログラムである第１通信変換制御プログラムを受け取り、受け取った前記第１通信変換制御プログラムを前記第２記憶部の所定の記憶領域に書き込んで記憶させ、前記第２記憶部に記憶させた前記第１通信変換制御プログラムを前記第１記憶部の所定の記憶領域に書き込んで記憶させ、前記書き換え検証部が出力する前記ベリファイ情報を受け取り、受け取った該ベリファイ情報に基づく前記選択情報を前記第１記憶部の所定の記憶領域に書き込んで記憶させることを特徴としている。
【０００９】
また、本発明にかかるロボットコントロール・システムは、前記第１記憶部および前記第２記憶部、あるいは、前記第１記憶部または前記第２記憶部は、前記第１通信変換制御プログラムが記憶される所定の記憶領域を複数備えることを特徴としている。
【００１０】
また、本発明にかかるロボットコントロール・システムにおいて、前記追加機能部は、前記第１記憶部の所定の記憶領域に記憶されている前記選択情報を読み出し、読み出した該選択情報に対応した前記第１記憶部の所定の領域から前記第２プログラムを読み出し、前記第２記憶部に記憶させた前記第１プログラムを、前記第１記憶部の前記第２プログラムが記憶されていない所定の記憶領域に書き込んで記憶させることを特徴としている。
【００１１】
また、本発明にかかるロボットコントロール・システムのロボットコントロール方法は、第１記憶部と第２記憶部を備えロボットに所望の動作を行なわせる動作制御装置と、前記ロボットに動作指示を行う動作指示装置とが所定のネットワークを介して接続されているロボットコントロール・システムのロボットコントロール方法において、追加機能部が、前記第１記憶部の所定の記憶領域に記憶されている第２プログラムを読み出して、読み出した前記第２プログラムで動作させる第２プログラム動作工程と、前記追加機能部が、前記第２プログラムで動作中に、前記動作指示装置が出力する第１プログラムを受け取り、受け取った前記第１プログラムを前記第２記憶部の所定の記憶領域に書き込んで記憶させる第１プログラム記憶工程と、前記追加機能部が、前記第２記憶部の所定の記憶領域に記憶させた前記第１プログラムを前記第１記憶部の前記第２プログラムが記憶されていない所定の記憶領域に書き込んで記憶させる第２記憶部記憶工程と、書き換え検証部が、前記第１記憶部の所定の記憶領域に記憶されている前記第１プログラムと、前記第２記憶部の所定の記憶領域に記憶されている前記第１プログラムとのベリファイを行い、ベリファイを行った結果のベリファイ情報を前記追加機能部に出力する検証工程と、前記追加機能部が、前記検証工程が出力する前記ベリファイ情報を受け取り、受け取った該ベリファイ情報に対応した選択情報を前記第１記憶部の所定の記憶領域に書き込んで記憶させる選択情報書き込み工程と、前記追加機能部が、前記第１記憶部の所定の記憶領域に記憶されている前記選択情報に基づいて、前記第１記憶部の所定の記憶領域に記憶されている前記第１プログラム及び前記第２プログラムのいずれか一方を読み出して動作を行う工程と、を備えることを特徴としている。
【００１２】
本発明によれば、ロボットコントロール・システム起動時に、動作制御装置の第１記憶部と第２記憶部を用いて動作制御装置の機能を拡張する追加機能部のプログラムの更新を行うようにしたので、ロボットコントロール・システムを停止することなく、動作制御装置に追加した機能部の制御プログラムの更新を行うことができるロボットコントロール・システム、ロボットコントロール方法を提供することが可能になる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第一実施形態に係るロボットコントロール・システムのブロック図の一例を示す図である。
【図２】同実施形態に係る第１記憶部と第２記憶部に記憶されているデータの構造の一例を示す図である。
【図３】同実施形態に係るプログラムアップデート手順のフローチャートである。
【図４】同実施形態に係るプログラムアップデート手順のフローチャートである。
【図５】本発明の第二実施形態に係る複数の動作制御装置が接続されているロボットコントロール・システムの構成の一例を示す図である。
【図６】第二実施形態に係る各動作制御装置の第１記憶部と第２記憶部に記憶されているデータの構造の一例を示す図である。
【図７】第三実施形態に係る通信変換制御プログラムの更新手順のフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態について、図１〜図７を用いて説明する。なお、本発明は係る実施形態の構成に限定されず、本発明の技術思想の範囲内で種々の変更が可能である。
【００１５】
[第一実施形態]
第一の実施形態について図１〜図４を用いて説明する。図１は、第一の実施形態におけるロボットコントロール・システムの構成の一例を示すブロック図である。ロボットコントロール・システム１は、動作制御装置２と動作指示装置３を備えている。動作制御装置２は、ロボット４が接続されている。また、動作制御装置２と動作指示装置３は、ネットワーク５を介して接続している。また、ロボット４は、例えば、産業用のスカラロボットや多軸ロボット等であり、ロボットコントロール・システム１により動作が制御される。
【００１６】
次に、動作制御装置２の構成について説明する。動作制御装置２は、通信部２０１と、通信変換部２０２と、第１記憶部２０３と、第２記憶部２０４と、プログラム実行部２０５と、第３記憶部２０６と、ロボット制御部２０７と、書き換え検証部２０８とを備えている。
【００１７】
通信部２０１は、ネットワーク５を介して動作指示装置３と接続し、動作指示装置３との各種データや各種指示、コントローラープログラム、通信変換制御プログラム等の送受信を行う。また、通信部２０１は、受信した各種データや各種指示、コントローラープログラムと通信変換制御プログラムを通信変換部２０２に出力する。
【００１８】
通信変換部２０２（追加機能部）は、第１記憶部２０３に記憶されている基本動作プログラムであるＩＰＬ（Ｉｎｉｔｉａｌ  Ｐｒｏｇｒａｍ  Ｌｏａｄｅｒ）を読み出し、読み出したＩＰＬに基づき第１記憶部２０３の選択領域に記憶されている選択情報と、記憶領域Ａまたは記憶領域Ｂに記憶されている通信変換プログラムを読み出して動作を行う。なお、ＩＰＬは、通信変換部２０２を起動して通信変換制御プログラムの読み出し等の基本動作を行う起動アプリケーションである。また、通信変換部２０２は、通信部２０１とプログラム実行部２０５との間で異なる通信方式を変換する。さらに、通信変換部２０２は、通信部２０１が出力する各種データやコントローラープログラムと通信変換制御プログラムを受け取り、受け取った各種データや各種指示、コントローラープログラムをプログラム実行部２０５に出力する。さらにまた、通信変換部２０２は、受け取った通信変換制御プログラムを第２記憶部２０４に書き込んで記憶させる。また、通信変換部２０２は、書き換え検証部２０８が出力するベリファイ結果を受け取り、受け取ったベリファイ結果に基づき第２記憶部２０４に記憶されている通信変換制御プログラムを第１記憶部２０３に書き込んで記憶させる。
【００１９】
第１記憶部２０３は、Ｆｌａｓｈ  ＲＯＭであり、ＩＰＬと選択情報と通信変換制御プログラムとを記憶している。第２記憶部２０４は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であり、通信変換制御プログラムを一時記憶している。図２は、第１記憶部２０３と第２記憶部２０４に記憶されているデータの構造の一例を示す図である。図２のように、第１記憶部２０３は、ＩＰＬと、起動時に通信変換制御プログラムを記憶領域Ａまたは記憶領域Ｂから読み出すかの設定である選択情報を記憶する選択領域と、通信変換制御プログラムを記憶する記憶領域Ａと記憶領域Ｂとから構成されている。また、第２記憶部２０４は、通信変換制御プログラムを一時記憶するための記憶領域Ｃと記憶領域Ｄとから構成されている。
【００２０】
プログラム実行部２０５は、通信変換部２０２が出力するコントローラープログラムを受け取り、受け取ったコントローラープログラムを第３記憶部２０６に書き込んで記憶させる。また、プログラム実行部２０５は、第３記憶部２０６に記憶されているコントローラープログラムを読み出し、読み出したコントローラープログラムに基づき、ロボット４を制御するコマンドをロボット制御部２０７に出力する。
【００２１】
第３記憶部２０６は、ＲＡＭであり、コントローラープログラムを記憶している。
【００２２】
ロボット制御部２０７は、プログラム実行部２０５が出力するロボット４の各種制御コマンドを受け取り、受け取った制御コマンドに基づいてロボット４を制御する。
【００２３】
書き換え検証部２０８は、第１記憶部２０３に記憶されている通信変換制御プログラムと第２記憶部２０４に記憶されている通信変換制御プログラムとをベリファイを行い、ベリファイを行った結果を通信変換部２０２に出力する。
【００２４】
次に、動作指示装置３の構成について説明する。動作指示装置３は、通信部３０１と、演算部３０２と、ＲＯＭ３０３と、データ読出部３０４と、第４記憶部３０５とを備えている。
【００２５】
通信部３０１は、ネットワーク５を介して動作制御装置２と接続し、動作制御装置２とのロボット４の制御に関わる各種データや各種指示等、および、演算部３０２が出力するコントローラープログラムや通信変換制御プログラム等の送受信を行う。
【００２６】
演算部３０２は、ＲＯＭ３０３に記憶されているプログラムを読み出し、読み出したプログラムに基づき動作を開始する。また、演算部３０２は、通信部３０１が出力する各種データや各種指示等を受け取り、受け取った各種データや各種指示に基づきデータ読出部３０４にデータ読み出し指示等を行う。ＲＯＭ３０３は、例えば、ＯＳ（オペレーティング・システム）や動作指示に関するアプリケーション、ロボット４へ指示する座標等の動作指示に関する各種データが記憶されている。
【００２７】
データ読出部３０４は、演算部３０２からプログラムの読み出し指示を受け取り、受け取った読み出し指示に応じて、第４記憶部３０５に記憶されているコントローラープログラムまたは通信変換制御プログラムを読み出し、読み出したコントローラープログラムまたは通信変換制御プログラムを演算部３０２に出力する。
【００２８】
第４記憶部３０５は、コントローラープログラムと通信変換制御プログラムとが記憶されている。
【００２９】
次に、図３と図４のフローチャートを用いて、通信変換部２０２の通信変換制御プログラム変換方法を説明する。図３と図４は、通信変換部２０２のプログラムアップデート手順のフローチャートである。なお、動作制御装置２と動作指示装置３はネットワーク５を介して接続されている場合について以下の説明を行う。
【００３０】
まず、ロボットコントロール・システム１の電源投入後、動作指示装置３の演算部３０２は、ＲＯＭ３０３に記憶されている動作指示装置３の起動プログラムを読み出し、読み出した起動プログラムに基づき、動作指示装置３を起動する。
【００３１】
次に、動作制御装置２の通信変換部２０２は、第１記憶部２０３に記憶されているＩＰＬを読み出し（ステップＳ１）、読み出したＩＰＬに基づき動作制御装置２を起動する。
【００３２】
次に、通信変換部２０２は、第１記憶部２０３の選択領域の選択情報を読み出し、通信変換制御プログラムの読み出し領域が、記憶領域Ａまたは記憶領域Ｂのどちらに設定されているか判定する（ステップＳ２）。通信変換部２０２は、記憶領域Ａに設定されている場合（ステップＳ２；Ａ）、第１記憶部２０３の記憶領域Ａから通信変換制御プログラム（第２プログラム）を読み出し（ステップＳ３）、記憶領域Ｂに設定されている場合（ステップＳ２；Ｂ）、第１記憶部２０３の記憶領域Ｂから通信変換制御プログラムを読み出す（ステップＳ４）。また、通信変換部２０２は、読み出した通信変換制御プログラムを第２記憶部２０４の記憶領域Ｃに書き込んで記憶させる（ステップＳ５）。次に、通信変換部２０２は、第２記憶部２０４の記憶領域Ｃに記憶されている通信変換制御プログラムを読み出して、通信変換等の動作を開始する（ステップＳ６；第２プログラム動作工程）。
【００３３】
次に、演算部３０２は、データ読出部３０４に通信変換制御プログラム（第１プログラム）の読み出し指示を行い（ステップＳ７）、データ読出部３０４が出力する通信変換制御プログラムを受け取り、受け取った通信変換制御プログラムを通信部３０１に出力する。次に、通信部３０１は、演算部３０２が出力する通信変換制御プログラムを受け取り、受け取ったコントローラープログラムを、ネットワーク５を介して接続されている動作制御装置２に出力する（ステップＳ８）。
【００３４】
次に、動作制御装置２の通信部２０１は、動作指示装置３が出力した通信変換制御プログラムを受け取り（ステップＳ９）、受け取った通信変換制御プログラムを通信変換部２０２に出力する。次に、通信変換部２０２は、受け取った通信変換制御プログラムを第２記憶部２０４の記憶領域Ｄに書き込んで記憶させる（ステップＳ１０；第１プログラム記憶工程）。
【００３５】
次に、通信変換部２０２は、第２記憶部２０４の記憶領域Ｄに記憶されている通信変換制御プログラムを読み出して、読み出した通信変換制御プログラムを第１記憶部２０３の記憶領域Ｂに書き込んで記憶させる（ステップＳ２１；第２記憶部記憶工程）。次に、書き換え検証部２０８は、第２記憶部２０４の記憶領域Ｄに記憶されている通信変換制御プログラムと、第１記憶部２０３の記憶領域Ｂに記憶されている通信変換制御プログラムとのベリファイを行う（ステップＳ２２；検証工程）。ベリファイの結果、両方の通信変換制御プログラムが一致する場合（ステップＳ２２；Ｙｅｓ）、書き換え検証部２０８は、記憶領域Ｂから読み出す設定を第２記憶部２０４の選択領域に書き込んで記憶させることで設定を更新する（ステップＳ２３；選択情報書き込み工程）。一方、両方の通信変換制御プログラムが一致しない場合（ステップＳ２２；Ｎｏ）、書き換え検証部２０８は、第２記憶部２０４の選択領域に記憶されている記憶領域Ａから読み出す設定を更新しない。
【００３６】
次に、演算部３０２は、データ読出部３０４にコントローラープログラムの読み出し指示を行い、データ読出部３０４が出力するコントローラープログラムを受け取り（ステップＳ２４）、受け取ったコントローラープログラムを通信部３０１に出力する。次に、通信部３０１は、演算部３０２が出力するコントローラープログラムを受け取り、受け取ったコントローラープログラムを、ネットワーク５を介して接続されている動作制御装置２に出力する（ステップＳ２５）。
【００３７】
次に、動作制御装置２の通信部２０１は、動作指示装置３が出力したコントローラープログラムを受け取り（ステップＳ２６）、受け取ったコントローラープログラムを通信変換部２０２に出力する。次に、通信変換部２０２は、受け取ったコントローラープログラムをプログラム実行部２０５に出力する。次に、プログラム実行部２０５は、受け取ったコントローラープログラムを第３記憶部２０６に書き込んで記憶させる（ステップＳ２７）。次に、プログラム実行部２０５は、第３記憶部２０６に記憶されているコントローラープログラムを読み出し、読み出したプログラムに基づきロボット４の制御を開始する。
以上で、通信変換部２０２の通信制御プログラムの更新手続きを終了する。
【００３８】
以上のように、動作制御装置２に追加した通信変換部２０２を、まず第１記憶部２０３に記憶されている通信変換制御プログラムで制御する。次に、動作指示装置３と動作制御装置２との間で通信を確立した後、更新する通信変換制御プログラムを一度第２記憶部２０４に書き込んで記憶させ、この通信変換制御プログラムを第１記憶部２０３の動作中の通信変換制御プログラムが書き込まれている領域とは別の記憶領域に書き込んで記憶させる。そして、第１記憶部２０３に書き込みが成功したと判定した場合、通信変換部２０２は通信変換制御プログラムの更新が成功したと判定し、選択領域の設定も更新し、次の起動時から更新した通信変換制御プログラムを用いて制御を行う。この結果、ロボットコントロール・システム１の起動時、動作制御装置２の第１記憶部２０３と第２記憶部２０４を用いてロボットコントロール・システム１を停止することなく、動作制御装置２に追加した機能部である通信変換部２０２の通信変換制御プログラムの更新を行うことができる。
【００３９】
［第二実施形態］
次に、図１、図３、図５、および図６を用いて第二の実施形態について説明する。図５は、複数の動作制御装置が接続されているロボットコントロール・システム１の構成の一例を示す図である。図６は、各動作制御装置の第１記憶部２０３と第２記憶部２０４に記憶されているデータの構造の一例を示す図である。図５のように、動作指示装置３に複数の動作制御装置２と動作制御装置４０１がデイジーチェーン（ｄａｉｓｙ  ｃｈａｉｎ）で接続され、さらに、各動作制御装置にロボット４とロボット４５１が接続されている。動作制御装置２と動作制御装置４０１の構成は図１と同一のため説明は省略する。また、動作制御装置２と動作制御装置４０１とは、ネットワーク５を介して、通信部２０１同士で接続されている。動作制御装置は、デイジーチェーンでさらに複数接続することも同様に構成可能であるが、説明を簡単にするために、図５のような動作制御装置が２台接続されている場合を以下に説明する。また、図６のように、動作制御装置４０１は、第１記憶部２０３の記憶領域Ａ’と記憶領域Ｂ’、および、第２記憶部２０４の記憶領域Ｃ’と記憶領域Ｄ’を備えている。
【００４０】
図３のフローチャートにおいて、ステップＳ１〜ステップＳ２７を動作制御装置２と動作制御装置４０１とが同時に行う。すなわち、まず、動作制御装置２の通信変換部２０２が第１記憶部２０３の記憶領域Ａから読み出した通信変換制御プログラムを記憶領域Ｃに書き込んで記憶させ、書き込んだ通信変換制御プログラムで動作を開始する。同時に動作制御装置４０１の通信変換部２０２が第１記憶部２０３の記憶領域Ａ’から読み出した通信変換制御プログラムを記憶領域Ｃ’に書き込んで記憶させ、書き込んだ通信変換制御プログラムで動作を開始する（ステップＳ１〜ステップＳ６）。次に、動作指示装置３が出力する通信変換制御プログラムを動作制御装置２と動作制御装置４０１の各通信部２０１が受け取り、受け取った通信変換制御プログラムを各通信変換部２０２が各第２記憶部２０４の記憶領域Ｄと記憶領域Ｄ’に書き込んで記憶させる。さらに、各通信変換部２０２は、各第２記憶部２０４の記憶領域Ｄと記憶領域Ｄ’に記憶されている通信変換制御プログラムを各第１記憶部２０３の記憶領域Ｂと記憶領域Ｂ’に書き込んで記憶させる（ステップＳ７〜ステップＳ２３）。以下，第一の実施形態と同様に、動作指示装置３が出力するコントローラープログラムを各通信部２０１が受け取り、受け取ったコントローラープログラムを、各通信変換部２０２を介して各プログラム実行部２０５が受け取り、受け取ったコントローラープログラムにより動作を開始する（ステップＳ２４〜ステップＳ２７）。
【００４１】
以上のように、複数の動作制御装置を有するロボットコントロール・システム１においても、ロボットコントロール・システム１起動時に、各動作制御装置の第１記憶部２０３と第２記憶部２０４を用いて動作制御装置２に追加した機能部である通信変換部２０２のプログラムの更新を行うようにしたので、ロボットコントロール・システム１を停止することなく、動作制御装置２に追加した機能部である通信変換部２０２の通信変換制御プログラムの更新を行うことができる。
【００４２】
［第三実施形態］
第一の実施形態および第二の実施形態では、第１記憶部２０３と第２記憶部２０４にそれぞれ通信変換制御プログラムを記憶する領域を２つずつ備える例を説明したが、１つずつでも良い。この場合、第１記憶部２０３に記憶領域Ａ、第２記憶部２０４に記憶領域Ｃのみを備えている。第三の実施形態における通信変換制御プログラムの更新手順の概略を図３と図７のフローチャートを用いて説明する。図３のステップＳ１終了後、第１記憶部２０３の記憶領域Ａから通信変換制御プログラムを読み出す（ステップＳ３）。ステップＳ４〜ステップＳ８までは図３と同様に行い、ステップＳ８終了後、動作制御装置２の通信部２０１は、動作指示装置３が出力した通信変換制御プログラムを受け取り（ステップＳ１０１）、受け取った通信変換制御プログラムを通信変換部２０２に出力する。次に、通信変換部２０２は、受け取った通信変換制御プログラムを第２記憶部２０４の記憶領域Ｃに書き込んで記憶させる（ステップＳ１０２）。
【００４３】
次に、通信変換部２０２は、第２記憶部２０４の記憶領域Ｃに記憶されている通信変換制御プログラムを読み出してチェックサム等を確認し、通信変換制御プログラムを正しく動作指示装置３から受信できているか判定する（ステップＳ１０３）。ベリファイの結果、通信変換制御プログラムが正しく受信できていないと判定した場合（ステップＳ１０３；Ｎｏ）、通信変換部２０２は通信部２０１に通信変換制御プログラムの再送依頼を出力し（ステップＳ１０４）、ステップステップＳ１０１に戻る。ベリファイの結果、通信変換制御プログラムが正しく受信できている判定した場合（ステップＳ１０３；Ｙｅｓ）、通信変換部２０２は、第２記憶部２０４の記憶領域Ｃに記憶されている通信変換制御プログラムを読み出して、読み出した通信変換制御プログラムを第１記憶部２０３の記憶領域Ａに書き込んで記憶させる（ステップＳ１０５）。以後、ステップＳ２４〜ステップＳ２７を同様に行う。
【００４４】
なお、本実施形態では、通信変換部２０２の通信変換制御プログラムの更新を行う例を説明したが、コントローラープログラムを先に更新するようにしても良い。この場合、ステップＳ６終了後、ステップＳ２４〜ステップＳ２７を行い、ステップＳ２７終了後にステップ７〜ステップＳ２３を行う。
【００４５】
また、第一の実施形態では、動作指示装置３が出力する通信変換制御プログラムのベリファイを行わない例を説明したが、第三の実施形態と同様に通信変換部２０２がチェックサム等を用いてベリファイを行っても良く、ベリファイの結果がＯＫの場合、第２記憶部２０４に記憶されている通信変換制御プログラムを第１記憶部２０３に書き込んで記憶させるようにしても良い。
【００４６】
また、本実施形態では、通信変換制御プログラムの更新はロボットコントロール・システム１の起動時に行う例を説明したが、例えば、動作制御装置２がロボット４を制御しているバックグラウンドで、更新する通信変換制御プログラムを動作指示装置３から動作制御装置２に送信し、動作制御装置２の第１記憶部２０３に書き込んで記憶させておき、次回の起動時から更新した通信変換制御プログラムで起動するようにしても良い。
【００４７】
また、本実施形態では、第１記憶部２０３と第２記憶部２０４にそれぞれ通信変換制御プログラムを記憶する領域を２つずつ備える例を説明したが、３つずつであってもよく、あるいは第１記憶部２０３と第２記憶部２０４が備える記憶領域数が異なっていても良い。
【００４８】
また、本実施形態では、動作指示装置３を図１の構成について説明したが、動作指示を行うアプリケーション等をインストールしたＰＣ（パーソナル・コンピューター）を用いても良い。また、本実施形態では、動作指示装置３のプログラムをＲＯＭ３０３に記憶させている例を説明したが、図示しないＣＰＵに接続されたＲＯＭ、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）もしくはＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）  Ｉ／Ｆ（インターフェース）を介して接続されるＵＳＢメモリー等の記憶装置に記憶させて用いることも可能である。
【００４９】
また、本実施形態では、通信変換部２０２と第１記憶部２０３とを分けて構成する例を説明したが、通信変換部２０２と第１記憶部２０３を、例えば、Ｆｌａｓｈ  ＲＯＭ内蔵のＣＰＵ（中央演算装置）で構成するようにしても良い。また、第２記憶部２０４と第３記憶部２０６とを分けて２つのＲＡＭで構成する例を説明したが、記憶領域を分けて、１つのＲＡＭで構成しても良い。
【００５０】
また、本実施形態では、追加機能部の実施例として通信変換を行う例を説明したが、これに限られず、動作制御装置３に他の機能を拡張する場合においても、通信変換部を必要な追加機能部に置き換えることで実現することができる。
【００５１】
なお、実施形態の図１の各部の機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピューターシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【符号の説明】
【００５２】
１・・・ロボットコントロール・システム
２・・・動作制御装置
３・・・動作指示装置
４・・・ロボット
５・・・ネットワーク
２０１、３０１・・・通信部
２０２・・・通信変換部
２０３・・・第１記憶部
２０４・・・第２記憶部
２０５・・・プログラム実行部
２０６・・・第３記憶部
２０７・・・ロボット制御部
２０８・・・書き換え検証部
３０２・・・演算部
３０３・・・ＲＯＭ
３０４・・・データ読出部
３０５・・・第４記憶部
【図１】
0005459601.tif 000002
【図２】
0005459601.tif 000003
【図３】
0005459601.tif 000004
【図４】
0005459601.tif 000005
【図５】
0005459601.tif 000006
【図６】
0005459601.tif 000007
【図７】
0005459601.tif 000008