LGES-OC5-PtoP-Welder/docs/ptop-architecture.md
to3796zw eba70a4380 docs: PTOP 문서 최신화 및 Aurora 레퍼런스 연결
실제 repo와 어긋난 상위 아키텍처 문서를 현행 구조로 정정.
- 모듈명 ILSOS_PrismaticPTOP → ILSOS_PrismaticRD_PTOP 리네임 반영
- 삭제된 형제 모듈(Scanner/Gun/CleanLaser) 기술 정리
- PTOP 폴더구조·EquipDef ID·빌드 출력경로를 실제값으로 갱신
- architecture.md 200줄 이하로 슬림화(하네스 절 요약)
- CLAUDE.md에 Aurora 레퍼런스 README @import 연결

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 13:27:42 +09:00

56 lines
2.5 KiB
Markdown

# ILSOS_PrismaticRD_PTOP 핵심 구조
## 폴더 구조 및 주요 컴포넌트
```
ILSOS_PrismaticRD_PTOP/
├── EquipDef.cs ← ID 상수 정의 (DeviceIds / SequenceIds / StreamMessageNames)
├── EquipmentSetup.cs ← 통합 제어 (디바이스·시퀀스 등록, 이벤트 구독)
├── Alarm/ ← AlarmCode_PTOP, AlarmManager_PTOP
├── Device/
│ ├── IO/ ← PAIX_PTOP (디지털 IO)
│ └── PLC/ ← PLCControllerPTOP (Config / Address / Logic)
├── Models/ ← EquipmentSpecificModel_PTOP
├── Recipes/ ← RMSHandlerForPTOP
├── Sequences/
│ ├── SeqAutoRunPTOP.cs ← 자동운전 (현행 메인)
│ ├── SeqAutoRunComponentWeld.cs / SeqAutoRunPrismatic.cs
│ ├── SeqTestRun / SeqStreamTest / SeqEventQTest / SeqWaitWeldOrChangePage
│ ├── SequenceManager.cs / SequenceContextEx.cs
│ ├── Manual/ ← SeqComponentTeachingRun
│ └── Monitoring/ ← SeqAlarmMonitor, SeqStatusMonitor
├── Settings/ ← SettingUploadDataListForPTOP
└── Views/
├── Main/ ← UCMainAutoRun (+ ViewModel)
└── Model/ ← UCEquipmentSpecificEditor
```
## 주요 ID 정의 (EquipDef.cs)
| 클래스 | 멤버 (발췌) |
|---------|------|
| **DeviceIds** : CommonDeviceIds | `MassFlowMeter` (그 외 대부분 base `CommonDeviceIds` 상속) |
| **SequenceIds** : CommonSequenceIds | `SeqAutoRunPTOP`, `SeqAutoRunTDC`, `SeqAutoRunComponentWeld`, `SeqAlarmMonitor`, `SeqStatusMonitor`, `SeqTestRun`, `SeqStreamTest`, `SeqEventQTest` |
| **StreamMessageNames** | `MessageNameString/Double/Int/JSON/LBAD` |
> 이 머신엔 `MotorIds`/`RecipeIds` 클래스가 없음 — 모터/레시피 ID는 base `Common*` 또는 레시피 매니저에서 관리.
## 아키텍처 패턴 (3계층)
```
WPF UI Layer (Views/ + ViewModels)
↓
Machine Logic Layer (EquipmentSetup + Sequences)
↓
Device Abstraction (AuroraDevices — 디바이스별 독립 모듈)
↓
Hardware Layer (ACS.SPiiPlusNET, Melsec, Serial/USB)
```
**기술 스택:**
- **이벤트 기반:** System.Reactive (Rx.NET)
- **의존성 주입:** AuroraEnv 글로벌 환경
- **메시지 큐:** String / Double / Int / JSON / LBAD 타입
> Aurora 프레임워크 개념·패턴·함정 상세 → `docs/Aurora에이전트레퍼런스모음/`