2025-07-18 22:21:16 +08:00
|
|
|
|
using DMS.Core.Enums;
|
2025-07-21 14:35:17 +08:00
|
|
|
|
using System.Collections.Generic;
|
2025-06-12 18:41:46 +08:00
|
|
|
|
|
2025-07-19 09:25:01 +08:00
|
|
|
|
namespace DMS.Core.Models;
|
2025-06-10 22:13:06 +08:00
|
|
|
|
|
2025-07-03 13:17:25 +08:00
|
|
|
|
/// <summary>
|
2025-07-21 14:35:17 +08:00
|
|
|
|
/// 代表一个可管理的物理或逻辑设备。
|
2025-07-03 13:17:25 +08:00
|
|
|
|
/// </summary>
|
2025-07-21 14:35:17 +08:00
|
|
|
|
public class Device
|
2025-06-10 22:13:06 +08:00
|
|
|
|
{
|
2025-07-03 13:17:25 +08:00
|
|
|
|
/// <summary>
|
2025-07-21 14:35:17 +08:00
|
|
|
|
/// 唯一标识符。
|
2025-07-03 13:17:25 +08:00
|
|
|
|
/// </summary>
|
2025-07-19 09:25:01 +08:00
|
|
|
|
public int Id { get; set; }
|
2025-07-03 13:17:25 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2025-07-21 14:35:17 +08:00
|
|
|
|
/// 设备名称,用于UI显示和识别。
|
2025-07-03 13:17:25 +08:00
|
|
|
|
/// </summary>
|
2025-07-21 14:35:17 +08:00
|
|
|
|
public string Name { get; set; }
|
2025-07-03 13:17:25 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2025-07-21 14:35:17 +08:00
|
|
|
|
/// 设备的描述信息。
|
2025-07-03 13:17:25 +08:00
|
|
|
|
/// </summary>
|
2025-07-21 14:35:17 +08:00
|
|
|
|
public string Description { get; set; }
|
2025-07-03 13:17:25 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2025-07-21 14:35:17 +08:00
|
|
|
|
/// 设备使用的通信协议。
|
2025-07-03 13:17:25 +08:00
|
|
|
|
/// </summary>
|
2025-07-21 14:35:17 +08:00
|
|
|
|
public ProtocolType Protocol { get; set; }
|
2025-07-03 13:17:25 +08:00
|
|
|
|
|
2025-07-04 14:42:28 +08:00
|
|
|
|
/// <summary>
|
2025-07-21 14:35:17 +08:00
|
|
|
|
/// 设备的IP地址。
|
2025-07-04 14:42:28 +08:00
|
|
|
|
/// </summary>
|
2025-07-21 14:35:17 +08:00
|
|
|
|
public string IpAddress { get; set; }
|
2025-07-04 14:42:28 +08:00
|
|
|
|
|
2025-07-05 01:31:44 +08:00
|
|
|
|
/// <summary>
|
2025-07-21 14:35:17 +08:00
|
|
|
|
/// 设备的通信端口号。
|
2025-07-05 01:31:44 +08:00
|
|
|
|
/// </summary>
|
2025-07-21 14:35:17 +08:00
|
|
|
|
public int Port { get; set; }
|
2025-07-05 01:31:44 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2025-07-21 14:35:17 +08:00
|
|
|
|
/// S7 PLC的机架号。
|
2025-07-05 01:31:44 +08:00
|
|
|
|
/// </summary>
|
2025-07-24 22:03:26 +08:00
|
|
|
|
public short Rack { get; set; }
|
2025-07-05 01:31:44 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2025-07-21 14:35:17 +08:00
|
|
|
|
/// S7 PLC的槽号。
|
2025-07-05 01:31:44 +08:00
|
|
|
|
/// </summary>
|
2025-07-24 22:03:26 +08:00
|
|
|
|
public short Slot { get; set; }
|
2025-07-05 01:31:44 +08:00
|
|
|
|
|
2025-07-03 13:17:25 +08:00
|
|
|
|
/// <summary>
|
2025-07-21 14:35:17 +08:00
|
|
|
|
/// OPC UA 服务器地址 (仅当 Protocol 为 OpcUa 时有效)。
|
2025-07-03 13:17:25 +08:00
|
|
|
|
/// </summary>
|
2025-07-21 14:35:17 +08:00
|
|
|
|
public string OpcUaServerUrl { get; set; }
|
2025-07-03 13:17:25 +08:00
|
|
|
|
|
2025-07-08 20:19:06 +08:00
|
|
|
|
/// <summary>
|
2025-07-21 14:35:17 +08:00
|
|
|
|
/// 指示此设备是否处于激活状态。只有激活的设备才会被轮询。
|
2025-07-08 20:19:06 +08:00
|
|
|
|
/// </summary>
|
2025-07-21 14:35:17 +08:00
|
|
|
|
public bool IsActive { get; set; }
|
2025-07-08 20:19:06 +08:00
|
|
|
|
|
2025-07-03 13:17:25 +08:00
|
|
|
|
/// <summary>
|
2025-07-21 14:35:17 +08:00
|
|
|
|
/// 此设备包含的变量表集合。
|
2025-07-03 13:17:25 +08:00
|
|
|
|
/// </summary>
|
2025-07-21 14:35:17 +08:00
|
|
|
|
public List<VariableTable> VariableTables { get; set; } = new();
|
2025-07-24 15:07:03 +08:00
|
|
|
|
|
|
|
|
|
|
public string CpuType { get; set; }
|
|
|
|
|
|
public DeviceType DeviceType { get; set; }
|
2025-07-27 21:08:58 +08:00
|
|
|
|
public bool IsRunning { get; set; }
|
2025-06-10 22:13:06 +08:00
|
|
|
|
}
|