리크 테스트 gui
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.
 
 
 
 
 

7.7 KiB

7. 자동 시험 프로세스

← 메뉴얼 목차로 돌아가기


7.1 개요

자동 시험은 DIO 시작 신호(LEFT_START 또는 RIGHT_START)에 의해 트리거되며, 7단계로 진행됩니다. 좌/우 채널은 각각 독립적인 백그라운드 스레드에서 실행되지만, 세마포어 잠금을 통해 동시 실행은 방지됩니다.

7.2 전체 프로세스 흐름도

  DIO 시작 신호 감지 (LEFT_START 또는 RIGHT_START: OFF→ON)
       │
       ▼
  세마포어 잠금 대기 ──(잠금 불가)──→ "대기중" 메시지 표시
       │                                    │
       │ (잠금 획득)                         │ (다른 채널 완료 후 자동 진행)
       ▼                                    ▼
  ┌──────────────────────────────────────────────────────┐
  │ 1단계: 시험 시작                                      │
  │  · OK/NG DIO 출력 초기화 (OFF)                        │
  │  · 메인 화면 결과 표시 초기화                          │
  │  · 시작 시간 갱신                                     │
  │  · C28 LEAK 센서 수신 이벤트 초기화                    │
  └──────────────┬───────────────────────────────────────┘
                 ▼
  ┌──────────────────────────────────────────────────────┐
  │ 2단계: 센서 정보 읽기                                  │
  │  · 4251 보드를 통해 ZMDI 센서에서 제품 ID 판독         │
  │  · ID / LOW ID를 메인 화면에 표시                      │
  │  · 읽기 실패해도 빈 데이터("-")로 계속 진행             │
  └──────────────┬───────────────────────────────────────┘
                 ▼
  ┌──────────────────────────────────────────────────────┐
  │ 3단계: 불량 제품 필터링                                │
  │  · 센서의 PrevResult 값 확인                          │
  │  · PrevResult = "F" → 정상 (다음 단계로 진행)          │
  │  · PrevResult ≠ "F" → "불량 제품 투입" 오류 → 시험 중단│
  └──────────────┬───────────────────────────────────────┘
                 ▼
  ┌──────────────────────────────────────────────────────┐
  │ 4단계: LEAK 시험 수행                                  │
  │  · "LEAK 시험중" 메시지 표시                          │
  │  · Sentinel C28 센서의 최종 결과(Auto Result) 대기     │
  │  · 최대 대기 시간: 30초                               │
  │  · 타임아웃 시: NG 판정 + "Sentinel C28 통신 타임아웃" │
  └──────────────┬───────────────────────────────────────┘
                 ▼
  ┌──────────────────────────────────────────────────────┐
  │ 5단계: 판정                                           │
  │  · SPEC LL ≤ 측정값 ≤ SPEC UL → OK                   │
  │  · 범위 밖 → NG                                      │
  └──────────────┬───────────────────────────────────────┘
                 ▼
  ┌──────────────────────────────────────────────────────┐
  │ 6단계: SPEC 교차 검증                                  │
  │  · 프로그램 판정과 센서 자체 판정 비교                  │
  │  · 센서 판정 정규화: OK/A/P → Accept, NG/R/F → Reject │
  │  · 불일치 시: SpecMismatch = true → 팝업 경고          │
  └──────────────┬───────────────────────────────────────┘
                 ▼
  ┌──────────────────────────────────────────────────────┐
  │ 7단계: 결과 출력                                       │
  │  · CSV 로그 파일에 검사 데이터 기록                    │
  │  · DIO OK 또는 NG 출력 ON                             │
  │  · 메인 화면에 측정값, 판정 결과 표시                   │
  │  · "시험 완료" 메시지 표시                             │
  └──────────────────────────────────────────────────────┘
       │
       ▼
  세마포어 잠금 해제 → 대기 중인 다른 채널이 있으면 자동 시작

7.3 순차 실행 (세마포어 잠금)

좌/우 채널은 동시에 시험을 수행할 수 없습니다. 이는 하드웨어 통신 충돌을 방지하기 위함입니다.

상황 동작
한 채널만 시작 신호 즉시 시험 시작
양쪽 동시 시작 신호 먼저 잠금을 획득한 채널이 시험 진행, 다른 채널은 "대기중" 표시
시험 완료 후 대기 중인 채널이 자동으로 시험 시작 (350ms 안정화 대기 후)

참고: 하드웨어 통신 안정화를 위해, 이전 채널 시험 종료 후 350ms의 여유 시간이 자동으로 적용됩니다.

7.4 타임아웃 처리

Sentinel C28 센서에서 30초 이내에 응답이 없으면:

  1. "Sentinel C28 통신 타임아웃" 오류 메시지 표시
  2. 해당 채널 DIO NG 출력 ON
  3. 측정값 0.0000, 판정 NG, 센서판정 T/O (Timeout)로 기록
  4. CSV 로그 파일에도 NG로 기록

7.5 C28 센서 결과 채널 라우팅

Sentinel C28 센서에서 수신한 데이터는 채널 번호(ChannelNo)로 구분됩니다:

채널 번호 대상
C01 또는 1 LEFT 채널
C02 또는 2 RIGHT 채널
채널 번호 없음 현재 활성화된(시험 중인) 채널로 자동 할당

7.6 ID 수동 테스트

하단 메뉴의 ID Test (L) 또는 ID Test (R) 버튼으로 DIO 시작 신호 없이 센서 ID 판독만 수행할 수 있습니다.

실행 흐름

  1. 세마포어 잠금 획득 (다른 채널 시험 중이면 대기)
  2. 결과 표시 초기화
  3. 500ms 대기 (UI 피드백용)
  4. "센서 정보 읽는 중" 메시지 표시
  5. 4251 보드를 통해 ZMDI 센서 ID 판독
  6. 성공 시: ID / LOW ID 표시 + 불량 제품 필터링 확인 + "ID 테스트 완료"
  7. 실패 시: ID를 "-"로 표시 + "ID 테스트 실패"
  8. 세마포어 잠금 해제

용도: 설치 후 하드웨어 연결 상태 확인, 디버깅 시 활용합니다. LEAK 시험(4~7단계)은 수행하지 않습니다.


← 이전: 측정 데이터 조회 | 다음: 로그 관리 →