#ifndef DATA_DEFINE_H
|
#define DATA_DEFINE_H
|
|
#include "app_define.h"
|
|
#define MB_Caption "Message"
|
#define File_Dir "Data_files"
|
#define Default_Battery "Default_Battery"
|
#define MaxDataNum 2000
|
|
#define DISCHARGE_CURRENT 0
|
#define DISCHARGE_POWER 1
|
|
#define OFFline_working 0
|
#define ONline_working 1
|
|
#define ACOFF_STOP 0//停止
|
#define ACOFF_CONTINUE 1//继续
|
|
#if __arm__
|
#define SOFT_ARM
|
#endif
|
|
#if (QT_VERSION <= QT_VERSION_CHECK(5,0,0))
|
#define SOFT_ARM_QT4
|
#endif
|
|
#define RS485CommPort "/dev/ttymxc1"
|
#define PCCommPort "/dev/ttymxc2"
|
|
#define WiredMonCommPort "/dev/ttymxc5"
|
#if mon_use_type == 0
|
#define Module905Com ""
|
#define LORACOM ""
|
#elif mon_use_type == 1
|
#define Module905Com "/dev/ttymxc4"
|
#define LORACOM ""
|
#elif mon_use_type == 2
|
#ifdef SOFT_ARM
|
#define LORACOM "/dev/ttymxc4"
|
#define Module905Com ""
|
#else
|
#define LORACOM "/dev/ttyUSB0"
|
#define Module905Com ""
|
#endif
|
#endif
|
|
#ifdef SOFT_ARM
|
//const QString dataDir = "/media/mmcblk0p1/";
|
const QString dataDir = "/var/ftp/pub/USER_DATA/";
|
#else
|
const QString dataDir = "../Data/";
|
|
#endif
|
|
const QString setmonFile = dataDir+"setmon.xml"; //单体模块配置文件
|
|
const QString logoFile = dataDir+"logo.xml"; //开机界面
|
const QString usbDir = "/mnt/usb/";
|
const QString adjFile = dataDir+"adj_param.xml"; //校准参数
|
const QString sysFile = dataDir+"sys_param.xml"; //系统参数
|
const QString appVersion = "5.6."; //主板版本号
|
const QString coreFile = "/app/fsVersion.txt";//核心板版本号文件
|
const QString configFile = "log_configfile.txt";//日志文件
|
|
#if TYPE_IDCE_6003
|
const QString dateVersion = ".6003";
|
const QString paramFile = "/param6003.xml";
|
const QString phoneVersion = "IDCE-Discharger,IDCE-6003NT,V1.0.0";
|
#elif TYPE_IDCE_6006
|
const QString dateVersion = ".6006";
|
const QString paramFile = "/param6006.xml";
|
const QString phoneVersion = "IDCE-Discharger,IDCE-6006NT,V1.0.0";
|
#elif TYPE_IDCE_60010
|
const QString dateVersion = ".60010";
|
const QString paramFile = "/param60010.xml";
|
const QString phoneVersion = "IDCE-Discharger,IDCE-60010NT,V1.0.0";
|
#elif TYPE_FBO_60010
|
const QString dateVersion = ".60010";
|
const QString paramFile = "/param60010.xml";
|
const QString phoneVersion = "FBO-Discharger,FBO-60010NT,V1.0.0";
|
#elif TYPE_FBO_6003
|
const QString dateVersion = ".6003";
|
const QString paramFile = "/param6003.xml";
|
const QString phoneVersion = "FBO-Discharger,FBO-6003NT,V1.0.0";
|
#elif TYPE_FBO_6006
|
const QString dateVersion = ".6006";
|
const QString paramFile = "/param6006.xml";
|
const QString phoneVersion = "FBO-Discharger,FBO-6006NT,V1.0.0";
|
#elif TYPE_IDCE_2415
|
const QString dateVersion = ".2415";
|
const QString paramFile = "/param2415.xml";
|
const QString phoneVersion = "IDCE-Discharger,IDCE-2415NT,V1.0.0";
|
#elif TYPE_IDCE_1110
|
const QString dateVersion = ".1110";
|
const QString paramFile = "/param1110.xml";
|
const QString phoneVersion = "IDCE-Discharger,IDCE-1110NT,V1.0.0";
|
#elif TYPE_IDCE_1230
|
const QString dateVersion = ".1230";
|
const QString paramFile = "/param1230.xml";
|
const QString phoneVersion = "IDCE-Discharger,IDCE-1230NT,V1.0.0";
|
#elif TYPE_IDCE_2206
|
const QString dateVersion = ".2206";
|
const QString paramFile = "/param2206.xml";
|
const QString phoneVersion = "IDCE-Discharger,IDCE-2206NT,V1.0.0";
|
#elif TYPE_FBO_2206
|
const QString dateVersion = ".2206";
|
const QString paramFile = "/param2206.xml";
|
const QString phoneVersion = "FBO-Discharger,FBO-2206NT,V1.0.0";
|
#elif TYPE_IDCE_2230
|
const QString dateVersion = ".2230";
|
const QString paramFile = "/param2230.xml";
|
const QString phoneVersion = "IDCE-Discharger,IDCE-2230NT,V1.0.0";
|
#elif TYPE_IDCE_2220
|
const QString dateVersion = ".2220";
|
const QString paramFile = "/param2220.xml";
|
const QString phoneVersion = "IDCE-Discharger,IDCE-2220NT,V1.0.0";
|
#elif TYPE_IDCE_4815MINI
|
const QString dateVersion = ".4815mini";
|
const QString paramFile = "/param4815mini.xml";
|
const QString phoneVersion = "IDCE-Discharger,IDCE-4815NT,V1.0.0";
|
#elif TYPE_IDCE_4815
|
const QString dateVersion = ".4815";
|
const QString paramFile = "/param4815.xml";
|
const QString phoneVersion = "IDCE-Discharger,IDCE-4815NT,V1.0.0";
|
#elif TYPE_IDCE_4830
|
const QString dateVersion = ".4830";
|
const QString paramFile = "/param4830.xml";
|
const QString phoneVersion = "IDCE-Discharger,IDCE-4830NT,V1.0.0";
|
#elif TYPE_IDCE_4850
|
const QString dateVersion = ".4850";
|
const QString paramFile = "/param4850.xml";
|
const QString phoneVersion = "IDCE-Discharger,IDCE-4850NT,V1.0.0";
|
#elif TYPE_FBO_4830
|
const QString dateVersion = ".4830";
|
const QString paramFile = "/param4830.xml";
|
const QString phoneVersion = "FBO-Discharger,FBO-4830NT,V1.0.0";
|
#elif TYPE_FBO_4850
|
const QString dateVersion = ".4850";
|
const QString paramFile = "/param4850.xml";
|
const QString phoneVersion = "FBO-Discharger,FBO-4850NT,V1.0.0";
|
#elif TYPE_FBO_2210 || TYPE_IDCE_2210
|
const QString dateVersion = ".2210";
|
const QString paramFile = "/param2210.xml";
|
const QString phoneVersion = "IDCE-Discharger,IDCE-2210NT,V1.0.0";
|
#elif TYPE_FBO_2415
|
const QString dateVersion = ".2415";
|
const QString paramFile = "/param2415.xml";
|
const QString phoneVersion = "FBO-Discharger,FBO-2415NT,V1.0.0";
|
#elif TYPE_FBO_4815
|
const QString dateVersion = ".4815";
|
const QString paramFile = "/param4815.xml";
|
const QString phoneVersion = "FBO-Discharger,FBO-4815NT,V1.0.0";
|
#elif TYPE_FBI_4548
|
const QString dateVersion = ".4548";
|
const QString paramFile = "/param4548.xml";
|
const QString phoneVersion = "FBI-Discharger,FBI-4548NT,V1.0.0";
|
#elif TYPE_FBI_10480
|
const QString dateVersion = ".10480";
|
const QString paramFile = "/param10480.xml";
|
const QString phoneVersion = "FBI-Discharger,FBI-10480NT,V1.0.0";
|
#elif TYPE_FBI_20240
|
const QString dateVersion = ".20240";
|
const QString paramFile = "/param20240.xml";
|
const QString phoneVersion = "FBI-Discharger,FBI-20240NT,V1.0.0";
|
#elif TYPE_IDCE_940
|
const QString dateVersion = ".940";
|
const QString paramFile = "/param940.xml";
|
const QString phoneVersion = "IDCE-Discharger,IDCE-940NT,V1.0.0";
|
#elif TYPE_IDCE_840
|
const QString dateVersion = ".840";
|
const QString paramFile = "/param840.xml";
|
const QString phoneVersion = "IDCE-Discharger,IDCE-840NT,V1.0.0";
|
#endif
|
|
const QString dataType = "*.FBO";
|
const QString newestPNameFile = dataDir+"newest_pname.xml";
|
const QString F1223P_File = usbDir+"F1223P_APP.bin";
|
const QString update_cfg = usbDir+"update.cfg";
|
|
typedef struct _welcome_logo_
|
{
|
bool LOGOEN; //图标显示
|
QString ModelLogo; //型号
|
QString MachineName; //机器名称
|
QString CompanyCName; //公司名称
|
QString CompanyEName; //公司英文名
|
|
}WELCOME_LOGO;
|
|
//-----------------sum data------------------------------
|
typedef struct _ct_date_time_
|
{
|
quint8 year;
|
quint8 month;
|
quint8 day;
|
quint8 hour;
|
quint8 minute;
|
quint8 second;
|
}CT_DATE_TIME;
|
|
typedef struct _test_time_
|
{
|
quint8 hour;
|
quint8 minute;
|
quint8 second;
|
}TEST_TIME;
|
|
typedef struct _fbo_data_head_start_
|
{
|
CT_DATE_TIME TestStartTime; //放电开始的时间
|
quint8 Device; //仪表类型
|
quint8 DataVersion; //数据版本
|
quint8 DataType; //数据类型;0xFD表示放电,0xFC表示充电
|
quint8 HourRate; //小时率
|
quint8 SaveInterval; //采集间隔
|
quint8 MonomerVol; //单体电压类型
|
quint16 STDCap; //标称容量
|
quint16 TestCur; //测试电流
|
quint16 MVLLimit; //单体下限
|
quint16 SumVLLimit; //组端下限
|
quint16 BattSum; //单体数量
|
quint16 BattGroup; //电池组数
|
quint16 MVLLimitCount; //单体下限个数
|
}FBO_DATA_HEAD_START;
|
|
typedef struct _fbo_data_head_stop_
|
{
|
TEST_TIME TestTimeLong; //测试时长
|
quint8 StopType; //结束方式
|
quint8 BlockSum; //保存数据的总块数
|
quint8 StandBy; //保留备用
|
quint16 SMaxIndex[4]; //最高单体索引
|
quint16 SMinIndex[4]; //最低单体索引
|
quint16 SMaxVol[4]; //最高单体
|
quint16 SMinVol[4]; //最低单体
|
quint16 TestCap; //测试容量
|
}FBO_DATA_HEAD_STOP;
|
|
typedef struct _test_data_info_
|
{
|
FBO_DATA_HEAD_START fbo_data_head_start;
|
FBO_DATA_HEAD_STOP fbo_data_head_stop;
|
}TEST_DATA_INFO;
|
|
#define FBO_DATA_HEAD_START_LENTH sizeof(FBO_DATA_HEAD_START)
|
#define FBO_DATA_HEAD_STOP_LENTH sizeof(FBO_DATA_HEAD_STOP)
|
#define FBO_DATA_HEAD_INFO_LENTH 256
|
|
typedef struct _typetag_
|
{
|
quint8 TypeTag0;
|
quint8 TypeTag1;
|
quint8 TypeTag2;
|
quint8 TypeTag3;
|
}Data_Type;
|
|
typedef struct _fbo_data_
|
{
|
Data_Type m_DataType;
|
quint16 CRC16;
|
TEST_TIME m_TestTime;
|
quint8 BattGroup;
|
quint16 BattSum;
|
quint16 OnlineVol;
|
quint16 SumVoltage;
|
quint16 SumCurrent;
|
quint16 SubCurrent[4];
|
quint16 AllCap;
|
quint16 SubCap[4];
|
quint16 SingleVol[MONOMER_NUM_MAX];
|
}FBO_DATA;
|
|
typedef struct _icon_state_
|
{
|
bool monomerState;
|
bool usbState;
|
bool wifiState;
|
}ICON_STATE;
|
|
//-----------------param---------------------------------
|
typedef struct _test_param_xml_tag_
|
{
|
quint16 test_mode; //在线 离线
|
quint16 acstop_op;
|
quint16 nominal_cap;
|
quint16 hourly_rate;
|
quint16 preset_cur;
|
quint16 preset_cap;
|
quint16 preset_time;
|
quint16 mon_lower;
|
quint16 group_lower;
|
quint16 mon_number;
|
quint16 group_number;
|
quint16 lower_number;
|
quint16 mon_vol;
|
quint16 booster_ceiling; //升压上限
|
quint16 charge_limit; //充电限流
|
quint16 temp_High;
|
quint16 onlinevol_lowlimit;
|
|
quint16 discharge_mode;//恒流 恒功率
|
quint16 preset_power;
|
}TEST_PARAM_XML;
|
|
typedef struct _sys_param_tag_
|
{
|
quint16 save_interval;
|
quint16 monomerlow_act;
|
quint16 monomer_order;
|
quint16 monomer_addrset;
|
quint16 monomer_fre;
|
quint16 loader_plusEn;
|
quint8 tcp_ip[4];
|
quint16 tcp_port;
|
|
qint16 OnlineOffVol;
|
qint16 GroupOffVol;
|
}SYS_PARAM;
|
|
typedef struct _adj_param_
|
{
|
double onlinevol_slope;
|
double groupvol_slope;
|
double temp_slope;
|
}ADJ_PARAM_XML;
|
|
//-------------------sysinfo---------------------------------
|
typedef struct _sys_info_config_tag_
|
{
|
quint16 InnerCurrRange; //内部电流钳量程
|
quint16 ExterCurrRange; //外部电流钳量程
|
quint16 MashineCurr; //机器电流
|
quint16 DCDC_Count; //DCDC模块个数
|
quint16 Mashine_Type; //机器类型(0-IDCE,1-FBO,2-FBI)
|
|
quint16 MashinePower; //机器功率
|
quint16 TKQenable; //脱扣器使能 用于显示 1启用 0禁用
|
|
}SYS_CONFIG;
|
|
|
//-----------------others---------------------------------
|
typedef struct _sys_state_tag
|
{
|
bool SaveDataEN;
|
quint8 TestType;
|
quint8 SysWorkState;
|
quint8 WP_AlarmState;
|
quint16 CapPS; //每秒累加的容量
|
quint16 SubCapPS[4]; //每秒累加的容量
|
quint8 OnlineVollow; //在线电压状态
|
quint16 OverChargeTime;//
|
quint16 addmark;// 专门用于FBO-4830充电规则3、7
|
quint16 addcount;//专门用于FBO-4830充电规则3、7
|
}SYS_State;
|
|
typedef struct _mon_table_
|
{
|
int monPageIndex; //当前单体页数
|
int monGroupIndex; //当前单体组数
|
int monPageNum; //每组单体页数
|
int monGroupNum; //单体组数
|
int monNum; //每组单体个数
|
int pageIndex; //页数索引(不区分组数时)
|
}MON_TABLE;
|
|
typedef struct _TEST_DATA_
|
{
|
quint16 OnlineVol; //在线电压
|
quint16 GroupVol; //组端电压
|
CT_DATE_TIME CurrTime;
|
TEST_TIME testtime;
|
quint8 KeyState;
|
quint16 monomerCount;
|
quint16 curr_cur;
|
quint16 AllCap;
|
quint16 SMaxIndex;
|
quint16 SMaxVol;
|
quint16 SMinIndex;
|
quint16 SMinVol;
|
quint16 dischgTimes;
|
quint8 HighTemp;
|
quint8 LowTTemp;
|
|
quint8 reserved[16];
|
}TEST_DATA;
|
|
typedef struct _ADJ_DATA_
|
{
|
quint16 OnlineVol;
|
quint16 GroupVol;
|
quint16 dis_cur;
|
quint16 chr_cur;
|
quint16 out_cur;
|
}ADJ_DATA;
|
|
typedef struct _FILE_LIST_DATA_
|
{
|
quint8 TotalFileNum;
|
quint8 CurrFileIndex;
|
CT_DATE_TIME TestStartTime;
|
TEST_TIME TestTimeLong;
|
quint8 DataType;
|
quint16 TestCur;
|
quint16 TestCap;
|
quint16 STDCap;
|
quint16 MVLLimit;
|
quint16 SumVLLimit;
|
quint16 BattSum;
|
quint16 BattGroup;
|
quint8 StopType;
|
quint8 MonomerVol;
|
}FILE_LIST_DATA;
|
|
typedef struct _mon_data_
|
{
|
quint16 GroupVol[4];
|
quint16 GroupCur[4];
|
quint16 BattStatus[4];
|
quint16 reserved[4];
|
quint16 MonomerVol[MONOMER_NUM_MAX];
|
}MON_DATA;
|
|
typedef struct _slave_tcp_
|
{
|
quint8 ID;
|
quint8 mode;//0服务端 1//客户端
|
quint8 heart_cnt;
|
quint8 Enter_ctrl;
|
|
}TCP_CTRL;
|
|
typedef struct _MASTER_DATA_
|
{
|
quint8 heart_cnt;
|
quint8 Interface;
|
quint8 workState;
|
quint8 Alarm;
|
quint8 Enter_ctrl;
|
MON_DATA Cell_data;
|
TEST_DATA test_data;
|
ADJ_DATA adj_data;
|
}MASTER_DATA;
|
|
typedef struct _slave_rs485_
|
{
|
quint8 heart_cnt;
|
quint8 Enter_ctrl;
|
}RS485_SLAVE_CTRL;
|
|
typedef struct _dcdc_data
|
{
|
quint16 DC_Alarm;
|
quint16 DC_Cur;
|
quint16 DC_Vol;
|
quint16 TX;
|
quint16 RX;
|
}DCDC_DATA;
|
|
typedef struct _local_data_
|
{
|
quint16 SoftVersion; //软件版本
|
quint16 OnlineVol; //在线电压
|
quint16 GroupVol; //组端电压
|
quint16 InnerCurrVal; //内部电流值
|
quint16 InnerCurrDir; //内部电流方向
|
quint16 ExterCurrVal; //外部电流值
|
quint16 ExterCurrDir; //外部电流方向
|
quint16 Temp; //温度
|
|
quint16 AlarmState; //告警状态
|
|
quint16 RLY_OK; //ROK状态
|
|
quint16 PWM1_Value; //PWM1值
|
quint16 PWM2_Value; //PWM2值
|
quint16 PWM3_Value; //PWM3值
|
|
quint16 ModuleDropIndex; //XX号单体模块异常
|
|
quint16 Reserved[7]; //Reserved
|
|
quint16 Work_State; //运行状态 用于停电\黑屏区分
|
|
quint16 SMaxIndex[4]; //最高单体索引
|
quint16 SMinIndex[4]; //最低单体索引
|
quint16 SMaxVol[4]; //最高单体
|
quint16 SMinVol[4]; //最低单体
|
|
DCDC_DATA dcdc_data[4]; //DCDC模块数据
|
|
quint16 monomerLowCount;
|
|
quint8 SysWorkState;
|
quint8 WPAlarmState;
|
|
quint16 SingleRemainCap[MONOMER_NUM_MAX]; //单体剩余容量
|
quint16 GroupRemainCap[4]; //整组剩余容量
|
quint16 SingleRes[MONOMER_NUM_MAX]; //单体内阻
|
|
/*
|
1:启动放电/充电时,都置为0;从参数界面进去都置为0;
|
2:内阻值是变动的,放电时有内阻值,每2个相近时段计算出一个内阻值;
|
*/
|
MASTER_DATA master_data;
|
TCP_CTRL tcp_ctrl;
|
RS485_SLAVE_CTRL rs485_ctrl;
|
RS485_SLAVE_CTRL rs485_pc;
|
quint8 TestType;
|
quint8 deviceTestType;
|
quint8 pauseBtnState;
|
quint8 SlaveMode;
|
quint8 Interface;
|
quint8 popBox;
|
quint8 dischgTimes;
|
quint16 waitTimeCount;
|
|
}LOCAL_DATA;
|
|
typedef struct _comm_test_param_tag_
|
{
|
quint16 test_mode; //放电模式 在线 离线
|
quint16 acstop_op; //停电处理
|
quint16 nominal_cap; ////标称容量 范围0-9999AH
|
quint16 hourly_rate; //小时率
|
quint16 preset_cur; //放电电流, 范围1-150A
|
quint16 preset_cap; //放电容量 范围0-9999AH
|
quint16 preset_time; //预放时间 分钟单位,没用限定范围
|
quint16 mon_lower; //单体下限 分辨率0.01,范围0-20V
|
quint16 group_lower; //组端下限 分辨率0.1,范围1-285V
|
quint16 mon_number; //单体数量 1-300
|
quint16 group_number; //组数 不可设值,目前为1
|
quint16 lower_number; //下限个数 范围1至单体总数
|
quint16 mon_vol; //只取值1.2, 2.0,6.0,12.0,3.2,3.7
|
|
quint16 dischg_mode; //放电模式:0恒流放电 1恒功率放电
|
quint16 pre_power; //预放功率 范围0-7.5kw
|
quint16 pre_res; //放电阻值
|
|
quint16 chrg_curr; //充电电流//范围1-100A
|
quint16 chrg_vol; //充电电压//范围1-285V
|
quint16 chrg_vol_2; //浮充电压//范围小于充电电压
|
quint16 chrg_cap; //充电容量
|
quint16 chrg_time; //充电时长 范围没有限制
|
quint16 chrg_time_2; //浮充时长 范围没有限制
|
quint16 chrg_stopcurr; //截止电流 小于充电电流
|
quint16 grp_uppervol; //组端上限 不可设置,比充电电压大5V
|
quint16 mon_uppervol; //单体上限 分辨率0.01,范围0-16V
|
quint16 mon_uppernum; //单体上限数量 范围大于0,小于单体总数
|
|
quint16 chrg_temp; //充电过温
|
quint16 dischrg_temp; //放电过温
|
|
quint16 cycle_start; //活化起点 0放电 ,1充电
|
quint16 cycle_times; //活化次数 1-50次
|
quint16 waitdis_time; //充完静置 0-500分钟
|
quint16 waitchr_time; //放完静置 0-500分钟
|
|
quint16 Reserved[10];//预留
|
|
}COMM_TEST_PARAM;
|
|
|
typedef struct RFData_tag
|
{
|
quint8 Addr[4];
|
quint16 CMD;
|
quint16 VolData[4];
|
quint16 CRC;
|
}RFData;
|
typedef struct Rx_Data
|
{
|
quint16 Addr;
|
quint16 VolData[4];
|
}Rx_Data_RF;
|
|
#pragma pack(1)
|
typedef struct _FRAME_DATA_
|
{
|
quint32 SYNCode;
|
quint16 Len;
|
quint16 CMD;
|
quint8 RecState; //RTN
|
quint8 type; //Cid1
|
quint8 workState; //Cid2
|
quint8 Alarm;
|
quint8 Db1; //预留
|
quint8 Db2;
|
quint8 Db3;
|
quint8 Db4;
|
quint16 CRC;
|
quint8 info[1056];
|
}FRAME_DATA;
|
#pragma pack()
|
#endif // DATA_DEFINE_H
|