S7-002: add inline comment documenting the UInt32→Int32 lossiness in MapDataType, consistent with the Int64/UInt64 note. Tracked for a follow-up that adds unsigned DriverDataType members. S7-004: inject ILogger<S7Driver> (optional, defaults to NullLogger); add structured log calls for connect success/failure, probe Running/Stopped transitions, and swallowed poll-loop exceptions, so operators have an event trail via Serilog. S7-008: restructure WriteAsync catch ladder to mirror ReadAsync — OperationCanceledException re-throws, NotSupportedException → BadNotSupported, PUT/GET-disabled PlcException → BadNotSupported/Faulted, genuine PlcException → BadDeviceFailure/Degraded, all others → BadCommunicationError/Degraded. Health is now updated on every write failure. Also factor ReadOneAsync reinterpret into internal ReinterpretRawValue and WriteOneAsync boxing into internal BoxValueForWrite for testability (Driver.S7-014). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
35 KiB
35 KiB