/************************************************************************* 
* 版权所有：	
* 文件版本： V1.00
* 文件名称：装置系统配置文件
* 生成日期： 2008年7月1日
* 作	者： xxxxxx
* 功	能： 定义本装置的应用配置
* 更新信息：
*	  更新日志1：
*		  日期：	  
*		  修改者：	  
*		  修改内容：  
*		  修改原因：  
*	  更新日志2：
**************************************************************************/



#ifndef _CONFIG_H_ 
#define _CONFIG_H_
#include "equ.h"


#define EQUIP_TYPE  0x3100
#define SOFT_VERH   0x0100   //版本号格式为1.00.01  
#define SOFT_VERL   0x0100    //VERL的低位位特殊版本号，若不等于0则为特殊版本


//采样频率(32次/周)
#define SAMFREQ     CFG_ADC_DOTS_PER_PERIOD
// 10ms对应的采样点数目
#define T_5min      (SAMFREQ * 15000)
#define T_5s        (SAMFREQ * 250)
#define T_1s        (SAMFREQ * 50)
#define T_500ms     (SAMFREQ * 25)
#define T_300ms     (SAMFREQ * 15)
#define T_200ms     (SAMFREQ * 10)
#define T_100ms     (SAMFREQ * 5)
#define T_40ms      (SAMFREQ * 2)
#define T_25ms      (SAMFREQ + SAMFREQ / 4)
#define T_20ms      (SAMFREQ)
#define T_10ms      (SAMFREQ / 2)
#define T_5ms       (SAMFREQ / 4)
#define T_15ms      (T_5ms * 3)

#define T_FA_TZ_MIN_TIME	(T_10ms)

#define T_YKSEL        (300*T_1s)            //5分钟超时


//开出密码                   
#define DO_PASSWORD     0x5AA5A300L
//跳闸密码                   
#define TRIPPASSWORD    0x5AA5A33AL

#define CXLC_ZCCL 0xaa01 // 保护正常处理
#define CXLC_NOQD 0xaa02 // 未启动处理程序
#define CXLC_BHIN 0xaa07 // 保护处理初始化
#define CXLC_BHCL 0xaa08 // 保护处理
#define CXLC_TZCX 0xaa09 // 跳闸出口
#define CXLC_ZZFG 0xaa0a // 整组复归

/*定义事件参数的显示类型*/
#define PARA_TYPE_INT (1 << 5) // 事件显示，类型定义:整数显示
#define PARA_TYPE_YK (2 << 5)  // 事件显示，类型定义:通道显示
#define PARA_TYPE_YB (3 << 5)  // 事件显示，类型定义:压板操作

#define SOE_YX_H "0->1"
#define SOE_YX_F "1->0"
#define YX_H "1"
#define YX_F "0"

/*定义测量值单位*/
enum
{
    UNIT_NULL = 0,
    UNIT_V100,
    UNIT_V220,
    UNIT_V050,
    UNIT_A5,
    UNIT_BIA,
    UNIT_W,
    UNIT_I0A,
    UNIT_Hz,
    UNIT_GE,
    UNIT_Var,
    UNIT_kV,
    UNIT_kA,
    UNIT_kW,
    UNIT_kWh,
    UNIT_kVar,
    UNIT_kVarh,
    UNIT_Per,
    UNIT_ANG,
    UNIT_Hz_S,
    UNIT_DIR,
    UNIT_TEMP,
    UNIT_V001,
    UNIT_A1,
    UNIT_COS,
    UINT_Hour,
#ifdef BATTERY_BP_L500
    UINT_mVperA,
    UINT_mA,
#endif
#ifdef TMP_CHIP_AHT20
    UNIT_HUMI,
#endif
    UNIT_NUM
};

struct unit
{
    s8 *name;
    s16 normal;
    s32 zero;
};

extern struct unit g_unit[UNIT_NUM];

/*下面不需要上送后台的操作或提示类的信息*/

/*定义事件代码*/

enum
{
    EV_BH_FAULT = 0, // 保护动作总
    EV_ALL_FAULT,    // 故障总

    EV_BK_000, // 备用
    EV_BK_001, // 备用
    EV_BK_002, // 备用
    EV_BK_003, // 备用
    EV_BK_004, // 备用
    EV_BK_005, // 备用
    EV_BK_006, // 备用
    EV_BK_007, // 备用
    EV_BK_008, // 备用
    EV_BK_009, // 备用

    EV_GL1TZ, // 过流I段动作
    EV_GL1GJ, // 过流I段告警
#ifdef EV_GL_STATR
    EV_GL1_START, // 过流I段启动
#endif
    EV_GL1_IA, // 过流I段A相故障
    EV_GL1_IB, // 过流I段B相故障
    EV_GL1_IC, // 过流I段C相故障

