C# opcua 订阅怎么用
时间: 2023-07-12 19:38:49 浏览: 239
C# OPC UA ,DA两种方式与PLC通讯源码
3星 · 编辑精心推荐
在 C# 中使用 OPC UA 订阅功能,您可以通过 OPC UA 客户端库提供的 API 来实现。下面是一个简单的订阅 OPC UA 变量值的示例:
```csharp
// 实例化一个 OPC UA 客户端对象
var client = new Opc.Ua.Client.Session();
// 连接到 OPC UA 服务器
var endpointUrl = "opc.tcp://localhost:4840"; // 服务器地址
client.Connect(new Uri(endpointUrl));
// 创建一个订阅对象
var subscription = new Opc.Ua.Client.Subscription(client.DefaultSubscription) {
PublishingInterval = 1000 // 发布间隔,单位为毫秒
};
// 添加一个变量节点
var nodeId = "ns=2;s=MyVariable"; // 变量节点的 NodeId
var item = new Opc.Ua.Client.MonitoredItem(subscription.DefaultItem) {
StartNodeId = nodeId, // 要订阅的变量节点的 NodeId
AttributeId = Opc.Ua.AttributeIds.Value // 要订阅的变量节点的属性
};
// 订阅变量值
item.Notification += (sender, e) => {
Console.WriteLine($"Value changed to {e.Value.WrappedValue}");
};
subscription.AddItem(item);
// 启动订阅
subscription.Create();
```
在上面的示例中,我们首先实例化一个 OPC UA 客户端对象,并连接到 OPC UA 服务器。然后,我们创建一个订阅对象,并设置其发布间隔。接着,我们添加一个要订阅的变量节点,并指定要订阅的属性。最后,我们订阅变量值的变化,并在值改变时打印出新值。
需要注意的是,上面的示例仅作为 OPC UA 订阅功能的简单演示,您需要根据实际需求进行相应的修改和调整。例如,您可以添加多个要订阅的变量节点,并在订阅对象中设置相应的参数,以满足您的实际需求。
阅读全文