[s7] S7 — 64-bit scalar types (LInt/ULInt/LReal/LWord) #336
Reference in New Issue
Block a user
Delete Branch "auto/s7/PR-S7-A1"
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
Closes the
NotSupportedExceptioncliff for S7 64-bit scalar types.S7AddressParser.cs—S7Sizeenum gainsLWord(8 bytes). Parser accepts new suffix forms:DB{n}.DBLD{off}andDB{n}.DBL{off}for data blocksMLD{off}/ILD{off}/QLD{off}for M/I/Q areasS7Driver.cs— 64-bit Int64/UInt64/Float64 paths now route throughPlc.ReadBytesAsync/WriteBytesAsyncwith explicit big-endian conversion viaSystem.Buffers.Binary.BinaryPrimitives. (S7 wire format is BE; S7netplus has no native LD support.)MapArea(S7Area)helper translates toS7.Net.DataType.MapDataTypeso Int16/UInt16/UInt32/Int64/UInt64 surface as their nativeDriverDataTypeinstead of collapsing toInt32.Test plan
dotnet build src/ZB.MOM.WW.OtOpcUa.Driver.S7— clean (0 / 0)dotnet test tests/ZB.MOM.WW.OtOpcUa.Driver.S7.Tests— 64 / 64 passed (parser theories for the new suffixes + discovery test asserting 64-bitDriverDataTypemapping)🤖 Auto-generated by the Mode-B execution loop. Closes #287.
Closes #287