    EV_GL2TZ, // 过流II段动作
    EV_GL2GJ, // 过流II段告警
#ifdef EV_GL_STATR
    EV_GL2_START, // 过流II段启动
#endif
    EV_GL2_IA, // 过流II段A相短路故障
    EV_GL2_IB, // 过流II段B相短路故障
    EV_GL2_IC, // 过流II段C相短路故障

    EV_GL3TZ, // 过流Ⅲ段动作
    EV_GL3GJ, // 过流Ⅲ段告警
#ifdef EV_GL_STATR
    EV_GL3_START, // 过流Ⅲ段启动
#endif
    EV_GL3_IA, // 过流Ⅲ段A相短路故障
    EV_GL3_IB, // 过流Ⅲ段B相短路故障
    EV_GL3_IC, // 过流Ⅲ段C相短路故障

    EV_LX1TZ, // 零流I段动作
    EV_LX1GJ, // 零流I段告警
#ifdef EV_GL_STATR
    EV_LX1_START, // 零流I段启动
#endif
    EV_LX2TZ, // 零流II段动作
    EV_LX2GJ, // 零流II段告警
#ifdef EV_GL_STATR
    EV_LX2_START, // 零流II段启动
#endif

    EV_LX3TZ, // 零流III段动作
    EV_LX3GJ, // 零流III段告警
#ifdef EV_GL_STATR
    EV_LX3_START, // 零流III段启动
#endif

    EV_GLJS, // 过流加速动作
    EV_LXJS, // 零序加速动作
    EV_U0JS, // 零压加速动作

    EV_U0TZ, // 零序电压跳闸
    EV_U0GJ, // 零序电压告警
#ifdef EV_GL_STATR
    EV_U0_STATR, // 零序电压启动
#endif
    EV_XBBS,  // 涌流谐波闭锁
    EV_FSXGL, // 反时限过流动作

    EV_BK_010, // 备用
    EV_BK_011, // 备用
    EV_BK_012, // 备用
    EV_BK_013, // 备用
    EV_BK_014, // 备用
    EV_BK_015, // 备用
    EV_BK_016, // 备用
    EV_BK_017, // 备用
    EV_BK_018, // 备用
    EV_BK_019, // 备用

    EV_AR_START,    // 重合闸启动
    EV_AR1,         // 一次重合动作
    EV_AR2,         // 二次重合动作
    EV_AR3,         // 三次重合动作
    EV_ARBS,        // 重合闸闭锁
    EV_HI_CHZ_LOCK, // 大电流闭锁重合闸
    EV_ARCD,        // 重合闸充电完成
    EV_CHZ_TOPEN,   // 终止重合闸过程

    EV_BK_020, // 备用
    EV_BK_021, // 备用
    EV_BK_022, // 备用
    EV_BK_023, // 备用
    EV_BK_024, // 备用
    EV_BK_025, // 备用
    EV_BK_026, // 备用
    EV_BK_027, // 备用
    EV_BK_028, // 备用
    EV_BK_029, // 备用

    EV_TYPE_S,  // 分段模式
    EV_TYPE_L,  // 联络模式
    EV_BS_ALL,  // 闭锁合闸
    EV_YY_P,    // 母线侧有压
    EV_YY_L,    // 线路侧有压
    EV_Z_TIME,  // 双侧失压
    EV_BS_X_P,  // 母线侧X闭锁
    EV_BS_X_L,  // 线路侧X闭锁
    EV_BS_Y_P,  // 母线侧Y闭锁,
    EV_BS_Y_L,  // 线路侧Y闭锁
    EV_BS_UF_P, // 母线侧残压闭锁
    EV_BS_UF_L, // 线路侧残压闭锁
    EV_BS_U0,   // 合后零压动作
    EV_BSBE_U0, // 合前零压闭锁
    EV_BE_UO,   // 合前零压
#ifdef EV_GL_STATR
    EV_FA_U0_STATR, // FA零压启动
#endif
    EV_BS_HA,       // 手分/遥分闭锁合闸
    EV_SH_BSFZ,     // 手合/遥合闭锁失压分
    EV_BS_DB,       // 双电源闭锁合闸
    EV_HHGZ,        // 合后故障
    EV_HHGZ_P,      // 母线侧合后故障
    EV_HHGZ_L,      // 线路侧合后故障
    EV_BSTZ_FA,     // 闭锁失压分闸
    EV_JS_HZ,       // 合闸解锁
    EV_JS_HA,       // 人工解锁
    EV_JS_TCLD,     // 同侧来电解锁
    EV_JS_DCLD,     // 对侧来电解锁
    EV_JS_MZTJ,     // 满足条件解锁
    EV_JS_L,        // 联络有压解锁
    EV_L_LST_T,     // 联络单侧失压时间到
    EV_L_A_LST_ALA, // 联络A侧失压告警
    EV_L_B_LST_ALA, // 联络B侧失压告警
    EV_L_A_LST_HZ,  // 联络A侧失压合闸
    EV_L_B_LST_HZ,  // 联络B侧失压合闸
    EV_FA_HZ,       // 得电合闸
    EV_FA_HZ_L,     // 母线侧得电合闸
    EV_FA_HZ_P,     // 线路侧得电合闸
    EV_FA_LL_HZ,    // 联络合闸
    EV_FA_FZ,       // 失电分闸
    EV_FA_HZ_OK,    // 联络合闸成功
    EV_FA_HZ_FAIL,  // 联络合闸失败
    EV_FA_LL_CD,    // 联络开关充电完成

