シリアルデバッグツール２

一、概略
    いまでは標準では搭載されなくなりつつあるCOMポートですが、
    生産現場では簡易に使うことのできる、デバイスであることは変わっていません。
    しかし、WindowsVistaからは、ハイパーターミナルさえなくなってしまっている
    のが現状です。
    そこで、シリアル通信アプリケーションをデバッグするときに必要とされる
    最小限の機能を盛り込んだソフトをつくってみました。
    基本的には、シリアル通信用モニタソフトですが、  通常のシリアル通信ソフトとちがうのは
    ＨＥＸ、ＤＥＣ、テキストの３画面での通信確認ができることです。
    これにより、バイナリデータを含むデータの送受信をおこなうことが可能となっています。
   
二、使い方
    １、受信
        ソフトの起動とともに、受信待ちの状態になります。
        自動的に前回の通信状態を復帰させて受信状態になり、
        状況は右側パネルにポート番号などの情報が表示されます。
        変更する場合は[メニュー]-[設定]-[通信設定]から変更できます。

        受信データは、黒いボールド文字でログエリアに追記されていきます。
        改行の条件は改行指定の内容に依存します。
        CRおよびCR/LFが指定された場合は、これを受信したとき、または、改行待ち時間
        を経過したときに改行します。
        「なし」が指定された場合には、改行待ち時間の設定ごとに改行されます。
        改行待ち時間は、[メニュー]-[設定]-[通信設定]から変更できます。
        また、DTR信号とRTS信号に関しては該当ランプをシングルクリックすることで 
         Ｏｎ／Ｏｆｆ制御できます。
    
    
    ２、送信
        バイナリ値を含む、データの送信を可能にするため、
        標準状態では通常の通信ソフトとはちょっと異なる方法で記述します。
        文字列を送信したい場合には、対象文字列を、”(ダブルコーテーション)でくくって
        入力します。
        たとえば、相手端末に   「Hello!」    と送信したい場合、

        "Hello!"

        と入力し、Enterキーを押すか、混在送信ボタンを押してください。
        これで完了です。

        では、改行コードも送りたい場合はどうでしょう。そのときは、

        "Hello!",0x0d,0x0a

        もしくは

        "Hello!",13,10

        と入力してください。わかりましたか？
        つまり、送りたいデータは、カンマで区切ってどんどんつなげて送信すれば
        よいわけです。書式は以下のとおりです。

              1.  文字列として送出したい場合にはダブルコーティションでくくる

              2.  送出したいデータはカンマで区切る

              3.  数値に関しては１０進もしくは１６進数で指定する。

              4.  １６進数の場合は数値の前に0xを付加する

        ということになります。



    ２、特殊送信
        バイナリを含む混在送信は、電文作成のときには重宝しますが、
        平文を単純に送りたい場合には若干面倒です。
        そこで、「そのまま送信」ボタンが設置されています。
        このボタンは、入力枠の内容をそのまま文字列として送信します。

         "Hello!",0x0d,0x0a

        のように入力されているときにこれを押すと、そのまま出力します。


        先に説明した、混在送信にはリスト形式という方法もあります。
        これは、送受信ログの内容形式に従って、送信する方法です。
        受信ログの任意の行をダブルクリックすると、その行内容が送信枠に
        コピーされます。あとは、リスト形式と、どのタイプのデータであるかを
        選択して、混在送信ボタンを押すと、形式に従った送信が行われます。

        また、ログファイルを利用して、送信する連続送信もあります。
        多数のデータ電文を一括で送りたいときに利用します。

※ログ色分けなしモードの利用
  標準状態では送信と受信文字列を識別できるように色分けして表示するモードに
  なっています。
  しかし、これによって、処理速度の低下がさけられないので、気になる場合は
  メニューの「設定」からログ色分けモードのチェックを外してみてください。
  色分けがなくなるかわりに、若干高速化します。

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

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

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


六、連絡先
  E-Mail : mdr19944@mbox.kyoto-inet.or.jp
  URL    : http://web.kyoto-inet.or.jp/people/mdr19944/index.html


七、改変履歴
R 2.03.3  すべてのタブが表示されていない場合にエラーになるのを修正  > Thanx こばやしさん
          連続ログ送出の待ち時間を０にできるように修正
          すべてのタブが非表示の場合はログ自体を記録しないようにして速度向上

