1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
using System;
using CommunityToolkit.Mvvm.ComponentModel;
 
namespace Plugin.DeviceConfig.Entity
{
    /// <summary>
    /// 设备种类枚举
    /// </summary>
    public enum DeviceKind
    {
        PowerSupply,
        CanDevice,
        PlcDevice,
        Chamber,
        DAQ
    }
 
    /// <summary>
    /// 传输方式枚举
    /// </summary>
    public enum TransportType
    {
        Tcp,
        Serial,
        Visa,
        SDK,
        Can
    }
 
    /// <summary>
    /// 设备定义实体
    /// </summary>
    public partial class DeviceDefinition : ObservableObject
    {
        /// <summary>
        /// 无参构造函数(用于数据绑定)
        /// </summary>
        public DeviceDefinition() { }
 
        /// <summary>
        /// 设备唯一标识(主键)
        /// </summary>
        [ObservableProperty]
        private string deviceId = string.Empty;
 
        /// <summary>
        /// 设备种类: PowerSupply / CanDevice / PlcDevice / Chamber / DAQ
        /// </summary>
        [ObservableProperty]
        private DeviceKind kind;
 
        /// <summary>
        /// 驱动类型名称
        /// </summary>
        [ObservableProperty]
        private string driverType = string.Empty;
 
        /// <summary>
        /// 传输方式: Tcp / Serial / Visa / SDK
        /// </summary>
        [ObservableProperty]
        private TransportType transport;
 
        /// <summary>
        /// 连接端点(IP:Port 或 COM口)
        /// </summary>
        [ObservableProperty]
        private string endpoint = string.Empty;
 
        /// <summary>
        /// 生效版本号
        /// </summary>
        [ObservableProperty]
        private string effectiveVersion = string.Empty;
 
        /// <summary>
        /// 创建时间
        /// </summary>
        [ObservableProperty]
        private DateTime createdAt = DateTime.Now;
 
        /// <summary>
        /// 更新时间
        /// </summary>
        [ObservableProperty]
        private DateTime updatedAt = DateTime.Now;
    }
}