Auto: ablegacy-12 — auto-demote on comm failure

Closes #255
This commit is contained in:
Joseph Doherty
2026-04-26 08:44:53 -04:00
parent 8ee65a75d2
commit 1e3053c0d8
18 changed files with 1160 additions and 31 deletions

View File

@@ -96,7 +96,12 @@ VALUES (@Gen, @DrvId, @ClusterId, @NsId, 'ablegacy-smoke', 'AbLegacy', N'{
"PlcFamily": "Slc500",
"DeviceName": "slc-500",
"TimeoutMs": 500,
"Retries": 1
"Retries": 1,
"Demote": {
"FailureThreshold": 3,
"DemoteForMs": 30000,
"Enabled": true
}
}
],
"Probe": { "Enabled": true, "IntervalMs": 5000, "TimeoutMs": 2000, "ProbeAddress": "S:0" },
@@ -155,7 +160,15 @@ PRINT ' e.g. "ab://<plc-ip>:44818/" and re-run this seed.';
PRINT '';
PRINT 'PR ablegacy-10 / #253 — diagnostic counters auto-emit per device under';
PRINT ' AbLegacy/<host>/_Diagnostics/<name>. No dbo.Tag rows needed — the';
PRINT ' driver registers them at DiscoverAsync time. Seven counters per device:';
PRINT ' driver registers them at DiscoverAsync time. Nine counters per device:';
PRINT ' RequestCount, ResponseCount, ErrorCount, RetryCount, LastErrorCode,';
PRINT ' LastErrorMessage, CommFailures. See docs/drivers/AbLegacy-Diagnostics.md';
PRINT ' for the full surface + reset semantics.';
PRINT ' LastErrorMessage, CommFailures, DemoteCount, LastDemotedUtc. See';
PRINT ' docs/drivers/AbLegacy-Diagnostics.md for the full surface + reset';
PRINT ' semantics.';
PRINT '';
PRINT 'PR ablegacy-12 / #255 — auto-demote on comm failure: 3 consecutive';
PRINT ' failed reads / probes mark the device Demoted for DemoteFor=PT30S';
PRINT ' (30 s); reads against a demoted device short-circuit with';
PRINT ' BadCommunicationError so one slow PLC can''t starve the driver.';
PRINT ' Tune via the Demote block on each Devices[] row. DemoteCount +';
PRINT ' LastDemotedUtc on the _Diagnostics folder surface flapping links.';