fix(driver-ablegacy): resolve Medium code-review finding (Driver.AbLegacy-012)
Consume previously-dead AbLegacyPlcFamilyProfile fields: - DeviceState.EffectiveCipPath applies DefaultCipPath when the parsed host address has an empty CIP path (SLC 500 / PLC-5 misconfigured without /1,0 now gets the profile-supplied default route). All three tag/parent/probe Create() callers updated. - InitializeAsync validates each tag's DataType against SupportsLongFile / SupportsStringFile and throws InvalidOperationException at init time so a MicroLogix Long tag or similar fails early rather than at runtime with an opaque comms error. - MaxTagBytes tracked as a follow-up (string/array chunking requires broader design work). Tests added for CipPath fallback and Long/String type validation. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -315,7 +315,7 @@ rather than blocking on the async path.
|
||||
| Severity | Medium |
|
||||
| Category | Design-document adherence |
|
||||
| Location | `PlcFamilies/AbLegacyPlcFamilyProfile.cs:7-54`, `AbLegacyDriver.cs:48-52` |
|
||||
| Status | Open |
|
||||
| Status | Resolved |
|
||||
|
||||
**Description:** `AbLegacyPlcFamilyProfile` declares four record properties -
|
||||
`DefaultCipPath`, `MaxTagBytes`, `SupportsStringFile`, `SupportsLongFile` - and only
|
||||
@@ -336,7 +336,7 @@ the host CIP path is empty; reject `Long`/`String` tags against families whose p
|
||||
sets the corresponding flag false; use `MaxTagBytes` for validation) or remove the
|
||||
unused fields and the doc comments that imply they are load-bearing.
|
||||
|
||||
**Resolution:** _(open)_
|
||||
**Resolution:** Resolved 2026-05-22 — `DeviceState.EffectiveCipPath` applies `DefaultCipPath` when the parsed host address has an empty CIP path; `InitializeAsync` validates `Long`/`String` tag types against `SupportsLongFile`/`SupportsStringFile` and throws early; `MaxTagBytes` tracked as a follow-up (string/array chunking requires broader design work).
|
||||
|
||||
### Driver.AbLegacy-013
|
||||
|
||||
|
||||
Reference in New Issue
Block a user