using DMS.Core.Enums; namespace DMS.Models; /// /// 表示变量数据信息。 /// public partial class Variable { /// /// 变量唯一标识符。 /// public int Id { get; set; } /// /// 变量名称。 /// private string name; /// /// 节点ID,用于标识变量在设备或系统中的唯一路径。 /// public string NodeId { get; set; } /// /// 节点ID,用于标识变量在设备或系统中的唯一路径。 /// public string S7Address { get; set; } /// /// OPC UA Endpoint URL。 /// public string? OpcUaEndpointUrl { get; set; } /// /// OPC UA Node ID。 /// public string? OpcUaNodeId { get; set; } /// /// 变量描述。 /// 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; } /// /// 变量当前原始数据值。 /// private string dataValue = String.Empty; /// /// 变量经过转换或格式化后的显示值。 /// private string displayValue = String.Empty; /// /// 指示变量是否处于激活状态。 /// public bool isActive; /// /// 指示变量是否被选中 /// public bool isSelect; /// /// 指示是否需要保存变量数据。 /// public bool IsSave { get; set; } /// /// 指示是否需要对变量进行报警监测。 /// public bool IsAlarm { get; set; } /// /// 轮询级别,例如1秒、5秒等。 /// private PollLevelType pollLevelType = PollLevelType.ThirtySeconds; /// /// OPC UA更新类型,例如轮询或订阅。 /// private OpcUaUpdateType opcUaUpdateType = OpcUaUpdateType.OpcUaPoll; /// /// 最后一次轮询时间。 /// public DateTime LastPollTime { get; set; } = DateTime.MinValue; /// /// 指示变量是否已被逻辑删除。 /// public bool IsDeleted { get; set; } /// /// 指示变量是否已被修改了。 /// private bool isModified; /// /// 报警的最大值阈值。 /// public double AlarmMax { get; set; } /// /// 报警的最小值阈值。 /// public double AlarmMin { get; set; } /// /// 数据转换规则或表达式。 /// private string converstion = String.Empty; /// /// 数据保存的范围或阈值。 /// public double SaveRange { get; set; } /// /// 变量数据创建时间。 /// private DateTime createTime; /// /// 变量数据最后更新时间。 /// private DateTime updateTime = DateTime.Now; /// /// 最后更新变量数据的用户。 /// public User UpdateUser { get; set; } /// /// 关联的变量表ID。 /// public int VariableTableId { get; set; } /// /// 关联的变量表实体。 /// public VariableTable? VariableTable { get; set; } /// /// 关联的MQTT配置列表。 /// public List? VariableMqtts { get; set; } }