Files
Marc Schier 4756e7c245 DI (OPC 10000-100) with samples (Pump, SW Update), fluent API gap closures and model dependency implementation (#3808)
This PR implements the **OPC UA Device Integration (DI, OPC 10000-100)**
companion-spec library trio (`Opc.Ua.Di` / `Opc.Ua.Di.Server` /
`Opc.Ua.Di.Client`) plus a worked example
(`Applications/MinimalPumpServer`) demonstrating the OPC 40223 Pumps
companion specification end-to-end with full simulation. It also closes
11 fluent-API gaps in `Opc.Ua.Server.Fluent`, three source-generator
bugs, integrates the DI layer into the unified `services.AddOpcUa()`
Microsoft.Extensions DI hosting pattern, and adds 250+ new tests.

**Worked example — `Applications/MinimalPumpServer/`**
- AOT-compatible console host using `Host.CreateApplicationBuilder` +
`AddOpcUa()`.
- `PumpNodeManager` inherits from `DiNodeManager`; multi-namespace (DI +
Machinery + Pumps) via runtime NodeSet2 loading and
`ModelLoaderBuilder`.
- Demonstrates declarative second-pump creation via
`.ConfigureDevicesFor<PumpNodeManager>(...)` and software-package
seeding from the same configurator.
- Full simulation: pressure, temperatures, power, flow, efficiency,
level, cavitation/overheat fault injection, alarm setup, NAMUR-style
supervision.

**Documentation**
- `Docs/Opc.Ua.Di/` — README, DeviceBuilder, Hosting, LockService,
SoftwareUpdate, ClientHelpers (6 new developer guides).
- `Docs/Opc.Ua.Di/ComplianceMatrix.md` — every DI declaration mapped to
In-v1 / Generated / Deferred / Excluded.
- `Docs/CompanionSpecLibraries.md` — packaging guide for new
companion-spec libraries.
- `Docs/FluentApiGaps.md` — historical record of G1–G11.
- `Docs/SourceGeneratedNodeManagers.md` updated for richer node
managers.
- `Docs/plans/StateMachineBuilder.md` — deferred state-machine builder
design.
2026-06-04 05:57:57 +02:00

181 lines
12 KiB
CSV

Machines,1001,Object
MachineryItemState_StateMachineType,1002,ObjectType
IMachineryItemVendorNameplateType,1003,ObjectType
MachineryItemIdentificationType,1004,ObjectType
MachineryComponentIdentificationType,1005,ObjectType
MachineComponentsType,1006,ObjectType
IMachineryEquipmentType,1007,ObjectType
MachineryOperationModeStateMachineType,1008,ObjectType
MachineryOperationCounterType,1009,ObjectType
IMachineVendorNameplateType,1010,ObjectType
IMachineTagNameplateType,1011,ObjectType
MachineIdentificationType,1012,ObjectType
MachineryEquipmentFolderType,1013,ObjectType
MonitoringType,1014,ObjectType
MachineryLifetimeCounterType,1015,ObjectType
NotificationsType,1017,ObjectType
Server_Namespaces_http___opcfoundation_org_UA_Machinery_,5001,Object
MachineComponentsType_Component,5002,Object
MachineComponentsType_Component_Identification,5003,Object
MachineryItemState_StateMachineType_OutOfService,5004,Object
MachineryItemState_StateMachineType_NotAvailable,5005,Object
MachineryItemState_StateMachineType_Executing,5006,Object
MachineryItemState_StateMachineType_NotExecuting,5007,Object
MachineryItemState_StateMachineType_FromNotAvailableToOutOfService,5008,Object
MachineryItemState_StateMachineType_FromNotAvailableToNotExecuting,5009,Object
MachineryItemState_StateMachineType_FromNotAvailableToExecuting,5010,Object
MachineryItemState_StateMachineType_FromNotAvailableToNotAvailable,5011,Object
MachineryItemState_StateMachineType_FromOutOfServiceToNotAvailable,5012,Object
MachineryItemState_StateMachineType_FromOutOfServiceToNotExecuting,5013,Object
MachineryItemState_StateMachineType_FromOutOfServiceToExecuting,5014,Object
MachineryItemState_StateMachineType_FromOutOfServiceToOutOfService,5015,Object
MachineryItemState_StateMachineType_FromNotExecutingToNotAvailable,5016,Object
MachineryItemState_StateMachineType_FromNotExecutingToOutOfService,5017,Object
MachineryItemState_StateMachineType_FromNotExecutingToExecuting,5018,Object
MachineryItemState_StateMachineType_FromNotExecutingToNotExecuting,5019,Object
MachineryItemState_StateMachineType_FromExecutingToNotAvailable,5020,Object
MachineryItemState_StateMachineType_FromExecutingToOutOfService,5021,Object
MachineryItemState_StateMachineType_FromExecutingToNotExecuting,5022,Object
MachineryItemState_StateMachineType_FromExecutingToExecuting,5023,Object
MachineryOperationModeStateMachineType_None,5024,Object
MachineryOperationModeStateMachineType_Maintenance,5025,Object
MachineryOperationModeStateMachineType_Processing,5026,Object
MachineryOperationModeStateMachineType_Setup,5027,Object
MachineryOperationModeStateMachineType_FromNoneToMaintenance,5028,Object
MachineryOperationModeStateMachineType_FromNoneToSetup,5029,Object
MachineryOperationModeStateMachineType_FromNoneToProcessing,5030,Object
MachineryOperationModeStateMachineType_FromNoneToNone,5031,Object
MachineryOperationModeStateMachineType_FromMaintenanceToNone,5032,Object
MachineryOperationModeStateMachineType_FromMaintenanceToSetup,5033,Object
MachineryOperationModeStateMachineType_FromMaintenanceToProcessing,5034,Object
MachineryOperationModeStateMachineType_FromMaintenanceToMaintenance,5035,Object
MachineryOperationModeStateMachineType_FromSetupToNone,5036,Object
MachineryOperationModeStateMachineType_FromSetupToMaintenance,5037,Object
MachineryOperationModeStateMachineType_FromSetupToProcessing,5038,Object
MachineryOperationModeStateMachineType_FromSetupToSetup,5039,Object
MachineryOperationModeStateMachineType_FromProcessingToNone,5040,Object
MachineryOperationModeStateMachineType_FromProcessingToMaintenance,5041,Object
MachineryOperationModeStateMachineType_FromProcessingToSetup,5042,Object
MachineryOperationModeStateMachineType_FromProcessingToProcessing,5043,Object
MonitoringType_Status,5044,Object
MonitoringType_Health,5045,Object
MonitoringType_Process,5046,Object
MonitoringType_Consumption,5047,Object
MonitoringType_Status_MachineryItemState,5048,Object
MonitoringType_Status_MachineryOperationMode,5049,Object
MonitoringType_Status_Stacklight,5050,Object
MonitoringType_Health_DeviceHealthAlarms,5051,Object
MachineryEquipmentFolderType_MachineryEquipment,5052,Object
MachineryItemIdentificationType_ProductInstanceUri,6001,Variable
MachineryItemIdentificationType_Manufacturer,6002,Variable
MachineryItemIdentificationType_SerialNumber,6003,Variable
MachineryItemIdentificationType_YearOfConstruction,6004,Variable
MachineryItemIdentificationType_MonthOfConstruction,6005,Variable
MachineryItemIdentificationType_InitialOperationDate,6006,Variable
MachineryItemIdentificationType_ManufacturerUri,6007,Variable
MachineryItemIdentificationType_Model,6008,Variable
MachineryItemIdentificationType_ProductCode,6009,Variable
MachineryItemIdentificationType_HardwareRevision,6010,Variable
MachineryItemIdentificationType_SoftwareRevision,6011,Variable
MachineryItemIdentificationType_DeviceClass,6012,Variable
MachineryItemIdentificationType_AssetId,6013,Variable
MachineryItemIdentificationType_ComponentName,6014,Variable
MachineIdentificationType_ProductInstanceUri,6015,Variable
MachineryComponentIdentificationType_DefaultInstanceBrowseName,6016,Variable
MachineryComponentIdentificationType_DeviceRevision,6017,Variable
MachineComponentsType_DefaultInstanceBrowseName,6018,Variable
MachineComponentsType_Component_Identification_Manufacturer,6019,Variable
MachineComponentsType_Component_Identification_SerialNumber,6020,Variable
MachineryItemState_StateMachineType_DefaultInstanceBrowseName,6021,Variable
IMachineryItemVendorNameplateType_Manufacturer,6022,Variable
IMachineVendorNameplateType_ProductInstanceUri,6023,Variable
IMachineryItemVendorNameplateType_SerialNumber,6024,Variable
IMachineryItemVendorNameplateType_YearOfConstruction,6025,Variable
IMachineryItemVendorNameplateType_MonthOfConstruction,6026,Variable
IMachineryItemVendorNameplateType_InitialOperationDate,6027,Variable
IMachineTagNameplateType_Location,6028,Variable
MachineIdentificationType_Location,6029,Variable
MachineIdentificationType_DefaultInstanceBrowseName,6030,Variable
Server_Namespaces_http___opcfoundation_org_UA_Machinery__IsNamespaceSubset,6031,Variable
Server_Namespaces_http___opcfoundation_org_UA_Machinery__NamespacePublicationDate,6032,Variable
Server_Namespaces_http___opcfoundation_org_UA_Machinery__NamespaceUri,6033,Variable
Server_Namespaces_http___opcfoundation_org_UA_Machinery__NamespaceVersion,6034,Variable
Server_Namespaces_http___opcfoundation_org_UA_Machinery__StaticNodeIdTypes,6035,Variable
Server_Namespaces_http___opcfoundation_org_UA_Machinery__StaticNumericNodeIdRange,6036,Variable
Server_Namespaces_http___opcfoundation_org_UA_Machinery__StaticStringNodeIdPattern,6037,Variable
MachineryItemState_StateMachineType_OutOfService_StateNumber,6038,Variable
MachineryItemState_StateMachineType_NotAvailable_StateNumber,6039,Variable
MachineryItemState_StateMachineType_Executing_StateNumber,6040,Variable
MachineryItemState_StateMachineType_NotExecuting_StateNumber,6041,Variable
MachineryItemState_StateMachineType_FromNotAvailableToOutOfService_TransitionNumber,6042,Variable
MachineryItemState_StateMachineType_FromNotAvailableToNotExecuting_TransitionNumber,6043,Variable
MachineryItemState_StateMachineType_FromNotAvailableToExecuting_TransitionNumber,6044,Variable
MachineryItemState_StateMachineType_FromNotAvailableToNotAvailable_TransitionNumber,6045,Variable
MachineryItemState_StateMachineType_FromOutOfServiceToNotAvailable_TransitionNumber,6046,Variable
MachineryItemState_StateMachineType_FromOutOfServiceToNotExecuting_TransitionNumber,6047,Variable
MachineryItemState_StateMachineType_FromOutOfServiceToExecuting_TransitionNumber,6048,Variable
MachineryItemState_StateMachineType_FromOutOfServiceToOutOfService_TransitionNumber,6049,Variable
MachineryItemState_StateMachineType_FromNotExecutingToNotAvailable_TransitionNumber,6050,Variable
MachineryItemState_StateMachineType_FromNotExecutingToOutOfService_TransitionNumber,6051,Variable
MachineryItemState_StateMachineType_FromNotExecutingToExecuting_TransitionNumber,6052,Variable
MachineryItemState_StateMachineType_FromNotExecutingToNotExecuting_TransitionNumber,6053,Variable
MachineryItemState_StateMachineType_FromExecutingToNotAvailable_TransitionNumber,6054,Variable
MachineryItemState_StateMachineType_FromExecutingToOutOfService_TransitionNumber,6055,Variable
MachineryItemState_StateMachineType_FromExecutingToNotExecuting_TransitionNumber,6056,Variable
MachineryItemState_StateMachineType_FromExecutingToExecuting_TransitionNumber,6057,Variable
MachineryOperationModeStateMachineType_DefaultInstanceBrowseName,6058,Variable
MachineryOperationModeStateMachineType_None_StateNumber,6059,Variable
MachineryOperationModeStateMachineType_Maintenance_StateNumber,6060,Variable
MachineryOperationModeStateMachineType_Processing_StateNumber,6061,Variable
MachineryOperationModeStateMachineType_Setup_StateNumber,6062,Variable
MachineryOperationModeStateMachineType_FromNoneToMaintenance_TransitionNumber,6063,Variable
MachineryOperationModeStateMachineType_FromNoneToSetup_TransitionNumber,6064,Variable
MachineryOperationModeStateMachineType_FromNoneToProcessing_TransitionNumber,6065,Variable
MachineryOperationModeStateMachineType_FromNoneToNone_TransitionNumber,6066,Variable
MachineryOperationModeStateMachineType_FromMaintenanceToNone_TransitionNumber,6067,Variable
MachineryOperationModeStateMachineType_FromMaintenanceToSetup_TransitionNumber,6068,Variable
MachineryOperationModeStateMachineType_FromMaintenanceToProcessing_TransitionNumber,6069,Variable
MachineryOperationModeStateMachineType_FromMaintenanceToMaintenance_TransitionNumber,6070,Variable
MachineryOperationModeStateMachineType_FromSetupToNone_TransitionNumber,6071,Variable
MachineryOperationModeStateMachineType_FromSetupToMaintenance_TransitionNumber,6072,Variable
MachineryOperationModeStateMachineType_FromSetupToProcessing_TransitionNumber,6073,Variable
MachineryOperationModeStateMachineType_FromSetupToSetup_TransitionNumber,6074,Variable
MachineryOperationModeStateMachineType_FromProcessingToNone_TransitionNumber,6075,Variable
MachineryOperationModeStateMachineType_FromProcessingToMaintenance_TransitionNumber,6076,Variable
MachineryOperationModeStateMachineType_FromProcessingToSetup_TransitionNumber,6077,Variable
MachineryOperationModeStateMachineType_FromProcessingToProcessing_TransitionNumber,6078,Variable
MachineryOperationCounterType_PowerOnDuration,6079,Variable
MachineryOperationCounterType_OperationDuration,6080,Variable
MachineryOperationCounterType_OperationCycleCounter,6081,Variable
MachineryOperationCounterType_DefaultInstanceBrowseName,6082,Variable
MachineryLifetimeCounterType_LifetimeVariable,6083,Variable
MachineryLifetimeCounterType_LifetimeVariable_LimitValue,6084,Variable
MachineryLifetimeCounterType_LifetimeVariable_StartValue,6085,Variable
MachineryLifetimeCounterType_LifetimeVariable_EngineeringUnits,6086,Variable
MachineryLifetimeCounterType_DefaultInstanceBrowseName,6087,Variable
MachineryItemIdentificationType_DefaultInstanceBrowseName,6088,Variable
MonitoringType_DefaultInstanceBrowseName,6089,Variable
MonitoringType_Status_MachineryItemState_CurrentState,6090,Variable
MonitoringType_Status_MachineryItemState_CurrentState_Id,6091,Variable
MonitoringType_Status_MachineryOperationMode_CurrentState,6092,Variable
MonitoringType_Status_MachineryOperationMode_CurrentState_Id,6093,Variable
MonitoringType_Status_Stacklight_StacklightMode,6094,Variable
MonitoringType_Health_DeviceHealth,6095,Variable
MachineryEquipmentFolderType_MachineryEquipment_AssetId,6096,Variable
MachineryEquipmentFolderType_MachineryEquipment_ComponentName,6097,Variable
MachineryEquipmentFolderType_MachineryEquipment_Description,6098,Variable
MachineryEquipmentFolderType_MachineryEquipment_DeviceClass,6099,Variable
MachineryEquipmentFolderType_MachineryEquipment_Location,6100,Variable
MachineryEquipmentFolderType_MachineryEquipment_MachineryEquipmentTypeId,6101,Variable
MachineryEquipmentFolderType_MachineryEquipment_ManufacturerUri,6102,Variable
MachineryEquipmentFolderType_MachineryEquipment_Model,6103,Variable
MachineryEquipmentFolderType_MachineryEquipment_SerialNumber,6104,Variable
MachineryEquipmentFolderType_DefaultInstanceBrowseName,6105,Variable
NotificationsType_DefaultInstanceBrowseName,6106,Variable
IMachineryEquipmentType_Description,6107,Variable
IMachineryEquipmentType_MachineryEquipmentTypeId,6108,Variable
IMachineryEquipmentType_EquipmentLife,6109,Variable
IMachineryEquipmentType_EquipmentLife_LimitValue,6110,Variable
IMachineryEquipmentType_EquipmentLife_StartValue,6111,Variable
IMachineryEquipmentType_EquipmentLife_EngineeringUnits,6112,Variable