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

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는 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에이전트레퍼런스모음/