OPCFoundation.NetStandard.Opc.Ua.Pumps.Client
2.0.1
Prefix Reserved
dotnet add package OPCFoundation.NetStandard.Opc.Ua.Pumps.Client --version 2.0.1
NuGet\Install-Package OPCFoundation.NetStandard.Opc.Ua.Pumps.Client -Version 2.0.1
<PackageReference Include="OPCFoundation.NetStandard.Opc.Ua.Pumps.Client" Version="2.0.1" />
<PackageVersion Include="OPCFoundation.NetStandard.Opc.Ua.Pumps.Client" Version="2.0.1" />
<PackageReference Include="OPCFoundation.NetStandard.Opc.Ua.Pumps.Client" />
paket add OPCFoundation.NetStandard.Opc.Ua.Pumps.Client --version 2.0.1
#r "nuget: OPCFoundation.NetStandard.Opc.Ua.Pumps.Client, 2.0.1"
#:package OPCFoundation.NetStandard.Opc.Ua.Pumps.Client@2.0.1
#addin nuget:?package=OPCFoundation.NetStandard.Opc.Ua.Pumps.Client&version=2.0.1
#tool nuget:?package=OPCFoundation.NetStandard.Opc.Ua.Pumps.Client&version=2.0.1
Opc.Ua.Pumps.Client
Client-side access to OPC 40223 — OPC UA for Pumps and Vacuum Pumps.
PumpsClient pumps = session.Pumps(telemetry);
await foreach (PumpEntry entry in pumps.EnumeratePumpsAsync(ct))
{
PumpNameplate? nameplate = await pumps.ReadNameplateAsync(entry.NodeId, ct);
PumpValueSet measurements = await pumps.ReadMeasurementsAsync(entry.NodeId, ct: ct);
double? flow = measurements.GetDouble(BrowseNames.MassFlow);
EUInformation? unit = measurements[BrowseNames.MassFlow]?.EngineeringUnits;
}
Discovery
A conforming server publishes a pump twice — as a Device Integration device
below DeviceSet and as an OPC 40001-1 machine below Machines.
EnumeratePumpsAsync looks in both and de-duplicates. Matching is by type
hierarchy, so a vendor subtype of PumpType is found as well.
Reading
Each of the seven PumpType groups has its own accessor, and
ReadPumpAsync takes the lot in one PumpSnapshot:
| Call | OPC 40223 group |
|---|---|
ReadNameplateAsync |
Identification |
ReadConfigurationAsync |
Configuration — design, implementation, system requirements |
ReadOperationalAsync |
Operational — measurements, signals, control, actuation, multi-pump |
ReadSupervisionAsync |
Events — the seven supervision categories |
ReadMaintenanceAsync |
Maintenance — general, preventive, condition-based, breakdown |
ReadDocumentationAsync |
Documentation |
ReadPortsAsync |
Ports — drive, inlet and outlet connection ports |
The open groups come back as a PumpValueSet keyed by browse name, filled
from what the server actually publishes rather than from a fixed list — so a
pump that publishes three of the 78 DesignType parameters yields three
entries, and one that publishes all 78 yields all 78. Index it with the
generated Opc.Ua.Pumps.BrowseNames constants.
Each PumpValue carries the engineering unit and instrument range alongside
the reading, because an OPC 40223 measurement without its unit is not
interpretable. That costs one extra round trip per group; pass
PumpReadOptions.ValuesOnly when polling, since the metadata does not change.
Supervision
PumpSupervisionStatus.ActiveSignals collapses the roughly 150 boolean fault
signals across the seven categories into just the ones currently raised —
which is normally the question being asked.
Hosting
services.AddClient(...).AddPumpsClient();
registers a PumpsClientFactory and a Func<CancellationToken, Task<PumpsClient>>.
For the server side use Opc.Ua.Pumps.Server; the model, the generated types
and the shared snapshot contracts live in Opc.Ua.Pumps.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Framework | net48 is compatible. net481 was computed. |
-
.NETFramework 4.8
- BitFaster.Caching (>= 2.6.1)
- BouncyCastle.Cryptography (>= 2.7.0)
- Microsoft.Bcl.AsyncInterfaces (>= 10.0.12)
- Microsoft.Bcl.HashCode (>= 6.0.0)
- Microsoft.Bcl.TimeProvider (>= 10.0.12)
- Microsoft.Extensions.Configuration (>= 10.0.12)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.12)
- Microsoft.Extensions.DependencyInjection (>= 10.0.12)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Diagnostics (>= 10.0.12)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Http (>= 10.0.12)
- Microsoft.Extensions.Http.Resilience (>= 10.10.0)
- Microsoft.Extensions.Logging (>= 10.0.12)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Options (>= 10.0.12)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.12)
- OPCFoundation.NetStandard.Opc.Ua.Client (>= 2.0.1)
- OPCFoundation.NetStandard.Opc.Ua.Di.Client (>= 2.0.1)
- OPCFoundation.NetStandard.Opc.Ua.Pumps (>= 2.0.1)
- System.Buffers (>= 4.6.1)
- System.Collections.Immutable (>= 9.0.0)
- System.Diagnostics.DiagnosticSource (>= 10.0.12)
- System.Formats.Asn1 (>= 10.0.12)
- System.Memory (>= 4.6.3)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.2)
- System.Text.Json (>= 10.0.12)
- System.Threading.Channels (>= 10.0.12)
- System.Threading.RateLimiting (>= 10.0.12)
- System.Threading.Tasks.Extensions (>= 4.6.3)
-
net10.0
- BitFaster.Caching (>= 2.6.1)
- Microsoft.Bcl.TimeProvider (>= 10.0.12)
- Microsoft.Extensions.Configuration (>= 10.0.12)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.12)
- Microsoft.Extensions.DependencyInjection (>= 10.0.12)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Diagnostics (>= 10.0.12)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Http (>= 10.0.12)
- Microsoft.Extensions.Http.Resilience (>= 10.10.0)
- Microsoft.Extensions.Logging (>= 10.0.12)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Options (>= 10.0.12)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.12)
- OPCFoundation.NetStandard.Opc.Ua.Client (>= 2.0.1)
- OPCFoundation.NetStandard.Opc.Ua.Di.Client (>= 2.0.1)
- OPCFoundation.NetStandard.Opc.Ua.Pumps (>= 2.0.1)
- System.Threading.RateLimiting (>= 10.0.12)
-
net8.0
- BitFaster.Caching (>= 2.6.1)
- Microsoft.Bcl.TimeProvider (>= 10.0.12)
- Microsoft.Extensions.Configuration (>= 10.0.12)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.12)
- Microsoft.Extensions.DependencyInjection (>= 10.0.12)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Diagnostics (>= 10.0.12)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Http (>= 10.0.12)
- Microsoft.Extensions.Http.Resilience (>= 10.10.0)
- Microsoft.Extensions.Logging (>= 10.0.12)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Options (>= 10.0.12)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.12)
- OPCFoundation.NetStandard.Opc.Ua.Client (>= 2.0.1)
- OPCFoundation.NetStandard.Opc.Ua.Di.Client (>= 2.0.1)
- OPCFoundation.NetStandard.Opc.Ua.Pumps (>= 2.0.1)
- System.Collections.Immutable (>= 9.0.0)
- System.Diagnostics.DiagnosticSource (>= 10.0.12)
- System.Formats.Asn1 (>= 10.0.12)
- System.Text.Json (>= 10.0.12)
- System.Threading.Channels (>= 10.0.12)
- System.Threading.RateLimiting (>= 10.0.12)
-
net9.0
- BitFaster.Caching (>= 2.6.1)
- Microsoft.Bcl.TimeProvider (>= 10.0.12)
- Microsoft.Extensions.Configuration (>= 10.0.12)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.12)
- Microsoft.Extensions.DependencyInjection (>= 10.0.12)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Diagnostics (>= 10.0.12)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Http (>= 10.0.12)
- Microsoft.Extensions.Http.Resilience (>= 10.10.0)
- Microsoft.Extensions.Logging (>= 10.0.12)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Options (>= 10.0.12)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.12)
- OPCFoundation.NetStandard.Opc.Ua.Client (>= 2.0.1)
- OPCFoundation.NetStandard.Opc.Ua.Di.Client (>= 2.0.1)
- OPCFoundation.NetStandard.Opc.Ua.Pumps (>= 2.0.1)
- System.Diagnostics.DiagnosticSource (>= 10.0.12)
- System.Formats.Asn1 (>= 10.0.12)
- System.Text.Json (>= 10.0.12)
- System.Threading.Channels (>= 10.0.12)
- System.Threading.RateLimiting (>= 10.0.12)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.