- 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는 제거
2.0 KiB
2.0 KiB
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 타입