📄 smart.h
字号:
int baohu_flag=0;
/* 保护压板 */
unsigned int MSKG_YaBan=0; /* 模式选择选择压板 */
unsigned int FBMSKG_YaBan=0; /* 分布模式控制字 */
unsigned int FDLLXuanZe_YaBan=0; /* 分段联络选择压板 */
unsigned int GLSD_YaBan=0; /* 速断保护投退压板 */
unsigned int GLYSD_YaBan=0; /* 延时速断保护投退压板 */
unsigned int GLDSD_YaBan=0; /* 定时限过流保护投退压板 */
unsigned int JSIID_YaBan=0; /* 加速II段投退压板 */
unsigned int JSIIID_YaBan=0; /* 加速III段投退压板 */
unsigned int DLIIIDFYS_YaBan=0; /* 电流三段定时限时间选择压板 */
unsigned int DLIIIFYS_YaBan=0; /* 电流三段反时限时间选择压板 */
unsigned int LXSD_YaBan=0; /* 零序速断保护投退压板 */
unsigned int LXYSD_YaBan=0; /* 延时零序速断保护投退压板 */
unsigned int LXIIIDFYS_YaBan=0; /* 零序三段定时限时间选择压板 */
unsigned int LXIIIFYS_YaBan=0; /* 零序三段反时限时间选择压板 */
unsigned int PLZIY_YaBan=0; /* 频率自适应选择压板 */
unsigned int ZDXSJZ_YaBan=0; /* 自动校正选择压板 */
unsigned int Chzci_DingZhi=0; /* 重合闸次数定值 */
unsigned int ChzBDYQiDong_YaBan=0; /* 不对应启动压板 */
/* 保护定值 */
unsigned int BHYanBan1; /* 保护压板控制字1 */
unsigned int BHYanBanF1;
unsigned int BHYanBan2; /* 保护压板控制字2 */
unsigned int BHYanBanF2;
unsigned long int DLSDHDingZhi; /* 速断保护电流定值 */
unsigned long int DLYSDHDingZhi; /* 延时速断保护电流定值 */
unsigned long int DLDSDHDingZhi; /* 定时限过流保护电流定值 */
unsigned long int DLSDSDingZhi; /* 速断保护时间定值 */
unsigned long int DLYSDSDingZhi; /* 延时速断保护时间定值 */
unsigned long int DLDSDSDingZhi; /* 定时限过流保护时间定值 */
unsigned long int HJSYXSDingZhi; /*后加速允许保持时间*/
unsigned long int HJSTZSDingZhi; /* 后加速跳闸时间定值 */
unsigned int GLFSXCSDingZhi; /* 反时限过流常数曲线选择 */
unsigned long int LXSDHDingZhi; /* 零序速断保护电流定值 */
unsigned long int LXSDSDingZhi; /* 零序速断保护时间定值 */
unsigned long int LXYSDHDingZhi; /* 延时零序速断保护电流定值 */
unsigned long int LXYSDSDingZhi; /* 延时零序速断保护时间定值 */
unsigned long int LXGSDHDingZhi; /* 定时限零序保护电流定值 */
unsigned long int LXGSDSDingZhi; /* 定时限零序保护时间定值 */
unsigned int LXFSXCSDingZhi; /* 反时限零序过流曲线选择 */
unsigned long int ChzYanShi_DingZhi1; /* 重合闸定时时间1 */
unsigned long int ChzYanShi_DingZhi2; /* 重合闸定时时间2 */
unsigned long int ChzYanShi_DingZhi3; /* 重合闸定时时间3 */
unsigned long int FHZShuChu_MaiKuan; /* 分合闸输出脉冲宽度时间定值 */
unsigned long int XDLYXQDDingZhi; /* 相电流有效值启动定值 */
unsigned long int ChzBiSuo_T; /* 重合闸闭锁时间定值 */
unsigned long int GZGLDLDingZhi; /* 故障隔离电流定值 */
unsigned long int GZGLWLDingZhi; /* 故障隔离无流定值 */
unsigned long int GZGLYanShi_DingZhi1; /* 故障隔离时间定值1 */
unsigned long int GZGLYanShi_DingZhi2; /* 故障隔离时间定值2 */
unsigned long int GZGLYanShi_DingZhi3; /* 故障隔离时间定值3 */
/* 平方值 */
unsigned long int DLSDHDingZhi2; /* 速断保护电流定值的平方 */
unsigned long int DLYSDHDingZhi2; /* 延时速断保护电流定值的平方 */
unsigned long int DLDSDHDingZhi2; /* 定时限过流保护电流定值的平方 */
unsigned long int GLFSXJZDingZhi2; /* 反时限过流基准值平方 */
unsigned long int LXSDHDingZhi2; /* 零序速断保护电流定值的平方 */
unsigned long int LXYSDHDingZhi2; /* 延时零序速断保护电流定值的平方 */
unsigned long int LXGSDHDingZhi2; /* 定时限零序保护电流定值的平方 */
unsigned long int LXDLQDDingZhip2; /* 零序反时限过流保护启动电流定值平方 */
unsigned long int LXGLFSXJZDingZhi2;/* 反时限零序过流基准值平方 */
unsigned long int XDLYXQDDingZhi2; /* 相电流有效值启动定值 */
unsigned long int GZGLYYDingZhi2; /* 故障隔离有压定值 */
unsigned long int GZGLWLDingZhi2; /* 故障隔离无流定值 */
unsigned long int GZGLWYDingZhi2; /* 故障隔离无压定值 */
/* 返回值 */
unsigned long int DLSDHFanHuiZhi; /* 速断保护电流返回值 */
unsigned long int DLYSDHFanHuiZhi; /* 延时速断保护电流返回值 */
unsigned long int DLDSDHFanHuiZhi; /* 定时限过流保护电流返回值 */
unsigned long int LXSDHFanHuiZhi; /* 零序速断保护电流返回值 */
unsigned long int LXYSDHFanHuiZhi; /* 延时零序速断保护电流返回值 */
unsigned long int LXGSDHFanHuiZhi; /* 定时限零序保护电流返回值 */
unsigned long int GLFSXMDingZhi1; /* 反时限过电流中间定值1 */
unsigned long int GLFSXMDingZhi2; /* 反时限过电流中间定值2 */
unsigned long int GLDLFHDingZhi; /* 反时限过流保护返回电流定值1 */
unsigned long int GLDLFHDingZhi2; /* 反时限过流保护返回电流定值2 */
unsigned long int LXFSXMDingZhi1; /* 零序反时限过电流中间定值1 */
unsigned long int LXFSXMDingZhi2; /* 零序反时限过电流中间定值2 */
unsigned long int LXDLFHDingZhi1; /* 零序反时限过流保护返回电流定值1 */
unsigned long int LXDLFHDingZhi2; /* 零序反时限过流保护返回电流定值2 */
unsigned long int GLDLQDDingZhip; /* 反时限过流保护启动电流定值的平方 */
unsigned long int LXDLQDDingZhip; /* 反时限零序过流保护启动电流定值的平方 */
unsigned long int FSdYanShi_time; /* 反时限过流保护定时器lgc0507 */
unsigned long int FSdYanShi_oldtime;
unsigned long int LXGSdYanShi_time; /* 定时限零序过流保护定时器lgc0507 */
unsigned long int YSdYanShi_time; /* 延时速断保护定时器 */
unsigned long int DSdYanShi_time; /* 定时限过流保护定时器 */
unsigned long int LXYSdYanShi_time; /* 延时零序速断保护定时器 */
unsigned long int LXGSdYanShi_time; /* 定时限零序过流保护定时器 */
unsigned long int LXFSdYanShi_time; /* 零序反时限过流保护定时器 */
unsigned long int GZGLShi_timer1; /* 故障隔离时间定时器1 */
unsigned long int GZGLShi_timer2; /* 故障隔离时间定时器2 */
unsigned long int GZGLShi_timer3; /* 故障隔离时间定时器3 */
unsigned long int ChzYanShi_time; /* 重合闸时间定时器*/
unsigned long int ChzBiSuo_time; /* 重合闸闭锁定时器 */
unsigned long int HjsYouXiao_time; /* 后加速允许时间定时器 */
unsigned long int HjsYs_time; /* 后加速延时时间定时器 */
unsigned long int MaiKuantimer=0;
unsigned long int CKMaiKuantimer=0;
/* 开入量 */
int FSXMflag=0;
int LXFSXMflag=0;
/* 函数定义 */
void HeFenCaoZuo(void);
void delaythree(void);
void DingZhiCRC(void);
void SCIInit();
void TimerInit();
void ADCInit();
void DSPInit(void);
void delay(int);
void softwareinit();
unsigned long ex_feedbk(unsigned long int dingzhi); /*计算过量返回值*/
void ReadBHDingZhip(void);
void WriteBHDingZhi(void);/*往EEPROM中写保护定值*/
void DingZhiXiuGai();
unsigned long int DingZhiP[38];
unsigned long int DingZhi[38];
//通讯模块定义
#define _REQUIRE 0x04
#define _COMPLETE 0xa5
void (*FuncPtr)();
void made_resetlianlu();
void made_dingzhi();
void made_endrequire();
void made_execute();
void made_cancle();
void made_choise();
void made_reset();
void made_resetcu();
void made_time();
void made_soe();
void made_statuschange();
void made_signal1();
void made_signal2();
void made_dzchenggong();
void made_dzshibai();
void made_lubo();
void made_endlianlu();
void DingZhiLoad();
void dealdata();
unsigned int isrepeat();
unsigned int isreqiredata();
unsigned int dealcommand();
void resend(void);
void made_zongzhaocom();
void made_messure3();
void made_messure2();
void made_messure1();
void made_measurechange();
void made_nodata();
void made_netstatus();
unsigned int ADC; //控制域中ADC位
unsigned int DFC;
unsigned int DCS;
unsigned int QUEST;
unsigned int ACT;
unsigned int len_flag=0;
unsigned int len=0;
unsigned int JS_counter=0;
unsigned int CSDian_flag=0;
unsigned int SOEFind_flag=0;
unsigned int TwoData_flag=0;
unsigned int DingZhiZhen_changdu,ZuHao;
unsigned int xfdzchenggong_flag;
unsigned int DingZhiXiuGai_flag[6];
unsigned int YCNum;
unsigned int cImVal[26],cImValp[26],cImValb[26];
unsigned int receive_data[256]; /* 接收缓冲区 */
unsigned int receive_datap[256];//临时接收缓冲
unsigned int senddata[256]; /* 发送缓冲区 */
unsigned int FCB; /* 控制域 */
unsigned int BS=0;
unsigned int control_flag; /* 控制状态 */
unsigned int flag_485; /* 一个完整接收——发送过程的执行状态 */
unsigned int GUreset_flag=0;
unsigned int CPUreset_flag=0x5555;
unsigned int resetcu_flag=0x5555;
unsigned int dataIndex;
unsigned int XinXiADDr;
unsigned int channel; /* 上位机遥控命令的通道号 */
unsigned int d_command_status; /* 上位机遥控命令的双点信息 */
unsigned int YaoXin[3],YaoXinp[3];
unsigned int soe_xuhao[16];
unsigned int soe_value[16];
unsigned int soe_millisecond[16];
unsigned int soe_second[16];
unsigned int soe_minute[16];
unsigned int soe_no;
unsigned int send_length=1;
unsigned int senddata_length=0;
/*-----------------------------------------------------------------------------------
I2C子程序相关定义
-------------------------------------------------------------------------------------*/
/*I2C操作*/
#define SDA_1() {PEDATDIR = PEDATDIR|0x0200;PEDATDIR = PEDATDIR|0x0002;} /* SDA_1( ) */
#define SDA_0() {PEDATDIR = PEDATDIR|0x0200;PEDATDIR = PEDATDIR&0xFFFD;} /* SDA_0( ) */
#define SCL_1() {PFDATDIR = PFDATDIR|0x0200;PFDATDIR = PFDATDIR|0x0002;} /* SCL_1( ) */
#define SCL_0() {PFDATDIR = PFDATDIR|0x0200;PFDATDIR = PFDATDIR&0xFFFD;} /* SCL_0( ) */
void writeI2C();
void readI2C();
void I2C_delay(void);
void I2CStart(void);
void I2CStop(void);
int WaitAck(void);
void SendAck(void);
void SendNotAck(void);
void I2CSendByte(int ch);
int I2CReceiveByte(void);
/*时钟*/
void SetPCF8583();
void GetPCF8583();
void PCF8583Init_time();
void SetTimeToPCF8583();
void GetTimeFromPCF8583();
unsigned int millisecond_set,millisecond_get;
unsigned int millisecond_gewei;
unsigned int millisecond_js=0;
unsigned int second_set,second_get;
unsigned int minute_set,minute_get;
unsigned int hour_set,hour_get;
unsigned int week_set,week_get;
unsigned int day_set,day_get;
unsigned int month_set,month_get;
unsigned int year_set,year_get;
unsigned int yearflag=0;
unsigned int Time[32];
/*-----------------------------------------------------------------------------------
其它子程序相关定义
-------------------------------------------------------------------------------------*/
/*延时*/
void ys(unsigned int sum);
void YaoTiaoDingZhiP(void);
void YiaoTiaoIni(void);
float Fzhzold1,Fzhzold2;
unsigned int repare_he=0x5555;
unsigned int repare_fen=0x5555;
/*-----------------------------------------------------------------------------------
测试程序相关定义
-------------------------------------------------------------------------------------*/
int qq;
void send_data(int num);
unsigned int senddata_over=0xaaaa;
int cao[50];
int tempcao=0;
//int caobak[24]={30000,37765,45000,51213,55981,58978,60000,58978,55981,51213,45000,37765,30000,22235,15000,8787,4019,1022,0,1022,4019,8787,15000,22235};
//int caobak1[24]={30000,37765,45000,51213,55981,58978,60000,58978,55981,51213,45000,37765,30000,22235,15000,8787,4019,1022,0,1022,4019,8787,15000,22235};
//int caobak[24]={30000,30776,31500,32121,32598,32897,33000,32898,32598,32121,31500,30776,30000,29224,28500,27879,27402,27102,27000,27102,27401,27879,28500,29224};
//int caobak1[24]={30000,30776,31500,32121,32598,32897,33000,32898,32598,32121,31500,30776,30000,29224,28500,27879,27402,27102,27000,27102,27401,27879,28500,29224};
int caobak[24]={30000,30155,30300,30424,30520,30580,30600,30580,30520,30424,30300,30155,30000,29844,29700,29576,29480,29420,29400,29420,29480,29576,29700,29845};
int caobak1[24]={30000,30155,30300,30424,30520,30580,30600,30580,30520,30424,30300,30155,30000,29844,29700,29576,29480,29420,29400,29420,29480,29576,29700,29845};
int testlgc=0;
int ADjgpt_pt;
int a,b;
long int tempr,tempi;
unsigned long int tempIr,tempIi;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -