qrmode 에서 wms rcv 태그 인식되게 함
This commit is contained in:
@@ -1,109 +1,109 @@
|
||||
# CLAUDE.md
|
||||
|
||||
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||||
이 파일은 Claude Code (claude.ai/code)가 이 저장소에서 코드 작업을 할 때 지침을 제공합니다.
|
||||
|
||||
## Project Overview
|
||||
## 프로젝트 개요
|
||||
|
||||
This is an industrial automation system for ATV (Automatic Test Vehicle) reel label attachment, modification, and transfer operations. The system is built in C# (.NET Framework 4.8) using Windows Forms and integrates with various hardware components including motion controllers, barcode readers, printers, and PLCs.
|
||||
이것은 ATV (Automatic Test Vehicle) 릴 라벨 부착, 수정 및 전송 작업을 위한 산업 자동화 시스템입니다. 시스템은 Windows Forms를 사용하여 C# (.NET Framework 4.8)로 구축되었으며, 모션 컨트롤러, 바코드 리더, 프린터 및 PLC를 포함한 다양한 하드웨어 구성 요소와 통합됩니다.
|
||||
|
||||
## Build Commands
|
||||
## 빌드 명령어
|
||||
|
||||
```bash
|
||||
# Build the main solution
|
||||
# 메인 솔루션 빌드
|
||||
msbuild "STDLabelAttach(ATV).sln" /p:Configuration=Debug /p:Platform="Any CPU"
|
||||
|
||||
# Build for release
|
||||
# 릴리즈 빌드
|
||||
msbuild "STDLabelAttach(ATV).sln" /p:Configuration=Release /p:Platform="Any CPU"
|
||||
|
||||
# Build specific project (example)
|
||||
# 특정 프로젝트 빌드 (예시)
|
||||
msbuild "Project\STDLabelAttach(ATV).csproj" /p:Configuration=Debug
|
||||
|
||||
# Build for x86 platform (common configuration)
|
||||
# x86 플랫폼 빌드 (일반적인 구성)
|
||||
msbuild "STDLabelAttach(ATV).sln" /p:Configuration=Debug /p:Platform=x86
|
||||
```
|
||||
|
||||
## Architecture Overview
|
||||
## 아키텍처 개요
|
||||
|
||||
### Core Components
|
||||
### 핵심 구성 요소
|
||||
|
||||
- **Project/**: Main application with UI and business logic
|
||||
- Contains the primary Windows Forms application (`fMain.cs`)
|
||||
- Implements state machine logic in `RunCode/StateMachine/` and `RunCode/Step/`
|
||||
- Device interfaces in `Device/` folder (KeyenceBarcode, SATOPrinter, TowerLamp, etc.)
|
||||
- Dialog forms for user interactions
|
||||
- **Project/**: UI 및 비즈니스 로직이 포함된 메인 애플리케이션
|
||||
- 기본 Windows Forms 애플리케이션 포함 (`fMain.cs`)
|
||||
- `RunCode/StateMachine/` 및 `RunCode/Step/`에서 상태 머신 로직 구현
|
||||
- `Device/` 폴더의 디바이스 인터페이스 (KeyenceBarcode, SATOPrinter, TowerLamp 등)
|
||||
- 사용자 상호작용을 위한 다이얼로그 폼
|
||||
|
||||
- **Project_form2/**: Secondary receiver application for data handling
|
||||
- Handles SID (Serial ID) conversion and processing
|
||||
- Customer information management
|
||||
- Import/export functionality
|
||||
- **Project_form2/**: 데이터 처리를 위한 보조 수신기 애플리케이션
|
||||
- SID (Serial ID) 변환 및 처리 담당
|
||||
- 고객 정보 관리
|
||||
- 가져오기/내보내기 기능
|
||||
|
||||
- **Sub/**: Shared libraries and utilities
|
||||
- `arCtl/`: Custom UI controls and components
|
||||
- `arAzinAxt/`: Motion controller interface (AzinAxt hardware)
|
||||
- `arRS232/`: Serial communication library
|
||||
- `AmkorRestfulService/`: RESTful API service for external integration
|
||||
- `CommSM/`: State machine communication library
|
||||
- `CommUtil/`: Common utilities and dialogs
|
||||
- **Sub/**: 공유 라이브러리 및 유틸리티
|
||||
- `arCtl/`: 사용자 정의 UI 컨트롤 및 구성 요소
|
||||
- `arAzinAxt/`: 모션 컨트롤러 인터페이스 (AzinAxt 하드웨어)
|
||||
- `arRS232/`: 시리얼 통신 라이브러리
|
||||
- `AmkorRestfulService/`: 외부 통합을 위한 RESTful API 서비스
|
||||
- `CommSM/`: 상태 머신 통신 라이브러리
|
||||
- `CommUtil/`: 공통 유틸리티 및 다이얼로그
|
||||
|
||||
### Key Technologies
|
||||
### 주요 기술
|
||||
|
||||
- **Hardware Integration**: Motion controllers (AzinAxt), barcode readers (Keyence), SATO printers
|
||||
- **Database**: Entity Framework 6.2.0 with SQL Server
|
||||
- **Communication**: Serial (RS232), RESTful APIs, WebSocket
|
||||
- **Vision**: EmguCV for image processing
|
||||
- **Protocols**: Custom state machine implementation for equipment control
|
||||
- **하드웨어 통합**: 모션 컨트롤러 (AzinAxt), 바코드 리더 (Keyence), SATO 프린터
|
||||
- **데이터베이스**: SQL Server를 사용한 Entity Framework 6.2.0
|
||||
- **통신**: 시리얼 (RS232), RESTful API, WebSocket
|
||||
- **비전**: 이미지 처리를 위한 EmguCV
|
||||
- **프로토콜**: 장비 제어를 위한 사용자 정의 상태 머신 구현
|
||||
|
||||
### State Machine Architecture
|
||||
### 상태 머신 아키텍처
|
||||
|
||||
The application uses a comprehensive state machine pattern:
|
||||
- `RunCode/Step/`: Main operational steps (INIT, IDLE, RUN, HOME, FINISH)
|
||||
- `RunCode/StateMachine/`: Core state machine logic and event handling
|
||||
- `RunCode/RunSequence/`: Specific operation sequences (barcode reading, printing, picking)
|
||||
애플리케이션은 포괄적인 상태 머신 패턴을 사용합니다:
|
||||
- `RunCode/Step/`: 주요 작업 단계 (INIT, IDLE, RUN, HOME, FINISH)
|
||||
- `RunCode/StateMachine/`: 핵심 상태 머신 로직 및 이벤트 처리
|
||||
- `RunCode/RunSequence/`: 특정 작업 시퀀스 (바코드 읽기, 인쇄, 피킹)
|
||||
|
||||
### Device Management
|
||||
### 디바이스 관리
|
||||
|
||||
- Motion control through `arAzinAxt` library with position validation
|
||||
- Barcode reading with Keyence scanner integration
|
||||
- Label printing via SATO printer API
|
||||
- PLC communication for safety and I/O control
|
||||
- 위치 검증이 포함된 `arAzinAxt` 라이브러리를 통한 모션 제어
|
||||
- Keyence 스캐너 통합을 통한 바코드 읽기
|
||||
- SATO 프린터 API를 통한 라벨 인쇄
|
||||
- 안전 및 I/O 제어를 위한 PLC 통신
|
||||
|
||||
## Development Patterns
|
||||
## 개발 패턴
|
||||
|
||||
### Configuration Management
|
||||
- Settings stored in `Setting/` classes with UI forms for modification
|
||||
- System parameters in `System_Setting.cs` and `System_MotParameter.cs`
|
||||
- User-specific settings in `UserSetting.cs`
|
||||
### 구성 관리
|
||||
- 수정을 위한 UI 폼이 포함된 `Setting/` 클래스에 설정 저장
|
||||
- `System_Setting.cs` 및 `System_MotParameter.cs`의 시스템 매개변수
|
||||
- `UserSetting.cs`의 사용자별 설정
|
||||
|
||||
### Data Management
|
||||
- Entity Framework models in `Model1.edmx`
|
||||
- Database managers in `Manager/` folder for different data types
|
||||
- Component classes for reel information, results, and SID conversion
|
||||
### 데이터 관리
|
||||
- `Model1.edmx`의 Entity Framework 모델
|
||||
- 다양한 데이터 유형을 위한 `Manager/` 폴더의 데이터베이스 관리자
|
||||
- 릴 정보, 결과 및 SID 변환을 위한 구성 요소 클래스
|
||||
|
||||
### UI Patterns
|
||||
- Custom controls in `UIControl/` folder
|
||||
- Consistent dialog patterns in `Dialog/` folder
|
||||
- Resource management with embedded images and icons
|
||||
### UI 패턴
|
||||
- `UIControl/` 폴더의 사용자 정의 컨트롤
|
||||
- `Dialog/` 폴더의 일관된 다이얼로그 패턴
|
||||
- 포함된 이미지 및 아이콘을 사용한 리소스 관리
|
||||
|
||||
## Important Notes
|
||||
## 중요 사항
|
||||
|
||||
- The system requires specific hardware drivers (AzinAxt motion controller, Keyence SDK, SATO printer drivers)
|
||||
- Database connection strings are configured in `app.config`
|
||||
- Motion parameters are stored in `.swpp` and `.usrs` files in `MotParam/`
|
||||
- The application supports both Debug and Release configurations with different output paths
|
||||
- Platform target is typically x64 for hardware compatibility
|
||||
- 시스템에는 특정 하드웨어 드라이버가 필요합니다 (AzinAxt 모션 컨트롤러, Keyence SDK, SATO 프린터 드라이버)
|
||||
- 데이터베이스 연결 문자열은 `app.config`에서 구성됩니다
|
||||
- 모션 매개변수는 `MotParam/`의 `.swpp` 및 `.usrs` 파일에 저장됩니다
|
||||
- 애플리케이션은 서로 다른 출력 경로를 가진 Debug 및 Release 구성을 모두 지원합니다
|
||||
- 플랫폼 대상은 일반적으로 하드웨어 호환성을 위해 x64입니다
|
||||
|
||||
## Testing
|
||||
## 테스트
|
||||
|
||||
No formal unit test projects are present. Testing is typically done through:
|
||||
- Manual operation using the main application
|
||||
- Hardware-in-the-loop testing with actual equipment
|
||||
- Debug dialogs and monitoring forms in the application
|
||||
공식적인 단위 테스트 프로젝트는 없습니다. 테스트는 일반적으로 다음을 통해 수행됩니다:
|
||||
- 메인 애플리케이션을 사용한 수동 작업
|
||||
- 실제 장비를 사용한 하드웨어 인 더 루프 테스트
|
||||
- 애플리케이션의 디버그 다이얼로그 및 모니터링 폼
|
||||
|
||||
## Dependencies
|
||||
## 종속성
|
||||
|
||||
Key external dependencies include:
|
||||
주요 외부 종속성은 다음과 같습니다:
|
||||
- Entity Framework 6.2.0
|
||||
- Newtonsoft.Json 13.0.3
|
||||
- EmguCV 4.5.1
|
||||
- Microsoft OWIN stack for web services
|
||||
- Various hardware-specific SDKs and drivers
|
||||
- 웹 서비스를 위한 Microsoft OWIN 스택
|
||||
- 다양한 하드웨어별 SDK 및 드라이버
|
||||
Reference in New Issue
Block a user