Commit Graph

670 Commits

Author SHA1 Message Date
6f1657b1c0 Merge pull request '[ablegacy] AbLegacy — RSLogix 500/PLC-5 symbol import' (#387) from auto/ablegacy/11 into auto/driver-gaps 2026-04-26 04:16:00 -04:00
Joseph Doherty
4e8df38bb2 Auto: ablegacy-11 — RSLogix 500/PLC-5 CSV symbol import
Closes #254
2026-04-26 04:13:13 -04:00
4fdeef7a6c Merge pull request '[ablegacy] AbLegacy — Diagnostic counters as tags' (#386) from auto/ablegacy/10 into auto/driver-gaps 2026-04-26 03:53:28 -04:00
Joseph Doherty
42472b5549 Auto: ablegacy-10 — diagnostic counters as tags
Closes #253
2026-04-26 03:50:47 -04:00
14876ea210 Merge pull request '[ablegacy] AbLegacy — Per-device timeout / retry overrides' (#385) from auto/ablegacy/9 into auto/driver-gaps 2026-04-26 03:35:25 -04:00
Joseph Doherty
c292dcc1db Auto: ablegacy-9 — per-device timeout / retry overrides
Closes #252
2026-04-26 03:32:45 -04:00
4ff1537d8a Merge pull request '[abcip] AbCip — _RefreshTagDb writeable system tag' (#384) from auto/abcip/4.4 into auto/driver-gaps 2026-04-26 03:19:13 -04:00
Joseph Doherty
e0e5e04e48 Auto: abcip-4.4 — _RefreshTagDb writeable system tag
Closes #241
2026-04-26 03:16:28 -04:00
e46e4de31f Merge pull request '[abcip] AbCip — Diagnostic / system tags as browseable variables' (#383) from auto/abcip/4.3 into auto/driver-gaps 2026-04-26 02:58:40 -04:00
Joseph Doherty
901a5b9b21 Auto: abcip-4.3 — diagnostic / system tags as browseable variables
Closes #240
2026-04-26 02:55:56 -04:00
9c108cd00a Merge pull request '[abcip] AbCip — Write deadband / write-on-change' (#382) from auto/abcip/4.2 into auto/driver-gaps 2026-04-26 02:34:27 -04:00
Joseph Doherty
da9936f7f0 Auto: abcip-4.2 — write deadband / write-on-change
Closes #239
2026-04-26 02:31:50 -04:00
9202ebe5ef Merge pull request '[abcip] AbCip — Per-tag scan rate / scan group bucketing' (#381) from auto/abcip/4.1 into auto/driver-gaps 2026-04-26 02:18:25 -04:00
Joseph Doherty
b45713622f Auto: abcip-4.1 — per-tag scan rate / scan group bucketing
Closes #238
2026-04-26 02:15:50 -04:00
e5c38a5a0e Merge pull request '[twincat] TwinCAT — Cycle-time / jitter / PLC-state diagnostics' (#380) from auto/twincat/3.2 into auto/driver-gaps 2026-04-26 02:02:36 -04:00
Joseph Doherty
24a3cda56a Auto: twincat-3.2 — cycle-time / jitter / PLC-state diagnostics
Closes #314
2026-04-26 01:59:56 -04:00
30e39a752a Merge pull request '[twincat] TwinCAT — Per-tag MaxDelay tuning' (#379) from auto/twincat/3.1 into auto/driver-gaps 2026-04-26 01:47:44 -04:00
Joseph Doherty
fb57717f6f Auto: twincat-3.1 — per-tag MaxDelay tuning
Closes #313
2026-04-26 01:45:12 -04:00
621de94126 Merge pull request '[s7] S7 — Pre-flight PUT/GET enablement test' (#378) from auto/s7/PR-S7-C5 into auto/driver-gaps 2026-04-26 01:34:27 -04:00
Joseph Doherty
64a11ef285 Auto: s7-c5 — pre-flight PUT/GET enablement test
Closes #298
2026-04-26 01:31:48 -04:00
4bc8aa2478 Merge pull request '[s7] S7 — Deadband / on-change with thresholds' (#377) from auto/s7/PR-S7-C4 into auto/driver-gaps 2026-04-26 01:17:33 -04:00
Joseph Doherty
06b39a28fa Auto: s7-c4 — deadband / on-change with thresholds
Closes #297
2026-04-26 01:14:59 -04:00
8909302929 Merge pull request '[s7] S7 — Per-tag scan group / publish rate' (#376) from auto/s7/PR-S7-C3 into auto/driver-gaps 2026-04-26 01:05:39 -04:00
Joseph Doherty
162c82b8d9 Auto: s7-c3 — per-tag scan group / publish rate
Closes #296
2026-04-26 01:03:00 -04:00
ca3d4bf581 Merge pull request '[s7] S7 — TSAP / Connection Type selector' (#375) from auto/s7/PR-S7-C2 into auto/driver-gaps 2026-04-26 00:51:44 -04:00
Joseph Doherty
3b98e4d366 Auto: s7-c2 — TSAP / Connection Type selector
Closes #295
2026-04-26 00:49:10 -04:00
bcf83bf39b Merge pull request '[s7] S7 — PDU size negotiation surfaced' (#374) from auto/s7/PR-S7-C1 into auto/driver-gaps 2026-04-26 00:38:24 -04:00
Joseph Doherty
6540bbe1ef Auto: s7-c1 — surface negotiated PDU size via DriverHealth.Diagnostics
Closes #294
2026-04-26 00:35:49 -04:00
f469cf7e0d Merge pull request '[opcuaclient] OpcUaClient — Auto re-import on ModelChangeEvent' (#373) from auto/opcuaclient/10 into auto/driver-gaps 2026-04-26 00:27:00 -04:00
Joseph Doherty
ab3ed6b6a3 Auto: opcuaclient-10 — auto re-import on ModelChangeEvent
Closes #282
2026-04-26 00:24:24 -04:00
eed5857aa9 Merge pull request '[focas] FOCAS — cnc_rdalmhistry alarm-history extension' (#372) from auto/focas/F3-a into auto/driver-gaps 2026-04-26 00:10:36 -04:00
Joseph Doherty
7f9d6a778e Auto: focas-f3a — cnc_rdalmhistry alarm-history extension
Adds FocasAlarmProjection with two modes (ActiveOnly default, ActivePlusHistory)
that polls cnc_rdalmhistry on connect + on a configurable cadence (5 min default,
HistoryDepth=100 capped at 250). Emits historic events via IAlarmSource with
SourceTimestampUtc set from the CNC's reported timestamp; dedup keyed on
(OccurrenceTime, AlarmNumber, AlarmType). Ships the ODBALMHIS packed-buffer
decoder + encoder in Wire/FocasAlarmHistoryDecoder.cs and threads
ReadAlarmHistoryAsync through IFocasClient (default no-op so existing transport
variants stay back-compat). FocasDriver now implements IAlarmSource.

13 new unit tests cover: mode switch, dedup, distinct-timestamp emission,
type-as-key behaviour, OccurrenceTime passthrough (not Now), HistoryDepth
clamp/fallback, and decoder round-trip. All 341 FOCAS unit tests still pass.

Docs: docs/drivers/FOCAS.md (new), docs/v2/focas-deployment.md (new),
docs/v2/implementation/focas-wire-protocol.md (new),
docs/v2/implementation/focas-simulator-plan.md (new),
docs/drivers/FOCAS-Test-Fixture.md (alarm-history bullet appended).

Closes #267
2026-04-26 00:07:59 -04:00
1922b93bd5 Merge pull request '[ablegacy] AbLegacy — Per-tag deadband / change filter' (#371) from auto/ablegacy/8 into auto/driver-gaps 2026-04-25 23:52:42 -04:00
Joseph Doherty
eb5286148e Auto: ablegacy-8 — per-tag deadband / change filter
Closes #251
2026-04-25 23:50:07 -04:00
69069aa3be Merge pull request '[ablegacy] AbLegacy — Array contiguous block addressing' (#370) from auto/ablegacy/7 into auto/driver-gaps 2026-04-25 23:38:40 -04:00
Joseph Doherty
c689ac58b1 Auto: ablegacy-7 — array contiguous block addressing
Closes #250
2026-04-25 23:36:01 -04:00
05528bf71c Merge pull request '[abcip] AbCip — Logical-blocking / non-blocking strategy selector' (#369) from auto/abcip/3.3 into auto/driver-gaps 2026-04-25 23:18:47 -04:00
Joseph Doherty
01f4ee6b53 Auto: abcip-3.3 — read-strategy selector (WholeUdt / MultiPacket / Auto)
Closes #237
2026-04-25 23:16:06 -04:00
8a8dc1ee5a Merge pull request '[abcip] AbCip — Symbolic vs logical (instance-ID) addressing toggle' (#368) from auto/abcip/3.2 into auto/driver-gaps 2026-04-25 23:01:13 -04:00
Joseph Doherty
0c6a0d6e50 Auto: abcip-3.2 — symbolic vs logical addressing toggle
Closes #236
2026-04-25 22:58:33 -04:00
73ff10b595 Merge pull request '[abcip] AbCip — Configurable CIP Connection Size per device' (#367) from auto/abcip/3.1 into auto/driver-gaps 2026-04-25 22:41:51 -04:00
Joseph Doherty
f6c26db609 Auto: abcip-3.1 — configurable CIP connection size per device
Closes #235
2026-04-25 22:39:05 -04:00
7cbddd4b4a Merge pull request '[twincat] TwinCAT — Symbol-version invalidation listener' (#366) from auto/twincat/2.3 into auto/driver-gaps 2026-04-25 22:18:47 -04:00
Joseph Doherty
4098d72bbb Auto: twincat-2.3 — symbol-version invalidation listener
Closes #312
2026-04-25 22:16:05 -04:00
569001364f Merge pull request '[twincat] TwinCAT — Handle-based access with caching' (#365) from auto/twincat/2.2 into auto/driver-gaps 2026-04-25 22:06:01 -04:00
Joseph Doherty
b67eb6c8d0 Auto: twincat-2.2 — handle-based access with caching
Closes #311
2026-04-25 22:03:20 -04:00
4a071b6d5a Merge pull request '[twincat] TwinCAT — ADS Sum-read / Sum-write' (#364) from auto/twincat/2.1 into auto/driver-gaps 2026-04-25 21:46:21 -04:00
Joseph Doherty
931049b5a7 Auto: twincat-2.1 — ADS Sum-read / Sum-write
Closes #310
2026-04-25 21:43:32 -04:00
fa2fbb404d Merge pull request '[s7] S7 — Block-read coalescing for contiguous DBs' (#363) from auto/s7/PR-S7-B2 into auto/driver-gaps 2026-04-25 21:25:56 -04:00
Joseph Doherty
17faf76ea7 Auto: s7-b2 — block-read coalescing for contiguous DBs
Closes #293
2026-04-25 21:23:06 -04:00