실제 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>
56 lines
2.5 KiB
Markdown
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에이전트레퍼런스모음/`
|