スクリプト応答の編集

概要

オートメーションの送信ステップ種別を Script にしたときに開くダイアログです。受信内容に応じて応答バイト列を C# コードで動的に生成します。固定値(テンプレート)や固定構造(バイナリ構造応答)では表現できない、計算・条件分岐・状態保持(カウンタ等)を伴う応答に使います。

スクリプト応答の実行(インライン C#)は Phase 1 で利用可能です。プロジェクト設定で「スクリプト応答を有効にする」をオンにしてから使用してください。実行時の挙動・対応範囲は スクリプト応答 を参照してください。

開き方

この画面も開いたままセッション画面を操作できます。ログペインで実際の受信バイト列を見ながらコードを書けます。同じステップの編集画面は 1 つだけ開きます。

この画面を開いている間、呼び出し元の オートメーション編集 は「OK」で確定できません。先にこちらで「OK」または「キャンセル」を押してください。オートメーション編集の側を閉じると、この画面も一緒に閉じます。

画面項目

項目 説明
コードエディタ 応答を生成する C# コードを記述する。byte[]return すると送信、null を返すと送信なし
構文チェック結果 記述したコードの構文エラーの有無を表示する
タイムアウト上書き(ms) このステップだけスクリプト実行のタイムアウトを上書きする(空ならプロジェクト既定値を使用)

使える変数

変数 内容
Received(byte[])受信した生バイト列
ReceivedHex / ReceivedText受信データの HEX 文字列/UTF-8 テキスト表現
Iteration繰り返し実行時の周回カウンタ
Endiannessプロジェクトのエンディアン設定
Parsed構造体パース結果(フィールド値)。構造体定義があれば供給・未構成時は null
Stateセッション内で共有される状態オブジェクト(カウンタ等の保持に使う)
Log("…")ログに任意のメッセージを出力する

ヘルパ

  • Hex("AA 01") … HEX 文字列を byte[] に変換
  • Utf8("OK") … 文字列を UTF-8 の byte[] に変換
  • Concat(...) … 複数の byte[] を連結

記述例(受信したテキストに OK を付けて返す):

return Utf8("OK " + ReceivedText);

使い分け: 固定値 → テンプレート / 固定構造 → バイナリ構造応答 / 計算・条件分岐・状態 → スクリプト。

関連ページ