Prioritize first-click IEC 61850 control and restore dynamic dchg - #12
Conversation
…-first-click-dchg-applied]
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a7858807b0
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| Log("WARN", session.Device.Name, | ||
| $"Control requested: {request.Signal.ObjectReference} value={request.ValueText}; test={request.TestMode}; interlock={request.InterlockCheck}; synchro={request.SynchroCheck}."); | ||
| Log("INFO", session.Device.Name, | ||
| $"Control intent accepted: {request.Signal.ObjectReference} value={request.ValueText}; test={request.TestMode}; interlock={request.InterlockCheck}; synchro={request.SynchroCheck}."); |
There was a problem hiding this comment.
Keep control diagnostics in sync with renamed intent log
When an Open/Closed command is sent, MainWindow.ControlDiagnostics.cs still recognizes only messages matching Control requested: to call BeginPositionCommand/RememberControlDiagnosticActivity (see ControlRequestedPattern and IsControlRequestDiagnostic). Renaming this runtime message to Control intent accepted: means real controls no longer arm the CSWI position stabilization path or the recent-control window used to downgrade expected ambiguous report diagnostics, so transient command-facing position echoes can leak back into the command row despite the command succeeding.
Useful? React with 👍 / 👎.
Field evidence
The supplied 1.6.5 diagnostic shows every command that reached the runtime completed successfully in about 420–426 ms, including positive CommandTermination and process feedback. The intermittent perceived delay therefore occurs before or around dispatch, not in the IED operating time recorded by the current diagnostic.
The same report repeatedly says that MMS validation found a CB-position change that the armed dynamic report did not deliver. That stale event path can leave the command row behind the real process state and can make the intended first click appear unavailable or ineffective.
Command-path corrections
Control click acceptedimmediately at the UI boundary, then log runtime intent and click-to-result/client/engine timings separately.Report and stale-state corrections
dchg qchg dupd integrity GIand required optional fields on the actual free RCB selected for a dynamic DataSet, rather than inheriting possibly GI/integrity-only TrgOps.Load and responsiveness
Validation target
After CI, field diagnostics should distinguish:
A first click must either produce one command sequence or a clear
Already at requested stateresult based on a live MMS read. It must never disappear silently.