3.9 KiB
3.9 KiB
[생산] 필름 압착기 프로그램
1. 프로그램 개요
항목 | 내용 |
---|---|
프로그램 명 | CartridgeFilmAttacher |
실행 파일 명 | _12.DUALSONIC_Cartridge_Film_Pressing.exe |
설치 위치 | 6층 입구 오른쪽 검사 공간 |
용도 | 필름 압착 기계 제어 /필름 작업 공정 중 압착기 동작 시 자동 시간 카운트 및 동작/자동 합불 판정 없음 (검사자가 육안으로 합불 판단)/ 중단 시 자동 불량 처리 |
2. 프로그램 UI
메인 화면 | 실행 화면 |
---|---|
![]() |
![]() |
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)
📎 기타 참고 자료 (흐름도)