- docs/project-overview.md — 프로젝트 개요 - docs/solution-structure.md — 솔루션 구조 - docs/ptop-architecture.md — PTOP 아키텍처 - docs/aurora-devices.md — Aurora 디바이스 목록 - docs/build-output.md — 빌드 출력 경로 - docs/harness-ptop.md — PTOP 하네스 구성 수정된 파일: → CLAUDE.md — 기존 내용을 6개 문서로 분리, @import 방식으로 변경 → .gitignore — .claude/ 추가 삭제된 파일: - _기존md파일/ 디렉토리 (원본) 제안 커밋 메시지: docs: CLAUDE.md를 주제별 문서로 분리 및 @import 방식으로 재구성 - 프로젝트 개요, 솔루션 구조, PTOP 아키텍처, 디바이스 목록, 빌드 경로, 하네스 구성을 별도 문서로 분리 - 각 문서는 200줄 이하로 규칙 5번 준수 - CLAUDE.md에서 @import로 참조하는 라이브러리 형태로 변경 (규칙 6번 준수) 형태로 변경 (규칙 6번 준수) - .gitignore에 .claude/ 추가, .ubisam_agent는 제거
52 lines
2.0 KiB
Markdown
52 lines
2.0 KiB
Markdown
# ILSOS_PrismaticPTOP 핵심 구조
|
||
|
||
## 폴더 구조 및 주요 컴포넌트
|
||
|
||
```
|
||
ILSOS_PrismaticPTOP/
|
||
├── EquipDef.cs ← ID 상수 정의 (Device/Motor/Sequence/Recipe)
|
||
├── EquipmentSetup.cs ← 통합 제어 (초기화, 이벤트 구독, 시퀀스 시작)
|
||
├── Alarm/ ← 알람 코드 및 매니저
|
||
├── Device/
|
||
│ ├── ACS/ ← ACS 모션 제어 (X/Y축)
|
||
│ └── PLC/ ← PLC 통신 로직
|
||
├── Models/ ← 장비 특화 모델
|
||
├── Process/ ← ProcessManager, CellInfo, WeldingData
|
||
├── Recipes/ ← MainRecipe, RMSHandler
|
||
├── Sequences/
|
||
│ ├── Monitoring/ ← 알람/상태 모니터링 시퀀스
|
||
│ ├── SeqAutoRunPrismaticGunStageA/B.cs
|
||
│ └── SubSequence/
|
||
│ ├── StageA/ ← Load, Weld, Unload, HeightMeas
|
||
│ └── StageB/ ← Load, Weld, Unload, HeightMeas
|
||
├── settings/ ← 세팅 정의 클래스
|
||
├── Tools/ ← 공통 유틸리티
|
||
└── Views/ ← WPF View/ViewModel
|
||
```
|
||
|
||
## 주요 ID 정의 (EquipDef.cs)
|
||
|
||
| 카테고리 | 예시 |
|
||
|---------|------|
|
||
| **DeviceIds** | ACS, MassFlowMeterStageA/B, HeightSensor, AJIN |
|
||
| **MotorIds** | ALineX/Y/Z, BLineX/Y/Z |
|
||
| **RecipeIds** | StageAMainRecipe, StageBMainRecipe |
|
||
| **SequenceIds** | SeqLoad/Weld/Unload/HeightMeas × StageA/B |
|
||
|
||
## 아키텍처 패턴
|
||
|
||
```
|
||
WPF UI Layer (Views/ + ViewModels)
|
||
↓
|
||
Machine Logic Layer (EquipmentSetup + Sequences + Process)
|
||
↓
|
||
Device Abstraction (AuroraDevices — 디바이스별 독립 모듈)
|
||
↓
|
||
Hardware Layer (ACS.SPiiPlusNET, Melsec, Serial/USB)
|
||
```
|
||
|
||
**기술 스택:**
|
||
- **이벤트 기반:** System.Reactive (Rx.NET)
|
||
- **의존성 주입:** AuroraEnv 글로벌 환경
|
||
- **메시지 큐:** String / Double / Int / JSON / LBAD 타입
|