#ifndef REMOTE_DEFINE_H #define REMOTE_DEFINE_H #include "app_define.h" #pragma pack(1) #define SYSCODE 0x00AAAAAA //0xAAAAAA00 #define SYSCODECHECK 0x00FFFFFF //0xFFFFFF00 #define SYSCODECHECKID 0xFF000000 //0x000000FF #define FRAMEHEAD 18 //-----------------param--------------------------------- typedef struct _comm_test_param_tag_ { quint16 test_mode; //放电类型 quint16 acstop_op; //停电处理 quint16 nominal_cap; ////标称容量 范围0-9999AH quint16 hourly_rate; //小时率 0-20 quint16 preset_cur; //放电电流, 分辨率0.1 范围1-150A quint16 preset_cap; //放电容量 范围0-9999AH 分辨率0.1AH 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.1 范围0-7.5kw quint16 pre_res; //放电阻值 分辨率0.01 quint16 chrg_curr; //充电电流 分辨率0.1//范围1-100A quint16 chrg_vol; //充电电压 分辨率0.1//范围1-285V quint16 chrg_vol_2; //浮充电压 分辨率0.1//范围小于充电电压 quint16 chrg_cap; //充电容量 分辨率0.1AH quint16 chrg_time; //充电时长 范围没有限制 quint16 chrg_time_2; //浮充时长 范围没有限制 quint16 chrg_stopcurr; //截止电流 分辨率0.1 小于充电电流 quint16 grp_uppervol; //组端上限 分辨率0.1 不可设置,比充电电压大5V quint16 mon_uppervol; //单体上限 分辨率0.01,范围0-16V quint16 mon_uppernum; //单体上限数量 范围大于0,小于单体总数 quint16 chrg_temp; //充电过温 分辨率0.1 quint16 dischrg_temp; //放电过温 分辨率0.1 quint16 cycle_start; //活化起点 0放电 ,1充电 quint16 cycle_times; //活化次数 1-50次 quint16 waitdis_time; //充完静置 1-500分钟 quint16 waitchr_time; //放完静置 1-500分钟 quint8 chargeC_num; //恒流总阶段数 1-3 quint8 C_Curr_Num; //当前设置阶段index 0-2 quint16 C_charge[3];//恒流阶段充电电流 分辨率0.1范围1-100A quint16 C_time[3]; //恒流阶段充电时间 quint16 BattPackAddr; //电池包地址 quint16 cell_diffvol; //电芯最大压差,mv quint16 dischg_soc; //放电目标SOC,0.1% quint16 charge_soc; //充电目标SOC,0.1% }COMM_TEST_PARAM; typedef struct _COMM_TEST_DATA_ { quint16 OnlineVol; //在线电压 quint16 GroupVol; //组端电压 CT_DATE_TIME testStartTime; TEST_TIME testtime; quint8 KeyState; quint16 monomerCount; quint16 test_curr; quint16 AllCap; quint16 SMaxIndex; quint16 SMaxVol; quint16 SMinIndex; quint16 SMinVol; quint16 cycleTimes; quint16 celltemp[4]; quint8 reserved1[6]; quint8 stoptype; quint8 reserved2[2]; quint8 startfailedtype; quint16 pack_vol_inside; quint16 pack_vol_outside; quint16 pack_current; quint16 soc; quint16 soh; quint16 error[2]; }COMM_TEST_DATA; typedef struct _COMM_ADJ_DATA_ { quint16 OnlineVol; quint16 GroupVol; quint16 dis_cur; quint16 chr_cur; quint16 out_cur; }COMM_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[3]; quint16 tempcount; quint16 MonomerVol[MONOMER_NUM_MAX]; quint16 MonomerTemp[CELL_TEMP_NUM_MAX]; }COMM_MON_DATA; #define HEAD_MONDATA (sizeof(COMM_MON_DATA)-sizeof(quint16)*MONOMER_NUM_MAX-sizeof(quint16)*CELL_TEMP_NUM_MAX) typedef struct _FRAME_DATA_ { quint32 SYNCode; quint16 Len; quint16 CMD; quint8 RecState; //RTN quint8 TType; //Cid1 quint8 workState; //Cid2 quint8 Alarm; quint8 Db1; //预留 quint8 Db2; quint8 Db3; quint8 Db4; //ID quint16 CRC; quint8 info[1500]; }FRAME_DATA; typedef struct _remote_state_tag_ { quint8 conn_type; //0 = null ,1 = net 2 = ble quint8 enter_slave; //enter = 1, quint16 heart_ticks; quint8 to_workpage; quint8 reserved; }REMOTE_STATE; #pragma pack() #endif // REMOTE_DEFINE_H