message.proto 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. syntax = "proto3";
  2. /*测量信息*/
  3. message measure_info {
  4. float cx=1;
  5. float cy=2;
  6. float theta=3;
  7. float length=4;
  8. float width=5;
  9. float height=6;
  10. float wheelbase=7;
  11. float front_theta=8;
  12. int32 border_statu=9;
  13. int32 ground_status=10; //0 ok 1,nothing 2,noise 3,border
  14. }
  15. /*分配的车位信息*/
  16. message parkspace_info{
  17. int32 id=1;
  18. int32 unit_id=2; //单元号
  19. int32 floor=3; //楼层号
  20. int32 room_id=4; //同层编号
  21. }
  22. enum STATU{
  23. eNormal=0;
  24. eError=1;
  25. }
  26. /*
  27. 表单执行状态
  28. */
  29. message table_statu{
  30. STATU execute_statu=1; //执行状态
  31. string statu_description=2; //状态描述
  32. }
  33. /*
  34. 停车表单
  35. */
  36. message park_table{
  37. table_statu statu=1; //表单状态
  38. int32 queue_id=2; //指令排队编号
  39. string car_number=3;
  40. int32 unit_id=4;
  41. int32 terminal_id=5;
  42. string primary_key=6;
  43. measure_info entrance_measure_info=7; //入口测量信息
  44. parkspace_info allocated_space_info=8; //分配的车位信息
  45. measure_info actually_measure_info=9; //实际测量信息或者叫二次测量信息
  46. parkspace_info actually_space_info=10; //实际停放的车位
  47. }
  48. /*
  49. 取车表单
  50. */
  51. message pick_table{
  52. table_statu statu=1; //表单状态
  53. int32 queue_id=2; //指令排队编号
  54. string car_number=3;
  55. int32 unit_id=4;
  56. int32 terminal_id=5;
  57. string primary_key=6;
  58. parkspace_info actually_space_info=7; //实际停放的车位信息
  59. measure_info actually_measure_info=8; //存车时的实际测量信息(轴距)
  60. int32 export_id=9; //分配出口
  61. bool is_leaved=10; //是否离开
  62. }
  63. /*
  64. 以下是状态消息
  65. */
  66. /*
  67. 单片机节点状态
  68. */
  69. message out_mcpu_statu{ //数值+1后
  70. int32 door_statu=1; //外门状态 0无效, 1无效, 2开到位, 3 关到位, 4开关中, 5 故障
  71. int32 outside_safety=2; //是否有车 0无效, 1无车, 2有车
  72. }
  73. message in_mcpu_statu{ //数值+1后
  74. int32 door_statu=1; //外门状态 0无效, 1无效, 2开到位, 3 关到位, 4开关中, 5 故障
  75. int32 back_io=2; //后超界 0无效, 1后超界, 2正常
  76. int32 is_occupy=3; //是否有车 0无效, 1无车, 2有车
  77. int32 heighth=4; //车高状态 0无效, 1无效, 2小车, 3中车, 4大车, 5故障, 6故障
  78. }
  79. /*
  80. 测量节点状态
  81. */
  82. message measure_statu{
  83. measure_info info=1;
  84. }
  85. //搬运器状态枚举
  86. enum CarrierStatu{
  87. eIdle=0;
  88. eBusy=1;
  89. eFault=2;
  90. }
  91. //调度入口汽车范围的修正信息
  92. message dispatch_region_info
  93. {
  94. int32 terminal_id=1; //入口终端编号, 1~6
  95. float turnplate_angle_min=2; //转盘角度最小值, 负值, 例如 -5度
  96. float turnplate_angle_max=3; //转盘角度最大值, 正值, 例如 +5度
  97. }
  98. /*
  99. 搬运器状态消息
  100. */
  101. message dispatch_node_statu{
  102. CarrierStatu statu=1;
  103. int32 idle_stop_floor=2; //空闲时停留位置
  104. park_table running_pack_info=3; //正在执行的停车表单
  105. pick_table running_pick_info=4; //正在执行的取车表单
  106. int32 unit_id = 5; //单元号, 1~3
  107. int32 plc_heartbeat = 6; //plc心跳信息
  108. int32 plc_status_info = 7; //plc状态的集合
  109. //0 bit, 手动模式
  110. //1 bit, 自动模式
  111. //2 bit, 自动运行中
  112. //3 bit, 复位
  113. //4 bit, 1号口可以进车
  114. //5 bit, 2号口可以进车
  115. //6 bit, 预留
  116. //7 bit, 预留
  117. repeated dispatch_region_info dispatch_region_info_vector = 8; //调度入口汽车范围的修正信息
  118. }
  119. message terminal_node_statu
  120. {
  121. int32 terminal_id=1; //入口终端编号, 1~6
  122. string car_number=2; //车牌号
  123. }