using CommunityToolkit.Mvvm.ComponentModel; using PMSWPF.Enums; namespace PMSWPF.Models; /// /// 表示变量数据信息。 /// public partial class VariableData : ObservableObject { /// /// 变量唯一标识符。 /// public int Id { get; set; } /// /// 变量名称。 /// [ObservableProperty] private string name; /// /// 节点ID,用于标识变量在设备或系统中的唯一路径。 /// public string NodeId { get; set; } /// /// 节点ID,用于标识变量在设备或系统中的唯一路径。 /// public string S7Address { get; set; } /// /// 变量描述。 /// [ObservableProperty] private string description = String.Empty; /// /// 协议类型,例如Modbus、OPC UA等。 /// public ProtocolType ProtocolType { get; set; } /// /// 信号类型,例如模拟量、数字量等。 /// public SignalType SignalType { get; set; } /// /// 数据类型,例如Int、Float、String等。 /// public string DataType { get; set; } /// /// 变量当前原始数据值。 /// [ObservableProperty] private string dataValue = String.Empty; /// /// 变量经过转换或格式化后的显示值。 /// [ObservableProperty] private string displayValue = String.Empty; /// /// 指示变量是否处于激活状态。 /// public bool IsActive { get; set; } /// /// 指示是否需要保存变量数据。 /// public bool IsSave { get; set; } /// /// 指示是否需要对变量进行报警监测。 /// public bool IsAlarm { get; set; } /// /// 轮询级别,例如1秒、5秒等。 /// [ObservableProperty] private PollLevelType pollLevelType = PollLevelType.ThirtySeconds; /// /// 最后一次轮询时间。 /// public DateTime LastPollTime { get; set; } = DateTime.MinValue; /// /// 指示变量是否已被逻辑删除。 /// public bool IsDeleted { get; set; } /// /// 指示变量是否已被修改了。 /// [ObservableProperty] private bool isModified; /// /// 报警的最大值阈值。 /// public double AlarmMax { get; set; } /// /// 报警的最小值阈值。 /// public double AlarmMin { get; set; } /// /// 数据转换规则或表达式。 /// [ObservableProperty] private string converstion = String.Empty; /// /// 数据保存的范围或阈值。 /// public double SaveRange { get; set; } /// /// 变量数据创建时间。 /// [ObservableProperty] private DateTime createTime; /// /// 变量数据最后更新时间。 /// [ObservableProperty] private DateTime updateTime = DateTime.Now; /// /// 最后更新变量数据的用户。 /// public User UpdateUser { get; set; } /// /// 关联的变量表ID。 /// public int VariableTableId { get; set; } /// /// 关联的MQTT配置列表。 /// public List Mqtts { get; set; } partial void OnPollLevelTypeChanged(PollLevelType value) { IsModified = true; } }