📄 storage.h
字号:
/* storage.h */
/*************************************
;Ade7169 demo program
;*************************************
;AUTHOR: Su RuTong
;DATE: 03 09 2006
;*************************************/
#ifndef STORAGE_H
#define STORAGE_H
// 显示项个数
#define DISP_MAX_ITEM 32
/******************************************************************************************
* 固定数据地址定义(Store in small e2prom) *
******************************************************************************************/
#define ADDR_OF_METER_CONSTANT_A 0 // 电表常数(有功) - 3字节 - C030 - 81.
#define ADDR_OF_METER_CONSTANT_RA (unsigned short)(ADDR_OF_METER_CONSTANT_A+6) // 电表常数(无功) - 3字节 - C031 - 81.01
#define ADDR_OF_METER_NUM (unsigned short)(ADDR_OF_METER_CONSTANT_RA+6) // 电表表号 - 3字节
#define ADDR_OF_METER_NUM_L (unsigned short)(ADDR_OF_METER_NUM) // 电表表号(低6位) - 3字节 - C032 - 82.
#define ADDR_OF_METER_NUM_H (unsigned short)(ADDR_OF_METER_NUM_L+3) // 电表表号(高6位) - 3字节 - C032 - 82.01
#define ADDR_OF_USER_NUM_L (unsigned short)(ADDR_OF_METER_NUM+6) // 电表用户号(低6位) - 3字节 - C033 - 82.02
#define ADDR_OF_USER_NUM_H (unsigned short)(ADDR_OF_USER_NUM_L+3) // 电表用户号(高6位) - 3字节 - C033 - 82.03
#define ADDR_OF_DEVICE_NUM_L (unsigned short)(ADDR_OF_USER_NUM_H+3) // 电表设备号(低6位) - 3字节 - C034 - 82.04
#define ADDR_OF_DEVICE_NUM_H (unsigned short)(ADDR_OF_DEVICE_NUM_L+3) // 电表设备号(高6位) - 3字节 - C034 - 82.05
#define ADDR_OF_REQ_CYCLE (unsigned short)(ADDR_OF_DEVICE_NUM_H+3) // 最大需量周期(默认15分钟) - 1字节 - C111 - 83.
#define ADDR_OF_SLIP_TIME (unsigned short)(ADDR_OF_REQ_CYCLE+1) // 滑差时间(分钟) - 1字节 - C112 - 83.01
#define ADDR_OF_CYCDISP_TIME (unsigned short)(ADDR_OF_SLIP_TIME+1) // 循显时间(秒) - 1字节 - C113 - 83.02
#define ADDR_OF_KEEPDISP_TIME (unsigned short)(ADDR_OF_CYCDISP_TIME+1) // 停显时间(秒) - 1字节 - C114 - 83.03
#define ADDR_OF_PWRDISP_DECIMALDIG (unsigned short)(ADDR_OF_KEEPDISP_TIME+1) // 显示电能小数位数(默认02) - 1字节 - C115 - 83.04
#define ADDR_OF_REQDISP_DECIMALDIG (unsigned short)(ADDR_OF_PWRDISP_DECIMALDIG+1) // 显示功率(需量)小数位数(默认04) - 1字节 - C116 - 83.05
#define ADDR_OF_AUTO_RDDATA_DATE (unsigned short)(ADDR_OF_REQDISP_DECIMALDIG+1) // 自动抄表日期(日.时) - 2字节 - C117 - 83.06
#define ADDR_OF_SETTLEMENT_RECODE_MON (unsigned short)(ADDR_OF_AUTO_RDDATA_DATE+2) // 上次结算月信息 - 1字节
#define ADDR_OF_SUCCESSSETTIME_FLAG (unsigned short)(ADDR_OF_SETTLEMENT_RECODE_MON+2)
#define ADDR_OF_LOAD_REPREST_DAY (unsigned short)(ADDR_OF_SUCCESSSETTIME_FLAG+1) // 负荷代表日 - 1字节 - C118 - 83.07
#define ADDR_OF_PULSE_WIDTH (unsigned short)(ADDR_OF_LOAD_REPREST_DAY+9) // 脉冲输出宽度(毫秒) - 2字节 - C211 - 84.
#define ADDR_OF_AP_UPPER_LIMIT (unsigned short)(ADDR_OF_PULSE_WIDTH+2) // 正向有功功率上限值(kW) - 2字节 - B634 - 85.
#define ADDR_OF_AN_UPPER_LIMIT (unsigned short)(ADDR_OF_AP_UPPER_LIMIT+2) // 反向有功功率上限值(kW) - 2字节 - B635 - 85.01
#define ADDR_OF_METER_TYPE (unsigned short)(ADDR_OF_AN_UPPER_LIMIT+2) // 电表类型 - 2字节 - B670 - 79.
#define ADDR_OF_INTER_PAR_STATE (unsigned short)(ADDR_OF_METER_TYPE+2) // 内部参数(电表运行状态) - 1字节 - B671 - 79.01
#define ADDR_OF_INTER_PAR_TEST (unsigned short)(ADDR_OF_INTER_PAR_STATE+1) // 内部参数(测试参数) - 1字节 - B672 - 79.02
#define ADDR_OF_BATTERY_V36 (unsigned short)(ADDR_OF_INTER_PAR_TEST+1) // 3.6V电池电压 - 1字节 - B673 - 79.03
#define ADDR_OF_PUB_VACATION (unsigned short)(ADDR_OF_BATTERY_V36+1) // 公共假日状态 - 1字节 - B674 - 79.04
#define ADDR_OF_ZMPF (unsigned short)(ADDR_OF_PUB_VACATION+1) // 时区.日时段表号.时段.费率 - 4字节 - B675 - 79.05
#define ADDR_OF_BATTERY_V6 (unsigned short)(ADDR_OF_ZMPF+4) // 6V停电电池状态 - 1字节 - B676 - 79.06
#define ADDR_OF_INTER_PAR_LVI_WORD (unsigned short)(ADDR_OF_BATTERY_V6+1) // 内部参数(失压失流状态字) - 1字节 - B677 - 79.07
#define ADDR_OF_METER_WORD (unsigned short)(ADDR_OF_INTER_PAR_LVI_WORD+1) // 电表运行状态字 - 1字节 - C020 - 79.10
#define ADDR_OF_ENET_WORD (unsigned short)(ADDR_OF_METER_WORD+1) // 电网运行状态字 - 1字节 - C021 - 79.11
/* 内部自定义 */
#define ADDR_OF_METER_PASSWORD1 (unsigned short)(ADDR_OF_ENET_WORD+1) // 设备访问密码1 - 4字节
#define ADDR_OF_METER_PASSWORD2 (unsigned short)(ADDR_OF_METER_PASSWORD1+4) // 设备访问密码2 - 4字节
#define ADDR_OF_METER_PASSWORD3 (unsigned short)(ADDR_OF_METER_PASSWORD2+4) // 设备访问密码3 - 4字节
#define ADDR_OF_SOFTWARE_VERSION (unsigned short)(ADDR_OF_METER_PASSWORD3+4) // 软件版本号 - 3字节
#define ADDR_OF_HARDWARE_VERSION (unsigned short)(ADDR_OF_SOFTWARE_VERSION+3) // 硬件版本号 - 3字节
#define ADDR_OF_METER_STATUS_MAIN (unsigned short)(ADDR_OF_HARDWARE_VERSION+3) // 电表主状态 - 1字节
#define ADDR_OF_METER_STATUS_SUB (unsigned short)(ADDR_OF_METER_STATUS_MAIN+1) // 电表子状态 - 1字节
#define ADDR_OF_WEEKEND_STATUS (unsigned short)(ADDR_OF_METER_STATUS_SUB+1) // 周休日状态字 - 1字节
#define ADDR_OF_WEEKEND_NUM (unsigned short)(ADDR_OF_WEEKEND_STATUS+1) // 周休日天数 - 1字节
#define ADDR_OF_CPU_RESET_CNT (unsigned short)(ADDR_OF_WEEKEND_NUM+1) // CPU复位次数 - 2字节
/* 轮显内容定义 */
#define ADDR_OF_DISP_TYPE (unsigned short)(ADDR_OF_CPU_RESET_CNT+2) // 轮显方式 - 1字节 - C120 - 86.
#define ADDR_OF_DISP_TIME (unsigned short)(ADDR_OF_DISP_TYPE+1) // 轮显时间(秒) - 1字节 - C121 - 86.01
#define DISP_CONTENT (unsigned short)(ADDR_OF_DISP_TIME+1)
/* 电表基本数据定义 */
#define ADDR_OF_MANUFACTURER_PAR (unsigned short)(DISP_CONTENT+DISP_MAX_ITEM) // 厂家参数(保留) - 4字节 - C140 - 87.
#define ADDR_OF_RATED_UB (unsigned short)(ADDR_OF_MANUFACTURER_PAR+4) // 标定电压Ub(V) - 2字节 - C141 - 87.01
#define ADDR_OF_RATED_IB (unsigned short)(ADDR_OF_RATED_UB+2) // 标定电流Ib(A) - 2字节 - C142 - 87.02
#define ADDR_OF_SECURITY_CHK_IMAX (unsigned short)(ADDR_OF_RATED_IB+2) // 安检最大电流(A) - 2字节 - C143 - 87.03
#define ADDR_OF_SECURITY_CHK_IMIN (unsigned short)(ADDR_OF_SECURITY_CHK_IMAX+2) // 安检最小电流(A) - 2字节 - C143 - 87.04
#define ADDR_OF_LV_ESTIMATE_TYPE (unsigned short)(ADDR_OF_SECURITY_CHK_IMIN+2) // 失压判断方式 - 1字节 - C144 - 87.10
#define ADDR_OF_LV_CONDITION (unsigned short)(ADDR_OF_LV_ESTIMATE_TYPE+1) // 失压条件XX.YY(A.V) - 4字节 - C144 - 87.11
#define ADDR_OF_LI_ESTIMATE_TYPE (unsigned short)(ADDR_OF_LV_CONDITION+4) // 失流判断方式 - 1字节 - C145 - 87.12
#define ADDR_OF_LI_CONDITION (unsigned short)(ADDR_OF_LI_ESTIMATE_TYPE+1) // 失流条件X.YY.Z(.A.%) - 4字节 - C145 - 87.13
#define ADDR_OF_ALARM_RAYCTL_WORD (unsigned short)(ADDR_OF_LI_CONDITION+4) // 光控报警控制字 - 1字节 - C146 - 87.20
#define ADDR_OF_ALARM_BEEPCTL_WORD (unsigned short)(ADDR_OF_ALARM_RAYCTL_WORD+1) // 蜂鸣器报警控制字 - 1字节 - C146 - 87.21
#define ADDR_OF_REGV_MIN_VALUE (unsigned short)(ADDR_OF_ALARM_BEEPCTL_WORD+1) // 最低合格电压设定值(V) - 2字节 - C147 - 87.30
#define ADDR_OF_REGV_UPPER_LIMIT_AREA (unsigned short)(ADDR_OF_REGV_MIN_VALUE+2) // 电压合格上限区域(相对最低合格电压) - 2字节 - C147 - 87.31
#define ADDR_OF_CHKV_UPPER_LIMIT_AREA (unsigned short)(ADDR_OF_REGV_UPPER_LIMIT_AREA+2) // 电压考核范围上限区域(相对最低合格电压) - 2字节 - C147 - 87.32
#define ADDR_OF_CHKV_LOWER_LIMIT_AREA (unsigned short)(ADDR_OF_CHKV_UPPER_LIMIT_AREA+2) // 电压考核范围下限区域(相对最低合格电压) - 2字节 - C147 - 87.33
#define ADDR_OF_A_MEASURE_TYPE_SEL (unsigned short)(ADDR_OF_CHKV_LOWER_LIMIT_AREA+2) // 有功电能计量方式选择 - 1字节 - C148 - 87.40
#define ADDR_OF_RA_MEASURE_TYPE_SEL (unsigned short)(ADDR_OF_A_MEASURE_TYPE_SEL+1) // 无功电能计量方式选择 - 1字节 - C149 - 87.50
/* 日期 */
#define ADDR_OF_DATE (unsigned short)(ADDR_OF_RA_MEASURE_TYPE_SEL+1) // 年月日YYMMDD - 6字节 - C149 - 87.50
#define BASE_TIME_OFFSET 6
#if 0
/* 时区.时段.费率及公共假日等数量定义 */
#define BASE_CNT (unsigned short)(ADDR_OF_RA_MEASURE_TYPE_SEL+1)
#define BASE_CNT_OFFSET 1
#define ADDR_OF_TIMEZONE_COUNT (unsigned short)(BASE_CNT+BASE_CNT_OFFSET*0) // 年时区数 - 1字节 - C310 - 88.
#define ADDR_OF_POT_COUNT (unsigned short)(BASE_CNT+BASE_CNT_OFFSET*1) // 日时段表数 - 1字节 - C311 - 88.01
#define ADDR_OF_POT_SWITCH_COUNT (unsigned short)(BASE_CNT+BASE_CNT_OFFSET*2) // 日时段(每日切换数) - 1字节 - C312 - 88.02
#define ADDR_OF_FRATE_COUNT (unsigned short)(BASE_CNT+BASE_CNT_OFFSET*3) // 费率数 - 1字节 - C313 - 88.03
#define ADDR_OF_PUB_VACATION_COUNT (unsigned short)(BASE_CNT+BASE_CNT_OFFSET*4) // 公共假日数 - 1字节 - C314 - 88.04
/* 时区起始日期及日时段表号(MMDDNN) */
#define BASE_ZTSTA (unsigned short)(ADDR_OF_PUB_VACATION_COUNT+1)
#define BASE_ZTSTA_OFFSET 3
#define ADDR_OF_ZT_STA_DT_01 (unsigned short)(BASE_ZTSTA+BASE_ZTSTA_OFFSET*0) // 第1时区起始日期及日时段表号 - 3字节 - C321 - 89.
#define ADDR_OF_ZT_STA_DT_02 (unsigned short)(BASE_ZTSTA+BASE_ZTSTA_OFFSET*1) // 第2时区起始日期及日时段表号 - 3字节 - C322 - 89.01
#define ADDR_OF_ZT_STA_DT_03 (unsigned short)(BASE_ZTSTA+BASE_ZTSTA_OFFSET*2) // 第3时区起始日期及日时段表号 - 3字节 - C323 - 89.02
#define ADDR_OF_ZT_STA_DT_04 (unsigned short)(BASE_ZTSTA+BASE_ZTSTA_OFFSET*3) // 第4时区起始日期及日时段表号 - 3字节 - C324 - 89.03
#define ADDR_OF_ZT_STA_DT_05 (unsigned short)(BASE_ZTSTA+BASE_ZTSTA_OFFSET*4) // 第5时区起始日期及日时段表号 - 3字节 - C325 - 89.04
#define ADDR_OF_ZT_STA_DT_06 (unsigned short)(BASE_ZTSTA+BASE_ZTSTA_OFFSET*5) // 第6时区起始日期及日时段表号 - 3字节 - C326 - 89.05
#define ADDR_OF_ZT_STA_DT_07 (unsigned short)(BASE_ZTSTA+BASE_ZTSTA_OFFSET*6) // 第7时区起始日期及日时段表号 - 3字节 - C327 - 89.06
#define ADDR_OF_ZT_STA_DT_08 (unsigned short)(BASE_ZTSTA+BASE_ZTSTA_OFFSET*7) // 第8时区起始日期及日时段表号 - 3字节 - C328 - 89.07
#define ADDR_OF_ZT_STA_DT_09 (unsigned short)(BASE_ZTSTA+BASE_ZTSTA_OFFSET*8) // 第9时区起始日期及日时段表号 - 3字节 - C329 - 89.08
#define ADDR_OF_ZT_STA_DT_10 (unsigned short)(BASE_ZTSTA+BASE_ZTSTA_OFFSET*9) // 第10时区起始日期及日时段表号 - 3字节 - C32A - 89.09
#define ADDR_OF_ZT_STA_DT_11 (unsigned short)(BASE_ZTSTA+BASE_ZTSTA_OFFSET*10) // 第11时区起始日期及日时段表号 - 3字节 - C32B - 89.10
#define ADDR_OF_ZT_STA_DT_12 (unsigned short)(BASE_ZTSTA+BASE_ZTSTA_OFFSET*11) // 第12时区起始日期及日时段表号 - 3字节 - C32C - 89.11
/* 时区信息存储格式定义 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -