실제 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>
2.5 KiB
2.5 KiB
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는 baseCommon*또는 레시피 매니저에서 관리.
아키텍처 패턴 (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에이전트레퍼런스모음/