Phase 3 PR 65 -- S7 ITagDiscovery + ISubscribable + IHostConnectivityProbe #64
Reference in New Issue
Block a user
Delete Branch "phase-3-pr65-s7-discovery-subscribe-probe"
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
Completes the S7 driver's capability surface — now on par with the Modbus driver.
DiscoverAsyncstreams tags into theIAddressSpaceBuilderunder anS7folder.SecurityClass = Operate(writable) orViewOnly(read-only) matches the Modbus pattern for server-layer ACL gating.UnsubscribeAsyncidempotent.host:portnaming matches Modbus convention for uniform Admin/hostsdashboard rows. Probes viaPlc.ReadStatusAsync(Get-CPU-Status, cheap + doubles as an 'is PLC up' check) everyProbe.IntervalwithProbe.Timeoutcap. Transitions raised only on actual state changes.Probe starts at end of
InitializeAsync(whenProbe.Enabled=true); shutdown cancels probe + all subscriptions before disposing thePlc.Validation
dotnet build: 0 errorsScope
All 5 capability interfaces (IDriver / ITagDiscovery / IReadable / IWritable / ISubscribable / IHostConnectivityProbe) now land on the S7 driver. Extended data types (Int64 / UInt64 / Float64 / String / DateTime) remain deferred per PR 64.
Test plan