4.9 KiB
4.9 KiB
ILSOS 프로젝트 — Claude 초기 컨텍스트
프로젝트 개요
OC5 PilotLine RectangleTypeWelder — 각형 배터리 용접 자동화 시스템
- 플랫폼: Windows 10, .NET Framework 4.8.1, Visual Studio 2022
- UI 프레임워크: WPF (Aurora 프레임워크 기반)
- 솔루션 파일:
ILSOS_All.sln - 빌드 구성: Debug|x64 / Release|x64 / Simulation|x64 / UserDefineUnit|x64
머신 모듈 (Machines/)
ILSOS_PrismaticGun
- 레이저는 고정, 스테이지(Stage A / Stage B)가 이동하면서 용접
- 레이저 하나를 Stage A ↔ Stage B 간 스위칭하여 용접 진행
- 모션 제어: ACS (X/Y축) + Ajin (Z축) 혼합 구성
- PLC: Mitsubishi PLC 통신
- 시퀀스 구조:
Sequences/SubSequence/StageA/+Sequences/SubSequence/StageB/이원화
ILSOS_PrismaticScanner
- 레이저 스캐너를 통해 용접 진행
- 레이저 인터페이스 모듈이 PrismaticGun과 다름 (
AuroraLaserScanner) - 단일 스테이지 구조
ILSOS_PrismaticCleanLaser
- CleanLaser 인터페이스 모듈 사용 (PrismaticScanner과도 다름)
- 파일 구조는 PrismaticScanner와 유사하나 레이저 디바이스 인터페이스가 상이함
- 단일 스테이지 구조
전체 솔루션 구조
ILSOS_All.sln
├── Machines/
│ ├── ILSOS_PrismaticGun/ ← 레이저 고정, 스테이지 이동 용접 (Stage A/B)
│ ├── ILSOS_PrismaticScanner/ ← 스캐너 레이저 용접
│ └── ILSOS_PrismaticCleanLaser/ ← 클린 레이저 용접
├── AuroraDevices/ ← 하드웨어 디바이스 드라이버 (22개 프로젝트)
├── AuroraComponents/ ← WPF UI 공통 컴포넌트
├── AuroraVision/ ← 비전 시스템 (MIL 기반)
├── WeldingComponents/ ← 용접 공통 기능 (WeldingCommon, LASAGUI)
└── External/ ← Aurora 프레임워크 바이너리
주요 AuroraDevices 목록
| 프로젝트 | 역할 |
|---|---|
| AuroraACS | ACS SPiiPlus 모션 컨트롤러 |
| AuroraLaser | 레이저 제어 (Gun 타입) |
| AuroraLaserScanner | 레이저 스캐너 제어 |
| AuroraPLC | PLC 통신 (Mitsubishi Melsec) |
| AuroraIO | 디지털 I/O |
| AuroraHeightSensor | 높이 센서 (Keyence) |
| AuroraCellTracker | 팰릿/셀 추적 시스템 |
| AuroraChiller | 냉각 장치 제어 |
| AuroraOCT | OCT 스캐너 (Trumpf) |
| AuroraMotionBoard | 모션 보드 (Ajin) |
| AuroraDeviceCommon | 디바이스 공통 기본 클래스 |
ILSOS_PrismaticGun 핵심 구조
폴더 구조
ILSOS_PrismaticGun/
├── 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 (Stage A)
│ └── StageB/ ← Load, Weld, Unload, HeightMeas (Stage B)
├── settings/ ← 세팅 정의 클래스
├── Tools/ ← 공통 유틸리티
└── Views/ ← 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
아키텍처 패턴
WPF UI Layer (Views/ + ViewModels)
↓
Machine Logic Layer (EquipmentSetup + Sequences + Process)
↓
Device Abstraction (AuroraDevices — 디바이스별 독립 모듈)
↓
Hardware Layer (ACS.SPiiPlusNET, Melsec, Serial/USB)
- 이벤트 기반:
System.Reactive(Rx.NET) - 글로벌 환경:
AuroraEnv(의존성 주입 패턴) - 메시지 큐: String / Double / Int / JSON / LBAD 타입
빌드 출력 경로
| 머신 | 출력 경로 |
|---|---|
| ILSOS_PrismaticGun | _out_prismatic_gun/ |
| ILSOS_PrismaticScanner | _out_prismatic_scanner/ |
| ILSOS_PrismaticCleanLaser | _out_prismatic_cleanlaser/ |
코딩 규칙
파일 수정 시 반드시 docs/CODING_RULES.md를 먼저 확인할 것.
특히 한글이 포함된 파일 생성/수정 시 인코딩 규칙을 따라야 함.