📄 zhejiang.h
字号:
// zhe jiang gui yue
const unsigned char table_zhejiang_read_kkwh_kw[][3]=
// command low sendaddr num
{
{00,00,156+10},// changed
{0x10,00,21},
{0x11,00,04},
{0x12,04,04},
{0x13,0x08,04},
{0x14,12,04},
{0x15,16,04},
{0x20,21,21},
{0x21,21,04},
{0x22,25,04},
{0x23,29,04},
{0x24,33,04},
{0x25,37,04},
{0x30,42,21},
{0x31,42,04},
{0x32,46,04},
{0x33,50,04},
{0x34,54,04},
{0x35,58,04},
{0x40,63,21},
{0x41,63,04},
{0x42,67,04},
{0x43,71,04},
{0x44,75,04},
{0x45,79,04},
{0x50,84,36},
{0x51,84,0x07},
{0x52,91,0x07},
{0x53,98,0x07},
{0x54,105,0x07},
{0x55,112,0x07},
{0x60,120,36},
{0x61,120,0x07},
{0x62,127,0x07},
{0x63,134,0x07},
{0x64,141,0x07},
{0x65,148,0x07}
};
void ram_kva_to_point_with_ed(addr,point)
unsigned char *addr;
unsigned char *point;
// one block+0xed
{unsigned char l;
for(l=0;l<7;l++)
{
*(point+l)=*(addr+l);// zong
*(point+l+7)=*(addr+l+14);// feng
*(point+l+14)=*(addr+l+21);//ping
*(point+l+21)=*(addr+l+28);//gu
*(point+l+28)=*(addr+l+7);//jian
}
*(point+35)=0xed;
}
void ram_kwh_kva_set_ed(point)
unsigned char *point;
{unsigned char l;
for(l=0;l<4;l++)
{
ram_kwh_to_point_with_ed(&RAM[R_KWH_F_BAKA+20*l],point+21*l);
}
ram_kva_to_point_with_ed(&RAM[R_KW_F],point+84);
ram_kva_to_point_with_ed(&RAM[R_KW_F+35],point+84+36);
}
unsigned char eeprom_kwh_kva_set_ed(unsigned char *point)
{unsigned char l,value;
unsigned int g3;
// shang yue dian liang
value=0;
g3=current_twobiaofm_block_addr(TYPE_EP1_HISTROY_KWH,0);
if(g3!=0xffff)
{
data_addr.addri=g3;
if(1==read(EP1,80))
{
for(l=0;l<4;l++)
ram_kwh_to_point_with_ed(&wr_data[20*l],point+21*l);
data_addr.addri=current_twobiaofm_block_addr(TYPE_EP1_HISTROY_KW,0);
if(data_addr.addri!=0xffff)
{
if(1==read(EP1,70))
{
ram_kva_to_point_with_ed(&wr_data[0],point+84);
ram_kva_to_point_with_ed(&wr_data[35],point+84+36);
value=1;
}
}
}
}
return value;
}
// dian lu ji lu
void ram_33_lostv_to_point_with_ed(point)
unsigned char *point;
{unsigned char l;
for(l=0;l<3;l++)
{
*(point+l)=RAM[R_LOSTV_TIME+l];// zon
*(point+l+3)=RAM[R_LOSTV_A_TIME+l];// a
*(point+l+6)=RAM[R_LOSTV_B_TIME+l]; // b
*(point+l+9)=RAM[R_LOSTV_C_TIME+l]; // c
}
for(l=0;l<4;l++)
{
*(point+l+12)=RAM[R_LOSTV_A_KWH_F+l]; // a kwh
*(point+l+16)=RAM[R_LOSTV_B_KWH_F+l]; // bkwh
*(point+l+20)=RAM[R_LOSTV_C_KWH_F+l]; // c kwh
}
if(RFLAG_STATUS_BATTERY==1)
*(point+24)=0x99;
else
*(point+24)=0;
*(point+25)=0xed;
}
void ram_34_lostv_to_point_with_ed(point)
unsigned char *point;
{unsigned char l;
for(l=0;l<3;l++)
{
*(point+l)=RAM[R_LOSTV_TIME+l];// zon
*(point+l+3)=RAM[R_LOSTV_A_TIME+l];// a
*(point+l+6)=RAM[R_LOSTV_B_TIME+l]; // b
*(point+l+9)=RAM[R_LOSTV_C_TIME+l]; // c
}
for(l=0;l<10;l++)
bcdaddbuffer[l]=0;
for(l=0;l<4;l++)
bcdaddbuffer[l+1]=RAM[R_LOSTV_A_KWH_F+l];
for(l=0;l<4;l++)
bcdaddbuffer[l+5+1]=RAM[R_LOSTV_B_KWH_F+l];
byte5_bcdadd_byte5();
for(l=0;l<4;l++)
bcdaddbuffer[l+5+1]=RAM[R_LOSTV_C_KWH_F+l];
byte5_bcdadd_byte5();
for(l=0;l<4;l++)
*(point+l+12)=bcdaddbuffer[l+1]; // 1kwh changed
// 2
for(l=0;l<10;l++)
bcdaddbuffer[l]=0;
for(l=0;l<4;l++)
bcdaddbuffer[l+1]=RAM[R_LOSTV_AB_KWH_F+l];
for(l=0;l<4;l++)
bcdaddbuffer[l+5+1]=RAM[R_LOSTV_AC_KWH_F+l];
byte5_bcdadd_byte5();
for(l=0;l<5;l++)
bcdaddbuffer[l+5+1]=RAM[R_LOSTV_BC_KWH_F+l];
byte5_bcdadd_byte5();
for(l=0;l<4;l++)
*(point+l+16)=bcdaddbuffer[l+1]; // 1kwh changed
*(point+20)=0xba; // c kwh
if(RFLAG_STATUS_BATTERY==1)
*(point+21)=0x99;
else
*(point+21)=0;
*(point+22)=0xed;
}
const unsigned char table_zhejiang_read_300_33[][4]=
{// low command addr num kongfou 0 you 1--kong
{00,00,26,0},
{0x10,00,26,0},
{0x11,00,3,0},
{0x12,3,3,0},
{0x13,0x6,3,0},
{0x14,0x9,3,0},
{0x15,12,4,0},
{0x16,16,4,0},
{0x17,20,4,0},
{0x18,24,1,0}
};
const unsigned char table_zhejiang_read_300_34[][4]=
{// low command addr num kongfou 0 you 1--kong
{00,00,23,0},
{0x10,00,23,0},
{0x11,00,3,0},
{0x12,3,3,0},
{0x13,0x6,3,0},
{0x14,0x9,3,0},
{0x15,12,4,0},
{0x16,16,4,0},
{0x17,20,1,1},
{0x18,21,1,0}
};
// shun shi liang 400
void zhe_set_v_i(addr,point)// 0 dot 1 v
unsigned char *point;
unsigned int addr;
{
*point=(RAM[addr+1]>>4)+(RAM[addr+2]<<4);
*(point+1)=(RAM[addr+2]>>4)+(RAM[addr+3]<<4);
}
void ram_400_use(unsigned char *point)
{
unsigned char l;
if((0x80&status_5460_0)==0)// kw
{// +
for(l=0;l<3;l++)
{
*(point+l)=RAM[R_KW_Z+1+l];
*(point+l+3)=0;
}
}
else// -
{
for(l=0;l<3;l++)
{
*(point+l)=0;
*(point+l+3)=RAM[R_KW_Z+1+l];
}
}
if((0x8&status_5460_0)==0)// kvar
{// +
for(l=0;l<3;l++)
{
*(point+l+6)=RAM[R_KVAR_Z+1+l];
*(point+l+3+6)=0;
}
}
else// -
{
for(l=0;l<3;l++)
{
*(point+l+6)=0;
*(point+l+3+6)=RAM[R_KVAR_Z+1+l];
}
}
}
void ram_400_set_ed_33(unsigned char *point)
{//unsigned char l;
//if((0x80&status_5460_0)==0)// zhen xiang you gong
// {
// for(l=0;l<3;l++)
//{
// *(point+l)=RAM[R_KW_Z+1+l];
//*(point+l+3)=0;
//}
// }
//else// fan xiang
//{
//for(l=0;l<3;l++)
//{
// *(point+l)=0;
//*(point+l+3)=RAM[R_KW_Z+1+l];
//}
//}
// wugong
//if((0x8&status_5460_0)==0)
//{// +
//for(l=0;l<3;l++)
//{
// *(point+l+6)=RAM[R_KVAR_Z+1+l];
// *(point+l+3+6)=0;
//}
//}
//else// -
// {
//for(l=0;l<3;l++)
//{
//*(point+l+6)=0;
//*(point+l+3+6)=RAM[R_KVAR_Z+1+l];
//}
//}
ram_400_use(point);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -