| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341 |
- /*******************************************************************************
- 版权所有:
- 版本号: 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; // 零压跳闸led
- bool bU0GjLed; // 零压告警led
- } TU0_T;
- typedef union USDHZ_U
- {
- DDWORD wfFlag;
- struct
- {
- DDWORD bUABYY : 1; // UAB有压标志
- DDWORD bUBCYY : 1; // UBC有压标志
- DDWORD bUABFlash : 1; // 1
- DDWORD bUBCFlash : 1; // 2
- 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; // AB有压
- TIMERELAY tUBCS25ms; // BC有压
- #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; // 分段闭锁led
- bool bL_BSLed; // 联络闭锁led
- #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 //
- /*------------------------------ 文件结束 -------------------------------------
- */
|