qa-AgingTester/README.md
2025-07-01 12:00:03 +09:00

4.0 KiB

AGING TEST 자동 검사 프로그램

📌 프로그램 개요

항목 내용
프로그램 명 DUALSONIC_Aging_Test_Program Ver.1.0.0
설치 위치 6층 공장 라인 Aging 공정 구역
용도 필름 압착 기계 제어 /필름 작업 공정 중 압착기 동작 시 자동 시간 카운트 및 동작/자동 합불 판정 없음 (검사자가 육안으로 합불 판단)/ 중단 시 자동 불량 처리
연결 장비 Control Box, Aging JIG, Power Supply, Relay Board

🖥️ 프로그램 UI

메인 화면 실행 화면
메인 화면 실행 화면

🔢 기능 요약

기능 설명
라디오 버튼 선택에 따른 UI 및 설정 분기 포트 수(10채널/20채널), 시간 설정 모드에 따라 UI 그룹박스 표시 여부, 시리얼 포트 배열 크기, 초기값, 위치 변경 등 자동 조정
COM 포트 스캔 및 연결 스캔 버튼 클릭 시 PC의 COM 포트 목록 불러오기, 연결 버튼 클릭 시 선택한 포트 오픈 및 설정 저장
포트별 측정 시작/정지 각 채널별 상태에 따라 시작(start), 진행(play), 중지(middleStop, endStop) 처리 및 명령 전송
타이머 기반 시간 카운트다운 실행 중인 채널의 남은 시간을 1초씩 감소시키며 UI에 남은 시간 표시, 시간이 0이 되면 자동 정지 및 후속 처리 수행
상태 및 UI 업데이트 버튼 텍스트 및 색상 변경, 상태에 따른 기능 활성화/비활성화, 깜빡임 효과 등으로 진행 상황 시각적 표시
데이터 기록 및 전송 각 채널 실행 기록을 연도·월별 CSV 파일로 저장, MQTT를 통해 실행 결과 및 상태 데이터 전송
전체 실행/정지 제어 전체 내리기/올리기 버튼을 통해 모든 채널의 상태 일괄 전환 및 타이머 제어
초기화 및 종료 처리 모든 채널 시간 및 UI 초기화, 종료 시 열려 있는 포트 및 쓰레드 안전 종료 및 정리

🔄 검사 순서 흐름도

[시작 버튼 클릭]
     ↓
[cmdRunButton() 실행] → [설정값 저장 및 초기화] → [펌웨어 명령어 전송: agenable chNum, 1] → [SendData() 호출]
     ↓
[타이머 실행 (cmdTimer_Tick())]
     ↓
[ReceiveData() 호출] → [펌웨어로부터 데이터 수신]
     ↓
[메시지 해석] → [UI 업데이트] (예: [avalue], [aerror], [dsfwver])
     ↓
[자동 종료 조건 체크]
     ├── [온도 기준 충족 시 → 테스트 자동 종료]
     ├── [샷 수 기준 충족 시 → 테스트 자동 종료]
     └── [에러 발생 시 → 에러 메시지 출력 및 UI 반영]
     ↓
[결과 저장] → [PostgreUpdateReg() 호출] → [결과 PostgreSQL에 저장]
     ↓
[중지 버튼 클릭 시]
     ↓
[agenable chNum, 0] → [펌웨어에 테스트 중지 명령 전송] → [테스트 종료]


🗃️ 데이터 저장 구조


📎 기타 참고 사항

  • 프로그램 시작 시 이전 설정 자동 로딩
  • CSV 형식: 시작시간, 종료시간, 주파수모드, 상태, 에러코드
  • COM 포트 설정 가능 (시리얼 통신 기반)