dispatch_message.proto 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. syntax = "proto2";
  2. package message;
  3. import "message_base.proto";
  4. //调度管理 的状态
  5. enum Dispatch_manager_status
  6. {
  7. E_DISPATCH_MANAGER_UNKNOW = 0; //未知
  8. E_DISPATCH_MANAGER_READY = 1; //准备,待机
  9. E_DISPATCH_MANAGER_STORE = 2; //正在存车
  10. E_DISPATCH_MANAGER_PICKUP = 3; //正在取车
  11. E_DISPATCH_MANAGER_FAULT = 10; //故障
  12. }
  13. //抓车器状态, 楚天项目就是AGV系统
  14. enum Catcher_status
  15. {
  16. E_CATCHER_UNKNOW = 0; //未知
  17. E_CATCHER_READY = 1; //准备,待机
  18. E_CATCHER_STORE = 2; //正在存车
  19. E_CATCHER_PICKUP = 3; //正在取车
  20. E_CATCHER_FAULT = 10; //故障
  21. }
  22. //搬运器状态, 楚天项目就是中跑车
  23. enum Carrier_status
  24. {
  25. E_CARRIER_UNKNOW = 0; //未知
  26. E_CARRIER_READY = 1; //准备,待机
  27. E_CARRIER_STORE = 2; //正在存车
  28. E_CARRIER_PICKUP = 3; //正在取车
  29. E_CARRIER_FAULT = 10; //故障
  30. }
  31. //升降机状态, 楚天项目就是电梯
  32. enum Elevator_status
  33. {
  34. E_ELEVATOR_UNKNOW = 0; //未知
  35. E_ELEVATOR_READY = 1; //准备,待机
  36. E_ELEVATOR_STORE = 2; //正在存车
  37. E_ELEVATOR_PICKUP = 3; //正在取车
  38. E_ELEVATOR_FAULT = 10; //故障
  39. }
  40. //通道口状态, 楚天项目就是一楼的出入口
  41. enum Passageway_status
  42. {
  43. E_PASSAGEWAY_UNKNOW = 0; //未知
  44. E_PASSAGEWAY_READY = 1; //准备,待机
  45. E_PASSAGEWAY_STORE = 2; //正在存车
  46. E_PASSAGEWAY_PICKUP = 3; //正在取车
  47. E_PASSAGEWAY_FAULT = 10; //故障
  48. }
  49. //终端流程状态, 表示这个出入口到楼上停车位之间的所有设备总状态
  50. enum Terminal_status
  51. {
  52. E_TERMINAL_UNKNOW = 0; //未知
  53. E_TERMINAL_READY = 1; //准备,待机
  54. E_TERMINAL_STORE = 2; //正在存车
  55. E_TERMINAL_PICKUP = 3; //正在取车
  56. E_TERMINAL_FAULT = 10; //故障
  57. }
  58. //通道口属性, 出入口的方向属性, 表示这个通道允许停车或者取车
  59. enum Passageway_direction
  60. {
  61. E_INLET =0; //入口
  62. E_OUTLET =1; //出口
  63. E_BILATERAL =2; //双向口
  64. }
  65. //设备坐标
  66. message Device_position
  67. {
  68. required float x=1; //X轴坐标
  69. required float y=2; //Y轴坐标
  70. required float z=3; //Z轴坐标, 楚天AGV和电梯一一对应,所以Z轴就用电梯高度表示
  71. }
  72. //调度方向, 停车取车, 表示正在执行的动作
  73. enum Dispatch_motion_direction
  74. {
  75. E_STORE_CAR =0; //停车, 出入口 -> 停车位
  76. E_PICKUP_CAR =1; //取车, 停车位 -> 出入口
  77. }
  78. //调度设备的类型
  79. enum Dispatch_device_status
  80. {
  81. DISPATCH_DEVICE_UNKNOW = 0; //调度设备 未知(没有初始化的默认状态)
  82. DISPATCH_DEVICE_READY = 1; //调度设备 空闲(待机准备状态)
  83. DISPATCH_DEVICE_BUSY = 2; //调度设备 正忙(工作中)
  84. DISPATCH_DEVICE_FAULT = 10; //调度设备 故障
  85. }
  86. //调度管理的设备详细的数据信息
  87. message Dispatch_manager_data_msg
  88. {
  89. //后续再加
  90. }
  91. //调度管理总管理的状态
  92. message Dispatch_manager_status_msg
  93. {
  94. required Base_info base_info=1; //消息类型
  95. required int32 dispatch_id=2; //调度管理模块 id
  96. required Dispatch_manager_status dispatch_manager_status = 3; //调度管理模块 状态
  97. optional Dispatch_device_status robot_1_status=4; //中间的大型机器手 (可以负责1~6号出入口的停车和取车)
  98. optional Dispatch_device_status robot_2_status=5; //一号出口的专用机器手(只能负责1号出口的取车)(目前没有安装,暂时不考虑)
  99. optional Dispatch_device_status carrier_1_status=6; //左侧0号电梯井的搬运器(升降电梯 中跑车 小跑车 三合一为搬运器)
  100. optional Dispatch_device_status carrier_2_status=7; //右侧7号电梯井的搬运器(升降电梯 中跑车 小跑车 三合一为搬运器)
  101. optional Dispatch_device_status carrier_3_status=8; //中间3楼的搬运器(中跑车 小跑车 二合一为搬运器)(没有电梯, 只能在3楼活动)
  102. optional Dispatch_device_status passageway_0_status=9; //0号出口(在左侧电梯井, 只能取车)(暂时不存在)
  103. optional Dispatch_device_status passageway_1_status=10; //1号出入口
  104. optional Dispatch_device_status passageway_2_status=11; //2号出入口
  105. optional Dispatch_device_status passageway_3_status=12; //3号出入口
  106. optional Dispatch_device_status passageway_4_status=13; //4号出入口
  107. optional Dispatch_device_status passageway_5_status=14; //5号出入口
  108. optional Dispatch_device_status passageway_6_status=15; //6号出入口
  109. optional Dispatch_device_status passageway_7_status=16; //7号出口(在右侧电梯井, 只能取车)
  110. }
  111. //调度模块终端出入口的状态
  112. message Dispatch_terminal_status_msg
  113. {
  114. required Base_info base_info=1; //消息类型
  115. required int32 terminal_id=2; //终端id
  116. required Terminal_status terminal_status = 3; //终端流程状态, 表示这个出入口到楼上停车位之间的所有设备总状态
  117. required Passageway_direction passageway_direction = 4; //通道口属性, 出入口的方向属性, 表示这个通道允许停车或者取车
  118. }
  119. //执行搬运请求(主控->调度管理)
  120. message Dispatch_request_msg
  121. {
  122. required Base_info base_info=1; //消息类型
  123. required string command_key=2; //指令唯一标识符id
  124. required Dispatch_motion_direction dispatch_motion_direction=3; //调度方向, 停车取车
  125. required int32 terminal_id=4; //终端id, 出入口
  126. required Parkspace_info parkspace_info=5; //车位编号, 停车位
  127. optional Locate_information locate_information=6; //汽车测量信息, 只有停车时有数据, 取车时没有数据.
  128. }
  129. //搬运动作执行完成后反馈结果(调度管理->主控)
  130. message Dispatch_response_msg
  131. {
  132. required Base_info base_info=1; //消息类型
  133. required string command_key=2; //指令唯一标识符id
  134. required Error_manager error_manager = 3;
  135. }