プロジェクト背景
既存の上位アプリは、10台の温度調節器、シャッター、産業用カメラ、工程スクリプト、実験記録を統合していました。現場診断では、温度記録の途切れ、通知されない画像保存停止とプレビュー遅延、成功表示でも対象機器が変わらない書込み、機器読取り前に表示される Ramp Rate、温度倍率の不一致を確認しました。
技術目標
実績のある機器統合を維持しつつ、高リスク経路を限定して改修しました。書込みを追跡可能にし、パラメータを双方向同期し、撮像と保存を自動復旧し、単位を統一し、再現可能な Release インストーラーと顧客機器での残存受入項目を明確化します。
制御・データ経路全体の信頼性対策
シリアル通信、カメラ取得、永続化、画面状態、パッケージを一つの観測可能な経路として扱いました。各変更は障害モードと確認可能な結果に対応します。
- 01
基準版と証拠の固定
ソースとインストーラーの基準版を固定し、ログと SQLite を確認し、機器境界を整理して、観測事実と仮説を分離します。
- 02
シリアル取得と読戻し
高頻度の PV/SP ポーリングを維持し、Ramp Rate レジスタ 0x0023 は3秒ごとに1台ずつ低頻度で読み取ります。
- 03
照合付き機器制御
Modbus 0x06 応答のスレーブ、レジスタ、値が完全一致し、対象 SP の読戻しも一致した場合だけ成功とし、不一致時は再試行またはエラーにします。
- 04
カメラ経路の復旧
生フレーム到着と保存を別々に監視し、3秒停止で取得を再開し、フレームが来ても保存されない場合は保存処理を再スケジュールします。
- 05
データと単位の整合
温度単位の処理経路を一本化し、従来の10倍差を除去し、実撮像時刻を保持して、後から確認できる診断情報を残します。
- 06
Release と受入管理
x64 Release を構築し、依存関係、バージョン、SHA-256 を記録し、ロールバック資料と実機受入チェックリストを作成します。
管理対象の成果物
- 対象限定ソースパッチ
- Ramp Rate 読戻し、書込み照合、カメラ復旧、保存スケジュール、温度単位を扱う12ファイル。
- 顧客試験用インストーラー
- Qt、SQLite ドライバー、カメラ SDK、機器設定、VC Runtime を含む Windows x64 版 1.0.3.20260728。
- アーキテクチャ・コードレビュー
- アプリ構造、通信経路、データ処理、優先度付き P0/P1 リスクのレビュー。
- ビルド・パッケージ記録
- Release 出力、依存関係、バージョン情報、ファイル数、SHA-256。
- 現場受入チェックリスト
- 機器読戻し、反復書込み、カメラ連続運転、再接続、保存連続性、単位確認。
技術証拠
各項目に成果物、確認範囲、制限を明記しています。顧客機器での受入試験を代替するものではありません。
アーキテクチャレビュー
C++ ソース・ヘッダー83ファイル、物理行数約36,200行を確認。具体的な P0/P1 リスクと責任境界を抽出した静的レビューであり、ソフトウェア認証ではありません。
旧版の現場診断
フレーム間隔中央値は約125 ms、99%は130 ms以下。562.921秒と17.306秒の欠落を各1件確認し、保存画像1,486枚に連続重複はありませんでした。旧版障害の基準値であり、1.0.3 の連続運転実績ではありません。
Release ビルド
ビルド成功、EXE 1,727,488 bytes、SHA-256 CB4A11624F97BABC892399DF0975059408AA62CA4502622BBEE84D058D2FD5FD。再現可能な成果物と対象静的確認のみを示します。
インストーラー監査
78ファイル、合計66,292,772 bytes。Qt Debug DLL は0。Qt、SQLite、カメラ SDK、VC Runtime、機器ファイルを確認。SHA-256 は 6908988BF48670AC25A9F004BC77070960AE55D19D35AB51212EBDD64B4321A9。署名はありません。
検証状況
- Ramp Rate 読取り、書込みと読戻し、取得監視、保存監視、旧温度倍率除去の静的確認は合格しました。
- CTest は正常終了しましたが、テストは0件でした。機能試験の証拠には該当しません。
- ProductVersion、FileVersion、パッケージ内容、実行時依存関係、SHA-256 を確認しました。
- 証拠日現在、1.0.3 は顧客装置へ未導入・未実行で、実機と連続運転の受入は未完了です。
適用範囲と制限
公開結果は、顧客試験用 Windows インストーラーと、ソース、ビルド、パッケージ、静的レビューの証拠です。現場受入完了、製品署名、認証された測定精度、長時間の無停止保存、すべての調節器・カメラ組合せでの動作は主張しません。最終受入には、実際の Ramp Rate 読戻し、反復書込みと機器表示の一致、説明できない欠落のない2時間以上の撮像、切断・再接続復旧、対象装置での温度単位確認が必要です。