?? 9311fdr.h
字號:
/*------------------------------------------------------------------*/
/*模塊名稱:9311fdr.h */
/*模塊功能:電壓型饋線故障檢測 */
/*編寫日期:2005年9月 */
/*編寫者: dingding */
/*------------------------------------------------------------------*/
#ifndef DF9311FDR_H
#define DF9311FDR_H
/*------------------------------------------------------------------*/
/*--------------------------FDR常量定義-----------------------------*/
/*------------------------------------------------------------------*/
#define FDRCRC (1) //pre10ms 故障檢測周期
//參數默認設置
#define LOWULIMIT 3000 //失壓限值(伏),額定電壓的30%
#define FDRYCNUM 2 //Uab, Ucb
#define SWYKNO 1 //開關遙控號
#define SWLOCNO 2 //開關閉鎖遙控號
#define YXLOCALNO 2 //當地/遠方遙信號
#define YXRELAYNO 3 //遙控中間繼電器遙信號
#define YXLOCNO 4 //閉鎖繼電器遙信號
#define YTIME 500 //(10ms)
#define ZTIME 100 //(10ms)
#define ITIME 15 //(10ms)
#define HZFAILTIME 130 //(10ms)
#define ITIMESUM (100 / FDRCRC) //(10ms)
#define FDRRESETTIME (120 / FDRCRC) //(1s)
//參數輸入定義
#define FFDRDIR 0x01 //是否啟動方向檢測
#define FFDRDIRACT 0x02 //默認電源側順投(Uab)
#define FFDRSWTYPE 0x0C //開關類型,占兩位
#define FDRTCOMM 0x00 //00:分段開關
#define FDRTCONCT 0x04 //01:聯絡開關
#define FDRTBRANCH 0x08 //10:分支開關(暫不使用)
#define FDRTOTHER 0x0C //11:未用
#define FDRTIMEBITS 0x3F //D0~D5工作時間倍數
#define FDRMODEBITS 0xC0 //D6~D7工作模式
#define FDRMODE1 0x07
#define FDRMODE2 0x0A
#define FDRMODE3 0x0E
#define FDRMODE4 0x14
//標志定義
#define FDRENABLE 0x8000 //饋線檢測有效
//FDR運行狀態
#define RS_NORMAL 0x00 //正常
#define RS_CRITICAL 0x01 //失壓
#define RS_XTIME 0x02 //X時限內
#define RS_YTIME 0x03 //Y時限內
#define RS_LOC 0x04 //閉鎖
//FDR故障類型
#define FDR_F 0x80
#define FDR_Y 0x01
#define FDR_X 0x02
#define FDR_D 0x04
#define FDR_A 0x08
#define FDR_E 0x10
#define FDR_H 0x20
//輸出信息定義
#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
/*------------------------------------------------------------------*/
/*---------------------------數據結構定義---------------------------*/
/*------------------------------------------------------------------*/
struct FdrFeeder_t{
INT16U Flag;
INT16U Mode;
INT16U XTime;
INT16U YTime;
INT16U ZTime;
INT16U ITime;
INT16U HZFAILTime;
INT8U SwYXNo;
INT8U SwYKNo;
INT8U SwLocNo;
INT8U YKLocNo;
// INT16U YCInNo;
// INT16U YCOutNo;
INT32U LowULimit;
};
struct FDRFaultInfo_t{ //故障信息
INT16U Type;
INT16U BakType; //為復位故障時使用
INT16U TmpType;
INT16U ResetCounter; //故障信號持續時間計數器
struct AbsTime_t Time;
};
struct FdrRunInfo_t{
INT8U State;
INT8U PreState;
BOOL Temp;
BOOL FlagLoc;
INT8U SwYXVal;
INT8U SwRelayVal;
INT8U SwLocVal;
INT8U COSFlag;
INT16U Timer[5];
struct FDRFaultInfo_t FaultInfo; //紀錄故障信息
};
struct YKDelayMem{
BOOL Flag;
BOOL ON_OFF;
INT8U No;
};
struct YcResult{
BOOL FIn;
BOOL FOut;
};
/*------------------------------------------------------------------*/
/*----------------------------函數聲明------------------------------*/
/*------------------------------------------------------------------*/
void FdrTask(struct SysPort *Info);
BOOL FdrInit(void);
BOOL FdrInitRunInfo(void);
BOOL FdrRenewYx(void);
void FdrReadYc(void);
void FdrSwitchDo(INT8U No, BOOL ON_OFF);
BOOL FdrDetectLow(INT16U FDIndex, struct YcResult *Rc);
void FdrDetect(void);
void FdrDetectYX(void);
void FDRStateChange(WORD FDIndex, WORD State);
void FDRWriteInfo(INT16U FDIndex);
void FDRResetInfo(INT16U FDIndex);
INT16U FDRGetSoftBINo(INT16U *FaultType);
INT8U FDRTestValid(INT16U FDIndex, INT8U Status);
extern INT32U MyPow(INT32U x, INT32U y);
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -