# [생산] MAXIMUM & ALTO 기능 자동 검사 프로그램

## 1. 프로그램 개요

| 항목         | 내용                                                                                                                   |
| ---------- | -------------------------------------------------------------------------------------------------------------------- |
| **프로그램 명** | `ProductFunctionTester`                                                                            |
| **실행파일 명** | `ProductFunctionTester.exe`                                                                            |
| **설치 위치**  | 6층 공장 라인 중간 / 9층 사무실 가장 오른쪽 검사 장비                                                                                    |
| **용도**     | 반 조립 제품의 주파수 발생 여부 검사 및 제조 정보 자동 입력                                                                                  |
| **연결 장비**  | Oscilloscope, Spectrum Analyzer, Control Box JIG, Barcode Scanner 등                                                  |
| **설명**     | 자동으로 Jig 작동, 펌웨어 확인, 주파수 출력 감지 후 제조 정보 입력까지 수행하는 통합 검사 시스템                                                           |

---

## 2. 프로그램 UI

| 메인 화면                                                          | 설정 화면                                                              |
| -------------------------------------------------------------------- | --------------------------------------------------------------------- |
| ![메인 화면](main.png) | ![설정 화면](set.png) |

---

## 3. 검사 모드별 기능 요약

| 모드               | 검사 구분                | 라디오 버튼 이름    | 코드 변수명    | DB 메서드                           | 관련 테이블                                                                 |
| ---------------- | -------------------- | ------------ | --------- | -------------------------------- | ---------------------------------------------------------------------- |
| **1. MAXIMUM**   | 업체전용 (RF/EP)         | `rdbCompany` | `Company` | -                                | -                                                                      |
|                  | 수입검사 (HF/RF/EP)      | `rdbIQC`     | `iqc`     | `IQC_PostReg()`                  | `Pcbs`                                                                 |
|                  | 생산 1 (HF측정/정보입력)     | `rdbHF`      | `prod_HF` | `HIFU_PostReg()`, `dbHFSave()`   | `prods`, `jomtTesterDB.jomtHFTestTbl`, `jomtTesterDB.jomtCartridgeTbl` |
|                  | 생산 2 (RF/MC/EP)      | `rdbRFMCEP`  | `prod_RF` | `RF_PostReg()`, `dbRFSave()`     | `prods`, `jomtTesterDB.jomtRFTestTbl`, `jomtTesterDB.jomtCartridgeTbl` |
| **2. ALOTO**     | 수입검사 (HF/EP)         | `rdbAltoIqc` | `altoIQC` | `ALIQC_PostReg()`                | `Pcbs`                                                                 |
|                  | 생산 3 (HF/EP)         | `rdbAltoPD`  | `altoPD`  | `ALPD_PostReg()`, `dbAltoSave()` | `prods`, `jomtTesterDB.jomtRFTestTbl`, `jomtTesterDB.jomtNonTDTbl`     |
| **3. DUALSONIC** | ❌ 수입검사 (HF) *(비활성화)* | `rdbDsIQC`   | `DS_IQC`  | -                                | -                                                                      |
|                  | 생산 4 (HF)            | `rdbDsPD`    | `DS_PD`   | -                                | -                                                                      |
| **4. EFFECT**    | ❌ 수입검사 (HF) *(비활성화)* | `rdbEFIQC`   | `EF_IQC`  | -                                | -                                                                      |
|                  | 생산 5 (HF측정/정보입력)     | `rdbEFPD`    | `EF_PD`   | `HIFU_PostReg()`, `dbHFSave()`   | `prods`, `jomtTesterDB.jomtHFTestTbl`, `jomtTesterDB.jomtCartridgeTbl` |

#### 참고

* `❌ 비활성화` 표시는  DUALSONIC/EFFECT의 수입검사 모드는 UI상 비활성화됨.
* HF : HIFU / RF : 고주파 파형검사(Tight-UP)/ EP : 일렉트로 포레이션 파형검사(Cos-UP) / MC: 미세전류

---

## 4. 검사 순서 흐름도

```mermaid
flowchart TD
    A([프로그램 시작])
    B([USB / GPIB 연결])
    C([설정 파일 불러오기])
    D([DB 연결 확인])
    E([검사 모드 선택])
    F{검사 모드 분기}
    G1([업체전용 검사 실행])
    G2([수입검사 실행])
    G3([생산검사 실행])
    H([테스트 실행])
    I([검사 결과 저장<br>DB / CSV])
    J([검사 종료])

    A --> B --> C --> D --> E --> F
    F --> G1 --> H
    F --> G2 --> H
    F --> G3 --> H
    H --> I --> J

```

---

## 5. 데이터베이스 테이블 구성

```vbnet
' 메인 테이블
Private TDTable               = "jomtTesterDB.jomtCartridgeTbl"
Private hfDataTable           = "jomtTesterDB.jomtHFTestTbl"
Private rfDataTable           = "jomtTesterDB.jomtRFTestTbl"
Private pd1CntTable           = "jomtTesterDB.jomtMES_PD1Tbl"
Private iqcCntTable           = "jomtTesterDB.jomtMES_IQCTbl"
Private NonTDTable            = "jomtTesterDB.jomtNonTDTbl"

' 테스트 서버용 테이블
Private TDTestTable           = "jomtTesterServerDB.jomtCartridgeTbl"
Private hfDataTestTable       = "jomtTesterServerDB.jomtHFTestTbl"
Private rfDataTestTable       = "jomtTesterServerDB.jomtRFTestTbl"
Private pd1CntTestTable       = "jomtTesterServerDB.jomtMES_PD1Tbl"
Private iqcCntTestTable       = "jomtTesterServerDB.jomtMES_IQCTbl"
Private NonTDTestTable        = "jomtTesterServerDB.jomtNonTDTbl"

' 사용 중인 현재 테이블
Private TDTableNow            = TDTable
Private hfTableNow            = hfDataTable
Private rfTableNow            = rfDataTable
Private pd1CntTableNow        = pd1CntTable
Private iqcCntTableNow        = iqcCntTable
Private NonTDTableNow         = NonTDTable
```

## 📎 기타 참고 자료

* [프로그램 사용 설명서](2024.01.23_MAXIMUM 및 ALTO 검사 자동화 프로그램 사용 설명서(수정2).pptx)

