Files
FT546-WCS/javaTest/README.md

49 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# FT546 WCS 中心调度与交通管制 Demo
这是一个独立的 Java 8 Maven Demo,用于模拟 FT546 WCS 的 LEGACY 中心调度和交通管制行为。
## 安全边界
- 仅使用内存车辆、任务、队列和地图。
- 不启动 Spring,不连接 SQL Server、PLC 或 WMS。
- 不发送真实设备命令。
- 不修改生产 `ruoyi-*` 模块。
- 不启用 SHADOW 或 ACTIVE 控制模式。
## 已覆盖行为
- 每个调度周期只执行一次业务任务准入。
- 在线、自动、空闲、允许下发且电量大于 30 的车辆才可参与分配。
- 同层、楼层差、Y 距离、X 距离、车辆编号的稳定选车规则。
- 其他车辆剩余路径和离线车辆当前位置锁定。
- 同通道阻挡、高优先级避让任务和避让去重。
- 模拟协议失败、下一周期重试。
- 队列 `0/1 → 1/3 → 1/4` 状态流转、完成归档和占用释放。
- 无路可达时返回 HOLD,而不是抛出空指针。
## 运行测试
```bash
mvn test
```
测试必须由 Maven Surefire 实际发现并执行;验收标准为测试数大于 0、Failures 为 0、Errors 为 0。
## 运行控制台模拟
```bash
mvn exec:java
```
输出事件包括:
- `CYCLE`:调度周期开始
- `ASSIGN`:任务选车和裁决理由
- `PATH`:规划成功的路径
- `AVOID`:创建避让队列
- `HOLD`:交通或协议原因导致等待
- `SEND`:模拟协议下发成功
- `MOVE`:模拟车辆推进
- `COMPLETE`:队列完成并归档
- `SUMMARY`:最终周期、活动队列、历史和协议尝试次数