#ifndef OCC_NET_MESSAGE_DEFINE_HEADER_FILE #define OCC_NET_MESSAGE_DEFINE_HEADER_FILE // 网络命令接口规范 // 注意: // 该项目所有系统共用该接口规范 // 为了保持接口的一致性 项目成员不能随意更改 更改接口需开会讨论 // 项目共用一份该接口文档 保存在公共目录添加至项目 不要随意拷贝使用 以免接口文档不一致 导致不能及时更新 // 该文档的所有改动需要注明 改动时间和姓名 备案 // author:lfw 2012/04/20 #define NAME_LONG 200 #define NAME_LEN 25 #define ALARM_LEN 512 //50 #define GUID_LEN 40 #define TRAINNUM_LEN 10 #define WM_TYPE_NET 0 #define WM_TYPE_OWNSYS 1 #define WM_TYPE_ALLSYS 2 #define CTRLTYPE_STATUS 2001 //状态 #define CTRLTYPE_CARD 2002 //光字牌 #define CTRLTYPE_LOCKSTATUS 2004 //状态锁 #define CTRLTYPE_FAULT 2005 //设备故障 #define CTRLTYPE_TEACHOPER 2006 //教员设备操作 #define CTRLTYPE_SUPERFLUITY 2007 //额外的联控设备操作:解决设备一对多同步问题 #define CTRLTYPE_MODE 2008 //模式控制 #define CTRLTYPE_IBP 2009 //模式控制 #define CTRLTYPE_AUTO 2010 //模式控制 #define CTRLTYPE_ElcCut 2011 //模式控制 #define CTRLTYPE_EnvCArea 2012 //控制区域 #define CTRLTYPE_UpLightCard 2013 //更新光字牌保护状态 #define SYS_TYPE_CONFIG_METRA 1 //系统类型配置-地铁 #define SYS_TYPE_CONFIG_DC 2 //系统类型配置-有轨电车 #define SYS_TYPE_CONFIG_HSR 3 //系统类型配置-高铁 //#pragma pack(1) ////////////////////////////////////////////////////////////////////////// typedef struct tgBaseNetPacket //网络包基本机构 { }BASENETPACKET,*LPBASENETPACKET; #include "ElcNetMsgDefine.h" #include "FacultyManMsgDefine.h" #include "UnLockVOCNetMsgDefine.h" #include "EvironmentNetMsgDefine.h" #include "SimulateTrainNetMsgDefine.h" #ifndef _OCC_MOVE_LINUX static int g_SysType; //系统类型(1;地铁,2:有轨电车,3:高铁) static int g_nAutoHoldTrainFlag; //地铁:系统自动扣车标记(1:自动扣车(默认),0:不自动扣车) #endif //_OCC_MOVE_LINUX ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// typedef struct tgOCCOrder : public tgBaseNetPacket { int sysID; //系统ID int cmdType; //消息类型 int trainID; //训练编号 int sendObjectID; //发出命令对象编号 int data1; //内容 int data2; //内容 int data3; //内容 int data4; //内容 int data5; //内容 void setParam(int nSysID,int nCmdType,int nTrainID,int nSendObjectID) { sysID = nSysID; cmdType = nCmdType; trainID = nTrainID; sendObjectID= nSendObjectID; } }OCCORDER,*LPOCCORDER; typedef struct tgDHOperCheck: public tgBaseNetPacket { int StdID; //学员ID char EqpmtStrID[GUID_LEN];//站 int EqpmtStatus; //设备状态 int StationID; int ViewID; int SubSysID; int CtrlArea; int Grade; int OperClient; uint8_t nOperType; //操作类型校验 }DHOPERCHECK,*LPDHOPERCHECK; typedef struct tgDHSvrReply: public tgBaseNetPacket { int StdID; //学员ID char EqpmtStrID[GUID_LEN]; //站 char ReplyText[ALARM_LEN]; //站 int EqpmtStatus; //设备状态 int ViewID; int SubSysID; int CmdID; int StationID; int AutoBoltStatus; int CtrlLock; }DHSVRREPLY,*LPDHSVRREPLY; typedef struct tgDHMsgNotice: public tgBaseNetPacket { int Time; // 时间 //NOTE:之前long,国产化后修改为int int StationID; // 所属车站 int RegionID; // 报警系统 所属系统:Elc_AlarmRegion_PSCADA-10 int Type; // 报警类型 报警DH_MSGCATEGORY_PSCADA-9,日志DH_MSGCATEGORY_SOE-2 int Level; // 报警登记 char LabelValue[ALARM_LEN];// 报文信息 char User[GUID_LEN]; // 操作员 char EqpmtID[GUID_LEN]; // 操作设备编号 }DHMSGNOTICE,*LPDHMSGNOTICE; typedef struct tgDHEqpmtOper: public tgBaseNetPacket { int StdID; //学员ID char StdName[NAME_LEN]; //学员名称 int EqpmtID; //设备ID char EqpmtStrID[GUID_LEN]; //站 int CtrlType; //控制项 int EqpmtStatus; //设备状态 int OpeMark; //操作标识 UINT nEqpmtNum; //新增:要操作的设备索引 针对水泵 1:水泵1 2:水泵2 3:水泵3 int nViewEqmptID; //视景设备ID【与三维联动:Add20240730】 }DHEQPMTOPER,*LPDHEQPMTOPER; typedef struct tgDHEqpmtUpdate: public tgBaseNetPacket { int SubSys; int CtrlType; //控制项 int Status; //设备状态 int Category; //设备类别 int ID; //设备ID int StationID; //所属车站 int ViewID; //视图ID char StationName[NAME_LEN];//站 char EqpmtStrID[GUID_LEN]; //站 char EqpmtName[NAME_LONG]; //站 int CtrlLock; int FaultLock; //故障闭锁 added by zhangjiahua int RemoteLock; //遥信封锁 added by zhangjiahua int CommunicationStaus; int CtrlArea; //控制方式 就地 远程 int nViewEqmptID; //视景设备ID【与三维联动:Add20240730】 }DHEQPMTUPDATE,*LPDHEQPMTUPDATE; typedef struct tgEvrmBroadCast: public tgBaseNetPacket { int type; //命令类型 int StationID; //车站编号 int param1; //预留参数,1:大学城南方向,2:晓东村方向 int param2; //预留参数2 int param3; //预留参数3 int numberID; //音频编号 char param5[GUID_LEN]; // }EvrmBroadCast,*LPEvrmBroadCast; typedef struct tgEvrmTimeBroadCast:public tgBaseNetPacket //定时广播 { int type; //命令类型 int StationID; //车站编号 int TimedNumber; //定时广播序号 //int StartH; //定时广播开始H //int StartM; //定时广播开始M //int StartS; //定时广播开始S //int WeekD; //定时广播开始D int param1; //预留参数1,暂设置,0:定时广播停止,1:定时广播启动,2:定时广播删除 char BroadName[ALARM_LEN]; char Week[7]; //定时广播周设置 char BeginTime[NAME_LEN]; //定时广播开始时间 }EvrmTimeBroadCast,*LPEvrmTimeBroadCast; //环境IO发给PA后台的数据结构 typedef struct tgYunDaBroadCast: public tgBaseNetPacket//add by yangsong 20200219 { int type; //命令类型 int StationID; //车站编号 int SoundID; //音频编号 bool Status; //播放状态 int param1; //预留参数 播放区域 int Direction; //上下行站台 1-下行,2-上行 TrainCloseInfo Trains[5]; }YunDaBroadCast,*LPYunDaBroadCast; //IBP_T发给PA屏的数据结构 typedef struct tgIBPToYunDaPing: public tgBaseNetPacket//add by yangsong 20200220 { int type; //命令类型 int StationID; //车站编号 int KeyID; //按钮编号 int param1; //预留 }IBPToYunDaPing,*LPIBPToYunDaPing; //PA屏发给PA后台的数据结构 typedef struct tgIYunDaPingToYunDaPA: public tgBaseNetPacket//add by yangsong 20200220 { int type; //命令类型 int StationID; //车站编号 int SoundID; //音频编号 int Cycle; //播放次数 int param1; //预留参数 播放区域 }YunDaPingToYunDaPA,*LPYunDaPingToYunDaPA; struct TbEvent { int nID; //事件编号 //NOTE:之前long,国产化后修改为int unsigned char Type; //事件类型 unsigned char SubType; //事件子类型 unsigned char ucDestination; //目的地 unsigned char rank; //难度(等级) int flags; //标识 //NOTE:之前long,国产化后修改为int int lParameter1; //整形参数1 //NOTE:之前long,国产化后修改为int int lParameter2; //整形参数2 //NOTE:之前long,国产化后修改为int int lParameter3; //整形参数3 //NOTE:之前long,国产化后修改为int int lParameter4; //整形参数4 //NOTE:之前long,国产化后修改为int unsigned char ucParameter1[8]; //字符参数 double dParameter1; //浮点参数1 double dParameter2; //浮点参数2 double dParameter3; //浮点参数3 double dParameter4; //浮点参数4 double dParameter5; //浮点参数5 double dParameter6; //浮点参数6 double dParameter7; //浮点参数7 double dParameter8; //浮点参数8 double dParameter9; //浮点参数9 double dParameter10; //浮点参数10 }; typedef map Map_TbEvent; typedef struct tgProtectReset: public tgBaseNetPacket { char Eqpmtid[GUID_LEN]; char ProtecResetType[NAME_LONG]; }PROTECTRESET,*LPPROTECTRESET; typedef struct tgProtectAllReset : public tgBaseNetPacket { char StationID[GUID_LEN]; char ProtecResetType[NAME_LONG]; }PROTECTAllRESET, * LPPROTECTAllRESET; typedef struct tgSetShield: public tgBaseNetPacket { int ShieldStatus; char Eqpmtid[GUID_LEN]; }SETSHIELD,*LPSETSHIELD; typedef struct tgRemoteLock: public tgBaseNetPacket //added by zhangjiahua { int isRemoteLock; char Eqpmtid[GUID_LEN]; int nCtrlType; //控制方式 就地 远方 int nLockStatus; //封锁状态 int nLockType; //封锁类型 0 遥信解锁 1 遥信封锁分 2 遥信封锁合 3遥信封锁就地 4 手车封锁试验 5 手车封锁工作//added by zhangjiahua }REMOTELOCK,*LPREMOTELOCK; typedef struct tgControlPermission:public tgBaseNetPacket { int nStationID; //车站ID int nControlArea; //控制权限 车站/中心 }CONTROLPERMISSION,*LPCONTROLPERMISSION; typedef struct tgModeControl:public tgBaseNetPacket { int ModeID; //模式ID int nModeStatus; //模式状态:开始、执行、停止、完成、暂停、继续.... }MODECONTROL,*LPMODECONTROL; typedef struct tgTelesignalisation : public tgBaseNetPacket { int StationID; int ViewID; char SourceEqpmtStrID[GUID_LEN]; //源设备 char EqpmtStrID[GUID_LEN]; //目标设备 int EqpmtStaus; char ShowText[NAME_LONG]; int Color; int PropertyPageCtrlID; int Mark; }TELESIGNALISATION,*LPTELESIGNALISATION; typedef struct tgStationThreeLoadCut : public tgBaseNetPacket { int StationID; int ThreeLoadUnitID; int Mark; }STATIONTHREELOADCUT,*LPSTATIONTHREELOADCUT; typedef struct tgNetElcTurnOffArea : public tgBaseNetPacket { int AreaID; int StationID; int Mark; }NETELCTURNOFFAREA,*LPNETELCTURNOFFAREA; typedef struct tgPowerAutoBoltCtrlMode: public tgBaseNetPacket { int AutoBoltCtrlMode; char Eqpmtid[GUID_LEN]; int nStationID; int nViewID; }POWERAUTOBOLTCTRLMODE,*LPPOWERAUTOBOLTCTRLMODE; typedef struct TbEventInfo : public tgBaseNetPacket { int index; int flag; //故障设置取消标志(0:设置,1:取消) TbEvent tbevent; }TBEVENTINFO,*LPTBEVENTINFO; typedef struct PARAM_CMD_SET_TBEVENT_RESP { int nRetCode; //事件处理代码(0:触发成功,其它:表示失败) char chErrDesc[128]; //事件没有触发成功原因 TbEventInfo tSendEvent; // 事件发送时参数,不可修改 } PARAM_CMD_SET_TBEVENT_RESP,*LPPARAM_CMD_SET_TBEVENT_RESP; typedef struct PARAM_CMD_SET_SIGNAL_EVENT { int nScr; //故障来源(0:车载,1:地面) int nCode; //信号故障编号 int nFlag; //故障触发标识(0:恢复故障,1:触发故障) double dParameter1; //以前为线路段编号,应杨浩要求修改轨道电路编号 double dParameter2; //浮点参数2 } PARAM_CMD_SET_SIGNAL_EVENT; typedef struct TbTeachEventInfo: public tgBaseNetPacket { int maincontrolid; int paramaa; int paramab; int paramac; int paramad; int paramae; float floata; float floatb; float floatc; float floatd; float floate; char charinfo[100]; TBEVENTINFO maincontrolinfo; }TbTEACHEventInfo,*LPTbTEACHEventInfo; typedef struct tgSvrReplyMsg : public tgBaseNetPacket { int sysType; //系统ID int status; //发出命令对象编号 int parm; //内容 char ReplyText[ALARM_LEN];//站 }SVRREPLYMSG,*LPSVRREPLYMSG; typedef struct tgExit : public tgBaseNetPacket { int time; //时间 }EXIT,*LPEXIT; typedef struct tgStartUp : public tgBaseNetPacket { int time; //时间 }STARTUP,*LPSTARTUP; typedef struct tag_CMD_SysShiJinXieTong : public tgBaseNetPacket { int broadcastid; int SysID; int LineID; }CMD_SysShiJinXieTong; typedef struct tag_CMD_SysUpdateLoginUser :public tgBaseNetPacket { int UserID; //学员ID int sta; //状态 char name[32];//学员名称 char StaName[32]; // }CMD_SysUpdateLoginUser; typedef struct tag_CMD_SysQueryLoginUser : public tgBaseNetPacket { }CMD_SysQueryLoginUser; typedef struct tag_IBPEQPMTCTRL : public tgBaseNetPacket { char ibpctrl[6]; void SetCtrlType(int type) { memcpy(ibpctrl,&type,sizeof(int)); } void SetCtrlValue(unsigned char va) { memcpy(ibpctrl+sizeof(int),&va,sizeof(unsigned char)); } void SetCtrlKey(unsigned char key) { memcpy(ibpctrl+sizeof(int)+sizeof(unsigned char),&key,sizeof(unsigned char)); } }IBPEQPMTCTRL,*LPIBPEQPMTCTRL; typedef struct tag_IBPEQPMTIO : public tgBaseNetPacket { UCHAR ucDev[100]; //设备输出数据 float fMeter[12]; //气表输出数据 }IBPEQPMTIO,*LPIBPEQPMTIO; typedef struct tag_IBPRESET : public tgBaseNetPacket { char ibpreset[5]; void SetCtrlType(int type) { memcpy(ibpreset,&type,sizeof(int)); } void SetCtrlValue(unsigned char va) { memcpy(ibpreset+sizeof(int),&va,sizeof(unsigned char)); } }IBPRESET,*LPIBPRESET; typedef struct tag_INPUT_IBP : public tgBaseNetPacket { int count; char sendkey[256]; }INPUT_IBP,*LPINPUT_IBP; //定义所有作为HMI设备反馈的数据 typedef struct cFeedBack { float fFeed[100]; UCHAR ucFeed[200]; }FEEDBACK, *LPFEEDBACK, REALDATAFROMHMI; typedef struct tag_INPUT_IO : public tgBaseNetPacket { UCHAR ucDev[100]; //设备采样数据 cFeedBack ucFeedBack; //反馈数据 }INPUT_IO,*LPINPUT_IO; typedef struct tgEventToUnityEquipemnt : public tgBaseNetPacket { //char paramset[136]; //char paramset[300]; char paramset[900]; }EventToUnityEquipemnt,*LPEventToUnityEquipemnt; typedef struct tgBigPacket : public tgBaseNetPacket { char pvalue; int lenght; }BIGPACKET,*LPBIGPACKET; typedef struct tgIBPPacket : public tgBaseNetPacket { //int nIBPStationID; //设备所属IBP盘车站ID; int nIBPID; //IBP设备ID int nType; //输入输出 int nCmdValue; //命令编号 char EqpmtStrID[200]; //设备编号 int nSysType; //系统号 int nStationID; //车站编号 int nInitStatus; //灯初始状态 int nStatus; //当前状态 int param1; int param2; int param3; int param4; char strParam1[200]; char strParam2[200]; char strParam3[100]; char strParam4[100]; int nIBPStationID; //设备所属IBP盘车站ID; }IBPPACKET,*LPIBPPACKET; /*以下为行调发送给环调模块的区间阻塞消息结构体*/ typedef struct tgIntervalBlockingPacket : public tgBaseNetPacket { int intervalcode; //区间编号 int Direction; //1-下行,2-上行 int nTrainID; //列车ID }INTERVALBLOCKING,*LPINTERVALBLOCKING; /*以上为行调发送给环调模块的区间阻塞消息结构体*/ //以下为电环设备状态初始化结构体 added by zhangjiahua typedef struct tgEqpmtInitStatus:public tgBaseNetPacket { int StationID; int Status; }EQPMTINITSTATUS,*LPEQPMTINITSTATUS; //以上为电环设备状态初始化结构体 //以下为设置电调设备遥测量结构体 add by chenht typedef struct tgEqpmtTelemeteryValue:public tgBaseNetPacket { char EqpmtStrID[GUID_LEN]; // 目标设备 float fValue; //遥测值 int nType; //设置的值类型 1:电压 2:电流 int IsReset; //1:复位 }EQPMTTELEMTRYVALUE,*LPEQPMTTELEMTRYVALUE; //以上为设置电调设备遥测量结构体 //以下为设置电调车站级通信故障结构体 add by yangs typedef struct tgStationCommunicationStatus :public tgBaseNetPacket { int nStationID; //目标车站 -1 全线 0-n 车站ID int nType; //暂未使用 默认1 int IsReset; //1:复位 0:设置 }STATIONCOMMUNICATIONSTATUS, *LPSTATIONCOMMUNICATIONSTATUS; //以上为设置电调车站级故障结构体 //以下为设置电调设备带电状态 add by yangs typedef struct tgEqpmtPowerStatus:public tgBaseNetPacket { char EqpmtStrID[GUID_LEN]; // 目标设备 int nPower; //带电状态 31 无电 32 有电 }EQPMTPOWERSTATUS,*LPEQPMTPOWERSTATUS; //以上为设置电调设备带电状态 //以下为环调设备控制端切换结构体 added by Yangs typedef struct tgEqpmtEnvCtrlType:public tgBaseNetPacket { int StationID; //车站 int ViewID; //视图 int CtrlType; //控制类型 6602:BAS 6603:环控 6604:就地 }EQPMT_ENVCTRLTYPE,*LPEQPMT_ENVCTRLTYPE; //以下为环调设备故障复位结构体 added by Yangs typedef struct tgEqpmtFaultReset:public tgBaseNetPacket { int StationID; int ViewID; }EQPMTFAULTRESET,*LPEQPMTFAULTRESET; /*以下为运统46发消息结构体*/ //施工计划 typedef struct tgRegisteringPlanPacket : public tgBaseNetPacket { int num; //序号 int StationID; //车站编号 int PlanDayNum; //日计划号 char Process[20]; //流程 char Remarks[100]; //备注 }UpdateRegisteringPlan, *LPUpdateRegisteringPlan; //施工请求 typedef struct tgConstructionRequest : public tgBaseNetPacket { int StationID; //车站编号 int PlanDayNum; //日计划号 int ConstructionDate; //月日时分 char ConstructionTime[20]; //施工起止时间 char ConstructionName[150]; //施工项目 char ConstructionCount[550]; //施工内容 char ConstructionUnit[50]; //施工单位签名 char EqpmentUnit[50]; //设备单位签名 char StationWatchman[50]; //车站值班员签名 }ConstructionRequest, *LPConstructionRequest; //施工命令签收签名 typedef struct tgConstructionAdmit : public tgBaseNetPacket { int StationID; //车站编号 int PlanDayNum; //日计划号 char CmdCount[50]; //命令号发令时间 char ConstructionUnit[50]; //施工单位签名 char StationWatchman[50]; //车站值班员签名 }ConstructionAdmit, *LPConstructionAdmit; //开通请求 typedef struct tgConstructionOpenRequest : public tgBaseNetPacket { int StationID; //车站编号 int PlanDayNum; //日计划号 char EndTime[50]; //施工结束时间 char OpenCondition[550]; //开通条件 char ConstructionUnit[50]; //施工单位签名 char EqpmentUnit[50]; //设备单位签名 char StationWatchman[50]; //车站值班员签名 }ConstructionOpenRequest, *LPConstructionOpenRequest; //开通命令签收签名 typedef struct tgConstructionOpenAdmit : public tgBaseNetPacket { int StationID; //车站编号 int PlanDayNum; //日计划号 char CmdCount[50]; //命令号发令时间 char ConstructionUnit[50]; //施工单位签名 char EqpmentUnit[50]; //设备单位签名 char StationWatchman[50]; //车站值班员签名 }ConstructionOpenAdmit, *LPConstructionOpenAdmit; //请求结果反馈 typedef struct tgResultforRequestPacket : public tgBaseNetPacket { int Num; //序号 int StationID; //登记站ID int PlanDayNum; //日计划号 int PlanMonthNum; //月计划号 int Type; //类型 1:施工请求 2:开通请求 bool Result; //结果 true:通过 false:未通过 }YT46RequestResult, *LPYT46RequestResult; //请求签名发送 typedef struct tgYT46RequestSignaturePacket : public tgBaseNetPacket { int StationID; //登记站ID int PlanDayNum; //日计划号 int PlanMonthNum; //月计划号 int Type; //类型 1:施工签名 2:开通签名 }YT46RequestSignature, *LPYT46RequestSignature; /*以上为运统46发消息结构体*/ ////////////////////////////////////////////////////////////////////////// //以下为主控状态显示 const UCHAR STA_SYS_INITING = 0; //主控系统初始化 const UCHAR STA_SYS_WAITING_TO_GROUP = 80; //等待加入教室 const UCHAR STA_SYS_REGROUPING = 81; //正在加入教室 const UCHAR STA_SYS_GROUPED = 82; //已加入教室 const UCHAR STA_SYS_MAIN_READY = 101; //主控系统就绪,子系统尚未就绪 (无法进入课程初始化) const UCHAR STA_SYS_KEY_SUB_READY = 102; //关键子系统准备就绪 const UCHAR STA_SYS_COURSE_INITING = 103; //主控课程初始化中 const UCHAR STA_SYS_COURSE_MAIN_FAIL = 104; //主控系统课程初始化失败, const UCHAR STA_SYS_COURSE_MAIN_OK = 105; //主控系统课程初始化完成,等待子系统课程就绪 const UCHAR STA_SYS_COURSE_READY = 106; //主控及关键子系统课程初始化成功 (运行就绪) const UCHAR STA_SYS_STAGING = 107; //系统等待接管 const UCHAR STA_SYS_RUNNING = 108; //系统课程运行中 const UCHAR STA_SYS_REPLAYING = 109; //系统回放 const UCHAR STA_SYS_REPLAY_PAUSE = 110; //系统回放暂停 const UCHAR STA_SYS_RESETTING = 111; //系统重启中 const UCHAR STA_SYS_SHUTTING_DOWN = 112; //系统关闭中 //以下为主控状态显示 typedef struct CMD_STATUS_REPORT { char status[100]; int i; }PARAM_CMD_STATUS_REPORT; //OCC交互数据表使用的结构 typedef struct tgOCCCommand { enum CmdType { eUnknow = 6000, eOccOrder = 6001, //新定义命令 eUpdateState = 6002, //设备状态更新 eUpdateBigPacket = 60030, //主控实时数据【Add:20240805,无实际结构体】 eMCTrain_ScreenO_1 = 2000, //UDP【主控->屏】第一包 NOTE:和eSvrReplyMsg重复但无影响,因一个TCP一个UDP,既定实时,无法改变,后续注意 eMCTrain_ScreenO_2 = 2100, //UDP【主控->屏】第二包 eMCTrain_ScreenO_3 = 2200, //UDP【主控->屏】第三包 eMCTrain_ScreenO_4 = 2300, //UDP【主控->屏】第四包 eMCTrain_ScreenI = 3500, //UDP【屏->主控】屏输入 eMCTrain_IOData = 19102, //UDP【IO->主控】IO数据 //服务器 eSvrReplyMsg = 2000, //TCP【OCC->教员】课程反馈 NOTE:和eMCTrain_ScreenO_1重复但无影响,因一个TCP一个UDP,既定实时,无法改变,后续注意 eExit = 2001, eStartUp = 2002, eUpdateOperCheck = 8015, //设备控制校验 eUpdateSvrReply = 8016, //服务器返回电环客户端操作 eUpdateOper = 8011, //设备操作命令 eUpdateEqpmtStatus = 8005, //设备状态更新 eUpdateDHMsgNotice = 8006, //报警信息 RUN_MODE_CHANGE = 4333, //改变策略 eCMD_OCC_UPDATE_SANDTABLE_VIEWPORT = 5040, //OCC改变沙盘视点 eCMD_OCC_REPORT_SANDTABLE_VIEWPORT = 5041, //协同上报沙盘视点 //cir_oder eCMD_TO_CIR_COURS = 5100, //给CIR的课程数据,主控在收到课程数据后,在准备课程时候给IO发送该数据 eCMD_FROM_CIR_REGIST_TRAIN_NO = 5101, //CIR向调度注册/注销车次号 eCMD_TO_CIR_REGIST_RESULT = 5102, //CIR注册/注销车次号结果反馈命令 eRDATA_TO_CIR = 5103, //给CIR的实时数据 eTAIL_LOW_POWER = 5105, //列尾低电压命令 eTAIL_DIACHARGE_WIND = 5106, //列尾排风命令 eCHANGE_STATION_INFO = 5107, //给CIR的车站信息--需要实时发送,根据车当前在进路上的位置和每个站在进路上的位置来判断的,先读出在进路上的所有车站列表,然后从后往前搜,第一个比当前车位置小的就是后方车站;从前往后搜,第一个比当前车的位置大的就是前方车站1,前方车站1和当前车站我们使用同一个,前方车站2先不管,调度员号码写死的。。。。 eCMD_TO_CIR_CONTROL_COMMAND = 5109, //向CIR发送调度命令 eCMD_FROM_CIR_COMMAND_BACK = 5104, //调度命令签收 eCMD_CIR_REGINFO_RSP = 5121, //cir注册信息 eCMD_TO_VIEW_TRAINCONNECT = 8902, //发送给视景连挂、解编命令 //////////////////////////// //行调 eUpdataViewequipment = 4001, //更新实景对应设备接口 eMainCtrlTrain_SetSpeed = 4444, //主控列车设置定速 eUpdateTrain = 6003, //虚拟车实时数据更新 eUpdateTrain_iATP = 6004, //点式ATP虚拟车状态更新 eUpdateTrainTrackFlag = 6005, //列车跟踪标识符跟新 eUpdateTrainDesNo = 6006, //列车目的地码更新 eUpdateTrackstate = 6007, //轨道电路占用状态更新 eOrderRout_LS = 6008, //ATS发送至联锁的排路命令 eOrderMaincontrol = 6009, //主控发的接管命令 eUpdateMainCtrtoTrain = 6010, //主控发给虚拟车的实时数据 eUpdateMainCtrtoTrainall = 6040, //主控发给虚拟车的实时数据新-代表所有列车数据 eOrderMaincontrolRes = 6011, //确认接管//to 主控 eOrderTrainCode = 6013, eUpdataStationState = 6012, eUpdataTrainEndLinePs = 6014, //无线命令 eMaincontrolInit = 30004, //主控初始化命令 eMaincontrolEnvir = 6016, //主控环境命令 eUpdataTrainRecordTimeInfo = 6017, //列车报点信息 eUpdateTrainForClient = 6020, eUpdateStationTimeInfo = 6021, //发车计时器命令 eUpdateTrainForClientB = 6022, eTeachMainconrolorder = 6023, //教员发送主控控制命令 eUpdataTrainStopStation = 6030, //模拟器停车对标功能 eUpdataLineInfo = 6031, //更新线路段信息 eSys_ShijingXietong = 6100, eMainContraolUpdataSheildDoor = 6015, //模拟器接受主控开屏蔽们命令 eUpdata_LimitSpeed = 30011, //临时限速 eUpdataForView = 160, //更新实景 eUpdataMainControlTrainInfo = 6099, //主控更新的列车数据 eMainControlOntimeInfo = 6201, //主空需要的实时数据 eMainControlOntimeInfoB = 6202, //主空需要的实时数据-new eLimitSpeedForGT = 6200, //临时限速高铁用 eUpdataLimitSpeedinfoToClinet = 6500, //更新临时限速给客户段 ePlanCheckAlarm = 6501, eUpdataInfoSigncontrolinfo = 6203, //应答器相关类容 eUpdataOnTimeinfo = 6999, //更新行调时时数据,如时时时间等 eConkoutReturninfo = 7777, //故障反馈信息 eConkoutSigleReturninfo = 7778, //故障反馈地面信号信息 eUpdataLinesectionInfoFromXD = 6204, //行调更新线路段相关信息 edeleteXietongTrain = 17777, eUpdateTrainFrontEqmptInfo = 6300, //更新列车前方信号机状态 eUpdateTimeTabInfo = 6301, //发送时刻表命令 eTrafficSignalStatusUpdate = 6302, //公路交通灯状态更新命令 eCmdToTrafficControlSys = 6303, //给交通控制系统发送命令 eUpdateTrainDataToEvalue = 6996, //发送给评价系统的列车数据 eUpdataIntervalBlockingCmd = 6997, //行调发送给环调模块的列车区间阻塞命令消息(CZZ 20180419) eTrainWndOperCmd = 6998, //列车车次窗操作命令 eTrainCtrlCmd = 6600, //列车控制命令 eRescueTrainInfo = 6601, //救援列车信息 eRealTrainToOCCData = 6602, //真车发送给OCC的列车数据(与外部系统联合) eTrainData2_ViewSys = 6603, //发送给视景协同的列车数据(新添加车次号等) eMoreTrain2_ViewSys = 6604, //发送多车数据给视景协同(一包数据中含30个车) eChangeHeadCmdToViewSys = 6605, //发送给视景协同的换端命令 eSignalToTrainData = 6606, //信号发送给列车数据(与外部系统联合)-之前定义为6601与国铁合并后重新定义为:6606 eDisasterPreventSys = 6609, //防灾系统协议 eClientEvalueItem = 6610, //客户端评价条目 eMainCtrlLimitSpeedNew = 6611, //主控列车限速(新) eATPSecStatus_Update = 6650, //ATP区段状态更新 eATPSecExStatus_Update = 6651, //ATP扩展区段状态更新 eTrainWndDataUpdate = 6700, //车次窗数据更新(地铁-第一包) eHSRTrainWndDataUpdate = 6701, //车次窗数据更新(高铁) eTrainDebug = 6702, //列车调试信息 eRunLineUpdate = 6703, //运行线更新 eCenStaUpdate3 = 6704, //集中站更新结构体3 eInPointUpdate = 6705, //(正线)接入点状态更新 eTrain_MA_Update = 6706, //列车移动授权更新 eATSSys_Status_Update = 6707, //ATS系统状态更新 eZoneCtrl_Status_Update = 6708, //区域控制器状态更新 eDepotTimeTab_Status_Update = 6709, //车库时刻表状态更新 eTrainWndDataUpdate_2 = 6710, //车次窗数据更新(地铁-第二包) eEndStaSendTListIUpdate = 6711, //终端站发车列表更新 eMC_Train_OperRecord = 6712, //模拟驾驶操作记录 eDispatch_Sys_OperRecord = 6713, //调度系统操作记录【后部预留两项操作记录】 eOperationIndexStatistics = 6716, //运营指标统计 eTextAndSpeechPrompt_OCC = 6717, //文本语音提示【OCC】 eConstructSign2DispatchCmd = 6718, //施工符号转调度命令 eSpeechRecognizeSvrAlarm = 6719, //语音识别服务报警 eOperGuidPrompt = 6720, //操作指导提示信息【专家指导新】 eRouteCmd2LS_TrainC = 6721, //列车CBTC进路命令至联锁 //连锁 eUpdateRoadBranchState = 7000, eUpdateRoadBranch_ExState = 7001, //需要现场更新 eUpdateSignalState = 7006, eUpdateSignal_ExState = 7007, //需要现场更新 eUpdateTrackStatetest = 7011, eUpdataInfoSign = 7015, eCommantoLS = 7016, eCommantoXD = 7017, eUpdataCmdExcuteState = 7018, eUpdataPlatFormState = 7019, //站台数据更新【城轨】 eUpdataScreenDoorState = 7020, //屏蔽门更新 【城轨】 eUpdataDispatchCmd = 7021, //调度命令 eUpdataCenStaExState = 7022, //集中站状态更新 eLimitSpeedCmd = 7023, //临时限速命令 eLineSecStateUpdate = 7024, //更新线路段状态 ePlanRoute_OperCmd = 7025, //计划进路操作命令 eUpdataTrackSecState = 7026, //区间状态更新 eUpdataDebugInfo = 7027, //调试信息更新 eUpdata_RouteIndicator = 7028, //更新进路表示器 eCrossRoadEqmptCtrlCmd = 7029, //道口设备控制命令 eViewEqmptStausRespond = 7030, //视景设备状态反馈 eRouteStatusUpdate = 7031, //给屏更新进路状态 eOCCSys_Alarm = 7032, //OCC产生报警信息 ePlanRoute_Update = 7033, //计划进路(进路序列)更新 eTrackUpdate3 = 7034, //轨道更新结构体3 eSignalUpdate3 = 7035, //信号机更新结构体3 eUpdataRoadSection = 7036, //更新线路区段数据add by lisx1109 eFeedBack_RealSignalEqmptStatus = 7037, //反馈真实信号设备状态 eSPKS_Status_Update = 7038, //SPKS(区域封锁开关)状态更新 eGarageDoor_Status_Update = 7039, //车库库门状态更新 //NOTE:7040之前无人驾驶使用,预留 eRoute_Property_Update = 7041, //进路属性更新 eTrackUpdate4 = 7042, //轨道更新结构体4【主要用于市域铁路】 ePlatFormUpdate_HSR = 7043, //站 台 数据更新【国铁】 eScreenDoorUpdate_HSR = 7044, //屏蔽门数据更新【国铁】 //电调 eUpdatePQI = 8001, eUpdateMainInOutI = 8002, eUpdateMotherLineV = 8003, eUpdateTrainV = 8004, eUpdateAlarmRevert = 8008, eUpdatePQR = 8009, eUpdateChangeView = 8010, eUpdateAccident = 8012, eUpdateEqpmtLockUpdate = 8013, eUpdateElcEnvirRelation = 8014, eUpdateBackLineVI = 8017, eUpdateRailWayV = 8018, eUpdateEnvironmentShutDownLine = 8020, eUpdateProtectRest = 8021, eUpdateAutoBolt_CtrlMode = 8022, //备自投控制模式 eUpdateShieldStatus = 8023, eUpdateTelesignalisation = 8024, eUpdateTurnOffArea = 8025, eUpdateStationThreeLoadCut = 8026, eUpdateRemoteLock = 8027, //遥信封锁 eUpdateControlPermission = 8028, //控制权限切换 eUpdateSendControlPermission = 8029, //向客户端发送控制权限信息 eUpdateModeInfo = 8030, //执行模式控制 eUpdateEqpmtPowerValue = 8031, //更新设备电量值 xyx新增 eUpdateElcsysToEnvsys = 8032, //电环联合联合网络接口 xyx新增 eUpdateEqpmtInitStatus = 8033, //设备初始化命令 added by zhangjiahua eUpdateEqpmtTelemeteryValue = 8034, //设置电压、电流遥测量 add by chenht eUpdateEqpmtPowerStatus = 8035, //设置设备带电状态 add by yangs eUpdateStationCommunication = 8036, //设置车站通讯故障 eUpdateTransformerGear = 8037, //设置变压器档位 add by yangs eUpdateProtectAllRest = 8038, //保护总复归 dad by dengt 20241221 eUpdateDisasterPrevention = 8039, //防灾系统联动 eUpdateFixedValueArea = 8040, //修改定值区号 add by yangs 20250520 eUpdateMSFVO = 8041, //行车互签 eOperEqpmtFaultAlarm = 8042, //电调设置带报文的故障 eOperCmdExecuteToReal = 8043, //设备控制执行命令转发至真实设备 //环调 eUpdateAuthority = 9001, //更新综合监控控制权限 eOperAuthorityTransform = 9002, //控制权限切换请求 eUpdateEqpmtStatusISCS = 9003, //更新综合监控设备状态,原eUpdateEqpmtStatus只负责更新设备基础状态,此项为更新设备内部状态,例如AFC闸机票箱等等状态 eUpdateEqpmtValue = 9004, //更新综合监控设备数值,人员手动设置的数值 eUpdateEvrmFire = 9009, //环调设置火灾状态. eOperEqpmtGroupCtrl = 9010, //环调冷水机组群控. eUpdateAFCMode = 9101, //更新AFC运营模式 eOperAFCMode = 9102, //AFC紧急模式操作 eOperAFCCtrl = 9103, //AFC设备组控 eUpdateACSMode = 9104, //更新门禁状态 eUpdateModeStatus = 9151, //更新BAS模式运行状态 eOperModeCtrl = 9152, //BAS模式控制操作 eUpdateModeCtrlType = 9153, //更新BAS模式控制方式 eUpdateSensorDisplay = 9155, //更新BAS传感器数值 eUpdateEqpmtctrlType = 9156, //更新BAS设备控制方式 eOperEqpmtctrlType = 9157, //BAS设备控制方式切换 eOperModeExecuteManner = 9158, //BAS模式手/自动控制方式转换 eUpdateModeExecuteManner = 9159, //更新BAS模式手/自动控制方式 eOperModeRecover = 9160, //模式终止复位 eOperLightViewCtrl = 9161, //照明系统动态分组执行。 eOperSensorEqpmtValue = 9162, //环调设置传感器温度。 eUpdateTimeTabStatus = 9163, //时间表客户端更新; eUpdateStationSignal = 9164, //停站车辆信息更新; eUpdateENVCtrlType = 9165, //环调控制设备控制方式更新 eUpdateEqpmtFaultReset = 9166, //环调设备故障复位 eUpdatePoolUnitDisplay = 9167, //更新BAS水池水位 eUpdateFasModeStatus = 9201, //更新FAS模式状态 eOperFasModeManual = 9202, //FAS模式手动激活与终止 eOperFasAlarmCtrl = 9203, //FAS火灾报警确认、复位操作 eUpdateFASStationCtrlType = 9204, //更新FAS火灾手、自动状态 eOperFASStationCtrlType = 9205, //FAS火灾手、自动状态切换 eUpdateFasModeAssociateEqpmt = 9206, //更新FAS探测器状态 eOperFasDetectorCtrl = 9207, //FAS探测器操作 eUpdateFasStatusShow = 9208, //FAS状态更新 eResetFasStatus = 9209, //复位 eUpdatePSDStatus = 9251, //更新屏蔽门状态 eUpdateStationPSDStatus = 9252, //更新车站屏蔽门整体状态 eOperPSLControl = 9253, //PSL操作 eUpdateASDControlMode = 9254, //活动门控制模式 eUpdateASDFault = 9255, //活动门开门、关门故障 eUpdateASDBlocked = 9256, //活动门开、关门遇阻状态 eOperIBPPSDControl = 9257, //真实IBP盘对PSD的操作同步指令 eUpdateASD_EED_MSD_Control = 9258, //单个门_应急门_端门开关状态更新。 eUpdateStationPISInfo = 9301, //更新站台PIS信息 eUpdateTrainPISInfo = 9302, //更新车载PIS信息 eUpdateStationPISTextInfo = 9303, //更新站台PIS文本显示信息 eStationPISFaultInfo = 9304, //设置站台PIS故障 eUpdateStationPISEmergencyInfo = 9305, //更新站台PIS文本显示信息 eUpdateEvrmSimIBPEvent = 9351, //IBP盘命令消息及数据结构定义 eUpdateEvrmFYMClose = 9401, //信号防淹门关门请求回复 eUpdateEvrmFYMStatus = 9402, //更新防淹门当前详细状态 eOperEvrmPACtrl = 9601, //ISCS发送PA广播信息 eOperYunDaPACtrl = 9602, //IO发送广播信息到PA后台 eOperIBPToYunDaPing = 9603, //IBP_T发送到PA屏 eOperYunDaPingToYunDaPA = 9604, //PA屏发送到PA后台 eOperEvrmPATimeBroadCast = 9605, //定时广播 eOperEvrmPAFile = 9606, //文本区域广播; eStationPAFaultInfo = 9607, //设置车站PA故障 //运统46新增 eUpdatePlanProgress = 9701, //施工计划流程更新 eConstructionCheckRequest = 9702, //施工核对请求 eConstructionCheckResult = 9703, //施工核对结果 eConstructionSignature = 9704, //施工签名 eConstructionCmdReceipt = 9705, //施工命令签收 eConstructionOpenCheckRequest = 9706, //施工开通核对请求 eConstructionOpenCheckResult = 9707, //施工开通核对结果 eConstructionOpenSignature = 9708, //施工开通签名 eConstructionOpenCmdReceipt = 9709, //施工开通命令签收 //教员 eTrainIni = 3002, //训练初始化 eTrainBeg = 3003, //训练开始 eTrainEnd = 3004, //训练结束 eStatusNot = 3005, //训练状态更新 eSetUserRoll = 3006, //设置角色 eSetRoute = 3007, //进路初始化命令 eTrainDelete = 3008, //训练删除 eTrainRollBackCtrl = 3009, //训练回滚控制(教员->OCC) eTrainRollBackFeedBack = 3010, //训练回滚反馈(OCC->教员) eTrainPlayBackCtrl = 3011, //训练回放控制(教员->回放) eTrainPlayBackFeedBack = 3012, //训练回放反馈(回放->教员) eSetSimUserRoll = 30001, eCMD_STATUS_REPORT = 30002, //系统状态报告 eDelSimUser = 30003, CMD_SYS_ReConnec = 30006, //系统重新连接 eTrainDeleteAll = 30009, //删除训练 eTrainReStart = 30010, //重新启动 eTrainStart = 30100, //直接开始训练 eTrainSteedStopInStation = 3050, eSetTimeTable = 3091, //初始化时刻表 eSetPeoPle = 3092, //初始化上下车人数 eInitTest = 3094, //模拟器教员测试 eCreateConnect = 3093, //创建新连接 eSendCmdSend = 3097, //教员命令发送 DispatchSimTrainCmd = 3098, //调度命令发给虚拟车数据 eSetSysInfo = 3100, //设置系统状态 eTrainReset = 3062, //训练复位 eUpdateLoginUser = 3095, eQueryLoginUser = 3096, CMD_SYS_SHUTDOWN = -1011, //系统关机 CMD_SYS_RESTART = -1012, //系统重启 CMD_MARSHALLING_TOSENCE = 2005, //在视景协同里创建虚拟车(WK) eCMD_SysShiJinXieTong = 1108, CMD_TRAINING_END = 1109, CMD_TRAINING_BEGIN = 1103, //视景协同开始 eReloadSch = 1100, eSchLoadOK = 1099, eCMD_View_ReadyFinish = 1311, //协同反馈命令-视景准备完成(暂无结构体) CMD_IOSYS_CONNECT = -1001, CMD_CTRL_IBPEQPMT = 1500, CMD_RESET_IBP = 1501, CMD_INPUT_FROM_IO = 1502, //IO主控到服务器 CMD_YDIO_FROM_IBP = 1503, //IO主控到YDIO eUpdataViewEquipment = 10001, eSysXietongSwitchView = 2007, //切换视点 eSysXietongBindView = 2008, //视点绑定 eSysXietongCmdToXD = 10005, //视景协同给行调系统发送的命令 eOperCCTVScanCtrlToXietong = 10006, //向视景协同发送CCTV摄像头旋转功能(移植无人驾驶) eOperCCTVDataToXietong = 10007, //向视景协同发送CCTV九宫格控制数据(移植无人驾驶) eOperTrainTVDataToXietong = 10008, //向视景协同发送车辆视频信息(移植无人驾驶暂无用) eCMD_ViewSys_ForecastCtrl = 10009, //向视景系统发送线路预测控制指令(视景默认关闭预测) eCMD_SandTable_SetTrainViewPort = 10010, //向电子沙盘发送命令_设置列车视点 eCMD_SandTable_SetFPSViewPort = 10020, //向电子沙盘发送命令_设置漫游视点 eRealTime_SandTable_FPSUpdate = 10021, //向电子沙盘发送实时数据_更新漫游参数 eCMD_SandTable_SetGODViewPort = 10022, //向电子沙盘发送命令_设置上帝视点 eRealTime_SandTable_GODUpdate = 10023, //向电子沙盘发送实时数据_更新上帝视角参数 eViewVirPerson_OperFeedBack = 10024, //视景虚拟人员操作反馈【协同->OCC】 eViewVirPerson_PosChange = 10025, //视景虚拟人员位置切换【OCC->协同】 eViewTrainFire_FeedBack = 10026, //视景列车火灾状态反馈【协同->OCC】 //态势相关 eTSStationMode_Update = 11000, //态势车站模型数据更新 eTSVirtualDisposeCmd = 11001, //态势虚拟处置操作命令 eTSZoneWater_Update = 11002, //态势区域水状态更新 eTSZoneWater_FeedBack = 11003, //态势区域水状态反馈 eTSWaterPool_WaterStatus_Update = 11004, //水池水状态更新(态势->环调) eTSTempOutWater_Eqmpt_Update = 11005, //临时排水设备状态更新(态势->客户端) eTSWaterPoint_Update = 11006, //区域水位采样点更新(态势->客户端) eTSViewSysCtrl_DHEqmpt = 11007, //视景控制机电设备(协同->电环调,结构体和命令8011一致) //行调系统新增(无人驾驶相关) eTrain_WakeUp_Process = 12000, //列车唤醒进程更新(无人驾驶:主控-》OCC) eMetroTrain_VOBC_Update = 12001, //地铁列车VOBC更新(主控-》OCC) //外部系统接口 //eExternalPort_UpdateRoadInfo = 20000, //更新线路信息命令 //eExternalPort_UpdateVOBCInfo = 20001, //更新车载信息命令 // 联合课程相关 eModeSwitchOrder = 8888, //培训模式转换 eModeSwitchOrderFeedBack = 88881, //培训模式转换反馈 eUpdateCourseEventStatus = 31001, //课程事件状态更新 eTriggerCourseEvent = 31002, //教员人工触发事件 eUpdateEvaOperStatus = 31003, //评价操作状态条目更新 eDispatchCourseEvent = 31004, //触发事件分发至各计算服务处理(非视景基本事件) eVirtualRoleOperOrder = 31005, //虚拟角色操作指令(教员->OCC) eEventTriggerCmd_FeedBack = 31006, //事件触发命令反馈 (OCC->教员) eUpdateEventOperLog = 31007, //事件触发即操作日志【教员-》OCC-》导调/导播】 eTechLoginAskOrder = 31050, //教员开课后发送的登录请求指令 eRoleLoginOrder = 31051, //客户端向教员发送的登录信息 eRoleLoginOrderFeedBack = 31052, //教员向客户端反馈的登录状态 //防灾系统 eDPInfo = 31053, //防灾系统信息 eDPDeviceThresholdEdit = 31054, //设备阈值编辑 eUpdateDPEqpmtData = 31055, //更新防灾设备数据,模拟采集 eDPAlarmInfoMakeSure = 31056, //报警信息确认 eTemporaryDriving = 31057, //临时行车 eReadSoundData = 31302, //教员接收音频数据 eTTSReadSuccess = 31304, //客户端TTS阅读完成 eVideoTeachUpdateTeachAction = 31402, //进度同步/客户端控制推进 //语音通讯系统-新 eTelephoneTalkRecord = 32101, //通话记录协议 eTelephoneSpeechRecognize = 32102, //通话语音识别 eTelephone_Session = 32104, //语音电话_会话 eTelephone_Intercom = 32105, //语音电话_对讲 }; CmdType cmdType; //命令类型 int DesSysType; //目的系统类型 int ScrSysType; //源系统类型 int DesNetID; //目的系统号 int ScrNetID; //源系统号 int TrainningID; //训练编号 int DateLen; //数据长度 int GetDataLen() { int nTmpDataLen = DateLen; switch (cmdType) { case eCMD_TO_VIEW_TRAINCONNECT: nTmpDataLen = sizeof(CMD2VIEW_TRAINCONNECT); break; default: break; } return nTmpDataLen; } union { OCCORDER occOrder; BIGPACKET bigpacket; DHOPERCHECK Net_DH_OperCheck; DHSVRREPLY Net_DH_SvrReply; DHEQPMTOPER Net_DH_EqpmtOper; DHEQPMTUPDATE Net_DH_EqpmtUpdate; DHMSGNOTICE Net_DH_MsgNotice; //add by yangsong 20200219 YunDaBroadCast Net_DH_YunDaBroadCast; IBPToYunDaPing Net_DH_IBPToYunDaPing; YunDaPingToYunDaPA Net_DH_YunDaPingToYunDaPA; //服务器 SVRREPLYMSG Net_SVR_Reply; EXIT Net_SVR_Exit; STARTUP Net_SVR_StartUp; MAXNETSTRUCT Net_MAX_MAXNETINFO; //ibp盘 IBPEQPMTCTRL Net_IBP_CTRL; IBPRESET Net_IBP_RESET; INPUT_IBP Net_IBP_INPUT_IBP; IBPEQPMTIO Net_IBP_IO; INPUT_IO Net_IBP_INPUT_IO; IBPPACKET Net_IBP_SERVER; //cir_order CoursetoCIR Net_Cir_CoursetoCIR; RegistTrainNo Net_Cir_RegistTrainNo; CALLBACK_TRANS Net_Cir_CALLBACK_TRANS; PRAM_CIR_REGINFO_RSP Net_Cir_REGINFO; CIRCMDDATA Net_Cir_CIRCMDDATA; //行调 MAINCTRLTRAIN_SETSPEED Net_XD_MainCtrlTrainSetSpeed; ViewUpdataEquipment_new Net_XD_ViewUpdataEquipmentnew; SIMULATETRAINUPDATE Net_XD_SimulateTrain; SimulateTrainInfoUPDATE Net_XD_SimulateTrainForClient; SimulateTrainInfoUpdateB Net_XD_SimulateTrainForClientB; SIMULATETRAINUPDATE_iATP Net_XD_SimulateTrain_iAtp; TRACKFLAGUPDATE Net_XD_TrackFlag; DESNOUPDATE Net_XD_DesNO; TRACKCIRCUITRYUPDATE Net_XD_Trackcircuit; ROUTEORDER Net_XD_Route; MAINCONTROLORDER Net_XD_MaincontrolOrder; MAINCONTROLRES Net_XD_MaincontrolRes; MAINCONTROLTRAINDATA Net_XD_MaincontrolTraindate; MAINCONTROLTRAINDATAALL Net_XD_MaincontrolTraindateall; STATION_UPDATA Net_XD_StationState; SimulateTrainCode Net_XD_TrainCode; TrainEndLinePs Net_XD_TrainEndLinePS; TrainEndLinePs_DC Net_XD_TrainEndLinePS_DC; TbTEACHEventInfo Net_XD_TbTEACHEventInfo; TBEVENTINFO Net_XD_TbEventInfo; PARAM_CMD_SET_TBEVENT_RESP Net_XD_PARAM_CMD_SET_TBEVENT_RESP; PARAM_CMD_SET_SIGNAL_EVENT Net_XD_PARAM_CMD_SET_SIGNAL_RESP; ClineInfoFromOCC_XD Net_XD_ClineInfoFromOCC_XD; RECORDTIMEINFOUPDATA Net_XD_RecordTimeInfo; MAINMARSHALLING Net_XD_CREATTRAINTOSHIJING; SimulateTrainStopStation Net_MC_StopStation; GT_Llineinfo Net_XD_GT_Llineinfo; MCShieldDoor Net_MC_Shielddoor; LimitSpeedInfo Net_XD_LIMITSPEED; EventToUnityReal Net_XD_UPDATAFORVIE; EventToUnityEquipemnt Net_XD_UPDATAFORVIEEQUIPMENT; MainControlOntimeInfo Net_XD_MainControlOntimeInfo; MainControlOntimeInfoB Net_XD_MainControlOntimeInfoB; TEMPSPEEDLIMITFroMain Net_XD_TrainLimitSpeedInfo; TEMPSPEEDLIMITToClinet Net_XD_TrainLimitSpeedInfoToClinet; PLANCHECKALARM Net_XD_PLANCHECKALARMOrder; XD_Ontimerdata Net_XD_OntimerData; INFOSIGNCONTROLINFO Net_LS_InfoSignControl; DELETEXIETONGTRAIN Net_XD_DeleteXietongTrain; RESCUE_TRAIN_INFO Net_XD_RescueTrainInfo; TrainFrontEqmptInfo Net_XD_TrainFrontEqmptInfo; TimeTabInfo Net_XD_TimeTabInfo; CMD_TO_TRAFFICCONTROL_SYS Net_XD_CmdToTrafficControlSys; TRAIN_CTRLCMD Net_XD_TrainCtrlCmd; TRAINWND_DATAUPDATE Net_XD_TrainWndDataUpdate; HSRTRAINWND_DATAUPDATE Net_XD_HSRTrainWndDataUpdate; TRAINWND_OPER_CMD Net_XD_TrainWndOperCmd; INTERVALBLOCKING Net_XD_IntervalBlockingCmd; //行调发送给环调的区间阻塞信息 TRAINDATA_TO_EVALUE Net_XD_TrainDataToEvalue; //给评价系统的的列车数据 SIGNAL_TO_TRAIN_DATA Net_XD_SignalToTrainData; REALTRAIN_TO_OCC_DATA Net_XD_RealTrainToOCCData; ATPSECSTATUS_UPDATE Net_XD_ATPSecStatusUpdate; //ATP区段状态更新 ATPSECEXSTATUS_UPDATE Net_XD_ATPSecExStatusUpdate; //ATP区段扩展状态更新 TRAINDATA2VIEWSYS Net_XD_TrainData2ViewSys; MORETRAIN2VIEWSYS Net_XD_MoreTrain2ViewSys; //一包发送多车数据给视景 CHANGEHEADCMD_TO_VIEWSYS Net_XD_ChangeHeadToViewSys; DISASTER_PREVENT Net_XD_DisasterPrevent; CLIENT_EVALUE_ITEM Net_XD_ClientEvalueItem; MAINCTRL_LIMITSPEED_NEW Net_XD_MainCtrlLimitSpeedNew; //发送到主控列车限速(新) TrainDebugMsg Net_XD_TrainDebug; RUNLINE_UPDATE Net_XD_RunLineUpdate; //运行线更新 CENSTA_UPDATE3 Net_XD_CenStaUpdate3; //集中站更新结构3 INPOINT_UPDATE Net_XD_InPointUpdate; //(正线)接入点-状态更新 TRAIN_MA_UPDATE Net_XD_Train_MA_Update; //列车移动授权更新 CMD2VIEW_TRAINCONNECT Net_XD_Cmd2ViewTrainConnect; //发送给视景列车连挂、解编 ATSSYS_STATUS_UPDATE Net_XD_ATSSysStatusUpdate; //ATS系统状态更新 ZONECTRL_STATUS_UPDATE Net_XD_ZoneCtrlStatusUpdate; //区域控制器状态更新 DEPOTTIMETAB_STATUS_UPDATE Net_XD_DepotTimeTabStatusUpdate; //车库时刻表状态更新 TRAINWND_DATAUPDATE_2 Net_XD_TrainWndDataUpdate_2; //车次窗数据更新(地铁-第二包) ENSSTA_SENDTLIST_I Net_XD_SendTList_I; //发车列表条目更新 MC_TRAIN_OPERRECORD Net_XD_MCTrain_OperRecord; //模拟驾驶操作记录 DISPATCH_SYS_OPERRECORD Net_XD_DispatchSysOperRecord; //调度系统操作记录 OPERATION_INDEX Net_XD_OperationIndex; //运营指标统计 TEXTANDSPEECH_PROMPT Net_XD_TextAndSpeechPrompt; //文本语音提示【OCC】 CONSTRUCTSIGN_2DISPATCHCMD Net_XD_ConstructSign2DispatchCmd; //施工符号转调度命令 SPEECHRECOGNIZE_SVR_ALARM Net_XD_SpeechRecognizeSvrAlarm; //语音识别服务报警 OPERGUID_PROMPT Net_XD_OperGuidPrompt; //操作指导提示信息【专家指导新】 ROUTECMD2LS_TRAINC Net_XD_RouteCmd2LS_TrainC; //列车CBTC进路至联锁 //连锁 ROADBRANCHSTATE Net_LS_RoadBranchState; SIGNALSTATE Net_LS_SignalState; TRACKSTATE Net_LS_TrackState; INFOSIGNUPDATA Net_LS_InfoSign; COMMANDTOXD Net_LS_CommandtoXD; COMMANDTOLS Net_LS_CommandtoLS; CMDEXCUTESTATE Net_LS_CmdExcuteState; PLATFORMUPDATA Net_LS_PlatFormState; SCREENDOORUPDATA Net_LS_ScreenDoorState; Signal_ExState Net_LS_Signal_ExState; RoadBranch_ExState Net_LS_RoadBranch_ExState; NetDisptachCmd Net_LS_DispatchCmd; CenSta_ExState Net_LS_CenStaExState; NetLimitSpeedCmd Net_LS_LimitSpeedCmd; LineSecStateUpdate Net_LS_LineSecStateUpdate; PlanRoute_OperateCmd Net_LS_PlanRoute_OperCmd; TrackSectionState Net_LS_TrackSecState; UpdateDubugInfo Net_LS_DebugInfo; ROUTE_INDICATOR Net_LS_RouteIndicator; CROSSROAD_EQMPTCMD Net_LS_CrossRoadEqmptCmd; VIEWEQMPT_STATUSRESPOND Net_LS_ViewEqmptRespond; ROUTESTATUS_UPDATE Net_LS_RouteStatusUpdate; OCCSYS_ALARM Net_LS_OCCSysAlarm; FEEDBACK_REALEQMPTSTATUS Net_LS_FeedBackRealSignalEqmptStatus; TRACK_UPDATE3 Net_LS_TrackUpdate3; SIGNAL_UPDATE3 Net_LS_SignalUpdate3; ROADSECTION Net_LS_RoadSectionData;//add by lisx1109 PLAN_ROUTE_UPDATE Net_LS_PlanRouteUpdate; SPKS_STATUS_UPDATE Net_LS_SPKSStatusUpdate; GARAGEDOOR_STATUS_UPDATE Net_LS_GarageDoorStatusUpdate; ROUTE_PROPERTY_UPDATE Net_LS_RoutePropertyUpdate; TRACK_UPDATE4 Net_LS_TrackUpdate4; PLATFORMUPDATE_HSR Net_LS_PlatFormUpdate_HSR; SCREENDOORUPDATE_HSR Net_LS_ScreenDoorUpdate_HSR; //电调 TRANSFORMSTATION Net_ELC_PQI; STATIONMAINI Net_ELC_MainInOutI; STATIONMLINEV Net_ELC_MotherLineV; TRIANV Net_ELC_TrainV; ELCALARMNOTICE Net_ELC_AlarmNotice; ALARMREVERT Net_ELC_AlarmRevert; ELCPQR Net_ELC_PQR; ELCCHANGEVIEW Net_ELC_ChangeView; ELCACCIDENT Net_ELC_Accident; ELCEQPMTLOCKUPDATE Net_ELC_Lock; ELCSOENOTICE Net_ELC_SOENotice; ELCENVIRRELATION Net_Elc_ElcEnvirPower; BACKLINEVI Net_Elc_BackLineVI; RAIYWAYV Net_Elc_RaiyWayV; ElcShutDownEnvironmentLine Net_Elc_ShutDownEnvironmentLine; PROTECTRESET Net_Elc_ProtectReset; PROTECTAllRESET Net_Elc_ProtectAllReset; POWERAUTOBOLTCTRLMODE Net_Elc_PowerAutoBoltCtrlMode; SETSHIELD Net_Elc_SetShield; TELESIGNALISATION Net_Elc_Telesignalisation; NETELCTURNOFFAREA Net_Elc_NetElcTurnOffArea; STATIONTHREELOADCUT Net_Elc_StationThreeLoadCut; REMOTELOCK Net_Elc_RemoteLock; CONTROLPERMISSION Net_Elc_ControlPermission; CONTROLPERMISSION Net_Elc_SendControlPermission; MODECONTROL Net_Elc_ModeControl; ELCEQPMTPOWERVALUEUPDATE Net_Elc_PowerValueUpdate; ELCSYSTOENVSYS Net_Elc_ElcsysToEnvsys; DISATERPREVENTIONTODDSYS Net_Elc_DisasterPreventionToDDsys; EQPMTINITSTATUS Net_DH_EqpmtInitStatus; EQPMTTELEMTRYVALUE Net_DH_EqpmtTelemtryValue; EQPMTPOWERSTATUS Net_DH_EqpmtPowerStatus; STATIONCOMMUNICATIONSTATUS Net_Elc_StationCommunicationStatus; FIXEDVALUEINFOUPDATE Net_Elc_FixedValueInfoUpdate; MSFVO Net_Elc_MSFVOInfoUpdate; OPERCMDTOREAL Nei_Elc_OperCmdToReal; //环调-old // EvirmTempretureUpdate Net_HD_TeperatureUpdate; // CommandtoHD Net_HD_CommadtoHD; // EvrmEqpmtModeCtrl Net_HD_EqpmtModeCtrl; // EvrmEqpmtSensorDis Net_HD_SensorDisValue; // EvrmBroadCast Net_HD_BroadCast; EvrmFire Net_HD_EvrmFire; // EvrmTimeBroadCast Net_HD_TimeBroadCast; // ModeExecute Net_HD_ModeExecute; // EqpmtValue Net_HD_EqpmtValue; // ModeExecuteMannerPacket Net_HD_ModeExecuteManner; // ISCSFireRecoverPacket Net_HD_ISCSFireRecover; // EqpmtCtrlTypePacket Net_HD_EqpmtCtrlType; // PSDStatusManner Net_HD_PSDStatusManner; // SimIBPEventManner Net_HD_SimIBPEventManner; // FYMCloseAskPacket Net_HD_FYMCloseAskPacket; // EnvEqpmtCtrlType Net_HD_EnvEqpmtCtrlType; // AUTHORIZATIONPACKET Net_HD_Authorization; //环调-new UpdateAuthority Net_HD_UpdateAuthority; OperAuthorityTransform Net_HD_OperAuthorityTransform; UpdateEqpmtStatusISCS Net_HD_UpdateEqpmtStatusISCS; UpdateEqpmtValue Net_HD_UpdateEqpmtValue; OperEqpmtGroupCtrl Net_HD_OperEqpmtGroupCtrl; UpdateAFCMode Net_HD_UpdateAFCMode; OperAFCMode Net_HD_OperAFCMode; UpdateModeStatus Net_HD_UpdateModeStatus; OperModeCtrl Net_HD_OperModeCtrl; UpdateModeCtrlType Net_HD_UpdateModeCtrlType; UpdateSensorDisplay Net_HD_UpdateSensorDisplay; UpdateEqpmtctrlType Net_HD_UpdateEqpmtctrlType; OperEqpmtctrlType Net_HD_OperEqpmtctrlType; OperModeExecuteManner Net_HD_OperModeExecuteManner; UpdateModeExecuteManner Net_HD_UpdateModeExecuteManner; OperModeRecover Net_HD_OperModeRecover; UpdateFasModeStatus Net_HD_UpdateFasModeStatus; OperFasModeManual Net_HD_OperFasModeManual; OperFasAlarmCtrl Net_HD_OperFasAlarmCtrl; UpdateFASStationCtrlType Net_HD_UpdateFASStationCtrlType; OperFASStationCtrlType Net_HD_OperFASStationCtrlType; FasModeAssociateEqpmtNetPacket Net_HD_FasModeAssociateEqpmt; OperFasDetectorCtrl Net_HD_OperFasDetectorCtrl; UpdatePSDStatus Net_HD_UpdatePSDStatus; UpdateStationPSDStatus Net_HD_UpdateStationPSDStatus; OperPSLControl Net_HD_OperPSLControl; UpdateASDControlMode Net_HD_UpdateASDControlMode; UpdateASDFault Net_HD_UpdateASDFault; UpdateASDBlocked Net_HD_UpdateASDBlocked; UpdateASDStatusCtrl Net_HD_UpdateASDStatusCtrl; OperIBPPSDControl Net_HD_OperIBPPSDControl; StationPISInfo Net_HD_StationPISInfo; TrainPISInfo Net_HD_TrainPISInfo; StationPISTextInfo Net_HD_StationPISTextInfo; StationPIS_FaultInfo Net_HD_StationPISFaultInfo; SimIBPEventManner Net_HD_SimIBPEventManner; FYMCloseAskPacket Net_HD_FYMCloseAskPacket; UpdateEvrmFYMStatus Net_HD_UpdateEvrmFYMStatus; PAMASSAGEPACKET Net_HD_UpdatePAMSG; PAFILEMASSAGEPACKET Net_HD_UpdatePAFileMSG; StationPA_FaultInfo Net_HD_StationPAFaultInfo; OperLightGroupRun Net_HD_OperLightGroupRun; OperSensorEqpmtValue Net_HD_OperSensorEqpmtValue; UpdateTimeTabInfo Net_HD_UpdateTimeTabInfo; UpdateStationSignal Net_HD_UpdateStationSignal; UpdateStationAFCtrl Net_HD_UpdateStationAFCtrl; UpdateACSMode Net_HD_UpdateACSMode; EQPMT_ENVCTRLTYPE Net_HD_EnvCtrlType; EQPMTFAULTRESET Net_HD_EqpmtFaultReset; UpdateDrainPoolUnitInfo Net_HD_UpdateDrainPoolUnitInfo; UpdateFasStatusShowNetPacket Net_HD_UpdateFasStatusShow; ResetFasStatusPacket Net_HD_ResetFasStatus; UpdateRegisteringPlan Net_YT_UpdateRegisteringPlan; ConstructionRequest Net_YT_ConstructionRequest; ConstructionAdmit Net_YT_ConstructionAdmit; ConstructionOpenRequest Net_YT_ConstructionOpenRequest; ConstructionOpenAdmit Net_YT_ConstructionOpenAdmit; YT46RequestResult Net_YT_YT46RequestResult; YT46RequestSignature Net_YT_YT46RequestSignature; //教员 TRAININI Net_JY_TrainIni; TRAINBEG Net_JY_TrainBeg; TRAINEND Net_JY_TrainEnd; DELTRAIN Net_JY_TrainDel; TRAIN_ROLLBACK_CTRL Net_JY_RollBackCtrl; //回滚控制 TRAIN_ROLLBACK_FEEDBACK Net_JY_RollBackFeedBack; //回滚反馈 TRAIN_PLAYBACK_CTRL Net_JY_PlayBackCtrl; //回放控制 TRAIN_PLAYBACK_FEEDBACK Net_JY_PlayBackFeedBack; //回放反馈 TRAINSETUSERROLL Net_JY_TrainSetUserRoll; StatusNot Net_JY_StatusNot; ROUTEINT Net_JY_ROUTEINIT; PEOPLEINIT Net_JY_PEOPLEINIT; TIMETABLEINIT Net_JY_TIMETABLEINIT; INITTEST Net_JY_INITTEST; CREATECONNECT NET_JY_CREATECONNECT; CMD_STATUS_REPORT NET_JY_STATUSREPORT; CMD_SysShiJinXieTong NET_JY_SysShiJinXieTong; tag_CMD_SysUpdateLoginUser NET_JY_SysUpdateLoginUser; tgTHCmdSend NET_JY_tgTHCmdSend; tgDispatchSimTrainCmd NET_JY_tgDispatchSimTrainCmd; TRAINSTART Net_JY_TrainiStart; TRAINDELALL Net_JY_TrainiDelAll; SetSystemInfo Net_JY_SetSysteminfo; tag_CMD_SysShiJinBindView NET_JY_SysShiJinBindView; ModeSwitchOrder Net_JY_ModeSwitchOrder; ModeSwitchOrderFeedBack Net_JY_ModeSwitchOrderFeedBack; UpdateCourseEventStatus Net_JY_UpdateCourseEventStatus; TriggerCourseEvent Net_JY_TriggerCourseEvent; UpdateEvaOperStatus Net_JY_UpdateEvaOperStatus; DispatchCourseEvent Net_JY_DispatchCourseEvent; VirtualRoleOperOrder Net_JY_VirtualRoleOperOrder; EVENTTRIGGERCMD_FEEDBACK Net_JY_EventTriggerCmd_FeedBack; UPDATE_EVENT_OPER_LOG Net_JY_UpdateEventOperLog; TechLoginAskOrder Net_JY_TechLoginAskOrder; RoleLoginOrder Net_JY_RoleLoginOrder; RoleLoginOrderFeedBack Net_JY_RoleLoginOrderFeedBack; READSOUNDDATA Net_JY_ReadSoundData; //语音->教员:教员接收音频数据 TTSDATA Net_JY_TTSData; //语音->教员:客户端TTS阅读完成 UPDATEACTION Net_JY_UpdateAction; //语音->教员:进度同步推进 TRAIN_RESET Net_JY_TrainReset; //训练复位 //公路信号控制模块 TRAFFICSIGNALUPDATEDATA Net_GL_TrafficSignalUpdate; //防灾数据 tgDPCmdTag Net_DP_DPCmd; tgDPDeviceThresholdTag Net_DP_DPDeviceThreshol; tgDPEqpmtValueTag Net_DP_DPEqpmtValue; tgDPAlarmInfoMakeSureTag Net_DP_DPAlarmInfoMakeSure; tgDPTemporaryDriveTag Net_DP_DPTemporaryDriveTag; //视景协同系统 VIEW_CMD_TO_XD Net_SJ_ViewToXDCmd; //协同发送给行调的命令数据 UpdateCCTVCtrl Net_CCTVCtrl_ToXD; //CCTV控制命令数据结构体 SANDTABLE_VIEWPOINT_CTRL Net_SJ_SandTableViewPointCtrl; //沙盘视景控制 VIEWSYS_FORECAST_CTRL Net_SJ_ViewSysForcastCtrl; //视景线路预测控制(调度-》协同) SANDTABLE_TRAINVIEWPORT_CTRL Net_SJ_SandTableTrainViewPortCtrl; //沙盘列车视点控制(调度-》协同) SANDTABLE_FPS_VIEWPORT Net_SJ_SandTableFPSViewPort; //沙盘漫游视点控制(调度-》协同) SANDTABLE_FPSDATA_UPDATE Net_SJ_SandTableFPSDataUpdate; //沙盘漫游数据更新(调度-》协同) SANDTABLE_GOD_VIEWPORT Net_SJ_SandTableGODViewPort; //沙盘上帝视点控制 (调度-》协同) SANDTABLE_GODDATA_UPDATE Net_SJ_SandTableGODDataUpdate; //沙盘上帝视点数据更新(调度-》协同) VIEWVIRPERSON_OPERFEEDBACK Net_SJ_ViewVirPersonOperFeedBack; //视景虚拟人员操作反馈(协同-》调度) VIEWVIRPERSON_POSCHANGE Net_SJ_ViewVirPersonPosChange; //视景虚拟人员位置切换(调度-》协同) VIEWTRAINFIRE_FEEDBACK Net_SJ_ViewTrainFire_FeedBack; //视景列车火灾状态反馈(协同-》调度) //态势模块 TS_STATIONMODE_UPDATE Net_TS_StaModeUpdate; //态势车站模型状态更新 TS_VIRTUALDISPOSE_CMD Net_TS_VirtualDisposeCmd; //虚拟处置操作命令 TS_ZONEWATER_UPDATE Net_TS_ZoneWaterUpdate; //区域水状态更新 TS_ZONEWATER_FEEDBACK Net_TS_ZoneWaterFeedBack; //区域水状态(采样点)反馈 TS_POOL_WATERSTATUS_UPDATE Net_TS_PoolWaterStatusUpdate; //水池水状态更新 TS_TEMP_OUTWATEREQMPT_UPDATE Net_TS_TempOutWaterEqmptUpdate; //临时排水设备状态更新 TS_WATERPOINT_UPDATE Net_TS_WaterPoint_Update; //区域水位采样点更新 //行调系统新增(无人驾驶) TRAINWAKEUP_PROCESS Net_XD_TrainWakeUpProcess; //列车唤醒进程更新 METROTRAIN_VOBC_UPDATE Net_XD_MetroTrainVOBCUpdate; //地铁VOBC数据更新 //语音(电话)通讯系统 TELEPHONE_TALK_RECORD Net_TX_TelePhoneTalkRecord; //语音(电话)通话记录 TELEPHONE_SPEECH_RECOGNIZE Net_TX_TelePhoneSpeechRecognize; //语音(电话)通话识别 TELEPHONE_SESSION Net_TX_TelePhoneSession; //语音(电话)_会话 TELEPHONE_INTERCOM Net_TX_TelePhoneInterCom; //语音(电话)_对讲 }; tgOCCCommand() { memset(this,0,sizeof(tgOCCCommand)); cmdType = eUnknow; DateLen = 0; } ~tgOCCCommand() { if (cmdType==eUpdateBigPacket) { //delete bigpacket.pvalue; } } void setPacketValue( const LPBASENETPACKET Pvalue,CmdType cmdtype) { cmdType = cmdtype; switch( cmdtype ) { case eSetSysInfo: DateLen = sizeof(Net_JY_SetSysteminfo); memcpy(&Net_JY_SetSysteminfo, Pvalue, DateLen); break; case eUpdataViewequipment: DateLen = sizeof(Net_XD_ViewUpdataEquipmentnew); memcpy(&Net_XD_ViewUpdataEquipmentnew, Pvalue, DateLen); break; case eRescueTrainInfo: { DateLen = sizeof(RESCUE_TRAIN_INFO); memcpy(&Net_XD_RescueTrainInfo, Pvalue, DateLen); } break; case eUpdataOnTimeinfo: DateLen = sizeof(XD_Ontimerdata); memcpy(&Net_XD_OntimerData, Pvalue, DateLen); break; case ePlanCheckAlarm: DateLen = sizeof(PLANCHECKALARM); memcpy(&Net_XD_PLANCHECKALARMOrder, Pvalue, DateLen); break; case eUpdataLimitSpeedinfoToClinet: DateLen = sizeof(TEMPSPEEDLIMITToClinet); memcpy(&Net_XD_TrainLimitSpeedInfoToClinet, Pvalue, DateLen); break; case eLimitSpeedForGT: DateLen = sizeof(TEMPSPEEDLIMITFroMain); memcpy(&Net_XD_TrainLimitSpeedInfo, Pvalue, DateLen); break; case eMainControlOntimeInfo: DateLen = sizeof(MainControlOntimeInfo); memcpy(&Net_XD_MainControlOntimeInfo, Pvalue, DateLen); break; case eMainControlOntimeInfoB: DateLen = sizeof(MainControlOntimeInfoB); memcpy(&Net_XD_MainControlOntimeInfoB, Pvalue, DateLen); break; case eCMD_TO_CIR_COURS: DateLen = sizeof(CoursetoCIR); memcpy(&Net_Cir_CoursetoCIR, Pvalue, DateLen); break; case eCMD_FROM_CIR_REGIST_TRAIN_NO: //DateLen = sizeof(RegistTrainNo); //memcpy(&Net_Cir_CoursetoCIR, Pvalue, DateLen); break; case eCMD_TO_CIR_REGIST_RESULT: DateLen = sizeof(RegistTrainNo); memcpy(&Net_Cir_RegistTrainNo, Pvalue, DateLen); break; case eRDATA_TO_CIR: //DateLen = sizeof(RegistTrainNo); //memcpy(&Net_Cir_CoursetoCIR, Pvalue, DateLen); break; case eTAIL_LOW_POWER: //DateLen = sizeof(RegistTrainNo); //memcpy(&Net_Cir_CoursetoCIR, Pvalue, DateLen); break; case eTAIL_DIACHARGE_WIND: //DateLen = sizeof(RegistTrainNo); //memcpy(&Net_Cir_CoursetoCIR, Pvalue, DateLen); break; case eCHANGE_STATION_INFO: //DateLen = sizeof(RegistTrainNo); //memcpy(&Net_Cir_CoursetoCIR, Pvalue, DateLen); break; case eCMD_TO_CIR_CONTROL_COMMAND: DateLen = sizeof(CIRCMDDATA); memcpy(&Net_Cir_CIRCMDDATA, Pvalue, DateLen); break; case eCMD_FROM_CIR_COMMAND_BACK: DateLen = sizeof(CALLBACK_TRANS); memcpy(&Net_Cir_CALLBACK_TRANS, Pvalue, DateLen); break; case eCMD_CIR_REGINFO_RSP: DateLen = sizeof(PRAM_CIR_REGINFO_RSP); memcpy(&Net_Cir_REGINFO, Pvalue, DateLen); break; case eUpdata_LimitSpeed: DateLen = sizeof(LimitSpeedInfo); memcpy(&Net_XD_LIMITSPEED, Pvalue, DateLen); break; case CMD_MARSHALLING_TOSENCE: { MAINMARSHALLING tmp; memcpy(&tmp, Pvalue, sizeof(MAINMARSHALLING)); memcpy((char *)(&Net_XD_CREATTRAINTOSHIJING ), &tmp.nSize, sizeof(int)); memcpy((char *)(&Net_XD_CREATTRAINTOSHIJING )+ sizeof(int), &tmp.nTrainID, sizeof(int)); memcpy((char *)(&Net_XD_CREATTRAINTOSHIJING )+ sizeof(int)*2, tmp.TrainNum, sizeof(char)*TRAINNUM_LEN); memcpy((char *)(&Net_XD_CREATTRAINTOSHIJING )+ sizeof(int)*2 +sizeof(char)*10 , &tmp.nNum, sizeof(int)); memcpy((char *)(&Net_XD_CREATTRAINTOSHIJING )+ sizeof(int)*3 +sizeof(char)*10, &tmp.pCarInfo, sizeof(CarInfo) * tmp.nNum); DateLen = sizeof(int)*3 + sizeof(char)*10 + sizeof(CarInfo) * tmp.nNum; } break; //case CMD_CTRL_IBPEQPMT://IBP // { // DateLen = sizeof(IBPEQPMTIO); // memcpy(&Net_IBP_IO, Pvalue, DateLen); // } // break; case CMD_CTRL_IBPEQPMT://IBP { DateLen = sizeof(IBPPACKET); memcpy(&Net_IBP_SERVER, Pvalue, DateLen); } break; case eReloadSch://IBP { DateLen = sizeof(INPUT_IO); memcpy(&Net_IBP_INPUT_IO, Pvalue, DateLen); } break; case CMD_RESET_IBP: { DateLen = sizeof(IBPRESET); memcpy(&Net_IBP_RESET, Pvalue,DateLen); } break; case CMD_INPUT_FROM_IO: { DateLen = sizeof(IBPPACKET); memcpy(&Net_IBP_SERVER,Pvalue,DateLen); } break; case eUpdateBigPacket://服务器 { LPBIGPACKET pvalue = (LPBIGPACKET)Pvalue; bigpacket.lenght = pvalue->lenght; bigpacket.pvalue = pvalue->pvalue; } break; case eSvrReplyMsg: { DateLen = sizeof(SVRREPLYMSG); memcpy(&Net_SVR_Reply, Pvalue, DateLen); } break; case eExit: { DateLen = sizeof(EXIT); memcpy(&Net_SVR_Exit, Pvalue,DateLen); } break; case eStartUp: { DateLen = sizeof(STARTUP); memcpy(&Net_SVR_StartUp, Pvalue, DateLen); } break; //行调 case eMainCtrlTrain_SetSpeed: { DateLen = sizeof(MAINCTRLTRAIN_SETSPEED); memcpy(&Net_XD_MainCtrlTrainSetSpeed, Pvalue, DateLen); } break; case eUpdateTrain: { DateLen = sizeof(SIMULATETRAINUPDATE); memcpy(&Net_XD_SimulateTrain, Pvalue, DateLen); } break; case eUpdateTrainForClient: { DateLen = sizeof(SimulateTrainInfoUPDATE); memcpy(&Net_XD_SimulateTrainForClient, Pvalue, DateLen); } break; case eUpdateTrainForClientB: { DateLen = sizeof(SimulateTrainInfoUpdateB); memcpy(&Net_XD_SimulateTrainForClientB, Pvalue, DateLen); } break; case eUpdateTrain_iATP: { DateLen = sizeof(SIMULATETRAINUPDATE_iATP); memcpy(&Net_XD_SimulateTrain_iAtp, Pvalue, DateLen); } break; case eUpdateTrainTrackFlag: { DateLen = sizeof(TRACKFLAGUPDATE); memcpy(&Net_XD_TrackFlag, Pvalue, DateLen); } break; case eUpdateTrainDesNo: { DateLen = sizeof(DESNOUPDATE); memcpy(&Net_XD_DesNO, Pvalue, DateLen); } break; case eUpdataLineInfo: { DateLen = sizeof(GT_Llineinfo); memcpy(&Net_XD_GT_Llineinfo, Pvalue, DateLen); } break; case eUpdataTrainStopStation: { DateLen = sizeof(SimulateTrainStopStation); memcpy(&Net_MC_StopStation, Pvalue, DateLen); } break; case eUpdateTrackstate: { DateLen = sizeof(TRACKCIRCUITRYUPDATE); memcpy(&Net_XD_Trackcircuit, Pvalue, DateLen); } break; case eOrderRout_LS: { DateLen = sizeof(ROUTEORDER); memcpy(&Net_XD_Route, Pvalue, sizeof(ROUTEORDER)); } break; case eOrderMaincontrol: { DateLen = sizeof(MAINCONTROLORDER); memcpy(&Net_XD_MaincontrolOrder,Pvalue,sizeof(MAINCONTROLORDER)); } break; case eOrderMaincontrolRes: { DateLen = sizeof(MAINCONTROLRES); memcpy(&Net_XD_MaincontrolRes,Pvalue,sizeof(MAINCONTROLRES)); } break; case eUpdateMainCtrtoTrainall: { DateLen = sizeof(MAINCONTROLTRAINDATAALL); memcpy(&Net_XD_MaincontrolTraindateall,Pvalue,sizeof(MAINCONTROLTRAINDATAALL)); } break; case eUpdateMainCtrtoTrain: { DateLen = sizeof(MAINCONTROLTRAINDATA); memcpy(&Net_XD_MaincontrolTraindate,Pvalue,sizeof(MAINCONTROLTRAINDATA)); } break; case eUpdateEnvironmentShutDownLine: { DateLen = sizeof(ElcShutDownEnvironmentLine); memcpy(&Net_Elc_ShutDownEnvironmentLine,Pvalue,sizeof(ElcShutDownEnvironmentLine)); } break; case eUpdataStationState: { DateLen = sizeof(STATION_UPDATA); memcpy(&Net_XD_StationState, Pvalue, DateLen); } break; case eTeachMainconrolorder: { DateLen = sizeof(TbTEACHEventInfo); memcpy(&Net_XD_TbTEACHEventInfo, Pvalue, DateLen); } break; case eMaincontrolEnvir: { DateLen = sizeof(TBEVENTINFO); memcpy(&Net_XD_TbEventInfo, Pvalue, DateLen); } break; case eConkoutReturninfo: { DateLen = sizeof(PARAM_CMD_SET_TBEVENT_RESP); memcpy(&Net_XD_PARAM_CMD_SET_TBEVENT_RESP, Pvalue, DateLen); } break; case eUpdataLinesectionInfoFromXD: { DateLen = sizeof(ClineInfoFromOCC_XD); memcpy(&Net_XD_ClineInfoFromOCC_XD, Pvalue, DateLen); } break; case eConkoutSigleReturninfo: { DateLen = sizeof(PARAM_CMD_SET_SIGNAL_EVENT); memcpy(&Net_XD_PARAM_CMD_SET_SIGNAL_RESP, Pvalue, DateLen); } break; case eUpdateStationTimeInfo: { DateLen = sizeof(TBEVENTINFO); memcpy(&Net_XD_TbEventInfo, Pvalue, DateLen); } break; case eUpdataTrainRecordTimeInfo: //列车报点 { DateLen = sizeof(RECORDTIMEINFOUPDATA); memcpy(&Net_XD_RecordTimeInfo, Pvalue, DateLen); } break; case eUpdataForView: { DateLen = sizeof(EventToUnityReal); memcpy(&Net_XD_UPDATAFORVIE,Pvalue,DateLen); break; } case eUpdataViewEquipment: { //DateLen = sizeof(EventToUnityEquipemnt); //NOTE:此命令为视景端命令无固定结构体及固定长度,长度在发送数据处动态计算 int nTmpLen = max(0, DateLen); nTmpLen = min(1000, nTmpLen); memcpy(&Net_XD_UPDATAFORVIEEQUIPMENT,Pvalue,nTmpLen); break; } break; case eUpdateTrainFrontEqmptInfo: { DateLen = sizeof(TrainFrontEqmptInfo); memcpy(&Net_XD_TrainFrontEqmptInfo,Pvalue,sizeof(TrainFrontEqmptInfo)); } break; case eUpdateTimeTabInfo: { DateLen = sizeof(TimeTabInfo); memcpy(&Net_XD_TimeTabInfo,Pvalue,sizeof(TimeTabInfo)); } break; //公路控制模块 case eTrafficSignalStatusUpdate: { DateLen = sizeof(TRAFFICSIGNALUPDATEDATA); memcpy(&Net_GL_TrafficSignalUpdate, Pvalue, DateLen); } break; case eCmdToTrafficControlSys: { DateLen = sizeof(CMD_TO_TRAFFICCONTROL_SYS); memcpy(&Net_XD_CmdToTrafficControlSys, Pvalue, sizeof(CMD_TO_TRAFFICCONTROL_SYS)); } break; case eTrainCtrlCmd: { DateLen = sizeof(TRAIN_CTRLCMD); memcpy(&Net_XD_TrainCtrlCmd, Pvalue, DateLen); } break; case eTrainWndDataUpdate: { DateLen = sizeof(TRAINWND_DATAUPDATE); memcpy(&Net_XD_TrainWndDataUpdate, Pvalue, DateLen); } break; case eHSRTrainWndDataUpdate: { DateLen = sizeof(HSRTRAINWND_DATAUPDATE); memcpy(&Net_XD_HSRTrainWndDataUpdate, Pvalue, DateLen); } break; case eTrainWndOperCmd: { DateLen = sizeof(TRAINWND_OPER_CMD); memcpy(&Net_XD_TrainWndOperCmd, Pvalue, DateLen); } break; case eUpdateTrainDataToEvalue: { DateLen = sizeof(TRAINDATA_TO_EVALUE); memcpy(&Net_XD_TrainDataToEvalue, Pvalue, DateLen); } break; case eSignalToTrainData: { DateLen = sizeof(SIGNAL_TO_TRAIN_DATA); memcpy(&Net_XD_SignalToTrainData, Pvalue, DateLen); } break; case eRealTrainToOCCData: { DateLen = sizeof(REALTRAIN_TO_OCC_DATA); memcpy(&Net_XD_RealTrainToOCCData, Pvalue, DateLen); } break; case eUpdataIntervalBlockingCmd: { DateLen = sizeof(INTERVALBLOCKING); memcpy(&Net_XD_IntervalBlockingCmd, Pvalue, DateLen); } break; case eATPSecStatus_Update: { DateLen = sizeof(ATPSECSTATUS_UPDATE); memcpy(&Net_XD_ATPSecStatusUpdate, Pvalue, DateLen); } break; case eATPSecExStatus_Update: { DateLen = sizeof(ATPSECEXSTATUS_UPDATE); memcpy(&Net_XD_ATPSecExStatusUpdate, Pvalue, DateLen); } break; case eTrainData2_ViewSys: { DateLen = sizeof(TRAINDATA2VIEWSYS); memcpy(&Net_XD_TrainData2ViewSys, Pvalue, DateLen); } break; case eMoreTrain2_ViewSys: { DateLen = sizeof(MORETRAIN2VIEWSYS); memcpy(&Net_XD_MoreTrain2ViewSys, Pvalue, DateLen); } break; case eChangeHeadCmdToViewSys: { DateLen = sizeof(CHANGEHEADCMD_TO_VIEWSYS); memcpy(&Net_XD_ChangeHeadToViewSys, Pvalue, DateLen); } break; case eDisasterPreventSys: { DateLen = sizeof(DISASTER_PREVENT); memcpy(&Net_XD_DisasterPrevent, Pvalue, DateLen); } break; case eClientEvalueItem: { DateLen = sizeof(CLIENT_EVALUE_ITEM); memcpy(&Net_XD_ClientEvalueItem, Pvalue, DateLen); } break; case eMainCtrlLimitSpeedNew: { DateLen = sizeof(MAINCTRL_LIMITSPEED_NEW); memcpy(&Net_XD_MainCtrlLimitSpeedNew, Pvalue, DateLen); } break; case eTrainDebug: { DateLen = sizeof(TrainDebugMsg); memcpy(&Net_XD_TrainDebug, Pvalue, DateLen); } break; case eRunLineUpdate: { DateLen = sizeof(RUNLINE_UPDATE); memcpy(&Net_XD_RunLineUpdate, Pvalue, DateLen); } break; case eCenStaUpdate3: { DateLen = sizeof(CENSTA_UPDATE3); memcpy(&Net_XD_CenStaUpdate3, Pvalue, DateLen); } break; case eInPointUpdate: { DateLen = sizeof(INPOINT_UPDATE); memcpy(&Net_XD_InPointUpdate, Pvalue, DateLen); } break; case eTrain_MA_Update: { DateLen = sizeof(TRAIN_MA_UPDATE); memcpy(&Net_XD_Train_MA_Update,Pvalue,DateLen); } break; case eCMD_TO_VIEW_TRAINCONNECT: { DateLen = sizeof(CMD2VIEW_TRAINCONNECT); memcpy(&Net_XD_Cmd2ViewTrainConnect, Pvalue, DateLen); } break; case eATSSys_Status_Update: { DateLen = sizeof(ATSSYS_STATUS_UPDATE); memcpy(&Net_XD_ATSSysStatusUpdate, Pvalue, DateLen); } break; case eZoneCtrl_Status_Update: { DateLen = sizeof(ZONECTRL_STATUS_UPDATE); memcpy(&Net_XD_ZoneCtrlStatusUpdate,Pvalue,DateLen); } break; case eDepotTimeTab_Status_Update: { DateLen = sizeof(DEPOTTIMETAB_STATUS_UPDATE); memcpy(&Net_XD_DepotTimeTabStatusUpdate,Pvalue,DateLen); } break; case eTrainWndDataUpdate_2: //车次窗数据更新(地铁-第二包) { DateLen = sizeof(TRAINWND_DATAUPDATE_2); memcpy(&Net_XD_TrainWndDataUpdate_2, Pvalue, DateLen); } break; case eEndStaSendTListIUpdate: //发车列表状态更新 { DateLen = sizeof(ENSSTA_SENDTLIST_I); memcpy(&Net_XD_SendTList_I, Pvalue, DateLen); } break; case eMC_Train_OperRecord: //模拟驾驶操作记录 { DateLen = sizeof(MC_TRAIN_OPERRECORD); memcpy(&Net_XD_MCTrain_OperRecord, Pvalue, DateLen); } break; case eDispatch_Sys_OperRecord: //调度系统操作记录 { DateLen = sizeof(DISPATCH_SYS_OPERRECORD); memcpy(&Net_XD_DispatchSysOperRecord, Pvalue, DateLen); } break; case eOperationIndexStatistics: //运营指标统计 { DateLen = sizeof(OPERATION_INDEX); memcpy(&Net_XD_OperationIndex, Pvalue, DateLen); } break; case eTextAndSpeechPrompt_OCC: //文本语音提示【OCC】 { DateLen = sizeof(TEXTANDSPEECH_PROMPT); memcpy(&Net_XD_TextAndSpeechPrompt, Pvalue, DateLen); } break; case eConstructSign2DispatchCmd: //施工符号转调度命令 { DateLen = sizeof(CONSTRUCTSIGN_2DISPATCHCMD); memcpy(&Net_XD_ConstructSign2DispatchCmd, Pvalue, DateLen); } break; case eSpeechRecognizeSvrAlarm: //语音识别服务报警 { DateLen = sizeof(SPEECHRECOGNIZE_SVR_ALARM); memcpy(&Net_XD_SpeechRecognizeSvrAlarm,Pvalue,DateLen); } break; case eOperGuidPrompt: //操作指导提示信息【专家引导新】 { DateLen = sizeof(OPERGUID_PROMPT); memcpy(&Net_XD_OperGuidPrompt,Pvalue,DateLen); } break; case eRouteCmd2LS_TrainC: //列车CBTC进路命令至联锁 { DateLen = sizeof(ROUTECMD2LS_TRAINC); memcpy(&Net_XD_RouteCmd2LS_TrainC,Pvalue,DateLen); } break; case eUpdateRoadBranchState: //连锁 { DateLen = sizeof(ROADBRANCHSTATE); memcpy(&Net_LS_RoadBranchState, Pvalue, DateLen); } break; case eUpdateSignalState: { DateLen = sizeof(SIGNALSTATE); memcpy(&Net_LS_SignalState, Pvalue, DateLen); } break; case eUpdateTrackStatetest: { DateLen = sizeof(TRACKSTATE); memcpy(&Net_LS_TrackState, Pvalue, DateLen); } break; case eUpdataInfoSigncontrolinfo: { DateLen = sizeof(INFOSIGNCONTROLINFO); memcpy(&Net_LS_InfoSignControl, Pvalue, DateLen); } break; case eUpdataInfoSign: { DateLen = sizeof(INFOSIGNUPDATA); memcpy(&Net_LS_InfoSign, Pvalue, DateLen); } break; case eCommantoXD: { DateLen = sizeof(COMMANDTOXD); memcpy(&Net_LS_CommandtoXD, Pvalue, DateLen); } break; case eCommantoLS: { DateLen = sizeof(COMMANDTOLS); memcpy(&Net_LS_CommandtoLS, Pvalue, DateLen); } break; case eUpdataCmdExcuteState: { DateLen = sizeof(CMDEXCUTESTATE); memcpy(&Net_LS_CmdExcuteState, Pvalue, DateLen); } break; case eUpdataPlatFormState: { DateLen = sizeof(PLATFORMUPDATA); memcpy(&Net_LS_PlatFormState, Pvalue, DateLen); } break; case eUpdataScreenDoorState: { DateLen = sizeof(SCREENDOORUPDATA); memcpy(&Net_LS_ScreenDoorState, Pvalue, DateLen); } break; case eUpdateRoadBranch_ExState: { DateLen = sizeof(RoadBranch_ExState); memcpy(&Net_LS_RoadBranch_ExState, Pvalue, DateLen); } break; case eUpdateSignal_ExState: { DateLen = sizeof(Signal_ExState); memcpy(&Net_LS_Signal_ExState, Pvalue, DateLen); } break; case eUpdataDispatchCmd: { DateLen = sizeof(NetDisptachCmd); memcpy(&Net_LS_DispatchCmd, Pvalue, DateLen); } break; case eUpdataCenStaExState: { DateLen = sizeof(CenSta_ExState); memcpy(&Net_LS_CenStaExState, Pvalue, DateLen); } break; case eLimitSpeedCmd: { DateLen = sizeof(Net_LS_LimitSpeedCmd); memcpy(&Net_LS_LimitSpeedCmd, Pvalue, DateLen); } break; case eLineSecStateUpdate: { DateLen = sizeof(Net_LS_LineSecStateUpdate); memcpy(&Net_LS_LineSecStateUpdate, Pvalue, DateLen); } break; case ePlanRoute_OperCmd: { DateLen = sizeof(Net_LS_PlanRoute_OperCmd); memcpy(&Net_LS_PlanRoute_OperCmd, Pvalue, DateLen); } break; case eUpdataTrackSecState: { DateLen = sizeof(Net_LS_TrackSecState); memcpy(&Net_LS_TrackSecState, Pvalue, DateLen); } break; case eUpdataDebugInfo: { DateLen = sizeof(Net_LS_DebugInfo); memcpy(&Net_LS_DebugInfo, Pvalue, DateLen); } break; case edeleteXietongTrain: { DateLen = sizeof(Net_XD_DeleteXietongTrain); memcpy(&Net_XD_DeleteXietongTrain,Pvalue,DateLen); } break; case eUpdata_RouteIndicator: { DateLen = sizeof(Net_LS_RouteIndicator); memcpy(&Net_LS_RouteIndicator, Pvalue, DateLen); } break; case eCrossRoadEqmptCtrlCmd: { DateLen = sizeof(Net_LS_CrossRoadEqmptCmd); memcpy(&Net_LS_CrossRoadEqmptCmd, Pvalue, DateLen); } break; case eViewEqmptStausRespond: { DateLen = sizeof(Net_LS_ViewEqmptRespond); memcpy(&Net_LS_ViewEqmptRespond, Pvalue, DateLen); } break; case eRouteStatusUpdate: { DateLen = sizeof(Net_LS_RouteStatusUpdate); memcpy(&Net_LS_RouteStatusUpdate, Pvalue, DateLen); } break; case eOCCSys_Alarm: { DateLen = sizeof(Net_LS_OCCSysAlarm); memcpy(&Net_LS_OCCSysAlarm, Pvalue, DateLen); } break; case eFeedBack_RealSignalEqmptStatus: { DateLen = sizeof(Net_LS_FeedBackRealSignalEqmptStatus); memcpy(&Net_LS_FeedBackRealSignalEqmptStatus, Pvalue, DateLen); } break; case eTrackUpdate3: { DateLen = sizeof(TRACK_UPDATE3); memcpy(&Net_LS_TrackUpdate3, Pvalue, DateLen); } break; case eSignalUpdate3: { DateLen = sizeof(SIGNAL_UPDATE3); memcpy(&Net_LS_SignalUpdate3, Pvalue, DateLen); } break; case eUpdataRoadSection://add by lisx1109 { DateLen = sizeof(Net_LS_RoadSectionData); memcpy(&Net_LS_RoadSectionData, Pvalue, DateLen); } break; case eSPKS_Status_Update: { DateLen = sizeof(Net_LS_SPKSStatusUpdate); memcpy(&Net_LS_SPKSStatusUpdate, Pvalue, DateLen); } break; case eGarageDoor_Status_Update: { DateLen = sizeof(Net_LS_GarageDoorStatusUpdate); memcpy(&Net_LS_GarageDoorStatusUpdate, Pvalue, DateLen); } break; case eRoute_Property_Update: { DateLen = sizeof(Net_LS_RoutePropertyUpdate); memcpy(&Net_LS_RoutePropertyUpdate, Pvalue, DateLen); } break; case ePlanRoute_Update: { DateLen = sizeof(Net_LS_PlanRouteUpdate); memcpy(&Net_LS_PlanRouteUpdate,Pvalue,DateLen); } break; case eTrackUpdate4: { DateLen = sizeof(Net_LS_TrackUpdate4); memcpy(&Net_LS_TrackUpdate4,Pvalue,DateLen); } break; case ePlatFormUpdate_HSR: //国铁站台 { DateLen = sizeof(PLATFORMUPDATE_HSR); memcpy(&Net_LS_PlatFormUpdate_HSR,Pvalue,DateLen); } break; case eScreenDoorUpdate_HSR: //国铁站台门 { DateLen = sizeof(SCREENDOORUPDATE_HSR); memcpy(&Net_LS_ScreenDoorUpdate_HSR,Pvalue,DateLen); } break; case eUpdatePQI: //电环 { DateLen = sizeof(TRANSFORMSTATION); memcpy(&Net_ELC_PQI, Pvalue, DateLen); } break; case eUpdateProtectRest: //added by zhangjh on 2017.5.17 { DateLen=sizeof(PROTECTRESET); memcpy(&Net_Elc_ProtectReset,Pvalue,DateLen); } break; case eUpdateProtectAllRest: { DateLen = sizeof(PROTECTAllRESET); memcpy(&Net_Elc_ProtectAllReset,Pvalue,DateLen); } break; case eUpdateDisasterPrevention: { DateLen = sizeof(DISATERPREVENTIONTODDSYS); memcpy(&Net_Elc_DisasterPreventionToDDsys, Pvalue, DateLen); } break; case eUpdateFixedValueArea: //add by yangs 20250521 { DateLen = sizeof(FIXEDVALUEINFOUPDATE); memcpy(&Net_Elc_FixedValueInfoUpdate, Pvalue, DateLen); } break; case eUpdateMSFVO: //add by liukh 20250626 { DateLen = sizeof(MSFVO); memcpy(&Net_Elc_MSFVOInfoUpdate, Pvalue, DateLen); } break; case eOperCmdExecuteToReal: { DateLen = sizeof(OPERCMDTOREAL); memcpy(&Nei_Elc_OperCmdToReal, Pvalue, DateLen); } break; case eUpdateRemoteLock: //added by zhangjiahua { DateLen=sizeof(REMOTELOCK); memcpy(&Net_Elc_RemoteLock,Pvalue,DateLen); } break; case eUpdateShieldStatus: { DateLen=sizeof(SETSHIELD); memcpy(&Net_Elc_SetShield,Pvalue,DateLen); } break; case eUpdateTelesignalisation: { DateLen=sizeof(TELESIGNALISATION); memcpy(&Net_Elc_Telesignalisation,Pvalue,DateLen); } break; case eUpdateTurnOffArea: { DateLen=sizeof(NETELCTURNOFFAREA); memcpy(&Net_Elc_NetElcTurnOffArea,Pvalue,DateLen); } break; case eUpdateStationThreeLoadCut: { DateLen=sizeof(STATIONTHREELOADCUT); memcpy(&Net_Elc_StationThreeLoadCut,Pvalue,DateLen); } case eUpdateAutoBolt_CtrlMode: //added by huangcz on 2017.5.27 { DateLen=sizeof(POWERAUTOBOLTCTRLMODE); memcpy(&Net_Elc_PowerAutoBoltCtrlMode,Pvalue,DateLen); } break; case eUpdateEqpmtLockUpdate: { DateLen = sizeof(ELCEQPMTLOCKUPDATE); memcpy(&Net_ELC_Lock, Pvalue, DateLen); } break; case eUpdateControlPermission: { DateLen=sizeof(CONTROLPERMISSION); memcpy(&Net_Elc_ControlPermission,Pvalue,DateLen); } break; case eUpdateSendControlPermission: { DateLen=sizeof(CONTROLPERMISSION); memcpy(&Net_Elc_SendControlPermission,Pvalue,DateLen); } break; case eUpdateModeInfo: { DateLen=sizeof(MODECONTROL); memcpy(&Net_Elc_ModeControl,Pvalue,DateLen); } break; case eUpdateBackLineVI: { DateLen = sizeof(BACKLINEVI); memcpy(&Net_Elc_BackLineVI, Pvalue, DateLen); } break; case eUpdateRailWayV: { DateLen = sizeof(RAIYWAYV); memcpy(&Net_Elc_RaiyWayV, Pvalue, DateLen); } break; case eUpdateMainInOutI: { DateLen = sizeof(STATIONMAINI); memcpy(&Net_ELC_MainInOutI, Pvalue, DateLen); } break; case eUpdateMotherLineV: { DateLen = sizeof(STATIONMLINEV); memcpy(&Net_ELC_MotherLineV, Pvalue, DateLen); } break; case eUpdateTrainV: { DateLen = sizeof(TRIANV); memcpy(&Net_ELC_TrainV, Pvalue, DateLen); } break; case eUpdateEqpmtStatus: { DateLen = sizeof(DHEQPMTUPDATE); memcpy(&Net_DH_EqpmtUpdate, Pvalue, DateLen); } break; case eUpdateDHMsgNotice: { DateLen = sizeof(DHMSGNOTICE); memcpy(&Net_DH_MsgNotice, Pvalue, DateLen); } break; case eUpdateAlarmRevert: { DateLen = sizeof(ALARMREVERT); memcpy(&Net_ELC_AlarmRevert, Pvalue, DateLen); } break; case eUpdatePQR: { DateLen = sizeof(ELCPQR); memcpy(&Net_ELC_PQR, Pvalue, DateLen); } break; case eUpdateEqpmtPowerValue: //更新设备电量值 xyx新增 { DateLen = sizeof(ELCEQPMTPOWERVALUEUPDATE); memcpy(&Net_Elc_PowerValueUpdate, Pvalue, DateLen); } break; case eUpdateElcsysToEnvsys: //电环联合接口 xyx新增 { DateLen = sizeof(ELCSYSTOENVSYS); memcpy(&Net_Elc_ElcsysToEnvsys, Pvalue, DateLen); } break; case eUpdateEqpmtInitStatus: //电环设备初始化 added by zhangjiahua { DateLen = sizeof(EQPMTINITSTATUS); memcpy(&Net_DH_EqpmtInitStatus,Pvalue,DateLen); } break; case eUpdateEqpmtTelemeteryValue: //设置电压、电流遥测量 added by chenht { DateLen = sizeof(EQPMTTELEMTRYVALUE); memcpy(&Net_DH_EqpmtTelemtryValue,Pvalue,DateLen); } break; case eUpdateEqpmtPowerStatus: //设置设备带电状态 added by yangs { DateLen = sizeof(EQPMTPOWERSTATUS); memcpy(&Net_DH_EqpmtPowerStatus,Pvalue,DateLen); } break; case eUpdateStationCommunication: { //设置车站通信故障 added by yangs DateLen = sizeof(STATIONCOMMUNICATIONSTATUS); memcpy(&Net_Elc_StationCommunicationStatus, Pvalue, DateLen); } break; case eUpdateChangeView: { DateLen = sizeof(ELCCHANGEVIEW); memcpy(&Net_ELC_ChangeView, Pvalue, DateLen); } break; case eTSViewSysCtrl_DHEqmpt: case eUpdateOper: { DateLen = sizeof(DHEQPMTOPER); memcpy(&Net_DH_EqpmtOper, Pvalue, DateLen);/*把传递数据拷贝*/ } break; case eUpdateAccident: { DateLen = sizeof(ELCACCIDENT); memcpy(&Net_ELC_Accident, Pvalue, DateLen); } break; case eUpdateElcEnvirRelation: { DateLen = sizeof(ELCENVIRRELATION); memcpy(&Net_Elc_ElcEnvirPower, Pvalue, DateLen); } break; case eUpdateOperCheck: { DateLen = sizeof(DHOPERCHECK); memcpy(&Net_DH_OperCheck, Pvalue, DateLen); } break; case eUpdateSvrReply: { DateLen = sizeof(DHSVRREPLY); memcpy(&Net_DH_SvrReply, Pvalue, DateLen); } break; // case eUpdateEvrmTepereture: // { // DateLen = sizeof(EvirmTempretureUpdate); // memcpy(&Net_HD_TeperatureUpdate, Pvalue, DateLen); // } // break; // case eComandtoHD: // { // DateLen = sizeof(CommandtoHD); // memcpy(&Net_HD_CommadtoHD, Pvalue, DateLen); // } // break; // case eUdatepEvrmModeCtrl: // { // DateLen = sizeof(EvrmEqpmtModeCtrl); // memcpy(&Net_HD_EqpmtModeCtrl,Pvalue,DateLen); // } // break; // case eUpdateEvrmSensorDisplay: // { // DateLen = sizeof(EvrmEqpmtSensorDis); // memcpy(&Net_HD_SensorDisValue,Pvalue,DateLen); // } // break; // case eUpdateBroadCast: // { // DateLen = sizeof(EvrmBroadCast); // memcpy(&Net_HD_BroadCast,Pvalue,DateLen); // } // break; // case eUpdateEvrmFire: // { // DateLen = sizeof(EvrmFire); // memcpy(&Net_HD_EvrmFire, Pvalue, DateLen); // } // break; // case eUpdateTimeBroadCast: // { // DateLen = sizeof(EvrmTimeBroadCast); // memcpy(&Net_HD_TimeBroadCast,Pvalue,DateLen); // } // break; // case eUdatepEvrmModeStatus: // { // DateLen = sizeof(ModeExecute); // memcpy(&Net_HD_ModeExecute,Pvalue,DateLen); // break; // } // case eUpdateEqpmtValue: // { // DateLen = sizeof(EqpmtValue); // memcpy(&Net_HD_EqpmtValue, Pvalue, DateLen); // break; // } case eUpdateFasModeAssociateEqpmt: { DateLen = sizeof(FasModeAssociateEqpmtNetPacket); memcpy(&Net_HD_FasModeAssociateEqpmt, Pvalue, DateLen); break; } // case eUdatepEvrmModeCtrlType: // case eUdatepEvrmModeExecuteManner: // { // DateLen = sizeof(ModeExecuteMannerPacket); // memcpy(&Net_HD_ModeExecuteManner, Pvalue, DateLen); // break; // } case eUpdateAuthority: { DateLen = sizeof(UpdateAuthority); memcpy(&Net_HD_UpdateAuthority, Pvalue, DateLen); } break; case eOperAuthorityTransform: { DateLen = sizeof(OperAuthorityTransform); memcpy(&Net_HD_OperAuthorityTransform, Pvalue, DateLen); } break; case eOperEvrmPACtrl: { DateLen = sizeof(PAMASSAGEPACKET); memcpy(&Net_HD_UpdatePAMSG,Pvalue,DateLen); break; } case eOperEvrmPAFile: { DateLen = sizeof(PAFILEMASSAGEPACKET); memcpy(&Net_HD_UpdatePAFileMSG,Pvalue,DateLen); break; } case eStationPAFaultInfo: { DateLen = sizeof(StationPA_FaultInfo); memcpy(&Net_HD_StationPAFaultInfo,Pvalue,DateLen); break; } case eUpdateEqpmtStatusISCS: { DateLen = sizeof(UpdateEqpmtStatusISCS); memcpy(&Net_HD_UpdateEqpmtStatusISCS,Pvalue,DateLen); } break; case eUpdateEqpmtValue: { DateLen = sizeof(UpdateEqpmtValue); memcpy(&Net_HD_UpdateEqpmtValue,Pvalue,DateLen); } break; case eOperEqpmtGroupCtrl: { DateLen = sizeof(OperEqpmtGroupCtrl); memcpy(&Net_HD_OperEqpmtGroupCtrl, Pvalue, DateLen); } break; case eUpdateAFCMode: { DateLen = sizeof(UpdateAFCMode); memcpy(&Net_HD_UpdateAFCMode,Pvalue,DateLen); } break; case eOperAFCMode: { DateLen = sizeof(OperAFCMode); memcpy(&Net_HD_OperAFCMode, Pvalue, DateLen); } break; case eUpdateModeStatus: { DateLen = sizeof(UpdateModeStatus); memcpy(&Net_HD_UpdateModeStatus,Pvalue,DateLen); } break; case eOperModeCtrl: { DateLen = sizeof(OperModeCtrl); memcpy(&Net_HD_OperModeCtrl,Pvalue,DateLen); break; } case eUpdateModeCtrlType: { DateLen = sizeof(UpdateModeCtrlType); memcpy(&Net_HD_UpdateModeCtrlType, Pvalue, DateLen); break; } case eOperModeExecuteManner: { DateLen = sizeof(OperModeExecuteManner); memcpy(&Net_HD_OperModeExecuteManner, Pvalue, DateLen); break; } case eUpdateModeExecuteManner: { DateLen = sizeof(UpdateModeExecuteManner); memcpy(&Net_HD_UpdateModeExecuteManner, Pvalue, DateLen); break; } case eUpdateSensorDisplay: { DateLen = sizeof(UpdateSensorDisplay); memcpy(&Net_HD_UpdateSensorDisplay, Pvalue, DateLen); break; } case eUpdateEqpmtctrlType: { DateLen = sizeof(UpdateEqpmtctrlType); memcpy(&Net_HD_UpdateEqpmtctrlType, Pvalue, DateLen); break; } case eOperEqpmtctrlType: { DateLen = sizeof(OperEqpmtctrlType); memcpy(&Net_HD_OperEqpmtctrlType, Pvalue, DateLen); break; } case eOperModeRecover: { DateLen = sizeof(OperModeRecover); memcpy(&Net_HD_OperModeRecover, Pvalue, DateLen); break; } case eUpdateFasModeStatus: { DateLen = sizeof(UpdateFasModeStatus); memcpy(&Net_HD_UpdateFasModeStatus, Pvalue, DateLen); break; } case eOperFasModeManual: { DateLen = sizeof(OperFasModeManual); memcpy(&Net_HD_OperFasModeManual, Pvalue, DateLen); break; } case eOperFasAlarmCtrl: { DateLen = sizeof(OperFasAlarmCtrl); memcpy(&Net_HD_OperFasAlarmCtrl, Pvalue, DateLen); break; } case eUpdateFASStationCtrlType: { DateLen = sizeof(UpdateFASStationCtrlType); memcpy(&Net_HD_UpdateFASStationCtrlType, Pvalue, DateLen); break; } case eOperFASStationCtrlType: { DateLen = sizeof(OperFASStationCtrlType); memcpy(&Net_HD_OperFASStationCtrlType, Pvalue, DateLen); break; } case eOperFasDetectorCtrl: { DateLen = sizeof(OperFasDetectorCtrl); memcpy(&Net_HD_OperFasDetectorCtrl, Pvalue, DateLen); break; } case eUpdateFasStatusShow: { DateLen = sizeof(UpdateFasStatusShowNetPacket); memcpy(&Net_HD_UpdateFasStatusShow, Pvalue, DateLen); break; } case eResetFasStatus: { DateLen = sizeof(ResetFasStatusPacket); memcpy(&Net_HD_ResetFasStatus, Pvalue, DateLen); } break; // case eUdatepEvrmPSDStatus: // { // DateLen = sizeof(PSDStatusManner); // memcpy(&Net_HD_PSDStatusManner, Pvalue, DateLen); // break; // } // case eUdatepEvrmSimIBPEvent: // { // DateLen = sizeof(SimIBPEventManner); // memcpy(&Net_HD_SimIBPEventManner, Pvalue, DateLen); // break; // } // case eUpdateEvrmISCSFireRecover: // { // DateLen = sizeof(ISCSFireRecoverPacket); // memcpy(&Net_HD_ISCSFireRecover, Pvalue, DateLen); // break; // } // case eUdatepEvrmEqpmtCtrlType: // { // DateLen = sizeof(EqpmtCtrlTypePacket); // memcpy(&Net_HD_EqpmtCtrlType, Pvalue, DateLen); // break; // } case eUpdatePSDStatus: { DateLen = sizeof(UpdatePSDStatus); memcpy(&Net_HD_UpdatePSDStatus, Pvalue, DateLen); break; } case eUpdateStationPSDStatus: { DateLen = sizeof(UpdateStationPSDStatus); memcpy(&Net_HD_UpdateStationPSDStatus, Pvalue, DateLen); break; } case eOperPSLControl: { DateLen = sizeof(OperPSLControl); memcpy(&Net_HD_OperPSLControl, Pvalue, DateLen); break; } case eUpdateStationPISInfo: { DateLen = sizeof(StationPISInfo); memcpy(&Net_HD_StationPISInfo, Pvalue, DateLen); break; } case eUpdateTrainPISInfo: { DateLen = sizeof(TrainPISInfo); memcpy(&Net_HD_TrainPISInfo, Pvalue, DateLen); break; } case eUpdateStationPISTextInfo: case eUpdateStationPISEmergencyInfo: { DateLen = sizeof(StationPISTextInfo); memcpy(&Net_HD_StationPISTextInfo, Pvalue, DateLen); break; } case eStationPISFaultInfo: { DateLen = sizeof(StationPIS_FaultInfo); memcpy(&Net_HD_StationPISFaultInfo, Pvalue, DateLen); break; } case eUpdateEvrmSimIBPEvent: { DateLen = sizeof(SimIBPEventManner); memcpy(&Net_HD_SimIBPEventManner, Pvalue, DateLen); break; } case eUpdateASDControlMode: { DateLen = sizeof(UpdateASDControlMode); memcpy(&Net_HD_UpdateASDControlMode, Pvalue, DateLen); break; } case eUpdateASDFault: { DateLen = sizeof(UpdateASDFault); memcpy(&Net_HD_UpdateASDFault, Pvalue, DateLen); break; } case eUpdateASDBlocked: { DateLen = sizeof(UpdateASDBlocked); memcpy(&Net_HD_UpdateASDBlocked, Pvalue, DateLen); break; } case eOperIBPPSDControl: { DateLen = sizeof(OperIBPPSDControl); memcpy(&Net_HD_OperIBPPSDControl, Pvalue, DateLen); break; } case eOperLightViewCtrl: { DateLen = sizeof(OperLightGroupRun); memcpy(&Net_HD_OperLightGroupRun, Pvalue, DateLen); break; } case eOperSensorEqpmtValue: { DateLen = sizeof(OperSensorEqpmtValue); memcpy(&Net_HD_OperSensorEqpmtValue, Pvalue, DateLen); break; } case eUpdateTimeTabStatus: { DateLen = sizeof(UpdateTimeTabInfo); memcpy(&Net_HD_UpdateTimeTabInfo, Pvalue, DateLen); break; } case eUpdateStationSignal: { DateLen = sizeof(UpdateStationSignal); memcpy(&Net_HD_UpdateStationSignal, Pvalue, DateLen); break; } case eOperAFCCtrl://车站AFC设备组控 { DateLen = sizeof(UpdateStationAFCtrl); memcpy(&Net_HD_UpdateStationAFCtrl, Pvalue, DateLen); break; } case eUpdateASD_EED_MSD_Control: { DateLen = sizeof(UpdateASDStatusCtrl); memcpy(&Net_HD_UpdateASDStatusCtrl, Pvalue, DateLen); break; } case eUpdateEvrmFYMClose: { DateLen = sizeof(FYMCloseAskPacket); memcpy(&Net_HD_FYMCloseAskPacket, Pvalue, DateLen); break; } // case eUdatepEvrmEqpmtctrlPos: // case eUdatepEvrmEqpmtctrlSelfType: // { // DateLen = sizeof(EnvEqpmtCtrlType); // memcpy(&Net_HD_EnvEqpmtCtrlType, Pvalue, DateLen); // break; // } case eUpdateEvrmFYMStatus: { DateLen = sizeof(UpdateEvrmFYMStatus); memcpy(&Net_HD_UpdateEvrmFYMStatus, Pvalue, DateLen); break; } case eUpdateENVCtrlType: { DateLen = sizeof(EQPMT_ENVCTRLTYPE); memcpy(&Net_HD_EnvCtrlType, Pvalue, DateLen); } break; case eUpdateEqpmtFaultReset: { DateLen = sizeof(EQPMTFAULTRESET); memcpy(&Net_HD_EqpmtFaultReset, Pvalue, DateLen); } break; case eUpdatePoolUnitDisplay: { DateLen = sizeof(UpdateDrainPoolUnitInfo); memcpy(&Net_HD_UpdateDrainPoolUnitInfo, Pvalue, DateLen); } break; case eUpdatePlanProgress://施工计划流程更新 add by yangsong { DateLen = sizeof(UpdateRegisteringPlan); memcpy(&Net_YT_UpdateRegisteringPlan, Pvalue, DateLen); } break; case eConstructionCheckRequest://施工核对请求 { DateLen = sizeof(ConstructionRequest); memcpy(&Net_YT_ConstructionRequest, Pvalue, DateLen); } break; case eConstructionCheckResult://施工核对结果 { DateLen = sizeof(YT46RequestResult); memcpy(&Net_YT_YT46RequestResult, Pvalue, DateLen); } break; case eConstructionSignature://施工请求签名 { DateLen = sizeof(YT46RequestSignature); memcpy(&Net_YT_YT46RequestSignature, Pvalue, DateLen); } break; case eConstructionCmdReceipt://施工命令签收 { DateLen = sizeof(ConstructionAdmit); memcpy(&Net_YT_ConstructionAdmit, Pvalue, DateLen); } break; case eConstructionOpenCheckRequest://施工开通核对请求 { DateLen = sizeof(ConstructionOpenRequest); memcpy(&Net_YT_ConstructionOpenRequest, Pvalue, DateLen); } break; case eConstructionOpenCheckResult://施工开通核对结果 { DateLen = sizeof(YT46RequestResult); memcpy(&Net_YT_YT46RequestResult, Pvalue, DateLen); } break; case eConstructionOpenSignature://施工开通签名 { DateLen = sizeof(YT46RequestSignature); memcpy(&Net_YT_YT46RequestSignature, Pvalue, DateLen); } break; case eConstructionOpenCmdReceipt://施工开通命令签收 { DateLen = sizeof(ConstructionOpenAdmit); memcpy(&Net_YT_ConstructionOpenAdmit, Pvalue, DateLen); } break; case eSetUserRoll: //教员 { DateLen = sizeof(TRAINSETUSERROLL); memcpy(&Net_JY_TrainSetUserRoll, Pvalue, DateLen); } break; case eTrainDeleteAll: //教员 { DateLen = sizeof(TRAINDELALL); memcpy(&Net_JY_TrainiDelAll, Pvalue, DateLen); } break; case eTrainIni: { DateLen = sizeof(TRAININI); memcpy(&Net_JY_TrainIni, Pvalue, DateLen); } break; case eTrainBeg: { DateLen = sizeof(TRAINBEG); memcpy(&Net_JY_TrainBeg, Pvalue, DateLen); } break; case eTrainEnd: { DateLen = sizeof(TRAINEND); memcpy(&Net_JY_TrainEnd, Pvalue, DateLen); } break; case eTrainRollBackCtrl: //回滚控制(教员->OCC) { DateLen = sizeof(TRAIN_ROLLBACK_CTRL); memcpy(&Net_JY_RollBackCtrl, Pvalue, DateLen); } break; case eTrainRollBackFeedBack: //回滚反馈(OCC->教员) { DateLen = sizeof(TRAIN_ROLLBACK_FEEDBACK); memcpy(&Net_JY_RollBackFeedBack, Pvalue, DateLen); } break; case eTrainPlayBackCtrl: //回放控制(教员->回放) { DateLen = sizeof(TRAIN_PLAYBACK_CTRL); memcpy(&Net_JY_PlayBackCtrl, Pvalue, DateLen); } break; case eTrainPlayBackFeedBack: //回放反馈(回放->教员) { DateLen = sizeof(TRAIN_PLAYBACK_FEEDBACK); memcpy(&Net_JY_PlayBackFeedBack, Pvalue, DateLen); } break; case eStatusNot: { DateLen = sizeof(StatusNot); memcpy(&Net_JY_StatusNot, Pvalue, DateLen); } break; case eSetSimUserRoll: { DateLen = sizeof(PARAM_CMD_PREPARE_COURSE); memcpy(&Net_JY_TrainSetUserRoll, Pvalue, DateLen); break; } case eOccOrder: { DateLen = sizeof(OCCORDER); memcpy(&occOrder, Pvalue, DateLen); break; } case eOrderTrainCode: { DateLen = sizeof(SimulateTrainCode); memcpy(&Net_XD_TrainCode,Pvalue,sizeof(SimulateTrainCode)); } break; case eSetRoute: { DateLen = sizeof(ROUTEINT); memcpy(&Net_JY_ROUTEINIT,Pvalue,sizeof(ROUTEINT)); } break; case eSetTimeTable: { DateLen = sizeof(TIMETABLEINIT); memcpy(&Net_JY_TIMETABLEINIT,Pvalue,sizeof(TIMETABLEINIT)); } break; case eSetPeoPle: { DateLen = sizeof(PEOPLEINIT); memcpy(&Net_JY_PEOPLEINIT,Pvalue,sizeof(PEOPLEINIT)); } break; case eInitTest: { DateLen = sizeof(INITTEST); memcpy(&Net_JY_INITTEST,Pvalue,sizeof(INITTEST)); } break; case eUpdataTrainEndLinePs: { //if ( g_SysType == SYS_TYPE_CONFIG_DC ) { DateLen = sizeof(TrainEndLinePs_DC); memcpy(&Net_XD_TrainEndLinePS_DC,Pvalue,sizeof(TrainEndLinePs_DC)); } //else //{ // DateLen = sizeof(TrainEndLinePs); // memcpy(&Net_XD_TrainEndLinePS,Pvalue,sizeof(TrainEndLinePs)); //} } break; case eTrainDelete: { DateLen = sizeof(DELTRAIN); memcpy(&Net_JY_TrainDel,Pvalue,sizeof(DELTRAIN)); } break; case eCreateConnect: { DateLen = sizeof(CREATECONNECT); memcpy(&Net_JY_TrainDel,Pvalue,sizeof(CREATECONNECT)); } break; case eSys_ShijingXietong: { DateLen = sizeof(Sys_ShijingXietong); memcpy(&NET_JY_SysShiJinXieTong, Pvalue, DateLen); } break; case eUpdateLoginUser: { DateLen = sizeof(NET_JY_SysUpdateLoginUser); memcpy(&NET_JY_SysUpdateLoginUser, Pvalue, DateLen); break; } case eCMD_SysShiJinXieTong: { DateLen = sizeof(CMD_SysShiJinXieTong); memcpy(&NET_JY_SysShiJinXieTong, Pvalue, DateLen); } break; case eSendCmdSend: { DateLen = sizeof(tgTHCmdSend); memcpy(&NET_JY_tgTHCmdSend, Pvalue, DateLen); } break; case DispatchSimTrainCmd: { DateLen = sizeof(tgDispatchSimTrainCmd); memcpy(&NET_JY_tgDispatchSimTrainCmd, Pvalue, DateLen); } break; case eTrainStart: { DateLen = sizeof(TRAINSTART); memcpy(&Net_JY_TrainiStart, Pvalue, DateLen); } break; case eSysXietongSwitchView: case eSysXietongBindView: { DateLen = sizeof(tag_CMD_SysShiJinBindView); memcpy(&NET_JY_SysShiJinBindView, Pvalue, DateLen); } break; case eModeSwitchOrder: { DateLen = sizeof(ModeSwitchOrder); memcpy(&Net_JY_ModeSwitchOrder, Pvalue, DateLen); } break; case eModeSwitchOrderFeedBack: { DateLen = sizeof(ModeSwitchOrderFeedBack); memcpy(&Net_JY_ModeSwitchOrderFeedBack, Pvalue, DateLen); } break; case eUpdateCourseEventStatus: { DateLen = sizeof(UpdateCourseEventStatus); memcpy(&Net_JY_UpdateCourseEventStatus, Pvalue, DateLen); } break; case eTriggerCourseEvent: { DateLen = sizeof(TriggerCourseEvent); memcpy(&Net_JY_TriggerCourseEvent, Pvalue, DateLen); } break; case eUpdateEvaOperStatus: { DateLen = sizeof(UpdateEvaOperStatus); memcpy(&Net_JY_UpdateEvaOperStatus, Pvalue, DateLen); } break; case eDispatchCourseEvent: { DateLen = sizeof(DispatchCourseEvent); memcpy(&Net_JY_DispatchCourseEvent, Pvalue, DateLen); } break; case eVirtualRoleOperOrder: { DateLen = sizeof(VirtualRoleOperOrder); memcpy(&Net_JY_VirtualRoleOperOrder, Pvalue, DateLen); } break; case eEventTriggerCmd_FeedBack: { DateLen = sizeof(EVENTTRIGGERCMD_FEEDBACK); memcpy(&Net_JY_EventTriggerCmd_FeedBack, Pvalue, DateLen); } break; case eUpdateEventOperLog: //事件触发即操作日志【陈远杰,教员-》OCC-》导调导播】 { DateLen = sizeof(UPDATE_EVENT_OPER_LOG); memcpy(&Net_JY_UpdateEventOperLog,Pvalue, DateLen); } break; case eTechLoginAskOrder: { DateLen = sizeof(TechLoginAskOrder); memcpy(&Net_JY_TechLoginAskOrder, Pvalue, DateLen); } break; case eRoleLoginOrder: { DateLen = sizeof(RoleLoginOrder); memcpy(&Net_JY_RoleLoginOrder, Pvalue, DateLen); } break; case eRoleLoginOrderFeedBack: { DateLen = sizeof(RoleLoginOrderFeedBack); memcpy(&Net_JY_RoleLoginOrderFeedBack, Pvalue, DateLen); } break; case eReadSoundData: //语音->教员:教员接收音频数据 { DateLen = sizeof(READSOUNDDATA); memcpy(&Net_JY_ReadSoundData, Pvalue, DateLen); } break; case eTTSReadSuccess: //语音->教员:客户端TTS阅读完成 { DateLen = sizeof(TTSDATA); memcpy(&Net_JY_TTSData, Pvalue, DateLen); } break; case eVideoTeachUpdateTeachAction: //语音->教员:进度同步推进 { DateLen = sizeof(UPDATEACTION); memcpy(&Net_JY_UpdateAction, Pvalue, DateLen); } break; case eTrainReset: { DateLen = sizeof(TRAIN_RESET); memcpy(&Net_JY_TrainReset, Pvalue, DateLen); } break; // case eUpdateEvrmAuthorization: // { // DateLen = sizeof(AUTHORIZATIONPACKET); // memcpy(&Net_HD_Authorization, Pvalue, DateLen); // } // break; case eDPInfo: { DateLen = sizeof(tgDPCmdTag); memcpy(&Net_DP_DPCmd, Pvalue, DateLen); } break; case eDPDeviceThresholdEdit: { DateLen = sizeof(tgDPDeviceThresholdTag); memcpy(&Net_DP_DPDeviceThreshol, Pvalue, DateLen); } break; case eUpdateDPEqpmtData: { DateLen = sizeof(tgDPEqpmtValueTag); memcpy(&Net_DP_DPEqpmtValue, Pvalue, DateLen); } break; case eDPAlarmInfoMakeSure: { DateLen = sizeof(tgDPAlarmInfoMakeSureTag); memcpy(&Net_DP_DPAlarmInfoMakeSure, Pvalue, DateLen); } break; case eTemporaryDriving: { DateLen = sizeof(tgDPTemporaryDriveTag); memcpy(&Net_DP_DPTemporaryDriveTag, Pvalue, DateLen); } break; //视景协同系统 case eSysXietongCmdToXD: //协同-》调度:操作命令 { DateLen = sizeof(VIEW_CMD_TO_XD); memcpy(&Net_SJ_ViewToXDCmd, Pvalue, DateLen); } break; case eOperCCTVScanCtrlToXietong: //调度-》协同:CCTV摄像头旋转 { DateLen = sizeof(UpdateCCTVCtrl); memcpy(&Net_CCTVCtrl_ToXD, Pvalue, DateLen); } break; case eOperCCTVDataToXietong: //调度-》协同:CCTV九宫格控制数据 { DateLen = sizeof(UpdateCCTVCtrl); memcpy(&Net_CCTVCtrl_ToXD, Pvalue, DateLen); } break; case eCMD_OCC_REPORT_SANDTABLE_VIEWPORT: //调度《=》协同:电子沙盘位置上报及控制 case eCMD_OCC_UPDATE_SANDTABLE_VIEWPORT: { DateLen = sizeof(SANDTABLE_VIEWPOINT_CTRL); memcpy(&Net_SJ_SandTableViewPointCtrl, Pvalue, DateLen); } break; case eCMD_ViewSys_ForecastCtrl: //调度-》协同命令:视景系统线路预测开关控制 { DateLen = sizeof(VIEWSYS_FORECAST_CTRL); memcpy(&Net_SJ_ViewSysForcastCtrl, Pvalue, DateLen); } break; case eCMD_SandTable_SetTrainViewPort: //调度-》协同命令:沙盘中列车视点控制 { DateLen = sizeof(SANDTABLE_TRAINVIEWPORT_CTRL); memcpy(&Net_SJ_SandTableTrainViewPortCtrl, Pvalue, DateLen); } break; case eCMD_SandTable_SetFPSViewPort: //调度-》协同命令:沙盘中漫游视角切换 { DateLen = sizeof(SANDTABLE_FPS_VIEWPORT); memcpy(&Net_SJ_SandTableFPSViewPort, Pvalue, DateLen); } break; case eRealTime_SandTable_FPSUpdate: //调度-》协同命令:沙盘漫游视角数据更新 { DateLen = sizeof(SANDTABLE_FPSDATA_UPDATE); memcpy(&Net_SJ_SandTableFPSDataUpdate, Pvalue, DateLen); } break; case eCMD_SandTable_SetGODViewPort: //调度-》协同命令:沙盘中上帝视角切换 { DateLen = sizeof(SANDTABLE_GOD_VIEWPORT); memcpy(&Net_SJ_SandTableGODViewPort, Pvalue, DateLen); } break; case eRealTime_SandTable_GODUpdate: //调度-》协同命令:沙盘上帝视角数据更新 { DateLen = sizeof(SANDTABLE_GODDATA_UPDATE); memcpy(&Net_SJ_SandTableGODDataUpdate, Pvalue, DateLen); } break; case eViewVirPerson_OperFeedBack: //协同->OCC命令:视景虚拟人员操作反馈 { DateLen = sizeof(VIEWVIRPERSON_OPERFEEDBACK); memcpy(&Net_SJ_ViewVirPersonOperFeedBack, Pvalue, DateLen); } break; case eViewVirPerson_PosChange: //OCC->协同命令:视景虚拟人员位置切换 { DateLen = sizeof(VIEWVIRPERSON_POSCHANGE); memcpy(&Net_SJ_ViewVirPersonPosChange, Pvalue, DateLen); } break; case eViewTrainFire_FeedBack: //协同->OCC命令:视景列车火灾状态反馈 { DateLen = sizeof(VIEWTRAINFIRE_FEEDBACK); memcpy(&Net_SJ_ViewTrainFire_FeedBack, Pvalue, DateLen); } break; /* 态势模块-Start*/ case eTSStationMode_Update: //态势模块发布->态势车站模型状态更新 { DateLen = sizeof(TS_STATIONMODE_UPDATE); memcpy(&Net_TS_StaModeUpdate, Pvalue, DateLen); } break; case eTSVirtualDisposeCmd: //虚拟处置终端->态势模块 { DateLen = sizeof(TS_VIRTUALDISPOSE_CMD); memcpy(&Net_TS_VirtualDisposeCmd, Pvalue, DateLen); } break; case eTSZoneWater_Update: //态势模块->终端,区域水状态更新 { DateLen = sizeof(TS_ZONEWATER_UPDATE); memcpy(&Net_TS_ZoneWaterUpdate, Pvalue, DateLen); } break; case eTSZoneWater_FeedBack: //协同->态势模块,区域水状态反馈 { DateLen = sizeof(TS_ZONEWATER_FEEDBACK); memcpy(&Net_TS_ZoneWaterFeedBack, Pvalue, DateLen); } break; case eTSWaterPool_WaterStatus_Update: //态势->环调模块,水池水状态更新 { DateLen = sizeof(TS_POOL_WATERSTATUS_UPDATE); memcpy(&Net_TS_PoolWaterStatusUpdate, Pvalue, DateLen); } break; case eTSTempOutWater_Eqmpt_Update: //态势->客户端,临时排水设备状态更新 { DateLen = sizeof(TS_TEMP_OUTWATEREQMPT_UPDATE); memcpy(&Net_TS_TempOutWaterEqmptUpdate, Pvalue, DateLen); } break; case eTSWaterPoint_Update: //态势->客户端,区域水位采样点更新 { DateLen = sizeof(TS_WATERPOINT_UPDATE); memcpy(&Net_TS_WaterPoint_Update, Pvalue, DateLen); } break; /* 态势模块-End*/ /* 无人驾驶-Start*/ case eTrain_WakeUp_Process: //无人驾驶-列车唤醒进程 { DateLen = sizeof(TRAINWAKEUP_PROCESS); memcpy(&Net_XD_TrainWakeUpProcess, Pvalue, DateLen); } break; case eMetroTrain_VOBC_Update: { DateLen = sizeof(METROTRAIN_VOBC_UPDATE); memcpy(&Net_XD_MetroTrainVOBCUpdate, Pvalue, DateLen); } break; /* 无人驾驶-End*/ case eOperYunDaPACtrl: //add by yangsong 20200219 广播信息 { DateLen = sizeof(YunDaBroadCast); memcpy(&Net_DH_YunDaBroadCast, Pvalue, DateLen); } break; case eOperIBPToYunDaPing: //add by yangsong 20200220 IBP_TtoPAping { DateLen = sizeof(IBPToYunDaPing); memcpy(&Net_DH_IBPToYunDaPing, Pvalue, DateLen); } break; case eOperYunDaPingToYunDaPA: //add by yangsong 20200220 PApingToYunDaPA { DateLen = sizeof(YunDaPingToYunDaPA); memcpy(&Net_DH_YunDaPingToYunDaPA, Pvalue, DateLen); } break; case eUpdateACSMode: //add by yangsong { DateLen = sizeof(UpdateACSMode); memcpy(&Net_HD_UpdateACSMode, Pvalue, DateLen); } break; /*语音通讯系统(新)-Start*/ case eTelephoneTalkRecord: //通话记录协议 { DateLen = sizeof(TELEPHONE_TALK_RECORD); memcpy(&Net_TX_TelePhoneTalkRecord, Pvalue, DateLen); } break; case eTelephoneSpeechRecognize: //通话语音识别 { DateLen = sizeof(TELEPHONE_SPEECH_RECOGNIZE); memcpy(&Net_TX_TelePhoneSpeechRecognize, Pvalue, DateLen); } break; case eTelephone_Session: //语音电话_会话 { DateLen = sizeof(TELEPHONE_SESSION); memcpy(&Net_TX_TelePhoneSession,Pvalue,DateLen); } break; case eTelephone_Intercom: //语音电话_对讲 { DateLen = sizeof(TELEPHONE_INTERCOM); memcpy(&Net_TX_TelePhoneInterCom,Pvalue,DateLen); } break; /*语音通讯系统(新)-End*/ } } void setOccOrderValue(const OCCORDER *paraOrder) { cmdType = eOccOrder; memcpy(&occOrder, paraOrder, sizeof(OCCORDER)); } }OCCCOMMAND,*LPOCCCOMMAND; /////////////////////////////////////////////////////////////////////////////////////// //sysID 发送目的系统号 // 包括: const SHORT OCC_SYS_XD_GROUP = 30; //行调组 const SHORT OCC_SYS_DD_GROUP = 31; //电调组 const SHORT OCC_SYS_HD_GROUP = 32; //环调组 const SHORT OCC_SYS_LS_SVR = 9; //连锁运算服务 const SHORT OCC_SYS_XD_SVR = 10; //行调运算服务 const SHORT OCC_SYS_DD_SVR = 11; //电调运算服务 const SHORT OCC_SYS_HD_SVR = 12; //环调运算服务 const SHORT OCC_SYS_FS_SVR = 14; //Fas运算服务 const SHORT OCC_SYS_TC_SVR = 15; //TC运算服务 const SHORT OCC_SYS_JT_SVR = 16; //交通控制运算服务 const SHORT OCC_SYS_TS_SVR = 17; //态势运算服务 const SHORT OCC_SYS_KC_SVR = 24; //课程场景运算服务 const SHORT OCC_SYS_SERVER_SVR = 20; //调度服务端 const SHORT OCC_SYS_SERVER_TH = 21; //教员服务端 const SHORT OCC_SYS_SERVER_ADMIN = 0; //admin服务端 const SHORT OCC_SYS_SERVER_SETSYS = 23; //指定系统号 const SHORT OCC_SYS_XD_CLIENT = 100; //行调客户端 const SHORT OCC_SYS_DD_CLIENT = 110; //电调客户端 const SHORT OCC_SYS_HD_CLIENT = 120; //环调客户端 /////////////////////////////////////////////////////////////////////////////////////// // order cmdType 命令类型 order // 包括: #define OCC_NETMESSAGE_SYS_STARTUP 20100 //系统启动通知到教员系统 OCCCOMMAND.SysID目标系统类型 oder.data1 表示注册时间 oder.sysID 自己系统类型 #define OCC_NETMESSAGE_SYS_EXIT 20101 //系统退出通知到教员系统 #define OCC_NETMESSAGE_TRIAN_ALLSTART_SUCCESS 22600 // 教员发送开始所有课程成功标志 #define OCC_NETMESSAGE_TRIAN_ALLSTART_FAIL 22601 // 教员发送开始所有课程失败标志 #define OCC_NETMESSAGE_TRIAN_ALLDELETE_SUCCESS 22650 // 教员发送结束所有课程成功标志 #define OCC_NETMESSAGE_TRIAN_ALLDELETE_FAIL 22651 // 教员发送结束所有课程失败标志 #define OCC_NETMESSAGE_TRIAN_CREATE_START 20002 // 教员发送到服务器 建立某个训练任务 oder.data1 表示课程号,oder.data2 表示运算系统号,oder.trainID 训练号, oder.data3 表示线路号 行调:oder.data4 时刻表号,oder.data5 表示开始时间 #define OCC_NETMESSAGE_TRIAN_CREATE_SUCCESS 20003 // 服务器发送到教员 某个训练任务建立成功 oder.data1 表示课程号,oder.data2 表示运算系统号,oder.trainID 训练号 #define OCC_NETMESSAGE_TRIAN_CREATE_FAIL 20004 // 服务器发送到教员 某个训练任务建立失败 oder.data1 表示课程号,oder.data2 表示运算系统号,oder.trainID 训练号 #define OCC_NETMESSAGE_TRIAN_CREATE_EXIST 20005 // 服务器发送到教员 某个训练任务已经建立 oder.data1 表示课程号,oder.data2 表示运算系统号,oder.trainID 训练号 #define OCC_NETMESSAGE_TRIAN_DELETE_START 22501 // 教员发送到服务器 删除某个训练任务 oder.data1 表示课程号,oder.data2 表示运算系统号,oder.trainID 训练号 #define OCC_NETMESSAGE_TRIAN_DELETE_SUCCESS 22502 // 服务器发送到教员 某个训练任务删除成功 oder.data1 表示课程号,oder.data2 表示运算系统号,oder.trainID 训练号发 #define OCC_NETMESSAGE_TRIAN_DELETE_FAIL 22503 // 服务器发送到教员 某个训练任务删除失败 oder.data1 表示课程号,oder.data2 表示运算系统号,oder.trainID 训练号 #define OCC_NETMESSAGE_TRIAN_DELETE_CANNOETFIND 22505 // 服务器发送到教员 任务删除没找到任务 oder.data1 表示课程号,oder.data2 表示运算系统号,oder.trainID 训练号 #define OCC_NETMESSAGE_TRIAN_STOP_START 22101 // 教员发送到服务器 终止某个训练任务 oder.data1 表示课程号,oder.data2 表示运算系统号,oder.trainID 训练号 #define OCC_NETMESSAGE_TRIAN_STOP_SUCCESS 22102 // 服务器发送到教员 某个训练任务终止成功 oder.data1 表示课程号,oder.data2 表示运算系统号,oder.trainID 训练号 #define OCC_NETMESSAGE_TRIAN_STOP_FAIL 22103 // 服务器发送到教员 某个训练任务终止失败 oder.data1 表示课程号,oder.data2 表示运算系统号,oder.trainID 训练号 #define OCC_NETMESSAGE_TRIAN_STOP_CANNOETFIND 22105 // 服务器发送到教员 任务终止没找到任务 oder.data1 表示课程号,oder.data2 表示运算系统号,oder.trainID 训练号 #define OCC_NETMESSAGE_TRIAN_PAUSE_START 22201 // 教员发送到服务器 暂停某个训练任务 oder.data1 表示课程号,oder.data2 表示运算系统号,oder.trainID 训练号 #define OCC_NETMESSAGE_TRIAN_PAUSE_SUCCESS 22202 // 服务器发送到教员 某个训练任务暂停成功 oder.data1 表示课程号,oder.data2 表示运算系统号,oder.trainID 训练号 #define OCC_NETMESSAGE_TRIAN_PAUSE_FAIL 22203 // 服务器发送到教员 某个训练任务暂停失败 oder.data1 表示课程号,oder.data2 表示运算系统号,oder.trainID 训练号 #define OCC_NETMESSAGE_TRIAN_PAUSE_CANNOETFIND 22205 // 服务器发送到教员 任务暂停没找到任务 oder.data1 表示课程号,oder.data2 表示运算系统号,oder.trainID 训练号 #define OCC_NETMESSAGE_TRIAN_RESUME_START 22302 // 教员发送到服务器 恢复某个训练任务 oder.data1 表示课程号,oder.data2 表示运算系统号,oder.trainID 训练号 #define OCC_NETMESSAGE_TRIAN_RESUME_SUCCESS 22302 // 服务器发送到教员 某个训练任务恢复成功 oder.data1 表示课程号,oder.data2 表示运算系统号,oder.trainID 训练号 #define OCC_NETMESSAGE_TRIAN_RESUME_FAIL 22303 // 服务器发送到教员 某个训练任务恢复失败 oder.data1 表示课程号,oder.data2 表示运算系统号,oder.trainID 训练号 #define OCC_NETMESSAGE_TRIAN_RESUME_CANNOETFIND 22305 // 服务器发送到教员 任务恢复没找到任务 oder.data1 表示课程号,oder.data2 表示运算系统号,oder.trainID 训练号 #define OCC_NETMESSAGE_TRIAN_RUN_START 22401 // 教员发送到服务器 运行某个训练任务 oder.data1 表示课程号,oder.data2 表示运算系统号,oder.trainID 训练号 #define OCC_NETMESSAGE_TRIAN_RUN_SUCCESS 22402 // 服务器发送到教员 某个训练任务运行成功 oder.data1 表示课程号,oder.data2 表示运算系统号,oder.trainID 训练号 #define OCC_NETMESSAGE_TRIAN_RUN_FAIL 22403 // 服务器发送到教员 某个训练任务运行失败 oder.data1 表示课程号,oder.data2 表示运算系统号,oder.trainID 训练号 #define OCC_NETMESSAGE_TRIAN_RUN_CANNOETFIND 22405 // 服务器发送到教员 任务运行没找到任务 oder.data1 表示课程号,oder.data2 表示运算系统号,oder.trainID 训练号 #define OCC_NETMESSAGE_TRIAN_NETPOSITION 21005 // 教员发送到各个系统 通知同个训练下各个子系统的 网络系统号 oder.data1 表示系统号,oder.data2 网络系统号,oder.trainID 训练号 #define OCC_NETMESSAGE_TRAIN_ROLLSET 30001 //系统角色设置 data1 表示角色号 data2 表示课程号 //////////////////////////////////////////////////////////////////////////////////////// #define Alarm_Level_Accident "事故报警" #define Alarm_Level_Communicate "通讯报警" #define Alarm_Level_Advance "预告报警" #define Alarm_Level_Excee "越线报警" #define DH_MSGCATEGORY_ATS 0 // ATS报警 #define DH_MSGCATEGORY_PDA 1 // PDS信息 #define DH_MSGCATEGORY_SOE 2 // SOE//对于电调:PSCADA系统日志或SOE #define DH_MSGCATEGORY_TIAS 3 // TIAS系统ATS报警 #define DH_MSGCATEGORY_OPER 4 // 人工操作 #define DH_MSGCATEGORY_FIGURE 5 // 数字量变位 #define DH_MSGCATEGORY_MNVALE 6 // 模拟量越限 #define DH_MSGCATEGORY_SYS 7 // 系统 #define DH_MSGCATEGORY_UionAlarm 8 // 联动报警 #define DH_MSGCATEGORY_PSCADA 9 // PSCADA系统报警 /////////////////////////////////报警区域 #define Envir_AlarmRegion_BAS 1 #define Envir_AlarmRegion_BAS_Elevator 1 #define Envir_AlarmRegion_BAS_Wind 2 #define Envir_AlarmRegion_BAS_Water 3 #define Envir_AlarmRegion_BAS_light 4 #define Envir_AlarmRegion_BAS_AFC 5 #define Envir_AlarmRegion_BAS_BroadCast 6 #define Envir_AlarmRegion_FireAlarm 2 #define Envir_AlarmRegion_PSD 7 #define Envir_AlarmRegion_AFC 8 #define Envir_AlarmRegion_ACS 9 #define Elc_AlarmRegion_PSCADA 10 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #define OCC_TRAIN_POWERBOW_STATUS_ON 20001 //受电弓状态 合 #define OCC_TRAIN_POWERBOW_STATUS_OFF 20002 //受电弓状态 分 #define OCC_TRAIN_SHROTCUT_STATUS 21002 //列车内部短路 #define RUNMODE_RUNSIMULATEOCCTRAIN 1 //1、成都地铁项目版本 #define RUNMODE_RUNSIMULATEENTIRONMENT 2 //2、昆明项目版本 #define RUNMODE_RUNSIMULATECURRENCY 3 //3、目前项目版本 #define RUNOCC_SIMULATETRAIN 1 //OCC联合模式 #define RUNUNION_SIMULATETRAIN 0 //仿真器模式 #define ELC_EQPMTCARDSTATUS_NORMAL 6500 #define ELC_EQPMTCARDSTATUS_REPAIR 6501 #define ELC_EQPMTCARDSTATUS_EARTH 6502 #define ELC_EQPMTCARDSTATUS_ERROR 6503 #define ELC_EQPMTCTRL_LOCAL 6602 #define ELC_EQPMTCTRL_REMOTE 6603 #define ELC_EQPMTCTRL_UNKNOW 6604 //定义车站发车进路轨道发码方式 #define Sta_SendTrackCode_Next 1 //第一离去区段下一个码 #define Sta_SendTrackCode_Copy 2 //复制第一离去区段的码 /******************************************************* 函数名称: GetSysTypeStr 函数功能: 获取系统名称 输入参数: sys -- 系统整形值 输出参数: NULL 返 回 值: CString -- 系统名称 *******************************************************/ static std::string GetSysTypeStr( int sys ) { switch (sys) { case OCC_SYS_XD_CLIENT: { return "行调客户端"; } break; case OCC_SYS_DD_CLIENT: { return "电调客户端"; } break; case OCC_SYS_HD_CLIENT: { return "环调客户端"; } break; case OCC_SYS_SERVER_SVR: { return "调度服务端"; } break; case OCC_SYS_SERVER_TH: { return "教员系统"; } break; case OCC_SYS_LS_SVR: { return "连锁调度"; } break; case OCC_SYS_XD_SVR: { return "行车调度"; } break; case OCC_SYS_DD_SVR: { return "电力调度"; } break; case OCC_SYS_HD_SVR: { return "环控调度"; } break; case OCC_SYS_KC_SVR: { return "场景控制"; } break; case OCC_SYS_FS_SVR: { return "FAS系统"; } break; case OCC_SYS_TC_SVR: { return "TC系统"; } break; case OCC_SYS_SERVER_ADMIN: { return "Admin系统"; } break; case OCC_SYS_TS_SVR: { return "态势运算"; } break; default: return "未知"; } } #ifndef _OCC_MOVE_LINUX static int g_Runmode; //1,2,3分别代表不同项目读取数据的方式: 1、成都地铁项目版本 2、昆明项目版本 3、目前项目版本 static int g_SendTrianWay; //发送列车数据模式 1:udp tcp 0:主播 默认主播 static int g_SigColorOfCBTC; //联锁系统CBTC系统CBTC时信号机的显示(-1:显示进路颜色;其他:颜色值) static int g_IsCheckRouteMode; //建立进路时是否检查进路的控制模式(1:检查 0:不检查)(联合时必须检查进路的控制模式) static int g_StaSendTrackCodeMode; //车站发车进路中轨道电路发码方式(1:第一离去区段延续一个码,2:复制第一离去区段码) static int g_SigColorOf_ZF_In; //折返进路始端信号机的颜色值---进入折返轨道(-1:显示进路颜色;其他:颜色值) static int g_SigColorOf_ZF_Out; //折返进路始端信号机的颜色值---离开折返轨道(-1:显示进路颜色;其他:颜色值) static int g_VersaRouteBuiltFlag; //变通进路...............................................处理标志(0:不特殊处理.1:特殊处理(默认)) static int g_MainNodeTrainPosOff; //主控发送的列车距离偏移(默认为4米) static int g_FirstStaStopTime; //第一个站的停站时间 static int g_trainlength; //列车长度 static int g_RouteTypeCalWay; //进路类型计算方式(适用于高铁):1:数据库读取(默认) 2;程序按信号机类型计算 static BOOL g_bIsCheckChangeDirLogic; //高铁系统:排列进路时判断是否检查改方逻辑(1或TRUE:检查(默认) 0或FALSE:不检查) //联锁相关 static int g_LS_PolitRoute_ReleaseTimeCount ; #include #include /******************************************************* 函数名称: GetFolder_Module_S 函数功能: 获取调用模块的目录 输入参数: NULL 输出参数: NULL 返 回 值: CString -- 调用模块目录 *******************************************************/ static CString GetFolder_Module_S(void) { void* pCallAddress = _ReturnAddress(); HMODULE hCallModule = NULL; char cModulePath[MAX_PATH] = { 0 }; if (GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS,(LPCTSTR)pCallAddress,&hCallModule)) { GetModuleFileName(hCallModule, cModulePath, MAX_PATH); //NOTE:返回路径长度 } else { GetModuleFileName(NULL, cModulePath, MAX_PATH); //NOTE:返回路径长度 } CString Str_Path = cModulePath; int nPos = Str_Path.ReverseFind('\\'); if (nPos == -1) return ""; //没有发现 Str_Path = Str_Path.Left(nPos); if ( Str_Path.Right(1) == _T("\\") ) { Str_Path = Str_Path.Left(nPos - 1); } return Str_Path; } bool static GetRunInfo() { bool find = false; CString Str_Path = GetFolder_Module_S(); CString FileName = Str_Path + "\\ParamSetting.ini"; g_Runmode = GetPrivateProfileInt("NEWDISPATCHSYSRUNINFO","XDDATAMODE", 1, FileName.GetBuffer()); g_SendTrianWay = GetPrivateProfileInt("NEWDISPATCHSYSRUNINFO","SENDTRAININFOWAY", 0, FileName.GetBuffer()); g_FirstStaStopTime = GetPrivateProfileInt("XD_SETTING","FIRSTSTATIONSTOPTIME", 30, FileName.GetBuffer()); //联锁相关 g_SigColorOfCBTC = GetPrivateProfileInt("LS_Sys_Info","SignalColor_CBTC", -1, FileName.GetBuffer()); g_LS_PolitRoute_ReleaseTimeCount = GetPrivateProfileInt("LS_Sys_Info","PolitRoute_ReleaseTimeCount", 5, FileName.GetBuffer()); g_SigColorOf_ZF_Out = GetPrivateProfileInt("LS_Sys_Info","SignalColor_ZF_Out", -1, FileName.GetBuffer()); g_SigColorOf_ZF_In = GetPrivateProfileInt("LS_Sys_Info","SignalColor_ZF_In", -1, FileName.GetBuffer()); FileName = Str_Path + "\\xdconfig.ini"; g_IsCheckRouteMode = GetPrivateProfileInt("XDSETTING","IsCheckRouteMode", 0, FileName.GetBuffer()); g_StaSendTrackCodeMode = GetPrivateProfileInt("XDSETTING","StaSendTrackCode", 1, FileName.GetBuffer()); g_SysType = GetPrivateProfileInt("XDSETTING","SYS_TYPE", 1, FileName.GetBuffer()); g_nAutoHoldTrainFlag = GetPrivateProfileInt("XDSETTING","AutoHold_TrainFlag", 1, FileName.GetBuffer()); g_VersaRouteBuiltFlag = GetPrivateProfileInt("XDSETTING","VerSaRouteBuiltFlag", 1, FileName.GetBuffer()); g_MainNodeTrainPosOff = GetPrivateProfileInt("XDSETTING","MainNodeTrainPosOff", 4, FileName.GetBuffer()); g_trainlength = GetPrivateProfileInt("XDSETTING","SETTRAINLENGTH", 106, FileName.GetBuffer()); g_RouteTypeCalWay = GetPrivateProfileInt("XDSETTING","RouteTypeCalWay", 1, FileName.GetBuffer()); UINT uCheckChangeDirLogicFlag = GetPrivateProfileInt("XDSETTING","IsCheck_ChangeDirLogic", 0, FileName.GetBuffer()); g_bIsCheckChangeDirLogic = uCheckChangeDirLogicFlag == 1 ? TRUE : FALSE; find = true; return find; } static bool bRunInfoInit = GetRunInfo(); #endif //_OCC_MOVE_LINUX #endif