whyclwt
2022-05-18 ab72c6e114d7c4e83564194367ba623ca23bf09d
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
#ifndef APP_DEFINE_H
#define APP_DEFINE_H
 
 
#include "qstring.h"
#include "qglobal.h"
#include "ctrl_define.h"
#include "pack_define.h"
#include "data_define.h"
#include "remote_define.h"
#include "ctrl_define.h"
#include "crc16.h"
 
 
 
#define     APP_VERSION         "V1.05"
 
const QString Phone_Version = "C19P-N,C19PXT,V1.0.5";
 
 
#define     PLATFORM_ARM        1
#define     PLATFORM_DESKTOP    0
#define     PLATFORM_USED       PLATFORM_ARM
 
 
#if (PLATFORM_USED==PLATFORM_ARM)
const QString dataDir = "/YC_DISK/USER_DATA/";
#else
const QString dataDir = "/home/winter/Qt_Project/C19P_XT/Data/";
#endif
 
const QString testDataDir = dataDir + "TestData/";
const QString testParmFile = dataDir+"testparam.parm";
const QString packParmFile = dataDir+"packparam.parm";
const QString sysParmFile = dataDir+"sysparam.xml";
const QString usbDir = "/mnt/usb/";
const QString USBDataDir = "Test_Data/";
 
const QString testFileType = ".FBO";
 
#define     MB_Caption  tr("系统信息")
 
 
#define     PACK_TYPE_Other         0x00 //其它
#define     PACK_TYPE_Halo          0x01 //哈啰
 
 
 
 
 
//============================================================================
#define ADJ_STATE_STOPPED       0
#define ADJ_STATE_DISCHARGE     1
#define ADJ_STATE_CHARGE        2
 
//============================================================================
 
#define TestTypeDischarge       0xFD
#define TestTypeCharge          0xFC
 
//============================================================================
#define WORK_STATE_STOPPED      0       //工作状态--停机
#define WORK_STATE_DIS_PAUSE    1       //工作状态--放电PAUSE
#define WORK_STATE_DISCHG       2       //工作状态--放电
#define WORK_STATE_CHG_PAUSE    3       //工作状态--充电PAUSE
#define WORK_STATE_CHARGE       4       //工作状态--充电
 
 
//============================================================================
#define ALARM_STATE_STOPPED         0  //测试停止!
#define ALARM_STATE_DISCHARGING     1  //正在放电!
#define ALARM_STATE_CHARGING        2  //正在充电!
 
#define ALARM_STATE_DISTIMEOVER     3  //放电时间到!
#define ALARM_STATE_DISCAPOVER      4  //放电容量到!
#define ALARM_STATE_DISSOCOVER      5  //放电SOC到!
#define ALARM_STATE_SUMVOLLOW       6  //组端下限到!
#define ALARM_STATE_CELLVOLLOW      7  //单体下限到!
 
#define ALARM_STATE_CHRTIMEOVER     8  //充电时间到!
#define ALARM_STATE_CHRCAPOVER      9  //充电容量到!
#define ALARM_STATE_CHGSOCOVER      10 //充电SOC到!
#define ALARM_STATE_SUMVOLHIGH      11 //组端上限到!
#define ALARM_STATE_CELLVOLHIGH     12 //单体上限到!
 
#define ALARM_STATE_TEMPHIGH        13 //电芯温度过高!
#define ALARM_STATE_CELLVOLDIFF     14 //电芯压差过大!
 
#define ALARM_STATE_ERR_COMM        15 //内部通信异常!
#define ALARM_STATE_ERR_VOL         16 //电压异常!
#define ALARM_STATE_ERR_CURR        17 //电流异常!
#define ALARM_STATE_ERR_TEMP        18 //温度异常!
#define ALARM_STATE_ERR_INTSTOP     19 //内部停止!
 
#define ALARM_STATE_PACK_COMM_ERR   20 //Pack通信异常!
#define ALARM_STATE_PACK_ERR        21 //Pack故障!
 
#define ALARM_STATE_ERR_UNKNOW      22 //未知错误!
//============================================================================
//module state
#define MOD_STATE_DIS             ((quint16)(1<<0))
#define MOD_STATE_CHR             ((quint16)(1<<1))
#define MOD_STATE_AGE             ((quint16)(1<<2))
#define MOD_STATE_RES             ((quint16)(1<<3))
 
//module error/errorstop
#define MOD_ERROR_VOL             ((quint16)(1<<0))
#define MOD_ERROR_PWRVOL          ((quint16)(1<<1))
#define MOD_ERROR_CURR            ((quint16)(1<<2))
#define MOD_ERROR_TEMP            ((quint16)(1<<3))
#define MOD_ERROR_TIMEOVER        ((quint16)(1<<4))
#define MOD_ERROR_VOLLIMIT        ((quint16)(1<<5))
 
 
#define  VOL_TOO_HIGH              8500         //85V
#define  VOL_TOO_LOW               500          //5V
 
#define  CURRENT_MAX               10 //10A
#define  VOLTAGE_MAX               85 //85V
#define  POWER_MAX                 8000000ul //800.0000W
//============================================================================
 
//启动检查--错误代码
//(远程控制时,可立即返回)
#define  START_OK                   0
#define  START_VOL_HIGH             -1  //输入电压过高
#define  START_VOL_LOW              -2  //输入电压过低
#define  START_POWER_OVER           -3  //参数设置超功率
#define  START_MEM_ERROR            -4  //存储已满,请删除数据
#define  START_DISVOL_ERROR         -5  //组端下限设置错误
#define  START_CHGVOL_ERROR         -6  //组端上限设置错误
 
 
//命令执行--错误代码
//(远程控制时,如果启动检查通过,会立即返回成功,后判断实际状态,如果实际失败,以下是失败原因)
#define   EXE_RES_OK                 0  //正常
#define   EXE_MOS_CTRL_FAIL         -1  //MOS管操作失败
#define   EXE_MOS_STATE_ERR         -2  //MOS状态异常
#define   EXE_SET_PARAM_FAIL        -3  //设置参数失败
#define   EXE_START_FAIL            -4  //启动操作失败
#define   EXE_STOP_FAIL             -5  //停止操作失败
#define   EXE_READ_ADJ_FAIL         -6  //读取校准参数失败
#define   EXE_SET_ADJ_FAIL          -7  //设置校准参数失败
 
 
 
 
 
 
 
 
 
#endif // APP_DEFINE_H
 
/*
记录 :
1、现象:进入测试界面,偶尔会看到pack相关数据,先是0后恢复正常
*进入测试界面前,不知道选用何种电池,进入界面后,知道选用了何种电池,然后用相应协议进行通信,然后才刷新数据
 
 
*/