
SerialDebugger3 ヘルプページ

一、概要

本ソフトウェアは、拙作 Serial Debug Tool2の後続バージョンです。

いまでは標準では搭載されなくなりつつあるシリアルポートですが、生産現場では簡易に使うことのできる、デバイスであることは変わっていません。
そこで、シリアル通信アプリケーションをデバッグするときに必要とされる最小限の機能を盛り込んだソフトをつくってみました。
基本的には、シリアル通信用モニタソフトですが、通常のシリアル通信ソフトとちがうのは
ＨＥＸ、テキストの２画面での通信確認
ができることです。

これにより、バイナリデータを含むデータの送受信をおこなうことが可能となっています。

また、昨今では ネットワーク (UDP / TCP)での接続を行う装置も増えているので、

    シリアルポート (COMポート)
    UDP/IP
    TCP/IP (サーバーモード)
    TCP/IP (クライアントモード)


という４方式で利用できるようにしてみました。

基本的な操作性は、拙作 Serial Debug Tool2 を踏襲しています。

今作より、.NET Framework4.8 で動作する仕様になっています。
これにより、Windows7/8/10/11 での動作が可能です。


二、使い方

	1:接続設定

		メニューの
		"設定(s)" - "通信設定(C)"
		を選択すると、通信設定画面が表示されます。
		ここから、シリアルポート、UDP、TCP のいずれで通信するか、を選択できます。
		また、一定時間通信が途切れた際に、表示の改行を行う待ち時間をms単位で設定します。

		OKボタンを押し下げた際の最終表示されているタブが、選択接続設定となります。
		たとえば、UDPのタブ表示状態で、OKボタンを押した場合は、UDPが接続設定として選択されます。

			シリアルポート(COM)

			シリアルポートの通信設定を行います。
			起動時に、利用できるCOMポートが列挙されているので、利用したいポートを選びます。
			再検索ボタンを押すと、COMポートを詳細情報つきで列挙します。


			UDP

			UDPでの通信設定を行います。
			送信先のアドレスと利用ポートを設定し、受信用ポートも設定します。


			TCP

			TCPでの通信設定を行います。
			TCPでは利用モードにより設定が異なります。
			クライアントモードの場合、接続先アドレスとポートを指定します。
			サーバーモードでは、待ち受け用ポートを設定します。



	2:制御線処理 (シリアルポート)

		シリアルポートを選択した場合、DTRとRTS信号に関しては任意に制御できます。
		制御線処理
		DTR,RTSのランプをダブルクリックすることで、ON/OFFすることができます。


	3:送信　(混在形式)

		画面上部の入力枠に送信したい内容を入力して、Sendボタンを押すと送信されます。
		本ソフトウェアの特徴となる機能です。
		バイナリ値と文字列を混在して送信できるようにしています。

		文字列を送信する場合には "" でくるみます。
		たとえば、ABCD という文字で送信したい場合は

		ex)
		"ABCD"

		と入力します。
		文字のなかで、”文字を使いたい場合は ￥ でエンコードします。

		ex) {"test": 1} と送信したい場合
		"{\"test\": 1}"

		と入力します。

		送信する文字列に漢字が含まれる場合、画面上の[漢字コード]の選択に従います。
		Shift-JISと UTF8が選択できます。


		10進値(0～255) の場合は、そのまま指定します。

		ex)
		123

		16進値(0x00～0xff) の場合は、0xをつけて指定します。

		ex)
		0x1b

		これらを組み合わせて、１文をつくるには、 , (カンマ)で区切って連結します。

		ex)
		0x02, "test_send", 0x03, 0x0d, 0x0a



		送信電文の 一部に、 ; もしくは # を付加すると注釈として解釈され、
		以後の電文は送信されません。(リマーク機能)

		ex)
		1,2,3, ";#", 4, ;,5, 6

		01 02 03 23 3B 04 という電文が送出され ; 文字以降は送出されません。 
		
		
	4:送信　(HEXログ形式)

		画面上部の入力枠に送信したい内容を入力して、Sendボタンを押すと送信されます。
		HEX画面 で送受信された内容を そのまま 利用するために設けた機能です。

		HEX画面で、該当行をダブルクリックすると、その行を送信枠に取り込むことができます。
		これをそのまま、送信することで、検証作業を簡易に行うことができます。


	5:受信

		データを受信した場合、テキスト表示タブとHEX(16進)タブに入力結果が表示されます。
		通信設定で指定した改行待ち時間が経過すると強制的に改行が行われます。
		また、指定したデリミタを受信した際に改行するようにも設定できます。
		画面上の受信時終端 から 利用したいものを選びます。

		デリミタ設定
		選択できるのは以下の７項目です

			NONE
			終端判定を行いません

			CR
			CR (0x0d) を検出したら改行処理を行います。

			LF
			LF (0x0a) を検出したら改行処理を行います。

			CR+LF
			CR,LF (0x0d,0x0a) の組を検出したら改行処理を行います。

			ETX
			ETX (0x03) を検出したら改行処理を行います。

			ETX+1
			ETX (0x03) と 続く１バイトを検出したら改行処理を行います。
			主に、ETX後のCRCやBCCがバイナリで送られてくる場合に使用します。

			ETX+2
			ETX (0x03) と 続く１バイトを検出したら改行処理を行います。
			主に、ETX後のCRCやBCCがキャラクタで送られてくる場合に使用します。



	6:特殊送信（連続送信）

		送信につかう電文を予め用意しておき、一定間隔で送信する機能です。
		送信間隔は、予め通信設定画面の 『連続送信間隔』の欄に設定しておきます。

		メイン画面で 『送信リスト』ボタンを押し、送信リスト画面を表示します。

		この画面では、送信リストの選択行をダブルクリックもしくはEnter押し下げにより指定行を送信できます。
		送信ボタンでも指定行を送信できます。
		連続送信は、送信を開始したい行を選択状態にしてから、『連続送信』ボタンを押すことで一定間隔で送信することができます。

		送信に使うファイルは、通常のテキストファイルです。(UFT8)
		混在形式かHEXログ形式のいずれかで生成してください。
		初期状態では、送信ログファイル(SendList.txt)が指定されています。

		連続送信のサンプルとして、 HTMLレスポンスのサンプルを
		   testResponse.txt
		として、添付しています。
		TCP/IP サーバーモード(ポート 80) で動作させて、
		Webブラウザから、
		   localhost
        としてアクセスしてみてください。
