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



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


#define EQUIP_TYPE 0x3100

#ifdef GD_AREA_ZHUHAI	//珠海报备程序版本：1.03.03
	#define SOFT_VERH  0x0103   //版本号格式为1.03.03  
	#define SOFT_VERL   0x0300    //VERL的低位位特殊版本号，若不等于0则为特殊版本
#else
	#define SOFT_VERH  0x0100   //版本号格式为1.00.01  
	#define SOFT_VERL   0x0100    //VERL的低位位特殊版本号，若不等于0则为特殊版本
#endif

//采样频率(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_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_TYPE_S,					//分段模式
	EV_TYPE_L,					//分段模式


	EV_GL1TZ,			// 过流1动作
	EV_GL1GJ,	
#ifdef EV_GL_STATR
	EV_GL1_START,
#endif
#ifdef ADD_FD_GL_FX_BH_FUN
    EV_GL1_IA,                  //过流1 A相故障
    EV_GL1_IB,                  //过流1 B相故障
    EV_GL1_IC,                  //过流1 C相故障
#endif

    EV_GL2TZ,           // 过流2动作
    EV_GL2GJ,
#ifdef EV_GL_STATR
	EV_GL2_START,
#endif
#ifdef ADD_FD_GL_FX_BH_FUN
	EV_GL2_IA,					//过流2 A相故障
	EV_GL2_IB,					//过流2 B相故障
	EV_GL2_IC,					//过流2 C相故障
#endif

    EV_GL3TZ,           // 过流2动作
    EV_GL3GJ,
#ifdef EV_GL_STATR
    EV_GL3_START,
#endif
#ifdef ADD_FD_GL_FX_BH_FUN
	EV_GL3_IA,					//过流3 A相故障
	EV_GL3_IB,					//过流3 B相故障
	EV_GL3_IC,					//过流3 C相故障
#endif


    EV_LX1TZ,
    EV_LX1GJ,
#ifdef EV_GL_STATR
	EV_LX1_START,
#endif	
	EV_LX2TZ,			
	EV_LX2GJ,
#ifdef EV_GL_STATR
	EV_LX2_START,
#endif

#ifdef DISP_SET_LX3
	EV_LX3TZ,			
	EV_LX3GJ,
  #ifdef EV_GL_STATR
	EV_LX3_START,
  #endif
#endif

#if defined FUN_JDXX ||defined XDL_ZT
		EV_JDXX_U01GJ,			// 小电流零压告警1
		EV_JDXX_U02GJ,			// 小电流零压告警2
		EV_JDXX_QD, 
		EV_JDXX_GJ,
		EV_JDXX_TZ,
		EV_JDXX_JWGZ,

        EV_ABC_JDTZ,				// 接地故障总
        EV_A_JDTZ,					// A项接地
        EV_B_JDTZ,					// B项接地
        EV_C_JDTZ,					// C项接地
#endif	

	EV_GLJS,					// IA过流加速
	EV_LXJS,					// 零序加速
	EV_U0JS,
	EV_FSXGL,
	EV_FA_GL_TZ,
//#if defined GD_AREA_CHAOZHOU || defined GD_AREA_SHANTOU  || defined GD_AREA_ECZD_2020   //潮州局要求合后电流两段处理		
#if defined GD_AREA_CHAOZHOU || defined GD_AREA_SHANTOU  || defined GD_AREA_ECZD_2020 || defined GD_AREA_MAIN_2020
	EV_FA_GL_TZ2,
#endif	
	EV_FA_LX_TZ,
	
	EV_FA_GL_GJ,    //相间过流告警

	EV_FA_LX_GJ,
#ifdef EV_GL_STATR
	EV_FA_GL_START,
#ifdef GD_AREA_ECZD_2020 	
	EV_FA_GL2_START,
#endif	
	EV_FA_LX_START,
#endif

	EV_AR_START,				// 重合闸启动
	EV_AR1,						// 重合闸动作1
	EV_AR2,						// 重合闸动作2
	EV_AR3,						// 重合闸动作3
	EV_ARBS,					// 重合闸闭锁
	EV_HI_CHZ_LOCK,				// 大电流闭锁重合闸
	EV_ARCD,					// 重合闸充电标志
#ifdef EV_CHZ_FG	
	EV_ARFG,                    // 重合闸复归202004
#endif	
#ifdef FUN_CHZ_TOPEN
    EV_CHZ_TOPEN,              //重合闸开放时间到
#endif

	EV_U0TZ,					// 零序电压跳闸
	EV_U0GJ,					// 零序电压告警
#ifdef EV_GL_STATR
	EV_U0_STATR,
#endif	
	EV_XBBS,					// 谐波闭锁
	
	EV_BS_ALL,					// 闭锁合闸
	EV_YY_P,					// 电源侧有压
	EV_YY_L,					// 负荷侧有压
	EV_Z_TIME,					// Z停电
	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,
