************************************************************************
汎用通信プログラム - paras -
Copyright (c) 2007, 2009. Janus
************************************************************************
--------------------------------
. はじめに
--------------------------------
シリアルポートやネットワークのソケット通信をバイナリレベルで
行うことが出来ます。データ転送時の解析を主な目的とし、無加工の
データ送受信により、通信データの解析に役立ちます。
また、受信画面に構造体形式を選択することで、受信データの
解析を容易にします。固定長データの解析には強力なツールとなります。
【特徴】
・シリアル等の COM ポートを用いた通信
・TCPによるサーバ通信機能
・TCPによるクライアント通信機能
・UDPによるユニキャスト通信機能
・UDPによるマルチキャスト通信機能
・UDPによるブロードキャスト通信機能
・何度も使用する送信データパターンを登録可能
・送受信時のデータをログとして採取可能
・送信画面にバイナリ形式を採用
・受信画面にバイナリ形式を選択可能(追加表示可)
・受信画面にダンプ形式を選択可能
・受信画面に構造体解析形式を選択可能
【アーカイブ内容】
paras.exe : プログラム
paras.txt : ヘルプファイル
echo_reply.csv : サンプル構造体定義
--------------------------------
. インストール方法
--------------------------------
1.任意のフォルダーにアーカイブ内容を展開します。
2.必要に応じ paras.exe へのショートカットを作成します。
--------------------------------
. アンインストール方法
--------------------------------
1.インストール時に展開したファイルを全て削除します。
2.作成された paras.ini ファイルを削除します。
レジストリは使用していません。
--------------------------------
. メニューコマンド
--------------------------------
[[[ 通信メニュー ]]]
【 開始 】
通信開始のダイアログ「通信設定」を表示し、通信の初期化を
行います。
【 COM 設定 】
通信ポート COM1 〜 COM16 を選択します。
ビット/秒 通信速度を選択します。
データ ビット 通信データ長を選択します。
パリティ パリティーの付加を選択します。
ストップビット ストップビット長を選択します。
フロー制御 フロー制御方法を選択します。
【 TCP 設定 】
クライアント
ホスト 接続先ホスト名を指定します。
ホストにはホスト名または IP アドレスを指定す
ることが出来ます。1 度入力したホスト名は履歴
として保存されます。履歴から削除する場合はパ
ラメータファイルを直接編集してください。
ホスト名の後ろに : を挟みポート番号を指定する
ことが出来ます。この場合、ポート番号入力欄で
入力した値よりも優先されます。
ポート番号 接続先ポート番号を指定します。
サーバー
監視ポート 監視するポート番号を指定します。
listen するポート番号です。
【 UDP 設定 】
ホスト 送信先ホスト名を指定します。
ポート番号 送信先ポート番号を指定します。
監視ポート番号 受信ポート番号を指定します。
bind するポート番号です。
ユニキャスト ユニキャストによる送受信を指定します。
マルチキャスト マルチキャストによる送受信を指定します。
TTL TTLの値を指定します。
【 ICMP 設定 】
ホスト 送信先ホスト名を指定します。
TTL TimeToLiveの値を指定します。
デフォルトは 0 となっています。
【 共通設定 】
タイムアウト 監視時間を指定します。
デフォルトは 500 ミリ秒となっています。
【 終了 】
通信を終了します。
【 通信ログ 】
通信時のログ採取を指示します。
【 終了 】
paras を終了します。
[[[ 表示メニュー ]]]
【 バイナリ画面 】
受信画面をバイナリ表示ウインドウに切り替えます。
【 バイナリ追記画面 】
受信画面をバイナリ表示ウインドウに切り替えます。
「バイナリ画面」と異なり、受信データが追記されます。
【 ログ画面 】
受信データを受信時刻と共にテキストでダンプ表示します。
【 構造体解析画面 】
構造体解析画面に受信データを割り当て、解析表示します。
[[[ 登録メニュー ]]]
【 登録データファイルを開く 】
保存した登録データを読み込みます。
【 名前を付けて登録データを保存 】
送信データや、構造体定義を登録した場合、一括でそれらを登録
データとして保存することが出来ます。
また、最後に保存した登録データは paras 起動時に自動的に読み
込まれます。
【 送信データを登録 】
送信データを予め作成し、名前を付けることが出来ます。
【 構造体定義を登録 】
受信画面で構造体解析を用いる場合、構造体の定義ファイルを
指定します。定義ファイルの記述方法は下記の通りです。
構造体名称,+
形名称,変数名[,形式]
例えば C 言語で記述する以下の構造体は
struct Sample
{
WORD vID;
WORD dID;
WORD Cmd;
};
次の様になります。
Sample,+
WORD,vID
WORD,dID
WORD,Cmd
形名称には以下の種類が指定できます。
"double" "long double" "float"
"BYTE" "char" "signed char"
"unsigned char" "WORD" "short"
"signed short" "unsigned short" "SHORT"
"long" "signed long" "unsigned long"
"int" "signed int" "unsigned int"
"__int64" "signed __int64" "unsigned __int64"
"long long" "ULONGLONG" "signed long long"
"DWORD" "LONG" "unsigned long long"
また、ビックエンディアン、リトルエンディアンの指定や
表示形式の指定が可能です。指定しない場合は hex が使用されます。
"char" ... 文字として解析
"decl" ... リトルエンディアンとして10進数解析
"decb" ... ビックエンディアンとして10進数解析
"hexl" ... リトルエンディアンとして16進数解析
"hexb" ... ビックエンディアンとして16進数解析
"l" ... リトルエンディアンとして解析(浮動小数点)
"b" ... ビックエンディアンとして解析(浮動小数点)
先程の構造体をビックエンディアンで解析させる場合は次の様になります。
Sample,+
WORD,vID,hexb
WORD,dID,hexb
WORD,Cmd,hexb
--------------------------------
. 制御パネル
--------------------------------
【 送信 】
送信画面に表示されている内容を送信します。
【 送受信ランプ 】
送信動作中は緑色ランプが点灯します。
受信動作中は赤色ランプが点灯します。
【 送信データのクリア 】
送信画面のデータを消去します。
【 受信データのクリア 】
受信画面のデータを消去します。
【 受信動作の停止 】
受信画面の更新動作を停止します。
【 送信データ 】
登録した送信データの一覧を表示します。
登録名称の欄をダブルクリックすることで登録データの内容を
送信します。
【 構造体定義 】
受信画面に使用できる構造体定義の一覧を表示します。
登録名称の欄をダブルクリックすることで受信画面で使用する
構造体定義を選択します。
--------------------------------
. バイナリ画面
--------------------------------
【カーソル移動】
カーソル移動には[↑][↓][←][→]キーを使用します。
データ先頭位置への移動は[Ctrl+Home]キー、データ末尾部への移動は
[Ctrl+End]キーを使用します。
また、桁の先頭には[Home]キー、桁の末尾には[End]キーを使用します。
【データのキーボード入力】
通常は 0〜9 及び a〜f(大文字又は小文字)の半角文字が入力可能です。
IMMがオンの場合は文字コードがそのまま入力されます。
右クリックで表示されるメニューの「貼り付け」を選択することで、
クリップボードからデータを入力することも可能です。
[Ctrl+V]でも貼り付け動作が行えます。
この際、クリップボード内のデータは以下の条件を満たしている必要が
あります。(条件を満たしていない場合、思い通りの取り込み結果になら
ない場合があります)
1. テキストデータであること。
2. 16進数値半角文字列であること。(0x表記は可能)
テキストデータを可能な限り数値変換しデータとして取り込みます。
ただし、IMEがオンの場合は文字列をそのまま貼り付けます。
【データの挿入】
編集は任意の位置から可能です。
空白欄に数値を入力すると、新規データとして記憶されます。
この際、編集済み最終位置から編集位置まで
「画面設定」-「埋め込みデータ」で設定した値が自動で挿入されます。
既存データ上で数値を入力すると、データを上書きします。
既にデータが存在する場所にデータを挿入したい場合は、挿入したい
位置にカーソルを移動し、[SPACE]キーを入力します。
「画面設定」-「埋め込みデータ」で設定した値が入力され、カーソル
位置以降のデータが後方にシフトされます。
または、[Insert]キーを押して挿入モードに切り替えます。
挿入モードではカーソルの横の長さが通常の1/4になります。
この状態で上位バイト位置にカーソルがある場合にデータを入力すると
「画面設定」-「埋め込みデータ」で設定した値が挿入され、
更に、入力したデータで編集されます。再度、[Insert]キーを押すと
通常の上書きモードに切り替わります。
【データのポイント編集】
カーソル位置で[+]キーを押すとそのデータに 0x01 が加算されます
カーソル位置で[-]キーを押すとそのデータに 0x01 が減算されます
カーソル位置で[*]キーを押すとそのデータに 0x10 が加算されます
カーソル位置で[/]キーを押すとそのデータに 0x10 が減算されます
カーソル位置で[~]キーを押すとそのデータがビット反転します
カーソル位置で[>]キーを押すとそのデータを右ビットシフトします
カーソル位置で[<]キーを押すとそのデータを左ビットシフトします
カーソル位置で[)]キーを押すとそのデータを右ローテートシフトします
カーソル位置で[(]キーを押すとそのデータを左ローテートシフトします
それぞれ 0 〜 255 の範囲で演算されます
【データの削除】
カーソル位置のデータを削除するには[Delete]キーを使用します。
カーソル前のデータを削除しカーソルを1つ前に戻すには[BackSpace]
キーを使用します。
【選択編集】
範囲選択はマウスカーソルまたは[Shift+↑↓→←]キーにより行います。
選択すると選択部分のデータは反転表示されます。
この状態で[Delete],[BackSpace]キーを挿下するとデータが削除されます。
この状態で[Ctrl+X]キーを押すとクリップボード転送後にデータが削除されます。
この状態で[Ctrl+C]キーを押すとクリップボードにデータが転送されます。
この状態で[+],[*],[-].[-],[~] [>],[<],[)],[(]キーを押すとデータを
ポイント編集します。
【データファイルからの入出力】
ファイル内容を以下のいずれかの方法で送信データとすることが可能です。
・送信データ画面にファイルをドロップする。
・右クリックで表示されるメニューから「ファイルから読み込む」を選択する。
・[Ctrl+O]キーでファイルを開く。
編集内容を以下のいずれかの方法でファイルに保存することが出来ます。
・右クリックで表示されるメニューから「ファイルへ保存」を選択する。
・[Ctrl+S]キーでファイルを保存する。
これらはクリップボードと違いテキスト→バイナリ変換(その逆)は
行われません。
【アドレスジャンプ,データ検索・置換】
[Ctrl+F],[Ctrl+H],[F5]キーで検索用ダイアログが表示されます。
アドレスジャンプ 指定番地にカーソルを移動します。
データ検索 カーソル位置からデータを検索します。
継続検索は後方は[F3]キー又は[Ctrl+PgDn]キー
で、前方は[Shift+F3]キー又は[Ctrl+PgUp]キー
で可能です。
データ置換 カーソル位置から検索データを置換データで置
き換えます。
データを選択中に継続検索を行うと選択データを検索データとして
検索します。
--------------------------------
. 動作環境
--------------------------------
WindowsXPの動作する環境で確認しています。
--------------------------------
. 配布条件等
--------------------------------
・フリーソフトウェアです。配布する際はアーカイブのまま行ってください。
・バージョン情報は実行ファイルのプロパティにて確認できます。
・連絡先 mailto:janus@fj8.so-net.ne.jp
・ホームページ http://www002.upp.so-net.ne.jp/janus/
--------------------------------
. 著作権・免責
--------------------------------
・本ソフトウェアに関する著作権は Janus が保有します。
・本ソフトウェアを使用した上で生じた損害について Janus は一切責任を
負いません。
・本ソフトウェアの保守を行う義務を Janus は負いません。
・製品名などは、各社の商標・登録商標です。
--------------------------------
. 変更履歴
--------------------------------
1.01 07/07/30 ・リリース
1.02 07/08/01 ・プラグインに暫定対応
1.03 07/11/16 ・プラグインリストの更新不具合を修正
・バイナリエディット部ライブラリ差し替え
・ログ画面でバッファが一杯になった場合の処理を変更
1.04 07/12/11 ・バイナリエディット部ライブラリ差し替え
(UTF-8/UCS-2表示等に対応)
1.05 07/12/12 ・バイナリエディット部ライブラリ差し替え
1.06 08/03/15 ・VisualStudio2008環境移行
1.07 08/03/21 ・バイナリエディット部ライブラリ差し替え
1.08 08/07/29 ・バイナリエディット部ライブラリ差し替え
1.09 09/02/01 ・バイナリエディット部ライブラリ差し替え
1.10 09/04/16 ・登録データ読み込み不具合修正
・バイナリエディット部ライブラリ差し替え
1.11 10/09/25 ・バイナリエディット部ライブラリ差し替え