    EV_FA_GL_TZ,  // 合到过流I段动作
    EV_FA_GL_TZ2, // 合到过流II段动作
    EV_FA_LX_TZ,  // 合到零序动作
    EV_FA_GL_GJ,  // 相间过流告警
    EV_FA_LX_GJ,  // 接地告警
#ifdef EV_GL_STATR
    EV_FA_GL_START,  // 相间I段启动
    EV_FA_GL2_START, // 相间II段启动
    EV_FA_LX_START,  // 接地过流启动
#endif
    EV_HA_HZ,     // 手动合闸
    EV_HA_FZ,     // 手动分闸
    EV_DL_HZ,     // 开关就地合闸
    EV_DL_FZ,     // 开关就地分闸
    EV_YK_HZ,     // 遥控合闸
    EV_YK_FZ,     // 遥控分闸
    EV_BS_FZMORE, // 多次分闸闭锁合闸
    EV_X_SWFAIL,  // 上电拒合
    EV_FA_LL_EN,  // 自转电功能投入
    EV_FA_U0GJ,   // 合后零序电压告警
#ifdef YK_FA_ENBLE
    EV_YK_BS_FA, // 遥控闭锁FA
#endif
#ifdef FA_OC_COUNT
    EV_BS_OC_COUNT, // 过流脉冲计数闭锁
#endif
#ifdef FUNC_YL_FZ_SOE
    EV_YL_FZ, // 联络Y闭锁
#endif

    EV_BK_030, // 备用
    EV_BK_031, // 备用
    EV_BK_032, // 备用
    EV_BK_033, // 备用
    EV_BK_034, // 备用
    EV_BK_035, // 备用
    EV_BK_036, // 备用
    EV_BK_037, // 备用
    EV_BK_038, // 备用
    EV_BK_039, // 备用

    EV_GOOSE_BGN,                                       // 从goose 来的故障信息
    EV_GOOSE_END = EV_GOOSE_BGN + GOOSE_RECV_LOGIC_NUM, // 从goose 来的故障信息
    EV_GOOSE_QC_QD,                                     // 智能分布式切除动作
    EV_GOOSE_QC_OK,                                     // 智能分布式切除成功
    EV_GOOSE_QC_FAIL,                                   // 智能分布式切除失败
    EV_GOOSE_GL_QD,                                     // 分布式故障隔离动作
    EV_GOOSE_GL_OK,                                     // 分布式故障隔离成功
    EV_GOOSE_GL_FAIL,                                   // 分布式故障隔离失败
    EV_GOOSE_HZ_QD,                                     // 分布式供电恢复动作
    EV_GOOSE_HZ_OK,                                     // 分布式供电恢复成功
    EV_GOOSE_HZ_FAIL,                                   // 分布式供电恢复失败
    EV_GOOSE_GL_TZ,                                     // 分布式过流跳闸
#if defined GD_AREA_ZHONGSHAN || defined GD_AREA_ZHONGSHAN_2020
    EV_GOOSE_GL2_TZ, // 分布式过流II段跳闸
#endif
    EV_GOOSE_LX_TZ,      // 分布式零序跳闸
    EV_GOOSE_SDLOST_TZ,  // 首开关失压分闸
    EV_GOOSE_ERRLOST_TZ, // 通信异常失压分闸
    EV_GOOSE_EXT_TZ,     // 装置越级跳闸
#ifdef GD_AREA_ZHONGSHAN_2020
    EV_GOOSE_HZ_GL1, // 分布式合后I段跳闸
    EV_GOOSE_HZ_GL2, // 分布式合后II段跳闸
    EV_GOOSE_HZ_LX,  // 分布式合后零序跳闸
#endif
    EV_GOOSE_LL_UNOK, // 分布式转供未满足
    EV_GOOSE_GZBS_FA, // 分布式故障闭锁合闸
    EV_GOOSE_TZBS_FA, // 分布式分闸闭锁合闸

    EV_BK_040, // 备用
    EV_BK_041, // 备用
    EV_BK_042, // 备用
    EV_BK_043, // 备用
    EV_BK_044, // 备用
    EV_BK_045, // 备用
    EV_BK_046, // 备用
    EV_BK_047, // 备用
    EV_BK_048, // 备用
    EV_BK_049, // 备用

