📄 e2prom_config.h
字号:
#define eSY10_PPwrTar3_Dtr (eSY10_PPwrTar2_Dtr+4) // "" 费率3 ""
#define eSY10_PPwrTar4_Dtr (eSY10_PPwrTar3_Dtr+4) // "" 费率4 ""
#define eSY11_PPwrTtl_Dtr (eSY10_PPwrTar4_Dtr+4) // 4byte(11月)正向有功总电能(+A) XXXXXXXX.XXkwh
#define eSY11_PPwrTar1_Dtr (eSY11_PPwrTtl_Dtr+4) // "" 费率1 ""
#define eSY11_PPwrTar2_Dtr (eSY11_PPwrTar1_Dtr+4) // "" 费率2 ""
#define eSY11_PPwrTar3_Dtr (eSY11_PPwrTar2_Dtr+4) // "" 费率3 ""
#define eSY11_PPwrTar4_Dtr (eSY11_PPwrTar3_Dtr+4) // "" 费率4 ""
#define eSY12_PPwrTtl_Dtr (eSY11_PPwrTar4_Dtr+4) // 4byte(12月)正向有功总电能(+A) XXXXXXXX.XXkwh
#define eSY12_PPwrTar1_Dtr (eSY12_PPwrTtl_Dtr+4) // "" 费率1 ""
#define eSY12_PPwrTar2_Dtr (eSY12_PPwrTar1_Dtr+4) // "" 费率2 ""
#define eSY12_PPwrTar3_Dtr (eSY12_PPwrTar2_Dtr+4) // "" 费率3 ""
#define eSY12_PPwrTar4_Dtr (eSY12_PPwrTar3_Dtr+4) // "" 费率4 ""
/*------ 冬季冻结电量 46 bytes ; 无 RAM 数据区----------------------------------------------------------------------------------------*/
#define ePPwrTtl_SttWintr_Dtr (eSY12_PPwrTar4_Dtr+4) // 4byte 冬时区冻结起始正向有功总电能(+A) XXXXXXXX.XXkwh
#define ePPwrTar1_SttWintr_Dtr (ePPwrTtl_SttWintr_Dtr+4) // "" 费率1 ""
#define ePPwrTar2_SttWintr_Dtr (ePPwrTar1_SttWintr_Dtr+4) // "" 费率2 ""
#define ePPwrTar3_SttWintr_Dtr (ePPwrTar2_SttWintr_Dtr+4) // "" 费率3 ""
#define ePPwrTar4_SttWintr_Dtr (ePPwrTar3_SttWintr_Dtr+4) // "" 费率4 ""
#define eDate_SttWintr_Dtr (ePPwrTar4_SttWintr_Dtr+4) // 3byte 冻结起始日期 yymmdd
#define ePPwrTtl_EndWintr_Dtr (eDate_SttWintr_Dtr+3) // 4byte 冬时区冻结结束正向有功总电能(+A) XXXXXXXX.XXkwh
#define ePPwrTar1_EndWintr_Dtr (ePPwrTtl_EndWintr_Dtr+4) // "" 费率1 ""
#define ePPwrTar2_EndWintr_Dtr (ePPwrTar1_EndWintr_Dtr+4) // "" 费率2 ""
#define ePPwrTar3_EndWintr_Dtr (ePPwrTar2_EndWintr_Dtr+4) // "" 费率3 ""
#define ePPwrTar4_EndWintr_Dtr (ePPwrTar3_EndWintr_Dtr+4) // "" 费率4 ""
#define eDate_EndWintr_Dtr (ePPwrTar4_EndWintr_Dtr+4) // 3byte 冻结结束日期 yymmdd
//------------------------------------------------------------------------------------------------------------------------------
// 备份数据区2:备份数据区1烧坏后,启用备份数据区2
#define ePPwrKwh_Bak (eDate_EndWintr_Dtr+3) // 5*4byte+1(当前)正向有功总、费率电能(+A) XXXXXXXX.XX kwh
#define eNPwrKwh_Bak (ePPwrKwh_Bak+21) // 5*4byte+1(当前)反向有功总、费率电能(+A) XXXXXXXX.XX kwh
#define ePPwrKvarh_Bak (eNPwrKwh_Bak+21) // 5*4byte+1(当前)正向无功总、费率电能(+A) XXXXXXXX.XX kwh
#define eSysTmDt_Bak (ePPwrKvarh_Bak+21) // 8byte 系统时间
//------------------------------------------------------------------------------------------------------------------------------
#define eUpDownPowerDataBuf (eSysTmDt_Bak+ 8) // 71个字节用于上电下电需要保存和传输的数据
/*------------------- 参变量 35 bytes ; ----------------------------------------------------------------------------*/
#define eLPrgrm_Tm_Dtr (eUpDownPowerDataBuf+ UpSaveDataLen) // 4byte 最近1次编程时间 MMDDHHmm 月.日.时.分
#define eLPrgrm_Cont_Dtr (eLPrgrm_Tm_Dtr+4) // 4byte 最近1次编程内容 NNNNNNNN 数据标识ID、长度、 命令
#define ePrgrm_Cnt_Dtr (eLPrgrm_Cont_Dtr+4) // 2byte 编程次数 NNNN
#define eBatt_WorkTm_Dtr (ePrgrm_Cnt_Dtr+2) // 3byte 电池工作时间 NNNNNN min
#define ePdCnt_Dtr (eBatt_WorkTm_Dtr+3) // 2byte 停电次数 NNNN
#define ePOnCnt_Dtr (ePdCnt_Dtr+2) // 2byte 上电次数 NNNN
#define eClrPwr_Tm_Dtr (ePOnCnt_Dtr+2) // 4byte 最近一次清零时间 MMDDHHmm 月.日.时.分
#define eClrEngy_Cnt_Dtr (eClrPwr_Tm_Dtr+4) // 2byte 清零次数 NNNN
#define eSystem_Malfunction (eClrEngy_Cnt_Dtr+2) // 1byte 系统故障记录
#define ePdTime_Dtr (eSystem_Malfunction+1) // 6byte 最近一次停电时间 YYMMDDhhmmss 年.月.日- 时.分.秒
#define ePuTime_Dtr (ePdTime_Dtr+6) // 6byte 最近一次上电时间 YYMMDDhhmmss 年.月.日- 时.分.秒
#define eMtWd_Dtr (ePuTime_Dtr+6) // 1byte 电表运行状态字(见附录B1)XX
#define ePwrNtWd_Dtr (eMtWd_Dtr+1) // 1byte 电网状态字(见附录B2) XX
/* -------- 参变量数据区结束地址 ----------------- */
#define Prt_Variable_End (ePwrNtWd_Dtr+1)
/*----------------------------------------------------------------------------------------------------------------------*/
#define ClearVariableBuf0() E2prom_Set(eLPrgrm_Tm_Dtr,0x00,(Prt_Variable_End - eLPrgrm_Tm_Dtr)) //宏调用,参变量数据区清零(操作数据区清零)
#define ClearVariableBuf1() E2prom_Set(Prt_Variable_Hand,0x00,(Prt_Variable_End - Prt_Variable_Hand )) //宏调用,参变量数据区清零(全清零)
/*----------------------------------------------------------------------------------------------------------------------*/
#define InitFlgBuf2 (Prt_Variable_End + 8) // 8byte 第一次上电标志记录区2
/*------------------- 参数 151 bytes ; ------------------------------------------------------------------------------*/
/* -------- 参数数据区起始地址 ----------------- */
#define Parameter_Hand (InitFlgBuf2+10) // 参数区头
/*----------------------------------------------------------------------------------------------------------------------*/
/* 通信要刷新的数据区 */
#define eMtCt_Dtr (Parameter_Hand) /*04*/ // 3byte 电表常数(只读) NNNNNN
#define eShftDspTm_Dtr (eMtCt_Dtr+3) /*08*/ // 1byte 循显时间 XX s
#define eStpDspTm_Dtr (eShftDspTm_Dtr+1) /*09*/ // 1byte 循显间隔时间 NN s
#define eOpnClsLcd_Dtr ( eStpDspTm_Dtr+1) /*18*/ // 4byte 开显示/关显示时间 hhmm-hhmm 时分-时分
#define eRttDspNo_Dtr (eOpnClsLcd_Dtr+4) // 32byte 16项个正常显示序号存放区序号
#define CommRefurbish() MoveData_Api(eMtCt_Dtr+e2RAM_Adr,(unsigned int)(&rCommParamter[0]),eRttDspNo_Dtr+32-eMtCt_Dtr) //宏调用, 通信要刷新的数据
/*----------------------------------------------------------------------------------------------------------------------*/
#define eParamtA_Dtr (eRttDspNo_Dtr+32) /*01*/ // 2byte 参量A([1]电池电压、[0]脉冲数
#define eParamtB_Dtr (eParamtA_Dtr+2) /*02*/ // 2byte 参量B(电量显示位数可设置,)
#define eParamtC_Dtr (eParamtB_Dtr+2) /*03*/ // 2byte 参量C
#define eMeterNo_Dtr (eParamtC_Dtr+2) /*05*/ // 6byte 表号 NNNNNNNNNNNN
#define eUsrNo_Dtr (eMeterNo_Dtr+6) /*06*/ // 6byte 用户号 NNNNNNNNNNNN
#define eDvcNo_Dtr (eUsrNo_Dtr+6) /*07*/ // 6byte 设备号 NNNNNNNNNNNN
#define eAUtRdTm_Dtr (eDvcNo_Dtr+6) /*10*/ // 2byte 自动抄表日期 DDhh 日.时
#define eInitEngy_Dtr (eAUtRdTm_Dtr+2) /*11*/ // 4byte 电量底数
#define eTmSctCnt_Dtr (eInitEngy_Dtr+4) /*12*/ // 1byte 日时段数
#define eFvCnt_Dtr (eTmSctCnt_Dtr+1) // 1byte 日费率数
#define eFlTbl_Dtr (eFvCnt_Dtr+1) // 30byte 10个时段(日时段表集合)
#define eKeyDspNo_Dtr (eFlTbl_Dtr +30) // 32byte 16项按键显示序号存放区序号
#define eDate_SttWntr (eKeyDspNo_Dtr+32) /*15*/ // 3byte 冬季开始日期 (NN为00)11.01.00
#define eDate_EndWntr (eDate_SttWntr+3) /*16*/ // 3byte 冬季结束日期 (NN为00)04.01.00
#define ePassWd00_Dtr (eDate_EndWntr+3) /*17*/ // 4byte 密码权限及密码0 NNNNNNNN
#define eComposerPassword_Dtr (ePassWd00_Dtr+4) /*19*/ // 4byte 超级用户密码(设计者口令) NNNNNNNN
#define eCF1DEN (eComposerPassword_Dtr+4) // 2Byte CF1高频脉冲常数(有功) 28H
#define eCF2DEN (eCF1DEN+2) // 2Byte CF2高频脉冲常数(无功) 2AH
/* -------- 参数数据区结束地址 ----------------- */
#define Parameter_End (eCF2DEN+2) // 参数区结尾
//------------------------------------------------------------------------------------------------------------------------------
#define SetParameterInit() MoveData_Api((Prom_ParAdr+pROM_Adr),(Parameter_Hand+e2RAM_Adr),(unsigned char)(Parameter_End - Parameter_Hand)) //初次上电需要设置的原始参数
//------------------------------------------------------------------------------------------------------------------------------
#define ePROM_end (Parameter_End)
#if ePROM_end >1000
#error "\error--E2prom is too long segment definition!\"
#endif
//================================================================================================================================
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -