# v0.1.517 — S0048 C3 부품 PLC 포트 추상화 (IAddressableComponent + 6 컴포넌트, additive)

- 버전: v0.1.517
- 날짜: 2026-06-02
- 다운로드: [factory00-windows-x64-v0.1.517.zip](../../downloads/factory00-windows-x64-v0.1.517.zip) (170 MB)
- 캡처: [qa-screenshots/v0.1.517/](../../qa-screenshots/v0.1.517/)

---

## 핵심 변경
- 각 시뮬 컴포넌트가 PLC 포트 목록(Ports)을 노출 — 중앙 매핑(C1 PlcAddressMap)이 (ComponentId,PortName)으로 주소 배정할 토대
- 신규 `IAddressableComponent` + `PlcPortDefinition` + `PortDirection`/`PortDataType` (Factory00.Plc)
- 6 컴포넌트: ServoAxis(6포트) / Rotary(5) / PneumaticCyl(4) / PneumaticRotary(4) / PhotoSensor(1) / TowerLamp(동적 ChN)
- ★ **additive**: 기존 modbusCoil*/Register* 필드 유지, Ports는 getter(직렬화 X → .twn 바이트 무영향). 소비처(ActuatorPlcBridge/SignalSimulator/Inspector) 무손상. 필드 폐기는 C4
- 방향(Dir) = ActuatorPlcBridge ground-truth 검증: Coil=PLC→Sim=Input, Register=Sim→PLC=Output
## 영향 파일
- `Assets/Scripts/Plc/IAddressableComponent.cs` (신규)
- `Assets/Scripts/Actuators/{ServoAxis,Rotary,PneumaticCylinder,PneumaticRotaryCylinder}Actuator.cs` + `Sensors/PhotoSensorComponent.cs` + `Outputs/TowerLampComponent.cs`
## S0048 진행
- C1(모델)+C2(이벤트)+C3(컴포넌트 포트) 완료. 다음 **C4**(옛 필드 폐기 + .twn 자동변환 = 비호환, 기획서 Q-2/Q-6 승인분) → C5(Inspector 읽기전용) → C6(4탭 매핑 에디터)
- Vacuum 3종 제외(Coil 필드 없음, P2) · PhotoSensor Diag 제외(코드에 필드 없음) — spec-implementation-judgment
