(57)【特許請求の範囲】
【請求項１】
制御装置と、前記制御装置により制御される被制御装置との間の半二重通信の通信データを入力する入力モジュールと、
前記入力モジュールを介して入力した前記半二重通信の前記通信データを分析し、前記制御装置から前記被制御装置へ送信される前記通信データと、前記被制御装置から前記制御装置へ送信される前記通信データとに分離して分析結果データとして保存する分析部と、
前記分析結果データのうち前記制御装置から前記被制御装置へ送信された前記通信データに基づいたテスト出力データを前記被制御装置に送信し前記被制御装置を動作させる処理、及び前記分析結果データのうち前記被制御装置から前記制御装置へ送信された前記通信データに基づいた前記テスト出力データを前記制御装置に送信し前記制御装置を動作させる処理、の２つの処理のうち少なくとも一方を実行する実行部と、
を備えるロジックアナライザ。
【請求項２】
前記分析結果データには、
前記テスト出力データに相当する前記通信データに対する応答データである分析時応答データが含まれ、
前記実行部は、
前記テスト出力データを送信し、前記テスト出力データに対する応答データであるシミュレーション時応答データを取得し、
前記テスト出力データ、前記分析時応答データ、前記シミュレーション時応答データを互いに参照可能に表示する、請求項１に記載のロジックアナライザ。
【請求項３】
前記分析部は、
前記分析において、前記通信データを送信した送信者の情報を、分離した前記通信データに関連付けて前記分析結果データとして保存する、請求項１又は請求項２に記載のロジックアナライザ。
【請求項４】
前記分析部は、
前記分析において、前記通信データの通信速度を検出し、検出した前記通信速度の情報を、分離した前記通信データに関連付けて前記分析結果データとして保存する、請求項１乃至請求項３の何れか１項に記載のロジックアナライザ。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、通信データを分析するロジックアナライザに関するものである。
【背景技術】
【０００２】
従来、分析対象のデジタル信号を処理する信号経路を切り替えるロジックアナライザがある（例えば、特許文献１など）。特許文献１のロジックアナライザは、信号経路を切り替える接続切換え回路を備えている。接続切換え回路は、デジタル信号の論理レベルを判断するコンパレータ、コンパレータの出力信号をサンプリングするサンプリング回路、コンパレータの出力信号を記憶する大容量情報記憶装置の接続を切り替える。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開昭６２−２５５８８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ロジックアナライザで通信データを分析した場合、通信データを送受信していた際の状況を分析できる。この分析した際の状況を再度確認したい場合がある。【０００５】
本開示は、上記の課題に鑑みてなされたものであり、分析を実行した際の状況を再現できるロジックアナライザを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本開示は、制御装置と、前記制御装置により制御される被制御装置との間の半二重通信の通信データを入力する入力モジュールと、前記入力モジュールを介して入力した前記半二重通信の前記通信データを分析し、前記制御装置から前記被制御装置へ送信される前記通信データと、前記被制御装置から前記制御装置へ送信される前記通信データとに分離して分析結果データとして保存する分析部と、前記分析結果データのうち前記制御装置から前記被制御装置へ送信された前記通信データに基づいたテスト出力データを前記被制御装置に送信し前記被制御装置を動作させる処理、及び前記分析結果データのうち前記被制御装置から前記制御装置へ送信された前記通信データに基づいた前記テスト出力データを前記制御装置に送信し前記制御装置を動作させる処理、の２つの処理のうち少なくとも一方を実行する実行部と、を備えるロジックアナライザを開示する。
【発明の効果】
【０００７】
本開示のロジックアナライザによれば、分析を実行した際の制御装置等の動作状況をシミュレーションにより再現でき、制御装置や被制御装置の動作試験等を実行できる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態のロジックアナライザのブロック図である。
【図２】ＦＰＧＡの分析部のブロック図である。
【図３】分析時におけるロジックアナライザの接続形態を示す図である。
【図４】設定情報の一例を示す図である。
【図５】分析結果データの一例を示す図である。
【図６】送信処理部のブロック図である。
【図７】シミュレーション時におけるロジックアナライザの接続形態を示す図である。
【図８】分析からシミュレーションまでの処理の流れを示すフローチャートである。
【図９】テスト出力データ、分析時応答データ、シミュレーション時応答データのパルス信号を表示した状態を示す図である。
【発明を実施するための形態】
【０００９】
以下、本開示のロジックアナライザの一実施形態について図面を参照しながら説明する。図１は、本実施形態のロジックアナライザ１０のブロック図を示している。図１に示すように、ロジックアナライザ１０は、各種電源回路１１と、入力モジュール１３と、ＦＰＧＡ１５と、ＤＤＲメモリ１７と、不揮発性メモリ１９などを備えている。各種電源回路１１は、ロジックアナライザ１０の電源として機能する回路である。各種電源回路１１は、例えば、ＡＣ／ＤＣ変換回路等を備え、電源コネクタ２１を介して商用電源等から電力を受電する。各種電源回路１１は、受電した電力をロジックアナライザ１０の各種装置へ供給する。なお、ロジックアナライザ１０の電源の構成は、特に限定されない。例えば、ロジックアナライザ１０は、充電式のバッテリを備えても良く、無線による給電を受ける構成でも良い。
【００１０】
入力モジュール１３は、分析対象の装置や通信ケーブルと接続するための各種のインタフェースを備えている。入力モジュール１３は、ＲＳ−４８５ドライバＩＣ２３，２４，２５、ＣＡＮドライバＩＣ２６、トリガ入力部２７を有している。なお、入力モジュール１３が備えるインタフェースの種類は一例であり、サポートしたい通信規格に応じて適宜変更される。例えば、入力モジュール１３は、ＲＳ−２３２Ｃ規格の通信が可能なＲＳ−２３２ＣドライバＩＣを備えても良い。
【００１１】
ＲＳ−４８５ドライバＩＣ２３，２４，２５等は、後述する分析対象の装置等（図３参照）に接続するためのインタフェースである。なお、入力モジュール１３と分析対象の装置等を接続する方法は、特に限定されない。例えば、ＲＳ−４８５ドライバＩＣ２３やＣＡＮドライバＩＣ２６等は、分析対象の通信データを伝送する通信ケーブルをバイパスするための接続部（入力コネクタや出力コネクタ）を備える構成でも良い。あるいは、ＲＳ−４８５ドライバＩＣ２３等は、分析対象の装置の端子に接続するためのプローブやグランパーなどを備える構成でも良い。
【００１２】
ＲＳ−４８５ドライバＩＣ２３，２４，２５は、ＲＳ−４８５通信規格に準拠した通信を行うドライバ回路であり、例えば、半二重通信を行う２線式のＲＳ−４８５規格の通信ケーブル等に接続可能となっている。ＲＳ−４８５ドライバＩＣ２３は、例えば、６つの通信回線分の通信データを入出力可能なコネクタや端子（ピン）を備えている。ＲＳ−４８５ドライバＩＣ２４は、例えば、光絶縁素子や光絶縁構造を備えたインタフェースである。ＲＳ−４８５ドライバＩＣ２４は、１つの通信回線分の通信データを入出力可能なコネクタ等を備えている。また、ＲＳ−４８５ドライバＩＣ２５は、例えば、絶縁トランスを用いたトランス絶縁式のインタフェースである。ＲＳ−４８５ドライバＩＣ２５は、例えば、１つの通信回線分の通信データを入出力可能なコネクタ等を備えている。ＣＡＮドライバＩＣ２６は、ＣＡＮ（Controller Area Network）データ通信の規格に準拠した通信を行うドライバ回路である。ＣＡＮドライバＩＣ２６は、例えば、１つの通信回線分の通信データを入出力可能なコネクタ等を備えている。上記したＲＳ−４８５通信、ＣＡＮ通信は、本開示の半二重通信の一例である。なお、各ドライバＩＣが入出力可能な通信回線を増やす方法は、物理的な端子を増やす方法に限らず、プログラムを実行することで実現する通信ポートを増やす方法でも良い。
【００１３】
トリガ入力部２７は、分析の開始等を指示するトリガ信号を入力するためのインタフェースである。トリガ入力部２７は、例えば、ＬＶＤＳ（Low voltage differential signaling）技術を用いたシリアル通信を実行するインタフェースを、１つの通信回線分備えている。また、トリガ入力部２７は、例えば、ＴＴＬ（Transistor-transistor-logic）を用いた通信を実行するインタフェースを、１つの通信回線分備えている。また、トリガ入力部２７は、例えば、フォトカプラによりトリガ信号を入力するインタフェースを、１つの通信回線分備えている。
【００１４】
ＦＰＧＡ１５は、例えば、Field Programmable Gate Arrayなどのプログラム可能なロジックデバイスやＣＰＵなどを備えている。ＦＰＧＡ１５は、分析部３１と、受付部３３とを回路ブロックとして有している。ＦＰＧＡ１５は、例えば、不揮発性メモリ１９に保存されたコンフィグ情報（コンフィグレーションデータ）に基づいて、回路ブロックを構築する。なお、本開示の分析部は、ＦＰＧＡの論理回路に限らず、例えば、プログラマブルロジックデバイス（ＰＬＤ）や複合プログラマブルロジックデバイス（ＣＰＬＤ）の論理回路でも良い。また、本開示の分析部は、論理回路に限らず、ＡＳＩＣなどの特定用途向けの集積回路でも良い。また、本開示の分析部を、ハードウェアではなく、ソフトウェアで実現しても良い。
【００１５】
分析部３１は、入力モジュール１３を介して取得した通信データを分析する回路ブロックである。なお、本開示の通信データの分析とは、データの検出だけでなく、データ形式の判断、データの内容の詳細な分析などを含む概念である。分析部３１は、分析結果を分析結果データ８７として不揮発性メモリ１９に保存する。また、分析部３１は、不揮発性メモリ１９に保存した分析結果データ８７に基づいたテスト出力データ８９を用いて分析対象の装置等を動作させる。なお、分析結果データ８７とテスト出力データ８９の詳細については後述する。
【００１６】
受付部３３は、分析を行うための設定情報を受け付ける回路ブロックである。設定情報の受け付け方法は、特に限定されない。例えば、後述するＪＴＡＧコネクタ３５を介してコンフィグ情報を受信しＦＰＧＡ１５の論理回路を変更することで設定を変更してもよく、外部の装置（ＰＣ５１）からＬＡＮコネクタ３７を介して設定情報を受信し設定を変更しても良い。あるいは、設定情報の受け付け方法は、不揮発性メモリ１９に保存されたコンフィグデ情報に予め設定されたデータを読み込み方法でも良い。
【００１７】
ＤＤＲメモリ１７は、例えば、ＤＤＲ−ＳＤＲＡＭであり、ＦＰＧＡ１５の処理における作業用のメモリとして使用される。なお、作業用のメモリは、ＤＤＲ−ＳＤＲＡＭに限らず、例えば、クロックの片エッジを使用するＳＤＲＡＭでも良い。不揮発性メモリ１９は、例えば、ＦＰＧＡ１５の回路ブロックを構築するコンフィグ情報、分析結果データ８７、テスト出力データ８９等を保存する。不揮発性メモリ１９は、例えば、ＥＥＰＲＯＭ、ＦＬＡＳＨメモリ、ＦＲＡＭ（登録商標）、ＭＲＡＭ等の不揮発性メモリである。
【００１８】
また、ロジックアナライザ１０は、外部装置であるタッチパネル１８と接続されている。タッチパネル１８は、ＦＰＧＡ１５と接続され、ロジックアナライザ１０の入出力インタフェースとして機能する。タッチパネル１８は、例えば、液晶パネル、液晶パネルの背面側から光を照射するＬＥＤ等の光源、液晶パネルの表面に貼り合わされた接触感知膜等を備えている。ユーザは、ロジックアナライザ１０に対する操作や、タッチパネル１８の表示画面の切り換え等を、画面に触れることで行うことができる。また、ＦＰＧＡ１５は、分析結果やシミュレーションの結果をタッチパネル１８に表示することができる。なお、ロジックアナライザ１０は、タッチパネル１８を備える構成でも良い。
【００１９】
また、ロジックアナライザ１０は、入力モジュール１３の他に外部と接続するためのインタフェースとして、ＪＴＡＧコネクタ３５、ＬＡＮコネクタ３７、ＵＳＢコネクタ３９を有する。ＪＴＡＧコネクタ３５は、ＦＰＧＡ１５に接続されている。ＪＴＡＧコネクタ３５は、例えば、ＪＴＡＧ（Joint European Test Action Group)によって提案された規格に準拠した通信を実行するコネクタである。ＦＰＧＡ１５は、分析を行うための設定情報に応じたコンフィグ情報などを、ＪＴＡＧコネクタ３５を介して入力する。
【００２０】
ＬＡＮコネクタ３７は、イーサ用ＰＨＹ４３を介してＦＰＧＡ１５と接続されている。ＵＳＢコネクタ３９は、ＵＳＢ用ＰＨＹ４５を介してＦＰＧＡ１５と接続されている。イーサ用ＰＨＹ４３及びＵＳＢ用ＰＨＹ４５は、例えば、各通信規格の論理層と物理層のインタフェースとして機能するＩＣである。ＬＡＮコネクタ３７は、イーサネット（登録商標）の通信規格に準拠した通信を行うインタフェースである。ＵＳＢコネクタ３９は、ＵＳＢ規格に準拠した通信を行うインタフェースである。なお、イーサネット（登録商標）規格は、特に限定されないが、例えば、ギガビットイーサネット（登録商標）規格である。また、ＵＳＢ規格は、特に限定されないが、例えば、ＵＳＢ２．０規格やＵＳＢ３．０規格である。
【００２１】
ＬＡＮコネクタ３７は、ＬＡＮケーブル４７を介してＰＣ５１と接続されている。ＰＣ５１は、パーソナルコンピュータであり、例えば、モニター、キーボード、マウスなどを備えている。ＰＣ５１は、ロジックアナライザ１０の設定情報の変更、ロジックアナライザ１０に対する分析の開始指示等を行う装置である。また、ＰＣ５１は、ロジックアナライザ１０から受信したデータを表示する。これにより、ＰＣ５１を操作する分析者は、分析結果を確認することができる。なお、ロジックアナライザ１０は、ＵＳＢコネクタ３９を介してＰＣ５１と接続される構成でも良い。
【００２２】
（分析時の処理）
次に、ＦＰＧＡ１５の分析部３１の構成について図２及び図３を参照しつつ説明する。図２は、分析部３１の構成を示すブロック図である。図２に示すように、分析部３１は、低速通信処理部６１、高速通信処理部６２、共通部６３を有している。  
【００２３】
図３は、分析時におけるロジックアナライザ１０の接続形態の一例を示している。図３に示すように、ロジックアナライザ１０は、装置コントローラ１０１と、被制御装置１０３との間に接続されている。装置コントローラ１０１は、例えば、作業機を統括的に制御する制御装置である。ここでいう作業機とは、例えば、基板に電子部品を装着する部品装着機、基板にはんだを塗布するはんだ印刷装置、組み立て作業を行う多関節ロボット、切削等を行う工作機械などである。また、作業機は、ＦＡ（Factory Automation）分野に用いられる産業用の機械に限らず、介護用のロボットなどでも良い。従って、本開示の分析対象としては、データの通信を行う様々な機械や装置を対象とすることができる。
【００２４】
装置コントローラ１０１は、ＣＰＵやメモリ等を備え、被制御装置１０３と通信を実行することで被制御装置１０３の動作を制御する。被制御装置１０３は、多軸サーボアンプ１２１、ＡＢＳ（アブソリュート型）エンコーダ１２２、サーボモータ１２３、スレーブ１２５，１２６、６軸振動センサ１２８を備えている。多軸サーボアンプ１２１は、ＡＢＳエンコーダ１２２に対して位置情報の出力などの指令を実行する。また、多軸サーボアンプ１２１は、ＡＢＳエンコーダ１２２から取得した位置情報に基づいてサーボモータ１２３に供給する電力を変更するフィードバック制御を行う。これにより、多軸サーボアンプ１２１は、サーボモータ１２３の回転動作を位置情報に応じて制御できる。
【００２５】
サーボモータ１２３は、例えば、作業機の可動部の駆動源として用いられ、６つ設けられている。また、ＡＢＳエンコーダ１２２は、サーボモータ１２３の各々に対応して６つ設けられている。６つのサーボモータ１２３の各々は、出力軸に接続されたギア等を回転させることで、可動部を６つの軸を中心に動作させることができる。多軸サーボアンプ１２１は、各ＡＢＳエンコーダ１２２の位置情報に基づいて各サーボモータ１２３を制御することで、可動部（例えば、ロボットアーム）を６つの軸を中心に多方向へ駆動する。なお、サーボモータ１２３の個数は、６個に限らず、１個又は６個以外の複数個でも良い。
【００２６】
多軸サーボアンプ１２１は、例えば、ＲＳ−４８５規格に準拠した通信で、ＨＤＬＣ（High-Level Data Link Control）の通信プロトコルを用いた通信により、６つのＡＢＳエンコーダ１２２の各々と通信する。ロジックアナライザ１０のＲＳ−４８５ドライバＩＣ２３は、多軸サーボアンプ１２１とＡＢＳエンコーダ１２２の間に接続され、多軸サーボアンプ１２１とＡＢＳエンコーダ１２２を接続する通信ケーブル等に接続されている。ＲＳ−４８５ドライバＩＣ２３は、６つの軸の各々に対応する通信データ（位置情報等）を取得可能となっている。
【００２７】
また、装置コントローラ１０１は、例えば、多軸サーボアンプ１２１、スレーブ１２５，１２６に接続され、産業ネットワークを介した通信により、多軸サーボアンプ１２１やスレーブ１２５，１２６を制御する。ここでいう「産業用ネットワーク」とは、例えば、ＣＣ−Ｌｉｎｋ（登録商標）等の通信規格の通信を用いて、リレーやスイッチ等を制御する制御データを伝送するネットワークである。産業用ネットワークの通信規格は、ＣＣ−Ｌｉｎｋ（登録商標）に限らず、ＭＥＣＨＡＴＲＯＬＩＮＫ（登録商標）−ＩＩ、ＭＥＣＨＡＴＲＯＬＩＮＫ（登録商標）−ＩＩＩ、ＥｔｈｅｒＣＡＴ（登録商標）、Ｐｒｏｆｉｎｅｔ（登録商標）等でも良い。例えば、装置コントローラ１０１は、ＭＥＣＨＡＴＲＯＬＩＮＫ（登録商標）−ＩＩ規格に準拠した通信により、多軸サーボアンプ１２１の動作を制御する。これにより、装置コントローラ１０１は、多軸サーボアンプ１２１を介してサーボモータ１２３の動作、即ち、被制御装置１０３の動作を制御可能となっている。ＲＳ−４８５ドライバＩＣ２５は、装置コントローラ１０１と多軸サーボアンプ１２１とを接続する通信ケーブル等に接続され、ＭＥＣＨＡＴＲＯＬＩＮＫ（登録商標）−ＩＩ規格の通信で送受信される通信データを取得可能となっている。
【００２８】
また、装置コントローラ１０１は、例えば、ＣＣ−Ｌｉｎｋ（登録商標）規格に準拠した通信により、スレーブ１２５，１２６の動作を制御する。スレーブ１２５は、例えば、デジタル信号を入力するインタフェース（ＤＩ）と、デジタル信号を出力するインタフェース（ＤＯ）を備えている。また、スレーブ１２６は、アナログ信号とデジタル信号との変換を行うＡＤコンバータを備えている。スレーブ１２５，１２６の各々は、被制御装置１０３に取り付けられた各種装置（センサやリレーなど）の入出力信号を処理する。装置コントローラ１０１は、例えば、ＣＣ−Ｌｉｎｋ（登録商標）規格の産業ネットワークにおけるマスターとして機能し、スレーブ１２５，１２６の動作を制御することで、センサの出力信号の取得やリレーの駆動などを行う。ＲＳ−４８５ドライバＩＣ２４は、装置コントローラ１０１とスレーブ１２５とを接続する通信ケーブル等に接続されている。また、スレーブ１２６は、スレーブ１２５を介して装置コントローラ１０１と接続されている。これにより、ＲＳ−４８５ドライバＩＣ２４は、ＣＣ−Ｌｉｎｋ（登録商標）規格の通信で送受信される通信データを取得可能となっている。
【００２９】
また、装置コントローラ１０１は、例えば、ＣＡＮデータ通信規格に準拠した通信により、６軸振動センサ１２８と通信可能となっている。６軸振動センサ１２８は、例えば、６軸に対応する各サーボモータ１２３の振動を検出可能となっている。装置コントローラ１０１は、ＣＡＮデータ通信規格に準拠した通信により、６軸振動センサ１２８から検出値の取得などを行う。ＣＡＮドライバＩＣ２６は、装置コントローラ１０１と６軸振動センサ１２８とを接続する通信ケーブル等に接続され、ＣＡＮデータ通信規格の通信で送受信される通信データを取得可能となっている。
【００３０】
ここで、分析対象の通信データの中には、通信の途中で通信速度が変更されるものも想定される。具体的には、例えば、多軸サーボアンプ１２１は、ＨＤＬＣ規格の通信により、ＡＢＳエンコーダ１２２に対する初期設定を実行する際に、低速な通信を実行する。また、多軸サーボアンプ１２１は、例えば、初期設定を完了させ、ＡＢＳエンコーダ１２２が高速通信に対応する機種であると判断すると、高速な通信により位置情報の取得などを実行する。低速な通信速度は、例えば、４Ｍｂｐｓである。高速な通信は、例えば、８Ｍｂｐｓである。
【００３１】
このような通信速度が変更される通信データを分析する場合に、図２に示す分析部３１は、低速通信処理部６１と高速通信処理部６２とによる並列処理を実行可能となっている。そして、分析部３１は、例えば、２つの処理部の分析結果が正しいのかを比較等することで通信データの通信速度をより正確に判断できる。低速通信処理部６１は、例えば、上記した４Ｍｂｐｓの通信速度の通信データを分析可能となっている。高速通信処理部６２は、例えば、８Ｍｂｐｓの通信速度の通信データを分析可能となっている。なお、低速通信処理部６１及び高速通信処理部６２の分析可能な通信速度の設定を、受付部３３で受け付けた設定情報に基づいて変更しても良い。また、分析部３１は、低速通信処理部６１、高速通信処理部６２、以外に超低速、中速、超高速などの処理部を備えても良い。また、分析部３１は、低速通信処理部６１又は高速通信処理部６２の一方のみを備える構成でも良い。この場合、低速通信処理部６１又は高速通信処理部６２は、後述するように、通信速度自動認識部７３により自動で通信速度を検出しても良い。また、分析部３１は、１つの処理部において通信速度を検出し、通信データをサンプリングするサンプリング周期等を自動で変更する構成でも良い。
【００３２】
図２に示すように、高速通信処理部６２は、低速通信処理部６１に比べて高速な通信を分析するものの、処理ブロックとしては低速通信処理部６１と同様の構成となっている。このため、以下の説明では、低速通信処理部６１と高速通信処理部６２との処理ブロックに同一符号を付して説明する。同一符号を付した処理ブロックは、例えば通信速度の違いを除いて同様の処理を実行する。
【００３３】
まず、分析部３１には、入力モジュール１３（図１参照）を介して通信データが入力される。例えば、分析部３１には、図３の多軸サーボアンプ１２１からＡＢＳエンコーダ１２２へ送信された通信データや、ＡＢＳエンコーダ１２２から多軸サーボアンプ１２１へ送信された通信データが入力される。分析部３１に入力された通信データは、低速通信処理部６１、高速通信処理部６２のそれぞれに入力される。低速通信処理部６１及び高速通信処理部６２に入力された通信データは、伝送路符号分析部７１、通信方式別処理部７２、通信速度自動認識部７３の順に伝送される。次いで、通信速度自動認識部７３から出力された通信データは、コマンド認識及びタイマー値設定部（以下、設定部という場合がある）７４、通信方向認識及びデータ分離部（以下、認識分離部という場合がある）７５、ＦＣＳ計算部７６の順に伝送される。なお、各処理部の種類や順番は一例である。
【００３４】
伝送路符号分析部７１は、入力された通信データの符号化の方式を分析する。伝送路符号分析部７１は、例えば、ＮＲＺ（non-return-to-zero）方式、マンチェスタ方式などのどの符号化方式を用いた通信データであるのかを分析する。また、伝送路符号分析部７１は、ＮＲＺ方式の中でもＮＺＲ（Ｌ）方式やＮＺＲ（Ｉ）方式など、各方式の中で分類分けする詳細な分析を実行しても良い。なお、伝送路符号分析部７１による分析方法は、特に限定されない。例えば、伝送路符号分析部７１は、通信データに含まれるハイレベルとローレベルの信号群に対し、各方式に応じたパターンと一致するか否かを判断するパターンマッチングを実行し分析しても良い。また、伝送路符号分析部７１は、判断に用いるパターンを、後述する受付部３３で受け付ける設定情報（図４参照）に基づいて決定しても良い。
【００３５】
通信方式別処理部７２は、入力された通信データの通信方式を分析する。通信方式別処理部７２は、例えば、調歩同期方式、同期通信方式などのどの通信方式を用いた通信データであるのかを分析する。調歩同期方式を用いる通信としては、例えば、ＵＡＲＴ（Universal Asynchronous Receiver Transmitter）を用いたＵＡＲＴ通信がある。また、同期通信方式を用いる通信としては、例えば、ＨＤＬＣを用いたＨＤＬＣ通信がある。なお、通信方式別処理部７２による分析方法は、特に限定されない。例えば、通信方式別処理部７２は、通信データに含まれるフラグシーケンス、スタートビット、ストップビットなどの特定のビット列を検出することで、通信方式を分析しても良い。
【００３６】
通信速度自動認識部７３は、入力された通信データの通信速度を分析する。通信速度自動認識部７３は、例えば、入力した通信データのパルス信号に対し、パルス信号に含まれる１パルスのパルス幅の時間に基づいて通信速度を検出する。通信速度自動認識部７３は、例えば、ハイレベルへの立ち上がりからローレベルへの立ち下がりまでの時間をパルス幅の時間として検出し、パルス幅の時間から通信速度を演算する。１パルスの変化時間が検出できれば、１ビットの変化時間を検出できる。このため、通信速度自動認識部７３は、１ビットの変化時間から通信速度を演算できる。
【００３７】
また、通信速度自動認識部７３は、伝送路符号分析部７１や通信方式別処理部７２の分析結果を用いて通信速度を演算しても良い。例えば、通信速度自動認識部７３は、通信方式別処理部７２で検出したスタートビットを、伝送路符号分析部７１で検出した符号化方式に基づいて符号化した場合の１パルスの幅を用いて、パルス幅の時間を検出しても良い。通信速度自動認識部７３は、検出した通信速度の値を共通部６３のトリガ条件認識部８２へ出力する（図２の破線参照）。
【００３８】
トリガ条件認識部８２は、通信速度自動認識部７３から入力される通信速度の値の変化に基づいて、分析対象の通信データの通信速度の変化を検出できる。トリガ条件認識部８２は、通信速度の変更を検出することをトリガとして処理を実行する。図２に示すように、共通部６３は、データ処理部８３を有する。データ処理部８３は、ＤＤＲメモリ１７（図１参照）へのデータの保存、ＤＤＲメモリ１７からのデータの読み出し、他の装置へのデータの転送等を実行する回路ブロックである。例えば、初期設定を低速で行い、位置情報の転送を高速で行うＡＢＳエンコーダ１０２に対して、トリガ条件認識部８２は、初期設定では分析結果を分析結果データ８７として保存せず、高速通信時の位置情報のみを分析結果データ８７を保存するようにデータ処理部８３へ指令を出す。これにより、データ処理部８３は、トリガ条件認識部８２から入力した指令（トリガ）に基づいて、高速通信時の通信データのみを分析結果データ８７として保存等できる。データ処理部８３は、ＤＤＲメモリ１７へ分析結果データ８７を保存する。なお、データ処理部８３は、分析結果データ８７を、ＰＣ５１へ出力しても良い。これにより、ＰＣ５１側において、高速通信時の通信データ（パルス波形など）を表示できる。
【００３９】
また、共通部６３は、外部トリガ入力部８１を備える。外部トリガ入力部８１は、例えば、入力モジュール１３のトリガ入力部２７（図１参照）を介して外部からトリガ信号を入力する。外部トリガ入力部８１は、入力したトリガ信号をトリガ条件認識部８２へ出力する。トリガ条件認識部８２は、外部トリガ入力部８１から入力されたトリガ信号に基づいて、分析結果データ８７の保存等を実行する。
【００４０】
また、設定部７４は、コマンドの認識処理やタイマー値の判断処理を実行する。分析対象の通信データの中には、通信の途中で通信速度を変更する際に、速度切替を指示するコマンド（以下、速度切替コマンドという場合がある）を送信するものが想定される。不揮発性メモリ１９（図１参照）には、例えば、各通信規格で用いられる速度切替コマンドのビット値の情報等が保存されている。設定部７４は、この不揮発性メモリ１９に保存されたビット値等を参照して、速度切替コマンドが送信されたか否かを判断する。設定部７４は、速度切替コマンドを検出すると、検出した旨をトリガ条件認識部８２へ通知する（図２の破線参照）。
【００４１】
これにより、トリガ条件認識部８２は、上記した通信速度自動認識部７３から通信速度の値が入力された場合と同様に、分析対象の通信データの通信速度の変化を検出できる。具体的には、例えば、トリガ条件認識部８２は、設定部７４からの速度切替コマンドの情報に基づいて、高速通信時の位置情報のみを分析結果データ８７として保存するようにデータ処理部８３へ指令を出しても良い。
【００４２】
また、設定部７４は、速度切替コマンドの応答時間を判断し、タイムアウト時間となった場合に異常を検出しても良い。例えば、不揮発性メモリ１９（図１参照）には、第１時間と、第１時間の経過後に検出すべきデータである想定データとが関連付けられた参照情報９１が保存されている。例えば、通信速度の切り替え処理としては、速度切替コマンドの受信後直ぐに速度変更を実行する場合や、速度切替コマンドを受信した後に次の２段階目のコマンドを受信して速度変更を実行する場合がある。こうした速度変更の処理シーケンスに応じた第１時間と想定データとを、通信規格等に応じて予め参照情報９１に設定しておく。従って、第１時間は、例えば、速度切替コマンド、あるいは速度切替コマンドの次に送信される２段階目のコマンドに対して応答することが可能な最大時間である。換言すれば、この第１時間を経過すると、送信側は、タイムアウトとして認識する。想定データとは、例えば、速度切替コマンドに対する応答コマンドなどの処理シーケンスで想定されるデータである。具体的には、例えば、想定データは、速度の切り替えを完了したことを応答するコマンド、あるいは速度の切り替えに失敗したことを応答するコマンドである。また、例えば、速度切替コマンドを送信して応答コマンドを送信した後、さらに次の２段階目のコマンドの送信から速度を切り替える可能性もある。この場合、速度切替コマンドから２段階目のコマンドの応答（切り替え完了）までの時間を第１時間として設定しも良い。
【００４３】
設定部７４は、参照情報９１に基づいて、速度切替コマンドを検出してから第１時間だけ経過した後に、通信データから想定データを検出できないことに応じて異常を検出する。設定部７４は、例えば、異常を検出した旨をトリガ条件認識部８２へ出力する。これにより、例えば、トリガ条件認識部８２は、異常時の分析結果データ８７をデータ処理部８３へ保存させる処理や、異常の検出をＰＣ５１に通知する処理などを実行できる。なお、設定部７４は、通信データに含まれる速度切替コマンド以外のコマンドについて、コマンドの検出に合わせてタイマー値を設定し、設定したタイマー値に基づいてタイムアウトの判断を実行しても良い。
【００４４】
また、分離部７５は、入力された通信データの通信方向の認識、及び通信方向に応じた通信データの分離を実行する。例えば、図３に示す分析対象の全ての通信（ＨＤＬＣ、ＭＥＣＨＡＴＲＯＬＩＮＫ（登録商標）−ＩＩ、ＣＣ−Ｌｉｎｋ（登録商標、ＣＡＮ）は、送信方向の切り替わる半二重通信である。この場合、分離部７５は、例えば、図３の装置コントローラ１０１から多軸サーボアンプ１２１へ送信する通信データと、多軸サーボアンプ１２１から装置コントローラ１０１へ送信する通信データを分離する。
【００４５】
半二重通信の場合、通信方向は、例えば、一定の周期で送信方向が切り替わる。このため、分離部７５は、例えば、送信方向の切り替わる半周期毎に送信されるヘッダ情報などの制御情報を検出する。そして、分離部７５は、制御情報を検出した周期、即ち、通信方向の切り替わる半周期を検出する。これにより、分離部７５は、入力された通信データの通信方向を認識し、通信方向に応じて通信データを分離することができる。分離部７５は、通信方向ごとに分離した通信データをＦＣＳ計算部７６へ出力する。
【００４６】
また、分離部７５は、検出した通信方向の情報をトリガ条件認識部８２へ出力する（図２中の破線参照）。これにより、トリガ条件認識部８２は、通信方向の切り替わりを検出できる。そして、トリガ条件認識部８２は、通信方向の切り替わりをトリガとした処理を実行できる。例えば、トリガ条件認識部８２は、装置コントローラ１０１から多軸サーボアンプ１２１に対する通信データのみを保存するようにデータ処理部８３へ指令できる。
【００４７】
ＦＣＳ計算部７６は、分離部７５から入力した通信方向ごとの通信データに対し、誤り検出や誤り訂正を実行する。上記したように、ＦＰＧＡ１５の受付部３３（図１参照）は、分析を行うための設定情報を受け付ける。受付部３３は、例えば、分析対象のシリアル通信の通信方向、通信方向ごとの通信データに付与される誤り検出符号の種類（ＣＲＣ符号、パリティ符号など）、及び誤り検出符号により誤りを検出した検出回数を判断する閾値を受け付ける。受付部３３は、例えば、分析を開始する前に、ＰＣ５１からＬＡＮコネクタ３７を介して設定情報を受信する。
【００４８】
ＦＣＳ計算部７６は、受付部３３で受け付けた通信方向に一致する通信データにおいて、誤り検出符号による誤り検出を、閾値の回数だけ検出したことに応じて異常を検出する。従って、ＦＣＳ計算部７６は、受付部３３で受け付けた条件に従って、各通信方向の誤りを検出し、条件に一致した回数（閾値）だけ誤りを検出すると異常を検出する。ＦＣＳ計算部７６は、異常を検出すると、その旨をトリガ条件認識部８２へ通知する。これにより、トリガ条件認識部８２は、上記した通信速度自動認識部７３等の通知と同様に、異常の通知をトリガとした処理（保存や表示など）を実行できる。
【００４９】
ＦＣＳ計算部７６は、通信方向ごとの通信データをデータ処理部８３へ出力する。これにより、データ処理部８３は、トリガ条件認識部８２からの指示等に応じて通信データを分析結果データ８７として保存できる。なお、ＦＣＳ計算部７６は、誤りの検出だけでなく、誤りの訂正を実行し、訂正後の通信データをデータ処理部８３へ出力しても良い。
【００５０】
ここで、上記したように、分析部３１は、低速通信処理部６１と高速通信処理部６２を備え、２つの処理部による並列処理を実行可能となっている。分析部３１は、例えば、２つの処理部の分析結果が正しいのかを判断することで、通信データの通信速度を判断できる。例えば、低速通信処理部６１の通信速度自動認識部７３と、高速通信処理部６２の通信速度自動認識部７３とが、予め設定された設定情報に基づいて通信データをサンプリングする場合について考える。この場合、低速通信では、低速通信処理部６１の通信速度自動認識部７３は、正常に通信データをサンプリングできる一方、高速通信処理部６２の通信速度自動認識部７３は、通信データを正しくサンプリングできなくなる。このため、分析部３１は、２つの通信速度自動認識部７３のサンプリングの結果が正しいのかを判断することで、通信データの通信速度を判断できる。
【００５１】
次に、各通信回線の管理方法、及び各通信回線の分析結果データ８７について説明する。なお、以下の説明では、イーサ用ＰＨＹ４３、入力モジュール１３と接続される各通信回線を区別して説明する場合に、ＣＨ（チャンネル）１等と称して説明する。例えば、図１に示すように、イーサ用ＰＨＹ４３とＰＣ５１とを接続する通信回線を、ＣＨ０と称する。また、ＲＳ−４８５ドライバＩＣ２３と接続された６つの通信回線を、ＣＨ１〜ＣＨ６と称する。また、ＲＳ−４８５ドライバＩＣ２４、ＲＳ−４８５ドライバＩＣ２５、ＣＡＮドライバＩＣ２６の各々に接続された通信回線を、ＣＨ７、ＣＨ８、ＣＨ９と称する。また、トリガ入力部２７の各インタフェース（ＴＴＬ、ＬＶＤＳ、フォトカプラ）と接続された通信回線を、ＣＨ１１、ＣＨ１２、ＣＨ１３と称する。ロジックアナライザ１０は、例えば、このＣＨの番号を用いて各通信回線を識別し、分析結果データ８７や設定情報を管理する。
【００５２】
図４は、ロジックアナライザ１０に設定される設定情報の一例を示している。受付部３３は、上記したように、設定情報を受け付けて管理する。受付部３３は、図４に示すように、各チャンネルと、通信プロトコルの情報を関連付けて管理する。図４の最も左の列は、対応するチャンネルの番号の一例である。右から２番目の列は、チャンネルの番号の情報である。３列目は、物理層の情報である。４列目は、各チャンネルで用いられる通信プロトコルを識別可能な名称の情報である。４列目に示すように、分析対象の通信プロトコルとしては、上記したプロトコル以外に、ＭｏｄｂｕｓプロトコルやＰｒｏｆｉｂｕｓプロトコルを採用できる。５列目は、通信速度の情報である。６列目は、データ伝送方式の通信規格の情報である。７列目は、符号化方式の情報である。８列目は、制御側（マスター側）から被制御側（スレーブ側）へ送信する通信データに付加する誤り検出符号の情報である。図３の場合、装置コントローラ１０１から被制御装置１０３へ送信する通信データの誤り検出符号である。９列目は、被制御側（スレーブ側）から制御側（マスター側）へ送信する通信データに付加する誤り検出符号の情報である。１０列目は、ビットの送出順序の情報であり、ＭＳＢ（Most Significant Bit：最上位ビット）から送出するのか、ＬＳＢ（Least Significant Bit：最下位ビット）から送出するのかを示す情報である。１１列目は、各チャンネルの参考情報である。１２列目は、通信速度を切り替える速度切替コマンドなどの特殊なコマンドを用いるか否かを示す情報である。
【００５３】
なお、図４の２行目の文字は、各列の情報が変更可能であるか否かを示している。例えば、「固定」の文字は、ユーザによって変更できない固定値の列であることを示している。「選択」の文字は、例えば、選択可能な列であることを示している。「自動選択」の文字は、例えば、４列目の選択によって選択された通信プロトコルに対応する値が自動的に設定される列であることを示している。受付部３３（図１参照）は、例えば、タッチパネル１８に対する所定の操作に応じて、不揮発性メモリ１９から各チャンネルの設定情報を読み出し、タッチパネル１８に表示する。ユーザは、例えば、通信プロトコル（４列目）のプルダウンメニューから任意の通信プロトコルを選択することで、各チャンネルの値を設定できる。そして、分析部３１は、設定された情報に基づいて、各チャンネルの通信データを分析する。
【００５４】
図５は、分析結果データ８７の一例を示している。分析部３１は、図４に示した設定情報に基づいて、チャンネルごとの分析結果データ８７を保存する。なお、図５は、ＣＨ１の通信データのみを図示している。例えば、分析部３１は、ＣＨ番号、プロトコル、物理層の情報をヘッダ情報として、検出したビット値に関連付けて保存する。分析部３１は、各チャンネルのデジタル信号のハイレベル又はローレベルの情報、即ち、各ビット値を保存する。ヘッダ情報の「データの意味」の項目において、「ＤＡＴＡ（１ＢＩＴ）」は、実際のビット値を示している。「１」は、ハイレベルのビット値を、「０」は、ローレベルのビット値を示している。また、「データの意味」の「ＭＳＴ」は、通信方向を示している。「１」は、装置コントローラ１０１側（マスター側）から被制御装置１０３側への通信であることを示している。「０」は、から被制御装置１０３側（スレーブ側）から装置コントローラ１０１への通信であることを示している。
【００５５】
従って、本実施形態の分析部３１は、分析時において、通信データを送信した送信者の情報を、分離した通信データに関連付けて分析結果データ８７として保存する。これによれば、分析部３１は、通信方向ごとに通信データを分離するだけでなく、分離した通信データの送信者の情報を付加して保存する。これにより、送信者の情報を参照し、適切な送信者（制御装置又は被制御装置）の通信データとして、分析結果データ８７を用いることができる。
【００５６】
また、図５の「データの意味」の「ＳＰＥＥＤ」は、通信速度の変化を示している。「０」は、低速通信を、「１」は、高速通信を示している。例えば、図５に示す例では、多軸サーボアンプ１２１（マスター）からＡＢＳエンコーダ１２２（スレーブ）へ通信速度を速くする速度切り替えコマンドを送信した後、応答（ＡＣＫ）が返信されている。そして、通信速度を速くした後の分析結果データ８７において、「ＳＰＥＥＤ」のビット値が「１」となっている。なお、本実施形態では、ＣＨ７〜ＣＨ９の通信において通信速度の変更が行われない。このため、ＣＨ７〜ＣＨ９には、「ＳＰＥＥＤ」の項目が設定されていない。
【００５７】
従って、本実施形態の分析部３１は、分析時において、通信データの通信速度を検出し、検出した通信速度の情報を、分離した通信データに関連付けて分析結果データ８７として保存する。例えば、分析部３１は、通信方向ごとに通信データを分離するだけでなく、分離した通信データの通信速度の情報を付加して保存する。これにより、通信速度の情報を表示等することで、通信データだけでなく、速度の変化を報知できる。
【００５８】
（分析時及びシミュレーション時の処理）
次に、上記した分析作業からシミュレーションを実施するまでの一連の処理について説明する。本実施形態のロジックアナライザ１０は、上記した分析処理により保存した分析結果データ８７に基づいたテスト出力データ８９を用いて分析対象の装置等の動作試験を実行する。図６は、分析対象の装置等に対してテスト出力データ８９を送信する送信処理部１３０のブロック図を示している。送信処理部１３０は、例えば、分析部３１に含まれる回路ブロックである（図１参照）。
【００５９】
図６に示すように、送信処理部１３０は、ＤＤＲメモリＲ／Ｗ処理部１３１、不揮発性メモリＲ／Ｗ処理部１３２、データ送受信処理部１３３、メモリ読出部１３５、バッファ処理部１３７、通信速度生成部１３９を有している。ＤＤＲメモリＲ／Ｗ処理部１３１は、ＤＤＲメモリ１７からの読み出し処理、及びＤＤＲメモリ１７への書き込み処理を実行する回路ブロックである。不揮発性メモリＲ／Ｗ処理部１３２は、不揮発性メモリ１９からの読み出し処理、及び不揮発性メモリ１９への書き込み処理を実行する回路ブロックである。データ送受信処理部１３３は、ＤＤＲメモリＲ／Ｗ処理部１３１を介してＤＤＲメモリ１７と接続されている。また、データ送受信処理部１３３は、不揮発性メモリＲ／Ｗ処理部１３２を介して不揮発性メモリ１９に接続されている。これにより、データ送受信処理部１３３は、ＤＤＲメモリ１７及び不揮発性メモリ１９に対する入出力が可能となっている。また、データ送受信処理部１３３は、イーサ用ＰＨＹ４３を介してＰＣ５１と通信可能となっている。
【００６０】
メモリ読出部１３５は、ＤＤＲメモリＲ／Ｗ処理部１３１と接続されており、ＤＤＲメモリ１７に対する入出力が可能となっている。バッファ処理部１３７は、各チャンネルに対応して設けられている。バッファ処理部１３７は、各チャンネルの通信データ（テスト出力データ８９）を一時的に蓄積してバッファとして機能する。
【００６１】
通信速度生成部１３９は、各チャンネルに対応して設けられている。複数の通信速度生成部１３９の各々は、各ドライバＩＣ（ＲＳ−４８５ドライバＩＣ２３など）に接続されている。通信速度生成部１３９は、各ドライバＩＣに出力するＤＥ（データイネーブル）信号の信号レベルを変更することで、通信方向を変更する。
【００６２】
図７は、シミュレーション時におけるロジックアナライザ１０の接続形態を示している。図７は、例えば、ＣＣ−Ｌｉｎｋ（登録商標）のスレーブ１２５，１２６（図３参照）、及びＣＡＮデータ通信の６軸振動センサ１２８（図３参照）の代わりにロジックアナライザ１０を動作させる場合の接続形態を示している。この場合、例えば、ＲＳ−４８５ドライバＩＣ２４に接続された通信速度生成部１３９は、半二重通信においてＲＳ−４８５ドライバＩＣ２４（スレーブ側）から装置コントローラ１０１（マスター側）へ通信データを送信する際に、ＲＳ−４８５ドライバＩＣ２４に出力するＤＥ信号をハイレベルにする。即ち、通信速度生成部１３９は、テスト出力データ８９を送信する場合に、ＤＥ信号をハイレベルにしてＲＳ−４８５ドライバＩＣ２４を送信可能な状態にする。また、通信速度生成部１３９は、装置コントローラ１０１からＲＳ−４８５ドライバＩＣ２４へ通信データを送信する場合、ＲＳ−４８５ドライバＩＣ２４に出力するＤＥ信号をローレベルに変更する。即ち、ＲＳ−４８５ドライバＩＣ２４で通信データを受信する場合、ＤＥ信号をローレベルにしてＲＳ−４８５ドライバＩＣ２４を受信可能な状態にする。これにより、通信速度生成部１３９は、ＤＥ信号を切り替えることでドライバＩＣの通信方向の状態を変更できる。
【００６３】
シミュレーション時において、分析部３１は、送信処理部１３０を用いてテスト出力データ８９を、シミュレーション対象の装置（装置コントローラ１０１など）に送信する。また、分析部３１は、シミュレーション対象の装置から通信データを受信すると、データ処理部８３（図２参照）による分析結果データ８７の保存を実行する。即ち、分析部３１は、一度分析した分析結果データ８７を用いてシミュレーションを実行しつつ、シミュレーション時の分析結果（相手から受信したデータ）を保存する。なお、図７に示す構成は、一例である。例えば、ロジックアナライザ１０は、分析結果データ８７を用いてＡＢＳエンコーダ１２２として動作しても良い。また、ロジックアナライザ１０は、被制御装置１０３側（スレーブ側）としてだけでなく、マスター側（装置コントローラ１０１や多軸サーボアンプ１２１）として動作しても良い。
【００６４】
図８は、分析からシミュレーションまでの処理の流れを示すフローチャートである。図８におけるステップ（以下、単に「Ｓ」と記載する）１１〜Ｓ１５は、分析、及び分析結果データ８７の保存処理を示している。Ｓ１５〜Ｓ１７は、ＰＣ５１によるテスト出力データ８９の準備処理を示している。Ｓ１８〜Ｓ２０は、シミュレーションの処理を示している。Ｓ２１，Ｓ２２は、シミュレーション結果の確認処理を示している。なお、図８に示す処理手順は、一例である。
【００６５】
まず、図８のＳ１１において、チャンネル毎のプロトコルの設定などを行う。例えば、上記したように、受付部３３は、タッチパネル１８を介して各チャンネルの設定情報（通信プロトコルなど）を受け付ける。なお、受付部３３は、設定情報として、各チャンネルの有効、無効の設定を受け付けても良い。即ち、受付部３３は、今回の分析で使用しないチャンネルを無効とする設定を受け付けても良い。
【００６６】
次に、トリガ条件の設定を行う。受付部３３は、タッチパネル１８を介してトリガ条件を受け付ける（Ｓ１２）。例えば、受付部３３は、分析結果データ８７を保存する通信方向（マスターからスレーブ方向のみなど）をトリガ条件として受け付ける。あるいは、受付部３３は、例えば、トリガ入力部２７に接続された装置（ＣＨ１１〜ＣＨ１３）のどの信号を、分析結果データ８７の保存を開始するトリガとして用いるのかを受け付ける。また、受付部３３は、例えば、異常として判断する誤り検出の条件（検出回数など）をトリガ条件として受け付ける。なお、受付部３３は、設定情報やトリガ条件を、ＰＣ５１を介して受け付けても良い。
【００６７】
次に、受付部３３は、Ｓ１１で受け付けたプロトコルなどの設定情報、及びＳ１２で受け付けたトリガ条件を、分析部３１へ転送する（Ｓ１３）。分析部３１は、受付部３３から転送された設定情報及びトリガ条件に基づいた分析を開始する（Ｓ１４）。分析部３１は、例えば、受付部３３で受け付けた設定情報（通信プロトコル、通信速度、符号化方式など）に基づいて通信データの分析を開始する。分析部３１のトリガ条件認識部８２（図２参照）は、トリガ条件が成立すると、分析結果データ８７の保存をデータ処理部８３へ指令する（Ｓ１４）。データ処理部８３は、例えば、不揮発性メモリ１９へ分析結果データ８７を保存する。なお、データ処理部８３は、分析結果データ８７をＤＤＲメモリ１７に保存しても良い。
【００６８】
分析部３１は、例えば、受付部３３で受け付けた時間や条件に従って、分析を終了する。分析部３１は、分析を終了すると、保存した分析結果データ８７をＰＣ５１へ出力する（Ｓ１５）。分析部３１のデータ送受信処理部１３３（図６参照）は、例えば、不揮発性メモリ１９に保存された分析結果データ８７を不揮発性メモリＲ／Ｗ処理部１３２を介して読み出しＰＣ５１へ転送する（Ｓ１５）。
【００６９】
次に、ＰＣ５１は、取得したデータの解析を実行する（Ｓ１６）。例えば、分析結果データ８７は、図５に示すようにヘッダ情報とビット値をチャンネルごとに保存したデータである。ＰＣ５１は、分析部３１から取得した分析結果データ８７のうち、シミュレーションに使用するデータを選択して分離する。図７に示す場合であれば、ＰＣ５１は、分析結果データ８７のうち、スレーブ１２５、スレーブ１２６、６軸振動センサ１２８のデータをテスト出力データ８９として抽出する。なお、ＰＣ５１による処理は、プログラムに従って自動で実行しても良い。あるいは、ＰＣ５１は、テスト出力データ８９として用いるデータの選択を、ユーザから受け付けても良い。
【００７０】
次に、ＰＣ５１は、シミュレーション条件の設定、分離データの加工を実行する（Ｓ１７）。ＰＣ５１は、例えば、ユーザから受け付けた情報に基づいて、テスト出力データ８９内の特定のビット値を変更する。これにより、ユーザは、例えば、テスト出力データ８９の特定のビット値を反転等させ、誤りの補正を行うことができる。あるいは、ユーザは、テスト出力データ８９を加工することで異常動作をシミュレーション可能なデータを、意図的に作成できる。例えば、特定回数だけ誤りの発生するテスト出力データ８９を作成できる。なお、Ｓ１７におけるテスト出力データ８９の加工を実行しなくとも良い。この場合、テスト出力データ８９は、分析結果データ８７の一部と同一データでも良い。
【００７１】
次に、ＰＣ５１は、変更等したテスト出力データ８９をロジックアナライザ１０へ転送する（Ｓ１８）。ＰＣ５１は、例えば、ユーザからの操作入力に応じて、テスト出力データ８９をロジックアナライザ１０へ転送する。分析部３１のデータ送受信処理部１３３（図６参照）は、受信したテスト出力データ８９を、例えば、不揮発性メモリ１９へ保存する。
【００７２】
次に、分析部３１は、シミュレーションの対象装置へテスト出力データ８９を送信してシミュレーションを開始する（Ｓ１９）。分析部３１は、例えば、タッチパネル１８に対する操作入力や、ＰＣ５１からの指令に応じてシミュレーションを開始する。分析部３１のメモリ読出部１３５（図６参照）は、不揮発性メモリ１９からテスト出力データ８９を読み出して、対応するＣＨの通信速度生成部１３９から送信する。分析部３１は、テスト出力データ８９を送信しつつ、相手側からの応答データ（本開示のシミュレーション時応答データの一例）を受信する。分析部３１は、データ処理部８３により応答データを、例えば、不揮発性メモリ１９に保存する（Ｓ２０）。これにより、分析部３１は、例えば、スレーブ１２５，１２６や６軸振動センサ１２８として動作し、シミュレーションに用いたテスト出力データ８９と、テスト出力データ８９に対する応答データを分離して保存する。
【００７３】
分析部３１は、例えば、タッチパネル１８等で受け付けた時間や条件に従って、分析を終了する。分析部３１は、分析が終了すると、保存した分析結果データ８７、即ち、応答データをＰＣ５１へ転送する（Ｓ２１）。データ送受信処理部１３３（図６参照）は、例えば、不揮発性メモリ１９に保存されたデータ（テスト出力データ８９や応答データを含む分析結果データ８７）を読み出してＰＣ５１へ転送する（Ｓ２１）。
【００７４】
次に、分析部３１は、シミュレーションによって取得した分析結果データ８７（応答データ）の照合を実行する（Ｓ２２）。ここで、Ｓ１４における分析時の分析結果データ８７に含まれるデータであり、分析時においてテスト出力データ８９に相当する通信データを送信した場合の応答データを、分析時応答データとする。より具体的には、分析時応答データは、スレーブ１２５，１２６や６軸振動センサ１２８が分析時に装置コントローラ１０１へ応答したデータである。即ち、分析時応答データは、シミュレーションをする前に、分析時の通信において実機が応答したデータである。
【００７５】
また、Ｓ２０におけるシミュレーション時の分析結果データ８７に含まれるデータであり、シミュレーション時においてテスト出力データ８９に対して応答したデータをシミュレーション時応答データとする。即ち、シミュレーション時応答データは、シミュレーションによって得た分析結果データ８７に含まれる応答データである。そして、分析部３１は、テスト出力データ８９、分析時応答データ、シミュレーション時応答データを互いに参照可能に表示する。図９は、タッチパネル１８に表示した参照データの一例を示している。図９は、一例として、スレーブ１２５のシミュレーション結果を表示した場合を示している。
【００７６】
図９における一番上のパルス信号は、テスト出力データ８９を示しており、例えば、スレーブ１２５として動作するロジックアナライザ１０から装置コントローラ１０１へ送信したデータを示している。上から２番目のパルス信号は、分析時応答データを示しており、装置コントローラ１０１からスレーブ１２５（実機）へ送信したデータを示している。即ち、分析時において、テスト出力データ８９に相当する通信データがスレーブ１２５から装置コントローラ１０１へ送信された後に、装置コントローラ１０１からスレーブ１２５へ応答したデータである。上から３番目のパルス信号は、シミュレーション時応答データを示しており、装置コントローラ１０１からスレーブ１２５として動作するロジックアナライザ１０へ送信したデータである。即ち、スレーブ１２５として動作するロジックアナライザ１０に向けて装置コントローラ１０１から応答したデータである。
【００７７】
図９に示すように、ユーザは、表示内容を確認することで、分析時応答データと、シミュレーション時応答データの一致点や相違点を確認できる。例えば、ユーザは、分析時と同様にシミュレーション時においても異常が再現されているか否かを確認できる。このようにして本実施形態のロジックアナライザ１０は、通信データの分析だけでなく、テスト出力データ８９によるシミュレーション、シミュレーション結果の照合を実行できる。
【００７８】
なお、テスト出力データ８９等を参照する参照データの表示形式は、図９に示すパルス信号に限らない。例えば、分析部３１は、図４に示すようなビット値を、参照データとしてタッチパネル１８に表示させても良い。また、分析部３１は、図９に示すパルス信号の他に、通信速度の値、誤り検出符号の種類、通信プロトコルの種類などの情報をタッチパネル１８に表示させても良い。また、テスト出力データ８９等の表示を、ＰＣ５１にさせても良い。
【００７９】
因みに、ＲＳ−４８５ドライバＩＣ２３，２４，２５、及びＣＡＮドライバＩＣ２６を介した通信は、半二重通信の一例である。分析部３１は、実行部の一例である。装置コントローラ１０１は、制御装置の一例である。被制御装置１０３、ＡＢＳエンコーダ１２２、スレーブ１２５，１２６、６軸振動センサ１２８は、被制御装置の一例である。多軸サーボアンプ１２１は、ＡＢＳエンコーダ１２２に対する制御装置の一例であり、装置コントローラ１０１に対する被制御装置の一例である。送信処理部１３０は、実行部の一例である。
【００８０】
以上、上記した本実施例によれば以下の効果を奏する。
本実施例の一態様では、分析部３１は、入力モジュール１３を介して入力した半二重通信の通信データを分析し、装置コントローラ１０１等からスレーブ１２５等へ送信される通信データと、スレーブ１２５等から装置コントローラ１０１等へ送信される通信データとに分離して分析結果データ８７として保存する。分析部３１は、分析結果データ８７に基づいたテスト出力データ８９を装置コントローラ１０１等に送信しシミュレーションを実行する。
【００８１】
これによれば、分析時において、ロジックアナライザ１０は、通信方向に基づいて通信データを分離し、分離した通信データを分析結果データ８７として保存する。ロジックアナライザ１０は、保存した分析結果データ８７に基づいたテスト出力データを装置コントローラ１０１等に送信する。これにより、ロジックアナライザ１０は、分析を実行した際のスレーブ１２５等の動作状況をシミュレーションにより再現でき、制御装置や被制御装置の動作試験等を実行できる。
【００８２】
尚、本開示は上記の実施形態に限定されるものではなく、本願の趣旨を逸脱しない範囲内での種々の改良、変更が可能であることは言うまでもない。
例えば、ロジックアナライザ１０は、半二重通信と同様に、全二重通信を分析し、分析結果データ８７に基づくテスト出力データ８９を出力してシミュレーションする構成でも良い。
また、上記実施形態では、ロジックアナライザ１０は、制御装置及び被制御装置の両方のシミュレーションが可能であったが、どちらか一方のみのシミュレーションが可能な構成でも良い。
また、分析部３１は、テスト出力データ８９、分析時応答データ、シミュレーション時応答データを互いに参照可能に表示できない構成でも良い。
また、分析部３１は、通信データを送信した送信者の情報を、分離した通信データに関連付けて分析結果データ８７として保存しなくとも良い。
また、分析部３１は、通信速度の情報を通信データに関連付けて分析結果データ８７として保存しなくとも良い。
また、上記実施形態では、分析部３１は、分析結果データ８７を保存する分析部、及びテスト出力データ８９を送信する実行部の両方として機能したが、これに限らない。分析部と実行部とは、別々の回路ブロックでも良い。例えば、送信処理部１３０は、分析部３１に含まれない回路ブロックでも良い。
【符号の説明】
【００８３】
１０  ロジックアナライザ、１３  入力モジュール、３１  分析部（分析部、実行部）、８７  分析結果データ、８９  テスト出力データ、１０１  装置コントローラ（制御装置）、１０３  被制御装置、１２１  多軸サーボアンプ（制御装置、被制御装置）、１２２  エンコーダ（被制御装置）、１２５，１２６  スレーブ（被制御装置）、１２８  ６軸振動センサ（被制御装置）、１３０  送信処理部（実行部）。
【図１】
0006941234.tif 000002
【図２】
0006941234.tif 000003
【図３】
0006941234.tif 000004
【図４】
0006941234.tif 000005
【図５】
0006941234.tif 000006
【図６】
0006941234.tif 000007
【図７】
0006941234.tif 000008
【図８】
0006941234.tif 000009
【図９】
0006941234.tif 000010