0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DIR Simulatorガイド 02:Viewerで結果を読む

0
Last updated at Posted at 2026-10-17

連載の入口:DIR Simulatorの紹介 | 第02回 / 全37回

前の記事:第01回 初めてのCAN実行 / 次の記事:第03回 設定・用語・FAQ


目的

生成した結果から「どの要求が、いつ送られ、誰が受信したか」を読めるようにします。最終結果と選択時刻の状態を区別し、予定のEOFを実際の完了と取り違えないことが目標です。

構成と責務

領域 何を読むか
再生・時刻操作 観測期間の中で現在見る時刻を選ぶ
ノードとパケットの流れ ControllerとBusの接続、通信方向
通信タイムライン 実行全体の送信、待機、間隔、RX処理
現在のノード状態 選択時刻までに確定したキューと通信状態
要求一覧 要求ID、送信元、現在の状態、実行全体の時刻
要求の詳細 選択要求の生成・SOF・EOF・解放・受信と元レコード

Viewerは保存結果を読むツールです。設定を変えて新しい通信結果を生成する処理はrunの責務です。画面内で時刻を変えても結果ファイルは変わりません。

接続と処理フロー

run → results.json → view → 結果とCSS/JSを埋め込んだ単独HTML
                              → ブラウザ内で読込と状態復元
                              → 時刻選択 → 確定済み状態と通信方向を表示

ブラウザ表示にRustやNode.jsは不要です。単独HTMLだけを渡しても同じ保存記録を読めます。ただし結果と入力snapshotがHTMLに入るので、共有前に内容を確認します。ここで使うデータは公開サンプルだけです。

最小実行例と設定

初めてのCAN実行で作成した結果を使います。

./target/debug/dir-simulator view --input results-guide-minimal/results.json --output guide-read-viewer.html

guide-read-viewer.htmlを開きます。既存ファイルは上書きしないので、新しい名前にしてください。「結果ファイルを開く」または1ファイルのドロップで別のresults.jsonへ切り替えられます。

結果と実画面:238µsを読む

  1. 時刻の表示単位をµsにします(初期値)。
  2. 「時刻を指定」に238を入力し「移動」を押します。
  3. 要求一覧でa:0を選びます。SOFは0µs、EOFは238µsです。
  4. 要求詳細でMain.bとMain.cの受信が238µsと確定したことを確認します。
  5. b:0はまだSOFに達していません。Busは3bitの間隔中で、次のSOFは244µsです。

238µsに移動したViewer。aの送信完了と受信、bとcの待機を読む

撮影条件:最小例、238µs、画面幅1,440px。選択時刻で確定する状態と、タイムラインに保存された全体記録を分けて読みます。例えばb:0のEOF列に400µsが見えても、238µs時点でbの送信が完了した意味にはなりません。

「次のイベント時刻」で244µsへ進むとbが送信を開始します。「前のイベント時刻」でも移動先の直前区間を同じ通信方向で再表示します。時間を戻す操作が、逆方向の物理通信を作るわけではありません。

「▶ 再生」は線を青(Controller→Bus)・橙(Bus→Controller)で強調します。ステップではメッセージが移動します。1×は観測期間全体を約8秒で表示する画面速度で、CANの実時間ではありません。同時刻の内部イベント順を逐次再現するものでもありません。

実験:1設定を変える — 表示単位をµsからnsへ

シミュレーション入力を変えず、Viewerの「時刻の表示単位」だけをnsへ切り替えます。同じ238µsが238,000nsとして表示され、ps欄は238,000,000psのままです。要求の送信・受信状態も同じです。

この実験で変わるのは単位表示です。入力する数値にも選択単位が適用されるので、nsを選んだあとに238を入力すると238nsへ移動します。238µsを指定するなら238000を入力します。ps整数へ換算できない値や観測期間外の入力はエラーになります。

ビットレート変更の別結果は「結果ファイルを開く」でresults-guide-fast/results.jsonを選びます。これが設定変更を結果へ反映する手順です。

制約と関連機能

タイムライン描画は最大500区間、要求一覧は75行ずつです。省略表示やページ移動は母数を変えません。未到達の予定EOF・解放・受信を実績として補いません。partial: trueの結果では「部分結果」を確認し、未確定時刻を完了として数えないでください。

ガイドの基準版v1.1.3はCAN/Gatewayのほか、同版に収録されたEthernet profile、CAN FD外部位相bit数、AXI/SoC/AHB/NoC/メモリ・IPCの初期transaction profileへも対応しています。モデルにより専用画面とレコードが切り替わります。このページの操作と数値の検証はClassical CAN最小例です。

接続の読み方は初めてのCAN実行、送信順の理由はCANの調停、エラーへの対処は設定・用語・FAQを参照してください。


原稿出典:DIR Simulator v1.1.6 の元原稿。原稿版:1.1.1。対象GitHub版:v1.1.4。

元ガイド / ガイド一覧

Copyright (c) 2026 DIR Simulator contributors。MIT OR Apache-2.0。LICENSE / MIT / Apache-2.0

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?