按照软件设计文档开始重构代码01
This commit is contained in:
@@ -1,168 +1,143 @@
|
||||
using DMS.Core.Enums;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace DMS.Core.Models;
|
||||
|
||||
/// <summary>
|
||||
/// 表示变量数据信息。
|
||||
/// 核心数据点,代表从设备读取的单个值。
|
||||
/// </summary>
|
||||
public partial class Variable
|
||||
public class Variable
|
||||
{
|
||||
/// <summary>
|
||||
/// 变量唯一标识符。
|
||||
/// 唯一标识符。
|
||||
/// </summary>
|
||||
public int Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 变量名称。
|
||||
/// 变量名。
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 节点ID,用于标识变量在设备或系统中的唯一路径。
|
||||
/// 变量的描述信息。
|
||||
/// </summary>
|
||||
public string NodeId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 节点ID,用于标识变量在设备或系统中的唯一路径。
|
||||
/// </summary>
|
||||
public string S7Address { get; set; }
|
||||
public string Description { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// OPC UA Endpoint URL。
|
||||
/// 在设备中的地址 (例如: DB1.DBD0, M100.0)。
|
||||
/// </summary>
|
||||
public string? OpcUaEndpointUrl { get; set; }
|
||||
public string Address { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// OPC UA Node ID。
|
||||
/// 变量的信号类型,例如启动信号、停止信号。
|
||||
/// </summary>
|
||||
public string? OpcUaNodeId { get; set; }
|
||||
|
||||
public SignalType DataType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 变量描述。
|
||||
/// 变量的轮询级别,决定了其读取频率。
|
||||
/// </summary>
|
||||
public string Description { get; set; } = String.Empty;
|
||||
public PollLevelType PollLevel { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 协议类型,例如Modbus、OPC UA等。
|
||||
/// </summary>
|
||||
public ProtocolType ProtocolType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 信号类型,例如模拟量、数字量等。
|
||||
/// </summary>
|
||||
public SignalType SignalType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数据类型,例如Int、Float、String等。
|
||||
/// </summary>
|
||||
public string DataType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 变量当前原始数据值。
|
||||
/// </summary>
|
||||
public string DataValue { get; set; } = String.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 变量经过转换或格式化后的显示值。
|
||||
/// </summary>
|
||||
public string DisplayValue { get; set; } = String.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 指示变量是否处于激活状态。
|
||||
/// 指示此变量是否处于激活状态。
|
||||
/// </summary>
|
||||
public bool IsActive { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 指示变量是否被选中
|
||||
/// </summary>
|
||||
public bool IsSelect { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 指示是否需要保存变量数据。
|
||||
/// </summary>
|
||||
public bool IsSave { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 指示是否需要对变量进行报警监测。
|
||||
/// </summary>
|
||||
public bool IsAlarm { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 轮询级别,例如1秒、5秒等。
|
||||
/// </summary>
|
||||
public PollLevelType PollLevelType { get; set; } = PollLevelType.ThirtySeconds;
|
||||
|
||||
/// <summary>
|
||||
/// OPC UA更新类型,例如轮询或订阅。
|
||||
/// </summary>
|
||||
public OpcUaUpdateType OpcUaUpdateType { get; set; } = OpcUaUpdateType.OpcUaPoll;
|
||||
|
||||
/// <summary>
|
||||
/// 最后一次轮询时间。
|
||||
/// </summary>
|
||||
public DateTime LastPollTime { get; set; } = DateTime.MinValue;
|
||||
|
||||
/// <summary>
|
||||
/// 指示变量是否已被逻辑删除。
|
||||
/// </summary>
|
||||
public bool IsDeleted { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 指示变量是否已被修改了。
|
||||
/// </summary>
|
||||
public bool IsModified { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 报警的最大值阈值。
|
||||
/// </summary>
|
||||
public double AlarmMax { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 报警的最小值阈值。
|
||||
/// </summary>
|
||||
public double AlarmMin { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数据转换规则或表达式。
|
||||
/// </summary>
|
||||
public string Converstion { get; set; } = String.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// 数据保存的范围或阈值。
|
||||
/// </summary>
|
||||
public double SaveRange { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 变量数据创建时间。
|
||||
/// </summary>
|
||||
public DateTime CreateTime { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 变量数据最后更新时间。
|
||||
/// </summary>
|
||||
public DateTime UpdateTime { get; set; } = DateTime.Now;
|
||||
|
||||
/// <summary>
|
||||
/// 最后更新变量数据的用户。
|
||||
/// </summary>
|
||||
public User UpdateUser { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 关联的变量表ID。
|
||||
/// 所属变量表的ID。
|
||||
/// </summary>
|
||||
public int VariableTableId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 关联的变量表实体。
|
||||
/// 所属变量表的导航属性。
|
||||
/// </summary>
|
||||
public VariableTable? VariableTable { get; set; }
|
||||
public VariableTable VariableTable { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 关联的MQTT配置列表。
|
||||
/// 此变量的所有MQTT发布别名关联。一个变量可以关联多个MQTT服务器,每个关联可以有独立的别名。
|
||||
/// </summary>
|
||||
public List<VariableMqtt>? VariableMqtts { get; set; }
|
||||
public List<VariableMqttAlias> MqttAliases { get; set; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// OPC UA NodeId (仅当 Protocol 为 OpcUa 时有效)。
|
||||
/// </summary>
|
||||
public string OpcUaNodeId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否启用历史数据保存。
|
||||
/// </summary>
|
||||
public bool IsHistoryEnabled { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 历史数据保存的死区值。当变量值变化超过此死区时才保存。
|
||||
/// </summary>
|
||||
public double HistoryDeadband { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否启用报警。
|
||||
/// </summary>
|
||||
public bool IsAlarmEnabled { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 报警最小值。
|
||||
/// </summary>
|
||||
public double AlarmMinValue { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 报警最大值。
|
||||
/// </summary>
|
||||
public double AlarmMaxValue { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 报警死区。当变量值变化超过此死区时才触发报警。
|
||||
/// </summary>
|
||||
public double AlarmDeadband { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 存储从设备读取到的最新值。此属性不应持久化到数据库,仅用于运行时。
|
||||
/// </summary>
|
||||
[System.ComponentModel.DataAnnotations.Schema.NotMapped] // 标记此属性不映射到数据库
|
||||
public object DataValue { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 变量的通讯协议。
|
||||
/// </summary>
|
||||
public ProtocolType Protocol { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 变量的数据类型。
|
||||
/// </summary>
|
||||
public CSharpDataType CSharpDataType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数值转换公式,例如 "+3*5"。
|
||||
/// </summary>
|
||||
public string ConversionFormula { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 经过转换公式计算后的显示值。此属性不应持久化到数据库,仅用于运行时。
|
||||
/// </summary>
|
||||
[System.ComponentModel.DataAnnotations.Schema.NotMapped]
|
||||
public object DisplayValue { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 变量的创建时间。
|
||||
/// </summary>
|
||||
public DateTime CreatedAt { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 变量的最后更新时间。
|
||||
/// </summary>
|
||||
public DateTime UpdatedAt { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 最后更新变量的用户。
|
||||
/// </summary>
|
||||
public string UpdatedBy { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 指示变量是否被修改。
|
||||
/// </summary>
|
||||
public bool IsModified { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user