Files
ATV_STDLabelAttach/Handler/README.md
ChiKyun Kim 9a7d1d27c7 프로젝트 구조 개선 및 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>
2025-08-07 08:35:56 +09:00

144 lines
4.2 KiB
Markdown

# 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을 기준으로 작성되었습니다.*