(57)【要約】【課題】教示時において通信エラーが発生した場合でも、ロボット制御を行うコントローラ側の反応の遅れや、或いは操作不可の状態が発生することがなく、安全性を高めることができるネットワーク対応のロボット制御システムを提供する。【解決手段】ティーチペンダント１０は、教示操作に使用される複数の優先キー１５の各キー状態に応じて、優先キー１５の入力順に前記各キー状態のパケットデータを複数作成して定期周期毎に連番で送信する安全送信部１２を備える。コントローラ３０は、通信部３３及び安全受信部３２が受信した優先キー１５に関するパケットデータが定期周期毎に連番で受信した場合にそのパケットデータに応じたロボット制御を行い、定期周期毎に連番で受信しなかった場合には、ロボットＲを停止する。【選択図】図１
2010167550.tif 000002
【特許請求の範囲】
【請求項１】
各種のキー群を備え、該キー群のうち、少なくともロボットの教示操作に使用される複数の教示操作キーのオンオフのキー状態を監視するキー状態監視手段と、前記キー状態監視手段の監視結果である前記教示操作キーのキー状態のパケットデータを少なくとも送信する第１通信手段とを備えた可搬式操作装置と、
前記第１通信手段と通信を行うとともに、前記第１通信手段との間の通信の通信エラーの検出を行う第２通信手段と、
前記通信エラーが検出されない場合、前記可搬式操作装置から送信された前記パケットデータのキー状態がオンのときその教示操作キーのオン状態を記憶するとともに、前記通信エラーが検出された際、その記憶を解除する記憶手段と、
前記パケットデータのキー状態のオンに基づいて前記ロボットの制御を行い、前記通信エラーが検出された場合、前記記憶手段の記憶解除とともに前記ロボットを停止するコントローラとを備えたロボット制御システム。
【請求項２】
前記第１通信手段は、定期周期毎にパケットデータを作成して連番で送信し、
前記第２通信手段の通信エラーの検出は、受信した前記パケットデータが前記定期周期毎に送信があったか、又は、連番で受信したか否かで行うことを特徴とする請求項１に記載のロボット制御システム。
【請求項３】
前記第１通信手段は、前記キー状態監視手段により、キー状態の変更を検出したときに、前記キー状態監視手段の監視結果である前記教示操作キーのキー状態のパケットデータを送信するとともに、該キー状態の変更のパケットデータを送信した後から、定期周期毎のパケットデータの送信を開始することを特徴とする請求項２に記載のロボット制御システム。
【請求項４】
前記キー状態監視手段は、さらに、ロボットの非教示操作に使用される非教示操作キーのキー状態を監視し、前記第１通信手段は、前記非教示操作キーのキー状態に応じて、該非教示操作キーの入力順に前記各キー状態のパケットデータを複数作成して送信するとともに、再送信要求があったパケットデータについては再送し、
前記第２通信手段は、受信した前記非教示操作キーに関するパケットデータの通信エラーが生じた際、前記再送信要求を行い、前記コントローラが、前記第２通信手段が受信した前記非教示操作キーに関して通信エラーが生じなかったパケットデータに基づいて、ＧＵＩ制御を行うことを特徴とする請求項１乃至請求項３のうちいずれか１項に記載のロボット制御システム。
【請求項５】
ロボット制御システムに使用されるコントローラであって、
可搬式操作装置と通信を行うとともに、前記可搬式操作装置との間の通信の通信エラーの検出を行う通信手段と、
前記通信エラーが検出されない場合、前記可搬式操作装置から送信されたパケットデータのキー状態がオンのときその教示操作キーのオン状態を記憶するとともに、前記通信エラーが検出された際、その記憶を解除する記憶手段と、
前記パケットデータのキー状態のオンに基づいて前記ロボットの制御を行い、前記通信エラーが検出された場合、前記記憶手段の記憶解除とともに前記ロボットを停止する制御手段とを備えたことを特徴とするコントローラ。
【請求項６】
前記通信手段は、ロボットの教示操作に使用される複数の教示操作に関するパケットデータを定期周期毎に受信したか否かの検証を行うとともに、非教示操作に使用される非教示操作キーに関するパケットデータの通信エラーが生じた際、再送信要求を行い、
前記制御手段は、前記通信手段が受信した前記教示操作キーに関するパケットデータを前記定期周期毎に連番で受信した際、受信したパケットデータに含まれる教示操作キーのキー状態がオンのときその教示操作キーのオン状態を記憶してロボットの制御を行い、前記通信エラーが検出された場合、前記記憶した前記教示操作キーのオン状態を解除して前記ロボットを停止し、前記通信手段が受信した前記非教示操作キーに関して通信エラーが生じなかったパケットデータに基づいて、ＧＵＩ制御を行うことを特徴とする請求項５に記載のコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ティーチペンダントとコントローラをネットワークや非有線通信手段で接続するロボット制御システム及びコントローラに関する。
【背景技術】
【０００２】
特許文献１では、ティーチペンダント（可搬式操作装置）とロボット制御を行うコントローラ間の通信制御において、ティーチペンダントの非常停止機能を通信化する際、両者間の通信の定時性を保証することにより、非常停止の応答性を確保する技術が提案されている。
【０００３】
一方、特許文献２では、リモートデスクトッププロトコル（以下、ＲＤＰという）を利用し、ティーチペンダントのＧＵＩ（Graphical User Interface）機能をネットワーク化する技術が提案されている。
【０００４】
特許文献２のティーチペンダントでは、上記の非常停止機能と、ＧＵＩ機能の２つの機能を備える端末として利用されている。このため、可搬式操作装置とロボット制御を行うコントローラとの間では、非常停止機能のための安全通信と、ＧＵＩ機能のためのＲＤＰ通信の、２種類の通信が行われている。
【０００５】
特許文献３では、ティーチペンダントのＧＵＩ機能をネットワーク通信化する方法が述べられている。
ここで、ネットワーク接続したロボットシステムの概略を図７を参照して説明する。
【０００６】
ティーチペンダント２００は、安全機能とＧＵＩ機能とを兼ね備えた、ロボットの教示を行うための端末である。そして、ティーチペンダント２００とロボット制御装置３００（コントローラ）とをネットワーク経由で接続するロボット制御システムでは、両者の間で、「安全機能」のネットワーク化を実現するための安全通信と、ＧＵＩ機能のネットワーク化を実現するための通信とがそれぞれティーチペンダント２００の安全送信部２０２とロボット制御装置３００の安全受信部３０２間、及び非安全送信部２０４と非安全受信部３０４間で行われる。
【０００７】
安全機能とは、作業者がティーチペンダント２００の非常停止スイッチ２０６、又はデッドマンスイッチ２０８を作業者が操作したときに、ロボット制御部３０６を制御して確実にロボットＲを停止させるための機能である。
【０００８】
安全通信は、ティーチペンダント２００の非常停止スイッチ２０６、デッドマンスイッチ２０８の「ＯＮ／ＯＦＦ状態」（以下、安全キー状態という）を確実にロボット制御装置３００に伝達することを目的としている。
【０００９】
ロボット制御装置３００は、安全通信で送られてきた安全キー状態に応じて、ロボット制御部３０６を制御してロボットＲに停止／動作許可の指示を行う。
又、特許文献１では、安全通信における通信エラーや通信機の故障により、安全入力を正しく伝達できないような安全通信エラー状態が発生した場合でも、ティーチペンダント２００及びロボット制御装置３００の安全通信エラー検出機能、例えば、タイムアウト、ＣＲＣ、連番チェック、チェックの２重化により、安全機能が安全通信エラー状態であることが検出され、この場合には、ロボットに非常停止を指示する。
【００１０】
このため、安全通信エラーが発生した場合でも、ロボットシステム全体としては安全性が確保される。
又、ＧＵＩ機能とは、安全機能以外の操作入力手段（ボタン、スイッチ、タッチパネル、ダイヤルなど、以下、ＧＵＩキー類２１０という）と、表示手段２１２（画面、インジケータ等を含む）の機能である。
【００１１】
ＧＵＩ機能を実現するために行われている非安全通信は、ティーチペンダント２００のＧＵＩキー類２１０の操作状態を、ロボット制御装置３００に伝達すること、及びティーチペンダント２００の表示手段２１２に表示する情報を前記ロボット制御装置３００から取得することを目的としている。特許文献２，３では、前記非安全通信の一例として、ＲＤＰ、ウェブ・ブラウザ、ジャバスクリプト（Ｊａｖａ  ＳｃｒｉｐｔＴＭ）、アクティブＸ（登録商標）、電子メールなどが挙げられている。このように従来技術の非安全通信は、一般的なコンピュータ同士の通信方式を採用している。なお、ＧＵＩキー類２１０には、作業者がロボットの動作／停止を指示するためのキー類も存在する。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００８−９８７２号公報
【特許文献２】特開２００８−８０４７５号公報
【特許文献３】特開２００３−５３６８８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
ところで、安全通信と非安全通信は、図７に示すように、ティーチペンダント２００の安全送信部２０２とロボット制御装置３００の安全受信部３０２間、及び非安全送信部２０４と非安全受信部３０４間で、別々に処理される。なお、通信経路は、別々でもよいが、安全送信部２０２とロボット制御装置３００の安全受信部３０２間では、安全通信パケットＳｘが生成されて送信され、非安全送信部２０４と非安全受信部３０４間では、非安全通信パケットＮＳｘが生成されて送信され、両パケットはそれぞれ別々のものとなる。なお、ｘは１，２，３……である。
【００１４】
ロボット教示作業中の通信エラーを種類別に分けると、エラー種別とその時のロボットの動作は、表１のようになる。
【００１５】
【表１】
2010167550.tif 000003
表１の第３欄の非安全通信エラーがあった場合でも、安全機能では安全通信の通信エラーが発生していないため、安全機能が持つ通信エラー検出機能は働かない。この場合は、作業者が異常状態であることを、ロボットの動作状況から判断して、安全機能を操作、すなわち、非常停止スイッチの操作をしなければ、ロボットは停止しないことになる。
【００１６】
又、前述のように従来技術の非安全通信は、一般的なコンピュータ同士の通信方式を利用しているため、このような非安全通信における通信エラー発生時の安全確保、すなわち、ロボット停止については、従来は検討されていなかった。
【００１７】
上述した例は、ロボットが停止しない例であったが、その他にも、ティーチペンダント２００に設けられたロボットの速度の動的変更ボタンの操作が解除されたにもかかわらず、通信エラーによりロボット制御装置側では速度の動的変更ボタンが押し放しと同じ状態と解釈されてしまい、ロボットの動作速度が異常に速くなることもあり得る。
【００１８】
又、ティーチペンダントの溶接パラメータの変更ボタンの操作が解除されているにもかかわらず、通信エラーによりロボット制御装置側では溶接機に異常な指令が送られることもあり得る。
【００１９】
又、溶接ロボットのロボット制御装置では、文字入力ボタン、或いはＤｅｌキーの操作が解除されたにもかかわらず、通信エラーにより押し放しと同じ状態と解釈されてしまうと、ロボット制御装置が管理しているデータが破損することも有り得る。
【００２０】
本発明の目的は、教示時において通信エラーが発生した場合でも、ロボット制御を行うコントローラ側の反応の遅れや、或いは操作不可の状態が発生することがなく、安全性を高めることができるネットワーク対応のロボット制御システムを提供することにある。
【００２１】
又、本発明の他の目的は、上記ロボット制御システムに適用できるコントローラを提供することにある。
【課題を解決するための手段】
【００２２】
上記問題点を解決するために、請求項１に記載の発明は、各種のキー群を備え、該キー群のうち、少なくともロボットの教示操作に使用される複数の教示操作キーのオンオフのキー状態を監視するキー状態監視手段と、前記キー状態監視手段の監視結果である前記教示操作キーのキー状態のパケットデータを少なくとも送信する第１通信手段とを備えた可搬式操作装置と、前記第１通信手段と通信を行うとともに、前記第１通信手段との間の通信の通信エラーの検出を行う第２通信手段と、前記通信エラーが検出されない場合、前記可搬式操作装置から送信された前記パケットデータのキー状態がオンのときその教示操作キーのオン状態を記憶するとともに、前記通信エラーが検出された際、その記憶を解除する記憶手段と、前記パケットデータのキー状態のオンに基づいて前記ロボットの制御を行い、前記通信エラーが検出された場合、前記記憶手段の記憶解除とともに前記ロボットを停止するコントローラとを備えたロボット制御システムを要旨とするものである。
【００２３】
請求項２の発明は、請求項１において、前記第１通信手段は、定期周期毎にパケットデータを作成して連番で送信し、前記第２通信手段の通信エラーの検出は、受信した前記パケットデータが前記定期周期毎に送信があったか、又は、連番で受信したか否かで行うことを特徴とする。
【００２４】
請求項３の発明は、請求項２において、前記第１通信手段は、前記キー状態監視手段により、キー状態の変更を検出したときに、前記キー状態監視手段の監視結果である前記教示操作キーのキー状態のパケットデータを送信するとともに、該キー状態の変更のパケットデータを送信した後から、定期周期毎のパケットデータの送信を開始することを特徴とする。
【００２５】
請求項４の発明は、請求項１乃至請求項３のうちいずれか１項において、前記キー状態監視手段は、さらに、ロボットの非教示操作に使用される非教示操作キーのキー状態を監視し、前記第１通信手段は、前記非教示操作キーのキー状態に応じて、該非教示操作キーの入力順に前記各キー状態のパケットデータを複数作成して送信するとともに、再送信要求があったパケットデータについては再送し、前記第２通信手段は、受信した前記非教示操作キーに関するパケットデータの通信エラーが生じた際、前記再送信要求を行い、前記コントローラが、前記第２通信手段が受信した前記非教示操作キーに関して通信エラーが生じなかったパケットデータに基づいて、ＧＵＩ制御を行うことを特徴とする。
【００２６】
請求項５の発明は、ロボット制御システムに使用されるコントローラであって、可搬式操作装置と通信を行うとともに、前記可搬式操作装置との間の通信の通信エラーの検出を行う通信手段と、前記通信エラーが検出されない場合、前記可搬式操作装置から送信されたパケットデータのキー状態がオンのときその教示操作キーのオン状態を記憶するとともに、前記通信エラーが検出された際、その記憶を解除する記憶手段と、前記パケットデータのキー状態のオンに基づいて前記ロボットの制御を行い、前記通信エラーが検出された場合、前記記憶手段の記憶解除とともに前記ロボットを停止する制御手段とを備えたことを特徴とするコントローラを要旨とするものである。
【００２７】
請求項６の発明は、請求項５において、前記通信手段は、ロボットの教示操作に使用される複数の教示操作に関するパケットデータを定期周期毎に受信したか否かの検証を行うとともに、非教示操作に使用される非教示操作キーに関するパケットデータの通信エラーが生じた際、再送信要求を行い、前記制御手段は、前記通信手段が受信した前記教示操作キーに関するパケットデータを前記定期周期毎に連番で受信した際、受信したパケットデータに含まれる教示操作キーのキー状態がオンのときその教示操作キーのオン状態を記憶してロボットの制御を行い、前記通信エラーが検出された場合、前記記憶した前記教示操作キーのオン状態を解除して前記ロボットを停止し、前記通信手段が受信した前記非教示操作キーに関して通信エラーが生じなかったパケットデータに基づいて、ＧＵＩ制御を行うことを特徴とする請求項５に記載のコントローラを要旨とするものである。
【発明の効果】
【００２８】
以上詳述したように、請求項１乃至請求項３の発明によれば、教示時において通信エラーが発生した場合でも、ロボット制御を行うコントローラ側の反応の遅れや、或いは操作不可の状態が発生することがなく、安全性を高めることができるネットワーク対応のロボット制御システムを提供することができる。
【００２９】
又、請求項２の発明によれば、第２通信手段は、受信した前記パケットデータが前記定期周期毎に送信があったか、又は、連番で受信したか否かで通信エラー検出を行うことができ、この結果、ロボット制御を行うコントローラ側の通信エラーに伴う反応の遅れや、或いは操作不可の状態が発生することがない。
【００３０】
又、請求項３の発明によれば、キー状態の変更を検出したとき、すなわち、教示操作キーの操作情報を、オン・オフの変化時しかデータとしてパケットに乗せないため、通信データ量の低減、可搬式操作装置とコントローラのＣＰＵの処理量の低減が可能となる。
【００３１】
又、請求項４の発明によれば、リモートデスクトップ技術を応用した可搬式操作装置とロボット制御を行うコントローラの通信において、可搬式操作装置が備える操作キーのキー状態を伝達する経路を２つ持たせることにより、前記可搬式操作装置によりロボット動作を教示する場合のキー操作の伝達に関して、リアルタイム性を保証するとともに、通信の信頼性を高め、安全かつ安定した操作性を確保することができる。又、リアルタイム性が必要とされないロボット動作を教示しない場合においては、ＲＤＰ通信により、可搬式操作装置からコントローラのＧＵＩ制御を行わせることができる。
【００３２】
又、請求項４の発明によれば、操作キーのキー状態を伝達する経路を２つ持たせることにより、操作キーの重要度に応じた信頼性の確保が可能となる。
なお、従来は、ＲＤＰは一般的な用途においては、厳密なリアルタイム性は必要でないため、クライアント端末からの操作に対するサーバＰＣの応答性は保証されていない。通信の遅延や通信エラーが発生すると、キー操作に対するロボット制御を行うコントローラ側の反応の遅れや、或いは操作不可の状態が発生する虞がある。ＲＤＰを用いてロボットを動作させる場合、キー操作のロボット制御を行うコントローラへの伝達の遅れは、ロボットの操作性の悪化に繋がるため、好ましくなく、これを回避することが望ましい。従来は、ロボット操作のようにリアルタイム制御が必要な場面に、リモートデスクトップを利用することが想定されていなかったことにより、可搬式操作装置のキー操作の伝達に関してリアルタイム性が保証されていない問題があったが、構造的な対策は行われていなかった。
【００３３】
しかし、請求項４の発明によれば、上述した問題が上記したように解決できる。
又、請求項４の発明によれば、教示操作キー用の定期周期的な通信パケットの通信が１つで済むため、ネットワーク通信の頻度の増大を抑止できる。
【００３４】
又、請求項５のコントローラによれば、上記ロボット制御システムに使用できるコントローラを提供できる。
又、請求項６の発明のコントローラによれば、請求項４のロボット制御システムに使用できるコントローラを提供できる。
【図面の簡単な説明】
【００３５】
【図１】本発明の第１実施形態のロボット制御システムのコントローラとティーチペンダントのブロック図。
【図２】（ａ）は通常通信パケットの説明図、（ｂ）は、安全通信パケットの説明図。
【図３】第２実施形態のロボット制御システムのコントローラとティーチペンダントのブロック図。
【図４】（ａ）は、非安全パケット生成部の機能ブロック図、（ｂ）は、安全送信部の機能ブロック図、（ｃ）は、非安全通信パケット検査部の機能ブロック図。
【図５】作用の説明図。
【図６】作用の説明図。
【図７】従来のロボット制御システムの機能ブロック図。
【図８】他の実施形態のロボット制御システムのコントローラとティーチペンダントのブロック図。
【図９】他の実施形態のロボット制御システムのコントローラとティーチペンダントのブロック図。
【発明を実施するための形態】
【００３６】
（第１実施形態）
以下、本発明を教示装置である可搬式操作装置としてのティーチペンダント１０とロボット制御装置としてのコントローラ３０とがネットワーク手段としての有線ＬＡＮ（ローカルエリアネットワーク）を介して通信を行うロボット制御システムＳに具体化した第１実施形態を図１及び図２を参照して説明する。
【００３７】
このロボット制御システムＳのコントローラ３０が制御するロボットＲは、例えば溶接ロボットである。なお、ロボットは、溶接ロボットに限定されるものではなく、例えば搬送ロボット等の他のロボットであってもよい。
【００３８】
（ティーチペンダント１０）
図１に示すように可搬式操作装置としてのティーチペンダント１０はメインＣＰＵ（中央演算処理装置）１１、安全送信部１２、ＬＡＮＩ／Ｆからなる通信部１３、キーボード１４、非常停止スイッチ２１、液晶ディスプレイ等の表示装置（図示しない）等の各部を備えている。本実施形態では、安全送信部１２、及び通信部１３とにより、第１通信手段が構成されている。
【００３９】
キーボード１４は、ＧＵＩ機能を実現させるための各種の操作キースイッチ（以下、操作キーという）を備えている。該操作キーの中で、教示操作に使用される操作キーは、教示モードでロボットの動作又は停止を行うためのキーであり、以下、優先キー１５という。優先キー１５は教示操作キーに相当する。
【００４０】
優先キー１５としては、例えば、Ｘ軸の移動方向を示す「−Ｘ」キー及び「Ｘ＋」キー、Ｙ軸の移動方向を示す「−Ｙ」キー及び「Ｙ＋」キー及び「−Ｙ」キー、Ｚ軸の移動方向を示す「−Ｚ」キー及び「Ｚ＋」キー、教示結果の確認操作に使用するキー等がある。これらの操作キーが教示モードにおいて操作されると、ロボットの動作又は停止を指示することとなる。優先キー１５には、作業者がロボットの動作／停止を指示するためのキー類も含む。なお、上記の優先キー１５は例示であって、優先キー１５はこれらの操作キーに限定されるものではない。
【００４１】
又、キーボード１４は、ＧＵＩ機能を実現させるための各種の操作キーの中で、非教示操作に使用するキー（教示モード以外の他のモード、あるいは教示モードであってもロボットの動作、停止に関連しない操作に使用するキー）、すなわち、リモートデスクトップ操作を行うために使用されるキーを非優先キー１６という。非優先キー１６は、非教示操作キーに相当する。
【００４２】
これらの非優先キー１６は、例えば、モード切替キー、数字キー、画面選択キー、教示点の削除キー、カーソルキー等を含む。なお、前述した非優先キー１６は例示であって、非優先キー１６は上述した操作キーに限定されるものではない。前述したリモートデスクトップ操作を行うためのキーを含む趣旨である。
【００４３】
メインＣＰＵ１１は、該ＣＰＵが備える図示しないＲＯＭに格納されたソフトウエアによりＲＤＰクライアントとして機能する。メインＣＰＵ１１が実行する前記ＲＤＰクライアントの機能には、優先キー１５のオンオフの入力操作を監視する第１監視手段としての優先キー入力監視部１７と非優先キーのオンオフの入力操作を監視する非優先キー１６の入力操作を監視する第２監視手段としての非優先キー入力監視部１８の機能が含まれる。
【００４４】
又、優先キー入力監視部１７及び非優先キー入力監視部１８とにより、キー状態監視手段が構成されている。
なお、図１に示すメインＣＰＵ１１内のブロックは、ハード構成を示すものではなく、機能ブロックを示している。又、前記ＲＤＰクライアントは、優先キー及び非優先キー１６のキー状態を、当該ティーチペンダント１０と関連付けられた、すなわち、コントロールの対象となるロボットＲを制御するコントローラ３０のＲＤＰサーバ３６へ送信する機能を有する。
【００４５】
非常停止スイッチ２１は、押されて図示しない接点が開となった場合、非常停止状態となる。又、非常停止スイッチ２１は押されない場合には、前記非常停止状態が解除されている。
【００４６】
安全送信部１２は、第１ＣＰＵ１９（中央演算処理装置）と第２ＣＰＵ２０（中央演算処理装置）とから構成されている。第１ＣＰＵ１９と第２ＣＰＵ２０とは、後述するコントローラ３０間と安全通信を行うためのソフトウエアを格納したＲＯＭ（図示しない）をそれぞれ備え、シリアル通信により互いに必要なデータの交信が可能である。
【００４７】
安全送信部１２は、優先キー入力監視部１７で監視された優先キー１５のキー状態、すなわち、オンオフのキー状態をパケットデータとして含む安全通信パケットの生成、及び、前記非常停止スイッチ２１が押された際の非常停止状態をパケットデータとして含む安全通信パケットの生成を行い、通信部１３を介して送信する。
【００４８】
又、通信部１３は、非優先キー入力監視部１８で監視された非優先キー１６のキー状態、すなわち、キー状態をパケットデータとして含む通信パケット（以下、この通信パケットを通常通信パケットという）を生成して通信部１３を介して送信する。
【００４９】
（コントローラ３０）
コントローラ３０は、メインＣＰＵ３１、安全受信部３２、ＬＡＮＩ／Ｆからなる通信部３３等の各部を備えている。ティーチペンダント１０の通信部１３、コントローラ３０の通信部３３とにより、有線ＬＡＮからなるネットワーク手段が構成されている。通信部３３と、安全受信部３２とにより第２通信手段及び通信手段が構成されている。安全受信部３２は記憶手段に相当する。
【００５０】
通信部３３は、ティーチペンダント１０の通信部１３と交信可能である。そして、通信部３３はティーチペンダント１０から送信された安全通信パケット、通常通信パケットを受信し、安全通信パケットを安全受信部３２に送信するとともに通常通信パケットをメインＣＰＵ３１に送信する。通信部３３は、通常通信パケットの場合には、該通常通信パケットの中から非優先キー１６のキー状態のパケットデータを抽出して、メインＣＰＵ３１に送信する。
【００５１】
安全受信部３２は、第１ＣＰＵ３４（中央演算処理装置）と第２ＣＰＵ３５（中央演算処理装置）とから構成されている。第１ＣＰＵ３４と第２ＣＰＵ３５とは、ティーチペンダント１０と安全通信を行うためのソフトウエアを格納したＲＯＭ（図示しない）をそれぞれ備え、シリアル通信により第１ＣＰＵ３４と第２ＣＰＵ３５間とは互いに必要なデータの交信が可能である。そして、安全受信部３２は、ティーチペンダント１０の安全送信部１２と定期的な安全通信パケットと応答パケットの送受信を相互に行い、通信によって後述する非常停止機能を実現する。
【００５２】
安全受信部３２では、第１ＣＰＵ３４が通信部３３を介して受信した安全通信パケットと、第２ＣＰＵ３５が第１ＣＰＵ３４を介して受信した安全通信パケットの検証をそれぞれ行う。そして、安全受信部３２は両検証で問題の発生がない場合には、安全通信パケットから優先キー１５のキー状態データを抽出してメインＣＰＵ３１に出力する。
【００５３】
メインＣＰＵ３１は、図示しないＲＯＭを備え、該ＲＯＭには、該コントローラ３０が制御対象とするロボットＲの動作制御を実行するための制御プログラムとその制御定数や、各種プログラムが格納される。又、メインＣＰＵ３１は、前記図示しないＲＯＭに格納された各種プログラム中、ＲＤＰサーバプログラムによりＲＤＰサーバ３６として機能する。なお、図１に示すメインＣＰＵ３１内のブロックは、ハード構成を示すものではなく、機能ブロックを示する。この機能ブロックにはＲＤＰサーバ３６と、動作制御部３９及びＧＵＩ制御部４０が設けられている。
【００５４】
又、前記ＲＤＰサーバ３６は、安全受信部３２が抽出した優先キー１５のキー状態データを受信する優先キー状態受信部３７と、通信部３３が抽出した非優先キー１６のキー状態データを受信する非優先キー状態受信部３８を備える。
【００５５】
優先キー状態受信部３７は、受信した優先キー１５のキー状態データを、動作制御部３９に出力する。動作制御部３９は、教示モードでは、入力した優先キー１５のキー状態データに応じてロボットＲの各関節の動作を制御する。
【００５６】
又、非優先キー状態受信部３８は、受信した非優先キー１６のキー状態データを、ＧＵＩ制御部４０に出力する。ＧＵＩ制御部４０は、入力した非優先キー１６のキー状態データに応じてＧＵＩ制御を行う。ＧＵＩ制御部４０によるＧＵＩ制御は、図示しないＲＯＭに格納されたＧＵＩ制御プログラムに従って行われる。
【００５７】
すなわち、ＧＵＩ制御部４０は、前記ＧＵＩ制御プログラムを実行して、入力された非優先キーのキー状態データに応じて、画面データを生成し、作成された該画面データを、通信部３３を介してティーチペンダント１０側に送信する。なお、ティーチペンダント１０のメインＣＰＵ１１は、受信した画面データに基づく画像をティーチペンダント１０が備える図示しない表示装置に表示する。なお、ＧＵＩ制御は、本発明の要旨ではなく、又、特許文献２等により公知であるため、詳細な説明を省略する。
【００５８】
（作用）
さて、上記のように構成されたロボット制御システムＳの作用を説明する。なお、説明の便宜上、ティーチペンダント１０がコントローラ３０に有線ＬＡＮで接続された状態であって、ティーチペンダント１０から非優先キー１６、或いは、非優先キー１６が入力操作されたものとして説明する。
【００５９】
（１．非優先キー１６が入力操作された場合）
まず、ティーチペンダント１０から、いずれかの非優先キー１６が入力操作されると、非優先キー入力監視部１８は、定期周期的（例えば、数ｍｓｅｃ毎）に非優先キー１６の入力を監視しており、その監視結果を通信部１３に出力する。
【００６０】
通信部１３では、監視結果である入力操作された非優先キー１６について通常通信パケットを生成する（図２（ａ）参照）。
通常通信パケットは、操作された非優先キー１６のキー状態をパケットデータとしてのキー状態データとして、図２（ａ）に示すように、コントローラ３０の宛先データＡ１（すなわち、宛先アドレス）、送信元データＡ２（すなわち、送信元アドレス）、送信番号データＡ３（すなわち、通信番号データ）、キー状態データＡ４（すなわち、非優先キーのキー状態）、誤り検出データＡ５を含む。
【００６１】
宛先データＡ１及び送信元データＡ２は、ヘッダとなる。又、キー状態データＡ４は、キー名データと、キー状態データを含む。
この場合、宛先データとしては、本実施形態では、ティーチペンダント１０のメインＣＰＵ３１の固有アドレスとなる。
【００６２】
なお、宛先データＡ１、送信元データＡ２、送信番号データＡ３、キー状態データＡ４、誤り検出データＡ５は、通信データを構成するデータであり、予め定められた通信プロトコルに従ってパケットの形式で作成される。送信番号データＡ３は、前回送信した送信番号データＡ３に１が加えられることにより更新される。この結果、送信番号データＡ３は連番で付与されることになる。又、誤り検出データの作成としては、例えば、ＣＲＣ（Cyclic  Redundancy  Check）方式や、垂直パリティチェック方式或いは水平パリティチェック方式等があるが、限定されるものではない。
【００６３】
従って、複数の非優先キー１６が順次入力操作された場合は、通信部１３は、非優先キー１６の入力順に該非優先キー１６のキー状態をキー状態データ（パケットデータ）を含む通常通信パケットを連番で生成して、通信部１３を介して、コントローラ３０に定期周期（例えば、数十ｍｓｅｃ毎）で送信することになる。なお、通信部１３では、前記定期周期毎に、安全通信パケットや、通常通信パケットを送信している。
【００６４】
コントローラ３０の通信部３３は、通常通信パケットを順次受信する。複数の通常通信パケットが連番で受信が成功した場合には、これら受信した通常通信パケットを、通信部３３は、非優先キー状態受信部３８に送信する。
【００６５】
なお、受信した通常通信パケットが連番で受信しなかった場合、或いは、通常通信パケットに付与されている誤り検出データに基づいて、データが化けていると通信部３３が判定した場合には、通信部３３は、当該通信エラーが生じた通常通信パケットに関して、再送信要求を行う。この再送信要求を受けたティーチペンダント１０の通信部１３では、当該再送信要求を受けた通常通信パケットを再送する。この再送により、正常な通常通信パケットを受信した場合、既に正常に受信した通常通信パケットとともに、非優先キー状態受信部３８に送信する。
【００６６】
非優先キー状態受信部３８は、入力した通常通信パケットから非優先キー１６のキー状態データ（パケットデータ）を送信番号データ順に抽出し、抽出した順に、非優先キー１６のキー状態データを、ＧＵＩ制御部４０に出力する。ＧＵＩ制御部４０は、入力した非優先キー１６のキー状態データに応じてＧＵＩ制御を行う。このようにして、通常通信パケットを受信した場合においては、ＧＵＩ制御が行われる。
【００６７】
（２．優先キー１５が入力操作された場合）
優先キー入力監視部１７は、定期周期的（例えば、数ｍｓｅｃ毎）に優先キー１５の入力を監視しており、ティーチペンダント１０が、前記モード設定キー（図示しない）により教示モードに設定された状態で、いずれかの優先キー１５が入力操作されると、その監視結果を安全送信部１２に出力する。安全送信部１２では、まず、第１ＣＰＵ１９が、図２（ｂ）に示すように安全通信パケットを生成する。
【００６８】
安全通信パケットは、操作された優先キー１５のキー状態をパケットデータとしてのキー状態データとして、図２（ｂ）に示すように、安全受信部３２の宛先データＢ１（すなわち、宛先アドレス）、送信元データＢ２（すなわち、送信元アドレス）、送信番号データＢ３（すなわち、通信番号データ）、キー状態データＢ４（すなわち、優先キーのキー状態）、誤り検出データＢ５を含む。
【００６９】
宛先データＢ１及び送信元データＢ２は、ヘッダＨとなる。又、キー状態データＢ４は、キー名データと、キー状態データを含む。
なお、宛先データＢ１、送信元データＢ２、送信番号データＢ３、キー状態データＢ４、誤り検出データＢ５は、通信データを構成するデータであり、予め定められた通信プロトコルに従ってパケットの形式で作成される。送信番号データＢ３は、前回送信した送信番号データＢ３に１が加えられることにより更新される。この結果、送信番号データＢ３は連番で付与されることになる。又、誤り検出データの作成としては、例えば、ＣＲＣ方式や、垂直パリティチェック方式或いは水平パリティチェック方式等があるが、限定されるものではない。
【００７０】
第１ＣＰＵ１９は、生成した前記安全通信パケットを、第２ＣＰＵ２０に送信する。なお、優先キー１５の入力操作がない場合にも、優先キー入力監視部１７は、その監視結果を安全送信部１２の第１ＣＰＵ１９に対して出力しており、この場合には、第１ＣＰＵ１９は、いずれの優先キー１５の入力操作がない旨のデータをキー状態データＢ４にして、同様に安全通信パケットを生成して、第２ＣＰＵ２０に送信する。
【００７１】
第２ＣＰＵ２０は、第１ＣＰＵ１９とは定期周期（例えば数十ｍｓｅｃ毎）で通信を行っており、第１ＣＰＵ１９から送信されてきた安全通信パケットを下記の三点の観点で検証する。
【００７２】
（１）当該検証対象の安全通信パケットが定期周期（例えば数十ｍｓｅｃ毎）で受信されたか否かを検証する。
（２）当該検証対象の安全通信パケットに含まれる送信番号データＢ３と、当該安全通信パケットの直前に受信した安全通信パケットに含まれる送信番号データＢ３とが連番になっているかを検証する。
【００７３】
（３）当該検証対象の安全通信パケットに含まれる誤り検出データを使用して、該安全通信パケットに含まれるデータが正しいか否かを検証する。
検証対象の安全通信パケットが、定期周期（例えば数十ｍｓｅｃ毎）で受信されており、当該安全通信パケットの直前に受信した安全通信パケットに含まれる送信番号データＢ３と連番になっており、かつ、当該検証対象の安全通信パケットに含まれるデータが正しいと、第２ＣＰＵ２０は、検証した場合には、通信部１３を介してコントローラ３０に送信する。なお、第２ＣＰＵ２０において、前記三点の検証結果に良くないものが１つ以上あれば、安全通信パケットの優先キーのキー状態データを、キー入力ＯＦＦ状態に変更して、通信部１３を介してコントローラ３０に送信する。
【００７４】
通信部１３では、入力した安全通信パケットを定期周期（例えば、数十ｍｓｅｃ毎）で送信している。この場合、複数の優先キー１５の操作が順次連続して行われた場合、或いは、共通の優先キーの操作が連続して行われた場合、送信番号データＢ３を連番にした複数の安全通信パケットが生成されるため、これらの安全通信パケットは、通信部１３により、前記定期周期毎に順次コントローラ３０へ送信される。
【００７５】
コントローラ３０の通信部３３は、受信した安全通信パケットを、安全受信部３２の第１ＣＰＵ３４に送信する。
安全受信部３２の第１ＣＰＵ３４は、通信部３３から受信した安全通信パケットを前記（１）〜（３）の観点で検証し、前記三点の検証結果が良ければ、第２ＣＰＵ３５に送信する。なお、第１ＣＰＵ３４において、前記三点の検証結果に良くないものが１つ以上あれば、安全通信パケットの優先キーのキー状態データを、キー入力ＯＦＦ状態に変更して、第２ＣＰＵ３５に渡す。
【００７６】
第２ＣＰＵ３５は、第１ＣＰＵ３４とは定期周期（例えば数十ｍｓｅｃ毎）で通信を行っており、第１ＣＰＵ３４から送信されてきた安全通信パケットを上記の三点の観点で検証する。前記三点の検証結果が良ければ、第２ＣＰＵ３５は受信した安全通信パケットから、優先キー１５のキー状態データＢ４を取り出し、当該優先キーのキー状態データＢ４を図示しない記憶部に記憶するとともに優先キー状態受信部３７に該キー状態データＢ４を出力する。
【００７７】
又、第２ＣＰＵ３５の前記検証結果が良ければ、メインＣＰＵ３１は、ロボットＲを駆動するためのモータ（図示しない）のサーボアンプ（図示しない）への電力供給を許容している旨の非常停止出力状態をそのまま更新する。なお、図示しないサーボアンプへの電力供給を許容している旨の非常停止出力状態が更新されることにより、メインＣＰＵ３１は、サーボアンプへの電力供給を遮断する制御は行わないことになる。
【００７８】
又、第２ＣＰＵ３５の前記検証結果が良ければ、第２ＣＰＵ３５は、第１ＣＰＵ３４、及び通信部３３を介して良好に安全通信パケットを受信した旨の応答パケットを定期周期（例えば、数十ｍｓｅｃ毎）で送信する。すなわち、コントローラ３０において、次々と受信されてくる安全通信パケットの第２ＣＰＵ３５までの受信で問題がなければ、前記応答パケットの送信が、定期的に繰り返されることになる。この応答パケットは、ティーチペンダント１０の通信部１３に送信され、ティーチペンダント１０側では、この応答パケットの受信がされる限り、安全通信パケットが定期周期で行われていることが確認される。
【００７９】
そして、第２ＣＰＵ３５による前記三点の検証結果が良とされて、優先キー状態受信部３７が前記キー状態データＢ４を入力すると、優先キー状態受信部３７は優先キー１５のキー状態データＢ４（キー状態）を、動作制御部３９に出力する。動作制御部３９は、このキー状態データＢ４に基づいてロボットＲを動作制御する。
【００８０】
一方、安全受信部３２の第２ＣＰＵ３５は、安全通信パケットの３つの観点の検証で何れか１つ以上に問題が発生した場合、前記サーボアンプ（図示しない）への電力を遮断制御する。
【００８１】
又、安全受信部３２の第２ＣＰＵ３５は、安全通信パケットの３つの観点の検証で何れか１つ以上に問題が発生した場合、当該安全通信パケット、及び以前に受信して記憶した安全通信パケットの全ての優先キー１５のキー状態データＢ４をキー入力ＯＦＦ状態に変更して、優先キー状態受信部３７に渡す。優先キー状態受信部３７は、キー状態データＢ４を動作制御部３９に出力する。
【００８２】
この結果、優先キー１５のキー状態データＢ４（キー状態）は、全てキー入力ＯＦＦ状態となっているため、動作制御部３９は、このキー状態データＢ４に基づいてロボットＲを動作させないことになる。又、同時に前述したように動力源としてのモータ（図示しない）は停止するため、前記動力源からも、或いは動作制御側においてもロボットＲは停止する。
【００８３】
このように、安全通信パケットの通信エラーが生じた場合、前記動力源への電力遮断及び動作制御側において、ロボット制御システムＳの非常停止機能を実現することになる。
以上のように、本実施形態では、キー操作の伝達が遅れることなく、安全通信パケットの送信を定期周期で行い、一方、データ化け、送信番号データＢ３が更新されない場合、定期周期で送信されてこない場合等の通信エラーが生じた場合には、ロボットＲの動作を停止することができる。この結果、ティーチペンダント１０の操作によりロボット動作の信頼性を確保することができる。
【００８４】
具体的な事例を挙げて、説明すると、優先キー１５を操作した入力順通りに、安全通信パケットが伝達される必要があることは、下記の問題例を解決することになる。下記の問題例では、２つの安全通信パケットの送信番号データＢ３が「０１」と「０２」のとき、「０１」の安全通信パケットがキー状態データＢ４が停止キーＯＮで、「０２」の安全通信パケットのキー状態データＢ４が停止キーＯＦＦの場合、この順番が前後入れ替わると、受信側（コントローラ側）では、停止キーＯＮが後になるため、停止キーがＯＮ状態と誤認する問題がある。
【００８５】
又、優先キー１５の操作した情報が、一定の時間で伝達される必要があることは、下記の問題例を解決することになる。
すなわち、２つの安全通信パケットの送信番号データＢ３が「０１」と「０２」のとき、「０１」の安全通信パケットがキー状態データＢ４が停止キーＯＮで、「０２」の安全通信パケットのキー状態データＢ４が停止キーＯＦＦの場合、「０２」の安全通信パケットの伝達が遅れると、ロボットＲが余計に動いてしまい、壁に当たる等の二次的問題も生ずる。
【００８６】
（３．非常停止スイッチ２１が操作された場合）
又、安全送信部１２の第１ＣＰＵ１９は、定期周期的（例えば、数ｍｓｅｃ毎）に非常停止スイッチ２１の操作されたか否かを監視しており、ティーチペンダント１０の非常停止スイッチ２１が押されて操作された場合は、安全送信部１２は、まず、第１ＣＰＵ１９が、安全通信パケットを生成する。このときの安全通信パケットとしては、図２（ｂ）に示すキー状態データＢ４には、優先キー１５の状態に加えて、非常停止スイッチ２１が押された旨の情報も格納される。他の宛先データＢ１〜送信番号データＢ３，誤り検出データＢ５の生成は優先キー１５の場合と同様に行われる。以後の、安全送信部１２、通信部１３、通信部３３、安全受信部３２における第１ＣＰＵ３４、第２ＣＰＵ３５での通信処理及び検証は、前述した優先キー１５の場合と同様に処理される。このように、非常停止スイッチ２１が押された場合の安全通信パケットの通信処理は、優先キー１５の状態と非常停止スイッチ２１の状態とが１つの安全通信パケットとして処理される。
【００８７】
そして、安全受信部３２の第２ＣＰＵ３５において、いずれから通信処理にエラーが生じたり、或いは、通信処理にエラーが生ぜず、前記操作された状態を示す非常停止スイッチ状態データが安全通信パケットにあることが分かると、前述したことと同様に、前記動力源への電力遮断及び動作制御側において、ロボット制御システムＳの非常停止機能を実現する。
【００８８】
さて、本実施形態によれば、以下のような特徴がある。
（１）  本実施形態のロボット制御システムＳの１０は、ロボットの教示操作に使用される複数の優先キー１５（教示操作キー）、及び非優先キー１６のオンオフのキー状態を監視する（キー状態監視手段）と、前記キー状態監視手段の監視結果である優先キー１５及び非優先キー１６のキー状態のパケットデータを送信する安全送信部１２及び通信部１３（第１通信手段）とを備えている。又、ロボット制御システムＳのコントローラ３０は、安全送信部１２及び通信部１３（第１通信手段）と通信を行い、通信の通信エラーの検出を行う通信部３３及び安全受信部３２（第２通信手段、通信手段）を備える。そして、コントローラ３０の安全受信部３２（記憶手段）は、優先キー１５に関する通信エラーが検出されない場合、ティーチペンダント１０から送信された優先キー１５（教示操作キー）のキー状態のオンのときそのオン状態を記憶する。そして、メインＣＰＵ３１（制御手段）は、送信された優先キー１５（教示操作キー）のキー状態のオンのときそのオン状態に基づいてロボット制御を行う。
【００８９】
又、優先キー１５に関する通信エラーが検出された場合、コントローラ３０の安全受信部３２（記憶手段）は、前記記憶した前記教示操作キーのオン状態を解除、すなわち、オフ状態（ＯＦＦ状態）にする。メインＣＰＵ３１（制御手段）は、前記記憶解除とともにロボットを停止する。
【００９０】
この結果、教示時において、通信エラーを検出した際に、ロボット制御を行うコントローラ側の反応の遅れや、或いは操作不可の状態が発生することがなく、安全性を高めることができるネットワーク対応のロボット制御システムを提供することができる。
【００９１】
（２）  本実施形態のロボット制御システムＳのティーチペンダント１０は、教示操作に使用される複数の優先キー１５（教示操作キー）の各キー状態に応じて、優先キー１５の入力順に前記各キー状態のキー状態データＢ４（パケットデータ）を複数作成して該複数のキー状態データＢ４を定期周期毎に、前記入力順に連番で送信する安全送信部１２（第１通信手段）を備える。又、ティーチペンダント１０は、非教示操作に使用される複数の非優先キー１６（非教示操作キー）の各キー状態に応じて、該非優先キー１６の入力順に各キー状態のキー状態（パケットデータ）を複数作成して送信するとともに、再送信要求があったパケットデータについては再送する通信部１３（第１通信手段）を備える。
【００９２】
又、コントローラ３０は、受信した非優先キー１６に関するキー状態データＡ４（パケットデータ）を前記定期周期毎に連番で受信したか否かの検証を行うとともに、受信した前記非優先キーに関するパケットデータの通信エラーが生じた際、前記再送信要求を行う通信部３３（第２通信手段、通信手段）を備える。さらに、コントローラ３０は、通信部３３及び安全受信部３２（第２通信手段、通信手段）が受信した優先キー１５に関するキー状態データＢ４（パケットデータ）が、前記定期周期毎に連番で受信した場合にそのキー状態データＢ４に応じたロボット制御を行い、前記定期周期毎に連番で受信しなかった場合には、ロボットＲを停止する。さらに、コントローラ３０は、通信部３３が受信した非優先キー１６に関して通信エラーが生じなかったパケットデータに基づいて、ＧＵＩ制御を行う。この結果、リモートデスクトップ技術を応用したティーチペンダント１０とロボット制御を行うコントローラ３０の通信において、ティーチペンダント１０が備える操作キーのキー状態を伝達する経路を２つ持たせることにより、ティーチペンダント１０によりロボット動作を教示する場合のキー操作の伝達に関して、リアルタイム性を保証するとともに、通信の信頼性を高め、安全かつ安定した操作性を確保することができるロボット制御システムを提供できる。
【００９３】
さらに、ロボットの操作キー（優先キー１５）のキー状態データＢ４（操作情報）は、メインＣＰＵ３１のＲＤＰサーバ３６を中継するようにしている。この結果、安全通信が未接続のときには、ロボットの操作キー（優先キー１５）の操作情報が伝わらないため、安全である。又、ＲＤＰサーバ３６が未接続時には、操作キー（優先キー１５）の操作情報は、動作制御部３９に伝わらないため、より安全である。
【００９４】
（３）  本実施形態のティーチペンダント１０は、優先キー１５のキー状態について監視する優先キー入力監視部１７（第１監視手段）を備え、通信部１３（第１通信手段）は、優先キー入力監視部１７が監視した複数の優先キー１５の各キー状態に応じて、該優先キー１５の入力順に前記各キー状態のパケットデータを複数作成して該複数のパケットデータを定期周期毎に、前記入力順に連番で送信する。この結果、優先キー１５のキー状態が把握され、該優先キー１５のキー状態に基づいて、通信部１３が複数のパケットデータを入力順に作成して、該複数のパケットデータを定期周期毎に、前記入力順に連番で送信することができる。
【００９５】
（４）  本実施形態のティーチペンダント１０は非優先キー１６のキー状態について監視する非優先キー入力監視部１８（第２監視手段）を備える。そして、通信部１３は、非優先キー入力監視部１８が監視した複数の非優先キー１６の各キー状態に応じて、該非優先キー１６の入力順に前記各キー状態のパケットデータを複数作成して送信するとともに、再送信要求があったパケットデータについては再送する。この結果、通信部１３は、非優先キー１６が監視したキー状態について、複数のパケットデータを入力順に作成して送信するとともに、再送信要求があったパケットデータについては再送することができる。
【００９６】
（５）  本実施形態のティーチペンダント１０は、教示操作に使用される複数の優先キー１５の各キー状態に応じて、優先キー１５の入力順に前記各キー状態のキー状態データＢ４（パケットデータ）を複数作成して該複数のキー状態データＢ４を定期周期毎に、前記入力順に連番で送信する安全送信部１２（第１通信手段）を備える。又、ティーチペンダント１０は、非教示操作に使用される複数の非優先キー１６の各キー状態に応じて、該非優先キー１６の入力順に各キー状態のキー状態データ（パケットデータ）を複数作成して送信するとともに、再送信要求があったパケットデータについては再送する通信部１３（第１通信手段）を備える。この結果、上記ロボット制御システムＳに使用できる可搬式操作装置を提供できる。
【００９７】
（６）  本実施形態のコントローラ３０は、受信した非優先キー１６に関するキー状態データＡ４（パケットデータ）を定期周期毎に連番で受信したか否かの検証を行うとともに、受信した前記非優先キーに関するパケットデータの通信エラーが生じた際、前記再送信要求を行う通信部３３（第２通信手段、通信手段）を備える。さらに、コントローラ３０は、通信部３３及び安全受信部３２（第２通信手段、通信手段）が受信した優先キー１５に関するキー状態データＢ４（パケットデータ）が、前記定期周期毎に連番で受信した場合にそのキー状態データＢ４に応じたロボット制御を行い、前記定期周期毎に連番で受信しなかった場合には、ロボットＲを停止する。さらに、コントローラ３０は、通信部３３が受信した非優先キー１６に関して通信エラーが生じなかったパケットデータに基づいて、ＧＵＩ制御を行う。この結果、上記ロボット制御システムに使用できるコントローラを提供できる。
【００９８】
（第２実施形態）
次に、第２実施形態のロボット制御システムＳを図３乃至図６を参照して説明する。なお、第２実施形態の構成中、第１実施形態の構成と同一又は相当する構成については、同一符号を付して説明する。
【００９９】
図３に示すように、本実施形態の搬式操作装置としてのティーチペンダント１０はメインＣＰＵ（中央演算処理装置）１１、安全送信部１２、ＬＡＮＩ／Ｆからなる通信部１３、キーボード１４、非常停止スイッチ２１、デッドマンスイッチ２２、液晶ディスプレイ等の表示装置（図示しない）等の各部を備えている。キーボード１４には、第１実施形態と同様に各種キー群を備える。
【０１００】
すなわち、キーボード１４は、第１実施形態と同様にＧＵＩ機能を実現させるための各種の操作キースイッチ（以下、操作キーという）を備えている。該操作キーの中で、教示操作に使用される操作キーは、教示モードでロボットの動作又は停止を行うためのキーであり、教示操作キーに相当する。教示操作キーとしては、例えば、Ｘ軸の移動方向を示す「−Ｘ」キー及び「Ｘ＋」キー、Ｙ軸の移動方向を示す「−Ｙ」キー及び「Ｙ＋」キー及び「−Ｙ」キー、Ｚ軸の移動方向を示す「−Ｚ」キー及び「Ｚ＋」キー、教示結果の確認操作に使用するキー等がある。これらの操作キーが教示モードにおいて操作されると、ロボットの動作又は停止を指示することとなる。教示操作キーには、作業者がロボットの動作／停止を指示するためのキー類も含む。なお、上記の教示操作キーは例示であり、前記操作キーに限定されるものではない。
【０１０１】
又、キーボード１４は、ＧＵＩ機能を実現させるための各種の操作キーの中で、非教示操作に使用するキー（教示モード以外の他のモード、あるいは教示モードであってもロボットの動作、停止に関連しない操作に使用するキー）、すなわち、リモートデスクトップ操作を行うために使用されるキーをも含み、非教示操作キーに相当する。
【０１０２】
これらの非教示操作キーは、例えば、モード切替キー、数字キー、画面選択キー、教示点の削除キー、カーソルキー等を含む。なお、前述した非教示操作キーは例示であって、上述した操作キーに限定されるものではない。前述したリモートデスクトップ操作を行うためのキーを含む趣旨である。
【０１０３】
又、コントローラ３０は、メインＣＰＵ３１、安全受信部３２、通信部３３、動作制御部３９、ＧＵＩ制御部４０等の各部を備えている。
前記安全送信部１２、安全受信部３２は、通信によって安全機能を実現するために相互に定期的なデータパケット（安全通信パケット）の送受信を行うためのものであり、ハード及びソフトを組み合わせたモジュールからなる。
【０１０４】
そして、安全送信部１２は、非常停止スイッチ２１が押された際、或いはデッドマンスイッチ２２が作動してその非常停止状態をパケットデータとして含む安全通信パケットの生成を行い、通信部１３を介して、通信部３３へ向けて送信する。
【０１０５】
通信部１３、３３は、ティーチペンダント１０とコントローラ３０間のネットワーク通信を実現するためのハード及びソフトを組み合わせたモジュールからなる。本実施形態では、通信部１３、３３は無線通信によるネットワーク通信が行われる。
【０１０６】
メインＣＰＵ１１は、ソフトウエアにより、キー情報送信部１１ａとして機能する。なお、図３に示すメインＣＰＵ１１内のブロックは、ハード構成を示すものではなく、機能ブロックを示している。キー情報送信部１１ａは、さらに、キー入力監視部１１ｂ、非安全通信パケット生成部１１ｃび非安全情報送信部１１ｄとして機能する。キー情報送信部１１ａは、キーボード１４の各種キー群のオン・オフ状態を取得し、この情報を通信部１３を介してコントローラ３０に送信する。なお、前記各種キー群には、キー、スイッチ、ボタン等の操作手段を含む。前記キー入力監視部１１ｂは、前記各種操作キー群のキー状態、すなわち、前記オン・オフ状態を監視しており、キー状態監視手段に相当する。
【０１０７】
図４（ａ）に示すように非安全通信パケット生成部１１ｃは、送信番号を管理する連番管理部１１ｅ、送信時間管理部１１ｆ、送信処理部１１ｇを備える。連番管理部１１ｅ、送信時間管理部１１ｆ、及び送信処理部１１ｇの詳細な説明は後述する。
【０１０８】
コントローラ３０のメインＣＰＵ３１は、ソフトウエアにより、キー情報受信部５０、動作制御部３９、ＧＵＩ制御部４０として機能する。なお、図３に示すメインＣＰＵ３１内のブロックは、ハード構成を示すものではなく、機能ブロックを示している。動作制御部３９及びＧＵＩ制御部４０は、第１実施形態と同様に構成されている。
【０１０９】
キー情報受信部５０は、非安全通信パケット検査部５２、及び記憶手段としてしてのキー情報管理部５４を備えている。非安全通信パケット検査部５２及びキー情報管理部５４の詳細な説明は後述する。前記キー情報受信部５０は、ティーチペンダント１０から受信したキー群のオン・オフ状態を、動作制御部３９、又はＧＵＩ制御部４０に送信する。
【０１１０】
動作制御部３９は、第１実施形態と同様に、教示モードでは、入力した優先キー１５のキー状態データに応じてロボットＲの各関節の動作を制御する。又、動作制御部３９は、自動運転モードにおいては、教示されたプログラムに従ってロボットＲの制御を行う。
【０１１１】
ＧＵＩ制御部４０は、第１実施形態と同様に、ＧＵＩ制御を行うためのキー群のキー状態データに応じてＧＵＩ制御を行う。ＧＵＩ制御部４０によるＧＵＩ制御は、図示しないＲＯＭに格納されたＧＵＩ制御プログラムに従って行われる。
【０１１２】
すなわち、メインＣＰＵ３１は、前記図示しないＲＯＭを備え、該ＲＯＭには、該コントローラ３０が制御対象とするロボットＲの動作制御を実行するための制御プログラムとその制御定数や、各種プログラムが格納される。又、メインＣＰＵ３１は、前記図示しないＲＯＭに格納された各種プログラム中、ＲＤＰサーバプログラムによりＲＤＰサーバとして機能する。
【０１１３】
又、ＧＵＩ制御部４０は、各種のデータ管理及び設定が可能であり、動作制御部３９とは異なり、ロボットＲの動作停止及び動作開始を直接制御しない非動作制御部に相当する。
【０１１４】
本実施形態では、ティーチペンダント１０のメインＣＰＵ１１、すなわちキー情報送信部１１ａ、及び通信部１３とにより、第１通信手段が構成されている。又、コントローラ３０のメインＣＰＵ３１、すなわち、キー情報受信部５０と通信部３３とにより第２通信手段が構成されている。
【０１１５】
（第２実施形態の作用）
次に、本実施形態のロボット制御システムＳの作用を説明する。
１．通信が正常な場合の処理
（ステップ１：ティーチペンダント１０による操作キーＯＮ状態の送信）
作業者が、ティーチペンダント１０の操作キーを入力操作すると、キー入力監視部１１ｂは、キー状態がオフからオンに変化したことを検出し、入力操作されたキー名とキー状態値（ＯＮ）を非安全通信パケット生成部１１ｃに送る。
【０１１６】
非安全通信パケット生成部１１ｃは、上記キー名とキー状態値（ＯＮ）を入力すると、非安全通信パケットＮＳｘを生成する。前記非安全通信パケットＮＳｘは、接続状態にあるコントローラ３０の宛先データＡ１、送信元データＡ２を含むヘッダＨ、前記送信番号データＡ３、キー名Ａ４ａ、キー状態値Ａ４ｂからなるキー状態データＡ４、誤り検出データＡ５を含む。なお、宛先データＡ１〜誤り検出データＡ５は、第１実施形態と同様の意味である。
【０１１７】
すなわち、非安全通信パケット生成部１１ｃは、図４（ａ）に示すように、前記キー名とキー状態値（ＯＮ）を、非安全通信パケットＮＳｘに格納する。又、非安全通信パケット生成部１１ｃの連番管理部１１ｅは、管理している非安全通信パケットの送信番号ｘ（連番）を＋１して、同じく非安全通信パケットＮＳｘに格納する。
【０１１８】
そして、送信処理部１１ｇは、前記キー状態値がオフ（ＯＦＦ）からオン（ＯＮ）に変化した、キー状態変化に基づいて上記のように生成された非安全通信パケットＮＳｘを通信部１３に送る。又、非安全通信パケット生成部１１ｃの送信時間管理部１１ｆは、非安全通信パケットＮＳｘを送信した時刻を記憶し、非安全通信パケットＮＳｘを送信した時から計時する。
【０１１９】
通信部１３は、前記非安全通信パケットＮＳｘを受け取ると、これにネットワーク通信に必要な情報を付加し、接続状態にあるコントローラ３０に対して、ネットワーク通信で送信する。
【０１２０】
（ステップ２：コントローラ３０によるキー状態値（ＯＮ）の受信）
コントローラ３０の通信部３３は、前記非安全通信パケットＮＳｘを受信すると、該非安全通信パケットＮＳｘを非安全通信パケット検査部５２に送る。
【０１２１】
非安全通信パケット検査部５２では、前記非安全通信パケットＮＳｘを受信すると、パケットの検出データＢ５を検証し、検出データＢ５が正常であれば、エラー判定部５８が、非安全通信パケットＮＳｘの送信番号ｘ（連番）を連番管理部５６で管理している非安全通信パケットＮＳｘの連番と比較して、＋１されているか否かを確認、すなわち、判定する。ここで両者が一致していれば、すなわち、正常であれば、エラー判定部５８は通信エラーがないと判定する、この判定結果に応じて、キー状態出力部６０は、非安全通信パケットＮＳｘからキー名とキー状態値（ＯＮ）を取り出し、パケット検査結果「ＯＫ」と共にキー名とキー状態値（ＯＮ）をキー情報管理部５４に送る。
【０１２２】
又、非安全通信パケット検査部５２では、連番管理部５６は自身が管理している非安全通信パケットＮＳｘの送信番号ｘ（連番）を＋１する。又、非安全通信パケット検査部５２のタイムアウト監視部６２は、非安全通信パケットＮＳｘを受信した時刻（受信時間）を記憶する。
【０１２３】
（ステップ３：コントローラ３０によるキー状態値（ＯＮ）の処理）
キー情報管理部５４は、パケット検査結果「ＯＫ」を受け取ると、一緒に受け取ったキー名とキー状態値（ＯＮ）を、図示しない記憶部に記憶する。次に、キー情報管理部５４は、キー名とキー状態値（ＯＮ）を動作制御部３９及びＧＵＩ制御部４０に送る。動作制御部３９及びＧＵＩ制御部４０は、前記キー名とキー状態の変化（ＯＦＦ→ＯＮ）に応じた動作を開始する。
【０１２４】
このため、動作制御部３９は、教示モードでは、前記キー名とキー状態の変化（ＯＦＦ→ＯＮ）に応じてロボットＲの各関節の動作を制御を開始する。又、ＧＵＩ制御部４０は、前記キー名とキー状態の変化（ＯＦＦ→ＯＮ）に応じてＧＵＩ制御を開始する。ＧＵＩ制御部４０によるＧＵＩ制御は、図示しないＲＯＭに格納されたＧＵＩ制御プログラムに従って行われる。
【０１２５】
（ステップ４：ティーチペンダント１０による非安全通信の継続送信と、コントローラ３０による受信）
ティーチペンダント１０の非安全通信パケット生成部１１ｃの送信時間管理部１１ｆでは、前記計時により、前回の非安全通信パケットＮＳｘを送信した時刻から一定時間、非安全通信パケットを送信していない状態を検出すると、連番管理部１１ｅで管理している、非安全通信パケットの連番を＋１して、非安全通信パケットＮＳｘ＋１に格納し、送信処理部１１ｇは、その非安全通信パケットＮＳｘ＋１を送信する。
【０１２６】
すなわち、送信時間管理部１１ｆは、前回の非安全通信パケットＮＳｘを送信した時刻からこの送信周期で計時し、この非安全通信パケット送信周期内に新たなキー入力操作がない場合は、該周期毎に上記のように同様に非安全通信パケットが生成されて送信されることになる。なお、この場合、生成される非安全通信パケットには、キー状態データＡ４は格納されないものとする。
【０１２７】
そして、この非安全通信パケットＮＳｘは、ティーチペンダント１０及びコントローラ３０の通信部１３，３３を経由して、コントローラ３０の非安全通信パケット検査部５２に送られる。
【０１２８】
コントローラ３０の非安全通信パケット検査部５２では、非安全通信パケットＮＳｘを受け取ると、検出データＢ５が正常であって、エラー判定部５８の判定が正常の判定であれば、連番管理部５６が管理している連番と、タイムアウト監視部６２が管理している受信した時刻（受信時間）を更新する。
【０１２９】
そして、コントローラ３０の動作制御部３９及びＧＵＩ制御部４０は、キー状態値の変化（ＯＮ→ＯＦＦ）の通知を受けるまでは、キー状態値（ＯＮ）と判断して動作を継続する。
【０１３０】
（ステップ５：ティーチペンダント１０によるキー状態値（ＯＦＦ）の送信）
作業者の操作により、ティーチペンダント１０のキー入力監視部１１ｂは、キー状態がオンからオフに変化したことを検出すると、キー名とキー状態値（ＯＦＦ）を非安全通信パケット生成部１１ｃに送る。
【０１３１】
非安全通信パケット生成部１１ｃは、キー名とキー状態値（ＯＦＦ）を、前述したステップ１〜２と同様の手順で非安全通信パケットを生成するとともに送信する。送信された非安全通信パケットはコントローラ３０の通信部３３を介して非安全通信パケット検査部５２に送られる。
【０１３２】
（ステップ６：コントローラ３０によるキー状態値（ＯＦＦ）の処理）
キー情報管理部５４は、非安全通信パケット検査部５２から受け取ったキー状態値がＯＦＦの場合、該キー状態値とともに送られてきたキー名と同じキー名が既に図示しない記憶部に記憶されている場合は、図示しない記憶部に記憶していた該キー名を削除する。次にキー情報管理部５４は、該キー名とキー状態値（ＯＦＦ）を動作制御部３９及びＧＵＩ制御部４０に送る。
【０１３３】
このため、動作制御部３９は、教示モードでは、前記キー名とキー状態の変化（ＯＮ→ＯＦＦ）に応じてロボットＲの各関節の動作の制御を開始する。又、ＧＵＩ制御部４０は、前記キー名とキー状態の変化（ＯＮ→ＯＦＦ）に応じてＧＵＩ制御を開始する。
【０１３４】
上記のステップ１〜６は、通信エラーが生じていない場合の、正常な動作である。
次に、コントローラ３０が受信できなかったときの通信エラーが生じた場合を説明する。
【０１３５】
２．通信が異常な場合の処理
（ステップ７：コントローラ３０による通信エラーの検出）
ステップ５で説明した、キー操作がされてキー状態値（ＯＦＦ）を含んだ非安全通信パケットＮＳｘ+1が、通信エラーによりコントローラ３０が受信できなかった場合は、以下のようになる（図５参照）。
【０１３６】
（Ａ）  作業者が続けてキー操作をしなかった場合
図５に示すように非安全通信パケットＮＳｘ+1の消失により、コントローラ３０はキー状態値（ＯＦＦ）を受信していないため、ステップ４の機能により、前記非安全通信パケット送信周期による定期的な非安全通信パケットＮＳｘ+1の受信を待っている。しかし、ティーチペンダント１０は、既にキー状態値（ＯＦＦ）を消失している非安全通信パケットＮＳｘ+1にて送信しているため、次の非安全通信パケット送信周期までは、非安全通信パケットを送信しないことになる。このため、コントローラ３０の非安全通信パケット検査部５２が、タイムアウトエラーを検出する。
【０１３７】
具体的には、タイムアウト監視部６２では、非安全通信パケットを受信する毎に、受信した時刻（受信時間）を更新している。しかし、非安全通信パケットが受信されなかった場合には、受信時間の更新が行われないため、エラー判定部５８は前記非安全通信パケット送信周期において受信時間の更新が行われてないことに基づいて、タイムアウトエラーを検出し、すなわち通信エラーの判定を行う。
【０１３８】
（Ｂ）  作業者が続けてキー操作をした場合
図６に示すように、次の非安全通信パケット送信周期までに別のキーの押下状態が変化した場合、ティーチペンダント１０はステップ１の手順で非安全通信パケットＮＳｘ+2を送信する。コントローラ３０はステップ２の手順で非安全通信パケットＮＳｘ+2を受信するが、コントローラ３０側の非安全通信パケットＮＳｘの送信番号ｘ（連番）は、パケット消失により＋１されていない。このためコントローラ３０の非安全通信パケット検査部５２が、連番エラーを検出する。
【０１３９】
具体的には、エラー判定部５８は、非安全通信パケットＮＳｘ+2の送信番号ｘ＋２（連番）を連番管理部５６で管理している非安全通信パケットＮＳｘの送信番号ｘ（連番）と比較する。この場合は、管理していた送信番号と、現在受信した送信番号とは不一致となるため、エラー判定部５８は連番エラーであると判定する。
【０１４０】
（ステップ８：コントローラ３０による、通信エラーの処理）
ステップ７で、コントローラ３０の非安全通信パケット検査部５２がエラーを検出すると、非安全通信パケット検査部５２からキー情報管理部５４にパケット検査結果「ＮＧ」が通知される。キー情報管理部５４は、記憶しているキー名、すなわち、コントローラ３０内ではキー状態値が（ＯＮ）状態と認識している全てのキーについて、キー名とキー状態（ＯＦＦ）を動作制御部３９及びＧＵＩ制御部４０に送る。又、キー情報管理部５４が記憶している全てのキー名及びキー状態値からなるキー情報を削除する。すなわち、キー情報の記憶を解除する。この結果、動作制御部３９及びＧＵＩ制御部４０は、キー名とキー状態の変化（ＯＮ→ＯＦＦ）に応じた動作を開始する。すなわち、この場合は、ロボットＲの動作は、停止される。又、ＧＵＩ制御部４０により、通信エラーに対応したＧＵＩ制御が行われる。例えば、通信エラーに対応したＧＵＩ制御では、ティーチペンダント１０の図示しない表示装置に通信エラーである旨の注意喚起のための画像形成等を行い、形成した該画像データをティーチペンダント１０へ送信する。
【０１４１】
以上の手順により、通信エラーで非安全通信パケットのみが欠損した場合でも、コントローラ３０側の判断により、安全側への制御が行われる。
なお、第２実施形態において、ティーチペンダント１０の安全送信部１２は、図４（ｂ）に示すように、非常停止スイッチ２１又はデッドマンスイッチ２２が操作された場合、非常停止スイッチ２１又はデッドマンスイッチ２２のキー名、及びキー状態がパケットデータとして含む安全通信パケットの生成を行い、通信部１３を介してコントローラ３０に送信する。
【０１４２】
安全送信部１２が生成する安全通信パケットは第１実施形態と同様に、安全通信パケットは、前操作された優先キー１５のキー状態をパケットデータとしてのキー状態データとして、図４（ｂ）に示すように、安全受信部３２の宛先データＢ１（すなわち、宛先アドレス）、送信元データＢ２（すなわち、送信元アドレス）、送信番号データＢ３（すなわち、通信番号データ）、キー状態データＢ４（すなわち、教示操作キーのキー状態）、誤り検出データＢ５を含む。前記宛先データＢ１及び送信元データＢ２は、ヘッダとなる。又、キー状態データＢ４は、キー名データと、キー状態データを含む。送信番号データＢ３は、連番管理部１２ａにより前回送信した送信番号データＢ３に１が加えられることにより更新され、送信番号データＢ３は連番で付与されることになる。
【０１４３】
又、安全送信部１２では、送信時間管理部１２ｂにより、定期周期である安全通信パケット送信周期で安全通信パケットが生成されて、送信処理部１２ｃにより、通信部１３に出力され、コントローラ３０に送信される。コントローラ３０では、通信部３３を介して受信した安全通信パケットは安全受信部３２により、第１実施形態と同様に処理される。
【０１４４】
第２実施形態のロボット制御システムＳでは、下記の特徴がある。
（１）  本実施形態のロボット制御システムＳのティーチペンダント１０は、各種のキー群を備え、ロボットの教示操作に使用される複数の教示操作キーを含む各種キーのキー状態を監視するキー入力監視部１１ｂ（キー状態監視手段）と、キー入力監視部１１ｂの監視結果である教示操作キーを含む各種キーのキー状態のパケットデータを送信するキー情報送信部１１ａ及び通信部１３（第１通信手段）を備える。
【０１４５】
又、コントローラ３０は、キー情報送信部１１ａ及び通信部１３（第１通信手段）との間の通信の通信エラーの検出を行うキー情報受信部５０及び通信部３３（第２通信手段）を備える。そして、キー情報管理部５４（記憶手段）は、ティーチペンダント１０から送信されたパケットデータのキー状態がオンのときその教示操作キーのオン状態を記憶する。そして、コントローラ３０は、前記通信エラーが検出されない場合、ティーチペンダント１０から送信された教示操作キーのキー状態のパケットデータに基づいてロボット制御を行う。キー情報管理部５４（記憶手段）は、通信エラーが検出された場合、キー情報管理部５４が記憶しているキー名及びキー状態値からなるキー情報を削除する。すなわち、キー情報の記憶を解除する。そして、コントローラ３０は、通信エラーが検出された場合、前記記憶を解除したことに応じてロボットを停止する。
【０１４６】
この結果、教示時（教示モード）において、通信エラーを検出した際に、ロボット制御を行うコントローラ側の反応の遅れや、或いは操作不可の状態が発生することがなく、安全性を高めることができるネットワーク対応のロボット制御システムを提供することができる。
【０１４７】
（２）  本実施形態のロボット制御システムＳでは、キー情報送信部１１ａ及び通信部１３（第１通信手段）は、定期周期毎にパケットデータを作成して連番で送信する。又、キー情報受信部５０及び通信部３３（第２通信手段）の通信エラーの検出は、受信したパケットデータが前記定期周期毎に送信があったか、又は、連番で受信したか否かで行う。この結果、本実施形態では、ロボット制御を行うコントローラ３０側において、通信エラーに伴う反応の遅れや、或いは操作不可の状態が発生することがない。
【０１４８】
（３）  本実施形態のロボット制御システムＳでは、キー情報送信部１１ａ及び通信部１３（第１通信手段）は、キー入力監視部１１ｂ（キー状態監視手段）により、キー状態の変更を検出したときに、キー入力監視部１１ｂの監視結果である教示操作キーのキー状態のパケットデータを送信する。又、合わせて、キー情報送信部１１ａ及び通信部１３（第１通信手段）は、該キー状態の変更のパケットデータを送信した後から、定期周期（非安全パケット送信周期）毎のパケットデータの送信を開始する。
【０１４９】
この結果、本実施形態によれば、キー状態の変更を検出したとき、すなわち、教示操作キーの操作情報を、オン・オフの変化時しかデータとしてパケットに乗せないため、通信データ量の低減、可搬式操作装置とコントローラのＣＰＵの処理量の低減が可能となる。
【０１５０】
（４）  本実施形態では、キー群の内、少なくとも教示操作キーが操作されていることにより、ロボットＲが動作している際、非教示操作キーの操作が行われたときに通信エラーがあったとしても、ロボットＲを停止することができる。
【０１５１】
（５）  なお、従来、特許文献１〜３で提案されている技術の場合、安全通信と同じエラー検出機能を非安全通信にも設けることが考えられる。この場合、安全通信と同様に、非安全通信についても、ロボット制御装置側では、通信エラーを検出し、全ての非安全出力（ＧＵＩキー類２１０のＯＮ／ＯＦＦ状態）について、安全方向になるよう、ロボット制御装置が出力を変更することで安全性は確保される。しかし、ＧＵＩキー類２１０は数が多く、一方でロボット制御装置のＣＰＵのキー入力処理は、１つずつしか処理できない。このため、全てのＧＵＩキー類２１０を短時間に処理することはできず、ロボットの停止が遅れるという問題がある。
【０１５２】
本実施形態では、非安全通信パケットを、操作キーのオン・オフの切替え時から、定時周期的に非安全通信パケットを作成して送信するようにしているため、上記の問題を抑制することができる。
【０１５３】
なお、本発明の実施形態は以下のように変更してもよい。
○  第１実施形態においては、ティーチペンダント１０の通信部１３は、非優先キー入力監視部１８で監視された非優先キー１６のキー状態をパケットデータとして含む通常通信パケットを生成して送信するようにした。又、コントローラ３０の通信部３３は、該通常通信パケットの中から非優先キー１６のキー状態のパケットデータを抽出して、メインＣＰＵ３１に送信するようにした。
【０１５４】
この構成に代えて、図８に示すように、ティーチペンダント１０に通信部１３とは別にＬＡＮＩ／Ｆからなる通信部１３Ａを設けて、該通信部１３Ａにより、非優先キー入力監視部１８で監視された非優先キー１６のキー状態をパケットデータとして含む通常通信パケットを生成して送信するようにしてもよい。そして、コントローラ３０に、通信部３３とは別に、ＬＡＮＩ／Ｆからなる通信部３３Ａを設けてもよい。この場合、通信部３３Ａは、通信部１３Ａから送信された通常通信パケットの中から非優先キー１６のキー状態のパケットデータを抽出して、メインＣＰＵ３１に送信する。この例では、安全送信部１２、通信部１３、通信部１３Ａが第１通信手段を構成する。又、通信部３３、通信部３３Ａ及び安全受信部３２が第２通信手段を構成する。
【０１５５】
○  又、第１実施形態の構成を、図９に示すように、コントローラ３０に通信部３３とは別に、ＬＡＮＩ／Ｆからなる通信部３３Ｂを設けてもよい。この場合、通信部３３Ｂは、通信部１３から送信された通常通信パケットの中から非優先キー１６のキー状態のパケットデータを抽出して、メインＣＰＵ３１に送信する。この例では、通信部３３、通信部３３Ｂ及び安全受信部３２が第２通信手段を構成する。
【０１５６】
○  第１実施形態では、有線ＬＡＮでネットワークを構成したが、ネットワーク手段として無線ＬＡＮに代えてもよい。或いは単に無線でティーチペンダント１０と複数のコントローラ間を交信可能としてもよい。又、無線に換えて、赤外線通信、光通信、或いは磁気通信等のワイヤレスで行う伝送方式の非有線通信手段で構成してもよいことは勿論のことである。又、第２実施形態の無線ＬＡＮに代えて有線ＬＡＮに変更してもよい。
【０１５７】
○  第２実施形態の構成中、キー情報管理部５４の、キー状態値がオン状態にあるキーの管理は行なわず、動作制御部３９及びＧＵＩ制御部４０が個別にキー情報管理部５４と同様のキー情報の管理行うとともに、通信エラー処理を行なっても良い。この場合、非安全通信パケット検査部５２からのエラー通知を、動作制御部３９及びＧＵＩ制御部４０に送ることにより、動作制御部３９及びＧＵＩ制御部４０が、エラー時の安全側への制御を開始する。
【０１５８】
○  第２実施形態の構成中、非安全通信を定期周期的に送信するのは、ティーチペンダント１０の操作キーが押されている間だけでも良い。このように構成しても、操作キーを離したということをコントローラ３０に伝達できないことが、第２実施形態では問題となっているからである。
【０１５９】
○  第２実施形態では、非安全通信パケット送信周期毎に非安全通信パケットを生成する際には、キー状態データＡ４を格納しないで生成するようにしているが、キー入力監視部１１ｂにおいて、キー入力操作でオン操作があった履歴を記憶しておき、キーのオン操作がない場合には、非安全パケット送信周期毎に、その最新の履歴に基づいてキー名、及びそのキー状態値を非安全通信パケットに格納してもよい。このようにしても、第２実施形態と同様の効果を実現することができる。
【０１６０】
○  第２実施形態では、ＲＤＰ（リモートデスクトッププロトコル）を使用したが、ＲＤＰを使用せずに、他のプロトコルを使用することも勿論可能である。
【符号の説明】
【０１６１】
Ｓ…ロボット制御システム、Ｒ…ロボット、
１０…ティーチペンダント（可搬式操作装置）、１１…メインＣＰＵ、
１２…安全送信部、
１３…通信部（安全送信部１２とともに第１通信部を構成する）、
１４…キーボード、１５…優先キー、１６…非優先キー、
１７…優先キー入力監視部（第１監視手段）、
１８…非優先キー入力監視部（第２監視手段）、３０…コントローラ、
３１…メインＣＰＵ（制御手段）、３２…安全受信部（記憶手段）、
３３…通信部（安全受信部３２とともに第２通信部を構成する）、
３６…ＲＤＰサーバ、
３７…優先キー状態受信部、３８…非優先キー状態受信部、
３９…動作制御部、４０…ＧＵＩ制御部。
【図１】
2010167550.tif 000004
【図２】
2010167550.tif 000005
【図３】
2010167550.tif 000006
【図４】
2010167550.tif 000007
【図５】
2010167550.tif 000008
【図６】
2010167550.tif 000009
【図７】
2010167550.tif 000010
【図８】
2010167550.tif 000011
【図９】
2010167550.tif 000012