syntax = "proto2"; package message; import "message_base.proto"; //调度管理 的状态 enum Dispatch_manager_status { E_DISPATCH_MANAGER_UNKNOW = 0; //未知 E_DISPATCH_MANAGER_READY = 1; //准备,待机 E_DISPATCH_MANAGER_STORE = 2; //正在存车 E_DISPATCH_MANAGER_PICKUP = 3; //正在取车 E_DISPATCH_MANAGER_FAULT = 10; //故障 } //抓车器状态, 楚天项目就是AGV系统 enum Catcher_status { E_CATCHER_UNKNOW = 0; //未知 E_CATCHER_READY = 1; //准备,待机 E_CATCHER_STORE = 2; //正在存车 E_CATCHER_PICKUP = 3; //正在取车 E_CATCHER_FAULT = 10; //故障 } //搬运器状态, 楚天项目就是中跑车 enum Carrier_status { E_CARRIER_UNKNOW = 0; //未知 E_CARRIER_READY = 1; //准备,待机 E_CARRIER_STORE = 2; //正在存车 E_CARRIER_PICKUP = 3; //正在取车 E_CARRIER_FAULT = 10; //故障 } //升降机状态, 楚天项目就是电梯 enum Elevator_status { E_ELEVATOR_UNKNOW = 0; //未知 E_ELEVATOR_READY = 1; //准备,待机 E_ELEVATOR_STORE = 2; //正在存车 E_ELEVATOR_PICKUP = 3; //正在取车 E_ELEVATOR_FAULT = 10; //故障 } //通道口状态, 楚天项目就是一楼的出入口 enum Passageway_status { E_PASSAGEWAY_UNKNOW = 0; //未知 E_PASSAGEWAY_READY = 1; //准备,待机 E_PASSAGEWAY_STORE = 2; //正在存车 E_PASSAGEWAY_PICKUP = 3; //正在取车 E_PASSAGEWAY_FAULT = 10; //故障 } //终端流程状态, 表示这个出入口到楼上停车位之间的所有设备总状态 enum Terminal_status { E_TERMINAL_UNKNOW = 0; //未知 E_TERMINAL_READY = 1; //准备,待机 E_TERMINAL_STORE = 2; //正在存车 E_TERMINAL_PICKUP = 3; //正在取车 E_TERMINAL_FAULT = 10; //故障 } //通道口属性, 出入口的方向属性, 表示这个通道允许停车或者取车 enum Passageway_direction { E_INLET =0; //入口 E_OUTLET =1; //出口 E_BILATERAL =2; //双向口 } //设备坐标 message Device_position { required float x=1; //X轴坐标 required float y=2; //Y轴坐标 required float z=3; //Z轴坐标, 楚天AGV和电梯一一对应,所以Z轴就用电梯高度表示 } //调度方向, 停车取车, 表示正在执行的动作 enum Dispatch_motion_direction { E_STORE_CAR =0; //停车, 出入口 -> 停车位 E_PICKUP_CAR =1; //取车, 停车位 -> 出入口 } //调度设备的类型 enum Dispatch_device_status { DISPATCH_DEVICE_UNKNOW = 0; //调度设备 未知(没有初始化的默认状态) DISPATCH_DEVICE_READY = 1; //调度设备 空闲(待机准备状态) DISPATCH_DEVICE_BUSY = 2; //调度设备 正忙(工作中) DISPATCH_DEVICE_FAULT = 10; //调度设备 故障 } //调度管理的设备详细的数据信息 message Dispatch_manager_data_msg { //后续再加 } //调度管理总管理的状态 message Dispatch_manager_status_msg { required Base_info base_info=1; //消息类型 required int32 dispatch_id=2; //调度管理模块 id required Dispatch_manager_status dispatch_manager_status = 3; //调度管理模块 状态 optional Dispatch_device_status robot_1_status=4; //中间的大型机器手 (可以负责1~6号出入口的停车和取车) optional Dispatch_device_status robot_2_status=5; //一号出口的专用机器手(只能负责1号出口的取车)(目前没有安装,暂时不考虑) optional Dispatch_device_status carrier_1_status=6; //左侧0号电梯井的搬运器(升降电梯 中跑车 小跑车 三合一为搬运器) optional Dispatch_device_status carrier_2_status=7; //右侧7号电梯井的搬运器(升降电梯 中跑车 小跑车 三合一为搬运器) optional Dispatch_device_status carrier_3_status=8; //中间3楼的搬运器(中跑车 小跑车 二合一为搬运器)(没有电梯, 只能在3楼活动) optional Dispatch_device_status passageway_0_status=9; //0号出口(在左侧电梯井, 只能取车)(暂时不存在) optional Dispatch_device_status passageway_1_status=10; //1号出入口 optional Dispatch_device_status passageway_2_status=11; //2号出入口 optional Dispatch_device_status passageway_3_status=12; //3号出入口 optional Dispatch_device_status passageway_4_status=13; //4号出入口 optional Dispatch_device_status passageway_5_status=14; //5号出入口 optional Dispatch_device_status passageway_6_status=15; //6号出入口 optional Dispatch_device_status passageway_7_status=16; //7号出口(在右侧电梯井, 只能取车) } //调度模块终端出入口的状态 message Dispatch_terminal_status_msg { required Base_info base_info=1; //消息类型 required int32 terminal_id=2; //终端id required Terminal_status terminal_status = 3; //终端流程状态, 表示这个出入口到楼上停车位之间的所有设备总状态 required Passageway_direction passageway_direction = 4; //通道口属性, 出入口的方向属性, 表示这个通道允许停车或者取车 } //执行搬运请求(主控->调度管理) message Dispatch_request_msg { required Base_info base_info=1; //消息类型 required string command_key=2; //指令唯一标识符id required Dispatch_motion_direction dispatch_motion_direction=3; //调度方向, 停车取车 required int32 terminal_id=4; //终端id, 出入口 required Parkspace_info parkspace_info=5; //车位编号, 停车位 optional Locate_information locate_information=6; //汽车测量信息, 只有停车时有数据, 取车时没有数据. } //搬运动作执行完成后反馈结果(调度管理->主控) message Dispatch_response_msg { required Base_info base_info=1; //消息类型 required string command_key=2; //指令唯一标识符id required Error_manager error_manager = 3; }