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