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>
8.1 KiB
8.1 KiB