(57)【要約】【課題】可搬式操作部と機械の制御を行う制御部間の通信を非有線で行う際、単一の故障で機械の非常停止動作の安全機能が損なわれることのないように多重化されたハードウエア回路と最小限の通信回路を有しながら信頼性を確保した通信プロトコルによって信頼性の高い非常停止通信を行うことができる機械制御装置を提供する。【解決手段】ロボット制御装置３０は、制御部２０における第３ＣＰＵ２２、第４ＣＰＵ２３のそれぞれが、通信データに含まれるモニタ結果及び予め定められた通信プロトコルに従って作成された通信エラー検出データを解析する。そして、第３ＣＰＵ２２、第４ＣＰＵ２３がモニタ結果及び通信エラー検出データの解析結果に応じて第１電磁接触器制御回路２６、第２電磁接触器制御回路２７にＯＦＦの制御信号を出力することにより、モニタ結果や通信エラーの内容に応じてロボットのモータＭ４１への電力が遮断される。【選択図】図１
2008009872.tif 000002
【特許請求の範囲】
【請求項１】
可搬式操作部と機械の制御を行う制御部とが非有線通信を行うようにした機械制御装置において、
前記可搬式操作部は、多重化された接点を有する非常停止操作手段と、前記接点毎に設けられて該非常停止操作手段の動作をモニタし、そのモニタ結果及び通信エラー検出データを含む通信データを予め定められた通信プロトコルに従って作成する多重化されたモニタ手段と、前記通信データを非有線で通信する単一の第１通信手段とを備え、
前記制御部は、前記第１通信手段と非有線で通信する単一の第２通信手段と、機械の駆動源への電力を遮断する多重化された遮断手段と、該遮断手段毎に設けられ、非常停止信号の入力に基づいて該遮断手段を制御する多重化された遮断制御手段と、前記遮断制御手段毎に設けられ、前記第２通信手段が受信した通信データのモニタ結果、及び通信エラー検出データの解析結果に応じて該遮断制御手段に前記非常停止信号を出力する多重化された通信データ解析手段と
を備えたことを特徴とする機械制御装置。
【請求項２】
前記通信データは、通信エラー検出データとして宛先データ及び送信元データを含む通信パケットにて構成され、
前記各通信データ解析手段は、該通信データに含まれる宛先データ及び送信元データに基づいて前記通信データの同定を行い、同定ができなかった場合には、通信データの同定不能による通信エラーとして次回の受信を待つことを特徴とする請求項１に記載の機械制御装置。
【請求項３】
前記通信データは、通信エラー検出データとして該通信データが作成される毎に更新される通信番号データを含む通信パケットにて構成され、
前記各通信データ解析手段は、該通信番号データに基づく通信エラーの場合には、前記遮断制御手段を制御して前記遮断手段を遮断動作させることを特徴とする請求項１又は請求項２に記載の機械制御装置。
【請求項４】
前記通信データは、通信エラー検出データとして誤り検出データを含む通信パケットにて構成され、
前記各通信データ解析手段は、該誤り検出データに基づいて、該通信データがデータ異常か否かを判定し、データ異常の場合には、前記遮断制御手段を制御して前記遮断手段を遮断動作させることを特徴とする請求項１乃至請求項３のうちいずれか１項に記載の機械制御装置。
【請求項５】
前記各モニタ手段は、通信データを含むデータの入出力を行うように構成されるとともに、該データの入力が所定時間内に入力されない場合にタイムアウトを検出する第１タイムアウト検出手段を含み、該第１タイムアウト検出手段がタイムアウトを検出した際に、該モニタ手段は通信データを作成せず、第１通信手段は通信データを送信しないことを特徴とする請求項１乃至請求項４のうちいずれか１項に記載の機械制御装置。
【請求項６】
前記各通信データ解析手段は、通信データを含むデータの入出力を行うように構成されるとともに、該通信データが所定時間内に入力されない場合にタイムアウトを検出する第２タイムアウト検出手段を含み、
該第２タイムアウト検出手段がタイムアウトを検出した際に、前記遮断制御手段に非常停止信号を出力することを特徴とする請求項１乃至請求項５のうちいずれか１項に記載の機械制御装置。
【請求項７】
前記モニタ手段の電源電圧の異常を検出し、異常を検出した際には該モニタ手段にリセットを掛ける第１電源電圧監視手段と、
前記モニタ手段はリセットが掛けられた際には、通信データを作成せず、第１通信手段は通信データを送信しないことを特徴とする請求項６に記載の機械制御装置。
【請求項８】
前記通信データ解析手段の電源電圧の異常を検出し、異常を検出した際には該通信データ解析手段にリセットを掛ける第２電源電圧監視手段と、
前記通信データ解析手段はリセットが掛けられた際には、前記遮断制御手段に非常停止信号を出力することを特徴とする請求項６又は請求項７に記載の機械制御装置。
【請求項９】
前記モニタ手段から定期的にアクセスされるとともに、該モニタ手段からの定期的なアクセスが解消した場合に、該モニタ手段に対してリセットを行う第１ウオッチドッグ手段を備え、
前記モニタ手段はリセットが掛けられた際には、通信データを作成せず、第１通信手段は通信データを送信しないことを特徴とする請求項６乃至請求項８のいずれか１項に記載の機械制御装置。
【請求項１０】
前記通信データ解析手段から定期的にアクセスされるとともに、該通信データ解析手段からの定期的なアクセスが解消した場合に、該通信データ解析手段に対してリセットを行う第２ウオッチドッグ手段を備え、
前記通信データ解析手段はリセットが掛けられた際には、前記遮断制御手段に非常停止信号を出力することを特徴とする請求項６乃至請求項９のいずれか１項に記載の機械制御装置。
【請求項１１】
前記制御部は、受信した前記通信データに基づいて返信用の通信データを生成する返信用の通信データ生成手段を備え、
前記可搬式操作部は、前記第２通信手段及び第１通信手段を介して受信された前記返信用の通信データと既に送信された通信データとが一致しているか否かを照合する照合手段を備えたことを特徴とする請求項１乃至請求項１０のうちいずれか１項に記載の機械制御装置。
【請求項１２】
前記通信データ生成手段は、受信された通信データの一部をビット反転して返信用の通信データを生成し、
前記照合手段は、前記返信用の通信データの一部をビット反転して、該返信用の通信データと既に送信された通信データとが一致しているか否かを照合することを特徴とする請求項１１に記載の機械制御装置。
【請求項１３】
前記制御部は、前記遮断手段の作動を監視する監視手段と、
前記遮断制御手段は、前記監視手段の監視結果に基づいて遮断手段に異常があった場合には、異常状態が解消されるまで機械の駆動源への電力の投入を禁止することを特徴とする請求項１乃至請求項１２のうちいずれか１項に記載の機械制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械を制御する機械制御装置に関し、詳しくは機械を非常停止させるための非常停止操作手段を備えた可搬式の操作盤との間を無線等による通信で結ばれた機械制御装置に関する。
【背景技術】
【０００２】
従来、ロボット制御装置はロボットの動力を遮断するための非常停止スイッチを備えた可搬式の操作盤（例えば、ティーチペンダント）とケーブルで接続されていた。これに対して、特許文献１ではロボット制御装置とティーチペンダント間のデータの交信を電波や赤外線等の伝達媒体を使用して行う通信システムが開示されている。該通信システムではロボット制御装置とティーチペンダントは、それぞれ送信部と受信部が設けられるとともに、ティーチペンダントの受信部と送信部は、通常時にはロボット制御装置からのデータの受信とそれに対応する応答として所要のデータの返送をそれぞれ実行し、異常時にはこの該応答を停止するようにされている。
【０００３】
この技術ではロボット制御装置がティーチペンダントからの応答が無いことにより異常の発生が検知されてロボットを非常停止させることができるとともに、ティーチペンダントの故障が起きた時にも、応答が途絶えることによりフェイルセーフ機能を確保している。
【０００４】
又、特許文献２のロボット制御装置では、ティーチペンダントには非常停止操作手段が操作されると非常停止指令を生成する複数の生成回路と、各生成回路に対応してロボット制御装置に無線で送信する複数の送信手段とが設けられ、ロボット制御装置には前記非常停止指令を受信する複数の受信手段が設けるられている。この構成によって、ロボットを停止させる回路の故障でロボットが停止しなくなるような事態を解消して信頼性を向上することが提案されている。
【特許文献１】特開平１１−０７３２０１号公報
【特許文献２】特開２００４−１４８４８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１の技術では、ロボットを停止させるための回路（例えば、非常停止スイッチ）が１つしか設けられておらず、無線が途絶えたときの安全は考慮されているが、ロボットを停止させるための回路が故障した場合の安全対策が考慮されていない。又、特許文献２では、様々な回路部分を多重化することにより、安全性が考慮されているが、例えば、送信回路や受信回路を多重化して設ける等、多重化の部分が多く、コスト的な問題、消費電力が大きくなる問題、操作盤が重くなる問題がある。
【０００６】
本発明の目的は可搬式操作部と機械の制御を行う制御部間の通信を非有線で行う際、単一の故障で機械の非常停止動作の安全機能が損なわれることのないように多重化されたハードウエア回路と最小限の通信回路を有しながら信頼性を確保した通信プロトコルによって信頼性の高い非常停止通信を行うことができる機械制御装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記問題点を解決するために、請求項１に記載の発明は、可搬式操作部と機械の制御を行う制御部とが非有線通信を行うようにした機械制御装置において、前記可搬式操作部は、多重化された接点を有する非常停止操作手段と、前記接点毎に設けられて該非常停止操作手段の動作をモニタし、そのモニタ結果及び通信エラー検出データを含む通信データを予め定められた通信プロトコルに従って作成する多重化されたモニタ手段と、前記通信データを非有線で通信する単一の第１通信手段とを備え、前記制御部は、前記第１通信手段と非有線で通信する単一の第２通信手段と、機械の駆動源への電力を遮断する多重化された遮断手段と、該遮断手段毎に設けられ、非常停止信号の入力に基づいて該遮断手段を制御する多重化された遮断制御手段と、前記遮断制御手段毎に設けられ、前記第２通信手段が受信した通信データのモニタ結果、及び通信エラー検出データの解析結果に応じて該遮断制御手段に前記非常停止信号を出力する多重化された通信データ解析手段とを備えたことを特徴とする機械制御装置を要旨とするものである。
【０００８】
なお、非有線通信とは、無線通信（通信媒体：電波）、赤外線通信、光通信、或いは磁気通信を含み、いずれもワイヤレスで行う伝送方式のことをいう。又、多重化とは、２重化以上を含む趣旨である。
【０００９】
請求項２の発明は、請求項１において、前記通信データは、通信エラー検出データとして宛先データ及び送信元データを含む通信パケットにて構成され、前記各通信データ解析手段は、該通信データに含まれる宛先データ及び送信元データに基づいて前記通信データの同定を行い、同定ができなかった場合には、通信データの同定不能による通信エラーとして次回の受信を待つことを特徴とする。
【００１０】
請求項３の発明は、請求項１又は請求項２において、前記通信データは、通信エラー検出データとして該通信データが作成される毎に更新される通信番号データを含む通信パケットにて構成され、前記各通信データ解析手段は、該通信番号データに基づく通信エラーの場合には、前記遮断制御手段を制御して前記遮断手段を遮断動作させることを特徴とする。
【００１１】
請求項４の発明は、請求項１乃至請求項３のうちいずれか１項において、前記通信データは、通信エラー検出データとして誤り検出データを含む通信パケットにて構成され、前記各通信データ解析手段は、該誤り検出データに基づいて、該通信データがデータ異常か否かを判定し、データ異常の場合には、前記遮断制御手段を制御して前記遮断手段を遮断動作させることを特徴とする。
【００１２】
請求項５の発明は、請求項１乃至請求項４のうちいずれか１項において、前記各モニタ手段は、通信データを含むデータの入出力を行うように構成されるとともに、該データの入力が所定時間内に入力されない場合にタイムアウトを検出する第１タイムアウト検出手段を含み、該第１タイムアウト検出手段がタイムアウトを検出した際、該モニタ手段は通信データを作成せず、第１通信手段は通信データを送信しないことを特徴とする。
【００１３】
請求項６の発明は、請求項１乃至請求項５のうちいずれか１項において、前記各通信データ解析手段は、通信データを含むデータの入出力を行うように構成されるとともに、該通信データが所定時間内に入力されない場合にタイムアウトを検出する第２タイムアウト検出手段を含み、該第２タイムアウト検出手段がタイムアウトを検出した際に、前記遮断制御手段に非常停止信号を出力することを特徴とする。
【００１４】
請求項７の発明は、請求項６において、前記モニタ手段の電源電圧の異常を検出し、異常を検出した際には該モニタ手段にリセットを掛ける第１電源電圧監視手段と、前記モニタ手段はリセットが掛けられた際には、通信データを作成せず、第１通信手段は通信データを送信しないことを特徴とする。
【００１５】
請求項８の発明は、請求項６又は請求項７において、前記通信データ解析手段の電源電圧の異常を検出し、異常を検出した際には該通信データ解析手段にリセットを掛ける第２電源電圧監視手段と、前記通信データ解析手段はリセットが掛けられた際には、前記遮断制御手段に非常停止信号を出力することを特徴とする。
【００１６】
請求項９の発明は、請求項６乃至請求項８のいずれか１項において、前記モニタ手段から定期的にアクセスされるとともに、該モニタ手段からの定期的なアクセスが解消した場合に、該モニタ手段に対してリセットを行う第１ウオッチドッグ手段を備え、前記モニタ手段はリセットが掛けられた際には、通信データを作成せず、第１通信手段は通信データを送信しないことを特徴とする。
【００１７】
請求項１０の発明は、請求項６乃至請求項９のいずれか１項において、前記通信データ解析手段から定期的にアクセスされるとともに、該通信データ解析手段からの定期的なアクセスが解消した場合に、該通信データ解析手段に対してリセットを行う第２ウオッチドッグ手段を備え、前記通信データ解析手段はリセットが掛けられた際には、前記遮断制御手段に非常停止信号を出力することを特徴とする。
【００１８】
請求項１１の発明は、請求項１乃至請求項１０のうちいずれか１項において、前記制御部は、受信した前記通信データに基づいて返信用の通信データを生成する返信用の通信データ生成手段を備え、前記可搬式操作部は、前記第２通信手段及び第１通信手段を介して受信された前記返信用の通信データと既に送信された通信データとが一致しているか否かを照合する照合手段を備えたことを特徴とする。
【００１９】
請求項１２の発明は、請求項１１において、前記通信データ生成手段は、受信された通信データの一部をビット反転して返信用の通信データを生成し、前記照合手段は、前記返信用の通信データの一部をビット反転して、該返信用の通信データと既に送信された通信データとが一致しているか否かを照合することを特徴とする。
【００２０】
請求項１３の発明は、請求項１乃至請求項１２のうちいずれか１項において、前記制御部は、前記遮断手段の作動を監視する監視手段と、前記遮断制御手段は、前記監視手段の監視結果に基づいて遮断手段に異常があった場合には、異常状態が解消されるまで機械の駆動源への電力の投入を禁止することを特徴とする。
【発明の効果】
【００２１】
以上詳述したように、請求項１の発明によれば、可搬式操作部と機械の制御を行う制御部間の通信を無線化する際、単一の故障で機械の非常停止動作の安全機能が損なわれることのないように多重化されたハードウエア回路と、最小限の通信回路でありながら信頼性を確保した通信プロトコルによって信頼性の高い非常停止通信を行うことができる。
【００２２】
請求項２の発明によれば、宛先データ、送信元データが付加された通信パケットを使用することにより、通信データを同定することができ、このことによって通信データの信頼性を確保することができる（安全通信）。
【００２３】
請求項３の発明によれば、通信番号データが付加された通信を使用すると、通信番号データが更新されていない場合、通信データの異常が検出できるため、このことによって通信データの信頼性を確保することができる（安全通信）。
【００２４】
請求項４の発明によれば、誤り検出データが付加された通信パケットを使用することにより、通信データの異常を検出できるため、このことによって通信データの信頼性を確保することができる（安全通信）。
【００２５】
請求項５の発明によれば、第１タイムアウト検出手段は通信データを含むデータの入力が所定時間内に入力されない場合にタイムアウトを検出するため、このことによって通信の信頼性を高めることができる（安全通信）。
【００２６】
請求項６の発明によれば、通信データが所定時間内に入力されない場合に第２タイムアウト検出手段はタイムアウトを検出して、遮断制御手段に非常停止信号を出力することにより、通信の信頼性を高めることができる（安全通信）。
【００２７】
請求項７によれば、可搬式操作部において、モニタ手段の電源電圧の異常があると、第１通信手段から通信データが送信されないため、制御部の第２タイムアウト検出手段が可搬式操作部からの通信データ入力のタイムアウトを検出して、遮断制御手段に非常停止信号を出力する。このようにして、通信の信頼性を高めることができる（安全通信）。
【００２８】
請求項８によれば、制御部において、通信データ解析手段の電源電圧の異常があると、第２電源電圧監視手段がリセットを掛けるため、通信データ解析手段は、遮断制御手段に非常停止信号を出力する。この結果、制御部内の通信の信頼性を高めることができる。
【００２９】
請求項９によれば、可搬式操作部において、モニタ手段に異常があると、第１通信手段から通信データが送信されないため、制御部の第２タイムアウト検出手段が可搬式操作部からの通信データ入力のタイムアウトを検出して、遮断制御手段に非常停止信号を出力する。この結果、通信の信頼性を高めることができる。
【００３０】
請求項１０によれば、制御部において、通信データ解析手段の異常があると、第２ウオッチドッグ手段が該通信データ解析手段にリセットを掛けるため、該通信データ解析手段は遮断制御手段に非常停止信号を出力する。この結果、制御部内の通信の信頼性を高めることができる。
【００３１】
請求項１１の発明によれば、照合手段の照合結果により、既に送信した通信データが正しく受信されたか否かを確認することができ、その結果を利用することができる。
請求項１２の発明によれば、ビット反転が正しく行われているか否かが確認でき、この結果、ビット反転を行う制御部の通信データ生成手段や、照合手段を構成しているＣＰＵやＲＡＭが正しく機能しているか否かが確認できる。
【００３２】
請求項１３によれば、遮断手段の作動を監視することにより、遮断手段の接点に故障が発生した場合、その故障が検出されて、異常状態が解消されるまで、機械の駆動源の電力の投入が禁止されるため、故障の蓄積が防止できる。
【発明を実施するための最良の形態】
【００３３】
（第１実施形態）
以下、本発明を教示装置であるティーチペンダント１０と制御部２０とが無線通信を行うロボット制御装置３０に具体化した第１実施形態を図１及び図２を参照して説明する。このロボット制御装置３０が制御するロボットは、例えば溶接ロボットや、搬送ロボット等である。
【００３４】
（１．  ティーチペンダント１０）
図１に示すように可搬式操作部としてのティーチペンダント１０は２つの接点１１ａ，１１ｂを持つ非常停止スイッチ１１と、該接点１１ａ，１１ｂの開閉状態をそれぞれモニタしてモニタ結果を送信する第１ＣＰＵ１２、第２ＣＰＵ１３を備えている。なお、本実施形態では、図１に示すように該接点１１ａはＧＮＤに接続されるとともに接点１１ｂは電源Ｖｃｃに接続されているが、接点１１ａ，１１ｂの接続は限定されるものではない。例えば、両接点をともに電源に接続したり、ＧＮＤに接続したり、或いは接点１１ａを電源Ｖｃｃに接続するとともに接点１１ｂをＧＮＤに接続してもよい。
【００３５】
第１ＣＰＵ１２及び第２ＣＰＵ１３はシリアル通信により、互いに必要な種々のデータの交信が可能とされている。
又、ティーチペンダント１０は第１ＣＰＵ１２が作成した通信パケットを無線で送信する送信回路１４、第１ＣＰＵ１２及び第２ＣＰＵ１３に供給される電源電圧の監視を行い、電源電圧が正常範囲から外れると異常と判断して両ＣＰＵにリセットを掛ける電源電圧監視回路１５、及び前記各回路の電源となるバッテリ１６を備えている。なお、ＣＰＵは中央演算処理装置（cental processing unit）であり、図示はしないが、ＲＯＭ及びＲＡＭを備えている。なお、前記正常範囲は、第１ＣＰＵ１２及び第２ＣＰＵ１３が正常に機能することができる範囲を持った電圧値のことである。
【００３６】
非常停止スイッチ１１は非常停止操作手段に相当し、第１ＣＰＵ１２及び第２ＣＰＵ１３はモニタ手段に相当し、送信回路１４は第１通信手段に相当する。そして、非常停止スイッチ１１は、押されて接点１１ａ，１１ｂが開となった場合が非常停止状態で、以下ではこれを非常停止スイッチ開、逆に非常停止状態を解除し接点１１ａ，１１ｂが閉となった場合を非常停止スイッチ閉とする。
【００３７】
（２．制御部２０）
ロボット制御装置３０の制御部２０は、図１に示すように、無線送信された通信パケット（通信データ）を受信する無線送受信回路２１、受信した通信パケット（通信データ）を解析処理する第３ＣＰＵ２２、及び第４ＣＰＵ２３を備えている。各ＣＰＵは、図示はしないが、ＲＯＭ及びＲＡＭを備えている。無線送受信回路２１は受信した通信パケット（通信データ）を第３ＣＰＵ２２に入力し、又、第３ＣＰＵ２２はシリアル通信でその通信パケット（通信データ）を第４ＣＰＵ２３に入力するとともに該通信パケット（通信データ）を解析する。一方、第４ＣＰＵ２３は入力された通信パケット（通信データ）を解析する。
【００３８】
又、制御部２０は主電源としての三相電源４０からサーボアンプ２８ヘの電力を遮断するために接点が直列回路に接続された第１電磁接触器２４、第２電磁接触器２５、及び両電磁接触器をそれぞれ開閉制御する第１電磁接触器制御回路２６、第２電磁接触器制御回路２７を備える。そして、第１電磁接触器２４及び第２電磁接触器２５の接点２４ａ，２５ａが閉のときに、ロボットの関節軸（図示しない）を制御するサーボアンプ２８から図示しないロボットの駆動源としてのモータＭ４１に電流が供給されることにより、該モータＭ４１が駆動されるようにされる。
【００３９】
又、サーボアンプ２８からは第１電磁接触器制御回路２６及び第２電磁接触器制御回路２７に対してＯＮ／ＯＦＦの制御信号を出力可能にされている。具体的には、モータＭ４１の制御中にサーボアンプ２８が異常検出をしていない場合には、ＯＮの制御信号が出力され、異常検出したときには、ＯＦＦの制御信号が第１電磁接触器制御回路２６及び第２電磁接触器制御回路２７に出力される。そして、サーボアンプ２８からのＯＮの制御信号により、第１電磁接触器制御回路２６及び第２電磁接触器制御回路２７は第１電磁接触器２４及び第２電磁接触器２５を閉作動する。又、サーボアンプ２８からのＯＦＦの制御信号により、第１電磁接触器制御回路２６及び第２電磁接触器制御回路２７は第１電磁接触器２４及び第２電磁接触器２５をそれぞれ開作動する。
【００４０】
又、第３ＣＰＵ２２及び第４ＣＰＵ２３は、受信した通信データの解析結果に応じて、ＯＮ／ＯＦＦの制御信号を第１電磁接触器制御回路２６及び第２電磁接触器制御回路２７に対してそれぞれ出力可能にされている。第３ＣＰＵ２２及び第４ＣＰＵ２３からＯＮの制御信号が出力されることにより、第１電磁接触器制御回路２６及び第２電磁接触器制御回路２７は第１電磁接触器２４、及び第２電磁接触器２５をそれぞれ閉作動する。又、第３ＣＰＵ２２及び第４ＣＰＵ２３からＯＦＦの制御信号が出力されることにより、第１電磁接触器制御回路２６及び第２電磁接触器制御回路２７は第１電磁接触器２４、及び第２電磁接触器２５をそれぞれ開作動する。第３ＣＰＵ２２及び第４ＣＰＵ２３から出力されるＯＦＦの制御信号は非常停止信号に相当する。
【００４１】
制御部２０は第３ＣＰＵ２２及び第４ＣＰＵ２３の電源電圧を監視する電源電圧監視回路２９を備えている。電源電圧監視回路２９は第３ＣＰＵ２２及び第４ＣＰＵ２３に供給される電源電圧の監視をそれぞれ行い、電源電圧が正常範囲から外れると異常と判断して両ＣＰＵにリセットを掛ける。なお、この正常範囲は、第３ＣＰＵ２２及び第４ＣＰＵ２３が正常に機能することができる電圧値のことである。第３ＣＰＵ２２及び第４ＣＰＵ２３は、リセットが掛けられると、第１電磁接触器制御回路２６及び第２電磁接触器制御回路２７に対して、ＯＦＦの制御信号を出力するようにされている。又、第３ＣＰＵ２２及び第４ＣＰＵ２３による第１電磁接触器制御回路２６及び第２電磁接触器制御回路２７に対する制御信号の初期値は、ＯＦＦの制御信号とされている。
【００４２】
ここで、無線送受信回路２１は第２通信手段に相当し、第１電磁接触器２４，第２電磁接触器２５は遮断手段に相当し、第１電磁接触器制御回路２６及び第２電磁接触器制御回路２７は遮断制御手段に相当し、第３ＣＰＵ２２及び第４ＣＰＵ２３は通信データ解析手段に相当する。
【００４３】
（第１実施形態の作用）
さて、上記のように構成されたロボット制御装置３０の作用を説明する。
（１．  ティーチペンダント１０の処理）
（１−１．  第２ＣＰＵ１３の処理）
ティーチペンダント１０の第２ＣＰＵ１３は、所定の制御周期で非常停止スイッチ１１の状態を監視する。そして、下記の手順で、宛先データ（すなわち、宛先アドレス）、送信元データ（すなわち、送信元アドレス）、通信番号データとしての送信番号データ、第１ＣＰＵデータ、第２ＣＰＵデータ、誤り検出データにて構成される通信パケットとしての「非常停止データパケット」を生成する（図２参照）。
【００４４】
なお、宛先データ、送信元データ、送信番号データ、第１ＣＰＵデータ、第２ＣＰＵデータ、誤り検出データは通信データを構成するデータである。この通信データは、予め定められた通信プロトコルに従ってパケットの形式で作成される。又、宛先データ、送信元データ、送信番号データ、誤り検出データは通信エラー検出データに相当する。
【００４５】
すなわち、第２ＣＰＵ１３は、宛先データには図示しないＲＯＭに記憶されるとともに予めパラメータで定められた送信先の第４ＣＰＵ２３のデータをセットし、送信元データには予めパラメータで定められた送信元のティーチペンダント１０の第２ＣＰＵ１３のデータをセットする。
【００４６】
送信番号データは前回送信した送信番号データに１が加えられることにより更新される。
第２ＣＰＵ１３は、第１ＣＰＵデータには初期値として、非常停止スイッチ１１の接点１１ａが開であるとしたデータをセットするとともに第２ＣＰＵデータには第２ＣＰＵ１３が「非常停止データパケット」を作成する直前に検出した非常停止スイッチ１１の接点１１ｂの開閉状態をセットする。
【００４７】
なお、第１ＣＰＵデータ及び第２ＣＰＵデータにセットされるものとしては、初期値以外に、接点１１ａ、１１ｂが開状態のときの「非常停止スイッチ開」と、接点１１ａ，１１ｂが閉状態のときの「非常停止スイッチ閉」がある。「非常停止スイッチ開」と「非常停止スイッチ閉」は、モニタ結果に相当する。
【００４８】
以上のように全てのデータをセットした上で、第２ＣＰＵ１３は合成されたデータの誤り検出データを計算して更新する。誤り検出データの計算としては、例えば、ＣＲＣ（Cyclic  Redundancy  Check）方式や、垂直パリティチェック方式或いは水平パリティチェック方式等があるが、限定されるものではない。本実施形態では、ＣＲＣ方式を採用している。第２ＣＰＵ１３はこうして生成された「非常停止データパケット」をシリアル通信にて、第１ＣＰＵ１２に送信する。
【００４９】
（１−２．  第１ＣＰＵ１２の処理）
第１ＣＰＵ１２は第２ＣＰＵ１３と同期して、所定の制御周期で非常停止スイッチ１１の状態を監視する。そして、第１ＣＰＵ１２は第２ＣＰＵ１３からシリアル通信により「非常停止データパケット」（通信パケット）を受け取り、このデータに含まれる誤り検出データを使用して「非常停止データパケット」のデータが正しいことを確認する。そして、第１ＣＰＵ１２は、このパケットの入力直前に検出した非常停止スイッチ１１の接点１１ａの開閉状態を第１ＣＰＵデータにセットする。以上のデータを更新した上で、合成されたデータの誤り検出データを計算して更新する。第１ＣＰＵ１２はこうして生成された「非常停止データパケット」（通信パケット）を送信回路１４に送信する。
【００５０】
このように、宛先データは受信側の第４ＣＰＵ２３に対してユニークに決められたデータ（固有のデータ）である。又、送信元データは送信側の第２ＣＰＵ１３に対してユニークに決められたデータ（固有のデータ）である。送信番号データは送信データ毎に設定されたデータで、送信毎に更新することにより、送信された順番を特定することができるデータである。第１ＣＰＵデータは、第１ＣＰＵ１２が非常停止スイッチ１１の接点１１ａの開閉状態をモニタしたデータである。第２ＣＰＵデータは、第２ＣＰＵ１３が非常停止スイッチ１１の接点１１ｂの開閉状態をモニタしたデータである。又、誤り検出データは、宛先データ、送信元データ、送信番号データ、第１ＣＰＵデータ、第２ＣＰＵデータを合成したデータから誤り検出演算により生成されたデータである。
【００５１】
ティーチペンダント１０の送信回路１４は、第１ＣＰＵ１２からセットされた「非常停止データパケット」を無線信号として、制御部２０の無線送受信回路２１０に送信する（図２参照）。
【００５２】
（２．  制御部２０の処理）
（２−１．  第３ＣＰＵ２２の処理）
次に無線送受信回路２１０は、「非常停止データパケット」を無線信号として受信し、第３ＣＰＵ２２に送信する。第３ＣＰＵ２２は送信された「非常停止データパケット」を図示しないＲＡＭ等に書き込みした後、該「パケット」を第４ＣＰＵ２３にシリアル通信で送信する。
【００５３】
その後、第３ＣＰＵ２２は誤り検出データを使用して、「非常停止データパケット」のデータに誤りがないかを確認する。第３ＣＰＵ２２は確認で誤りがあった場合は後述するエラー処理Ａを行う。
【００５４】
「非常停止データパケット」のデータに誤りがない場合、第３ＣＰＵ２２は「非常停止データパケット」のデータから、まず、宛先データ、送信元データを予めＲＯＭに格納されて予めパラメータとして設定されている宛先データ、送信元データと比較し、いずれかが一致しない場合は後述するエラー処理Ｂを行う。
【００５５】
宛先データ、送信元データが正しい場合は、第３ＣＰＵ２２は送信番号データが、前回の制御周期において受信した「非常停止データパケット」の送信番号データに１を加えられた物になっているかを確認する。第３ＣＰＵ２２は確認で送信番号データの異常があった場合、すなわち、前回の制御周期において受信した「非常停止データパケット」の送信番号データに１を加えられた物になっていない場合は、後述するエラー処理Ａを行う。送信番号データに異常がない場合、第３ＣＰＵ２２はここで第１ＣＰＵデータ及び第２ＣＰＵデータを確認する。
【００５６】
第３ＣＰＵ２２は、第１ＣＰＵデータ及び第２ＣＰＵデータがともに「非常停止スイッチ閉」であれば、第１電磁接触器制御回路２６へＯＮの制御信号を出力し、いずれか一方でも「非常停止スイッチ開」であれば、第１電磁接触器制御回路２６へＯＦＦの制御信号を出力する。
【００５７】
第１電磁接触器制御回路２６は、第３ＣＰＵ２２からＯＦＦの制御信号が入力されると、第１電磁接触器制御回路２６に対する他の制御信号の入力状態には拘わらず、第１電磁接触器２４へＯＦＦの制御信号を出力する。これによって、第１電磁接触器２４の接点２４ａが開となり、サーボアンプ２８ヘの主電源供給が停止し、図示しないロボットが停止する。
【００５８】
このように、第１ＣＰＵデータ、第２ＣＰＵデータが「非常停止スイッチ開」の場合は、これらのデータは非常停止指令として機能している。
ここで、異常があった場合のエラー処理Ａ，Ｂについて述べる。
【００５９】
（２−１−１．  エラー処理Ａ）
誤り検出データによる確認で異常があった場合、送信番号データが正しく更新されていなかった場合（すなわち、送信番号データの異常の場合）、第３ＣＰＵ２２は即座に第１電磁接触器制御回路２６へＯＦＦの制御信号を出力する。
【００６０】
なお、誤り検出データによる確認で異常があった場合、及び送信番号データが正しく更新されていなかった場合は、通信エラーとして判定されていることになる。このように誤り検出データ、及び送信番号データは、通信エラー検出のためのが通信エラー検出データとなっている。
【００６１】
これによって第１電磁接触器制御回路２６は、第１電磁接触器制御回路２６に対する他の制御信号の入力状態には拘わらず、第１電磁接触器２４へＯＦＦの制御信号を出力するため、第１電磁接触器２４の接点が開となり、サーボアンプ２８ヘの主電源供給が停止し、図示しないロボットが停止する。
【００６２】
なお、以下、第１電磁接触器制御回路２６へＯＦＦの制御信号を出力すると記した場合は、結果として第１電磁接触器２４の接点が開となり、サーボアンプ２８ヘの主電源供給が停止し、ロボットが停止することになるが、説明が重複するため、記述としては省略し、「第１電磁接触器制御回路２６へＯＦＦの制御信号を出力する。」とのみ記述する。
【００６３】
（２−１−２．  エラー処理Ｂ）
宛先データの異常、及び送信元データの異常のいずれか一方を少なくとも検出した場合は、第３ＣＰＵ２２は受信したデータを破棄し、次回のデータ受信を待つ。このように宛先データの異常、及び送信元データが異常と判定されることは、通信エラーが検出されていることであり、これらのデータが通信エラー検出のための通信エラー検出データとなっている。
【００６４】
（２．２  第４ＣＰＵ２３の処理）
次に、第４ＣＰＵ２３の処理について説明する。
第４ＣＰＵ２３は受信した「非常停止データパケット」の誤り検出データを使用して、「非常停止データパケット」のデータに誤りがないかを確認する。確認で誤りがあった場合は、第４ＣＰＵ２３は後述するエラー処理Ｃを行う。
【００６５】
「非常停止データパケット」のデータに誤りがない場合、第４ＣＰＵ２３は「非常停止データパケット」のデータから、まず、宛先データ、送信元データを予めＲＯＭに格納されてパラメータとして設定されている宛先データ、送信元データと比較し、いずれかが一致しない場合は後述するエラー処理Ｄを行う。
【００６６】
宛先データ、送信元データが正しい場合は、第４ＣＰＵ２３は送信番号データが、前回の制御周期において受信した「非常停止データパケット」の送信番号データに１を加えられた物になっているかを確認する。第４ＣＰＵ２３は確認で送信番号データの異常があった場合、すなわち、前回の制御周期において受信した「非常停止データパケット」の送信番号データに１を加えられた物になっていない場合は、後述したエラー処理Ｃを行う。送信番号データに異常がない場合、第４ＣＰＵ２３はここで第１ＣＰＵデータ及び第２ＣＰＵデータを確認する。
【００６７】
第４ＣＰＵ２３は、第１ＣＰＵデータ及び第２ＣＰＵデータがともに「非常停止スイッチ閉」であれば、第２電磁接触器制御回路２７へＯＮの制御信号を出力し、いずれか一方でも「非常停止スイッチ開」であれば、第２電磁接触器制御回路２７へＯＦＦの制御信号を出力する。
【００６８】
第２電磁接触器制御回路２７は、第４ＣＰＵ２３からＯＦＦの制御信号を入力されると、第２電磁接触器制御回路２７に対する他の制御信号の入力状態には拘わらず、第２電磁接触器２５へＯＦＦの制御信号を出力する。これによって、第２電磁接触器２５の接点２５ａが開となり、サーボアンプ２８ヘの主電源供給が停止し、図示しないロボットが停止する。
【００６９】
ここで、異常があった場合のエラー処理Ｃ，Ｄについて述べる。
（２−２−１．  エラー処理Ｃ）
誤り検出データによる確認で異常があった場合、送信番号データが正しく更新されていなかった場合（すなわち、送信番号データの異常の場合）、第４ＣＰＵ２３は即座に第２電磁接触器制御回路２７へＯＦＦの制御信号を出力する。
【００７０】
なお、誤り検出データによる確認で異常があった場合、及び送信番号データが正しく更新されていなかった場合は、通信エラーとして判定されていることになる。これによって、第２電磁接触器制御回路２７は、第２電磁接触器制御回路２７に対する他の制御信号の入力状態には拘わらず、第２電磁接触器２５へＯＦＦの制御信号を出力する。このため、第２電磁接触器２５の接点２５ａが開となり、サーボアンプ２８ヘの主電源供給が停止し、ロボットが停止する。
【００７１】
なお、以下、第２電磁接触器制御回路２７へＯＦＦの制御信号を出力すると記した場合は、結果として第２電磁接触器２５の接点２５ａが開となり、サーボアンプ２８ヘの主電源供給が停止し、図示しないロボットが停止することになるが、説明が重複するため、記述としては省略し、「第２電磁接触器制御回路２７へＯＦＦの制御信号を出力する。」とのみ記述する。
【００７２】
（２−２−２．  エラー処理Ｄ）
宛先データの異常、或いは送信元データの異常のいずれか一方を少なくとも検出した場合は、第４ＣＰＵ２３は受信したデータの同定不能による通信エラーとして受信したデータを破棄し、次回のデータ受信を待つ。
【００７３】
（２−３．電源電圧監視）
次に、電源電圧監視について説明する。
ティーチペンダント１０の電源電圧監視回路１５は、第１ＣＰＵ１２及び第２ＣＰＵ１３に供給される電源電圧の監視を行い、電源電圧が正常範囲から外れた場合、異常と判断して両ＣＰＵに強制的にリセットを掛ける。この結果、第１ＣＰＵ１２及び第２ＣＰＵ１３側では、送信が途絶え、ティーチペンダント１０に設けられた表示装置やアラーム（ともに図示しない）にてその旨を警告し、作業者に知らせる。
【００７４】
一方、制御部２０の電源電圧監視回路２９は、第３ＣＰＵ２２及び第４ＣＰＵ２３に供給される電源電圧の監視を行い、電源電圧が正常範囲から低下したり、超えたりした場合には、強制的に両ＣＰＵにリセットを掛ける。
【００７５】
この結果、第１電磁接触器制御回路２６、及び第２電磁接触器制御回路２７に対してＯＦＦの制御信号をそれぞれ出力できる。
さて、本実施形態によれば、以下のような特徴がある。
【００７６】
（１）  本実施形態のロボット制御装置３０は、制御部２０における第３ＣＰＵ２２、第４ＣＰＵ２３のそれぞれが、通信データに含まれるモニタ結果及び予め定められた通信プロトコルに従って作成された通信エラー検出データを解析する。そして、第３ＣＰＵ２２、第４ＣＰＵ２３がモニタ結果及び通信エラー検出データの解析結果に応じて第１電磁接触器制御回路２６、第２電磁接触器制御回路２７にＯＦＦの制御信号を出力することにより、モニタ結果や通信エラーの内容に応じてロボットのモータＭ４１への電力が遮断される。
【００７７】
この結果、本実施形態ではティーチペンダント１０と制御部２０間の通信を無線化する際、単一の故障で機械の非常停止動作の安全機能が損なわれることのないように２重化された２重化されたハードウエア回路と、最小限の通信回路でありながら信頼性を確保した通信プロトコルによって信頼性の高い非常停止通信を行うことができる。
【００７８】
（２）  本実施形態では、通信データは、通信エラー検出データとして宛先データ及び送信元データを含む通信パケットにて構成される。そして、第３ＣＰＵ２２及び第４ＣＰＵ２３は、該通信データに含まれる宛先データ及び送信元データに基づいて該通信データの同定を行い、同定ができなかった場合には、通信データの同定不能による通信エラーとして次回の受信を待つようにした。
【００７９】
この結果、宛先データ、送信元データが付加された通信パケットを使用することにより、通信データを同定することができ、このことによって通信データの信頼性を確保することができる（安全通信）。
【００８０】
（３）  本実施形態では、通信データは、通信エラー検出データとして通信データが作成される毎に更新される通信番号データ（送信番号データ）を含む通信パケットにて構成される。そして、第３ＣＰＵ２２及び第４ＣＰＵ２３は、該通信番号データ（送信番号データ）に基づく通信エラーの場合に第１電磁接触器制御回路２６及び第２電磁接触器制御回路２７を制御して第１電磁接触器２４及び第２電磁接触器２５を遮断動作させる。
【００８１】
この結果、本実施形態によれば、通信番号データ（送信番号データ）が付加された通信を使用すると、通信番号データが更新されていない場合、通信データの異常が検出できるため、このことによって通信データ（送信データ）の信頼性を確保することができる（安全通信）。
【００８２】
（４）  本実施形態では、通信データは、通信エラー検出データとして誤り検出データを含む通信パケットにて構成される。そして、第３ＣＰＵ２２及び第４ＣＰＵ２３は、誤り検出データに基づいて、通信データがデータ異常か否かを判定し、データ異常の場合には、第１電磁接触器制御回路２６及び第２電磁接触器制御回路２７を制御して第１電磁接触器２４及び第２電磁接触器２５を遮断動作させる。
【００８３】
この結果、本実施形態によれば、誤り検出データが付加された通信パケットを使用することにより、通信データ（送信データ）の異常を検出できるため、このことによって通信データの信頼性を確保することができる（安全通信）。
【００８４】
（５）  本実施形態では、第３ＣＰＵ２２及び第４ＣＰＵ２３の電源電圧の異常を検出し、異常を検出した際には第３ＣＰＵ２２及び第４ＣＰＵ２３にリセットを掛ける電源電圧監視回路２９（第２電源電圧監視手段）を設けた。そして、第３ＣＰＵ２２及び第４ＣＰＵ２３は、リセットが掛けられた際には、第１電磁接触器制御回路２６及び第２電磁接触器制御回路２７にＯＦＦの制御指針号（非常停止信号）を出力するようにした。この結果、制御部２０内の通信の信頼性を高めることができる。
【００８５】
（６）  ここで、本実施形態において、送信番号データ、誤り検出データ、宛先データ及び送信元データを用いることにより検出できる通信異常を表１に示す。表１に示すように、本実施形態において、右の検出方法の欄の記載によって、左の欄の通信異常が検出できる。
【００８６】
【表１】
2008009872.tif 000003
（第２実施形態）
次にティーチペンダント１００と制御部２００とが無線通信を行うロボット制御装置３００に具体化した第２実施形態を、図３〜１１を参照して説明する。このロボット制御装置３００が制御するロボットは、例えば溶接ロボットや、搬送ロボット等であるが、これらのロボットに限定されるものではない。
【００８７】
（１．  ティーチペンダント１００）
図３に示すように可搬式操作部としてのティーチペンダント１００は２つの接点１１０ａ，１１０ｂを持つ非常停止スイッチ１１０と、該接点１１０ａ，１１０ｂの開閉状態をそれぞれモニタしてモニタ結果を送信する第１ＣＰＵ１２０、第２ＣＰＵ１３０を備えている。なお、本実施形態では、図３に示すように該接点１１０ａはＧＮＤに接続されるとともに接点１１０ｂは電源Ｖｃｃに接続されているが、第１実施形態と同様に限定されるものではない。各ＣＰＵは、それぞれバス１２４，１３４で接続されるＲＯＭ１２１，１３１，ＲＡＭ１２２，１３２及びカレンダＩＣ１２３，１３３を有する。
【００８８】
第１ＣＰＵ１２０及び第２ＣＰＵ１３０はシリアル通信により、互いに必要な種々のデータの交信が可能とされている。送受信制御回路１４０はバス１２４を介して第１ＣＰＵ１２０に接続されるとともに、第１ＣＰＵ１２０が作成した非常停止データパケットに基づいて無線送信データパケットを作成して無線送受信回路１５０に送信する。
【００８９】
又、無線送受信回路１５０は前記無線送信データパケットを無線でロボット制御装置３００の制御部２００に送信するとともに、制御部２００からの無線応答データパケットを受信し、送受信制御回路１４０に送信する。電源電圧監視・ウオッチドッグ回路１６０は、電源電圧監視回路とウオッチドッグ回路とを備えているとともに電源電圧監視回路は第１ＣＰＵ１２０及び第２ＣＰＵ１３０に供給される電源電圧の監視を行い、電源電圧が正常範囲から外れると異常と判断して両ＣＰＵにリセットを掛けるようにされている。なお、前記正常範囲は、第１ＣＰＵ１２０及び第２ＣＰＵ１３０が正常に機能することができる範囲を持った電圧値のことである。
【００９０】
さらに、電源電圧監視・ウオッチドッグ回路１６０のウオッチドッグ回路は、第１ＣＰＵ１２０及び第２ＣＰＵ１３０が正常に動作している場合には、第１ＣＰＵ１２０及び第２ＣＰＵ１３０から定期的なアクセス（すなわち、ウオッチドッグクリア信号の出力）を受けるようにされている。そして、電源電圧監視・ウオッチドッグ回路１６０は、第１ＣＰＵ１２０、第２ＣＰＵ１３０に何らかの異常が発生して、定期的なアクセスが無くなった場合には、それを検出して両ＣＰＵに対して強制的にリセットを掛けることができるようにされている。電源電圧監視・ウオッチドッグ回路１６０は、第１電源電圧監視手段、及び第１ウオッチドッグ手段に相当する。又、ティーチペンダント１００には、前記各回路の電源となるバッテリ１７０を備えている。
【００９１】
非常停止スイッチ１１０は非常停止操作手段に相当し、第１ＣＰＵ１２０及び第２ＣＰＵ１３０はモニタ手段に相当し、無線送受信回路１５０は第１通信手段に相当する。そして、非常停止スイッチ１１０は、非常停止スイッチを押して回路が開となった場合が非常停止状態で、以下ではこれを非常停止スイッチ開、逆に非常停止状態を解除し回路が閉となった場合を非常停止スイッチ閉とする。
【００９２】
（２．  制御部２００）
ロボット制御装置３００の制御部２００は、図４に示すように無線送信された無線送信データパケットを受信するとともに無線応答データパケットを送信する無線送受信回路２１０、及び該無線送受信回路２１０に接続されるとともにデータの書き込み読み出しが可能な送受信制御回路２１５を備えている。
【００９３】
又、制御部２００は、受信した無線送信データパケットを解析処理するとともに、応答データパケットを作成する第１非常停止制御ＣＰＵ２２０及び第２非常停止制御ＣＰＵ２３０を備えている。各ＣＰＵは、バス２２１，２３１を介して接続されたＲＯＭ２２２，２３２，ＲＡＭ２２３，２３３、及びカレンダＩＣ２２４，２３４を有する。
【００９４】
又、制御部２００は主電源としての三相電源４００からサーボアンプ２８０ヘの電力を遮断するために接点２４０ａ，２５０ａが直列回路に接続された第１電磁接触器２４０、第２電磁接触器２５０、及び両電磁接触器をそれぞれ開閉制御する第１非常停止制御回路２６０、第２非常停止制御回路２７０を備える。そして、第１電磁接触器２４０及び第２電磁接触器２５０の接点２４０ａ，２５０ａが閉のときに、ロボットの関節軸（図示しない）を制御するサーボアンプ２８０から図示しないロボットの駆動源としてのモータＭ４１０に電流が供給されることにより、該モータＭ４１０が駆動される。
【００９５】
サーボ制御用回路２８５は、サーボアンプ２８０を制御するとともに、第１非常停止制御回路２６０及び第２非常停止制御回路２７０に対して、ＯＮ／ＯＦＦの制御信号を出力する。
【００９６】
又、第１非常停止制御回路２６０は、第１非常停止制御ＣＰＵ２２０とサーボ制御用回路２８５からともにＯＮの制御の信号を受けたときに第１電磁接触器２４０にＯＮの制御信号を出力し、第１電磁接触器２４０の接点２４０ａを閉作動する。又、第１非常停止制御回路２６０は、第１非常停止制御ＣＰＵ２２０からＯＦＦの制御信号を入力した際には、サーボ制御用回路２８５からの制御信号の入力状態に拘わらず第１電磁接触器２４０への制御信号をＯＦＦとし、第１電磁接触器２４０の接点２４０ａを開作動する。一方、第２非常停止制御回路２７０は、第２非常停止制御ＣＰＵ２３０とサーボ制御用回路２８５からともにＯＮの制御の信号を受けたときに第２電磁接触器２５０にＯＮの制御信号を出力し、第２電磁接触器２５０の接点２５０ａを閉作動する。又、第２非常停止制御回路２７０は、第２非常停止制御ＣＰＵ２３０からＯＦＦの制御信号を入力した際には、サーボ制御用回路２８５からの制御信号の入力状態に拘わらず第２電磁接触器２５０への制御信号をＯＦＦとし、第２電磁接触器２５０の接点２５０ａを開作動する。
【００９７】
ここで、第１非常停止制御ＣＰＵ２２０及び第２非常停止制御ＣＰＵ２３０から出力されるＯＦＦの制御信号は非常停止信号に相当する。
制御部２００は、制御部２００が備える回路（第１非常停止制御ＣＰＵ２２０及び第２非常停止制御ＣＰＵ２３０を含む）の電源電圧を監視するとともに第１非常停止制御ＣＰＵ２２０及び第２非常停止制御ＣＰＵ２３０が正常に動作していることを監視する電源電圧監視・ウオッチドッグ回路２９０を備えている。電源電圧監視・ウオッチドッグ回路２９０の電源電圧回路は、回路が電源電圧が正常範囲から外れた場合、異常と判断して両ＣＰＵにリセットを掛ける。なお、この正常範囲は、各回路が正常に機能することができる電圧値のことである。
【００９８】
第１非常停止制御ＣＰＵ２２０及び第２非常停止制御ＣＰＵ２３０は、リセットが掛けられると、第１非常停止制御回路２６０及び第２非常停止制御回路２７０に対して、ＯＦＦの制御信号を出力するようにされている。又、第１非常停止制御ＣＰＵ２２０及び第２非常停止制御ＣＰＵ２３０による第１非常停止制御回路２６０及び第２非常停止制御回路２７０に対する制御信号の初期値は、ＯＦＦの制御信号とされている。
【００９９】
又、電源電圧監視・ウオッチドッグ回路２９０のウオッチドッグ回路は、第１非常停止制御ＣＰＵ２２０及び第２非常停止制御ＣＰＵ２３０が正常に動作している場合には、第１非常停止制御ＣＰＵ２２０及び第２非常停止制御ＣＰＵ２３０から定期的なアクセス（すなわち、ウオッチドッグクリア信号の出力）を受けるようにされている。そして、電源電圧監視・ウオッチドッグ回路２９０は、第１非常停止制御ＣＰＵ２２０、第２非常停止制御ＣＰＵ２３０に何らかの異常が発生して、定期的なアクセスが無くなった場合には、それを検出して両ＣＰＵに対して強制的にリセットを掛けることができるようにされている。
【０１００】
このリセットが掛けられると、第１非常停止制御ＣＰＵ２２０及び第２非常停止制御ＣＰＵ２３０は、第１非常停止制御回路２６０及び第２非常停止制御回路２７０に対して、ＯＦＦの制御信号を出力するようにされている。
【０１０１】
ここで、無線送受信回路２１０は第２通信手段に相当し、第１電磁接触器２４０，第２電磁接触器２５０は遮断手段に相当し、第１非常停止制御回路２６０及び第２非常停止制御回路２７０は遮断制御手段に相当し、第１非常停止制御ＣＰＵ２２０及び第２非常停止制御ＣＰＵ２３０は通信データ解析手段に相当する。電源電圧監視・ウオッチドッグ回路２９０は、第２電源電圧監視手段及び第２ウオッチドッグ手段に相当する。
【０１０２】
（第２実施形態の作用）
さて、上記のように構成されたロボット制御装置３００の作用を図１０、図１１のフローチャートを参照しながら説明する。なお、このフローチャートに示される処理は、各ＣＰＵにおいて、所定の制御周期毎（例えば、０．０５秒毎）に、すなわち、定期的に実行される。
【０１０３】
（１．非常停止データパケットの生成及び送信）
ティーチペンダント１００の第２ＣＰＵ１３０は、非常停止信号処理のプログラムを実行して非常停止スイッチ１１０の状態を監視する。そして、第２ＣＰＵ１３０は、図１０のＳ１０〜Ｓ１４の処理を行い、「非常停止データパケット」を生成する（図５参照）。
【０１０４】
図５に示すように「非常停止データパケット」は、宛先データ、送信元データ、第１ＣＰＵエラーフラグ、第２ＣＰＵエラーフラグ、通信番号データとしての送信番号データ、第１ＣＰＵデータ、第２ＣＰＵデータ、誤り検出データにて構成される。
【０１０５】
なお、第１ＣＰＵデータ及び第２ＣＰＵデータは、第１実施形態と同様にセットされるものとしては、初期値以外に、接点が開状態のときの「非常停止スイッチ開」と、接点が閉状態のときの「非常停止スイッチ閉」がある。「非常停止スイッチ開」と「非常停止スイッチ閉」は、モニタ結果に相当する。
【０１０６】
ここで、送信番号データは通信データ（すなわち、送信データ）毎に設定されたデータであって、送信毎に１を加えて更新することにより、送信された順番を特定することができるデータである（図１０のＳ１０参照）。
【０１０７】
第２ＣＰＵ１３０は、第１ＣＰＵデータには初期値として、非常停止スイッチ１１０が開であるとしたデータをセットするとともに、第２ＣＰＵデータには、第２ＣＰＵ１３０で直前に検出した非常停止スイッチ１１０の状態をセットする（図１０のＳ１２参照）。又、第２ＣＰＵ１３０は残りのデータを作成して、「非常停止データパケット」を生成する（図１０のＳ１４参照）。
【０１０８】
ここで、誤り検出データは、宛先データ、送信元データ、第１ＣＰＵエラーフラグデータ、第２ＣＰＵエラーフラグデータ、送信番号データ、第１ＣＰＵデータ、第２ＣＰＵデータを合成したデータから誤り検出演算により生成されたデータである。なお、宛先データ、送信元データ、送信番号データ、第１ＣＰＵデータ、第２ＣＰＵデータ、誤り検出データは通信データを構成するデータである。この通信データは、予め定められた通信プロトコルに従ってパケットの形式で作成される。又、宛先データ、送信元データ、送信番号データ、誤り検出データは通信エラー検出データに相当する。
【０１０９】
すなわち、第２ＣＰＵ１３０は、宛先データにはＲＯＭ１３１に記憶されるとともに予めパラメータで定められた送信先の第２非常停止制御ＣＰＵ２３０のデータをセットし、送信元データには予めパラメータで定められた送信元のティーチペンダント１００の第２ＣＰＵ１３０のデータをセットする。
【０１１０】
なお、前記宛先データ（すなわち、宛先アドレス）は送信先の制御部２００の第２非常停止制御ＣＰＵ２３０に対してユニーク（固有のデータ）に決められたデータである。又、前記送信元データ（すなわち、送信元アドレス）は送信元のティーチペンダント１００の第２ＣＰＵ１３０に対してユニーク（固有のデータ）に決められたデータである。
【０１１１】
（第１ＣＰＵエラーフラグデータ及び第２ＣＰＵエラーフラグデータ）
ここで、第１ＣＰＵエラーフラグデータ及び第２ＣＰＵエラーフラグデータについて説明する。
【０１１２】
第１ＣＰＵエラーフラグデータは、第１ＣＰＵ１２０が何らかの異常をそれぞれ検出したときに、それぞれそのエラー状態を書き示すデータである。
図９には、第１ＣＰＵエラーフラグデータ及び第２ＣＰＵエラーフラグデータの例が示されている。同図に示すように、第１ＣＰＵエラーフラグデータには、右から左に向かって順に、非常停止データＣＲＣ異常、非常停止データタイムアウト異常、応答データＣＲＣ異常、応答データ不一致異常、及び応答データタイムアウト異常の各種フラグをセット可能である。第１ＣＰＵエラーフラグには、初期値例として、全てのビット（すなわち、フラグ）に「異常」を表す「１」がセットされている（”１１１１１”）。
【０１１３】
又、第２ＣＰＵエラーフラグデータは、第２ＣＰＵが何らかの異常を検出したときにそのエラー状態を書き示すデータである。第２ＣＰＵエラーフラグは、第１ＣＰＵエラーフラグデータと同様に構成されている。該第２ＣＰＵエラーフラグには、直前に検出して更新した第２ＣＰＵ１３０で検出する異常パラメータの状態をセットする。
【０１１４】
なお、第２ＣＰＵエラーフラグデータの初期値例としては、非常停止データＣＲＣ異常及び非常停止データタイムアウト異常には「０」がそれぞれセットされ、他のビットには、「異常」を表す「１」がセットされている（”１１１００”）。これらのビット（すなわち、フラグ）は、それぞれのビット（フラグ）に関する判定において、第１ＣＰＵ１２０に，第２ＣＰＵ１３０に異常と判定されない場合は、正常として「０」にリセットされる。
【０１１５】
ここで、フローチャートの話に戻して、以上の全てのデータをセットした上で、合成されたデータの誤り検出データを計算して更新する。第２ＣＰＵ１３０はこうして生成された「非常停止データパケット」をシリアル通信にて、第１ＣＰＵ１２０に送信する（図１０のＳ１６参照）。この後、第２ＣＰＵ１３０は、Ｓ１８において、カレンダＩＣ１３３のタイムアウト検出用カレンダを読み込みする。
【０１１６】
第１ＣＰＵ１２０は、図１０に示すように非常停止信号処理のプログラムを第２ＣＰＵ１３０が行う非常停止信号処理と同期して所定の制御周期で実行しているとともに、この非常停止信号処理がスタートした直後のＳ３０においてカレンダＩＣ１２３のタイムアウト検出用カレンダを読み込みしている。
【０１１７】
Ｓ３２では、第１ＣＰＵ１２０は、第２ＣＰＵ１３０から受け取りした「非常停止データパケット」が読み込みしたタイムアウト検出用カレンダの値に基づいて規定時間内に受信したか否かを判断し、該規定時間内に受信していない場合には、「ＮＧ」と判定して、後述するＳ５４の異常処理を行う。なお、本明細書において、規定時間は、予め定められた時間であって、例えば数ｍｓｅｃ〜数百ｍｓｅｃの大きさをいう。そして、Ｓ３４において、第１ＣＰＵ１２０は、受け取りした「非常停止データパケット」に含まれる誤り検出データを使用してデータが正しいことを確認後、第１ＣＰＵエラーフラグを直前に検出して更新した異常パラメータの状態に更新する。
【０１１８】
又、Ｓ３６において、第１ＣＰＵデータに第１ＣＰＵ１２０で、このパケットの入力直前に検出した非常停止スイッチ１１０の状態をセットする。以上のデータを更新した上で、Ｓ３８において、合成されたデータの誤り検出データを計算して更新する。続くＳ４０では、第１ＣＰＵ１２０はこうして生成された「非常停止データパケット」を送受信制御回路１４０にバス１２４を経由して書き込む。
【０１１９】
次に、Ｓ４２において、第１ＣＰＵ１２０はＳ４２において、カレンダＩＣ１２３のタイムアウト検出用カレンダを読み込みする。
なお、Ｓ３４において、受け取りした「非常停止データパケット」に含まれる誤り検出データを使用してデータが正しくない場合には、第１ＣＰＵ１２０は「ＮＧ」と判定して、後述するＳ５４の異常処理を行う。
【０１２０】
次に、送受信制御回路１４０は、第１ＣＰＵ１２０からセットされた「非常停止データパケット」に無線送信を実行するためのヘッダデータを、図６に示すように付加し「無線送信データパケット」として無線送受信回路１５０に送信する。ここで、前記ヘッダデータには、使用する前記通信プロトコルによって定められた、送信元ポート番号、宛先ポート番号、データサイズ、誤り検出データ等が含まれる。
【０１２１】
次に、ティーチペンダント１００の無線送受信回路１５０は、送受信制御回路１４０から受信した「無線送信データパケット」を無線信号として送信する。
制御部２００の無線送受信回路２１０は、「無線送信データパケット」を無線信号として受信し、送受信制御回路２１５に送信する。制御部２００の送受信制御回路２１５は、無線送受信回路２１０から受信した「無線送信データパケット」のヘッダデータ内の誤り検出データを利用して受け取った無線送信データパケットの内容が正しいことを確認後、ヘッダデータ内の宛先ポート番号で自分宛のデータかどうかを判断する。
【０１２２】
そして、送受信制御回路２１５は自分宛であった場合は「無線送信データパケット」から「非常停止データパケット」を取り出し、第１非常停止制御ＣＰＵ２２０から読み出し可能な状態として、第１非常停止制御ＣＰＵ２２０に対して割り込みをかける。送受信制御回路２１５は自分宛でなかった場合はデータを破棄する。
【０１２３】
次に、第１非常停止制御ＣＰＵ２２０における非常停止信号処理のプログラムについて説明するが、第１非常停止制御ＣＰＵ２２０は、図１１に示すように非常停止信号処理のプログラムを第２非常停止制御ＣＰＵ２３０が行う非常停止信号処理と同期して所定の制御周期で実行している。又、第１非常停止制御ＣＰＵ２２０は、この非常停止信号処理がスタートした直後のＳ６０においてカレンダＩＣ２２４のタイムアウト検出用カレンダを読み込みしている。
【０１２４】
そして、第１非常停止制御ＣＰＵ２２０は送受信制御回路２１５からの割り込みを受けて、送受信制御回路２１５からバス２２１経由で、「非常停止データパケット」をＲＡＭ２２３から読み出す。
【０１２５】
Ｓ６２では、第１非常停止制御ＣＰＵ２２０は、読み出した「非常停止データパケット」が読み込みしたタイムアウト検出用カレンダの値に基づいて規定時間内に受信したか否かを判断し、該規定時間内に受信していない場合には、Ｓ８４の異常処理を行う。
【０１２６】
規定時間内に受信している場合には、Ｓ６４において、第１非常停止制御ＣＰＵ２２０は、読み出した「非常停止データパケット」をそのまま第２非常停止制御ＣＰＵ２３０にシリアル通信で送信する。なお、第２非常停止制御ＣＰＵ２３０における処理は後述する。
【０１２７】
次に、Ｓ６６において、第１非常停止制御ＣＰＵ２２０は、誤り検出データを使用して、「非常停止データパケット」のデータに誤りがないかを確認する。確認で誤りがあった場合は、Ｓ８４の異常処理のフェーズに移る。
【０１２８】
Ｓ６６において、「非常停止データパケット」のデータに誤りがない場合、第１非常停止制御ＣＰＵ２２０はＳ６８において、「非常停止データパケット」のデータから、まず、宛先データ、送信元データをパラメータとして予め設定されている宛先データ、送信元データと比較し、いずれかが一致しない場合はＳ８４の異常処理のフェーズに移る。
【０１２９】
Ｓ６８において、宛先データ、送信元データが正しい場合は、Ｓ７０において、第１非常停止制御ＣＰＵ２２０は第１ＣＰＵエラーフラグデータ、第２ＣＰＵエラーフラグデータを確認し、異常がないことを確認する。又、第１非常停止制御ＣＰＵ２２０は、送信番号データが、前回のデータに１を加えられた物になっているかを確認する。Ｓ７０において、異常があった場合は第１非常停止制御ＣＰＵ２２０は、Ｓ８４の異常処理のフェーズに移る。
【０１３０】
次に、Ｓ７０において、第１非常停止制御ＣＰＵ２２０は確認で問題がなかったら、Ｓ７２において、カレンダＩＣ２２４のタイムアウト検出用カレンダを読み込みする。
次に、Ｓ７４において、第１非常停止制御ＣＰＵ２２０は、第１ＣＰＵデータ及び第２ＣＰＵデータを確認する。ここで、両方のデータがともに非常停止スイッチ閉であれば、第１非常停止制御ＣＰＵ２２０は、第１非常停止制御回路２６０へＯＮの制御信号を出力し、いずれか一方でも非常停止スイッチ開であれば、第１非常停止制御回路２６０へＯＦＦの制御信号を出力する。第１非常停止制御回路２６０は、非常停止制御ＣＰＵからの制御信号がＯＦＦになると、他の入力状態には拘わらず、第１電磁接触器２４０へＯＦＦの制御信号を出力する。これによって、第１電磁接触器２４０の接点２４０ａが開となり、サーボアンプ２８０ヘの主電源供給が停止し、ロボットが停止する。
【０１３１】
このように、第１ＣＰＵデータ、第２ＣＰＵデータが非常停止スイッチ開の場合は、これらのデータは非常停止指令として機能している。
なお、第１非常停止制御ＣＰＵ２２０は、第１非常停止制御回路２６０へのＯＦＦの制御信号を出力した後、予め定められた第１電磁接触器２４０の動作待ち時間後に、第１電磁接触器２４０の接点状態をモニタ入力によりモニタする。そして、ＯＦＦの制御信号を出力したにも拘わらず、接点状態がＯＮのままであった場合には、第１非常停止制御ＣＰＵ２２０は、これを第１電磁接触器２４０の接点異常と判断する。そして、第１非常停止制御ＣＰＵ２２０は、その旨を異常出力してエラーが解除されるまで、異常状態を保持し、入力された「非常停止データパケット」の状態に拘わらず、非常停止制御回路へＯＦＦの制御信号を出力保持する。第１非常停止制御ＣＰＵ２２０は監視手段に相当する。
【０１３２】
同様の動作を第２非常停止制御ＣＰＵ２３０でも実施がされることにより、電磁接触器の故障による遮断不良をほぼ確実に防ぐことができる。
（異常処理（Ｓ８４））
ここで、Ｓ８４の異常処理について説明する。
【０１３３】
規定時間内に「非常停止データパケット」が受信できなかった場合（Ｓ６２で「ＮＧ」、後述するＳ７６で「ＮＧ」）、第１非常停止制御ＣＰＵ２２０は即座に第１非常停止制御回路２６０へＯＦＦの制御信号を出力する。第１非常停止制御ＣＰＵ２２０は、宛先データの異常、或いは送信元データの異常を検出した場合（Ｓ６８で「ＮＧ」）は、受信したデータを破棄し、次回のデータ受信を待つ。
【０１３４】
誤り検出データによる確認で異常があった場合（Ｓ６６で「ＮＧ」）、第１ＣＰＵエラーフラグデータ、第２ＣＰＵエラーフラグデータに異常が検出された場合、送信番号データが正しく更新されていなかった場合（Ｓ７０で「ＮＧ」）は、第１非常停止制御ＣＰＵ２２０は即座に第１非常停止制御回路２６０へＯＦＦの制御信号を出力する。
【０１３５】
このように、Ｓ６６、Ｓ７０において、それぞれ「ＮＧ」とされて、異常が検出された場合には、第１非常停止制御ＣＰＵ２２０が第１非常停止制御回路２６０へＯＦＦの制御信号をそれぞれ出力することを、上記の一連の処理の流れが停止した場合の歯止めとしている。
【０１３６】
又、後述するＳ８２で「ＮＧ」の場合は、即座に第１非常停止制御回路２６０へＯＦＦの制御信号を出力する。
なお、誤り検出データによる確認で異常があった場合、及び送信番号データが正しく更新されていなかった場合は、通信エラーとして判定されていることになる。
【０１３７】
これによって第１非常停止制御回路２６０は、他の入力状態には拘わらず、第１電磁接触器２４０へＯＦＦの制御信号を出力するため、第１電磁接触器２４０の接点が開となり、サーボアンプ２８０ヘの主電源供給が停止し、ロボットが停止する。以下、第１非常停止制御回路２６０へＯＦＦの制御信号を出力と記した場合は、結果として第１電磁接触器２４０の接点が開となり、サーボアンプ２８０ヘの主電源供給が停止し、ロボットが停止することになるが、説明が重複するため、記述としては省略し、「第１非常停止制御回路２６０へＯＦＦの制御信号を出力する。」とのみ記述する。
【０１３８】
次に、第２非常停止制御ＣＰＵ２３０での非常停止信号処理のプログラムについて説明するが、第２非常停止制御ＣＰＵ２３０は、図１１に示すように非常停止信号処理のプログラムを第１非常停止制御ＣＰＵ２２０が行う非常停止信号処理と同期して所定の制御周期で実行している。又、第１非常停止制御ＣＰＵ２２０は、この非常停止信号処理がスタートした直後のＳ９０においてカレンダＩＣ２３４のタイムアウト検出用カレンダを読み込みしている。
【０１３９】
そして、Ｓ９２において、第２非常停止制御ＣＰＵ２３０は、受信した「非常停止データパケット」が読み込みしたタイムアウト検出用カレンダの値に基づいて規定時間内に受信したか否かを判断し、該規定時間内に受信していない場合には、Ｓ１０６の異常処理を行う。
【０１４０】
次に、Ｓ９４において、第２非常停止制御ＣＰＵ２３０は受信した「非常停止データパケット」の誤り検出データを使用して、データに誤りがないかを確認する。確認で誤りがあった場合は、第２非常停止制御ＣＰＵ２３０はＳ１０６の異常処理のフェーズに移る。
【０１４１】
Ｓ９４において、確認で問題がなかったら、Ｓ９６において、第２非常停止制御ＣＰＵ２３０は、「非常停止データパケット」のデータから、まず、宛先データ、送信元データをパラメータとして予め設定されている宛先データ、送信元データと比較し、いずれかが一致しない場合はＳ１０６の異常処理のフェーズに移る。
【０１４２】
Ｓ９６において、宛先データ、送信元データが正しい場合は、Ｓ９８において、第２非常停止制御ＣＰＵ２３０は第１ＣＰＵエラーフラグデータ、第２ＣＰＵエラーフラグデータを確認し、異常がないことを確認する。又、第２非常停止制御ＣＰＵ２３０は、送信番号データが、前回のデータに１を加えられた物になっているかを確認する。Ｓ９８において、第２非常停止制御ＣＰＵ２３０は確認で異常があった場合はＳ１０６の異常処理のフェーズに移る。
【０１４３】
Ｓ９８において、確認で問題がなかったら、Ｓ１００において、第２非常停止制御ＣＰＵ２３０は、次に、第１ＣＰＵデータ及び第２ＣＰＵデータを確認する。両方のデータがともに非常停止スイッチ閉であれば、第２非常停止制御回路２７０へＯＮの制御信号を出力し、いずれか一方でも非常停止スイッチ開であれば、第２非常停止制御回路２７０へのＯＦＦの制御信号を出力する。第２非常停止制御回路２７０は、第２非常停止制御ＣＰＵ２３０からＯＦＦの制御信号が出力されると、他の入力状態には拘わらず、第２電磁接触器２５０へＯＦＦの制御信号を出力する。これによって、第２電磁接触器２５０の接点２５０ａが開となり、サーボアンプ２８０ヘの主電源供給が停止し、ロボットが停止する。
【０１４４】
又、第２非常停止制御ＣＰＵ２３０は第２非常停止制御回路２７０へＯＦＦの制御信号を出力した後、予め定められた第２電磁接触器２５０の動作待ち時間後に、第２電磁接触器２５０の接点状態をモニタ入力によりモニタする。そして、ＯＦＦの制御信号を出力したにも拘わらず、接点状態がＯＮのままであった場合には、第２非常停止制御ＣＰＵ２３０はこれを第２電磁接触器２５０の接点異常と判断し、その旨を異常出力してエラーが解除されるまで、異常状態を保持する。そして、第２非常停止制御ＣＰＵ２３０は、入力された「非常停止データパケット」の状態に拘わらず、第２非常停止制御回路２７０へＯＦＦの制御信号の出力のままとする。第２非常停止制御ＣＰＵ２３０は監視手段に相当する。
【０１４５】
同様の動作を第１非常停止制御ＣＰＵ２２０でも実施することにより、電磁接触器の故障による遮断不良をほぼ確実に防ぐことができる。
（異常処理（Ｓ１０６））
ここで、Ｓ１０６の異常処理について説明する。
【０１４６】
規定時間内に「非常停止データパケット」が受信できなかった場合（Ｓ９２で「ＮＧ」）、第２非常停止制御ＣＰＵ２３０は即座に第２非常停止制御回路２７０へＯＦＦの制御信号を出力する。
【０１４７】
第２非常停止制御ＣＰＵ２３０は、宛先データの異常、或いは送信元データの異常のいずれか一方を少なくとも検出した場合（Ｓ９６で「ＮＧ」）は、送信データの同定不能による通信エラーとして受信したデータを破棄し、次回のデータ受信を待つ。
【０１４８】
誤り検出データによる確認で異常があった場合（Ｓ９４で「ＮＧ」）、第１ＣＰＵエラーフラグデータ、第２ＣＰＵエラーフラグデータに異常が検出された場合、送信番号データが正しく更新されていなかった場合（Ｓ９８で「ＮＧ」）は、第２非常停止制御ＣＰＵ２３０は、即座に第２非常停止制御回路２７０へＯＦＦの制御信号を出力する。
【０１４９】
又、Ｓ９４、Ｓ９８において、それぞれ「ＮＧ」とされて、異常が検出された場合には、第２非常停止制御回路２７０へＯＦＦの制御信号をそれぞれ出力することを、上記の一連の処理の流れが停止した場合の歯止めとしている。
【０１５０】
これにより、第２非常停止制御ＣＰＵ２３０は、他の入力状態には拘わらず、第２電磁接触器２５０へＯＦＦの制側言号を出力するため、第２電磁接触器２５０の接点２５０ａが開となり、サーボアンプ２８０ヘの主電源供給が停止し、ロボットが停止する。以下、第２非常停止制御回路２７０へＯＦＦの制御信号を出力と記した場合は、結果として第２電磁接触器２５０の接点２５０ａが開となり、サーボアンプ２８０ヘの主電源供給が停止し、ロボットが停止することになるが、説明が重複するため、記述としては省略し、「第２非常停止制御回路２７０へＯＦＦの制御信号を出力する。」とのみ記述する。
【０１５１】
（２．  制御部２００側の応答データパケットの生成及び送信）
応答データパケットについて説明する。
Ｓ１０２において、第２非常停止制御ＣＰＵ２３０は受信した「非常停止データパケット」の中のデータについて、第１ＣＰＵエラーフラグデータ、第２ＣＰＵエラーフラグデータ、送信番号データ、第１ＣＰＵデータ、第２ＣＰＵデータ、をビット反転してセットし、宛先データと送信元データを相互に入れ替えてセットする。続いて、第２非常停止制御ＣＰＵ２３０は、上記のように合成されたデータに対して誤り検出データを計算して付加することにより、「応答データパケット」を生成する（図７参照）。
【０１５２】
図７に示すように「応答データパケット」には、宛先データ、送信元データ、第１ＣＰＵエラーフラグデータ、第２ＣＰＵエラーフラグデータ、送信番号データ、第１ＣＰＵデータ、第２ＣＰＵデータ、誤り検出データが含まれる。宛先データは制御部２００側から見て送信先となる、ティーチペンダント１００の第２ＣＰＵ１３０に対してユニークに決められたデータ（固有のデータ）である。又、送信元データは制御部２００の第２非常停止制御ＣＰＵ２３０に対してユニークに決められたデータ（固有のデータ）である。第１ＣＰＵエラーフラグデータ、第２ＣＰＵエラーフラグデータ、送信番号データ、第１ＣＰＵデータ及び第２ＣＰＵデータは、「非常停止データパケット」として受信されたデータがビット反転されたデータである。又、誤り検出データは、宛先データ、送信元データ、第１ＣＰＵエラーフラグデータ、第２ＣＰＵエラーフラグデータ、送信番号データ、第１ＣＰＵデータ、第２ＣＰＵデータを合成したデータから誤り検出演算により生成されたデータである。そして、この「応答データパケット」は、制御部２００の第２非常停止制御ＣＰＵ２３０により生成され、制御部２００側の第１非常停止制御ＣＰＵ２２０を経由して送信されて、ティーチペンダント１００の第１ＣＰＵ１２０及び、第１ＣＰＵ１２０を経由して第２ＣＰＵ１３０が受信するデータパケットとなる。
【０１５３】
Ｓ１０４において、第２非常停止制御ＣＰＵ２３０は、生成された「応答データパケット」をシリアル通信により、第１非常停止制御ＣＰＵ２２０に送信し、非常停止信号処理のプログラムの処理を一旦終了する。
【０１５４】
図１１に示すように、Ｓ７６において、第１非常停止制御ＣＰＵ２２０は、受信した「応答データパケット」がＳ７２で読み込みしたタイムアウト検出用カレンダの値に基づいて規定時間内に受信したか否かを判断し、該規定時間内に受信していない場合には、Ｓ８４の異常処理を行う。規定時間内に受信している場合には、Ｓ７８において、第１非常停止制御ＣＰＵ２２０は、受信した「応答データパケット」をそのままバス経由で送受信制御回路２１５に書き込む。
【０１５５】
又、Ｓ８０において、第１非常停止制御ＣＰＵ２２０は、前記受信した「応答データパケット」の誤り検出データによる確認で異常があった場合（Ｓ８０で「ＮＧ」の場合）は、Ｓ８４の異常処理を行なう。
【０１５６】
Ｓ８０において異常がなければ、Ｓ８２において、第１非常停止制御ＣＰＵ２２０は、自分が受信した「非常停止データパケット」を第２非常停止制御ＣＰＵ２３０と同様にビット反転処理等をして、応答データパケットに相当するデータに変換後、このデータと前記受信した応答データパケットとを照合する。
【０１５７】
ここで、Ｓ８２において、異常があった場合は、第１非常停止制御ＣＰＵ２２０は、Ｓ８４で異常処理を行う。又、Ｓ８２において、異常がないと第１非常停止制御ＣＰＵ２２０が判定した場合には、この非常停止信号処理を一旦終了する。
【０１５８】
次に、送受信制御回路２１５は、第１非常停止制御ＣＰＵ２２０から書き込まれた「応答データパケット」に無線送信を実行するためのヘッダデータを、図８に示すように付加し「無線応答データパケット」として無線送受信回路２１０に送信する。ここで、前記ヘッダデータには、使用する前記通信プロトコルによって定められた、送信元ポート番号、宛先ポート番号、データサイズ、誤り検出データ等が含まれる。次に、制御部２００の無線送受信回路２１０は、送受信制御回路２１５から受信した「無線応答データパケット」を無線信号として送信する。
【０１５９】
（３．  ティーチペンダント側の無線応答データパケットの処理）
（３．１．  第１ＣＰＵ１２０の処理）
ティーチペンダント１００の無線送受信回路１５０は、「無線応答データパケット」を無線信号として受信し、送受信制御回路１４０に送信する。
【０１６０】
送受信制御回路１４０は、無線送受信回路１５０から受信した「無線応答データパケット」のヘッダデータ内の誤り検出データを利用して受け取った無線応答データパケットの内容が正しいことを確認後、ヘッダデータ内の宛先ポート番号で自分宛のデータかどうかを判断する。
【０１６１】
そして、送受信制御回路１４０はヘッダデータ内の宛先ポート番号が自分宛であった場合は「無線応答データパケット」から「応答データパケット」を取り出し、第１ＣＰＵ１２０から読み出し可能な状態として、第１ＣＰＵ１２０に対して割り込みをかける。送受信制御回路１４０は、自分宛でなかった場合はデータを破棄する。そして、第１ＣＰＵ１２０は送受信制御回路１４０からの割り込みを受けて、送受信制御回路１４０から、「応答データパケット」を読み出す。
【０１６２】
そして、図１０に示すように、Ｓ４４において、第１ＣＰＵ１２０は、受信した「応答データパケット」がＳ４２で読み込みしたタイムアウト検出用カレンダの値に基づいて規定時間内に受信したか否かを判断し、該規定時間内に受信していない場合には、後述するＳ５４の異常処理を行う。規定時間内に受信している場合には、Ｓ４６において、第１ＣＰＵ１２０は、受信した「応答データパケット」をそのまま第２ＣＰＵ１３０にシリアル通信で送信する。なお、第２ＣＰＵ１３０における処理は後述する。
【０１６３】
その後、Ｓ４８において、第１ＣＰＵ１２０は、「応答データパケット」の誤り検出データを使用して、データに誤りがないかをチェックする。Ｓ４８のチェックで問題がなかったら、第１ＣＰＵ１２０は、Ｓ５０において、「応答データパケット」のデータから、まず、宛先データ、送信元データを予めパラメータとして設定されている宛先データ、送信元データと比較し、いずれかが一致しない場合は後述するＳ５４の異常処理を行う。
【０１６４】
Ｓ５０において、宛先データ、送信元データが正しい場合は、第１ＣＰＵ１２０は、「応答データパケット」のデータから第１ＣＰＵエラーフラグデータ、第２ＣＰＵエラーフラグデータ、送信番号データ、第１ＣＰＵデータ、第２ＣＰＵデータをビット反転して、送信した「非常停止データパケット」の内容と比較し、一致することを確認する。一致していれば、第１ＣＰＵ１２０はこの回の処理を正常終了する。
【０１６５】
Ｓ５２において、一致しない場合、Ｓ５４の異常処理を行う。
（３．３  異常処理（Ｓ５４））
ここでＳ５４の異常処理について説明する。なお、説明の便宜上、Ｓ３２及びＳ３４において、「ＮＧ」と判定された場合についも合わせて説明する。
【０１６６】
まず、Ｓ３２において、「ＮＧ」と判定された場合、第１ＣＰＵ１２０は、次回の制御周期の送信時において第１ＣＰＵエラーフラグデータの中の、非常停止データタイムアウト異常をエラー（異常）としてセットするとともに、送信することとしてこの回の処理を終了する。
【０１６７】
Ｓ３４において、「ＮＧ」と判定された場合、第１ＣＰＵ１２０は、次回の制御周期の送信時において第１ＣＰＵエラーフラグデータの中の、非常停止データＣＲＣ異常をエラー（異常）としてセットし、送信することとしてこの回の処理を終了する。
【０１６８】
このように、第１ＣＰＵ１２０は、Ｓ３２及びＳ３４で「ＮＧ」と判定している場合は、Ｓ５４の処理を行うことにより、今回の制御周期においては、通信データを作成せず、通信データを出力しない。
【０１６９】
Ｓ４４において、「ＮＧ」と判定された場合、第１ＣＰＵ１２０は、次回の制御周期の送信時において第１ＣＰＵエラーフラグデータの中の、応答データタイムアウト異常をエラー（異常）としてセットし、送信することとしてこの回の処理を終了する。Ｓ４８において、「ＮＧ」と判定された場合、第１ＣＰＵ１２０は、次回の制御周期の送信時において第１ＣＰＵエラーフラグデータの中の、応答データＣＲＣ異常をエラー（異常）としてセットし、送信することとしてこの回の処理を終了する。Ｓ５２において、「ＮＧ」と判定された場合、第１ＣＰＵ１２０は、次回の制御周期の送信時において第１ＣＰＵエラーフラグデータの中の応答データ不一致のデータをエラー（異常）としてセットし、送信することとしてこの回の処理を終了する。又、Ｓ５０において、「ＮＧ」と判定された場合、第１ＣＰＵ１２０は、データを破棄し、この回の処理を終了する。
【０１７０】
（３．４  第２ＣＰＵ１３０の処理）
次に、第２ＣＰＵ１３０は、第１ＣＰＵ１２０からのシリアル通信で「応答データパケット」を受信すると、Ｓ２０において、受信した「応答データパケット」がＳ１８で読み込みしたタイムアウト検出用カレンダの値に基づいて規定時間内に受信したか否かを判断する。そして、該規定時間内に受信していない場合には、第２ＣＰＵ１３０は、Ｓ２８の異常処理を行う。
【０１７１】
規定時間内に受信している場合には、Ｓ２２において、第２ＣＰＵ１３０は、「応答データパケット」データの中の誤り検出データを使用して、データに誤りがないかをチェックする。Ｓ２２において、データに誤りがある場合には、第２ＣＰＵ１３０は、Ｓ２８の異常処理を行う。
【０１７２】
Ｓ２２において、チェックで問題がなかったら、Ｓ２４において、第２ＣＰＵ１３０は、「応答データパケット」のデータから、まず、宛先データ、送信元データをパラメータとして設定されている宛先データ、送信元データと比較し、いずれかが一致しない場合はＳ２８の異常処理を行う。
【０１７３】
又、Ｓ２４において、宛先データ、送信元データが正しい場合は、「応答データパケット」のデータから、第２ＣＰＵエラーフラグデータ、送信番号データ、第２ＣＰＵデータをビット反転して、送信した「非常停止データパケット」との内容と比較し、一致することを確認し、一致していれぱ、この回の制御周期の処理を正常終了する。Ｓ２６において、一致しない場合、第２ＣＰＵ１３０はＳ２８の異常処理を行う。
【０１７４】
（３．５  異常処理（Ｓ２８））
Ｓ２０において、「ＮＧ」と判定された場合、第２ＣＰＵ１３０は、次回の制御周期の送信時において第２ＣＰＵエラーフラグデータの中の、応答データタイムアウト異常をエラー（異常）としてセットし、送信することとしてこの回の処理を終了する。Ｓ２２において、「ＮＧ」と判定された場合、第２ＣＰＵ１３０は、次回の制御周期の送信時において第２ＣＰＵエラーフラグデータの中の、応答データＣＲＣ異常をエラー（異常）としてセットし、送信することとしてこの回の処理を終了する。
【０１７５】
Ｓ２６において、「ＮＧ」と判定された場合、第２ＣＰＵ１３０は、次回の制御周期の送信時において第２ＣＰＵエラーフラグデータの中の送受信データ不一致のデータをエラーとしてセットし、送信することとしてこの回の処理を終了する。又、Ｓ２４において、「ＮＧ」と判定された場合、第２ＣＰＵ１３０は、データを破棄し、この回の処理を終了する。
【０１７６】
（電源電圧監視・ウオッチドッグ回路１６０，２９０について）
又、本実施形態では、電源電圧監視・ウオッチドッグ回路１６０，２９０の電源電圧監視回路は、第１ＣＰＵ１２０、第２ＣＰＵ１３０及び第１非常停止制御ＣＰＵ２２０、第２非常停止制御ＣＰＵ２３０が正常に動作できる電源電圧状態にあることを監視する。そして、電源電圧監視・ウオッチドッグ回路１６０，２９０は、電源電圧が正常範囲から低下したり、超えたりした場合には、これらのＣＰＵに対して強制的にリセットを掛ける。このように強制的にリセットが掛けられた場合には、第１ＣＰＵ１２０、第２ＣＰＵ１３０は、リセットにより通信データを作成せず、出力しないため、非常停止データの送信が途絶えると、図１１のＳ６２，Ｓ９２で判定が「ＮＧ」とされて「タイムアウト異常」として異常処理が行われる。このことにより、第１非常停止制御ＣＰＵ２２０及び第２非常停止制御ＣＰＵ２３０は、第１非常停止制御回路２６０及び第２非常停止制御回路２７０へそれぞれＯＦＦの制御信号を出力することができる。
【０１７７】
又、第１非常停止制御ＣＰＵ２２０及び第２非常停止制御ＣＰＵ２３０がリセットされた場合、第１非常停止制御ＣＰＵ２２０、第２非常停止制御ＣＰＵ２３０から第１電磁接触器２４０及び第２電磁接触器２５０へは、初期値と同様にＯＦＦの制御信号が出力されるように設定されているものとする。このことにより、第１非常停止制御ＣＰＵ２２０、第２非常停止制御ＣＰＵ２３０からＯＦＦの制御信号を第１非常停止制御回路２６０、第２非常停止制御回路２７０へそれぞれ出力できる。
【０１７８】
電源電圧監視・ウオッチドッグ回路１６０，２９０のウオッチドッグ回路は第１ＣＰＵ１２０，第２ＣＰＵ１３０及び第１非常停止制御ＣＰＵ２２０、第２非常停止制御ＣＰＵ２３０が正常に動作している場合には定期的なアクセスを行うことができる。しかし、何らかの異常が発生して、定期的なアクセスが無くなった場合には、電源電圧監視・ウオッチドッグ回路１６０，２９０は、それを検出し、これらのＣＰＵに対して強制的にリセットを掛ける。
【０１７９】
この結果、前述した電源電圧が正常範囲から低下したり、超えたりして、強制的にリセットが掛けられた場合と同様に、第１電磁接触器２４０、第２電磁接触器２５０を開作動させ、サーボアンプ２８ヘの主電源供給が停止し、ロボットを停止させることができる。
【０１８０】
さて、本実施形態によれば、以下のような特徴がある。
（１）  本実施形態では、第１非常停止制御ＣＰＵ２２０、第２非常停止制御ＣＰＵ２３０のそれぞれが、通信データに含まれるモニタ結果及び予め定められた通信プロトコルに従って作成された通信エラー検出データ（すなわち、宛先データ、送信元データ、送信番号データ、第１ＣＰＵデータ、第２ＣＰＵデータ、誤り検出データ）を解析する。そして、第１非常停止制御ＣＰＵ２２０、第２非常停止制御ＣＰＵ２３０がモニタ結果及び通信エラー検出データの解析結果に応じて第１非常停止制御回路２６０、第２非常停止制御回路２７０にＯＦＦの制御信号を出力することにより、モニタ結果や通信エラーの内容に応じてロボットのモータＭ４１０への電力が遮断される。この結果、第１実施形態の（１）と同様の効果を奏する。
【０１８１】
（２）  本実施形態では、通信データは、通信エラー検出データとして宛先データ及び送信元データを含む通信パケットにて構成される。そして、第１非常停止制御ＣＰＵ２２０及び第２非常停止制御ＣＰＵ２３０は、該通信データに含まれる宛先データ及び送信元データに基づいて該通信データの同定を行い、同定ができなかった場合（すなわち、Ｓ６８及びＳ９６において「ＮＧ」の場合）には、通信データの同定不能による通信エラーとして次回の受信を待つようにした。この結果、第１実施形態の（２）と同様の効果を奏する。
【０１８２】
（３）  本実施形態では、通信データは、通信エラー検出データとして通信データが作成される毎に更新される通信番号データ（すなわち、送信番号データ）を含む通信パケットにて構成される。そして、第１非常停止制御ＣＰＵ２２０及び第２非常停止制御ＣＰＵ２３０は、該通信番号データ（送信番号データ）に基づく通信エラーの場合に第１非常停止制御回路２６０及び第２非常停止制御回路２７０を制御して第１電磁接触器２４０及び第２電磁接触器２５０を遮断動作させる。この結果、第１実施形態の（３）と同様の効果を奏する。
【０１８３】
（４）  本実施形態では、通信データは、通信エラー検出データとして誤り検出データを含む通信パケットにて構成される。そして、第１非常停止制御ＣＰＵ２２０及び第２非常停止制御ＣＰＵ２３０は、誤り検出データに基づいて、通信データがデータ異常か否かを判定し、データ異常の場合には、第１非常停止制御回路２６０及び第２非常停止制御回路２７０を制御して第１電磁接触器２４０及び第２電磁接触器２５０を遮断動作させる。この結果、第１実施形態の（４）と同様の効果を奏する。
【０１８４】
（５）  本実施形態では、第１非常停止制御ＣＰＵ２２０及び第２非常停止制御ＣＰＵ２３０の電源電圧の異常を検出し、異常を検出した際には該両ＣＰＵにリセットを掛ける電源電圧監視・ウオッチドッグ回路２９０（すなわち、第２電源電圧監視手段）が設けられている。そして、第１非常停止制御ＣＰＵ２２０及び第２非常停止制御ＣＰＵ２３０は、リセットが掛けられた際には、第１非常停止制御回路２６０及び第２非常停止制御回路２７０にＯＦＦの制御信号（すなわち、非常停止信号）を出力するようにした。第１実施形態の（５）と同様の効果を奏する。
【０１８５】
（６）  本実施形態では、第１ＣＰＵ１２０及び第２ＣＰＵ１３０はモニタ手段として、通信データを含むデータの入出力を行うように構成されるとともに、第１ＣＰＵ１２０は該データの入力が所定時間（すなわち、規定時間）内に入力されない場合にタイムアウトを検出する第１タイムアウト検出手段としている。
【０１８６】
そして、第１ＣＰＵ１２０はタイムアウトを検出した際に、通信データを作成せず、無線送受信回路１５０（第１通信手段）は通信データを送信しないようにされている。この結果、第１ＣＰＵ１２０が通信データを含むデータの入力が所定時間内に入力されない場合に、第１非常停止制御ＣＰＵ２２０及び第２非常停止制御ＣＰＵ２３０が通信データタイムアウトを検出するため、通信の信頼性を高めることができる。
【０１８７】
（７）  本実施形態では、第１非常停止制御ＣＰＵ２２０及び第２非常停止制御ＣＰＵ２３０は、通信データを含むデータの入出力を行うように構成されるとともに、両ＣＰＵは、該通信データが所定時間（すなわち、規定時間）内に入力されない場合にタイムアウトを検出する第２タイムアウト検出手段としている。
【０１８８】
そして、第１非常停止制御ＣＰＵ２２０及び第２非常停止制御ＣＰＵ２３０がタイムアウトを検出した際に、第１非常停止制御回路２６０，第２非常停止制御回路２７０にＯＦＦの制御信号（すなわち、非常停止信号）を出力するようにした。この結果、本実施形態では、タイムアウトが検出されることにより、通信の信頼性を高めることができる。
【０１８９】
（８）  本実施形態では、ティーチペンダント１００の電源電圧監視・ウオッチドッグ回路１６０は第１電源電圧監視手段として、モニタ手段である第１ＣＰＵ１２０及び第２ＣＰＵ１３０の電源電圧の異常を検出し、異常を検出した際には該モニタ手段にリセットを掛けるようにした。そして、第１ＣＰＵ１２０及び第２ＣＰＵ１３０は、リセットが掛けられた際には、通信データを作成せず、第１通信手段は通信データを送信しないようにした。この結果、制御部２００の第１非常停止制御ＣＰＵ２２０、第２非常停止制御ＣＰＵ２３０がティーチペンダント１００からの通信データ入力のタイムアウトを検出して、第１非常停止制御回路２６０、第２非常停止制御回路２７０にＯＦＦの制御信号を出力するため、通信の信頼性を高めることができる。
【０１９０】
（９）  本実施形態では、ティーチペンダント１００において、第１ＣＰＵ１２０及び第２ＣＰＵ１３０に異常があると、無線送受信回路１５０（第１通信手段）から通信データが送信されない。このため、制御部２００の第１非常停止制御ＣＰＵ２２０、第２非常停止制御ＣＰＵ２３０（第２タイムアウト検出手段）がティーチペンダント１００からの通信データ入力のタイムアウトを検出して、第１非常停止制御回路２６０、第２非常停止制御回路２７０（遮断制御手段）にＯＦＦの制御信号（すなわち、非常停止信号）を出力する。この結果、通信の信頼性を高めることができる。
【０１９１】
（１０）  本実施形態では、制御部２００において、第１非常停止制御ＣＰＵ２２０及び第２非常停止制御ＣＰＵ２３０（通信データ解析手段）の異常があると電源電圧監視・ウオッチドッグ回路２９０（第２ウオッチドッグ手段）が第１非常停止制御ＣＰＵ２２０及び第２非常停止制御ＣＰＵ２３０にリセットを掛ける。このため、第１非常停止制御ＣＰＵ２２０及び第２非常停止制御ＣＰＵ２３０は第１非常停止制御回路２６０，第２非常停止制御回路２７０にＯＦＦの制御信号（すなわち、非常停止信号）を出力するとができる。この結果、制御部内の通信の信頼性を高めることができる。
【０１９２】
（１１）  本実施形態では、制御部２００は、受信した通信データに基づいて応答データパケット（すなわち、返信用の通信データ）を生成する第２非常停止制御ＣＰＵ２３０（すなわち、返信用の通信データ生成手段）を備える。又、ティーチペンダント１００は、無線送受信回路２１０（第２通信手段）及び無線送受信回路１５０（第１通信手段）を介して受信された応答データパケットと既に送信された「非常停止データパケット」（通信データ）とが一致しているか否かを照合する第１ＣＰＵ１２０及び第２ＣＰＵ１３０（照合手段）を備える。この結果、本実施形態によれば、第１ＣＰＵ１２０及び第２ＣＰＵ１３０の照合結果により、既に送信した「非常停止データパケット」（通信データ）とが一致して正しく受信されたか否かを確認することができ、その結果を利用することができる。
【０１９３】
（１２）  本実施形態では、第２非常停止制御ＣＰＵ２３０（すなわち、返信用の通信データ生成手段）は、受信された通信データの一部をビット反転して応答データパケット（返信用の通信データ）を生成した。そして、第１ＣＰＵ１２０及び第２ＣＰＵ１３０（照合手段）は、応答データパケット（返信用の通信データ）の一部をビット反転して、該応答データパケットと既に送信された「非常停止データパケット」とが一致しているか否かを照合するようにした。
【０１９４】
この結果、本実施形態では、ビット反転が正しく行われているか否かが確認でき、この結果、ビット反転を行う制御部２００の第２非常停止制御ＣＰＵ２３０や、第１ＣＰＵ１２０，第２ＣＰＵ１３０を構成しているＣＰＵやＲＡＭが正しく機能しているか否かが確認できる。
【０１９５】
（１３）  本実施形態では、制御部２００は、第１電磁接触器２４０及び第２電磁接触器２５０（遮断手段）の作動を監視する第１非常停止制御回路２６０及び第２非常停止制御回路２７０（監視手段）を備える。又、第１、第２非常停止制御回路（遮断制御手段）は、第１、第２非常停止制御ＣＰＵ（監視手段）の監視結果に基づいて第１、第２電磁接触器（遮断手段）に異常があった場合には、異常状態が解消されるまでロボットのモータＭ４１０（すなわち、駆動源）への電力の投入を禁止するようにした。この結果、本実施形態では、第１電磁接触器２４０及び第２電磁接触器２５０の作動を監視することにより、第１電磁接触器２４０及び第２電磁接触器２５０の接点に故障が発生した場合、その故障が検出されて、異常状態が解消されるまで、ロボットのモータＭ４１０の電力の投入が禁止されるため、故障の蓄積が防止できる。
【０１９６】
（１４）  本実施形態においても、送信番号データ、誤り検出データ、宛先データ及び送信元データを用いることにより、第１実施形態で説明した表１に示す通信異常を検出できる。又、これ以外に、第２実施形態では、タイムアウトを検出しているため、表２に示す通信異常を検出できる。
【０１９７】
【表２】
2008009872.tif 000004
なお、本発明の実施形態は以下のように変更してもよい。
【０１９８】
○  前記各実施形態では、機械制御装置としてティーチペンダントを備えたロボット制御装置に具体化したが、非常停止スイッチを有する可搬式操作部を備えた工作機械の制御装置や、非常停止スイッチを有する可搬式操作部を備えた各種産業機械に具体化してもよい。
【０１９９】
○前記「非常停止データパケット」、「応答データパケット」の各種のデータ並び順は前記実施形態に示した順序に限定されるものではなく、入れ替わっても問題はない。
○前記非常停止データバケット及び応答データパケットの第１ＣＰＵエラーフラグ及び第２ＣＰＵエラーフラグは、それぞれ、第１ＣＰＵデータ、第２ＣＰＵデータに含んでいてもよい。
【０２００】
○  前記「非常停止データパケット」、応答データパケットの宛先データ、送信元データのユニークに決めるアドレスについて、第２ＣＰＵ１３０や第２非常停止制御ＣＰＵ２３０の素子に固定的に定められたＭＡＣアドレス（Media Access Control address）を使用することにより、確実に識別することが可能となる。
【０２０１】
○  第２実施形態の制御部２００側の構成において、電源電圧監視・ウオッチドッグ回路２９０のリセット出力を、リセット時に、第１非常停止制御ＣＰＵ２２０及び第２非常停止制御ＣＰＵ２３０を経由せず、第１非常停止制御回路２６０及び第２非常停止制御回路２７０に直接入力するようにしてもよい。この場合、第１電磁接触器２４０及び第２電磁接触器２５０へのＯＦＦ出力条件とすることにより、より確実に、主電源の遮断を行うことができる。
【０２０２】
○  前記各実施形態では、非常停止スイッチ１１、１１０の入力だけを説明しているが、この構成に限定されるものではない。例えば、この非常停止スイッチと同様な回路構成で、例えば３ポジションのイネーブルスイッチや、ティーチペンダントの操作を有効にするティーチペンダントイネーブルスイッチや、ロボット制御装置の再生モードと教示モードを切り替える動作モードスイッチを切り替える動作モードスイッチの信号を送信することも可能である。
【０２０３】
図１２は、第２実施形態の構成に、３ポジションのイネーブルスイッチ５１０を設けたものである。この変形例では、イネーブルスイッチ５１０は、ポジションＩとIIIは、スイッチが開であり、ポジションIIはスイッチが閉である。そして、ポジションＩからIIIへ移行する間に、ポジションIIが位置するようにされている。ただし、一旦ポジションIIIに移行した場合は、ポジションＩに戻るまでスイッチが開の状態を保持する。イネーブルスイッチ５１０は、２つの接点５１０ａ，５１０ｂを備えており、一方の接点５１０ａは、接点１１０ａを含む回路と並列に接続され、他方の接点５１０ｂは、接点１１０ｂを含む回路と並列に接続されている。そして、接点５１０ａ，５１０ｂの開閉状態は、それぞれ第１ＣＰＵ１２０、第２ＣＰＵ１３０に検出される。このように構成しても、このイネーブルスイッチ５１０の開閉状態を、非常停止スイッチ１１０のときと同様に扱うことにより、イネーブルスイッチのための操作が行われたか否かを検出できる。
【０２０４】
○  第２実施形態では、各ＣＰＵとＲＯＭ、ＲＡＭを分離して記載しているが、ＲＯＭを内蔵するＣＰＵ、ＲＡＭを内蔵するＣＰＵ、ＲＯＭ，ＲＡＭの両方を内蔵するＣＰＵを使用することも当然ながら可能である。
【０２０５】
○  第２実施形態では、ティーチペンダント１００側も、制御部２００側も各ＣＰＵと送受信制御回路１４０、２１５を分離して記載しているが、送受信制御回路を内蔵したＣＰＵを使用することも当然ながら可能である。
【０２０６】
○  前記実施形態では各ＣＰＵが異常を検出した際には、即時、ＯＦＦの制御信号を出力するようにし、各電磁接触器を遮断するようにしていたが、この構成に限定されるものではない。例えば、「非常停止データパケット」の送信間隔が、異常を検出してから、停止するまでの時間と比較して十分短い場合には、誤り検出データの異常、送信番号データの更新の異常、フィードバックしたデータ（応答データ）のチェックについては、１回の異常検出で遮断するのではなく、何回か連続で異常となった場合に初めて異常と判断してもよい。このことにより、無線データ通信にノイズ、他の無線機器からの影響があった場合などにも安定して通信を継続できるシステムを構成することができる。
【０２０７】
○  前記第２実施形態では，ＣＰＵとカレンダＩＣを分離して記載しているが、カレンダ機能を内蔵するＣＰＵを使用することも可能である。
○  前記第２実施形態では、タイムアウトのカウントにカレンダ機能を使用しているが、ＣＰＵに内蔵されたタイマ機能を利用して時間を計測しタイム了ウトを検出することも可能である。
【０２０８】
○  前記第２実施形態では、通信データの一部をビット反転を行ったが、ビット反転に限定されるものではなく、定数を乗算して、元のデータに戻す場合は、同じ定数で除算したりする等、所定のアルゴリズムで演算し、逆のアルゴリズムで元に戻す等の他の方法であってもよい。
【０２０９】
○  前記各実施形態において、２重化した構成をさらに、３重化以上に構成してもよいことは勿論である。
○  前記各実施形態では、可搬式操作部と制御部間を無線通信で通信を行うようにしたが、無線方式に限らず、赤外線通信、光通信、或いは磁気通信で行うようにしてもよい。
【０２１０】
○  前記無線通信データパケットは非常停止データパケットに無線通信のためのヘッダデータを付加したものであるが、このデータに無線LAN規格IEEE802.11bやIEEE802.11aで使用されるＷＥＰの暗号化処理を加えることによって、通信の信頼性をさらに高めることも可能である。
【図面の簡単な説明】
【０２１１】
【図１】本発明の第１実施形態のロボット制御装置の制御部とティーチペンダントのブロック回路図。
【図２】同じく非常停止データパケットの説明図。
【図３】第２実施形態のロボット制御装置のティーチペンダントのブロック回路図。
【図４】同じくロボット制御装置の制御部のブロック回路図
【図５】同じく非常停止データパケットの説明図。
【図６】同じく無線送信データパケットの説明図。
【図７】同じく応答データパケットの説明図。
【図８】同じく無線応答データパケットの説明図。
【図９】第１ＣＰＵエラーフラグデータ及び第２ＣＰＵエラーフラグデータの説明図。
【図１０】データ処理のフローチャート（第１ＣＰＵ及び第２ＣＰＵ）。
【図１１】データ処理のフローチャート（第１非常停止制御ＣＰＵ及び第２非常停止制御ＣＰＵ）。
【図１２】第２実施形態の変形例のロボット制御装置のティーチペンダントのブロック回路図。
【符号の説明】
【０２１２】
１０…ティーチペンダント（可搬式操作部）、１１…非常停止スイッチ（非常停止操作手段）、１２…第１ＣＰＵ（モニタ手段）、１３…第２ＣＰＵ（モニタ手段）、１４…送信回路（第１通信手段）、１５…電源電圧監視回路（第１電源電圧監視手段）、２０…制御部、２１…受信回路（第２通信手段）、２４…第１電磁接触器（遮断手段）、２５…第２電磁接触器（遮断手段）２６…第１電磁接触器制御回路（遮断制御手段）、２７…第２電磁接触器制御回路（遮断制御手段）、２２…第３ＣＰＵ（通信データ解析手段）、２３…第４ＣＰＵ（通信データ解析手段）２９…電源電圧監視回路（第２電源電圧監視手段）、３０…ロボット制御装置、１００…ティーチペンダント（可搬式操作部）、１１０…非常停止スイッチ（非常停止操作手段）、１２０…第１ＣＰＵ（モニタ手段、第１タイムアウト検出手段、照合手段）、１３０…第２ＣＰＵ（モニタ手段、照合手段）、１５０…無線送受信回路（第１通信手段）、１６０…電源電圧監視・ウオッチドッグ回路（第１電源電圧監視手段、第１ウオッチドッグ手段）、２００…制御部、２１０…無線送受信回路（第２通信手段）、２２０…第１非常停止制御ＣＰＵ（通信データ解析手段、第２タイムアウト検出手段、監視手段）、２３０…第２非常停止制御ＣＰＵ（通信データ解析手段、第２タイムアウト検出手段、返信用の通信データ生成手段、監視手段）、２４０…第１電磁接触器（遮断手段），２５０…第２電磁接触器（遮断手段）、２６０…第１非常停止制御回路（遮断制御手段）、２７０…第２非常停止制御回路（遮断制御手段）、２９０…電源電圧監視・ウオッチドッグ回路（第２電源電圧監視手段、第２ウオッチドッグ手段）、３００…ロボット制御装置。
【図１】
2008009872.tif 000005
【図２】
2008009872.tif 000006
【図３】
2008009872.tif 000007
【図４】
2008009872.tif 000008
【図５】
2008009872.tif 000009
【図６】
2008009872.tif 000010
【図７】
2008009872.tif 000011
【図８】
2008009872.tif 000012
【図９】
2008009872.tif 000013
【図１０】
2008009872.tif 000014
【図１１】
2008009872.tif 000015
【図１２】
2008009872.tif 000016