#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_POWER,				// 对侧来电解锁
	EV_JS_L,						// 联络有压解锁
	EV_L_LST_T,					//联络单侧失压时间到
#ifdef GD_TEST_2021
	EV_L_A_LST_ALA,             // 联络A侧失压告警
	EV_L_B_LST_ALA,				// 联络B侧失压告警
	EV_L_A_LST_HZ,				// 联络A侧失压合闸
	EV_L_B_LST_HZ,     			// 联络B侧失压合闸
#endif
	EV_FA_HZ,					// 得电合闸	
#if defined GD_AREA_MEIZHOU_FTU	|| defined GD_AREA_ZHUHAI_V2 || defined  GD_AREA_JIEYANG_FTU || defined  GD_AREA_ECZD_MEIZHOU_2021
	EV_FA_HZ_L,					// 电源侧得电合闸	
	EV_FA_HZ_P,					// 负荷侧得电合闸	
#endif
	EV_FA_LL_HZ,					// 得电合闸	
	EV_FA_FZ,					// 失电分闸
#ifdef GD_AREA_ZHUHAI_V2  
	EV_FA_LL_CD,			//联络充电
	EV_FA_HZ_OK, 	        //联络合闸成功
	EV_FA_HZ_FAIL,		   //联络合闸失败	
#endif
	EV_FA_HZ_OK,			//联络合闸成功
	EV_FA_HZ_FAIL,		   //联络合闸失败 
	EV_FA_LL_CD,			//联络充电

	EV_HA_HZ,					// 手动合闸	
	EV_HA_FZ,					// 手动分闸
	EV_DL_HZ,						// 开关就地合闸	
	EV_DL_FZ,						// 开关就地分闸
	EV_YK_HZ,						// 遥控合闸
	EV_YK_FZ,						// 遥控分闸
	EV_BS_FZMORE,				//多次分闸，闭锁合闸
	EV_X_SWFAIL,				//上电拒合

#ifdef YK_FA_ENBLE
	EV_YK_BS_FA,				//遥控闭锁FA
#endif

#ifdef	FA_OC_COUNT
	EV_BS_OC_COUNT,				//过流脉冲计数闭锁
#endif
	EV_TQHZ,					// 合环
	
	EV_GGDY_TZ,			//电压过高解列

	EV_GDDY_TZ,			//电压过低解列
	
	EV_GDY_TZ,			//电压高解列
	EV_DDY_TZ,			//电压低解列
	EV_LOWPL_TZ,			//频率过低解列
	EV_GPL_TZ,			//高频解列
	EV_DPL_TZ,			//低频解列

	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
#if defined GD_AREA_ZHONGSHAN || defined GD_AREA_ZHONGSHAN_2020 || defined GD_AREA_MAIN_2020
	EV_GOOSE_GL2_TZ, 		// 过流2段跳闸
#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,		// 合后过流1段跳闸
	EV_GOOSE_HZ_GL2,		// 合后过流1段跳闸
	EV_GOOSE_HZ_LX,		// 合后零序跳闸
#endif
	
	EV_BSTZ,					// 大电流闭锁分闸
#ifdef DISP_SET_DLYX
	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电流越限
#else
	EV_DLYX,					// 电流越限
	EV_IAYX,					// IA电流越限
	EV_IBYX,					// IB电流越限
	EV_ICYX,					// IC电流越限
#endif
	EV_I0YX,					// 零序电流越限	
	EV_TZFAIL,					// 跳闸失败
	EV_HZFAIL,					// 合闸失败
	EV_SWFAIL,					// 开关拒动	
	
#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_TWYL,					// 跳位有流
	EV_BH_YB,					// 压板状态
	EV_CHZ_YB,					// 压板状态
	EV_KZ_YB,					// 压板状态
	EV_EDIT_YB,					// 远方定值整定压板

	EV_GOOSE_YBTT,				// 智能分布式软压板
	EV_FA_YBTT,					// 电压电流型软压板
	EV_BH_YBTT,					// 电流型软压板
	EV_JZS_YBTT,				// 集中式软压板
	EV_TQ_YBTT,				    // 同期合闸软压板
	EV_JL_YBTT,					// 自动解列软压板

#ifdef XDL_ZT	
	EV_LX_XDL_QD,		// 零序小电流启动		
	EV_LX_XDL_TZ,		// 零序小电流跳闸		
	EV_LX_XDL_GJ,		// 零序小电流告警
	EV_XDL_U0GJ1,		// 小电流零压告警1
	EV_XDL_U0GJ2,		// 小电流零压告警2
#endif

#ifdef GD_AREA_JIEYANG
	EV_TQHZ_YBTT,               // 同期合闸软压板
#endif

#ifdef YB_STHD_CHECK
    EV_FUNALL_CHECK,            //功能总
    EV_CHZ_CHECK,               //重合闸
    EV_GOOSE_CHECK,             //分布式
    EV_FA_CHECK,                //FA
    EV_BH_CHECK,                //保护
