You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
9.5 KiB
9.5 KiB
7. 자동 시험 프로세스
7.1 개요
자동 시험은 시작 신호(LEFT_START 또는 RIGHT_START)에 의해 작동하며, 7단계로 진행됩니다. 좌/우 채널은 각각 독립적인 백그라운드 스레드에서 실행되지만, 중복 실행 방지 기능을 통해 동시 시험은 방지됩니다.
7.2 전체 프로세스 흐름도
시작 신호 감지 (좌/우 시작 신호)
<!-- Semaphore -->
<div style="margin-bottom: 10px; padding: 6px 8px; border-radius: 4px; border-left: 3px solid #f6b93b;">
<strong style="color: #d97706;">중복 실행 방지 대기</strong>
<div style="color: #57606f; margin-top: 2px;">
• 타 채널 시험 중 시 "대기중" 메시지 및 순서 대기<br>
• 시험 가능 시 개시 (좌/우 동시 시험 방지)
</div>
</div>
<!-- Step 1 -->
<div style="margin-bottom: 10px; position: relative;">
<span style="position: absolute; left: -19px; top: 4px; width: 8px; height: 8px; border-radius: 50%;"></span>
<strong style="color: #1e3799;">1단계: 시험 시작 (초기화)</strong>
<div style="color: #57606f; margin-top: 2px;">
• OK/NG 판정 출력 초기화 (OFF)<br>
• 메인 화면 결과 표시 초기화 및 시작 시간 갱신<br>
• 누설 센서 수신 데이터 초기화
</div>
</div>
<!-- Step 2 -->
<div style="margin-bottom: 10px; position: relative;">
<span style="position: absolute; left: -19px; top: 4px; width: 8px; height: 8px; border-radius: 50%;"></span>
<strong style="color: #1e3799;">2단계: 제품 ID 판독</strong>
<div style="color: #57606f; margin-top: 2px;">
• 4251 보드를 통해 16자리 ID 판독<br>
• <span style="color: #ff4757; font-weight: bold;">[실패 시]</span> "ID 읽기 실패" 출력 후 기록/저장 제외 종료
</div>
</div>
<!-- Step 3 -->
<div style="padding: 6px 8px; border-radius: 4px; border-left: 3px solid #1e3799;">
<strong style="color: #1e3799;">3단계: PCB 바코드 DB 조회</strong>
<div style="color: #57606f; margin-top: 2px;">
• DB에서 `IC_SN` 매칭 `PCB_Barcode` 조회 (5초 제한)<br>
• <span style="color: #ff4757; font-weight: bold;">[실패/누락 시]</span> "바코드 매핑 실패" 출력 후 즉시 종료
</div>
</div>
4단계: 누설 시험 수행 (계측)
• "LEAK 시험중" 표시 & C28 센서 수신 대기 (최대 30초)
• [초과 시] 통신 초과 NG 자동 종료 (측정값 9.9999 DB 저장)
• [초과 시] 통신 초과 NG 자동 종료 (측정값 9.9999 DB 저장)
<!-- Step 5 -->
<div style="margin-bottom: 10px; position: relative;">
<span style="position: absolute; left: -19px; top: 4px; width: 8px; height: 8px; border-radius: 50%;"></span>
<strong style="color: #1e3799;">5단계: 합격 판정</strong>
<div style="color: #57606f; margin-top: 2px;">
• 규격 하한값 ≤ 측정값 ≤ 규격 상한값 범위 내 OK, 이외 NG
</div>
</div>
<!-- Step 6 -->
<div style="margin-bottom: 10px; position: relative;">
<span style="position: absolute; left: -19px; top: 4px; width: 8px; height: 8px; border-radius: 50%;"></span>
<strong style="color: #1e3799;">6단계: 판정 스펙 교차 검증</strong>
<div style="color: #57606f; margin-top: 2px;">
• SW 판정과 센서 자체 판정 비교 분석 (상이 시 경고 창 표시)
</div>
</div>
<!-- Step 7 -->
<div style="margin-bottom: 10px; position: relative;">
<span style="position: absolute; left: -19px; top: 4px; width: 8px; height: 8px; border-radius: 50%;"></span>
<strong style="color: #1e3799;">7단계: 결과 출력 및 저장</strong>
<div style="color: #57606f; margin-top: 2px;">
• 로컬 CSV 및 DB 저장, 외부 설비 출력 신호(OK/NG) 전송<br>
• 메인 화면 결과 및 "시험 완료" 표시
</div>
</div>
<!-- End -->
<div style="padding: 6px 8px; border-radius: 4px; border-left: 3px solid #2ed573;">
<strong style="color: #2f855a;">순서 잠금 해제</strong>
<div style="color: #57606f; margin-top: 2px;">
• 순서 대기 해제, 대기 중 타 채널 0.35초 후 자동 시험 개시
</div>
</div>
7.3 좌/우 채널 순차 실행 및 대기
좌/우 채널은 동시에 시험을 수행할 수 없습니다. 이는 하드웨어 통신 간섭 및 충돌을 방지하기 위함입니다.
| 상황 | 동작 |
|---|---|
| 한 채널만 시험 시작 신호 발생 | 즉시 시험을 시작합니다. |
| 양쪽 채널 동시 신호 발생 | 먼저 순서를 획득한 채널이 시험을 진행하며, 다른 채널은 "대기중"을 표시하며 대기합니다. |
| 시험 완료 후 | 대기 중이던 채널이 자동으로 시험을 시작합니다. (안정화를 위해 0.35초의 대기 시간이 적용됩니다.) |
7.4 시간 초과 (타임아웃) 처리
누설 센서에서 30초 이내에 계측 결과 응답이 없으면 다음과 같이 처리됩니다.
- 화면의 오류 메시지 영역에 "통신 시간 초과" 오류 메시지를 표시합니다. (데이터베이스 저장 실패 시 "DB 저장 실패" 사유도 함께 노출)
- 해당 채널의 불합격(NG) 물리 신호를 내보냅니다.
- 측정값
9.9999, 판정NG로 기록을 생성합니다. - 로컬 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(합격)**로 기록됩니다.
판정 스펙 불일치 시의 동작
- 양측의 판정 스펙이 다르면 불일치 로그가 기록되며 화면에 경고 팝업이 출력되지만, 최종 저장되는 판정 결과에는 영향을 미치지 않고 프로그램 판정값을 유지합니다.