oc.h 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  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. #ifdef DISP_SET_LX3
  58. BH_LX3, // 零序3段
  59. #endif
  60. BH_GLJS, // 过流加速段
  61. BH_LXJS, // 零序加速段
  62. FA_GL,
  63. FA_GL_II, //FA相间故障II段
  64. FA_LX, //FA零序故障
  65. FA_GL2, //FA相间告警
  66. FA_LX2, //FA零序告警
  67. FA_DLBS, //大电流闭锁
  68. BH_DLBS, //常规保护大电流闭锁
  69. #ifdef DISP_SET_DLYX
  70. BH_OVI_ZZ, //电流重载
  71. BH_OVI_GZ, //电流过载
  72. #endif
  73. BH_OVI, // 电流越限
  74. BH_OVI0, // 零序电流越限
  75. BHOC_NUMBER
  76. };
  77. typedef struct TOC_T
  78. {
  79. UOCFLAG sta; // 动作标志字
  80. TIMERELAY tFz25ms; // 幅值启动25ms
  81. TIMERELAY tQDTime; // 时间继电器
  82. TIMERELAY tXBTime;//dXB_T; // 谐波动作时间
  83. TIMERELAY tXBQD25ms;
  84. TIMERELAY tQD25ms; // 启动25ms,防干扰时间继电器,用于速断和零序加速,防止误出口
  85. #ifdef YX_RESET_TIME
  86. TIMERELAY tGjEvRstTime; // 故障遥信保持时间
  87. TIMERELAY tTzEvRstTime; // 告警遥信保持时间
  88. #endif
  89. }TOC_T;
  90. typedef struct YC_REFRESH_EN
  91. {
  92. DWORD bAGl:1; // A相过流
  93. DWORD bBGl:1; // B相过流
  94. DWORD bCGl:1; // C相过流
  95. DWORD bABGl:1; // AB相过流
  96. DWORD bBCGl:1; // BC相过流
  97. DWORD bACGl:1; // AC相过流
  98. DWORD bABCGl:1; // ABC相过流
  99. DWORD bLx:1; // 零流
  100. DWORD bFAGl:1; // FA过流
  101. DWORD bFALx:1; // FA零序过流
  102. }YC_REFRESH_EN;
  103. /*------------------------------ 函数声明 -------------------------------------
  104. */
  105. void Pro_OC(int sw,u32 dStep,int oc,int soe_no);
  106. void Pro_LX(int sw,u32 dStep,int oc,int soe_no);
  107. void Pro_Accheck(int sw,u32 dStep,int oc,int soe_no);
  108. void Pro_BSTZ(int sw,u32 dStep,int oc,int soe_no);
  109. void Pro_over_i(int sw,u32 dStep,int oc,int soe_no);
  110. void Pro_over_i2(int sw,u32 dStep); // 二次谐波
  111. void Pro_over_i0(int sw,u32 dStep,int oc,int soe_no);
  112. bool XBCalc(int sw,int index,DWORD xBcoe,bool bQD);
  113. int gl_soe_set_clr(u8 set_clr, int sw, u16 soe_no, u32 i_set,bool bfault);
  114. int gz_soe_set_clr(u8 set_clr, int sw, u16 soe_no, u32 i_set);
  115. #ifdef EV_GL_STATR
  116. void gl_start_soe_set(u8 set_clr, int sw,u16 soe_no);
  117. void lx_start_soe_set(u8 set_clr, int sw,u16 soe_no);
  118. #endif
  119. bool pro_check_bh_all(int sw);
  120. bool pro_check_gl_all(int sw);
  121. void pro_rst_event(int sw,int soe_no);
  122. bool CalDir_A(int sw,bool bQD,bool bInv);
  123. bool CalDir_B(int sw,bool bQD,bool bInv);
  124. bool CalDir_C(int sw,bool bQD,bool bInv);
  125. extern void xb_bs_soe(int sw,u32 dStep);
  126. #endif //_OC_H
  127. /*------------------------------ 文件结束 -------------------------------------
  128. */