⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 9311fa.h

📁 详细介绍了arm7-at91r40008,的开发全过程
💻 H
字号:
/*------------------------------------------------------------------*/
/*模块名称:fatest.h                                            	*/
/*模块功能:馈线故障检测	                               			*/
/*编写日期:2004年8月                                         		*/
/*编写者:  dingding												*/
/*------------------------------------------------------------------*/

#ifndef DF9311FA_H
#define DF9311FA_H

/*------------------------------------------------------------------*/
/*---------------------------FA常量定义-----------------------------*/
/*------------------------------------------------------------------*/
//Cycle
#define FACYC			(1)				//pre10ms 故障检测周期

#define CHINESEINFO			//中文显示信息

#define CLRRECLOSETIME	(300/FACYC)		//3s 清重合闸标志时间
#define IDLECONFTIME	(6000/FACYC)	//60s 确认空闲状态
#define CONFDELAYTIME	(10/FACYC)		//100ms 重合到故障上延时动作时间
#define TESTCONFTIME	(4)				//2S 测试故障检测确认时间

#define BOUND			3				//默认三相

//RunState
#define RS_NORMAL		0x01	//正常态
#define RS_QNOUI		0x02	//检测无流无压态
#define RS_NOUI			0x03	//无流无压态
#define RS_QOVERI		0x04	//检测过流态
#define RS_IDLE			0x05	//空闲态
#define RS_IOVERLIMIT	0x06	//电流超限值态
#define RS_QRECOVERY	0x07	//检测系统恢复态
#define RS_QBREAKER		0x08	//检测断路器态
#define RS_BREAKEROP	0x09	//断路器跳开态
#define RS_QBREAKERREC	0x0A	//检测断路器恢复态
#define RS_LOCKOUT		0x0B	//重合闸闭锁
#define RS_MAGRESTRAINT	0x0C	//励磁涌流屏蔽态

//FaultCfg
#define FAC_OVERD			0x01	//过流检测
#define FAC_SHORTD			0x02	//短路检测
#define FAC_DXJD			0x04	//单相接地检测
#define FAC_NOU_TRIP		0x08	//过流(短路)失压跳闸
#define FAC_TWONOU_TRIP		0x10	//变电站一次重合闸失败后跳闸(二次过流失压后跳闸)
#define FAC_OVER_TRIP		0x20	//过流(短路)跳闸
#define FAC_KG_PROTECT		0x40	//开关保护
#define FAC_RECLOSE			0x80	//一次重合闸
#define FAC_COS				0x100	//故障事项COS表示
#define FAC_SOE				0x200	//故障事项SOE表示
#define FAC_NOPT			0x400	//不检测电压(无PT)
#define FAC_XJD				0x800	//小接地电流系统 <-> 大接地电流系统     
#define FAC_XLZERO			0x1000	//线路零序(接在B项) <-> 自产零序
#define FAC_ZEROOVERD		0x2000	//零序过流检测
#define FAC_ZEROSHORTD		0x4000	//零序短路检测


//FaultType
#define FAT_A				0x0001  //A相
#define FAT_B				0x0002  //B相
#define FAT_C				0x0004  //C相
#define FAT_ZERO			0x0008	//零序
#define FAT_FOREVER			0x0010  //永久性故障
//#define FAT_OVERI			0x0020  //过流         


//输出信息定义
#define FAENBLE		0x00
#define FATRIP		0x01
#define FARECLOSE	0x02
#define FAFAULTD	0x03
#define FAAFOREVER	0x04
#define FABFOREVER	0x05
#define FACFOREVER	0x06
#define FAOFOREVER	0x07
#define FAAINSTANT	0x08
#define FABINSTANT	0x09
#define FACINSTANT	0x0A
#define FAOINSTANT	0x0B

/*------------------------------------------------------------------*/
/*---------------------------CN常量定义-----------------------------*/
/*------------------------------------------------------------------*/
#define CNDELAY		20		//延时200MS动作
#define CNCOUNT		3		//储能动作最大次数

