/********************************************************
*                                                                                                            
* 文 件 名： RelayConfig.h   
* 版权说明： 北京交控科技有限公司 
* 创建时间： 2012-03-20
* 作    者： 联锁组
* 功能描述： 继电器配置头文件  
* 函数包括： 
* 使用注意：
* 修改记录：   
*
********************************************************/ 

#ifndef _RELAY_CONFIG_H_
#define _RELAY_CONFIG_H_


/*包含系统配置头文件*/
#include  "../System/SystemConfigDefine.h"



/*最大值定义*/
#define RELAY_SUM_MAX                  ((UINT16)5000)	/*定义继电器数量最大值*/
#define BOARD_SUM_MAX                  ((UINT16)240)   /*定义一个联锁站采集驱动板数目最大值*/
#define BOARD_POS_MAX                  ((UINT16)40)   /*定义一块电路板采集驱动点数目最大值*/
#define ZHAOCHA_CHECK_SUM_MAX          ((UINT16)50)   /*照查继电器联锁条件检查表照查继电器数最大值*/
#define ZHAOCHA_CHECK_TYPE_SUN_MAX     ((UINT16)10)   /*照查继电器联锁条件检查类型数最大值*/

#define BOARD_COLL_POS_NUM             ((UINT16)32)   /*定义采集板上采集点数量*/
#define BOARD_DRV_POS_NUM              ((UINT16)16)   /*定义驱动板上驱动点数量*/
#define BOARD_COLL_DATA_LEN            ((UINT16)4)    /*定义采集板上采集数据字节数*/
#define BOARD_DRV_DATA_LEN             ((UINT16)2)    /*定义驱动板上驱动数据字节数*/

#define IO_COLL_DIFF_MAX			   ((UINT8)254)	  /*定义IO双系采集比较不一致点位的最大值*/
#define POINTTOLERATE_CYCNUM		   ((UINT8)7)	  /*IO双系采集不一致最大容忍周期数*/

/************************OC*************************/
#define OC_BOARD_SUM_MAX						((UINT8)44)  /*一个OC对应最大44块板*/
#define OC_COLL_BOARD_POS_NUM					((UINT16)40)   /*定义一块OC电路板采集点数目最大值*/
#define OC_LIAISON_RELAY_SUM_MAX                ((UINT16)3)    /*定义联络线接口继电器类型最大值*/
#define OC_LIAISON_DEV_SUM_MAX                  ((UINT16)100)   /*定义联络线接口继电器最大设备数*/   

/*继电器状态*/
#define RELAY_STATE_DOWN               ((UINT8)0x55) /*落下*/
#define RELAY_STATE_UP                 ((UINT8)0xaa)	/*吸起*/


/*继电器驱动状态*/
#define RELAY_DRIVE_STATE_DOWN          ((UINT8)0x55)	    /*落下*/
#define RELAY_DRIVE_STATE_UP            ((UINT8)0xaa)	    /*吸起*/
#define RELAY_DRIVE_STATE_NULL          ((UINT8)0xFF)	    /*无效*/


/*继电器采集描述*/
#define  RELAY_COLL_FORENODE_A         ((UINT8)0x01)	/*A系前采集*/
#define  RELAY_COLL_FORENODE_B         ((UINT8)0x02)	/*B系前采集*/
#define  RELAY_COLL_BACKNODE_A         ((UINT8)0x03)	/*A系后采集*/
#define  RELAY_COLL_BACKNODE_B         ((UINT8)0x04)	/*B系后采集*/

/*继电器采集模式描述*/
#define RELAY_COLL_MODE_FORE		   ((UINT8)0x01)	/*前节点采集*/
#define RELAY_COLL_MODE_BACK		   ((UINT8)0x02)	/*后节点采集*/
#define RELAY_COLL_MODE_DOUBLE		   ((UINT8)0x03)	/*双节点采集*/
#define RELAY_COLL_MODE_AFORE_BBCAK	   ((UINT8)0x04)	/*前节点采集*/
#define RELAY_COLL_MODE_ABACK_BFORE	   ((UINT8)0x05)	/*后节点采集*/

