using Opc.Ua; using Opc.Ua.Client; using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace DMS.Infrastructure.Interfaces.Services { public interface IOpcUaService { /// /// 连接到 OPC UA 服务器(异步) /// /// 取消令牌 /// public Task ConnectAsync(string opcUaServerUrl,CancellationToken stoppingToken = default); /// /// 断开 OPC UA 服务器连接 /// public void Disconnect(); /// /// 添加订阅 /// /// 订阅名称 /// 创建的订阅 public Subscription AddSubscription(string subscriptionName); /// /// 浏览节点 /// /// 起始节点ID /// 节点引用列表 public IList BrowseNodes(NodeId nodeId); /// /// 读取节点值 /// /// 节点ID /// 节点值 public DataValue ReadValue(NodeId nodeId); /// /// 写入节点值 /// /// 节点ID /// 要写入的值 /// 写入结果 public StatusCode WriteValue(NodeId nodeId, object value); /// /// 检查是否已连接 /// /// public bool IsConnected(); } }