    EV_TQHZ,     // 同期合闸
    EV_TQHZ_BAN, // 同期合闸禁止

    EV_JL_CD,     // 解列充电完成
    EV_GDDY_TZ,   // 电压过低解列
    EV_DDY_TZ,    // 电压低解列
    EV_GDY_TZ,    // 电压高解列
    EV_GGDY_TZ,   // 电压过高解列
    EV_LOWPL_TZ,  // 频率过低解列
    EV_DPL_TZ,    // 低频解列
    EV_GPL_TZ,    // 高频解列
    EV_HIGHPL_TZ, // 频率过高解列

    EV_BK_050, // 备用
    EV_BK_051, // 备用
    EV_BK_052, // 备用
    EV_BK_053, // 备用
    EV_BK_054, // 备用
    EV_BK_055, // 备用
    EV_BK_056, // 备用
    EV_BK_057, // 备用
    EV_BK_058, // 备用
    EV_BK_059, // 备用

    EV_BSTZ, // 遮断电流闭锁
    EV_DLZZ, // 电流重载告警
    // EV_IAZZ,					// Ia重载告警
    // EV_IBZZ,					// Ib重载告警
    // EV_ICZZ,					// Ic重载告警
    EV_DLGZ, // 电流过载告警
    // EV_IAGZ,					// Ia过载告警
    // EV_IBGZ,					// Ib过载告警
    // EV_ICGZ,					// Ic过载告警
    EV_DLYX, // 负荷越限告警
    // EV_IAYX,					// Ia越限告警
    // EV_IBYX,					// Ib越限告警
    // EV_ICYX,					// ic越限告警
    EV_I0YX,   // 零序电流越限告警

    EV_TZFAIL, // 跳闸失败
    EV_HZFAIL, // 合闸失败
    EV_SWFAIL, // 开关拒动

    EV_TWYL, // 跳位有流告警

    EV_LX_XDL_QD, // 小电流接地启动
    EV_XDL_U0GJ1, // 小电流零压1告警
    EV_XDL_U0GJ2, // 小电流零压2告警
    EV_ABC_JDTZ,  // 接地故障总
    EV_A_JDTZ,    // A项接地
    EV_B_JDTZ,    // B项接地
    EV_C_JDTZ,    // C项接地
#if defined FUN_JDXX
    EV_JDXX_GJ,   // 小电流接地区内告警
    EV_JDXX_TZ,   // 小电流接地区内跳闸
    EV_JDXX_JWGZ, // 小电流接地区外故障
#elif defined XDL_ZT
    EV_LX_XDL_TZ, // 小电流接地动作
    EV_LX_XDL_GJ, // 小电流接地告警
#endif

    EV_TH_WCN, // 未储能告警
    EV_KZHL,   // 控制回路异常

    EV_CTYC,   // CT断线
    EV_CTXXYC, // CT相序异常
    EV_LBA,    // 线路断线告警

#ifdef FUNC_DRIVE
    EV_DRIVE_BEGIN,   // 不停电传动开始
    EV_DRIVE_TZ_FAIL, // 不停电传动跳闸失败
    EV_DRIVE_HZ_FAIL, // 不停电传动合闸失败
#endif

#ifdef FUNC_DRIVE_JY
    EV_DRIVE_FAIL,    // 不停电传动启动失败
    EV_DRIVE_SUCESS,  // 不停电传动成功
    EV_DRIVE_TZ_FAIL, // 不停电传动开关拒分
    EV_DRIVE_HZ_FAIL, // 不停电传动开关拒合
    EV_DRIVE_TT_ERR,  // 不停电传动投退异常
    EV_DRIVE_ADD_HZ,  // 传动补发合闸
    EV_DRIVE_END,     // 不停电传动结束
#endif

#ifdef CUSTOMIZE_BZT // 备自投
    EV_ZT_TZ1,       // 1#开关自投跳闸
    EV_ZT_TZ2,       // 2#开关自投跳闸
    EV_ZT_TZ3,       // 3#开关自投跳闸

    EV_ZT_HZ1, // 1#开关自投合闸
    EV_ZT_HZ2, // 2#开关自投合闸
    EV_ZT_HZ3, // 3#开关自投合闸

    EV_BZT_TZ1_FAIL, // 1#开关跳闸失败
    EV_BZT_TZ2_FAIL, // 2#开关跳闸失败
    EV_BZT_TZ3_FAIL, // 3#开关跳闸失败

    EV_BZT_HZ1_FAIL, // 1#开关合闸失败
    EV_BZT_HZ2_FAIL, // 2#开关合闸失败
    EV_BZT_HZ3_FAIL, // 3#开关合闸失败
#endif

