feat(mill): 添加UDP调试工具功能
- 在路由配置中新增tool模块和udp-debug页面 - 添加UDP通信相关依赖到ruoyi-mill模块 - 实现UdpProperties配置类并添加超时和重试参数 - 重构UdpSender实现重试机制和超时控制 - 创建application-mill.properties配置文件 - 定义IUdpService接口提供UDP通信服务 - 添加系统菜单初始化SQL脚本 - 实现前端API接口用于UDP配置和报文发送 - 开发UDP调试工具Vue组件界面 - 编写UDP调试工具快速启动指南文档
This commit is contained in:
199
udp-debug-quickstart.md
Normal file
199
udp-debug-quickstart.md
Normal file
@@ -0,0 +1,199 @@
|
||||
# UDP 报文调试工具 - 快速启动指南
|
||||
|
||||
## 🚀 功能特性
|
||||
|
||||
- **实时UDP通信测试** - 支持L3→L2和L2→L3电文收发
|
||||
- **多格式数据输入** - JSON、十六进制、表单三种输入方式
|
||||
- **电文解析工具** - 自动解析标准电文格式
|
||||
- **历史记录查看** - 完整的收发记录和统计信息
|
||||
- **配置管理** - 灵活的服务器参数配置
|
||||
|
||||
## 📋 使用前准备
|
||||
|
||||
### 1. 后端服务配置
|
||||
|
||||
确保 `ruoyi-mill` 模块已正确配置:
|
||||
|
||||
```yaml
|
||||
# application-mill.properties
|
||||
mill.udp.local-port=9001
|
||||
mill.udp.remote-host=127.0.0.1
|
||||
mill.udp.remote-port=9000
|
||||
mill.udp.buffer-size=8192
|
||||
mill.udp.timeout=5000
|
||||
mill.udp.retry-count=3
|
||||
```
|
||||
|
||||
### 2. 数据库菜单配置
|
||||
|
||||
运行SQL脚本添加系统菜单权限:
|
||||
|
||||
```sql
|
||||
-- 执行 system_menu_init.sql
|
||||
source sql/system_menu_init.sql;
|
||||
```
|
||||
|
||||
### 3. 启动服务
|
||||
|
||||
```bash
|
||||
# 启动ruoyi-admin(包含ruoyi-mill模块)
|
||||
mvn spring-boot:run -pl ruoyi-admin
|
||||
|
||||
# 或者单独启动ruoyi-mill
|
||||
mvn spring-boot:run -pl ruoyi-mill
|
||||
```
|
||||
|
||||
## 🎯 使用说明
|
||||
|
||||
### 1. 访问界面
|
||||
|
||||
打开浏览器访问:`http://localhost:8080/tool/udp-debug`
|
||||
|
||||
### 2. 基本配置
|
||||
|
||||
**服务器配置面板**:
|
||||
- **本地端口**:设置本程序监听的UDP端口(默认9001)
|
||||
- **目标IP**:L3系统的IP地址(默认127.0.0.1)
|
||||
- **目标端口**:L3系统的UDP端口(默认9000)
|
||||
- **缓冲区大小**:接收缓冲区大小(默认8192字节)
|
||||
- **超时时间**:操作超时时间(默认5000ms)
|
||||
- **重试次数**:失败时的重试次数(默认3次)
|
||||
|
||||
点击"保存配置"应用设置,然后点击"连接测试"验证配置。
|
||||
|
||||
### 3. 发送电文
|
||||
|
||||
**步骤1:选择电文号**
|
||||
从下拉菜单中选择要发送的电文类型:
|
||||
- `2FK101` - 作业命令信息 (L3→L2)
|
||||
- `2FK102` - 作业命令撤销 (L3→L2)
|
||||
- `2FK103` - 作业命令应答 (L3→L2)
|
||||
- `2FK104` - 产出信息应答 (L3→L2)
|
||||
- `K12F01` - 计划信息应答 (L2→L3)
|
||||
- `K12F02` - 计划钢卷删除 (L2→L3)
|
||||
- `K12F03` - 生产信息电文 (L2→L3)
|
||||
|
||||
**步骤2:输入数据**
|
||||
|
||||
有三种输入方式:
|
||||
|
||||
#### JSON格式
|
||||
直接输入JSON格式的键值对数据:
|
||||
```json
|
||||
{
|
||||
"PLAN_NO": "P20240001",
|
||||
"MAT_SEQ_NO": "001",
|
||||
"UNIT_CODE": "L2",
|
||||
"IN_MAT_NO": "COIL_001",
|
||||
"IN_MAT_THICK": 2.500,
|
||||
"REMARK": "冷轧产品"
|
||||
}
|
||||
```
|
||||
|
||||
#### 十六进制格式
|
||||
输入十六进制字符串(自动转换为字节):
|
||||
```
|
||||
32464B3130310A7B0A202022504C414E5F4E4F223A20225032303234...
|
||||
```
|
||||
|
||||
#### 表单填写
|
||||
根据选择的电文号动态生成表单字段:
|
||||
- 文本字段:字符串类型数据
|
||||
- 数字字段:整数类型数据
|
||||
- 浮点字段:小数类型数据,支持精度设置
|
||||
|
||||
**步骤3:发送测试**
|
||||
点击"发送报文"按钮发送电文。成功后会显示在接收记录中。
|
||||
|
||||
### 4. 接收记录查看
|
||||
|
||||
**统计信息**:
|
||||
- **今日接收**:当日接收的电文数量
|
||||
- **总接收数**:累计接收总数
|
||||
- **成功率**:发送成功率百分比
|
||||
- **平均延迟**:平均响应时间
|
||||
|
||||
**历史记录表**:
|
||||
- 显示所有收发记录的时间、电文号、方向、长度和状态
|
||||
- 支持查看详情按钮查看详细数据
|
||||
|
||||
### 5. 详情查看
|
||||
|
||||
点击历史记录中的"详情"按钮可以查看:
|
||||
- 原始十六进制数据
|
||||
- 自动解析后的字段内容
|
||||
- 时间戳和其他元信息
|
||||
|
||||
## 🔧 常见问题
|
||||
|
||||
### Q1: 发送失败怎么办?
|
||||
|
||||
**检查项**:
|
||||
1. 确认UDP服务器配置正确(IP、端口)
|
||||
2. 检查目标设备是否可达
|
||||
3. 确认网络防火墙未阻止UDP通信
|
||||
4. 查看日志文件获取详细错误信息
|
||||
|
||||
### Q2: 如何测试真实环境?
|
||||
|
||||
**建议步骤**:
|
||||
1. 先在本地环境测试基本功能
|
||||
2. 配置真实的L3系统IP和端口
|
||||
3. 使用标准电文格式测试
|
||||
4. 逐步增加负载数据进行压力测试
|
||||
|
||||
### Q3: 电文格式不正确如何处理?
|
||||
|
||||
**解决方案**:
|
||||
1. 使用"生成示例数据"功能获取标准格式
|
||||
2. 参考iXComPCS协议文档
|
||||
3. 检查字段类型和长度是否符合规范
|
||||
4. 使用十六进制模式手动构造数据
|
||||
|
||||
## 📊 典型应用场景
|
||||
|
||||
### 场景1:新项目开发测试
|
||||
- 使用示例数据快速验证通信链路
|
||||
- 测试不同电文类型的收发功能
|
||||
- 调试电文解析逻辑
|
||||
|
||||
### 场景2:现场运维支持
|
||||
- 快速诊断通信故障
|
||||
- 验证配置参数正确性
|
||||
- 记录和分析通信日志
|
||||
|
||||
### 场景3:协议升级验证
|
||||
- 测试新的电文格式兼容性
|
||||
- 验证旧版本数据的解析能力
|
||||
- 性能基准测试
|
||||
|
||||
## 🛠️ 技术细节
|
||||
|
||||
### 电文帧结构
|
||||
```
|
||||
[6字节电文号][N字节负载数据]
|
||||
```
|
||||
|
||||
### 支持的电文类型
|
||||
| 电文号 | 方向 | 用途 |
|
||||
|--------|------|------|
|
||||
| 2FK101 | L3→L2 | 作业命令信息 |
|
||||
| 2FK102 | L3→L2 | 作业命令撤销 |
|
||||
| 2FK103 | L3→L2 | 作业命令应答 |
|
||||
| 2FK104 | L3→L2 | 产出信息应答 |
|
||||
| K12F01 | L2→L3 | 计划信息应答 |
|
||||
| K12F02 | L2→L3 | 计划钢卷删除 |
|
||||
| K12F03 | L2→L3 | 生产信息电文 |
|
||||
|
||||
### 性能优化建议
|
||||
- 适当调整缓冲区大小以适应大数据量传输
|
||||
- 根据网络质量设置合理的超时时间
|
||||
- 在生产环境中适当减少重试次数以提高效率
|
||||
|
||||
## 📞 技术支持
|
||||
|
||||
如遇问题,请检查:
|
||||
1. 服务日志:`logs/application.log`
|
||||
2. 前端控制台错误信息
|
||||
3. 网络连通性测试
|
||||
4. 配置文件语法正确性
|
||||
Reference in New Issue
Block a user