LGES-OC5-PtoP-Welder/docs/ptop-architecture.md
NohDoyeon241104 3fc3789bfa 추가된 파일:
- 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는
  제거
2026-06-16 17:28:03 +09:00

52 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 타입