프로젝트 구조 개선 및 README.md 추가
- UIControl 프로젝트 구조 변경 (CapCleaningControl → Sub/UIControl) - arAjinextek 라이브러리 통합 및 구조 개선 - 새로운 arAjinextek_Union 프로젝트 추가 - 솔루션 파일에 README.md 추가 - QR 모드에서 WMS RCV 태그 인식 기능 강화 - 데이터베이스 스키마 업데이트 및 관련 클래스 수정 - 프린터 및 바코드 장치 연동 로직 개선 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
144
Handler/README.md
Normal file
144
Handler/README.md
Normal file
@@ -0,0 +1,144 @@
|
||||
# ATV Reel Label Attach, Modify & Transfer System
|
||||
|
||||
## 개요
|
||||
|
||||
ATV(Automatic Test Vehicle) 릴 라벨 부착, 수정 및 전송을 위한 산업 자동화 시스템입니다. 이 시스템은 Windows Forms를 사용하여 C# (.NET Framework 4.8)로 구축되었으며, 모션 컨트롤러, 바코드 리더, 프린터, PLC 등 다양한 하드웨어 구성 요소와 통합됩니다.
|
||||
|
||||
## 주요 기능
|
||||
|
||||
- **자동 라벨 부착**: 모션 컨트롤러를 통한 정밀한 라벨 부착
|
||||
- **바코드 인식**: Keyence 바코드 리더를 통한 QR/바코드 스캔
|
||||
- **라벨 인쇄**: SATO 프린터를 통한 고품질 라벨 인쇄
|
||||
- **PLC 제어**: 산업용 PLC와의 통신을 통한 장비 제어
|
||||
- **데이터 관리**: SQL Server 기반 데이터베이스 관리
|
||||
- **상태 모니터링**: 실시간 장비 상태 및 작업 진행 상황 모니터링
|
||||
|
||||
## 시스템 요구사항
|
||||
|
||||
- **OS**: Windows 10/11 (x64)
|
||||
- **Framework**: .NET Framework 4.8
|
||||
- **Visual Studio**: 2017 이상
|
||||
- **Database**: SQL Server
|
||||
|
||||
### 하드웨어 요구사항
|
||||
|
||||
- AzinAxt 모션 컨트롤러 및 드라이버
|
||||
- Keyence 바코드 리더 SDK
|
||||
- SATO 프린터 드라이버
|
||||
- 산업용 PLC (Crevis)
|
||||
|
||||
## 빌드 및 실행
|
||||
|
||||
### 빌드 명령어
|
||||
|
||||
```bash
|
||||
# Debug 빌드
|
||||
msbuild "STDLabelAttach(ATV).sln" /p:Configuration=Debug /p:Platform=x86
|
||||
|
||||
# Release 빌드
|
||||
msbuild "STDLabelAttach(ATV).sln" /p:Configuration=Release /p:Platform=x86
|
||||
|
||||
# 특정 프로젝트 빌드
|
||||
msbuild "Project\STDLabelAttach(ATV).csproj" /p:Configuration=Debug
|
||||
```
|
||||
|
||||
### 설정
|
||||
|
||||
1. `app.config`에서 데이터베이스 연결 문자열 구성
|
||||
2. `MotParam/` 폴더의 모션 매개변수 파일 확인
|
||||
3. 하드웨어 드라이버 설치 및 구성
|
||||
|
||||
## 프로젝트 구조
|
||||
|
||||
### 주요 프로젝트
|
||||
|
||||
- **Project/**: 메인 애플리케이션 (STDLabelAttach(ATV))
|
||||
- Windows Forms 기반 사용자 인터페이스
|
||||
- 상태 머신 기반 제어 로직
|
||||
- 하드웨어 디바이스 인터페이스
|
||||
|
||||
- **Project_form2/**: 데이터 처리 수신기 애플리케이션
|
||||
- SID(Serial ID) 변환 및 처리
|
||||
- 고객 정보 관리
|
||||
- 데이터 가져오기/내보내기
|
||||
|
||||
- **ResultView/**: 결과 조회 애플리케이션
|
||||
- 작업 결과 및 히스토리 조회
|
||||
|
||||
### 공유 라이브러리 (Sub/)
|
||||
|
||||
- **arAzinAxt/**: 모션 컨트롤러 인터페이스
|
||||
- **arImageViewer_Emgu/**: 이미지 처리 (EmguCV)
|
||||
- **CommSM/**: 상태 머신 통신
|
||||
- **StdLabelPrint/**: 표준 라벨 인쇄
|
||||
|
||||
## 아키텍처
|
||||
|
||||
### 상태 머신 패턴
|
||||
|
||||
시스템은 포괄적인 상태 머신 패턴을 사용합니다:
|
||||
|
||||
- **Step/**: 주요 작업 단계 (INIT, IDLE, RUN, HOME, FINISH)
|
||||
- **StateMachine/**: 핵심 상태 머신 로직 및 이벤트 처리
|
||||
- **RunSequence/**: 특정 작업 시퀀스 실행
|
||||
|
||||
### 디바이스 관리
|
||||
|
||||
- **모션 제어**: AzinAxt 라이브러리를 통한 정밀한 위치 제어
|
||||
- **바코드 읽기**: Keyence 스캐너 통합
|
||||
- **라벨 인쇄**: SATO 프린터 API 연동
|
||||
- **PLC 통신**: 안전 및 I/O 제어
|
||||
|
||||
### 데이터베이스
|
||||
|
||||
- **ORM**: Entity Framework 6.2.0
|
||||
- **모델**: Model1.edmx
|
||||
- **매니저**: 다양한 데이터 유형별 데이터베이스 매니저
|
||||
|
||||
## 개발 가이드
|
||||
|
||||
### 주요 파일
|
||||
|
||||
- **fMain.cs**: 메인 폼 및 UI 로직
|
||||
- **Pub.cs**: 전역 변수 및 공통 함수
|
||||
- **System_Setting.cs**: 시스템 설정 관리
|
||||
- **StateMachine.cs**: 상태 머신 핵심 로직
|
||||
|
||||
### 설정 관리
|
||||
|
||||
- **시스템 설정**: `Setting/` 클래스
|
||||
- **사용자 설정**: `UserSetting.cs`
|
||||
- **모션 매개변수**: `MotParam/` 폴더
|
||||
|
||||
### UI 컨트롤
|
||||
|
||||
- **사용자 정의 컨트롤**: `UIControl/` 폴더
|
||||
- **다이얼로그**: `Dialog/` 폴더
|
||||
- **리소스**: 이미지 및 아이콘
|
||||
|
||||
## 테스트
|
||||
|
||||
- 메인 애플리케이션을 통한 수동 테스트
|
||||
- 실제 하드웨어를 사용한 통합 테스트
|
||||
- 디버그 다이얼로그를 통한 실시간 모니터링
|
||||
|
||||
## 주요 종속성
|
||||
|
||||
- Entity Framework 6.2.0
|
||||
- Newtonsoft.Json 13.0.3
|
||||
- EmguCV 4.5.1
|
||||
- Microsoft OWIN 스택
|
||||
- Keyence AutoID SDK
|
||||
- SATO Printer API
|
||||
|
||||
## 라이선스
|
||||
|
||||
내부 사용 전용 - 상업적 재배포 금지
|
||||
|
||||
## 연락처
|
||||
|
||||
프로젝트 관련 문의사항이 있으시면 시스템 관리자에게 연락해 주세요.
|
||||
|
||||
---
|
||||
|
||||
*이 문서는 ATV Reel Label Attach, Modify & Transfer System v1.0을 기준으로 작성되었습니다.*
|
||||
Reference in New Issue
Block a user