LGES-OC5-PtoP-Welder/docs/architecture.md
to3796zw 8bbac47244 docs: 용어정리(가접 용접) 별도 파일 분리 + import
200줄 규칙 준수 위해 architecture.md §8 용어정리 본문을 docs/용어정리.md로 분리하고 @import로 연결.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 22:31:10 +09:00

7.0 KiB

ILSOS 프로젝트 아키텍처

CLAUDE.md의 "프로젝트 문서" 섹션에서 import하던 개별 문서들을 통합한 아키텍처 문서입니다. 세부 내용은 각 원본 문서를 참고하세요.

목차

  1. 프로젝트 개요
  2. 솔루션 구조
  3. ILSOS_PrismaticRD_PTOP 핵심 구조
  4. AuroraDevices 모듈
  5. 빌드 출력 경로
  6. PTOP 분석 하네스
  7. Git 커밋 규칙

1. 프로젝트 개요

원본: project-overview.md

ILSOS - OC5 PilotLine RectangleTypeWelder

목표: 각형 배터리 용접 자동화 시스템

플랫폼 및 기술:

  • OS: Windows 10 / Windows 11
  • 프레임워크: .NET Framework 4.8.1
  • IDE: Visual Studio 2022
  • UI 프레임워크: WPF (Aurora 프레임워크 기반)
  • 솔루션 파일: ILSOS_All.sln

빌드 구성:

  • Debug | x64
  • Release | x64
  • Simulation | x64
  • UserDefineUnit | x64

머신 모듈:

  • ILSOS_PrismaticRD_PTOP: 현재 유일한 활성 머신 모듈 (주요 개발 대상)
    • 과거 Scanner/Gun/CleanLaser 모듈은 제거됨 (솔루션에 csproj 없음)

주의사항:

  • WeldingComponents·External/Aurora 관련 코드 수정 시 반드시 사전 승인 필요
  • 모든 파일 수정 시 docs/CODING_RULES.md 확인 필수
  • 한글 포함 파일 작성/수정 시 UTF-8 인코딩 준수

2. 솔루션 구조

원본: solution-structure.md

ILSOS_All.sln 구성

ILSOS_All.sln
├── Machines/
│   └── ILSOS_PrismaticRD_PTOP/     ← 현재 유일한 활성 머신 모듈 (3계층 아키텍처)
├── AuroraDevices/                 ← 하드웨어 디바이스 드라이버 (22개 프로젝트)
├── AuroraComponents/              ← WPF UI 공통 컴포넌트
├── AuroraVision/                  ← 비전 시스템 (MIL 기반)
├── WeldingComponents/             ← 용접 공통 기능
│   ├── WeldingCommon
│   └── LASAGUI
└── External/                      ← Aurora 프레임워크 바이너리

주요 특징

  • 모듈화: 머신 모듈은 독립적인 디바이스 제어 및 시퀀스 구현
  • 공유 레이어: AuroraDevices, AuroraComponents 등으로 코드 재사용
  • 표준 규칙: WeldingComponents·External/Aurora는 수정 시 승인 필수

3. ILSOS_PrismaticRD_PTOP 핵심 구조

원본: ptop-architecture.md

폴더 구조 및 주요 컴포넌트

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 : 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

아키텍처 패턴 (3계층)

WPF UI Layer         (Views/ + ViewModels)
        ↓
Machine Logic Layer  (EquipmentSetup + Sequences)
        ↓
Device Abstraction   (AuroraDevices — 디바이스별 독립 모듈)
        ↓
Hardware Layer       (ACS.SPiiPlusNET, Melsec, Serial/USB)

기술 스택: System.Reactive(Rx) · AuroraEnv DI · 메시지 큐(String/Double/Int/JSON/LBAD)


4. AuroraDevices 모듈

원본: aurora-devices.md

AuroraDevices는 하드웨어 디바이스 제어를 담당하는 22개 프로젝트 모음입니다.

프로젝트 역할 비고
AuroraDeviceCommon 디바이스 공통 기본 클래스 모든 디바이스 상속
AuroraACS ACS SPiiPlus 모션 컨트롤러 X/Y축 모션 제어
AuroraMotionBoard Ajin 모션 보드 Z축 모션 제어
AuroraLaser 레이저 제어 (Gun 타입) 고정 레이저
AuroraLaserScanner 레이저 스캐너 제어 동적 스캐닝
AuroraPLC Mitsubishi Melsec PLC 통신 외부 신호 제어
AuroraIO 디지털 I/O 입출력 신호
AuroraHeightSensor Keyence 높이 센서 높이 측정
AuroraCellTracker 팰릿/셀 추적 시스템 셀 인식 및 위치 추적
AuroraChiller 냉각 장치 온도 제어
AuroraOCT Trumpf OCT 스캐너 옵티컬 측정

설계 원칙:

  • 각 디바이스는 독립적인 제어 로직 구현
  • 통합 제어는 머신 모듈의 EquipmentSetup에서 담당
  • 의존성 주입(DI) 패턴으로 느슨한 결합 유지

5. 빌드 출력 경로

원본: build-output.md

머신별 빌드 디렉토리

머신 모듈 출력 경로 상태
ILSOS_PrismaticRD_PTOP Machines/_out_prismatic_rd_ptop/ 활성

빌드 구성별 출력

출력은 구성-플랫폼 하위 폴더로 분리 (csproj OutputPath 기준).

  • Machines/_out_prismatic_rd_ptop/x64-Debug/ ← Debug|x64
  • Machines/_out_prismatic_rd_ptop/x64-Release/ ← Release|x64 (Simulation·UserDefineUnit도 Release 매핑)

주의사항

  • 빌드 출력 디렉토리는 .gitignore에 포함
  • 빌드 전 이전 출력물이 있으면 자동 정리
  • 각 머신 모듈은 독립적으로 빌드 가능

6. PTOP 분석 하네스

원본: harness-ptop.md

ILSOS_PrismaticRD_PTOP의 아키텍처·구현·빌드를 종합 분석하는 에이전트 하네스.

  • 팀: 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)

세부 트리거·구성 요소·변경 이력은 원본 문서 참고.


7. Git 커밋 규칙

@import ./GIT_RULES.md — bin 무시/예외(External/Aurora/bin), .gitignore 자체 커밋 규칙


8. 용어 정리 (UNICELL PTOP WELDER)

@import ./용어정리.md — 협력사/프로젝트 약칭, 가접 용접(Tack Welding) 정의·운용·PLC 연동