　　　　リクエストがきたら、送信リスト画面を表示して、１行目を選択後
        連続送信ボタンを押してください。
        ブラウザ側に表示がされるとおもいます。		
		
		また、R1.00.4 以降のバージョンでは、
			ファイルのドロップ受け入れ
			クリップボードからのペースト
		にも対応しました。
		ログ表示ボックスに、テキストファイルをドロップすると、そのファイルを連続送信します。
		また、CTRL＋Vで、クリップボードにあるテキストを送信します。


	7:送受信ログファイル

		送受信の結果は、実行ファイルとおなじフォルダ内に

		LogText.txt
		LogHex.txt

		という二つのファイルに保存されます。
		自動で保存されます。
		また、１ファイルの最大を制約するため、65536行を超えた場合、

		0000_LogText.txt
		0000_LogHex.txt

		のように連番を付与して、自動でバックアップを生成し、ログクリアを行います。


三、アンインストール

このソフトのは、レジストリをつかっていません。
インストール時にコピーしたファイルを全部消してください。


四、情報

このソフトはフリーウエアです。
著作は、作者である私(t.noguchi)が保有しています。
転載する場合にはメールでの連絡をお願いします。
また、配布にあたってはオリジナルのアーカイブのまま行ってください。
本プログラムを使用することによって起きる損害等について、著作者はいっさい責任を負いません。
バグ，質問，要望は下記メールアドレスにて行ってください。


五、謝辞

このソフトは、自分が業務上、必要に駆られてつくったソフトですが、それまでは
飛龍＋＋氏（Vector ソフトウェア作者ページ）
の作成されたシリアルコマンドエクスプローラ２を利用していました。
非常に高機能で扱いやすいソフトで非常に重宝していました。
このソフトがなければ、こういう発想には至らなかったとおもいます。
この場を借りて感謝の意を表したいと思います。


六、情報＆連絡先

E-Mail : nesworks2025@gmail.com
URL : https://mdrtech.web.fc2.com/


七、改変履歴
R1.00 (2024.09.10) 初版完成
R1.00.1 (2024.09.11): 送信リストのアイコンが未設定だったのを修正
                      送信リストサンプルとして、HTMLレスポンスを添付
                      送信リストの送信ボタンが機能しないバグfix
                      送信リストの送信ボタンがファイル名に隠れるのを防止
                      送信時にポートオープンでなくても、送信完了したことになっていたのを修正
R1.00.2 (2024.09.13): 送信タイプにプレーンテキストを追加
                      送信デリミタ設定を追加
R1.00.3 (2024.09.25): 表示座標を覚える機能追加
                      接続されていないDISPLAY領域の場合は０，０に戻すように。
R1.00.4 (2024.09.26): ファイルからのドロップ受け入れ、ペースト処理に対応
                      送信リストからの送信もファイルドロップ処理の内容に統合
R1.00.5 (2024.10.02): CRC計算プログラムをメニューから呼び出しできるように。
R1.00.6 (2024.10.24): 送信リスト画面で前回のファイル名が存在しないときエラーになるバグを修正 (Thanx 中園さん)
R1.00.7 (2024.10.26): 送信リスト画面で連続送信ボタンが連続して押せないのを修正(未公開)
R1.00.8 (2024.10.30): 送信リスト画面で連続送信の繰り返し処理を追加   (Thanx 中園さん)
R1.00.9 (2026.01.13): バイナリ送信でコメントアウト除外を設定   (Thanx 樋口さん)
                      タイトルをNES表記に変更
R1.00.10 (2026.02.18): ドラッグアンドドロップで テキスト出力するとハンドルエラーが発生するバグFix (Thanx こんにゃくさん)

