longyvfengyun
2023-12-25 d8d792a6842832e8f6af6604274c438b25053afe
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
import { getLastCapacityTest } from "../history";
 
export default {
    workstates: ["在线浮充","预充电","核容测试","停电放电","内阻测试","K1/D1测试", '离线养护测试', '未知'],
    alarmstates: ["继电器K1告警","通讯告警","设备过温告警","二极管D1告警"],
    stopreasons: {
        0:'设备掉电',1:'手动终止',2:'放电时间到',3:'放电容量到',4:'单体电压下限到',5:'单体温度上限到',6:'组端电压下限到',
        7:'市电中断',8:'单体模块通信异常',9:'存储数据满',10:'机内温度异常',11:'放电电流异常',12:'后台通信中断',13:'内部程序异常',
        14:'电源电压高',15:'协议转通信异常',16:'其他',27:'其他设备在工作',28:'其他设备故障停止',29:'电压过高或过低',30:'干接点故障',
        31:'单体异常',32:'电压输入过高或过低',33: '电池电流异常',34: "kd测试故障",35: "切换装置通信异常",36: "切换装置故障",
        37: "切换装置接触器异常", 100:'未知'
    },
    failreasons: {
        0:'无', 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:'kd测试故障', 35: '其他的设备通信故障',
        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:'其他设备kd测试故障',
    },
    cmd: {
        start: 81,    // 启动测试
        stop: 83,    // 停止测试
        set: 40,    // 设置参数
        get: 41,    // 获取参数
    },
    testType: [
        {
            label: '核容放电',
            value: 37,
        },
        {
            label: '内阻测试',
            value: 50
        },
        {
            label: 'K1/D1测试',
            value: 72
        },
    ],
    dischargeRules: {
        DisCurr: {        // 核容电流
            pattern: /^[0-9]{1,3}$/,
            regVal: true,
            min: 1,
            max: 300,
            msg: '取值范围1~300(整数)'
        },
        DisTime: {        // 核容时长
            pattern: /^[0-9]{1,4}$/,
            regVal: true,
            min: 1,
            max: 10000,
            msg: '取值范围1~10000(整数)'
        },
        DisCap: {        // 核容容量
            pattern: /^[0-9]{1,4}$/,
            regVal: true,
            min: 1,
            max: 2000,
            msg: '取值范围1~2000(整数)'
        },
        GroupVol_Low: {        // 组端电压下限
            pattern: /^[0-9]+(\.[0-9]{0,1})?$/,
            regVal: true,
            min: 43,
            max: 54,
            msg: '取值范围43.0~54.0'
        },
        MonomerVol_Low: {        // 单体电压下限
            pattern: /^[0-9]{1,2}(\.[0-9]{0,2})?$/,
            regVal: true,
            min: 1.8,
            max: 2.25,
            msg: '取值范围1.80~2.25(保留两位小数)'
        },
        MonomerTmp_High: {        // 单体温度上限
            pattern: /^[0-9]{1,2}(\.[0-9]{0,1})?$/,
            regVal: true,
            min: 10,
            max: 60,
            msg: '取值范围10~60(保留一位小数)'
        }
    },
    stateList: [
        {
            id: 1,
            name: "workState",
            type: "",
            icon: "",
            text: "设备工作状态:",
            value: "在线浮充",
            show: false
        },
        {
            id: 2,
            name: "connect",
            type: "",
            icon: "el-icon-tongxun",
            text: "汇集器通讯:",
            value: "正常",
            show: false
        },
        {
            id: 3,
            name: "devTemp",
            type: "",
            icon: "el-icon-wendu",
            text: "设备温度:",
            value: "正常",
            show: false
        },
        {
            id: 4,
            name: "contact",
            type: "",
            icon: "el-icon-fenxiang",
            text: "干接点:",
            value: "正常",
            show: false
        },
        {
            id: 7,
            name: "resDay",
            type: "",
            icon: "",
            text: "剩余天数:",
            value: "0",
            notShow: true,
            show: false
        },
        {
            id: 8,
            name: "workMode",
            type: "",
            icon: "",
            text: "工作模式:",
            value: "停止",
            notShow: true,
            show: false
        },
        {
            id: 9,
            name: "groupVol",
            type: "",
            icon: "",
            text: "组端电压:",
            value: "0",
            unit: "V",
            notShow: true,
            show: false
        },
        {
            id: 10,
            name: "peakVol",
            type: "",
            icon: "",
            text: "峰值电压:",
            value: "0",
            unit: "V",
            notShow: true,
            show: false
        },
        // {
        //     id: 110,
        //     name: "xuHang",
        //     type: "",
        //     icon: "",
        //     text: "预估续航时长:",
        //     value: "???",
        //     show: true
        // },
    ],
    historyStateList: [
        // {
        //     id: 5,
        //     name: "stopReason",
        //     type: "",
        //     icon: "",
        //     text: "核容终止原因:",
        //     value: "未知",
        //     show: false
        // },
        {
            id: 6,
            name: "failReason",
            type: "",
            icon: "",
            text: "操作失败原因:",
            value: "未知",
            show: false
        }
  ],
  lastCapacityTest: [
    {
      id: 11,
      name: 'test_starttime',
      type: '',
      icon: '',
      text: '开始时间:',
      value: '未知',
      show: true
    },
    {
      id: 12,
      name: 'test_cap',
      type: '',
      icon: '',
      text: '测试容量:',
      value: '未知',
      show: true
    },
    {
      id: 13,
      name: 'test_timelong',
      type: '',
      icon: '',
      text: '测试时长:',
      value: '未知',
      show: true
    },
    {
      id: 14,
      name: 're_cap',
      type: '',
      icon: '',
      text: '剩余容量:',
      value: '未知',
      show: true
    },
    {
      id: 15,
      name: 'endurance_time',
      type: '',
      icon: '',
      text: '续航时长:',
      value: '未知',
      show: true
    },
    {
      id: 16,
      name: "stopReason",
      type: "",
      icon: "",
      text: "终止原因:",
      value: "未知",
      show: true
    }
    ],
    getItemByName(name, list) {
        let result = false;
        for(let i=0; i<list.length; i++) {
            let item = list[i];
            if(item.name == name) {
                result = item;
                break;
            }
        }
        return result;
    }
};