こんなことができます

実機の代わりになる通信相手を、手元の Windows で。具体的な設定手順は使い方ガイドにまとめています。

基本機能

まずはここから

通信の確認から自動応答、実機との中継まで。まず押さえておきたい中核機能です。

TCP / UDP / シリアル通信とセッション

1 ポート(シリアルなら 1 COM ポート)= 1 セッション。サーバにもクライアントにもなり、送受信をその場で確認できます。

TCP サーバ

ポートで待ち受け。切断後は自動で再待ち受け。

TCP クライアント

指定ホストへ自分から接続しに行く。

UDP

コネクションレス送受信に対応。

シリアル(COM ポート)

RS-232C / USB-シリアル機器の相手役に。仮想 COM ペア越しに実機なしで検証できる。

送受信・システム・エラーを色分けしてリアルタイム表示。 RX 受信 TX 送信 SYS ERR PROXY

メインウィンドウの通信ログ
左にセッション一覧、右にリアルタイム通信ログ

「+ セッション追加」でテンプレートを選ぶだけで、設定済みのセッションをすぐ用意できます。

セッション追加テンプレート選択ダイアログ
テンプレートを選ぶだけで、接続設定とオートメーションが初期値入りで作成される

シリアル(RS-232C / USB-シリアル / RS-485)にも対応。TCP/UDP と違い localhost が効かないため、仮想 COM ペア(com0com 等)でアプリとの接続経路を用意しますが、繋がってしまえばオートメーション・障害注入・録画リプレイ・構造体応答は TCP/UDP と同じ操作感でそのまま使えます。実機との間に挟んで記録するプロキシ(中継)もシリアルで組めます。

シリアル通信をマニュアルで詳しく

セッションと通信をマニュアルで詳しく

オートメーション

トリガー × 送信 × 繰り返し」で、自動応答・接続あいさつ・定期送信・多段シーケンスを 1 画面で扱えます。

手動

ボタンを押したとき

パケット一致

受信が条件に一致したとき(自動応答)

接続時

接続が確立した瞬間(TCP)

周期

指定間隔で定期的に

Send

指定データを送信

WaitReceive

期待データの受信を待つ

Delay

指定 ms 待機

Forward

上流(実機)へ転送

{ }

Script

C# で動的生成

自動応答タブ(①オートメーション・②バイナリ構造応答)
「自動応答」タブでトリガー・繰り返し・ステップ数・実行状態を一覧表示(右はバイナリ構造応答)

長さや CRC は {len} {crc} などのテンプレート変数で自動計算されます。

自動応答や異常系再現などの使いどころと設定例は使い方ガイドへ。

使い方を見る

オートメーションをマニュアルで詳しく

中継とキャプチャ

アプリと実機の間に入り、通信を記録しながら中継。実機でしか起きない不具合の調査・再現に。

テスト対象アプリ
CommSim記録しながら中継
実機上流ホスト:ポート
キャプチャタブ
時刻・方向・注入・HEX を時系列で記録

通信は実機へそのまま転送しつつ、ルールを 1 つ追加するだけで、特定の応答だけを差し替え(フォールト注入)できます。

中継とキャプチャをマニュアルで詳しく

高度な機能

独自バイナリ・動的な応答

CRC 付きの独自プロトコルや、計算・状態を伴う応答が必要になったときに。

メッセージ構造定義

独自バイナリの構造を定義すると、受信ログがフィールド単位に分解されて読めるようになります。

A5 5ASync 2B Unit1B Cmd1B 判別 Length2B 長さ Payload可変 CRC162B
受信例 01 00 00 05 48 65 6C 6C 6F が、Command=01 / BodyLen=5 / Body="Hello" のように分解されます。

メッセージ構造定義をマニュアルで詳しく

バイナリ構造応答

フィールドの値で応答を出し分け。コマンド種別やアドレスごとに、違うバイナリ応答を返せます。

バイナリ構造応答のルール一覧とログのフィールド分解
フィールド条件と計算フィールド応答のルールを優先度順に管理。ログを選ぶと右の詳細ペインでフィールド分解を確認できる
条件と応答テンプレートの具体例は 使い方ガイドModbus サンプルへ。

バイナリ構造応答をマニュアルで詳しく

スクリプト応答

計算・分岐・状態保持が必要な応答は、オートメーションの Script ステップで C# を書いて動的生成。

動的な長さ

要求の数量に応じて応答長を変える

#

状態保持

カウンタやセンサ値を毎回違う値で返す

複雑な分岐

条件ロジックで応答を組み立てる

使える変数・ヘルパの一覧や、状態保持・動的長応答などの実例はマニュアルへ。

スクリプト応答を詳しく見る
自動試験

タイミング依存の不具合を機械的に探す

手で操作していては狙って再現できない、機器どうしのタイミングが絡む不具合のために。

多機器タイミング試験

複数の機器役を 1 本のタイムラインで協調して動かし、遅延・ロス・発火時刻を機械的に振りながら、各回の合否を自動判定します。

機器Aセッション
機器Bセッション
テスト対象アプリ本物
多機器タイミング試験の画面
タイムライン・掃引軸・アサーションを組み、ランごとの合否を一覧で確認

タイムライン

0 ms からの時刻に起動・停止・障害変更・切断を並べる

掃引

遅延・ジッタ・ロス率・発火時刻を全数/ランダムで振る

アサーション

受信有無・順序・所要時間・最終接続状態で合否を宣言

レポート

結果を HTML / JSON で出力。失敗した条件がそのまま残る

たとえば「機器 A の応答が機器 B より遅れたときだけアプリの状態がおかしくなる」というケースで、応答遅延を 0〜500 ms 振って失敗する条件だけを特定できます。ランダム探索はシードが同じなら同じ組み合わせになるため、直したあとの回帰確認にもそのまま使えます。

多機器タイミング試験をマニュアルで詳しく

チュートリアル:タイミング競合を捕まえる

プロジェクト・全体

複数セッションをまとめて扱う

複数のポートを同時に扱い、設定一式を 1 ファイルで保存・復元。

複数セッション

1 ポート=1 セッションを必要なだけ

ポップアウト

別ウィンドウで複数ログを同時監視

プロジェクト保存

.commsim に保存、起動時に自動復元

ログ出力

通信ログを CSV / JSONL で書き出し

言語・テーマ

日本語/英語、ライト/ダーク

具体的な設定手順は使い方ガイドへ。入手はダウンロードページからどうぞ。

使い方を見る ダウンロード