(57)【特許請求の範囲】
【請求項１】
機器毎に動作プログラムを独立させ、該動作プログラムで動作する複数の機器と、
前記複数の機器に個別に対応する動作プログラムを、前記複数の機器を識別する識別情報に対応させて格納した記憶手段を有し、前記複数の機器から選択される機器に接続されると、接続した前記機器に対する問い合せによって前記機器から受信した前記識別情報に基づいて、前記記憶手段から接続した前記機器を動作させるに必要な動作プログラムを特定し、前記機器に対応して個性化される教示装置と、
を備えることを特徴とする機器システム。
【請求項２】
複数の機器に共通の教示装置に搭載されるコンピュータに実行させる制御プログラムであって、
前記複数の機器に個別に対応する動作プログラムを、前記複数の機器を識別する識別情報に対応させて記憶手段に格納し、
前記複数の機器から動作させる機器を選択して接続し、
前記複数の機器から動作させる機器に対して前記識別情報を問い合せ、前記機器より前記識別情報を受信すると、受信した前記識別情報に対応する動作プログラムを前記記憶手段から特定し、
特定された前記動作プログラムにより前記教示装置を個性化する処理を前記コンピュータに実行させるための機器システムの制御プログラム。
【請求項３】
複数の動作プログラムから選択される動作プログラムで動作する機器であって、
前記動作プログラムを選択する教示装置と接続されることで該教示装置から指示情報を受け、該指示情報を発した前記教示装置に識別情報を送信する通信部と、
前記識別情報で特定された前記動作プログラムにより個性化された前記教示装置によって制御される制御部と、
を備えることを特徴とする機器。
【請求項４】
複数の機器毎に動作プログラムを独立させ、該動作プログラムで動作する前記複数の機器を備える機器システムを制御する電子機器であって、
前記複数の機器に個別に対応する動作プログラムを、前記複数の機器それぞれを識別する識別情報に対応させて格納する記憶手段と、
前記複数の機器から動作させる機器を選択する選択手段と、
前記複数の機器から前記選択手段で選択された機器と通信し、該機器に対する問い合せによって前記機器の前記識別情報を取得する通信手段と、
選択された前記機器から受信した前記識別情報に基づいて、前記機器を動作させるに必要な動作プログラムを前記記憶手段から選択し、選択された前記動作プログラムにより前記機器に対応する教示装置に個性化する処理手段と、
を備えることを特徴とする電子機器。
【請求項５】
複数の機器に共通の教示装置を備える機器システムの制御方法であって、
前記複数の機器に個別に対応する動作プログラムを、前記複数の機器を識別する識別情報に対応させて記憶手段に格納する工程と、
前記複数の機器から動作させる機器を選択して接続する工程と、
前記複数の機器から動作させる機器に対して前記識別情報を問い合せ、前記機器より前記識別情報を受信すると、受信した前記識別情報に対応する動作プログラムを前記記憶手段から特定する工程と、
特定された前記動作プログラムにより前記教示装置を個性化し、前記教示装置と動作させる機器とを前記動作プログラムを媒介として連係させる工程と、
を含むことを特徴とする機器システムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はたとえば、産業用ロボット、工作機械など、各種機器の制御技術に関する。
【背景技術】
【０００２】
産業用ロボット、工作機械など、各種の機器の制御には、該機器を制御する制御装置が備えられ、この制御装置には教示装置が接続される。この教示装置は、ティーチングペンダントと呼ばれ（特許文献２）、各機器の制御装置に対してシーケンス制御命令に関する教示を行うものである。
【０００３】
たとえば、ロボットシステムでは、ロボット、ロボットコントローラおよび携帯遠隔操作装置が備えられ、携帯遠隔装置では利用者によって作成された受渡し処理やカスタマイズ画面を取得し、カスタマイズ画面と予め用意された標準画面とをロボット動作中に所定のタイミングで切り替えることが知られている（たとえば、特許文献１）。
【０００４】
ロボットなどの各種機器を制御する制御装置に接続される教示装置のデバッグシステムでは、制御装置に代えてデバッグ装置を教示装置に接続し、このデバッグ装置が制御装置から読み出すべきデータを教示装置に送信し、そのデータを受けた教示装置がそのデータを実行し、制御装置に対して書き込むべきデータを決定するなどの工程を含むことが知られている（たとえば、特許文献２）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−１２３７６２号公報
【特許文献２】特開２００６−３４３８１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、産業用ロボット、工作機械などの各種の機器では、機器毎にティーチングペンダントが備えられるのが一般的である。このようなティーチングペンダントではたとえば、特許文献１に開示されているように、操作性に関し、ユーザーが自由にカスタマイズ可能にすることにより、ユーザーの操作性を向上させることができるし、たとえば、特許文献２に開示されているように、実行するプログラムをデバッグする機能を備えるなどの利便性が高められる。さらには、構築されたシステムの操作性向上に寄与することができる。
【０００７】
しかしながら、産業用ロボットや工作機械など、複数の機器が設置される工場などの環境下では、機器毎にティーチングペンダントを備えることは、機器の設置台数に応じた台数のティーチングペンダントが必要となり、コスト高となる。しかも、各ティーチングペンダントを管理することが必要となるなどの課題や、各ティーチングペンダントには制御対象の機器毎にプログラムの入れ替えを必要とするなどの課題がある。
【０００８】
そこで、本発明の目的は上記課題に鑑み、複数の機器を備える工場などの環境下において、複数の機器に対して必要なティーチングペンダントを簡略化することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明の機器システムの一側面によれば、機器毎に動作プログラムを独立させ、該動作プログラムで動作する複数の機器と、前記複数の機器に個別に対応する動作プログラムを、前記複数の機器を識別する識別情報に対応させて格納した記憶手段を有し、前記複数の機器から選択される機器に接続されると、接続した前記機器に対する問い合せによって前記機器から受信した前記識別情報に基づいて、前記記憶手段から接続した前記機器を動作させるに必要な動作プログラムを特定し、前記機器に対応して個性化される教示装置（ティーチングペンダント）とを備えればよい。
【００１０】
上記目的を達成するため、本発明の制御プログラムの一側面によれば、複数の機器に共通の教示装置に搭載されるコンピュータに実行させる制御プログラムであって、前記複数の機器に個別に対応する動作プログラムを、前記複数の機器を識別する識別情報に対応させて記憶手段に格納し、前記複数の機器から動作させる機器を選択して接続し、前記複数の機器から動作させる機器に対して前記識別情報を問い合せ、前記機器より前記識別情報を受信すると、受信した前記識別情報に対応する動作プログラムを前記記憶手段から特定し、特定された前記動作プログラムにより前記教示装置を個性化する処理を前記コンピュータに実行させる。
【００１１】
上記目的を達成するため、本発明の機器の一側面によれば、複数の動作プログラムから選択される動作プログラムで動作する機器であって、前記動作プログラムを選択する教示装置と接続されることで該教示装置から指示情報を受け、該指示情報を発した前記教示装置に識別情報を送信する通信部と、前記識別情報で特定された前記動作プログラムにより個性化された前記教示装置によって制御される制御部とを備えればよい。
【００１２】
上記目的を達成するため、本発明の電子機器の一側面によれば、複数の機器毎に動作プログラムを独立させ、該動作プログラムで動作する前記複数の機器を備える機器システムを制御する電子機器であって、前記複数の機器に個別に対応する動作プログラムを、前記複数の機器それぞれを識別する識別情報に対応させて格納する記憶手段と、前記複数の機器から動作させる機器を選択する選択手段と、前記複数の機器から前記選択手段で選択された機器と通信し、該機器に対する問い合せによって前記機器の前記識別情報を取得する通信手段と、選択された前記機器から受信した前記識別情報に基づいて、前記機器を動作させるに必要な動作プログラムを前記記憶手段から選択し、選択された前記動作プログラムにより前記機器に対応する教示装置に個性化する処理手段とを備えればよい。
【００１３】
上記目的を達成するため、本発明の機器システムの制御方法の一側面によれば、複数の機器に共通の教示装置を備える機器システムの制御方法であって、前記複数の機器に個別に対応する動作プログラムを、前記複数の機器を識別する識別情報に対応させて記憶手段に格納する工程と、前記複数の機器から動作させる機器を選択して接続する工程と、前記複数の機器から動作させる機器に対して前記識別情報を問い合せ、前記機器より前記識別情報を受信すると、受信した前記識別情報に対応する動作プログラムを前記記憶手段から特定する工程と、特定された前記動作プログラムにより前記教示装置を個性化し、前記教示装置と動作させる機器とを前記動作プログラムを媒介として連係させる工程とを含めばよい。
【発明の効果】
【００１４】
本発明によれば、次のような効果が得られる。
【００１５】
(1) 産業用ロボットや工作機械などの複数の機器から選択される各機器に共通に備える教示装置を機器毎に個性化し、その教示装置で機器を個別に動作させることができる。
【００１６】
(2) 特定の動作プログラムに対応する少なくとも単一の教示装置を備えればよく、複数の機器に必要とされてきた教示装置を大幅に削減できる。
【００１７】
(3) 複数の機器に対応可能な教示装置や電子機器について、ユーザーが動作プログラムの選択操作のみで容易且つ自由にカスタマイズすることができ、機器構成の簡略化を図ることができる。
【００１８】
(4)単一の教示装置に複数の機器に対応する動作プログラムを備えることにより、対象機器の変更時、教示装置自体のプログラム変更は不要となる。
【００１９】
(5) 教示装置に備えた複数の機器に対応する動作プログラムは対象機器に接続することにより自動的に選択され、接続現場における選択操作を必要としない。
【００２０】
(6) 教示装置や電子機器に設定された動作プログラムを起動させるだけで、その動作プログラムに対応する機器を自動的に起動させ、動作させることができる。
【図面の簡単な説明】
【００２１】
【図１】一実施の形態に係る機器システムの一例を示す図である。
【図２】機器システムの制御工程の一例を示すフローチャートである。
【図３】機器システムの処理手順の一例を示すフローチャートである。
【図４】ロボットシステムの一例を示す図である。
【図５】ティーチングペンダントの一例であるその外観を示す斜視図である。
【図６】ティーチングペンダントのハードウェアの一例を示す図である。
【図７】データ構造の一例を示す図である。
【図８】ロボットおよびＰＣのハードウェアの一例を示す図である。
【図９】ティーチングペンダントの起動時の処理手順を示すフローチャートである。
【図１０】ＰＣ接続処理モードの処理手順の一例を示すフローチャートである。
【図１１】ロボット接続処理モードの処理手順の一例を示すフローチャートである。
【図１２】ＴＰが接続されたＰＣ側の処理手順の一例を示すフローチャートである。
【図１３】ＴＰが接続されたロボット側の処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００２２】
〔一実施の形態〕
【００２３】
図１は、本発明の一実施の形態に係る機器システムを示している。図１に示す構成は一例であり、斯かる構成に本発明が限定されるものではない。
【００２４】
この図１に示す機器システム２では、複数の機器４−１、４−２、４−３・・・４−Ｎ、ティーチングペンダント（以下「ＴＰ」と称する）６およびパーソナルコンピュータ（以下「ＰＣ」と称する）８が含まれる。
【００２５】
各機器４−１、４−２、４−３・・・４−Ｎは、機器４−１、４−２、４−３・・・４−Ｎ毎に独立した動作プログラムで動作する機器であり、ＴＰ６と連係するたとえば、産業用ロボット、工作機械など、いずれでもよい。
【００２６】
ＴＰ６は教示装置、電子機器の一例である。ＴＰ６はたとえば、コンピュータで構成され、操作入力部、表示部及び通信部を備える。このＴＰ６はたとえば、通信線１０により機器４−１、４−２、４−３・・・４−Ｎといずれかひとつに接続可能であり、ＰＣ８と通信線１０により接続可能である。通信線１０に代え、無線であってもよい。ＴＰ６が動作させるべきたとえば、機器４−１と通信線１０を媒介としてコネクタ接続を行えば、このコネクタ接続を契機として接続関係をＴＰ６または機器４−１の一方または双方で確認できる。
【００２７】
ＴＰ６は、機器４−１、４−２、４−３・・・４−Ｎに対し、これら機器４−１、４−２、４−３・・・４−Ｎから選択される特定の機器たとえば、ひとつの機器４−１と接続される。接続される機器４−１に対し、機器４−１を動作させるに必要な動作プログラムが特定される。この結果、ＴＰ６は、機器４−１に対応するＴＰ６として個性化される機能を備える。ここで、個性化される機能とは、機器４−１、４−２、４−３・・・４−Ｎの個別のＩＤ（IDentification）などの識別情報、各機器４−１、４−２、４−３・・・４−Ｎが持つ各種機能に対し、ＴＰ６が各機器４−１、機器４−１に対し特定されることである。したがって、この機器４−１に対する個性化は一例であり、他の機器４−２、４−３・・・４−Ｎのいずれであってもよい。
【００２８】
ＰＣ８はホストコンピュータの一例であり、ＴＰ６に動作プログラムなどを提供する上位装置である。初期設定時、ＰＣ８にＴＰ６が接続され、ＴＰ６にＰＣ８から単一または複数の動作プログラムが提供される。
【００２９】
図２は、この機器システム２の制御方法の一例である処理工程を示している。この処理工程は、複数の機器４−１、４−２、４−３・・・４−Ｎに共通のＴＰ６を備えた機器システム２の制御工程の一例である。この処理工程には、機器の選択工程（Ｓ１０１）、接続工程（Ｓ１０２）、動作プログラムの選択工程（Ｓ１０３）、連係動作の確立工程（Ｓ１０４）および処理工程（Ｓ１０５）が含まれる。
【００３０】
機器の選択工程（Ｓ１０１）では、複数の機器４−１、４−２、４−３・・・４−Ｎから動作させる機器たとえば、機器４−１を選択する。
【００３１】
接続工程（Ｓ１０２）では、選択工程（Ｓ１０１）で選択された機器４−１とＴＰ６との接続を行う。
【００３２】
動作プログラムの選択工程（Ｓ１０３）では、複数の機器４−１、４−２、４−３・・・４−Ｎに対応する動作プログラムから、動作させる機器たとえば、機器４−１に対応する動作プログラムを特定し、その動作プログラムを選択する。
【００３３】
連係動作の確立工程（Ｓ１０４）では、特定された動作プログラムによりティーチングペンダントを個性化し、ティーチングペンダントと動作させる機器とを動作プログラムを媒介として連係させる。
【００３４】
図３は、この機器システム２の処理手順の一例を示している。この処理手順は、複数の機器４−１、４−２、４−３・・・４−Ｎに共通に用いられるＴＰ６に搭載されるコンピュータに実行させる制御プログラムによって実行される。
【００３５】
この処理手順では、複数の機器４−１、４−２、４−３・・・４−Ｎから動作させる機器を選択して接続するＴＰ６に接続する（Ｓ２０１）。この接続にはＴＰ６から接続すべきたとえば、機器４−１に指示情報を提供し、この提供を受けた機器４−１から許可情報をＴＰ６に伝送する。これらの情報の授受により、接続の前提条件が成立する。
【００３６】
ＴＰ６では、ＰＣ８から予め提供されている複数の動作プログラムのうちから、接続中の機器に対応する動作プログラムを選択する（Ｓ２０２）。ＴＰ６に格納する動作プログラムは機器４−１、４−２、４−３・・・４−Ｎの全ての動作プログラムでもよいし、必要に応じて複数の動作プログラムをＰＣ８から提供してよい。
【００３７】
ＴＰ６では、動作させるたとえば、機器４−１に対応する特定された動作プログラムの実行により、機器４−１に対するＴＰ６として個性化される（Ｓ２０３）。
【００３８】
これにより、機器４−１はＴＰ６からの命令情報を受け、該命令情報によってのみ動作する（Ｓ２０４）。この動作では機器４−１がたとえば、工作機械であれば、工作機械としての機能を発揮し、産業用ロボットであれば、指示された操作を産業用ロボットに行わせることができる。
【００３９】
＜一実施の形態の効果＞
【００４０】
(1) 産業用ロボットや工作機械などの複数の機器４−１、４−２、４−３・・・４−Ｎから選択される各機器に共通に備えるＴＰ６を機器４−１、４−２、４−３・・・４−Ｎ毎に個性化し、そのＴＰ６で各機器４−１、４−２、４−３・・・４−Ｎを個別に動作させることができる。
【００４１】
(2) 特定の動作プログラムに対応する少なくとも単一のＴＰ６を備えればよく、複数の機器４−１、４−２、４−３・・・４−Ｎに必要とされてきたティーチングペンダントを大幅に削減できる。
【００４２】
(3) 複数の機器４−１、４−２、４−３・・・４−Ｎに対応可能なＴＰ６や他のティーチング機能を持つ電子機器について、ユーザーが動作プログラムの選択操作のみで容易且つ自由にカスタマイズすることができ、機器構成の簡略化を図ることができる。
【００４３】
(4) ティーチングペンダントや電子機器に設定された動作プログラムを起動させるだけで、その動作プログラムに対応する機器４−１、４−２、４−３・・・４−Ｎを自動的に起動させ、動作させることができる。
【実施例】
【００４４】
図４は、ロボットシステムの実施例を示している。この実施例は機器システム２の一例である。
【００４５】
このロボットシステム２２には複数のロボット２４−１、２４−２、２４−３・・・２４−Ｎが備えられる。各ロボット２４−１、２４−２、２４−３・・・２４−Ｎはたとえば、異なる動作プログラムによって動作してもよく、共通の動作プログラムで動作する形態であってもよい。各ロボット２４−１、２４−２、２４−３・・・２４−Ｎに異なるＩＤが付されて識別され、動作プログラムが共通であってもよい。
【００４６】
これらロボット２４−１、２４−２、２４−３・・・２４−Ｎには共通の単一のティーチングペンダント（ＴＰ）たとえば、ＴＰ２６が備えられる。ＴＰ２６は通信ケーブル２０によりロボット２４−１、２４−２、２４−３・・・２４−Ｎの何れかまたはＰＣ２８に接続される。通信ケーブル２０によりロボット２４−１、２４−２、２４−３・・・２４−Ｎの何れかにＴＰ２６を接続すれば、この接続を契機に両者間の連係処理を開始できる。また、通信ケーブル２０によりホストコンピュータの一例であるＰＣ２８にＴＰ２６を接続すれば、この接続を契機に両者間の連係処理を開始できる。
【００４７】
＜ＴＰ２６＞
【００４８】
図５は、ＴＰ２６の外観部を示している。このＴＰ２６では一例として偏平な筐体３０が備えられ、この筐体３０の前面に表示部３２が備えられている。この表示部３２の表示面にはタッチパネル３４が設置されている。表示部３２には操作状態を表す情報や入力情報などの各種情報が表示される。タッチパネル３４は操作などの情報入力に用いられる。
【００４９】
表示部３２の上側には非常停止スイッチ３６−１、パルス入力スイッチ３６−２が備えられる。非常停止スイッチ３６−１は非常時の停止に用いられる。パルス入力スイッチ３６−２は手動パルス入力モード時にパルス入力に用いられ、回転に応じた数のパルスを入力することができる。
【００５０】
筐体３０の側部には、デッドマンスイッチ３６−３が備えられる。このデッドマンスイッチ３６−３の押下を維持することで各種スイッチの入力が有効となる。つまり、オペレータはこのデッドマンスイッチ３６−３を押しながら、他のスイッチを操作することが必要となる。
【００５１】
表示部３２の下側には、選択スイッチ３６−４を図中右側に配置し、この選択スイッチ３６−４の左側に複数の画面ショートカットキー３６−５１、３６−５２、複数の動作切替キー３６−６１、３６−６２、３６−６３が備えられる。
【００５２】
選択スイッチ３６−４はロボット２４−１、２４−２、２４−３・・・２４−Ｎの機能部の選択、たとえば、送り軸のオーバーライド値の変更に用いられる。
【００５３】
画面ショートカットキー３６−５１、３６−５２は、画面のショートカットを行う場合に用いられる。動作切替キー３６−６１はたとえば、動作中のプログラムを一時的に停止させる一時停止などの切替えに用いられる。動作切替キー３６−６２は、選択されている画面表示中の機能の選択に用いられる。動作切替キー３６−６３は、選択されている画面表示中の機能に対応し、その実行を有効化する場合に用いられる。
【００５４】
筐体３０の選択スイッチ３６−４の下側側面部には通信ケーブル２０が接続されている。この通信ケーブル２０は通信線１０の一例であり、たとえば、ＲＳ２３２Ｃケーブルが用いられる。この通信ケーブル２０により、ＴＰ２６がロボット２４−１、２４−２、２４−３・・・２４−Ｎの何れかまたはＰＣ２８に接続される。
【００５５】
＜ＴＰ２６の制御部＞
【００５６】
図６は、ＴＰ２６の制御部を示している。このＴＰ２６の制御部４０は、ロボット２４−１、２４−２・・・２４−ＮまたはＰＣ２８と連係する通信機能を備えるコンピュータで構成すればよい。
【００５７】
この制御部４０にはプロセッサ４２、タイマー４４、通信部４６、メモリ部４８、入出力部（Ｉ／Ｏ）５２が備えられる。プロセッサ４２は、メモリ部４８にあるプログラムを実行し、各種の演算や制御を行う。この制御には、ＰＣ２８またはロボット２４−１、２４−２・・・２４−Ｎの何れかとの情報処理、接続中のロボットとの情報処理が含まれる。
【００５８】
タイマー４４は情報処理中の時間管理に用いられ、たとえば、操作されたスイッチ入力から所定時間内に次のスイッチが操作されない場合など、プログラムに応じてスイッチ入力を無効化するなどの処理に用いられる。
【００５９】
通信部４６は通信ケーブル２０によりロボット２４−１、２４−２・・・２４−ＮまたはＰＣ２８に接続される。この通信部４６では、接続切替えを契機に自動的に接続先との通信を開始し、情報の授受を行う。
【００６０】
メモリ部４８にはプログラム記憶部４８−１が含まれる。このプログラム記憶部４８−１にはファームウェアプログラムや複数の動作プログラムＰ１、Ｐ２・・・Ｐｎが格納されている。このプログラム記憶部４８−１はＲＯＭ（Read-Only Memory）で構成すればよい。このＲＯＭにはハードディスク装置やフラッシュメモリなどの記録媒体を用いればよい。動作プログラムＰ１、Ｐ２・・・Ｐｎは、ＰＣ２８から提供されたプログラムであり、これら動作プログラム記憶エリアを設定し、ファームウェアプログラムと区別して格納すればよい。他の情報記憶部４８−２には、記録データや履歴などが格納される。ＲＡＭ５０は、情報処理中のワークエリアに用いられる。
【００６１】
Ｉ／Ｏ５２は、プロセッサ４２と各種機能部とを接続するインターフェースであり、この例では、表示部３２、タッチパネル３４、非常停止スイッチ３６−１、パルス入力スイッチ３６−２、デッドマンスイッチ３６−３、選択スイッチ３６−４、画面ショートカットキー３６−５１、３６−５２、複数の動作切替キー３６−６１、３６−６２、３６−６３の他、複数の発光素子５４が接続される。発光素子５４は非常停止スイッチ３６−１、パルス入力スイッチ３６−２、デッドマンスイッチ３６−３、選択スイッチ３６−４、画面ショートカットキー３６−５１、３６−５２、複数の動作切替キー３６−６１、３６−６２、３６−６３などに併設され、プロセッサ４２の制御により操作中に発光させ、操作中であることを告知する。
【００６２】
＜メモリ部４８のデータ構造＞
【００６３】
図７は、メモリ部４８に格納されるデータ構造の一例を示している。この例では、メモリ部４８にプロジェクトフォルダ４８−１１が格納され、プロジェクトフォルダ４８−１１には動作プログラムフォルダ４８−２１、４８−２２、４８−２３・・・４８−２ｎ、が格納される。また、プロジェクトフォルダ４８−１１には、ロボット２４−１、２４−２・・・２４−Ｎに共通する共通画像データが格納されており、プロジェクト定義ファイル４８−１１１、画像定義ファイル４８−１１２、画像（たとえば、Bit Map：ＢＭＰ）データフォルダ４８−１１３が格納される。画像データフォルダ４８−１１３には複数の画像データファイル４８−１１３１、４８−１１３２・・・が格納される。
【００６４】
動作プログラムフォルダ４８−２１、４８−２２、４８−２３・・・４８−２ｎにはロボット２４−１、２４−２・・・２４−Ｎに個別に対応する動作プログラムＰ１、動作プログラムＰ２・・・の定義データが格納される。動作プログラムフォルダ４８−２１には動作プログラムＰ１が格納され、定義ファイル４８−２１１、プログラム定義ファイル４８−２１２などが含まれる。動作プログラムフォルダ４８−２２には動作プログラムＰ２が格納され、定義ファイル４８−２２１、プログラム定義ファイル４８−２２２などが含まれる。動作プログラムフォルダ４８−２３には動作プログラムＰ３が格納され、定義ファイル４８−２３１、プログラム定義ファイル４８−２３２などが含まれる。同様に、動作プログラムフォルダ４８−２ｎには動作プログラムＰｎが格納され、定義ファイル４８−２ｎ１、プログラム定義ファイル４８−２ｎ２などが含まれる。
【００６５】
各ロボット２４−１、２４−２・・・２４−Ｎに対応する動作プログラムＰ１、Ｐ２・・・Ｐｎを識別する識別情報（ソフト番号）と動作プログラムフォルダの番号は対応している。
【００６６】
＜ロボット２４（＝２４−１、２４−２・・・２４−Ｎ）のハードウェア＞
【００６７】
図８のＡは、ロボット２４（＝２４−１、２４−２・・・２４−Ｎ）のハードウェアの一例を示している。ロボット２４にはロボット制御部５４、表示部５６、操作部５８、モーター制御部６０、センサー部６２、その他の機構部などが備えられる。
【００６８】
ロボット制御部５４は、ＴＰ２６またはＰＣ２８との通信が可能なコンピュータで構成される。このロボット制御部５４にはプロセッサ６４、タイマー６６、通信部６８、メモリ部７０、入出力部（Ｉ／Ｏ）７２が含まれる。
【００６９】
プロセッサ６４は、メモリ部７０にあるプログラムを実行し、各種の演算や制御を行う。この制御には、ＴＰ２６またはＰＣ２８との情報処理が含まれる。
【００７０】
タイマー６６は情報処理中の時間管理に用いられ、たとえば、操作入力から所定時間内に次の操作入力がない場合など、プログラムに応じて入力を無効化するなどの処理に用いられる。
【００７１】
通信部６８は通信ケーブル２０によりＴＰ２６またはＰＣ２８に接続される。この通信部６８では、接続切替えを契機に自動的に接続先との通信を開始し、情報の授受を行う。
【００７２】
メモリ部７０にはＲＯＭ（Read-Only Memory）やＲＡＭ（Random-Access Memory）が含まれる。ＲＯＭにはロボットを制御する基本プログラムが格納される。
【００７３】
Ｉ／Ｏ７２は、プロセッサ６４と各種機能部とを接続するインターフェースであり、この例では、表示部５６、ロボット機構部の操作部５８、モーター制御部６０、センサー部６２などが接続される。機構部には必要な制御出力が提供され、Ｉ／Ｏ７２にはセンサー部６２からの検出情報が取り込まれる。表示部５６には停止中または動作中のロボット２４の状態情報や入力情報が表示される。
【００７４】
＜ＰＣ２８のハードウェア＞
【００７５】
図８のＢは、ＰＣ２８のハードウェアの一例である。このＰＣ２８では、ＰＣ本体７４、表示部７６、入力部７８および外部記憶装置８０が備えられる。
【００７６】
ＰＣ本体７４は、ＴＰ２６との通信が可能なコンピュータで構成される。このＰＣ本体７４にはプロセッサ８２、メモリ部８４、通信部８６および入出力部（Ｉ／Ｏ）８８が含まれる。
【００７７】
プロセッサ８２は、メモリ部８４にあるプログラムを実行し、各種の演算や制御を行う。この制御には、ＴＰ２６との情報処理が含まれる。
【００７８】
メモリ部８４にはＲＯＭ（Read-Only Memory）やＲＡＭ（Random-Access Memory）が含まれる。ＲＯＭにはBiosなどＰＣの基本プログラムが格納される。アプリケーションやデータファイルはＲＡＭや外部記憶装置に格納され、必要に応じて実行もしくは参照される。ＴＰ２６に提供するプロジェクトデータは、ＲＡＭや外部記憶装置に格納される。
【００７９】
通信部８６は通信ケーブル２０によりＴＰ２６に接続される。この通信部８６では、接続切替えを契機に自動的に接続先との通信を開始し、情報の授受を行う。
【００８０】
Ｉ／Ｏ８８は、プロセッサ８２と各種機能部とを接続するインターフェースであり、この例では、表示部７６、入力部７８または外部記憶装置８０などが接続される。表示部７６は情報を視認可能に表示するディスプレイであり、たとえば、ＬＣＤ（Liquid Crystal Display）を用いればよい。入力部７８にはキーボードの他、マウスやタッチパネルを備えてもよい。外部記憶装置８０は、ハードディスクの他、フラッシュメモリなどの記録媒体を用いればよい。
【００８１】
＜ＴＰ２６の処理手順＞
【００８２】
図９は、ＴＰ２６の初期設定の処理手順を示している。この処理手順では、ＴＰ２６をロボット２４またはＰＣ２８に接続する（Ｓ３０１）。この接続は機械的に通信ケーブル２０をロボット２４またはＰＣ２８に接続すればよい。この接続によりＴＰ２６への電源供給も開始され、ＴＰ２６の動作が開始する。
【００８３】
この接続の際、キー入力を行う。このキー入力はたとえば、ＴＰ２６の電源投入時の隠しキー操作を用いる。何れのキーでもよいが、キー操作を行えば、ＰＣ２８との接続処理が選択される。
【００８４】
このキー入力が行われたか否かを判定する（Ｓ３０２）。既述のキー入力が行われていれば（Ｓ３０２のＹＥＳ）、ＰＣ接続処理モード（Ｓ３０３）に移行する。
【００８５】
既述のキー入力が行われなければ（Ｓ３０２のＮＯ）、自動的にロボット接続処理モード（Ｓ３０４）に移行する。
【００８６】
図１０は、ＴＰ２８のＰＣ接続処理モード（Ｓ３０３）の具体的な処理手順を示している。この処理手順では、ＰＣ接続処理モードに移行すると、ＴＰ２６からＰＣ２８に対してプログラムデータ（定義データ）の要求を行い（Ｓ４０１）、ＰＣ２８から受信した受信データを記憶する（Ｓ４０２）。
【００８７】
データの受信中、データ受信の状況を監視し、受信すべきデータが終了したかを判定する（Ｓ４０３）。この受信データの受信はパケット処理により実行し、全てのデータの受信が完了するまで（Ｓ４０３のＮＯ）、継続して受信処理を実行する。
【００８８】
受信データが終了すれば（Ｓ４０３のＹＥＳ）、ＴＰ２６からＰＣ２８に対して画像データ（共通データ）が要求される（Ｓ４０４）。ＰＣ２８から受信した受信データを記憶する（Ｓ４０５）。
【００８９】
この画像データの受信中、データ受信の状況を監視し、受信すべきデータが終了したかを判定する（Ｓ４０６）。この受信データの受信はパケット処理により実行し、全てのデータの受信が完了するまで（Ｓ４０６のＮＯ）、継続して受信処理を実行する。
【００９０】
そして、全データの受信完了により、この処理を終了する。
【００９１】
図１１は、ＴＰ２８のロボット接続処理モード（Ｓ３０４）の具体的な処理手順を示している。この処理手順では、ロボット接続処理モードに移行すると、ＴＰ２６から接続中のロボット２４に対してロボット識別番号の問い合わせを行う（Ｓ５０１）。問い合わせたロボット２４からの応答があるか否かを判定し（Ｓ５０２）、この応答がなければ（Ｓ５０２のＮＯ）、所定時間待機状態となる。
【００９２】
問い合わせに対する応答がロボット２４からあれば（Ｓ５０２のＹＥＳ）、応答された識別番号のプログラムを実行プログラムエリアにロードし（Ｓ５０３）、ロードした実行プログラムエリアの動作プログラムの実行を継続する（Ｓ５０４）。
【００９３】
＜ＰＣ２８側の処理手順＞
【００９４】
図１２は、ＴＰ２６が接続されたＰＣ２８側の処理手順を示している。この処理手順では、ＴＰ２６の通信があるかを判断する（Ｓ６０１）。ＴＰ２６との通信でなければ（Ｓ６０１のＮＯ）、ＴＰ２６に対する処理をスキップし、他の処理に移行する（Ｓ６０２）。
【００９５】
ＴＰ２６との通信が成立していれば（Ｓ６０１のＹＥＳ）、ＴＰ２６との通信がプログラムデータの要求かを判定する（Ｓ６０３）。プログラムデータの要求があれば（Ｓ６０３のＹＥＳ）、要求データの送信を行い（Ｓ６０４）、その完了によりＳ６０２に移行する。
【００９６】
プログラムデータの要求でなければ（Ｓ６０３のＮＯ）、画像データの要求かを判定する（Ｓ６０５）。画像データの要求であれば（Ｓ６０５のＹＥＳ）、要求データの送信を行い（Ｓ６０６）、その完了によりＳ６０２に移行する。
【００９７】
画像データの要求でなければ（Ｓ６０５のＮＯ）、ＴＰ２６からの要求事項に対応するその他の処理を実行し（Ｓ６０７）、その完了によりＳ６０２に移行する。
【００９８】
＜ロボット２４側の処理手順＞
【００９９】
図１３は、ＴＰ２６が接続されたロボット２４側の処理手順を示している。この処理手順では、電源が投入されると、そのロボット２４ではイニシャライズ（初期化）を実行し（Ｓ７０１）、その初期化の後、外部からの情報通信を確認する（Ｓ７０２）。
【０１００】
ロボット２４がＴＰ２６から問い合わせなどの通信の有無を判断し（Ｓ７０２）、通信がなければ（Ｓ７０２のＮＯ）、通常のロボット制御（Ｓ７０３）に移行し、Ｓ７０２に戻る。
【０１０１】
また、通信があれば（Ｓ７０２のＹＥＳ）、識別情報の問い合わせかを判断する（Ｓ７０４）。識別情報の問い合わせであれば（Ｓ７０４のＹＥＳ）、問い合わせを受けた識別情報に対応する識別番号を読み出し、ＴＰ２６に送信する（Ｓ７０５）。この送信の後、ロボット制御（Ｓ７０３）に移行する。
【０１０２】
識別情報の問い合わせでなければ（Ｓ７０４のＮＯ）、その他の対応処理（Ｓ７０６）を実行し、その完了によりロボット制御（Ｓ７０３）に戻る。
【０１０３】
＜実施例の効果＞
【０１０４】
(1) この実施例によれば、一実施の形態で述べた通りの効果が得られる。
【０１０５】
(2) ロボット２４は工作機械ロボット、成形機械ロボットなど、ＴＰ２６で操作可能な機器であればよく、複数の機器を少なくとも１台のＴＰ２６で動作プログラムの選択により操作することができる。
【０１０６】
(3)１台のＴＰ２６に複数の機器に対応する動作プログラムを備えることにより、対象機器の変更時、ＴＰ２６自体のプログラム変更は不要となる。
【０１０７】
(4)対応する動作プログラムはＴＰ２６を接続することにより自動的に選択され、接続現場における選択操作を必要としない。
【０１０８】
(5) 複数のロボットまたは複数種のロボットに対して共通のＴＰ２６を動作プログラムの選択によって共通化でき、初期化などの処理を複数のＴＰを用いる場合に必要となる手数を省略でき、合理的かつ迅速なロボット操作や制御を行うことができる。
【０１０９】
〔他の実施の形態〕
【０１１０】
ａ  上記実施の形態では、機器としてロボットを例示したが、複数の電子機器の操作を単一のＴＰを用いて操作してもよい。本発明は、上記実施の形態のＴＰ、ロボットなどに限定されるものではない。
【０１１１】
ｂ  ロボットにはたとえば、無線操縦可能な自動車などの移動体であってもよい。
【０１１２】
以上説明したように、本発明の技術の最も好ましい実施の形態等について説明した。本発明は上記記載に限定されるものではない。特許請求の範囲に記載され、または明細書に開示された発明の要旨に基づき、当業者において様々な変形や変更が可能である。斯かる変形や変更が本発明の範囲に含まれることは言うまでもない。
【産業上の利用可能性】
【０１１３】
本発明は、工作機械や樹脂成形装置などの複数のロボットの他、複数の機器に対し共通のしかも単一のティーチングペンダントを使用し、機器毎の動作や処理を行うことができ、ティーチングペンダントの削減などを実現できる。
【符号の説明】
【０１１４】
２  機器システム
４−１、４−２、４−３・・・４−Ｎ４  機器
６  ＴＰ（ティーチングペンダント）
８  ＰＣ（パーソナルコンピュータ）
１０  通信線
２０  通信ケーブル
２４−１、２４−２、２４−３・・・２４−Ｎ  ロボット
２６  ＴＰ
２８  ＰＣ
３０  筐体
３２  表示部
３４  タッチパネル
３６−１  非常停止スイッチ
３６−２  パルス入力スイッチ
３６−３  デッドマンスイッチ
３６−４  選択スイッチ
３６−５１、３６−５２  画面ショートカットキー
３６−６１、３６−６２、３６−６３  動作切替キー
４０  制御部
４２  プロセッサ
４４  タイマー
４６  通信部
４８  メモリ部
４８−１  プログラム記憶部
４８−２  他の情報記憶部
５０  ＲＡＭ
５２  Ｉ／Ｏ
５４  発光素子
４８−１１  プロジェクトフォルダ
４８−２１、４８−２２、４８−２３・・・４８−２ｎ  動作プログラムフォルダ
４８−１１１  プロジェクト定義ファイル
４８−１１２  画像定義ファイル
４８−１１３  画像ファイル
４８−１１３１、４８−１１３２・・・  画像データファイル
４８−２１１  定義ファイル
４８−２１２  プログラム定義ファイル
４８−２２１  定義ファイル
４８−２２２  プログラム定義ファイル
４８−２３１  定義ファイル
４８−２３２  プログラム定義ファイル
４８−２ｎ１  定義ファイル
４８−２ｎ２  プログラム定義ファイル
５４  ロボット制御部
５６  表示部
５８  操作部
６０  モーター制御部
６２  センサー部
６４  プロセッサ
６６  タイマー
６８  通信部
７０  メモリ部
７２  入出力部（Ｉ／Ｏ）
７４  ＰＣ本体
８０  外部記憶装置
８２  プロセッサ
８４  メモリ部
８６  通信部
８８  入出力部（Ｉ／Ｏ）
【図１】
0006618721.tif 000002
【図２】
0006618721.tif 000003
【図３】
0006618721.tif 000004
【図４】
0006618721.tif 000005
【図５】
0006618721.tif 000006
【図６】
0006618721.tif 000007
【図７】
0006618721.tif 000008
【図８】
0006618721.tif 000009
【図９】
0006618721.tif 000010
【図１０】
0006618721.tif 000011
【図１１】
0006618721.tif 000012
【図１２】
0006618721.tif 000013
【図１３】
0006618721.tif 000014