Version date: 2026-02-05
- Single-window WPF app.
- Windows only.
- Single CSV loaded at a time.
- No multi-CSV overlay.
- Visualize Sysmac Data Trace CSV on Windows.
- BOOL signals are rendered as timeline lanes; other typed signals are values at cursor.
- Usability is optimized for BOOL inspection by dedicating the main chart to ON/OFF timelines.
- On CSV load: parse -> build TraceData -> initialize BOOL/Value rows -> apply comments (if found) -> draw chart.
- On cursor move: update cursor position, update value panel, update delta/range band text.
- On visibility or ordering changes: redraw chart and update status text.
- Initial status text (before load):
Load a CSV file to display BOOL timeline and value variables.
- Header row starts with
"Index","Date","ClockTime".... - Columns are
name:type(example:test1:BOOL). - Supported types:
- Timeline chart:
:BOOL - Value panel:
:INT,:BYTE,:WORD,:DWORD,:LWORD,:SINT,:DINT,:LINT,:USINT,:UINT,:UDINT,:ULINT,:REAL,:LREAL,:TIME,:DATE,:TIME_OF_DAY,:DATE_AND_TIME
- Timeline chart:
- Elapsed time is derived from
ClockTime(midnight rollover handled). - Empty or invalid value cells are treated as missing (
-in UI). Dateis optional; when missing, original time display usesClockTimeonly.ClockTimeparsing acceptsHH:mm:ss.fffandmm:ss.fffformats.
- Values are stored as strings;
REAL/LREALare normalized using invariant culture. - Non-numeric or empty cells are treated as missing.
- BOOL values accept
0/1andtrue/false.
- BOOL chart: multi-lane ON/OFF step plot.
- Left name lane: BOOL labels (variable name or comment).
- Right panel: value variables at cursor.
- Bottom panel: variable visibility, color, comments, ordering.
- Hovering a BOOL lane shows ON/OFF state and duration for the contiguous segment.
- Chart axes: pan/zoom disabled; time window is controlled by the horizontal scrollbar.
- Top: menu bar and toolbar buttons (open/export/toggles, cursor swap, change jump).
- Top status bar: current load status text.
- Main area (center):
- Left: BOOL name lane with horizontal scrollbar.
- Center: time chart (OxyPlot).
- Right: value panel (values at cursor).
- Bottom: Variable Settings panel (BOOL/Value visibility, color, comment, order).
- Splitters:
- Between name lane and chart.
- Between chart and right value panel.
- Between main area and bottom panel.
TraceDataElapsedSeconds[],DateTexts[],ClockTimeTexts[]BoolSignals[]: name, bool? values, hasChangeValueSignals[]: name, string? values, hasChange
BoolSignalRow/ValueSignalRow- Display label, comment, visibility, and ordering state.
- Cursor:
- Left drag: primary cursor (value display).
- Right drag: delta cursor.
- Range band between cursors (toggleable).
- Delta time display.
- Change jump:
- Previous/Next change.
- Scope: Visible BOOL variables or Selected BOOL variable.
- Label mode:
Variable Name/Comment.- BOOL and value labels follow the same mode.
- Name lane selection syncs to BOOL list selection.
- Chart:
- Left drag: move primary cursor.
- Right drag: move delta cursor.
- Hover over BOOL lane: show ON/OFF state and segment duration.
- Leaving chart clears hover state.
- Name lane:
- Left click a label: select corresponding BOOL variable.
- Lists:
- Drag and drop BOOL or Value rows to reorder.
- Toggles:
- Right panel show/hide.
- Variable Settings panel show/hide.
- Buttons:
- Swap Red/Blue Cursors.
- Previous/Next Change.
- BOOL/Value: Select All, Clear All, Hide No Change.
- Reorder: BOOL/Value lists via drag-and-drop.
- Splitters: resizable name lane, panels.
- Horizontal scroll bars for time and name-lane overflow.
- File:
*_comments.csv - Fields: Type, Name, Comment, IsVisible, ColorHex, Order
- Types:
BOOLandVALUE Ordercontrols list ordering; missing/invalid order falls back to append.- Load order:
- BOOL and VALUE rows are matched by exact name.
- Missing entries keep defaults.
- Visible range export.
- Full range export.
- Includes left labels.
- Default file name:
- Visible range:
trace_visible.png - Full range:
trace_full.png
- Visible range:
- Export size: 1800 x 900.
- Left label margin is expanded to at least 280 px for export.
- Full range export temporarily zooms to the entire data range, then restores view.
- Output format: PNG.
- File: Open Trace CSV, Export PNG (visible/full), Load/Save Comments, Exit
- View: Show Type Suffix, Show Range Band
- Help: About
Ctrl+O: Open Trace CSVCtrl+E: Export Visible Range PNGShift+Left: Previous ChangeShift+Right: Next Change
- Shows app name, version, author, and GitHub link.
- Lists libraries and licenses (app, OxyPlot.Core, OxyPlot.Wpf, .NET Runtime).
- Displays embedded OSS license text from
LICENSE.
- BOOL default palette uses a fixed 10-color cycle.
- Color input is
#RRGGBB; invalid values are ignored.
Show Type Suffix: toggles showing the:TYPEsuffix in labels.Show Range Band: toggles the cursor range band between primary/delta cursors.
- Shows file name, sample count, BOOL count (and visible count), value count (and visible count).
AssemblyInformationalVersionis fixed (no hash).
- Single CSV loaded at a time.
- Multi-CSV overlay is not supported.
- CSV load error: modal dialog with error text.
- PNG export error: modal dialog with error text.
- Load/Save comments without CSV loaded: informational dialog.
- Main window:
- File > Open Trace CSV... opens file dialog; on success, updates chart and panels.
- File > Export Chart PNG > Visible/Full opens save dialog; on success, writes PNG.
- File > Load Comments... opens file dialog; on success, applies comments.
- File > Save Comments... opens save dialog; on success, writes comment CSV.
- Help > About opens About dialog (modal).
- About dialog:
- Close button closes dialog.
- Initial (no CSV loaded):
- Chart shows empty axes.
- Value panel shows no values.
- Save/Load Comments warns and exits.
- CSV loaded:
- TraceData populated and cached.
- BOOL rows initialized (default palette + comments).
- Value rows initialized (comments + visibility).
- Chart drawn for visible BOOLs.
- Status text updated.
- Comments loaded:
- BOOL/Value rows updated by matching name.
- Order and visibility updated.
- Labels refreshed; chart redrawn.
- Visibility change (BOOL):
- Visible list recalculated.
- Chart redrawn; status updated.
- Visibility/order change (Value):
- Visible value list recalculated.
- Status updated.
- 単一ウィンドウのWPFアプリ。
- Windows専用。
- 1回に1つのCSVを読み込み。
- 複数CSVの重ね表示は非対応。
- Sysmac Data Trace CSVをWindows上で可視化する。
- BOOL信号はタイムラインとして表示し、その他の型はカーソル位置の値として表示する。
- BOOLのON/OFF解析に特化し、操作性を高める。
- CSV読み込み: パース -> TraceData生成 -> BOOL/Value行初期化 -> コメント適用(あれば) -> チャート描画。
- カーソル移動: カーソル位置更新 -> 値パネル更新 -> 2カーソル差分表示更新。
- 表示/並び変更: チャート再描画、ステータス更新。
- 初期ステータス:
Load a CSV file to display BOOL timeline and value variables.
- ヘッダー行は
"Index","Date","ClockTime"...で始まる。 - 列名は
name:type形式(例:test1:BOOL)。 - 対応型:
- タイムライン表示:
:BOOL - 値表示:
:INT,:BYTE,:WORD,:DWORD,:LWORD,:SINT,:DINT,:LINT,:USINT,:UINT,:UDINT,:ULINT,:REAL,:LREAL,:TIME,:DATE,:TIME_OF_DAY,:DATE_AND_TIME
- タイムライン表示:
- 経過時間は
ClockTimeから算出(0時跨ぎ対応)。 - 空欄/不正値は欠損扱い(UIは
-)。 Dateが無い場合はClockTimeのみ表示。ClockTimeはHH:mm:ss.fffとmm:ss.fffを許容。
- 値は文字列として保持。REAL/LREALはInvariantCultureで正規化。
- 数値不正/空欄は欠損。
- BOOLは
0/1とtrue/falseを許容。
- BOOLチャート: ON/OFFのステッププロット。
- 左: BOOLラベル(変数名/コメント切替)。
- 右: カーソル位置の値表示。
- 下: 変数設定(表示/色/コメント/順序)。
- BOOLレーンにホバーすると、ON/OFF状態と区間時間を表示。
- チャートのパン/ズームは無効。横スクロールで時間を移動。
- 上: メニューバーとツールボタン。
- その下: ステータス表示。
- 中央:
- 左: BOOL名レーン(横スクロール対応)
- 中: 時間チャート(OxyPlot)
- 右: Valueパネル
- 下: Variable Settingsパネル(BOOL/Valueの表示/色/コメント/順序)
- スプリッター:
- 名前レーンとチャート間
- チャートと値パネル間
- 中央領域と下パネル間
TraceDataElapsedSeconds[],DateTexts[],ClockTimeTexts[]BoolSignals[]: name, bool? values, hasChangeValueSignals[]: name, string? values, hasChange
BoolSignalRow/ValueSignalRow- 表示名、コメント、可視性、順序情報を保持
- カーソル:
- 左ドラッグ: 主カーソル
- 右ドラッグ: 差分カーソル
- 2カーソル間帯(表示切替可)
- 経過時間表示
- 変化点ジャンプ:
- Previous/Next Change
- 対象範囲: Visible BOOL / Selected BOOL
- ラベルモード:
Variable Name/Comment- BOOLとValueで共通
- Name lane選択はBOOLリストと同期
- チャート:
- 左ドラッグ: 主カーソル
- 右ドラッグ: 差分カーソル
- BOOLレーンのホバー: ON/OFF区間と継続時間表示
- チャート外に出るとホバー解除
- Name lane:
- クリックでBOOL選択
- リスト:
- BOOL/ValueのD&D並び替え
- 表示切替:
- 右パネル表示/非表示
- Variable Settings表示/非表示
- ボタン:
- カーソル入替
- Previous/Next Change
- BOOL/Value: Select All / Clear All / Hide No Change
- 横スクロール:
- 時間軸
- 名前レーン
- ファイル:
*_comments.csv - フィールド: Type, Name, Comment, IsVisible, ColorHex, Order
- Type:
BOOL/VALUE Orderで並び順を保持(不正/欠損は末尾へ)。- 読み込み:
- Name一致で反映
- 未一致は既定値保持
- 表示範囲と全範囲の2種類。
- 左ラベル込みで出力。
- 既定ファイル名:
- 表示範囲:
trace_visible.png - 全範囲:
trace_full.png
- 表示範囲:
- 出力サイズ: 1800 x 900。
- 左ラベル幅は最低280pxに拡張。
- 全範囲出力は一時的に全体表示へズームし、復帰する。
- 形式: PNG。
- File: Open Trace CSV, Export PNG (visible/full), Load/Save Comments, Exit
- View: Show Type Suffix, Show Range Band
- Help: About
Ctrl+O: Open Trace CSVCtrl+E: Export Visible Range PNGShift+Left: Previous ChangeShift+Right: Next Change
- アプリ名、バージョン、作者、GitHubリンクを表示。
- OSSライセンス一覧(本体、OxyPlot.Core/Wpf、.NET Runtime)。
LICENSEを埋め込み表示。
- BOOLの既定色は10色パレットの循環。
- 色入力は
#RRGGBB。不正値は無視。
Show Type Suffix: ラベルに:TYPEを表示/非表示。Show Range Band: 2カーソル間の帯を表示/非表示。
- ファイル名、サンプル数、BOOL数(表示数)、Value数(表示数)を表示。
AssemblyInformationalVersionは固定値(ハッシュ無し)。
- CSVは1つのみ。
- 複数CSVの重ね表示は非対応。
- CSV読み込み失敗: エラーダイアログ。
- PNG出力失敗: エラーダイアログ。
- CSV未読み込み時のコメント操作: 情報ダイアログ。
- Main:
- Open Trace CSV... で読み込み → 表示更新
- Export PNG... で保存
- Load/Save Comments... でコメント反映/保存
- About でダイアログ表示
- About:
- Closeで閉じる
- 初期(未読み込み):
- 空のチャート
- 値パネル空
- コメント操作は警告
- CSV読み込み:
- TraceData生成
- BOOL/Value行初期化
- チャート描画
- ステータス更新
- コメント読み込み:
- Name一致で反映
- 並び/可視性更新
- ラベル/チャート更新
- 表示変更(BOOL):
- 再描画 + ステータス更新
- 表示/並び変更(Value):
- 値リスト更新 + ステータス更新