# ATV Reel Label Attach, Modify & Transfer System Data Source=10.201.11.21,50150;Initial Catalog=WMS;Persist Security Info=True;User ID=wmsadm;Password=78#4AmWnh1!!;Encrypt=False;TrustServerCertificate=True Data Source=V1SPCSQL,51122;Initial Catalog=WMS;Persist Security Info=True;User ID=wmsadm;Password="2!x2$yY8R;}$";Encrypt=False;TrustServerCertificate=True ## 개요 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을 기준으로 작성되었습니다.*