# 2. 초기 설정 가이드
[← 메뉴얼 목차로 돌아가기](사용자_메뉴얼.md)
---
## 2.1 설치 전 준비사항 체크리스트
프로그램을 실행하기 전에 아래 항목을 모두 확인하세요:
| # | 확인 항목 | 확인 방법 | 비고 |
|---|----------|----------|------|
| 1 | ADLINK PCIS-DASK 드라이버 설치 완료 | Windows 장치 관리자에서 PCI-7432 인식 확인 | 미설치 시 시뮬레이션 모드로 동작 |
| 2 | Sentinel C28 센서 시리얼 케이블 연결 | 장치 관리자 → 포트(COM & LPT)에서 COM 포트 번호 확인 | RS-232 케이블 사용 |
| 3 | 4251 보드 시리얼 케이블 연결 | 장치 관리자 → 포트(COM & LPT)에서 COM 포트 번호 확인 | RS-232 케이블 사용 |
| 4 | PCI-7432 DIO 보드 장착 | 장치 관리자에서 ADLINK PCI-7432 인식 확인 | PCI 슬롯에 장착 |
| 5 | COM 포트 번호 메모 | C28 센서와 4251 보드 각각의 COM 포트 번호를 기록 | 설정 시 필요 |
> **⚠️ 중요**: C28 센서와 4251 보드는 **서로 다른 COM 포트**에 연결해야 합니다. 동일한 포트를 지정하면 통신 충돌이 발생합니다.
---
## 2.2 프로그램 실행
### 실행 방법
1. `leak_test_project.exe` 파일을 **더블 클릭**하여 실행합니다.
2. 프로그램이 전체화면(Maximized) 모드로 시작됩니다.
### 최초 실행 시 자동 생성되는 파일
| 파일 / 폴더 | 위치 | 설명 |
|-------------|------|------|
| `config.xml` | 프로그램 실행 폴더 (`C:\LeakTest\`) | 통신 포트, BaudRate, SPEC 값 등 모든 설정을 저장 |
| `Settings\DioConfig.ini` | `C:\LeakTest\Settings\` | DIO 보드 타입, 입출력 포인트 정의 |
| `Database.ini` | `C:\LeakTest\` | DB 접속 정보 및 로그인 인증 방식 설정 (최초 실행 시 기본 템플릿으로 생성) |
| `LoginOptions.json` | `C:\LeakTest\` | 로그인 화면 자동완성 드롭다운 선택지 저장 |
| `LoginHistory.json` | `C:\LeakTest\` | 최근 로그인 정보 최대 10건 자동 저장 |
| `Logs\` 폴더 | `C:\LeakTest\Logs\` | 날짜별 CSV 검사 로그 및 시스템 로그 저장 위치 |
### 프로그램 시작 시 자동 수행 동작
프로그램이 실행되면 아래 동작이 자동으로 수행됩니다:
1. DIO 보드 초기화
PCI-7432 보드를 확인하며, 실패 시 시뮬레이션 모드로 전환
2. PC_ON 출력 신호 ON
외부 설비에 PC 가동 상태를 실시간 알림
3. 설정값 로드
`config.xml` 파일로부터 통신 포트 및 판정 규격(SPEC) 로드
4. Sentinel C28 연결
리크 센서 시리얼 통신 포트 연결 시도
5. 4251 보드 연결
ID 판독 보드 시리얼 통신 포트 연결 시도
6. 시험 프로세스 스레드 기동
LEFT 및 RIGHT 채널의 백그라운드 계측 제어 스레드 개시
7. 메인 화면(Home View) 표시
프로그램 UI 전체 활성화 및 측정 대기 상태 진입
> **참고**: 시리얼 포트 연결에 실패하면 메인 화면의 **오류 메시지** 영역에 해당 오류가 표시됩니다. 이 경우 `Comm. Settings`에서 올바른 포트를 선택한 후 저장하면 자동으로 재연결됩니다.
---
## 2.3 프로그램 로그인 및 오프라인 모드 설정
프로그램 실행이 완료되면 메인 화면이 활성화되기 전, **작업 정보 입력 및 로그인 창**이 모달로 표시됩니다. 로그인을 성공적으로 마쳐야 메인 화면을 조작할 수 있습니다.
### 로그인 필드 구성
| 입력 필드 | 예시 | 설명 |
|-----------|------|------|
| **Maker** | `MOBIS` | 제조사 정보 |
| **Model** | `C28_TEST` | 검사 모델명 |
| **Variant 1** | `V1` | 세부 파생 모델 정보 1 |
| **Variant 2** | `V2` | 세부 파생 모델 정보 2 |
| **ID (Operator)** | `sa` | 작업자 ID |
| **PW (Password)** | `****` | 비밀번호 (DB 조회용) |
| **Line** | `EOL_01` | 생산 라인 번호 |
| **Lot No** | `LOT001` | 로트 번호 |
| **Jig No** | `JIG_L` | 지그 번호 |
> **참고 (자동완성)**: 각 필드에 마우스를 클릭하거나 포커스를 두면, 이전 로그인 이력이 팝업 메뉴 형식으로 나열되어 간편하게 자동 완성을 사용할 수 있습니다.
### 로그인 방식 설정 (Database.ini)
프로그램 배포 폴더(`C:\LeakTest\Database.ini`)에 위치한 `Database.ini` 파일 설정에 따라 로그인 인증 방식이 달라집니다. 해당 파일이 누락된 경우 프로그램 최초 실행 시 기본 템플릿 정보와 함께 해당 경로에 자동으로 생성됩니다. 모든 설정 파일이 배포 폴더에 함께 위치하므로 경로 관리가 단순합니다.
```ini
; [데이터베이스 접속 상세 설정]
Db_Server=192.168.0.20
Db_Name=NE1aW_PT_SENSOR
Db_User=sa
Db_Password=sa1234
[Login]
Procedure=dbo.CheckOperator
ProcessName=EOL
OfflinePreview=false
```
- **온라인 인증 모드 (`OfflinePreview=false`)**: 지정된 개별 데이터베이스 접속 정보(`Db_Server`, `Db_Name`, `Db_User`, `Db_Password`)를 기반으로 데이터베이스에 접속하여 Stored Procedure(`Procedure`)로 ID/PW 존재 여부를 직접 확인합니다. DB 서버 연결 실패나 미등록 사용자일 경우 로그인이 거부됩니다.
- **오프라인 테스트 모드 (`OfflinePreview=true`)**: 데이터베이스를 거치지 않고, 필수 입력 값을 채우면 즉시 로그인이 허용됩니다. 네트워크 연결이 안 된 시뮬레이션 및 테스트 환경에서 사용합니다.
---
## 2.4 최초 설정 순서 (Step-by-Step)
프로그램을 처음 사용할 때는 반드시 아래 순서로 설정을 진행하세요.
### Step 1: 통신 설정 (가장 먼저 수행)
> 하드웨어와의 통신이 설정되어야 이후 모든 기능이 정상 동작합니다.
1. 하단 메뉴 바에서 **`Comm. Settings (통신 설정)`** 버튼을 클릭합니다.
2. **통신 설정** 팝업 창이 메인 창 중앙에 표시됩니다.
**4251 보드 설정 (좌측 영역):**
| 설정 항목 | 설명 | 선택 방법 | 기본값 |
|-----------|------|----------|--------|
| `4251 BaudRate` | 통신 속도 | 드롭다운에서 선택 (9600/19200/38400/115200) | `115200` |
| `4251 Port` | COM 포트 | 드롭다운에서 연결된 포트 선택 | `COM3` |
**Sentinel C28 설정 (우측 영역):**
| 설정 항목 | 설명 | 선택 방법 | 기본값 |
|-----------|------|----------|--------|
| `Sensor BaudRate` | 통신 속도 | 드롭다운에서 선택 (9600/19200/38400/115200) | `9600` |
| `Sensor Port` | COM 포트 | 드롭다운에서 연결된 포트 선택 | `COM1` |
3. 모든 항목을 설정한 후 **`설정 저장`** 버튼을 클릭합니다.
4. "통신 설정이 저장되었습니다." 메시지가 표시되면 설정 완료입니다.
> **⚠️ 중요**: 저장 시 기존의 모든 시리얼 통신 연결이 해제되고, 새로운 설정으로 자동 재연결됩니다. 이 과정에서 진행 중인 시험이 있다면 중단될 수 있습니다.
> **참고**: COM 포트 목록에는 현재 PC에 물리적으로 연결된 시리얼 장치만 표시됩니다. 원하는 포트가 보이지 않으면:
> - USB-시리얼 케이블이 PC에 연결되어 있는지 확인
> - 장치 관리자에서 해당 포트의 드라이버가 정상 설치되었는지 확인
> - 다른 프로그램이 해당 포트를 점유하고 있지 않은지 확인
---
### Step 2: 시험 설정 (SPEC 규격값 입력)
1. 하단 메뉴 바에서 **`Parameters (시험 설정)`** 버튼을 클릭합니다.
2. **시험 설정** 팝업 창이 표시됩니다.
| 설정 항목 | 설명 | 입력 형식 | 기본값 |
|-----------|------|----------|--------|
| `SPEC UL (sccm)` | 누설 상한 규격값 | 소수점 포함 숫자 (예: `1.00`) | `1.00` |
| `SPEC LL (sccm)` | 누설 하한 규격값 | 소수점 포함 숫자 (예: `-1.00`) | `-1.00` |
3. 값을 입력한 후 **`설정 저장`** 버튼을 클릭합니다.
4. "파라미터 설정이 저장되었습니다." 메시지가 표시되면 완료입니다.
> **참고**: SPEC UL/LL 값은 좌/우 양쪽 채널에 **공통으로 적용**됩니다.
> **판정 기준**: `SPEC LL ≤ 측정값 ≤ SPEC UL` 이면 **OK**, 범위를 벗어나면 **NG**로 판정됩니다.
---
### Step 3: 동작 테스트 (선택사항)
모든 설정이 완료되면 하단 메뉴의 **`ID Test (L)`** 또는 **`ID Test (R)`** 버튼으로 간단한 동작 테스트를 수행할 수 있습니다.
1. **`ID Test (L)`** 버튼을 클릭합니다.
2. 좌측 채널의 진행 메시지가 순서대로 표시됩니다:
- `시험 시작` → `센서 정보 읽는 중` → `ID 테스트 완료` (또는 `ID 테스트 실패`)
3. 좌측 채널의 **ID** 영역에 읽은 제품 ID가 표시되면 정상입니다.
> **참고**: ID Test는 DIO 시작 신호 없이도 4251 보드의 센서 판독 기능만 단독으로 테스트합니다. 실제 LEAK 시험은 수행하지 않습니다.
---
## 2.5 설정 변경 시 주의사항
| 상황 | 동작 | 주의 |
|------|------|------|
| 통신 설정 저장 | 모든 시리얼 연결 해제 → 새 설정으로 재연결 | 시험 중 변경 시 시험 중단 |
| 시험 설정 저장 | 즉시 메인 화면의 SPEC 표시 갱신 | 진행 중인 시험에는 영향 없음 |
| 프로그램 재시작 | `config.xml`에서 마지막 저장된 설정 자동 로드 | 별도 작업 불필요 |
---
[← 이전: 시스템 개요](01_시스템_개요.md) | [다음: 메인 화면 →](03_메인_화면.md)