Files
double-rack/udp-debug-quickstart.md
Joshi 2e17943a7e feat(mill): 添加UDP调试工具功能
- 在路由配置中新增tool模块和udp-debug页面
- 添加UDP通信相关依赖到ruoyi-mill模块
- 实现UdpProperties配置类并添加超时和重试参数
- 重构UdpSender实现重试机制和超时控制
- 创建application-mill.properties配置文件
- 定义IUdpService接口提供UDP通信服务
- 添加系统菜单初始化SQL脚本
- 实现前端API接口用于UDP配置和报文发送
- 开发UDP调试工具Vue组件界面
- 编写UDP调试工具快速启动指南文档
2026-04-30 16:59:21 +08:00

199 lines
5.2 KiB
Markdown
Raw Permalink 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.

# 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. 配置文件语法正确性