huli beed5ed4bb 20230527, huli xiamen test 1 year ago
..
communication 4813b45c5a 胡力 20230202 add dispatch 1 year ago
dispatch c1c850a194 20230527, huli xiamen test 1 year ago
error_code c2363c55f8 20230317, huli branch dispatch -> master 1 year ago
message beed5ed4bb 20230527, huli xiamen test 1 year ago
network_communication 4813b45c5a 胡力 20230202 add dispatch 1 year ago
rabbitmq 4813b45c5a 胡力 20230202 add dispatch 1 year ago
setting_chutian 4813b45c5a 胡力 20230202 add dispatch 1 year ago
setting_shanggujie c1c850a194 20230527, huli xiamen test 1 year ago
snap7_communication 4813b45c5a 胡力 20230202 add dispatch 1 year ago
system c1c850a194 20230527, huli xiamen test 1 year ago
task 96f19c69ec 胡力 20230204, 1 year ago
tool 0de0206db8 胡力 20230202 add dispatch 1 year ago
CMakeLists.txt c1c850a194 20230527, huli xiamen test 1 year ago
README.md 4813b45c5a 胡力 20230202 add dispatch 1 year ago
hulitest.sh 4813b45c5a 胡力 20230202 add dispatch 1 year ago
main.cpp c1c850a194 20230527, huli xiamen test 1 year ago
proto.sh 4813b45c5a 胡力 20230202 add dispatch 1 year ago
run_dispatch.sh 4813b45c5a 胡力 20230202 add dispatch 1 year ago
与上位接口表20210315_H.xlsx 4813b45c5a 胡力 20230202 add dispatch 1 year ago
普爱车库的车位模型(2)(1).xlsx 4813b45c5a 胡力 20230202 add dispatch 1 year ago
楚天出入口硬件配置参数表_徐晓东_胡力_20210716.xlsx 4813b45c5a 胡力 20230202 add dispatch 1 year ago
楚天线号表.xlsx 4813b45c5a 胡力 20230202 add dispatch 1 year ago
楚天调度plc与上位接口表20221102.xlsx 4813b45c5a 胡力 20230202 add dispatch 1 year ago
楚天车库的车位模型_胡力20210709.xlsx 4813b45c5a 胡力 20230202 add dispatch 1 year ago
问题清单_感测组_20221227.xlsx 4813b45c5a 胡力 20230202 add dispatch 1 year ago
需求_预估调度时间.docx 4813b45c5a 胡力 20230202 add dispatch 1 year ago

README.md

1,功能描述

调度负责配合plc, 执行存车取车的指令

维护数据库
    commmand_queue              指令表
    space                       车位表
    vehicle                     车辆表
接受rabbitmq 状态信息
    in_mcpu_N_statu_port        入口单片机
    out_mcpu_N_statu_port       出口单片机
    measure_N_statu_port        感测雷达
发送rabbitmq 状态信息
    dispatch_N_statu_port       调度

2,流程介绍:

a, 周期性 查询数据库 command_queue 指令表

如果有状态为0(排队中)的指令, 选取最优解,
并执行

b1, 存车指令, 查询 space表, 找到合适的空闲车位, 并写入车牌号 表示占有该车位

将车位信息 填充到 command_queue 指令表, 并将状态改为1(工作中)
生成 park_table 存车表单 交给 plc执行
plc执行完成后, 清除存车指令 command_queue, 并保存车辆信息到 vehicle

b2, 取车指令, 查询 vehicle表, 找到之前保存的感测信息, 查询空闲出口id

将感测信息和出口id 填充到 command_queue 指令表, 并将状态改为1(工作中)
生成 pick_table 取车表单 交给 plc执行
plc执行完成后, 修改 command_queue表, 指令状态写2 ,
清除 车辆信息到 vehicle, 清除车位信息 space,

3,使用平台:

linux x64 / linux-arm

4,业务逻辑

5,编译

cd xxx/plc调度节点
./proto.sh
mkdir ./build
cd ./build
cmake ..
make

6,运行

指定运行调度单元
cd xxx/plc调度节点/build
开3个终端界面
./terminal 0
./terminal 1
./terminal 2

一键运行所有单元
cd xxx/plc调度节点
./run_dispatch.sh

7,部署

依赖三方库
rabbitmq
protobuf
mysql cpp connect 1.1
glog
gflag
snap7