| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001 |
- /*********************************************************************************************************
- * 模块名称: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 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)
- //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;
- 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);
- #endif
|