Files
DMS/Models/Device.cs

102 lines
2.3 KiB
C#
Raw Normal View History

using System.Collections.ObjectModel;
using CommunityToolkit.Mvvm.ComponentModel;
using PMSWPF.Enums;
using SqlSugar;
using SqlSugar.DbConvert;
using S7.Net; // Add this using directive
2025-06-10 22:13:06 +08:00
namespace PMSWPF.Models;
2025-07-03 13:17:25 +08:00
/// <summary>
/// 表示设备信息。
/// </summary>
public partial class Device : ObservableObject
2025-06-10 22:13:06 +08:00
{
2025-07-03 13:17:25 +08:00
/// <summary>
/// 设备的描述信息。
/// </summary>
[ObservableProperty]
private string description;
/// <summary>
/// 设备的类型。
/// </summary>
[SugarColumn(ColumnDataType = "varchar(20)", SqlParameterDbType = typeof(EnumToStringConvert))]
public DeviceType DeviceType { get; set; }
2025-07-03 13:17:25 +08:00
/// <summary>
/// 设备的唯一标识符。
/// </summary>
[ObservableProperty]
private int id;
/// <summary>
/// 设备的IP地址。
/// </summary>
[ObservableProperty]
private string ip;
/// <summary>
/// 表示设备是否处于活动状态。
/// </summary>
[ObservableProperty]
private bool isActive = true;
/// <summary>
/// 表示是否添加默认变量表。
/// </summary>
[ObservableProperty]
private bool isAddDefVarTable = true;
/// <summary>
/// 表示设备是否正在运行。
/// </summary>
[ObservableProperty]
private bool isRuning;
/// <summary>
/// 设备的名称。
/// </summary>
[ObservableProperty]
private string name;
2025-07-04 14:42:28 +08:00
/// <summary>
/// 设备的端口号。
/// </summary>
[ObservableProperty]
private int prot;
/// <summary>
/// PLC的CPU类型。
/// </summary>
[ObservableProperty]
private CpuType cpuType;
/// <summary>
/// PLC的机架号。
/// </summary>
[ObservableProperty]
private short rack;
/// <summary>
/// PLC的槽号。
/// </summary>
[ObservableProperty]
private short slot;
2025-07-03 13:17:25 +08:00
/// <summary>
/// 设备的通信协议类型。
/// </summary>
public ProtocolType ProtocolType { get; set; }
2025-07-03 13:17:25 +08:00
/// <summary>
/// OPC UA Endpoint URL。
/// </summary>
[ObservableProperty]
private string? opcUaEndpointUrl;
2025-07-03 13:17:25 +08:00
/// <summary>
/// 设备关联的变量表列表。
/// </summary>
public ObservableCollection<VariableTable>? VariableTables { get; set; }
2025-06-10 22:13:06 +08:00
}