R 2.03.2  半角”ソタチネノミムリル”が表示できないのを修正(iswgraph処理を排除) > Thanx 恵比須さん

R 2.03.1  デバッグボタンが表示されていたのを修正 > Thanx 相原さん

R 2.03.0  連続送信処理に送信待ち時間が設定できるように変更 > Thanx 相原さん
          フォント色/背景色を選択できるようになった > Thanx 相原さん

R 2.02.c  送信文字色が正しく展開されなかったのを修正

R 2.02.b  受信タイムアウトの処理が正しく動作していないのを修正その２

R 2.02.a  受信タイムアウトの処理が正しく動作していないのを修正

R 2.02.9  ログリスト形式でテキスト送信がうまく動作しなかったのを修正 > Thanx 平山さん

R 2.02.8  CPU占有率を下げるため、送信用の補助スレッドをメインに移して、完全停止
          スレッド改良したときの受信文字列処理にバグがあったのを修正

R 2.02.7  送信リスト保存で１クッションおかれてしまう状況を改善    > Thanx 平山さん
          通信処理を改訂し、CPU占有率を下げてみた > Thanx 間下さん

R 2.02.6  画面表示を行単位ではなく、文字単位でも行うようにした(見かけ上の処理速度向上)

R 2.02.5  EOF(0x1A)の送出ボタンを新設  > Thanx O'HASHIさん

R 2.02.4  速度の遅いＰＣで切断後の再接続がＮＧになるのを調整その２

R 2.02.3  速度の遅いＰＣで切断後の再接続がＮＧになるのを調整

R 2.02.2  ＣＯＭポート設定の部分を一部修正(Multiplier)
          タイマー周期をすこし遅く

R 2.02.1  送信型式＆タイプも起動時復元するように修正   > Thanx 平山さん
          リスト変更や保存の際に上書き確認ダイアログを表示するように修正  > Thanx 平山さん

R 2.02.0  受信タイムアウトの設定をus単位でもできるように修正 > Thanx 中島さん

R 2.01.2  Memo表示の場合に入力規制が入っていなかったのでこれを付加

R 2.01.1  HEX表示枠の大文字小文字をセレクトできるように修正  > Thanx 有吉さん

R 2.01.0  通信ルーチンを非同期ＩＯ操作に変更(高速化)
          任意フォルダにログ生成可能に処理変更
          色分けなしモードの場合はMemoコンポーネントに替えるように変更（高速化）

R 2.00.a  カーソル位置によっては最新追記行がみえないのを修正
          バイト受信のタイムアウトを微調整

R 2.00.9  カーソル位置により文字アトリビュートが正しく動作しない状況を修正

R 2.00.8  リスト送信枠で選択ないときにエンターキーで例外発生するバグfix
          文字アトリビュートが正しく動作しない状況に対応

R 2.00.7  アトリビュート変更の回数をへらして受信画面展開を高速化

R 2.00.6  受信文字がスペースのときも.に変換されていたのを修正
          送信リストボタンを上部から右枠内に移動

R 2.00.5  送信リスト表示を任意のファイルで行えるように変更
          送信リスト表示をセーブできるように変更
          送信リスト表示で横スクロールバーがテキストエリアをカバーできるように修正
          送信リストの表示をデフォルトにした


R 2.00.4  送信リスト表示の文字を大きくした
          送信リストをMemoからListBoxに変更
          送信リストの表示は常に上位追記型に
          送信リストをDELキーで削除できるように

R 2.00.3  送信リスト表示を追加   ダブルクリックで送信処理を可能に

R 2.00.2  RTSハンドシェイクなしのときのDCB設定値をENABLEに変更
          ログ表示の色わけオプションを設置（色分けにかかる処理時間を省けるように）

R 2.00.1  ヘルプトピックの出力をインデックス指定にもどした
          ダイアログの保存処理のバグfix

R2.00     初版完成。公開！
          SerialDebugTool Ver1.19を１から書き直した。
          送受信部分をクラス化するなど、かなり大胆に書き換えたほか
          表示を統一し、送受信を色分け表示するようにした。
          コンパイラをBDS2006に変更
  

