From 13ed8c88ec0614b3a25574b2363619b7f43b3dd9 Mon Sep 17 00:00:00 2001 From: kje97 Date: Tue, 1 Jul 2025 14:32:16 +0900 Subject: [PATCH] Update README.md --- README.md | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) diff --git a/README.md b/README.md index e69de29..bfe7dc9 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,96 @@ +# **[생산] 필름 압착기 프로그램** + +## 1. 프로그램 개요 + +| 항목 | 내용 | +| ---------- | ---------------------------------------------------------------- | +| **프로그램 명** | `CartridgeFilmAttacher` | +| **실행 파일 명** | `_12.DUALSONIC_Cartridge_Film_Pressing.exe` | +| **설치 위치** | 6층 입구 오른쪽 검사 공간 | +| **용도** | 필름 압착 기계 제어 /필름 작업 공정 중 압착기 동작 시 자동 시간 카운트 및 동작/자동 합불 판정 없음 (검사자가 육안으로 합불 판단)/ 중단 시 자동 불량 처리 | + +--- + +## 2. 프로그램 UI + +| 메인 화면 | 실행 화면 | +| ------------------------ | --------------------------- | +| ![메인 화면](docs/aging_main.png) | ![실행 화면](docs/aging_start.png) | + +--- + +## 3. 기능 요약 + +| 기능 | 설명 | +| ---------------------------- | ----------------------------------------------------------------------------- | +| **라디오 버튼 선택에 따른 UI 및 설정 분기** | 포트 수(10채널/20채널), 시간 설정 모드에 따라 UI 그룹박스 표시 여부, 시리얼 포트 배열 크기, 초기값, 위치 변경 등 자동 조정 | +| **COM 포트 스캔 및 연결** | 스캔 버튼 클릭 시 PC의 COM 포트 목록 불러오기, 연결 버튼 클릭 시 선택한 포트 오픈 및 설정 저장 | +| **포트별 측정 시작/정지** | 각 채널별 상태에 따라 시작(`start`), 진행(`play`), 중지(`middleStop`, `endStop`) 처리 및 명령 전송 | +| **타이머 기반 시간 카운트다운** | 실행 중인 채널의 남은 시간을 1초씩 감소시키며 UI에 남은 시간 표시, 시간이 0이 되면 자동 정지 및 후속 처리 수행 | +| **전체 실행/정지 제어** | 전체 내리기/올리기 버튼을 통해 모든 채널의 상태 일괄 전환 및 타이머 제어 | +| **초기화 및 종료 처리** | 모든 채널 시간 및 UI 초기화, 종료 시 열려 있는 포트 및 쓰레드 안전 종료 및 정리 | + +--- + +## 4. 검사 순서 흐름 + +``` +[사용자 (UI)] + ↓ ① Start 버튼 클릭 +[processRun(chNum)] + ↓ + ├ 상태 변경 → 'start' + ├ 데이터 초기화 → runDataReset() + ├ 제작 개수 +1 + ├ UI: + - chStartbtn.Text → '정지' + - chTimeText 배경 → 노란색 + - chTimebtn / chResetbtn → 비활성화 + ↓ +[runSystemOnOff(True)] + ↓ +[playTimer] + ↓ 주기적으로 → [playTimer_Tick()] + ↓ ② nowTime 1초 감소, 배경 깜빡임 (Moccasin ↔ Pink) + ↓ ③ nowTime == 0 → btnRunning() + ↓ +[btnRunning(chNum)] + ↓ 하드웨어 통신 (state_updown) + ↓ 성공 → processRun(chNum) 재호출 + ↓ 실패 → runState='wait', 에러 처리 + ↓ +[processRun(chNum)] + ↓ 종료 처리 + ├ 종료 종류: + • nowTime == 0 → endStop (성공) + - UI: chTimeText → 초록색 + - chStartbtn.Text → '시작' + - OkNg = True + • 조기 종료 → middleStop (실패) + - UI: chTimeText → 빨간색 + - chStartbtn.Text → '시작' + - OkNg = False + ├ 로컬 파일 저장 → saveLocalFile() + ├ MQTT 데이터 전송 → Mqtt_DataSend() + ├ 오늘 카운트 갱신 → txbToday.Text +=1 + ├ 상태 → 'wait' + ├ UI: + - chTimebtn / chResetbtn → 활성화 + +``` + +--- + +## 5. MQTT (mes.jionmeditech.com^JION/FILM/001) + + + +--- + +## 📎 기타 참고 자료 (흐름도) + +```mermaid + + +``` +