スクリプト応答の編集
概要
オートメーションの送信ステップ種別を Script にしたときに開くダイアログです。受信内容に応じて応答バイト列を C# コードで動的に生成します。固定値(テンプレート)や固定構造(バイナリ構造応答)では表現できない、計算・条件分岐・状態保持(カウンタ等)を伴う応答に使います。
スクリプト応答の実行(インライン C#)は Phase 1 で利用可能です。プロジェクト設定で「スクリプト応答を有効にする」をオンにしてから使用してください。実行時の挙動・対応範囲は スクリプト応答 を参照してください。
開き方
- オートメーション編集で送信ステップを追加し、種別を Script にして編集する
この画面も開いたままセッション画面を操作できます。ログペインで実際の受信バイト列を見ながらコードを書けます。同じステップの編集画面は 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);使い分け: 固定値 → テンプレート / 固定構造 → バイナリ構造応答 / 計算・条件分岐・状態 → スクリプト。
関連ページ
- 画面一覧
- スクリプト応答(記述方法・実行時の動作の詳細)
- オートメーション編集 / オートメーション