📄 global.h
字号:
typedef struct{
unsigned char hour;
unsigned char day;
unsigned char chaobiaoriok;
} ZHUANCUN_TIME;
// xuliang zhuan cun qing qiu yong yu tong xun需量清零请求AAAAA
unsigned char xuliangqingling_qingqiu;
// 1 you qing qiu
/* ****************冻结模块*********************** */
/* 根据时间自动冻结,根据事件(命令)冻结数据模块中完成数据的保存及时间,以最后一次冻结为准; */
// dong jie mo kuai
// ding shi dong jie ,ming ling dong jie
// ru如有冻结请求==1
unsigned char rdongjie_qingqiu;
unsigned char dongjie_use_minute;
/* ****************瞬时量模块*********************** */
/* 在中断里面置标志,主程序读取(如果在中断时读数据,该数据有可能正在主程序中使用,
容易引起数据的冲突。) */
/* 读取的内容为功率、电压、电流、频率及功率因素、状态字。 */
// 5460 ok >2 time
//unsigned char delaynum_5460;
/* ******************通讯模块********************* */
/* 红外485通讯处理模块、命令的解释、组桢及发送中断控制、输出显示控制标志。两个串口同时支持 */
// aaa发送用奇偶校验标志AAAAA
// 485
unsigned char send4851_pry;// 0---p 1---e rs485_1
unsigned char sendremote_pry;// 0--p 1---e
unsigned char send4850_pry;// 0---p 1---e rs485_0
// ff参111111
unsigned char tongdao;
unsigned char *rbuffer;
//数传递用全局变量AAAAAAAAAA
// aaa 错峰超门限报警用AAAAAAA
unsigned char arm_cuofeng;
unsigned char bcdaddbuffer[10];
//aaaaa 90天锁定计数器用时段已编过程标志AAAAA
unsigned char shiduan_onetimeprog;
// qqqq错峰时段闭锁20天已编过程标志AAAAA
unsigned char cuofengshiduan_onetimeprog;
// qqqq错峰定值闭锁20天已编过程标志AAAAA
unsigned char cuofengvalue_onetimeprog;
// qqqq主副费率切换闭锁60天已编过程标志AAAAA
unsigned char priceyuyue_onetimeprog;
// qqqq主副错值切换时刻闭锁60天已编过程标志AAAAA
unsigned char cuofengshiduan_switch_onetimeprog;
// qqqq主副错峰定值切换闭锁20天已编过程标志AAAAA
unsigned char cuofengvalue_switch_onetimeprog;
// gai mo chong chang shu
//unsigned char qingqiu_mochong_change;
//unsigned char mochong_change[3];
// boud set
// ram
//#define r_boud 0x871
// fm
//#define fm_boud 0x871
// bo te lv 波特率,AAAA
// 临时485 1 波特率AAAAAA--quan guo use
unsigned char boud_use;// rs485_1
unsigned char boud_use_0;// rs485_0
// 0--300,1-1200,2--2400,3--4800,4--9600,5--600
unsigned char time_boud_500_use;//rs485_1
unsigned char time_boud_500_use_0;//rs485_0
// rs485_1
// value(u2c0==) when 300-------9600
const unsigned char table_u2c0_value_form_boud[]={0x1a,0x19,0x19,0x19,0x18,0x19};
// value (brg==) when 300------9600
const unsigned char table_brg_value_from_boud[]={0x40,0x40,0x20,0xf,0x40,0x81};//7
// rs485_0
// value(u2c0==) when 300-------9600
const unsigned char table_u0c0_value_form_boud[]={0x1a,0x19,0x19,0x19,0x18,0x19};
// value (brg==) when 300------9600
const unsigned char table_brg_value_from_boud_0[]={0x40,0x40,0x20,0xf,0x40,0x81};//7
// fa song发送完成应显示的信息。llllllllll
// QUAN GUO GUI YUE ONE DAY ONE TIME USE
// fm only minute--hour---DAY--MONTH--YEAR
unsigned char info_send_end_display;
unsigned char RSTATUS_485_1;// rs485_1 tong dao 1
unsigned char RSTATUS_485_0;// rs485_0 tong dao 2
#define START 0
#define REC 1
#define RERR 3 // must yu zhang ji tong
#define SEND 2
unsigned char RCOMM1_TIMER; //jie shou chao shi ji shi qirs485_1
#define MAX_R_485_1_TIMER 30 //JIE SHOU CHAO SHI ZUI DA ZHI 50
unsigned char RCOMM0_TIMER; //jie shou chao shi ji shi qirs485_0
#define MAX_R_485_0_TIMER 30 //JIE SHOU CHAO SHI ZUI DA ZHI 50
unsigned char RSEND1_DELAY_TIMER; //fa song yan shi ji shi qirs485_1
unsigned char RSEND0_DELAY_TIMER; //fa song yan shi ji shi qirs485_0
#define const_senddelay 10;//10//50 //fa song yan shi chang liang
unsigned char RLEN_485_R_BUFFER_1;// rs485_1
unsigned char RLEN_485_R_BUFFER_0;// rs485_0
#define MAX_R_485_1 219
#define MAX_R_485_0 219
unsigned char RPROTOCOL_485_1;//rs485_1
unsigned char RPROTOCOL_485_0;//rs485_0
#define PROTOCOL_START 0
#define ZHEJIANG 1
#define QUANGUO 2
#define HUALONG 3
#define QUANGUOZHEJIANG 4
unsigned char RCURRENTADDR_485_R_BUFFER_1;//rs485_1
unsigned char RLEN_485_T_BUFFER_1;// rs485_1
unsigned char RCURRENTADDR_485_T_BUFFER_1;//rs485_1
unsigned char RRBUFFER_485_1[225];// rs485_1
unsigned char RCURRENTADDR_485_R_BUFFER_0;//rs485_0
unsigned char RLEN_485_T_BUFFER_0;// rs485_0
unsigned char RCURRENTADDR_485_T_BUFFER_0;//rs485_0
unsigned char RRBUFFER_485_0[225];// rs485_0
//以下定义通讯发送启动标志位
struct bit_COMM {
unsigned char b0:1;
unsigned char b1:1;
unsigned char b2:1;
unsigned char b3:1;
unsigned char b4:1;
unsigned char b5:1;
unsigned char b6:1;
unsigned char b7:1;
};
union byte_COMM{
struct bit_dis bit;
unsigned char byte;
};
union byte_COMM COMM_USE0;
#define RFLAG_SEND1_START COMM_USE0.bit.b0// rs485_1
#define RFLAG_SEND0_START COMM_USE0.bit.b2// rs485_0
unsigned char RDISPLAY_4851INFO_STATUS; //YONG YU PAN DUAN SHI FOU CHANG SHENG XIAN SHI XIN XI YONGrs485_1
unsigned char RDISPLAY_4850INFO_STATUS; //YONG YU PAN DUAN SHI FOU CHANG SHENG XIAN SHI XIN XI YONGrs485_0
#define INFO_START 0 // kai shi zhuang tai
#define INFO_ME 1 //WHEN ADDRESS is me
#define INFO_GUANGBO 2 //GUANG BO JIAO SHI
// hong wai chao shi ji shu qi
unsigned char yaokong_chaoshi_timer;
#define max_yaokong_chaoshi_timer 20 // 50 tong 485
// jie shou红外接收AAAAAA
unsigned char RREMOTE_HUALONG_BUFFER[225]; // zhe jiang quan guo tong yong
unsigned char RLEN_REMOTE_HUALONG; // zhe jiang quan guo tong yong
#define MAX_RLEN_REMOTE_HUALONG 219 // zhe jiang quan guo tong yong
unsigned char RREMOTE_YAOKONG_BUFFER[20]; //[9]=1 you xiao [6] mazhi
unsigned char RLEN_REMOTE_YAOKONG;
#define MAX_RLEN_REMOTE_YAOKONG 5;
// fa 红外发送的长度及BUFFERADDR
unsigned char RLEN_REMOTE_T_BUFFER;
unsigned char RCURRENTADDR_REMOTE_T_BUFFER;
//LUN 轮流发送标志0---485--1,1 REMOTE——T
//unsigned char RPOINT_SEND_485_REMOTE;
unsigned char RSEND_REMOTE_DELAY_TIMER; //fa song yan shi ji shi qi(HONG WAI)
// HONG WAI FA SONG BIAO ZI
#define RFLAG_SEND_REMOTE_START COMM_USE0.bit.b1
// h 红外 掌机 通讯当前规约。nei rong tong 485(wu dandu zhejiang quanguo)
unsigned char RPROTOCOL_REMOTE_1;
// h 红外 掌机 通讯当前最大超时ppp
#define MAX_R_REMOTE_TIMER 50
// h 红外 掌机 通讯当前超时计时器ppp
unsigned char RREMOTE_TIMER;
// zhang ji ben ji zhi shi TONG 485_1
unsigned char RDISPLAY_REMOTEINFO_STATUS; //YONG YU PAN DUAN SHI FOU CHANG SHENG XIAN SHI XIN XI YONG
unsigned char remote_status;
#define remote_phase_start 0
#define remote_phase_hualong 1
#define remote_phase_yaokong 2
#define remote_phase_err 3 // must yu 485_1 tong ying wei gong yong tong dao chu li
// add 2003 zhen jia (quan guo), (zhe jiang)gui yue tong xun
#define remote_phase_zhejiang_quanguo 4
//TIAN JIA发送壮态AAAAAA
#define remote_phase_send 5
unsigned char remote_status_start;
#define remote_start_1 0 // start bit
#define remote_start_2 1 // date first bit
#define remote_start_3 2// rec 8 bit date
#define remote_start_4 3 // rec check bit
#define remote_start_5 4 // empty bit (value=1)
unsigned char remote_status_hualong;
#define REMOTE_HUALONG_1 0// empty
#define REMOTE_HUALONG_2 1// rec start bit
#define REMOTE_HUALONG_3 2// rec 8bit date
#define REMOTE_HUALONG_4 3// rec check bit
#define REMOTE_HUALONG_5 4//stop bit
// yao kong qi shi xu zhuang tai fen jie
unsigned char remote_status_yaokong;
#define REMOTE_YAOKONG_3617 0// judge start code or end code
#define REMOTE_YAOKONG_225 1// start code
#define REMOTE_YAOKONG_1125a 2
#define REMOTE_YAOKONG_1125b 3
#define REMOTE_YAOKONG_2000 4
// add 2003 zhen jia (quan guo), (zhe jiang)gui yue tong xun
unsigned char remote_status_zhejiang_quanguo;
#define remote_zhejiang_quanguo_1 0// empty
#define remote_zhejiang_quanguo_2 1// start bit 0
#define remote_zhejiang_quanguo_3 2// rec 8 bit date
#define remote_zhejiang_quanguo_4 3// rec check bit
#define remote_zhejiang_quanguo_5 4//rec stop bit
// YAO 遥控处于接收状态计时AAAA 300
unsigned char rtime_yaokong_rec;
#define max_time_rec_yaokong 50
//ying tian jia chao shi ji shu qi
//zai cheng xu de ge ge bu feng
unsigned char len_bit_remote;
unsigned char len_bit_youxiao;
struct bit_remote{
unsigned char b0:1;
unsigned char b1:1;
unsigned char b2:1;
unsigned char b3:1;
unsigned char b4:1;
unsigned char b5:1;
unsigned char b6:1;
unsigned char b7:1;
};
union byte_remote{
struct bit_remote bit;
unsigned char byte;
};
union byte_remote remote_rec;
union byte_remote remote_rec1;
union byte_remote remote_rec2;
//duo key he chao shi ji shu qi
unsigned char RYAOKONG_DUOJIAN_TIMER;
//多键状态
unsigned char RSTATUS_DUOJIAN;
#define NODUOJIAN 0
#define DUOJIAN_1 1
#define DUOJIAN_2 2
#define DUOJIAN_3 3
#define DUOJIAN_4 4
#define DUOJIAN_5 5
#define DUOJIAN_6 6
#define DUOJIAN_7 7
#define DUOJIAN_8 8
unsigned RDUOJIAN_SECOND; //多键程序用秒钟,用于产生秒到处理
//多键保持时间
#define DUOJIAN_TIME_VALUE 10
///////////////////////////////////////////////////////////
//NO CHANGED 2003-3-12
/* ****************电量计算模块*********************** */
/* 根据中断中得到的电量增加标志,计算当前各电量值,同时完成及判断数据的转存,本模块预留视在电量计量模块 */
struct bit_dianliang {
unsigned char b0:1;
unsigned char b1:1;
unsigned char b2:1;
unsigned char b3:1;
unsigned char b4:1;
unsigned char b5:1;
unsigned char b6:1;
unsigned char b7:1;
};
union byte_dianliang{
struct bit_dianliang bit;
unsigned char byte;
};
union byte_dianliang Dianliang1;
union byte_dianliang Dianliang2;
unsigned int RKWH_F_COUNT; // zhen xian 正向有功电量脉冲计数器ppppp
unsigned int RKWH_R_COUNT; // fan xian 反向有功电量脉冲计数器ppppppp
unsigned int RKVARH_F_COUNT; // zhen xian 正向无功电量脉冲计数器oooooooo
unsigned int RKVARH_R_COUNT; // zhen xian 正向无功电量脉冲计数器ooooooooo
unsigned int RKVARH_1_COUNT; // 1XUAN XIANG 1象限无功脉冲计数器.oooooooooo
unsigned int RKVARH_2_COUNT; // 2XUAN XIANG 2象限无功脉冲计数器.oooooooo
unsigned int RKVARH_3_COUNT; // 3XUAN XIANG 3象限无功脉冲计数器.oooooooo
unsigned int RKVARH_4_COUNT; // 4XUAN XIANG 4象限无功脉冲计数器.ooooooooo
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -