- docs/project-overview.md — 프로젝트 개요 - docs/solution-structure.md — 솔루션 구조 - docs/ptop-architecture.md — PTOP 아키텍처 - docs/aurora-devices.md — Aurora 디바이스 목록 - docs/build-output.md — 빌드 출력 경로 - docs/harness-ptop.md — PTOP 하네스 구성 수정된 파일: → CLAUDE.md — 기존 내용을 6개 문서로 분리, @import 방식으로 변경 → .gitignore — .claude/ 추가 삭제된 파일: - _기존md파일/ 디렉토리 (원본) 제안 커밋 메시지: docs: CLAUDE.md를 주제별 문서로 분리 및 @import 방식으로 재구성 - 프로젝트 개요, 솔루션 구조, PTOP 아키텍처, 디바이스 목록, 빌드 경로, 하네스 구성을 별도 문서로 분리 - 각 문서는 200줄 이하로 규칙 5번 준수 - CLAUDE.md에서 @import로 참조하는 라이브러리 형태로 변경 (규칙 6번 준수) 형태로 변경 (규칙 6번 준수) - .gitignore에 .claude/ 추가, .ubisam_agent는 제거
6.8 KiB
| name | description |
|---|---|
| analyze-ptop-architecture | ILSOS_PrismaticRD_PTOP의 3계층 아키텍처(UI → Machine Logic → Device)를 분석하고 검증. EquipDef.cs, EquipmentSetup.cs, Sequences/, Device/ 폴더의 관계를 맵핑하고 Rx.NET 이벤트 흐름을 추적. 디바이스 스택(PLC, Laser, OCT, CellTracker) 통합 여부 검증. PTOP 아키텍처를 이해하거나 설계해야 할 때, "PTOP 아키텍처 분석", "PTOP 구조 검토", "PTOP 전체 흐름 파악" 요청 시 반드시 이 스킬을 사용. |
Analyze PTOP Architecture Skill
목표
ILSOS_PrismaticRD_PTOP의 3계층 아키텍처 전체 그림을 명확히 파악하고 문서화한다.
분석 단계
1단계: EquipDef.cs & EquipmentSetup.cs 분석
EquipDef.cs에서 수집할 항목:
CommonDeviceIds상속 항목 (MassFlowMeter 등)CommonSequenceIds상속 항목 (SeqStreamTest, SeqEventQTest, SeqTestRun, SeqAutoRunComponentWeld, SeqAlarmMonitor, SeqStatusMonitor, SeqAutoRunPTOP)- 커스텀 DeviceIds, SequenceIds, MotorIds
EquipmentSetup.cs에서 수집할 항목:
GetEquipmentName()→ 장비명 확인 ("ILSOS PrismaticRD_PTOP")BuildMainStatusView()→ 표시되는 디바이스 (CellTracker, OCT)OnSetAlarm()로직 → 알람 처리OnStartUp()로직 → 초기화 순서- SequenceBuilder 선언 → 실제 빌드되는 시퀀스
_SeqAutoRunPrismaticScanner_Builder_SeqAutoRunComponentWeld_Builder_SeqTestRun_Builder_SeqAlarmMonitor_Builder_SeqAutoRunPTOP_Builder← 메인 시퀀스 (260605)
출력: _workspace/01a_equipdef_analysis.md
2단계: Sequences/ 폴더 구조 분석
주요 파일들:
Sequences/
├── SeqAutoRunPTOP.cs ← 메인 (분석 우선순위 1)
├── SeqAutoRunPrismaticScanner.cs
├── SeqAutoRunComponentWeld.cs
├── SeqTestRun.cs
├── SeqStreamTest.cs
├── SeqEventQTest.cs
├── SequenceContextEx.cs ← 컨텍스트 정의
├── SequenceManager.cs ← 시퀀스 관리
├── Monitoring/
│ ├── SeqAlarmMonitor.cs
│ └── SeqStatusMonitor.cs
└── Manual/
└── SeqComponentTeachingRun.cs
각 시퀀스 분석 항목:
- 용도 (주 시퀀스? 테스트? 모니터링?)
- 상태 머신 정의 (시작, 대기, 실행, 완료, 에러)
- 타이밍 (예상 소요시간)
- 호출하는 디바이스 목록
- 의존성 (다른 시퀀스에 의존하는가?)
특히 SeqAutoRunPTOP.cs:
- 상태 다이어그램 작성
- 각 상태에서 호출되는 디바이스/API 추적
- 타임아웃/재시도 로직
출력: _workspace/01b_sequences_analysis.md
3단계: Device/ 폴더 분석
파일 구조:
Device/
├── PLC/
│ ├── PLCController.Config.cs ← PLC 주소 맵핑
│ ├── PLCController.Logic.cs ← 읽기/쓰기 로직
│ └── PLCController.Address.cs ← 신호 상수
└── IO/
└── PAIX_PrismaticScanner.cs ← IO 제어
PLC 분석:
- 사용되는 주소 범위 (예: M0
M100, D0D500) - 주요 신호 목록 (Ready, Setup, Error, etc.)
- 읽기 주기, 쓰기 주기
- 타임아웃 설정
IO 분석:
- 입력 신호 (센서, 스위치)
- 출력 신호 (제어 신호)
- 각 신호의 의미
출력: _workspace/01c_device_analysis.md
4단계: Rx.NET 이벤트 흐름 분석
수집할 정보:
- System.Reactive 사용 패턴 (Observable, Subject, etc.)
- 메시지 타입 (String/Double/Int/JSON/LBAD)
- 구독자 목록 (누가 어떤 메시지를 구독?)
- 백프레셔/에러 처리
파이프라인 예시:
[PLC Status] Observable
├─→ Filter(Ready == true)
├─→ Select(x => new LaserCommand())
└─→ Subscribe(Laser.Execute())
출력: _workspace/01d_rxnet_analysis.md
5단계: 외부 디바이스 통합 검증
검증 대상:
- PLC (Mitsubishi)
- Laser (AuroraLaser)
- OCT Scanner (AuroraOCT)
- CellTracker (AuroraCellTracker)
- IO (PAIX)
각 디바이스마다:
- 초기화 시점
- 활성화 조건
- 사용 방식 (동기/비동기)
- 에러 처리
- 정상 종료 절차
출력: _workspace/01e_device_integration.md
통합 산출물
최종 보고서: _workspace/01_ptop_architecture.md
# ILSOS_PrismaticRD_PTOP 아키텍처 검토 보고서
## 1. 3계층 아키텍처
┌──────────────────────────────┐ │ WPF UI Layer │ │ (Views/, ViewModels/) │ └──────────────┬───────────────┘ ↓ ┌──────────────────────────────┐ │ Machine Logic Layer │ │ (EquipmentSetup, Sequences) │ └──────────────┬───────────────┘ ↓ ┌──────────────────────────────┐ │ Device Abstraction │ │ (AuroraDevices) │ └──────────────┬───────────────┘ ↓ ┌──────────────────────────────┐ │ Hardware Layer │ │ (PLC, Laser, OCT, etc.) │ └──────────────────────────────┘
## 2. 핵심 컴포넌트
### EquipDef & EquipmentSetup
- [EquipDef 매핑 표]
- [빌드되는 시퀀스 목록]
### Sequences
- [시퀀스 관계도]
- [SeqAutoRunPTOP 상태 머신]
### Device
- [PLC 신호 맵핑]
- [IO 신호 맵핑]
## 3. Rx.NET 이벤트 흐름
[파이프라인 다이어그램]
## 4. 발견 사항 & 개선 사항
| 우선순위 | 항목 | 현황 | 개선안 |
|---------|------|------|--------|
| P0 | | | |
| P1 | | | |
입력 조건
사용자가 다음과 같이 요청할 때:
- "PTOP 아키텍처 분석해줘"
- "PTOP 전체 구조 파악"
- "SeqAutoRunPTOP이 어떻게 동작하는지 분석"
- "PTOP에서 PLC, Laser, OCT가 어떻게 연결되어있는지"
- "PTOP 3계층 아키텍처 검증"
출력 결과
- 5개 상세 분석 문서 (
_workspace/01a~01e_*.md) - 통합 보고서 (
_workspace/01_ptop_architecture.md) - 다이어그램 (3계층, 상태 머신, 이벤트 흐름)
주의사항
- 코드 읽기 능력이 중요 — C#, WPF, Rx.NET 이해 필수
- 불명확한 부분은 기록 — "이 부분은 왜 이렇게?"라는 질문을 명시
- Namespace 혼동 주의 — ILSOS_PrismaticRD_PTOP의 코드가 ILSOS_PrismaticScanner 네임스페이스 사용
- 260605 변경 이후 상태 파악 — SeqAutoRunPTOP이 최신 메인 시퀀스
- 한글 주석 인코딩 — CODING_RULES.md 확인