886 lines
37 KiB
C
886 lines
37 KiB
C
/********************************************************
|
||
*
|
||
* 文 件 名: ParsePackVobcData.h
|
||
* 版权说明: 北京交控科技有限公司
|
||
* 创建时间: 2012-03-28
|
||
* 作 者: 联锁组
|
||
* 功能描述: Vobc数据解析头文件
|
||
* 函数包括:
|
||
* 使用注意:
|
||
* 修改记录:
|
||
*
|
||
********************************************************/
|
||
|
||
#ifndef _PARSE_PACK_VOBC_DATA_H_
|
||
#define _PARSE_PACK_VOBC_DATA_H_
|
||
|
||
|
||
#include "CommonTypes.h"
|
||
#include "Convert.h"
|
||
#include "ParsePackDefine.h"
|
||
#include "ParsePackCommon.h"
|
||
#include "CiInterfaceDefine.h"
|
||
#include "../Mask/MaskDefine.h"
|
||
#include "../Mask/MaskConfigDataManage.h"
|
||
#include "../2oo2/2oo2InterfaceDataManage.h"
|
||
#include "../DataManage/DeviceDataManage.h"
|
||
#include "../ParsePack/ParsePackAtsData.h"
|
||
#include "../Relay/RelayConfigDataManage.h"
|
||
#include "../Relay/RelayDataManage.h"
|
||
#include "../ParsePack/ParsePackPlatformData.h"
|
||
#include "../PSD/PSDConfigDataManage.h"
|
||
#include "../PSD/PSDDataManage.h"
|
||
#include "../WashMachine/WashMachineConfigDataManage.h"
|
||
#include "../WashMachine/WashMachineDataManage.h"
|
||
#include "../System/SystemParameterManage.h"
|
||
#include "../IO/DeviceRelayDataProcess.h"
|
||
#include "dquIdmapQuery.h"
|
||
#include "../Section/LogicSectionConfigDataManage.h"
|
||
#include "AxisAssertDefine.h"
|
||
#include "AxisAssertManageAPI.h"
|
||
|
||
|
||
#define CI_PSD_COMM_STATE_GOOD ((UINT8)0x55)
|
||
#define CI_PSD_COMM_STATE_BAD ((UINT8)0xAA)
|
||
|
||
|
||
|
||
#define VOBC_CI_STOP_TW ((UINT8)0x55) /*VOBC到CI列车已停稳*/
|
||
#define VOBC_CI_STOP_WTW ((UINT8)0xAA) /*VOBC到CI列车未停稳*/
|
||
|
||
#define CI_VOBC_SIGNAL_YES ((UINT8)0x55) /*CI到VOBC出站允许信号*/
|
||
#define CI_VOBC_SIGNAL_NO ((UINT8)0xAA) /*CI到VOBC出站禁止信号(正常关闭)*/
|
||
#define CI_VOBC_SIGNAL_ERR ((UINT8)0xCC) /*CI到VOBC出站禁止信号(异常关闭)*/
|
||
#define CI_VOBC_SIGNAL_DEFAULT ((UINT8)0xFF) /*CI到VOBC出站信号默认状态*/
|
||
|
||
#define CI_VOBC_NO_LOCK ((UINT8)0x00) /*CI给后备通道发站外直轨锁闭方向,默认值*/
|
||
|
||
#define CI_VOBC_INTERFACE_INFOTYPE ((UINT16)0x0206) /*互联互通CI_VOBC接口信息类型*/
|
||
#define CI_VOBC_BACKUP_INTERFACE_INFOTYPE ((UINT16)0x0402) /*后备模式的CI_VOBC接口信息类型*/
|
||
#define VOBC_CI_INFO_TYPE_PSD_CONTROL ((UINT16)0x0201) /*VOBC_CI屏蔽门控制报文类型*/
|
||
#define VOBC_CI_INFO_TYPE_BACKUP ((UINT16)0x0308) /*VOBC_CI备用通道报文类型*/
|
||
#define CI_VOBC_INFO_TYPE_PSD_STATE ((UINT16)0x0202) /*CI_VOBC屏蔽门状态及闯红灯报文类型*/
|
||
#define VOBC_CI_INFO_TYPE_HEART_FRAME ((UINT16)0x0203) /*VOBC_CI心跳帧报文类型*/
|
||
#define CI_VOBC_INFO_TYPE_HEART_FRAME ((UINT16)0x0204) /*CI_VOBC心跳帧报文类型*/
|
||
#define VOBC_CI_INFO_TYPE_CITY_DEFINED ((UINT16)0x0205) /*VOBC_CI城市自定义帧报文类型*/
|
||
#define CI_VOBC_INFO_TYPE_CITY_DEFINED ((UINT16)0x0206) /*CI_VOBC城市自定义帧报文类型*/
|
||
#define VOBC_CI_INFO_TYPE_MANU_DEFINED ((UINT16)0x0207) /*VOBC_CI厂商自定义帧报文类型*/
|
||
#define CI_VOBC_INFO_TYPE_MANU_DEFINED ((UINT16)0x0208) /*CI_VOBC厂商自定义帧报文类型*/
|
||
#define VOBC_CI_INFO_TYPE_LOGOUT_ASK ((UINT16)0x0209) /*VOBC_CI注销请求帧*/
|
||
#define CI_VOBC_INFO_TYPE_LOGOUT_ACK ((UINT16)0x020a) /*CI_VOBC注销回复帧*/
|
||
#define VOBC_CI_INFO_TYPE_FAO_INFO ((UINT16)0x020b) /*VOBC_CI全自动运行洗车信息帧类型*/
|
||
#define CI_VOBC_INFO_TYPE_FAO_INFO ((UINT16)0x020c) /*CI_VOBC全自动运行洗车信息帧类型*/
|
||
#define CI_VOBC_PLAT_CLEAR_PASSENGER_INFO ((UINT16)0x020d) /*CI_VOBC全自动运行站台状态信息帧类型*/
|
||
#define VOBC_CI_INFO_TYPE_FAO_CONTROL ((UINT16)0x020e) /*VOBC_CI全自动运行站台控制信息帧类型:间隙探测*/
|
||
#define CI_VOBC_BACKUP_STATE_INFO ((UINT16)0x0211) /*CI=>VOBC后备运行状态信息*/
|
||
#define VOBC_CI_INFO_TYPE_BACKUU_CONTROL ((UINT16)0x0212) /*VOBC=>CI后备运行控制信息*/
|
||
|
||
/*VOBC_CI点连式信息帧-目前仅互联互通接口具备,帧类型与全自动运行洗车重复,若需要适配其他接口,需要重新排帧类型*/
|
||
#define VOBC_CI_INFO_TYPE_BLOCLINK ((UINT16)0x020b) /*VOBC_CI点连式信息帧类型*/
|
||
#define CI_VOBC_INFO_TYPE_BLOCLINK ((UINT16)0x020c) /*CI_VOBC点连式信息帧类型*/
|
||
|
||
#define VOBC_CI_GAP_DETECT_CMD_START ((UINT8)0x55) /*VOBC2CI启动间隙探测命令*/
|
||
#define VOBC_CI_GAP_DETECT_CMD_STOP ((UINT8)0xAA) /*VOBC2CI停止间隙探测命令*/
|
||
#define VOBC_CI_GAP_DETECT_CMD_DEFAULT ((UINT8)0xFF) /*VOBC2CI默认间隙探测命令*/
|
||
|
||
#define VOBC_CI_DOOR_CLOSEDANDLOCKED ((UINT8)0x55) /*VOBC2CI车门关闭且锁闭*/
|
||
#define VOBC_CI_DOOR_NOTCLOSEDANDLOCKED ((UINT8)0xAA) /*VOBC2CI车门非关闭且锁闭,Default Value*/
|
||
|
||
#define CI_VOBC_GAP_DETECT_STATUS_CLEAR ((UINT8)0x55) /*CI2VOBC间隙探测状态:已检测且无障碍物*/
|
||
#define CI_VOBC_GAP_DETECT_STATUS_UNCLEAR ((UINT8)0xAA) /*CI2VOBC间隙探测状态:已检测且有障碍物*/
|
||
#define CI_VOBC_GAP_DETECT_STATUS_DEFAULT ((UINT8)0xFF) /*CI2VOBC间隙探测状态:未检测/无此功能,Default Value*/
|
||
|
||
#define CI_VOBC_PRTCL_VER ((UINT8)0x01) /*CI_VOBC协议版本号*/
|
||
#define CI_VOBC_PRTCL_VER_FAOHLHT ((UINT8)0x65) /*CI_VOBC协议版本号101*/
|
||
#define CI_VOBC_BACKUP_PRTCL_VER ((UINT8)0x66) /*CI_VOBC后备通道接口协议版本号*/
|
||
|
||
#define CI_VOBC_REMOVE_YES ((UINT8)0x55) /*互锁解除有效*/
|
||
#define CI_VOBC_REMOVE_NO ((UINT8)0xAA) /*互锁解除无效*/
|
||
#define CI_VOBC_REMOVE_OFF ((UINT8)0xFF) /*互锁解除默认值*/
|
||
|
||
#define IVOC_CI_INTERFACE_INFOTYPE ((UINT16)0x0106U) /*IVOC-OC接口*/
|
||
#define IVOC_CI_BACKUP_INTERFACE_INFOTYPE ((UINT16)0x0402) /*RC/CI-IVOC接口(后备通道)*/
|
||
#define IVOC_CI_INFO_TYPE_CONTROL ((UINT16)0x0201U) /*IVOC->OC控制信息,周期发送*/
|
||
#define CI_IVOC_INFO_TYPE_STATE ((UINT16)0x0202U) /*OC->IVOC状态信息,周期发送*/
|
||
#define IVOC_CI_BACKUPINFO_TYPE_CONTROL ((UINT16)0x0308U) /*IVOC->OC备用通道状态信息,周期发送*/
|
||
#define CI_IVOC_BACKUPINFO_TYPE_STATE ((UINT16)0x0309U) /*OC->IVOC备用通道控制信息,周期发送*/
|
||
#define IVOC_CI_INFO_TYPE_LOGOUT_ASK ((UINT16)0x0203U) /*IVOC->OC注销请求帧,非周期*/
|
||
#define CI_IVOC_INFO_TYPE_LOGOUT_ACK ((UINT16)0x0204U) /*OC->IVOC注销回复帧,非周期*/
|
||
#define IVOC_CI_INFO_TYPE_HEART_FRAME ((UINT16)0x0205U) /*IVOC->OC心跳帧,非周期*/
|
||
#define CI_IVOC_INFO_TYPE_HEART_FRAME ((UINT16)0x0206U) /*OC->IVOC心跳帧,非周期*/
|
||
#define CI_IVOC_INFO_TYPE_SPECIAL_CONTROL ((UINT16)0x0208U) /*rc->IVOC特控报文帧,非周期*/
|
||
|
||
#define VOBC_RC_INTERFACE_INFOTYPE ((UINT16)0x0217U) /*VOBC-RC接口,RC-VOBC接口*/
|
||
#define VOBC_RC_INFO_STATE ((UINT16)0x0201U) /*VOBC->RC控制信息,周期发送*/
|
||
#define RC_VOBC_HEART_FRAME ((UINT16)0x0202U) /*RC->VOBC心跳信息,非周期发送*/
|
||
#define RC_VOBC_STATE_FRAME ((UINT16)0x0205U) /*RC->VOBC设备状态信息,周期发送*/
|
||
|
||
|
||
#define CI_IVOC_PRTCL_VER ((UINT8)0x01U) /*CI_VOBC协议版本号*/
|
||
#define CI_IVOC_BACKUP_PRTCL_VER ((UINT8)0x066) /*CI_VOBC后备通道协议版本号*/
|
||
#define RC_VOBC_PRTCL_VER ((UINT8)0x065) /*RC_VOBC协议版本号*/
|
||
|
||
#define IVOC_CI_CMD_MAX ((UINT16)100U) /*IVOC 到CI命令数量最大值*/
|
||
#define IVOC_CI_CMD_DEVICE_MAX ((UINT8)100U) /*IVOC 到CI命令设备数量最大值*/
|
||
#define IVOC_CI_EA_MAX ((UINT8)20U) /*IVOC 到CI EA最大值*/
|
||
|
||
#define IVOC_CI_STOP_ASSURE_YES ((UINT8)0x55) /*IVOC到CI停车保证状态允许*/
|
||
#define IVOC_CI_STOP_ASSURE_NO ((UINT8)0xAA) /*IVOC到CI停车保证状态未允许*/
|
||
#define IVOC_CI_STOP_ASSURE_DEF ((UINT8)0xFF) /*IVOC到CI停车保证状态默认值*/
|
||
#define IVOC_CI_STOP_ASS_SUM_MAX ((UINT8)100U) /*IVOC到CI停车保证数量最大值*/
|
||
|
||
#define IV0C_CI_RESOURCE_CANCEL_SUM_MAX ((UINT8)100U) /*IVOC到CI取消资源允许进路数量最大值*/
|
||
|
||
#define IVOC_CI_CMD_TYPE_RES_APPLY ((UINT8)0x01) /*IVOC到CI命令资源申请*/
|
||
#define IVOC_CI_CMD_TYPE_RES_RELEASE ((UINT8)0x02) /*IVOC到CI命令资源释放*/
|
||
#define IVOC_CI_CMD_TYPE_PSD_CLOSE ((UINT8)0x03) /*IVOC到CI命令屏蔽门关闭*/
|
||
#define IVOC_CI_CMD_TYPE_PSD_OPEN_FOUR ((UINT8)0x04) /*IVOC到CI命令四编组开门*/
|
||
#define IVOC_CI_CMD_TYPE_EA_BUILD ((UINT8)0x05) /*IVOC到CI命令区间疏散建立*/
|
||
#define IVOC_CI_CMD_TYPE_EA_CANCEL ((UINT8)0x06) /*IVOC到CI命令区间疏散取消建立*/
|
||
#define IVOC_CI_CMD_TYPE_DYTEST_REQ ((UINT8)0x07) /*IVOC到CI命令动态测试申请*/
|
||
#define IVOC_CI_CMD_TYPE_DYTEST_CANCEL ((UINT8)0x08) /*IVOC到CI命令动态测试取消*/
|
||
#define IVOC_CI_CMD_TYPE_PSD_OPEN_SIX ((UINT8)0x09) /*IVOC到CI命令六编组开门*/
|
||
#define IVOC_CI_CMD_TYPE_PSD_OPEN_EIGHT ((UINT8)0x0A) /*IVOC到CI命令八编组开门*/
|
||
#define IVOC_CI_CMD_TYPE_JUMP_LOCK_APPLY ((UINT8)0x0B) /*IVOC到TIOC命令跳跃锁闭申请*/
|
||
#define IVOC_CI_CMD_TYPE_JUMP_LOCK_RELEASE ((UINT8)0x0C) /*IVOC到TIOC命令跳跃锁闭释放*/
|
||
#define IVOC_CI_CMD_GAP_DETECT_START ((UINT8)0x0D) /*IVOC2CI启动间隙探测命令*/
|
||
#define IVOC_CI_CMD_GAP_DETECT_STOP ((UINT8)0x0E) /*IVOC2CI停止间隙探测命令,Default Value*/
|
||
#define IVOC_CI_CMD_NON_RETURN_STEADY ((UINT8)0x0F) /*IVOC2CI无人折返稳灯命令*/
|
||
#define IVOC_CI_CMD_NON_RETURN_FLASH ((UINT8)0x10) /*IVOC2CI无人折返闪灯命令,Default Value*/
|
||
#define IVOC_CI_CMD_TYPE_EMD_BUILD ((UINT8)0x11) /*IVOC2CI逃生门/客室门紧急解锁防护区域建立命令*/
|
||
|
||
#define IVOC_CI_LOGOUT_NORMAL ((UINT8)0x00U) /*IVOC到IC 正常注销*/
|
||
#define IVOC_CI_LOGOUT_SLEEP ((UINT8)0x01U) /*IVOC到IC 休眠注销*/
|
||
|
||
#define VOBC_CI_DIR_UP ((UINT8)0x55U) /*VOBC-CI 上行*/
|
||
#define VOBC_CI_DIR_DOWN ((UINT8)0xAAU) /*VOBC-CI 下行*/
|
||
#define VOBC_CI_DIR_DEF ((UINT8)0xFFU) /*VOBC-CI 默认*/
|
||
|
||
#define CI_IVOC_SWITCH_POSTION_DING ((UINT8)0x55U) /*CI到IVOC道岔定位状态*/
|
||
#define CI_IVOC_SWITCH_POSTION_FAN ((UINT8)0xAAU) /*CI到IVOC道岔反位状态*/
|
||
#define CI_IVOC_SWITCH_POSTION_SHIBIAO ((UINT8)0xCCU) /*CI到IVOC道岔定位失表*/
|
||
|
||
#define CI_IVOC_PSD_STATE_CLOSE ((UINT8)0xAAU) /*CI到IVOC屏蔽门关闭*/
|
||
#define CI_IVOC_PSD_STATE_OPEN ((UINT8)0x55U) /*CI到IVOC屏蔽门打开*/
|
||
|
||
#define CI_IVOC_PSD_PCB_STATE_DOWN ((UINT8)0x55U) /*CI到IVOC PCB按钮激活*/
|
||
#define CI_IVOC_PSD_PCB_STATE_UP ((UINT8)0xAAU) /*CI到IVOC PCB按钮未激活*/
|
||
#define CI_IVOC_PSD_PCB_PL ((UINT8)0xFFU) /*CI到IVOC PCB按钮旁路*/
|
||
|
||
#define CI_IVOC_PSD_POB_STATE_VALID ((UINT8)0x55U) /*CI到IVOC POB按钮激活*/
|
||
#define CI_IVOC_PSD_POB_STATE_INVALID ((UINT8)0xAAU) /*CI到IVOC POB按钮未激活*/
|
||
#define CI_IVOC_PSD_POB_PL ((UINT8)0xFFU) /*CI到IVOC POB按钮旁路*/
|
||
|
||
#define CI_IVOC_PSD_PDB_STATE_INVALID ((UINT8)0xAAU) /*CI到IVOC PDB按钮未激活*/
|
||
#define CI_IVOC_PSD_PDB_NO_BUTTON ((UINT8)0xCCU) /*CI到IVOC PDB按钮未激活*/
|
||
#define CI_IVOC_PSD_PDB_STATE_VALID ((UINT8)0x55U)
|
||
#define CI_IVOC_PSD_PDB_PL ((UINT8)0xFFU) /*CI到IVOC PDB按钮旁路*/
|
||
|
||
#define CI_IVOC_GAP_DETECT_STATUS_CLEAR ((UINT8)0x55) /*CI2VOBC间隙探测状态:已检测且无障碍物*/
|
||
#define CI_IVOC_GAP_DETECT_STATUS_UNCLEAR ((UINT8)0xAA) /*CI2VOBC间隙探测状态:已检测且有障碍物*/
|
||
#define CI_IVOC_GAP_DETECT_STATUS_DEFAULT ((UINT8)0xFF) /*CI2VOBC间隙探测状态:未检测/无此功能,Default Value*/
|
||
|
||
#define CI_IVOC_ESB_STATE_VALID ((UINT8)0x55U) /*CI到IVOC(VOBC) ESB按钮按下*/
|
||
#define CI_IVOC_ESB_STATE_INVALID ((UINT8)0xAAU) /*CI到IVOC(VOBC) ESB按钮未按下*/
|
||
#define CI_IVOC_NO_HAVE_ESB ((UINT8)0xFFU) /*CI到IVOC(VOBC) ESB按钮默认值*/
|
||
|
||
#define CI_IVOC_NON_RETURN_STATE_VALID ((UINT8)0x55U) /*CI到IVOC 无人折返按钮按下*/
|
||
#define CI_IVOC_NON_RETURN_STATE_INVALID ((UINT8)0xAAU) /*CI到IVOC 无人折返按钮未按下*/
|
||
|
||
#define CI_IVOC_SPKS_STATE_VALID ((UINT8)0x55U) /*CI到IVOC SPKS按钮激活*/
|
||
#define CI_IVOC_SPKS_STATE_INVALID ((UINT8)0xAAU) /*CI到IVOC SPKS按钮未激活*/
|
||
|
||
#define CI_IVOC_GARAGEDR_STATE_VALID ((UINT8)0x55U) /*CI到IVOC 车库门打开*/
|
||
#define CI_IVOC_GARAGEDR_STATE_INVALID ((UINT8)0xAAU) /*CI到IVOC 车库门关闭*/
|
||
|
||
#define CI_IVOC_ALLLINE_FLOCK ((UINT8)0xCCU) /*CI到IVOC 全线封锁*/
|
||
#define CI_IVOC_ALLLINE_FLOCK_NO ((UINT8)0xFFU) /*CI到IVOC 未全线封锁*/
|
||
|
||
#define CI_IVOC_FLOODGATE_OPEN_LOCK ((UINT8)0xAAU) /*CI到IVOC 防淹门开启锁定*/
|
||
#define CI_IVOC_FLOODGATE_OPEN_LOCK_NO ((UINT8)0x55U) /*CI到IVOC 防淹门未开启锁定*/
|
||
|
||
#define CI_IVOC_FLOODGATE_CLOSE_REQ ((UINT8)0x55U) /*CI到IVOC 防淹门有关门请求*/
|
||
#define CI_IVOC_FLOODGATE_CLOSE_REQ_NO ((UINT8)0xAAU) /*CI到IVOC 防淹门无关门请求*/
|
||
|
||
#define CI_IVOC_DYTEST_REPLY_YES ((UINT8)0x55U) /*CI到IVOC 动态测试同意*/
|
||
#define CI_IVOC_DYTEST_REPLY_NO ((UINT8)0xAAU) /*CI到IVOC 动态测试不同意*/
|
||
|
||
#define CI_IVOC_LOGSEC_PRLOCK_OPEN ((UINT8)0x55U) /*CI到IVOC 逻辑区段保护区段兼进路锁闭,且所属进路开放*/
|
||
#define CI_IVOC_LOGSEC_PRLOCK_CLOSE ((UINT8)0xAAU) /*CI到IVOC 逻辑区段保护区段兼进路锁闭,且所属进路未开放*/
|
||
#define CI_IVOC_LOGSEC_RLOCK ((UINT8)0xCCU) /*CI到IVOC 逻辑区段仅进路锁闭*/
|
||
#define CI_IVOC_LOGSEC_PLOCK ((UINT8)0x33U) /*CI到IVOC 逻辑区段仅保护区段锁闭*/
|
||
|
||
#define CI_IVOC_STOP_ENASSURE_ROUTE_SUM ((UINT16)100U) /*CI到IVOC 停车保证进路最大值*/
|
||
#define CI_IVOC_RESOURCE_CANCEL_RTSUM ((UINT16)100U) /*CI到IVOC 资源取消进路最大值*/
|
||
|
||
#define CI_IVOC_FLOODGATE_APPLY_SUM ((UINT16)50U) /*CI到IVOC 防淹门关闭请求最大数量*/
|
||
#define CI_IVOC_PACKET_LENGTH_MAX ((UINT16)1400U) /*CI到IVOC 包长度数量最大值*/
|
||
#define TRAIN_TOPLATFORM_LOG_SUM ((UINT16)1000U) /*列车到站台的逻辑区段最大数量*/
|
||
|
||
#define CI_IVOC_LOGSEC_JUMPLOCK_YES ((UINT8)0x55U) /*CI到IVOC 逻辑区段跳跃锁闭已锁闭*/
|
||
#define CI_IVOC_LOGSEC_JUMPLOCK_NO ((UINT8)0xaaU) /*CI到IVOC 逻辑区段跳跃锁闭未锁闭*/
|
||
|
||
#define IVOC_LOG_OUT_FAILURE ((UINT8)0xaau) /*IVOC注销失败*/
|
||
#define IVOC_LOG_OUT_SUCCESS ((UINT8)0x55u) /*IVOC注销成功*/
|
||
|
||
#define CI_IVOC_SCREEN_REQ_YES ((UINT8)0x55u) /*筛选申请*/
|
||
#define CI_IVOC_SCREEN_REQ_NO ((UINT8)0xffu) /*无筛选申请*/
|
||
|
||
#define IVOC_CI_UNLOCK_OVERLAP_SUM ((UINT8)20U) /*IVOC到CI允许解锁保护区段数量最大值*/
|
||
#define CI_IVOC_UNLOCK_OVERLAP_SUM ((UINT8)20U) /*CI到IVOC申请解锁保护区段数量最大值*/
|
||
|
||
#define IVOC_CI_FLOODGATE_CLOSE_ALLOW_SUM ((UINT8)50U) /*IVOC到CI防淹门关闭允许的数量最大值*/
|
||
#define IVOC_CI_GARAGEDOOR_CLOSE_ALLOW_SUM ((UINT8)50U) /*IVOC到CI车库门关闭允许的数量最大值*/
|
||
#define CI_IVOC_YUXIANOPEN_ROUTE_MAX ((UINT8)200U) /*CI到IVOC预先开放进路最大值*/
|
||
#define CI_IVOC_COM_ERR_RC_NUM_MAX ((UINT8)5U) /*CI到IVOC通信故障RC最大值*/
|
||
|
||
#define CI_IVOC_URGENT_YES ((UINT8)0x55U) /*CI到IVOC 紧急制动状态有效*/
|
||
#define CI_IVOC_URGENT_NO ((UINT8)0xaaU) /*CI到IVOC 紧急制动状态无效*/
|
||
|
||
#define CI_VOBC_BACKUP_SEND_ROUTE_SUM ((UINT8)5U) /*CI到车载后备通道进路数量最大值*/
|
||
|
||
#define CI_IVOC_LOST_POSITION ((UINT8)0x55U) /*CI到车载特控报文 丢位置*/
|
||
|
||
|
||
#define CI_VOBC_JXTC_CUT_YES ((UINT8)0x55) /*间隙探测旁路故障*/
|
||
#define CI_VOBC_JXTC_CUT_NO ((UINT8)0xAA) /*间隙探测旁路未故障*/
|
||
#define CI_VOBC_JXTC_OFF ((UINT8)0xFF) /*未检测/无此功能*/
|
||
|
||
#define PSD_INCOUDE_ESB_NUM ((UINT8)2U) /*站台关联ESB*/
|
||
|
||
#define TRAIN_LEN_MIN 1000U /*最小车长*/
|
||
#define TRAIN_LEN_MAX 50000U /*最大车长*/
|
||
|
||
#define VOBC_CI_BLOCLINK_BLOCK_CTRL ((UINT8)0x01) /*点式列车控制级别*/
|
||
#define VOBC_CI_BLOCLINK_CI_CTRL ((UINT8)0x02) /*联锁控制级别*/
|
||
#define VOBC_CI_BLOCLINK_CI_DEFAULT ((UINT8)0xFF) /*默认值*/
|
||
|
||
#define CI_VOBC_SWITCH_MAX ((UINT8)20U) /*CI-VOBC点连式道岔数量最大值*/
|
||
#define CI_VOBC_OTHER_EQUIPMENT_MAX ((UINT8)10U) /*CI-VOBC点连式其他设备数量最大值*/
|
||
|
||
#define CI_VOBC_XIANSU_NOT ((UINT8)0xaaU) /*CI-VOBC点连式未设置临时限速*/
|
||
#define CI_VOBC_XIANSU_YES ((UINT8)0x55U) /*CI-VOBC点连式已设置临时限速*/
|
||
|
||
#define CI_VOBC_DESTINATION_TYPE_RETURN ((UINT8)0xaaU) /*CI-VOBC点连式目的地属性-折返*/
|
||
#define CI_VOBC_DESTINATION_TYPE_LIECHE ((UINT8)0x55U) /*CI-VOBC点连式目的地属性-直通*/
|
||
|
||
#define CI_VOBC_FLOOD_STATE_OPEN ((UINT8)0xaaU) /*CI-VOBC点连式防淹门开启锁定状态且无关门请求*/
|
||
#define CI_VOBC_FLOOD_STATE_CLOSE ((UINT8)0x55U) /*CI-VOBC点连式防淹非开启锁定状态或有关门请求*/
|
||
|
||
#define CI_VOBC_TRAIN_ZERO_SPEED_NO ((UINT8)0xAAU) /*CI-VOBC列车非零速*/
|
||
#define CI_VOBC_TRAIN_ZERO_SPEED_YES ((UINT8)0x55U) /*CI-VOBC列车零速*/
|
||
|
||
|
||
#ifdef __cplusplus
|
||
extern "C" {
|
||
#endif
|
||
|
||
|
||
#ifndef SFP_PROTOCOL
|
||
|
||
/*与联锁通信的Vobc信息*/
|
||
typedef struct S_VobcToCiPsdDataStruct
|
||
{
|
||
UINT16 PsdId; /*Psd ID*/
|
||
UINT32 PsdIdInterConn; /*互联互通Psd ID*/
|
||
UINT8 CmdType; /*命令类型*/
|
||
UINT8 gapDetectCmd; /*间隙探测命令*/
|
||
UINT8 VOBCDoorState; /*VOBC车门状态*/
|
||
UINT32 CmdStartCycNum; /*命令起始周期*/
|
||
UINT32 faultIsolationRequest; /*故障隔离信息请求*/
|
||
UINT32 VOBCIsolatePsdRequest[2]; /*VOBC故障隔离PSD请求,新机场线CI-VOBC接口文档里规定8个字节,Added on 20180223*/
|
||
} VobcToCiPsdDataStruct;
|
||
|
||
/*备用模式与联锁通信的Vobc含有的PSD信息*/
|
||
typedef struct S_VobcBackUpToCiPsdDataStruct
|
||
{
|
||
UINT16 PsdId; /*Psd ID*/
|
||
UINT32 PsdIdInterConn; /*互联互通Psd ID*/
|
||
UINT8 CmdType; /*命令类型*/
|
||
UINT32 CmdStartCycNum; /*命令起始周期*/
|
||
} VobcBackUpToCiPsdDataStruct;
|
||
|
||
typedef struct S_IvocToCiEaStruct
|
||
{
|
||
UINT8 chDeviceStatus; /* 设备状态 */
|
||
UINT16 wDeviceId; /* 设备ID */
|
||
UINT32 dwBuildCyc; /*疏散建立周期*/
|
||
}IvocToCiEaDataStru;
|
||
|
||
typedef struct S_IvocToCiCmdStruct
|
||
{
|
||
UINT8 chCmdType; /* 命令类型 */
|
||
UINT8 chCmdDevNum; /* 命令设备数量 */
|
||
UINT16 wCmdDevId[IVOC_CI_CMD_DEVICE_MAX]; /* 命令设备ID数组*/
|
||
}IvocCmdStru;
|
||
|
||
/*点连式信息*/
|
||
typedef struct S_VobcToCiBlocLinkStruct
|
||
{
|
||
UINT8 chBlocLinkTrainLevel; /*点连式运行级别*/
|
||
UINT32 chBlocLinkCycle; /*点连式通信周期*/
|
||
UINT8 chTrainDirection; /*运行方向*/
|
||
UINT16 wTrainMaxSafeHeadLink; /*列车最大安全前端所处Link*/
|
||
UINT32 dwTrainMaxSafeHeadOffset; /*列车最大安全前端偏移量*/
|
||
UINT16 wTrainMinSafeTailLink; /*列车最小安全后端所处link*/
|
||
UINT32 dwTrainMinSafeTailOffset; /*列车最小安全后端偏移量*/
|
||
}VobcToCiBlocLinkStruct;
|
||
|
||
/*与联锁通信的Vobc信息*/
|
||
typedef struct S_VobcToCiDataStruct
|
||
{
|
||
UINT16 VobcId; /*Vobc ID*/
|
||
UINT8 psdCmdCode; /*站台开门码*/
|
||
UINT16 trainEditGroupInfo; /*列车编组信息*/
|
||
UINT8 washTrainRequest; /*洗车请求信息*/
|
||
UINT8 headWashStopSteadyInfo; /*头端洗位停稳信息,洗车停稳1*/
|
||
UINT8 tailWashStopSteadyInfo; /*尾端洗位停稳信息,洗车停稳2*/
|
||
UINT8 couplingWashStopSteadyInfo; /*联挂端洗位停稳信息,洗车停稳3*/
|
||
UINT8 passWashMachineRequest; /*通过洗车机请求信息*/
|
||
UINT8 washPauseRequest; /*暂停洗车请求*/
|
||
UINT8 chWashMachineWorkMode; /*洗车机工作模式设置*/
|
||
UINT8 PsdSum; /*屏蔽门数量*/
|
||
UINT8 trainDirection; /*列车运行方向*/
|
||
UINT8 trainStopSteadyState; /*列车停稳停准状态*/
|
||
UINT32 trackSecID; /*轨道区段ID*/
|
||
UINT32 stopSteadyStartCycNum; /*停稳开始周期*/
|
||
UINT32 firstHeartFrmSndCycNum; /*第一次发送心跳帧周期*/
|
||
UINT32 ComStartCycle;/*与VOBC通信开始周期,使用该周期做VOBC通信中断判断*/
|
||
UINT16 appInfoType; /*应用信息类型*/
|
||
UINT16 vobcLogId; /*互联互通4IP VOBC1端或2端标识*/
|
||
VobcToCiPsdDataStruct PsdData[VOBC_TO_CI_TRAIN_PSD_MAX]; /*关联屏蔽门数据*/
|
||
UINT32 signalID; /*VOBC->CI信号机ID*/
|
||
|
||
VobcToCiBlocLinkStruct strBlocLinkData; /*VOBC->CI点连式信息*/
|
||
|
||
/*add by qw.liu 2022-02-24 增加车车新接口字段*/
|
||
UINT8 chTrainLevel; /*列车运行级别:01:VBTC;02:ITC;03:UR;04:ABL*/
|
||
UINT8 chTrainMode; /*列车模式*/
|
||
UINT16 wTrainMaxSafeHeadLink; /*列车最大安全前端所处Link*/
|
||
UINT32 dwTrainMaxSafeHeadOffset; /*列车最大安全前端偏移量*/
|
||
UINT16 wTrainMinSafeHeadLink; /*列车最小安全前端所处link*/
|
||
UINT32 dwTrainMinSafeHeadOffset; /*列车最小安全前端偏移量*/
|
||
UINT16 wTrainMaxSafeTailLink; /*列车最大安全后端所处Link*/
|
||
UINT32 dwTrainMaxSafeTailOffset; /*列车最大安全后端偏移量*/
|
||
UINT16 wTrainMinSafeTailLink; /*列车最小安全后端所处link*/
|
||
UINT32 dwTrainMinSafeTailOffset; /*列车最小安全后端偏移量*/
|
||
/*列车运行方向 trainDirection*/
|
||
UINT16 wTrainSpeed; /*列车速度*/
|
||
UINT8 chSpeedDir; /*列车速度方向*/
|
||
UINT8 chTrainZeroState; /*列车零速状态*/
|
||
UINT8 chTrainHeadScreenConfirm; /*人工确认前筛状态*/
|
||
UINT8 chTrainTailScreenConfirm; /*人工确认后筛状态*/
|
||
UINT8 chTrainStopAssureNum; /*列车停车保证*/
|
||
UINT16 szTrainStopRouteId[IVOC_CI_STOP_ASS_SUM_MAX]; /*列车停车保证进路ID*/
|
||
UINT32 szTrainStopRouteCyc[IVOC_CI_STOP_ASS_SUM_MAX];
|
||
UINT8 chResourcesCancelNum; /*列车资源取消(允许进路数量)*/
|
||
UINT16 szResourcesCancelRouteId[IV0C_CI_RESOURCE_CANCEL_SUM_MAX]; /*列车取消资源进路ID*/
|
||
UINT32 szResourcesCancelRouteCyc[IV0C_CI_RESOURCE_CANCEL_SUM_MAX];
|
||
UINT8 cAllowUnlockOverlapNum; /*列车允许解锁保护区段的数量*/
|
||
UINT16 szAllowUnlockOverlapId[IVOC_CI_UNLOCK_OVERLAP_SUM]; /*列车允许解锁保护区段的ID*/
|
||
UINT32 szAllowUnlockOverlapStartCyc[IVOC_CI_UNLOCK_OVERLAP_SUM]; /*列车允许解锁保护区段的起始周期号*/
|
||
UINT8 cAllowCloseFloodGateNum; /*列车允许关闭的防淹门数量*/
|
||
UINT16 szAllowCloseFloodGateId[IVOC_CI_FLOODGATE_CLOSE_ALLOW_SUM]; /*列车允许关闭的防淹门ID*/
|
||
UINT32 szAllowCloseFloodGateCyc[IVOC_CI_FLOODGATE_CLOSE_ALLOW_SUM]; /*防淹门关闭请求周期号*/
|
||
|
||
UINT8 cAllowCloseGarageGateNum; /*列车允许关闭的车库门数量*/
|
||
UINT16 szAllowCloseGarageGateId[IVOC_CI_FLOODGATE_CLOSE_ALLOW_SUM]; /*列车允许关闭的车库门ID*/
|
||
UINT32 szAllowCloseGarageGateCyc[IVOC_CI_FLOODGATE_CLOSE_ALLOW_SUM]; /*车库门关闭请求周期号*/
|
||
|
||
UINT8 chTrainWakeState; /*列车唤醒状态*/
|
||
UINT8 chTrainReportState; /*列车汇报湿轨报警信息 无需新增二乘*/
|
||
UINT8 chEaNum; /* 区间疏散数量 */
|
||
IvocToCiEaDataStru stEaInfo[IVOC_CI_EA_MAX]; /* 区间疏散信息 */
|
||
UINT16 wGroupOtherTrainId; /* 编组另一列车ID*/
|
||
UINT8 chGroupRunState; /* 编组列车状态 1非编组2编组建立3编组运行4编组折返5编组解耦*/
|
||
UINT8 chGroupTrainReat; /* 编组前后车关系 0x55本车为编组前车 0xaa本车编组后车 0x5a非编组*/
|
||
UINT16 wIvocCmdNum; /*IVOC 命令数量*/
|
||
IvocCmdStru stCmdInfo[IVOC_CI_CMD_MAX]; /*IVOC 命令信息*/
|
||
UINT32 dwDelayTime; /*消息延迟时间*/
|
||
|
||
UINT8 chLogOutState; /*注销申请状态*/
|
||
|
||
UINT8 chActive; /*当前激活端*/
|
||
UINT8 chRrmReq; /*远程RM申请*/
|
||
UINT16 wNextStation; /*下一站*/
|
||
UINT8 chDerailment; /*脱轨状态*/
|
||
|
||
UINT8 chVideoQkState; /*视频清客状态*/
|
||
UINT8 chVideoQkResult; /*视频清客结果*/
|
||
UINT16 wVideoQkRelatePsdId1; /*视频清客关联屏蔽门ID1*/
|
||
UINT16 wVideoQkRelatePsdId2; /*视频清客关联屏蔽门ID2*/
|
||
|
||
UINT16 wHeadAxisId; /*前方计轴编号*/
|
||
UINT8 wHeadITEResult; /*前方ITE识别结果 0x55:无列车 0xaa:有列车*/
|
||
UINT16 wTailAxisId; /*后方计轴编号*/
|
||
UINT8 wTailITEResult; /*后方ITE识别结果 0x55:无列车 0xaa:有列车*/
|
||
UINT8 chNvramPosFlag; /*NVNAM位置标识 0x55:列车使用NVRAM位置 0xaa:列车未使用NVRAM位置*/
|
||
UINT16 wHeadSigId; /*前方信号机ID*/
|
||
UINT16 wHeadVobcId; /*前车ID*/
|
||
UINT8 chJumpBackApply; /*向后跳跃申请*/
|
||
UINT32 dwJumpBackSn; /*向后跳跃申请序列号*/
|
||
UINT8 controlMode; /*控车模式*/
|
||
} VobcToCiDataStruct;
|
||
|
||
/*在RC模式下,统一使用IvocToRcDataStruct*/
|
||
typedef VobcToCiDataStruct IvocToRcDataStruct;
|
||
|
||
/*使用后备模式与联锁通信的Vobc信息*/
|
||
typedef struct S_VobcBackUpToCiDataStruct
|
||
{
|
||
UINT16 VobcId; /*Vobc ID*/
|
||
UINT8 chTrainLevel; /*列车运行级别 连续式510/CBTC: 0x01; ITC: 0x02; 联锁510/IL模式: 0x03; ABL模式 :0x04;*/
|
||
UINT8 trainDirection; /*列车运行方向*/
|
||
UINT16 appInfoType; /*应用信息类型*/
|
||
UINT16 vobcLogId; /*互联互通4IP VOBC1端或2端标识*/
|
||
UINT32 ComStartCycle; /*与VOBC后备模式通信周期,使用该周期做VOBC通信中断判断*/
|
||
UINT16 wNextStation; /*前方站台ID*/
|
||
UINT16 wTrainMaxSafeHeadLink; /*列车最大安全前端所处Link*/
|
||
UINT32 dwTrainMaxSafeHeadOffset; /*列车最大安全前端偏移量*/
|
||
UINT16 wTrainMinSafeTailLink; /*列车最小安全后端所处link*/
|
||
UINT32 dwTrainMinSafeTailOffset; /*列车最小安全后端偏移量*/
|
||
/*列车控制PSD相关*/
|
||
UINT8 psdCmdCode; /*站台开门码*/
|
||
UINT8 PsdSum; /*屏蔽门数量 取值0,1,2*/
|
||
VobcBackUpToCiPsdDataStruct PsdData[VOBC_BACKUP_TO_CI_TRAIN_PSD_MAX]; /*关联屏蔽门数据*/
|
||
UINT16 wTrainHeadCurSignalId; /*列车前方当前信号机*/
|
||
UINT16 wTrainHeadTrainId; /*列车前车ID*/
|
||
UINT8 chNvramPosFlag; /*NVRAM位置标识*/
|
||
UINT8 chStopSteadyState; /*停准停稳标志*/
|
||
UINT32 stopSteadyStartCycNum; /*停准停稳标志设置周期*/
|
||
UINT32 trackSecID; /*停准停稳轨道区段*/
|
||
} VobcBackUpToCiDataStruct;
|
||
|
||
|
||
/*与RC通信的Vobc信息,车车模式下,与RC通信的VOBC*/
|
||
typedef struct S_IvocToRcDataStruct
|
||
{
|
||
UINT16 VobcId; /*Vobc ID*/
|
||
UINT16 VobcType; /*列车类型:0x14 510车,0x10 车车的车,本结构体仅在RC模式存510车*/
|
||
UINT8 controlMode; /*控车模式*/
|
||
UINT8 trainDirection; /*列车运行方向*/
|
||
UINT8 chTrainLevel; /*列车运行级别 0x01:连续式列车控制级别(CBTC级别);0x02:点式列车控制级别(ITC级别);0x03:联锁控制级别(IL级别);0x04:自主感知后备控制级别(ABL级别);其他:非法。*/
|
||
UINT8 chTrainMode; /*列车模式,0x01:AM;0x02:CM;0x03:RM;0x04:EUM(预留);0x05:FAM(预留);0x06:CAM(预留);其他:非法。*/
|
||
|
||
UINT16 appInfoType; /*应用信息类型*/
|
||
UINT16 vobcLogId; /*互联互通4IP VOBC1端或2端标识*/
|
||
UINT32 ComStartCycle; /*与VOBC通信周期,使用该周期做VOBC通信中断判断*/
|
||
|
||
UINT16 wTrainMaxSafeHeadLink; /*列车最大安全前端所处Link*/
|
||
UINT32 dwTrainMaxSafeHeadOffset; /*列车最大安全前端偏移量*/
|
||
UINT16 wTrainMinSafeHeadLink; /*列车最小安全前端所处link*/
|
||
UINT32 dwTrainMinSafeHeadOffset; /*列车最小安全前端偏移量*/
|
||
UINT16 wTrainMaxSafeTailLink; /*列车最大安全后端所处Link*/
|
||
UINT32 dwTrainMaxSafeTailOffset; /*列车最大安全后端偏移量*/
|
||
UINT16 wTrainMinSafeTailLink; /*列车最小安全后端所处link*/
|
||
UINT32 dwTrainMinSafeTailOffset; /*列车最小安全后端偏移量*/
|
||
UINT16 wTrainLen; /*列车车长*/
|
||
UINT16 wTrainSpeed; /*列车速度*/
|
||
UINT8 chSpeedDir; /*列车速度方向*/
|
||
|
||
} VobcToRcDataStruct;
|
||
|
||
#endif
|
||
|
||
extern VobcToCiDataStruct VobcToCiDataStru[VOBC_TO_CI_SUM_MAX];
|
||
|
||
extern VobcBackUpToCiDataStruct VobcBackUpToCiDataStru[VOBC_BACKUP_TO_CI_SUM_MAX];
|
||
|
||
extern UINT8 VobcToCiSum;
|
||
|
||
extern VobcToRcDataStruct VobcToRcDataStru[VOBC_TO_CI_SUM_MAX];/*与RC通信的VOBC信息。本变量在CI模式下不使用。在RC模式下,仅存储与RC通信的510车的信息,记得二乘同步!!!!!!!!!*/
|
||
extern UINT8 VobcToRcSum;/*与RC通信的Vobc数目,仅RC模式下使用,记录与RC通信的VOBC车数量,2乘记得同步*/
|
||
|
||
/*
|
||
* 功能描述: 解析处理VOBC单帧数据
|
||
* 参数说明: const UINT8* dataBuf, 数据缓冲区
|
||
* const UINT16 dataLength, 数据长度
|
||
* const UINT8 systemId, 源设备ID
|
||
* const UINT16 logId,互联互通4IP VOBC的1端或2端标识
|
||
* 返回值 : 0: 数据解析失败
|
||
* 1: 数据解析成功
|
||
*/
|
||
UINT8 ParseVobcToCiDataFrame(const UINT8* dataBuf, const UINT16 dataLength, const UINT8 systemId,const UINT16 logId);
|
||
|
||
/*
|
||
* 功能描述: 解析处理VOBC备用通道单帧数据
|
||
* 参数说明: const UINT8* dataBuf, 数据缓冲区
|
||
* const UINT16 dataLength, 数据长度
|
||
* const UINT8 systemId, 源设备ID
|
||
* const UINT16 logId,互联互通4IP VOBC的1端或2端标识
|
||
* 返回值 : 0: 数据解析失败
|
||
* 1: 数据解析成功
|
||
*/
|
||
UINT8 ParseVobcBackUpToCiDataFrame(const UINT8* dataBuf, const UINT16 dataLength, const UINT8 systemId, const UINT16 logId);
|
||
|
||
/*
|
||
* 功能描述: 组VOBC数据
|
||
* 参数说明:
|
||
* 返回值 : 0:组数据失败
|
||
* 1:组数据成功
|
||
*/
|
||
UINT8 PackVobcData(void);
|
||
|
||
/*
|
||
* 功能描述: 组VOBC后备通道数据
|
||
* 参数说明: void
|
||
* 返回值 CI_ERROR失败 CI_SUCCESS成功
|
||
*/
|
||
UINT8 PackCiToVobcBackUpData(void);
|
||
|
||
|
||
/*
|
||
* 功能描述: 获取VOBC到CI命令结构体数组
|
||
* 参数说明: void
|
||
* 返回值 : NULL: 获取失败
|
||
* !NULL: VOBC到CI命令结构体数组指针
|
||
*/
|
||
VobcToCiDataStruct* GetVobcToCiDataStru(void);
|
||
|
||
/*
|
||
* 功能描述: 获取VOBC到CI命令结构体数组总数
|
||
* 参数说明: void
|
||
* 返回值 : 数组总数
|
||
*/
|
||
UINT8 GetVobcToCiSum(void);
|
||
|
||
/*
|
||
* 功能描述: 获取屏蔽门编组信息
|
||
* 参数说明: const UINT16 psdId :屏蔽门ID
|
||
* 返回值 : 01:四编组
|
||
* 02:六编组
|
||
* 08:八编组
|
||
* CI_ERROR: 不合法
|
||
*/
|
||
UINT8 GetPsdEditGroupInfo(const UINT16 psdId);
|
||
|
||
|
||
/*
|
||
* 功能描述: 根据索引获取Vobc id
|
||
* 参数说明: UINT16 idx:VOBC发送给CI的信息结构体数组的位置索引
|
||
* 返回值 : 0:失败
|
||
* 其它值:VobcId
|
||
*/
|
||
UINT16 GetVobcIdByIndex(UINT16 index);
|
||
|
||
/*
|
||
* 功能描述: 根据索引获取Vobc 编组信息
|
||
* 参数说明: UINT16 idx:VOBC发送给CI的信息结构体数组的位置索引
|
||
* 返回值 : 0:失败
|
||
* 其它值:VobcId
|
||
*/
|
||
UINT8 GetVobcEditGroupInfoByIndex(UINT16 index);
|
||
|
||
/*
|
||
* 功能描述: 组(FAO+HLHT)VOBC数据
|
||
* 参数说明: QueueStruct* CiToVobcDataQueue, 组包发送队列地址
|
||
* 返回值 : 0:组数据失败
|
||
* 1:组数据成功
|
||
*/
|
||
UINT8 PackCiToVobcDataFAOHLHToneSelf(VobcToCiDataStruct* vobcToCiDataStru);
|
||
|
||
/*
|
||
* 功能描述: 组(FAO+HLHT)VOBC数据(去除自动洗车和站台控制信息)
|
||
* 参数说明: QueueStruct* CiToVobcDataQueue, 组包发送队列地址
|
||
* 返回值 : 0:组数据失败
|
||
* 1:组数据成功
|
||
*/
|
||
UINT8 PackCiToVobcDataFAOHLHToneSelfSecond(VobcToCiDataStruct* vobcToCiDataStru);
|
||
|
||
/*
|
||
* 功能描述: 列车编组信息防护检查
|
||
* 参数说明:UINT8 trainEditGroupInfo, 列车编组信息
|
||
* 返回值 : 0:组数据失败
|
||
* 1:组数据成功
|
||
*/
|
||
UINT8 ChecktrainEditGroupInfo(UINT8 trainEditGroupInfo, OUT UINT8 EditGroupinfo_out);
|
||
|
||
/*
|
||
* 功能描述: 列车洗车请求防护检查
|
||
* 参数说明:UINT8 trainEditGroupInfo, 列车编组信息
|
||
* 返回值 : 0:组数据失败
|
||
* 1:组数据成功
|
||
*/
|
||
UINT8 CheckwashTrainRequest(UINT8 washTrainRequest, OUT UINT8 washTrainRequest_out);
|
||
|
||
/*
|
||
* 功能描述: 头端洗位停稳信息防护检查
|
||
* 参数说明:UINT8 trainEditGroupInfo, 列车编组信息
|
||
* 返回值 : 0:组数据失败
|
||
* 1:组数据成功
|
||
*/
|
||
UINT8 CheckheadWashStopSteady(UINT8 headwashStop, OUT UINT8 headwashStop_out);
|
||
|
||
/*
|
||
* 功能描述: 尾端洗位停稳信息
|
||
* 参数说明:UINT8 trainEditGroupInfo,尾端洗位停稳信息
|
||
* 返回值 : 0:组数据失败
|
||
* 1:组数据成功
|
||
*/
|
||
UINT8 ChecktailWashStopSteady(UINT8 tailwashStop, OUT UINT8 tailwashStop_out);
|
||
|
||
/*
|
||
* 功能描述: 通过洗车机请求防护检查
|
||
* 参数说明:UINT8 trainEditGroupInfo, 通过洗车机请求
|
||
* 返回值 : 0:组数据失败
|
||
* 1:组数据成功
|
||
*/
|
||
UINT8 CheckpassWashMachine(UINT8 passWashMachine, OUT UINT8 passWashMachine_out);
|
||
|
||
/*
|
||
* 功能描述: 校验防护区域和列车包络是否有重合
|
||
* 参数说明: UINT16 wFloodGateId, 防淹门ID
|
||
* UINT16 wTrainId, 列车ID
|
||
* 返回值 : CI_ERROR 失败,包络和防护区域无重叠,发实际状态
|
||
* CI_SUCCESS 成功,包络和防护区域有重叠,发无关门请求
|
||
*/
|
||
UINT8 CheckProtectEnvelope(UINT16 wFloodGateId, UINT16 wTrainId);
|
||
|
||
/*
|
||
* 功能描述: 组包Ci到Ivoc备用通道逻辑区段信息
|
||
* 参数说明: UINT8* dataBuf, 数据缓冲区
|
||
* UINT16 *dataLength, 数据长度 输出参数
|
||
* UINT16 wTrainId 列车ID
|
||
* 返回值 : CI_ERROR 失败
|
||
* CI_SUCCESS 成功
|
||
*/
|
||
static UINT8 PackCiToIvocBackUpLogSecInfo(UINT8* pDataBuf, UINT16* wDataLength, UINT16 wTrainId);
|
||
|
||
/*
|
||
* 功能描述: 组包Ci到Ivoc备用通道进路信息
|
||
* 参数说明: UINT8* dataBuf, 数据缓冲区
|
||
* UINT16 *dataLength, 数据长度 输出参数
|
||
* UINT16 wTrainId 列车ID
|
||
* 返回值 : CI_ERROR 失败
|
||
* CI_SUCCESS 成功
|
||
*/
|
||
static UINT8 PackCiToIvocBackUpRouteInfo(UINT8* pDataBuf, UINT16* wDataLength, UINT16 wTrainId);
|
||
|
||
/*
|
||
* 功能描述: 组包Ci到Ivoc备用通道折返逻辑区段信息
|
||
* 参数说明: UINT8* dataBuf, 数据缓冲区
|
||
* UINT16 *dataLength, 数据长度 输出参数
|
||
* UINT16 wTrainId 列车ID
|
||
* 返回值 : CI_ERROR 失败
|
||
* CI_SUCCESS 成功
|
||
*/
|
||
static UINT8 PackCiToIvocBackUpReturnLogInfo(UINT8* pDataBuf, UINT16* wDataLength, UINT16 wTrainId);
|
||
|
||
/*
|
||
* 功能描述: 组包Ci到Ivoc备用通道屏蔽门状态信息
|
||
* 参数说明: UINT8* dataBuf, 数据缓冲区
|
||
* UINT16 *dataLength, 数据长度 输出参数
|
||
* UINT16 wTrainId 列车ID
|
||
* 返回值 : CI_ERROR 失败
|
||
* CI_SUCCESS 成功
|
||
*/
|
||
static UINT8 PackCiToIvocBackUpPsdInfo(UINT8* pDataBuf, UINT16* wDataLength, UINT16 wTrainId);
|
||
|
||
/*
|
||
* 功能描述: 组包Ci到IvocSpks备用通道状态信息
|
||
* 参数说明: UINT8* dataBuf, 数据缓冲区
|
||
* UINT16 *dataLength, 数据长度 输出参数
|
||
* 返回值 : CI_ERROR 失败
|
||
* CI_SUCCESS 成功
|
||
*/
|
||
static UINT8 PackCiToIvocBackUpSpksInfo(UINT8* pDataBuf, UINT16* wDataLength);
|
||
|
||
/*
|
||
* 功能描述: 组包Ci到Ivoc备用通道紧急按钮状态信息
|
||
* 参数说明: UINT8* dataBuf, 数据缓冲区
|
||
* UINT16 *dataLength, 数据长度 输出参数
|
||
* UINT16 wTrainId 列车ID
|
||
* 返回值 : CI_ERROR 失败
|
||
* CI_SUCCESS 成功
|
||
*/
|
||
static UINT8 PackCiToIvocBackUpEsbInfo(UINT8* pDataBuf, UINT16* wDataLength, UINT16 wTrainId);
|
||
|
||
/*
|
||
* 功能描述: 组包Ci到Ivoc备用通道道岔状态信息
|
||
* 参数说明: UINT8* dataBuf, 数据缓冲区
|
||
* UINT16 *dataLength, 数据长度 输出参数
|
||
* 返回值 : CI_ERROR 失败
|
||
* CI_SUCCESS 成功
|
||
*/
|
||
static UINT8 PackCiToIvocBackUpSwitchInfo(UINT8* pDataBuf, UINT16* wDataLength);
|
||
|
||
/*
|
||
* 功能描述: 组包Ci到Ivoc备用通道保护区段状态信息
|
||
* 参数说明: UINT8* dataBuf, 数据缓冲区
|
||
* UINT16 *dataLength, 数据长度 输出参数
|
||
* UINT16 wTrainId 列车ID
|
||
* 返回值 : CI_ERROR 失败
|
||
* CI_SUCCESS 成功
|
||
*/
|
||
static UINT8 PackCiToIvocBackUpProtectLgcInfo(UINT8* pDataBuf, UINT16* wDataLength, UINT16 wTrainId);
|
||
|
||
/*
|
||
* 功能描述: 组包Ci到Ivoc临时限速状态信息
|
||
* 参数说明: UINT8* dataBuf, 数据缓冲区
|
||
* UINT16 *dataLength, 数据长度 输出参数
|
||
* UINT16 wTrainId 列车ID
|
||
* 返回值 : CI_ERROR 失败Spks
|
||
* CI_SUCCESS 成功
|
||
*/
|
||
static UINT8 PackCiToIvocBackUpTsrInfo(UINT8* pDataBuf, UINT16* wDataLength, UINT16 wTrainId);
|
||
|
||
/*
|
||
* 功能描述: 组包Ci到Ivoc状态确认信息
|
||
* 参数说明: UINT8* dataBuf, 数据缓冲区
|
||
* UINT16 *dataLength, 数据长度 输出参数
|
||
* 返回值 : CI_ERROR 失败Spks
|
||
* CI_SUCCESS 成功
|
||
*/
|
||
static UINT8 PackCiToIvocBackUpReqStateInfo(UINT8* pDataBuf, UINT16* wDataLength);
|
||
|
||
/*
|
||
* 功能描述: 组包Ci到IvoC防淹门状态信息
|
||
* 参数说明: UINT8* dataBuf, 数据缓冲区
|
||
* UINT16 *dataLength, 数据长度 输出参数
|
||
* 返回值 : CI_ERROR 失败Spks
|
||
* CI_SUCCESS 成功
|
||
*/
|
||
static UINT8 PackCiToIvocBackUpFloodInfo(UINT8* pDataBuf, UINT16* wDataLength);
|
||
|
||
/*
|
||
* 功能描述: 组包Ci到Ivoc前车信息
|
||
* 参数说明: const UINT8* dataBuf, 数据缓冲区
|
||
* const UINT16 *dataLength, 数据长度 输出参数
|
||
* const UINT16 wTrnId VOBC ID
|
||
* 返回值 : CI_ERROR 失败
|
||
* CI_SUCCESS 成功
|
||
* by cgh 20240606
|
||
*/
|
||
static UINT8 PackCiToIvocHeadTrainInfo(UINT8* pDataBuf, UINT16* wDataLength, const UINT16 wTrnId);
|
||
|
||
/*
|
||
* 功能描述: 解析FAOHLHT其他报文类型数据
|
||
* 参数说明: const UINT8* dataBuf, 数据缓冲区
|
||
* const UINT16 dataLength, 数据长度
|
||
* const UINT8 systemId, 源设备ID
|
||
* VobcToCiDataStruct* vobcToCiDataStru VOBC到CI结构体数据
|
||
* 返回值 : 0: 数据解析失败
|
||
* 1: 数据解析成功
|
||
* BY CGH 20240606
|
||
*/
|
||
UINT8 ParseFAOHLHTOtherTypeData(const UINT16 appInfoType, UINT8* dataBuf, UINT16 dataLen, const UINT8 systemId, VobcToCiDataStruct* vobcToCiDataStru);
|
||
|
||
/*
|
||
* 功能描述: 解析FAOHLHT后备运行控制信息数据
|
||
* 参数说明: const UINT8* dataBuf, 数据缓冲区
|
||
* const UINT16 dataLength, 数据长度
|
||
* VobcToCiDataStruct* vobcToCiDataStru VOBC到CI结构体数据
|
||
* 返回值 : 0: 数据解析失败
|
||
* 1: 数据解析成功
|
||
* BY CGH 20240606
|
||
*/
|
||
UINT8 ParseFAOHLHTBackUpControlData(UINT8* dataBuf, UINT16 dataLen, VobcToCiDataStruct* vobcToCiDataStru);
|
||
|
||
/*
|
||
* 功能描述: 组联锁到车载飞车宕机数据
|
||
* 参数说明: 无
|
||
* 返回值 : 无
|
||
* by cgh 20250630
|
||
*/
|
||
void PackCiToVobcFlyProtectData(void);
|
||
|
||
/*
|
||
* 功能描述:组包Ci到Ivoc的向后跳跃申请回复
|
||
* 参数说明: UINT8* dataBuf, 数据缓冲区
|
||
* UINT16 *dataLength, 数据长度 输出参数
|
||
* UINT16 wTrainId 列车ID
|
||
* 返 回 值:CI_ERROR 0 失败
|
||
* CI_SUCCESS 1 成功
|
||
* Create: fan 20250725
|
||
*/
|
||
UINT8 PackCiToIvocJumpBackReply(UINT8* pDataBuf, UINT16* wDataLength, UINT16 wTrainId);
|
||
/*
|
||
* 功能描述: 解析处理VOBC单帧数据
|
||
* 参数说明: const UINT8* dataBuf, 数据缓冲区
|
||
* const UINT16 dataLength, 数据长度
|
||
* const UINT8 systemId, 源设备ID
|
||
* const UINT16 logId,互联互通4IP VOBC的1端或2端标识
|
||
* 返回值 : 0: 数据解析失败
|
||
* 1: 数据解析成功
|
||
*/
|
||
UINT8 ParseVobcToRcDataCC(const UINT8* dataBuf, const UINT16 dataLength, const UINT8 systemId, const UINT16 logId);
|
||
/*
|
||
* 功能描述: RC模式组VOBC数据
|
||
* 参数说明: void
|
||
* 返回值 : 0:组数据失败
|
||
* 1:组数据成功
|
||
*/
|
||
UINT8 PackRcToVobcData(void);
|
||
/*
|
||
* 功能描述: 获取VOBC到Rc命令结构体数组总数
|
||
* 参数说明: void
|
||
* 返回值 : 数组总数
|
||
*/
|
||
UINT8 GetVobcToRcSum(void);
|
||
/*
|
||
* 功能描述: 解析处理Ivoc单帧数据
|
||
* 参数说明: const UINT8* dataBuf, 数据缓冲区
|
||
* const UINT16 dataLength, 数据长度
|
||
* const UINT8 systemId, 源设备ID
|
||
* const UINT16 logId,互联互通4IP VOBC的1端或2端标识
|
||
* 返回值 : 0: 数据解析失败
|
||
* 1: 数据解析成功
|
||
*/
|
||
UINT8 ParseIvocToRcDataFrame(const UINT8* dataBuf, const UINT16 dataLength, const UINT8 systemId, const UINT16 logId);
|
||
/*
|
||
* 功能描述: 获取Ivoc到RC命令结构体数组总数
|
||
* 参数说明: void
|
||
* 返回值 : 数组总数
|
||
*/
|
||
UINT8 GetIvocToRcSum(void);
|
||
/*
|
||
* 功能描述: 获取收到的列车主控状态
|
||
* 参数说明:const UINT16 wVobcId 列车ID
|
||
*
|
||
* 返回值 : 0:获取失败
|
||
* 0x55 主控
|
||
* 0xaa 非主控
|
||
*/
|
||
UINT8 GetRecvVobcControlMode(const UINT16 wVobcId);
|
||
/*
|
||
* 功能描述:组包Ci到Ivoc未接近开放进路信息(预先开放)
|
||
* 参数说明: UINT8* dataBuf, 数据缓冲区
|
||
* UINT16 *dataLength, 数据长度 输出参数
|
||
* UINT16 wTrainId 列车ID
|
||
* 返 回 值:CI_ERROR 0 失败
|
||
* CI_SUCCESS 1 成功
|
||
* Create: fan 20250725
|
||
*/
|
||
UINT8 PackCiToIvocOpenRouteNotNearInfo(UINT8* pDataBuf, UINT16* wDataLength, UINT16 wTrainId);
|
||
/*
|
||
* 功能描述: 组VOBC点连式数据
|
||
* 参数说明: UINT8* CiToVobcDataBuffer 存放信息的buffer
|
||
* UINT16* ii 偏移量
|
||
* VobcToCiDataStruct *vobcToCiDataStru VOBC-CI数据
|
||
* 返回值 : 无
|
||
* Create: lyj 20260314
|
||
*/
|
||
void PackVobcBlocLinkData(UINT8* CiToVobcDataBuffer, UINT16* ii, VobcToCiDataStruct* vobcToCiDataStru);
|
||
/*
|
||
* 功能描述: 解析VOBC点连式数据
|
||
* 参数说明: const UINT8* dataBuf, 数据缓冲区
|
||
* const UINT16 dataLength, 数据长度
|
||
* VobcToCiDataStruct* vobcToCiDataStru VOBC到CI结构体数据
|
||
* 返回值 : 解析结果
|
||
* Create: lyj 20260314
|
||
*/
|
||
UINT8 ParseVobcBlocLinkData(const UINT8* dataBuf, const UINT16 dataLength, VobcToCiDataStruct* vobcToCiDataStru);
|
||
/*
|
||
* 功能描述:检查设备是否已经添加
|
||
* 参数说明:const UINT16 wCheckDeviceId 检查设备ID
|
||
* const UINT16* pDeviceBuf 数组
|
||
* const UINT8 wDeviceNum 数量
|
||
* 返回值 :检查结果
|
||
*/
|
||
UINT8 CheckRepeatData(const UINT16 wCheckDeviceId, const UINT16* pDeviceBuf, const UINT8 wDeviceNum);
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif
|
||
|
||
#endif
|