fix(driver-twincat): resolve Medium code-review finding (Driver.TwinCAT-011)
Confirm AdsErrorCode values from Beckhoff.TwinCAT.Ads 7.0.172 and rewrite MapAdsError with 20 explicit cases. Fix critical bug: AdsSymbolVersionChanged was 0x0702 (DeviceInvalidGroup) but DeviceSymbolVersionInvalid is 1809 (0x0711); correct constant and all comments. Add BadOutOfService for DeviceNotReady and BadInvalidState for DeviceInvalidState/PLC-in-Config. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -21,11 +21,11 @@ public interface ITwinCATClient : IDisposable
|
||||
|
||||
/// <summary>
|
||||
/// Raised when the client observes the ADS symbol-version-changed code
|
||||
/// (<see cref="TwinCATStatusMapper.AdsSymbolVersionChanged"/>) on any read / write /
|
||||
/// notification — the signal that a PLC program re-download has invalidated every
|
||||
/// symbol + notification handle. The driver forwards this to
|
||||
/// <see cref="Core.Abstractions.IRediscoverable.OnRediscoveryNeeded"/> so Core rebuilds
|
||||
/// the address space subtree (docs/v2/driver-specs.md §6, Driver.TwinCAT-013).
|
||||
/// (<see cref="TwinCATStatusMapper.AdsSymbolVersionChanged"/> — <c>DeviceSymbolVersionInvalid</c>
|
||||
/// 1809 / 0x0711) on any read / write / notification — the signal that a PLC program
|
||||
/// re-download has invalidated every symbol + notification handle. The driver forwards
|
||||
/// this to <see cref="Core.Abstractions.IRediscoverable.OnRediscoveryNeeded"/> so Core
|
||||
/// rebuilds the address space subtree (docs/v2/driver-specs.md §6, Driver.TwinCAT-013).
|
||||
/// </summary>
|
||||
event EventHandler? OnSymbolVersionChanged;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user