    EV_GL_FAULT, // 短路故障
    EV_LX_FAULT, // 接地故障
    EV_IA_GL,    // A相短路故障
    EV_IB_GL,    // B相短路故障
    EV_IC_GL,    // C相短路故障
    EV_IAB_GL,   // AB相短路故障
    EV_IBC_GL,   // BC相短路故障
    EV_ICA_GL,   // CA相短路故障
    EV_IABC_GL,  // ABC相短路故障

    EV_BK_060, // 备用
    EV_BK_061, // 备用
    EV_BK_062, // 备用
    EV_BK_063, // 备用
    EV_BK_064, // 备用
    EV_BK_065, // 备用
    EV_BK_066, // 备用
    EV_BK_067, // 备用
    EV_BK_068, // 备用
    EV_BK_069, // 备用

    /* 功能遥信 */
    EV_GENERAL_PRO,   /* 总保护运行 */
    EV_CON_PRO,       /* 常规保护运行 */
    EV_RECLOSE_PRO,   /* 重合闸运行 */
    EV_FA_PRO,        /* FA运行 */
    EV_DFA_PRO,       /* 智能分布式运行 */
    EV_CEN_PRO,       /* 集中式运行 */
    EV_SC_PRO,        /* 同期合闸运行 */
    EV_AUTOLIST_PRO,  /* 自动解列运行 */
    EV_CERGROUND_PRO, /* 小电流接地运行 */
    EV_BREAKLINE_PRO, /* 线路断线告警运行 */
    EV_PFD_PRO,       /* 不停电传动运行 */
    EV_FUN_ERR,       /* 功能模式异常 */

    /* 软压板 */
    EV_GPFPRO_SOFT,     /* 常规保护压板 */
    EV_RECLOSEON_SOFT,  /* 自动重合闸压板  */
    EV_BAR_TT,          /* 停用重合闸压板 */
    EV_FAPRO_SOFT,      /* 就地馈线自动化压板 */
    EV_DFAPRO_SOFT,     /* 智能分布式压板 */
    EV_CTLPRO_SOFT,     /* 集中式压板 */
    EV_SC_SOFT,         /* 同期合闸压板 */
    EV_AUTOLIST_SOFT,   /* 自动解列压板 */
    EV_CERGROUND_SOFT,  /* 小电流接地压板 */
    EV_BREAKLINE_SOFT,  /* 线路断线告警压板 */
    EV_PFD_SOFT,        /* 不停电传动压板 */
    EV_PROALL_SOFT,     /* 功能总投退压板 */
    EV_LOGICTRIP_SOFT,  /* 功能总出口压板 */
    EV_LOGICCLOSE_SOFT, /* 重合闸软压板 */
    EV_YFYT_SOFT,       /* 远程运维压板 */

    EV_CON_CTRL_01, /* 过流一段投入 */
    EV_CON_CTRL_02, /* 过流二段投入 */
    EV_CON_CTRL_03, /* 过流三段投入 */
    EV_CON_CTRL_04, /* 过流一段方向投入 */
    EV_CON_CTRL_05, /* 过流二段方向投入 */
    EV_CON_CTRL_06, /* 过流三段方向投入 */
    EV_CON_CTRL_07, /* 零流一段投入 */
    EV_CON_CTRL_08, /* 零流二段投入 */
    EV_CON_CTRL_09, /* 零流三段投入 */
    EV_CON_CTRL_10, /* PT断线投入 */
    EV_CON_CTRL_11, /* 后加速投入 */
    EV_CON_CTRL_12, /* 过流启动重合投入 */
    EV_CON_CTRL_13, /* 零流启动重合投入 */
    EV_CON_CTRL_14, /* 涌流识别投入 */
    EV_CON_CTRL_15, /* 零压保护投入 */
    EV_REC_CTRL_01, /* 一次重合闸投入 */
    EV_REC_CTRL_02, /* 二次重合闸投入 */
    EV_REC_CTRL_03, /* 重合闸检同期投入 */
    EV_REC_CTRL_04, /* 重合闸检无压投入 */
    EV_REC_CTRL_05, /* 大电流闭锁重合投入 */
    EV_FA_SLMODE,   /* 分段联络模式 */
    EV_FA_CTRL_01,  /* A侧得电延时合投入 */
    EV_FA_CTRL_02,  /* B侧得电延时合投入 */
    EV_FA_CTRL_03,  /* A侧失电延时合投入 */
    EV_FA_CTRL_04,  /* B侧失电延时合投入 */
    EV_FA_CTRL_05,  /* 合到故障快速分投入 */
    EV_FA_CTRL_06,  /* 合成功闭锁失压分 */
    EV_FA_CTRL_07,  /* FA过流告警投入 */
    EV_FA_CTRL_08,  /* FA接地告警投入*/
    EV_FA_CTRL_09,  /* 合到零序电压保护 */
    EV_FA_CTRL_10,  /* 非遮断投入 */
    EV_FA_CTRL_11,  /* PT断线投入 */
    EV_FA_CTRL_12,  /* 多次失压分闭锁合 */
    EV_FA_CTRL_13,  /* 涌流闭锁投入 */
    EV_FA_CTRL_14,  /* 硬件残压模快投入 */
    EV_DFA_CTRL_01, /* 分布式FA方式 */
    EV_DFA_CTRL_02, /* 联络自投投入 */
    EV_DFA_CTRL_03, /* 过载闭锁自投投入 */
    EV_DFA_CTRL_04, /* 首开关失压保护投入 */
    EV_DFA_CTRL_05, /* 智能分布式启动重合 */
    EV_AL_CTRL_01,  /* 电压解列投入 */
    EV_AL_CTRL_02,  /* 电压滑差闭锁 */
    EV_AL_CTRL_03,  /* 频率解列投入 */
    EV_AL_CTRL_04,  /* 频率滑差闭锁 */
    EV_LC_CTRL_01,  /* 小电流接地投入 */
    EV_LC_CTRL_02,  /* 小电流接地启动重合 */
    EV_LC_CTRL_03,  /* 小电流接地后加速 */

#ifdef YB_STHD_CHECK
    EV_FUNALL_CHECK, // 功能总压板不一致
    EV_CHZ_CHECK,    // 重合闸压板不一致
    EV_GOOSE_CHECK,  // 分布式压板不一致
    EV_FA_CHECK,     // 就地FA压板不一致
    EV_BH_CHECK,     // 常规保护压板不一致
#endif

