news 2026/9/22 7:36:19

PROFINET IO 丢包率测试记录|周期相位差、采样策略与统计误差分析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PROFINET IO 丢包率测试记录|周期相位差、采样策略与统计误差分析

1. 测试背景与方法

为了验证STM32到PLC之间的链路可靠性,我设计了一种更简单的测试方式:

  1. STM32 每周期向 PROFINET 回环链路发送一个递增值,PLC只负责接收并计算差值;
  2. PLC周期发送一个递增值,STM32负责接收并计算差值,以此统计丢包率。

为了同时测试,在PLC的OB30定时发送,在OB1接收和解析,STM32还是在回调中更新数据。

测试变量(两类):

  1. STM32 → ERTEC(SPI)→ PLC的发送周期

  2. PLC(或 STM32 回调)侧的累加周期(统计频率)

2. STM32侧丢包测试结果

这个是PLC发送,STM32接收的测试:

PLC发送周期测得丢包率备注
1ms≈ 50%严重跳变
2ms≈ 0.5%大幅下降
3ms≈ 56 / 300000 ≈ 0.018%已很低
4ms0%完全稳定

初步结论:发送周期越短,丢包越严重,周期越长,丢包越低,甚至为0.

3. PLC侧丢包测试结果

STM32发送的数据,PLC接收解析的测试:

STM32发送周期测得丢包率备注
每个回调累加≈ 50%和 STM32 的 1ms 情况一致
每两个回调累加一次≈ 88 / 100000 ≈ 0.088%极低
每三个回调累加一次153 / 300000 ≈ 0.05%进一步下降
每四个回调累加一次0%稳定无跳变

4. 现象分析

经过上述测试,主要感觉还是采样点和数据刷新点错位的问题,参考上一篇笔记中,感觉这两个问题是同一个问题导致的。

丢包并不是“链路真的丢数据”,而是采样点与数据刷新点“错位”导致的假丢包。

5.改另一种测试方式:周期递增,N个周期检查

之前测试的逻辑由于错位有些问题,现在改为1ms递增一次,每N个周期去观察递增的数据对不对。

PLC端:OB30里1ms发送一次递增数据;

STM32端:每个回调里递增一次数据;

PLC监测:在循环中断中处理逻辑;

10ms监测一次数据;大概接收420000数据时,丢失的数据为3800左右;

丢包率为1.2%左右。

STM32端监测:处理逻辑,按照回调周期处理数值,在主循环打印;

100ms监测一次数据,两次差值在98,99,100,101,102之间均为正常值,否则判断丢失值;

丢包率为0%;

10ms监测一次数据,两次差值在8-12之间,即9,0,11三个值判断正常,否则计算差值:

丢包率很小;

6.总结

经过以上测试,可以看到之前分析的链路错位问题导致的假丢包的论证应该是正确的,改进测试方式后,丢包率下降明显。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/22 4:11:45

MethylDackel:BS-seq甲基化提取的终极利器

MethylDackel:BS-seq甲基化提取的终极利器 【免费下载链接】MethylDackel A (mostly) universal methylation extractor for BS-seq experiments. 项目地址: https://gitcode.com/gh_mirrors/me/MethylDackel MethylDackel是一款专为BS-seq(亚硫酸…

作者头像 李华
网站建设 2026/9/22 8:16:57

RookieAI_yolov8:2025年游戏AI自瞄技术完全指南

RookieAI_yolov8:2025年游戏AI自瞄技术完全指南 【免费下载链接】RookieAI_yolov8 基于yolov8实现的AI自瞄项目 项目地址: https://gitcode.com/gh_mirrors/ro/RookieAI_yolov8 RookieAI_yolov8作为基于YOLOv8深度优化的开源AI自瞄项目,通过先进的…

作者头像 李华
网站建设 2026/9/21 17:41:22

pywebview与React集成的终极指南:高效构建跨平台桌面应用

pywebview与React集成的终极指南:高效构建跨平台桌面应用 【免费下载链接】pywebview Build GUI for your Python program with JavaScript, HTML, and CSS 项目地址: https://gitcode.com/gh_mirrors/py/pywebview 你是否厌倦了传统桌面应用开发的复杂性&am…

作者头像 李华
网站建设 2026/9/21 13:00:34

大模型微调:不冻结参数 vs 冻结主干

大模型微调方式:不冻结参数与冻结主干部分仅加入线性分类头 随着大模型(如BERT、GPT、ResNet、CLIP等)的发展,微调(Fine-tuning)已经成为深度学习中处理特定任务的主要方法之一。微调通过在已有的大规模预训…

作者头像 李华
网站建设 2026/9/21 20:39:31

30亿参数改写AI效率范式:Qwen3-30B-A3B如何让企业AI成本降60%?

30亿参数改写AI效率范式:Qwen3-30B-A3B如何让企业AI成本降60%? 【免费下载链接】Qwen3-30B-A3B-GGUF 项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen3-30B-A3B-GGUF 导语 阿里通义千问最新发布的Qwen3-30B-A3B模型,以305亿…

作者头像 李华
网站建设 2026/9/22 5:37:11

ppInk:Windows平台上的终极协作写作与在线文档编辑指南

ppInk:Windows平台上的终极协作写作与在线文档编辑指南 【免费下载链接】ppInk Fork from Gink 项目地址: https://gitcode.com/gh_mirrors/pp/ppInk 在数字化协作日益重要的今天,ppInk作为一款基于Web的协作写作平台,为团队文档协作提…

作者头像 李华