/********************************************************************************************************* * 模块名称:Main.h * 摘 要:主文件,包含软硬件初始化函数和main函数 * 当前版本:1.0.0 * 作 者:Leyutek(COPYRIGHT 2018 - 2021 Leyutek. All rights reserved.) * 完成日期:2021年07月01日 * 内 容: * 注 意: ********************************************************************************************************** * 取代版本: * 作 者: * 完成日期: * 修改内容: * 修改文件: *********************************************************************************************************/ #ifndef _MAIN_H_ #define _MAIN_H_ /********************************************************************************************************* * 包含头文件 *********************************************************************************************************/ #include "stdbool.h" #include "gd32e230x_conf.h" #include "board_cnf.h" /********************************************************************************************************* * 宏定义 *********************************************************************************************************/ #define DCPDU_Modbus_Reg_len 300 //modbus寄存器长度 #define RELAY_ontime_default 0 //继电器开通延时默认及最小值 #define RELAY_ontime_max 99 //继电器开通延时最大值 #define RELAY_offtime_default 0 //继电器断开延时默认及最小值 #define RELAY_offtime_max 99 //继电器断开延时最大值 #define Read_IM1253E_Deltatime 5 //读取间隔时间 #define DCPDU_Device_ID 0x0007 //设备型号 #define Uart0_Baud 115200 #define Mb_Wcmd_Width 32 #define Mb_Wcmd_len 8 #define Vin_LTmax_default 450000 //电压最大阈值 #define Vin_LTmin_default 12000 //电压最小阈值,未用 #define Iout_LTmax_default 90000 //电流最大阈值 #define Iout_LTmin_default 500 //电流最小阈值,未用 #define ADC_V_CHN 2 //Modbus的寄存器地址和地址下最多能存储多少个字节数据 //直流PDU数据表,地址+字节数 #define DCPDU_Modbus_RegStAd 6000 #define Devid_ChalNumAddr (DCPDU_Modbus_RegStAd + 0) #define Devid_ChalNumQua 2 #define DCPDU_VInput_Addr (DCPDU_Modbus_RegStAd + 2) #define DCPDU_VInput_ByteN 4 #define DCPDU_IInput_Addr (DCPDU_Modbus_RegStAd + 3) #define DCPDU_IInput_ByteN 4 #define DCPDU_WInput_Addr (DCPDU_Modbus_RegStAd + 4) #define DCPDU_WInput_ByteN 4 #define DCPDU_KWhInput_Addr (DCPDU_Modbus_RegStAd + 5) #define DCPDU_KWhInput_ByteN 4 #define DCPDU_P1Output_Addr (DCPDU_Modbus_RegStAd + 10) #define DCPDU_P1Output_ByteN 16 #define DCPDU_P2Output_Addr (DCPDU_Modbus_RegStAd + 14) #define DCPDU_P2Output_ByteN 16 #define DCPDU_P3Output_Addr (DCPDU_Modbus_RegStAd + 18) #define DCPDU_P3Output_ByteN 16 #define DCPDU_P4Output_Addr (DCPDU_Modbus_RegStAd + 22) #define DCPDU_P4Output_ByteN 16 #define DCPDU_P5Output_Addr (DCPDU_Modbus_RegStAd + 26) #define DCPDU_P5Output_ByteN 16 #define DCPDU_P6Output_Addr (DCPDU_Modbus_RegStAd + 30) #define DCPDU_P6Output_ByteN 16 #define DCPDU_P7Output_Addr (DCPDU_Modbus_RegStAd + 34) #define DCPDU_P7Output_ByteN 16 #define DCPDU_P8Output_Addr (DCPDU_Modbus_RegStAd + 38) #define DCPDU_P8Output_ByteN 16 #define DCPDU_CH1_FT_ST_Addr (DCPDU_Modbus_RegStAd + 42) #define DCPDU_CH1_FT_ST_ByteN 1 #define DCPDU_CH2_FT_ST_Addr (DCPDU_Modbus_RegStAd + 43) #define DCPDU_CH2_FT_ST_ByteN 1 #define DCPDU_CH3_FT_ST_Addr (DCPDU_Modbus_RegStAd + 44) #define DCPDU_CH3_FT_ST_ByteN 1 #define DCPDU_CH4_FT_ST_Addr (DCPDU_Modbus_RegStAd + 45) #define DCPDU_CH4_FT_ST_ByteN 1 #define DCPDU_CH5_FT_ST_Addr (DCPDU_Modbus_RegStAd + 46) #define DCPDU_CH5_FT_ST_ByteN 1 #define DCPDU_CH6_FT_ST_Addr (DCPDU_Modbus_RegStAd + 47) #define DCPDU_CH6_FT_ST_ByteN 1 #define DCPDU_CH7_FT_ST_Addr (DCPDU_Modbus_RegStAd + 48) #define DCPDU_CH7_FT_ST_ByteN 1 #define DCPDU_CH8_FT_ST_Addr (DCPDU_Modbus_RegStAd + 49) #define DCPDU_CH8_FT_ST_ByteN 1 #define DCPDU_VLit1_max_Addr (DCPDU_Modbus_RegStAd + 50) #define DCPDU_VLit1_max_ByteN 4 #define DCPDU_VLit2_max_Addr (DCPDU_Modbus_RegStAd + 51) #define DCPDU_VLit2_max_ByteN 4 #define DCPDU_VLit3_max_Addr (DCPDU_Modbus_RegStAd + 52) #define DCPDU_VLit3_max_ByteN 4 #define DCPDU_VLit4_max_Addr (DCPDU_Modbus_RegStAd + 53) #define DCPDU_VLit4_max_ByteN 4 #define DCPDU_VLit5_max_Addr (DCPDU_Modbus_RegStAd + 54) #define DCPDU_VLit5_max_ByteN 4 #define DCPDU_VLit6_max_Addr (DCPDU_Modbus_RegStAd + 55) #define DCPDU_VLit6_max_ByteN 4 #define DCPDU_VLit7_max_Addr (DCPDU_Modbus_RegStAd + 56) #define DCPDU_VLit7_max_ByteN 4 #define DCPDU_VLit8_max_Addr (DCPDU_Modbus_RegStAd + 57) #define DCPDU_VLit8_max_ByteN 4 #define DCPDU_VLit1_min_Addr (DCPDU_Modbus_RegStAd + 66) #define DCPDU_VLit1_min_ByteN 4 #define DCPDU_VLit2_min_Addr (DCPDU_Modbus_RegStAd + 67) #define DCPDU_VLit2_min_ByteN 4 #define DCPDU_VLit3_min_Addr (DCPDU_Modbus_RegStAd + 68) #define DCPDU_VLit3_min_ByteN 4 #define DCPDU_VLit4_min_Addr (DCPDU_Modbus_RegStAd + 69) #define DCPDU_VLit4_min_ByteN 4 #define DCPDU_VLit5_min_Addr (DCPDU_Modbus_RegStAd + 70) #define DCPDU_VLit5_min_ByteN 4 #define DCPDU_VLit6_min_Addr (DCPDU_Modbus_RegStAd + 71) #define DCPDU_VLit6_min_ByteN 4 #define DCPDU_VLit7_min_Addr (DCPDU_Modbus_RegStAd + 72) #define DCPDU_VLit7_min_ByteN 4 #define DCPDU_VLit8_min_Addr (DCPDU_Modbus_RegStAd + 73) #define DCPDU_VLit8_min_ByteN 4 #define DCPDU_ILit1_max_Addr (DCPDU_Modbus_RegStAd + 82) #define DCPDU_ILit1_max_ByteN 4 #define DCPDU_ILit2_max_Addr (DCPDU_Modbus_RegStAd + 83) #define DCPDU_ILit2_max_ByteN 4 #define DCPDU_ILit3_max_Addr (DCPDU_Modbus_RegStAd + 84) #define DCPDU_ILit3_max_ByteN 4 #define DCPDU_ILit4_max_Addr (DCPDU_Modbus_RegStAd + 85) #define DCPDU_ILit4_max_ByteN 4 #define DCPDU_ILit5_max_Addr (DCPDU_Modbus_RegStAd + 86) #define DCPDU_ILit5_max_ByteN 4 #define DCPDU_ILit6_max_Addr (DCPDU_Modbus_RegStAd + 87) #define DCPDU_ILit6_max_ByteN 4 #define DCPDU_ILit7_max_Addr (DCPDU_Modbus_RegStAd + 88) #define DCPDU_ILit7_max_ByteN 4 #define DCPDU_ILit8_max_Addr (DCPDU_Modbus_RegStAd + 89) #define DCPDU_ILit8_max_ByteN 4 #define DCPDU_ILit1_min_Addr (DCPDU_Modbus_RegStAd + 98) #define DCPDU_ILit1_min_ByteN 4 #define DCPDU_ILit2_min_Addr (DCPDU_Modbus_RegStAd + 99) #define DCPDU_ILit2_min_ByteN 4 #define DCPDU_ILit3_min_Addr (DCPDU_Modbus_RegStAd + 100) #define DCPDU_ILit3_min_ByteN 4 #define DCPDU_ILit4_min_Addr (DCPDU_Modbus_RegStAd + 101) #define DCPDU_ILit4_min_ByteN 4 #define DCPDU_ILit5_min_Addr (DCPDU_Modbus_RegStAd + 102) #define DCPDU_ILit5_min_ByteN 4 #define DCPDU_ILit6_min_Addr (DCPDU_Modbus_RegStAd + 103) #define DCPDU_ILit6_min_ByteN 4 #define DCPDU_ILit7_min_Addr (DCPDU_Modbus_RegStAd + 104) #define DCPDU_ILit7_min_ByteN 4 #define DCPDU_ILit8_min_Addr (DCPDU_Modbus_RegStAd + 105) #define DCPDU_ILit8_min_ByteN 4 #define DCPDU_RL_ST_Addr (DCPDU_Modbus_RegStAd + 114) #define DCPDU_RL_ST_ByteN 1 #define DCPDU_RLft_ST_Addr (DCPDU_Modbus_RegStAd + 116) #define DCPDU_RLft_ST_ByteN 1 #define DCPDU_RL_Ton1_Addr (DCPDU_Modbus_RegStAd + 118) #define DCPDU_RL_Ton1_ByteN 1 #define DCPDU_RL_Ton2_Addr (DCPDU_Modbus_RegStAd + 119) #define DCPDU_RL_Ton2_ByteN 1 #define DCPDU_RL_Ton3_Addr (DCPDU_Modbus_RegStAd + 120) #define DCPDU_RL_Ton3_ByteN 1 #define DCPDU_RL_Ton4_Addr (DCPDU_Modbus_RegStAd + 121) #define DCPDU_RL_Ton4_ByteN 1 #define DCPDU_RL_Ton5_Addr (DCPDU_Modbus_RegStAd + 122) #define DCPDU_RL_Ton5_ByteN 1 #define DCPDU_RL_Ton6_Addr (DCPDU_Modbus_RegStAd + 123) #define DCPDU_RL_Ton6_ByteN 1 #define DCPDU_RL_Ton7_Addr (DCPDU_Modbus_RegStAd + 124) #define DCPDU_RL_Ton7_ByteN 1 #define DCPDU_RL_Ton8_Addr (DCPDU_Modbus_RegStAd + 125) #define DCPDU_RL_Ton8_ByteN 1 #define DCPDU_RL_Toff1_Addr (DCPDU_Modbus_RegStAd + 134) #define DCPDU_RL_Toff1_ByteN 1 #define DCPDU_RL_Toff2_Addr (DCPDU_Modbus_RegStAd + 135) #define DCPDU_RL_Toff2_ByteN 1 #define DCPDU_RL_Toff3_Addr (DCPDU_Modbus_RegStAd + 136) #define DCPDU_RL_Toff3_ByteN 1 #define DCPDU_RL_Toff4_Addr (DCPDU_Modbus_RegStAd + 137) #define DCPDU_RL_Toff4_ByteN 1 #define DCPDU_RL_Toff5_Addr (DCPDU_Modbus_RegStAd + 138) #define DCPDU_RL_Toff5_ByteN 1 #define DCPDU_RL_Toff6_Addr (DCPDU_Modbus_RegStAd + 139) #define DCPDU_RL_Toff6_ByteN 1 #define DCPDU_RL_Toff7_Addr (DCPDU_Modbus_RegStAd + 140) #define DCPDU_RL_Toff7_ByteN 1 #define DCPDU_RL_Toff8_Addr (DCPDU_Modbus_RegStAd + 141) #define DCPDU_RL_Toff8_ByteN 1 #define DCPDU_RL_Allon_Addr (DCPDU_Modbus_RegStAd + 150) #define DCPDU_RL_Allon_ByteN 1 #define DCPDU_RL_Alloff_Addr (DCPDU_Modbus_RegStAd + 151) #define DCPDU_RL_Alloff_ByteN 1 /// #define Mb_Dbuff_DevAddr 0 #define Mb_Dbuff_VInput_Addr 2 #define Mb_Dbuff_IInput_Addr 3 #define Mb_Dbuff_WInput_Addr 4 #define Mb_Dbuff_KWhInput_Addr 5 #define Mb_Dbuff_ALLFT_ST_Addr 6 #define Mb_Dbuff_P1Output_Addr 10 #define Mb_Dbuff_P2Output_Addr 14 #define Mb_Dbuff_P3Output_Addr 18 #define Mb_Dbuff_P4Output_Addr 22 #define Mb_Dbuff_P5Output_Addr 26 #define Mb_Dbuff_P6Output_Addr 30 #define Mb_Dbuff_P7Output_Addr 34 #define Mb_Dbuff_P8Output_Addr 38 #define Mb_Dbuff_CH1FT_ST_Addr 42 #define Mb_Dbuff_CH2FT_ST_Addr 43 #define Mb_Dbuff_CH3FT_ST_Addr 44 #define Mb_Dbuff_CH4FT_ST_Addr 45 #define Mb_Dbuff_CH5FT_ST_Addr 46 #define Mb_Dbuff_CH6FT_ST_Addr 47 #define Mb_Dbuff_CH7FT_ST_Addr 48 #define Mb_Dbuff_CH8FT_ST_Addr 49 #define Mb_Dbuff_VLit1_max_Addr 50 #define Mb_Dbuff_VLit2_max_Addr 51 #define Mb_Dbuff_VLit3_max_Addr 52 #define Mb_Dbuff_VLit4_max_Addr 53 #define Mb_Dbuff_VLit5_max_Addr 54 #define Mb_Dbuff_VLit6_max_Addr 55 #define Mb_Dbuff_VLit7_max_Addr 56 #define Mb_Dbuff_VLit8_max_Addr 57 #define Mb_Dbuff_VLit1_min_Addr 66 #define Mb_Dbuff_VLit2_min_Addr 67 #define Mb_Dbuff_VLit3_min_Addr 68 #define Mb_Dbuff_VLit4_min_Addr 69 #define Mb_Dbuff_VLit5_min_Addr 70 #define Mb_Dbuff_VLit6_min_Addr 71 #define Mb_Dbuff_VLit7_min_Addr 72 #define Mb_Dbuff_VLit8_min_Addr 73 #define Mb_Dbuff_ILit1_max_Addr 82 #define Mb_Dbuff_ILit2_max_Addr 83 #define Mb_Dbuff_ILit3_max_Addr 84 #define Mb_Dbuff_ILit4_max_Addr 85 #define Mb_Dbuff_ILit5_max_Addr 86 #define Mb_Dbuff_ILit6_max_Addr 87 #define Mb_Dbuff_ILit7_max_Addr 88 #define Mb_Dbuff_ILit8_max_Addr 89 #define Mb_Dbuff_ILit1_min_Addr 98 #define Mb_Dbuff_ILit2_min_Addr 99 #define Mb_Dbuff_ILit3_min_Addr 100 #define Mb_Dbuff_ILit4_min_Addr 101 #define Mb_Dbuff_ILit5_min_Addr 102 #define Mb_Dbuff_ILit6_min_Addr 103 #define Mb_Dbuff_ILit7_min_Addr 104 #define Mb_Dbuff_ILit8_min_Addr 105 #define Mb_Dbuff_RL_ST_Addr 114 #define Mb_Dbuff_RLft_ST_Addr 116 #define Mb_Dbuff_RL_Ton1_Addr 118 #define Mb_Dbuff_RL_Ton2_Addr 119 #define Mb_Dbuff_RL_Ton3_Addr 120 #define Mb_Dbuff_RL_Ton4_Addr 121 #define Mb_Dbuff_RL_Ton5_Addr 122 #define Mb_Dbuff_RL_Ton6_Addr 123 #define Mb_Dbuff_RL_Ton7_Addr 124 #define Mb_Dbuff_RL_Ton8_Addr 125 #define Mb_Dbuff_RL_Toff1_Addr 134 #define Mb_Dbuff_RL_Toff2_Addr 135 #define Mb_Dbuff_RL_Toff3_Addr 136 #define Mb_Dbuff_RL_Toff4_Addr 137 #define Mb_Dbuff_RL_Toff5_Addr 138 #define Mb_Dbuff_RL_Toff6_Addr 139 #define Mb_Dbuff_RL_Toff7_Addr 140 #define Mb_Dbuff_RL_Toff8_Addr 141 #define Mb_Dbuff_RL_Allon_Addr 150 #define Mb_Dbuff_RL_Alloff_Addr 151 #define Mb_Dbuff_WLit1_max_Addr 160 #define Mb_Dbuff_WLit2_max_Addr 161 #define Mb_Dbuff_WLit3_max_Addr 162 #define Mb_Dbuff_WLit4_max_Addr 163 #define Mb_Dbuff_WLit5_max_Addr 164 #define Mb_Dbuff_WLit6_max_Addr 165 #define Mb_Dbuff_WLit7_max_Addr 166 #define Mb_Dbuff_WLit8_max_Addr 167 #define Mb_Dbuff_kWhLit1_max_Addr 170 #define Mb_Dbuff_kWhLit2_max_Addr 171 #define Mb_Dbuff_kWhLit3_max_Addr 172 #define Mb_Dbuff_kWhLit4_max_Addr 173 #define Mb_Dbuff_kWhLit5_max_Addr 174 #define Mb_Dbuff_kWhLit6_max_Addr 175 #define Mb_Dbuff_kWhLit7_max_Addr 176 #define Mb_Dbuff_kWhLit8_max_Addr 177 #define Mb_Dbuff_CH1ST_FT_Addr 181 #define Mb_Dbuff_CH2ST_FT_Addr 182 #define Mb_Dbuff_CH3ST_FT_Addr 183 #define Mb_Dbuff_CH4ST_FT_Addr 184 #define Mb_Dbuff_CH5ST_FT_Addr 185 #define Mb_Dbuff_CH6ST_FT_Addr 186 #define Mb_Dbuff_CH7ST_FT_Addr 187 #define Mb_Dbuff_CH8ST_FT_Addr 188 #define Mb_Dbuff_RL_Over_Ch1_Func 190 #define Mb_Dbuff_RL_Over_Ch2_Func 191 #define Mb_Dbuff_RL_Over_Ch3_Func 192 #define Mb_Dbuff_RL_Over_Ch4_Func 193 #define Mb_Dbuff_RL_Over_Ch5_Func 194 #define Mb_Dbuff_RL_Over_Ch6_Func 195 #define Mb_Dbuff_RL_Over_Ch7_Func 196 #define Mb_Dbuff_RL_Over_Ch8_Func 197 #define Mb_Dbuff_Clear_Consumer_Ch1 200 #define Mb_Dbuff_Clear_Consumer_Ch2 201 #define Mb_Dbuff_Clear_Consumer_Ch3 202 #define Mb_Dbuff_Clear_Consumer_Ch4 203 #define Mb_Dbuff_Clear_Consumer_Ch5 204 #define Mb_Dbuff_Clear_Consumer_Ch6 205 #define Mb_Dbuff_Clear_Consumer_Ch7 206 #define Mb_Dbuff_Clear_Consumer_Ch8 207 #define Mb_Dbuff_Clear_Consumer_ALL 208 #define Mb_Dbuff_Thr_All_V_Max 220 #define Mb_Dbuff_Thr_All_V_Min 221 #define Mb_Dbuff_Thr_All_I_Max 222 #define Mb_Dbuff_Thr_All_P_Max 223 #define Mb_Dbuff_Thr_All_C_Max 224 #define Mb_Dbuff_ALL_ST_FT_Addr 226 #define Mb_Dbuff_Over_All_Func 230 #define Mb_Dbuff_break_Addr 330 #define Mb_Dbuff_Info_Addr 331 #define DCPDU_WLit1_max_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_WLit1_max_Addr) #define DCPDU_WLit1_max_ByteN 4 #define DCPDU_WLit2_max_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_WLit2_max_Addr) #define DCPDU_WLit2_max_ByteN 4 #define DCPDU_WLit3_max_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_WLit3_max_Addr) #define DCPDU_WLit3_max_ByteN 4 #define DCPDU_WLit4_max_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_WLit4_max_Addr) #define DCPDU_WLit4_max_ByteN 4 #define DCPDU_WLit5_max_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_WLit5_max_Addr) #define DCPDU_WLit5_max_ByteN 4 #define DCPDU_WLit6_max_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_WLit6_max_Addr) #define DCPDU_WLit6_max_ByteN 4 #define DCPDU_WLit7_max_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_WLit7_max_Addr) #define DCPDU_WLit7_max_ByteN 4 #define DCPDU_WLit8_max_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_WLit8_max_Addr) #define DCPDU_WLit8_max_ByteN 4 #define DCPDU_kWhLit1_max_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_kWhLit1_max_Addr) #define DCPDU_kWhLit1_max_ByteN 4 #define DCPDU_kWhLit2_max_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_kWhLit2_max_Addr) #define DCPDU_kWhLit2_max_ByteN 4 #define DCPDU_kWhLit3_max_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_kWhLit3_max_Addr) #define DCPDU_kWhLit3_max_ByteN 4 #define DCPDU_kWhLit4_max_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_kWhLit4_max_Addr) #define DCPDU_kWhLit4_max_ByteN 4 #define DCPDU_kWhLit5_max_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_kWhLit5_max_Addr) #define DCPDU_kWhLit5_max_ByteN 4 #define DCPDU_kWhLit6_max_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_kWhLit6_max_Addr) #define DCPDU_kWhLit6_max_ByteN 4 #define DCPDU_kWhLit7_max_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_kWhLit7_max_Addr) #define DCPDU_kWhLit7_max_ByteN 4 #define DCPDU_kWhLit8_max_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_kWhLit8_max_Addr) #define DCPDU_kWhLit8_max_ByteN 4 #define DCPDU_CH1ST_FT_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_CH1ST_FT_Addr) #define DCPDU_CH1ST_FT_ByteN 1 #define DCPDU_CH2ST_FT_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_CH2ST_FT_Addr) #define DCPDU_CH2ST_FT_ByteN 1 #define DCPDU_CH3ST_FT_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_CH3ST_FT_Addr) #define DCPDU_CH3ST_FT_ByteN 1 #define DCPDU_CH4ST_FT_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_CH4ST_FT_Addr) #define DCPDU_CH4ST_FT_ByteN 1 #define DCPDU_CH5ST_FT_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_CH5ST_FT_Addr) #define DCPDU_CH5ST_FT_ByteN 1 #define DCPDU_CH6ST_FT_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_CH6ST_FT_Addr) #define DCPDU_CH6ST_FT_ByteN 1 #define DCPDU_CH7ST_FT_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_CH7ST_FT_Addr) #define DCPDU_CH7ST_FT_ByteN 1 #define DCPDU_CH8ST_FT_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_CH8ST_FT_Addr) #define DCPDU_CH8ST_FT_ByteN 1 #define DCPDU_RL_Over_Ch1_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_RL_Over_Ch1_Func) //add by liyi #define DCPDU_RL_Over_Ch1_ByteN 1 #define DCPDU_RL_Over_Ch2_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_RL_Over_Ch2_Func) //add by liyi #define DCPDU_RL_Over_Ch2_ByteN 1 #define DCPDU_RL_Over_Ch3_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_RL_Over_Ch3_Func) //add by liyi #define DCPDU_RL_Over_Ch3_ByteN 1 #define DCPDU_RL_Over_Ch4_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_RL_Over_Ch4_Func) //add by liyi #define DCPDU_RL_Over_Ch4_ByteN 1 #define DCPDU_RL_Over_Ch5_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_RL_Over_Ch5_Func) //add by liyi #define DCPDU_RL_Over_Ch5_ByteN 1 #define DCPDU_RL_Over_Ch6_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_RL_Over_Ch6_Func) //add by liyi #define DCPDU_RL_Over_Ch6_ByteN 1 #define DCPDU_RL_Over_Ch7_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_RL_Over_Ch7_Func) //add by liyi #define DCPDU_RL_Over_Ch7_ByteN 1 #define DCPDU_RL_Over_Ch8_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_RL_Over_Ch8_Func) //add by liyi #define DCPDU_RL_Over_Ch8_ByteN 1 #define DCPDU_RL_Clear_Consumer_Ch1_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_Clear_Consumer_Ch1) //add by liyi #define DCPDU_RL_Clear_Consumer_Ch1_ByteN 1 #define DCPDU_RL_Clear_Consumer_Ch2_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_Clear_Consumer_Ch2) //add by liyi #define DCPDU_RL_Clear_Consumer_Ch2_ByteN 1 #define DCPDU_RL_Clear_Consumer_Ch3_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_Clear_Consumer_Ch3) //add by liyi #define DCPDU_RL_Clear_Consumer_Ch3_ByteN 1 #define DCPDU_RL_Clear_Consumer_Ch4_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_Clear_Consumer_Ch4) //add by liyi #define DCPDU_RL_Clear_Consumer_Ch4_ByteN 1 #define DCPDU_RL_Clear_Consumer_Ch5_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_Clear_Consumer_Ch5) //add by liyi #define DCPDU_RL_Clear_Consumer_Ch5_ByteN 1 #define DCPDU_RL_Clear_Consumer_Ch6_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_Clear_Consumer_Ch6) //add by liyi #define DCPDU_RL_Clear_Consumer_Ch6_ByteN 1 #define DCPDU_RL_Clear_Consumer_Ch7_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_Clear_Consumer_Ch7) //add by liyi #define DCPDU_RL_Clear_Consumer_Ch7_ByteN 1 #define DCPDU_RL_Clear_Consumer_Ch8_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_Clear_Consumer_Ch8) //add by liyi #define DCPDU_RL_Clear_Consumer_Ch8_ByteN 1 #define DCPDU_RL_Clear_Consumer_All_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_Clear_Consumer_ALL) //add by liyi #define DCPDU_RL_Clear_Consumer_ALL_ByteN 1 #define DCPDU_THR_ALL_V_Max_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_Thr_All_V_Max) #define DCPDU_THR_ALL_V_Min_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_Thr_All_V_Min) #define DCPDU_THR_ALL_I_Max_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_Thr_All_I_Max) #define DCPDU_THR_ALL_P_Max_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_Thr_All_P_Max) #define DCPDU_THR_ALL_C_Max_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_Thr_All_C_Max) #define DCPDU_ALL_OVAR_FUNC_Addr (DCPDU_Modbus_RegStAd + Mb_Dbuff_Over_All_Func) #define DCPDU_BREAK_UPGRADE (DCPDU_Modbus_RegStAd + Mb_Dbuff_break_Addr) #define DCPDU_INFOMATION (DCPDU_Modbus_RegStAd + Mb_Dbuff_Info_Addr) //Eeprom的存储地址和地址下最多能存储多少个字节数据 #define RELAY_para_sum 430 #define ERom_Reg_StAddr 0x0000 #define ERom_RL_Ch_N_addr 0x0000 #define ERom_RL_Ch_N_ByteN 1 #define ERom_RL_ST_Addr 0x0001 #define ERom_RL_ST_ByteN 1 #define ERom_RLft_ST_Addr 0x0003 #define ERom_RLft_ST_ByteN 1 #define ERom_RL_Ton1_Addr 0x0005 #define ERom_RL_Ton1_ByteN 1 #define ERom_RL_Ton2_Addr 0x0006 #define ERom_RL_Ton2_ByteN 1 #define ERom_RL_Ton3_Addr 0x0007 #define ERom_RL_Ton3_ByteN 1 #define ERom_RL_Ton4_Addr 0x0008 #define ERom_RL_Ton4_ByteN 1 #define ERom_RL_Ton5_Addr 0x0009 #define ERom_RL_Ton5_ByteN 1 #define ERom_RL_Ton6_Addr 0x000a #define ERom_RL_Ton6_ByteN 1 #define ERom_RL_Ton7_Addr 0x000b #define ERom_RL_Ton7_ByteN 1 #define ERom_RL_Ton8_Addr 0x000c #define ERom_RL_Ton8_ByteN 1 #define ERom_RL_Toff1_Addr 0x0015 #define ERom_RL_Toff1_ByteN 1 #define ERom_RL_Toff2_Addr 0x0016 #define ERom_RL_Toff2_ByteN 1 #define ERom_RL_Toff3_Addr 0x0017 #define ERom_RL_Toff3_ByteN 1 #define ERom_RL_Toff4_Addr 0x0018 #define ERom_RL_Toff4_ByteN 1 #define ERom_RL_Toff5_Addr 0x0019 #define ERom_RL_Toff5_ByteN 1 #define ERom_RL_Toff6_Addr 0x001a #define ERom_RL_Toff6_ByteN 1 #define ERom_RL_Toff7_Addr 0x001b #define ERom_RL_Toff7_ByteN 1 #define ERom_RL_Toff8_Addr 0x001c #define ERom_RL_Toff8_ByteN 1 #define ERom_RL_Allon_Addr 0x0025 #define ERom_RL_Allon_ByteN 1 #define ERom_RL_Alloff_Addr 0x0027 #define ERom_RL_Alloff_ByteN 1 #define ERom_VLit1_max_Addr 0x0029 #define ERom_VLit1_max_ByteN 4 #define ERom_VLit2_max_Addr 0x002d #define ERom_VLit2_max_ByteN 4 #define ERom_VLit3_max_Addr 0x0031 #define ERom_VLit3_max_ByteN 4 #define ERom_VLit4_max_Addr 0x0035 #define ERom_VLit4_max_ByteN 4 #define ERom_VLit5_max_Addr 0x0039 #define ERom_VLit5_max_ByteN 4 #define ERom_VLit6_max_Addr 0x003d #define ERom_VLit6_max_ByteN 4 #define ERom_VLit7_max_Addr 0x0041 #define ERom_VLit7_max_ByteN 4 #define ERom_VLit8_max_Addr 0x0045 #define ERom_VLit8_max_ByteN 4 #define ERom_VLit1_min_Addr 0x0059 #define ERom_VLit1_min_ByteN 4 #define ERom_VLit2_min_Addr 0x005d #define ERom_VLit2_min_ByteN 4 #define ERom_VLit3_min_Addr 0x0061 #define ERom_VLit3_min_ByteN 4 #define ERom_VLit4_min_Addr 0x0065 #define ERom_VLit4_min_ByteN 4 #define ERom_VLit5_min_Addr 0x0069 #define ERom_VLit5_min_ByteN 4 #define ERom_VLit6_min_Addr 0x006d #define ERom_VLit6_min_ByteN 4 #define ERom_VLit7_min_Addr 0x0071 #define ERom_VLit7_min_ByteN 4 #define ERom_VLit8_min_Addr 0x0075 #define ERom_VLit8_min_ByteN 4 #define ERom_ILit1_max_Addr 0x0089 #define ERom_ILit1_max_ByteN 4 #define ERom_ILit2_max_Addr 0x008d #define ERom_ILit2_max_ByteN 4 #define ERom_ILit3_max_Addr 0x0091 #define ERom_ILit3_max_ByteN 4 #define ERom_ILit4_max_Addr 0x0095 #define ERom_ILit4_max_ByteN 4 #define ERom_ILit5_max_Addr 0x0099 #define ERom_ILit5_max_ByteN 4 #define ERom_ILit6_max_Addr 0x009d #define ERom_ILit6_max_ByteN 4 #define ERom_ILit7_max_Addr 0x00A1 #define ERom_ILit7_max_ByteN 4 #define ERom_ILit8_max_Addr 0x00A5 #define ERom_ILit8_max_ByteN 4 #define ERom_ILit1_min_Addr 0x00B9 #define ERom_ILit1_min_ByteN 4 #define ERom_ILit2_min_Addr 0x00Bd #define ERom_ILit2_min_ByteN 4 #define ERom_ILit3_min_Addr 0x00C1 #define ERom_ILit3_min_ByteN 4 #define ERom_ILit4_min_Addr 0x00C5 #define ERom_ILit4_min_ByteN 4 #define ERom_ILit5_min_Addr 0x00C9 #define ERom_ILit5_min_ByteN 4 #define ERom_ILit6_min_Addr 0x00Cd #define ERom_ILit6_min_ByteN 4 #define ERom_ILit7_min_Addr 0x00D1 #define ERom_ILit7_min_ByteN 4 #define ERom_ILit8_min_Addr 0x00D5 #define ERom_ILit8_min_ByteN 4 #define ERom_TotalWh1_Addr 0x00D9 #define ERom_TotalWh1_ByteN 4 #define ERom_TotalWh2_Addr 0x00DD #define ERom_TotalWh2_ByteN 4 #define ERom_TotalWh3_Addr 0x00E1 #define ERom_TotalWh3_ByteN 4 #define ERom_TotalWh4_Addr 0x00E5 #define ERom_TotalWh4_ByteN 4 #define ERom_TotalWh5_Addr 0x00E9 #define ERom_TotalWh5_ByteN 4 #define ERom_TotalWh6_Addr 0x00ED #define ERom_TotalWh6_ByteN 4 #define ERom_TotalWh7_Addr 0x00F1 #define ERom_TotalWh7_ByteN 4 #define ERom_TotalWh8_Addr 0x00F5 #define ERom_TotalWh8_ByteN 4 #define ERom_CH1LT_ST_Addr (260) #define ERom_CH1LT_ST_ByteN 2 #define ERom_CH2LT_ST_Addr (262) #define ERom_CH2LT_ST_ByteN 2 #define ERom_CH3LT_ST_Addr (264) #define ERom_CH3LT_ST_ByteN 2 #define ERom_CH4LT_ST_Addr (266) #define ERom_CH4LT_ST_ByteN 2 #define ERom_CH5LT_ST_Addr (268) #define ERom_CH5LT_ST_ByteN 2 #define ERom_CH6LT_ST_Addr (270) #define ERom_CH6LT_ST_ByteN 2 #define ERom_CH7LT_ST_Addr (272) #define ERom_CH7LT_ST_ByteN 2 #define ERom_CH8LT_ST_Addr (274) #define ERom_CH8LT_ST_ByteN 2 #define ERom_WLit1_max_Addr (280) #define ERom_WLit1_max_ByteN 4 #define ERom_WLit2_max_Addr (284) #define ERom_WLit2_max_ByteN 4 #define ERom_WLit3_max_Addr (288) #define ERom_WLit3_max_ByteN 4 #define ERom_WLit4_max_Addr (292) #define ERom_WLit4_max_ByteN 4 #define ERom_WLit5_max_Addr (296) #define ERom_WLit5_max_ByteN 4 #define ERom_WLit6_max_Addr (300) #define ERom_WLit6_max_ByteN 4 #define ERom_WLit7_max_Addr (304) #define ERom_WLit7_max_ByteN 4 #define ERom_WLit8_max_Addr (308) #define ERom_WLit8_max_ByteN 4 #define ERom_kWhLit1_max_Addr (320) #define ERom_kWhLit1_max_ByteN 4 #define ERom_kWhLit2_max_Addr (324) #define ERom_kWhLit2_max_ByteN 4 #define ERom_kWhLit3_max_Addr (328) #define ERom_kWhLit3_max_ByteN 4 #define ERom_kWhLit4_max_Addr (332) #define ERom_kWhLit4_max_ByteN 4 #define ERom_kWhLit5_max_Addr (336) #define ERom_kWhLit5_max_ByteN 4 #define ERom_kWhLit6_max_Addr (340) #define ERom_kWhLit6_max_ByteN 4 #define ERom_kWhLit7_max_Addr (344) #define ERom_kWhLit7_max_ByteN 4 #define ERom_kWhLit8_max_Addr (348) #define ERom_kWhLit8_max_ByteN 4 #define ERom_RL_Over_Func_Ch1 (360) #define ERom_RL_Over_Func_Ch1_ByteN 1 #define ERom_RL_Over_Func_Ch2 (361) #define ERom_RL_Over_Func_Ch2_ByteN 1 #define ERom_RL_Over_Func_Ch3 (362) #define ERom_RL_Over_Func_Ch3_ByteN 1 #define ERom_RL_Over_Func_Ch4 (363) #define ERom_RL_Over_Func_Ch4_ByteN 1 #define ERom_RL_Over_Func_Ch5 (364) #define ERom_RL_Over_Func_Ch5_ByteN 1 #define ERom_RL_Over_Func_Ch6 (365) #define ERom_RL_Over_Func_Ch6_ByteN 1 #define ERom_RL_Over_Func_Ch7 (366) #define ERom_RL_Over_Func_Ch7_ByteN 1 #define ERom_RL_Over_Func_Ch8 (367) #define ERom_RL_Over_Func_Ch8_ByteN 1 #define ERom_All_Thr_V_Max_Addr (400) #define ERom_All_Thr_V_Max_ByteN (4) #define ERom_All_Thr_V_Min_Addr (404) #define ERom_All_Thr_V_Min_ByteN (4) #define ERom_All_Thr_I_Max_Addr (408) #define ERom_All_Thr_I_Max_ByteN (4) #define ERom_All_Thr_P_Max_Addr (412) #define ERom_All_Thr_P_Max_ByteN (4) #define ERom_All_Thr_C_Max_Addr (416) #define ERom_All_Thr_C_Max_ByteN (4) #define ERom_All_Over_Func_Addr (420) #define ERom_All_Over_Func_ByteN (1) #define DCPDU_Over_I_Max_Func_enable 0x00000001 #define DCPDU_Over_V_Max_Func_enable 0x00000002 #define DCPDU_Over_V_Min_Func_enable 0x00000004 #define DCPDU_Over_P_Max_Func_enable 0x00000008 #define DCPDU_Over_C_Max_Func_enable 0x00000010 #define Default_Consum_Max (4000000000) #define Default_Voltage_Max (1000000000) #define Default_Current_Max (1000000000) #define Default_Power_Max (1000000000) #define THRESHOULD_JUDGMENT (50) //enable or disable relay by the small threshold #define Shield_Vmax_Threshould_Disable (0xfffffffE) #define Shield_Vmin_Threshould_Disable (0xfffffffD) #define Shield_Imax_Threshould_Disable (0xfffffffB) #define Shield_Wmax_Threshould_Disable (0xffffffF7) #define Shield_Kwhmax_Threshould_Disable (0xffffffEF) #define Shield_Vmax_Threshould_Enable (0x00000001) #define Shield_Vmin_Threshould_Enable (0x00000002) #define Shield_Imax_Threshould_Enable (0x00000004) #define Shield_Wmax_Threshould_Enable (0x00000008) #define Shield_kWhmax_Threshould_Enable (0x00000010) #define DCPDU_Vmax_Fault 0x00000001 #define DCPDU_Vmax_NFault 0xfffffffe #define DCPDU_Vmin_Fault 0x00000002 #define DCPDU_Vmin_NFault 0xfffffffd #define DCPDU_Imax_Fault 0x00000004 #define DCPDU_Imax_NFault 0xfffffffb #define DCPDU_Wmax_Fault 0x00000008 #define DCPDU_Wmax_NFault 0xfffffff7 #define DCPDU_kWhmax_Fault 0x00000010 #define DCPDU_kWhmax_NFault 0xffffffef #define DCPDU_Vmax_LT_enable 0x00000001 #define DCPDU_Vmin_LT_enable 0x00000002 #define DCPDU_Imax_LT_enable 0x00000004 #define DCPDU_Wmax_LT_enable 0x00000008 #define DCPDU_kWhmax_LT_enable 0x00000010 ///////////////////////////////////// typedef struct DCPDU_RELAY_Para_Reg { uint8_t RL_chn; uint8_t RL_ontime[RELAY_ChN_default]; uint8_t RL_offtime[RELAY_ChN_default]; }DCPDU_RELAY_Para_Reg; typedef struct DC_Output_struct_Reg { uint32_t DC_Vout; //输出电压 uint32_t DC_Iout; //输出电流 uint32_t DC_Pout; //输出功率 }DC_Output_struct_Reg; typedef struct DC_SUM_Para_struct_Reg { uint32_t DC_Vin; //输入直流电压 uint32_t DC_Iin; //总的输入电流 uint32_t DC_Win; //总的输入功率 uint32_t DC_KWhin; //总的输入功率 uint32_t DC_Qin; //功率因数 uint32_t DC_CO2; //二氧化碳排量 uint32_t DC_Tp; //温度 uint32_t DC_Hz; //频率 }DC_SUM_Para_struct_Reg; typedef union{ uint8_t data[4]; uint32_t value; }Rx_Data; extern unsigned int All_On_Flag; //继电器全开标志 extern unsigned int All_Off_Flag; //继电器全关标志 extern unsigned int All_On_Flag1; //继电器全开标志 extern unsigned int All_Off_Flag1; //继电器全关标志 extern bool Start_Read_Flag; //开始读取数据标志 //uint32_t DCPDU_Modbus_Reg[DCPDU_Modbus_Reg_len]; /********************************************************************************************************* * 枚举结构体 *********************************************************************************************************/ /********************************************************************************************************* * API函数声明 *********************************************************************************************************/ void Init_Dev_parameter(void); void break_2_boot_upgreade(void); #endif