    EV_BK_070, // 备用
    EV_BK_071, // 备用
    EV_BK_072, // 备用
    EV_BK_073, // 备用
    EV_BK_074, // 备用
    EV_BK_075, // 备用
    EV_BK_076, // 备用
    EV_BK_077, // 备用
    EV_BK_078, // 备用
    EV_BK_079, // 备用

    EV_SW_NUM, //
};

enum
{
    EV_PUB_START = EV_SW_NUM * SWITCH_NUM_MAX,
    FAULT_ALL = EV_PUB_START, // 事故总
    EV_BOARDERR,              // 板卡故障
    EV_BOARDCOMM,             // 板卡通信异常
    EV_HMIERR,                // 面板通信异常

#if defined CAN_SLAVE_BOARD && defined METERING_ENERGY
    EV_CAN_METERING_ERR, // 线损通信异常
#endif

    EV_EQU_ERR_HW,    // 装置硬件故障
    EV_EQU_ERR_SW,    // 装置软件故障
    EV_GOOSE_ERR,     // 系统通信异常
    EV_GOOSE_DECODE,  // 本机goose通信异常
    EV_SYS_GOOSE_ERR, // goose数据异常
    EV_61850_ERR,     // 61850平台库异常
#ifdef GOOSE_NETTYPE_SET
    EV_NET1_DOWN,         // 单网通讯异常NET1
    EV_NET2_DOWN,         // 单网通讯异常NET2
    EV_GOOSE_ERR_N,       // N侧通讯异常
    EV_GOOSE_ERR_M,       // M侧通讯异常
    EV_GOOSE_NETTYPE_ERR, // Goose网络类型设置错误
#endif

#ifdef GD_AREA_ZHONGSHAN_2020
    EV_GO
        OSE_CONFIG_ERR, // goose 配置异常
#endif

    EV_BK_080, // 备用
    EV_BK_081, // 备用
    EV_BK_082, // 备用
    EV_BK_083, // 备用
    EV_BK_084, // 备用
    EV_BK_085, // 备用
    EV_BK_086, // 备用
    EV_BK_087, // 备用
    EV_BK_088, // 备用
    EV_BK_089, // 备用

    EV_UAB1GDY, // Uab1过电压告警
    EV_UBC1GDY, // UBC1过电压告警
    EV_UCA1GDY, // UCA1过电压告警
    EV_UAB1DDY, // UAB1低电压告警
    EV_UBC1DDY, // UBC1低电压告警
    EV_UCA1DDY, // UCA1低电压告警
    EV_UAB2GDY, // UAB2过电压告警
    EV_UBC2GDY, // UBC2过电压告警
    EV_UCA2GDY, // UCA2过电压告警
    EV_UAB2DDY, // UAB2低电压告警
    EV_UBC2DDY, // UBC2低电压告警
    EV_UCA2DDY, // UCA2低电压告警
    EV_POW1YY,  // A侧有压
    EV_POW2YY,  // B侧有压
    EV_POW1WY,  // A侧无压
    EV_POW2WY,  // B侧无压

