Nothing Special   »   [go: up one dir, main page]

JP3548911B2 - Protocol analyzer, trigger detection device, recording medium and board on which program for trigger detection is recorded - Google Patents

Protocol analyzer, trigger detection device, recording medium and board on which program for trigger detection is recorded Download PDF

Info

Publication number
JP3548911B2
JP3548911B2 JP2001076968A JP2001076968A JP3548911B2 JP 3548911 B2 JP3548911 B2 JP 3548911B2 JP 2001076968 A JP2001076968 A JP 2001076968A JP 2001076968 A JP2001076968 A JP 2001076968A JP 3548911 B2 JP3548911 B2 JP 3548911B2
Authority
JP
Japan
Prior art keywords
trigger detection
trigger
setting
frame
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2001076968A
Other languages
Japanese (ja)
Other versions
JP2001333138A (en
Inventor
拓也 下村
敏克 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2001076968A priority Critical patent/JP3548911B2/en
Publication of JP2001333138A publication Critical patent/JP2001333138A/en
Application granted granted Critical
Publication of JP3548911B2 publication Critical patent/JP3548911B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Maintenance And Management Of Digital Transmission (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はプロトコルアナライザ、トリガ検知装置、トリガ検知のためのプログラムが記録された記録媒体及びボードに関し、詳しくはプロトコルアナライザを利用してネットワークを流れるフレームが予め設定された所定のトリガ検知条件に合致するか否かを判別するプロトコルアナライザ、トリガ検知装置、トリガ検知のためのプログラムが記録された記録媒体及びボードに関する。
【0002】
【従来の技術】
一般に、ネットワークには複数の端末をつないだり、制御装置や被制御装置をつなげて、データのやりとりやフレームやメッセージの通信を行なっている。
特にファクトリー・オートメーション(FA)の分野では、プログラマブル・コントローラを使う際に、リモートI/O通信することがある。この場合、プログラマブル・コントローラ側にマスタ局、I/O機器(デバイス)側にスレーブ局を設け、例えばデバイスネットと呼ばれるネットワーク上でデータやメッセージのやりとりを行なっている。
しかし、デバイス側で間違ったフレームを出したり、フレーム送信タイミングがおかしかったり、正常フレームが送出されても、途中でノイズによりデータがつぶれたりすると、プログラマブル・コントローラとデバイス間の通信エラーがおきる。
そこで、ネットワークに関する不具合の原因を追求したり、ネットワークの状態を正確に把握するために、ネットワーク上を流れるフレームを収集し解析を行なう装置として、プロトコルアナライザと呼ばれるものがある。
【0003】
例えば、ネットワークはCANプロトコルと呼ばれるプロトコルを利用したデバイスネットと呼ばれるネットワークより構成される。
デバイスネットは、ファクトリー・オートメーション等に適用される分散型のネットワークで、ネットワークには各種通信装置や制御機器が接続され、伝送路には各種通信装置や制御機器に対する入力情報(メッセージ)及び各種通信装置や制御機器からの出力情報(メッセージ)等がフレームとして流れている。
ここで、プロトコルアナライザは、フレームを取りこぼさない、複雑なトリガ検知条件を設定したい等のユーザニーズを満たしつつ、ネットワークに流れるメッセージをネットワークに負荷をかけることなくモニタするものである。
プロトコルアナライザの基本的な機能は以下の2点である。
(1)フレーム収集機能
(2)フレーム表示機能
フレーム収集機能とは、ネットワーク上を流れるフレームを収集する機能で、予め設定したトリガ条件に基づいて、フレームを選択的にメモリに記憶する。フレームを選択するときには、後述するフィルタリング機能によって通過したフレームだけを収集するという方式が採用されている。
【0004】
また、フレーム表示機能とは、収集したフレームをユーザに理解できる形式で表示する機能で、モニタ画面を介して各フレームの間隔を示す時間情報を時系列に表示する等の処理を行なう。また、収集したフレーム情報を加工して表示する場合もある。例えば、収集した全フレーム中におけるフレームの種類ごとの占有比率等である。
【0005】
また、上記基本機能に加えて、以下の機能もある。
(3)フィルタリング機能
フィルタリング機能とは、事前に設定された分析対象のフレーム以外は収集せず、指定されたフレームのみを選択的に収集する機能である。この機能を使用することによって限られたリソース、つまりメモリ容量を有効に使用することができる。例えば、ノードやスレーブにアドレス番号を付し、特定のアドレス番号に着目して、そのアドレス番号を含むフレームだけを選択的に収集して、不必要なフレームのバッファリングで収集用のメモリを不必要に消費することを防止できる。
【0006】
また、上記基本機能に加えて、以下の機能もある。
(4)トリガ検知機能
すでに述べたように、プロトコルアナライザはネットワークの不具合解析や状態把握に用いられるが、この場合、事前に設定した条件によりフレームを収集するタイミングを制御したいという要求がある。例えば、特定のフレームを検知すると収集を開始する、あるいは常時FIFO(First In First Out)でフレームを収集しておき、特定のフレームを検知したらそこで収集を停止するという制御をしたいという要求である。
【0007】
ここで、「設定された条件に合致したことを検知する機能」をトリガ検知機能といい、このような収集のタイミングを制御する条件をトリガ検知条件という。
ところで、トリガ検知機能については以下のユーザニーズがある。
(1)フレームを取りこぼさない
(2)複雑なトリガ検知条件を設定したい
(3)トリガ検知条件を簡易に設定したい
【0008】
これらの各ニーズについて以下、説明する。
(1)フレームを取りこぼさない
トリガ検知処理としては、ネットワーク上にフレームが流れるごとに設定された条件に合致しているかどうかを判断する。つまり、フレームが流れるたびに、1つづつのフレームについてトリガ検知の判断をしている。
毎回の判断は、次のフレームが流れる前までに完了しておかないと追いつかないこととなる。換言すると、フレーム検知としてのトリガ検知処理は少なくとも次のフレームがくるまでの一定時間内に判断結果を出す必要がある。もし、トリガ検知処理に時間を要し、判断終了前にネットワーク上に次のフレームが流れれば、このフレームのトリガ検知処理ができずに、フレームを取りこぼすことがある。ネットワークの解析というプロトコルアナライザの本来の目的から考えて、ネットワーク上のフレームを取りこぼすことは致命的な欠陥となる。
【0009】
(2)複雑なトリガ検知条件を設定したい
ネットワークを解析するにあたっては、できるだけフレームを収集する条件を絞り込んで必要なものだけを収集したいというニーズがある。例えば、ある特定のビットパターンが検出されたら収集を開始するといった単一な条件だけでなく、複数の条件を組み合わせてトリガ検知をしたいということである。
【0010】
例えば、1101というビットパターンを含んだフレームは頻繁にネットワークに流れており、これだけでは異常ではないが、この1101の後に1110というビットパターンのフレームが流れる場合は異常と考えられるようなケースがあるとする。この場合は、「1101のビットパターンフレームの後に1110というビットパターンのフレームが流れる」という2つの条件の組み合わせをトリガ条件とできると便利である。
【0011】
また、フレーム内にアプリケーションとして意味を持つI/Oデータ(入出力データ)が含まれるような場合に、このI/Oデータに対して条件を設定できると便利な場合がある。
【0012】
ところで、(1)の「フレームを取りこぼさない」ことを保証するためには、常に以下の式が満たされている必要がある。
【0013】
Frame Interval>T Detect+T Overhead
【0014】
ここで、
Frame Interval=次のフレーム受信までの時間
Detect=受信したフレームのトリガ検知判断の処理時間
Overhead=フレームを受信してからトリガ検知判断処理が開始されるまでの時間+トリガ検知判断処理が終了してから次のフ
レーム受信準備が完了するまでの時間
【0015】
ところで、当然のことながら、トリガ検知条件を複雑にするにしたがい、検知処理判断に必要な処理時間T Detectは増大する。従って、(1)の「フレームを取りこぼさない」という要求と(2)の「複雑なトリガ検知条件を設定したい」という要求は互いに相反する要求といえる。
【0016】
(3)トリガ検知条件を簡易に設定したい
トリガ検知条件は簡易に設定できることが望ましい。特に、(2)の「複雑なトリガ検知条件を設定したい」という要求を満たすためには、できるだけ分かりやすく、容易にその条件が設定できることが望ましい。
【0017】
以上がプロトコルアナライザ及びプロトコルアナライザで使用されるトリガ検知の説明であるが、次に、従来のトリガ検知方法を説明する。
【0018】
すでに述べたように、トリガ検知処理は、ネットワークを流れるメッセージをリアルタイムに取得し、ユーザの設定した検知条件に一致するか否か判断する必要がある。同時に、メッセージの取りこぼしを起こさないため、次のメッセージを受信するまでの間に現在の受信処理を完了し、次の受信に備える必要がある。
【0019】
すなわち、トリガ検知処理は限られた時間内で処理を完了しなければならない。
【0020】
そこで、従来は、この時間的制約のため、シンプルな検知方法しか実現できなかった。
【0021】
トリガ検知の具体的な方法としては、Mask&Matchという方式が採用される。Mask&Matchは受信したメッセージの一部をユーザが指定したマスク値でマスクし、マスク後の値がMatch値と一致するかどうかで評価する方法である。
【0022】
いま、これを図12を参照しながら説明すると、受信データ(a)をMask値(b)でマスクしてMask後の値(c)を得、この値がMatch値(d)と一致するかどうか調べる。
【0023】
例えば、1番目のデータでは、受信データ(a)は「0011」、Mask値(b)は「0011」なので、Mask後の値(c)は「0011」となる。
【0024】
なお、Mask後の値(c)は、受信データ(a)の「0011」とMask値(b)の「0011」のそれぞれの同位ビットの乗算値として得られる。
【0025】
ここで、1番目のデータでは、Mask後の値(c)は「0011」であり、Match値(d)も同じく「0011」である。従って、1番目のデータ受信はトリガ検知となる。
【0026】
図13は、従来のメッセージ受信処理の概要を示すフローチャートである。この処理は、一例としてデバイスネットと呼ばれるネットワーク上をCANプロトコルと呼ばれるプロトコルでCANフレームが流れる場合の処理である。
CANフレームは後述するように、19ビットのCANヘッダフィールド、最大64ビットのDATAフィールド、25ビットのCANトレイラフィールドより構成されている。
【0027】
図13においてメッセージ受信処理が開始されると(ステップ100)、CANフレームを内部バッファ(図示せず)に転送するという受信メッセージの処理1が行なわれる(ステップ102)。
【0028】
次に、トリガ検知を実行するか否か調べられる(ステップ104)。これは、例えば図示しないパソコン画面上でトリガ検知ボタンが押されてトリガ検知モードに入っているか否か調べているもので、トリガ非検知モードでトリガ検知を実行しない場合は(ステップ104でNO)、ステップ108に進むが、トリガ検知モードでトリガ検知を実行する場合は(ステップ104でYES)、トリガ検知処理を実行する(ステップ106)。すなわち、Mask&Matchの処理を行なう。
【0029】
次に、ステップ108では、受信メッセージの処理2を行ない、1フレームのメッセージ受信処理を終了する(ステップ110)。なお、ステップ108の受信メッセージの処理2では、ステップ106のMask&Matchの処理でトリガ検知と判別された場合は、以後、キャプチャリング(受信フレームの取り込み)処理等を行なう。
【0030】
次に、Mask&Matchによる上記ステップ106のトリガ検知処理の詳細を図14のフローチャートを参照しながら説明する。
【0031】
この処理では、トリガ検知が開始されると(ステップ120)、データ格納アドレスから期待データを取得する(ステップ122)。期待データを取得するとは、データ収集が開始されても、予め設定したアドレス値をもつものしか収集しない等のフィルタを設けているので、このフィルタを通過したデータだけを取り出すということである。これは、すでに述べたように、例えば、ノードやスレーブにアドレス番号を付しているので、特定のアドレス番号に着目して、そのアドレス番号を含むフレームだけを選択的に収集するということである。
【0032】
次に、内部メモリよりMask値を取得し(ステップ124)、受信データをMask値にてマスクする(ステップ126)。
【0033】
次に、内部メモリよりMatch値を取得し(ステップ128)、マスク後のデータがMatch値と一致するか否か調べる(ステップ130)。
【0034】
ここで、マスク後のデータがMatch値と一致しない場合は(ステップ130でNO)、トリガ検知を終了する(ステップ134)。
【0035】
一方、マスク後のデータがMatch値と一致する場合は(ステップ130でYES)、一致した場合の処理をして(ステップ132)、トリガ検知を終了する(ステップ134)。
【0036】
なお、ステップ132の一致した場合の処理をするとは、トリガ検知でデータ収集を開始するとか、それまでやってきたデータ収集を終了するとか、一致したデータのみを収集するという処理をすることをいう。
【0037】
【発明が解決しようとする課題】
ところで、すでに述べたように、ユーザのトリガ検知に関するニーズは、単一のMask&Matchにとどまらず、もっと複雑なトリガ検知条件が設定できるようにすることであり、且つトリガ検知条件を簡易に設定できるようにすることである。
【0038】
例えば、図12の例では、1番目のデータは、受信データ(a)は「0011」であり、Mask値(b)は「0011」であり、Mask後の値(c)は「0011」であり、Match値(d)も同じく「0011」である。従って、トリガ検知の条件を満たしている。
【0039】
ところで、2番目のデータは、受信データ(a)は「1011」であり、Mask値(b)は「0011」であり、Mask後の値(c)は「0011」であり、Mask値(b)も同じく「0011」である。従って、同じくトリガ検知の条件を満たしている。
【0040】
つまり、受信データ(a)は異なるのに、同じMask値(b)、同じMatch値(d)を用いてもトリガ検知の条件を満たしていると判断されている。
【0041】
従って、図12のトリガ検知条件では、1番目のデータがトリガ条件に一致しているのか、2番目のデータがトリガ条件に一致しているのか不明である。
【0042】
そこで、複雑なトリガ検知条件が設定できるようにしたいというニーズがある。
【0043】
従来は、このニーズをさまざまな条件が設定できる汎用のプログラムで満たしていた。しかし、さまざまな条件が設定できる汎用のプログラムで満たそうとすると、後述するように、純粋なトリガ検知処理であるMask&Matchの部分以外に分岐処理等の冗長な処理が入り、受信処理が最小受信間隔以内に収まらないという問題点があった。
【0044】
例えば、2通りのMask&Matchの設定が可能で、1つ目のMask&Matchを設定1、2つ目のMask&Matchを設定2とすると、以下のような設定条件が可能である。
(1)設定1のみ
(2)設定2のみ
(3)設定1 AND 設定2
(4)設定1以外
(5)設定2以外
(6)設定1以外 AND 設定2
(7)設定1 AND 設定2以外
(8)設定1以外 AND 設定2以外
(9)設定1以外 OR 設定2
(10)設定1 OR 設定2以外
(11)設定1以外 OR 設定2以外
【0045】
ここで、上記設定条件のうち、
(1)の設定1のみ、
(2)の設定2のみ、
(3)の設定1 AND 設定2、
の3つの設定条件が設定可能な汎用プログラムを利用してトリガ検知処理をする場合、その処理手順は図15のフローチャートに示すようになる。
【0046】
すなわち、トリガ検知が開始されると(ステップ140)、設定1のMask&Matchの処理を行ない(ステップ142)、続いて、設定2のMask&Matchの処理を行なう(ステップ144)。
【0047】
ところで、図15に示す検知処理プログラムは、上記(1),(2),(3)のいずれの設定条件にも対応できるよう汎用性が付与され、点線170で囲まれたプログラムを含んでいる。
すなわち、まず、トリガ設定条件の設定内容が調べられ、まず、トリガ設定条件は設定1のみか否か調べられる(ステップ146)。ここで、トリガ設定条件が設定1のみでない場合は(ステップ146でNO)、ステップ148に進むが、トリガ設定条件が設定1のみの場合は(ステップ146でYES)、設定1の評価を行なう(ステップ152)。すなわち、設定1のマスク値によるマスク後のデータが設定1のMatch値と一致するか否かの評価が行なわれる。
【0048】
次に、ステップ146で設定1のみでないと判別されて、ステップ148に進んだ場合は、トリガ設定条件は設定2のみか否か調べられる(ステップ148)。ここで、トリガ設定条件が設定2のみでない場合は(ステップ148でNO)、ステップ150に進むが、トリガ設定条件が設定2のみの場合は(ステップ148でYES)、設定2の評価を行なう(ステップ154)。すなわち、設定2のマスク値によるマスク後のデータが設定2のMatch値と一致するか否かの評価が行なわれる。
【0049】
次に、ステップ148で設定2のみでないと判別されて、ステップ150に進んだ場合は、トリガ設定条件は設定3の「設定1 AND 設定2」か否かが調べられる(ステップ150)。ここで、トリガ設定条件が設定3の「設定1 AND 設定2」でない場合は(ステップ150でNO)、ステップ158に進むが、トリガ設定条件が設定3の「設定1 AND 設定2」の場合は(ステップ150でYES)、「設定1 AND 設定2」の評価を行なう(ステップ156)。すなわち、設定1のマスク値によるマスク後のデータが設定1のMatch値と一致し、且つ、設定2のマスク値によるマスク後のデータが設定2のMatch値と一致するか否かの評価が行なわれる。
【0050】
そして、続くステップ158では、評価結果が真か否か調べられ、評価結果が真でなければ(ステップ158でNO)、トリガ検知を終了するが(ステップ162)、評価結果が真ならば(ステップ158でYES)、トリガ検知時の処理を行ない(ステップ160)、トリガ検知を終了する(ステップ162)。
【0051】
以上が、3つの設定条件が設定可能な場合のトリガ検知処理の処理手順である。
【0052】
ところで、上記処理では、設定1,2のMask&Matchの処理(ステップ142,144の処理)以外に、点線170で囲んだ処理を行なっているが、点線170で囲んだ処理は分岐処理を含んだ冗長な処理である。
【0053】
例えば、設定条件が設定3「設定1 AND 設定2」の場合、点線170で囲んだ処理のうち、ステップ156以外の処理は不用な処理である。
【0054】
つまり、トリガ設定条件を複雑にしたいが、この場合は、冗長な不要処理が増え、処理時間が延びて取りこぼしのおそれがある。
また、トリガ設定条件を複雑にすると、プログラムの表記が難しくなるという問題点があった。
【0055】
そこで、本発明は、
(1)設定内容が複雑となっても、高速処理ができて取りこぼしがなく
(2)且つ、設定内容が複雑となっても、簡易な表記でプログラムが作成できるようにしたプロトコルアナライザ、トリガ検知装置、トリガ検知のためのプログラムが記録された記録媒体及びボードを提供することを目的とする。
【0056】
【課題を解決するための手段】
上記目的を達成するため、本発明は、
ヘッダとデータフィールドを含むフレームが通信されるネットワークに接続され、所定のトリガ検知条件に基づいてネットワークを流れるフレームのうち必要なフレームを取り込むプロトコルアナライザにおいて、
Mask&Matchの使用とIDの指定とデータフィールドの使用との選択的組み合わせにより設定されたトリガ検知条件のそれぞれが論理表記に適した言語によって表記されたトリガ検知命令をコンパイルした結果が格納されるメモリと、
ネットワークを流れる上記フレームを受信する受信処理と、上記メモリから上記コンパイルされたトリガ検知命令を読み出して実行することにより、受信処理したフレームについてトリガ検知か否かを判別する判別処理と、判別処理の結果がトリガ検知である場合に処理するトリガ検知時処理と、を行うトリガ検知判別部と、
上記トリガ検知判別部のトリガ検知時処理に基づいて取り込んだフレームを記憶する記憶部と、
を有することを特徴とする。
【0057】
ここで、ネットワークとは、伝送路を介してプログラマブルコントローラや各種デバイス(制御機器)が接続されてデータの送受信が行なわれるもので、実施形態では、デバイスネットというネットワーク10が図1に示されている。
【0058】
フレームとは、ネットワークで伝送されるデータの伝送単位をいい、実施形態では、CANフレームと呼ばれるフレームが図4に示されている。
【0059】
トリガ検知を説明すると、従来技術の欄でも説明したようにネットワークに関する不具合の原因を追求したり、ネットワークの状態を正確に把握するために、ネットワーク上を流れるフレームを収集し解析を行ないたい場合がある。この場合、特定のノードが出すフレームや、特定のビットパターンを持つフレームかどうか区別するために、トリガ検知条件を用いる。つまりトリガ検知条件とは収集しないフレームとそれ以外のフレームとを区別して判断するための判断条件である。フレーム収集するにあたっては事前にトリガ検知条件を設定し、この設定された条件に基づきトリガ検知処理を行なう実施形態では、図1に示したトリガ検知装置20がトリガ検知処理を行なう。
【0060】
また、本発明のプロトコルアナライザは、更にトリガ検知条件を設定するためのアプリケーション実行部を有し、
このアプリケーション実行部は、ユーザによって、Mask&Matchの使用とIDの指定とデータフィールドの使用とを選択的に組み合わせてトリガ検知条件が複数設定され、
上記言語をラダー言語とし、上記設定されたトリガ検知条件のそれぞれをラダー言語で表記されて上記トリガ検知命令が設定される
ことを特徴とする。
【0061】
実施形態では、図7のトリガ条件設定画面(ダイアログボックス)を呼び出し、パソコン上の操作でラダー言語によるトリガ検知条件が設定される。そして、「OK」ボタンをクリックするとアプリケーション実行部21(パソコン)でラダーニーモニックに変換され、共有メモリ41にダウンロードされる。
【0062】
そして、アプリケーション実行部21(パソコン)側からモニタ開始の指示があると、共有メモリ41からニーモニックで記述されたトリガ検知条件を呼び出しコンパイルする。コンパイルされたトリガ検知条件はバイナリ変換され、第1のRAM44に格納される。
【0063】
上記アプリケーション実行部は、
上記トリガ検知判別部へネットワーク監視開始とネットワーク監視終了とを管理し、
上記記憶部に記憶した取り込みフレームを読み出して表示するように構成することもできる。
【0064】
また、上記アプリケーション実行部は、
上記トリガ検知条件を設定する際に、ダイアログボックスを提供するもので、
そのダイアログボックス上にてMask&Matchの使用とIDの指定とデータフィールドの使用との選択的な組み合わせを設定可能とするように構成することもできる。
【0067】
また、本発明のトリガ検知装置は、ネットワークを流れるヘッダとデータフィールドとを含むフレームが予め設定された所定のトリガ検知条件に合致するか否かを判別するトリガ検知装置において、
上記トリガ検知条件を、Mask&Matchの使用とIDの指定とデータフィールドの使用との選択的な組み合わせにより設定するとともに、設定したトリガ検知条件のそれぞれを論理表記に適した命令語によりトリガ検知命令を設定するトリガ検知命令設定手段と、
上記トリガ検知命令設定手段で設定されたトリガ検知命令をコンパイルするトリガ検知命令コンパイル手段と、
上記トリガ検知命令コンパイル手段によってコンパイルされたトリガ検知命令を格納されるメモリと、ネットワークを流れる上記フレームを受信する受信処理と、上記メモリのトリガ検知命令に基づいて上記受信処理したフレームが予め設定された所定のトリガ検知条件に合致するか否かを判別する判別処理と、判別処理の結果が条件合致である場合に処理するトリガ検知時処理と、を行うトリガ検知判別部と、
上記トリガ検知判別部のトリガ検知時処理に基づいて取り込んだフレームを記憶する記憶部と、
を有することを特徴とする。
【0068】
本発明では、トリガ検知命令設定手段でトリガ検知条件をトリガ検知の論理表記に適した命令語で設定し、トリガ検知命令コンパイル手段でトリガ検知命令設定手段で設定されたトリガ検知命令をコンパイルする。
【0069】
つまり、トリガ検知の都度、トリガ検知条件をトリガ検知の論理表記に適した命令語で設定し、設定されたトリガ検知命令をコンパイルする。
【0070】
つまり、トリガ検知命令処理に応じてその都度コンパイルするので、従来のような汎用性を持たせたプログラムに比べて処理ステップが必要なものだけになる。そのぶん、処理時間が節約でき、従来に比べて複雑なトリガ条件を設定しても、フレームの取りこぼしのおそれがなくなる。
【0071】
また、本発明のボードは、ネットワークを流れるヘッダとデータフィールドとを含むフレームが予め設定された所定のトリガ検知条件に合致するか否か判別するボードであって、
ホストに対して接続し、共有メモリを含むホストインタフェースと、
ネットワークを流れる上記フレームを取り込むネットインタフェースと、
Mask&Matchの使用とIDの指定とデータフィールドの使用との選択的な組み合わせにより設定された上記トリガ検知条件を論理表記に適した命令語により示したトリガ検知命令を上記共有メモリから読み出してコンパイルし、バイナリ命令に変換する変換手段と、
上記変換手段にて変換されたトリガ検知命令を格納するメモリと、
上記メモリに格納されたトリガ検知命令を実行し、上記ネットインタフェースから取り込んだフレームが予め設定された所定のトリガ検知条件に合致するか否かを判別する判別手段と、
上記判別手段の判別結果に基づいて所定のトリガ検知条件に合致するフレームを収集するフレーム収集部と、
を有することを特徴とする。
【0072】
実施形態では、ボードは図3に示すアプリケーション実行部21で、パソコンの拡張バスにつながれる増設ボードにあたる。また、ネットインタフェースは図3のネットインタフェース(ネットI/F)24である。また、トリガ検知命令コンパイル手段及び判別手段はMPU42に相当する。また、メモリは第1のRAM44であり、フレーム収集部は共有メモリ41である。
【0073】
【発明の実施の形態】
以下、本発明に係るプロトコルアナライザ、トリガ検知装置、トリガ検知のためのプログラムが記録された記録媒体及びボードの実施の形態を図面に基づいて説明する。
【0074】
図1は、本実施形態に係るトリガ検知装置が適用されたネットワーク構成を示すものである。
【0075】
本実施形態では、ネットワーク10はCANプロトコルと呼ばれるプロトコルを利用したデバイスネット(DeviceNet)と呼ばれるネットワークより構成されている。
【0076】
デバイスネットは、ファクトリー・オートメーション等に適用される分散型のネットワークで、ネットワークには各種通信装置や制御機器が接続され、伝送路には各種通信装置や制御機器に対する入力情報(メッセージ)及び各種通信装置や制御機器からの出力情報(メッセージ)等がフレームとして流れている。
【0077】
すなわち、ネットワーク10には、例えば、通信装置12−1(Slave1)、通信装置12−2(Slave2)、通信装置13(Scanner)、……が伝送路11を介して接続され、伝送路11には本実施形態に係わるトリガ検知装置20が接続されている。具体的には、通信装置12−1(Slave1)、通信装置12−2(Slave2)は、プログラマブルコントローラ、デバイス、リモートI/O等である。
【0078】
ここで、トリガ検知装置20は、フレームを取りこぼさない、複雑なトリガ検知条件を設定したい等のユーザニーズを満たしつつ、ネットワークに流れるメッセージをネットワーク10に負荷をかけることなくモニタするもので、プロトコルアナライザより構成できる。なお、プロトコルアナライザの機能等はすでに説明したので、重複した説明は省略する。
【0079】
図2は、トリガ検知装置20のシステム構成を示すもので、トリガ検知装置20は、アプリケーション実行部21と、アプリケーション実行部21とホストインタフェース22を介して接続されたトリガ検知実行ボード23より構成され、トリガ検知実行ボード23はネットインタフェース24を介して伝送路11と接続されている。
【0080】
ここで、アプリケーション実行部21はパソコン等より構成され、トリガ検知のためのトリガ検知条件が設定されるほか、ユーザの指示をトリガ検知実行ボード23に伝え、トリガ検知実行ボード23の実行結果をユーザに伝える。
【0081】
なお、アプリケーション実行部21では、具体的には、トリガ条件の設定、キャプチャフィルタの設定、ネットワーク監視開始命令の実行、ネットワーク監視終了命令の実行、キャプチャデータ(収集データ)の表示等の処理が行なわれるが、これらの詳細は後に述べる。
【0082】
トリガ検知実行ボード23は、アプリケーション実行部21の指示のもとトリガ検知等を行なうボードで、ホストインタフェース22を介してアプリケーション実行部21の図示しないバススロット(拡張バススロット)に装着される。
なお、ボード23がつながるのはPCIバス(インテル社提唱の拡張バス規格)やISAバス(IBM社提唱の拡張バス規格)と呼ばれる拡張バスである。以下、このようなバスを拡張バスという。
【0083】
なお、トリガ検知実行ボード23は、具体的には、アプリケーション実行部21で設定されたトリガ条件のコンパイル処理やアプリケーション実行部21からの指示に基づいてネットワーク監視、トリガ検知、特定のフレームの取り込み等の処理を行なうが、これらの詳細は後に述べる。
【0084】
次に、トリガ検知実行ボード23の構成を図3を参照しながら説明する。
【0085】
トリガ検知実行ボード23は、拡張バスインタフェース(拡張バス I/F)40、共有メモリ41、MPU42、ROM43、第1のRAM44、第2のRAM45、CAN制御部46、トランシーバー47、ネットインタフェース(ネットI/F)24より構成されている。
【0086】
ここで、拡張バスインタフェース(拡張バス I/F)40は、アプリケーション実行部21の図示しない拡張バスバススロットに装着されるもので、アプリケーション実行部21とトリガ検知実行ボード23とのインタフェースをとる。
【0087】
共有メモリ41は、アプリケーション実行部21とトリガ検知実行ボード23の共有メモリとなるもので、アプリケーション実行部21で設定したトリガ検知命令の書き込み等、あるいはトリガ検知実行ボード23で収集したデータのバッファリング等が行なわれる。
【0088】
なお、拡張バスインタフェース(拡張バス I/F)40と共有メモリ41より図2に示したホストインタフェース22が構成されている。
【0089】
MPU42はトリガ検知実行ボード23全体を統括制御するもので、共有メモリ41に書き込まれたトリガ検知命令をアプリケーション実行部21の指示のもとコンパイルして第1のRAM44に格納する処理、アプリケーション実行部21の指示のもとネットワーク監視、トリガ検知、特定のフレームの取り込み処理等を行なう。
【0090】
ROM43は、MPU42で実行されるシステムプログラムが格納される。
【0091】
第1のRAM44は、アプリケーション実行部21によって共有メモリ41に書き込まれたトリガ検知命令がMPU42によってコンパイルされたとき、コンパイルされたトリガ検知命令を格納する。
【0092】
第2のRAM45はトリガ検知のため収集されたデータが一時的に格納されるメモリで、この第2のRAM45への格納時、格納データのトリガ検知が行なわれる。この第2のRAM45にデータを取り込むに際しては、データのアドレス等に基づいたフィルタリング処理が行なわれ、共有メモリ41のバッファが無駄な情報で埋められることが防止されている。なお、第2のRAM45には1つのデータのみ取り込まれ、必要なデータは共有メモリのバッファに格納され、不必要なデータはそのまま破棄される。なお、RAM44,45は1つのRAMで構成し、2つの領域に分割してもよい。
【0093】
CAN制御部46は、ディジタルデータに変換された入力データからCANフレームを取り出すものである。
【0094】
トランシーバー47は、CAN制御部46からの信号に基づき伝送路11上に電圧を発生させるものである。
【0095】
ネットインタフェース(ネットI/F)24は、伝送路11とトリガ検知実行ボード23とのインタフェースをとるものである。
【0096】
次に、図1に示したネットワーク10の伝送路11を流れるデバイスネットのメッセージフォーマットについて説明する。
【0097】
デバイスネットはCANプロトコルのフレーム構造を利用し、フレーム・ヘッダの中の11ビット(CAN Identifier Bits)とデータフィールドにデバイスネットとしての意味を持たせている。
【0098】
図4は、CANのフレーム構成を示すものであるが、CANフレーム30は、19ビットのCAN HEADER(31)、0〜64ビットのDATA FIELD(32)、25ビットのCAN TRAILER(33)より構成されている。
【0099】
また、図5は、図4に示したCAN HEADER31の詳細を示すものであるが、1ビットのStart of Frame(31−1)、11ビットのCAN Identifier(31−2)、1ビットのRTR Bit(31−3)、6ビットのControl(31−4)より構成されている。
【0100】
ところで、上記の如き、CANフレーム構成において、CANフレームの受信間隔は、CANフレーム間のインターフレームスペースが最小の3ビットで、CANフレーム30のDATA FIELD(32)が0ビットのとき最小となる。
【0101】
このとき、ビット長は、以下のようになる。
【0102】
CAN HEADER+DATA FIELD+CAN TRAILER
+インターフレームスペース
=19+0+25+3
=47(ビット)
【0103】
従って、デバイスネットで最速の通信速度である500Kbpsを使用した場合、
47÷500,000=0.000094(sec)
となり、
94μsecが最小受信間隔となる。
【0104】
また、トリガ検知処理の最長処理時間は以下の式を満足するものでなければならない。
【0105】
最小受信間隔(94μsec)>受信処理+受信データ転送処理+トリガ検知処理
【0106】
上記の如き本実施形態の構成及び上記の如き条件のもと、本実施形態では以下のようにトリガ検知を行なっている。
【0107】
まず、図6のフローチャートを参照しながら、本実施形態におけるトリガ検知の概要を説明する。
【0108】
ところで、本実施形態による図6の処理と図15に示した従来例の処理の差異は、図15における点線170内の処理が図6ではステップ206の処理に置き換わったことと、ステップ206の処理の前段にアプリケーション実行部21の処理であるステップ214、216の処理が追加されたことである。
【0109】
従って、ステップ200(図15のステップ140と同じ)、ステップ202(図15のステップ142と同じ)、ステップ204(図15のステップ144と同じ)、ステップ208(図15のステップ158と同じ)、ステップ210(図15のステップ160と同じ)、ステップ212(図15のステップ162と同じ)の処理の説明は図15の説明に譲り、重複した説明は省略する。
【0110】
図6において、ステップ214、216の処理はパソコン等で構成されるアプリケーション実行部21で行なわれる処理であり、ステップ200〜212の処理はトリガ検知実行ボード23で行なわれる処理である。
【0111】
まず、アプリケーション実行部21で行なわれるステップ214の処理は、トリガ検知のためのプログラムが記録された記録媒体のプログラムに基づいて、ユーザがトリガ検知命令を設定する処理である。具体的には後述する図8に示すダイアログボックスがユーザに提供され、このダイアログボックス上で設定される。
図8では、設定1と設定2の2種類の条件設定を可能としている。そして、各設定では、CAN IDのMask&Match指定とデータフィールドのMatching指定を可能としている。なお、図8では、「複数指定」が選択されている。
ここでは、トリガ検知の論理表記に適した言語を採用することにより、複雑なトリガ設定を簡易な表記方法で表現することが可能である。このような言語として例えばラダー言語がある。
【0112】
次に、ステップ214で設定された簡易な言語で表記されたトリガ検知命令をトリガ検知実行ボード23の共有メモリ41(ホストインタフェース22を構成する)にダウンロードする(ステップ216)。例えばステップ214でトリガ検知命令がラダー言語で表記されている場合、ラダーニーモニックで書き込まれる。
【0113】
トリガ検知実行ボード23のMPU42はこれをコンパイルし、さらにバイナリ命令に変換して第1のRAM44に格納する。
【0114】
トリガ検知実行ボード23は第1のRAM44に格納されたトリガ検知命令に基づいてトリガ検知を行なう(ステップ206)。
【0115】
すでに述べたように、ステップ214で設定されるトリガ検知命令は、高度なトリガ検知の論理表記に適した、且つ簡易な言語を採用でき、複雑なトリガ設定を簡易な表記方法で表現できるようにしている。
【0116】
つまり、新たなトリガ検知のたびに、最も適したトリガ検知条件を設定しコンパイルする。例えば、図15において、設定3の検知条件でトリガ検知するのであったら、点線170内でステップ156の処理だけ含むプログラムを作る。従って、図15の点線170の処理のように分岐のある冗長な処理はなくなり、複雑なトリガ検知処理を短時間で行なえるようになる。
【0117】
図7には、図6のステップ214で設定されるトリガ命令の設定にあたり、トリガ検知の論理表記に簡易な言語を採用した表記例が示されており、2通りのMask&Matchの設定によりトリガ検知する場合の設定内容が示されている。
図7において、(a)にはラダー表記が示されており、(b)にはニーモニック表記が示されている。
【0118】
すなわち、「設定1」は「Trigger1の条件(Mask&Match)に一致し、且つデータフレームのオフセット2バイト目のデータが0x41または0x40のとき」である。
【0119】
また、「設定2」は「Trigger2の条件(Mask&Match)の一致するとき」である。
【0120】
ここで、「設定1」又は「設定2」のどちらか一方の条件が成立したときトリガ検知と判断する。
【0121】
本実施形態では、これらの設定条件をトリガ検知の論理表記に適した言語で表記する。
【0122】
次に、本実施形態に係わるトリガ検知装置20の動作をアプリケーション実行部21における動作とトリガ検知実行ボード23における動作に分けてそれぞれ説明する。
【0123】
アプリケーション実行部21における動作
(1)トリガの設定
(イ)この処理では、まず、トリガ設定画面(ダイアログボックス)をユーザに提供する。図8には、この画面を利用してトリガを設定した場合の画面例が示されている。
【0124】
この画面は、図7の設定条件で画面設定した場合の画面例である。
【0125】
「設定1」は「Trigger1の条件(Mask&Match)に一致し、且つデータフレーム(データフィールド)のデータが設定値のとき」である。
【0126】
また、「設定2」は「Trigger2の条件(Mask&Match)の一致するとき」である。
【0127】
ここで、「設定1」又は「設定2」のどちらか一方の条件が成立したとき(OR)トリガ検知と判断する。
【0128】
なお、上記設定例は、「設定1 OR 設定2」であるが、設定1と設定2の組み合わせには以下のものがある。
(1)設定1のみ
(2)設定2のみ
(3)設定1 AND 設定2
(4)設定1 OR 設定2
(5)設定1以外
(6)設定2以外
(7)設定1以外 AND 設定2
(8)設定1 AND 設定2以外
(9)設定1以外 AND 設定2以外
(10)設定1以外 OR 設定2
(11)設定1 OR 設定2以外
(12)設定1以外 OR 設定2以外
(13)設定1以外 THEN 設定2
(14)設定1 THEN 設定2以外
(15)設定1以外 THEN 設定2以外
【0129】
ここで、「設定1 THEN 設定2」とは、設定1に一致するメッセージを検知したら、以降設定2に一致するメッセージを待つ。そして、設定2の条件に一致するメッセージを受信したときトリガ条件が成立したと判断する、という意味である。
【0130】
(ロ)次に、ユーザが図8の画面上で設定した設定内容をホストインタフェース22の共有メモリ41にダウンロードする。
【0131】
この処理は、図8の画面上でトリガ条件が設定されると「OK」ボタンをクリックすることによってアプリケーション実行部21側においてラダーニーモニックが自動生成され、この自動生成されたラダーニーモニックが共有メモリ41にダウンロードされることによって行なわれる。
【0132】
(ハ)次に、ホストインタフェース22を介し、MPU42に対して、共有メモリ41に書き込まれたトリガ検知の設定内容をコンパイルして第1のRAM44に格納するよう指示する。
【0133】
(2)キャプチャフィルタの設定
(イ)この処理では、まず、キャプチャフィルタ設定画面(ダイアログボックス)をユーザに提供する。図9には、キャプチャフィルタ設定のための画面例が示されている。キャプチャフィルタは、取り込んだフレームを全てトリガ検知するの対象とするのではなく、予めトリガ検知の対象となるフレームを絞り込むために設ける。例えばフレームのアドレスが特定のアドレスのものだけ通過させる。(ロ)ユーザが画面上で設定した設定内容は、ホストインタフェース22の共有メモリ41にラダーニーモニックで書き込む。なお、すでに述べたように、このフィルタを通過したデータのみ第2のRAM45に格納される。
【0134】
(3)ネットワーク監視開始命令
(イ)ネットワーク監視開始のボタンを画面上でユーザに提供する。
(ロ)ユーザがボタンを押すと、ホストインタフェース22を介してMPU42に対してネットワーク監視開始を指示する。
【0135】
(4)ネットワーク監視終了命令
(イ)ネットワーク監視終了のボタンを画面上でユーザに提供する。
(ロ)ユーザがボタンを押すと、ホストインタフェース22を介してMPU42に対してネットワーク監視終了を指示する。
【0136】
(5)キャプチャデータ表示
トリガ検知実行ボード23からネットワーク監視終了通知を受け、トリガ検知実行ボード23がホストインタフェース22の共有メモリ41に書き込んでいるキャプチャデータを読み出し、画面でユーザに提供する。図10にこのときの表示例を示す。
【0137】
トリガ検知実行ボード23における動作
(1)トリガ設定
(イ)アプリケーション実行部21からトリガ検知命令のコンパイル命令を受け取る。
(ロ)これによってホストインタフェース22の共有メモリ41に書き込まれているラダーニーモニックのトリガ検知命令を読み出し、MPU42が実行可能な命令セットを生成する(コンパイル処理)。
(ハ)次に、バイナリ命令に変換し、第1のRAM44に書きこむ。
【0138】
(2)ネットワーク監視、トリガ検知、フレーム取り込み
(イ)アプリケーション実行部21からネットワーク監視開始命令を受け取る。(ロ)ネットワーク監視を開始する。
(ハ)設定内容に従ってトリガ検知処理を行なう。設定には以下のようなものが可能である。これらの設定はアプリケーション実行部21においてユーザが指定する。
【0139】
・設定例1 トリガ条件に一致したフレームを検知してからフレームの取り込みを開始する。取り込んだフレームは共有メモリ41にバッファリングするが、共有メモリ41が一杯になったところでフレーム取り込み処理を終了し、アプリケーション実行部21に監視終了通知を行なう。
【0140】
・設定例2 アプリケーション実行部21からネットワーク監視命令を受け取ると直ちに共有メモリ41へのフレーム取り込みを開始し、トリガ条件に一致するフレームを検知したところで取り込みを終了し、アプリケーション実行部21に監視終了通知を行なう。
【0141】
設定例2では、トリガ条件に一致する前にバッファが一杯になった場合は、FIFO(First In First Out)により、最新のデータが残る形式で取り込みを続け、やはりトリガ条件に一致したところで取り込みを終了する。
【0142】
なお、本実施形態では、ネットワークの監視が終了する原因には以下の3つの場合がある。
(1)アプリケーション実行部21からネットワーク監視終了命令を受けた場合(2)上記設定1の場合で、トリガ条件に一致したフレームを検知してからフレームの取り込みを開始し、共有メモリ41が一杯になったとき
(3)上記設定例2の場合で、トリガ条件に一致するフレームを検知したとき
【0143】
(ニ)設定2の場合には、フレーム取り込みの際には、アプリケーション実行部21によりホストインタフェース22の共有メモリ41に設定されているフィルタ条件に一致するフレームのみを選択的に取り込み、バッファに格納する。格納バッファは、ホストインタフェース22の共有メモリ41を使用する。
【0144】
図11は、トリガ検知実行ボード23におけメッセージ受信処理とその処理時間を示すフローチャートである。
【0145】
この処理では、メッセージ受信処理が開始されると(ステップ220)、データの転送等の受信処理が行なわれる(ステップ222)。
【0146】
次に、設定1のMask&Matchの処理を行ない(ステップ224)、続いて、設定2のMask&Matchの処理を行なう(ステップ226)。
【0147】
続いて、第1のRAM44に格納されたトリガ検知命令に基づきトリガ検知命令を実行する(ステップ228)。
【0148】
続いてトリガ検知か否かが調べられ(ステップ230)、トリガ検知でない場合は(ステップ230でNO)、ステップ234に進むが、トリガ検知の場合は(ステップ230でYES)、トリガ検知時の処理を行なう(ステップ232)。
【0149】
そして、続くステップ234では、メッセージキャプチャ等の受信処理が行なわれ、トリガ検知を終了する(ステップ236)。
【0150】
ところで、この処理は、すでに述べたように、94μsec以内に行なう必要があるが、MPU42の動作クロックが16Mhzの場合ステップ228におけるトリガ検知命令の実行処理時間は約4μsecである。これは、すでに述べたように、例えば、図15において、設定3のトリガ検知条件でトリガ検知する場合、点線170内のステップ156の処理のみ行なえばよいからである。
【0151】
従って、フレームを取りこぼすことなく、複雑な検知条件を設定できる等の効果を奏する。
【0152】
以上説明したように、本実施形態では、アプリケーション実行部21で都度トリガ検知条件を設定し、設定したトリガ検知条件は、ホストインタフェース22の共有メモリ41に書き込む。次に、トリガ検知実行ボード23はアプリケーション実行部21からトリガ命令のコンパイル命令を受け取ると、ホストインタフェース22の共有メモリ41に書き込まれているトリガ命令を読み出し、MPU42が実行可能な命令セットを生成(コンパイル処理)、第1のRAM44に書き込むようにした。
【0153】
従って、その時々のトリガ検知の態様に応じて柔軟なトリガ検知条件を設定でき、図15に示した従来例のような汎用的なロジックを採用した場合の冗長な処理がなくなる。従って、複雑なトリガ条件の設定が可能となる。
【0154】
また、トリガ検知命令を簡易な表記方法で表現できるので、コンパイル処理を簡単に行なうことができる。
【0155】
また、図15の点線170に示す如き分岐命令が存在しないために、複雑な条件の場合でも高速に判定処理が行なえる。
【0156】
【発明の効果】
以上説明したように、本発明では、ネットワークを流れるフレームが予め設定された所定のトリガ検知条件に合致するか否か判別するトリガ検知装置において、上記トリガ検知条件をトリガ検知の論理表現に適した命令語で設定するトリガ検知命令設定手段と、上記トリガ検知命令設定手段で設定されたトリガ検知命令をコンパイルするトリガ検知命令コンパイル手段と、を有し、上記トリガ検知命令コンパイル手段でコンパイルされたトリガ検知命令に基づいてネットワークを流れるフレームが予め設定された所定のトリガ検知条件に合致するか否か判別するようにしたので、その時々のトリガ検知の態様に応じて柔軟なトリガ検知条件を設定でき、複雑なトリガ条件の設定が可能となる。
また、従来では、取りこぼしするおそれのあるような複雑な検知条件の設定をしても、高速処理するので、取りこぼしがない。
【図面の簡単な説明】
【図1】本発明に係るトリガ検知装置が適用されたネットワーク構成を示す図。
【図2】図1に示したトリガ検知装置20のシステム構成を示す図。
【図3】図2に示したトリガ検知実行ボード23の構成を示すブロック図。
【図4】CANのフレーム構成を示す図。
【図5】図4に示したCAN HEADER31の詳細を示す図。
【図6】本実施形態におけるトリガ検知装置の概要を説明する図。
【図7】図6のステップ214で設定されるトリガ命令の設定にあたり、2通りのMask&Matchの設定によりトリガ検知する場合の設定内容を示す図。
【図8】トリガ設定画面(ダイアログ)をユーザに提供する場合の画面例。
【図9】キャプチャフィルタ設定画面(ダイアログ)をユーザに提供する場合の画面例。
【図10】トリガ検知実行ボード23からネットワーク監視終了通知を受け、トリガ検知実行ボード23がホストインタフェース22の共有メモリ41に書き込んでいるキャプチャデータを読み出し、画面でユーザに提供する場合の表示例。
【図11】トリガ検知実行ボード23における処理手順とその処理時間を示すフローチャート。
【図12】Mask&Matchでトリガ検知する場合の説明図。
【図13】従来のメッセージ受信処理の概要を示すフローチャート。
【図14】Mask&Matchでトリガ検知する場合の処理手順を示すフローチャート。
【図15】ユーザのニーズを汎用のプログラムで満たそうとする場合、純粋なトリガ検知処理であるMask&Matchの部分以外に分岐処理等の冗長な処理が入り(例えば、図15の点線170内の処理)、受信処理が最小受信間隔以内に収まらないことを説明するための説明図。
【符号の説明】
10 ネットワーク
11 伝送路
12−1、12−2 通信装置
13 通信装置
20 トリガ検知装置
21 アプリケーション実行部
22 ホストインタフェース
23 トリガ検知実行ボード
24 ネットインタフェース
40 拡張バスインタフェース(拡張バス I/F)
41 共有メモリ
42 MPU
43 ROM
44 第1のRAM
45 第2のRAM
46 CAN制御部
47 トランシーバー
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a protocol analyzer, a trigger detection device, a recording medium on which a program for trigger detection is recorded, and a board. More specifically, a frame flowing through a network using a protocol analyzer meets predetermined trigger detection conditions. The present invention relates to a protocol analyzer, a trigger detection device, a recording medium on which a program for trigger detection is recorded, and a board for determining whether or not to perform the determination.
[0002]
[Prior art]
Generally, a plurality of terminals are connected to a network, and a control device and a controlled device are connected to exchange data and communicate frames and messages.
Particularly, in the field of factory automation (FA), remote I / O communication may be performed when using a programmable controller. In this case, a master station is provided on the programmable controller side and a slave station is provided on the I / O device (device) side, and data and messages are exchanged, for example, on a network called a device net.
However, even if a wrong frame is output on the device side, the frame transmission timing is wrong, or even if a normal frame is transmitted, if data is lost due to noise on the way, a communication error occurs between the programmable controller and the device.
Therefore, there is a device called a protocol analyzer as a device for collecting and analyzing frames flowing on the network in order to pursue a cause of a network-related problem or to accurately grasp the state of the network.
[0003]
For example, the network includes a network called a device net using a protocol called a CAN protocol.
The device net is a distributed network applied to factory automation and the like. Various communication devices and control devices are connected to the network, and input information (messages) and various communication for the various communication devices and control devices are connected to the transmission path. Output information (messages) and the like from devices and control devices flow as frames.
Here, the protocol analyzer monitors messages flowing through the network without imposing a load on the network, while satisfying user needs such as not to miss frames and to set complicated trigger detection conditions.
The basic functions of the protocol analyzer are the following two points.
(1) Frame collection function
(2) Frame display function
The frame collection function is a function of collecting frames flowing on a network, and selectively stores the frames in a memory based on a preset trigger condition. When selecting a frame, a method is adopted in which only frames passed by a filtering function described later are collected.
[0004]
The frame display function is a function of displaying collected frames in a format that can be understood by the user, and performs processing such as displaying time information indicating the interval between frames in a time series via a monitor screen. In some cases, the collected frame information is processed and displayed. For example, the occupation ratio of each type of frame in all collected frames is used.
[0005]
In addition to the above basic functions, there are the following functions.
(3) Filtering function
The filtering function is a function of selectively collecting only specified frames without collecting frames other than the analysis target frames set in advance. By using this function, limited resources, that is, memory capacity can be used effectively. For example, an address number is assigned to a node or a slave, focusing on a specific address number, selectively collecting only frames including that address number, and unnecessarily collecting memory by buffering unnecessary frames. Unnecessary consumption can be prevented.
[0006]
In addition to the above basic functions, there are the following functions.
(4) Trigger detection function
As described above, the protocol analyzer is used for analyzing the failure of the network and grasping the state. In this case, there is a demand to control the timing of collecting the frames according to the conditions set in advance. For example, there is a request to start collection when a specific frame is detected, or to collect frames by first-in first-out (FIFO) at all times, and stop the collection when a specific frame is detected.
[0007]
Here, the "function of detecting that the set condition is met" is called a trigger detection function, and such a condition for controlling the timing of collection is called a trigger detection condition.
The trigger detection function has the following user needs.
(1) Do not drop the frame
(2) I want to set complicated trigger detection conditions
(3) Want to easily set trigger detection conditions
[0008]
Each of these needs is described below.
(1) Do not drop the frame
In the trigger detection processing, it is determined whether or not a set condition is met each time a frame flows on the network. That is, each time a frame flows, the trigger detection is determined for each frame.
Each determination must be completed before the next frame flows to catch up. In other words, the trigger detection processing as frame detection needs to output a determination result at least within a certain time until the next frame comes. If it takes time for the trigger detection process and the next frame flows on the network before the judgment is completed, the frame may be missed because the trigger detection process for this frame cannot be performed. In view of the original purpose of the protocol analyzer, which is to analyze the network, dropping a frame on the network is a fatal flaw.
[0009]
(2) I want to set complicated trigger detection conditions
In analyzing a network, there is a need to narrow down conditions for collecting frames as much as possible and to collect only necessary ones. For example, it is desired that trigger detection be performed by combining a plurality of conditions, in addition to a single condition such as starting collection when a specific bit pattern is detected.
[0010]
For example, a frame including a bit pattern of 1101 frequently flows through the network, and this is not abnormal alone. However, when a frame of a bit pattern of 1110 flows after this 1101, there may be a case where it is considered abnormal. I do. In this case, it is convenient if a combination of the two conditions of “a frame of a bit pattern of 1110 flows after a bit pattern frame of 1101” can be used as a trigger condition.
[0011]
Further, when I / O data (input / output data) having a meaning as an application is included in a frame, it is sometimes convenient to be able to set conditions for the I / O data.
[0012]
By the way, in order to guarantee that (1) “the frame is not dropped”, the following expression must always be satisfied.
[0013]
T Frame Interval> T Detect + T Overhead
[0014]
here,
T Frame Interval = time until next frame reception
T Detect = processing time of trigger detection judgment of received frame
T Overhead = time from reception of frame to start of trigger detection determination process + next frame after trigger detection determination process ends
Time to complete preparation for receiving a frame
[0015]
By the way, as a matter of course, as the trigger detection conditions become more complicated, the processing time T Detect increases. Therefore, the request of (1) "to not drop a frame" and the request of (2) "to set a complicated trigger detection condition" are mutually contradictory requests.
[0016]
(3) Want to easily set trigger detection conditions
It is desirable that the trigger detection condition can be set easily. In particular, in order to satisfy the requirement of (2) “I want to set a complicated trigger detection condition”, it is desirable that the condition can be set as easily as possible and easily.
[0017]
The above is the description of the protocol analyzer and the trigger detection used in the protocol analyzer. Next, a conventional trigger detection method will be described.
[0018]
As described above, in the trigger detection process, it is necessary to acquire a message flowing through the network in real time and determine whether or not the message matches a detection condition set by the user. At the same time, in order to prevent a message from being missed, it is necessary to complete the current reception process before receiving the next message and prepare for the next reception.
[0019]
That is, the trigger detection process must be completed within a limited time.
[0020]
Therefore, conventionally, only a simple detection method can be realized due to the time constraint.
[0021]
As a specific method of trigger detection, a method called Mask & Match is adopted. Mask & Match is a method of masking a part of a received message with a mask value specified by a user and evaluating whether or not the masked value matches the Match value.
[0022]
Now, this will be described with reference to FIG. 12. The received data (a) is masked with a mask value (b) to obtain a value (c) after the mask, and whether this value matches the match value (d)? Find out.
[0023]
For example, in the first data, the received data (a) is “0011” and the mask value (b) is “0011”, so the value (c) after the mask is “0011”.
[0024]
Note that the value (c) after the mask is obtained as a multiplied value of the same-order bits of “0011” of the received data (a) and “0011” of the mask value (b).
[0025]
Here, in the first data, the value (c) after Mask is “0011”, and the Match value (d) is also “0011”. Therefore, the first data reception is a trigger detection.
[0026]
FIG. 13 is a flowchart showing an outline of a conventional message receiving process. This process is, for example, a process when a CAN frame flows on a network called a device net using a protocol called a CAN protocol.
As described later, the CAN frame includes a 19-bit CAN header field, a 64-bit DATA field, and a 25-bit CAN trailer field.
[0027]
In FIG. 13, when the message receiving process is started (step 100), a received message process 1 for transferring the CAN frame to an internal buffer (not shown) is performed (step 102).
[0028]
Next, it is checked whether or not to execute trigger detection (step 104). This is, for example, whether or not the trigger detection button is pressed on a personal computer screen (not shown) to enter a trigger detection mode. If trigger detection is not executed in the trigger non-detection mode (NO in step 104). The process proceeds to step 108, but if trigger detection is to be performed in the trigger detection mode (YES in step 104), trigger detection processing is performed (step 106). That is, the processing of Mask & Match is performed.
[0029]
Next, in step 108, processing 2 for the received message is performed, and the message receiving processing for one frame is completed (step 110). In the received message process 2 in step 108, if it is determined that the trigger is detected in the Mask & Match process in step 106, a capturing process (capturing a received frame) and the like are performed thereafter.
[0030]
Next, details of the trigger detection processing in step 106 by Mask & Match will be described with reference to the flowchart of FIG.
[0031]
In this process, when trigger detection is started (step 120), expected data is obtained from the data storage address (step 122). Acquiring expected data means that even if data collection is started, a filter is provided such that only data having a preset address value is collected. Therefore, only data that has passed this filter is extracted. As described above, for example, since an address number is assigned to a node or a slave, attention is paid to a specific address number, and only frames including the address number are selectively collected. .
[0032]
Next, a mask value is obtained from the internal memory (step 124), and the received data is masked with the mask value (step 126).
[0033]
Next, a Match value is acquired from the internal memory (Step 128), and it is checked whether or not the masked data matches the Match value (Step 130).
[0034]
Here, if the masked data does not match the Match value (NO in step 130), the trigger detection ends (step 134).
[0035]
On the other hand, if the data after masking matches the Match value (YES in step 130), processing for the matching is performed (step 132), and the trigger detection ends (step 134).
[0036]
Note that the processing in the case of a match in step 132 means starting data collection by trigger detection, ending data collection that has been performed so far, or performing processing of collecting only matched data.
[0037]
[Problems to be solved by the invention]
By the way, as described above, the user's need for trigger detection is not limited to a single Mask & Match, but also allows more complicated trigger detection conditions to be set, and allows the trigger detection conditions to be easily set. It is to be.
[0038]
For example, in the example of FIG. 12, the first data is that the received data (a) is “0011”, the mask value (b) is “0011”, and the value after masking (c) is “0011”. And the Match value (d) is also “0011”. Therefore, the condition for trigger detection is satisfied.
[0039]
By the way, the second data is that the received data (a) is “1011”, the mask value (b) is “0011”, the value after the mask (c) is “0011”, and the mask value (b) is ) Is also “0011”. Therefore, the condition for trigger detection is also satisfied.
[0040]
That is, it is determined that the trigger detection condition is satisfied even when the same Mask value (b) and the same Match value (d) are used, although the received data (a) is different.
[0041]
Therefore, in the trigger detection condition of FIG. 12, it is unknown whether the first data matches the trigger condition or the second data matches the trigger condition.
[0042]
Therefore, there is a need to be able to set complicated trigger detection conditions.
[0043]
In the past, this need was met with a general-purpose program that could set various conditions. However, if a general-purpose program that can set various conditions is to be satisfied, redundant processing such as branch processing is performed in addition to a part of pure trigger detection processing such as Mask & Match, which will be described later. There was a problem that it did not fit within.
[0044]
For example, if two types of Mask & Match can be set, and the first Mask & Match is set to 1 and the second Mask & Match is set to 2, the following setting conditions are possible.
(1) Only setting 1
(2) Only setting 2
(3) Setting 1 AND setting 2
(4) Other than setting 1
(5) Other than setting 2
(6) Other than setting 1 AND setting 2
(7) Setting 1 AND Other than setting 2
(8) Other than setting 1 AND Other than setting 2
(9) Other than setting 1 OR setting 2
(10) Setting 1 OR Other than setting 2
(11) Other than setting 1 OR Other than setting 2
[0045]
Here, among the above setting conditions,
Only setting 1 in (1)
Only setting 2 of (2),
(3) setting 1 AND setting 2,
When a trigger detection process is performed using a general-purpose program in which the three setting conditions can be set, the processing procedure is as shown in the flowchart of FIG.
[0046]
That is, when the trigger detection is started (Step 140), the process of Mask & Match of Setting 1 is performed (Step 142), and then the process of Mask & Match of Setting 2 is performed (Step 144).
[0047]
By the way, the detection processing program shown in FIG. 15 is provided with versatility so that it can correspond to any of the setting conditions (1), (2), and (3), and includes a program surrounded by a dotted line 170. .
That is, first, the setting content of the trigger setting condition is checked, and first, it is checked whether or not the trigger setting condition is only the setting 1 (step 146). If the trigger setting condition is not only setting 1 (NO in step 146), the process proceeds to step 148. If the trigger setting condition is only setting 1 (YES in step 146), setting 1 is evaluated (step 146). Step 152). That is, whether or not the data after the masking by the mask value of the setting 1 matches the Match value of the setting 1 is evaluated.
[0048]
Next, when it is determined in step 146 that the setting is not only the setting 1, and the process proceeds to the step 148, it is checked whether or not the trigger setting condition is only the setting 2 (step 148). If the trigger setting condition is not only setting 2 (NO in step 148), the process proceeds to step 150, but if the trigger setting condition is only setting 2 (YES in step 148), setting 2 is evaluated (step 148). Step 154). That is, whether or not the data after the masking by the mask value of the setting 2 matches the Match value of the setting 2 is evaluated.
[0049]
Next, when it is determined in step 148 that the setting is not only the setting 2 and the process proceeds to step 150, it is checked whether or not the trigger setting condition is the setting 3 “setting 1 AND setting 2” (step 150). Here, if the trigger setting condition is not “setting 1 AND setting 2” of setting 3 (NO in step 150), the process proceeds to step 158. If the trigger setting condition is “setting 1 AND setting 2” of setting 3, (YES in step 150), “setting 1 AND setting 2” is evaluated (step 156). That is, it is evaluated whether or not the data after masking by the mask value of the setting 1 matches the Match value of the setting 1 and whether the data after masking by the mask value of the setting 2 matches the Match value of the setting 2. It is.
[0050]
Then, in the subsequent step 158, it is checked whether or not the evaluation result is true. If the evaluation result is not true (NO in step 158), the trigger detection is terminated (step 162), but if the evaluation result is true (step 162). (YES in 158), the processing at the time of trigger detection is performed (step 160), and the trigger detection is terminated (step 162).
[0051]
The above is the processing procedure of the trigger detection processing when three setting conditions can be set.
[0052]
By the way, in the above processing, the processing enclosed by the dotted line 170 is performed in addition to the processing of Mask & Match of the settings 1 and 2 (the processing of steps 142 and 144). Processing.
[0053]
For example, when the setting condition is setting 3 “setting 1 AND setting 2”, processing other than step 156 among the processings surrounded by the dotted line 170 is unnecessary processing.
[0054]
That is, the trigger setting conditions are required to be complicated, but in this case, redundant unnecessary processing increases, and the processing time is prolonged, and there is a possibility that the processing may be missed.
Further, if the trigger setting conditions are complicated, there is a problem that the notation of the program becomes difficult.
[0055]
Therefore, the present invention
(1) Even if the setting contents are complicated, high-speed processing can be performed and there is no loss
(2) To provide a protocol analyzer, a trigger detection device, a recording medium on which a program for trigger detection is recorded, and a board, in which a program can be created in a simple notation even if the setting contents become complicated. With the goal.
[0056]
[Means for Solving the Problems]
In order to achieve the above object, the present invention provides
Frames including header and data fields are communicatedIn a protocol analyzer that is connected to the network and captures necessary frames among frames flowing through the network based on predetermined trigger detection conditions,
The result of compiling a trigger detection instruction in which each of the trigger detection conditions set by the selective combination of the use of Mask & Match, the designation of the ID, and the use of the data field is written in a language suitable for the logical notation is stored.Memory and
A receiving process for receiving the frame flowing through the network; andRead and execute the compiled trigger detection instructionAccordingly, a determination process of determining whether or not the received frame has been detected as a trigger is performed, and a trigger detection process performed when the result of the determination process is a trigger detection.A trigger detection determination unit,
Based on the trigger detection processing of the trigger detection determination unitA storage unit for storing the captured frame;
It is characterized by having.
[0057]
Here, the network is a network in which a programmable controller and various devices (control devices) are connected via a transmission line to transmit and receive data. In the embodiment, a network 10 called a device net is shown in FIG. I have.
[0058]
A frame refers to a transmission unit of data transmitted on a network. In the embodiment, a frame called a CAN frame is shown in FIG.
[0059]
Explaining trigger detection, as described in the background of the related art section, there are cases where it is necessary to collect and analyze frames flowing on the network in order to pursue the cause of network problems or to accurately grasp the state of the network. is there. In this case, a trigger detection condition is used to distinguish whether a frame is output from a specific node or has a specific bit pattern. That is, the trigger detection condition is a determination condition for distinguishing and determining a frame not to be collected from other frames. In collecting frames, trigger detection conditions are set in advance, and in the embodiment in which trigger detection processing is performed based on the set conditions, the trigger detection device 20 shown in FIG. 1 performs trigger detection processing.
[0060]
Further, the protocol analyzer of the present invention further has an application execution unit for setting a trigger detection condition,
The application execution unit sets a plurality of trigger detection conditions by selectively combining use of Mask & Match, designation of an ID, and use of a data field by a user.
The above language is a ladder language, and each of the set trigger detection conditions is described in a ladder language, and the above trigger detection command is set.
It is characterized by the following.
[0061]
In the embodiment, a trigger condition setting screen (dialog box) of FIG. 7 is called, and a trigger detection condition in a ladder language is set by an operation on a personal computer. Then, when the “OK” button is clicked, the ladder mnemonic is converted by the application execution unit 21 (personal computer) and downloaded to the shared memory 41.
[0062]
Then, when there is an instruction to start monitoring from the application execution unit 21 (personal computer), a trigger detection condition described by a mnemonic is called from the shared memory 41 and compiled. The compiled trigger detection condition is converted to binary and stored in the first RAM 44.
[0063]
The application execution unit,
The trigger detection determination unit manages network monitoring start and network monitoring end,
It is also possible to read out and display the captured frame stored in the storage unit.
[0064]
Also,The application execution unit,
When setting the above trigger detection conditions, provide a dialog box,
It is also possible to configure so that a selective combination of use of Mask & Match, designation of ID, and use of data field can be set on the dialog box.
[0067]
Further, the trigger detection device of the present invention is a trigger detection device that determines whether or not a frame including a header and a data field flowing through a network meets a predetermined trigger detection condition set in advance.
The trigger detection conditions are set by a selective combination of the use of Mask & Match, the designation of an ID, and the use of a data field, and each of the set trigger detection conditions is set by a command word suitable for a logical notation. Trigger detection instruction setting means for performing
Trigger detection instruction compiling means for compiling the trigger detection instruction set by the trigger detection instruction setting means,
A memory for storing the trigger detection command compiled by the trigger detection command compiling means, a reception process for receiving the frame flowing through the network, and the frame subjected to the reception process based on the trigger detection command for the memory are preset. A trigger detection determining unit that performs a determination process of determining whether the predetermined trigger detection condition is satisfied, and a trigger detection process that is performed when a result of the determination process matches the condition;
A storage unit for storing a frame captured based on the trigger detection processing of the trigger detection determination unit,
It is characterized by having.
[0068]
In the present invention, the trigger detection condition is set by the trigger detection command setting means with a command word suitable for the logical notation of trigger detection, and the trigger detection command set by the trigger detection command setting means is compiled by the trigger detection command compilation means.
[0069]
That is, each time a trigger is detected, the trigger detection condition is set with a command word suitable for the logical notation of the trigger detection, and the set trigger detection command is compiled.
[0070]
In other words, the program is compiled each time the trigger detection instruction is processed, so that only those steps that require processing steps are required in comparison with a conventional program having general versatility. As a result, the processing time can be saved, and even if a complicated trigger condition is set as compared with the related art, there is no possibility that a frame is missed.
[0071]
Further, the board of the present invention is a board that determines whether or not a frame including a header and a data field flowing through a network matches a predetermined trigger detection condition set in advance,
A host interface that connects to the host and includes shared memory;
A net interface for capturing the frame flowing through the network,
Reading and compiling a trigger detection command indicating the trigger detection condition set by a selective combination of the use of Mask & Match, the designation of an ID, and the use of a data field by a command suitable for a logical notation from the shared memory; Conversion means for converting to binary instructions;
A memory for storing the trigger detection instruction converted by the conversion means,
Executing a trigger detection instruction stored in the memory, and determining whether or not the frame captured from the net interface meets a predetermined trigger detection condition set in advance;
A frame collection unit that collects frames that meet a predetermined trigger detection condition based on the determination result of the determination unit;
It is characterized by having.
[0072]
In the embodiment, the board corresponds to an extension board connected to an extension bus of a personal computer in the application execution unit 21 shown in FIG. The net interface is the net interface (net I / F) 24 in FIG. The trigger detection command compiling means and the determination means correspond to the MPU 42. The memory is the first RAM 44, and the frame collection unit is the shared memory 41.
[0073]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of a protocol analyzer, a trigger detection device, a recording medium on which a program for trigger detection is recorded, and a board according to the present invention will be described with reference to the drawings.
[0074]
FIG. 1 shows a network configuration to which a trigger detection device according to the present embodiment is applied.
[0075]
In the present embodiment, the network 10 is configured by a network called a device net (DeviceNet) using a protocol called a CAN protocol.
[0076]
The device net is a distributed network applied to factory automation and the like. Various communication devices and control devices are connected to the network, and input information (messages) and various communication for the various communication devices and control devices are connected to the transmission path. Output information (messages) and the like from devices and control devices flow as frames.
[0077]
That is, for example, the communication device 12-1 (Slave 1), the communication device 12-2 (Slave 2), the communication device 13 (Scanner),... Are connected to the network 10 via the transmission line 11. Is connected to the trigger detection device 20 according to the present embodiment. Specifically, the communication device 12-1 (Slave1) and the communication device 12-2 (Slave2) are a programmable controller, a device, a remote I / O, and the like.
[0078]
Here, the trigger detection device 20 monitors a message flowing through the network without applying a load to the network 10 while satisfying user needs such as not to drop a frame and to set a complicated trigger detection condition. Can be configured from an analyzer. Since the function of the protocol analyzer and the like have already been described, duplicate description will be omitted.
[0079]
FIG. 2 shows a system configuration of the trigger detection device 20. The trigger detection device 20 includes an application execution unit 21 and a trigger detection execution board 23 connected to the application execution unit 21 via the host interface 22. , The trigger detection execution board 23 is connected to the transmission path 11 via the net interface 24.
[0080]
Here, the application execution unit 21 includes a personal computer or the like, sets trigger detection conditions for trigger detection, transmits a user's instruction to the trigger detection execution board 23, and transmits the execution result of the trigger detection execution board 23 to the user. Tell
[0081]
The application execution unit 21 specifically performs processing such as setting a trigger condition, setting a capture filter, executing a network monitoring start instruction, executing a network monitoring end instruction, and displaying captured data (collected data). However, these details will be described later.
[0082]
The trigger detection execution board 23 is a board that performs trigger detection and the like under the instruction of the application execution unit 21 and is mounted on a bus slot (expansion bus slot) (not shown) of the application execution unit 21 via the host interface 22.
The board 23 is connected to an expansion bus called a PCI bus (an expansion bus standard proposed by Intel Corporation) or an ISA bus (an expansion bus standard proposed by IBM Corporation). Hereinafter, such a bus is referred to as an extension bus.
[0083]
The trigger detection execution board 23 specifically includes a process of compiling a trigger condition set by the application execution unit 21, network monitoring, trigger detection, fetch of a specific frame, and the like based on an instruction from the application execution unit 21. The details of which will be described later.
[0084]
Next, the configuration of the trigger detection execution board 23 will be described with reference to FIG.
[0085]
The trigger detection execution board 23 includes an extension bus interface (extension bus I / F) 40, a shared memory 41, an MPU 42, a ROM 43, a first RAM 44, a second RAM 45, a CAN control unit 46, a transceiver 47, a net interface (net I / F) 24.
[0086]
Here, the extension bus interface (extension bus I / F) 40 is attached to an extension bus bus slot (not shown) of the application execution unit 21, and interfaces between the application execution unit 21 and the trigger detection execution board 23.
[0087]
The shared memory 41 serves as a shared memory between the application execution unit 21 and the trigger detection execution board 23, and writes a trigger detection command set by the application execution unit 21 or buffers data collected by the trigger detection execution board 23. And so on.
[0088]
The host interface 22 shown in FIG. 2 is constituted by the extension bus interface (extension bus I / F) 40 and the shared memory 41.
[0089]
The MPU 42 controls the whole of the trigger detection execution board 23. The MPU 42 compiles the trigger detection command written in the shared memory 41 under the instruction of the application execution unit 21 and stores it in the first RAM 44. Under the instruction of 21, network monitoring, trigger detection, and processing for capturing a specific frame are performed.
[0090]
The ROM 43 stores a system program executed by the MPU 42.
[0091]
The first RAM 44 stores the compiled trigger detection instruction when the MPU 42 compiles the trigger detection instruction written in the shared memory 41 by the application execution unit 21.
[0092]
The second RAM 45 is a memory in which data collected for trigger detection is temporarily stored. When the data is stored in the second RAM 45, trigger detection of the stored data is performed. When loading the data into the second RAM 45, a filtering process is performed based on the address of the data and the like, thereby preventing the buffer of the shared memory 41 from being filled with useless information. Note that only one data is taken into the second RAM 45, necessary data is stored in a buffer of the shared memory, and unnecessary data is discarded as it is. Note that the RAMs 44 and 45 may be composed of one RAM and divided into two areas.
[0093]
The CAN control unit 46 extracts a CAN frame from input data converted into digital data.
[0094]
The transceiver 47 generates a voltage on the transmission line 11 based on a signal from the CAN control unit 46.
[0095]
The net interface (net I / F) 24 interfaces the transmission line 11 and the trigger detection execution board 23.
[0096]
Next, a message format of a device net flowing through the transmission path 11 of the network 10 shown in FIG. 1 will be described.
[0097]
The device net uses the frame structure of the CAN protocol, and gives 11 bits (CAN Identifier Bits) and a data field in the frame header to have a meaning as a device net.
[0098]
FIG. 4 shows a CAN frame configuration. The CAN frame 30 is composed of a 19-bit CAN HEADER (31), a 0- to 64-bit DATA FIELD (32), and a 25-bit CAN TRAILER (33). Have been.
[0099]
FIG. 5 shows details of the CAN HEADER 31 shown in FIG. 4, but includes a 1-bit Start of Frame (31-1), an 11-bit CAN Identifier (31-2), and a 1-bit RTR Bit. (31-3) and 6-bit Control (31-4).
[0100]
By the way, in the CAN frame configuration as described above, the reception interval of the CAN frame becomes minimum when the inter-frame space between the CAN frames is the minimum 3 bits, and when the DATA FIELD (32) of the CAN frame 30 is 0 bit.
[0101]
At this time, the bit length is as follows.
[0102]
CAN HEADER + DATA FIELD + CAN TRAILER
+ Inter frame space
= 19 + 0 + 25 + 3
= 47 (bits)
[0103]
Therefore, when using the fastest communication speed of 500 Kbps on the device net,
47 ÷ 500,000 = 0.000094 (sec)
Becomes
94 μsec is the minimum reception interval.
[0104]
The longest processing time of the trigger detection processing must satisfy the following expression.
[0105]
Minimum reception interval (94 μsec)> reception processing + reception data transfer processing + trigger detection processing
[0106]
Under the configuration of the present embodiment as described above and the conditions as described above, in the present embodiment, trigger detection is performed as follows.
[0107]
First, an outline of trigger detection in the present embodiment will be described with reference to the flowchart of FIG.
[0108]
By the way, the difference between the processing of FIG. 6 according to the present embodiment and the processing of the conventional example shown in FIG. 15 is that the processing within the dotted line 170 in FIG. The processing of steps 214 and 216, which is the processing of the application execution unit 21, has been added to the previous stage of FIG.
[0109]
Therefore, Step 200 (same as Step 140 in FIG. 15), Step 202 (Same as Step 142 in FIG. 15), Step 204 (Same as Step 144 in FIG. 15), Step 208 (Same as Step 158 in FIG. 15), The description of the processing of step 210 (same as step 160 in FIG. 15) and step 212 (same as step 162 in FIG. 15) will be omitted from the description of FIG. 15, and redundant description will be omitted.
[0110]
In FIG. 6, the processing of steps 214 and 216 is processing performed by the application execution unit 21 composed of a personal computer or the like, and the processing of steps 200 to 212 is processing performed by the trigger detection execution board 23.
[0111]
First, the process of step 214 performed by the application execution unit 21 is a process in which a user sets a trigger detection command based on a program on a recording medium on which a program for trigger detection is recorded. Specifically, a dialog box shown in FIG. 8 to be described later is provided to the user, and is set on this dialog box.
In FIG. 8, two types of condition settings, setting 1 and setting 2, can be set. In each setting, it is possible to specify Mask & Match of the CAN ID and Matching of the data field. In FIG. 8, “multiple designation” is selected.
Here, by adopting a language suitable for the logical notation of trigger detection, it is possible to express a complicated trigger setting by a simple notation method. For example, there is a ladder language as such a language.
[0112]
Next, the trigger detection command written in the simple language set in step 214 is downloaded to the shared memory 41 (constituting the host interface 22) of the trigger detection execution board 23 (step 216). For example, if the trigger detection command is written in ladder language in step 214, it is written in ladder mnemonic.
[0113]
The MPU 42 of the trigger detection execution board 23 compiles this, converts it into a binary instruction, and stores it in the first RAM 44.
[0114]
The trigger detection execution board 23 detects a trigger based on the trigger detection command stored in the first RAM 44 (Step 206).
[0115]
As described above, the trigger detection instruction set in step 214 can adopt a simple language suitable for the logical notation of advanced trigger detection, and can express complicated trigger settings in a simple notation. ing.
[0116]
That is, each time a new trigger is detected, the most suitable trigger detection condition is set and compiled. For example, in FIG. 15, if a trigger is detected under the detection condition of setting 3, a program including only the processing of step 156 is created within the dotted line 170. Accordingly, there is no redundant processing with a branch as in the processing of the dotted line 170 in FIG. 15, and a complicated trigger detection processing can be performed in a short time.
[0117]
FIG. 7 shows a notation example in which a simple language is used for the logical notation of trigger detection in setting the trigger command set in step 214 of FIG. 6, and trigger detection is performed by setting two types of Mask & Match. The setting contents in the case are shown.
In FIG. 7, (a) shows ladder notation, and (b) shows mnemonic notation.
[0118]
That is, “setting 1” is “when the condition of Trigger 1 (Mask & Match) is matched and the data of the second byte of the data frame is 0x41 or 0x40”.
[0119]
“Setting 2” is “when the condition (Mask & Match) of Trigger 2 matches”.
[0120]
Here, when either of the conditions of “Setting 1” or “Setting 2” is satisfied, it is determined that the trigger is detected.
[0121]
In the present embodiment, these setting conditions are described in a language suitable for the logical notation of trigger detection.
[0122]
Next, the operation of the trigger detection device 20 according to the present embodiment will be described separately for the operation in the application execution unit 21 and the operation in the trigger detection execution board 23.
[0123]
Operation in application execution unit 21
(1) Trigger setting
(A) In this process, first, a trigger setting screen (dialog box) is provided to the user. FIG. 8 shows an example of a screen when a trigger is set using this screen.
[0124]
This screen is an example of a screen when the screen is set under the setting conditions of FIG.
[0125]
“Setting 1” is “when the condition of Trigger 1 (Mask & Match) is matched and the data of the data frame (data field) is the setting value”.
[0126]
“Setting 2” is “when the condition (Mask & Match) of Trigger 2 matches”.
[0127]
Here, when either of the conditions of “Setting 1” or “Setting 2” is satisfied (OR), it is determined that the trigger is detected.
[0128]
Although the above setting example is “setting 1 OR setting 2”, combinations of setting 1 and setting 2 include the following.
(1) Only setting 1
(2) Only setting 2
(3) Setting 1 AND setting 2
(4) Setting 1 OR setting 2
(5) Other than setting 1
(6) Other than setting 2
(7) Other than setting 1 AND setting 2
(8) Setting 1 AND Other than setting 2
(9) Other than setting 1 AND Other than setting 2
(10) Other than setting 1 OR setting 2
(11) Setting 1 OR Other than setting 2
(12) Other than setting 1 OR Other than setting 2
(13) Other than setting 1 THEN setting 2
(14) Setting 1 Other than THEN setting 2
(15) Other than setting 1 Other than THEN setting 2
[0129]
Here, "setting 1 THEN setting 2" means that when a message matching setting 1 is detected, a message matching setting 2 is waited for thereafter. Then, when a message matching the condition of setting 2 is received, it is determined that the trigger condition is satisfied.
[0130]
(B) Next, the setting contents set by the user on the screen of FIG. 8 are downloaded to the shared memory 41 of the host interface 22.
[0131]
In this process, when a trigger condition is set on the screen in FIG. It is performed by being downloaded to.
[0132]
(C) Next, via the host interface 22, the MPU 42 is instructed to compile the trigger detection setting written in the shared memory 41 and store it in the first RAM 44.
[0133]
(2) Capture filter setting
(A) In this process, first, a capture filter setting screen (dialog box) is provided to the user. FIG. 9 shows an example of a screen for setting a capture filter. The capture filter is not provided for trigger detection of all the captured frames, but is provided in advance to narrow down the frames for trigger detection. For example, only frames having specific addresses are passed. (B) The setting contents set on the screen by the user are written to the shared memory 41 of the host interface 22 by ladder mnemonic. As described above, only the data that has passed through this filter is stored in the second RAM 45.
[0134]
(3) Network monitoring start command
(B) Provide a button for starting network monitoring to the user on the screen.
(B) When the user presses the button, the user instructs the MPU 42 via the host interface 22 to start network monitoring.
[0135]
(4) Network monitoring end command
(B) A button for ending network monitoring is provided to the user on the screen.
(B) When the user presses the button, the user instructs the MPU 42 via the host interface 22 to end network monitoring.
[0136]
(5) Capture data display
Upon receiving the network monitoring end notification from the trigger detection execution board 23, the trigger detection execution board 23 reads the capture data written in the shared memory 41 of the host interface 22, and provides the user with the screen. FIG. 10 shows a display example at this time.
[0137]
Operation in the trigger detection execution board 23
(1) Trigger setting
(A) A compile instruction of a trigger detection instruction is received from the application execution unit 21.
(B) As a result, the ladder mnemonic trigger detection instruction written in the shared memory 41 of the host interface 22 is read, and an instruction set executable by the MPU 42 is generated (compile processing).
(C) Next, the instruction is converted into a binary instruction and written into the first RAM 44.
[0138]
(2) Network monitoring, trigger detection, frame capture
(A) A network monitoring start command is received from the application execution unit 21. (B) Start network monitoring.
(C) Perform trigger detection processing in accordance with the settings. The following settings are possible. These settings are specified by the user in the application execution unit 21.
[0139]
・ Setting example 1 Frame capture starts after detecting a frame that matches the trigger condition. The fetched frame is buffered in the shared memory 41. When the shared memory 41 becomes full, the frame fetching process is terminated, and the application execution unit 21 is notified of the end of monitoring.
[0140]
Setting Example 2 Frame acquisition to the shared memory 41 is started immediately upon receiving a network monitoring command from the application execution unit 21 and is stopped when a frame matching the trigger condition is detected. Perform
[0141]
In the setting example 2, if the buffer becomes full before the trigger condition is matched, the capture is continued by the FIFO (First In First Out) in a format in which the latest data remains. finish.
[0142]
In the present embodiment, there are the following three cases that cause the network monitoring to end.
(1) In the case of receiving a network monitoring end command from the application execution unit 21 (2) In the case of the setting 1, the frame acquisition is started after detecting a frame that matches the trigger condition, and the shared memory 41 becomes full. When it becomes
(3) In the case of the above setting example 2, when a frame matching the trigger condition is detected.
[0143]
(D) In the case of the setting 2, when capturing a frame, the application executing unit 21 selectively captures only the frame that matches the filter condition set in the shared memory 41 of the host interface 22 and stores the frame in the buffer. I do. As the storage buffer, the shared memory 41 of the host interface 22 is used.
[0144]
FIG. 11 is a flowchart showing the message reception processing and the processing time in the trigger detection execution board 23.
[0145]
In this process, when the message receiving process starts (step 220), a receiving process such as data transfer is performed (step 222).
[0146]
Next, the process of Mask & Match of setting 1 is performed (step 224), and subsequently, the process of Mask & Match of setting 2 is performed (step 226).
[0147]
Subsequently, a trigger detection command is executed based on the trigger detection command stored in the first RAM 44 (step 228).
[0148]
Subsequently, it is checked whether or not a trigger is detected (step 230). If the trigger is not detected (NO in step 230), the process proceeds to step 234. If the trigger is detected (YES in step 230), the process at the time of trigger detection is performed. Is performed (step 232).
[0149]
Then, in the following step 234, reception processing such as message capture is performed, and the trigger detection ends (step 236).
[0150]
By the way, as described above, this processing needs to be performed within 94 μsec. However, when the operation clock of the MPU 42 is 16 Mhz, the execution processing time of the trigger detection instruction in step 228 is about 4 μsec. This is because, as described above, for example, in FIG. 15, when trigger detection is performed under the trigger detection condition of setting 3, only the process of step 156 within the dotted line 170 needs to be performed.
[0151]
Accordingly, there is an effect that a complicated detection condition can be set without dropping a frame.
[0152]
As described above, in the present embodiment, the trigger detection condition is set each time by the application execution unit 21, and the set trigger detection condition is written in the shared memory 41 of the host interface 22. Next, upon receiving the compile instruction of the trigger instruction from the application execution unit 21, the trigger detection execution board 23 reads the trigger instruction written in the shared memory 41 of the host interface 22, and generates an instruction set executable by the MPU 42 ( (Compile processing), and the data is written in the first RAM 44.
[0153]
Therefore, flexible trigger detection conditions can be set according to the trigger detection mode at each time, and redundant processing when a general-purpose logic is employed as in the conventional example shown in FIG. 15 is eliminated. Therefore, complicated trigger conditions can be set.
[0154]
In addition, since the trigger detection command can be expressed in a simple notation, the compiling process can be easily performed.
[0155]
Further, since there is no branch instruction as shown by a dotted line 170 in FIG. 15, the judgment processing can be performed at high speed even under complicated conditions.
[0156]
【The invention's effect】
As described above, according to the present invention, in a trigger detection device that determines whether a frame flowing in a network meets a predetermined trigger detection condition set in advance, the trigger detection condition is suitable for a logical expression of trigger detection. Trigger detection command setting means for setting by a command word, and trigger detection command compilation means for compiling the trigger detection command set by the trigger detection command setting means, wherein the trigger compiled by the trigger detection command compilation means Based on the detection command, it is determined whether or not a frame flowing through the network meets a predetermined trigger detection condition, so that a flexible trigger detection condition can be set according to a trigger detection mode at each time. Thus, complicated trigger conditions can be set.
Further, in the related art, even if a complicated detection condition that may be missed is set, high-speed processing is performed, so that there is no missing.
[Brief description of the drawings]
FIG. 1 is a diagram showing a network configuration to which a trigger detection device according to the present invention is applied.
FIG. 2 is a diagram showing a system configuration of a trigger detection device 20 shown in FIG.
FIG. 3 is a block diagram showing a configuration of a trigger detection execution board 23 shown in FIG. 2;
FIG. 4 is a diagram showing a CAN frame configuration.
FIG. 5 is a diagram showing details of a CAN HEADER 31 shown in FIG. 4;
FIG. 6 is a diagram illustrating an outline of a trigger detection device according to the embodiment.
FIG. 7 is a diagram showing setting contents when trigger detection is performed by setting two types of Mask & Match when setting a trigger instruction set in step 214 of FIG. 6;
FIG. 8 is a screen example when a trigger setting screen (dialog) is provided to a user.
FIG. 9 is a screen example when a capture filter setting screen (dialog) is provided to a user.
FIG. 10 is a display example in a case where a network monitoring end notification is received from the trigger detection execution board 23, the capture data written in the shared memory 41 of the host interface 22 is read by the trigger detection execution board 23, and the captured data is provided to the user on the screen.
FIG. 11 is a flowchart showing a processing procedure and a processing time in the trigger detection execution board 23;
FIG. 12 is an explanatory diagram when trigger detection is performed by Mask & Match.
FIG. 13 is a flowchart showing an outline of a conventional message receiving process.
FIG. 14 is a flowchart showing a processing procedure when a trigger is detected by Mask & Match.
FIG. 15 shows a case where a general-purpose program is used to satisfy the user's needs. In addition to a Mask & Match portion that is a pure trigger detection process, redundant processes such as a branch process are included (for example, a process within a dotted line 170 in FIG. 15). FIG. 4 is an explanatory diagram for explaining that the receiving process does not fit within the minimum receiving interval.
[Explanation of symbols]
10 Network
11 Transmission line
12-1, 12-2 Communication device
13 Communication device
20 Trigger detection device
21 Application execution unit
22 Host interface
23 Trigger detection execution board
24 Net Interface
40 Expansion bus interface (extension bus I / F)
41 Shared memory
42 MPU
43 ROM
44 First RAM
45 Second RAM
46 CAN control unit
47 transceiver

Claims (6)

ヘッダとデータフィールドを含むフレームが通信されるネットワークに接続され、所定のトリガ検知条件に基づいてネットワークを流れるフレームのうち必要なフレームを取り込むプロトコルアナライザにおいて、
Mask&Matchの使用とIDの指定とデータフィールドの使用との選択的組み合わせにより設定されたトリガ検知条件のそれぞれが論理表記に適した言語によって表記されたトリガ検知命令をコンパイルした結果が格納されるメモリと、
ネットワークを流れる上記フレームを受信する受信処理と、上記メモリから上記コンパイルされたトリガ検知命令を読み出して実行することにより、受信処理したフレームについてトリガ検知か否かを判別する判別処理と、判別処理の結果がトリガ検知である場合に処理するトリガ検知時処理と、を行うトリガ検知判別部と、
上記トリガ検知判別部のトリガ検知時処理に基づいて取り込んだフレームを記憶する記憶部と、
を有することを特徴とするプロトコルアナライザ。
In a protocol analyzer which is connected to a network in which frames including a header and a data field are communicated and captures necessary frames among frames flowing through the network based on predetermined trigger detection conditions,
A memory for storing a result of compiling a trigger detection instruction in which each of the trigger detection conditions set by the selective combination of the use of Mask & Match, the designation of the ID, and the use of the data field is written in a language suitable for the logical notation ; ,
A receiving process of receiving the frame flowing through the network; a reading process of reading out the compiled trigger detection command from the memory to execute the command; and a determining process of determining whether or not the received frame has been detected as a trigger. A trigger detection processing unit that performs processing when a trigger is detected when the result is trigger detection ;
A storage unit for storing a frame captured based on the trigger detection processing of the trigger detection determination unit ,
A protocol analyzer, comprising:
上記プロトコルアナライザは、更にトリガ検知条件を設定するためのアプリケーション実行部を有し、
このアプリケーション実行部は、ユーザによって、Mask&Matchの使用とIDの指定とデータフィールドの使用とを選択的に組み合わせてトリガ検知条件が複数設定され、
上記言語をラダー言語とし、上記設定されたトリガ検知条件のそれぞれをラダー言語で表記されて上記トリガ検知命令が設定される
ことを特徴とする請求項1に記載のプロトコルアナライザ。
The protocol analyzer further has an application execution unit for setting a trigger detection condition,
The application execution unit sets a plurality of trigger detection conditions by selectively combining use of Mask & Match, designation of an ID, and use of a data field by a user.
The protocol analyzer according to claim 1, wherein the language is a ladder language, and each of the set trigger detection conditions is described in a ladder language and the trigger detection command is set .
上記アプリケーション実行部は、
上記トリガ検知判別部へネットワーク監視開始とネットワーク監視終了とを管理し、
上記記憶部に記憶した取り込みフレームを読み出して表示するものである
ことを特徴とする請求項2に記載のプロトコルアナライザ。
The application execution unit,
The trigger detection determination unit manages network monitoring start and network monitoring end,
The protocol analyzer according to claim 2, wherein the captured frame stored in the storage unit is read out and displayed .
記アプリケーション実行部は、
上記トリガ検知条件を設定する際に、ダイアログボックスを提供するもので、
そのダイアログボックス上にてMask&Matchの使用とIDの指定とデータフィールドの使用との選択的な組み合わせを設定可能としている
ことを特徴とする請求項2に記載のプロトコルアナライザ。
Above Symbol application execution unit,
When setting the above trigger detection conditions, provide a dialog box,
In the dialog box, it is possible to set a selective combination of use of Mask & Match, designation of ID, and use of data field.
The protocol analyzer according to claim 2, wherein:
ネットワークを流れるヘッダとデータフィールドとを含むフレームが予め設定された所定のトリガ検知条件に合致するか否かを判別するトリガ検知装置において、
上記トリガ検知条件を、Mask&Matchの使用とIDの指定とデータフィールドの使用との選択的な組み合わせにより設定するとともに、設定したトリガ検知条件のそれぞれを論理表記に適した命令語によりトリガ検知命令を設定するトリガ検知命令設定手段と、
上記トリガ検知命令設定手段で設定されたトリガ検知命令をコンパイルするトリガ検知命令コンパイル手段と、
上記トリガ検知命令コンパイル手段によってコンパイルされたトリガ検知命令を格納されるメモリと、ネットワークを流れる上記フレームを受信する受信処理と、上記メモリのトリガ検知命令に基づいて上記受信処理したフレームが予め設定された所定のトリガ検知条件に合致するか否かを判別する判別処理と、判別処理の結果が条件合致である場合に処理するトリガ検知時処理と、を行うトリガ検知判別部と、
上記トリガ検知判別部のトリガ検知時処理に基づいて取り込んだフレームを記憶する記憶部と、
を有することを特徴とするトリガ検知装置。
In a trigger detection device that determines whether a frame including a header and a data field flowing through a network matches a predetermined trigger detection condition set in advance,
The trigger detection conditions are set by a selective combination of the use of Mask & Match, the designation of an ID, and the use of a data field, and each of the set trigger detection conditions is set by a command word suitable for a logical notation. Trigger detection instruction setting means for performing
Trigger detection instruction compiling means for compiling the trigger detection instruction set by the trigger detection instruction setting means,
A memory for storing the trigger detection command compiled by the trigger detection command compiling means , a reception process for receiving the frame flowing through the network, and the frame subjected to the reception process based on the trigger detection command for the memory are preset. A trigger detection determining unit that performs a determination process of determining whether the predetermined trigger detection condition is satisfied, and a trigger detection process that is performed when a result of the determination process matches the condition;
A storage unit for storing a frame captured based on the trigger detection processing of the trigger detection determination unit,
A trigger detection device comprising:
ネットワークを流れるヘッダとデータフィールドとを含むフレームが予め設定された所定のトリガ検知条件に合致するか否か判別するボードであって、
ホストに対して接続し、共有メモリを含むホストインタフェースと、
ネットワークを流れる上記フレームを取り込むネットインタフェースと、
Mask&Matchの使用とIDの指定とデータフィールドの使用との選択的な組み合わせにより設定された上記トリガ検知条件を論理表記に適した命令語により示したトリガ検知命令を上記共有メモリから読み出してコンパイルし、バイナリ命令に変換する変換手段と、
上記変換手段にて変換されたトリガ検知命令を格納するメモリと、
上記メモリに格納されたトリガ検知命令を実行し、上記ネットインタフェースから取り込んだフレームが予め設定された所定のトリガ検知条件に合致するか否かを判別する判別手段と、
上記判別手段の判別結果に基づいて所定のトリガ検知条件に合致するフレームを収集するフレーム収集部と、
を有することを特徴とするボード。
A board for determining whether a frame including a header and a data field flowing through a network matches a predetermined trigger detection condition set in advance,
A host interface that connects to the host and includes shared memory;
And the net interface to capture the frame through the network,
The trigger detection instruction shown by instruction words Mask & Match use the ID of the specification and selective combining by set the trigger detection condition of use of the data fields for the logical representation compile reads from the shared memory, Conversion means for converting to binary instructions;
A memory for storing the trigger detection instruction converted by the conversion means ,
Executing a trigger detection instruction stored in the memory, and determining whether or not the frame captured from the net interface meets a predetermined trigger detection condition set in advance; and
A frame collection unit that collects frames that match a predetermined trigger detection condition based on the determination result of the determination unit;
A board comprising:
JP2001076968A 2000-03-17 2001-03-16 Protocol analyzer, trigger detection device, recording medium and board on which program for trigger detection is recorded Expired - Lifetime JP3548911B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001076968A JP3548911B2 (en) 2000-03-17 2001-03-16 Protocol analyzer, trigger detection device, recording medium and board on which program for trigger detection is recorded

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000-76909 2000-03-17
JP2000076909 2000-03-17
JP2001076968A JP3548911B2 (en) 2000-03-17 2001-03-16 Protocol analyzer, trigger detection device, recording medium and board on which program for trigger detection is recorded

Publications (2)

Publication Number Publication Date
JP2001333138A JP2001333138A (en) 2001-11-30
JP3548911B2 true JP3548911B2 (en) 2004-08-04

Family

ID=26587858

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001076968A Expired - Lifetime JP3548911B2 (en) 2000-03-17 2001-03-16 Protocol analyzer, trigger detection device, recording medium and board on which program for trigger detection is recorded

Country Status (1)

Country Link
JP (1) JP3548911B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3900470B2 (en) 2002-01-08 2007-04-04 インターナショナル・ビジネス・マシーンズ・コーポレーション Digital signal measuring apparatus and traffic observation method
DE502006009063D1 (en) * 2006-11-06 2011-04-21 Tektronix Int Sales Gmbh Apparatus and method for combining a protocol test and a bit error rate measurement

Also Published As

Publication number Publication date
JP2001333138A (en) 2001-11-30

Similar Documents

Publication Publication Date Title
WO2018076650A1 (en) Method and device for monitoring axi bus, and computer readable storage medium
JP2002540751A (en) Fault data synchronization via peer-to-peer communication networks
CN112333044B (en) Shunting equipment performance test method, device and system, electronic equipment and medium
CN110907748A (en) Distribution lines travelling wave fault acquisition and analysis device and fault positioning system
CN110769175B (en) Intelligent analysis system, method and device
JP3548911B2 (en) Protocol analyzer, trigger detection device, recording medium and board on which program for trigger detection is recorded
JPH09248739A (en) Monitoring device for operation condition
JP2004312354A (en) Environmental monitor system, data logger used therein, and program thereof
US6493655B1 (en) Apparatus for measuring throughput and method of measuring throughput
JP2005004529A (en) Environment monitoring system, and data collection device and data logger for use in this system
JPH07321783A (en) Network monitor equipment
US20230188439A1 (en) Traffic Monitoring Device, Traffic Monitoring Method, and Traffic Monitoring Program
JPH09130871A (en) Time series data transmitter
JP3428195B2 (en) How to record received data using protocol analyzer
JP3891237B2 (en) COMMUNICATION DATA MONITORING DEVICE, COMMUNICATION DATA MONITORING METHOD, AND RECORDING MEDIUM CONTAINING COMMUNICATION DATA MONITORING PROGRAM
JP2004248172A (en) Osi layer 1 transmission data monitoring device
JP3789309B2 (en) Serial bus tester
CN113016039A (en) System and method for processing waveform data in a medical device
JPH1168874A (en) Analytic system for transmission information
JPH05113949A (en) Bus data collection system
JP2007264972A (en) On-site information gathering system and on-site information gathering method
JP3424710B2 (en) Prevention of missing data
JP2002314622A (en) Device for collecting digital modulation and demodulation system data and baseband processor
JPH09289510A (en) Protocol analyzer
JP3431516B2 (en) Information transmission system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040105

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040305

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040324

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040406

R150 Certificate of patent or registration of utility model

Ref document number: 3548911

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090430

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100430

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110430

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130430

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130430

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140430

Year of fee payment: 10

EXPY Cancellation because of completion of term