📄 9311fa.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 + -