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();
}
}