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

76 lines
2.3 KiB
C#
Raw Normal View History

2025-09-05 15:59:14 +08:00
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using DMS.Core.Models;
2025-09-15 20:54:32 +08:00
using DMS.Infrastructure.Services;
2025-09-16 14:42:23 +08:00
using DMS.Infrastructure.Services.S7;
2025-09-05 15:59:14 +08:00
namespace DMS.Infrastructure.Interfaces.Services
{
/// <summary>
/// 定义S7服务管理器的接口
/// </summary>
public interface IS7ServiceManager : IDisposable
{
/// <summary>
/// 初始化服务管理器
/// </summary>
Task InitializeAsync(CancellationToken cancellationToken = default);
/// <summary>
/// 添加设备到监控列表
/// </summary>
void AddDevice(DMS.Core.Models.Device device);
2025-09-05 15:59:14 +08:00
/// <summary>
/// 移除设备监控
/// </summary>
Task RemoveDeviceAsync(int deviceId, CancellationToken cancellationToken = default);
/// <summary>
/// 更新设备变量
/// </summary>
void UpdateVariables(int deviceId, List<Variable> variables);
2025-09-05 15:59:14 +08:00
/// <summary>
/// 获取设备连接状态
/// </summary>
bool IsDeviceConnected(int deviceId);
/// <summary>
/// 重新连接设备
/// </summary>
Task ReconnectDeviceAsync(int deviceId, CancellationToken cancellationToken = default);
/// <summary>
/// 获取所有监控的设备ID
/// </summary>
IEnumerable<int> GetMonitoredDeviceIds();
/// <summary>
/// 连接指定设备
/// </summary>
Task ConnectDeviceAsync(int deviceId, CancellationToken cancellationToken = default);
/// <summary>
/// 断开指定设备连接
/// </summary>
Task DisconnectDeviceAsync(int deviceId, CancellationToken cancellationToken = default);
/// <summary>
/// 批量连接设备
/// </summary>
Task ConnectDevicesAsync(IEnumerable<int> deviceIds, CancellationToken cancellationToken = default);
/// <summary>
/// 批量断开设备连接
/// </summary>
Task DisconnectDevicesAsync(IEnumerable<int> deviceIds, CancellationToken cancellationToken = default);
2025-09-15 20:54:32 +08:00
/// <summary>
/// 获取所有监控的设备ID
/// </summary>
List<S7DeviceContext> GetAllDeviceContexts();
2025-09-05 15:59:14 +08:00
}
}