| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- /******************************************************************************
- 版权所有:
- 文件名称: oc.h
- 文件版本: 01.01
- 创建作者: xxxxxx
- 创建日期: 2012-03-28
- 功能说明: 过流保护头文件
- 其它说明:
- 修改记录:
- */
- #ifndef _OC_H
- #define _OC_H
- /*------------------------------- 头文件 --------------------------------------
- */
- /*------------------------------- 宏定义 --------------------------------------
- */
- /*------------------------------ 类型结构 -------------------------------------
- */
- // 电流保护标志
- typedef union UOCFLAG
- {
- DWORD wfFlag;
- struct
- {
- DWORD bIaQD : 1; // A相过流启动
- DWORD bIbQD : 1; // B相过流启动
- DWORD bIcQD : 1; // C相过流启动
- DWORD bIaxb : 1; // A相谐波闭锁启动
- DWORD bIbxb : 1; // B相谐波闭锁启动
- DWORD bIcxb : 1; // C相谐波闭锁启动
- DWORD bQD : 1; // 启动
- DWORD bGj : 1; // 告警
- DWORD bTz : 1; // 跳闸
- DWORD bXBbs : 1; // 谐波闭锁
- DWORD bBSCH : 1; // 闭锁重合
- DWORD bCYL : 1; // 曾有流
- DWORD bTripBak : 1; // 跳闸动作备份
- DWORD bTzhold : 1; // 暂时没使用
- DWORD bJSBC : 1; // 加速保持
- DWORD bDzLed : 1; // 动作灯
- DWORD bGjLed : 1; // 告警灯
- DWORD bQDWave : 1; // 幅值启动时,启动录波标志
- DWORD bddyQD : 1; // 低电压启动
- DWORD bGjEvent : 1; // 告警记录及led
- DWORD bTzEvent : 1; // 跳闸记录及led
- } bFlag;
- } UOCFLAG;
- /*------------------------------ 变量声明 -------------------------------------
- */
- enum
- {
- BH_GL1 = 0, // 过流1段
- BH_GL2, // 过流2段
- BH_GL3, // 过流3段
- BH_LX1, // 零序1段
- BH_LX2, // 零序2段
- BH_LX3, // 零序3段
- BH_GLJS, // 过流加速段
- BH_LXJS, // 零序加速段
- FA_GL, // FA相间故障I段
- FA_GL_II, // FA相间故障II段
- FA_LX, // FA零序故障
- FA_GL2, // FA相间告警
- FA_LX2, // FA零序告警
- FA_DLBS, // 大电流闭锁
- BH_DLBS, // 常规保护大电流闭锁
- BH_OVI_ZZ, // 电流重载
- BH_OVI_GZ, // 电流过载
- BH_OVI, // 电流越限
- BH_OVI0, // 零序电流越限
- BHOC_NUMBER
- };
- typedef struct TOC_T
- {
- UOCFLAG sta; // 动作标志字
- TIMERELAY tFz25ms; // 幅值启动25ms
- TIMERELAY tQDTime; // 时间继电器
- TIMERELAY tXBTime; // 谐波动作时间
- TIMERELAY tXBQD25ms; // 谐波启动25ms
- TIMERELAY tQD25ms; // 启动25ms,防干扰时间继电器,用于速断和零序加速,防止误出口
- #ifdef YX_RESET_TIME
- TIMERELAY tGjEvRstTime; // 故障遥信保持时间
- TIMERELAY tTzEvRstTime; // 告警遥信保持时间
- #endif
- } TOC_T;
- typedef struct YC_REFRESH_EN
- {
- DWORD bAGl : 1; // A相过流
- DWORD bBGl : 1; // B相过流
- DWORD bCGl : 1; // C相过流
- DWORD bABGl : 1; // AB相过流
- DWORD bBCGl : 1; // BC相过流
- DWORD bACGl : 1; // AC相过流
- DWORD bABCGl : 1; // ABC相过流
- DWORD bLx : 1; // 零流
- DWORD bFAGl : 1; // FA过流
- DWORD bFALx : 1; // FA零序过流
- } YC_REFRESH_EN;
- /*------------------------------ 函数声明 -------------------------------------
- */
- void Pro_OC(int sw, u32 dStep, int oc, int soe_no);
- void Pro_LX(int sw, u32 dStep, int oc, int soe_no);
- void Pro_Accheck(int sw, u32 dStep, int oc, int soe_no);
- void Pro_BSTZ(int sw, u32 dStep, int oc, int soe_no);
- void Pro_over_i(int sw, u32 dStep, int oc, int soe_no);
- void Pro_over_i2(int sw, u32 dStep); // 二次谐波
- void Pro_over_i0(int sw, u32 dStep, int oc, int soe_no);
- bool XBCalc(int sw, int index, DWORD xBcoe, bool bQD);
- int gl_soe_set_clr(u8 set_clr, int sw, u16 soe_no, u32 i_set, bool bfault);
- int gz_soe_set_clr(u8 set_clr, int sw, u16 soe_no, u32 i_set);
- #ifdef EV_GL_STATR
- void gl_start_soe_set(u8 set_clr, int sw, u16 soe_no);
- void lx_start_soe_set(u8 set_clr, int sw, u16 soe_no);
- #endif
- bool pro_check_bh_all(int sw);
- bool pro_check_gl_all(int sw);
- void pro_rst_event(int sw, int soe_no);
- bool CalDir_A(int sw, bool bQD, bool bInv);
- bool CalDir_B(int sw, bool bQD, bool bInv);
- bool CalDir_C(int sw, bool bQD, bool bInv);
- extern void xb_bs_soe(int sw, u32 dStep);
- #endif //_OC_H
- /*------------------------------ 文件结束 -------------------------------------
- */
|