同梱のサンプルプロジェクトを開くと、構造体定義・オートメーション・バイナリ構造応答が設定済みの状態で読み込まれます。付属のサンプルアプリを通信相手にすれば、実機なしで往復の動作を確認できます。各サンプルの目的・構成・使っている機能を解説します。
下のタブでサンプルを切り替えて、スクリーンショットと解説を確認できます(画像はクリックで拡大)。さらに詳しくは「このサンプルを詳しく見る」から、機器構成や通信フロー・設定内容まで解説した各サンプルのページへどうぞ。
制御機と配下 3 機器を 1 プロジェクト・4 セッションで同時に再現。受信した要求は構造体としてフィールドに分解・パースされ、状態に応じた応答を自動で返します。複数機器を相手にする制御アプリを、実機なしで開発・デバッグできます。
このサンプルを詳しく見る
メール送信クライアントのテスト相手として、SMTP サーバの応答(220 グリーティング → EHLO/MAIL/RCPT/DATA への 250・354・221)を再現します。
バイナリではなくテキスト行プロトコルを、構造体定義もスクリプトも使わずオートメーション(接続時グリーティング+パケット一致応答)だけで組み立てる最小の例です。「行が来たら行を返す」という最も基本的な流れを理解するのに適しています。
このサンプルを詳しく見る
「電源投入で起動シーケンスを流す装置」を模擬します。クライアントが START を 1 通送ると、ACK → BOOT 25% → 50% → 75% → 100% → READY を一定間隔で順に返します。
1 つの受信トリガーに対して複数メッセージを時間差で送る「1 要求 → N 応答」を、オートメーションの繰り返し送信で表現する例です。
このサンプルを詳しく見る
STX+Type+Length+Payload+CRC-16/CCITT という独自バイナリフレームでやり取りするセンサ機器を再現します。
可変長 Payload のフレーミングと、応答時の CRC 自動計算・付与を構造体定義(メッセージ構造)で組む例。独自プロトコルのバイナリ機器をスタブ化する基本パターンを一通り押さえられます。
このサンプルを詳しく見る
産業系で広く使われる Modbus/TCP のスレーブ(サーバ)を再現します。FC03(保持レジスタ読出)/FC04(入力レジスタ読出)/FC06(単一レジスタ書込)の各ファンクションに、MBAP ヘッダ込みで正しく応答します。
標準プロトコルを構造体応答で再現する実例で、スクリプト版(503)では要求に応じた動的長レスポンスも扱います。
このサンプルを詳しく見る
独自バイナリ LineFrame(STX+Cmd+Len+可変 Payload+8bit 総和)の監視機器。構造体定義でのフレーミング/パース表示と {crc:Sum8} 自動付与を確認できます。
さらに複数日・複数コネクションの採取ログを同梱しているので、アプリを起動しなくてもログビュワー(機器フィルタ・複数日マージ・タイムライン)の機能をその場で試せます。
このサンプルを詳しく見る
SSDP 型のディスカバリ機器を再現します。マルチキャストグループ宛の DISCOVER を受け取り、機器情報を送信元へユニキャストで返します。
グループ参加・TTL・応答先の扱いなど、UDP マルチキャスト特有の動作を実機なしで確かめられます。
このサンプルを詳しく見る
ブロードキャスト宛の WHO 探索に機器情報を返すディスカバリ応答。LAN 内をブロードキャストで探索するクライアントの相手役を実機なしで立てられます。
マルチキャスト版と対になる UDP 探索の例です。
このサンプルを詳しく見る
シリアル(RS-232C / USB-シリアル)で通信する計測器・機器の相手役を実機なしで立てられます。SCPI 風の *IDN? / MEAS? / RST にオートメーションで応答します。
TCP/UDP と違い localhost が無いため、仮想 COM ペア(com0com 等)を用意し、その片側を CommSim で開きます。障害注入・録画リプレイ・構造体応答もシリアルで同じように使えます。
このサンプルを詳しく見る
「たまに動かない」を数字で言い切るための題材です。機器 2 台(在席センサ・ゲート制御装置)を CommSim が演じ、テスト対象アプリが 2 本の接続で相手をします。センサの応答遅延を 0〜400 ms で掃引すると、遅延の大きいランだけが FAIL になります(無人のフロアでゲートが開く)。
失敗したランは同じシードで何度でも再現でき、失敗条件・判定の根拠・再現手順を含むレポート(HTML/JSON)をそのまま不具合票に添付できます。
このサンプルを詳しく見る.commsim を開きます。構造体定義だけを再利用したい場合は .commsim-struct をインポートできます。スクリプト版は初回に有効化バナーから許可が必要です(→ 有効化)。自分で組み立てたいなら、使いどころ別の例から始めるのが近道です。
使いどころの例を見る