(58)【調査した分野】(Int.Cl.,DB名)
前記駆動制御部と前記エンコーダとは互いの通信プロトコルが異なるものであり、前記エンコーダが自身の前記通信プロトコルの形式で出力する前記エンコーダ信号を、前記駆動制御部の前記通信プロトコルの形式に変換するプロトコル変換手段を備えることを特徴とする請求項2又は請求項3に記載の多重化通信システム。
前記多重化手段は、光ファイバーケーブル、LANケーブル及びUSBケーブルの少なくとも一つの通信媒体を介して前記多重化データ列を送信することを特徴とする請求項1乃至請求項5のいずれかに記載の多重化通信システム。
前記駆動制御部から前記可動部の前記電磁モータに供給する電源を、前記多重化手段が前記多重化データ列を送信する通信回線とは別に設けられた電源線により供給することを特徴とする請求項8に記載の作業用ロボット。
【発明を実施するための形態】
【0010】
以下、本発明の実施例について図を参照して説明する。初めに、本願の通信システムを適用する装置の一例として作業用ロボットについて説明する。
(作業用ロボット10の構成)
図1は、作業用ロボット10に適用される多重化通信システムの構成を示す模式図である。
図1に示すように、作業用ロボット10は、作業用ロボット10を設置する場所に固定的に設ける装置本体20と、装置本体20に対して相対的に移動する可動部30とを備える。装置本体20は、コントローラ21と、Y軸リニア用サーボアンプ22と、X軸リニア用サーボアンプ23と、3軸ロータリ用サーボアンプ24,25とを備える。可動部30は、Y軸用リニアモータ31と、X軸用リニアモータ32と、6つのロータリ型サーボモータ33〜38とを備える。
【0011】
可動部30は、各モータ31〜38の駆動に応じて例えばX軸、Y軸及びZ軸の各方向への自由度を有して変位駆動されるロボットアームを備える。作業用ロボット10は、コントローラ21の制御に基づいて、例えば、生産ラインを搬送される対象物に可動部30(ロボットアーム)に保持されたワークの取り付けなどの作業を実施する作業用ロボットである。コントローラ21は、CPU、RAM等を備えたコンピュータを主体として構成されている。コントローラ21は、フィールドネットワーク用ケーブル41により各アンプ22〜25のスレーブ回路(図示略)と接続されている。ここでいうフィールドネットワーク(制御用ネットワーク)とは、例えば、MECHATROLINK(登録商標)−IIIであり、コントローラ21がマスターとなり、スレーブ回路に接続されたアンプ22〜25とのデータの送受信を行うネットワークを構築し、配線の統合(削減)等を実現してネットワーク構築のコスト低減を図るものである。
【0012】
アンプ22〜25の各々は、エンコーダ用ケーブル42により多重化通信装置29に接続されている。作業用ロボット10は、装置本体20に設けられた多重化通信装置29が、可動部30に設けられた多重化通信装置39と多重通信用ケーブル11で接続されている。多重通信用ケーブル11は、例えばGigabit Etherenet(登録商標)の通信規格に準拠したLANケーブルやUSB(Universal Serial Bus)3.0の通信規格に準拠したUSBケーブルである。作業用ロボット10は、可動部30に設けられた各モータ33〜38のエンコーダ信号を多重化通信装置39によりフレームデータFRMDに多重化し多重通信用ケーブル11を通じて多重化通信装置29に伝送する。多重化通信装置29は、受信したフレームデータFRMDの多重化を解除して個々のエンコーダ信号に対応するアンプ22〜25に転送する。
【0013】
コントローラ21は、アンプ22〜25を介して可動部30の各モータ31〜38を制御する。Y軸リニア用サーボアンプ22は、可動部30のY軸用リニアモータ31に対応している。可動部30には、Y軸用リニアモータ31の駆動に応じてY軸方向に沿ったガイドレール上を移動する可動部30(ロボットアーム)の位置を検出するリニアスケール51が設けられている。リニアスケール51は、可動部30のY軸方向の位置(Y座標値)等のエンコーダ信号を通信プロトコル変換器52に出力する。通信プロトコル変換器52は、多重化通信装置39とエンコーダ用ケーブル61で接続されている。通信プロトコル変換器52は、多重化通信装置29,39を介してリニアスケール51のエンコーダ信号をY軸リニア用サーボアンプ22に送信する。Y軸リニア用サーボアンプ22は、転送されたエンコーダ信号をフィールドネットワーク用ケーブル41を介してコントローラ21に転送する。コントローラ21は、リニアスケール51のエンコーダ信号に基づいてY軸リニア用サーボアンプ22を介してY軸用リニアモータ31を制御する。可動部30は、Y軸用リニアモータ31の駆動に応じて例えば、ロボットアームがY軸方向に駆動する。
【0014】
同様に、X軸リニア用サーボアンプ23は、可動部30のX軸用リニアモータ32に対応している。可動部30には、X軸用リニアモータ32の駆動に応じてX軸方向に沿ったガイドレール上を移動する可動部30の位置を検出するリニアスケール53が設けられている。リニアスケール53のエンコーダ信号は、通信プロトコル変換器54を介して多重化通信装置39に出力される。コントローラ21は、リニアスケール53のエンコーダ信号に基づいてX軸リニア用サーボアンプ23を介してX軸用リニアモータ32を制御する。
【0015】
ロータリ型サーボモータ33〜35(以下、「サーボモータ」という場合がある)は、3つの出力軸を構成しており、例えば、ロボットアームのワークを保持するハンドをX軸、Y軸、Z軸の各方向や回転方向等に駆動をさせる。なお、サーボモータ36〜38は、サーボモータ33〜35と同様の構成であるため、その説明を適宜省略する。サーボモータ33〜35の各々に設けられたロータリエンコーダ55は、各サーボモータ33〜35の位置情報などのエンコーダ信号をエンコーダ用ケーブル61を介して多重化通信装置39に出力する。3軸ロータリ用サーボアンプ(以下、「サーボアンプ」という場合がある)24は、多重化通信装置29,39を介して転送されたエンコーダ信号に基づいてサーボモータ33〜35の各々を駆動する。例えば、サーボモータ33は、U相,V相,W相の各相のコイルを有する三相交流で駆動するサーボモータであり、図示しない電源線を介して各相のコイルがサーボアンプ24に接続されている。サーボモータ33は、サーボアンプ24から電源線を通じて供給される三相交流に応じて駆動する。同様に、他のサーボモータ34,35の各々は、サーボアンプ24から電源線を通じて供給される三相交流に応じて駆動する。なお、サーボモータ36〜38の各々に設けられたロータリエンコーダ57は、各サーボモータ36〜38のエンコーダ信号をエンコーダ用ケーブル61を介して多重化通信装置39に出力する。サーボアンプ25は、多重化通信装置29,39を介して転送されたエンコーダ信号に基づいてサーボモータ36〜38の各々を駆動する。
【0016】
次に、多重化通信システムで伝送されるエンコーダ信号に対する誤り確認処理について説明する。なお、以下の説明では、多重化通信装置39を送信側、多重化通信装置29を受信側とした場合を中心に説明する。また、8つのモータ31〜38に対応するリニアスケール51,53及びロータリエンコーダ55,57の各々のエンコーダ信号をエンコーダ信号ENCD1〜ENCD8と称して説明する。
図2は多重化通信装置39の送信部分を中心に示すブロック図である。また、
図3は多重化通信装置29の受信部分を中心に示すブロック図である。
図2に示す多重化通信装置39の送信データ合成処理部201は、各装置から出力されるエンコーダ信号ENCD1〜ENCD8に対し誤り訂正符号の付加処理を行う。
【0017】
(送信データ合成処理部201の構成)
リニアスケール51から通信プロトコル変換器52(
図1参照)を介して出力されたエンコーダ信号ENCD1は、データ取込部203に一時的に取り込まれ、FEC付与部211によりハミング符号の前方誤り訂正符号FEC(7,4)が付与される。例えば、データ取込部203は、リニアスケール51(通信プロトコル変換器52)からエンコーダ信号ENCD1をHDLC(High level Data Link Control procedure)の通信規格に準拠した通信で読み出す際に、開始フラグS1及び終了フラグE1(
図8参照)を検出し必要なデータDATA2を取り込む処理を実行する。フレーム分割部221は、FECが付与されたエンコーダ信号ENCD1をフレームデータFRMDに応じて分割する。フレーム分割部221は、分割したエンコーダ信号ENCD1を多重化部219(MUX)に出力する。計数部234は、多重化部219がフレームデータFRMDを送信した回数を計数する。フレーム分割部221は、計数部234から出力される計数値に応じて次のデータをFEC付与部211から読み出す処理を行う。なお、FEC付与部211は、エンコーダ信号ENCD1の入力に応じてデータの有無を示す情報(
図4参照)を付加した上でハミング符号の前方誤り訂正符号FEC(7,4)を付与する。また、他の装置(リニアスケール53、ロータリエンコーダ55,57)から出力されるエンコーダ信号ENCD2〜ENCD8の処理については、エンコーダ信号ENCD1と同様であるため、説明を省略する。
【0018】
(受信データ分離処理部301の構成)
多重化部219は、入力されたエンコーダ信号ENCD1〜ENCD8を、例えば、入力ポートに対して割り当てた一定時間(タイムスロット)に応じて多重化する。多重化部219により多重化されたデータは、例えば、Gigabit Etherenet(登録商標)の通信規格に準拠した外部端子242を介してフレームデータFRMDとして多重通信用ケーブル11に送出される。
図3に示す多重化通信装置29は、多重通信用ケーブル11を通じて転送されたフレームデータFRMDを外部端子342を介して受信する。多重化通信装置29の受信データ分離処理部301は、非多重化部(DEMUX)319によりフレームデータFRMDから各エンコーダ信号ENCD1〜ENCD8が分離される。受信データ分離処理部301は、分離された各エンコーダ信号ENCD1〜ENCD8に対して誤り検出・訂正処理を行う。
【0019】
エンコーダ信号ENCD1は、複数のフレームデータFRMDに分割されたエンコーダ信号ENCD1がフレーム合成部311により合成される。計数部332は、非多重化部319がフレームデータFRMDを受信した回数を計数する。フレーム合成部311は、計数部332から出力される計数値に応じてエンコーダ信号ENCD1を合成し復号訂正処理部312に出力する。復号訂正処理部312は、合成されたエンコーダ信号ENCD1に対しハミング符号の前方誤り訂正符号(FEC)に応じて誤り検出を行ない、必要に応じて誤ったデータ値の訂正処理を行なう。訂正されたエンコーダ信号ENCD1は、データ出力部303に一時的に蓄積されY軸リニア用サーボアンプ22に転送される。なお、他のエンコーダ信号ENCD2〜ENCD8の処理については、エンコーダ信号ENCD1と同様であるため、説明を省略する。また、
図2に示す多重化通信装置39が備える受信データ分離処理部202の構成及び動作については、上記した受信データ分離処理部301と同様であるため、説明を省略する。同様に、
図3に示す多重化通信装置29が備える送信データ合成処理部302の構成及び動作については、
図2に示す送信データ合成処理部201と同様であるため、説明を省略する。
【0020】
図4は、多重化データ列としてのフレームデータFRMDの各ビット位置のデータを示している。フレームデータFRMDは、例えば1フレームが8ビットで構成されている。多重化通信装置29,39は、1フレーム当りの周期が8nsec(周波数が125MHz)に設定され、1Gbps(8ビット×125MHz)の通信回線を構築する。この通信回線は半2重通信である。
図4は、フレームデータFRMDを送信する1クロック(例えば8nsec)ごとに送信されるデータを示している。フレームデータFRMDは、20クロックを1サイクル(1周期)として、半周期ごとに送受信が切り替えられる。
図4は半周期(1/2サイクル)の0〜10クロックを示している。従って、
図4に示す例では、多重化通信装置29,39は、10クロック目で互いに同期を取って送受信を切り替える。
【0021】
フレームデータFRMDは、1/2サイクル(10クロック)のうち、エンコーダ信号ENCD1〜ENCD8を送信する前の3クロック(図示例ではクロック0〜2)でヘッダ情報などの制御情報が設定されている。また、フレームデータFRMDは、1/2サイクル(10クロック)のうち、6クロック(図示例ではクロック3〜9)にエンコーダ信号ENCD1〜ENCD8に係るデータが設定されている。フレームデータFRMDは、先頭ビット(ビット位置0)〜ビット位置7までの各ビットがこの順にエンコーダ信号ENCD1〜ENCD8に対応している。フレームデータFRMDは、クロック3,5における各ビット位置にエンコーダ信号ENCD1〜ENCD8(図中の「E1D〜E8D」)がビット割り当てされる。また、フレームデータFRMDは、クロック4,6における各ビット位置にエンコーダ信号ENCD1〜ENCD8のデータの有無を示す情報(図中の「E1D有〜E8D有」)がビット割り当てされる。データの有無を示す情報は、例えば、フレームデータFRMDのデータ転送レートに対して低速なエンコーダ信号ENCD1〜ENCD8が各ビット位置0〜7に設定されているか否かを示すための情報である。エンコーダ信号ENCD1〜ENCD8とエンコーダ信号ENCD1〜ENCD8の有無を示す情報とは、各サイクルで交互に設定される。また、フレームデータFRMDは、1サイクルのうち、3クロック(図示例ではクロック7〜9)が訂正符号FEC(7,4)として付加される3ビットの符号ビットが設定される。エンコーダ信号ENCD1〜ENCD8は、フレーム分割部221によりフレームデータFRMDの対応するビット割り当てのビット幅に応じて分割されて多重化部219に転送される。そして、多重化通信装置29,39は、3クロック続けて訂正符号FEC(7,4)が設定されたフレームデータFRMDを送信した後、10クロックで互いに同期を取って送受信を切り替える。なお、
図4に示すフレームデータFRMDの構成は一例であり、適宜変更できる。例えば、
図4に示すフレームデータFRMDの構成は、リニアスケール51,53及びロータリエンコーダ55,57が位置情報などのデータをシリアルで伝送する方式(シリアル伝送方式)のエンコーダとして構成された場合を例示しているが、他の方式のエンコーダで構成された場合にはフレームデータFRMDの各ビット位置のデータを変更してもよい。この他の方式のエンコーダを用いた場合のフレームデータFRMDの構成については後述する(
図9参照)。
【0022】
(ビット割り当て手段)
ここで、作業用ロボット10は、多重化通信装置39のみを可動部30とは別体で設け、多重化通信装置39以外の可動部30の装置(例えば、ロボットアーム)を、別体とした多重化通信装置39に対し着脱可能な構成としてもよい。この場合、多重化通信装置39の送信データ合成処理部201は、交換可能な種類の異なるロボットアーム(多重化通信装置39以外の可動部30の装置)が有するエンコーダから入力されるエンコーダ信号ENCDの入力数(接続したエンコーダの数など)に応じて、フレームデータFRMDのエンコーダ信号ENCDを設定するビット位置のうち入力データがない(エンコーダ信号ENCDが入力されない)ビット位置を非処理対象に設定することが好ましい。具体的には、
図4に示すように、フレームデータFRMDは、エンコーダ信号ENCDに対応するビット位置として第0〜7の8ビット幅が設定されている。例えば、送信データ合成処理部201は、多重化通信装置39に対し着脱可能なロボットアーム(可動部30)が交換され可動部30が内蔵するロータリエンコーダ57の数が変更されたことを検出する。送信データ合成処理部201は、例えば、確認信号をロボットアームに送出しその応答からロータリエンコーダ57が1個であることやロータリエンコーダ57が接続されている外部端子がどれであるかなどを検出する。また、送信データ合成処理部201は、フレームデータFRMDのロータリエンコーダ57に対応する3ビット(ビット位置5〜7)のうち、入力データがない、即ちロータリエンコーダ57が接続されていない2ビット(例えば、ビット位置6,7)に当該ビット位置が非処理対象であることを示すデータ(例えば、ビット値が常に「0」)を設定する。このような構成では、エンコーダ(ロータリ型サーボモータ33〜38)の数が少ないロボットアームに交換した場合にもフレームデータFRMDの構成等を変更することなく多重化通信を実行することができる。
【0023】
(多重化通信システムの通信の確立及び通信エラー処理)
次に、多重化通信システムの起動時の通信確立及び通信中のエラー処理について説明する。多重化通信装置29が備える送信部としての送信データ合成処理部201(
図2参照)及び受信部としての受信データ分離処理部301(
図3参照)は、プログラム可能なロジックデバイス、例えばFPGA(Field Programmable Gate Array)の回路ブロックとして構成される。このうち、例えば、受信データ分離処理部301の非多重化部319は、多重通信用ケーブル11における通信確立及び通信エラーを示す信号をコントローラ21に送信する。
【0024】
多重化通信システムの通信の確立処理及び通信中のエラー処理について、
図5及び
図6に示すフローチャートに従って説明する。
まず、コントローラ21は、作業用ロボット10の起動にともなって処理(
図5の左側のフローの処理)を開始する。コントローラ21は、例えば、生産ラインのネットワークに接続された統括制御装置(図示略)から生産ジョブの指令を受信する(ステップS11)。なお、作業用ロボット10は、コントローラ21が作業用ロボット10内のメモリから生産ジョブを読み出して処理する単独で動作する装置として構成してもよい。コントローラ21は、生産ジョブの開始に先立ち、多重通信の確立を示す多重内部状態信号SI1を多重化通信装置29から受信する処理を開始する(ステップS12)。コントローラ21は、多重化通信装置29から多重内部状態信号SI1が入力されるまで待ち状態となる(ステップS13:NO)。
【0025】
一方、多重化通信装置29は、作業用ロボット10の起動にともなって処理(
図5の右側のフローの処理)を開始する。多重化通信装置29は、装置本体20が備えるメモリ等からコンフィグレーションデータを読み出して送信データ合成処理部201及び受信データ分離処理部301を含むFPGA内の回路ブロックを構築する処理を開始する(ステップS21)。多重化通信装置29は、コンフィグレーションが完了すると、送信データ合成処理部201が対向する多重化通信装置39の受信データ分離処理部301に向けて通信回線を構築する処理を開始する確認信号を送信する(ステップS22)。多重化通信装置29は、多重化通信装置39から応答信号を受信するまで定期的に確認信号を送信して通信回線の構築を実行する(ステップS23:NO)。多重化通信装置29は、受信データ分離処理部301の非多重化部319が多重化通信装置39からの応答信号を受信し通信回線の構築が完了すると(ステップS23:YES)、コントローラ21に向けて通信を確立した旨の多重内部状態信号SI1を送信する(ステップS24)。コントローラ21は、多重内部状態信号SI1を受信し通信回線の確立を検出すると(ステップS13:YES)、アンプ22〜25を起動する(
図6のステップS14)。コントローラ21は、アンプ22〜25の全てから起動の完了を示す信号が入力されるまではアンプ22〜25に対する制御を停止する(ステップS15:NO)。コントローラ21は、アンプ22〜25の起動完了を検出すると(ステップS15:YES)、確立された通信回線を介した多重化通信システムにおいてデータを伝送しつつ、可動部30による生産作業を開始する(ステップS16)。
【0026】
一方で、多重化通信装置29は、通信回線を確立すると、多重化通信装置39とのデータ伝送を開始する(
図6のステップS25)。多重化通信装置29は、作業中の通信回線の異常(通信エラー)を監視する。例えば、多重化通信装置29は、確認信号を多重化通信装置39に定期的に送信してその応答信号を確認することで通信エラーを判定する(ステップS26:NO)。多重化通信装置29は、通信エラーを検出した場合(ステップS26:YES)に、コントローラ21に多重異常信号SI2を送信する(ステップS27)。
【0027】
また、多重化通信装置29,39は、通信回線の通信エラーの他に、多重化の対象信号を出力する装置との接続を監視する。例えば、多重化通信装置29は、コントローラ21やアンプ22〜25との接続に異常がないかを定期的に監視する。また、例えば、多重化通信装置39は、リニアスケール51との接続に異常がないかを定期的に監視する。多重化通信装置29,39は、他の装置から所定時間だけ入力がない場合や確認信号に対する応答がない場合に接続の異常を検出する。多重化通信装置29,39は、接続異常を検出するとコントローラ21に多重異常信号SI2を送信する(ステップS27)。
【0028】
コントローラ21は、作業用ロボット10が作業を開始すると、多重化通信装置29から多重異常信号SI2の入力があるか否かを監視する(ステップS17)。コントローラ21は、多重異常信号SI2の入力がなければ(ステップS18:NO)、生産作業(ステップS16,S17)を継続して実行する。また、コントローラ21は、多重化通信装置29から多重異常信号SI2が入力されると(ステップS18:YES)、アンプ22〜25の停止やアラーム表示などのエラー処理を実行する。
【0029】
(アンプ22〜25の起動タイミング)
次に、アンプ22〜25の起動タイミングについて説明する。上記した通り、多重化通信装置29は、作業用ロボット10の起動にともなって、コンフィグレーションデータに基づいて送信データ合成処理部201等を含むFPGA内の回路ブロックを構築する処理を行う(
図5のステップS21参照)。また、多重化通信装置29は、コンフィグレーションが完了すると多重化通信装置39と通信回線の構築を開始する(ステップS22,S23)。従って、作業用ロボット10は、起動してから装着作業が開始できる状態になるまでには多重化通信システムを準備する一定時間を要する。
【0030】
一方、アンプ22〜25は、起動にともなって対向する装置(リニアスケール51やロータリエンコーダ55)の状態を確認する必要がある。しかしながら、上記した通り、作業用ロボット10は、起動を開始してから一定時間はデータ伝送が困難であるため、多重化通信装置29とアンプ22〜25とを同時に起動させるとアンプ22〜25からリニアスケール51などへの状態確認を行う通信がエラーとして処理されることとなる。そこで、本実施例の多重化通信装置29は、アンプ22〜25との起動タイミングの調整が図られている。多重化通信装置29は、ステップS23(
図5参照)において通信回線の確立を判定している。また、コントローラ21は、多重化通信装置29が通信回線の確立を検出して送信する多重内部状態信号SI1を受信するまではアンプ22〜25を起動しない設定となっている(ステップS13)。これにより、アンプ22〜25は、通信回線が確実に確立されてから対向する装置に対する通信を開始するため、通信エラーなどの不具合が生じることなく適切にデータの送受信が行われる。
【0031】
なお、コントローラ21は、多重内部状態信号SI1による判定を行わずに、多重化通信装置29,39の起動が開始される時点を起点とした遅延時間(以下、「起動遅延時間」という)が経過した後にアンプ22〜25を起動する設定でもよい。
図5に示すように、ステップS21における起動時のコンフィグレーションは、例えば回路ブロックの構築が完了するまでに約1s(秒)を要する。また、ステップS22における通信確立の処理は、例えば通信回線が確立されるまでに約3s(秒)を要する。従って、コントローラ21は、例えば起動から5秒の起動遅延時間が経過した後に、アンプ22〜25を起動することで、アンプ22〜25と対向する装置とのエンコーダ信号ENCD1〜ENCD8の送受信が適切に行われる。また、上記した起動遅延時間が経過したか否かの確認は、コントローラ21が実施せずに、多重化通信装置29がコントローラ21に対して通知する構成でもよい。
【0032】
(アンプ22,23とリニアスケール51,53との通信)
次に、アンプ22,23とリニアスケール51,53との通信について説明する。以下の説明では、一例としてY軸リニア用サーボアンプ22とのリニアスケール51との通信について説明する。
図7に示すように、多重化通信装置39は、送受信切替手段601を介して通信プロトコル変換器52及びリニアスケール51に接続されている。なお、
図7は、説明を理解し易くするために多重化通信装置29,39が備える各装置を省略して示している。本実施例のリニアスケール51は、通信プロトコル変換器52を介してアンプ22と同期式の半2重通信によりエンコーダ信号ENCD1の送受信を行う。同期式通信は、例えば、HDLC(High level Data Link Control procedure)の通信規格に準拠した通信であり、通信速度は例えば8Mbpsである。また、この同期式通信は、ノイズに強いマンチェスタ符号を用いてデータが伝送されるものとする。この場合、マンチェスタ符号化後の通信速度は4Mbpsである。
【0033】
本実施例のリニアスケール51は、アンプ22が処理する通信プロトコル(例えばHDLC)と異なる通信プロトコルで通信を行う。通信プロトコル変換器52は、リニアスケール51の入出力データをHDLCに準拠した同期式通信の入出力データに変換し送受信切替手段601に出力する。送受信切替手段601は、通信プロトコル変換器52との半2重通信の送信及び受信を切り替える。同様に、多重化通信装置29が備える送受信切替手段602は、アンプ22と接続される通信線における半2重通信の送受信を切り替える。なお、送受信切替手段601,602は、FPGA等のプログラム可能なロジックデバイスの回路ブロックである。
【0034】
図8は、アンプ22とリニアスケール51との半2重通信の一例を示している。アンプ22及びリニアスケール51の各々は、周期T1の間にデータの送信をそれぞれ1回実施する。周期T1は例えば61μsである。アンプ22は、周期T2においてリニアスケール51に向けてデータDATA1(エンコーダ信号ENCD1)を送信する。周期T2は、例えば30μsである。アンプ22は、データDATA1の先頭に開始フラグS1を付加し、データDATA1の最後に終了フラグE1を付加して送受信切替手段602に出力する。開始フラグS1及び終了フラグE1は、任意のビット値であり例えば「01111110」の8ビットのデータである。また、アンプ22は、1周期前のデータ伝送が終了して次のデータDATA1の送信を開始する前に、同期を確立するためのダミーデータD1を送信する。ダミーデータD1は、例えば「1111・・・」のビット値であり、同一の信号レベル(例えばハイレベル)のビットが連続するデータである。このデータDATA1の送信は、多重化通信装置29(例えば、フレーム分割部221)によりフレームデータFRMDの対応するビット位置のビット幅に分割されて伝送される。
【0035】
また、リニアスケール51は、周期T2が終了した後、送受信の切替時間T3の経過後の周期T4においてアンプ22に向けてデータDATA2(エンコーダ信号ENCD1)を送信する。切替時間T3は例えば1μsである。周期T4は、例えば30μsである。なお、リニアスケール51から出力されるデータは、上記した通信プロトコル変換器52によりHDLCに準拠したデータDATA2に変換され開始フラグS2及び終了フラグE2が付加される。通信プロトコル変換器52により変換されたデータ(データDATA2等)は、送受信切替手段601を通じて多重化通信装置29に向けて転送され、対向する多重化通信装置29の送受信切替手段602からアンプ22に出力される。送受信切替手段602は、切替時間T3が経過してデータ(データDATA2等)の送信を開始する前に、アンプ22との同期を確立するためのダミーデータD2を送信する。
【0036】
上記した半2重通信において、送受信切替手段602は、例えば、ダミーデータD1から開始フラグS1に信号レベルが変わる(ビット値が「1」から「0」に変わる)ビットの立ち下がりで送信の開始を検出する。また、送受信切替手段602は、終了フラグE1,E2を示すビット値「01111110」を検出した回数で送信の終了を検出する。例えば、送受信切替手段602は、ビットの立ち下がりを検出してからビット値「01111110」を1回検出、即ち終了フラグE1を検出するとアンプ22との通信の送受信を切り替える。また、送受信切替手段602は、ビットの立ち下がりを検出してからビット値「01111110」を3回(終了フラグE1,E2及び開始フラグS2)検出、即ち終了フラグE2をした時点で、アンプ22との通信の送受信を切り替える。これにより、送受信切替手段602は、データDATA1及びデータDATA2のビット幅が異なるデータ構造(通信規格)の半2重通信であっても、送信及び受信を切り替えるタイミングを適切に検出することが可能となる。なお、送受信切替手段601は、送受信切替手段602と同様の処理を通信プロトコル変換器52の入出力データに対して行うことで、送信及び受信を切り替えるタイミングを適切に検出することが可能となる。
【0037】
また、
図7に示すように、多重化通信装置39は、アンプ22からの同期式通信のデータDATA1を受信側で蓄積するバッファ部605を備える。同様に、多重化通信装置29は、リニアスケール51からの同期式通信のデータDATA2を受信側で蓄積するバッファ部606を備える。バッファ部605,606は、例えば、FIFO(First In First Out)方式の記憶領域を備える。ここで、
図8に示す例では、周期T2においてアンプ22からリニアスケール51に送信されるデータのうち、開始フラグS1から終了フラグE1までの各ビットは、同期が保たれた状態で受信側の多重化通信装置39において送受信切替手段601から通信プロトコル変換器52(リニアスケール51)に出力される必要がある。しかしながら、
図4に示すように、エンコーダ信号ENCD1(データDATA1)は、割り当てられたクロックのフレームデータFRMDの特定のビット位置で1ビットごとに送信されるため、アンプ22からリニアスケール51への通信が連続に送信されない。つまり、アンプ22からリニアスケール51へのデータ伝送は、多重化通信装置29,39の多重化通信による遅延時間が生じる。このため、アンプ22及びリニアスケール51のデータ伝送は、このような多重通信の遅延の他に、データの誤り発生率、ジッタ等に起因して同期ずれが生じる虞がある。
【0038】
そこで、本実施例の多重化通信装置29,39では、受信側においてエンコーダ信号ENCD1を一時的に蓄積するバッファ部605,606を設けることで同期式通信の構築を可能とする。例えば、バッファ部605は、予め設定されたデータ量、例えば1ビット幅(マンチェスタ符号化後の2ビット分)のデータ量のエンコーダ信号ENCD1を蓄積した後に、送受信切替手段601への送信を開始する構成となっている。なお、バッファ部605の記憶領域の容量は、多重化通信のデータ転送レートや同期式通信のデータDATA1が出力されるデータ出力間隔時間等に基づいてシミュレーションを行って設定される。バッファ部605は、アンプ22から送信され受信データ分離処理部301(
図3参照)が復号、誤り処理をして出力したエンコーダ信号ENCD1を一時的に蓄積し送受信切替手段601へ出力する。これにより、送受信切替手段601は、多重化通信による遅延時間等がバッファ部605により解消され、同期が保たれた状態でエンコーダ信号ENCD1が転送される。従って、多重化通信装置39は、エンコーダ信号ENCD1をバッファ部605に蓄積して送受信切替手段601から通信プロトコル変換器52に出力することで多重化通信を介したデータ伝送による遅延等が生じてもアンプ22と通信プロトコル変換器52(リニアスケール51)との間において同期式通信が可能となる。同様に、多重化通信装置29は、通信プロトコル変換器52からのエンコーダ信号ENCD1をバッファ部606に蓄積することで、アンプ22と通信プロトコル変換器52との間において同期式通信が可能となる。
【0039】
以上、詳細に説明した本実施例によれば以下の効果を奏する。
<効果1>作業用ロボット10の可動部30が備える多重化通信装置39は、リニアスケール51,53及びロータリエンコーダ55,57から出力されるエンコーダ信号ENCD1〜ENCD8をフレームデータFRMD(多重化データ列)に多重化して送信する送信データ合成処理部201を備える(
図2参照)。送信データ合成処理部201は、リニアスケール51,53及びロータリエンコーダ55,57の各々に対応するフレームデータFRMDのビット位置にエンコーダ信号ENCD1〜ENCD8をビット割り当てする。エンコーダ信号ENCD1〜ENCD8が設定されるビット位置には、フレームデータFRMDを送信するサイクル毎にエンコーダ信号ENCD1〜ENCD8とエンコーダ信号ENCD1〜ENCD8のデータの有無を示す情報とが交互に設定される。この構成では、エンコーダ信号ENCD1〜ENCD8は、決められたサイクルの任意のビット位置で送信される。エンコーダ信号ENCD1〜ENCD8を送信するサイクルやビット位置は、例えばエンコーダ信号ENCD1〜ENCD8に基づくモータ31〜38へのフィードバック制御に対して要求される応答速度、精度などの装着作業におけるデータの優先度に応じて変更される。また、エンコーダ信号ENCD1〜ENCD8を送信するサイクルやビット位置は、多重化通信装置29,39間の通信速度などの作業用ロボット10に搭載可能な通信手段の条件に応じても変更される。つまり、本実施例の作業用ロボット10は、多重化されるフレームデータFRMDに対し、エンコーダ信号ENCD1〜ENCD8を送信するサイクルやビット位置を適宜変更できる。従って、この構成では、エンコーダ信号ENCD1〜ENCD8に基づいたモータ31〜38に対するフィードバック制御の応答速度を好適に維持可能な多重化通信システムが構築できる。
【0040】
<効果2>コントローラ21は、多重化通信装置29が通信回線の確立を検出して送信する多重内部状態信号SI1を受信するまでアンプ22〜25を起動しない(
図5のステップS13参照)。これにより、アンプ22〜25は、通信回線が確実に確立されてから対向するリニアスケール51などに対する状態の問い合わせ等の通信を開始するため、起動時に通信エラーにより状態確認が不能となるなどの不具合が生じることなく好適にデータの送受信が開始される。
【0041】
<効果3>多重化通信装置39は、エンコーダ信号ENCD1を一時的に蓄積するバッファ部605(
図7参照)が設けられている。これにより、多重化通信装置39は、エンコーダ信号ENCD1をバッファ部605に蓄積してから送受信切替手段601に出力することで多重化通信のデータ伝送による遅延等が生じてもリニアスケール51との間において同期式通信が可能となる。
【0042】
<効果4>多重化通信装置39が備える送受信切替手段601(
図7参照)は、アンプ22とリニアスケール51(通信プロトコル変換器52)との間の半2重通信において、ダミーデータD1(
図8参照)から開始フラグS1に信号レベルが変わるビットの立ち下がりで送信の開始を検出する。また、送受信切替手段601は、終了フラグE1,E2及び開始フラグS2を示すビット値を検出した回数で送信の終了を検出する。これにより、送受信切替手段601は、データDATA1及びデータDATA2のビット幅が異なるデータ構造(通信規格)の半2重通信であっても、送信及び受信を切り替えるタイミングを適切に検出することが可能となる。また、送受信切替手段601は、開始フラグS1のビット値を分析・判定等せずに、ビットの立ち下がりのみで送信の開始が判定できる。従って、送受信切替手段601は、小規模な処理回路で実現でき、例えば、FPGAの回路ブロックで構成することで多重化通信装置39の製造コストの低減が可能となる。
【0043】
<効果5>可動部30は、通信プロトコル変換器52を備える。通信プロトコル変換器52は、アンプ22の通信プロトコルと異なる通信プロトコルでデータ伝送を行うリニアスケール51の入出力データを、アンプ22の通信プロトコルに適合した入出力データに変換する。これにより、可動部30は、アンプ22と異なる通信プロトコルのリニアスケール51を多重化通信装置39に接続することが可能となる。
【0044】
ここで、アンプ22〜25は、駆動制御部の一例である。リニアスケール51,53及びロータリエンコーダ55,57は、エンコーダの一例である。送信データ合成処理部201,302のフレーム分割部221及び多重化部219は、ビット割り当て手段を構成する。多重化通信装置29の
図5に示すステップS24の処理は、通知手段を構成する。フレームデータFRMDは、多重化データ列の一例である。多重化部(MUX)219は、多重化手段の一例である。非多重化部(DEMUX)319は、復元手段の一例である。通信プロトコル変換器52は、プロトコル変換手段の一例である。
【0045】
なお、本発明は上記の実施例に限定されるものではなく、本発明の趣旨を逸脱しない範囲内での種々の改良、変更が可能であることは言うまでもない。
例えば、本実施例では、Gigabit Etherenet(登録商標)の通信規格に準拠した多重通信用ケーブル11(LANケーブル)を介した多重化通信を例に説明したが、本願はこれに限定されるものではない。他の有線通信(例えば、光ファイバーケーブル、USBケーブルなど)を介した多重化通信においても同様に適用でき、有線ではなく無線通信においても同様に適用することができる。また、フレームデータFRMDのビット位置の構成やフレームデータFRMDに多重化するデータの種類(エンコーダ信号ENCD1〜ENCD8以外のセンサ信号など)を適宜変更してもよい。例えば、上記実施例では、作業用ロボット10は、可動部30の全てのモータ31〜38(移動機構)のリニアスケール51,53及びロータリエンコーダ55,57のエンコーダ信号ENCD1〜ENCD8を多重化したが、エンコーダ信号ENCD1〜ENCD8の少なくとも一つ、例えば可動部30をY軸方向へ移動させるY軸用リニアモータ31(リニアスケール51)に対応するエンコーダ信号ENCD1のみをフレームデータFRMDで転送する構成でもよい。これにより、固定部(装置本体20のアンプ22〜25)と、可動部30に備える装置とを接続するケーブルの可撓性やデータ転送レートなどに応じて、可動部30の各々の装置のデータを多重化通信システムにより伝送する必要があるか否かを選択できる作業用ロボット10が構成できる。
【0046】
また、上記実施例では、可動部30は、リニアスケール51,53及びロータリエンコーダ55,57として、位置情報などのデータをシリアルで伝送する方式(シリアル伝送方式)のエンコーダを備えたが、これに限らず、他の方式例えばA,B,Zの各相のパルスをパラレルに伝送する方式(パラレル伝送方式)のエンコーダを備えてもよく、あるいは方式が異なる複数種類のエンコーダを備える構成でもよい。
図9は、可動部30が備える8個のエンコーダをすべてパラレル伝送方式のロータリエンコーダとした場合のフレームデータFRMDの各ビット位置のデータを示している。なお、以下の説明では、
図4と同様の構成(ビット値の設定)についての説明を適宜省略する。
【0047】
図9に示すフレームデータFRMDは、クロック3におけるビット位置0〜7までの各ビット位置にエンコーダ信号ENCD1〜ENCD8(図中の「E1D〜E8D」)がビット割り当てされている。このE1D〜E8Dの各々には、例えばロータリエンコーダの回転軸の回転にともなって出力されるA相のパルス数(回転量)を示すデータが設定される。また、フレームデータFRMDは、クロック4における各ビット位置に例えばロータリエンコーダの回転方向に係るデータ(図中の「E1N〜E8N」)がビット割り当てされている。このE1N〜E8Nの各々は、例えば、ロータリエンコーダが時計回り(CW)に回転しA相のパルス信号の立ち上がり時にB相のパルス信号がLOWレベルであればビット値に「0」が設定される。また、このE1N〜E8Nの各々は、例えば、ロータリエンコーダが反時計回り(CCW)に回転しA相のパルス信号の立ち上がり時にB相のパルス信号がHighレベルであればビット値に「1」が設定される。また、フレームデータFRMDは、クロック5における各ビット位置にZ相のパルス信号の信号レベル(Highレベル又はLOWレベル)のデータ(図中の「E1Z〜E8Z」)がビット割り当てされている。Z相のパルス信号は、例えば、ロータリエンコーダの1回転に1回だけHighレベルのパルスが出力される。また、フレームデータFRMDは、クロック6における各ビット位置にエンコーダ信号ENCD1〜ENCD8のデータ(クロック3の「E1D〜E8D」)の有無を示す情報がビット割り当てされている。上記したように、この構成では、他の伝送方式のエンコーダであってもエンコーダ信号ENCD1〜ENCD8のデータ形式に応じてフレームデータFRMDの構成を変更することで、上記実施例と同様の効果を得ることができる。
【0048】
また、上記実施例では生産作業を実施する作業用ロボット10を例に説明したが、本願の多重化通信システムはこれに限定されることなく、例えば電子部品を回路基板に実装する電子部品装着装置のデータ伝送に適用してもよい。また、例えば切削等を行う工作機械に適用してもよい。
【0049】
次に、上記実施例の内容から導き出される技術的思想について記載する。
(イ)前記ビット割り当て手段は、前記エンコーダ信号の入力数に比べてビット割り当てした前記ビットのビット幅が大きい場合に、ビット割り当てした複数のビットのうち、前記エンコーダ信号の入力がないものに対応する前記ビットを非処理対象に設定することを特徴とする請求項1乃至請求項6のいずれかに記載の多重化通信システム。
このような構成では、多重化通信システムの一部を変更又は交換するなどによって、エンコーダの数が減少しエンコーダ信号の入力数が減少した場合にも多重化データ列の構成を変更することなく多重化通信を継続することができる。
【0050】
(ロ)前記電磁モータ及び前記エンコーダを有する可動部が着脱可能に接続されるものであり、
前記ビット割り当て手段は、当該多重化通信システムに接続される前記可動部が有する前記エンコーダから入力される前記エンコーダ信号の入力数が減少した場合に、前記エンコーダ信号の入力がないものに対応する前記ビットを非処理対象に設定することを特徴とする上記(イ)に記載の多重化通信システム。
このような構成では、着脱可能な可動部を交換しエンコーダの数が減少するなどによってエンコーダ信号の入力数が減少した場合にも多重化データ列の構成を変更することなく多重化通信を継続することができる。