# 7. 자동 시험 프로세스 [← 메뉴얼 목차로 돌아가기](사용자_메뉴얼.md) --- ## 7.1 개요 자동 시험은 시작 신호(LEFT_START 또는 RIGHT_START)에 의해 작동하며, 7단계로 진행됩니다. 좌/우 채널은 각각 독립적인 백그라운드 스레드에서 실행되지만, **중복 실행 방지 기능**을 통해 동시 시험은 방지됩니다. ## 7.2 전체 프로세스 흐름도
시작 신호 감지 (좌/우 시작 신호)
중복 실행 방지 대기
• 타 채널 시험 중 시 "대기중" 메시지 및 순서 대기
• 시험 가능 시 개시 (좌/우 동시 시험 방지)
1단계: 시험 시작 (초기화)
• OK/NG 판정 출력 초기화 (OFF)
• 메인 화면 결과 표시 초기화 및 시작 시간 갱신
• 누설 센서 수신 데이터 초기화
2단계: 제품 ID 판독
• 4251 보드를 통해 16자리 ID 판독
[실패 시] "ID 읽기 실패" 출력 후 기록/저장 제외 종료
3단계: PCB 바코드 DB 조회
• DB에서 `IC_SN` 매칭 `PCB_Barcode` 조회 (5초 제한)
[실패/누락 시] "바코드 매핑 실패" 출력 후 즉시 종료
4단계: 누설 시험 수행 (계측)
• "LEAK 시험중" 표시 & C28 센서 수신 대기 (최대 30초)
[초과 시] 통신 초과 NG 자동 종료 (측정값 9.9999 DB 저장)
5단계: 합격 판정
• 규격 하한값 ≤ 측정값 ≤ 규격 상한값 범위 내 OK, 이외 NG
6단계: 판정 스펙 교차 검증
• SW 판정과 센서 자체 판정 비교 분석 (상이 시 경고 창 표시)
7단계: 결과 출력 및 저장
• 로컬 CSV 및 DB 저장, 외부 설비 출력 신호(OK/NG) 전송
• 메인 화면 결과 및 "시험 완료" 표시
순서 잠금 해제
• 순서 대기 해제, 대기 중 타 채널 0.35초 후 자동 시험 개시
## 7.3 좌/우 채널 순차 실행 및 대기 좌/우 채널은 **동시에 시험을 수행할 수 없습니다**. 이는 하드웨어 통신 간섭 및 충돌을 방지하기 위함입니다. | 상황 | 동작 | |------|------| | 한 채널만 시험 시작 신호 발생 | 즉시 시험을 시작합니다. | | 양쪽 채널 동시 신호 발생 | 먼저 순서를 획득한 채널이 시험을 진행하며, 다른 채널은 "대기중"을 표시하며 대기합니다. | | 시험 완료 후 | 대기 중이던 채널이 자동으로 시험을 시작합니다. (안정화를 위해 0.35초의 대기 시간이 적용됩니다.) | ## 7.4 시간 초과 (타임아웃) 처리 누설 센서에서 30초 이내에 계측 결과 응답이 없으면 다음과 같이 처리됩니다. 1. 화면의 오류 메시지 영역에 "통신 시간 초과" 오류 메시지를 표시합니다. (데이터베이스 저장 실패 시 "DB 저장 실패" 사유도 함께 노출) 2. 해당 채널의 불합격(NG) 물리 신호를 내보냅니다. 3. 측정값 `9.9999`, 판정 `NG`로 기록을 생성합니다. 4. 로컬 CSV 로그 파일 및 데이터베이스에 검사 결과를 기록합니다. (단, 이전 단계인 제품 ID 판독에 성공한 상태여야 저장이 이루어집니다.) ## 7.5 제품 ID 및 PCB 바코드 연동 예외 처리 ### 1. 제품 ID(IC_SN) 판독 실패 시 - **동작**: 제품 ID 판독 장치(4251 보드)로부터 16자리 ID 취득을 실패하는 경우 진행 메시지에 `"ID 읽기 실패"`를 표시하고, 해당 채널의 NG 물리 신호를 즉시 출력합니다. - **저장 제한**: 이 경우에는 로컬 CSV 로그 기록 및 데이터베이스 저장을 **완전히 건너뜁니다**. ### 2. PCB 바코드 DB 조회(매핑) 실패 시 - **동작**: 판독 완료 후 데이터베이스 서버에서 `IC_SN`에 해당하는 `PCB_Barcode`를 조회할 때, 정해진 시간(5초) 내에 응답이 없거나 일치하는 데이터가 없는 경우 화면에 `"바코드 매핑 실패"` 관련 오류를 표시하고 NG 신호를 출력합니다. - **저장 제한**: 이 경우에도 제품 검사 자체를 진행하지 않고 즉시 스킵하며, **데이터베이스 및 로컬 CSV 로그 기록 저장을 건너뜁니다**. (오프라인 모드에서는 임시 바코드 정보를 주입하여 검사 동작을 테스트할 수 있습니다.) ## 7.6 누설 센서 측정 결과 채널 분류 누설 센서에서 수신한 데이터는 다음 채널 번호 정보를 기준으로 정렬됩니다. | 채널 번호 | 대상 | |----------|------| | `C01` 또는 `1` | 좌측(LEFT) 채널 | | `C02` 또는 `2` | 우측(RIGHT) 채널 | | 채널 번호 식별 불가 | 현재 활성화되어 시험을 진행 중인 채널로 자동 배정 | ## 7.7 ID 수동 테스트 하단 메뉴의 **ID Test (L)** 또는 **ID Test (R)** 버튼을 사용하면 시험 시작 신호 없이 센서 ID 판독 동작만 단독으로 수행할 수 있습니다. > **용도**: 장비 설치 후 통신 상태 확인 및 디버깅 시 사용합니다. 실제 누설 시험(압력 계측)은 수행하지 않습니다. ## 7.8 측정 판정 및 저장 기준 프로그램의 판정 스펙(상하한 규격) 기준과 누설 센서 자체의 내부 스펙 판정 기준이 일치하지 않는 경우, 저장소에는 다음과 같이 저장됩니다. ### 저장 기준 요약 * **최종 저장 판정 (Result)**: 센서 자체의 판정값과 무관하게, 항상 **프로그램 화면 판정 기준**으로 데이터베이스 및 로그에 저장됩니다. * **동작 예시**: 프로그램 판정이 합격(`OK`)이지만 센서 자체의 내부 판정이 불합격(`NG` 등)인 경우에도, 최종 기록 및 CSV에는 **`OK` (합격)**로 기록됩니다. ### 판정 스펙 불일치 시의 동작 * 양측의 판정 스펙이 다르면 불일치 로그가 기록되며 화면에 경고 팝업이 출력되지만, **최종 저장되는 판정 결과에는 영향을 미치지 않고 프로그램 판정값을 유지**합니다. --- [← 이전: 측정 데이터 조회](06_데이터_조회.md) | [다음: 로그 관리 →](08_로그_관리.md)