bump AXSharp to 0.47.0-alpha.495 + various minor fixies#1169
Merged
Conversation
Update ixc/ixd/ixr tools and AXSharp.* packages from 0.47.0-alpha.489 to 0.47.0-alpha.495.
Collapse the per-call StartSignature/DoneSignature GetAsync and the DoneSignature SetAsync into single ReadBatchAsync/WriteBatchAsync calls on the connector, both at eAccessPriority.High, to cut connector round-trips on the remote-task start/done handshake. Done signal is now written via DoneSignature.Cyclic + WriteBatchAsync.
Document the batched start/done handshake added in 2a70cb7: ExecuteAsync reads StartSignature + DoneSignature via one ReadBatchAsync and writes completion via WriteBatchAsync, both at eAccessPriority.High. PLC-side API and IsBusy/IsDone/HasError/ IsAborted semantics unchanged. Bump next-version 0.61.1 -> 0.62.3 (GitVersion, core docs CHANGELOG).
When IsDisabled, the activity indicator (state ring/circle) now stays live instead of being overridden by the lock; the lock-closed icon moved to the action-button area, hiding Reset/Resume. State still announced via aria-label. - showcase: add AxoTaskDisabledExample (always-Busy + idle tasks) and a display-only demo tile; wire into ShowcaseContext + search registry - docs: update AxoTask.md affordances table + prose, CHANGELOG 0.62.3
Start/done handshake batch read/write priority was hardcoded to eAccessPriority.High. Expose it via new HandshakeReadAccessPriority / HandshakeWriteAccessPriority properties and optional Initialize / InitializeExclusively args, so callers tune handshake contention per task. BREAKING CHANGE: handshake default drops from High to Normal. Callers relying on the High boost from 2a70cb7 must pass eAccessPriority.High to Initialize(...) or set the properties. Built-in connectors share batch chunking across High/Normal; only queue/ordering priority differs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
0.47.0-alpha.495and regenerateAXSharp.config.jsonacross allctrllibraries (plusdotnet-tools.json/Directory.Packages.props/GitVersion.yml).AxoRemoteTask(.NET twin): the start/done handshake batch read/write access priority is now configurable (defaulteAccessPriority.Normal), replacing the previously hardcodedHigh— a behavioral change for upgraders.AxoTaskView(Blazor): reworked disabled-state rendering so the activity indicator keeps reflecting task state while disabled.Changes from CHANGELOG
Workspace
[CORE]
AxoRemoteTaskstart/done handshake priority is now configurable (default Normal)Note: API addition + behavioral change in
src/core/src/AXOpen.Core/AxoRemoteTask/AxoRemoteTask.cs(.NET twin only). No PLC source or PLC-side API change. Follow-up to the High-priority batching entry below (commit2a70cb744).HandshakeReadAccessPriorityandHandshakeWriteAccessPriorityproperties (defaulteAccessPriority.Normal) drive the access priority of the batched start/done read (ReadBatchAsyncofStartSignature+DoneSignature) and the Done-ack write (WriteBatchAsync) inExecuteAsync, replacing the previously hardcodedeAccessPriority.Highat both legs.Initialize(...)/InitializeExclusively(...)overloads gain two optional args —handshakeReadAccessPriorityandhandshakeWriteAccessPriority(both defaulteAccessPriority.Normal) — that seed those properties. Existing call sites bind unchanged via the defaults; the properties can also be set directly any time.AxoRemoteTaskHandshakePriorityTests(4 tests) insrc/core/tests/AXOpen.Core.Tests. A recordingDummyConnectorsubclass captures theeAccessPrioritypassed toRead/WriteBatchAsync; tests cover the read leg, the write leg (distinct value to prove the write property specifically), the default-Normalbehavior (assertingHighis no longer used), and a property-override-after-Initializecase.src/core/docs/CHANGELOG.md(0.62.3— New features + Breaking changes) andAxoRemoteTask.mdnote updated to describe the configurable,Normal-default handshake.Impact:
eAccessPriority.Normalinstead ofHigh. Callers that need the handshake serviced ahead of lower-priority traffic must opt in — passeAccessPriority.HightoInitialize(...)or setHandshakeReadAccessPriority/HandshakeWriteAccessPriority.Risks/Review:
Highhandshake from2a70cb744will now contend atNormaluntil it sets the priority explicitly. In the built-in connectorsHighandNormalshare the same batch chunking; only the queue/ordering priority relative to other connector traffic differs.[CORE]
AxoRemoteTaskbatches start/done handshake at High priorityNote: Performance change in
src/core/src/AXOpen.Core/AxoRemoteTask/AxoRemoteTask.cs(.NET twin only). No PLC source or public-API change. Commit2a70cb744.ExecuteAsyncnow readsStartSignature+DoneSignaturewith a singleConnector.ReadBatchAsync(...)and writes the completedDoneSignaturewithConnector.WriteBatchAsync(...)(viaDoneSignature.Cyclic), replacing the per-signalGetAsync/SetAsync. Collapses the remote-task start/done handshake into single batched connector round-trips.src/core/docs/CHANGELOG.mdbumped;AxoRemoteTask.mdgains a note describing the batched handshake.Impact:
AxoRemoteTaskinvocation.Commits
feat
03c6ad9eafeat(core): make AxoRemoteTask handshake priority configurableperf
2a70cb744perf(core): batch AxoRemoteTask signal r/w at High prioritydocs
885d11aa3docs(core): note AxoRemoteTask batched High-priority handshakebuild
15858c512build(deps): bump AXSharp to 0.47.0-alpha.495Other
bd9c48f2beat(core): rework AxoTaskView disabled-state rendering8447e532fsynch with remote8749575cdUpdate GitVersion.ymlDiff stat
Test plan
dotnet ixcregenerates twins from the bumpedAXSharp.config.jsonwithout errorsdotnet buildfrom solution root succeedsapax buildsucceeds for the affectedctrllibraries (deps bump +*.stchanges)dotnet test src/core/tests/AXOpen.Core.Testsis green (incl. the 4 newAxoRemoteTaskHandshakePriorityTests)AxoTaskpage, and confirm no console/runtime errors (AxoTaskViewdisabled-state rendering)High→Normalbreaking changeGenerated by
/pr-description-update. Last regenerated: 2026-06-03.