Files
DMS/DMS.Infrastructure/Interfaces/Services/IOpcUaService.cs

25 lines
1.1 KiB
C#
Raw Normal View History

2025-09-01 21:03:34 +08:00
using DMS.Infrastructure.Models;
2025-08-25 20:16:57 +08:00
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace DMS.Infrastructure.Interfaces.Services
{
public interface IOpcUaService
{
2025-09-01 21:03:34 +08:00
bool IsConnected { get; }
Task ConnectAsync(string serviceURL);
Task DisconnectAsync();
Task<List<OpcUaNode>> BrowseNode(OpcUaNode? nodeToBrowse);
void SubscribeToNode(OpcUaNode node, Action<OpcUaNode> onDataChange, int publishingInterval = 1000, int samplingInterval = 500);
void SubscribeToNode(List<OpcUaNode> nodes, Action<OpcUaNode> onDataChange, int publishingInterval = 1000, int samplingInterval = 500);
void UnsubscribeFromNode(OpcUaNode node);
void UnsubscribeFromNode(List<OpcUaNode> nodes);
List<OpcUaNode> GetSubscribedNodes();
Task ReadNodeValueAsync(OpcUaNode node);
Task ReadNodeValuesAsync(List<OpcUaNode> nodes);
Task<bool> WriteNodeValueAsync(OpcUaNode node, object value);
Task<bool> WriteNodeValuesAsync(Dictionary<OpcUaNode, object> nodesToWrite);
2025-08-25 20:16:57 +08:00
}
2025-09-01 21:03:34 +08:00
}