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

5.2 KiB
Raw Permalink Blame History

UDP 报文调试工具 - 快速启动指南

🚀 功能特性

  • 实时UDP通信测试 - 支持L3→L2和L2→L3电文收发
  • 多格式数据输入 - JSON、十六进制、表单三种输入方式
  • 电文解析工具 - 自动解析标准电文格式
  • 历史记录查看 - 完整的收发记录和统计信息
  • 配置管理 - 灵活的服务器参数配置

📋 使用前准备

1. 后端服务配置

确保 ruoyi-mill 模块已正确配置:

# 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脚本添加系统菜单权限

-- 执行 system_menu_init.sql
source sql/system_menu_init.sql;

3. 启动服务

# 启动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
  • 目标IPL3系统的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格式的键值对数据

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