| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348 |
- /*******************************************************************************
- 版权所有:
- 版本号: 1.00
- 文件名: vol.h
- 生成日期:2010-04-25
- 作者: 电力产品开发部
- 功能说明:电压控制文件
- ****************************************************************************/
- /*------------------------------- 头文件 --------------------------------------
- */
- #ifndef __VOL_LS_H
- #define __VOL_LS_H
- /*------------------------------- 宏定义 --------------------------------------
- */
- enum
- {
- FA_TYPE_S=0, //分段开关
- FA_TYPE_L, //联络开关
- };
- enum
- {
- S_INIT=1, //初始状态
- S_TEMP, //临时状态,用于检测瞬时电压
- S_BSFLASH, //瞬时电压闭锁状态
- S_XTIME, //X时限计数状态
- S_X_ZTIME, //X时限计数中发生的Z时限计数状态
- S_BSXTIME, //X时限闭锁状态
- S_YTIME, //Y时限计数状态
- S_Y_ZTIME, //Y时限计数中发生的Z时限计数状态
- S_BSYTIME, //Y时限闭锁状态
- S_USUAL, //正常运行状态
- S_BSDOUBLE, //双电源闭锁状态
- S_BSHHGZ, //合后故障闭锁状态
- S_BSFZ, //合后闭锁分闸状态
- S_BSDL, //大电流闭锁分闸状态
- //S_D_ZTIME, //双电源闭锁状态中发生的Z时限计数状态
- S_BS_SW, //
- };
- enum
- {
- L_INIT=1, //初始状态
- L_BS_STATE, //联络闭锁,待双侧YL有压解锁
- L_Y_ZTIME, //Y时限计数状态中发生的Z时限计数状态
- L_USUAL, //正常运行状态
- L_XLTIME, //X时限计数状态
- L_XL_ZTIME, //X时限计数中发生的Z时限计数状态
- L_RELAYON, //开关合运行状态
- L_YL_TIME, //合闸成功Y计时
- };
- struct vol_stu
- {
- u32 status; //当前状态
- u32 shangdiance; //当前上电侧
- u32 S_lockstatus; //分段模式合闸闭锁状态
- u32 L_lockstatus; //联络模式合闸闭锁状态
- u32 L_status; //联络模式当前状态
- };
- /*------------------------------ 类型结构 -------------------------------------
- */
- typedef union UVOT_U
- {
- WORD wfFlag;
- struct
- {
- WORD bQD:1; //失压启动
- WORD bQD1:1; //失压启动
- WORD bTz:1; //动作
- WORD bHz:1;
- WORD bLock:1; //合后故障闭锁失压分闸标志
- WORD bGL:1; //合后故障闭锁失压分闸标志
- WORD bJD:1; //合后接地故障闭锁失压分闸标志
- WORD bGLQD:1;
- WORD bStartLock:1; //
- WORD bDISENDZ:1; // 保护退出
- WORD bDISENBS:1; // 保护退出
- WORD bEvent:1;
- WORD bFault:1; //计数完成
- WORD bTz1:1; //计数完成
- WORD bSHWY:1; //手合无压标志
-
- }bFlag;
- }UVOT_U;
- typedef struct TLOSTVOT_T
- {
- UVOT_U uLostVot; //失压标志
- TIMERELAY tLostVotTime; //失压跳闸时间继电器
- TIMERELAY tCYY25ms0ms; //曾有压标志
- TIMERELAY tLostVLockTime;
- bool bLostVotLed;
- WORD losttimes; //失压次数
- WORD wfFlagsave;
- }TLOSTVOT_T;
- typedef struct TTQHZ_T
- {
- UVOT_U uTQHz; //同期合闸
- TIMERELAY tTQTime; //同期合闸时间继电器
- TIMERELAY tTQQDTime; //同期合闸时间继电器
- bool bBSTQLed;
- }TTQHZ_T;
- typedef union UU0_U
- {
- WORD wfFlag;
- struct
- {
- WORD bQD:1; //失压启动
- WORD bTz:1; //告警动作
- WORD bEvent:1;
- WORD bLock:1; //合后故障闭锁失压分闸标志
- WORD bGJQD:1; //失压启动
- WORD bGJ:1; //告警动作
- WORD bU0Ov:1; //合后故障闭锁失压分闸标志
- WORD bGJEvent:1;
- WORD bDISENGJ:1; // 保护退出
- WORD bDISENDZ:1;
- }bFlag;
- }UU0_U;
- typedef struct TU0_T //定义零序过压保护处理结构体
- {
- UU0_U uZOV; //零序过压标志
- TIMERELAY tZOVTime; //零序过压跳闸时间继电器
- TIMERELAY tU0TzTime; //零序过压跳闸时间继电器
- bool bU0Led;
- bool bU0GjLed;
- }TU0_T;
- typedef union USDHZ_U
- {
- DDWORD wfFlag;
- struct
- {
- DDWORD bUABYY:1; //UAB有压标志
- DDWORD bUBCYY:1; //UBC有压标志
- DDWORD bUABFlash:1;
- DDWORD bUBCFlash:1;
-
- DDWORD bPower:1; //上电记录标志 Uab1侧,电源侧
- DDWORD bYY:1; //有压标志
- DDWORD bCYY:1; //FA曾有压
- DDWORD bDBYY:1; //两侧有压标志
- DDWORD bOneLostV:1; //一侧失压标志
-
- DDWORD bOppositeYY:1; //对侧有压标志
- DDWORD bPowerYY:1; //电源侧有压标志
- DDWORD bPowerZ:1; //停电时间 DWORD bLockX:1; //X时间闭锁
-
- DDWORD bLockY:1; //Y时间闭锁
- DDWORD bLockUFlash:1; //瞬时加压闭锁
- DDWORD bRLONFLAG:1; //开关合命令标志
-
- DDWORD bHz:1; //告警动作
- DDWORD bHZEvent:1; //合闸事件
- DDWORD bX_HZEvent:1; //x合闸事件
- DDWORD bGL2:1; //故障记忆 xj 2016.08.25
- DDWORD bJD2:1; //接地记忆
- DDWORD bGL_II:1;
- DDWORD bGL:1; //故障记忆 xj 2016.08.25
- DDWORD bJD:1; //接地记忆
- DDWORD bOverU0:1; //零序过压标志
- DDWORD bXOverUo:1; // X 时间有U0
- DDWORD bUabflashDI; // 失电过程中的Uab瞬压标志
- DDWORD bUbcflashDI; // 失电过程中的Uab瞬压标志
-
- //DDWORD bGjEvent:1; //合闸事件
- DDWORD bSaveStatus:1; //状态保护标志
- DDWORD bSNChange:1; //上电记录标志
- DDWORD bTempJS:1; //临时解锁标志// DWORD bxdljd:1; //暂态判断小电流接地
- DDWORD bOCing:1; //FA过流状态
- DDWORD bJS:1; //满足解锁条件已解锁状态
- #if defined GD_AREA_ECZD_2020 && !defined GD_AREA_ZHONGSHAN_2020
- DDWORD bHhgz:1; //合后故障
- #endif
- #ifdef FUNC_NYY_NWY
- DDWORD bUAB_NYY_NWY:1; //UAB非有压非无压态
- DDWORD bUBC_NYY_NWY:1; //UBC非有压非无压态
- #endif
- DDWORD bYtOn:1; //进入过Y计时标志
- }bFlag;
- }USDHZ_U;
- typedef struct TSDHZ_T
- {
- USDHZ_U uSdhz_S; //分段开关上电合闸标志
- USDHZ_U uSdhz_L; //联络开关上电合闸标志
-
- WORD S_Status; //分段开关运行中的状态标志
- WORD L_Status; //联络开关运行中的状态标志
- DWORD s_flag_save;
- DWORD l_flag_save;
- WORD S_Status_save; //分段开关运行中的状态标志
- WORD L_Status_save; //联络开关运行中的状态标志
- #ifdef FA_OC_COUNT
- WORD fa_oc_count; //过流次数
- TIMERELAY tFaOcCountTime; //过流脉冲复归继电器
- #endif
- bool bDL_Tz;
- bool bDL_Hz;
- bool bInitUF;
- bool bSDHZinit; //上电合闸初始化:无压后启动S上电合闸 1--初始化,0--未初始化
- TIMERELAY tOnXSTime; //X时间继电器
- TIMERELAY tOnYSTime; //Y时间继电器
- TIMERELAY tOnZSTime; //Z时间继电器
- TIMERELAY tOnXLTime; //XL时间继电器
- TIMERELAY tOnYLTime; //YL时间继电器
- TIMERELAY tOnLLCDYLTime; //联络充电时间继电器
- TIMERELAY tOnZLTime; //ZL时间继电器
- TIMERELAY tOnOCingTime; //FA过流状态继电器
- TIMERELAY tOnLXingTime; //FA零序状态继电器
- TIMERELAY tOnJSTime; //单侧来电解锁时间继电器
- TIMERELAY tOnY_JSTime; //正向闭锁后,反向来电合闸双侧有压时间继电器,中山局要求3S
- TIMERELAY tOnBSTZTime; //合闸成功闭锁跳闸时间
- TIMERELAY tOnHW_FA_JSTime; //合位直接解锁时间 默认1s
- TIMERELAY tUABS25ms;
- TIMERELAY tUBCS25ms;
- #ifdef FUNC_NYY_NWY
- TIMERELAY tUABS_NYY_NWY_50ms;
- TIMERELAY tUBCS_NYY_NWY_50ms;
- TIMERELAY tUABL_NYY_NWY_50ms;
- TIMERELAY tUBCL_NYY_NWY_50ms;
- #endif
- TIMERELAY tUDBS100ms;
- TIMERELAY tUFABL80ms;
- TIMERELAY tUFBCL80ms;
- TIMERELAY tUFDBTime; // 瞬压判断时间
- TIMERELAY tUABL25ms;
- TIMERELAY tUBCL25ms;
- TIMERELAY tUFABS80ms;
- TIMERELAY tUFBCS80ms;
- TIMERELAY tUFABS25ms;
- TIMERELAY tUFBCS25ms;
- TIMERELAY tUFABL25ms;
- TIMERELAY tUFBCL25ms;
- TIMERELAY tFREQAB25ms_SCY; //用于S模式电源侧残压的频率判断
- TIMERELAY tFREQBC25ms_SCY; //用于S模式线路侧残压的频率判断
- TIMERELAY tFREQAB25ms_LCY; //用于L模式电源侧残压的频率判断
- TIMERELAY tFREQBC25ms_LCY; //用于L模式线路侧残压的频率判断
- TIMERELAY tFREQSAB25ms; //用于S模式电源侧得电合闸的频率判断
- TIMERELAY tFREQSBC25ms; //用于S模式线路侧得电合闸的频率判断
- TIMERELAY tFREQLAB25ms; //用于L模式电源侧得电合闸的频率判断
- TIMERELAY tFREQLBC25ms; //用于L模式线路侧得电合闸的频率判断
- TIMERELAY tL_RELAYONL3s;
- TIMERELAY tHzS100ms;
- TIMERELAY tTSDHzHJS; // 上电合闸后加速延时
- TIMERELAY tOpsiteYY100ms;
- TIMERELAY tPowerYY100ms;
- TIMERELAY tGZJYRstGL_II_Time; //故障记忆复归时间
- TIMERELAY tGZJYRstGLTime; //故障记忆复归时间
- TIMERELAY tGZJYRstJDTime; //故障记忆复归时间
- TIMERELAY tGZJYRstGL2Time; //故障记忆复归时间
- TIMERELAY tGZJYRstJD2Time; //故障记忆复归时间
- TIMERELAY tHw100ms100ms;
- TIMERELAY tTw100ms100ms;
- TIMERELAY tHz0ms1s;
- TIMERELAY tTz0ms1s;
- TIMERELAY tHz0ms2s;
- TIMERELAY tTz0ms2s;
- bool bS_BSLed;
- bool bL_BSLed;
- #ifdef FUNC_REBOOT_BS_HA_JS_3S
- TIMERELAY tHW_JS_HA_3STime; //合位解锁手分/遥分闭锁时间 默认3S
- #endif
- }TSDHZ_T;
- typedef struct _bRTCSAVE
- {
- WORD bSig; //存储签名
- BYTE bStatus; //当前状态
- BYTE bShangDianCe; //当前上电侧
- WORD bCrc; //crc校验码
- }bRTCSAVE;
- typedef struct THZBS_T
- {
- TIMERELAY tBSHZTime; //同期合闸时间继电器
- TIMERELAY tTw100ms100ms;
- WORD fztimes;
- }THZBS_T;
- /*------------------------------ 函数声明 -------------------------------------
- */
- extern TLOSTVOT_T tLostVot[SWITCH_NUM_MAX]; //失压标志
- extern TTQHZ_T tTQHz[SWITCH_NUM_MAX]; //同期合闸标志
- extern TSDHZ_T tSDHZ[SWITCH_NUM_MAX]; //上电合闸标志
- extern u8 g_volfile_open;
- extern bool gb_wake_soe;
- void FA_Run(DWORD dStep);
- void FA_Init(void);
- void FA_lostvotTz(int sw,DWORD dStep); //失压跳闸判断
- void FA_OverU0Tz(int sw,DWORD dStep);
- int vol_stu_printf(void);
- int FA_status_write(void);
- int FA_exit(void);
- void Pro_hzbs(int sw,DWORD dStep);
- bool fa_bs_hz(int sw);
- bool fa_bs_fz(int sw);
- void fa_s_state_change(int sw,int state);
- #ifdef FUN_JDXX
- bool get_power_on_dir(int sw);
- #endif
- #endif//
- /*------------------------------ 文件结束 -------------------------------------
- */
-
-
-
-
|