[twincat] TwinCAT — Whole-array reads #344
Reference in New Issue
Block a user
Delete Branch "auto/twincat/1.4"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Whole-array & multi-dim reads for TwinCAT.
TwinCATTagDefinitiongainsint[]? ArrayDimensions(defaultnull= scalar).ITwinCATClient.ReadValueAsync/WriteValueAsyncthread anint[]? arrayDimensionsparameter.AdsTwinCATClient.ReadValueAsynccallsclrType.MakeArrayType()for whole-array reads and per-element-projects IEC TIME/DATE values via a newPostProcessArray.TwinCATDriver.DiscoverAsyncsurfacesIsArray=true+ArrayDim=product(dims)via newResolveArrayShapehelper. Multi-dim flattens to the product becauseDriverAttributeInfo.ArrayDimis a singleuint?today.FakeTwinCATClientupdated for new signatures + aReadLogtracker.Test plan
dotnet build—Driver.TwinCAT+Driver.TwinCAT.Tests+Driver.TwinCAT.Cli+ integration tests all clean (0 / 0)dotnet test tests/ZB.MOM.WW.OtOpcUa.Driver.TwinCAT.Tests— 143 / 143 passed (8 new inTwinCATArrayReadTests:ResolveArrayShapecases, discovery emitsIsArray+ArrayDimfor 1-D and 2-D, fake-client read fan-out for single + multi-dim,BadNotSupportedwrite gate)🤖 Auto-generated by the Mode-B execution loop. Closes #308.
Closes #308