#endif
	EV_TH_WCN,					// 弹簧未储能
	EV_KZHL,					// 控制回路异常
	EV_GOOSE_BGN,			// 从goose 来的故障信息
	EV_GOOSE_END=EV_GOOSE_BGN+GOOSE_RECV_LOGIC_NUM,  //
	EV_CTYC,					//CT状态
	EV_CTXXYC,					//CT 相序异常

	EV_FA_LL_EN,				//自转电功能投入
	EV_GOOSE_LL_UNOK,
	EV_GOOSE_GZBS_FA,
	EV_GOOSE_TZBS_FA,
	EV_FA_U0GJ,					// FA零序电压告警
#ifdef FUNC_DRIVE
	EV_DRIVE,		//不停电传动功能软压板
	EV_DRIVE_BEGIN, 	//不停电传动开始
	EV_DRIVE_TZ_FAIL,		//不停电传动跳闸失败
	EV_DRIVE_HZ_FAIL,		//不停电传动合闸失败
#endif
#ifdef GD_AREA_ECZD_SHAOGUAN_2021
	EV_TY_SOFT_YB,		//停用保护及FA功能软压板
	EV_CHZ_SOFT_YB, 	//重合闸功能投入软压板
	EV_JL_SOFT_YB,		//自动解列软压板
	EV_TQ_SOFT_YB,		//停用同期功能软压板
#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 FUNC_YL_FZ_SOE
	EV_YL_FZ,		//联络Y闭锁
#endif
	EV_SW_NUM,					//
};  
enum
{
	EV_PUB_START=EV_SW_NUM*SWITCH_NUM_MAX,
	EV_UAB1GDY=EV_PUB_START,	// 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,				// PT1有压
	EV_POW2YY,				// PT2有压
	EV_POW1WY,			    // PT1无压
	EV_POW2WY,			    // PT2无压
	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,
	EV_PT2ERR,	
	EV_PT1XXYC,
	EV_PT2XXYC,	
	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_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,			// 系统通信异常	
	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_GOOSE_CONFIG_ERR, 		// goose 配置异常
#endif
	FAULT_ALL,					//事故总
	EV_TT_BAT,				//电池自动活化
	EV_BAT_ON,				//电池投入
	EV_FDL1_TZ,
	EV_FDL2_TZ,
	EV_FDL3_TZ,
	EV_FDL4_TZ,
	EV_FDL5_TZ,
	EV_FDL6_TZ,
	EV_FDL7_TZ,
	EV_FDL8_TZ,
	EV_FDL1_GJ,
	EV_FDL2_GJ,
	EV_FDL3_GJ,
	EV_FDL4_GJ,
	EV_FDL5_GJ,
	EV_FDL6_GJ,
	EV_FDL7_GJ,
	EV_FDL8_GJ,
	EV_COMM1_ERR,			//通信端口1异常
	EV_COMM2_ERR,
	EV_COMM3_ERR,
	EV_COMM4_ERR,
	EV_COMM5_ERR,			
	EV_COMM6_ERR,			
	EX_NET1_ERR,			//网口1通信异常
	EX_NET2_ERR,			//网口2通信异常
	EV_LINK_EQU1,
	EV_LINK_EQU2,
	EV_LINK_EQU3,
	EV_LINK_EQU4,
	EV_LINK_EQU5,
	EV_LINK_EQU6,	
	EV_LINK_EQU7,
	EV_LINK_EQU8,
	EV_LINK_EQU9,
	EV_LINK_EQU10,			//CFG_LONK_EQU_SOE_NUM
	EV_MB_HZ,
	EV_MB_TZ,
	EV_PUB_END,

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

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

	/*通道校正记录*/
	EV_CHNSJS,				//	通道手校成功
	EV_ANGSJS,				//	角度手校成功
	EV_CHNZJS,				//	幅值自校成功
	/*遥控操作类*/
#ifdef SOE_YK_OPT
	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,         //遥控跳闸执行取消
#else
	EV_YH_SELECT,			//遥控合闸选择
	EV_YH_SELTOUT,			//遥控合闸选择超时
	EV_YH_EXECT,			//遥控合闸执行
	EV_YH_EXFAIL,			//遥控合闸执行失败
	EV_YT_SELECT,			//遥控跳闸选择
	EV_YT_SELTOUT,			//遥控跳闸选择超时
	EV_YT_EXECT,			//遥控跳闸执行
	EV_YT_EXFAIL,			//遥控跳闸执行失败
#endif

	EV_PLC_HZ,				// PLC 合输出
	EV_PLC_TZ,				// PLC 跳输出
	
	EV_HAND_HZ,
	EV_HAND_TZ,
	EV_433M_HZ,
	EV_433M_TZ,
	EV_PDA_HZ,
	EV_PDA_TZ,	
	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	,
#ifdef FUN_SET_CHANGE_SOE
	EV_SET_CHANGE_PARA,
#endif	
#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****************************************************/

