NetAssist(ネットワークアシスタント)の使用方法
ツール概要
NetAssistは、Windows向けのTCP/IPネットワークデバッグツールです。UDP、TCP、MQTTなどのアプリケーションプロトコルに対応しています。ネットワークアプリケーションの開発およびデバッグ作業に欠かせない専門ツールの一つとなっています。このツールは、ネットワークの設計、開発、テストを行う技術者が開発したソフトウェア・ハードウェアのデータ送受信状況を確認するのに役立ちます。また、開発速度の向上、開発複雑度の軽減にもつながります。TCP/UDPアプリケーションの開発・デバッグの効率を高める優れたアシスタントです。
適用シーン
ビジョンシステムのデバッグでは、NetAssistはTCP/UDPを作成するサーバー側やクライアント側として、ネットワークデバイスやネットワークアプリケーションに対しての通信確認を行います。
-
サーバー側のシミュレーション:NetAssistはサーバー側として、クライアント側の通信を確認します。
-
クライアント側のシミュレーション:NetAssistはクライアント側として、サーバー側の通信を確認します。
設定オプション
NetAssistはMech-VisionとMech-Vizのインストールディレクトリの Communication Component\tool
に格納されています。NetAssist.exeをダブルクリックして、ネットワークアシスタントを開きます。
エンコーディング方式の変更
NetAssistは、ANSI(GBK)とUTF-8に対応します。エンコーディング方式はデフォルトでANSI(GBK)となります。送信ウィンドウと受信ウィンドウのエンコーディング方式はそれぞれ独立しています。それぞれの空白エリアで右クリックすることで Charset Encoding を選択し、エンコーディング方式を変更することができます。エンコーディング方式を変更した後、NetAssistはすぐに文字化けした受信データを更新しません。新しいデータを受信した後、更新します。
受信ウィンドウで文字化けしたデータが表示される場合、受信したデータはUTF-8でエンコードされる可能性があります。その場合、受信ウィンドウで、エンコーディング方式をUTF-8に変更してください。 |
受信オプション
NetAssist画面の左側の Recv Options で、データコード(ASCII/HEX)、データの表示、データの保存などの設定を行うことができます。
Recv Options の説明は以下となります。
オプション | 説明 |
---|---|
ASCII |
受信したデータはASCIIコードで表示されます。 |
HEX |
受信したデータは16進法で表示されます。 |
Log Display Mode |
受信ウィンドウで、受信したデータが表示されるだけでなく、データを受信した時間、データ形式、データソースのIPアドレスとポート番号、及びデータ記録も表示されます。 |
Auto Linefeed |
新しいデータを受信するたびに、自動改行します。 |
Save Recv to File |
受信したデータをファイルに保存します。チェックを入れると、ファイルの保存先を選択するダイアログが表示されます。保存するファイル形式をご確認ください。Log File(デフォルト)と Data File を選択可能です。
|
Auto Scroll |
クリックすることで、自動スクロールをオン・オフにします。 |
Clear |
受信ウィンドウで表示されたデータをクリアします。 |
Send Options
NetAssist画面の左側の Send Options で、データコード(ASCII/HEX)、エスケープ処理、データソース、サイクルタイムなどの設定を行うことができます。
Send Options の説明は以下となります。
オプション | 説明 |
---|---|
ASCII |
ASCIIコードでデータを送信します。 |
HEX |
16進法でデータを送信します。 |
Use Escape Chars |
エスケープ文字が含まれるデータを送信する際、エスケープ文字を自動的に対応するASCIIコードに解析して送信します。それで、ユーザーはテキスト形式で制御文字を送信することができます。「i」をクリックしてエスケープ文字に関する情報を確認します。 |
Auto Append Bytes |
チェックサムやエンド文字を自動的に送信データの最後に追加します。 |
Send from File… |
送信するデータをファイルに保存し、ファイルでデータを送信します。一般的に、データの多い場合に使用されます。 |
Cycle |
Cycle にチェックを入れ、サイクルタイム(単位はms)を設定します。設定した後、NetAssistは設定したサイクルタイムに基づいて、入力したデータを繰り返し送信します。 |
Net Options
NetAssist画面の左側の Net Options で、必要に応じてNetAssistをTCP Server、TCP Client、UDPとしてシミュレーションすることができます。次に、TCPとUDP通信のネットワーク設定を説明します。
TCP通信
仮に、コンピュータAとコンピュータBは同じローカルネットワークに接続されています(IPアドレスとポート番号は以下の通り)。AとBはそれぞれNetAssistを実行しています。AはTCP Serverとして、BはTCP Clientとしてシミュレーションを行います。
-
A(TCP Server):IPアドレスは192.168.20.224、ポート番号は50000。
-
B(TCP Client):IPアドレスは192.168.20.233。
以下の操作で、AとBのTCP通信を確認することができます。
-
A(TCP Server)のNetAssistで、下図の通りにネットワークを設定します。Open をクリックします。
-
B(TCP Client)のNetAssistで、下図の通りにネットワークを設定します。Open をクリックします。
-
B(TCP Client)のNetAssistで、hello を入力し、Send をクリックします。
-
A(TCP Server)のNetAssistで、Bから送信されたデータを確認することができます。
UDP通信
仮に、コンピュータAとコンピュータBは同じローカルネットワークに接続されています(IPアドレスとリスニングポート番号は以下の通り)。AとBはそれぞれNetAssistを実行しています。UDPは非接続型のプロトコルですため、サーバー側とクライアント側がないです。
-
A:IPアドレスは192.168.20.224、リスニングポート番号は50000。
-
B:IPアドレスは192.168.20.233、リスニングポート番号は50000。
以下の操作で、AとBのUDP通信を確認することができます。
-
AのNetAssistで、下図の通りにネットワークを設定します。Open をクリックします。Remote で、BのIPアドレスとポート番号を入力します。
-
BのNetAssistで、下図の通りにネットワークを設定します。Open をクリックします。Remote で、AのIPアドレスとポート番号を入力します。
-
AのNetAssistで、hello を入力し、Send をクリックします。
-
BのNetAssistで、Aから送信されたデータを確認することができます。
NetAssistでTCP標準インターフェース通信コマンドを送信
NetAssistの基本機能の説明は終了です。次に、NetAssistで TCP標準インターフェース通信コマンド を送信する方法を説明します。
送信する前に、Mech-Visionプロジェクトが正しく構築されたことを確認してください。ソリューションを自動的に読み込む にチェックを入れたことを確認してください。同時に、プロジェクト名の前にプロジェクト番号が表示されることを確認してください。 |
-
IPCでMech-Visionを開きます。下図の通り、インターフェースサービスのタイプ、通信プロトコル、ポート を設定します。
通信プロトコルを TCP Server に設定した場合、ここで設定したインターフェースサービスはTCPのサーバー側に対応します。 -
Mech-Visionのメイン画面で、ツールバーのインターフェースサービスが起動されていることを確認してください。
-
IPCで、NetAssistを開きます。Protocol を TCP Client に選択し、Remote Host Addr でIPCのIPアドレスを入力し、Remote Host Port でMech-Visionで設定されたポートを入力し、Open をクリックします。
Recv Options と Send Options のデータ形式はMech-Visionで設定されたプロトコル形式と一致していることを確認してください。 -
送信ウィンドウで、コマンドを入力します。例えば、101,1,0,0,0,0,0,0,0 を入力し、Send をクリックします。
送信完了後、受信ウィンドウでMech-Visionから転送されたデータが表示されます。
よくある問題
NetAssistは悪意あるソフトウェアとして警告された
NetAssistは起動される際、ネットワークを訪問してバージョン情報を確認します。一部のセキュリティソフトはそれを悪意ある行為として誤検知する可能性があります。NetAssistの実行中、セキュリティ警告が出されたら、ソフトウェアの信頼を行ってください。
リスニングする際、ステータスバーにエラー情報(The specified address is already in use)が表示された
リスニングポートは他のプログラムに使用されています。リスニングポートを変更するか、他のプログラムを停止させることで解決できます。
TCP ClientはTCP Serverに接続できない
以下の方法でエラーの発生原因を確認してください。
-
TCP ClientがTCP Serverに接続する際、IPアドレスとポートは正しく設定されたことを確認してください。
-
TCP Server側でリスニングするネットワークアダプターアドレスは正しく設定されたことを確認してください。
-
TCP Server側はオープン済みで、目標ポートをリスニングしていることを確認してください。
-
TCP ClientとTCP Serverのネットワークは物理的に接続されていることを確認してください。TCP ClientでPingコマンドを実行して、TCP Server側のIPアドレスを確認します。Pingが通らない場合、ネットワークを確認してください。
-
TCP Serverのリスニングポートはブロックされていないことを確認してください。
-
TCP ClientとTCP Serverは同じネットワークセグメントに接続されていることを確認してください。