# 9. 오류 대응 및 프로그램 종료 [← 메뉴얼 목차로 돌아가기](사용자_메뉴얼.md) --- ## 9.1 통신 연결 실패 프로그램 시작 또는 통신 설정 저장 시 발생할 수 있습니다. | 오류 메시지 | 원인 | 조치 방법 | |------------|------|----------| | `Sentinel C28 포트 연결 실패 (COMx)` | C28 센서 미연결, 잘못된 포트, 다른 프로그램이 포트 점유 | ① 케이블 연결 확인 ② 장치 관리자에서 COM 포트 번호 확인 ③ Comm. Settings에서 올바른 포트 선택 후 `설정 저장` | | `4251 보드 포트 연결 실패 (COMx)` | 4251 보드 미연결, 잘못된 포트 | ① 케이블 연결 확인 ② Comm. Settings에서 올바른 포트 선택 후 `설정 저장` | > **참고**: 통신 설정을 저장하면 기존 연결을 모두 해제하고 새 설정으로 재연결을 시도합니다. 포트 변경 후 재시작 없이 바로 적용됩니다. --- ## 9.2 시험 중 오류 시험 프로세스 진행 중 발생하는 오류입니다. 메인 화면의 **오류 메시지** 영역에 표시됩니다. | 오류 메시지 | 원인 | 조치 방법 | |------------|------|----------| | `Sentinel C28 통신 타임아웃` | 30초 내 C28 센서 응답 없음 | ① 센서 전원 ON 확인 ② 시리얼 케이블 연결 확인 ③ BaudRate 설정 확인 (기본: 9600) | | `불량 제품 투입 (이전 결과: X)` | ZMDI 센서의 PrevResult가 "F"가 아님 (이전 검사 불합격 이력) | 해당 제품을 라인에서 제거하고 정상 제품 투입 | | `SPEC 불일치 - 프로그램: OK, 센서: R` | 프로그램 SPEC과 센서 자체 SPEC의 판정이 다름 | ① 프로그램의 SPEC UL/LL 확인 (Parameters) ② C28 센서의 SPEC 설정 확인 ③ 양쪽 설정값 동기화 | | `LEAK 센서 데이터 오류` | C28에서 수신된 데이터 파싱 실패 | ① 센서 통신 상태 확인 ② 케이블 접촉 불량 확인 ③ BaudRate 불일치 확인 | ### SPEC 교차 검증 경고 팝업 프로그램 판정과 센서 판정이 불일치하면 팝업 경고가 표시됩니다: ``` [!] SPEC 교차 검증 경고 "프로그램 스팩과 센서의 스팩이 서로 맞지 않습니다." [확인] ``` 이 경고는 검사 자체를 중단하지는 않지만, **프로그램의 판정 결과**가 최종 기록에 사용됩니다. --- ## 9.3 DIO 보드 오류 | 상황 | 프로그램 동작 | 영향 | |------|-------------|------| | PCI-7432 보드 미인식 | **시뮬레이션 모드**로 자동 전환 | DIO 입출력이 동작하지 않음 (실제 입출력 포트 제어 불가) | | 보드 런타임 오류 | 좌/우 채널 오류 메시지에 `[DIO Board Error]` 표시 | 오류 내용에 따라 조치 | > **시뮬레이션 모드**: ADLINK 드라이버가 설치되지 않은 개발 환경에서도 프로그램의 나머지 기능(통신 설정, 데이터 조회 등)을 테스트할 수 있도록 자동 전환됩니다. --- ## 9.4 일반적인 문제 해결 | 증상 | 가능한 원인 | 해결 방법 | |------|-----------|----------| | 프로그램 시작 후 양쪽 채널에 오류 메시지 | COM 포트 설정 불일치 | Comm. Settings에서 올바른 포트 선택 후 저장 | | 시험이 시작되지 않음 | DIO 시작 신호 미수신 | 외부 PLC 또는 시작 스위치의 접점 신호 상태 확인 | | "대기중"에서 진행되지 않음 | 다른 채널이 타임아웃 대기 중 | 최대 30초 대기 후 자동 해제. 센서 연결 확인 | | 측정값이 표시되지 않음 | C28 센서 스트리밍 데이터 미수신 | 센서 전원, 케이블, BaudRate 확인 | | CSV 내보내기 실패 | 파일 쓰기 권한 없음 | 저장 위치 변경 또는 관리자 권한으로 실행 | | COM 포트 목록이 비어있음 | 시리얼 장치 미연결 | USB-시리얼 케이블 연결 확인, 드라이버 설치 확인 | --- ## 9.5 프로그램 종료 ### 종료 방법 1. 상단 타이틀 바 우측의 **X (빨간색)** 버튼을 클릭합니다. 2. 종료 확인 대화상자가 표시됩니다: ``` [?] 종료 확인 "프로그램을 종료하시겠습니까?" [예] [아니오] ``` 3. **"예"**를 선택하면 종료, **"아니오"**를 선택하면 취소됩니다. ### 종료 시 자동 처리 사항 아래 순서로 자동 정리가 수행됩니다: | 순서 | 처리 내용 | |------|----------| | 1 | 시험 프로세스 스레드 종료 (좌/우 모두) | | 2 | 대기 중인 세마포어 해제 | | 3 | DIO 이벤트 구독 해제 | | 4 | C28 센서 이벤트 구독 해제 | | 5 | Sentinel C28 시리얼 통신 연결 해제 | | 6 | 4251 보드 시리얼 통신 연결 해제 | | 7 | DIO `PC_ON` 출력 **OFF** | | 8 | DIO 보드 자원 해제 | | 9 | 타이틀 바 시계 타이머 정지 | > **⚠️ 주의**: 시험 진행 중에 프로그램을 종료하면 진행 중인 시험이 **즉시 중단**됩니다. 해당 시험의 결과는 로그에 기록되지 않을 수 있습니다. 가급적 시험이 완료된 후 종료하세요. > **참고**: 프로그램 종료 시 현재 설정값은 이미 `config.xml`에 저장되어 있으므로 별도로 저장할 필요가 없습니다. 다음 실행 시 마지막 설정이 자동으로 로드됩니다. --- [← 이전: 로그 관리](09_로그_관리.md) | [메뉴얼 목차로 돌아가기](사용자_메뉴얼.md)