    EV_DYSTATUS, // 电源模块状态
#ifdef BATTERY_WITH_COMM
#ifdef FUNC_SEL_BAT_MODULE
    EV_BAT_OVER_GJ, // 电池过压告警
    EV_BAT_OFFLINE, // 电池离线告警
    EV_BAT_REVERSE, // 电池反接告警
    EV_AC_BACKLOST, // 备用输入交流失电
    EV_RL_ERR,      // 电池容量故障
#endif
    EV_BAT_ACT, // 电池活化状态
    EV_AC_LOST, // 输入交流失电信号
#endif
    EV_PT1ERR,  // PT1断线
    EV_PT2ERR,  // PT2断线
    EV_PT1XXYC, // PT1相序异常
    EV_PT2XXYC, // PT2相序异常

    EV_BATERR,       // 电池电压低
    EV_BAT_OVER,     // 电池电压高
    EV_DC1DDY,       // DC1低电压告警
    EV_DC2DDY,       // DC2低电压告警
#ifdef CUSTOMIZE_BZT // 备自投
    EV_SYTZ,         // 公共失压分闸
#endif

#ifdef METERING_ENERGY
    EV_DD_CLR, // 电度清零
    EV_DD_DIR, // 潮流改变次数
#endif

    EV_TT_BAT,     // 电池自动活化
    EV_BAT_ON,     // 电池投入
    EV_FDL1_TZ,    // 非电量1跳闸
    EV_FDL2_TZ,    // 非电量2跳闸
    EV_FDL3_TZ,    // 非电量3跳闸
    EV_FDL4_TZ,    // 非电量4跳闸
    EV_FDL5_TZ,    // 非电量5跳闸
    EV_FDL6_TZ,    // 非电量6跳闸
    EV_FDL1_GJ,    // 非电量1告警
    EV_FDL2_GJ,    // 非电量2告警
    EV_FDL3_GJ,    // 非电量3告警
    EV_FDL4_GJ,    // 非电量4告警
    EV_FDL5_GJ,    // 非电量5告警
    EV_FDL6_GJ,    // 非电量6告警
    EV_COMM1_ERR,  // 串口1通信异常
    EV_COMM2_ERR,  // 串口2通信异常
    EV_COMM3_ERR,  // 串口3通信异常
    EV_COMM4_ERR,  // 串口4通信异常
    EV_COMM5_ERR,  // 串口5通信异常
    EV_COMM6_ERR,  // 串口6通信异常
    EX_NET1_ERR,   // 网口1通信异常
    EX_NET2_ERR,   // 网口2通信异常
    EX_NET3_ERR,   // 网口3通信异常
    EV_LINK_EQU1,  // 级联装置1异常
    EV_LINK_EQU2,  // 级联装置2异常
    EV_LINK_EQU3,  // 级联装置3异常
    EV_LINK_EQU4,  // 级联装置4异常
    EV_LINK_EQU5,  // 级联装置5异常
    EV_LINK_EQU6,  // 级联装置6异常
    EV_LINK_EQU7,  // 级联装置7异常
    EV_LINK_EQU8,  // 级联装置8异常
    EV_LINK_EQU9,  // 级联装置9异常
    EV_LINK_EQU10, // 级联装置10异常
    EV_MB_HZ,      // 面板合闸
    EV_MB_TZ,      // 面板分闸

    EV_BK_090, // 备用
    EV_BK_091, // 备用
    EV_BK_092, // 备用
    EV_BK_093, // 备用
    EV_BK_094, // 备用
    EV_BK_095, // 备用
    EV_BK_096, // 备用
    EV_BK_097, // 备用
    EV_BK_098, // 备用
    EV_BK_099, // 备用

    EV_PUB_END, /* 公共遥信结束 */

    /*下面不需要上送后台的操作或提示类的信息*/

    EV_POWER = EV_PUB_END, // 装置上电
    /*装置状态切换*/
    EV_TEST, // 进入测试模式
    EV_RUN,  // 进入运行模式

    /*通道校正记录*/
    EV_CHNSJS, // 通道手校成功
    EV_ANGSJS, // 角度手校成功
    EV_CHNZJS, // 幅值自校成功

    /*遥控操作类*/
    EV_YH_SELECT,   // 遥控合闸预置成功
    EV_YH_SELFAIL,  // 遥控合闸预置失败
    EV_YH_SELTOUT,  // 遥控合闸预置超时
    EV_YH_EXECT,    // 遥控合闸执行成功
    EV_YH_EXFAIL,   // 遥控合闸执行失败
    EV_YH_EXCANCEL, // 遥控合闸终止

    EV_YT_SELECT,   // 遥控跳闸预置成功
    EV_YT_SELFAIL,  // 遥控跳闸预置失败
    EV_YT_SELTOUT,  // 遥控跳闸预置超时
    EV_YT_EXECT,    // 遥控跳闸执行成功
    EV_YT_EXFAIL,   // 遥控跳闸执行失败
    EV_YT_EXCANCEL, // 遥控分闸终止

