AppGlobalVar.h 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331
  1. /***
  2. * @Author: chenjie
  3. * @Date: 2022-10-27
  4. * @LastEditTime: 2022-11-10
  5. * @LastEditors: chenjie
  6. * @Description:
  7. * @FilePath: \S32K146_4G\code\app\AppGlobalVar.h
  8. * @Copyright (c) 2022 by chenjie, All Rights Reserved.
  9. */
  10. #ifndef APPGLOBALVAR_H_
  11. #define APPGLOBALVAR_H_
  12. #define APP_CAN_ENABLE
  13. #include "hal_adapter.h"
  14. #define BATT_SN_LEN 17
  15. extern const uint32 AppSwVersion;
  16. extern const uint8 DataModuleType;
  17. extern const uint16 HwVersion;
  18. extern const uint32 BlSwVersion;
  19. extern const uint32 DrvSwVersion;
  20. extern const uint8 BmsManuFacture;
  21. extern const uint8 BmsInfo;
  22. #define BMS_CELL_MAX_NUM 384
  23. #define BMS_TEMP_MAX_NUM 64
  24. typedef struct _AppDataType
  25. {
  26. uint8 BattCellCount;
  27. uint8 BattTempCount;
  28. } AppDataBody;
  29. extern bool TcpSysReboot;
  30. extern uint8 TcpbattSN[17];
  31. extern uint8 VIN[17];
  32. extern volatile uint32 TimerCounter;
  33. extern uint32 BattTempR[4];
  34. extern uint16 ErrorArray[10];
  35. extern uint8 Fota_update_flag;
  36. extern boolean Fota_Process_Going;
  37. extern uint8 Fota_error_flag;
  38. extern uint16 DeviceSpeed;
  39. typedef struct
  40. {
  41. uint8 RealLen;
  42. uint8 *DataPtr;
  43. } QueueDataTrans_Type;
  44. /*GPS*/
  45. extern QueueHandle_t GpsDataQueueHandle;
  46. extern sint16 xyzData[3];
  47. /*Hal_Can*/
  48. extern real_T returnFreq[3][5];
  49. extern real_T returnP[3][5];
  50. extern uint8 CanIf_u8TxConfirmCnt;
  51. extern boolean CanIf_bTxFlag;
  52. extern uint8 CanIf_u8RxIndicationCnt;
  53. extern boolean CanIf_bRxFlag;
  54. extern QueueHandle_t CanRecvQueueHandle0;
  55. extern QueueHandle_t CanRecvQueueHandle1;
  56. extern QueueHandle_t CanRecvQueueHandle2;
  57. extern TaskHandle_t Uart_Hal_RecvTask_Handle, Uart_Hal_SendTask_Handle, MainTask_Handle, Uart0Task_Handle,
  58. CanTask_Handle, GpsTask_Handle, Uart_4G_Task_Handle,BcuTask_Handle;
  59. extern SemaphoreHandle_t sleep_mutex;
  60. extern uint8 CSQValue;
  61. extern sint8 SocketId;
  62. extern sint8 RegChkRet;
  63. extern char WebSiteIp[20];
  64. extern const char WebSiteName[];
  65. extern uint16 WebSitePort;
  66. extern char ImeiNum[15];
  67. extern char IccidNum[20];
  68. extern uint8 TcpWorkState;
  69. typedef struct _AppEppType
  70. {
  71. uint32 battDischrgAccCap;
  72. uint32 battDischrgAccEnrg;
  73. uint16 battCycleTimes;
  74. uint32 AccMileage;
  75. } AppEppBody;
  76. /*BMS算法部分*/
  77. typedef struct _AppAlgorithmType
  78. {
  79. BOOL appDataModify; //数据更改标志位
  80. UINT32 blcv_Q_totalCpE[BMS_CELL_MAX_NUM]; //累计均衡容量 读取量 数组最大28
  81. UINT16 blcv_Q_reqCpE[BMS_CELL_MAX_NUM]; //均衡需求容量 读取量 数组最大28
  82. UINT16 socd_pct_bcuSocE; //电池显示SOC 读取量;
  83. UINT16 socd_pct_battSocE; //电池真实SOC 读取量;
  84. UINT16 sohd_tm_chrgStartStatE; //充电前静置时间读取量;
  85. BOOL sohd_flg_chrgEndE; //充电结束标志位读取量;
  86. UINT16 sohv_V_chrgStartStatE[BMS_CELL_MAX_NUM]; //充电开始时刻的单体电压(数组)读取量;
  87. UINT16 sohd_Q_chrgE; //充入容量读取量;
  88. UINT16 sohv_Q_packCapArrE[10]; // 10次整包容量(数组)读取量;
  89. UINT16 sohv_Q_cellCapArrE[BMS_CELL_MAX_NUM]; //
  90. UINT16 iscv_Q_remainCpE[BMS_CELL_MAX_NUM];
  91. UINT32 iscd_tm_totalE;
  92. BOOL sfmd_flg_iscFltE;
  93. BOOL sfmd_flg_mainCirClosFltE;
  94. BOOL sfmd_flg_heatCirClosFltE;
  95. BOOL sfmd_flg_heatCirOpenFltE;
  96. BOOL sfmd_flg_heatRunFltE;
  97. UINT16 ihd_tm_parkTimeE;
  98. UINT16 sorv_ohm_cellRE[BMS_CELL_MAX_NUM];
  99. } AppAlgorithmData;
  100. typedef struct _AppConfigType
  101. {
  102. bool appSaveFlg;
  103. bool eolFlg;
  104. uint8 deviceSn[17];
  105. AppEppBody AppDataInfo;
  106. AppAlgorithmData BcuDataInfo;
  107. uint8 re[20];
  108. } AppConfigBody;
  109. extern AppConfigBody AppConfigInfo;
  110. #ifdef APP_CAN_ENABLE
  111. extern uint8 vehicleStatus;
  112. extern uint8 bmsHVOn;
  113. extern uint8 currentGearPosition;
  114. extern uint8 parkingBreakStatus;
  115. extern uint8 breakingStatus;
  116. extern uint32 ODO;
  117. extern uint8 dcdcWorkStatus;
  118. extern uint8 numOfChrgableSubsys;
  119. extern uint8 chrgableSubsysCode;
  120. extern uint16 vcuDCVol;
  121. // EBC
  122. extern uint8 ebcStatus;
  123. extern uint8 ebcAskHVOn;
  124. extern uint8 ebcAskHVOff;
  125. extern uint8 retainLockSignal;
  126. extern uint8 dischargeLockSignal;
  127. extern uint8 chargeLockSignal;
  128. extern uint8 chargeFlag;
  129. extern UINT32 BcuInTable[28];
  130. extern BOOL BcuRxShortError[28];
  131. extern BOOL BcuRxLongError[28];
  132. extern UINT8 BcuRxErrorCounter[28];
  133. extern UINT8 BcuRxFlag[28];
  134. extern UINT8 BMS_CellRecvCounter;
  135. extern UINT8 BMS_ReqVIN;
  136. extern UINT8 BMS_ReqHVOff;
  137. extern UINT8 BMS_ProtocolEditionH;
  138. extern UINT8 BMS_ProtocolEditionL;
  139. extern UINT8 BMS_CharDevNum;
  140. extern UINT8 BMS_FtPosRly;
  141. extern UINT8 BMS_FtNegRly;
  142. extern UINT8 BMS_FtPosCharRly1;
  143. extern UINT8 BMS_FtNegCharRly1;
  144. extern UINT8 BMS_FtPosCharRly2;
  145. extern UINT8 BMS_FtNegCharRly2;
  146. extern UINT8 BMS_FtHeatRly1;
  147. extern UINT8 BMS_FtHeatRly2;
  148. extern UINT8 BMS_StPosRly;
  149. extern UINT8 BMS_StNegRly;
  150. extern UINT8 BMS_StPreCharRly;
  151. extern UINT8 BMS_StPosCharRly1;
  152. extern UINT8 BMS_StNegCharRly1;
  153. extern UINT8 BMS_StPosCharRly2;
  154. extern UINT8 BMS_StNegCharRly2;
  155. extern UINT8 BMS_FtAuxRelayWeld;
  156. extern UINT8 BMS_BraOpenCirc;
  157. extern UINT8 BMS_FtBackCharCurrOutLim;
  158. extern UINT8 BMS_FtPosRlyOpen;
  159. extern UINT8 BMS_FtNegRlyOpen;
  160. extern UINT8 BMS_FtPosCharRly1Open;
  161. extern UINT8 BMS_FtPosCharRly2Open;
  162. extern UINT8 BMS_FtNegCharRly1Open;
  163. extern UINT8 BMS_FtNegCharRly2Open;
  164. extern UINT8 BMS_FtTMSContClose;
  165. extern UINT8 BMS_FtTMSContOpen;
  166. extern UINT8 BMS_FtTMS;
  167. extern UINT8 BMS_Ft24VSpy;
  168. extern UINT8 BMS_FtPACKSelfProt;
  169. extern UINT8 BMS_FtCharSockTempOver;
  170. extern UINT8 BMS_FtTempOutCtrl;
  171. extern UINT8 BMS_StPosHeatRly;
  172. extern UINT8 BMS_StNegHeatRly;
  173. extern UINT8 BMS_CharSysNum;
  174. extern UINT8 BMS_FtCode;
  175. extern UINT8 BMS_ST1CheckSum;
  176. extern UINT8 BMS_ST1Counter;
  177. extern UINT8 BMS_Mode;
  178. extern UINT8 BMS_AuxRlySt;
  179. extern UINT8 BMS_BattBalaSt;
  180. extern UINT8 BMS_CharGunSt;
  181. extern UINT8 BMS_CharMode;
  182. extern UINT8 BMS_CharSt;
  183. extern UINT8 BMS_FtLvl;
  184. extern UINT8 BMS_FtCellTempDiff;
  185. extern UINT8 BMS_FtCellTempHigh;
  186. extern UINT8 BMS_FtPACKOverVolt;
  187. extern UINT8 BMS_FtPACKUndeVolt;
  188. extern UINT8 BMS_FtSOCLow;
  189. extern UINT8 BMS_FtCellOverVolt;
  190. extern UINT8 BMS_FtCellUndeVolt;
  191. extern UINT8 BMS_FtIns;
  192. extern UINT8 BMS_FtCellOverVoltDiff;
  193. extern UINT8 BMS_FtCharCurrOver;
  194. extern UINT8 BMS_FtDisCharCurrOver;
  195. extern UINT8 BMS_FtCellTempLow;
  196. extern UINT8 BMS_FtBranVoltDifOver;
  197. extern UINT8 BMS_FtBMSHardWare;
  198. extern UINT8 BMS_FtSOCHigh;
  199. extern UINT8 BMS_FtSOCJump;
  200. extern UINT8 BMS_FtInCom;
  201. extern UINT8 BMS_FtSysMism;
  202. extern UINT8 BMS_FtHvIntLock;
  203. extern UINT8 BMS_FtSmoke;
  204. extern UINT8 BMS_FtFire;
  205. extern UINT8 BMS_FtNum;
  206. extern UINT8 BMS_PackSOC;
  207. extern UINT8 BMS_PackSOH;
  208. extern UINT8 BMS_MaxCellTemp;
  209. extern UINT8 BMS_MinCellTemp;
  210. extern UINT8 BMS_AverCellTemp;
  211. extern UINT8 BMS_MaxCellTempCSC;
  212. extern UINT8 BMS_MaxCellTempNum;
  213. extern UINT8 BMS_MinCellTempCSC;
  214. extern UINT8 BMS_MinCellTempNum;
  215. extern UINT8 BMS_MaxCellVoltCSC;
  216. extern UINT8 BMS_MaxCellVoltNum;
  217. extern UINT8 BMS_MinCellVoltCSC;
  218. extern UINT8 BMS_MinCellVoltNum;
  219. extern UINT8 BMS_InsDeteSt;
  220. extern UINT8 BMS_FtCharInsLow;
  221. extern UINT8 BMS_FtCurrSenr;
  222. extern UINT8 BMS_FtHeatingFilm;
  223. extern UINT8 BMS_FtMainLoopPreChar;
  224. extern UINT8 BMS_FtAuxLoopPreChar;
  225. extern UINT8 BMS_FtACANLost;
  226. extern UINT8 BMS_FtDCDC;
  227. extern UINT8 BMS_FtSOCDif;
  228. extern UINT8 BMS_FtCellOverDisChar;
  229. extern UINT8 BMS_FtCharOver;
  230. extern UINT8 BMS_FtContDisCharCurrOverLoad;
  231. extern UINT8 BMS_FtContCharCurrOverLoad;
  232. extern UINT8 BMS_Gun1DCNegTemp;
  233. extern UINT8 BMS_Gun1DCPosTemp;
  234. extern UINT8 BMS_Gun2DCNegTemp;
  235. extern UINT8 BMS_Gun2DCPosTemp;
  236. extern UINT8 BMS_CurrHeatSt;
  237. extern UINT8 BMS_CurrCoolSt;
  238. extern UINT8 BMS_FtCharCnct;
  239. extern UINT8 BMS_FtOverDisCharCurrDuringChar;
  240. extern UINT8 BMS_FtCharNTC;
  241. extern UINT8 BMS_FtELock;
  242. extern UINT8 BMS_CellVoltFramNum;
  243. extern UINT8 BMS_CellTempFramNum;
  244. extern UINT8 BMS_CSC_Code;
  245. extern UINT8 BMS_CellTemp[BMS_TEMP_MAX_NUM];
  246. extern UINT8 BMS_Checksum;
  247. extern UINT8 BMS_PackComp;
  248. extern UINT8 BMS_BattCodeLeng;
  249. extern UINT8 BMS_SN[27];
  250. extern UINT8 BMS_BattType;
  251. extern UINT8 BMS_CoolType;
  252. extern UINT8 BMS_CSC_Total;
  253. extern UINT8 BMS_CellVoltLevel;
  254. extern UINT8 BMS_CellMinVolt;
  255. extern UINT8 BMS_CellMaxVolt;
  256. extern UINT8 BMS_HVBranNum;
  257. extern UINT8 BMS_SingleHVBranchCellNum;
  258. extern UINT8 BMS_ReqMode;
  259. extern UINT8 BMS_HVCmd;
  260. extern UINT8 BMS_ChgSts;
  261. extern UINT8 BMS_HVRelaySts;
  262. extern UINT8 BMS_SetTemp;
  263. extern UINT8 BMS_Life;
  264. extern UINT8 BMS_CRC;
  265. extern UINT8 TMS_WorkStatus;
  266. extern UINT8 TMS_HVRelayST;
  267. extern UINT8 TMS_OutletTemp;
  268. extern UINT8 TMS_InletTemp;
  269. extern UINT8 TMS_ErrCode;
  270. extern UINT8 TMS_FaultLevel;
  271. extern UINT16 BMS_SoftwareVersion;
  272. extern UINT16 BMS_HardwareVersion;
  273. extern UINT16 BMS_PackCurr;
  274. extern UINT16 BMS_MaxCharCurr;
  275. extern UINT16 BMS_MaxDisCharCurr;
  276. extern UINT16 BMS_PosIns;
  277. extern UINT16 BMS_NegIns;
  278. extern UINT16 BMS_BattVolt;
  279. extern UINT16 BMS_LinkVolt;
  280. extern UINT16 BMS_MaxCellVolt;
  281. extern UINT16 BMS_AverCellVolt;
  282. extern UINT16 BMS_MinCellVolt;
  283. extern UINT16 BMS_ContChrgCurr;
  284. extern UINT16 BMS_ContDisCharCurr;
  285. extern UINT16 BMS_CharReqVolt;
  286. extern UINT16 BMS_CharReqCurr;
  287. extern UINT16 BMS_SysInsRes;
  288. extern UINT16 BMS_MaxDisCharPwr;
  289. extern UINT16 BMS_MaxCharPwr;
  290. extern UINT16 BMS_ContDisCharPwr;
  291. extern UINT16 BMS_ContCharPwr;
  292. extern UINT16 BMS_InstEngyCons;
  293. extern UINT16 BMS_TotalEngyCons;
  294. extern UINT16 BMS_SOE;
  295. extern UINT16 BMS_RmanCharTime;
  296. extern UINT16 BMS_CharNum;
  297. extern UINT16 BMS_CellVolt[BMS_CELL_MAX_NUM];
  298. extern UINT16 BMS_BattRateCap;
  299. extern UINT16 BMS_BattRateVolt;
  300. extern UINT16 BMS_BattRateEngy;
  301. extern UINT16 BMS_CellTotal;
  302. extern UINT16 BMS_TempTotal;
  303. extern UINT16 BMS_SingleCharEngy;
  304. extern UINT16 BMS_SingleCharCapy;
  305. extern UINT16 BMS_HVVolt;
  306. extern UINT16 TMS_ReqPow;
  307. extern UINT32 BMS_TotalCharEngy;
  308. extern UINT32 BMS_TotalDisCharEngy;
  309. extern UINT32 BMS_TotalBackCharEngy;
  310. extern UINT32 BMS_TotalStaCharEngy;
  311. extern UINT32 BMS_TotalGunCharEngy;
  312. extern UINT32 BMS_TotalGunCharCapy;
  313. extern UINT32 BMS_TotalCharCapy;
  314. extern UINT32 BMS_TotalDisCharCapy;
  315. extern UINT32 BMS_TotalBackCharCapy;
  316. extern UINT32 BMS_TotalStaCharCapy;
  317. #endif
  318. #endif /* APPGLOBALVAR_H_ */