Files
IOT_API/Model/Entity/Config/IotDeviceEntity.cs
T

98 lines
3.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using SqlSugar;
namespace Model.Entity.Config
{
/// <summary>
/// IOT 设备(IOT设备注册与管理 - 设备管理)
/// 一台设备 = 一个从站实例,通过所属网关(IP:端口 或 串口)通讯
/// </summary>
public class IotDeviceEntity : BaseEntity
{
#region 基础信息
/// <summary>
/// 设备编号(唯一)
/// </summary>
[SugarColumn(ColumnDescription = "设备编号", Length = 64)]
public string Code { get; set; }
/// <summary>
/// 设备名称
/// </summary>
[SugarColumn(ColumnDescription = "设备名称", Length = 100)]
public string Name { get; set; }
/// <summary>
/// 设备类型(型号,如 温度箱/充放电柜,对应 DeviceCommand 驱动类)
/// </summary>
[SugarColumn(ColumnDescription = "设备类型", Length = 64)]
public string DeviceType { get; set; }
/// <summary>
/// 所属网关Code(对应网关实体/通道的标识,连接时据此刻查找 IP/端口/串口)
/// </summary>
[SugarColumn(ColumnDescription = "所属网关Code", Length = 64)]
public string GatewayCode { get; set; }
/// <summary>
/// 从站地址(协议从站号,网关下区分设备)
/// </summary>
[SugarColumn(ColumnDescription = "从站地址")]
public byte SlaveId { get; set; }
/// <summary>
/// 制造商
/// </summary>
[SugarColumn(ColumnDescription = "制造商", Length = 100, IsNullable = true)]
public string? Manufacturer { get; set; }
/// <summary>
/// 设备描述
/// </summary>
[SugarColumn(ColumnDescription = "设备描述", Length = 500, IsNullable = true)]
public string? Description { get; set; }
#endregion
#region 连接与协议配置
/// <summary>
/// 通讯协议类型(ModbusTcp/ModbusRtu/S7/Tcp/Serial
/// </summary>
[SugarColumn(ColumnDescription = "通讯协议类型")]
public IotDeviceProtocolEnum ProtocolType { get; set; } = IotDeviceProtocolEnum.ModbusTcp;
/// <summary>
/// 是否启用采集(停用则采集调度跳过该设备)
/// </summary>
[SugarColumn(ColumnDescription = "是否启用")]
public bool IsEnabled { get; set; } = true;
#endregion
#region 运行状态(采集调度器更新)
/// <summary>
/// 在线状态
/// </summary>
[SugarColumn(ColumnDescription = "在线状态")]
public IotDeviceOnlineStatusEnum OnlineStatus { get; set; } = IotDeviceOnlineStatusEnum.Offline;
/// <summary>
/// 最后采集时间
/// </summary>
[SugarColumn(ColumnDescription = "最后采集时间", IsNullable = true)]
public DateTime? LastCollectTime { get; set; }
/// <summary>
/// 最近错误信息(通讯异常时记录)
/// </summary>
[SugarColumn(ColumnDescription = "最近错误", Length = 500, IsNullable = true)]
public string? LastError { get; set; }
#endregion
#region 审计信息
/// <summary>
/// 备注
/// </summary>
[SugarColumn(ColumnDescription = "备注", Length = 500, IsNullable = true)]
public string? Remark { get; set; }
#endregion
}
}