Phase 3 PR 63 -- S7AddressParser (DB/M/I/Q/T/C grammar) #62
Reference in New Issue
Block a user
Delete Branch "phase-3-pr63-s7-address-parser"
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
Adds
S7AddressParser+S7ParsedAddressrecord struct +S7Area/S7Sizeenums to the Driver.S7 project. Accepts the Siemens TIA Portal / STEP 7 Classic address syntax documented indriver-specs.md§5:DB{n}.DB{X|B|W|D}{offset}[.bit]—DB1.DBX0.0,DB1.DBW0,DB1.DBD4MB{n},MW{n},MD{n},M{n}.{bit}— MerkersI…,Q…— same patterns, inputs and outputsT{n},C{n}— timers and countersCase-insensitive, whitespace-tolerant. Strict rejection of 16 garbage variants (bit without
.bit, bit 8+, DB 0, unknown area letters, etc.) so bad tag configs fail at driver-init time rather than surfacing asBadInternalErroron every read.TryParsereturns bool for Admin UI live validation callers that can't throw.Validation
dotnet build: 0 errorsScope
No driver wiring yet — PR 64 consumes
S7ParsedAddressfromIReadable/IWritable.Test plan