C# 使用NetStandard.Opc.Ua读写OPC UA数据
时间: 2025-01-02 16:45:16 浏览: 11
C# 中使用 NetStandard.Opc.Ua 库来操作 OPC UA (开放平台通信协议统一架构) 数据,可以让你的应用程序与工业设备和服务进行集成,因为 OPC UA 是一种标准的数据交换协议。以下是基本步骤:
1. 首先,需要安装 `NetStandard.Opc.Ua` NuGet 包,可以在 Visual Studio 或 Package Manager Console 中执行 `Install-Package NetStandard.Opc.Ua`。
2. 引入命名空间:
```csharp
using Opc.Ua;
using Opc.Ua.Client;
```
3. 创建客户端连接:
```csharp
var endpointUrl = "opc.tcp://your opc ua server address";
var securityPolicyUri = new Uri("http://opcfoundation.org/UA/SecurityPolicy#None");
var client = ClientConfiguration.CreateDefault().SetSecurityPolicy(securityPolicyUri).Build(endpointUrl);
client.Connect();
```
4. 访问服务器节点:
```csharp
var nodeToRead = client.GetNamespaceUri("ns=yourNamespaceId") + "/yourNodeId"; // 替换为实际节点ID
var browseResult = await client.BrowseAsync(nodeToRead);
var nodes = browseResult.Nodes;
```
5. 读取数据:
```csharp
foreach (var node in nodes)
{
var dataValue = await node.ReadValueAsync();
Console.WriteLine($"Node: {node.NodeId}, Value: {dataValue.Value}");
}
```
6. 写入数据:
```csharp
var newNode = client.GetNamespaceUri("ns=yourNamespaceId") + "/newNodeId";
var valueToWrite = new DataValue() { Value = yourDesiredValue };
await node.WriteValueAsync(valueToWrite);
```
7. 关闭连接:
```csharp
client.Disconnect();
```
阅读全文