多段応答(起動シーケンス装置)

START を 1 通受けると、ACK→BOOT 25/50/75/100%→READY を順に返す起動シーケンス装置を再現。1 要求 1 応答では表せない「1 要求 → 複数応答」をオートメーションの多段ステップで実現します。

TCP 96001要求 → 6応答UTF-8ステップ遅延 300ms

概要

START を 1 通送ると 6 パケット返ってくる」起動シーケンスをオートメーションで再現するサンプルです。

応答ルールでは 1 往復しか表現できない「1 要求 → 複数応答パケットを遅延付きで順に送る」を、パケット一致トリガーと多段ステップで実現する方法を学べます。

多段応答サンプルのオートメーション
オートメーションタブ:トリガー「一致 START」、ステップ数 6 の多段応答オートメーション

機器構成

単一の TCP サーバセッション。クライアント(CommSim.Sample のシナリオ「Automation」や telnet 127.0.0.1 9600)が START を送ります。

クライアントテスト対象アプリ
CommSim起動シーケンス装置(9600)

通信フロー

START 1 通でオートメーションが発火し、6 パケットを定義順(各約 300ms 間隔)に送信します。

  • Client →START\r\n
  • ← CommSimACK START\r\n300ms
  • ← CommSimBOOT 25%\r\n300ms
  • ← CommSimBOOT 50%\r\n300ms
  • ← CommSimBOOT 75%\r\n300ms
  • ← CommSimBOOT 100%\r\n300ms
  • ← CommSimREADY\r\n即時

想定プロトコル

改行終端のテキストコマンド。バイナリ構造を持たないため、フレーミングは「なし」(1 受信=1 メッセージ)です。

要求   START\r\n
応答   ACK START\r\n / BOOT 25%..100%\r\n / READY\r\n

使用する機能

パケット一致トリガー

Contains START で発火(環境差を吸収)

多段の送信ステップ

6 ステップを 1 オートメーションに並べて順送信

ステップ遅延

各 300ms で進捗が順に届く様子を再現

設定内容

プロジェクト設定

既定データ形式UTF-8(テキスト)
フレーミング方式なし(None)
セッションTCP サーバ / ポート 9600

オートメーション

トリガー種別 / 一致パケット一致 / Contains START
繰り返しなし

送信ステップ

  • Send +300msACK START\r\n
  • Send +300msBOOT 25%\r\n
  • Send +300msBOOT 50%\r\n
  • Send +300msBOOT 75%\r\n
  • Send +300msBOOT 100%\r\n
  • Send 即時READY\r\n
同じ「複数パケット送信」でも、接続した瞬間に送るなら接続時トリガー、一定間隔で繰り返すなら周期トリガー。ここでは「特定の要求を受けたら」なのでパケット一致を使います。
開き方:samples/automation-multistep/automation-multistep.commsim を「ファイル」→「開く」(Ctrl+O)。起動後、START を含むテキストを送ると 6 パケットが順に返ります。

他のサンプルも構成・フロー付きで解説しています。

サンプル集へ戻る