[s7] S7 — 64-bit scalar types (LInt/ULInt/LReal/LWord) #287

Closed
opened 2026-04-25 12:34:30 -04:00 by dohertj2 · 2 comments
Owner

Auto-managed PR — Mode B (autonomous)

Driver: s7 Phase: 1 Plan PR: PR-S7-A1
Plan: docs/plans/s7-plan.md
Effort: M Cross-driver: False

Summary

Closes the NotSupportedException cliff for Float64/Int64/UInt64. Extend S7Size with LWord; teach parser to accept DBL/LD suffix. S7netplus has no native LD; falls back to byte-range reads with explicit big-endian conversion.

Source files

  • src/ZB.MOM.WW.OtOpcUa.Driver.S7/S7Driver.cs
  • src/ZB.MOM.WW.OtOpcUa.Driver.S7/S7DriverOptions.cs
  • src/ZB.MOM.WW.OtOpcUa.Driver.S7/S7AddressParser.cs

Docs

  • docs/v2/s7.md
  • docs/Driver.S7.Cli.md
  • docs/drivers/S7-Test-Fixture.md

Fixture

  • tests/ZB.MOM.WW.OtOpcUa.Driver.S7.IntegrationTests/Docker/server.py
  • tests/ZB.MOM.WW.OtOpcUa.Driver.S7.IntegrationTests/Docker/profiles/s7_1500.json

E2E

  • scripts/e2e/test-s7.ps1

Branch: auto/s7/PR-S7-A1. Target: auto/driver-gaps.

<!-- queue-meta {"id": "s7-a1", "driver": "s7", "phase": 1, "plan_pr_id": "PR-S7-A1", "deps": [], "cross_driver": false} --> ## Auto-managed PR — Mode B (autonomous) **Driver**: `s7` **Phase**: `1` **Plan PR**: `PR-S7-A1` **Plan**: [`docs/plans/s7-plan.md`](docs/plans/s7-plan.md) **Effort**: `M` **Cross-driver**: `False` ## Summary Closes the NotSupportedException cliff for Float64/Int64/UInt64. Extend S7Size with LWord; teach parser to accept DBL/LD suffix. S7netplus has no native LD; falls back to byte-range reads with explicit big-endian conversion. ## Source files - `src/ZB.MOM.WW.OtOpcUa.Driver.S7/S7Driver.cs` - `src/ZB.MOM.WW.OtOpcUa.Driver.S7/S7DriverOptions.cs` - `src/ZB.MOM.WW.OtOpcUa.Driver.S7/S7AddressParser.cs` ## Docs - `docs/v2/s7.md` - `docs/Driver.S7.Cli.md` - `docs/drivers/S7-Test-Fixture.md` ## Fixture - `tests/ZB.MOM.WW.OtOpcUa.Driver.S7.IntegrationTests/Docker/server.py` - `tests/ZB.MOM.WW.OtOpcUa.Driver.S7.IntegrationTests/Docker/profiles/s7_1500.json` ## E2E - `scripts/e2e/test-s7.ps1` --- _Branch: `auto/s7/PR-S7-A1`. Target: `auto/driver-gaps`._
dohertj2 added the phase/1auto-managedqueue/queueddriver/s7 labels 2026-04-25 12:34:30 -04:00
dohertj2 added queue/in-progress and removed queue/queued labels 2026-04-25 16:11:58 -04:00
Author
Owner

🤖 Auto-loop picked this up. Branch: auto/s7/PR-S7-A1. Status: in-progress.

🤖 Auto-loop picked this up. Branch: `auto/s7/PR-S7-A1`. Status: in-progress.
dohertj2 added queue/done and removed queue/in-progress labels 2026-04-25 16:18:44 -04:00
Author
Owner

Auto-loop completed. Merged via PR #336.

✅ Auto-loop completed. Merged via PR #336.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dohertj2/lmxopcua#287