|
|
@ -17,14 +17,14 @@ union serial_u { |
|
|
|
|
|
|
|
|
|
|
|
// units
|
|
|
|
enum {UNIT_V = 0, UNIT_A, UNIT_W, UNIT_WH, UNIT_KWH, UNIT_HZ, UNIT_C, UNIT_VAR, UNIT_VA, UNIT_NONE}; |
|
|
|
enum {UNIT_V = 0, UNIT_A, UNIT_W, UNIT_WH, UNIT_KWH, UNIT_HZ, UNIT_C, UNIT_PCT, UNIT_VAR, UNIT_NONE}; |
|
|
|
const char* const units[] = {"V", "A", "W", "Wh", "kWh", "Hz", "°C", "%","var",""}; |
|
|
|
|
|
|
|
// field types
|
|
|
|
enum {FLD_UDC = 0, FLD_IDC, FLD_PDC, FLD_YD, FLD_YW, FLD_YT, |
|
|
|
FLD_UAC, FLD_IAC, FLD_PAC, FLD_F, FLD_T, FLD_PF, FLD_EFF, |
|
|
|
FLD_IRR, FLD_Q,FLD_ALARM_MES_CNT,FLD_FW_VERSION,FLD_FW_BUILD_YEAR, |
|
|
|
FLD_FW_BUILD_MONTH_DAY,FLD_HW_ID,FLD_ACT_PWR_LIMIT,FLD_LAST_ALARM_CODE}; |
|
|
|
FLD_FW_BUILD_MONTH_DAY,FLD_HW_ID,FLD_ACT_PWR_LIMIT,FLD_LAST_ALARM_CODE}; |
|
|
|
|
|
|
|
const char* const fields[] = {"U_DC", "I_DC", "P_DC", "YieldDay", "YieldWeek", "YieldTotal", |
|
|
|
"U_AC", "I_AC", "P_AC", "F_AC", "Temp", "PF_AC", "Efficiency", "Irradiation","Q_AC", |
|
|
@ -97,7 +97,7 @@ const byteAssign_t InfoAssignment[] = { |
|
|
|
#define HMINFO_LIST_LEN (sizeof(InfoAssignment) / sizeof(byteAssign_t)) |
|
|
|
|
|
|
|
const byteAssign_t SystemConfigParaAssignment[] = { |
|
|
|
{ FLD_ACT_PWR_LIMIT, UNIT_VAR, CH0, 2, 2, 10 } |
|
|
|
{ FLD_ACT_PWR_LIMIT, UNIT_PCT, CH0, 2, 2, 10 } |
|
|
|
}; |
|
|
|
#define HMSYSTEM_LIST_LEN (sizeof(SystemConfigParaAssignment) / sizeof(byteAssign_t)) |
|
|
|
|
|
|
@ -122,11 +122,10 @@ const byteAssign_t hm1chAssignment[] = { |
|
|
|
{ FLD_UAC, UNIT_V, CH0, 14, 2, 10 }, |
|
|
|
{ FLD_IAC, UNIT_A, CH0, 22, 2, 100 }, |
|
|
|
{ FLD_PAC, UNIT_W, CH0, 18, 2, 10 }, |
|
|
|
{ FLD_Q, UNIT_VA, CH0, 20, 2, 10 }, |
|
|
|
{ FLD_Q, UNIT_VAR, CH0, 20, 2, 10 }, |
|
|
|
{ FLD_F, UNIT_HZ, CH0, 16, 2, 100 }, |
|
|
|
{ FLD_PF, UNIT_NONE,CH0, 24, 2, 1000 }, |
|
|
|
{ FLD_T, UNIT_C, CH0, 26, 2, 10 }, |
|
|
|
{ FLD_ALARM_MES_CNT, UNIT_NONE, CH0, 28, 2, 1 }, |
|
|
|
{ FLD_ALARM_MES_CNT, UNIT_NONE, CH0, 24, 2, 1 }, |
|
|
|
{ FLD_YD, UNIT_WH, CH0, CALC_YD_CH0, 0, CMD_CALC }, |
|
|
|
{ FLD_YT, UNIT_KWH, CH0, CALC_YT_CH0, 0, CMD_CALC }, |
|
|
|
{ FLD_PDC, UNIT_W, CH0, CALC_PDC_CH0, 0, CMD_CALC }, |
|
|
@ -156,16 +155,14 @@ const byteAssign_t hm2chAssignment[] = { |
|
|
|
{ FLD_UAC, UNIT_V, CH0, 26, 2, 10 }, |
|
|
|
{ FLD_IAC, UNIT_A, CH0, 34, 2, 100 }, |
|
|
|
{ FLD_PAC, UNIT_W, CH0, 30, 2, 10 }, |
|
|
|
{ FLD_Q, UNIT_VA, CH0, 32, 2, 10 }, |
|
|
|
{ FLD_Q, UNIT_VAR, CH0, 32, 2, 10 }, |
|
|
|
{ FLD_F, UNIT_HZ, CH0, 28, 2, 100 }, |
|
|
|
{ FLD_PF, UNIT_NONE,CH0, 36, 2, 1000 }, |
|
|
|
{ FLD_T, UNIT_C, CH0, 38, 2, 10 }, |
|
|
|
{ FLD_ALARM_MES_CNT, UNIT_NONE, CH0, 40, 2, 1 }, |
|
|
|
{ FLD_YD, UNIT_WH, CH0, CALC_YD_CH0, 0, CMD_CALC }, |
|
|
|
{ FLD_YT, UNIT_KWH, CH0, CALC_YT_CH0, 0, CMD_CALC }, |
|
|
|
{ FLD_PDC, UNIT_W, CH0, CALC_PDC_CH0, 0, CMD_CALC }, |
|
|
|
{ FLD_EFF, UNIT_PCT, CH0, CALC_EFF_CH0, 0, CMD_CALC } |
|
|
|
|
|
|
|
}; |
|
|
|
#define HM2CH_LIST_LEN (sizeof(hm2chAssignment) / sizeof(byteAssign_t)) |
|
|
|
|
|
|
@ -205,9 +202,9 @@ const byteAssign_t hm4chAssignment[] = { |
|
|
|
{ FLD_UAC, UNIT_V, CH0, 46, 2, 10 }, |
|
|
|
{ FLD_IAC, UNIT_A, CH0, 54, 2, 100 }, |
|
|
|
{ FLD_PAC, UNIT_W, CH0, 50, 2, 10 }, |
|
|
|
{ FLD_Q, UNIT_VA, CH0, 52, 2, 10 }, |
|
|
|
{ FLD_Q, UNIT_VAR, CH0, 52, 2, 10 }, |
|
|
|
{ FLD_F, UNIT_HZ, CH0, 48, 2, 100 }, |
|
|
|
{ FLD_PF, UNIT_NONE,CH0, 56, 2, 1000 }, |
|
|
|
{ FLD_PF, UNIT_PCT, CH0, 56, 2, 10 }, |
|
|
|
{ FLD_T, UNIT_C, CH0, 58, 2, 10 }, |
|
|
|
{ FLD_ALARM_MES_CNT, UNIT_NONE, CH0, 60, 2, 1 }, |
|
|
|
{ FLD_YD, UNIT_WH, CH0, CALC_YD_CH0, 0, CMD_CALC }, |
|
|
|