(57)【特許請求の範囲】
【請求項１】
２以上の互いに異なる通信速度［ｂｐｓ］を切り替えて通信されるエンコーダ信号をサンプリングして多重化し多重化データとして送信する送信側多重通信装置と、
前記送信側多重通信装置から受信した前記多重化データの多重化を解除して前記エンコーダ信号を分離する受信側多重通信装置と、を備え、
前記送信側多重通信装置は、前記エンコーダ信号を多重化する際に、同一周波数［Ｈｚ］の値をサンプリング周波数として用いて、２以上の異なる通信速度で通信される前記エンコーダ信号の少なくとも一つを前記サンプリング周波数でサンプリングし、前記サンプリング周波数［Ｈｚ］の値として、２以上の互いに異なる通信速度［ｂｐｓ］の値の公倍数の値を用いる、多重通信システム。
【請求項２】
前記送信側多重通信装置は、前記エンコーダ信号の通信速度が切り替えられる場合に、前記サンプリング周波数の値が、切り替えの前後における２以上の互いに異なる通信速度の値の公倍数の値である場合、前記サンプリング周波数を変更せずに維持し、
前記受信側多重通信装置は、前記エンコーダ信号の通信速度が切り替えられる場合に、前記サンプリング周波数の値が、切り替えの前後における２以上の互いに異なる通信速度の値の公倍数の値である場合、切り替え前の通信速度を第１速度、切り替え後の通信速度を第２速度とした場合、前記多重化データから分離した前記エンコーダ信号の１データを出力する時間である出力継続時間であって切り替え前の前記出力継続時間である第１出力継続時間として前記第１速度の逆数の値を用い、切り替え後の前記出力継続時間である第２出力継続時間として前記第２速度の逆数の値を用いる、請求項１に記載の多重通信システム。
【請求項３】
前記エンコーダ信号を一定時間だけ入力できない異常を検出するためのタイムアウト時間、及び前記エンコーダ信号の誤りを検出するための誤り検出処理のうち、少なくとも一方を前記エンコーダ信号の通信速度の変更に応じて変更する、請求項１又は請求項２に記載の多重通信システム。
【請求項４】
前記エンコーダ信号の立ち上がりエッジ及び立ち下がりエッジのうち、少なくとも一方のエッジの周期に基づいて、前記エンコーダ信号の通信速度を検出し、前記タイムアウト時間及び前記誤り検出処理のうち、少なくとも一方を、検出した前記エンコーダ信号の通信速度に応じて変更する、請求項３に記載の多重通信システム。
【請求項５】
前記送信側多重通信装置及び前記受信側多重通信装置の各々は、前記少なくとも一方のエッジの周期に基づいて、前記タイムアウト時間及び前記誤り検出処理のうち、少なくとも一方を変更する処理を、互いに独立して実行する、請求項４に記載の多重通信システム。
【請求項６】
可動部によりワークを保持して作業を実施する作業用ロボットであって、
前記作業に拘わるデータの伝送を請求項１乃至請求項５の何れかに記載の多重通信システムにより伝送する、作業用ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多重通信システム及びその多重通信システムにより作業に拘わるデータを伝送する作業用ロボットに関するものである。
【背景技術】
【０００２】
従来、電子部品実装装置などの作業用ロボットは、例えば、電子部品を吸着する吸着ノズルの位置や向き等を変更する駆動源として電磁モータを装着ヘッド（可動部）に内蔵している。また、作業用ロボットは、電磁モータの変位等を検出するエンコーダから出力されるエンコーダ信号に基づいて電磁モータを駆動制御するアンプ部を装置本体側に設けている。例えば、特許文献１に開示される作業用ロボットは、多重通信装置を可動部に備える。多重通信装置は、可動部のロータリエンコーダから出力されるエンコーダ信号を多重化データに多重化して送受信する。多重通信装置は、多重化データのビット位置であって、複数のロータリエンコーダの各々に対応するビット位置にエンコーダ信号をビット割り当てする。この構成では、エンコーダ信号は、決められた任意のビット位置で送信される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第ＷＯ２０１５／０５２７９０号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、作業用ロボットにおける可動部（例えば、装着ヘッド）は、使用目的などに応じて種類を変更される。可動部を変更すると、可動部に内蔵されるエンコーダの種類は、変更される虞がある。そして、エンコーダ信号の通信速度は、エンコーダの種類に応じて変更される。また、エンコーダの種類を変更せずとも、一台のエンコーダが、エンコーダ信号の通信速度を通信途中で切り替える可能性がある。このような場合、多重通信システムは、エンコーダ信号の通信速度が切り替えられたとしても、エンコーダ信号を適切に多重化することが望まれる。【０００５】
本発明は、上記の課題に鑑みてなされたものであり、異なる通信速度のエンコーダ信号を多重化できる多重通信システム及び作業用ロボットを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本明細書は、２以上の互いに異なる通信速度［ｂｐｓ］を切り替えて通信されるエンコーダ信号をサンプリングして多重化し多重化データとして送信する送信側多重通信装置と、前記送信側多重通信装置から受信した前記多重化データの多重化を解除して前記エンコーダ信号を分離する受信側多重通信装置と、を備え、前記送信側多重通信装置は、前記エンコーダ信号を多重化する際に、同一周波数［Ｈｚ］の値をサンプリング周波数として用いて、２以上の異なる通信速度で通信される前記エンコーダ信号の少なくとも一つを前記サンプリング周波数でサンプリングし、前記サンプリング周波数［Ｈｚ］の値として、２以上の互いに異なる通信速度［ｂｐｓ］の値の公倍数の値を用いる、多重通信システムを開示する。
【０００８】
なお、本明細書は、多重通信システムだけでなく、多重通信システムを備える作業用ロボットを開示する。
【発明の効果】
【０００９】
本開示の多重通信システム等によれば、異なる通信速度のエンコーダ信号を多重化できる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態の作業用ロボットを説明するためのブロック図である。
【図２】多重通信装置の送信部分を示すブロック図である。
【図３】多重通信装置の受信部分を示すブロック図である。
【図４】多重通信システムにおいて伝送されるフレームデータのデータ構成を示す図である。
【図５】作業用ロボットの状態フロー図である。
【図６】同期通信方式の場合のサンプリング周期等を説明するための図である。
【図７】同期通信方式の場合のエンコーダ信号のサンプリングを示す図である。
【図８】同期通信方式の場合のエンコーダ信号のサンプリングを示す図である。
【図９】非同期通信方式の場合のサンプリング周期等を説明するための図である。
【図１０】非同期通信方式の場合のエンコーダ信号のサンプリングを示す図である。
【図１１】非同期通信方式の場合のエンコーダ信号のサンプリングを示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図を参照して説明する。初めに、本願の多重通信システムを適用する装置の一例として作業用ロボットについて説明する。
【００１２】
（作業用ロボット１０の構成）
図１は、作業用ロボット１０に適用される多重通信システムの構成を示す模式図である。図１に示すように、作業用ロボット１０は、作業用ロボット１０を設置する場所に固定的に設ける装置本体２０と、装置本体２０に対して相対的に移動する可動部３０とを備える。装置本体２０は、コントローラ２１と、Ｙ軸リニア用サーボアンプ２２と、Ｘ軸リニア用サーボアンプ２３と、３軸ロータリ用サーボアンプ２４，２５とを備える。可動部３０は、Ｙ軸用リニアモータ３１と、Ｘ軸用リニアモータ３２と、６つのロータリ型サーボモータ３３，３４，３５，３６，３７，３８とを備える。
【００１３】
可動部３０は、例えば、ロボットアームであり、各モータ３１〜３８の駆動に応じてＸ軸、Ｙ軸及びＺ軸の各方向への自由度を有して変位駆動される。作業用ロボット１０は、コントローラ２１の制御に基づいて、例えば、生産ラインを搬送される対象物に可動部３０（ロボットアーム）に保持されたワークの取り付けなどの作業を実行する。コントローラ２１は、ＣＰＵ、ＲＡＭ等を備えたコンピュータを主体として構成されている。コントローラ２１は、フィールドネットワーク用ケーブル４１により各アンプ２２〜２５のスレーブ回路（図示略）と接続されている。ここでいうフィールドネットワーク（制御用ネットワーク）とは、例えば、ＭＥＣＨＡＴＲＯＬＩＮＫ（登録商標）−ＩＩＩであり、コントローラ２１がマスターとなり、スレーブ回路に接続されたアンプ２２〜２５とのデータの送受信を行うネットワークを構築し、配線の統合（削減）等を実現してネットワーク構築のコスト低減を図るものである。
【００１４】
アンプ２２〜２５の各々は、エンコーダ用ケーブル４２により多重通信装置２９に接続されている。装置本体２０に設けられた多重通信装置２９は、可動部３０に設けられた多重通信装置３９と多重通信用ケーブル１１で接続されている。多重通信用ケーブル１１は、例えばGigabit Etherenet（登録商標）の通信規格に準拠したＬＡＮケーブルやＵＳＢ（Ｕｎｉｖｅｒｓａｌ Ｓｅｒｉａｌ Ｂｕｓ）３．０の通信規格に準拠したＵＳＢケーブルである。作業用ロボット１０は、可動部３０に設けられた各モータ３３〜３８のエンコーダ信号を多重通信装置３９によりフレームデータＦＲＭＤ（多重化データの一例）に多重化し、多重通信用ケーブル１１を介して多重通信装置２９に送信する。多重通信装置２９は、受信したフレームデータＦＲＭＤの多重化を解除し、各モータ３３〜３８に対応するエンコーダ信号を分離する。多重通信装置２９は、分離した個々のエンコーダ信号を対応するアンプ２２〜２５に送信する。
【００１５】
コントローラ２１は、アンプ２２〜２５を介して可動部３０の各モータ３１〜３８を制御する。Ｙ軸リニア用サーボアンプ２２は、可動部３０のＹ軸用リニアモータ３１を制御する。可動部３０には、Ｙ軸用リニアモータ３１の駆動に応じてＹ軸方向に沿ったガイドレール上を移動する可動部３０（ロボットアーム）の位置を検出するリニアスケール５１が設けられている。リニアスケール５１は、例えば、Ｙ軸リニア用サーボアンプ２２から受信した問い合わせ情報（エンコーダ信号）に応じて、可動部３０のＹ軸方向の位置（Ｙ座標値）等のエンコーダ信号を通信プロトコル変換器５２に出力する。通信プロトコル変換器５２は、多重通信装置３９とエンコーダ用ケーブル６１で接続されている。通信プロトコル変換器５２は、多重通信装置２９，３９を介してリニアスケール５１のエンコーダ信号をＹ軸リニア用サーボアンプ２２に送信する。Ｙ軸リニア用サーボアンプ２２は、通信プロトコル変換器５２から受信したエンコーダ信号を、フィールドネットワーク用ケーブル４１を介してコントローラ２１に転送する。
【００１６】
コントローラ２１は、リニアスケール５１のエンコーダ信号に基づいて、Ｙ軸用リニアモータ３１の回転位置等（可動部３０のＹ軸方向の位置）を決定し、決定した制御内容をＹ軸リニア用サーボアンプ２２に通知する。Ｙ軸リニア用サーボアンプ２２は、例えば、Ｙ軸用リニアモータ３１と図示しない電源線で接続されており、Ｙ軸用リニアモータ３１に供給する電力を制御可能となっている。Ｙ軸リニア用サーボアンプ２２は、コントローラ２１から受信した制御内容に基づいてＹ軸用リニアモータ３１に供給する電力を制御し、Ｙ軸用リニアモータ３１を制御する。可動部３０は、Ｙ軸用リニアモータ３１の駆動に応じて例えば、ロボットアームがＹ軸方向に駆動する。
【００１７】
同様に、Ｘ軸リニア用サーボアンプ２３は、可動部３０のＸ軸用リニアモータ３２を制御する。可動部３０には、Ｘ軸用リニアモータ３２の駆動に応じてＸ軸方向に沿ったガイドレール上を移動する可動部３０の位置を検出するリニアスケール５３が設けられている。リニアスケール５３のエンコーダ信号は、通信プロトコル変換器５４、エンコーダ用ケーブル６１を介して多重通信装置３９に出力される。コントローラ２１は、リニアスケール５３のエンコーダ信号に基づいてＸ軸リニア用サーボアンプ２３を介してＸ軸用リニアモータ３２を制御する。
【００１８】
また、本実施形態のリニアスケール５１は、例えば、アンプ２２が対応する通信プロトコルと異なる通信プロトコルで通信を行う。通信プロトコル変換器５２は、リニアスケール５１の入出力データを、アンプ２２が処理可能な入出力データに変換し送受信を行う。同様に、通信プロトコル変換器５４は、リニアスケール５３の入出力データを、アンプ２３が処理可能な入出力データに変換し送受信を行う。なお、リニアスケール５１とアンプ２２とは、同一の通信規格に対応した装置でもよい。
【００１９】
ロータリ型サーボモータ３３〜３５（以下、「サーボモータ」という場合がある）は、例えば、各モータに対応する３つの出力軸を有しており、ワークを保持するロボットアームのハンドをＸ軸、Ｙ軸、Ｚ軸の各方向に駆動させる。同様に、サーボモータ３６〜３８は、例えば、各モータに対応する３つの出力軸を有しており、ロボットアームのハンドを回転等させる。サーボモータ３６〜３８は、サーボモータ３３〜３５と同様の構成であるため、その説明を適宜省略する。
【００２０】
サーボモータ３３〜３５の各々に設けられたロータリエンコーダ５５は、各サーボモータ３３〜３５の回転位置などのエンコーダ信号を、エンコーダ用ケーブル６１を介して多重通信装置３９に出力する。３軸ロータリ用サーボアンプ（以下、「サーボアンプ」という場合がある）２４は、多重通信装置２９，３９を介して転送されたエンコーダ信号に基づいて、サーボモータ３３〜３５の各々を制御する。例えば、サーボモータ３３は、Ｕ相，Ｖ相，Ｗ相の各相のコイルを有する三相交流で駆動するサーボモータである。サーボモータ３３の各相のコイルは、図示しない電源線を介してサーボアンプ２４に接続されている。サーボモータ３３は、サーボアンプ２４から電源線を通じて供給される三相交流に応じて駆動する。
【００２１】
同様に、他のサーボモータ３４，３５の各々は、サーボアンプ２４から電源線を通じて供給される三相交流に応じて駆動する。なお、サーボモータ３６〜３８の各々に設けられたロータリエンコーダ５７は、各サーボモータ３６〜３８のエンコーダ信号を、エンコーダ用ケーブル６１を介して多重通信装置３９に出力する。サーボアンプ２５は、多重通信装置２９，３９を介して転送されたエンコーダ信号に基づいて、サーボモータ３６〜３８の各々を制御する。
【００２２】
次に、多重通信システムで伝送されるエンコーダ信号に対する処理について説明する。なお、以下の説明では、多重通信装置３９を送信側、多重通信装置２９を受信側とした場合を主に説明する。また、８つのモータ３１〜３８に対応するリニアスケール５１，５３及びロータリエンコーダ５５，５７の各々のエンコーダ信号を、エンコーダ信号ＥＮＣＤ１〜ＥＮＣＤ８と称して説明する。また、本願におけるエンコーダ信号とは、例えば、リニアスケール５１，５３やロータリエンコーダ５５，５７からＹ軸リニア用サーボアンプ２２等に送信される位置情報、及び各アンプ２２，２３，２４，２５からリニアスケール５１等に対して送信される制御コマンド（初期設定情報や、回転位置を取得する問い合わせ情報など）の両方を含んでいる。
【００２３】
図２は多重通信装置３９の送信部分を示すブロック図である。また、図３は多重通信装置２９の受信部分を示すブロック図である。図２に示す多重通信装置３９の送信データ合成処理部２０１は、各装置から出力されるエンコーダ信号ＥＮＣＤ１〜ＥＮＣＤ８に対し誤り訂正符号の付加処理を行う。
【００２４】
（送信データ合成処理部２０１の構成）
リニアスケール５１から通信プロトコル変換器５２（図１参照）を介して出力されたエンコーダ信号ＥＮＣＤ１は、データ取込部２０３に一時的に取り込まれ、ＦＥＣ付与部２１１によりハミング符号の前方誤り訂正符号ＦＥＣ（７，４）が付与される。データ取込部２０３は、リニアスケール５１（通信プロトコル変換器５２）からエンコーダ信号ＥＮＣＤ１を、所定の通信規格に準拠した通信で取り込む。
【００２５】
フレーム分割部２２１は、ＦＥＣ付与部２１１によってＦＥＣを付与されたエンコーダ信号ＥＮＣＤ１を、フレームデータＦＲＭＤの通信速度、送信サイクル、データ長等に応じて分割する。フレーム分割部２２１は、分割したエンコーダ信号ＥＮＣＤ１を、多重化部２１９（図２中の「ＭＵＸ」）に出力する。計数部２３４は、多重化部２１９によってフレームデータＦＲＭＤを送信した回数を計数する。フレーム分割部２２１は、計数部２３４から出力される計数値に応じて次のデータをＦＥＣ付与部２１１から読み出す処理を行う。なお、ＦＥＣ付与部２１１は、エンコーダ信号ＥＮＣＤ１の入力に応じてデータの有無を示す情報（図４参照）を付加した上でハミング符号の前方誤り訂正符号ＦＥＣ（７，４）を付与する。また、他の装置（リニアスケール５３、ロータリエンコーダ５５，５７）から出力されるエンコーダ信号ＥＮＣＤ２〜ＥＮＣＤ８の処理については、エンコーダ信号ＥＮＣＤ１と同様であるため、説明を省略する。
【００２６】
送信データ合成処理部２０１の多重化部２１９は、入力されたエンコーダ信号ＥＮＣＤ１〜ＥＮＣＤ８を、例えば、入力ポートに対して割り当てた一定時間（タイムスロット）に応じて多重化する。多重化部２１９により多重化されたデータは、例えば、Gigabit Etherenet（登録商標）の通信規格に準拠した外部端子２４２（図２中の「ＧｉｇＥ用ＰＨＹ−ＩＣ」）を介してフレームデータＦＲＭＤとして多重通信用ケーブル１１に送出される。
【００２７】
（受信データ分離処理部３０１の構成）
図３に示す多重通信装置２９は、多重通信用ケーブル１１を通じてフレームデータＦＲＭＤを外部端子３４２（図３中の「ＧｉｇＥ用ＰＨＹ−ＩＣ」）に受信する。多重通信装置２９の受信データ分離処理部３０１は、非多重化部３１９（図３中の「ＤＥＭＵＸ」）を備える。非多重化部３１９は、フレームデータＦＲＭＤから各エンコーダ信号ＥＮＣＤ１〜ＥＮＣＤ８を分離する。受信データ分離処理部３０１は、分離した各エンコーダ信号ＥＮＣＤ１〜ＥＮＣＤ８に対して誤り検出・訂正処理を行う。
【００２８】
非多重化部３１９は、分離したエンコーダ信号ＥＮＣＤ１をフレーム合成部３１１に出力する。フレーム合成部３１１は、複数のフレームデータＦＲＭＤに分割されたデータからエンコーダ信号ＥＮＣＤ１を合成する。計数部３３２は、非多重化部３１９によってフレームデータＦＲＭＤを受信した回数を計数する。フレーム合成部３１１は、計数部３３２から出力される計数値に応じてエンコーダ信号ＥＮＣＤ１を合成し、合成したエンコーダ信号ＥＮＣＤ１を復号訂正処理部３１２に出力する。復号訂正処理部３１２は、合成されたエンコーダ信号ＥＮＣＤ１に対しハミング符号の前方誤り訂正符号（ＦＥＣ）に応じて誤り検出を実行し、誤りの検出に応じてデータの訂正を実行する。
【００２９】
復号訂正処理部３１２は、必要に応じて訂正等したエンコーダ信号ＥＮＣＤ１をデータ出力部３０３に出力する。データ出力部３０３は、入力したエンコーダ信号ＥＮＣＤ１を一時的に蓄積しＹ軸リニア用サーボアンプ２２に送信する。なお、上記説明では、主にエンコーダ信号ＥＮＣＤ１について説明した。他のエンコーダ信号ＥＮＣＤ２〜ＥＮＣＤ８の処理については、エンコーダ信号ＥＮＣＤ１と同様であるため、その説明を省略する。また、図２に示す多重通信装置３９が備える受信データ分離処理部２０２の構成及び動作については、上記した多重通信装置２９の受信データ分離処理部３０１と同様であるため、その説明を省略する。同様に、図３に示す多重通信装置２９が備える送信データ合成処理部３０２の構成及び動作については、図２に示す多重通信装置３９の送信データ合成処理部２０１と同様であるため、その説明を省略する。
【００３０】
図４は、本願の多重化データの一例であるフレームデータＦＲＭＤのデータ構造を示している。フレームデータＦＲＭＤは、例えば１フレームが８ビットで構成されている。例えば１フレーム当りの周期を８ｎｓｅｃ（周波数が１２５ＭＨｚ）に設定した場合、多重通信装置２９，３９は、１Ｇｂｐｓ（８ビット×１２５ＭＨｚ）の通信回線を構築する。この通信回線は、例えば半２重通信である。
【００３１】
図４は、フレームデータＦＲＭＤを送信する１クロック（例えば８ｎｓｅｃ）ごとに送信されるデータを示している。フレームデータＦＲＭＤは、２０クロックを１サイクル（１周期）として、半周期ごとに送受信が切り替えられる。図４は半周期（１／２サイクル）の０〜１０クロックを示している。従って、図４に示す例では、多重通信装置２９，３９は、１０クロック目で互いに同期を取って送受信を切り替える。
【００３２】
フレームデータＦＲＭＤは、１／２サイクル（１０クロック）のうち、エンコーダ信号ＥＮＣＤ１〜ＥＮＣＤ８を送信する前の３クロック（図４中のクロック０〜２）において、ヘッダ情報などの制御情報を設定されている。また、フレームデータＦＲＭＤは、１／２サイクル（１０クロック）のうち、７クロック（図４中のクロック３〜９）にエンコーダ信号ＥＮＣＤ１〜ＥＮＣＤ８に係るデータを設定されている。フレームデータＦＲＭＤの先頭ビット（ビット位置０）〜ビット位置７までの各ビットが、この順にエンコーダ信号ＥＮＣＤ１〜ＥＮＣＤ８に対応している。
【００３３】
フレームデータＦＲＭＤのクロック３，５における各ビット位置には、エンコーダ信号ＥＮＣＤ１〜ＥＮＣＤ８（図中の「Ｅ１Ｄ〜Ｅ８Ｄ」）がビット割り当てされている。また、フレームデータＦＲＭＤのクロック４，６における各ビット位置には、エンコーダ信号ＥＮＣＤ１〜ＥＮＣＤ８のデータの有無を示す情報（図中の「Ｅ１Ｄ有〜Ｅ８Ｄ有」）がビット割り当てされている。このデータの有無を示す情報は、例えば、フレームデータＦＲＭＤのデータ転送レートに比べてエンコーダ信号ＥＮＣＤ１〜ＥＮＣＤ８のデータ転送レートが低速である場合に、低速なエンコーダ信号ＥＮＣＤ１〜ＥＮＣＤ８が各ビット位置０〜７に設定されているか否かを示すための情報である。エンコーダ信号ＥＮＣＤ１〜ＥＮＣＤ８とエンコーダ信号ＥＮＣＤ１〜ＥＮＣＤ８の有無を示す情報とは、サイクルごとに交互に設定されている。
【００３４】
また、フレームデータＦＲＭＤのクロック７〜９におけるビット位置には、訂正符号ＦＥＣ（７，４）として付加される３ビットの符号ビットが設定されている。エンコーダ信号ＥＮＣＤ１〜ＥＮＣＤ８は、図２に示すフレーム分割部２２１によって、フレームデータＦＲＭＤにビット割り当てされたビット幅に応じて分割され、分割後に多重化部２１９に送信される。
【００３５】
そして、多重通信装置２９，３９は、３クロック続けて訂正符号ＦＥＣ（７，４）を設定したフレームデータＦＲＭＤを送信した後、１０クロックで互いに同期を取って送受信を切り替える。なお、図４に示すフレームデータＦＲＭＤの構成は一例であり、適宜変更される。例えば、図４に示すフレームデータＦＲＭＤの構成は、リニアスケール５１，５３及びロータリエンコーダ５５，５７を、位置情報などのデータをシリアル信号で伝送する方式（シリアル伝送方式）のエンコーダとして構成した場合について例示している。しかしながら、フレームデータＦＲＭＤの構成は、シリアル伝送方式以外の方式のエンコーダを用いた場合には各ビット位置のデータを適宜変更してもよい。
【００３６】
（作業用ロボット１０の動作について）
次に、本実施形態の作業用ロボット１０の動作、特にアンプ（Ｙ軸リニア用サーボアンプ２２など）、エンコーダ（リニアスケール５１など）、及び多重通信装置２９，３９の動作について説明する。図５は、作業用ロボット１０の状態フローを示している。
【００３７】
なお、以下の説明では、複数のエンコーダ信号ＥＮＣＤ１〜ＥＮＣＤ８のうち、一例として、サーボモータ３３に対応するエンコーダ信号ＥＮＣＤ３について主に説明する。他のエンコーダ信号（エンコーダ信号ＥＮＣＤ１など）の処理については、エンコーダ信号ＥＮＣＤ３と同様であるため、その説明を省略する。これに対応し、複数のアンプ（Ｙ軸リニア用サーボアンプ２２など）やエンコーダ（リニアスケール５１など）のうち、エンコーダ信号ＥＮＣＤ３を処理するアンプ２４及びロータリエンコーダ５５について説明する。
【００３８】
まず、図５に示すステップ（以下、「Ｓ」と表記する）１１に示す状態では、作業用ロボット１０は、非通電状態となっている。例えば、作業用ロボット１０は、主電源スイッチをオフした状態である。この状態では、アンプ２４、ロータリエンコーダ５５、サーボモータ３３、及び多重通信装置２９，３９などは、電源が入っていない非通電状態となる。Ｓ１１において、例えば、作業用ロボット１０は、主電源スイッチをオンされる。これにともないアンプ２４等は、電力を供給され、起動する（Ｓ１３）。多重通信装置２９，３９等は、初期化状態となる。
【００３９】
ここで、エンコーダ信号ＥＮＣＤ３の通信速度は、例えば、アンプ２４やロータリエンコーダ５５の仕様によっては通信の途中で変更される可能性がある。あるいは、可動部３０を変更するのにともなって当該可動部３０に内蔵されるロータリエンコーダ５５の種類等を変更されることで、エンコーダ信号ＥＮＣＤ３の通信速度は変更される。これに対し、例えば、本実施形態のアンプ２４、ロータリエンコーダ５５、多重通信装置２９，３９は、エンコーダ信号ＥＮＣＤ３を高速で通信する高速モードと、低速で通信する低速モードとの２種類のモードを備えている。
【００４０】
Ｓ１３の初期化状態では、多重通信装置２９，３９は、低速な通信を行う低速モードとなる。多重通信装置２９，３９は、所定条件に従って、例えば、高速な通信を行う高速モード（Ｓ１５，Ｓ１７）、又は低速モードを維持した状態（Ｓ２１）となる。ここでいう、所定条件とは、例えば、アンプ２４からロータリエンコーダ５５へ送信される制御コマンドを検出する条件である。多重通信装置２９，３９は、エンコーダ信号ＥＮＣＤ３の通信において、制御コマンドとしてアンプ２４からロータリエンコーダ５５へ送信される速度の切り替えを指示する速度切り替えコマンドを検出する。
【００４１】
例えば、アンプ２４は、起動した後、低速な通信でロータリエンコーダ５５と通信を行い、ロータリエンコーダ５５が高速モードに対応可能であるか否かの問い合わせを実行する。アンプ２４は、ロータリエンコーダ５５のバージョン等を問い合わせて高速モードに対応可能か判定する（Ｓ１３）。アンプ２４は、ロータリエンコーダ５５が高速モードに対応可能であることを検出すると（Ｓ１３）、低速モードから高速モードに切り替える速度切り替えコマンドを送信する（Ｓ１５）。Ｓ１５において、アンプ２４は、高速モードでの初期化処理を行う。具体的には、アンプ２４は、速度切り替えコマンドの送信に対して、ロータリエンコーダ５５から正常な応答を受信すると、高速な通信を実行するのに必要な初期値の設定等をロータリエンコーダ５５に対して行う（Ｓ１５）。アンプ２４は、初期化処理を終了させると高速な通信を開始する（Ｓ１７）。
【００４２】
また、多重通信装置２９，３９は、Ｓ１３において、アンプ２４から送信された速度切り替えコマンドを検出すると、高速モードへ移行し初期化処理を開始する（Ｓ１５）。この際、多重通信装置２９，３９は、速度切り替えコマンドを検出し、所定時間だけ経過した後に高速モードへ移行する（Ｓ１５）。この所定時間は、例えば、上記したアンプ２４からロータリエンコーダ５５へ速度切り替えコマンドを送信した時点から、ロータリエンコーダ５５の応答がアンプ２４に到達するまでの時間である。即ち、本実施形態の多重通信装置２９，３９は、アンプ２４が低速な通信から高速な通信へ移行するのに必要な時間だけ、自身も低速モードから高速モードへ移行するのを待つ処理を行う。これにより、多重通信装置２９，３９は、高速な通信を開始するタイミングをアンプ２４等と合わせることで、データ化け等の発生を抑制し、適切に高速な通信へ移行することができる。
【００４３】
また、多重通信装置２９，３９は、高速モードへ移行すると（Ｓ１５）、高速な通信の通信速度に応じたサンプリング周期（周波数とも言い得る）を設定する。上記したように図２に示すデータ取込部２０３は、ロータリエンコーダ５５からエンコーダ信号ＥＮＣＤ１を、所定の通信規格に準拠した通信で取り込む。この際に、データ取込部２０３は、ロータリエンコーダ５５から送信されるエンコーダ信号ＥＮＣＤ３を所定のサンプリング周期に基づいてサンプリングして取り込む。このサンプリング周期は、エンコーダ信号ＥＮＣＤ３のデータを適切に検出するために、例えば、速度の高速化にともなって周期を短くする必要がある。
【００４４】
そこで、多重通信装置２９，３９は、例えば、低速モードから高速モードへ移行するのに応じて、エンコーダ信号ＥＮＣＤ３を取り込むデータ取込部２０３で使用するサンプリング周期を短くする制御を行う。これにより、多重通信装置２９，３９は、高速な通信で送受信されるエンコーダ信号ＥＮＣＤ３を、データ取込部２０３でサンプリングし、多重化部２１９によって適切に多重化することができる。
【００４５】
また、多重通信装置２９，３９は、高速モードへ移行すると（Ｓ１５）、高速な通信の通信速度に応じた出力継続時間を設定する。上記したように図３に示すデータ出力部３０３は、エンコーダ信号ＥＮＣＤ３を一時的に蓄積してからサーボアンプ２４へ送信する。この際に、データ出力部３０３は、エンコーダ信号ＥＮＣＤ３の１データを出力継続時間ごとに出力する。ここでいう１データの出力継続時間とは、例えば、エンコーダ信号ＥＮＣＤ３の１ビットのデータをハイレベルの信号で表わした場合に、そのハイレベルの信号をデータ出力部３０３から送出するのに必要な時間である。この１データの出力継続時間は、例えば、通信速度が速くなるのに比例して短くなる。なお、この１データの出力継続時間の具体例については後述する。
【００４６】
そこで、多重通信装置２９，３９は、例えば、低速モードから高速モードへ移行するのに応じて、エンコーダ信号ＥＮＣＤ３を出力するデータ出力部３０３で使用する出力継続時間を短くする制御を行う。これにより、多重通信装置２９，３９は、高速な通信で送受信されるエンコーダ信号ＥＮＣＤ３を、データ出力部３０３からサーボアンプ２４へ適切に送信することができる。
【００４７】
また、多重通信装置２９，３９は、高速モードへ移行すると（Ｓ１５）、タイムアウト時間及び誤り検出処理を変更する。ここでいうタイムアウト時間とは、例えば、ノイズ等による通信データの誤り等により、多重通信装置３９がロータリエンコーダ５５からエンコーダ信号ＥＮＣＤ３を一定時間だけ入力できない場合に、無入力を異常（入力エラー）として検出する判断基準となる時間である。このタイムアウト時間は、通信速度を速くするのにともなって時間を短くする。これにより、高速通信の規格で短いタイムアウト時間を要求されている場合など、通信速度に応じてタイムアウト時間を最適化できる。
【００４８】
また、例えば、低速モードと、高速モードでは要求される誤り検出の処理速度が異なり、最適な誤り検出処理の内容、方式が異なる場合がある。即ち、通信速度が異なれば、使用すべき誤り検出処理も違う場合がある。ここでいう誤り検出処理とは、エンコーダ信号ＥＮＣＤ３の誤りを検出するだけの処理、あるいは誤りの検出に加えて訂正も行う処理である。誤り検出は、例えば、ＣＲＣチェック（巡回冗長検査）、パリティチェック、あるいはチェックサムを用いてもよい。
【００４９】
なお、多重通信装置２９，３９は、上記したタイムアウト時間及び誤り検出処理のうち、少なくとも一方をエンコーダ信号ＥＮＣＤ３の通信速度の変更に応じて変更してもよい。また、多重通信装置２９，３９は、上記したサンプリング周期、出力継続時間、タイムアウト時間及び誤り検出処理の各々について、予め設定された値等を用いることができる。この予め設定された値等は、低速モード及び高速モードのそれぞれに対応したものが設定される。また、多重通信装置２９，３９は、エンコーダ信号ＥＮＣＤ３の立ち上がりエッジ及び立ち下がりエッジに基づいて通信速度（通信モード）を検出し、検出した通信速度に応じてサンプリング周期等を設定してもよい。この立ち上がりエッジ等に基づく通信速度の検出については後述する。
【００５０】
多重通信装置２９，３９は、Ｓ１５において低速モードから高速モードへの移行に合わせてサンプリング周期及び出力継続時間を設定する一方で、アンプ２４とロータリエンコーダ５５とが高速モードへ適切に移行できているか否かを判定する。多重通信装置２９，３９は、例えば、サーボアンプ２４とロータリエンコーダ５５との間で送受信される通信の内容を確認し、高速な通信を実行するのに必要な初期値の設定等を実行できているか否かを判定することで、高速モードへ適切に移行できているか否かを判定する。多重通信装置２９，３９は、サーボアンプ２４等が高速モードへ適切に移行できていると判定すると、高速な通信を開始する（Ｓ１７）。
【００５１】
Ｓ１７において、作業用ロボット１０は、運転状態となる。作業用ロボット１０は、アンプ２４とロータリエンコーダ５５との間で高速通信を実行しながら、サーボモータ３３を回転させ、トルク、速度、位置制御等を実行する。即ち、作業用ロボット１０は、エンコーダ信号ＥＮＣＤ３を高速な通信で送受信しながら、生産ラインを搬送される対象物に可動部３０（ロボットアーム）に保持されたワークの取り付けなどの作業を実行する。
【００５２】
作業用ロボット１０は、運転状態において、運転を停止する条件を満たすと、非可動状態となる（Ｓ１９）。ここでいう運転を停止する条件とは、例えば、ユーザからの停止指示、ワークの取り付け作業中のエラー検出などである。例えば、ユーザは、可動部３０の種類を変更するため、コントローラ２１に対して作業用ロボット１０を停止する旨の操作を実行する。コントローラ２１は、ユーザからの停止指示に応じて、フィールドネットワーク用ケーブル４１を介してアンプ２３にＲＥＳＥＴコマンドを送信する。このＲＥＳＥＴコマンドとは、例えば、ＭＥＣＨＡＴＲＯＬＩＮＫ（登録商標）−ＩＩＩで用いられるマスター（コントローラ２１）からスレーブ（サーボアンプ２４）への停止を通知するコマンドである。
【００５３】
作業用ロボット１０は、このようにして各種装置を非稼動状態とする（Ｓ１９）。ユーザは、作業用ロボット１０を非稼動状態（Ｓ１９）とした後、可動部３０の交換などを行う。また、作業用ロボット１０は、非稼動状態（Ｓ１９）において、主電源スイッチをＯＦＦされると、上記したＳ１１の非通電状態となる。
【００５４】
一方で、Ｓ１３において、作業用ロボット１０は、低速モードを維持する場合には、低速モードで運転状態となる（Ｓ２１）。例えば、アンプ２４からロータリエンコーダ５５への確認作業の結果、ロータリエンコーダ５５が高速な通信に対応していない場合、作業用ロボット１０は、Ｓ２１へ移行する。
【００５５】
Ｓ２１において、アンプ２４、ロータリエンコーダ５５、多重通信装置２９，３９は、低速モードとなる。作業用ロボット１０は、アンプ２４とロータリエンコーダ５５との間で低速通信を実行しながら、サーボモータ３３を回転させ、トルク、速度、位置制御等を実行する。即ち、作業用ロボット１０は、エンコーダ信号ＥＮＣＤ３を低速な通信で送受信しながら、生産ラインを搬送される対象物に可動部３０（ロボットアーム）に保持されたワークの取り付けなどの作業を実行する。
【００５６】
作業用ロボット１０は、Ｓ２１の運転状態において、高速モードの運転状態（Ｓ１７）と同様に、運転を停止する条件を満たすと、非稼動状態となる（Ｓ２３）。作業用ロボット１０は、ユーザからの停止指示等を受け付けると、各種装置を非稼動状態とする（Ｓ２３）。また、作業用ロボット１０は、非稼動状態（Ｓ２３）において、主電源スイッチをＯＦＦされると、上記したＳ１１の非通電状態となる。このようにして、本実施形態の多重通信装置２９，３９は、切り替えコマンドの受信に応じてサンプリング周期や出力継続時間を変更することで、２以上の異なる通信速度で通信されるエンコーダ信号ＥＮＣＤ３を適切にサンプリング及び多重化できる。
【００５７】
（同一のサンプリング周期によるサンプリング）
上記した説明では、多重通信装置２９，３９は、Ｓ１３において、速度切り替えコマンドの検出に応じて低速モードと高速モードとを切り替え、サンプリング周期を変更していた。しかしながら、多重通信装置２９，３９は、低速モードと高速モードとで同一のサンプリング周期を用いてもよい。
【００５８】
図６，図７及び図８は、エンコーダ信号ＥＮＣＤ３を同期通信方式で通信する場合を示している。ケース１は、従来の方法の一例を示している。ケース２は、本実施形態の低速モードを示している。ケース３は、本実施形態の高速モードを示している。ケース１，２，３は、図７及び図８の「データ」の項目に示すように、一例として「１」「０」のデータ（同一のエンコーダ信号ＥＮＣＤ３）を送受信している。なお、図７及び図８の「波形」の項目では、ハイレベル信号に該当する部分にハッチングを付している。
【００５９】
ケース１，２，３は、同期通信方式として例えば、ＨＤＬＣ（High level Data Link Control procedure）の通信規格に準拠した通信を行う。データの符号化としては、例えば、マンチェスタ符号を用いる。また、ケース１は、初期化状態及び運転状態ともに２Ｍｂｐｓの通信速度である。カッコ内の数字は、図７に示すように、１データの出力継続時間７１であり、５００ｎｓ（＝１／２Ｍｂｐｓ）である。なお、出力継続時間７１は、上記したデータ取込部２０３によってサンプリングする場合は、データ取込部２０３が１データを取り込む時間となる。また、出力継続時間７１は、上記したデータ出力部３０３が１データを出力する場合は、データ出力部３０３が１データを出力する時間となる。
【００６０】
また、ケース１のサンプリング周期は、１６ＭＨｚである。カッコ内の数字は、図７に示すように、１ｃｌｏｃｋ（１サンプル）の時間７３であり、６２．５ｎｓ（＝１／１６ＭＨｚ）である。また、１データをサンプリング周期で分割する分解能は、８分割である。ケース１では、８サンプルごとに１データを処理（取り込み等）し、図７及び図８の「信号レベル」の項目に示すように、ハイレベル信号（Ｈ）、ローレベル信号（Ｌ）、ローレベル信号（Ｌ）、ハイレベル信号（Ｈ）の順に処理している。これにより、図７及び図８の「データ」の項目に示すように、ハイレベル信号（Ｈ）、ローレベル信号（Ｌ）の順で処理した信号で表すビット値「１」と、ローレベル信号（Ｌ）、ハイレベル信号（Ｈ）の順で処理した信号で表すビット値「０」とのエンコーダ信号ＥＮＣＤ３を取り込み等している。
【００６１】
また、ケース１の８サンプルの先頭（Ｃｌｏｃｋカウンタ「０」）では、エンコーダ信号ＥＮＣＤ３の立ち上がり（図中の波形の項目の「↑」）や、エンコーダ信号ＥＮＣＤ３の立ち下がり（図中の「↓」）が発生している。上記したように、多重通信装置２９，３９は、このエンコーダ信号ＥＮＣＤ３の立ち上がりエッジ（図中の「↑」）及び立ち下がりエッジ（図中の「↓」）に基づいて通信速度を検出してもよい。具体的には、多重通信装置２９，３９は、例えば、この立ち上がりエッジが何サンプルごとにくるのかを検出し、サンプル数（８サンプル）とサンプリング時間（例えば、６２．５ｎｓ）を乗算して、通信速度２Ｍｂｐｓ（５００ｎｓ＝８＊６２．５ｎｓ）を検出してもよい。なお、多重通信装置２９，３９は、通信速度の変更を検出する方法として、上記した速度切り替えコマンドの検出と、エンコーダ信号ＥＮＣＤ３のエッジの検出とを併用してもよい。また、図７及び図８中の横向き矢印「→」は、信号レベルの変化がない部分を示している。
【００６２】
また、本実施形態の多重通信装置２９，３９の各々は、上記したエッジの周期に基づいて、タイムアウト時間及び誤り検出処理を変更する処理を、互いに独立して実行することもできる。この場合、例えば、多重通信装置２９は、アンプ２３からデータ取込部２０３に取り込むエンコーダ信号ＥＮＣＤ３のエッジに基づいて通信速度を検出しタイムアウト時間等を変更できる。また、例えば、多重通信装置３９は、ロータリエンコーダ５５からデータ取込部２０３に取り込むエンコーダ信号ＥＮＣＤ３のエッジに基づいて通信速度を検出し、検出した通信速度に応じたタイムアウト時間等を設定してもよい。
【００６３】
次に、ケース２（低速モード）について説明する。なお、上記したケース１と同様の内容については、その説明を省略する。ケース２は、図６に示すように、初期化状態及び運転状態ともに２Ｍｂｐｓの通信速度である。１データの出力継続時間７５は、５００ｎｓ（図７参照）である。
【００６４】
また、ケース２のサンプリング周期は、ケース１とは異なり３２ＭＨｚである。１サンプルの時間７７は、３１．２５ｎｓ（＝１／３２ＭＨｚ）である。また、１データをサンプリング周期で分割する分解能は、例えば、８分割である。ケース２では、一例として低速モード（ケース２）と、高速モード（ケース３）とで分解能を統一した場合を示している。このため、多重通信装置２９，３９のデータ取込部２０３及びデータ出力部３０３は、８分割されたデータの２回分（１６分割）を１データとして取り込み、又は出力する。これにより、例えば、データ取込部２０３は、１６分割（１６サンプル）ごとに、１データ（ハイレベル信号など）を取り込むこととなる。
【００６５】
ケース２では、図７及び図８の「信号レベル」の項目に示すように、１６サンプルごとに１データを処理（取り込み等）し、ハイレベル信号（Ｈ）、ローレベル信号（Ｌ）、ローレベル信号（Ｌ）、ハイレベル信号（Ｈ）の順に処理している。これにより、図７及び図８の「データ」の項目に示すように、ビット値「１」と、ビット値「０」とのエンコーダ信号ＥＮＣＤ３を取り込み等している。
【００６６】
次に、ケース３（高速モード）について説明する。なお、図７及び図８は、ケース３の運転状態（高速な通信状態）を示している。ケース３は、図６に示すように、初期化状態では２Ｍｂｐｓの通信速度である。１データの出力継続時間は、５００ｎｓである。一方で、運転状態では、４Ｍｂｐｓの通信速度である。１データの出力継続時間７９は（図７参照）、２５０ｎｓ（＝１／４Ｍｂｐｓ）である（図６参照）。
【００６７】
また、ケース３のサンプリング周期は、ケース２と同じ３２ＭＨｚである。即ち、ケース２，３は、運転状態の通信速度が異なる（ケース３が速い）にも係わらず、サンプリング周期が３２ＭＨｚで同一となっている。そして、この同一のサンプリング周期（３２ＭＨｚ）は、低速モードの通信速度（２Ｍｂｐｓ）の１６倍である。また、この同一のサンプリング周期（３２ＭＨｚ）は、高速モードの通信速度（４Ｍｂｐｓ）の８倍である。即ち、本実施形態の多重通信装置２９，３９は、２以上の異なる通信速度（高速モード、低速モード）で通信されるエンコーダ信号ＥＮＣＤ３の各々における通信速度（２Ｍｂｐｓ、４Ｍｂｐｓ）の整数倍（１６倍、８倍）をサンプリングできる同一周期（３２ＭＨｚ）の値をサンプリング周期として用いている。
【００６８】
ケース３の１サンプルの時間８１は、ケース２と同様に、３１．２５ｎｓ（＝１／３２ＭＨｚ）である。また、１データをサンプリング周期で分割する分解能は、例えば、８分割である。この場合、多重通信装置２９，３９のデータ取込部２０３及びデータ出力部３０３は、図７及び図８に示すように、８分割されたデータ（出力継続時間７９）を１データとして取り込み、又は出力する。これにより、例えば、データ取込部２０３は、８分割（８サンプル）ごとに、１データ（ハイレベル信号など）を取り込むこととなる。即ち、上記したケース２の半分の時間で１データを取り込む。
【００６９】
ケース３では、８サンプルごとに１データを処理（取り込み等）し、ハイレベル信号（Ｈ）、ローレベル信号（Ｌ）、ローレベル信号（Ｌ）、ハイレベル信号（Ｈ）の順に処理している。これにより、ビット値「１」と、ビット値「０」とのエンコーダ信号ＥＮＣＤ３を取り込み等している。
【００７０】
従って、本実施形態の多重通信装置２９，３９は、エンコーダ信号ＥＮＣＤ３の通信速度が切り替えられ切り替えの前後における通信速度（２Ｍｂｐｓ、４Ｍｂｐｓ）の各々が同一周期（３２ＭＨｚ）の整数倍（１６倍、８倍）である場合に、サンプリング周期を変更せずに維持する。また、本実施形態の多重通信装置２９，３９は、エンコーダ信号ＥＮＣＤ３の通信速度が切り替えられ切り替えの前後における通信速度の各々が同一周期の整数倍である場合に、通信速度と同一周期との比（１６倍、８倍）に基づいて、フレームデータＦＲＭＤ（多重化データ）から分離したエンコーダ信号ＥＮＣＤ３の１データを出力する時間である出力継続時間７５，７９を設定する。これにより、異なる通信速度のエンコーダ信号ＥＮＣＤ３を多重及び分離できる。
【００７１】
（非同期通信の場合）
次に、エンコーダ信号ＥＮＣＤ３を非同期通信方式（調歩同期方式）で通信する場合について説明する。図９，図１０及び図１１は、非同期通信方式の場合を示している。ケース４は、従来の方法の一例を示している。ケース５は、非同期通信方式の場合の低速モードを示している。ケース６は、非同期通信方式の場合の高速モードを示している。なお、以下の説明では、上記した同期通信方式と同様の内容についてはその説明を適宜省略する。
【００７２】
ケース４，５，６は、図１０及び図１１の「データ」の項目に示すように、一例として「ＳＴＡＲＴビット（ＢＩＴ−０）」、及びデータビットとして「１」，「１」，「０」のデータ（エンコーダ信号ＥＮＣＤ３）を送受信している。ＳＴＡＲＴビットは、非同期通信におけるデータの開始を示すビットであり、本例ではビット値「０」を設定されている。
【００７３】
また、図９に示すように、データの符号化としては、例えば、ＮＲＺ（Non Return to Zero)方式を用いる。また、ケース４は、初期化状態及び運転状態ともに２．５Ｍｂｐｓの通信速度である。１データの出力継続時間は、４００ｎｓ（＝１／２．５Ｍｂｐｓ）である。また、ケース４のサンプリング周期は、２０ＭＨｚである。１サンプルの時間は、５０ｎｓ（＝１／２０ＭＨｚ）である。また、分解能は、８分割である。ケース４では、８サンプルごとに１データを処理（取り込み等）し、ローレベル信号（Ｌ）、ハイレベル信号（Ｈ）、ハイレベル信号（Ｈ）、ローレベル信号（Ｌ）の順に処理している。これにより、ローレベル信号（Ｌ）で表すＳＴＡＲＴビット（１ＢＩＴ−０）、ハイレベル信号（Ｈ）で表すビット値「１」（ＤＡＴＡ−Ｂ０）、ハイレベル信号（Ｈ）で表すビット値「１」（ＤＡＴＡ−Ｂ１）、ローレベル信号（Ｌ）で表すビット値「０」（ＤＡＴＡ−Ｂ２）のエンコーダ信号ＥＮＣＤ３を取り込み等している。
【００７４】
また、図１０及び図１１の「波形」の項目に示すように、上記した同期式通信方式と同様に、ケース４の８サンプルの先頭（Ｃｌｏｃｋカウンタ「０」）では、エンコーダ信号ＥＮＣＤ３の立ち上がり（図中の波形の項目の「↑」）や、エンコーダ信号ＥＮＣＤ３の立ち下がり（図中の「↓」）が発生している。このため、多重通信装置２９，３９は、非同期通信方式の場合にも、エンコーダ信号ＥＮＣＤ３の立ち上がりエッジ等に基づいて通信速度を検出てきる。
【００７５】
次に、ケース５（低速モード）について説明する。ケース５は、図９に示すように、初期化状態及び運転状態ともに２．５Ｍｂｐｓの通信速度である。１データの出力継続時間は、４００ｎｓである。また、ケース５のサンプリング周期は、ケース４とは異なり４０ＭＨｚである。１サンプルの時間は、２５ｎｓ（＝１／４０ＭＨｚ）である。また、分解能は、例えば、１６分割である。ケース５では、一例として低速モード（ケース５）と、高速モード（ケース６）とで異なる分解能を設定した場合を示している。このため、多重通信装置２９，３９のデータ取込部２０３及びデータ出力部３０３は、低速モード（ケース５）では、１６分割されたデータを１データとして取り込み、又は出力する。これにより、例えば、データ取込部２０３は、１６分割（１６サンプル）ごとに、１データ（ハイレベル信号など）を取り込むこととなる。
【００７６】
次に、ケース６（高速モード）について説明する。なお、図１０及び図１１は、ケース６の運転状態（高速な通信状態）を示している。ケース６は、図９に示すように、初期化状態では２．５Ｍｂｐｓの通信速度である。１データの出力継続時間は、４００ｎｓである。一方で、運転状態では、４Ｍｂｐｓの通信速度である。１データの出力継続時間は、２５０ｎｓ（＝１／４Ｍｂｐｓ）となる。
【００７７】
また、ケース６のサンプリング周期は、ケース５と同じ４０ＭＨｚである。即ち、ケース５，６は、運転状態の通信速度が異なる（ケース６が速い）にも係わらず、サンプリング周期が４０ＭＨｚで同一となっている。そして、この同一のサンプリング周期（４０ＭＨｚ）は、低速モードの通信速度（２．５Ｍｂｐｓ）の１６倍である。また、この同一のサンプリング周期（４０ＭＨｚ）は、高速モードの通信速度（４Ｍｂｐｓ）の１０倍である。即ち、この場合の多重通信装置２９，３９は、２以上の異なる通信速度（高速モード、低速モード）で通信されるエンコーダ信号ＥＮＣＤ３の各々における通信速度（２．５Ｍｂｐｓ、４Ｍｂｐｓ）の整数倍（１６倍、１０倍）をサンプリングできる同一周期（４０ＭＨｚ）の値をサンプリング周期として用いている。
【００７８】
ケース６の１サンプルの時間は、ケース５と同様に、２５ｎｓ（＝１／４０ＭＨｚ）である。また、分解能は、１０分割である。この場合、多重通信装置２９，３９のデータ取込部２０３及びデータ出力部３０３は、図１０及び図１１に示すように、１０分割されたデータを１データとして取り込み、又は出力する。これにより、例えば、データ取込部２０３は、１０分割（１０サンプル）ごとに、１データ（ハイレベル信号など）を取り込むこととなる。即ち、上記したケース５とは異なる時間で１データを取り込む。
【００７９】
従って、この場合の多重通信装置２９，３９は、エンコーダ信号ＥＮＣＤ３の通信速度が切り替えられ切り替えの前後における通信速度（２．５Ｍｂｐｓ、４Ｍｂｐｓ）の各々が同一周期（４０ＭＨｚ）の整数倍（１６倍、１０倍）である場合に、サンプリング周期を変更せずに維持する。また、多重通信装置２９，３９は、エンコーダ信号ＥＮＣＤ３の通信速度が切り替えられ切り替えの前後における通信速度の各々が同一周期の整数倍である場合に、通信速度と同一周期との比（１６倍、１０倍）に基づいて、フレームデータＦＲＭＤ（多重化データ）から分離したエンコーダ信号ＥＮＣＤ３の出力継続時間を設定する。これにより、異なる通信速度のエンコーダ信号ＥＮＣＤ３を多重及び分離できる。
【００８０】
因みに、多重通信装置２９，３９は、送信側多重通信装置及び受信側多重通信装置の一例である。エンコーダ信号ＥＮＣＤ３は、エンコーダ信号の一例である。フレームデータＦＲＭＤは、多重化データの一例である。サンプリング周期は、サンプリング周波数の一例である。図６のケース３、及び図９のケース６の初期化状態の通信速度は、第１通信速度の一例である。図６のケース３、及び図９のケース６の運転状態の通信速度は、第２通信速度の一例である。図６のケース３、及び図９のケース６の初期化状態の出力継続時間は、第１出力継続時間の一例である。図６のケース３、及び図９のケース６の運転状態の出力継続時間は、第２出力継続時間の一例である。
【００８１】
以上、詳細に説明した本実施形態によれば以下の効果を奏する。
（効果１）本実施形態の一態様では、多重通信装置２９，３９（送信側多重通信装置）は、同一周期の値をサンプリング周期として用いて、２以上の異なる通信速度で通信されるエンコーダ信号ＥＮＣＤ３のうち少なくとも一つ、即ち、実際に通信中のエンコーダ信号ＥＮＣＤ３をサンプリングし多重化する。この共通のサンプリング周期は、異なる通信速度の各々を整数倍した値を、サンプリングできる（割り切れる）値である。これにより、エンコーダ信号ＥＮＣＤ３の通信途中で通信速度を変更される場合や、可動部３０の変更にともなってエンコーダ信号ＥＮＣＤ３の通信速度が変更された場合に、上記条件を満たすサンプリング周期を用いることで、エンコーダ信号ＥＮＣＤ３のサンプリングが適切にできる。従って、異なる通信速度のエンコーダ信号ＥＮＣＤ３を同一のサンプリング周期で多重化できる。また、この構成では、各通信速度に対応した処理ブロックや処理回路を別々に設けず、１つの処理ブロック（ＦＰＧＡなど）に統一して処理を行うことができ、装置の小型化や製造コストの削減を図ることができる。
【００８２】
（効果２）また、本実施形態の一態様では、通信速度が切り替わったとしても、サンプリング周期を変更する不要な処理を実行せずに、同一のサンプリング周期を用いたまま、通信速度の異なるエンコーダ信号ＥＮＣＤ３を多重化できる。また、多重通信装置２９，３９（受信側多重通信装置）は、例えば、出力継続時間７５，７９を、サンプリング周期（同一周期）と通信速度との比に基づいて設定する。多重通信装置２９，３９（受信側多重通信装置）は、通信速度が切り替わったとしても、サンプリング周期に基づいて出力継続時間７５，７９を設定することで、フレームデータＦＲＭＤ（多重化データ）から分離したエンコーダ信号ＥＮＣＤ３を適切な通信速度でアンプ２４やロータリエンコーダ５５等に出力できる。
【００８３】
（効果３）本実施形態の一態様では、多重通信装置２９，３９（送信側多重通信装置）は、アンプ２４等から受信した制御コマンドに応じて、エンコーダ信号ＥＮＣＤ１〜ＥＮＣＤ８の通信速度の変更を検出する。これにより、多重通信装置２９，３９（送信側多重通信装置）は、通信速度に応じたサンプリング周期を設定することで、エンコーダ信号ＥＮＣＤ１〜ＥＮＣＤ８を適切にサンプリング（多重化）できる。また、多重通信装置２９，３９（受信側多重通信装置）は、アンプ２４等から受信した制御コマンドに応じて、エンコーダ信号ＥＮＣＤ１〜ＥＮＣＤ８の出力継続時間を設定する。これにより、多重通信装置２９，３９（受信側多重通信装置）は、通信速度に応じた出力継続時間を設定することで、フレームデータＦＲＭＤ（多重化データ）から分離したエンコーダ信号ＥＮＣＤ１〜ＥＮＣＤ８を適切な通信速度でアンプ２４等に出力できる。その結果、当該多重通信システムは、例えば、通信速度を切り替える制御コマンドを規定している通信規格に対応したエンコーダやアンプに対して広く適用できる。なお、ここでいう制御コマンドとは、例えば、アンプ２４等からＲＳ−４８５規格に準拠した通信（エンコーダ信号ＥＮＣＤ１〜ＥＮＣＤ８の通信）によって送信される制御コマンドである。
【００８４】
（効果４）タイムアウト時間や誤り検出処理は、エンコーダ信号ＥＮＣＤ１〜ＥＮＣＤ８の通信速度に応じて適切なものが異なる。そこで、本実施形態の一態様では、通信速度の変更に応じたタイムアウト時間を用いることで、例えば、通信速度が速くなった場合にはタイムアウト時間を短くして通信エラーを検出する。これにより、ノイズ等による通信データの誤り等でロータリエンコーダ５５等から返信応答がない場合でも復帰動作を迅速且つ適切に実行できる。
【００８５】
また、当該多重通信システムでは、通信速度の変更に応じた誤り検出処理を用いる。エンコーダ信号ＥＮＣＤ１〜ＥＮＣＤ８の通信規格の中には、例えば、初期設定では低速な通信を実行し、初期設定後の通信では高速な通信を行うものがある。そして、例えば、初期設定時には、時間に余裕があり再送が可能である場合が考えられる。この場合、受信側で誤り検出だけを実施し、誤りを送信側に通知する（再送を要求する）誤り検出処理が考えられる。一方、初期設定後の通信では、実際の作業が開始され迅速性を求められる結果、再送が困難な場合が考えられる。この場合、誤り検出処理は、誤りの検出に加え、誤りの訂正が可能な処理が好ましい。このような誤り検出処理の使い分けにより、通信速度の変更に対して適切な誤り検出を実行できる。これにより、エンコーダ信号のデータ化けなどについて誤りを検出し復帰動作を迅速且つ適切に実行できる。その結果、当該多重通信システムでは、システムの信頼性を高めることができる。
【００８６】
（効果５）また、本実施形態の一態様では、エッジの変化に基づいて通信速度を検出できる。その結果、タイムアウト時間及び誤り検出処理を、通信速度に応じて適切に設定でき、システムの信頼性を高めることができる。
【００８７】
（効果６）また、本実施形態の一態様において多重通信装置２９，３９の各々は、通信速度の検出と、検出後のタイムアウト時間や誤り検出処理の設定を独立に実行する。これにより、例えば、多重通信装置２９，３９のうち、一方側（送信側）から他方側（受信側）へ通信速度の変更を通知する処理が不要となる。
【００８８】
なお、本発明は上記の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内での種々の改良、変更が可能であることは言うまでもない。
例えば、本実施形態では、Gigabit Etherenet（登録商標）の通信規格に準拠した多重通信用ケーブル１１（ＬＡＮケーブル）を介した多重通信を例に説明したが、本願はこれに限定されるものではない。他の有線通信（例えば、光ファイバーケーブル、ＵＳＢケーブルなど）を介した多重通信においても同様に適用でき、有線ではなく無線通信においても同様に適用することができる。
また、フレームデータＦＲＭＤのビット位置の構成やフレームデータＦＲＭＤに多重化するデータの種類（エンコーダ信号ＥＮＣＤ１〜ＥＮＣＤ８以外のセンサ信号など）を適宜変更してもよい。
【００８９】
また、多重通信装置２９，３９は、サンプリング周期及び出力継続時間のうち、どちらか一方のみを制御してもよい。
また、多重通信装置２９，３９は、タイムアウト時間及びエンコーダ信号ＥＮＣＤ１〜ＥＮＣＤ８の誤り検出処理のうち、どちらか一方のみを制御してもよい。
また、多重通信装置２９，３９は、互いに独立してタイムアウト時間等を制御せず、例えば、フレームデータＦＲＭＤによってタイミングの通知を行い互いに協調してタイムアウト時間等を制御してもよい。
また、上記実施形態では、２以上の異なる通信速度として、高速モードと低速モードの２つの通信速度を採用した場合について説明したが、これに限らず、３以上の異なる通信速度（低速、中速、高速）を採用してもよい。
【００９０】
また、上記実施形態では特に言及していないが、リニアスケール５１，５３及びロータリエンコーダ５５，５７は、例えば、位置情報などのデータをシリアルで伝送する方式（シリアル伝送方式）のエンコーダでもよい。あるいは、リニアスケール５１等は、例えばＡ，Ｂ，Ｚの各相のパルスをパラレルに伝送する方式（パラレル伝送方式）のエンコーダでもよい。
また、上記実施形態では生産作業を実施する作業用ロボット１０を例に説明したが、本願の多重通信システムはこれに限定されることなく、例えば電子部品を回路基板に実装する電子部品装着装置のデータ伝送に適用してもよい。また、例えば切削等を行う工作機械に適用してもよい。
【符号の説明】
【００９１】
１０  作業用ロボット、２９，３９  多重通信装置、７５，７９  出力継続時間、ＥＮＣＤ１〜ＥＮＣＤ８  エンコーダ信号、ＦＲＭＤ  フレームデータ。
【図１】
0006742497.tif 000002
【図２】
0006742497.tif 000003
【図３】
0006742497.tif 000004
【図４】
0006742497.tif 000005
【図５】
0006742497.tif 000006
【図６】
0006742497.tif 000007
【図７】
0006742497.tif 000008
【図８】
0006742497.tif 000009
【図９】
0006742497.tif 000010
【図１０】
0006742497.tif 000011
【図１１】
0006742497.tif 000012