프로젝트 배경
기존 상위 제어 앱은 온도 조절기 10대, 셔터 장치, 산업용 카메라, 공정 스크립트 및 실험 기록을 통합했습니다. 현장 진단에서 온도 기록 단절, 알림 없는 카메라 저장 중단과 미리보기 지연, 성공으로 표시되지만 실제 장치 값은 바뀌지 않는 쓰기, 하드웨어 읽기 전 Ramp Rate 표시, 온도 배율 불일치가 확인되었습니다.
엔지니어링 목표
검증된 장치 통합은 유지하면서 위험도가 높은 경로를 분리했습니다. 쓰기를 추적 가능하게 만들고, 파라미터를 양방향으로 동기화하며, 취득과 저장 중단을 복구하고, 단위를 통일하고, 반복 가능한 Release 설치 파일과 고객 하드웨어의 잔여 승인 항목을 정의합니다.
제어 및 데이터 경로 전체의 신뢰성 개선
직렬 통신, 카메라 취득, 저장, UI 상태 및 패키징을 하나의 관찰 가능한 체인으로 다뤘습니다. 각 변경은 장애 유형과 확인 가능한 결과에 연결됩니다.
- 01
기준선과 증거 고정
소스와 설치 파일 버전을 고정하고 로그와 SQLite를 검토하며 장치 경계를 식별하고 관찰된 장애와 가정을 구분합니다.
- 02
직렬 취득과 읽기
고주기 PV/SP 폴링을 유지하고 Ramp Rate 레지스터 0x0023을 3초마다 장치 한 대씩 저주기로 읽습니다.
- 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는 정상 종료했지만 테스트를 찾지 못했습니다. 기능 시험 증거가 아닙니다.
- ProductVersion, FileVersion, 패키지 내용, 런타임 의존성 및 SHA-256을 확인했습니다.
- 증거일 기준 1.0.3은 고객 장비에 설치 또는 실행되지 않았으며 장치 및 장시간 승인이 남아 있습니다.
범위와 제한
게시 결과는 고객 테스트용 Windows 설치 파일과 소스, 빌드, 패키지 및 정적 검토 증거입니다. 현장 최종 승인, 배포 서명, 인증된 측정 정확도, 장시간 무중단 저장, 모든 온도 조절기와 카메라 조합의 동작을 주장하지 않습니다. 최종 승인을 위해 실제 Ramp Rate 읽기, 반복 쓰기와 장치 패널의 일치, 설명되지 않는 공백이 없는 2시간 이상 카메라 운전, 연결 해제 및 복구, 대상 장비의 온도 단위 확인이 필요합니다.