/*------------------------------------------------------------------*/
/*----------------------FA运行中的数据结构定义----------------------*/
/*------------------------------------------------------------------*/
struct Feeder_t{			//馈线信息
 	INT16U	FACfg;	
	INT8U	Control;
	INT8U	Yxzt;
	INT8U	Yxzt2;			//为双遥信准备
	INT8U	FaultBI;
	INT8U	YkH;
	INT8U	YkF;
}; 

struct LimitValue_t{   		//任一馈线的故障限值数据结构
	INT32U	OverLimit;		//过流限值
	INT32U	ShortLimit;		//短路限值
	INT32U	ZeroOverLimit;	//零序过流限值
	INT32U	ZeroShortLimit;	//零序短路限值
	INT32U	ReturnULimit;	//得压限值
	INT32U	LowULimit;		//失压限值
	INT32U	LowILimit;		//失流限值
};

struct FaultInfo_t{  		//故障信息
	INT16U	Type;			
	INT16U	BakType;		//为复位故障时使用
	INT16U	TmpType;
	INT16U  ResetCounter;	//故障信号持续时间计数器
	struct AbsTime_t Time;	
}; 

struct FDRunInfo_t{			//馈线运行信息
	INT16U	UStartNo;
	INT16U	IStartNo;
	INT16U	FaultBound;
	BOOL	FDetectPT;		//是否有PT
	BOOL	FDetectU;		//是否需要检测电压
	
	INT8U	RunState;		//运行状态
	BOOL	FTransient;		//发生瞬间故障
	BOOL	NeedReclose;
	BOOL	HaveReclose;
	INT16U	Timer[4];
	struct	FaultInfo_t FaultInfo;		//纪录故障信息
	
	INT16U	OverIConfTimeLimit;			//pre FACYC
	INT16U	ShortIConfTimeLimit;		//pre FACYC
	INT16U	ZeroOverIConfTimeLimit;		//pre FACYC
	INT16U	ZeroShortIConfTimeLimit;	//pre FACYC
	INT16U	OverLimitResConfTimeLimit;	//pre FACYC
	INT16U	SwitchDoConfTimeLimit;		//pre FACYC
	INT16U	LowUIConfTimeLimit;			//pre FACYC
	INT16U	MagneticTimeLimit;			//pre FACYC
	INT16U	HaveUReCloseTimeLimit;		//pre FACYC
	INT16U	ReCloseSuccConfTimeLimit;	//pre FACYC
	INT16U	ReCloseLockConfTimeLimit;	//pre FACYC
	INT16U	LowUIResConfTimeLimit;		//pre FACYC
	INT16U	FAInfoResetTimeLimit;		//pre 1S
};

struct YKDelayMem{
	BOOL	Flag;
	BOOL	ON_OFF;
	INT16U	FDIndex;
};

/*------------------------------------------------------------------*/
/*----------------------CN运行中的数据结构定义----------------------*/
/*------------------------------------------------------------------*/
struct CNInfo{
	INT8U	Delay;
	INT8U	CNCount;
};

/*------------------------------------------------------------------*/
/*----------------------------函数声明------------------------------*/
/*------------------------------------------------------------------*/
void FATask(struct SysPort *Info);
BOOL InitFAPara(void);
void FaultDetect(void);
void StateChange(WORD FDIndex, WORD State);
BOOL SetFaFeeder(INT8U i);
BOOL SetFaLimitT(INT8U i);
BOOL SetFaLimitV(INT8U i);
void ReadYc(void);
BOOL DetectLow(INT16U FDIndex, BOOL TypeU, BOOL TypeI);
BOOL DetectOverI(INT16U FDIndex, INT16U IType, BOOL SetFlag, BOOL *FAType);
BOOL DetectUOK(INT16U FDIndex, BOOL Type);
void Reclose(INT16U FDIndex);
void CheckReClose(void);
void SwitchDo(INT16U FDIndex, BOOL ON_OFF);
void WriteFaultInfo(INT16U FDIndex, BOOL Forever);
void ResetFaultInfo(INT16U FDIndex);
INT16U GetSoftBINo(INT16U *FaultType);
void FATest(void);


#ifdef FUNCTION_CN
void CNTask(void);
BOOL CheckKGZT(INT16U FDIndex);
void ReclosePL(INT16U FDIndex);
#endif

#endif


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -