← 事例一覧へ戻る 科学機器ソフトウェア事例

半導体研究装置向け制御・データ収集ソフトウェア:Windows 上位システムの信頼性改修

Qt/C++ Windows アプリ、複数機器の Modbus 温度制御、産業用カメラ、SQLite 記録、書込み照合、再現可能なインストーラーを扱う匿名化事例です。

支援内容
既存システム監査と対象限定のソフトウェア改修
対象範囲
Windows ソフト、機器通信、産業用カメラ、データ保存、パッケージ
プラットフォーム
Windows 10/11 x64、Qt 5.12、C++/MSVC、Modbus RTU、SQLite
証拠対象版
顧客試験用インストーラー 1.0.3.20260728
01

プロジェクト背景

既存の上位アプリは、10台の温度調節器、シャッター、産業用カメラ、工程スクリプト、実験記録を統合していました。現場診断では、温度記録の途切れ、通知されない画像保存停止とプレビュー遅延、成功表示でも対象機器が変わらない書込み、機器読取り前に表示される Ramp Rate、温度倍率の不一致を確認しました。

02

技術目標

実績のある機器統合を維持しつつ、高リスク経路を限定して改修しました。書込みを追跡可能にし、パラメータを双方向同期し、撮像と保存を自動復旧し、単位を統一し、再現可能な Release インストーラーと顧客機器での残存受入項目を明確化します。

制御・データ経路全体の信頼性対策

シリアル通信、カメラ取得、永続化、画面状態、パッケージを一つの観測可能な経路として扱いました。各変更は障害モードと確認可能な結果に対応します。

  1. 01

    基準版と証拠の固定

    ソースとインストーラーの基準版を固定し、ログと SQLite を確認し、機器境界を整理して、観測事実と仮説を分離します。

  2. 02

    シリアル取得と読戻し

    高頻度の PV/SP ポーリングを維持し、Ramp Rate レジスタ 0x0023 は3秒ごとに1台ずつ低頻度で読み取ります。

  3. 03

    照合付き機器制御

    Modbus 0x06 応答のスレーブ、レジスタ、値が完全一致し、対象 SP の読戻しも一致した場合だけ成功とし、不一致時は再試行またはエラーにします。

  4. 04

    カメラ経路の復旧

    生フレーム到着と保存を別々に監視し、3秒停止で取得を再開し、フレームが来ても保存されない場合は保存処理を再スケジュールします。

  5. 05

    データと単位の整合

    温度単位の処理経路を一本化し、従来の10倍差を除去し、実撮像時刻を保持して、後から確認できる診断情報を残します。

  6. 06

    Release と受入管理

    x64 Release を構築し、依存関係、バージョン、SHA-256 を記録し、ロールバック資料と実機受入チェックリストを作成します。

03

管理対象の成果物

対象限定ソースパッチ
Ramp Rate 読戻し、書込み照合、カメラ復旧、保存スケジュール、温度単位を扱う12ファイル。
顧客試験用インストーラー
Qt、SQLite ドライバー、カメラ SDK、機器設定、VC Runtime を含む Windows x64 版 1.0.3.20260728。
アーキテクチャ・コードレビュー
アプリ構造、通信経路、データ処理、優先度付き P0/P1 リスクのレビュー。
ビルド・パッケージ記録
Release 出力、依存関係、バージョン情報、ファイル数、SHA-256。
現場受入チェックリスト
機器読戻し、反復書込み、カメラ連続運転、再接続、保存連続性、単位確認。
04

技術証拠

各項目に成果物、確認範囲、制限を明記しています。顧客機器での受入試験を代替するものではありません。

アーキテクチャレビュー

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。署名はありません。

05

検証状況

  • Ramp Rate 読取り、書込みと読戻し、取得監視、保存監視、旧温度倍率除去の静的確認は合格しました。
  • CTest は正常終了しましたが、テストは0件でした。機能試験の証拠には該当しません。
  • ProductVersion、FileVersion、パッケージ内容、実行時依存関係、SHA-256 を確認しました。
  • 証拠日現在、1.0.3 は顧客装置へ未導入・未実行で、実機と連続運転の受入は未完了です。
06

適用範囲と制限

公開結果は、顧客試験用 Windows インストーラーと、ソース、ビルド、パッケージ、静的レビューの証拠です。現場受入完了、製品署名、認証された測定精度、長時間の無停止保存、すべての調節器・カメラ組合せでの動作は主張しません。最終受入には、実際の Ramp Rate 読戻し、反復書込みと機器表示の一致、説明できない欠落のない2時間以上の撮像、切断・再接続復旧、対象装置での温度単位確認が必要です。

科学機器ソフトウェアを相談する

装置構成、通信プロトコル、カメラ型式、保存要件、運転手順、既存ソースまたは実行ファイル、導入環境、受入基準をご提示ください。

要件を送信 →