仕様一覧

CommSim を使ううえで設定・把握しておく値や選択肢の一覧です。

通信

項目選択肢
プロトコルTCP / UDP
接続サーバ(待ち受け)/ クライアント(接続しに行く)
UDP 通信種別ユニキャスト / マルチキャスト / ブロードキャスト(UDP のみ)
マルチキャスト応答先送信元へユニキャスト / グループへマルチキャスト(マルチキャスト時)
マルチキャスト TTL1〜255(既定 1=同一サブネット)
データ形式(エンコーディング)UTF-8 / ASCII / RawHex(バイナリ HEX)

フレーミング(TCP ストリームの区切り方)

方式区切り方設定する項目
None区切らない(受信したまとまりを 1 メッセージ扱い)
LengthPrefixedヘッダ内の長さフィールドで判定共通ヘッダ長/長さフィールドのオフセット・サイズ/長さ基準/長さ補正
FixedLength毎回同じバイト数固定メッセージ長
Delimiter区切りバイト列までデリミタ HEX(例 0D 0A

フレーミング詳細パラメータ

パラメータ説明
エンディアンBig(上位バイトが先)/ Little(下位バイトが先)
長さ基準メッセージ全体長 / 長さフィールド以降の長さ / 共通ヘッダ以降のボディ長
長さ補正長さフィールドの値と実際のバイト数の差を補正(正負の整数)
プロジェクト設定では、選んだフレーミング方式に関係しない項目は自動的に無効(グレーアウト)になります。

構造体定義(フィールド)

項目選べる値
フィールド型 u8〜u64 / i8〜i64(符号付き)/ f32・f64(浮動小数点)/ ascii(文字列)/ hex(生バイト)/ bcd(パック BCD)/ array(配列)/ nested(入れ子)
役割 None / Length(長さ)/ Checksum(チェックサム)/ Discriminator(判別)

条件・応答

項目内容
フィールド条件の演算子= / / > / < / / (すべて満たすとマッチ=AND)
オートメーションのトリガー手動 / パケット一致 / 接続時 / 周期
パケット一致の方法Exact(完全一致)/ Contains(部分一致)/ StartsWith(前方一致)/ Regex(正規表現)/ HexPattern(HEX バイト列)
送信ステップの種別Send(送信)/ WaitReceive(受信待機)/ Delay(待機)/ Forward(上流へ転送)/ Script(C# スクリプト応答)
繰り返しなし / 指定回数 / 無限(周期トリガーでは「無限」は選べません。ティック自体が繰り返しのため)

送信テンプレート記法

オートメーションの送信ステップ(テンプレート使用時)

記法意味
{len:N}メッセージ全体の長さを N バイトで埋める
{crc:種別}チェックサムを計算して埋める
{echo:オフセット:長さ}受信データの一部をそのまま返す
{seq}繰り返しの回数カウンタ
{time:書式}現在時刻
{rand:N}N バイトの乱数

バイナリ構造応答(構造体ルール)の応答テンプレート

記法意味
AA BB …リテラル HEX(そのまま出力)
{field:名前}受信メッセージの該当フィールド値をエコー
{len:N}メッセージ全体の長さを N バイトで埋める
{crc:種別}チェックサムを計算して埋める

チェックサム種別

種別説明
Crc16CcittCRC-16/CCITT(初期値 0xFFFF、多項式 0x1021)
Crc16ModbusCRC-16/Modbus(初期値 0xFFFF、多項式 0xA001)
Sum88 ビット加算チェックサム
Sum1616 ビット加算チェックサム
Xor88 ビット XOR チェックサム

ログ・ファイル

項目仕様
ログの画面表示セッションごとに最新 1000 件(超えると古い順に消える)
ログのファイル形式CSV / JSONL(両方同時出力も可)
ログファイルの最大サイズ1〜1024 MB(超えると新しいファイルに切り替え)
プロジェクトファイル.commsim(任意の場所に保存・読込)。スクリプトステップを含む場合は formatVersion: 5、含まない場合は formatVersion: 4
構造体定義ファイル.commsim-struct(インポート/エクスポートで共有)
スクリプトタイムアウトプロジェクト既定: 1000 ms。ステップ単位で上書き可能
スクリプト応答サイズ上限1 MiB(超えた場合は送信せずログに通知)