oc.h 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. /******************************************************************************
  2. 版权所有:
  3. 文件名称: oc.h
  4. 文件版本: 01.01
  5. 创建作者: xxxxxx
  6. 创建日期: 2012-03-28
  7. 功能说明: 过流保护头文件
  8. 其它说明:
  9. 修改记录:
  10. */
  11. #ifndef _OC_H
  12. #define _OC_H
  13. /*------------------------------- 头文件 --------------------------------------
  14. */
  15. /*------------------------------- 宏定义 --------------------------------------
  16. */
  17. /*------------------------------ 类型结构 -------------------------------------
  18. */
  19. //电流保护标志
  20. typedef union UOCFLAG
  21. {
  22. DWORD wfFlag;
  23. struct
  24. {
  25. DWORD bIaQD:1; // 启动
  26. DWORD bIbQD:1; // 启动
  27. DWORD bIcQD:1; // 启动
  28. DWORD bIaxb:1; // 启动
  29. DWORD bIbxb:1; // 启动
  30. DWORD bIcxb:1; // 启动
  31. DWORD bQD:1; // 启动
  32. DWORD bGj:1; // 告警
  33. DWORD bTz:1; // 跳闸
  34. DWORD bXBbs:1; // 谐波闭锁
  35. DWORD bBSCH:1; // 闭锁重合
  36. DWORD bCYL:1; // 曾有流
  37. DWORD bTripBak:1; // 跳闸动作备份
  38. DWORD bTzhold:1;
  39. DWORD bJSBC:1; // 加速保持
  40. DWORD bDzLed:1; // 动作灯
  41. DWORD bGjLed:1; //告警灯
  42. DWORD bQDWave:1; // 幅值启动时,启动录波标志
  43. DWORD bddyQD:1; //低电压启动
  44. DWORD bGjEvent:1;
  45. DWORD bTzEvent:1; //
  46. }bFlag;
  47. }UOCFLAG;
  48. /*------------------------------ 变量声明 -------------------------------------
  49. */
  50. enum
  51. {
  52. BH_GL1 = 0, // 过流1段
  53. BH_GL2, // 过流2段
  54. BH_GL3, // 过流3段
  55. BH_LX1, // 零序1段
  56. BH_LX2, // 零序2段
  57. BH_LX3, // 零序3段
  58. BH_GLJS, // 过流加速段
  59. BH_LXJS, // 零序加速段
  60. FA_GL, // FA相间故障I段
  61. FA_GL_II, // FA相间故障II段
  62. FA_LX, // FA零序故障
  63. FA_GL2, // FA相间告警
  64. FA_LX2, // FA零序告警
  65. FA_DLBS, // 大电流闭锁
  66. BH_DLBS, // 常规保护大电流闭锁
  67. BH_OVI_ZZ, // 电流重载
  68. BH_OVI_GZ, // 电流过载
  69. BH_OVI, // 电流越限
  70. BH_OVI0, // 零序电流越限
  71. BHOC_NUMBER
  72. };
  73. typedef struct TOC_T
  74. {
  75. UOCFLAG sta; // 动作标志字
  76. TIMERELAY tFz25ms; // 幅值启动25ms
  77. TIMERELAY tQDTime; // 时间继电器
  78. TIMERELAY tXBTime;//dXB_T; // 谐波动作时间
  79. TIMERELAY tXBQD25ms;
  80. TIMERELAY tQD25ms; // 启动25ms,防干扰时间继电器,用于速断和零序加速,防止误出口
  81. #ifdef YX_RESET_TIME
  82. TIMERELAY tGjEvRstTime; // 故障遥信保持时间
  83. TIMERELAY tTzEvRstTime; // 告警遥信保持时间
  84. #endif
  85. }TOC_T;
  86. typedef struct YC_REFRESH_EN
  87. {
  88. DWORD bAGl:1; // A相过流
  89. DWORD bBGl:1; // B相过流
  90. DWORD bCGl:1; // C相过流
  91. DWORD bABGl:1; // AB相过流
  92. DWORD bBCGl:1; // BC相过流
  93. DWORD bACGl:1; // AC相过流
  94. DWORD bABCGl:1; // ABC相过流
  95. DWORD bLx:1; // 零流
  96. DWORD bFAGl:1; // FA过流
  97. DWORD bFALx:1; // FA零序过流
  98. }YC_REFRESH_EN;
  99. /*------------------------------ 函数声明 -------------------------------------
  100. */
  101. void Pro_OC(int sw,u32 dStep,int oc,int soe_no);
  102. void Pro_LX(int sw,u32 dStep,int oc,int soe_no);
  103. void Pro_Accheck(int sw,u32 dStep,int oc,int soe_no);
  104. void Pro_BSTZ(int sw,u32 dStep,int oc,int soe_no);
  105. void Pro_over_i(int sw,u32 dStep,int oc,int soe_no);
  106. void Pro_over_i2(int sw,u32 dStep); // 二次谐波
  107. void Pro_over_i0(int sw,u32 dStep,int oc,int soe_no);
  108. bool XBCalc(int sw,int index,DWORD xBcoe,bool bQD);
  109. int gl_soe_set_clr(u8 set_clr, int sw, u16 soe_no, u32 i_set,bool bfault);
  110. int gz_soe_set_clr(u8 set_clr, int sw, u16 soe_no, u32 i_set);
  111. #ifdef EV_GL_STATR
  112. void gl_start_soe_set(u8 set_clr, int sw,u16 soe_no);
  113. void lx_start_soe_set(u8 set_clr, int sw,u16 soe_no);
  114. #endif
  115. bool pro_check_bh_all(int sw);
  116. bool pro_check_gl_all(int sw);
  117. void pro_rst_event(int sw,int soe_no);
  118. bool CalDir_A(int sw,bool bQD,bool bInv);
  119. bool CalDir_B(int sw,bool bQD,bool bInv);
  120. bool CalDir_C(int sw,bool bQD,bool bInv);
  121. extern void xb_bs_soe(int sw,u32 dStep);
  122. #endif //_OC_H
  123. /*------------------------------ 文件结束 -------------------------------------
  124. */