/********************************************************
*                                                                                                            
* 文 件 名： SystemParameterManage.h   
* 版权说明： 北京交控科技有限公司 
* 创建时间： 2012-03-21
* 作    者： 联锁组
* 功能描述： 系统参数管理头文件  
* 函数包括： 
* 使用注意：
* 修改记录：   
*
********************************************************/ 

#ifndef _SYSTEM_PARAMETER_MANAGE_H_
#define _SYSTEM_PARAMETER_MANAGE_H_


#include "CommonTypes.h"
#include "../System/CiSystemDefine.h"
#include "../2oo2/2oo2InterfaceDataManage.h"
#include "DebugPrintInterface.h"


#ifdef __cplusplus
extern "C" {
#endif

#define CI_SYSTEM_PARA_SUM_MAX							((UINT16)200)		/*CI系统配置参数表，最大行数*/


#define CI_FUNCTION_SWITCH_SUM_MAX   					((UINT16)200)				/*联锁功能配置项最大数目*/
#define CLOSE_OPENED_SIG_LOCK_SWITCH 	((UINT8)1)					/*封锁道岔后关闭已开放信号*/
#define CLOSE_OPENED_SIG_LOCK_SIGNAL 	((UINT8)2)					/*封锁信号机后关闭已开放信号*/
#define CHECK_SWITCH_LOCKING_BEFORE_LOCKING_SWITCH_CONF ((UINT8)3)					/*封锁道岔时检查道岔锁闭*/
#define CHECK_SWITCH_DANLOCK_FLOCKING_SWITCH_CONF 		((UINT8)4)					/*封锁道岔时检查道岔单锁或防护锁闭*/
#define VOBC_INTERFACE_IDENTITY							((UINT8)5)					/*VOBC接口类型标识，1为FAO，2为互联互通*/
#define FUNC_OC_INTERFACE_CONF							((UINT8)7)					/*与OC接口标识，1为OC200-2.1.9，2为OC200-3.2，3为OC200-3.2之后版本，4为OC300-1.0.1之后版本*/
#define SCX_CLD_INTERFACE_TYPE							((UINT8)8)					/*试车线与车辆段接口类型标识，0x55为继电器接口，0xAA为通信接口*/
#define LINE_RAILWAY_TYPE_CONF                    		((UINT8)9)					/*轨道线路类型标识：0x55为城轨交通；0xAA为单轨交通*/	
#define DISTRIBUTED_IO_ENABLE_INDEX						((UINT8)10)				/*功能开关10：是否采用分布式IO*/
#define ARB_MOVE_SWITCH_CONF							((UINT8)11)				/*区段ARB是否可动作道岔：0x55为取消；0xAA为不取消*/
#define UNLOCK_OVERLAP_SWITCH_CONF						((UINT8)12)				/*解锁保护区段：0x55为传统解锁方式；0xAA为倒计时结束后向ZC申请保护区段解锁，2018.11.05*/
#define BLK_TEMP_SPEED_LIM_CONF							((UINT8)13)				/*点式临时限速配置数据读取类型：0x55读取点式临时限速计轴区段表；0xAA读取点式临时限速逻辑区段表*/
#define CI_FUNCTION_SWITCH_SHOW_SIGNAL_GreenYellow		((UINT8)14)				/*是否显示绿黄灯*/
#define FUNC_SIGNAL_LSXS_TYPE					        ((UINT8)15)	            /*信号机临时限速计算方式  0xaa：根据进路是否存在临时限速来计算  0x55：根据配置的信号机关联区段是否存在临时限速来计算*/
#define FUCN_IF_PSC                                     ((UINT8)16)                /*是否与PSC通信*/
#define FUNC_SWITCH_CHECK_END_SIGNAL_DS					((UINT8)17)			/*检查终端信号机断丝：0x55:不检查断丝，0xAA检查断丝*/
#define FUNC_RELAY_DETAIN_VALID_FLAG					((UINT8)18)			/*信号机硬线扣车有效标志，0x55:吸起有效，0xAA：落下有效，默认0x55*/
#define FUNC_SWITCH_SEND_UNLOCK_OVERLEP_TIMER_COUNTDOWN		((UINT8)19)		/*CBTC模式是否发送保护区段解锁倒计时信息，0x55:不发，0xAA：发*/
#define	FUNC_SWITCH_USE_RELAY_INTERFACE_BETWEEN_NEIGHBOURCI		((UINT8)20)		/*相邻联锁是否有继电器接口，0x55:不使用，0xAA：使用*/
#define FUNC_SWITCH_JUMPLOCK_DRIVE_SWITCH				((UINT8)21)			/*跳跃锁闭是否驱道岔，0x55:不驱，0xAA：驱*/
#define FUNC_CLD_GD_DIANLU_LINE				              ((UINT8)22)			/*线路车辆段是否使用轨道电路，0x55:不使用轨道电路，0xAA：使用轨道电路*/
#define FUNC_SWITCH_AC_FACTORY							((UINT8)23)			/*计轴系统厂家标识：0x55:不使用,0x01:永列，0x02:科安达*/
#define FUNC_SIGNAL_ALARM_DUANSI_FLAG                  ((UINT8)24)         /*灯丝断丝报警有效标识：0x55:继电器落下表示有报警，0xAA:继电器吸起表示有报警*/
#define FUNC_DIANSHI_LINSHIXIANSU_FLAG                  ((UINT8)25)         /*线路是否支持点式临时限速：0x55:支持，0xAA:不支持*/
#define FUNC_YDROUTE_SEC_FLOCK_CHECK_FLAG                 ((UINT8)26)         /*引导进路是否检查区段封锁：0x55:不检查，0xAA:检查*/
#define FUNC_JXTC_INTERFACE_MODE                          ((UINT8)27)        /*间隙探测接口方式：0xaa:脉冲，0x55:电平*/
#define FUNC_DS_BREAK_AUTOSIG_LOSE_EFFICACY_FLAG          ((UINT8)28)        /*灯丝故障后自动信号失效：0xaa:失效，0x55:不失效*/
#define FUNC_DETAIN_OPEN_RED                              ((UINT8)29)        /*扣车后是否开放红灯。配置0x55:因扣车关闭信号不做特殊处理。配置0xaa:因扣车关闭信号开放红灯*/
#define FUNC_INCLUDEVIRCI_FLAG                             ((UINT8)30)        /*支持虚拟联锁划分。配置0x55:不支持。配置0xaa:支持*/
#define FUNC_KOUCHE_CLOSE_YINDAO_FLAG					((UINT8)31)			 /*扣车后关闭引导信号：0x55:扣车后不关闭引导信号；0xAA:扣车后关闭引导信号*/ /* 2022/2/22,新增 */
#define FUNC_CHECK_FLOCK_BEFORE_DANSUO	             ((UINT8)32)	   /*单锁道岔时检查道岔封锁：0x55:道岔单锁时不检查道岔封锁；0xAA:道岔单锁时检查道岔封锁*/ /* 2022/4/7,新增 */
#define FUNC_CBTC_CHECK_JUMPLOCK_FLAG	             ((UINT8)33)       /*CBTC模式下是否检查跳跃锁闭：0x55:不检查；0xAA:检查  2022/4/7,新增 */
#define FUNC_PSD_SEND_ATS_STATE_FLAG					((UINT8)34)       /*PSD互锁解除时给ATS发送屏蔽门状态：0x55:发送关门状态；0xAA:发送实际状态*/ /* 2022/6/22,新增 */
#define FUNC_YD_PSWITCH_MOVE_SWITCH						((UINT8)35)			/*引导进路防护道岔是否可动， 0x55不可动，0xaa 可动*/
#define FUNC_RESET_ARB_SWITCH							((UINT8)36)				/*重新上电后，尽头线计轴故障直接判ARB：0x55关闭，0xAA打开*/
#define FUNC_DSN_LINE_SWITCH							((UINT8)37)				/*是否支持迪士尼：0x55不支持，0xAA支持*/
#define FUNC_ARB_SWITCH									((UINT8)38)				/* ARB功能开关 */
#define FUNC_TOA_SWITCH									((UINT8)39)				/* 无直轨计轴占用功能开关 */
#define FUNC_UCT_SWITCH									((UINT8)40)				/* UCT功能开关*/
#define FUNC_TMC_SWITCH									((UINT8)41)				/* TMC功能开关 (是否初始化全站临时限速)*/
#define FUNC_ROUTE_DRV_SWITCH_EARLY						((UINT8)42)				/* 进路提前驱动道岔功能开关 配置0x55:不支持该功能。配置0xaa:支持该功能*//*将岔区划分为更小的逻辑区段，以支持进路提前驱动道岔。*//*add 20221002 TIOC5.0*/
#define FUNC_EA_SWITCH									((UINT8)43)			/*区间疏散功能开关*/
#define FUNC_INTRUSEC_CHECKFLOCK_FLAG					((UINT8)44)       /*判断侵限时是否检查区段封锁 0x55:检查；0xAA:不检查   2022/8/25,新增*/ 
#define FUNC_XIANSU_SWITCH								((UINT8)45)       /*后备模式信号开放是否检查区段临时限速（0x55:不检查；0xaa:检查）*/ 
#define FUNC_RRM_SWITCH									((UINT8)46)		/*远程RM功能开关*/
#define FUNC_DEPART_RRM_SWITCH							((UINT8)47)		/*出站过程中支持远程RM功能开关*/
#define FUNC_DA_SWITCH									((UINT8)48)       /*脱轨防护功能开关（0x55:不支持；0xaa：支持）*/ 
#define FUNC_OC_100_OR_200								((UINT8)49)       /*执行单元使用类型（0x55:OC-100；0xaa：OC-200）*/ 
#define FUNC_OC_200_INOUTNET							((UINT8)50)       /*OC通信使用内外网配置（0x55:外网；0xaa：内网）*/ 
#define FUNC_ZIFUSHI_BUTTON							    ((UINT8)51)       /*按钮是否为自复式（0x55:非自复式；0xaa：自复式）*/ 
#define FUNC_JIZHONGQU_LINSHIXIASNSU_FLAG				((UINT8)52)       /*与ZC通信中断后，是否设置集中区临时限速（0x55:设置；0xaa：不设置）*/ 
#define FUNC_REPEATE_OPEN_CHECK_SPKS				    ((UINT8)53)       /*点式进路重开信号是否检查SPKS状态，（0x55:检查，点式不重开；0xaa：不检查，可重开）*/ 
#define FUNC_SWITCH_SHIBIAO_PROMPTLY_ALARM				((UINT8)54)       /*道岔失表是否立即向ATS报警（0XAA：立即报警  0X55：等待时间超限报警）*/ 
#define FUNC_FLOODGATE_NO_CLOSE_REQ_CHECK				((UINT8)55)		  /*列车资源不检查防淹门关闭请求状态开关(oxAA:打开(不检查),0X55:关闭)*/
#define FUNC_FLOODGATE_NO_OPEN_LOCK_CHECK				((UINT8)56)		  /*列车资源不检查防淹门开启锁闭状态开关(oxAA:打开(不检查),0X55:关闭)*/
#define FUNC_SETROUTE_CONNECT_CHECK						((UINT8)57)		  /*进路办理不检查联络线条件开关(0XAA：打开  0X55：关闭)*/
#define FUNC_ROUTELOCK_OPEN_SIGNAL				        ((UINT8)58)		  /*进路完整锁闭收到办理命令是否重开信号开关(0XAA：打开（执行）  0X55：关闭（不执行） */
#define FUNC_EVACUATE_RELATE_DIR_SWITCH					((UINT8)59)		  /*区间疏散防护区域区分上下行开关(0XAA：打开  0X55：关闭)*/
#define FUNC_TG_RELATE_DIR_SWITCH					    ((UINT8)60)		  /*脱轨防护区域区分上下行开关(0XAA：打开  0X55：关闭)*/
#define FUNC_INTRUSEC_VAIN_NEWVERSION                   ((UINT8)61)		  /*采用新版侵限数据(0XAA：采用  0X55：不采用)*/
#define FUNC_LJK_EXIST_DB                               ((UINT8)62)		  /*RC监督休眠唤醒轨列车相邻区段占压功能开关(0xAA，开，针对无DB的线路，配开； 0x55，关，有DB的线路，建议配关)*/
#define FUNC_ZQX_CHECK_HUMID_RAIL                       ((UINT8)63)		  /*总取消是否检查进路始端信号机处于湿轨范围内(0xAA：开，总取消检查湿轨模式状态； 0x55：关，总取消不检查湿轨模式状态)*/
#define FUNC_AXIS_COMM_BAD_KEEP_CBTC                    ((UINT8)64)		  /*计轴系统通信中断后是否能够维持CBTC运行(0xAA：是； 0x55：否)*/
#define FUNC_INIT_XIANDI_HAVE_POWER                     ((UINT8)65)		  /*上电初始化现地是否有联锁控制权(0x55:无控制权;0xAA:有控制权)*/
#define FUNC_LEADROUTE_FLOODGATE_CHECK                  ((UINT8)67)		  /*引导进路是否检查防淹门状态(0x55:不检查;0xAA:检查)*/
#define FUNC_LEADROUTE_ESB_CHECK                        ((UINT8)68)		  /*引导进路是否检查ESB状态(0x55:不检查;0xAA:检查)*/
#define FUNC_SWITCH_ZX_ALLCLOSE_USEBLUE                 ((UINT8)69)		  /*杭德需求：正线灭灯均亮蓝灯开关：0xAA打开 0x55关闭*/
#define FUNC_NVRAM_TRAIN_FlYING_OVER                    ((UINT8)70)		  /*使用NVRAM位置且位置监督无效的列车飞车不宕机开关：0xAA-飞车不宕机 0x55-飞车宕机*/
#define FUNC_REOPRN_SET_NEAR                            ((UINT8)71)		  /*重开信号是否记忆进路接近锁闭状态开关：0xAA-重开后默认设置接近 0x55-重开后根据接近区段占用状态设置接近/未接近*/


#define CiSum_ID						((UINT16)1)/*实际联锁集中站数量 编号*/
#define AppCycleTime_ID					((UINT16)2)/*联锁应用周期(单位:ms) (配置字段)*/
#define StartUnlockTime_ID				((UINT16)3)/*上电解锁超限时间(单位:s) (配置字段)*/
#define RouteXuanPaiTime_ID				((UINT16)4)/*进路选排超限时间(单位:s) (配置字段)*/
#define RouteLockTime_ID				((UINT16)5)/*进路锁闭超限时间(单位:s) (配置字段)*/
#define OverlapLockTime_ID				((UINT16)6)/*保护区段锁闭超限时间(单位:s) (配置字段)*/
#define RouteOpenSigTime_ID				((UINT16)7)/*进路开放超限时间(单位:s) (配置字段)*/
#define BlocRouteDelayTime_ID			((UINT16)8)/*点式进路延时解锁时间(单位:s) (配置字段)*/
#define CbtcRouteDelayTime_ID			((UINT16)9)/*CBTC进路延时解锁时间(单位:s) (配置字段)*/
#define LeadRouteFaultOpenTime_ID		((UINT16)10)/*引导进路内方区段故障信号开放持续时间(单位:s) (配置字段)*/
#define SecDelayUnlockTime_ID			((UINT16)11)/*区段延时解锁时间(单位:s) (配置字段)*/
#define SignalOpenTime_ID				((UINT16)12)/*信号开放超限时间(单位:s) (配置字段)*/
#define SignalCloseTime_ID				((UINT16)13)/*信号关闭超限时间(单位:s) (配置字段)*/
#define SwitchMoveTime_ID				((UINT16)14)/*道岔动作超限时间(单位:s) (配置字段)*/
#define SwitchDriveTime_ID				((UINT16)15)/*道岔驱动超限时间(单位:s) (配置字段)*/
#define ProtectSecUnlockTime_ID			((UINT16)16)/*防护区段解锁停稳时间(单位:s) (配置字段)*/
#define OccupyToIdleTime_ID				((UINT16)17)/*占用变空闲计时时间(单位:s) (配置字段)*/
#define FaultUnlockTime_ID				((UINT16)18)/*白光带区段故障解锁时间(单位:s) (配置字段)*/
#define SectionResetTime_ID				((UINT16)19)/*计轴复位超时时间(单位:s) (配置字段)*/
#define NonRouteXuanPaiTime_ID			((UINT16)20)/*非进路选排总时间*/
#define NonRouteDelayUnlockTime_ID		((UINT16)21)/*非进路延时解锁总时间*/
#define SwitchDriveCuoFengTime_ID		((UINT16)22)/*进路选排道岔错峰时间*/
#define ZuheRouteXuanPaiTime_ID			((UINT16)23)/*组合进路选排时间*/
#define WaitZCResponseTime_ID			((UINT16)24)/*等待ZC反馈时间（申请关闭车库门）时间单位毫秒*/
#define SecJumpLockDelayUnlockTime_ID	((UINT16)25)/*区段跳跃锁闭延时解锁时间(单位:s) (配置字段)*/
#define GaragedoorOperateTime_ID		((UINT16)26)/*车库门动作超时时间(单位:s) (配置字段)*/
#define CtProtectSecUnlockTime_ID		((UINT16)27) /*CT保护区段解锁停稳时间(s)*/
#define SingleSwitchMoveTime_ID				((UINT16)28)/*单轨单开道岔驱动超限时间(s)*/
#define ThreeSwitchMoveTime_ID				((UINT16)29)/*单轨三开道岔驱动超限时间(s)*/
#define FiveSwitchMoveTime_ID				((UINT16)30)/*单轨五开道岔驱动超限时间(s)*/
#define gapDetectTime_ID				((UINT16)31)/*间隙探测时间*/
#define psdButtonPressTime_ID				((UINT16)32)/*站台按钮吸起失效时间（s）*/
#define DCTYWaitSignalOpenCount_ID				((UINT16)33)/*调车同意等待信号重开时间T(S)*/
#define ZFWJRelayDriveTime_ID				((UINT16)34)/*计轴总复位命令驱动最长时T(S)*/
#define CiAndAxleTransmitBadEnsureTime_ID				((UINT16)35)/*CI-计轴系统通信故障判断时间（毫秒）*/
#define CiAndOCTransmitBadEnsureTime_ID				((UINT16)36)/*CI-OC通信故障判断时间（毫秒）*/
#define DHFRelayValidTime_ID				((UINT16)37)/*道岔到位后DFH继电器吸起容忍时间(毫秒)。*/
#define FirstOrderTime_ID				        ((UINT16)38)/*一次命令有效时间(秒)。*/
#define JXTCPulseContinueTime_ID            ((UINT16)39) /*间隙探测脉冲持续时间（毫秒）*/
#define CLD_SERIAL_PORT_COM_ID            ((UINT16)40) /*车辆段和试车线串口通信端口，十进制：如0102，01表示COM1,02表示COM2*/
#define SCX_SERIAL_PORT_COM_ID            ((UINT16)41) /*试车线和车辆段串口通信端口，十进制：如0102，01表示COM1,02表示COM2*/
#define LABAR_UNLOCK_OVERLAP_time             ((UINT16)42U) /*人工解锁保护区段延时解锁时间（秒）*/
#define CONFIG_PSD_CLOSE_MAX_TIME                   ((UINT16)43U) /*屏蔽门关闭超限时间*/
#define CONFIG_PSD_OPEN_MAX_TIME                   ((UINT16)44U) /*屏蔽门打开超限时间*/
#define CONFIG_SIG_RONGREN_MAX_TIME                   ((UINT16)45U) /*驱动亮灯之后采集全灭容忍时间*/
#define CONFIG_SPKSDELAY_TIME                   ((UINT16)46) /*SPKS按钮指示灯点亮延时时间(秒)*/
#define CONFIG_CI_AXIS_PRTCL_VER                   (47U) /*计轴系统与联锁校验的协议版本号*/
#define AXLE_SEG_UT_REDUNDANCE_ID			    (48U)/*计轴区段UT占压冗余时间(MS)*/
#define SIGNAL_LIGHTUP_SEC_LEN_ID  		        (49U)/*运营要求的信号机点灯区段长度米（M）*/
#define SIGNAL_LIGHTUP_BIG_ALXE_SEC_LEN_ID      (50U)/*信号机点灯区段长大计轴长度米(M)*/
#define SIGNAL_LIGHTUP_EX_ALXE_SEC_LEN_ID       (51U)/*信号机点灯区段延长计轴长度米(M)*/
#define SIGNAL_CROSS_MAX_LEN_ID				    (52U)/*信号机跨压距离米(M)*/
#define BACK_PROTECT_MAX_LEN_ID			        (53U)/*站台追踪防护距离米(M)*/
#define SHORTEST_TRAIN_LEN_ID					(54u)/*线路最短车长*//* add 2022.3.12 */
#define CT_FlYING_REDUN_TIME_ID					(55u)/* 飞车宕机容忍时间（ms） */
#define DYTEST_SUM_MAX_ID						(56u)/*同时进行动态测试最大列车数量*/
#define EA_MODE_ID								(57u)/*区间疏散防护区域建立方式*/
#define EA_STATION_MODE_ID						(58u)/*站台疏散防护区域建立方式*/
#define ZFS_BUTTON_RELAY_COLL_TIME              (59U) /* 自复式按钮对应继电器采集时间（ms）*/
#define ZFS_BUTTON_FAULT_ENSURE_TIME            (60U) /* 自复式扣车/紧急按钮故障判断时间（s）*/
#define CONFIG_MJJSOPENDELAY_TIME               (61u) /*门禁解锁延时时间(秒)*/
#define TRAIN_RECYCLE_RES_TIME					(62U) /*回收列车资源延时时间（ms）*/
#define ZFS_CANCEL_BTN_ERR_ENSURE_TIME          (63U) /* 自复式取消扣车/紧急按钮故障判断时间（s）*/
#define ROUTE_NEAREST_TRAIN_RENJIE_TIME			(64U) /*进路最接近的列车需要总人解进路时延时等待时间（s）*/
#define SGBJ_ROUTE_DELAY_OPEN_TIME			    (65U) /*声光报警进路延时开放时间（s）*/
#define FLOODGATE_ACCESS_OCC_DELAY_OPEN_TIME	(66U)	/*防淹门接近区段占用延迟关门时间(S)*/
#define SWITCH_BYPASS_DELAY_TIME				(67U)	/*本线路联络线道岔未及时取消旁路等待时间(S)*/
#define LOG_SUBPACK_DATA_LENGTH    				(68U)	/*联锁UDP传输日志时，每个分包的长度(Byte)*/
#define ZFS_CANCEL_BTN_ERR_TRIGGER_TIME    		(69U)	/*自复式取消扣车紧急按钮误触发判断时间（s）*/
#define ARB_CHECK_ALXE_SEC_LEN   		(70U)	/*区段ARB向相邻区段检查计轴长度米(M)*/
#define ARB_CHECK_ALXE_TIME   		(71U)	/*区段ARB向相邻区段检查最近无坏车时间ms*/
#define NONRETURN_BTN_ERR_ENSURE_TIME   		(72U)	/*无人折返按钮故障判断时间（秒/S）*/
#define OC_COLL_TOLERATE_TIME   		(73U)	/*OC采集容忍时间（ESB/PSD/SPKS/扣车）（ms）*/

#define FUNC_SWITCH_ON 									((UINT8)0xAA)				/*功能配置开关打开*/
#define FUNC_SWITCH_OFF 								((UINT8)0x55)				/*功能配置开关关闭*/
#define FUNC_SWITCH_UNDEF 								((UINT8)0xFF)				/*功能配置开关未定义*/
#define FUNC_SWITCH_ESB_NINGXIANG_RAIL 				    ((UINT8)0x5A)				/*ESB处理按宁象市域铁路处理*/
#define LINE_FAO 										((UINT8)0x01)				/*线路为FAO*/
#define LINE_HLHT										((UINT8)0x02)				/*线路为互联互通*/
#define LINE_FAOHLHT									((UINT8)0x03)				/*线路为FAO+互联互通，新机场线*/
#define LINE_CC											((UINT8)0x05)				/*线路为车车线路 15号线*/
#define LINE_FAOHLHT_ONESELF                            ((UINT8)0x04)                /*线路只有自家VOBC，且在FAO+互联互通基础上新增接口*/
#define LINE_FAOHLHT_ONESELFSECOND						((UINT8)0x06)				/*在互联互通基础上，删除站台控制信息和全自动运行洗车信息*/
#define SCX_CLD_INTERFACE_COMM 							((UINT8)0xAA)				/*试车线与车辆段采用通信接口*/
#define SCX_CLD_INTERFACE_RELAY 						((UINT8)0x55)				/*试车线与车辆段采用继电器接口*/
#define SCX_CLD_SERIAL_PORT_COMM 						((UINT8)0x5A)				/*试车线与车辆段采用串口接口*/
#define SCX_NONELOCAL_MODE 								((UINT8)0xA5)				/*异地试车线*/


#define UP_VALID		((UINT8)0x55)  /*扣车继电器吸起有效*/
#define DOWN_VALID		((UINT8)0xaa)  /*扣车继电器落下有效*/
	
#define CI_PATTERN_TRADITIONAL						((UINT8)0x55)					/*传统联锁*/
#define CI_PATTERN_FULL_ELECTRONIC					((UINT8)0xAA)					/*全电子联锁*/

#define CI_CENTER_IO			((UINT8)0x55)/*集中式IO*/
#define CI_DISTRIBUTED_IO		((UINT8)0xAA)/*分布式IO*/

#define Oc_Max_Board_Num	(20U)		/*属于一个OC的最大板卡数目*/

#define CI_SIGNAL_MAX	 ((UINT16)300)	/*属于一个CI的最大信号机的数目*/
#define CI_SWITCH_MAX	 ((UINT16)100)	/*属于一个CI的最大道岔的数目*/
#define CI_GD_MAX		 ((UINT16)700)	/*轨道区段最大数量*/

#define RC_WORK_MODE_CI		((UINT8)0x55u)	/*联锁工作模式*/
#define RC_WORK_MODE_TIOC	((UINT8)0xAAu)	/*TIOC工作模式*/

#define RELAY_PATTERN_TRADITIONAL	 				0x55U					/*继电器接口*/
#define RELAY_PATTERN_FULL_ELECTRONIC				0xAAU					/*非继电器接口*/

#define FUNC_HITSOFTWALL_ON				((UINT8)0x55)				/*撞软墙开关打开*/
#define FUNC_HITSOFTWALL_OFF			((UINT8)0xaa)				/*撞软墙开关关闭*/

#define FUNC_OVERLAP_LOCK_BY_ATS       ((UINT8)0x01)				/*ATS锁闭保护区段*/
#define FUNC_OVERLAP_LOCK_BY_CI       ((UINT8)0x02)				    /*联锁自行锁闭保护区段*/

#define DATA_TYPE_NEW	((UINT8)0x55u)	/*最新数据结构__OC3.2 数据结构及新公共数据结构30.X*/
#define DATA_TYPE_OLD		((UINT8)0xAAu)	/*兼容的老OC数据结构_或杭德数据结构28.0.0.X*/

#define OC200_VER2_1_9			((UINT8)0x01u)/*功能开关7配置为1，OC200 2.1.9接口*/
#define OC200_VER3_2			((UINT8)0x02u)/*功能开关7配置为2，OC200 3.2接口*/
#define OC200_VER3_2_AFTER		((UINT8)0x03u)/*功能开关7配置为3，OC200 3.2版本以后接口*/
#define OC300_VER1_0_1_ANDAFTER	((UINT8)0x04u)/*功能开关7配置为4，OC300 1.0.1及版本以后接口*/

#define RC_LINK_LINE_YES		((UINT8)0x55U)	/*具备联络线属性*/
#define RC_LINK_LINE_NO	        ((UINT8)0xAAU)	/*不具备联络线属性*/

/*系统参数结构体*/
typedef struct S_SystemParameterStruct
{
	UINT8 CiSum;						    /*实际联锁集中站数量*/
    UINT32 AppCycleTime;                    /*联锁应用周期(单位:ms) (配置字段)*/
	UINT32 StartUnlockTime;                 /*上电解锁超限时间(单位:s) (配置字段)*/
	UINT32 RouteXuanPaiTime;                /*进路选排超限时间(单位:s) (配置字段)*/
    UINT32 RouteLockTime;                   /*进路锁闭超限时间(单位:s) (配置字段)*/
    UINT32 OverlapLockTime;                 /*保护区段锁闭超限时间(单位:s) (配置字段)*/
    UINT32 RouteOpenSigTime;                /*进路开放超限时间(单位:s) (配置字段)*/
	UINT32 BlocRouteDelayTime;              /*点式进路延时解锁时间(单位:s) (配置字段)*/
	UINT32 CbtcRouteDelayTime;              /*CBTC进路延时解锁时间(单位:s) (配置字段)*/
	UINT32 LeadRouteFaultOpenTime;          /*引导进路内方区段故障信号开放持续时间(单位:s) (配置字段)*/
	UINT32 SecDelayUnlockTime;              /*区段延时解锁时间(单位:s) (配置字段)*/
	UINT32 SignalOpenTime;                  /*信号开放超限时间(单位:s) (配置字段)*/
	UINT32 SignalCloseTime;                 /*信号关闭超限时间(单位:s) (配置字段)*/
	UINT32 SwitchMoveTime;                  /*道岔动作超限时间(单位:s) (配置字段)*/
	UINT32 SwitchDriveTime;                 /*道岔驱动超限时间(单位:s) (配置字段)*/
	UINT32 ProtectSecUnlockTime;            /*防护区段解锁停稳时间(单位:s) (配置字段)*/
	UINT32 OccupyToIdleTime;                /*占用变空闲计时时间(单位:s) (配置字段)*/
    UINT32 FaultUnlockTime;                 /*白光带区段故障解锁时间(单位:s) (配置字段)*/
    UINT32 SectionResetTime;                /*计轴复位超时时间(单位:s) (配置字段)*/
	UINT32 NonRouteXuanPaiTime;             /*非进路选排总时间*/
	UINT32 NonRouteDelayUnlockTime;         /*非进路延时解锁总时间*/
    UINT32 SwitchDriveCuoFengTime;          /*进路选排道岔错峰时间*/
	UINT32 ZuheRouteXuanPaiTime;            /*组合进路选排时间*/
    UINT32 WaitZCResponseTime;              /*等待ZC反馈时间（申请关闭车库门）时间单位毫秒*/
	UINT32 SecJumpLockDelayUnlockTime;      /*区段跳跃锁闭延时解锁时间(单位:s) (配置字段)*/
	UINT32 GaragedoorOperateTime;           /*车库门动作超时时间(单位:s) (配置字段)*/
	UINT32 CtProtectSecUnlockTime;          /*通信车占用进路内最后一个区段下的防护区段解锁停稳时间(单位:s)(配置字段)*/
	UINT32 SingleSwitchMoveTime;            /*单轨单开道岔驱动超限时间*/
	UINT32 ThreeSwitchMoveTime;				/*单轨三开道岔驱动超限时间*/
	UINT32 FiveSwitchMoveTime;			    /*单轨五开道岔驱动超限时间*/
	UINT32 gapDetectTime;					/*间隙探测时间(单位:s)*/
	UINT32 psdButtonPressTime;				/*站台按钮吸起失效时间(单位:s)*/
	UINT32 dwDCTYWaitSignalOpenCount;			/*调车同意等待信号重开时间(单位:s)*/
	UINT32 ZFWJRelayDriveTime;			    /*计轴总复位命令驱动最长时间(单位:s)*/
	UINT32 CiAndAxleTransmitBadEnsureTime;    /*联锁与计轴通信中断确认时间单位毫秒*/
	UINT32 dwCiAndOcTransmitBadEnsureTime;    /*联锁与OC通信中断确认时间单位毫秒*/
	UINT32 AxleSectionUtRedundanceTime;		/*计轴区段UT占压冗余周期数*/

	UINT8 CiType;                           /*联锁类型 1为正线联锁 4 为车辆段联锁 5 为试车线 */
	UINT32 CiAndZcTransmitBadEnsureTime;    /*联锁与ZC通信中断确认时间单位毫秒*/
	UINT32 CiAndCiTransmitBadEnsureTime;    /*联锁与联锁通信中断确认时间单位毫秒*/
	UINT32 CiAndVobcTransmitBadEnsureTime;  /*联锁与Vobc通信中断确认时间单位毫秒*/
	UINT32 CiAndPsdTransmitBadEnsureTime;   /*联锁与PSD通信中断确认时间单位毫秒*/
	UINT8  chVersionOfZCToCI;                 /*ZC-CI接口协议版本号，add by sds 2019-1-21*/
	UINT8  chVersionOfVOBCToCI;               /*VOBC-CI接口协议版本号，add by sds 2019-1-21*/
	UINT32 CiAndPscTransmitBadEnsureTime;    /*联锁与Psc通信中断确认时间单位毫秒*/

	/**********适配最新系统配置数据****************/
	UINT16  MaxLineLimitSpeed;/*线路最高限速,此处数据库中存放的是UINT8的km/h数据，需要在这里转换成cmps单位的数据*/
	UINT8	MaxTsrSpeed;/*临时限速最高限速*/
	UINT8	TimeZoneDifference;/*NTP校时时区差.格林威治时间与本地时间的时区差，单位：时区，应用使用时应乘以3600转换为秒。*/
	UINT16	MABackDistance;/*安全防护距离.考虑到最不利情况情况下（最大潜在退行距离和线路最大坡度等）移动授权考虑的安全防护距离*/
	UINT16	MaxTsrNum;/*一次设置临时限速的最大个数*/
	UINT16	MaxSectionOfTsr;/*一个临时限速报文中包含的最大逻辑区段数量*/
	UINT32	IvocIvocCommunicationErrorTime;/*IVOC-IVOC信故障判断时间（ms）,add by yt，2022年3月1日，适配车车系统配置数据*/
	UINT32	IvocOcCommunicationErrorTime;/*IVOC-OC通信故障判断时间(ms),add by yt，2022年3月1日，适配车车系统配置数据*/
	UINT32	TmcItsCommunicationErrorTime;/*TMC-ITS通信故障判断时间（ms）,add by yt，2022年3月1日，适配车车系统配置数据*/
	UINT32	TmcOcCommunicationErrorTime;/*TMC-OC通信故障判断时间(ms),add by yt，2022年3月1日，适配车车系统配置数据*/
	UINT32	ItsOcCommunicationErrorTime;/*ITS-OC通信故障判断时间（ms）,add by yt，2022年3月1日，适配车车系统配置数据*/
	UINT32	OcPsdCommunicationErrorTime;/*OC-PSD通信故障判断时间（ms）,add by yt，2022年3月1日，适配车车系统配置数据*/
	UINT32	IvocTslCommunicationErrorTime;/*IVOC-TSL通信故障判断时间（ms）,add by yt，2022年3月1日，适配车车系统配置数据*/
	UINT32	OcTslCommunicationErrorTime;/*OC-TSL通信故障判断时间（ms）,add by yt，2022年3月1日，适配车车系统配置数据*/
	UINT16	MALengthForATOParking;        /*满足ATO精准停车条件的MA长度,add by yt，2022年3月1日，适配车车系统配置数据*/
	UINT8 LinkLogicDirUpAndDown;   /*系统定义逻辑方向与上下行方向的关系,add by yt，2022年3月1日，适配车车系统配置数据*/
	UINT16  OppositeTrackDistance;    /*对向行驶双车间隔最小安全距离（cm）,add by yt，2022年3月1日，适配车车系统配置数据*/
	UINT16  StationTrackDistance;     /*站台追踪时，列车间隔距离(cm),add by yt，2022年3月1日，适配车车系统配置数据*/
	UINT32  MaxMALength;              /*线路最差情况下紧急制动距离（单位m）,add by yt，2022年3月1日，适配车车系统配置数据*/
	UINT32	VobcAtsCommunicationErrorTime;/*VOBCATS通信故障判断时间*/

	/************************************************/
} SystemParameterStruct;

typedef	struct S_Para
{
	UINT16 SysParaId;	/*参数编号*/
	UINT16 SysParaValue;/*参数取值*/
}ParaStruct;

/*其他联锁参数配置*/
typedef	struct S_OtherCiParaStruct
{
	UINT8 chOtherCiId;						/*其他联锁ID*/
	UINT8 chOtherCiType;					/*其他联锁类型*/
	UINT8 chOtherCiDistributedIO;			/*其他联锁分布式联锁类型*/
	UINT32 wOtherCiUTProSecUnlockCyc;		/*其他联锁UT保护区段解锁停稳时间*/
	UINT32 wOtherCiCTProSecUnlockCyc;		/*其他联锁CT保护区段解锁停稳时间*/
	UINT32 wOtherCiUTNearUnLockCyc;		/*其他联锁点式接近延时解锁超限时间*/
	UINT32 wOtherCiCTNearUnLockCyc;		/*其他联锁CBTC接近延时解锁超限时间*/
	UINT8 chOtherCiWaysidePattern;			/*其他联锁轨旁继电接口类型*/
	UINT8 chOtherCiRcWorkMode;				/*其他联锁工作模式*/
}OtherCiParaStruct;

/*系统参数结构体*/
typedef struct S_SystemParaStruct
{
	ParaStruct ParaStru[CI_SYSTEM_PARA_SUM_MAX];
	UINT8 CiType;                           /*联锁类型 1为正线联锁 4 为车辆段联锁 5 为试车线 */
	
	UINT32 CiAndVobcTransmitBadEnsureTime ;
	UINT32 CiAndZcTransmitBadEnsureTime ;
	UINT32 CiAndCiTransmitBadEnsureTime ;

	UINT32 CiAndPsdTransmitBadEnsureTime ;
	UINT32 dwVersionOfZCToCI ;
	UINT32 dwVersionOfVOBCToCI ;
	UINT32 CiAndPscTransmitBadEnsureTime ;

	/**********适配最新系统配置数据****************/
	UINT16  MaxLineLimitSpeed;/*线路最高限速,此处数据库中存放的是UINT8的km/h数据，需要在这里转换成cmps单位的数据*/
	UINT8	MaxTsrSpeed;/*临时限速最高限速*/
	UINT8	TimeZoneDifference;/*NTP校时时区差.格林威治时间与本地时间的时区差，单位：时区，应用使用时应乘以3600转换为秒。*/
	UINT16	MABackDistance;/*安全防护距离.考虑到最不利情况情况下（最大潜在退行距离和线路最大坡度等）移动授权考虑的安全防护距离*/
	UINT16	MaxTsrNum;/*一次设置临时限速的最大个数*/
	UINT16	MaxSectionOfTsr;/*一个临时限速报文中包含的最大逻辑区段数量*/
	UINT32	IvocIvocCommunicationErrorTime;/*IVOC-IVOC信故障判断时间（ms）,add by yt，2022年3月1日，适配车车系统配置数据*/
	UINT32	IvocOcCommunicationErrorTime;/*IVOC-OC通信故障判断时间(ms),add by yt，2022年3月1日，适配车车系统配置数据*/
	UINT32	TmcItsCommunicationErrorTime;/*TMC-ITS通信故障判断时间（ms）,add by yt，2022年3月1日，适配车车系统配置数据*/
	UINT32	TmcOcCommunicationErrorTime;/*TMC-OC通信故障判断时间(ms),add by yt，2022年3月1日，适配车车系统配置数据*/
	UINT32	ItsOcCommunicationErrorTime;/*ITS-OC通信故障判断时间（ms）,add by yt，2022年3月1日，适配车车系统配置数据*/
	UINT32	OcPsdCommunicationErrorTime;/*OC-PSD通信故障判断时间（ms）,add by yt，2022年3月1日，适配车车系统配置数据*/
	UINT32	IvocTslCommunicationErrorTime;/*IVOC-TSL通信故障判断时间（ms）,add by yt，2022年3月1日，适配车车系统配置数据*/
	UINT32	OcTslCommunicationErrorTime;/*OC-TSL通信故障判断时间（ms）,add by yt，2022年3月1日，适配车车系统配置数据*/
	UINT16	MALengthForATOParking;        /*满足ATO精准停车条件的MA长度,add by yt，2022年3月1日，适配车车系统配置数据*/
	UINT8 LinkLogicDirUpAndDown;   /*系统定义逻辑方向与上下行方向的关系,add by yt，2022年3月1日，适配车车系统配置数据*/
	UINT16  OppositeTrackDistance;    /*对向行驶双车间隔最小安全距离（cm）,add by yt，2022年3月1日，适配车车系统配置数据*/
	UINT16  StationTrackDistance;     /*站台追踪时，列车间隔距离(cm),add by yt，2022年3月1日，适配车车系统配置数据*/
	UINT32  MaxMALength;              /*线路最差情况下紧急制动距离（单位m）,add by yt，2022年3月1日，适配车车系统配置数据*/
	UINT32	VobcAtsCommunicationErrorTime;/*VOBCATS通信故障判断时间*/
	UINT32 dwLineMinTrainLength;		/*系统配置数据，线路最小车长*/
	UINT8  chZXDynamicTestSwitch;		/*正线是否支持动态测试，55 关闭，AA打开 配置中 aa关闭 55打开*/
	UINT8  chDynamicTestSwitch;			/*是否支持动态测试开关，55 关闭，AA打开 配置中 aa关闭 55打开*/
	UINT8 chWLSFunSwitch;				/* 是否支持全线免筛功能，0x55 不支持 0xAA支持 */
	UINT32 dwEaFrontDis;				/*区间疏散防护区域前查距离*/
	UINT32 dwEaBehindDis;				/*区间疏散防护区域后查距离*/
	UINT8 cAwakeCheckSpksSwitch;  /*唤醒过程中检查SPKS状态开关，0xaa检查，0x55不检查*/
	UINT32 dwVobcCiBackUpCommErrorTime;  /*IVOC-RC或VOBC-CI后备通道通信故障判断时间(ms)----适配车车和510项目*/
	UINT16 VerSionBtwAxisAndCi;    /*CI与计轴系统校验的协议版本号*/
	UINT8 dwHitSoftWallSwitch;     /*撞软墙功能开关  55打开  aa关闭*/
	UINT8 dwOverlapLockType;      /*保护区段锁闭方式  0x01 ATS锁闭 0x02 CI锁闭*/  
	UINT8 dwCDOccuCheckFlag;      /*场段进路占用检查  0x55检查    0xaa不检查*/
	UINT8 chNoCGFollowUtSwitch; /*无C轨站型B轨有UT车是可追踪功能开关 aa打开 55关闭*/
	OtherCiParaStruct otherCICiParaStru[CI_SUM_MAX]; /*其他联锁参数配置*/
	/************************************************/
}SystemParameterStructNew;

/*联锁功能开关配置数据结构体*/
typedef struct S_DQU_CiFuncSwitchStruct
{
    UINT8 wCiFuncSwitchBuf[CI_FUNCTION_SWITCH_SUM_MAX];  /*联锁功能开关配置数组*/
}DquCiFuncSwitchStruct;

/*联锁功能开关配置数据结构体*/
typedef struct S_DQU_CiFuncSwitchStructNew
{
	UINT16 wCiFuncSwitchId;/*功能开关Id*/
	UINT8 wCiFuncSwitchVal;/*功能开关取值*/
}DquCiFuncSwitchStructNew;

typedef struct S_CI_OC_Relation
{
	UINT16 CiId;
	UINT16 OcIds[OC_SUM_MAX];
	UINT16 OcIdNum;
}CiOcRelateion;


/*******************************全局变量声明*******************************/
extern UINT8 LocalCiId;                       /*本机联锁ID*/
extern SystemParameterStructNew SystemParameterStruNew;/*系统参数：按行配置*/
extern DquCiFuncSwitchStructNew CiFuncSwitConfStruNew[CI_FUNCTION_SWITCH_SUM_MAX];/*功能开关结构体数据*/
extern UINT8 gLocalOcType;                        /*OC数据结构类型*/
extern UINT8 gLocalPublicDataType;                        /*数据类型（区分28.0.0.11和最新公共数据结构使用）*/
extern UINT32 StartUnlockCount;                   /*上电解锁超限周期数 (初始化字段)*/
extern UINT32 RouteXuanPaiCount;                  /*进路选排超限周期数 (初始化字段)*/
extern UINT32 RouteLockCount;                     /*进路锁闭超限周期数 (初始化字段)*/
extern UINT32 OverlapLockCount;                   /*保护区段锁闭超限周期数 (初始化字段)*/
extern UINT32 RouteOpenSignalCount;               /*进路开放超限时间(单位:s) (配置字段)*/
extern UINT32 BlocRouteDelayCount;                /*点式进路延时解锁周期数 (初始化字段)*/
extern UINT32 CbtcRouteDelayCount;                /*CBTC进路延时解锁周期数 (初始化字段)*/
extern UINT32 LeadRouteFaultOpenCount;            /*引导进路内方区段故障信号开放持续周期数 (初始化字段)*/
extern UINT32 SecDelayUnlockCount;                /*区段延时解锁周期数 (初始化字段)*/
extern UINT32 SignalOpenCount;                    /*信号开放超限周期数 (初始化字段)*/
extern UINT32 SignalCloseCount;                   /*信号关闭超限周期数 (初始化字段)*/
extern UINT32 SwitchMoveCount;                    /*道岔动作超限周期数 (初始化字段)*/
extern UINT32 SwitchDriveCount;                   /*道岔驱动超限周期数 (初始化字段)*/
extern UINT32 ProtectSecUnlockCount;              /*防护区段解锁停稳周期数 (初始化字段)*/
extern UINT32 OccupyToIdleCount;                  /*占用变空闲计时周期数 (初始化字段)*/
extern UINT32 FaultUnlockCount;                   /*白光带区故解计时周期数 (初始化字段)*/
extern UINT32 SectionResetCount;                  /*计轴复位超时周期数 (初始化字段)*/
extern UINT32 NonRouteXuanPaiCount;               /*非进路选排总周期数 (初始化字段)*/
extern UINT32 NonRouteDelayUnlockCount;           /*非进路延时解锁总周期数 (初始化字段)*/
extern UINT32 SwitchDriveCuoFengCount;            /*进路选排道岔错峰周期 (初始化字段)*/
extern UINT32 ZuheRouteXuanPaiCount;              /*组合进路选排周期 (初始化字段)*/
extern UINT32 CiAndZcTransmitBadEnsureCount;      /*联锁与ZC通信中断确认周期(初始化字段)*/
extern UINT32 CiAndCiTransmitBadEnsureCount;      /*联锁与联锁通信中断确认周期(初始化字段)*/
extern UINT32 CiAndVobcTransmitBadEnsureCount;    /*联锁与Vobc通信中断确认周期(初始化字段)*/
extern UINT32 VobcAndCiBackUpCommBadCount;        /*联锁与Ivoc或Vobc后备通道通信中断确认周期(初始化字段)*/
extern UINT32 CiAndPsdTransmitBadEnsureCount;     /*联锁与PSD通信中断确认周期(初始化字段)*/
extern UINT32 TiocAndTmcTransmitBadEnsureCnt;     /*TIOC与TMC通信中断确认周期(初始化字段)*/
extern UINT32 WaitZCResponseCount;                 /*等待ZC反馈时间（申请关闭车库门）(初始化字段)*/
extern UINT32 SecJumpLockDelayUnlockCount;			/*区段跳跃锁闭延时解锁周期数（初始化字段）*/
extern UINT32 GaragedoorOperateCount;              /*车库门动作超时周期数（初始化字段）*/
extern UINT32 CtProtectSecUnlockCount;				 /*通信车占用防护区段解锁停稳周期数 (初始化字段)*/
extern UINT32 SingleSwitchMoveCount;				 /*单轨单开道岔驱动超限周期数 (初始化字段)*/
extern UINT32 ThreeSwitchMoveCount;				 /*单轨三开道岔驱动超限周期数 (初始化字段)*/
extern UINT32 FiveSwitchMoveCount;				   	 /*单轨五开道岔驱动超限周期数 (初始化字段)*/
extern UINT32 gapDetectTimeCount;				   	 /*间隙探测时间超限周期数 (初始化字段)*/
extern UINT32 psdButtonPressTimeCount;				 /*站台按钮吸起失效时间超限周期数 (初始化字段)*/
extern UINT32 DCTYWaitSignalOpenCount;		 /*调车同意等待信号开放时间(单位:s)*/
extern UINT32 CiAndPscTransBadEnsureCount;		 /*联锁与Psc通信中断确认周期最大容忍时间(单位:s)*/
extern UINT32 ZFWJRelayDriveTimeCount;    			 /*计轴总复位命令驱动最长时间(单位:s)*/
extern UINT32 DHFRelayValidTimeCount;    			 /*道岔到位后DFH继电器吸起容忍时间(毫秒)*/
extern UINT32 FirstOrderTimeCount;                   /*一次命令有效时间(秒)。*/
extern UINT32 JXTCPulseContinueTimeCount;           /*间隙探测脉冲持续时间*/
extern UINT32 labarUnlockOverlapTimeCount;           /*人工解锁保护区段延时解锁时间*/
extern UINT32 sigCollectRongrenCount;				/*OC信号机全灭容忍时间*/
extern UINT32 AxleSectionUtRedundanceCount;		 /*计轴区段UT占用冗余周期数*/
extern UINT8  versionOfZCToCI;                      /*ZC-CI接口协议版本号，add by sds 2019-1-21*/
extern UINT8  versionOfVOBCToCI;                    /*VOBC-CI接口协议版本号，add by sds 2019-1-21*/
extern UINT8  versionOfTMCToTIOC;                   /*TMC-TIOC接口协议版本号*/

extern UINT16 wTsrMaxCmdSum;							/* 当前控区临时限速最大命令数量 */
extern UINT16 wTsrMaxSecSum;							/* 当前控区临时限速最大区段数量 */

extern UINT32 CiAndAxleTransBadEnsureCnt;    /*联锁与计轴系统通信中断确认周期(初始化字段)*/
extern UINT32 CiAndAxleTransBadEnsureTime; /*联锁与计轴系统通信中断确认时间(初始化字段)*/
extern UINT32 CiAndOcTransmitBadEnsureCount;    /*联锁与Oc通信中断确认周期(初始化字段)*/
extern UINT32 CiAndOcTransmitBadEnsureTime; /*联锁与Oc通信中断确认时间(初始化字段)*/
extern UINT32 psdDrivCloseMaxTimeCount;           /*屏蔽门关闭最大时间*/
extern UINT32 psdDrivOpenMaxTimeCount;           /*屏蔽门打开最大时间*/
extern UINT32 SpksIndicDelayCount;				/*SPKS按钮指示灯点亮延时时间*/
extern UINT32 mjjsOpenDelayCount;			    	/*门禁解锁延时时间延时时间*/
extern UINT8 ciAndAxisPrtclCheckVer;				/*联锁与计轴之间的协议版本号*/
extern UINT32 dwSelfButCollCount;			    	/*自复式按钮对应继电器采集时间*/
extern UINT32 dwSelfButErrCount;			    	/*自复式扣车/紧急按钮故障判断时间*/
extern UINT32 dwTrainRecycleCount;                /*资源回收计时周期数 (初始化字段)*/
extern UINT32 dwSelfCancelButErrCount;			/*自复式取消扣车/紧急按钮故障判断时间*/
extern UINT32 dwRouteNearestTrainRenJieCount;		/*进路最接近的列车需要对进路总人解时延时等待换端时间*/
extern UINT32 dwSGBJRouteDelayOpenCount;		/*声光报警进路延时开放周期数*/
extern UINT32 dwFloodGateDelayCloseCount;		/*防淹门接近区段占用延迟关门周期数*/
extern UINT32 dwSwitchBypassWaitCount;		/*本线联络线道岔未及时取消旁路等待周期数*/
extern UINT32 dwSelfCancelButErrTriggerCount;		/*自复式取消扣车/紧急按钮误触发判断时间*/
extern UINT16 wArbNearSecProtectDistance;		/*ARB防护距离*/
extern UINT32 dwArbNearSecNoUtCount;		/*ARB防护时间周期*/
extern UINT32 dwNonReturnBtnErrEnsureTime;   /*无人折返按钮故障判断周期数*/
extern UINT32 dwOcCollTolerateCount;   /*OC采集容忍周期数*/
extern UINT8 gCTFlyingRedunCount;
extern CiOcRelateion CiOcRelationArr[CI_SUM_MAX];/*ci oc关系数组*/

/*
* 功能描述： 系统参数时间转周期数
* 参数说明： void    
* 返回值  ： void      
*/
void SystemParaTimeToCycleCount(void);

/*
* 功能描述： 时间转周期数
* 参数说明： const UINT32 deviceTime, 设备时间
*			 const UINT32 appTime, 应用时间   
* 返回值  ： 周期数      
*/
UINT32 TimeToCycleCount(const UINT32 deviceTime, const UINT32 appTime);

/*
* 功能描述： 获取联锁周期号
* 参数说明： void    
* 返回值  ： UINT8      
*/
UINT32 GetSystemParaAppCycleTime(void);

/*
* 功能描述： 获取本机联锁ID
* 参数说明： void    
* 返回值  ： UINT8      
*/
UINT8 GetSystemParaLocalCiId(void);

/*
* 功能描述： 获取联锁总数
* 参数说明： void    
* 返回值  ： UINT8      
*/
UINT8 GetSystemParaCiSum(void);

/*
* 功能描述： 获取系统参数上电解锁超限周期数
* 参数说明： void    
* 返回值  ： 上电解锁超限周期数      
*/
UINT32 GetSystemParaStartUnlockCyc(void);

/*
* 功能描述： 获取系统参数进路选排超限周期数
* 参数说明： void    
* 返回值  ： 进路选排超限周期数      
*/
UINT32 GetSystemParaRouteXuanPaiCyc(void);

/*
* 功能描述： 获取系统参数进路锁闭超限周期数
* 参数说明： void    
* 返回值  ： 进路选排超限周期数      
*/
UINT32 GetSystemParaRouteLockCyc(void);

/*
* 功能描述： 获取系统参数保护区段锁闭超限周期数
* 参数说明： void    
* 返回值  ： 进路选排超限周期数      
*/
UINT32 GetSystemParaOverlapLockCyc(void);

/*
* 功能描述： 获取系统参数进路开放信号超限周期数
* 参数说明： void    
* 返回值  ： 进路选排超限周期数      
*/
UINT32 GetSystemParaRouteOpenSigCyc(void);

/*
* 功能描述： 获取系统参数点式进路延时解锁周期数
* 参数说明： void    
* 返回值  ： 点式进路延时解锁周期数      
*/
UINT32 GetSystemParaBlocRouteDelayCyc(void);

/*
* 功能描述： 获取系统参数CBTC进路延时解锁周期数
* 参数说明： void    
* 返回值  ： CBTC进路延时解锁周期数      
*/
UINT32 GetSystemParaCbtcRouteDelayCyc(void);

/*
* 功能描述： 获取资源取消申请延时周期数，调用总人解延时时间
* 参数说明： void
* 返回值  ： 资源取消申请延时周期数
*/
UINT32 GetRouteResCancelApplyCyc(void);

/*
* 功能描述： 获取进路最接近的列车需要总人解进路时延时等待周期数
* 参数说明： void
* 返回值  ： CBTC进路延时解锁周期数
*/
UINT32 GetRouteTrainRanJieDelayCyc(void);

/*
* 功能描述： 获取系统参数引导进路内方区段故障信号开放持续周期数
* 参数说明： void    
* 返回值  ： 引导进路内方区段故障信号开放持续周期数      
*/
UINT32 GetSystemParaLeadFaultOpenCyc(void);

/*
* 功能描述： 获取系统参数区段延时解锁周期数
* 参数说明： void    
* 返回值  ： 区段延时解锁周期数      
*/
UINT32 GetSystemParaSecDelayUnlockCyc(void);

/*
* 功能描述： 获取系统参数信号开放超限周期数
* 参数说明： void    
* 返回值  ： 信号开放超限周期数      
*/
UINT32 GetSystemParaSignalOpenCyc(void);

/*
* 功能描述： 获取系统参数信号关闭超限周期数
* 参数说明： void    
* 返回值  ： 信号关闭超限周期数      
*/
UINT32 GetSystemParaSignalCloseCyc(void);

/*
* 功能描述： 获取系统参数道岔动作周期数
* 参数说明： void    
* 返回值  ： 道岔动作周期数      
*/
UINT32 GetSystemParaSwitchMoveCyc(void);

/*
* 功能描述： 获取系统参数道岔驱动周期数
* 参数说明： void    
* 返回值  ： 道岔驱动周期数      
*/
UINT32 GetSystemParaSwitchDriveCyc(void);

/*
* 功能描述： 获取系统参数防护区段解锁停稳周期数
* 参数说明： void    
* 返回值  ： 防护区段解锁停稳周期数
*/
UINT32 GetSystemParaProtSecUnlockCyc(void);

/*
* 功能描述： 获取CT车占用进路内最后一个区段情况下的解锁停稳周期数
* 参数说明： void    
* 返回值  ： 通信车占用防护区段解锁停稳周期数
*/
UINT32 GetSystemParaCtProtSecUnlockCyc(void);

/*
* 功能描述： 时间参数超时检查
* 参数说明： UINT32 StartCount 开始时间
*			 UINT32 MaxCount   最大时间 
* 返回值  ： CI_TIME_NO        未计时
*			 CI_TIME_IN        未超时          
*			 CI_TIME_OUT       超时
*/
UINT8 SystemOverTimeCheck(UINT32 StartCount, UINT32 MaxCount);

/*
* 功能描述： 检查时间是否达到或超过最大值
* 参数说明： UINT32 StartCount 开始时间
*			 UINT32 MaxCount   最大时间
* 返回值  ： CI_TIME_NO        未计时
*			 CI_TIME_IN        未超时
*			 CI_TIME_OUT       超时
*/
UINT8 SystemOverOrEqualTimeCheck(UINT32 StartCount, UINT32 MaxCount);

/*
* 功能描述： 获取系统参数占用变空闲计时周期数
* 参数说明： void    
* 返回值  ： 占用变空闲计时周期数      
*/
UINT32 GetSystemParaOccuToIdleCyc(void);

/*
* 功能描述： 获取系统参数白光带区故解计时周期数
* 参数说明： void    
* 返回值  ： 计时周期数      
*/
UINT32 GetSystemParaFaultUnlockCyc(void);

/*
* 功能描述： 获取系统参数计轴复位超时周期数
* 参数说明： void    
* 返回值  ： 计时周期数      
*/
UINT32 GetSystemParaSectionResetCount(void);

/*
* 功能描述： 获取系统参数非进路选排总周期数
* 参数说明： void    
* 返回值  ： 计时周期数      
*/
UINT32 GetSystemParaNonRouteXuanPaiCnt(void);

/*
* 功能描述： 获取系统参数非进路延时解锁总周期数
* 参数说明： void    
* 返回值  ： 计时周期数      
*/
UINT32 GetSystemParaNonRDelayUnlockCnt(void);

/*
* 功能描述： 获取进路选排道岔错峰总周期数
* 参数说明： void    
* 返回值  ： 计时周期数      
*/
UINT32 GetSystemParaSwDrvCuoFengCnt(void);

/*
* 功能描述： 获取组合进路选排总周期数
* 参数说明： void    
* 返回值  ： 计时周期数      
*/
UINT32 GetSystemParaZuheRXuanPaiCnt(void);

/*
* 功能描述： 获取联锁与ZC通信中断确认周期数
* 参数说明： void    
* 返回值  ： 计时周期数
*/
UINT32 GetCiAndZcTransBadEnsureCnt(void);

/*
* 功能描述： 获取TIOC与TMC通信中断确认周期数
* 参数说明： void
* 返回值  ： 计时周期数
*/
UINT32 GetTiocAndTmcTransBadEnsureCnt(void);

/*
* 功能描述： 获取联锁与联锁通信中断确认周期数
* 参数说明： void    
* 返回值  ： 计时周期数
*/
UINT32 GetCiAndCiTransBadEnsureCnt(void);

/*
* 功能描述： 获取联锁与Vobc通信中断确认周期数
* 参数说明： void    
* 返回值  ： 计时周期数
*/
UINT32 GetCiAndVobcTransBadEnsureCnt(void);

/*
* 功能描述： 获取联锁与PSD通信中断确认周期数
* 参数说明： void    
* 返回值  ： 计时周期数
*/
UINT32 GetCiAndPsdTransBadEnsureCnt(void);

/*
* 功能描述： 获取本联锁类型
* 参数说明： void    
* 返回值  ： 本联锁类型    
*/
UINT8 GetLocalCiType(void);

/*
* 功能描述： 获取等待ZC反馈时间
* 参数说明： void    
* 返回值  ： 等待ZC反馈时间    
*/
UINT32 GetWaitZCResponseCount(void);

/*
* 功能描述： 获取系统参数区段跳跃锁闭延时解锁周期数
* 参数说明： void    
* 返回值  ： 区段跳跃锁闭延时解锁周期数      
*/
UINT32 GetSysParaSecJLokDelayUnlockCyc(void);

/*
* 功能描述： 获取指定联锁功能开关配置值
* 参数说明： INT32 FunctionConfigIndex 指定联锁功能开关配置索引
	CLOSE_OPENED_SIG_LOCK_SWITCH 	封锁道岔后关闭已开放信号
	CLOSE_OPENED_SIG_LOCK_SIGNAL 	封锁信号机后关闭已开放信号
	CHECK_SWITCH_LOCKING_BEFORE_LOCKING_SWITCH_CONF	封锁道岔时检查道岔锁闭
	CHECK_SWITCH_DANLOCK_FLOCKING_SWITCH_CONF			封锁道岔时检查道岔单锁
	
* 返回值  ： 指定联锁功能开关配置值0xAA或0x55或0xFF
*/
UINT8 GetCiFunctionSwitchConfig(UINT8 FunctionConfigIndex);

/*
* 功能描述： 获取联锁与联锁通信中断确认时间单位毫秒
* 参数说明： 
	无
* 返回值  ： 联锁与联锁通信中断确认时间单位毫秒
*/
UINT32 GetCiAndCiTransmitBadEnsureTime(void);
/*
* 功能描述： 获取联锁与Vobc通信中断确认时间单位毫秒
* 参数说明：
无
* 返回值  ： 联锁与Vobc通信中断确认时间单位毫秒
*/
UINT32 GetCiAndVobcTransBadEnsureTime(void);

/*
* 功能描述： 获取联锁与ZC通信中断确认时间单位毫秒
* 参数说明：
无
* 返回值  ： 联锁与ZC通信中断确认时间单位毫秒
*/
UINT32 GetCiAndZcTransmitBadEnsureTime(void);

/*
* 功能描述： 获取TIOC与TMC通信中断确认时间单位毫秒
* 参数说明：
无
* 返回值  ： TIOC与TMC通信中断确认时间单位毫秒
*/
UINT32 GetTiocAndTmcTransBadEnsureTime(void);

/*
* 功能描述： 获取系统参数车库门动作超时周期数
* 参数说明： void    
* 返回值  ： 计时周期数      
*/
UINT32 GetSysParaGaragedoorOperateCnt(void);
/*
* 功能描述： 获取间隙探测超限周期数
* 参数说明： void    
* 返回值  ： 间隙探测超限周期数      
*/
UINT32 GetGapDetectCount(void);

/*
* 功能描述： 获取站台按钮吸起失效超限周期数
* 参数说明： void    
* 返回值  ： 站台按钮吸起失效超限周期数      
*/
UINT32 GetPsdButtonPressCount(void);

/*
* 功能描述： 获取计轴总复位驱动失效超限周期数
* 参数说明： void    
* 返回值  ： 计轴总复位驱动失效超限周期数      
*/
UINT32 GetZFWJRelayDriveTimeCount(void);

/*
* 功能描述： 道岔到位后DFH继电器吸起容忍周期数
* 参数说明： void    
* 返回值  ： DFH继电器吸起容忍周期数  
*/
UINT32 GetDHFRelayValidTimeCount(void);

/*
* 功能描述： 获取ZC-CI接口协议版本号
* 参数说明： void    
* 返回值  ： ZC-CI接口协议版本号      
*/
UINT8 GetVersionOfZCToCI(void);

/*
* 功能描述： 获取TMC-TIOC接口协议版本号
* 参数说明： void
* 返回值  ： TMC-TIOC接口协议版本号
*/
UINT8 GetVersionOfTMCToTIOC(void);

/*
* 功能描述： 获取VOBC-CI接口协议版本号
* 参数说明： void    
* 返回值  ： VOBC-CI接口协议版本号      
*/
UINT8 GetVersionOfVOBCToCI(void);

/*
* 功能描述： 获取联锁与Psc通信中断确认周期数
* 参数说明： void    
* 返回值  ： 计时周期数
*/
UINT32 GetCiAndPscTransBadEnsureCnt(void);

/*
* 功能描述： 获取调车同意等待信号开放周期数
* 参数说明： void    
* 返回值  ： 计时周期数
*/
UINT32 GetSysParaDCTYWaitSigOpenCnt(void);

/*
* 功能描述： 获取配置参数值
* 参数说明： UINT16 paraID,参数ID    
* 返回值  ： UINT16，参数值      
*/
UINT16 GetSystemParaValue(UINT16 paraID);

/*
* 功能描述： 获取联锁与计轴系统通信中断确认时间单位毫秒
* 参数说明：
无
* 返回值  ： 联锁与计轴系统通信中断确认时间单位毫秒
*/
UINT32 GetCiAndAxleTransBadEnsureTime(void);

/*
* 功能描述： 获取联锁与OC通信中断确认时间单位毫秒
* 参数说明：
无
* 返回值  ： 联锁与OC通信中断确认时间单位毫秒
*/
UINT32 GetCiAndOcTransmitBadEnsureTime(void);

/*
* 功能描述： 获取联锁与Oc通信中断确认周期数
* 参数说明： void
* 返回值  ： 计时周期数
*/
UINT32 GetCiAndOcTransmitBadEnsureCnt(void);


/*
* 获取本联锁模式
* 参数说明：void
* 返回值：联锁模式
*/
UINT8 GetLocalCiPattern(void);

/*
* 设置本联锁模式
* 参数说明：本方CI模式
* 返回值：是否设置成功
*/
UINT8 SetLocalCiPattern(UINT8 localCiPattern);

/*
* 功能描述：设置本联锁UT保护区段延时解锁停稳时间
* 参数说明：延时解锁停稳时间 
* 返回值：void
*/
void SetLocalCiUTProtSecUnlockTime(UINT16 localUTProtectSecUnlockTime);

/*
* 功能描述：设置本联锁CT保护区段延时解锁停稳时间
* 参数说明：延时解锁停稳时间 
* 返回值：void
*/
void SetLocalCiCTProtSecUnlockTime(UINT16 localCTProtectSecUnlockTime);

/********/
/*
* 功能描述：设置本联锁UT接近延时解锁超限时间
* 参数说明：延时解锁停稳时间 
* 返回值：void
*/
void SetLocalCiUTNearUnLockTime(UINT16 localUTNearUnLockTime);

/*
* 功能描述：设置本联锁CT接近延时解锁超限时间
* 参数说明：延时解锁停稳时间 
* 返回值：void
*/
void SetLocalCiCTNearUnLockTime(UINT16 localCTNearUnLockTime);

/*
* 设置本联锁集中式/分布式IO
* 参数说明：本方CI IO集成方式
* 返回值：是否设置成功
*/
UINT8 SetLocalCiDistributedIO(UINT8 distributedIO);

/*
* 获取本联锁IO设备集成方式
* 参数说明：本方CI IO集成方式
* 返回值：IO集成方式
*/
UINT8 GetLocalCiDistributedIO(void);


/*
* 功能描述： 设置一次命令有效周期数
* 参数说明： void    
* 返回值  ： 一次命令有效周期数  
*/
UINT32 GetFirstOrderTimeCount(void);

/*
* 功能描述： 获取间隙探测脉冲持续周期数
* 参数说明： void    
* 返回值  ： 间隙探测脉冲持续周期数 
*/
UINT32 GetJXTCPulseContinueTimeCount(void);

/*
* 功能描述： 获取计轴区段非通信车占压冗余周期数
* 参数说明： void
* 返回值  ： UINT32
* 创建    ： qw.liu 2022-02-22
*/
UINT32 GetSysParaAxleUtRedunCount(void);

/*
* 功能描述： 获取信号机点灯区段长大计轴长度
* 参数说明： void
* 返回值  ： UINT32
* 创建    ： qw.liu 2022-02-22
*/
UINT16 GetSigLightUpBigAxleSecLen(void);

/*
* 功能描述： 获取信号机点灯区段延长计轴长度
* 参数说明： void
* 返回值  ： UINT32
* 创建    ： qw.liu 2022-02-22
*/
UINT16 GetSigLightUpExAxleSecLen(void);

/*
* 功能描述： 获取跨压信号机最大距离
* 参数说明： void
* 返回值  ： UINT32
* 创建    ：qw.liu 2022-03-03
*/
UINT16 GetSigCrossMaxLen(void);


/*
* 功能描述： 获取线路最小车长
* 参数说明： void
* 返回值  ： UINT32
* 创建    ： 2022-03-12
*/
UINT32 GetShortestTrainLen(void);

/*
* 获取全线免筛开关
* 参数说明：UINT8
* 返回值：全线免筛开关
*/
UINT8 GetWLSFunSwitch(void);

/*
* 功能描述： 获取TIOC数据版本号存放地址
* 参数说明： void
* 返回值  ： NULL 失败
*			 其他 成功
* 创建    ： 2022-03-12
*/
UINT16* GetTiocFsVersion(void);

/*
* 功能描述： 设置TIOC数据版本号存放地址
* 参数说明： UINT8* pSrcFsVersion 电子地图版本号存放地址
* 创建    ： 2022-03-12
*/
void SetTiocFsVersion(UINT8* pSrcFsVersion);

/*
* 功能描述： 校验TIOC公共数据结构版本号
* 参数说明： UINT8* pSrcFsVersion 公共数据结构版本号存放地址
* 返回值：CI_SUCCESS 兼容  CI_ERROR 不兼容
* 创建    ： 20240605 LC
*/
UINT8 CheckTiocPublicFsVersion(UINT8* pSrcFsVersion);


/*
* 功能描述： 校验TIOC私有数据结构版本号
* 参数说明： UINT8* pSrcFsVersion 私有数据结构版本号存放地址
* 返回值：CI_SUCCESS 兼容  CI_ERROR 不兼容
* 创建    ： 20240605 LC
*/
UINT8 CheckTiocPrivateFsVersion(UINT8* pSrcFsVersion);

/*
* 功能描述： 校验OC数据结构版本号
* 参数说明： UINT8* pSrcFsVersion 私有数据结构版本号存放地址
* 返回值：CI_SUCCESS 兼容  CI_ERROR 不兼容
* 创建    ： 20250210 fan
*/
UINT8 CheckTiocOcFsVersion(UINT8* pSrcFsVersion);

/*********************************************
*函数功能：获取静态数据
*参数说明：UINT32* pConfigDataAdderBuf 静态数据存放地址,UINT16 pConfigDataLenBuf 静态数据长度存放地址,UINT16 wBufMaxLen数组容量
*返回值：静态数据数量
*********************************************/
UINT16 GetTiocSystemParameterData(UINT32* pConfigDataAdderBuf, UINT16* pConfigDataLenBuf, UINT16 wBufMaxLen);

/*
* 功能描述： 获取飞车宕机容忍周期数
* 参数说明： void
* 返回值  ： 飞车宕机容忍周期数
*/
UINT8 GetCTFlyingRedunCount(void);

/*
* 功能描述： 获取本控区临时限速最大数量
* 参数说明： void
* 返回值  ： 本控区临时限速最大数量
*/
extern UINT16 GetTsrMaxCmdSum(void);

/*
* 功能描述： 获取单个临时限速的最大区段数量
* 参数说明： void
* 返回值  ： 单个临时限速的最大区段数量
*/
extern UINT16 GetTsrMaxSecSum(void);

/*
* 功能描述： 获取系统定义逻辑方向与上下行方向的关系
* 参数说明： void
* 返回值  ： 系统定义逻辑方向与上下行方向的关系
*/
UINT8 GetLinkLogicDirUpAndDown(void);

/*
* 获取正线TIOC动态测试开关
* 参数说明：void
* 返回值：正线动态测试开关
*/
UINT8 GetZXDynamicTestSwitch(void);

/*
* 获取TIOC动态测试开关
* 参数说明：void
* 返回值：TIOC动态测试开关
*/
UINT8 GetDynamicTestSwitch(void);

/*
* 获取区间疏散前查距离
* 参数说明：void
* 返回值：区间疏散前查距离
*/
UINT32 GetEaFrontDis(void);

/*
* 获取区间疏散后查距离
* 参数说明：void
* 返回值：区间疏散后查距离
*/
UINT32 GetEaBehindDis(void);

/*
* 功能描述： 获取联锁与计轴系统通信中断确认周期数
* 参数说明： void
* 返回值  ： 计时周期数
*/
UINT32 GetCiAndAxleTransBadEnsureCnt(void);


/*
* 设置RC工作模式
* 参数说明：UINT8 localRcWorkMode RC工作模式
* 返回值：1u成功 0u失败
*/
extern UINT8 SetLocalRcWorkMode(UINT8 localRcWorkMode);

/*
* 获取RC工作模式
* 参数说明：无
* 返回值：RC工作模式
*/
extern UINT8 GetLocalRcWorkMode(void);
/*
* 功能描述： 获取人工解锁保护区段延时解锁周期数
* 参数说明： void    
* 返回值  ： 人工解锁保护区段延时解锁周期数
*/
UINT32 GetlabarUnlockOverlapTimeCount(void);

/*
* 功能描述： 获取屏蔽门关闭超限时间
* 参数说明： void
* 返回值  ： 屏蔽门关闭超限时间
*/
UINT32 GetPsdDrivCloseMaxCount(void);
/*
* 功能描述： 获取屏蔽门打开超限时间
* 参数说明： void
* 返回值  ： 屏蔽门打开超限时间
*/
UINT32 GetPsdDrivOpenMaxCount(void);
/*
* 功能描述： 驱动亮灯之后采集全灭容忍时间
* 参数说明： void
* 返回值  ： 驱动亮灯之后采集全灭容忍时间
*/
UINT32 GetSigCollectRongernCount(void);
/*
* 功能描述： SPKS按钮指示灯点亮延时周期
* 参数说明： void
* 返回值  ： SPKS按钮指示灯点亮延时周期
*/
UINT32 GetSpksIndicDelayCount(void);
/*
* 功能描述： 获取联锁与计轴间协议检验版本号
* 参数说明： void
* 返回值  ： 联锁与计轴间协议检验版本号
* cgh-合并CID-3037-13：
*/
UINT8 GetCiAndAxisPrtclCheckVer(void);
/*
* 设置本联锁轨旁继电器接口类型
* 参数说明：本方轨旁继电器接口类型
* 返回值：无
*/
void SetLocalWaysidePattern(UINT8 localWaysidePattern);

/*
* 获取本联锁轨旁继电器接口类型
* 参数说明：void
* 返回值：轨旁继电器接口类型
*/
UINT8 GetLocalWaysidePattern(void);

/*
* 功能描述： 门禁解锁延时周期
* 参数说明： void
* 返回值  ： SPKS按钮指示灯点亮延时周期
*/
UINT32 GetMjjsOpenDelayCount(void);

/*
* 功能描述： 获取自复式按钮对应继电器采集时间
* 参数说明： void
* 返回值  ： 自复式按钮对应继电器采集时间
*/
UINT32 GetSelfButCollCount(void);

/*
* 功能描述： 获取自复式扣车/紧急按钮故障判断时间
* 参数说明： void
* 返回值  ： 自复式按钮故障判断时间
*/
UINT32 GetSelfButErrCount(void);

/*
* 功能描述： 资源回收超时周期数
* 参数说明： void
* 返回值  ： 计时周期数
*/
UINT32 GetSystemParaTrainReCycleCount(void);

/*
* 功能描述： 获取自复式取消扣车/紧急按钮故障判断时间
* 参数说明： void
* 返回值  ： 自复式按钮故障判断时间
*/
UINT32 GetSelfCancelButErrCount(void);

/*
* 功能描述： 获取声光报警进路延时开放时间
* 参数说明： void
* 返回值  ： 声光报警进路延时开放时间
*/
UINT32 GetSGBJRouteDelayOpenCount(void);

/*
* 功能描述：获取唤醒过程检查SPKS状态开关
* 参数说明：无
* 返回值：唤醒过程检查SPKS状态开关
*/
UINT8 GetAwakeCheckSpksSwitch(void);

/*
* 功能描述：获取IVOC或VOBC与RC后备通道通信故障判断时间(ms)
* 参数说明：无
* 返回值：IVOC与RC后备通道通信故障判断时间
*/
UINT32 GetVobcCiBackUpCommErrorTime(void);

/*
* 功能描述： 获取IVOC或VOBC与RC后备通道通信故障判断周期数
* 参数说明： void
* 返回值  ： 计时周期数
*/
UINT32 GetVobcCiBackUpCommErrorCount(void);

/*
* 功能描述： 获取防淹门接近区段占用延迟关门时间
* 参数说明： void
* 返回值  ： 防淹门接近区段占用延迟关门时间
*/
UINT32 GetFloodGateDelayCloseCount(void);

/*
* 功能描述： 获取本线路联络线道岔未及时取消旁路等待时间
* 参数说明： void
* 返回值  ： 本线路联络线道岔未及时取消旁路等待时间
*/
UINT32 GetSwitchBypassWaitCount(void);

/*
* 功能描述：获取撞软墙功能开关
* 参数说明：无
* 返回值：0x55 开关打开
*        0xaa 开关关闭
*/
UINT8 GetHitSoftWallSwitch(void);

/*
* 功能描述：获取保护区段锁闭方式开关
* 参数说明：无
* 返回值：0x01  ATS锁闭
*        0x02 CI锁闭
*/
UINT8 GetOverlapLockTypeSwitch(void);

/*
* 功能描述： 获取UDP传输日志时分包大小(byte)
* 参数说明： void
* 返回值  ： UINT16  分包大小
* 创建    ： 20240214 LC
*/
UINT16 GetLogSubPackDataLength(void);

/*
* 功能描述： 获取自复式取消扣车/紧急按钮误触发判断时间
* 参数说明： void
* 返回值  ： 自复式取消扣车/紧急按钮误触发判断时间
*/
UINT32 GetSelfCancelButErrTriggerCount(void);

/*
* 设置其他联锁配置参数
* 参数说明：UINT8* pDataAddr 数据地址
* 返回值：CI_SUCCESS 成功   CI_ERROR 失败
* by cgh 20240605
*/
UINT8 SetOtherCiPara(UINT8* pDataAddr);

/*
* 获取其他联锁配置参数
* 参数说明：const UINT8 chOtherCiId 其他联锁ID
* 返回值：CI_SUCCESS 成功   CI_ERROR 失败
* by cgh 20240605
*/
OtherCiParaStruct GetOtherCiPara(const UINT8 chOtherCiId);

/*
* 功能描述：获取无C轨站型B轨有UT车是可追踪功能开关
* 参数说明：无
* 返回值：aa关闭 55打开
* by cgh 20240815
*/
UINT8 GetNoCGFollowUtSwitch(void);

/*
* 功能描述： 获取ARB区段向相邻区段检查长度(m)
* 参数说明： void
* 返回值  ： UINT16 wArbCheckMaxLen 检查长度
* by fan 20240820
*/
UINT16 GetArbCheckAxisLen(void);

/*
* 功能描述： 获取ARB区段防护周期
* 参数说明： void
* 返回值  ： UINT32 防护周期
* by fan 20240822
*/
UINT32 GetArbProtectCheckTime(void);

/*
* 功能描述： 获取无人折返按钮故障判断周期数
* 参数说明： void
* 返回值  ： 无人折返按钮故障判断周期数
* by cgh 20240905
*/
UINT32 GetdwNonReturnBtnErrEnsureCount(void);

/*
* 设置本联锁OC版本
* 参数说明：OC版本
* 返回值：成功 CI_SUCCESS  失败CI_ERROR
* Create: fan 20250210
*/
UINT8 SetLocalOcPattern(UINT8 localOcPattern);

/*
* 获取本联锁OC版本
* 参数说明：OC版本
* 返回值：0x55 较新版本  0xaa 较旧版本
* Create: fan 20250210
*/
UINT8 GetLocalOcPattern(void);

/*
* 函数功能：设置RC联络线属性
* 参数说明：UINT8 cLinkLineAttr RC联络线属性
* 返 回 值：1 成功
*           0 失败
*/
UINT8 SetLocalRcLinkLineAttr(UINT8 cLinkLineAttr);

/*
* 函数功能：获取RC联络线属性
* 参数说明：无
* 返回值：RC入口属性
*/
UINT8 GetLocalRcLinkLineAttr(void);

/*
* 设置当前公共数据版本类型
* 参数说明：公共数据版本
* 返回值：成功 CI_SUCCESS  失败CI_ERROR
* Create: fan 20250521
*/
void SetLocalPublicDataType(UINT8 localPublicData);

/*
* 获取当前公共数据版本类型
* 参数说明：无
* 返回值：0x55 较新版本  0xaa 较旧版本
* Create: fan 20250521
*/
UINT8 GetLocalPublicDataType(void);

/*
* 功能描述：获取OC采集容忍周期数
* 参数说明：void
* 返 回 值：OC采集容忍周期数
* Created By LQ 2025.06.30
*/
UINT32 GetOcCollTolerateCount(void);

#ifdef __cplusplus
}
#endif

#endif

