Commit Graph

709 Commits

Author SHA1 Message Date
Joseph Doherty
c88e0b6bed Auto: twincat-5.1 — IAlarmSource via TC3 EventLogger (gated, scaffold)
Closes #316
2026-04-26 11:13:24 -04:00
3babfb8a99 Merge pull request '[s7] S7 — PLC password / protection-level handling' (#406) from auto/s7/PR-S7-E2 into auto/driver-gaps 2026-04-26 10:53:52 -04:00
Joseph Doherty
30c3b10c94 Auto: s7-e2 — PLC password / protection-level handling
Closes #303
2026-04-26 10:51:07 -04:00
e0f3d1c925 Merge pull request '[s7] S7 — CPU diagnostic buffer / SZL reads' (#405) from auto/s7/PR-S7-E1 into auto/driver-gaps 2026-04-26 10:33:35 -04:00
Joseph Doherty
108f69d198 Auto: s7-e1 — CPU diagnostic buffer / SZL reads
Closes #302
2026-04-26 10:30:43 -04:00
f7e0d9a9e7 Merge pull request '[opcuaclient] OpcUaClient — ServerUriArray redundant failover' (#404) from auto/opcuaclient/14 into auto/driver-gaps 2026-04-26 10:07:47 -04:00
Joseph Doherty
705c98ad98 Auto: opcuaclient-14 — ServerUriArray redundant failover
Closes #286
2026-04-26 10:05:05 -04:00
35d733d73b Merge pull request '[opcuaclient] OpcUaClient — Full Aggregate function set' (#403) from auto/opcuaclient/13 into auto/driver-gaps 2026-04-26 09:49:14 -04:00
Joseph Doherty
0adc5adb59 Auto: opcuaclient-13 — Part 13 aggregate catalog mapping
Closes #285
2026-04-26 09:46:33 -04:00
7cbc566db9 Merge pull request '[opcuaclient] OpcUaClient — IHistoryProvider.ReadEventsAsync interface fix + impl' (#402) from auto/opcuaclient/12 into auto/driver-gaps 2026-04-26 09:32:22 -04:00
Joseph Doherty
c36903d6a0 Auto: opcuaclient-12 — IHistoryProvider.ReadEventsAsync EventFilter spec + impl
Adds a filter-aware overload of IHistoryProvider.ReadEventsAsync that carries
EventFilter SelectClauses + WhereClause, and implements it on the OPC UA
Client driver via Session.HistoryReadAsync + ReadEventDetails.

The change is additive (default-impl returns NotSupportedException) so the
existing Galaxy.Proxy.GalaxyProxyDriver implementation keeps compiling
against the fixed-field overload — no cross-driver refactor required.

* Core.Abstractions: new EventHistoryRequest / SimpleAttributeSpec /
  ContentFilterSpec records mirror the OPC UA wire shape transport-neutrally.
  HistoricalEventBatch / HistoricalEventRow carry an open-ended Fields bag
  keyed by SimpleAttributeSpec.FieldName so server-side dispatch can re-align
  with the client's wire-side SelectClause order.
* OpcUaClient driver: new ReadEventsAsync(fullReference, EventHistoryRequest, ct)
  builds an EventFilter, calls Session.HistoryReadAsync, and unwraps
  HistoryEvent.Events into HistoricalEventBatch rows. Default SelectClause
  set matches BuildHistoryEvent on the server side. ContentFilter bytes are
  decoded through the live session's MessageContext (passthrough — the
  driver does not evaluate filters).
* Unit tests: 7 new tests cover SelectClause translation, default-clause
  fallback, malformed where-clause swallowing, uninitialized-driver guard,
  null-request guard, and IHistoryProvider default fallback.
* Integration scaffold: build-only [Fact] gated on opc-plc --alm; flips to
  green when the fixture image is upgraded.
* Docs: HistoryRead Events section in docs/drivers/OpcUaClient.md plus a
  cross-link from Client.CLI.md historyread page.
* E2E: -HistoryEvents switch on scripts/e2e/test-opcuaclient.ps1 confirms
  the gateway round-trips HistoryReadEvents without
  BadHistoryOperationUnsupported (gated; defaults to skip).

Closes #284
2026-04-26 09:29:40 -04:00
2ee61c0999 Merge pull request '[focas] FOCAS — Cycle time per part / last cycle delta' (#401) from auto/focas/F5-a into auto/driver-gaps 2026-04-26 09:14:06 -04:00
Joseph Doherty
e3d7c65f61 Auto: focas-f5a — cycle time per part / last cycle delta
Closes #272
2026-04-26 09:11:21 -04:00
45770e8d90 Merge pull request '[ablegacy] AbLegacy — DH+ via 1756-DHRIO bridging' (#400) from auto/ablegacy/13 into auto/driver-gaps 2026-04-26 08:59:02 -04:00
Joseph Doherty
399257377b Auto: ablegacy-13 — DH+ via 1756-DHRIO bridging validation
Closes #256
2026-04-26 08:56:23 -04:00
08a4db2952 Merge pull request '[ablegacy] AbLegacy — Auto-demote on comm failure' (#399) from auto/ablegacy/12 into auto/driver-gaps 2026-04-26 08:47:59 -04:00
Joseph Doherty
1e3053c0d8 Auto: ablegacy-12 — auto-demote on comm failure
Closes #255
2026-04-26 08:44:53 -04:00
8ee65a75d2 Merge pull request '[abcip] AbCip — IPerCallHostResolver failover routing' (#398) from auto/abcip/5.2 into auto/driver-gaps 2026-04-26 08:16:21 -04:00
Joseph Doherty
9e157fc8a4 Auto: abcip-5.2 — HSBY failover routing in ResolveHost
Closes #243
2026-04-26 08:13:41 -04:00
258ce8e937 Merge pull request '[abcip] AbCip — HSBY paired-IP probing' (#397) from auto/abcip/5.1 into auto/driver-gaps 2026-04-26 07:54:37 -04:00
Joseph Doherty
561b0f9ea9 Auto: abcip-5.1 — HSBY paired-IP role probing
Closes #242
2026-04-26 07:51:44 -04:00
349aa5c6f4 Merge pull request '[twincat] TwinCAT — Nested UDT browse via online type walker' (#396) from auto/twincat/4.1 into auto/driver-gaps 2026-04-26 07:31:40 -04:00
Joseph Doherty
0444cb699d Auto: twincat-4.1 — nested UDT browse via online type walker
Closes #315
2026-04-26 07:28:52 -04:00
da6e19d07d Merge pull request '[s7] S7 — Instance-DB / FB parameter access' (#395) from auto/s7/PR-S7-D3 into auto/driver-gaps 2026-04-26 07:07:17 -04:00
Joseph Doherty
baf1d65875 Auto: s7-d3 — instance-DB / FB parameter resolution
Closes #301
2026-04-26 07:04:40 -04:00
c9e28b881e Merge pull request '[s7] S7 — UDT / STRUCT / nested-DB handling' (#394) from auto/s7/PR-S7-D2 into auto/driver-gaps 2026-04-26 06:53:12 -04:00
Joseph Doherty
5f8d84db43 Auto: s7-d2 — UDT / STRUCT / nested-DB fan-out
Closes #300
2026-04-26 06:50:26 -04:00
7e62a1158f Merge pull request '[s7] S7 — Symbol-table / TIA Portal export browse' (#393) from auto/s7/PR-S7-D1 into auto/driver-gaps 2026-04-26 06:35:00 -04:00
Joseph Doherty
a908dff7b5 Auto: s7-d1 — TIA Portal CSV + STEP 7 Classic AWL symbol import
Closes #299
2026-04-26 06:32:18 -04:00
ac3fd45cc6 Merge pull request '[opcuaclient] OpcUaClient — Reverse Connect' (#392) from auto/opcuaclient/11 into auto/driver-gaps 2026-04-26 06:11:11 -04:00
Joseph Doherty
5c72deb839 Auto: opcuaclient-11 — reverse connect (server-initiated)
Closes #283
2026-04-26 06:08:30 -04:00
9a3bc08e1c Merge pull request '[focas] FOCAS — Password / unlock parameter' (#391) from auto/focas/F4-d into auto/driver-gaps 2026-04-26 05:50:13 -04:00
Joseph Doherty
86f3fc2733 Auto: focas-f4d — password / unlock parameter
Closes #271
2026-04-26 05:45:13 -04:00
d676b4056d Merge pull request '[focas] FOCAS — pmc_wrpmcrng' (#390) from auto/focas/F4-c into auto/driver-gaps 2026-04-26 05:18:48 -04:00
Joseph Doherty
54c09d4d5d Auto: focas-f4c — pmc_wrpmcrng with bit-level RMW
Closes #270
2026-04-26 05:15:52 -04:00
0c967af645 Merge pull request '[focas] FOCAS — cnc_wrmacro + cnc_wrparam' (#389) from auto/focas/F4-b into auto/driver-gaps 2026-04-26 04:57:15 -04:00
Joseph Doherty
f48f31cfc7 Auto: focas-f4b — cnc_wrmacro + cnc_wrparam writes
Closes #269
2026-04-26 04:54:28 -04:00
71af554497 Merge pull request '[focas] FOCAS — Write infrastructure + per-tag opt-in' (#388) from auto/focas/F4-a into auto/driver-gaps 2026-04-26 04:35:27 -04:00
Joseph Doherty
1bfe8fba0e Auto: focas-f4a — write infrastructure + per-tag opt-in
Closes #268
2026-04-26 04:32:43 -04:00
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