プロジェクト設定
概要
プロジェクト全体(全セッション共通)の各種設定をまとめて変更するダイアログです。メニュー「プロジェクト」→「プロジェクト設定…」から開きます。設定は「通信データ」「入出力」「表示・スクリプト」の 3 つのタブに分かれており、目的の設定に素早くたどり着けます。
タブ構成
| タブ | 内容 |
|---|---|
| 通信データ | 既定データ形式・エンディアン・フレーミング方式と詳細項目 |
| 入出力 | 採取ログ・エクスポート(CSV/JSONL)・シナリオの保存先フォルダ |
| 表示・スクリプト | ログ/キャプチャの最大表示件数・スクリプト/プラグイン設定 |
「通信データ」タブ
フレーミング方式を変更すると、その方式に関係しない設定項目グループは自動的にグレーアウト(編集不可)になります。
既定データ形式
新規に作る項目(ルール・送信ステップなど)の初期エンコーディングです。各セッションの「データ形式」で個別に上書きできます。
| 選択肢 | 説明 |
|---|---|
| UTF-8 | テキスト(UTF-8 エンコーディング)として扱う |
| ASCII | テキスト(ASCII エンコーディング)として扱う |
| RawHex | バイナリとして扱う(HEX 文字列で入力・表示) |
エンディアン
数値フィールド(U16 / I32 / F32 などの多バイト整数)を解釈するバイト順序です。接続する機器の仕様に合わせます。
| 選択肢 | 説明 |
|---|---|
| LittleEndian | 下位バイトが先(x86 系に多い) |
| BigEndian | 上位バイトが先(ネットワークバイトオーダー。多くの組み込み機器) |
フレーミング方式
TCP はバイトストリームのため、「どこからどこまでが 1 メッセージか」を決める必要があります。UDP は通常 None で問題ありません。
| 選択肢 | 説明 | 有効になる詳細項目 |
|---|---|---|
| None | 区切らない。受信したチャンクをそのまま 1 メッセージとして扱う | なし(詳細項目はすべてグレーアウト) |
| LengthPrefixed | ヘッダ内の長さフィールドでメッセージ長を判定する(最も一般的) | 共通ヘッダ長 / 長さフィールド: オフセット・サイズ / 長さ基準 / 長さ補正 |
| FixedLength | 毎回同じバイト数を 1 メッセージとして切り出す | 固定メッセージ長 |
| Delimiter | 区切りバイト列が出現するまでを 1 メッセージとして切り出す | デリミタ HEX |
LengthPrefixed 選択時の詳細項目
フレーミング方式が LengthPrefixed のときのみ編集できます。それ以外を選択するとグレーアウトされます。
| 項目 | 説明 |
|---|---|
| 共通ヘッダ長(バイト) | 長さフィールドより前にある固定ヘッダのバイト数。全定義に共通する先頭固定部分を指定する |
| 長さフィールド: オフセット | メッセージ先頭から長さフィールドの開始位置までのバイト数 |
| 長さフィールド: サイズ | 長さフィールド自体のバイト数(1 / 2 / 4 など) |
| 長さ基準 | 長さフィールドの値が示す範囲。選択肢: WholeMessage(メッセージ全体のバイト数)/ AfterLengthField(長さフィールド直後からの残りバイト数)/ BodyAfterHeader(共通ヘッダ以降のバイト数) |
| 長さ補正 | 長さ基準に対する加算補正値(±整数)。プロトコルの計算方法とずれる場合に使う |
FixedLength 選択時の詳細項目
フレーミング方式が FixedLength のときのみ編集できます。
| 項目 | 説明 |
|---|---|
| 固定メッセージ長(バイト) | 1 メッセージとして切り出すバイト数 |
Delimiter 選択時の詳細項目
フレーミング方式が Delimiter のときのみ編集できます。
| 項目 | 説明 |
|---|---|
| デリミタ HEX | 区切りバイト列を HEX 文字列で指定する(例: 0D 0A = CR+LF) |
「入出力」タブ
採取ログ・エクスポート(CSV/JSONL)・シナリオ(.commscenario)それぞれの保存先フォルダをプロジェクト単位で設定します。
空欄のままにすると、プロジェクトファイルと同じフォルダ内の既定フォルダ名(
logs/exports/scenarios)に保存されます。相対パスを入力するとプロジェクトフォルダ基準で解決されるため、プロジェクトをフォルダごと別の場所に移動しても正しく解決されます(ポータブル)。
| 項目 | 説明 |
|---|---|
| 採取ログ保存先 | 通信セッション開始時に記録される .commsimlog ファイルの出力フォルダ。空欄で既定 logs。 |
| エクスポート先 | ログビュワーから CSV / JSONL を書き出すときのダイアログ初期フォルダ。空欄で既定 exports。構造体定義エクスポート(.commsim-struct)は対象外。 |
| シナリオ保存先 | リプレイタブでシナリオ(.commscenario)を保存・読み込むときのダイアログ初期フォルダ。空欄で既定 scenarios。 |
各欄の操作
| ボタン | 動作 |
|---|---|
| 参照… | フォルダ選択ダイアログを開いて絶対パスを設定する。 |
| フォルダを開く | 現在の解決先フォルダをエクスプローラーで開く。フォルダが存在しない場合は自動的に作成してから開く。 |
入力欄の下には解決後の実フルパスが淡色で表示されます。プロジェクトをまだ保存していない場合は「(プロジェクト未保存のため未確定)」と表示されます。
採取ログ保存先を変更したときの注意
採取ログ保存先を変更して OK を押すと、変更後の新規記録から新しいフォルダへ書き込まれます。変更前に記録した過去日の .commsimlog ファイルは元のフォルダに残り、自動的には移動しません。変更直後にアプリ内で変更を告知するメッセージが表示されます。
アプリ設定(設定ダイアログ「ログ設定」)の「保存先フォルダ」はプロジェクト横断の固定上書きです。この入出力タブのプロジェクト設定が空欄のときのみ有効になります。プロジェクトごとに保存先を変えたい場合はこの入出力タブの設定を使うことをお勧めします。
「表示・スクリプト」タブ
表示件数上限
ログペインに保持する行数の上限をプロジェクト単位で設定します。超過分は古い順に削除されます。
| 項目 | 説明 |
|---|---|
| ログ最大件数 | ログペインに表示する最大行数(既定: 1000) |