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>
This commit is contained in:
to3796zw 2026-06-19 13:27:42 +09:00
parent a12f57e356
commit eba70a4380
7 changed files with 95 additions and 135 deletions

View File

@ -5,6 +5,7 @@
1. [프로젝트 문서](#1-프로젝트-문서)
2. [협업 규칙](#2-협업-규칙)
3. [PTOP 분석 하네스](#3-ptop-분석-하네스)
4. [Aurora 프레임워크 레퍼런스](#4-aurora-프레임워크-레퍼런스)
---
@ -25,3 +26,11 @@
ILSOS_PrismaticRD_PTOP(PtoP) 종합 분석 팀 구성 — 목표, 팀 구성, 호출 방법, 구성 요소, 변경 이력은 아래 문서 참고.
@import ./docs/harness-ptop.md — PTOP 분석 하네스(팀 구성, 트리거, 구성 요소, 변경 이력)
---
## 4. Aurora 프레임워크 레퍼런스
Aurora 2.0 개발 규칙·API·패턴을 토큰 최소로 찾기 위한 인덱스형 지식베이스. Aurora 관련 작업(디바이스·시퀀스·PLC·ViewModel·빌드) 시 아래 README의 라우팅 표를 먼저 본다.
@import ./docs/Aurora에이전트레퍼런스모음/README.md — Aurora 레퍼런스 인덱스(라우팅 허브) → 01_concepts / 02_patterns / 03_gotchas …

View File

@ -62,7 +62,7 @@ file 파일경로.cs
## 3. 네이밍 컨벤션
### 클래스/메서드
- **PascalCase**: `SequenceManager`, `ProcessManager`, `SeqAutoRunPrismaticGunStageA`
- **PascalCase**: `SequenceManager`, `EquipmentSetup`, `SeqAutoRunPTOP`
### 필드/변수
- **private 필드**: `_camelCase` (언더스코어 접두사)

View File

@ -7,7 +7,7 @@
1. [프로젝트 개요](#1-프로젝트-개요)
2. [솔루션 구조](#2-솔루션-구조)
3. [ILSOS_PrismaticPTOP 핵심 구조](#3-ilsos_prismaticptop-핵심-구조)
3. [ILSOS_PrismaticRD_PTOP 핵심 구조](#3-ilsos_prismaticrd_ptop-핵심-구조)
4. [AuroraDevices 모듈](#4-auroradevices-모듈)
5. [빌드 출력 경로](#5-빌드-출력-경로)
6. [PTOP 분석 하네스](#6-ptop-분석-하네스)
@ -36,15 +36,12 @@
- Simulation | x64
- UserDefineUnit | x64
**주요 머신 모듈:**
- **ILSOS_PrismaticPTOP**: 현재 활성 모듈 (주요 개발 대상)
- **ILSOS_PrismaticScanner**: 참고 용도의 레거시 소스
- ILSOS_PrismaticGun: 미사용
- ILSOS_PrismaticCleanLaser: 미사용
**머신 모듈:**
- **ILSOS_PrismaticRD_PTOP**: 현재 유일한 활성 머신 모듈 (주요 개발 대상)
- 과거 Scanner/Gun/CleanLaser 모듈은 제거됨 (솔루션에 csproj 없음)
**주의사항:**
- WeldingComponents와 Aurora 관련 코드 수정 시 반드시 사전 승인 필요
- 소스의 `config/` 디렉토리는 분석 시 참고할 것
- WeldingComponents·External/Aurora 관련 코드 수정 시 반드시 사전 승인 필요
- 모든 파일 수정 시 `docs/CODING_RULES.md` 확인 필수
- 한글 포함 파일 작성/수정 시 UTF-8 인코딩 준수
@ -59,10 +56,7 @@
```
ILSOS_All.sln
├── Machines/
│ ├── ILSOS_PrismaticPTOP/ ← 현재 활성 모듈 (3계층 아키텍처)
│ ├── ILSOS_PrismaticScanner/ ← 참고 대상 (레거시)
│ ├── ILSOS_PrismaticGun/ ← 미사용
│ └── ILSOS_PrismaticCleanLaser/ ← 미사용
│ └── ILSOS_PrismaticRD_PTOP/ ← 현재 유일한 활성 머신 모듈 (3계층 아키텍처)
├── AuroraDevices/ ← 하드웨어 디바이스 드라이버 (22개 프로젝트)
├── AuroraComponents/ ← WPF UI 공통 컴포넌트
├── AuroraVision/ ← 비전 시스템 (MIL 기반)
@ -74,66 +68,54 @@ ILSOS_All.sln
### 주요 특징
- **모듈화:** 각 머신 모듈은 독립적인 디바이스 제어 및 시퀀스 구현
- **모듈화:** 머신 모듈은 독립적인 디바이스 제어 및 시퀀스 구현
- **공유 레이어:** AuroraDevices, AuroraComponents 등으로 코드 재사용
- **표준 규칙:** WeldingComponents는 수정 불가 (승인 필수)
- **설정 참고:** 각 머신의 `config/` 디렉토리에서 설정 확인 가능
- **표준 규칙:** WeldingComponents·External/Aurora는 수정 시 승인 필수
---
## 3. ILSOS_PrismaticPTOP 핵심 구조
## 3. ILSOS_PrismaticRD_PTOP 핵심 구조
> 원본: [`ptop-architecture.md`](./ptop-architecture.md)
### 폴더 구조 및 주요 컴포넌트
```
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
ILSOS_PrismaticRD_PTOP/
├── EquipDef.cs ← ID 상수 (DeviceIds / SequenceIds / StreamMessageNames)
├── EquipmentSetup.cs ← 디바이스·시퀀스 등록, 이벤트 구독
├── Alarm/ ← AlarmCode_PTOP, AlarmManager_PTOP
├── Device/{IO,PLC}/ ← PAIX_PTOP(IO), PLCControllerPTOP(PLC)
├── Models/ ← EquipmentSpecificModel_PTOP
├── Recipes/ ← RMSHandlerForPTOP
├── Sequences/ ← SeqAutoRunPTOP(메인) 외 + Manual/, Monitoring/
├── Settings/ ← SettingUploadDataListForPTOP
└── Views/{Main,Model}/ ← 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 |
| **DeviceIds** : CommonDeviceIds | `MassFlowMeter` (그 외 base 상속) |
| **SequenceIds** : CommonSequenceIds | `SeqAutoRunPTOP`, `SeqAutoRunTDC`, `SeqAutoRunComponentWeld`, `SeqAlarmMonitor`, `SeqStatusMonitor`, `SeqTestRun`, `SeqStreamTest`, `SeqEventQTest` |
| **StreamMessageNames** | `MessageNameString/Double/Int/JSON/LBAD` |
> `MotorIds`/`RecipeIds` 클래스는 없음 (base `Common*`·레시피 매니저에서 관리). 상세 → [`ptop-architecture.md`](./ptop-architecture.md)
### 아키텍처 패턴 (3계층)
```
WPF UI Layer (Views/ + ViewModels)
↓
Machine Logic Layer (EquipmentSetup + Sequences + Process)
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 타입
**기술 스택:** System.Reactive(Rx) · AuroraEnv DI · 메시지 큐(String/Double/Int/JSON/LBAD)
---
@ -172,16 +154,13 @@ AuroraDevices는 하드웨어 디바이스 제어를 담당하는 22개 프로
| 머신 모듈 | 출력 경로 | 상태 |
|---------|---------|------|
| ILSOS_PrismaticPTOP | `_out_prismatic_ptop/` | 활성 |
| ILSOS_PrismaticScanner | `_out_prismatic_scanner/` | 참고 |
| ILSOS_PrismaticGun | `_out_prismatic_gun/` | 미사용 |
| ILSOS_PrismaticCleanLaser | `_out_prismatic_cleanlaser/` | 미사용 |
| ILSOS_PrismaticRD_PTOP | `Machines/_out_prismatic_rd_ptop/` | 활성 |
### 빌드 구성별 출력
각 빌드 구성(Debug, Release, Simulation, UserDefineUnit)은 플랫폼(x64)별로 독립적인 출력 디렉토리 생성.
예: `_out_prismatic_ptop/Debug/x64/`, `_out_prismatic_ptop/Release/x64/`
출력은 `구성-플랫폼` 하위 폴더로 분리 (csproj `OutputPath` 기준).
- `Machines/_out_prismatic_rd_ptop/x64-Debug/` ← Debug|x64
- `Machines/_out_prismatic_rd_ptop/x64-Release/` ← Release|x64 (Simulation·UserDefineUnit도 Release 매핑)
### 주의사항
@ -195,40 +174,13 @@ AuroraDevices는 하드웨어 디바이스 제어를 담당하는 22개 프로
> 원본: [`harness-ptop.md`](./harness-ptop.md)
### 목표
ILSOS_PrismaticRD_PTOP의 아키텍처·구현·빌드를 종합 분석하는 에이전트 하네스.
ILSOS_PrismaticRD_PTOP(PtoP)의 3계층 아키텍처, 구현 상세, 빌드 최적화를 종합 분석하고 개선안 제시
- **팀:** PTOP Lead / PTOP Developer / Build·DevOps Engineer
- **트리거:** "PTOP 전체 분석", "PTOP 빌드 최적화" 등 → `/orchestrate-ptop-harness` 스킬
- **구성:** `.ubisam_agent/agents/`(3개), `.ubisam_agent/skills/`(4개: analyze-architecture·implementation, optimize-build, orchestrate-harness)
### 팀 구성
- **PTOP Lead**: 아키텍처 리더
- **PTOP Developer**: 구현 전문가
- **Build/DevOps Engineer**: 빌드 최적화 담당
### 호출 방법
다음 요청 시 `/orchestrate-ptop-harness` 스킬 사용:
- "PTOP 프로젝트 전체 분석"
- "PTOP 아키텍처와 구현 분석"
- "PTOP 상태 점검"
- "PTOP 빌드 최적화"
- "PTOP 팀 조율"
### 구성 요소
**Agents:**
- `.ubisam_agent/agents/ptop-lead.md`
- `.ubisam_agent/agents/ptop-developer.md`
- `.ubisam_agent/agents/build-devops-engineer.md`
**Skills:**
- `.ubisam_agent/skills/analyze-ptop-architecture/SKILL.md`
- `.ubisam_agent/skills/analyze-ptop-implementation/SKILL.md`
- `.ubisam_agent/skills/optimize-ptop-build/SKILL.md`
- `.ubisam_agent/skills/orchestrate-ptop-harness/SKILL.md`
**Workspace:**
- `_workspace/0X_*.md` (분석 결과 저장)
> 세부 트리거·구성 요소·변경 이력은 원본 문서 참고.
---

View File

@ -4,19 +4,18 @@
| 머신 모듈 | 출력 경로 | 상태 |
|---------|---------|------|
| ILSOS_PrismaticPTOP | `_out_prismatic_ptop/` | 활성 |
| ILSOS_PrismaticScanner | `_out_prismatic_scanner/` | 참고 |
| ILSOS_PrismaticGun | `_out_prismatic_gun/` | 미사용 |
| ILSOS_PrismaticCleanLaser | `_out_prismatic_cleanlaser/` | 미사용 |
| ILSOS_PrismaticRD_PTOP | `Machines/_out_prismatic_rd_ptop/` | 활성 |
> 과거 Scanner/Gun/CleanLaser 출력 디렉토리는 해당 모듈 제거로 더 이상 생성되지 않음.
## 빌드 구성별 출력
각 빌드 구성(Debug, Release, Simulation, UserDefineUnit)은 플랫폼(x64)별로 독립적인 출력 디렉토리 생성.
출력 폴더는 `구성-플랫폼` 형식의 하위 디렉토리로 분리된다 (csproj `OutputPath` 기준).
예: `_out_prismatic_ptop/Debug/x64/`, `_out_prismatic_ptop/Release/x64/`
- `Machines/_out_prismatic_rd_ptop/x64-Debug/` ← Debug|x64
- `Machines/_out_prismatic_rd_ptop/x64-Release/` ← Release|x64 (Simulation·UserDefineUnit도 Release로 매핑)
## 주의사항
- 빌드 출력 디렉토리는 `.gitignore`에 포함
- 빌드 전 이전 출력물이 있으면 자동 정리
- 각 머신 모듈은 독립적으로 빌드 가능
- **솔루션(`ILSOS_All.sln`) 기준으로 빌드**해야 post-build xcopy의 `$(SolutionDir)`가 정의됨 (단독 csproj 빌드 시 `*Undefined*` 경로로 실패)

View File

@ -6,25 +6,23 @@
**플랫폼 및 기술:**
- OS: Windows 10 / Windows 11
- 프레임워크: .NET Framework 4.8.1
- 프레임워크: .NET Framework 4.8.1 (C# 7.3)
- IDE: Visual Studio 2022
- UI 프레임워크: WPF (Aurora 프레임워크 기반)
- 플랫폼: x64 전용
- 솔루션 파일: `ILSOS_All.sln`
**빌드 구성:**
- Debug | x64
- Release | x64
- Simulation | x64
- UserDefineUnit | x64
- Simulation | x64 (Release 구성으로 매핑)
- UserDefineUnit | x64 (Release 구성으로 매핑)
**주요 머신 모듈:**
- **ILSOS_PrismaticPTOP**: 현재 활성 모듈 (주요 개발 대상)
- **ILSOS_PrismaticScanner**: 참고 용도의 레거시 소스
- ILSOS_PrismaticGun: 미사용
- ILSOS_PrismaticCleanLaser: 미사용
**머신 모듈:**
- **ILSOS_PrismaticRD_PTOP**: 현재 유일한 활성 머신 모듈 (주요 개발 대상). `Machines/ILSOS_PrismaticRD_PTOP/`
- 과거 `ILSOS_PrismaticScanner/Gun/CleanLaser` 모듈은 제거됨 (현재 솔루션에 csproj 없음).
**주의사항:**
- WeldingComponents와 Aurora 관련 코드 수정 시 반드시 사전 승인 필요
- 소스의 `config/` 디렉토리는 분석 시 참고할 것
- WeldingComponents·External/Aurora 관련 코드 수정 시 반드시 사전 승인 필요
- 모든 파일 수정 시 `docs/CODING_RULES.md` 확인 필수
- 한글 포함 파일 작성/수정 시 UTF-8 인코딩 준수

View File

@ -1,44 +1,46 @@
# ILSOS_PrismaticPTOP 핵심 구조
# ILSOS_PrismaticRD_PTOP 핵심 구조
## 폴더 구조 및 주요 컴포넌트
```
ILSOS_PrismaticPTOP/
├── EquipDef.cs ← ID 상수 정의 (Device/Motor/Sequence/Recipe)
├── EquipmentSetup.cs ← 통합 제어 (초기화, 이벤트 구독, 시퀀스 시작)
├── Alarm/ ← 알람 코드 및 매니저
ILSOS_PrismaticRD_PTOP/
├── EquipDef.cs ← ID 상수 정의 (DeviceIds / SequenceIds / StreamMessageNames)
├── EquipmentSetup.cs ← 통합 제어 (디바이스·시퀀스 등록, 이벤트 구독)
├── Alarm/ ← AlarmCode_PTOP, AlarmManager_PTOP
├── Device/
│ ├── ACS/ ← ACS 모션 제어 (X/Y축)
│ └── PLC/ ← PLC 통신 로직
├── Models/ ← 장비 특화 모델
├── Process/ ← ProcessManager, CellInfo, WeldingData
├── Recipes/ ← MainRecipe, RMSHandler
│ ├── IO/ ← PAIX_PTOP (디지털 IO)
│ └── PLC/ ← PLCControllerPTOP (Config / Address / Logic)
├── Models/ ← EquipmentSpecificModel_PTOP
├── Recipes/ ← RMSHandlerForPTOP
├── Sequences/
│ ├── Monitoring/ ← 알람/상태 모니터링 시퀀스
│ ├── SeqAutoRunPrismaticGunStageA/B.cs
│ └── SubSequence/
│ ├── StageA/ ← Load, Weld, Unload, HeightMeas
│ └── StageB/ ← Load, Weld, Unload, HeightMeas
├── settings/ ← 세팅 정의 클래스
├── Tools/ ← 공통 유틸리티
└── Views/ ← WPF View/ViewModel
│ ├── 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** | ACS, MassFlowMeterStageA/B, HeightSensor, AJIN |
| **MotorIds** | ALineX/Y/Z, BLineX/Y/Z |
| **RecipeIds** | StageAMainRecipe, StageBMainRecipe |
| **SequenceIds** | SeqLoad/Weld/Unload/HeightMeas × StageA/B |
| **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 + Process)
Machine Logic Layer (EquipmentSetup + Sequences)
↓
Device Abstraction (AuroraDevices — 디바이스별 독립 모듈)
↓
@ -49,3 +51,5 @@ Hardware Layer (ACS.SPiiPlusNET, Melsec, Serial/USB)
- **이벤트 기반:** System.Reactive (Rx.NET)
- **의존성 주입:** AuroraEnv 글로벌 환경
- **메시지 큐:** String / Double / Int / JSON / LBAD 타입
> Aurora 프레임워크 개념·패턴·함정 상세 → `docs/Aurora에이전트레퍼런스모음/`

View File

@ -5,10 +5,7 @@
```
ILSOS_All.sln
├── Machines/
│ ├── ILSOS_PrismaticPTOP/ ← 현재 활성 모듈 (3계층 아키텍처)
│ ├── ILSOS_PrismaticScanner/ ← 참고 대상 (레거시)
│ ├── ILSOS_PrismaticGun/ ← 미사용
│ └── ILSOS_PrismaticCleanLaser/ ← 미사용
│ └── ILSOS_PrismaticRD_PTOP/ ← 현재 유일한 활성 머신 모듈 (3계층 아키텍처)
├── AuroraDevices/ ← 하드웨어 디바이스 드라이버 (22개 프로젝트)
├── AuroraComponents/ ← WPF UI 공통 컴포넌트
├── AuroraVision/ ← 비전 시스템 (MIL 기반)
@ -18,9 +15,10 @@ ILSOS_All.sln
└── External/ ← Aurora 프레임워크 바이너리
```
> 과거 `ILSOS_PrismaticScanner/Gun/CleanLaser` 머신 모듈은 제거됨 (솔루션에 csproj 없음).
## 주요 특징
- **모듈화:** 각 머신 모듈은 독립적인 디바이스 제어 및 시퀀스 구현
- **모듈화:** 머신 모듈은 독립적인 디바이스 제어 및 시퀀스 구현
- **공유 레이어:** AuroraDevices, AuroraComponents 등으로 코드 재사용
- **표준 규칙:** WeldingComponents는 수정 불가 (승인 필수)
- **설정 참고:** 각 머신의 `config/` 디렉토리에서 설정 확인 가능
- **표준 규칙:** WeldingComponents·External/Aurora는 수정 시 승인 필수