C#OPC UA与设备通讯代码
时间: 2024-11-07 19:01:26 浏览: 17
C# OPC Unified Architecture (UA) 是一种基于工业标准的协议,用于在分布式系统中建立客户端和服务器之间的通信。它支持多种设备和服务,使得不同厂商的设备能在统一的平台上进行数据交换。在C#中,通过.NET Framework提供的NuGet包如"Machine Vision SDK"、"UaExpert"或"MicrosoftIndustrialIoT",可以编写代码与OPC UA设备进行通信。
以下是一个简单的示例,展示了如何使用System.IO.Packaging.CompositionClient库连接到OPC UA服务器并读取数据:
```csharp
using System;
using System.Net;
using UaExpert;
classopcuaExample {
public async void CommunicateWithDevice(string serverUri)
{
// 创建opc client实例
CompositionClient client = new CompositionClient(new Uri(serverUri), null);
try
{
// 连接到服务器
await client.ConnectAsync();
// 获取节点实例
IVariable variable = client.GetVariable("YourVariableId");
// 读取变量值
Variant value = await variable.ReadValueAsync();
Console.WriteLine($"Received data: {value.Value}"); // 替换YourVariableId为实际的变量ID
// 关闭连接
await client.DisconnectAsync();
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
}
```
阅读全文