Task #253 follow-up — bidirectional + subscribe-sees-change e2e stages #208
Reference in New Issue
Block a user
Delete Branch "task-253b-e2e-bidirectional"
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
The original three-stage design in PR #207 (probe / driver-loopback / forward-bridge) only verified
driver-write → server-read. User called this out — nothing tested the reverse direction, nor asserted that OPC UA subscriptions actually deliver data-change notifications for driver-originated changes.New stages
otopcua-cli writethe NodeId → wait → driver CLI reads the PLC side. Coversclient → server → driver → PLC.otopcua-cli subscribe --duration Nin the background, settle 2s, driver-side write, wait for the window to close, assert captured stdout mentions the value. Covers server-side monitored-item + data-change delivery end-to-end.Wired into all six per-driver scripts (modbus / abcip / ablegacy / s7 / focas / twincat). README updated to describe the five-stage design + note that the published tag must be writable for stages 4 and 5.
Ancillary
Prepended UTF-8 BOM to every script so the Windows PowerShell 5.1 parser accepts the em-dashes PowerShell 7 already handled fine. Scripts still
#Requires -Version 7.0; the BOM is purely defensive for IDE / CI step parsers that don't respect the shebang.Test plan
[System.Management.Automation.Language.Parser]::ParseFileclean on all scripts (test-all.ps1's??operators are expected PS7-only, not errors)