(57)【特許請求の範囲】
【請求項１】
ロギングの対象となる装置で伝送される互いに通信速度が異なる複数の種類の通信データを入力する入力部と、
前記入力部を介して入力した前記複数の種類の通信データの各々を、通信速度に応じたサンプリング時間でサンプリングするサンプリング部と、
を備えるロギング装置。
【請求項２】
前記複数の種類の通信データの各々における入力があるか否かを前記サンプリング時間ごとに検出する検出部を備える請求項１に記載のロギング装置。
【請求項３】
前記検出部は、
前回の入力を検出した時間と、その次に入力を検出した時間との差分時間を、前記複数の種類の通信データと関連付けて保存する、請求項２に記載のロギング装置。
【請求項４】
前記複数の種類の通信データを画像データの形式で出力し、前記画像データの画素値を設定するデータ領域に前記複数の種類の通信データを設定し、設定した通信データの種類、及びその通信データをサンプリングした前記サンプリング時間に係わる情報をヘッダ情報として付加する、請求項１乃至請求項３の何れか１項に記載のロギング装置。
【請求項５】
外部記憶装置を接続可能な外部インタフェースを備え、
前記サンプリング部は、
前記複数の種類の通信データを、前記外部インタフェースを介して前記外部記憶装置に保存する、請求項１乃至請求項４の何れか１項に記載のロギング装置。
【請求項６】
前記サンプリング部は、
前記複数の種類の通信データから共通化可能な通信データを抽出し、抽出した通信データを共通のデータ形式に変換する、請求項１乃至請求項５の何れか１項に記載のロギング装置。
【請求項７】
前記サンプリング部は、
前記複数の種類の通信データの各々について予め設定された演算処理を実行してから保存する、請求項１乃至請求項６の何れか１項に記載のロギング装置。
【請求項８】
ロギングの対象となる装置で伝送される互いに通信速度が異なる複数の種類の通信データを入力する入力工程と、
前記入力工程を介して入力した前記複数の種類の通信データの各々を、通信速度に応じたサンプリング時間でサンプリングするサンプリング工程と、
を含むサンプリングの方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、通信データをサンプリングするロギング装置及びサンプリングの方法に関するものである。
【背景技術】
【０００２】
従来、デジタル信号を保存するロギング装置がある（例えば、特許文献１など）。特許文献１のロギング装置は、多チャンネルのデジタル信号の論理レベルをコンパレータで判断し、コンパレータの出力信号をサンプリング回路でサンプリングする。ロギング装置は、サンプリング回路でサンプリング時間毎に検出した検出信号をメモリに保存する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開昭６２−２５５８８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、従来のロギング装置では、ロギングの対象のデジタル信号が同一の通信速度であることを前提としていた。このため、通信速度の異なる通信データを適切にサンプリングできない虞があった。【０００５】
本開示は、上記の課題に鑑みてなされたものであり、通信速度に応じたサンプリングができるロギング装置及びサンプリングの方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本開示は、ロギングの対象となる装置で伝送される互いに通信速度が異なる複数の種類の通信データを入力する入力部と、前記入力部を介して入力した前記複数の種類の通信データの各々を、通信速度に応じたサンプリング時間でサンプリングするサンプリング部と、を備えるロギング装置を開示する。【０００７】
また、上記課題を解決するために、本開示は、ロギングの対象となる装置で伝送される互いに通信速度が異なる複数の種類の通信データを入力する入力工程と、前記入力工程を介して入力した前記複数の種類の通信データの各々を、通信速度に応じたサンプリング時間でサンプリングするサンプリング工程と、を含むサンプリングの方法を開示する。
【発明の効果】
【０００８】
本開示のロギング装置、サンプリングの方法によれば、通信速度が異なる各通信データについて通信速度に応じたサンプリングをすることができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態のロギング装置のハード構成を示す図である。
【図２】ＦＰＧＡの内部ブロックを示す図である。
【図３】ロギング対象の装着装置にロギング装置を接続した状態を示す図である。
【図４】装着装置及びローダの概略構成を示す斜視図である。
【図５】各コネクタと、各コネクタから入力した通信データをサンプリングするサンプリング時間等を示す図である。
【図６】ロギングセレクタ処理部によって保存するデータの形式を示す図である。
【図７】バッファ回路から出力される通信データの関連付けを説明するための図である。
【図８】保存するデータに付加する情報を示す図である。
【図９】トリガ条件を示す図である。
【図１０】ＥｔｈｅｒＣＡＴ（登録商標）のネットワークで送受信される通信データのデータ形式を示す図である。
【図１１】別例のロギング対象の装着装置にロギング装置を配置した状態を示す図である。
【発明を実施するための形態】
【００１０】
以下、本開示のロギング装置を具体化した一実施形態であるロギング装置１０について図面を参照しながら説明する。図１は、本実施形態のロギング装置１０のハード構成を示している。図２は、ロギング装置１０が備えるＦＰＧＡ１１の内部ブロックを示している。図１及び図２に示すように、ロギング装置１０は、ＦＰＧＡ１１と、電源回路１３と、ＤＤＲメモリ１５と、不揮発性メモリ１７と、各種のコネクタを備えている。
【００１１】
ＦＰＧＡ１１は、例えば、Field Programmable Gate Arrayなどのプログラム可能なロジックデバイスやＣＰＵなどを備えている。ＦＰＧＡ１１は、図２に示す各種の回路ブロックを有している。ＦＰＧＡ１１は、例えば、不揮発性メモリ１７に保存されたコンフィグ情報（コンフィグレーションデータ）に基づいて、ロギングセレクタ処理部５１などの回路ブロックを構築する。ＦＰＧＡ１１は、ロギングセレクタ処理部５１等により、ロギング処理を行う。なお、ロギングセレクタ処理部５１等は、ＦＰＧＡ１１の論理回路に限らず、例えば、プログラマブルロジックデバイス（ＰＬＤ）や複合プログラマブルロジックデバイス（ＣＰＬＤ）の論理回路でも良い。また、ロギングセレクタ処理部５１等は、論理回路に限らず、ＡＳＩＣなどの特定用途向けの集積回路でも良い。また、ロギングセレクタ処理部５１等を、ハードウェアではなく、ソフトウェアで実現しても良い。
【００１２】
ＦＰＧＡ１１は、トリガ制御処理部５３、ＥＮＣ処理部５５、ＵＡＲＴ処理部５７、Ｍ２処理部５９、１００ｂａｓｅ−ｔｘ処理部６１、高速ＰＩＯ処理部６２、低速ＰＩＯ処理部６３、ＡＤＣ処理部６４等を備えている。トリガ制御処理部５３は、後述するように、ロギングの開始指示を行う。ＥＮＣ処理部５５等は、各コネクタから入力した通信データのサンプリングやプロトコル解析などを実行する。
【００１３】
電源回路１３は、ロギング装置１０の電源として機能する回路である。電源回路１３は、例えば、ＡＣ／ＤＣ変換回路等を備え、電源コネクタ１８を介して商用電源等から電力を受電する。電源回路１３は、受電した電力をロギング装置１０の各種装置へ供給する。なお、ロギング装置１０の電源の構成は、特に限定されない。例えば、ロギング装置１０は、充電式のバッテリを備えても良く、無線による給電を受ける構成でも良い。
【００１４】
次に、ロギング装置１０が備える各種のコネクタについて説明する。ロギング装置１０は、ロギング対象の装置や他の装置と接続するための各種のコネクタを備えている。なお、図１及び図２に示すロギング装置１０のコネクタの種類や数は、一例である。
【００１５】
ＲＳ−２３２Ｃコネクタ２０は、ＲＳ−２３２ＣドライバＩＣ２２を介してＦＰＧＡ１１と接続されている。ＲＳ−２３２ＣドライバＩＣ２２は、ＲＳ−２３２Ｃ規格に準拠した通信を行うドライバ回路であり、例えば、ＲＳ−２３２Ｃコネクタ２０から入力されたデジタル信号の論理値の判断などを実行する。ＲＳ−２３２ＣドライバＩＣ２２は、ＦＰＧＡ１１のトリガ制御処理部５３を介してロギングセレクタ処理部５１と接続されている。ＲＳ−２３２Ｃコネクタ２０は、例えば、パーソナルコンピュータ（以下、単に「ＰＣ」という）９８（図３参照）と接続される。ユーザは、例えば、ＰＣ９８を操作することで、ロギング装置１０に対する設定を行うことができる。より具体的には、トリガ制御処理部５３は、例えば、ＲＳ−２３２Ｃコネクタ２０に接続されたＰＣ９８から入力した指示信号に基づいて、ロギングセレクタ処理部５１に対するロギングの開始を指示する。また、トリガ制御処理部５３は、例えば、ＥＮＣ処理部５５、ＵＡＲＴ処理部５７、Ｍ２処理部５９等からロギングの開始を指示する指示信号を入力する構成となっている。トリガ制御処理部５３は、ＥＮＣ処理部５５等から入力した指示信号に基づいて、ロギングセレクタ処理部５１に対するロギングの開始を指示する。
【００１６】
また、ロギング装置１０は、ＡＢＳエンコーダ用コネクタ２４を６つ備えている。ＡＢＳエンコーダ用コネクタ２４の各々は、ＲＳ−４８５ドライバＩＣ２５を介してＦＰＧＡ１１に接続されている。ＡＢＳエンコーダ用コネクタ２４は、例えば、ＲＳ−４８５規格の通信ケーブルにおける通信線とＧＮＤ線とを分岐させたケーブルが接続され、ＲＳ−４８５規格に準拠した通信データを入力する。ＲＳ−４８５ドライバＩＣ２５は、ＲＳ−４８５規格に準拠した通信データの論理値の判断等を実行し、処理したデジタル信号をＦＰＧＡ１１へ出力する。これにより、ＦＰＧＡ１１は、ロギング対象のＲＳ−４８５規格の通信ケーブルから通信データをバイパスして受信することができる。なお、ロギング装置１０とロギング対象の装置等を接続する方法は、特に限定されない。例えば、ＡＢＳエンコーダ用コネクタ２４は、ロギング対象の装置の端子に接続するためのプローブやグランパーなどを備える構成でも良い。
【００１７】
図３は、ロギング対象の装置である電子部品装着装置（以下、「装着装置」と略する場合がある）８１にロギング装置１０を接続した状態を示している。図４は、装着装置８１及びローダ８２の概略構成を示す斜視図である。なお、図３は、図面が煩雑となるのを避けるため、通信ケーブルやモニター用のケーブルの一部を省略している。また、以下の説明では、図４に示すように、装着装置８１の左右方向をＸ方向と称し、前後方向をＹ方向と称し、Ｘ方向及びＹ方向に垂直な方向を上下方向（Ｚ方向）と称して説明する。
【００１８】
装着装置８１は、回路基板１１０に対して電子部品を装着する装置である。装着装置８１は、例えば、Ｘ方向に並べられた複数の装着装置８１によって生産ラインを構成する。図３及び図４に示すように、装着装置８１は、ベース１１３と、ベース１１３上に設けられたモジュール１１５とを備えている。ベース１１３は、隣り合う装着装置８１のベース１１３と互いに連結される。モジュール１１５は、例えば、ベース１１３に対して前後方向へスライド移動可能となっており、他のモジュール１１５と交換可能となっている。モジュール１１５は、本体部８３と、基板搬送装置１１７と、フィーダ台１１９と、ヘッド移動機構８４と、ヘッド部８５とを備えている。本体部８３は、装着装置８１を統括的に制御するコントローラ８９を備えている。
【００１９】
基板搬送装置１１７は、モジュール１１５内に設けられ、回路基板１１０をＸ方向に搬送する。フィーダ台１１９は、モジュール１１５の前面に設けられ、側面視がＬ字状の台である。フィーダ台１１９は、Ｘ方向に複数配列されたスロット（図示略）を備える。フィーダ台１１９の各スロットには、電子部品を供給するフィーダ１２１が装着される。フィーダ１２１は、例えば、電子部品を所定のピッチで収容するテープから電子部品を供給するテープフィーダである。
【００２０】
ヘッド部８５は、フィーダ１２１から供給された電子部品を吸着する吸着ノズル８５Ａを備え、吸着ノズル８５Ａで吸着した電子部品を回路基板１１０に装着する。ヘッド移動機構８４は、Ｘ方向及びＹ方向の任意の位置にヘッド部８５を移動させる。詳述すると、ヘッド移動機構８４は、ヘッド部８５をＸ方向に移動させるＸ軸スライド８６と、ヘッド部８５をＹ方向に移動させるＹ軸スライド８７とを備える。
【００２１】
Ｘ軸スライド８６は、リニアモータ９１（図３参照）を駆動し、モジュール１１５内（本体部８３の上方）においてヘッド部８５をＸ方向に移動させる。Ｘ軸スライド８６は、Ｙ軸スライド８７に取り付けられている。
【００２２】
また、Ｙ軸スライド８７は、リニアモータ９１（図３参照）を駆動し、モジュール１１５内（本体部８３の上方）においてＹ方向へ移動する。Ｘ軸スライド８６は、Ｙ軸スライド８７のリニアモータ９１の駆動に基づいてＹ方向の任意の位置に移動する。ヘッド部８５は、Ｘ軸スライド８６のリニアモータ９１の駆動に基づいてＸ方向の任意の位置に移動する。従って、ヘッド部８５は、Ｘ軸スライド８６及びＹ軸スライド８７の駆動にともなって本体部８３の上方の任意の位置に移動する。
【００２３】
本体部８３のコントローラ８９は、リニアモータ９１のリニアスケール９２（図３参照）から位置情報であるリニアスケール信号ＬＳＤを、本体部８３のアンプ部９３を介して受信する。コントローラ８９は、リニアスケール信号ＬＳＤに基づいてアンプ部９３を制御し、リニアモータ９１に供給する電力等を制御する。これにより、コントローラ８９は、ヘッド部８５のＸＹ方向の位置を制御できる。
【００２４】
また、ヘッド部８５は、吸着ノズル８５Ａを複数備え、複数の吸着ノズル８５Ａの全体の位置や個々の吸着ノズル８５Ａの位置を変更する駆動源として電磁モータ９５を複数（例えば、６つ）備えている。各電磁モータ９５には、例えば、ＡＢＳ（アブソリュート型）のエンコーダ９６が取り付けられている。コントローラ８９は、上記したリニアモータ９１と同様に、エンコーダ９６からアンプ部９３を介して受信したエンコーダ信号ＥＮＣＤに基づいてアンプ部９３を制御し、電磁モータ９５に供給する電力等を制御する。これにより、コントローラ８９は、ヘッド部８５の各吸着ノズル８５Ａの動作を制御できる。
【００２５】
また、ヘッド部８５は、Ｘ軸スライド８６にコネクタを介して取り付けられ、ワンタッチで着脱可能であり、種類の異なるヘッド部８５、例えば、ディスペンサヘッド等に変更できる。また、ヘッド部８５及びＹ軸スライド８７の各々には、撮像装置としてカメラ１０３が取り付けられている。なお、図４は、ヘッド部８５のカメラ１０３のみを図示している。
【００２６】
また、図４に示すように、ベース１１３の前面には、上部ガイドレール１２３と、下部ガイドレール１２５と、ラックギヤ１２７と、非接触給電コイル１２９とが設けられている。上部ガイドレール１２３は、Ｘ方向に延びる断面Ｕ字状のレールであり、開口部が下を向いている。下部ガイドレール１２５は、Ｘ方向に延びる断面Ｌ字状のレールであり、垂直面がベース１１３の前面に取り付けられ、水平面が前方に伸び出している。ラックギヤ１２７は、下部ガイドレール１２５の下部に設けられ、Ｘ方向に延び、前面に複数の縦溝が刻まれたギヤである。上部ガイドレール１２３、下部ガイドレール１２５及びラックギヤ１２７は、隣接する装着装置８１の上部ガイドレール１２３、下部ガイドレール１２５及びラックギヤ１２７と着脱可能に連結することができる。非接触給電コイル１２９は、上部ガイドレール１２３の上部に設けられ、Ｘ方向に沿って配置されたコイルであり、ローダ８２への電力の供給を行う。
【００２７】
ローダ８２は、装着装置８１に対するフィーダ１２１の補充及び回収を自動で行う装置であり、フィーダ１２１をクランプする把持部（図示略）を備える。ローダ８２には、上部ガイドレール１２３に挿入される上部ローラ（図示略）と、下部ガイドレール１２５に挿入される下部ローラ（図示略）とが設けられている。また、ローダ８２には、駆動源としてモータが設けられている。モータの出力軸には、ラックギヤ１２７と噛み合うギヤが取り付けられている。ローダ８２は、装着装置８１の非接触給電コイル１２９から電力の供給を受ける受電コイルを備えている。ローダ８２は、非接触給電コイル１２９から受電した電力をモータに供給する。これにより、ローダ８２は、モータによってギヤを回転させることで、Ｘ方向（左右方向）へ移動することができる。また、ローダ８２は、上部ガイドレール１２３及び下部ガイドレール１２５内でローラを回転させ、上下方向や前後方向の位置を保持しながらＸ方向へ移動することができる。
【００２８】
例えば、生産ラインを構成する複数の装着装置８１は、生産ラインの管理コンピュータ（図示略）の管理に基づいて、電子部品の装着作業を開始する。装着装置８１は、回路基板１１０を搬送しながらヘッド部８５によって電子部品の装着作業を行う。また、管理コンピュータは、フィーダ１２１の残りの電子部品の数を監視する。管理コンピュータは、例えば、フィーダ１２１の補給が必要であると判断すると、補給が必要な部品種を収容したフィーダ１２１をローダ８２にセットする指示を画面に表示する。ユーザは、画面を確認して、フィーダ１２１をローダ８２にセットする。管理コンピュータは、所望のフィーダ１２１がローダ８２にセットされたことを検出すると、ローダ８２に対して補給作業の開始を指示する。ローダ８２は、指示を受けた装着装置８１の前方まで移動し、ユーザによってセットされたフィーダ１２１を把持部で挟持してフィーダ台１１９のスロットに装着する。これにより、新たなフィーダ１２１が装着装置８１に補給される。また、ローダ８２は、部品切れになったフィーダ１２１を把持部で挟持してフィーダ台１１９から引き出して回収する。このようにして、新たなフィーダ１２１の補給及び部品切れとなったフィーダ１２１の回収を、ローダ８２によって自動的行うことができる。
【００２９】
図３に示すように、例えば、ロギング装置１０は、本体部８３と、他の装置（ヘッド部８５、Ｘ軸スライド８６、Ｙ軸スライド８７）との間に接続されている。なお、図４には、ロギング装置１０を図示していないが、ロギング装置１０を設置する場所や位置は特に限定されない。例えば、ロギング装置１０を、装着装置８１内に配置し、本体部８３とＸ軸スライド８６等との間に接続しても良い。あるいは、ロギング装置１０を、装着装置８１の外部に配置して装着装置８１の各装置に対して接続しても良い。
【００３０】
例えば、本体部８３は、ＲＳ−４８５規格に準拠した通信で、ＨＤＬＣ（High-Level Data Link Control）の通信プロトコルを用いた通信により、エンコーダ９６と通信を実行し、エンコーダ信号ＥＮＣＤを送受信する。エンコーダ信号ＥＮＣＤは、本体部８３から送信されるエンコーダ９６に対する指令コマンドや、エンコーダ９６から送信される位置情報等である。
【００３１】
ロギング装置１０は、ＡＢＳエンコーダ用コネクタ２４の各々をエンコーダ信号ＥＮＣＤの通信ケーブルに接続される。ＦＰＧＡ１１には、ＲＳ−４８５ドライバＩＣ２５の各々に対応してＥＮＣ処理部５５が設けられている（図２参照）。ＥＮＣ処理部５５の各々は、エンコーダ信号ＥＮＣＤをサンプリングする。また、ＥＮＣ処理部５５は、例えば、エンコーダ９６のメーカーやシリーズにあった通信プロトコルの解析を実行し、共通のデータ形式に変換可能となっている。ＥＮＣ処理部５５は、６４ＢＩＴ（図６参照）を１ブロックとしたデータとして処理結果を出力する。
【００３２】
ＥＮＣ処理部５５は、ＦＩＦＯ（First In, First Out）形式のバッファ回路５４を介してロギングセレクタ処理部５１と接続されている。バッファ回路５４は、ＥＮＣ処理部５５の出力データの大きさに合わせて６４ＢＩＴ分のデータを蓄積可能となっている。ロギングセレクタ処理部５１は、バッファ回路５４を介して６４ＢＩＴごとのデータを入力する。ロギングセレクタ処理部５１は、設定に応じてＥＮＣ処理部５５やＵＡＲＴ処理部５７等から選択的に通信データを入力する。なお、ＵＡＲＴ処理部５７、Ｍ２処理部５９、１００ｂａｓｅ−ｔｘ処理部６１等は、ＥＮＣ処理部５５と同様にサンプリング等を実行する。このため、ＵＡＲＴ処理部５７等の説明において、ＥＮＣ処理部５５と同様の内容については適宜省略する。また、図２中のＦＩＦＯ１〜１５は、同様の構成となっているため、その説明を適宜省略する。
【００３３】
また、図１及び図２に示すように、ロギング装置１０は、ＲＳ−２３２Ｃコネクタ２６を備えている。ＲＳ−２３２Ｃコネクタ２６は、例えば、ＲＳ−２３２Ｃ規格の通信ケーブルにおける通信線とＧＮＤ線とを分岐させたケーブルが接続され、ＲＳ−２３２Ｃ規格に準拠した通信の通信データを入力する。ＲＳ−２３２Ｃコネクタ２６は、ＲＳ−２３２ＣドライバＩＣ２７を介してＦＰＧＡ１１と接続されている。ＲＳ−２３２ＣドライバＩＣ２７は、ＦＰＧＡ１１のＵＡＲＴ処理部５７及びバッファ回路５４を介してロギングセレクタ処理部５１と接続されている。ＲＳ−２３２Ｃコネクタ２６は、例えば、装着装置８１に設けられたセンサーの検出信号などを入力するコネクタである。また、例えば、図３に示す本体部８３とリニアスケール９２との間で、ＵＡＲＴ通信（ＲＳ−２３２Ｃ規格の通信）によりリニアスケール信号ＬＳＤを送受信する場合、ロギング装置１０は、リニアスケール信号ＬＳＤの通信ケーブルにＲＳ−２３２Ｃコネクタ２６を接続される。ＦＰＧＡ１１のロギングセレクタ処理部５１は、ＵＡＲＴ処理部５７でサンプリング等されたリニアスケール信号ＬＳＤを入力する。
【００３４】
ここで、図３に示すように、コントローラ８９は、ヘッド部８５、Ｘ軸スライド８６、Ｙ軸スライド８７の各々に設けられたスレーブ１０１を、産業ネットワークを介して制御する。スレーブ１０１は、例えば、ヘッド部８５等に設けられたセンサーやリレーなどに接続されている。あるいは、コントローラ８９は、産業ネットワークを介してアンプ部９３を制御する。ここでいう産業ネットワークとは、例えば、通信ケーブルの省配線化を図ってスレーブとなる装置を制御できるものである。具体的には、産業ネットワークは、例えば、ＭＥＣＨＡＴＲＯＬＩＮＫ（登録商標）−ＩＩＩ、ＥｔｈｅｒＣＡＴ（登録商標）などの産業用イーサネット（登録商標、100base-txの通信など）である。あるいは、産業ネットワークは、ＭＥＣＨＡＴＲＯＬＩＮＫ（登録商標）−ＩＩ、ＣＣ−Ｌｉｎｋ（登録商標）、ＣＵＮＥＴ（登録商標）等である。
【００３５】
図１及び図２に示すように、ロギング装置１０は、Ｍ２コネクタ２８を備えている。Ｍ２コネクタ２８は、例えば、ＭＥＣＨＡＴＲＯＬＩＮＫ（登録商標）−ＩＩ規格に準拠した通信を行う通信ケーブルと接続されるコネクタである。例えば、コントローラ８９とスレーブ１０１の間や、コントローラ８９とアンプ部９３の間の通信ケーブルに接続される。Ｍ２コネクタ２８は、ＲＳ−４８５ドライバＩＣ２９を介してＦＰＧＡ１１と接続されている。ＲＳ−４８５ドライバＩＣ２９は、ＦＰＧＡ１１のＭ２処理部５９及び２つのバッファ回路５４を介してロギングセレクタ処理部５１と接続されている。Ｍ２処理部５９は、例えば、ＭＥＣＨＡＴＲＯＬＩＮＫ（登録商標）−ＩＩ規格の通信で伝送されるパラレルＩＯ信号をサンプリング等し、２つのバッファ回路５４のうち、一方のバッファ回路５４に出力する。また、Ｍ２処理部５９は、例えば、ＭＥＣＨＡＴＲＯＬＩＮＫ（登録商標）−ＩＩ規格の通信で伝送されるアナログ信号をデジタル信号に変換してサンプリング等し、２つのバッファ回路５４のうち、他方のバッファ回路５４に出力する。
【００３６】
また、ロギング装置１０は、ＲＪ-４５コネクタ３１を２つ備えている。ＲＪ-４５コネクタ３１は、例えば、１００ｂａｓｅ−ｔｘ規格に準拠した通信が可能なカテゴリのＬＡＮケーブルを接続されるコネクタである。より具体的には、上記したＭＥＣＨＡＴＲＯＬＩＮＫ（登録商標）−ＩＩＩ、ＥｔｈｅｒＣＡＴ（登録商標）などの産業用イーサネット（登録商標）と接続可能なコネクタである。ＲＪ-４５コネクタ３１の各々は、イーサ用ＰＨＹ３２を介してＦＰＧＡ１１と接続されている。イーサ用ＰＨＹ３２の各々は、ＦＰＧＡ１１の１００ｂａｓｅ−ｔｘ処理部６１及び２つのバッファ回路５４を介してロギングセレクタ処理部５１と接続されている。
【００３７】
１００ｂａｓｅ−ｔｘ処理部６１は、例えば、ＭＥＣＨＡＴＲＯＬＩＮＫ（登録商標）−ＩＩＩ規格の通信で伝送されるパラレルＩＯ信号をサンプリング等し、２つのバッファ回路５４のうち、一方のバッファ回路５４に出力する。また、１００ｂａｓｅ−ｔｘ処理部６１は、例えば、ＭＥＣＨＡＴＲＯＬＩＮＫ（登録商標）−ＩＩＩ規格の通信で伝送されるアナログ信号をデジタル信号に変換してサンプリング等し、２つのバッファ回路５４のうち、他方のバッファ回路５４に出力する。なお、産業ネットワークの接続形態は上記した形態に限らない。例えば、ＲＳ−４８５規格の通信ケーブルで接続されたＣＵＮＥＴ（登録商標）の通信データをロギングする場合、ＡＢＳエンコーダ用コネクタ２４を、ＣＵＮＥＴ（登録商標）の通信ケーブルに接続しても良い。
【００３８】
また、ロギング装置１０は、高速ＤＩ用端子台３３と、低速ＤＩ用端子台３５とを備えている。高速ＤＩ用端子台３３及び低速ＤＩ用端子台３５は、例えば、装着装置８１に設けられたセンサーの検出信号などを入力するコネクタである。高速ＤＩ用端子台３３は、高速フォトカプラＩＣ３４を介してＦＰＧＡ１１と接続されている。高速フォトカプラＩＣ３４は、ＦＰＧＡ１１の高速ＰＩＯ処理部６２及びバッファ回路５４を介してロギングセレクタ処理部５１と接続されている。低速ＤＩ用端子台３５は、低速フォトカプラＩＣ３６を介してＦＰＧＡ１１と接続されている。低速フォトカプラＩＣ３６は、低速ＰＩＯ処理部６３及びバッファ回路５４を介してロギングセレクタ処理部５１と接続されている。
【００３９】
高速ＤＩ用端子台３３及び低速ＤＩ用端子台３５には、例えば、４つの通信線を接続可能な端子が設けられている。高速フォトカプラＩＣ３４及び低速フォトカプラＩＣ３６は、高速ＤＩ用端子台３３等に入力した電気信号を光に変換し、再度電気信号に戻し、電気的な絶縁を行いながら通信データを取得する。高速フォトカプラＩＣ３４は、低速フォトカプラＩＣ３６に比べて高速なデジタル信号を処理可能に構成されている。高速ＰＩＯ処理部６２及び低速ＰＩＯ処理部６３は、高速フォトカプラＩＣ３４等から入力した通信データをサンプリング等し、バッファ回路５４を介してロギングセレクタ処理部５１へ出力する。
【００４０】
また、ロギング装置１０は、高速ＡＤＣ用コネクタ３７を備えている。高速ＡＤＣ用コネクタ３７は、ＡＤＣ−ＩＣ３８を介してＦＰＧＡ１１と接続されている。ＡＤＣ−ＩＣ３８は、ＡＤＣ処理部６４及びバッファ回路５４を介してロギングセレクタ処理部５１と接続されている。高速ＡＤＣ用コネクタ３７は、アナログデータを入力するためのコネクタである。ＡＤＣ−ＩＣ３８は、高速ＡＤＣ用コネクタ３７を介して入力したアナログデータをデジタルデータに変換してＡＤＣ処理部６４へ出力する。ＡＤＣ処理部６４は、ＡＤＣ−ＩＣ３８から入力した通信データをサンプリング等し、バッファ回路５４を介してロギングセレクタ処理部５１へ出力する。
【００４１】
また、ロギング装置１０は、ＪＴＡＧコネクタ４３を備えている。ＪＴＡＧコネクタ４３は、例えば、ＪＴＡＧ（Joint European Test Action Group)によって提案された規格に準拠した通信を実行するコネクタである。ＦＰＧＡ１１は、例えば、ＪＴＡＧコネクタ４３を介して入力したコンフィグ情報に基づいて回路ブロックを構築する。このため、ユーザは、例えば、ロギング対象の機器（エンコーダ９６など）のメーカーや機種などに応じてＪＴＡＧコネクタ４３に入力するコンフィグ情報を変更することで、ＦＰＧＡ１１の回路ブロックを変更できる。例えば、ＥＮＣ処理部５５が使用するサンプリング時間や通信データの解析に用いる通信プロトコルの形式情報等を変更し、ＥＮＣ処理部５５に対してサンプリング等を適切に実施させることができる。なお、ロギング装置１０に対して設定を行う方法は、コンフィグ情報によって回路ブロックを変更する方法に限らない。例えば、サンプリング時間等を選択可能な画面をＰＣ９８等に表示し、表示した画面においてユーザによる選択を受け付けても良い。
【００４２】
また、ロギングセレクタ処理部５１は、ＡＢＳエンコーダ用コネクタ２４、Ｍ２コネクタ２８、ＲＪ-４５コネクタ３１、高速ＤＩ用端子台３３、低速ＤＩ用端子台３５、高速ＡＤＣ用コネクタ３７等でサンプリングされたデジタル信号の通信データを入力する。ロギングセレクタ処理部５１は、複数の通信データ（バッファ回路５４）の中から選択された通信データを入力する。ロギングセレクタ処理部５１は、例えば、コンフィグ情報による設定、ＰＣ９８の表示画面による選択、あるいはトリガ制御処理部５３から入力した指令信号等に応じて、入力する通信データを選択する。
【００４３】
図２に示すように、ロギングセレクタ処理部５１は、ＦＩＦＯ形式のバッファ回路６６を介してメモリコントローラ６７に接続されている。メモリコントローラ６７は、ＤＤＲメモリ１５と接続され、ＤＤＲメモリ１５に対するデータの書き込み及びデータの読み出しを制御する。従って、ロギングセレクタ処理部５１は、ＥＮＣ処理部５５等から入力したロギング対象の通信データを、バッファ回路６６及びメモリコントローラ６７を介してＤＤＲメモリ１５に保存する。
【００４４】
また、ロギング装置１０は、外部記憶装置４２（図１参照）と接続するためのＳＡＴＡコネクタ４１を備えている。ＳＡＴＡコネクタ４１は、例えば、シリアルＡＴＡ規格に準拠した通信を行うインタフェースである。外部記憶装置４２は、例えば、ＨＤＤ（hard disk drive）やＳＳＤ（solid state drive）などの記憶装置である。なお、外部記憶装置４２と接続する規格は、ＳＡＴＡ規格に限らず、パラレルＡＴＡ（ＩＤＥ）規格、ＵＳＢ規格、あるいはＩＥＥＥ１３９４規格などでも良い。
【００４５】
ＳＡＴＡコネクタ４１は、ＦＰＧＡ１１のＳＡＴＡ−ＩＰ６８に接続されている。ＳＡＴＡ−ＩＰ６８は、例えば、ＳＡＴＡ規格のインタフェースで送受信されるデータの処理が可能なＩＰコアである。ロギングセレクタ処理部５１は、例えば、コンフィグ情報の設定に応じて、ＥＮＣ処理部５５等から入力した通信データの保存先を変更する。例えば、ロギングセレクタ処理部５１は、外部記憶装置４２へ通信データを保存する回路ブロック５１Ａ（図２参照）を構築すると、ＳＡＴＡ−ＩＰ６８を介して外部記憶装置４２へ通信データを保存する（図２の破線参照）。
【００４６】
（通信データの保存について）
ここで、ＥＮＣ処理部５５等でサンプリングされる各通信データは、互いに通信速度が異なる場合がある。通信データの通信速度は、使用される物理層や通信プロトコルなどに応じて異なる。また、通信速度は、ロギング対象の装置の種類、メーカー、装置のバージョンなどによっても異なる。そこで、ＥＮＣ処理部５５、ＵＡＲＴ処理部５７、Ｍ２処理部５９等は、ＡＢＳエンコーダ用コネクタ２４等から入力した通信データの各々について、通信速度に応じたサンプリング時間でサンプリングを実行する。
【００４７】
図５は、各コネクタと、各コネクタから入力した通信データをサンプリングするサンプリング時間等を示している。図５に示すデータ種、サンプリング時間等は、一例である。図５の最も左側の列は、各通信データを識別する識別ＩＤを示しており、後述する保存データの識別にも用いる（図６参照）。識別ＩＤのゼロについては後述する。識別ＩＤの１〜１４は、この順番で、図２に示すＲＳ−４８５ドライバＩＣ２３から高速ＡＤＣ用コネクタ３７の各々（バッファ回路５４ごと）に対応している。
【００４８】
図５の左から２列目は、データの種類を示す情報である。３列目は、サンプリング時間の情報である。４列目は、メーカー名、装置の種類、装置のシリーズ番号などの通信データの種類を判断できる詳細な情報である。５列目は、ロギングを実行するか否かを示す情報である。例えば、５列目に示すゼロは、ロギングしないことを示している。また、５列目の１は、ロギングを行うことを示している。６列目は、通信データの通信速度やデータの伝送周期などの情報である。
【００４９】
識別ＩＤの１〜６は、ＡＢＳエンコーダ用コネクタ２４に対応している。例えば、ＥＮＣ処理部５５は、ＡＢＳエンコーダ用コネクタ２４から入力した通信データ（エンコーダ信号ＥＮＣＤ）を、４０ｎｓ（２５ＭＨｚ）のサンプリング時間でサンプリングを実行する。図５に示すサンプリング時間は、例えば、ＦＰＧＡ１１の回路ブロックを構築するコンフィグ情報に設定される。この場合、ＥＮＣ処理部５５等は、回路ブロックの構築時に、通信データの通信速度に応じたサンプリング時間でサンプリングするサンプリング回路を構築する。あるいは、例えば、各コネクタ（チャンネル）とサンプリング時間とを対応付けた設定ファイルを不揮発性メモリ１７に保存しても良い。そして、ＥＮＣ処理部５５等は、起動後に不揮発性メモリ１７から設定ファイルを読み込んでサンプリング時間を設定しても良い。
【００５０】
また、図５の５列目に示すロギングの実行有無の情報を設定する方法は、コンフィグ情報を用いた方法でも良く、ユーザによる選択をＰＣ９８等で受け付ける方法でも良く、後からロギングセレクタ処理部５１が設定ファイルを読み込む方法でも良い。ロギングセレクタ処理部５１は、例えば、ロギングを実行する旨を設定された識別ＩＤ（通信データ）に応じたバッファ回路５４と選択的に接続する回路をコンフィグ情報に基づいて構築する。これにより、ロギングの対象の通信データを設定できる。なお、ＦＰＧＡ１１は、ロギングを実行しない旨を設定された識別ＩＤに対応するＥＮＣ処理部５５等を構築しなくとも良い。即ち、コンフィグ情報は、ロギングに不要な回路ブロックを構築しない情報でも良い。また、ロギング装置１０は、図５に示す一覧表を、例えば、ＰＣ９８のモニターに表示し、ユーザによる選択や変更を受け付け、各コネクタのサンプリング時間等を設定しても良い。
【００５１】
図６は、ロギングセレクタ処理部５１によって保存されるデータの形式を示している。ロギングセレクタ処理部５１は、例えば、バッファ回路５４から入力したデータを、６４ＢＩＴを１ブロックのデータとして保存する。図６における最も左の列は、図５との対応関係を示す識別ＩＤを示している。図６の２行目は、６４ＢＩＴのデータに含まれる各データの説明を示している。図６の３行目は、６４ＢＩＴのデータのうち、各データが含まれる位置を示している。図６では、左から右に向かって６３ビット目から０ビット目の順に並んでいる。左から２列目は、継続フラグの情報である。継続フラグは、例えば、１ＢＩＴで表される。図６の最も右側の列に示すように、例えば、ＥＮＣ処理部５５等は、１ブロックのデータのうち、４０ＢＩＴを、サンプリングした通信データの保存に使用する。２列目の継続フラグは、この４０ＢＩＴの通信データだけでは不足した場合に、次の１ブロックのデータが前の１ブロックのデータと連続していることを示すのに使用される。
【００５２】
より具体的には、例えば、ＥＮＣ処理部５５（図２参照）は、ＡＢＳエンコーダ用コネクタ２４から入力したエンコーダ信号ＥＮＣＤに対し、エンコーダ信号ＥＮＣＤに付加された誤り検出符号（ＣＲＣなど）に基づいて誤りの検出を実行する。ＥＮＣ処理部５５は、エンコーダ信号ＥＮＣＤの誤りを検出すると、その誤りの発生状況等の異常の詳細を保存する。このような場合、入力した通信データに加えて異常の詳細を示す情報等を保存する。このため、４０ＢＩＴだけでは不足する虞がある。あるいは、ＥＮＣ処理部５５は、例えば、エンコーダ信号ＥＮＣＤのタイムアウト異常、通信の切断異常、エンコーダ９６の温度異常など、様々な異常を検出した場合に、通信データに付加情報を付与する。このような４０ＢＩＴだけでは不足する場合に、ＥＮＣ処理部５５は、例えば、継続フラグのビットを立てる（１ビットにする）。
【００５３】
ロギングセレクタ処理部５１は、例えば、ＤＤＲメモリ１５の通信データを保存する領域を識別ＩＤごとに分ける。ロギングセレクタ処理部５１は、ＥＮＣ処理部５５から入力した通信データを対応する領域に保存するとともに、ＥＮＣ処理部５５から入力した順番、即ち、サンプリングした順番にデータを保存する。これにより、後からロギングしたデータを分析する際に、継続フラグに基づいて保存したデータの連続性を判断でき、通信データの再構築や異常内容の確認を適切に実行できる。なお、ＥＮＣ処理部５５が誤り検出を実行するか否かの設定や、異常の検出に応じてロギングを開始する設定は、ユーザによって変更可能となっている。この変更方法については後述する（図９参照）。
【００５４】
また、ロギングセレクタ処理部５１は、任意のバッファ回路５４から入力した通信データと、他のバッファ回路５４から入力した通信データとが同じ時間軸で並ぶように保存する。具体的には、例えば、図７は、各バッファ回路５４から出力される６４ビットの通信データと、出力される時間との関係を示している。ロギングセレクタ処理部５１は、例えば、複数のバッファ回路５４の出力処理を同期させ（図７中の時間ｔ１，ｔ２参照）、同時にサンプリングした通信データを互いに関連付けて保存する。この場合、関連付けられた複数の通信データは、同時にサンプリングしたデータであるため、同じ時間軸に並べて比較等できる。あるいは、ロギングセレクタ処理部５１は、例えば、サンプリングした時間情報を、保存する通信データに設定し、複数の通信データの時間情報を互いに関連付けても良い。なお、図６に示すように、継続フラグが必要な条件、即ち、連続したデータとして取り扱う必要がある条件は、ロギング対象の通信データごとに異なる場合がある。このため、ＥＮＣ処理部５５、ＵＡＲＴ処理部５７等は、図６に示す継続フラグの条件に基づいて回路ブロックを構築され、条件が成立した場合に継続フラグを立てる。
【００５５】
図６における左から３列目は、差分時間の情報である。差分時間は、例えば、１５ＢＩＴで表される。ロギング対象の通信データは、常にデータが送受信されているとは限らない。例えば、エンコーダ信号ＥＮＣＤの通信は、エンコーダ９６の初期設定を行う時、エンコーダ９６から位置情報を取得する時、エンコーダ９６のステータスを取得する時などに実行される。このため、ＥＮＣ処理部５５等は、通信データの入力があるか否かを検出し、前回の入力を検出した時間と、その次に入力を検出した時間との差分時間を通信データと関連付ける。ＥＮＣ処理部５５等は、上記した継続フラグや差分時間を通信データと関連付けた１ブロックのデータ（６４ＢＩＴ）をロギングセレクタ処理部５１へ出力する。ＥＮＣ処理部５５等は、例えば、通信データの信号レベルが一定時間だけ変化しない場合に、通信データの入力を検出できないと判断する。そして、ＥＮＣ処理部５５等は、信号レベルの変化がなくなったタイミングからサンプリング時間ごとに差分時間をカウントアップする。
【００５６】
従って、ＥＮＣ処理部５５等は、通信速度の異なる通信データの各々について入力があるか否かをサンプリング時間ごとに検出できる。このため、通信速度の異なる通信データについて、適切なロギングが可能となる。
【００５７】
また、図５に示すように、エンコーダ信号ＥＮＣＤは、４０ｎｓごとにサンプリングされる。一方で、実際の通信は、例えば、６２．５μｓごとにデータの送受信が発生する（図５の備考参照）。この場合、差分時間の値は、約１５６２（＝６２．５μｓ／４０ｎｓ）だけカウントアップされる。ＥＮＣ処理部５５は、次の通信データの入力を検出すると、差分時間の情報として１５６２の値を設定し、値を設定した１ブロックのデータを出力する。また、通信データの送受信が長時間に亘って実施されない場合、差分時間のカウント値が最大値を超える可能性がある。本実施形態では、差分時間として１５ＢＩＴを割り当てている。この場合、最大カウント値は、例えば、３２７６８（＝２の１５乗）となる。ＥＮＣ処理部５５は、差分時間が１５ＢＩＴで表現可能な最大カウント値を超える前に、それまでカウントした差分時間を設定した１ブロックのデータをロギングセレクタ処理部５１に出力する。ＥＮＣ処理部５５は、差分時間をリセットし、差分時間のカウントを新たに開始する。これにより、ＥＮＣ処理部５５は、長時間に亘って通信データの送受信がない状態でも、長時間に亘る差分時間の情報を、複数の差分時間の情報に分割して保存する。ユーザは、保存されたデータにおいて、差分時間が設定されたデータが連続していた場合、そのデータを１つのまとまった差分時間のデータとして取り扱うことができる。なお、上記したＥＮＣ処理部５５以外のＵＡＲＴ処理部５７等においても、同様に差分時間の処理を実行できる。
【００５８】
従って、ＥＮＣ処理部５５等は、複数の種類の通信データの各々の入力があるか否かを検出し、前回の入力を検出した時間と、その次に入力を検出した時間との差分時間を、複数の種類の通信データと関連付けて保存する（図６参照）。ＥＮＣ処理部５５等は、通信速度の異なる通信データの各々について、通信データの入力の有無に応じたデータを保存できる。例えば、入力を検出した際だけ通信データを保存し、入力を検出できない期間を差分時間として保存できる。これにより、入力の有無に係わらずサンプリング時間ごとにサンプリングしたデータをすべて保存する場合に比べて保存するデータ量を小さくできる。また、差分時間を通信データと関連付けて保存しておくことで、後から保存したデータを用いる場合に、差分時間に基づいて時系列に沿った通信データを再現できる。従って、通信速度の異なる通信データについて、データ量の圧縮を図りながら、適切なロギングが可能となる。
【００５９】
ここで、本実施形態のロギング装置１０は、外部記憶装置４２を接続可能なＳＡＴＡコネクタ４１（外部インタフェースの一例）を備えている。そして、ロギングセレクタ処理部５１は、トリガ制御処理部５３等から入力した通信データを、ＳＡＴＡコネクタ４１を介して外部記憶装置４２に保存可能である。この構成によれば、トリガ制御処理部５３等は、ＰＣ９８等の外部装置による処理を介さずに、サンプリングした通信データを外部記憶装置４２に直接保存できる。
【００６０】
また、図６における左から４列目は、識別ＩＤの情報を示している。識別ＩＤの情報は、例えば、４ＢＩＴで表される。ここで、ＰＣ９８は、ＤＤＲメモリ１５や外部記憶装置４２に保存された通信データ（図６参照）を読み出して、分析処理や表示処理をすることができる。例えば、ＰＣ９８の記憶装置内に、図５及び図６に示す各種の設定情報を保存しておく。これにより、ＰＣ９８は、ＤＤＲメモリ１５等から読み出した１ブロックのデータに含まれる識別ＩＤと、予め記憶装置に保存された設定情報の識別ＩＤとを照合することで、読み出したデータの種類、サンプリング時間等を検出できる。また、ＰＣ９８は、差分時間に基づいて、通信データの送受信がなかった時間（通信データが保存されていない時間）を補完する処理を行い、時系列に沿って通信データを元の状態に再構築できる。なお、ＰＣ９８は、図５や図６に示す各種の設定情報を予め保有せず、分析を開始する際にロギング装置１０から取得しても良い。
【００６１】
図６における左から５列目は、サンプリングした通信データの状態を示す情報であり、具体的には図８に示す４ＢＩＴの情報である。図８の最も左の列は、識別ＩＤを示している。通信データの状態を示す情報（図６のＢ４３−Ｂ４０）は、識別ＩＤ（通信データ）ごとに異なる情報が設定される。このため、図８に示すように、同じ４ＢＩＴの情報であっても、識別ＩＤごとにデータが示す情報が異なっている。
【００６２】
図８の左から２列目は、先頭ビット（Ｂ３）の情報であり、データの有無を示すビット値として使用される。例えば、有効なデータをサンプリングして図６の通信データ（Ｂ３０−Ｂ０）に設定した場合、ＥＮＣ処理部５５等は、先頭ビット（Ｂ３）として１の値を設定する。上記したように、例えば、長期に亘って通信データが入力されず、差分時間（カウント値）が最大カウント値となった場合、差分時間と、無入力の通信データ（例えば、全てゼロ）が保存される。この場合、先頭ビット（Ｂ３）は、０の値が設定される。これにより、先頭ビット（Ｂ３）を判断するだけで、通信データに有効なデータが保存されているのかを判断できる。
【００６３】
図８の左から３列目は、２番目のビット（Ｂ２）の情報である。２番目のビットは、例えば、エンコーダ信号ＥＮＣＤのデータ異常や、通信データのタイムアウト異常などの際に使用される。例えば、エンコーダ９６の故障により、通信プロトコルに規定されていないデータが送信された場合や、所定の閾値時間まで待って通信データを受信できない場合に、ＥＮＣ処理部５５等は、２番目のビット（Ｂ２）に１を設定する。また、図８の左から４列目は、３番目のビット（Ｂ１）の情報であり、通信データの誤りを検出した際に使用される。例えば、ＥＮＣ処理部５５は、エンコーダ信号ＥＮＣＤ等の誤りを検出すると、３番目のビット（Ｂ１）として１の値を設定する。図８の左から５列目は、４番目のビット（Ｂ０）の情報であり、通信異常の際に使用される。例えば、ＥＮＣ処理部５５は、エンコーダ信号ＥＮＣＤを伝送するＨＤＬＣ通信において、通信異常を知らせるコマンドを検出した場合、４番目のビット（Ｂ０）として１の値を設定する。
【００６４】
図６に戻り、図６の最も右の列は、ＥＮＣ処理部５５等によってサンプリングした通信データが保存される。なお、ＥＮＣ処理部５５等は、サンプリングした通信データそのものではなく、通信データに対して所定の処理を施したデータを保存しても良い。例えば、エンコーダ９６は、通信データのデータ形式として共通の形式を使用しておらず、メーカーごとや同一メーカーのシリーズごとにデータ形式が異なる場合がある。一方で、エンコーダ９６から出力される通信データは、例えば、位置情報や異常情報など、データ形式としては異なるものの内容としては同じ内容を示すデータが含まれる。
【００６５】
そこで、ＥＮＣ処理部５５等は、通信データから共通化可能な通信データを抽出し、抽出した通信データを共通のデータ形式に変換する。例えば、ＥＮＣ処理部５５は、入力した通信データのうち、位置情報を示す通信データを抽出する。そして、ＥＮＣ処理部５５は、位置情報を示す通信データを、共通のデータ形式に変換する。位置情報を示す通信データの抽出方法は、特に限定されない。例えば、ユーザは、ＰＣ９８を操作してコネクタごとに通信プロトコルの情報やその通信プロトコルで使用されるデータ形式の情報を入力する。ＥＮＣ処理部５５は、この入力情報に基づいて、処理対象の通信データから、位置情報を示す通信データを抽出しても良い。ＥＮＣ処理部５５は、通信データが示す位置情報の値を、共通のデータ形式に変換する。これにより、位置情報が示す値を変更せず、データ形式を変更できる。メーカーごとに異なるデータ形式の位置情報が、共通の位置を示す情報に変換される。ＥＮＣ処理部５５は、共通のデータ形式に変換した通信データを、ロギングセレクタ処理部５１へ出力する。従って、ＥＮＣ処理部５５は、通信データをそのままのデータ形式で保存するのではなく、共通化できる部分を共通のデータ形式に変換して保存する。例えば、ＥＮＣ処理部５５は、エンコーダ信号ＥＮＣＤに含まれる位置情報を、マルチターン（ＭＴ：１６ＢＩＴ）とシングルターン（ＳＴ：２４ＢＩＴ）の合計４０ＢＩＴ共通のデータ形式に変換する。これにより、メーカーやシリーズが異なる場合であっても、位置情報を共通のデータ形式に変換して保存できる。
【００６６】
また、ＥＮＣ処理部５５は、例えば、入力した通信データのうち、位置情報以外、例えば、メーカー独自の共通化が難しい通信データを、図６に示す１ブロックのデータ内にそのまま設定する。即ち、ＥＮＣ処理部５５は、共通化が難しい通信データについては、データ形式を変換せずにそのまま出力する。従って、ＥＮＣ処理部５５は、通信データを共通化できるデータとできないデータに分類し、共通化できるデータについてデータ形式の変換を実行する。なお、共通化するデータの対象を設定する方法は、例えば、コンフィグ情報を用いる方法でも良く、ＰＣ９８を操作してロギング装置１０に対して設定する方法でも良い。また、ＥＮＣ処理部５５以外のＵＡＲＴ処理部５７等においても、ＥＮＣ処理部５５と同様の変換処理や非変換処理を実行できる。
【００６７】
また、データ形式を共通化する対象データは、位置情報に限らない。例えば、異常情報など、元々のデータ形式が異なっていても、指し示す異常の内容が同一の通信データについては共通のデータ形式に変換することが可能となる。例えば、ＥＮＣ処理部５５は、データ形式が異なるものの同一の異常を示す通信データを、その異常を示す識別番号のデータに変換する。これにより、異常情報を、異常の内容ごとに共通のデータ形式に変換できる。また、例えば、リニアスケール９２の検出部と被検出部との間のギャップ異常など、リニアスケール固有の異常情報を、共通のデータ形式に変換できる。
【００６８】
従って、本実施形態のＥＮＣ処理部５５、ＵＡＲＴ処理部５７等（サンプリング部の一例）は、複数の種類の通信データから共通化可能な通信データ（位置情報や異常情報など）を抽出し、抽出した通信データを共通のデータ形式に変換する。これにより、保存した通信データを後から分析する際に、共通のデータ形式で保存したことで、分析を行うソフトウェア等が、比較的容易な処理で分析を行うことができる。例えば、共通データについては、同一の処理を実行し、共通化した位置情報に基づいて位置ズレを検出する、あるいは共通化した異常情報に基づいて異常の回数を検出することができる。
【００６９】
また、ＥＮＣ処理部５５等は、通信データを共通のデータ形式に変換する処理の他に、通信データに対する処理を施しても良い。例えば、ＥＮＣ処理部５５は、複数の種類の通信データの各々について予め設定された演算処理を実行してから保存しても良い。例えば、図３に示す電磁モータ９５を三相の電流で制御する場合、ＦＰＧＡ１１は、アンプ部９３で送受信する三相の電流値を入力するコネクタに対応する処理部を備えても良い。
【００７０】
そして、ＦＰＧＡ１１の処理部は、コネクタを介して入力した三相の電流値（通信データ）をｄｑ変換し、有効電力や無効電力の値として保存しても良い。例えば、三相の電流値を、電気角の情報などに基づいてｄｑ変換し、有効電力（電流）などの値に変換してから保存する。これにより、有効電力からトルク値を推定して表示するなど、ユーザに認識し易い形でデータを表示できる。なお、上記したデータ形式の変換やｄｑ変換は、通信データを読み出したＰＣ９８において実行しても良い。また、予め設定された演算処理は、ｄｑ変換に限らず、エンコーダ信号ＥＮＣＤの位置情報から距離、移動時間、速度、加速度を演算する処理でも良い。あるいは、予め設定された演算処理は、三相電流にフーリエ変換を施し、三相電流に含まれるノイズ（振動など）を検出する処理でも良い。これにより、通信データを加工してユーザに有益な情報を提供できる。
【００７１】
（通信データの画像データによる出力について）
図３及び図４に戻り、ロギング対象の装着装置８１は、ヘッド部８５及びＹ軸スライド８７にカメラ１０３を備えている。このカメラ１０３は、例えば、回路基板１１０や電子部品などを撮影するための撮像装置である。カメラ１０３は、例えば、カメラリンク規格の画像伝送方式により画像データを伝送する。カメラ１０３は、カメラリンクケーブルＣｌｉｎｋを介して切替装置１０５に接続されている。切替装置１０５は、２つのカメラ１０３とコントローラ８９との間に接続されている。切替装置１０５は、２つのカメラ１０３と、コントローラ８９との接続を切り替える。カメラ１０３は、例えば、本体部８３のコントローラ８９から受信したトリガ信号に応じて撮像を行い、撮像した画像データを、カメラリンクケーブルＣｌｉｎｋを介してコントローラ８９へ送信する。尚、カメラ１０３は、カメラリンク規格に対応するカメラに限らず、他の規格、例えば、ＧｉｇＥ Ｖｉｓｉｏｎ（登録商標）規格やＣｏａＸｐｒｅｓｓ（登録商標）の規格に対応するカメラでも良い。
【００７２】
コントローラ８９は、例えば、カメラリンク規格におけるカメラ制御信号ＣＣ１〜ＣＣ４を切替装置１０５へ出力する。カメラ制御信号ＣＣ１は、例えば、カメラ１０３に対して撮像を指示するトリガ信号である。エッジによる制御（エッジトリガーモード）の場合、カメラ１０３は、例えば、カメラ制御信号ＣＣ１の立ち上がりで露光を開始し、設定された時間だけ露光を実行する。あるいは、パルス幅で制御する場合、カメラ１０３は、カメラ制御信号ＣＣ１の立ち上がりで露光を開始し、立ち下がるまで（パルス幅だけ）露光を継続する。
【００７３】
また、カメラ制御信号ＣＣ２は、例えば、ヘッド部８５のカメラ１０３とコントローラ８９との接続を、切替装置１０５に指示する選択信号である。また、カメラ制御信号ＣＣ３は、例えば、Ｙ軸スライド８７のカメラ１０３とコントローラ８９との接続を、切替装置１０５に指示する選択信号である。例えば、切替装置１０５は、コントローラ８９からカメラ制御信号ＣＣ２を入力すると、コントローラ８９とヘッド部８５のカメラ１０３とを接続する。コントローラ８９は、接続を変更した後、ヘッド部８５のカメラ１０３へトリガ信号を送信し、画像データを取得することができる。
【００７４】
ロギング装置１０は、例えば、切替装置１０５とコントローラ８９との間に接続される。図１及び図２に示すように、ロギング装置１０は、カメラリンク入力コネクタ３９及びカメラリンク出力コネクタ４０を備えている。カメラリンク入力コネクタ３９は、例えば、カメラリンクケーブルＣｌｉｎｋを介して切替装置１０５と接続される。また、カメラリンク出力コネクタ４０は、カメラリンクケーブルＣｌｉｎｋを介してコントローラ８９と接続される。
【００７５】
ロギング装置１０は、例えば、コントローラ８９からカメラリンク出力コネクタ４０に入力したカメラ制御信号ＣＣ１〜ＣＣ４を保存する。カメラリンク出力コネクタ４０は、ＵＡＲＴ処理部及び高速ＰＩＯ処理部（以下「処理部」という）６５及びバッファ回路５４を介してロギングセレクタ処理部５１と接続されている。処理部６５は、例えば、コントローラ８９からカメラリンク出力コネクタ４０にカメラ制御信号ＣＣ１〜ＣＣ４を入力した場合、入力したカメラ制御信号ＣＣ１〜ＣＣ４をカメラリンク入力コネクタ３９へ出力（転送）する（図２のデジタル出力ＤＯ参照）。また、処理部６５は、カメラ制御信号ＣＣ１〜ＣＣ４のサンプリング等を実行し、６４ＢＩＴを１ブロックとしたデータとしてロギングセレクタ処理部５１へ出力する。切替装置１０５は、カメラリンク入力コネクタ３９から入力した（転送された）カメラ制御信号ＣＣ１〜ＣＣ４に基づいた制御を実行する。なお、本実施形態では、カメラ制御信号ＣＣ４を、ロギング装置１０からコントローラ８９へロギングしたデータを出力するのに用いる。このため、切替装置１０５は、カメラ制御信号ＣＣ４を入力した場合、入力したカメラ制御信号ＣＣ４を破棄等し、特定の処理を実行しない。
【００７６】
一方、ロギングセレクタ処理部５１は、処理部６５から入力したカメラ制御信号ＣＣ１〜ＣＣ４をＤＤＲメモリ１５へ保存する。また、ロギングセレクタ処理部５１は、メモリコントローラ６７を介してカメラ制御信号ＣＣ１〜ＣＣ４をカメラ切替部７３（図２参照）へ出力する。カメラ切替部７３は、例えば、ＦＰＧＡ１１の回路ブロックである。
【００７７】
また、ロギング装置１０は、例えば、コントローラ８９とカメラ１０３との間でＵＡＲＴ通信により送受信される制御信号を保存する。この制御信号は、例えば、カメラ１０３のゲインを調整する制御信号や、カメラ１０３の撮像可能な撮像領域のうち、有効領域（ＲＯＩ：Region of Interest）を設定する制御信号である。処理部６５は、カメラリンク出力コネクタ４０を介してＵＡＲＴ通信の制御信号を入力する（図２中のＵＡＲＴ参照）。処理部６５は、カメラ制御信号ＣＣ１〜ＣＣ４と同様に、ＵＡＲＴ通信の制御信号のサンプリング等を実行する。
【００７８】
なお、コントローラ８９からカメラ制御信号ＣＣ１〜ＣＣ４やＵＡＲＴ通信の制御信号を入力するコネクタは、カメラリンク出力コネクタ４０に限らない。例えば、パラレルＩ／Ｏ信号やシリアルＩ／Ｏ信号によりコントローラ８９からカメラ制御信号ＣＣ１〜ＣＣ４が出力される場合、ロギング装置１０は、高速ＤＩ用端子台３３やＲＳ−２３２Ｃコネクタ２６を介してカメラ制御信号ＣＣ１〜ＣＣ４を入力しても良い。また、ロギング装置１０は、ＲＳ−２３２Ｃコネクタ２６を介してコントローラ８９からＵＡＲＴ通信の制御信号を入力しても良い。また、処理部６５は、コントローラ８９から送信されるカメラ制御信号ＣＣ１〜ＣＣ４やＵＡＲＴ通信の制御信号だけでなく、カメラ１０３の応答信号をカメラリンク入力コネクタ３９から入力しロギングセレクタ処理部５１に出力等しても良い。この場合、ロギングセレクタ処理部５１は、応答信号についても保存可能となる。また、ロギング装置１０は、コントローラ８９から送信される通信データ（カメラ制御信号ＣＣ１等）を保存せず、カメラ１０３から送信される通信データのみを保存しても良い。
【００７９】
また、ロギング装置１０は、例えば、カメラ１０３から入力した画像データを保存可能である。ＦＰＧＡ１１のカメラリンクｂａｓｅ入力ＩＰ６９は、カメラリンク入力コネクタ３９を介して切替装置１０５から画像データを入力する。カメラリンクｂａｓｅ入力ＩＰ６９は、例えば、カメラリンク規格の画像データを処理可能なＩＰコアである。カメラリンクｂａｓｅ入力ＩＰ６９は、バッファ回路７１、メモリコントローラ６７を介して画像データを、ＤＤＲメモリ１５へ保存等する。カメラリンクｂａｓｅ入力ＩＰ６９は、ロギングセレクタ処理部５１によってＤＤＲメモリ１５に保存（ロギング）された他の通信データ（エンコーダ信号ＥＮＣＤ等）と画像データを関連付けて保存する。具体的には、カメラリンクｂａｓｅ入力ＩＰ６９は、画像データを取得した時間と、他の通信データの取得した時間を関連付けて保存する。これにより、エンコーダ信号ＥＮＣＤ等の通信データを取得した時間と、画像データを取得した時間との関係を後から確認できる。なお、切替装置１０５（カメラ１０３）から画像データを入力するコネクタは、カメラリンク入力コネクタ３９に限らない。例えば、高速ＡＤＣ用コネクタ３７が、画像データの入力を実行しても良い。ＡＤＣ処理部６４は、例えば、シリアル通信方式の一つであるＳＰＩ（Serial Peripheral Interface）通信により、カメラ１０３から画像データを入力可能な構成でも良い。
【００８０】
また、カメラリンクｂａｓｅ入力ＩＰ６９は、切替装置１０５から入力した画像データをカメラ切替部７３へ出力する。カメラ切替部７３は、コントローラ８９によりカメラ制御信号ＣＣ２又はカメラ制御信号ＣＣ３が選択されている場合、画像データを、バッファ回路７１、カメラリンクｂａｓｅ出力ＩＰ７０を介してカメラリンク出力コネクタ４０へ出力する。コントローラ８９は、カメラ制御信号ＣＣ１〜ＣＣ４により選択及び撮像指示した画像データを、カメラリンク出力コネクタ４０を介して取得できる。コントローラ８９は、カメラリンク出力コネクタ４０から入力した画像データに基づく処理を実行する。
【００８１】
また、コントローラ８９は、ロギング装置１０によってロギングしたデータを取得する場合、カメラ制御信号ＣＣ４をロギング装置１０へ出力する。カメラ切替部７３は、カメラリンク出力コネクタ４０、処理部６５、ロギングセレクタ処理部５１を介してカメラ制御信号ＣＣ４を入力すると、例えば、その時点までＤＤＲメモリ１５に蓄積した通信データなど（ロギングデータ）を画像データに含めて送信する処理を実行する。例えば、画像データの画素値を８ＢＩＴで表す場合、カメラ切替部７３は、図６に示す６４ＢＩＴのデータを８画素分（８ＢＩＴ＊８画素）に設定した画像データを生成する。
【００８２】
ここで、１つの画像データに設定できる最大のデータ量よりもロギング（蓄積）したデータのデータ量が少ない場合、画像データには、ロギングデータを設定できない画素が発生する。そこで、カメラ切替部７３は、図５及び図６の識別ＩＤのゼロで示すＮＯＰデータを、発生した空き領域（余った画素）を埋めるのに使用する。従って、カメラ切替部７３は、送信可能なロギングデータのデータ量が、１つの画像データの最大データ量に到達していない場合、ＮＯＰデータで空き画素を埋めた画像データをコントローラ８９へ送信する。また、ロギング装置１０からコントローラ８９へ送信する画像データには、ロギングした通信データの他に、継続フラグ、差分時間、識別ＩＤ、状態情報が、ロギングした通信データのヘッダ情報として設定されている（図６参照）。
【００８３】
コントローラ８９は、例えば、図５や図６に示す設定情報を有しており、受信した画像データの識別ＩＤに基づいてＮＯＰデータを判断し、不要なデータを破棄等できる。これにより、ロギングデータのデータ量が画像データの最大データ量よりも少ない場合でも、ロギングデータを転送できる。
【００８４】
従って、本実施形態のカメラ切替部７３は、ＤＤＲメモリ１５に保存した複数の種類の通信データを画像データの形式で出力する。カメラ切替部７３は、複数の種類の通信データを画像データの画素値を設定するデータ領域に設定し、設定した通信データの種類、及びその通信データをサンプリングしたサンプリング時間に係わる情報（識別ＩＤなど）をヘッダ情報として付加する。これによれば、ロギングした通信データなどを画像データとして、画像データの通信回線で出力できる。また、受信側（コントローラ８９など）において、ヘッダ情報（識別ＩＤなど）に基づいて、通信データの種類やサンプリング時間を判断して通信データを適切に再構築できる。
【００８５】
なお、ロギング装置１０に対するカメラ制御信号ＣＣ４を用いた画像データの要求は、コントローラ８９以外の装置が実行しても良い。例えば、ロギング装置１０は、ＰＣ９８から入力した制御信号に基づいて、通信データ等を設定した画像データをＰＣ９８へ出力する構成でも良い。
【００８６】
（ロギングを開始するトリガについて）
次に、通信データや画像データのロギングを開始するトリガ条件について説明する。図９は、ロギングを開始するトリガ条件の一例を示している。図９の最も左側の列は、右側のトリガ条件を使用する識別ＩＤ（通信データ）を示している。左から２番目の列は、個々のトリガ条件を識別するためのサブナンバーを示している。例えば、識別ＩＤが１でサブナンバーが１のトリガ条件は、エンコーダ信号ＥＮＣＤの位置情報がある値を超えた場合をトリガ条件としている。
【００８７】
トリガ条件の処理は、例えば、トリガ制御処理部５３（図２参照）が実行する。トリガ制御処理部５３は、例えば、コンフィグ情報に基づいて回路ブロックを構築する際に、識別ＩＤごとのトリガ条件が設定される。あるいは、トリガ制御処理部５３は、回路ブロックを構築して起動した後、ＰＣ９８からトリガ条件を入力する。例えば、ＰＣ９８は、図９に示すトリガ条件を選択可能なプルダウンメニューを表示する。ＰＣ９８は、ユーザによって選択されたトリガ条件をＲＳ−２３２Ｃコネクタ２０を介してトリガ制御処理部５３に出力する。これにより、ユーザは、ロギングの開始前に識別ＩＤごとのトリガ条件を設定できる。
【００８８】
例えば、識別ＩＤが１、サブナンバーが１のトリガ条件が設定された場合、トリガ制御処理部５３は、図２の一番上のＥＮＣ処理部５５に対しトリガ条件を設定する。トリガ制御処理部５３は、例えば、ＰＣ９８からロギングを開始する指示がＦＰＧＡ１１に入力されると、ロギングを開始する前に、ＥＮＣ処理部５５に対する設定を行う。設定されたＥＮＣ処理部５５は、ＡＢＳエンコーダ用コネクタ２４を介してエンコーダ信号ＥＮＣＤを入力しながらトリガ条件を判断する。ＥＮＣ処理部５５は、入力したエンコーダ信号ＥＮＣＤの位置情報がある値を超えた、即ち、所定の位置を越えた場合、トリガ条件が成立した旨をトリガ制御処理部５３に通知する。トリガ制御処理部５３は、ＥＮＣ処理部５５からトリガ条件が成立した旨を入力すると、ロギングセレクタ処理部５１に対しロギングの開始を指示する。ロギングセレクタ処理部５１は、コンフィグ情報等に基づいて選択されたコネクタ（処理部）から入力する通信データをＤＤＲメモリ１５へ保存するロギングを開始する。これにより、例えば、ヘッド部８５（図３、図４参照）が吸着ノズル８５Ａ（図４参照）を所定位置よりも下方まで下降させた場合にトリガ条件が成立する。そして、ロギングセレクタ処理部５１は、ヘッド部８５の吸着ノズル８５Ａが特定位置に到達した場合に、通信データの保存を開始できる。例えば、電子部品の供給や装着など、吸着ノズル８５Ａを上下動させる際の所定位置を条件として、ロギングを開始できる。
【００８９】
なお、トリガ条件の内容は、特に限定されないが、通信データに基づいて所定の条件が成立することをトリガ条件にできる。例えば、図９の識別ＩＤが１、サブナンバーが５の場合、ＥＮＣ処理部５５は、エンコーダ信号ＥＮＣＤの誤りを検出するとトリガ条件の成立をトリガ制御処理部５３へ通知する。また、図９に示すように、誤りを検出する回数を、トリガ条件２として設定してもよい（図９中の連続回数１−４）。この場合、ＥＮＣ処理部５５は、エンコーダ信号ＥＮＣＤの誤りを複数回検出するとトリガ条件の成立をトリガ制御処理部５３へ通知する。また、例えば、識別ＩＤが１の各サブナンバーに示すように、エンコーダ信号ＥＮＣＤのステータス異常、タイムアウト異常などをトリガ条件としても良い。また、エンコーダ信号ＥＮＣＤ以外の通信データについても同様にトリガ条件を設定できる。例えば、識別ＩＤが７の各サブナンバーに示すように、ＵＡＲＴ通信において特定のコマンドが送信された場合、センサーの出力値がある値を超えた場合などを、トリガ条件としても良い。また、識別ＩＤが１５の各サブナンバーに示すように、カメラ制御信号ＣＣ１〜ＣＣ４の立ち上がり、即ち、撮像の開始、カメラ１０３の切り替え、ロギングデータの要求などをトリガ条件としても良い。また、トリガ条件は、図９に示す条件以外でも良い。例えば、リニアスケール信号ＬＳＤに基づいて、Ｘ軸スライド８６やＹ軸スライド８７が特定位置に到達したタイミングをトリガ条件としても良い。この場合、ＸＹ方向の特定位置、例えば、電子部品の吸着位置などにヘッド部８５が到達したタイミングで各通信データのロギングを開始できる。また、トリガ条件は、通信データごとに異なる条件にしても良い。例えば、特定位置に到達したトリガ条件に基づいてエンコーダ信号ＥＮＣＤのロギングを開始し、誤り検出のトリガ条件に基づいてＵＡＲＴ通信の通信データのロギングを開始しても良い。
【００９０】
（通信データの取得方法について）
また、ＥＮＣ処理部５５、ＵＡＲＴ処理部５７、Ｍ２処理部５９、１００ｂａｓｅ−ｔｘ処理部６１、高速ＰＩＯ処理部６２、低速ＰＩＯ処理部６３、ＡＤＣ処理部６４、処理部６５等は、入力した通信データを全てロギングセレクタ処理部５１へ出力しなくとも良い。以下の説明では、一例として、１００ｂａｓｅ−ｔｘ処理部６１によってＥｔｈｅｒＣＡＴ（登録商標）の通信データを取得する場合について説明する。
【００９１】
図１０は、ＥｔｈｅｒＣＡＴ（登録商標）のネットワークで送受信される通信データのデータ形式を示している。ＥｔｈｅｒＣＡＴ（登録商標）のネットワークでは、例えば、図１０に示す特定の形式のフレームデータを、イーサネット（登録商標）を介して送受信する。フレームデータには、スレーブ１０１（図３参照）の各々のデータを設定するデータ領域（後述するイーサキャットデータグラム）が設けられている。スレーブ１０１は、マスターであるコントローラ８９から受信したフレームデータのうち、自身のために設定されたデータ領域（読み出し領域）からデータを読み出し、読み出したデータに基づいてセンサー等を駆動する。また、スレーブ１０１は、自身のために設定されたデータ領域（書き込み領域）に処理結果等のデータを書き込んで、書き込んだフレームデータをマスターや他のスレーブ１０１へ転送する。
【００９２】
図１０に示すように、フレームデータは、１４バイトのイーサネット（登録商標）ヘッダフィールドと、最大１５００バイトのイーサネット（登録商標）データフィールドと、４バイトのＦＣＳ（Frame Check Sequence）フィールドとを有する。イーサネット（登録商標）ヘッダフィールドには、フレームデータの送信先や送信元のアドレス情報が格納される。ＦＣＳフィールドには、ＣＲＣ符号等のフレームデータの誤りを検出する情報が格納される。
【００９３】
また、イーサネット（登録商標）データフィールドは、１６ビットのＥｔｈｅｒＣＡＴ（登録商標）ヘッダフィールドと、４４バイトから１４９８バイトのＥｔｈｅｒＣＡＴ（登録商標）データグラムフィールドを有する。ＥｔｈｅｒＣＡＴ（登録商標）ヘッダには、データ長やタイプの情報が格納される。ＥｔｈｅｒＣＡＴ（登録商標）データグラムフィールドには、スレーブ１０１の各々に対応付けられた１又は複数のＥｔｈｅｒＣＡＴ（登録商標）用のデータ（以下、イーサキャットデータグラムと呼ぶ）が格納される。
【００９４】
各イーサキャットデータグラムは、１０バイトのデータグラムヘッダフィールド（Datagram Header）と、最大１４８６バイトのデータフィールド（Data）と、２バイトのＷＫＣ（Working Counter）フィールドを有する。そして、データフィールドには、マスター（コントローラ８９）がスレーブ１０１に送信するデータ、又はスレーブ１０１がマスター等に送信するデータが格納される。なお、ＷＫＣフィールドには、イーサキャットデータグラムによって正常に処理された処理数に応じたカウント値が格納される。
【００９５】
例えば、マスターや特定のスレーブ１０１のデータのみをロギングしたい場合、図２に示す１００ｂａｓｅ−ｔｘ処理部６１は、ＲＪ-４５コネクタ３１を介して入力した通信データ（フレームデータ）のうち、特定のデータフィールのみを取得する。例えば、１００ｂａｓｅ−ｔｘ処理部６１は、フレームデータの先頭から所定のビット位置を開始位置として、その開始位置から所定のビット数又はバイト数のデータを取得する。具体的には、１番目のイーサキャットデータグラム（1st EtherCAT Datagram）のデータを抽出する場合を説明する。この場合、１００ｂａｓｅ−ｔｘ処理部６１は、フレームデータの先頭から１４バイト（イーサネット（登録商標）ヘッダフィールド）＋１６ビット（ＥｔｈｅｒＣＡＴ（登録商標）ヘッダフィールド）を開始位置に設定する。１００ｂａｓｅ−ｔｘ処理部６１は、その開始位置から1st EtherCAT Datagramのデータを取得する。１００ｂａｓｅ−ｔｘ処理部６１は、例えば、開始位置から予め設定されたバイト数（最大バイト数）だけデータを取得し、不要なデータを破棄しても良い。あるいは、１００ｂａｓｅ−ｔｘ処理部６１は、例えば、データグラムヘッダフィールド（Datagram Header）の情報に基づいたバイト数分のデータを開始位置から取得しても良い。また、１００ｂａｓｅ−ｔｘ処理部６１は、例えば、コントローラ８９から入力した情報等に基づいて、開始位置から取得するビット数やバイト数を変更しても良い。また、１００ｂａｓｅ−ｔｘ処理部６１以外のＥＮＣ処理部５５等も、特定のビット位置からデータを取得しても良い。このようにして１００ｂａｓｅ−ｔｘ処理部６１等は、入力した通信データの全てをロギングセレクタ処理部５１へ出力せず、特定のデータのみを抽出してロギングセレクタ処理部５１へ出力しも良い。
【００９６】
因みに、装着装置８１は、ロギング対象の装置の一例である。ＲＳ−２３２Ｃコネクタ２０、ＡＢＳエンコーダ用コネクタ２４、ＲＳ−２３２Ｃコネクタ２６、Ｍ２コネクタ２８、ＲＪ-４５コネクタ３１、高速ＤＩ用端子台３３、低速ＤＩ用端子台３５、高速ＡＤＣ用コネクタ３７、カメラリンク入力コネクタ３９、カメラリンク出力コネクタ４０は、入力部の一例である。ＥＮＣ処理部５５、ＵＡＲＴ処理部５７、Ｍ２処理部５９、１００ｂａｓｅ−ｔｘ処理部６１、高速ＰＩＯ処理部６２、低速ＰＩＯ処理部６３、ＡＤＣ処理部６４、処理部６５は、サンプリング部、検出部の一例である。カメラ切替部７３は、サンプリング部の一例である。ＳＡＴＡコネクタ４１は、外部インタフェースの一例である。
【００９７】
以上、上記した本実施形態によれば以下の効果を奏する。
本実施形態の一態様では、ロギング装置１０は、ロギングの対象となる装置（装着装置８１）で伝送される複数の種類の通信データを入力するＡＢＳエンコーダ用コネクタ２４等（入力部の一例）と、ＡＢＳエンコーダ用コネクタ２４等を介して入力した複数の種類の通信データの各々を、通信速度に応じたサンプリング時間（図５参照）でサンプリングするＥＮＣ処理部５５等と、を備える。これによれば、ＥＮＣ処理部５５等は、通信速度が異なる各通信データについて通信速度に応じたサンプリングをすることができる。
【００９８】
ここで、従来のロギング装置では、ロギングの対象の通信データが同一の通信速度であることを前提としていた。このため、例えば、通信データを入力するチャンネルごとにサンプリング時間を個別に設定できず、最速のチャンネルに合わせてサンプリング時間を短くする必要があった。その結果、サンプリングされるデータ、即ち、保存されるデータ量が大きくなる虞があった。これに対し、本実施形態のロギング装置１０では、通信速度が異なる通信データについて通信速度に応じたサンプリング時間でサンプリングすることで、サンプリングしたデータ量を小さくし、保存するデータ量を小さくできる。
【００９９】
尚、本開示は上記の実施形態に限定されるものではなく、本願の趣旨を逸脱しない範囲内での種々の改良、変更が可能であることは言うまでもない。
例えば、ロギング装置１０は、サンプリングのみを実行し、サンプリングしたデータを保存しない装置でも良い。この場合、ロギング装置１０は、サンプリングしたデータを外部記憶装置４２等に出力しも良い。
また、ロギング装置１０は、通信速度が異なる各通信データについて、入力の有無を判断しなくとも良い。
また、ロギング装置１０は、入力部として物理的なインタフェース（コネクタ）を備えなくとも良い。図１１は、別例の装着装置８１を示している。図１１に示す装着装置８１は、リニアスケール信号ＬＳＤやエンコーダ信号ＥＮＣＤを、多重通信回線を介して送受信する。装着装置８１は、本体部８３側の多重装置２０１と、Ｙ軸スライド８７側の多重装置２０２と、ヘッド部８５側の多重装置２０３とを多重ケーブル（光ケーブルなど）２０５を介して接続する。また、多重装置２０１等は、例えば、ＦＰＧＡなどの論理回路で複数の通信データの多重化や非多重化を実行する。このような場合に、ロギング装置１０を、例えば、図１１に示すように、多重装置２０１のＦＰＧＡの一部（図中のＦＰＧＡ１１）として構成しても良い。ＦＰＧＡ１１は、図２に示すＡＢＳエンコーダ用コネクタ２４やＲＳ−４８５ドライバＩＣ２５などの物理的なインタフェースを備えていない。ＦＰＧＡ１１は、例えば、多重装置２０１によって多重化される前のデジタル信号の通信データを、ＥＮＣ処理部５５等に入力しサンプリングする。また、ＦＰＧＡ１１は、例えば、多重装置２０２や多重装置２０３から多重装置２０１に送信され多重装置２０１によって非多重化した後の通信データを、ＥＮＣ処理部５５等に入力しサンプリングする。これにより、ＦＰＧＡ１１は、物理的なインタフェースを備えずに各通信データのロギングを実行できる。
【０１００】
また、上記実施形態において、本開示のサンプリング部と検出部とを同一の処理部（ＥＮＣ処理部５５等）に実装したが、これに限らない。サンプリングを行うサンプリング部と、入力の有無を検出する検出部とは、異なる処理部（回路ブロック）でも良い。
また、上記実施形態において、バッファ回路５４、バッファ回路６６、バッファ回路７１等の蓄積方法は、ＦＩＦＯ形式の蓄積方法に限らず、例えば、ＬＩＦＯ形式の蓄積方法でも良い。
また、ロギング対象の装置は、装着装置８１に限らず、通信速度の異なる通信データを伝送する様々な装置を採用できる。例えば、ロギング対象の装置は、多関節ロボットや工作機械でも良い。
【符号の説明】
【０１０１】
１０  ロギング装置、２０  ＲＳ−２３２Ｃコネクタ（入力部）、２４  ＡＢＳエンコーダ用コネクタ（入力部）、２６  ＲＳ−２３２Ｃコネクタ（入力部）、２８  Ｍ２コネクタ（入力部）、３１  ＲＪ-４５コネクタ（入力部）、３３  高速ＤＩ用端子台（入力部）、３５  低速ＤＩ用端子台（入力部）、３７  高速ＡＤＣ用コネクタ（入力部）、３９  カメラリンク入力コネクタ（入力部）、４０  カメラリンク出力コネクタ（入力部）、４１  ＳＡＴＡコネクタ（外部インタフェース）、４２  外部記憶装置、５５  ＥＮＣ処理部（サンプリング部、検出部）、５７  ＵＡＲＴ処理部（サンプリング部、検出部）、５９  Ｍ２処理部（サンプリング部、検出部）、６１  １００ｂａｓｅ−ｔｘ処理部（サンプリング部、検出部）、６２  高速ＰＩＯ処理部（サンプリング部、検出部）、６３  低速ＰＩＯ処理部（サンプリング部、検出部）、６４  ＡＤＣ処理部（サンプリング部、検出部）、６５  処理部（サンプリング部、検出部）。
【図１】
0006963107.tif 000002
【図２】
0006963107.tif 000003
【図３】
0006963107.tif 000004
【図４】
0006963107.tif 000005
【図５】
0006963107.tif 000006
【図６】
0006963107.tif 000007
【図７】
0006963107.tif 000008
【図８】
0006963107.tif 000009
【図９】
0006963107.tif 000010
【図１０】
0006963107.tif 000011
【図１１】
0006963107.tif 000012