SenceControlBaseDefine.h 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327
  1. #pragma once
  2. #include <map>
  3. using namespace std;
  4. #include "EvalueItemBaseDefine.h"
  5. //事件触发方式定义
  6. enum EventTriggerType
  7. {
  8. EventTriggerType_Null = -1, //无效
  9. EventTriggerType_Manual = 0, //人工触发
  10. EventTriggerType_Time = 1, //时间触发
  11. EventTriggerType_Position = 2, //位置触发
  12. EventTriggerType_Condition = 3, //条件触发
  13. EventTriggerType_MultiType = 4, //组合触发
  14. };
  15. //评价方式定义
  16. enum EvaluateType
  17. {
  18. EvaluateType_Null = -1, //未知
  19. EvaluateType_Subjective = 0, //主观评价
  20. EvaluateType_Objective = 1, //客观评价
  21. };
  22. //课程类型定义
  23. enum CourseTypeDefine
  24. {
  25. CourseType_Null = 0,
  26. CourseType_Training = 1,
  27. CourseType_Examination = 2,
  28. CourseType_Test = 3,
  29. };
  30. //课程面向主要培训对象定义
  31. enum MajorTypeDefine
  32. {
  33. MajorType_Null = 0,
  34. MajorType_XD = 101,
  35. MajorType_DD = 102,
  36. MajorType_HD = 103,
  37. MajorType_CD = 104,
  38. MajorType_WD = 105,
  39. MajorType_Station = 201,
  40. MajorType_Union = 100,
  41. };
  42. //课程作业类型定义
  43. enum TrainingTypeDefine
  44. {
  45. TrainingType_Null = 0,
  46. TrainingType_BasicOper = 1,
  47. TrainingType_FaultDeal = 2,
  48. };
  49. //课程面向主要培训对象定义
  50. enum MajorLevelTypeDefine
  51. {
  52. MajorLevelType_Null = -1,
  53. MajorLevelType_BasicLevel = 1,
  54. MajorLevelType_MediumLevel = 2,
  55. MajorLevelType_HighLevel = 3,
  56. MajorLevelType_Technician = 4,
  57. MajorLevelType_HighTechnician = 5,
  58. };
  59. //基本事件类型定义
  60. enum EventType
  61. {
  62. EventType_Null = -1, //未知
  63. EventType_TrainFault = 0, //列车故障
  64. EventType_EnvirChange = 1, //环境变化
  65. EventType_emergency = 2, //突发事件
  66. EventType_XD = 10, //行调相关
  67. EventType_DD = 11, //电调相关
  68. EventType_HD = 12, //环调相关
  69. EventType_CheZhan = 13, //车站相关
  70. };
  71. //数据类型定义
  72. enum ParaDataType
  73. {
  74. ParaDataType_Null = -1, //未知
  75. ParaDataType_Int = 1, //整形
  76. ParaDataType_Float = 2, //浮点型
  77. ParaDataType_String = 3, //字符型
  78. };
  79. //评价条目类型 added by zhangjiahua
  80. enum ItemType
  81. {
  82. Item_Type_XD = 1, //行调
  83. Item_Type_DD = 2, //电调
  84. Item_Type_HD = 3, //环调
  85. Item_Type_CZ = 4, //车站
  86. };
  87. //行调操作条目类型 added by zhangjiahua
  88. enum XD_Operate_Item
  89. {
  90. XD_Operate_Item_ModeSwitch = 1, //模式切换
  91. XD_Operate_Item_RouteOperate = 2, //进路操作
  92. XD_Operate_Item_SignalOperate = 3, //信号机操作
  93. XD_Operate_Item_TrackOperate = 4, //区段操作
  94. XD_Operate_Item_BranchOperate = 5, //道岔操作
  95. XD_Operate_Item_PlatOperate = 6, //站台操作
  96. XD_Operate_Item_TrainOperate = 7, //列车操作
  97. XD_Operate_Item_TurnBackOperate = 8, //折返操作
  98. XD_Operate_Item_VoiceCommu = 9, //语音通讯
  99. XD_Operate_Item_CenSta = 10, //车站操作
  100. };
  101. //电调操作条目类型 added by zhangjiahua
  102. enum DD_Operate_Item
  103. {
  104. DD_Operate_Item_SwitchEqpmt = 1, //开关设备操作
  105. DD_Operate_Item_PermissionChange = 2, //控制权限转换
  106. };
  107. //电调开关设备操作条目类型 added by zhangjiahua
  108. enum DD_Operate_Item_Switch
  109. {
  110. Switch_Off = 1, //分闸
  111. Switch_On = 2, //合闸
  112. Switch_RemoteLock_Off = 3, //遥信封锁分
  113. Switch_RemoteLock_On = 4, //遥信封锁合
  114. Switch_RemoteLock_Local = 5, //遥信封锁就地
  115. Switch_RemoteLock_Unlock = 6, //遥信解锁
  116. Switch_Contol_Lock = 7, //控制闭锁
  117. Switch_Contol_UnLock = 8, //闭锁解除
  118. Switch_Protect_Reset = 9, //故障复归
  119. Switch_HanderLock_Test = 10, //手车封锁试验
  120. Switch_HanderLock_Work = 11, //手车封锁工作
  121. Switch_EqpmtFixedArea_Set = 12, //设备定值操作
  122. };
  123. //电调开关设备操作条目类型 added by zhangjiahua
  124. enum DD_Operate_Item_Perssion
  125. {
  126. Permission_OCC = 1, //OCC控制
  127. Permission_Station = 2, //变电所控制
  128. };
  129. enum HD_Operate_Item
  130. {
  131. HD_Operate_Item_ModeCtrl = 1, //设备模式控制操作
  132. HD_Operate_Item_TimeTabCtrl = 2, //设备时间表控制操作
  133. HD_Operate_Item_BASEqpmtCtrl = 3, //设备控制
  134. HD_Operate_Item_BASEqpmtExamine = 4, //设备维修操作
  135. HD_Operate_Item_SetValue = 5, //设备频率开度设置操作
  136. HD_Operate_Item_LightGroupCtrl = 6, //照明场景控制操作
  137. HD_Operate_Item_PoolCtrl = 7, //给排水设备控制操作
  138. HD_Operate_Item_PISCtrl = 8, //PIS系统控制操作
  139. HD_Operate_Item_FasCtrl = 9, //车站火灾处理
  140. HD_Operate_Item_SectionFireCtrl = 11, //列车区间火灾处理
  141. HD_Operate_Item_StationAttack = 12, //车站、列车毒气袭击处理
  142. HD_Operate_Item_RailwayWaterAccumulation = 13, //线路积水处理
  143. HD_Operate_Item_IBPCtrl =14 //IBP盘操作反馈
  144. };
  145. enum HD_Operate_Item_Second
  146. {
  147. HD_Operate_Item_ModeCtrl_Recover = 2, //火灾阻塞复位按钮进行火灾模式复位
  148. HD_Operate_Item_ModeCtrl_Run = 4, //目标模式执行
  149. HD_Operate_Item_TimeTabCtrl_Run = 3, //系统控制菜单选择时间表
  150. HD_Operate_Item_BASEqpmtCtrl_Check = 3, //设备控制校验
  151. HD_Operate_Item_BASEqpmtCtrl_Oper = 4, //设备状态更新
  152. HD_Operate_Item_BASEqpmtExamine_Set = 4, //设备检修状态设置
  153. HD_Operate_Item_SetValue_Check = 2, //
  154. HD_Operate_Item_SetValue_Value = 3, //设置频率/开度值
  155. HD_Operate_Item_LightGroupCtrl_Read = 3, //读取照明数据
  156. HD_Operate_Item_LightGroupCtrl_Save = 4, //保存照明数据
  157. HD_Operate_Item_LightGroupCtrl_Run = 5, //执行照明数据
  158. HD_Operate_Item_PoolCtrl_Check = 2, //水泵控制校验
  159. HD_Operate_Item_PoolCtrl_State = 3, //水泵设备开启
  160. HD_Operate_Item_SectionFireCtrl_Light = 5, //区间事故照明
  161. HD_Operate_Item_RailwayWaterAccumulation_Status = 2, //设置 区间消防电动蝶阀
  162. HD_Operate_Item_IBPCtrl_ModeExecute = 1, //IBP盘火灾模式执行
  163. HD_Operate_Item_IBPCtrl_ModeReset = 2, //IBP盘火灾模式复位
  164. HD_Operate_Item_IBPCtrl_AFCRelease = 3, //IBP盘AFC紧急释放
  165. HD_Operate_Item_IBPCtrl_AFCReset = 4 //IBP盘AFC恢复
  166. };
  167. //行调进路操作条目 added by zhangjiahua
  168. enum XD_Operate_Item_Route
  169. {
  170. XD_Operate_Item_Route_Build = 1, //进路建立
  171. XD_Operate_Item_Route_Cancle = 2, //进路取消
  172. XD_Operate_Item_Route_ManRelease = 3, //进路总人解
  173. XD_Operate_Item_Route_Control_Man = 4, //进路交人工控
  174. XD_Operate_Item_Route_Control_Auto = 5, //进路交自动控
  175. XD_Operate_Item_Route_Pilot = 7, //开放引导信号
  176. };
  177. //行调轨道区段操作条目 added by zhangjiahua
  178. enum XD_Operate_Item_Track
  179. {
  180. XD_Operate_Item_Track_Trace_Cut = 1, //区段跟踪切除
  181. XD_Operate_Item_Track_Trace_Set = 2, //区段跟踪激活
  182. XD_Operate_Item_Track_Confirm_Axle = 3, //确认计轴有效
  183. XD_Operate_Item_Track_SingleLock = 4, //区段封锁
  184. XD_Operate_Item_Track_SingleUnLock = 5, //区段解锁
  185. XD_Operate_Item_Track_UnLock = 6, //区故解
  186. };
  187. //行调道岔操作条目 added by zhangjiahua
  188. enum XD_Operate_Item_Signal
  189. {
  190. XD_Operate_Item_Signal_OpenAgain = 1, //信号重开
  191. XD_Operate_Item_Route_AutoRoute_Set = 2, //设置自动通过进路
  192. XD_Operate_Item_Route_AutoRoute_Cancle = 3, //取消自动通过进路
  193. XD_Operate_Item_Signal_PlanListCheck_Set = 4, //计划顺序检查设置
  194. XD_Operate_Item_Signal_PlanListCheck_Cancle = 5, //计划顺序检查取消
  195. XD_Operate_Item_Signal_SingleLock = 6, //信号机单锁
  196. XD_Operate_Item_Signal_SingleUnLock = 7, //信号机解锁
  197. XD_Operate_Item_Signal_Release = 8, //信号机总人解
  198. };
  199. //行调道岔操作条目 added by zhangjiahua
  200. enum XD_Operate_Item_Switch
  201. {
  202. XD_Operate_Item_Switch_Positive = 1, //道岔定位
  203. XD_Operate_Item_Switch_Negative = 2, //道岔反位
  204. XD_Operate_Item_Switch_SingleLock = 3, //道岔单锁
  205. XD_Operate_Item_Switch_SingleUnLock = 4, //道岔单解
  206. XD_Operate_Item_Switch_Release = 5, //道岔总人解
  207. XD_Operate_Item_Switch_Block = 6, //道岔封锁
  208. XD_Operate_Item_Switch_UnBlock = 7, //道岔解封
  209. XD_Operate_Item_Switch_AxleCount_Reset = 8, //道岔计轴预复位
  210. };
  211. //行调站台操作条目 added by zhangjiahua
  212. enum XD_Operate_Item_Plat
  213. {
  214. XD_Operate_Item_Plat_HoldTrain_Set = 1, //设置扣车
  215. XD_Operate_Item_Plat_HoldTrain_Cancle = 2, //取消扣车
  216. XD_Operate_Item_Plat_SkipStop_Set = 3, //设置跳停
  217. XD_Operate_Item_Plat_SkipStop_Cancle = 4, //取消跳停
  218. XD_Operate_Item_Plat_SendTrain_Advance = 5, //提前发车
  219. XD_Operate_Item_Plat_Enable_Auto_HoldTrain = 6, //设置区间列车数量限制
  220. XD_Operate_Item_Plat_Disable_Auto_HoldTrain = 7, //取消区间列车数量限制
  221. XD_Operate_Item_Plat_Set_StopTime = 8, //设置停站时间
  222. XD_Operate_Item_Plat_ClearPassanger_Set = 9, //设置站台清客
  223. XD_Operate_Item_Plat_ClearPassanger_Cancle = 10, //取消站台清客
  224. };
  225. // 基本事件信息
  226. struct BASE_EVENT
  227. {
  228. int nEventID; //事件号
  229. int nEventType; //事件类型
  230. int EventSubType1; //事件子类型1
  231. int EventSubType2; //事件子类型2
  232. int AssociParaType[5]; //关联参数-类型
  233. BOOL bIsGeneralFlag; //是否是视景通用类
  234. std::string EventTypeName; //事件类型名称
  235. std::string EventSubType1Name; //事件子类型1名称
  236. std::string EventSubType2Name; //事件子类型2名称
  237. BASE_EVENT()
  238. {
  239. nEventID = -1; //事件号
  240. nEventType = -1; //事件类型
  241. EventSubType1 = -1; //事件子类型1
  242. EventSubType2 = -1; //事件子类型2
  243. for ( int nIndex = 0; nIndex < 5; nIndex++ )
  244. {
  245. AssociParaType[nIndex] = ParaDataType_Null; //关联参数-类型
  246. }
  247. bIsGeneralFlag = FALSE; //是否通用事件
  248. EventTypeName = ""; //事件类型名称
  249. EventSubType1Name = ""; //事件子类型1名称
  250. EventSubType2Name = ""; //事件子类型2名称
  251. }
  252. };
  253. typedef map<int, BASE_EVENT> Map_BasicEvent;
  254. // 课程事件信息
  255. struct COURSE_EVENT //课程预置事件信息
  256. {
  257. int nEventIndex; //事件索引
  258. int nBasicEventID; //基本事件号
  259. int nTriggerType; //触发方式
  260. std::string Str_EventName; //事件名称
  261. std::string Str_AssociPara[5]; //关联参数
  262. int nTriggerCondition[8]; //触发条件
  263. BOOL bSetFlag; //设置标志(设置/取消)
  264. BOOL bTriggerStatus; //触发状态(已触发/未触发)
  265. BOOL bIsManTriggerFlag; //人工触发标志(人工/自动)
  266. BASE_EVENT* m_pBaseEvent; //基本事件对象
  267. COURSE_EVENT()
  268. {
  269. nEventIndex = -1; //事件编号
  270. nBasicEventID = -1; //基本事件号
  271. Str_EventName = ""; //事件名称
  272. nTriggerType = -1; //触发方式
  273. bSetFlag = TRUE; //设置标志
  274. bTriggerStatus = FALSE; //触发状态
  275. bIsManTriggerFlag = FALSE; //人工触发标志
  276. m_pBaseEvent = NULL;
  277. for ( int nIndex = 0; nIndex < 5; nIndex++ )
  278. {
  279. Str_AssociPara[nIndex] = ""; //关联参数
  280. }
  281. for ( int nIndex = 0; nIndex < 8; nIndex++ )
  282. {
  283. nTriggerCondition[nIndex] = -1; //触发条件
  284. }
  285. }
  286. };
  287. typedef map<int, COURSE_EVENT> Map_CourseEvent;
  288. typedef map<int, tgSimulateTrainUpdate> Map_TrainUpdate;