    EV_PLC_HZ, // PLC合
    EV_PLC_TZ, // PLC跳

    EV_HAND_HZ, // 手动合闸
    EV_HAND_TZ, // 手动分闸
    EV_433M_HZ, // 无线遥控合闸
    EV_433M_TZ, // 无线遥控分闸
    EV_PDA_HZ,  // PDA遥控合闸
    EV_PDA_TZ,  // PDA遥控分闸
    EV_MSG_HZ,  // 短信合闸
    EV_MSG_TZ,  // 短信分闸

    EV_BAT_AUTOACTIVE, // 电池自动活化
    EV_BAT_HANDACTIVE, // 电池活化启动
    EV_BAT_HANDACTOFF, // 电池活化退出
    EV_BAT_HANDOFF,    // 电池手动退出

    /*定值操作类*/
    EV_SET_OK,      // 定值整定成功
    EV_SET_FAIL,    // 定值整定失败
    EV_PUBSET_OK,   // 公共定值整定成功
    EV_PUBSET_FAIL, // 公共定值整定失败
    EV_YBSET_OK,    // 软压板整定成功
    EV_YBSET_FAIL,  // 软压板整定失败
    EV_CSTSET_OK,   // 内部定值整定成功
    EV_CSTSET_FAIL, // 内部定值整定失败

    EV_RTC_INIT, // RTC内存初始化
    /*参数操作*/
    EV_EQUPARA_OK,      // 装置参数整定成功
    EV_EQUPARA_FAIL,    // 装置参数整定失败
    EV_SIG_RESET,       // 信号复归
    EV_CLEAR_SOE,       // 事件记录清除
    EV_CLEAR_OPE,       // 操作记录清除
    EV_INIT_EQUIP,      // 恢复出厂设置
    EV_WAVE_OV,         // 录波溢出
    EV_SET_CHANGE_PARA, // 定值修改
#if defined(CPU_AM335X)
    EV_APP_FOLDER_RECOVER, // 恢复APP分区
#endif
    EV_NUMBER
};
#define EV_NUMBER_WORDS (EV_NUMBER / 32 + 1)

#define EV_PUB_NUM (EV_PUB_END - EV_PUB_START)

#define LP_NUM (PUB_DI_NUM + (SW_DI_NUM * SWITCH_NUM_MAX) + EV_PUB_END)

/*定义事件参数*/
enum
{
    EV_PARA_Ia = 1,
    EV_PARA_Ib,
    EV_PARA_Ic,
    EV_PARA_I0,

    EV_PARA_XBa,
    EV_PARA_XBb,
    EV_PARA_XBc,

    EV_PARA_Uab,
    EV_PARA_Ubc,
    EV_PARA_Uca,

    EV_PARA_Us1, // xj 	2016.09.02
    EV_PARA_Us2,

    EV_PARA_U0,
    EV_PARA_UX,
    EV_PARA_P,
    EV_PARA_Q,
    EV_PARA_COS,
    EV_PARA_f,

#ifdef METERING_ENERGY
    EV_PARA_DD,
    EV_PARA_DIR_NUM,
    EV_PARA_CAN_SLOT,
#endif

    EV_PARA_CFG,
    EV_PARA_CHN,
    EV_PARA_YK,
    EV_PARA_HOUR,
};

/*定义开出、开入其他的的结构*/
typedef struct NAME_DEF
{
    BYTE byNo; // 开入量编号，从0开始
    BYTE byIndex;
    char *strName; // 开入量名称
} NAME_DEF;

typedef struct TYKTABLE
{
    BYTE byNo;            // 编号
    char *strName;        // 名称
    BYTE byEvNO_HSelect;  // 遥控合选择对应的事件编号
    BYTE byEvNO_HSelTOut; // 遥控合选择超时对应的事件编号
    BYTE byEvNO_HExect;   // 遥控合执行对应的事件编号
    BYTE byEvNO_HExFail;  // 遥控合执行失败对应的事件编号

    BYTE byEvNO_TSelect;  // 遥控分选择对应的事件编号
    BYTE byEvNO_TSelTOut; // 遥控分选择超时对应的事件编号
    BYTE byEvNO_TExect;   // 遥控分执行对应的事件编号
    BYTE byEvNO_TExFail;  // 遥控分执行失败对应的事件编号
} TYKTABLE;

typedef struct SOE_DEF
{
    BYTE soe_def;   // 事件定义
    BYTE Attrib[3]; // 事件属性
    char *strName;  // 事件名称
} SOE_DEF;

extern const NAME_DEF ev_para[];
extern const char *ev_back[];
extern const SOE_DEF tAllSOE[];
extern const WORD SOENumber;

#endif

/****************************end file****************************************************/

