# v0.1.513 — S0048 C1 PLC 어드레스 인디렉션 코어 모델 (additive)

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

---

## 핵심 변경
- S0012 4탭 매핑 에디터의 prerequisite — 중앙 PLC 어드레스 매핑 SSOT 코어 (신규 파일만, additive, 기존 빌드 영향 0)
- `IPlcAddress`(protocol 추상) + `PlcProtocol` enum + `PortKey`(ComponentId,PortName) struct + `PlcAddressMap`(Dictionary SSOT + 역방향 조회 + Protocol 캡슐화) + `ModbusPlcAddress`(IPlcAddress 구현)
- spec S0048 §4-2/4-3. record→readonly struct / ScriptableObject→plain class (Unity C#9 안전 + 코드베이스 ModbusAddressMap 패턴 정합, spec-implementation-judgment)
- 의존방향 Modbus→Plc 단방향(Plc 코어는 Modbus 무참조, SoC)
## critic 2-pass
- 치명 #1: spec명 `ModbusAddress`가 기존 live `Factory00.Plc.ModbusAddress`(ModbusTcpAdapter, 9파일 참조)와 충돌 → `ModbusPlcAddress` 리네임 fix
- 중대 #1: PlcAddressMap.Protocol public field → `{get; private set;}` + SetProtocol(변경 시 매핑 초기화) 캡슐화
## 영향 파일
- `Assets/Scripts/Plc/IPlcAddress.cs` + `PlcAddressMap.cs` (신규)
- `Assets/Scripts/Communication/Modbus/ModbusPlcAddress.cs` (신규)
## S0048/S0012 진행
- C1(코어 모델) 완료. C2(이벤트 3종)/C3(컴포넌트 Ports) 후속. ★ C4(actuator Coil*/Register* 폐기=비호환, 50참조) 사용자 명시 대기
- 사용자 결정 큐: Q1(S0048+S0012 통합/분리 cap) · Q2(즉시폐기/@Obsolete) · Q3(MX 공유 베이스)
