mirror of
https://github.com/OPCFoundation/UA-.NETStandard.git
synced 2026-10-23 18:39:26 +08:00
15d0ce7bd5
# Description Implement OPC UA Part 10 Programs across `Opc.Ua.Core`/`Core.Types`, `Opc.Ua.Server`, and `Opc.Ua.Client`, reusing the existing state-machine, source-generation, node-management, auditing, and streaming-subscription infrastructure. - Add asynchronous provider-backed execution, standard controls, internal/autonomous transitions, generation checks, and nested-state activation/resumption. - Add checked creation/adoption, vendor Create adapters, deletion, recycling and instance limits, auto-delete, DI, and direct-construction paths. - Maintain ProgramDiagnostic2 and retained final results; publish captured intermediate results and concrete transition/audit events with access controls. - Add generated SDK models/proxies, typed client discovery and reads, event streams, and subscribe-before-call readiness handling. - Add unit, connected client/server, generated Annex A-style model, and NativeAOT coverage. Document usage and migration in `docs/Programs.md` and related guides. ### Compatibility and design decisions The linked Part 10 document is v1.05.00; namespace-zero definitions remain aligned with 1.05.07. Documentation distinguishes normative requirements from conflicting specification text and SDK conventions. - Correct state numbers to Halted=11, Ready=12, Running=13, Suspended=14. Generated subtypes retain inherited namespace-zero state/transition identifiers. - Managed Reset is Halted-to-Ready only. Preserve the existing low-level Reset-from-Suspended behavior for compatibility. - Preserve UInt32 limit types; use `UInt32.MaxValue` as a documented SDK unlimited convention. RecycleCount overflow reports BadOutOfRange without stopping unlimited execution. - In-memory default with injectable providers. Durable recovery, distributed execution/failover, and a production Annex A download engine are excluded. ## Checklist _Put an `x` in the boxes that apply. You can complete these step by step after opening the PR._ - [ ] I have signed the [CLA](https://opcfoundation.org/license/cla/ContributorLicenseAgreementv1.0.pdf) and read the [CONTRIBUTING](https://github.com/OPCFoundation/UA-.NETStandard/blob/master/CONTRIBUTING.md) doc. - [ ] I have added tests that prove my fix is effective or that my feature works and increased code coverage. - [x] I have added all necessary documentation. - [x] I have verified that my changes do not introduce (new) build or analyzer warnings. - [ ] I ran **all** tests locally using the **UA.slnx** solution against at least .net **framework** and .net **10**, and all passed. - [ ] I fixed **all** failing and flaky tests in the CI pipelines and **all** CodeQL warnings. - [ ] I have addressed **all** PR feedback received. Tests and focused coverage evidence are above; the combined tests/coverage checkbox remains open because a whole-repository coverage increase has not been established. CLA status, CI/CodeQL results, tracking-issue approval, and PR feedback are not asserted.
34 lines
1.7 KiB
CSV
34 lines
1.7 KiB
CSV
DomainDownloadType,1001,ObjectType
|
|
TransferStateMachineType,1002,ObjectType
|
|
NamedProgramType,1003,ObjectType
|
|
NamedProgramType_Create,6001,Method
|
|
NamedProgramType_Create_InputArguments,6002,Variable
|
|
NamedProgramType_Create_OutputArguments,6003,Variable
|
|
DomainDownloadType_Start,2001,Method
|
|
DomainDownloadType_Start_InputArguments,2002,Variable
|
|
DomainDownloadType_Suspend,2003,Method
|
|
DomainDownloadType_Resume,2004,Method
|
|
DomainDownloadType_Halt,2005,Method
|
|
DomainDownloadType_ProgramDiagnostic,2100,Variable
|
|
DomainDownloadType_TransferStateMachine,2200,Object
|
|
DomainDownloadType_Running,2300,Object
|
|
DomainDownloadType_FinalResultData,2400,Object
|
|
DomainDownloadType_FinalResultData_BytesTransferred,2401,Variable
|
|
DomainDownloadType_FinalResultData_Completed,2402,Variable
|
|
DomainDownloadType_FinalResultData_ErrorCode,2403,Variable
|
|
TransferStateMachineType_Opening,3001,Object
|
|
TransferStateMachineType_Opening_StateNumber,3011,Variable
|
|
TransferStateMachineType_Sending,3002,Object
|
|
TransferStateMachineType_Sending_StateNumber,3012,Variable
|
|
TransferStateMachineType_Closing,3003,Object
|
|
TransferStateMachineType_Closing_StateNumber,3013,Variable
|
|
TransferStateMachineType_OpeningToSending,4001,Object
|
|
TransferStateMachineType_OpeningToSending_TransitionNumber,4011,Variable
|
|
TransferStateMachineType_SendingToSending,4002,Object
|
|
TransferStateMachineType_SendingToSending_TransitionNumber,4012,Variable
|
|
TransferStateMachineType_SendingToClosing,4003,Object
|
|
TransferStateMachineType_SendingToClosing_TransitionNumber,4013,Variable
|
|
TransferStateMachineType_LastTransition,5001,Variable
|
|
TransferStateMachineType_LastTransition_Number,5002,Variable
|
|
TransferStateMachineType_LastTransition_TransitionTime,5003,Variable
|