8. 로그 및 데이터 관리
← 메뉴얼 목차로 돌아가기
8.1 검사 데이터 로그 (CSV)
기본 정보
| 항목 |
내용 |
| 저장 위치 |
C:\LeakTest\Logs\yyyy-MM-dd.csv |
| 파일 형식 |
CSV (UTF-8 인코딩) |
| 파일 생성 |
날짜별 자동 생성 (해당 날짜 첫 시험 시) |
| 데이터 추가 |
매 시험 완료 시 자동으로 해당 날짜 파일에 1행 추가 |
CSV 헤더 및 컬럼
IC_SN,PCB_Barcode,Maker,Model,Variant_1,Variant_2,Operator,Production_Date,Line,Lot_No,Jig_No,Channel,Spec_UL,Spec_LL,Leak_Value,Result
| 컬럼 |
예시 |
설명 |
IC_SN |
260508A00123B01C |
제품 고유 시리얼 번호 (PK/FK) |
PCB_Barcode |
260508A00123B01C |
PCB 바코드 고유 식별 정보 (UK) |
Maker |
Hyundai |
메이커 정보 |
Model |
NE1aW |
모델 정보 |
Variant_1 |
PT |
변형1 정보 |
Variant_2 |
SENSOR |
변형2 정보 |
Operator |
op001 |
작업자 ID |
Production_Date |
2026-05-08 10:30:15 |
검사 수행 일시 |
Line |
L1 |
작업 라인 번호 |
Lot_No |
LOT001 |
Lot 번호 |
Jig_No |
JIG01 |
지그 번호 |
Channel |
LEFT |
검사 채널 (LEFT 또는 RIGHT) |
Spec_UL |
1.00 |
규격 상한값 |
Spec_LL |
-1.00 |
규격 하한값 |
Leak_Value |
0.5234 |
측정된 릭 측정값 (소수점 4자리) |
Result |
OK |
최종 판정 결과 (OK 또는 NG) |
CSV 예시
IC_SN,PCB_Barcode,Maker,Model,Variant_1,Variant_2,Operator,Production_Date,Line,Lot_No,Jig_No,Channel,Spec_UL,Spec_LL,Leak_Value,Result
260508A00123B01C,260508A00123B01C,Hyundai,NE1aW,PT,SENSOR,op001,2026-05-08 10:30:15,L1,LOT001,JIG01,LEFT,1.00,-1.00,0.5234,OK
260508A00456D02E,260508A00456D02E,Hyundai,NE1aW,PT,SENSOR,op002,2026-05-08 10:30:45,L1,LOT001,JIG01,RIGHT,1.00,-1.00,1.2000,NG
참고: 타임아웃 발생 시에도 측정값 0.0000, 판정 NG로 로그에 기록됩니다.
참고: CSV 값에 쉼표, 따옴표, 줄바꿈이 포함된 경우 자동으로 이스케이프 처리됩니다.
8.2 시스템 로그
기본 정보
| 항목 |
내용 |
| 저장 위치 |
C:\LeakTest\Logs\yyyy-MM-dd_system.log |
| 파일 형식 |
텍스트 파일 (UTF-8 인코딩) |
| 내용 |
통신 오류, 시스템 이벤트 등 |
로그 형식
[HH:mm:ss.fff] [TAG] 메시지 내용
예시
[10:30:00.123] [SYSTEM] 프로그램 시작
[10:30:01.456] [COMM] Sentinel C28 포트 연결 성공 (COM1)
[10:35:15.789] [ERROR] Sentinel C28 통신 타임아웃
8.3 설정 파일
config.xml
| 항목 |
내용 |
| 위치 |
프로그램 실행 폴더 (C:\LeakTest\config.xml) |
| 생성 |
최초 실행 시 기본값으로 자동 생성 |
| 수정 |
Comm. Settings 또는 Parameters에서 저장 시 갱신 |
<AppConfig>
<SensorPort>COM1</SensorPort>
<SensorBaudRate>9600</SensorBaudRate>
<Board4251Port>COM3</Board4251Port>
<Board4251BaudRate>115200</Board4251BaudRate>
<Board4251Timeout>5000</Board4251Timeout>
<SpecUL>1.00</SpecUL>
<SpecLL>-1.00</SpecLL>
<EnableSpecMismatchAlarm>true</EnableSpecMismatchAlarm>
</AppConfig>
| 설정 키 |
기본값 |
설정 위치 |
설명 |
SensorPort |
COM1 |
Comm. Settings |
C28 센서 COM 포트 |
SensorBaudRate |
9600 |
Comm. Settings |
C28 센서 통신 속도 |
Board4251Port |
COM3 |
Comm. Settings |
4251 보드 COM 포트 |
Board4251BaudRate |
115200 |
Comm. Settings |
4251 보드 통신 속도 |
Board4251Timeout |
5000 |
(코드 내 고정) |
4251 보드 응답 대기 시간(ms) |
SpecUL |
1.00 |
Parameters |
누설 상한 규격값 |
SpecLL |
-1.00 |
Parameters |
누설 하한 규격값 |
EnableSpecMismatchAlarm |
true |
Comm. Settings |
스펙 불일치 알림 활성화 여부 (true/false) |
Database.ini
| 항목 |
내용 |
| 위치 |
C:\LeakTest\Database.ini |
| 생성 |
최초 실행 시 해당 파일이 없으면 기본 양식으로 자동 생성. 배포 폴더(C:\LeakTest\)와 동일 위치에 저장되어 경로 관리가 단순함 |
| 수정 |
메모장 등의 텍스트 에디터를 통해 연결 주소 및 프로시저 정보 직접 수정 |
; =====================================================================
; Leak Test System - 데이터베이스 및 로그인 설정 파일 (Database.ini)
; =====================================================================
; [데이터베이스 접속 상세 설정]
; Db_Server : 중앙 MSSQL 데이터베이스 서버의 IP 주소 또는 호스트명
; Db_Name : 검사 데이터를 저장할 대상 데이터베이스 이름
; Db_User : 데이터베이스 접속 계정 ID (예: sa)
; Db_Password: 데이터베이스 접속 계정의 비밀번호
Db_Server=127.0.0.1, 1433
Db_Name=Test_DB
Db_User=db_user
Db_Password=db_password
[Login]
; Procedure: 로그인 검증에 사용할 DB 저장 프로시저명입니다. (공란일 경우 기본 테이블 조회 쿼리 작동)
Procedure=dbo.CheckOperator
; ProcessName: 로그인 검증 시 전달할 공정 이름입니다.
ProcessName=EOL
; OfflinePreview: 오프라인 모드 활성화 여부 (true = DB 연결 없이 로그인 통과, false = 실제 DB 인증)
OfflinePreview=false
| 설정 키 |
예시 / 기본값 |
설명 |
Db_Server |
[서버IP], [포트번호] (예: 127.0.0.1, 1433) |
데이터베이스 서버 IP 주소 및 포트 번호 |
Db_Name |
[데이터베이스명] (예: Test_DB) |
대상 데이터베이스(DB) 이름 |
Db_User |
[사용자ID] (예: db_user) |
데이터베이스 접속 계정 ID |
Db_Password |
[비밀번호] (예: db_password) |
데이터베이스 접속 계정 비밀번호 |
Procedure |
dbo.CheckOperator |
로그인 계정 검증용 데이터베이스 프로그램명 |
ProcessName |
EOL |
검증 공정명 |
OfflinePreview |
false |
true 시 DB 연결 없이 로그인 즉시 성공 (오프라인 모드) |
SSL 인증 오류 방지: DB 연결 시 SSL 인증서 신뢰 오류가 발생하는 환경을 방지하기 위해 프로그램 내부에서 자동으로 TrustServerCertificate=True; 옵션을 연결 문자열 끝에 추가하여 안정적인 동작을 보장합니다.
LoginOptions.json / LoginHistory.json
| 항목 |
내용 |
| 위치 |
C:\LeakTest\ |
| 생성 |
최초 실행 시 자동 생성 |
| 수정 |
프로그램 내 로그인 화면 사용 시 자동 갱신 |
| 파일 |
설명 |
LoginOptions.json |
로그인 화면 각 필드(Maker, Model, Variant_1 등)의 자동완성 드롭다운 선택지 목록 저장 |
LoginHistory.json |
최근 로그인 정보(작업자 ID, 라인, 모델 등 전체 세트)를 최대 10건 저장하여 재사용 |
DioConfig.ini
| 항목 |
내용 |
| 위치 |
[프로그램 폴더]\Settings\DioConfig.ini |
| 생성 |
최초 실행 시 자동 생성 |
| 수정 |
일반적으로 수정 불필요 (하드웨어 변경 시에만) |
[DIO]
CompanyName=ADLink
BoardCnt=1
[BOARD_1]
BoardType=PCI_7432
BoardNumber=0
[BOARD_1_IN]
0=LEFT_START,1,좌측 시험 시작 신호
1=RIGHT_START,1,우측 시험 시작 신호
[BOARD_1_OUT]
0=LEFT_OK,1,좌측 합격 출력
1=RIGHT_OK,1,우측 합격 출력
2=PC_ON,1,PC 가동 신호
3=LEFT_NG,1,좌측 불합격 출력
4=RIGHT_NG,1,우측 불합격 출력
INI 포맷 설명: 비트인덱스=신호명,활성여부,설명
8.4 파일 관리 주의사항
| 주의사항 |
설명 |
| Logs 폴더 삭제 금지 |
검사 기록이 영구 삭제됩니다 |
| CSV 파일 직접 편집 |
Excel 등으로 편집 시 인코딩이 변경될 수 있으므로 주의 |
| config.xml 직접 편집 |
잘못된 값 입력 시 프로그램 오작동 가능. 프로그램 내 설정 화면 사용 권장 |
| 디스크 용량 |
일일 수백 건 검사 기준, 연간 약 50~100MB 정도의 로그가 생성됩니다 |
8.5 데이터베이스 데이터 관리 (dbo.EOL)
매 시험 완료 시 검사 결과 및 로그인 정보가 데이터베이스에 실시간으로 저장(MERGE/UPSERT)됩니다.
데이터베이스 저장 항목 안내
- 대상 테이블:
[dbo].[EOL]
- 매핑 상세:
| 데이터베이스 항목명 |
구분 |
설명 |
IC_SN |
문자형 (최대 10자) |
제품 고유 IC 일련번호 |
PCB_Barcode |
문자형 (최대 10자) |
조회된 PCB 바코드 정보 |
Maker |
문자형 (최대 10자) |
로그인 시 입력한 제조사명 |
Model |
문자형 (최대 10자) |
로그인 시 입력한 검사 모델명 |
Variant_1 |
문자형 (최대 10자) |
로그인 시 입력한 파생 모델명 1 |
Variant_2 |
문자형 (최대 10자) |
로그인 시 입력한 파생 모델명 2 |
Operator |
문자형 (최대 10자) |
검사자(작업자) ID |
Production_Date |
날짜/시간형 |
검사가 완료된 시간 |
Line |
문자형 (최대 30자) |
로그인 시 입력한 작업 라인명 |
Lot_No |
문자형 (최대 8자) |
로그인 시 입력한 Lot 번호 |
Jig_No |
문자형 (최대 10자) |
로그인 시 입력한 지그 번호 |
Channel |
문자형 (최대 5자) |
검사가 수행된 채널 (LEFT / RIGHT) |
Spec_UL |
숫자형 |
리크 판정 상한 기준값 |
Spec_LL |
숫자형 |
리크 판정 하한 기준값 |
Leak_Value |
숫자형 |
측정된 누설량 |
Result |
문자형 (최대 5자) |
최종 판정 결과 (OK / NG) |
← 이전: 시험 프로세스 | 다음: 오류 대응 →