[twincat] TwinCAT — Nested UDT browse via online type walker #315

Open
opened 2026-04-25 12:34:35 -04:00 by dohertj2 · 0 comments
Owner

Auto-managed PR — Mode B (autonomous)

Driver: twincat Phase: 4 Plan PR: 4.1
Plan: docs/plans/twincat-plan.md
Effort: L Cross-driver: False

Summary

Recurse BrowseSymbolsAsync into IStructType.SubItems yielding one TwinCATDiscoveredSymbol per leaf with dotted instance paths. Expand arrays-of-structs up to 1024. Online runtime path only — TMC offline parsing deferred.

Source files

  • src/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT/AdsTwinCATClient.cs
  • src/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT/TwinCATDriver.cs
  • src/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT/TwinCATTypeWalker.cs

Docs

  • docs/Driver.TwinCAT.Cli.md
  • docs/drivers/TwinCAT-Test-Fixture.md
  • docs/v3/twincat-backlog.md

Fixture

  • tests/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.IntegrationTests/TwinCatProject/PLC/DUTs/

Depends on

  • canonical: twincat-1.5

Notes

Hardware-gated.


Branch: auto/twincat/4.1. Target: auto/driver-gaps.

<!-- queue-meta {"id": "twincat-4.1", "driver": "twincat", "phase": 4, "plan_pr_id": "4.1", "deps": ["twincat-1.5"], "cross_driver": false} --> ## Auto-managed PR — Mode B (autonomous) **Driver**: `twincat` **Phase**: `4` **Plan PR**: `4.1` **Plan**: [`docs/plans/twincat-plan.md`](docs/plans/twincat-plan.md) **Effort**: `L` **Cross-driver**: `False` ## Summary Recurse BrowseSymbolsAsync into IStructType.SubItems yielding one TwinCATDiscoveredSymbol per leaf with dotted instance paths. Expand arrays-of-structs up to 1024. Online runtime path only — TMC offline parsing deferred. ## Source files - `src/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT/AdsTwinCATClient.cs` - `src/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT/TwinCATDriver.cs` - `src/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT/TwinCATTypeWalker.cs` ## Docs - `docs/Driver.TwinCAT.Cli.md` - `docs/drivers/TwinCAT-Test-Fixture.md` - `docs/v3/twincat-backlog.md` ## Fixture - `tests/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.IntegrationTests/TwinCatProject/PLC/DUTs/` ## Depends on - canonical: `twincat-1.5` ## Notes Hardware-gated. --- _Branch: `auto/twincat/4.1`. Target: `auto/driver-gaps`._
dohertj2 added the phase/4auto-manageddriver/twincatqueue/queued labels 2026-04-25 12:34:35 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dohertj2/lmxopcua#315