[abcip] AbCip — LINT/ULINT 64-bit fidelity #225

Closed
opened 2026-04-25 12:34:16 -04:00 by dohertj2 · 3 comments
Owner

Auto-managed PR — Mode B (autonomous)

Driver: abcip Phase: 1 Plan PR: 1.1
Plan: docs/plans/abcip-plan.md
Effort: S Cross-driver: False

Summary

Replace the truncating Int32 widening at AbCipDataType.cs:53 with Int64 routing across decode, encode, and the DriverDataType map. Includes DT (epoch-millis on Logix v32+ surfaces as LINT, not DINT). The runtime already calls GetInt64/SetInt64 correctly; the gap is the surface enum flattening into Int32. May require adding Int64/UInt64 members to Core.Abstractions/DriverDataType.cs.

Source files

  • src/ZB.MOM.WW.OtOpcUa.Driver.AbCip/AbCipDataType.cs
  • src/ZB.MOM.WW.OtOpcUa.Driver.AbCip/LibplctagTagRuntime.cs
  • src/ZB.MOM.WW.OtOpcUa.Core.Abstractions/DriverDataType.cs

Docs

  • docs/Driver.AbCip.Cli.md
  • docs/drivers/AbServer-Test-Fixture.md

Fixture

  • tests/ZB.MOM.WW.OtOpcUa.Driver.AbCip.IntegrationTests/Docker/docker-compose.yml

E2E

  • scripts/e2e/test-abcip.ps1
  • scripts/smoke/seed-abcip-smoke.sql

Notes

Possible Core.Abstractions enum extension.


Branch: auto/abcip/1.1. Target: auto/driver-gaps.

<!-- queue-meta {"id": "abcip-1.1", "driver": "abcip", "phase": 1, "plan_pr_id": "1.1", "deps": [], "cross_driver": false} --> ## Auto-managed PR — Mode B (autonomous) **Driver**: `abcip` **Phase**: `1` **Plan PR**: `1.1` **Plan**: [`docs/plans/abcip-plan.md`](docs/plans/abcip-plan.md) **Effort**: `S` **Cross-driver**: `False` ## Summary Replace the truncating Int32 widening at AbCipDataType.cs:53 with Int64 routing across decode, encode, and the DriverDataType map. Includes DT (epoch-millis on Logix v32+ surfaces as LINT, not DINT). The runtime already calls GetInt64/SetInt64 correctly; the gap is the surface enum flattening into Int32. May require adding Int64/UInt64 members to Core.Abstractions/DriverDataType.cs. ## Source files - `src/ZB.MOM.WW.OtOpcUa.Driver.AbCip/AbCipDataType.cs` - `src/ZB.MOM.WW.OtOpcUa.Driver.AbCip/LibplctagTagRuntime.cs` - `src/ZB.MOM.WW.OtOpcUa.Core.Abstractions/DriverDataType.cs` ## Docs - `docs/Driver.AbCip.Cli.md` - `docs/drivers/AbServer-Test-Fixture.md` ## Fixture - `tests/ZB.MOM.WW.OtOpcUa.Driver.AbCip.IntegrationTests/Docker/docker-compose.yml` ## E2E - `scripts/e2e/test-abcip.ps1` - `scripts/smoke/seed-abcip-smoke.sql` ## Notes Possible Core.Abstractions enum extension. --- _Branch: `auto/abcip/1.1`. Target: `auto/driver-gaps`._
dohertj2 added the phase/1auto-manageddriver/abcipqueue/queued labels 2026-04-25 12:34:16 -04:00
dohertj2 added queue/in-progress and removed queue/queued labels 2026-04-25 12:37:31 -04:00
Author
Owner

🤖 Auto-loop picked this up. Branch: auto/abcip/1.1. Status: in-progress.

🤖 Auto-loop picked this up. Branch: `auto/abcip/1.1`. Status: in-progress.
Author
Owner

🤖 Auto-loop picked this up. Branch: auto/abcip/1.1. Status: in-progress.

🤖 Auto-loop picked this up. Branch: `auto/abcip/1.1`. Status: in-progress.
dohertj2 added queue/done and removed queue/in-progress labels 2026-04-25 12:47:21 -04:00
Author
Owner

Auto-loop completed. Merged via PR #317.

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

No dependencies set.

Reference: dohertj2/lmxopcua#225