#define RELAY_VIRTUAL_ATTR_YES			 ((UINT8)0x55)			/*虚拟继电器*/
#define RELAY_VIRTUAL_ATTR_NO			 ((UINT8)0xaa)			/*非虚拟继电器*/

#define ZCJ_SUM_MAX						((UINT16)66)

/*********************新加的：修复processiotoci耗时*****************/
#define BOARD_MAX_ADDR                  ((UINT16)254)/*板卡最大地址*/


#define MAX_LOCK_EXCEPT_SECTION_NUM		((UINT16)10)	/*照查继电器关联的故障锁闭区段数量*/

#define MAX_LOCK_EXCEPT_ZHAO_RELAY_NUM	((UINT16)300) /*最大故障锁闭照查继电器数量*/

#define ZHAOCHA_CHECK_SPKS_YES         ((UINT8)0x01)  /*SPKS按钮有效*/
#define ZHAOCHA_CHECK_PHY_FLOCK_YES    ((UINT8)0x02)  /*区段封锁*/

#define DEV_IS_THIS_LINE_YES           ((UINT8)0x55)  /*设备是本线路*/
#define DEV_IS_THIS_LINE_NO            ((UINT8)0xaa)  /*设备是其他线路*/

/*OC联络线继电器类型定义*/
#define SIGNAL_LXJ_TYPE                 ((UINT8)0x01)  /*LXJ继电器*/
#define PHY_GJ_TYPE                     ((UINT8)0x02)  /*GJ继电器*/
#define SWITCH_DBJ_TYPE                 ((UINT8)0x03)  /*DBJ继电器*/
#define SWITCH_FBJ_TYPE                 ((UINT8)0x04)  /*FBJ继电器*/
#define SWITCH_DSJ_TYPE                 ((UINT8)0x05)  /*道岔DSJ继电器*/
#define SWITCH_DSQJ_TYPE                ((UINT8)0x06)  /*道岔DSJ继电器（前节点）*/
#define SWITCH_DSHJ_TYPE                ((UINT8)0x07)  /*道岔DSJ继电器（后节点）*/
#define SWITCH_BYPASSJ_TYPE             ((UINT8)0x08)  /*道岔旁路继电器*/
#define SIGNAL_YXJ_TYPE					((UINT8)0x09)  /*YXJ继电器*/
#define SIGNAL_DXJ_TYPE					((UINT8)0x0A)  /*DXJ继电器*/
#define CHECK_ZCJ_TYPE					((UINT8)0x0B)  /*ZCJ继电器*/

/*继电器混线相关*/
#define RELAY_HUNXIAN_NUM               ((UINT8)10)   /*继电器混线容忍最大周期*/
#define RELAY_HUNXIAN_STATE_YES         ((UINT8)0xaa)  /*继电器混线*/
#define RELAY_HUNXIAN_STATE_NO          ((UINT8)0x55)  /*继电器未混线*/

/*继电器驱动最大时间*/
#define RELAY_DRIVE_MAX_NUM               ((UINT8)10)   /*继电器驱动容忍最大周期*/

/*继电器关联板卡状态*/
#define RELAY_BOARD_FAULT_NO		   ((UINT8)0x55)	/*板卡状态未故障*/
#define RELAY_BOARD_FAULT_YES		   ((UINT8)0xaa)	/*板卡状态故障*/

/*继电器板卡类型*/
#define RELAY_DO_BOARD		           ((UINT8)0x5a)	/*安全输出板*/
#define RELAY_DO_RELAY_BOARD		   ((UINT8)0xc8)	/*安全输出继电器板*/
#define RELAY_SO_BOARD	               ((UINT8)0x3c)	/*零散输出板*/
#define RELAY_THIRTY_SIX_DI_BOARD	   ((UINT8)0xcc)	/*36路安全输入板*/
#define RELAY_THIRTY_TWO_DI_BOARD	   ((UINT8)0x5c)	/*32路安全输入板*/
#define RELAY_SI_BOARD	               ((UINT8)0xc3)	/*零散输入板*/



#endif

