| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- #ifndef _JDXX_H
- #define _JDXX_H
- #ifdef FUN_JDXX
- ////////////////////////////
- /*版本说明:
- V1.001 增加接地程序功能版本。
- */
- #define FUN_JDXX_VERSION 1001 //资源表文件版本 V1.001
- /////////////////////////////
- typedef struct JDXX_SET// 接地选线定值
- {
- bool bTT_jdxx;
- bool bTT_jdxx_gj;
- bool bTT_jdxx_tz;
- bool bTT_jdxx_cph;
- bool bTT_jdxx_p0dir;
- bool bTT_jdxx_fault_all;// 事故总判接地故障
-
- WORD jd_type;
- WORD jd_zero; // 零漂值
- WORD jd_qdval; // 启动值
- WORD jd_zero_N; // 常规零序
- WORD jd_ov_val; // 高精度零序满偏值
- DWORD jd_ov_val2; // 高精度满偏模值平方
- //WORD jd_qdIabc; // 启动值
- WORD jd_qdval_js; // 小电流接地重合闸启动值
- WORD jd_qdval_qd; // 小电流接地启动值
-
- WORD jd_qdPoints;
- WORD jd_surePoints;
- WORD jd_faultPoints;
- WORD jd_voltype;
- WORD jd_volzero;
- DWORD jd_U0gl; // 零序电压定值
- DWORD jd_U0gl_fh; // 零序电压返回值
- u32 jd_qdval2;
- u32 jd_trip_time; // 出口时间
- u32 jd_alarm_time; // 告警时间
-
- bool bTT_QD_chz; //启动重合闸
- int i0_chan; //通道切换
- #ifdef FUN_JDXX_JXJD
- bool bTT_jxjd_stz; //间歇接地短延时跳闸
- bool bTT_jxjd_ltz; //间歇接地长延时跳闸
- WORD jd_sdelay_cnt;
- u32 jd_sdelay_time; // 出口时间
- WORD jd_ldelay_cnt;
- u32 jd_ldelay_time; // 出口时间
- #endif
- #ifdef HJS_XDLJD
- bool jd_js_tt; // 接地加速投退
- u32 jd_js_time; // 开放时间
-
- WORD jd_n_qdval; // 正常电流启动值
- u32 jd_n_qdval2;
- DWORD jd_n_U0gl; // 正常零序电压定值
- DWORD jd_n_U0gl_fh; // 零序电压返回值
- WORD jd_js_qdval; // 后加速电流启动值
- u32 jd_js_qdval2;
- DWORD jd_js_U0gl; // 后加速零序电压定值
- DWORD jd_js_U0gl_fh; // 零序电压返回值
-
- u32 jd_js_trip_time; // 后加速出口时间
- #endif
- }JDXX_SET;
- typedef union uJDXX_T
- {
- WORD wfFlag;
- struct
- {
- WORD bQD:1; //接地选线启动
- WORD bTz:1; //接地选线动作
- WORD bGj:1; //接地选线告警
- WORD bTZLed;
- WORD bGJLed;
- #ifdef HJS_XDLJD
- WORD bTz_prot:1; //接地选线动作标志用于保护跳闸
- WORD bHjsTz:1; //接地选线后加速动作
- WORD bJd_qn:1; //接地区内标识
- #endif
- }bFlag;
- }UJDXX_T;
- #define NUM_ANGLE 4
- typedef struct JDXX_def
- {
- UJDXX_T sta; //断线保护标志
-
- int zeroval;
- WORD jd_qdval;
- WORD jd_U0ov_val;
-
- int jd_u0_12; //u01或者u02接地
- int jd_step; //接地状态
- int qdPoints; // 启动后计数值
- int adPoints; // 采样统计
- int faultdir;
- u32 dot_qd;
- u32 net_tick_times; //心跳计数
- int dirNum;
- bool tc_result; //暂态判定:0-界外;1-界内
- uint32_t time_qd;//零压产生时刻
- int con_angle; //稳态角度计数
- long ui_angle[NUM_ANGLE]; //u0/i0夹角
- #ifdef CN_AREA_HUNAN
- u8 dir_cnt;
- #endif
- TIMERELAY tJDXXU01Time; // U01判出时间
- TIMERELAY tJDXXU02Time; // U02判出时间
- TIMERELAY tJDXXU1yyTime; //US1线电压有压时间
- TIMERELAY tJDXXU2yyTime; //US2线电压有压时间
- TIMERELAY tJDXXIylTime; //相电流有流时间
- TIMERELAY tJDXXTripTime; // 出口时间
- TIMERELAY tJDXXAlarmTime;// 告警时间
- #ifdef JDXX_YXEV_RST
- TIMERELAY tJDGjEvRstTime; // 接地告警遥信保持时间
- TIMERELAY tJDTzEvRstTime; // 接地跳闸遥信保持时间
- #endif
- #ifdef FUN_JDXX_JXJD
- int cnt_sdelay;
- int cnt_ldelay;
- uint32_t jdxx_sdelay_us0[100];//短延时计时时刻:100--和计数最大值对应
- uint32_t jdxx_ldelay_us0[100];//长延时计时时刻:100--和计数最大值对应
- #endif
- #ifdef HJS_XDLJD
- TIMERELAY jdxx_jskf_time; //相电流有流时间
- #endif
- }JDXX_DEF;
- extern JDXX_SET tJDXX_val[SWITCH_NUM_MAX];
- void jdxx_pro(int sw,DWORD dStep); //接地故障判断 5ms中断中处理
- void jdxx_init(void);
- void jdxx_relayinit(void);
- void jdxx_yxev_rst(int sw);
- void _getjdxxdz_inf(void);
- extern long CalcUIzAng(long Real1, long Imag1, long Real2, long Imag2);
- #endif
- #endif //_JDXX_H
- /*------------------------------ 文件结束 -------------------------------------
- */
|