Modbus RTU测试遇到的问题

摘要:
硬件平台:Hardstone YS-F1Pro软件工具:STM32CubeMX5.60开发IDE:SW4STM32串口工具:USB到485/232/422(红玉台)将Freemodbus移植到开发板后测试:将RS485端子A、B、GND连接到转换工具的A、B和GND,打开测试软件ModbusPoll,如下图所示:波特率115200,无奇偶校验,1位停止,测试写入10个寄存器,值设置均为0x00。测试丢失了大约10000次和42次数据包,这表明软件、硬件和电缆存在问题。第二次,写入两个寄存器,数据包丢失率相似。最后,发现当V3.3和GND未连接到SWD接口时,将始终存在丢包,尽管概率很低。

硬件平台:硬石 YS-F1Pro

软件工具:STM32CubeMX 5.6.0

开发IDE: SW4STM32

串口工具: USB转485/232/422(宏宇泰)

在移植完Freemodbus到开发板上后进行测试:

连接开发板RS485端子A,B,GND到 转换工具的A,B,GND

打开测试软件Modbus Poll如下图:

波特率115200,无奇偶校验,1位停止,测试写10个寄存器,值设置全是0x00,测试大概一万次丢包42次,说明哪里有问题软件,硬件,线缆都有可能。

Modbus RTU测试遇到的问题第1张

 再测试第二次,写2个寄存器试试,还是差不多的丢包率。

Modbus RTU测试遇到的问题第2张

 难道是测试软件,于是换了个测试软件MThing,还是会出现丢包。

问题最后查到SWD接口的当V3.3和GND不接时,总会出现丢包,概率虽然很低。

当把V3.3和GND连接上,测试很稳定,电源问题(具体没有细查)导致,需要将开发板的V3.3V和GND通过STLINK连接到PC

测试如下图

Modbus RTU测试遇到的问题第3张

 Modbus RTU测试遇到的问题第4张

 最后测试了16万次,依然无丢包。Modbus RTU测试遇到的问题第5张

免责声明:文章转载自《Modbus RTU测试遇到的问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇前端基础之JQueryandroid Scrollview弹出软键盘时页面扭曲、变形下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

OSX:设置用户默认浏览器

近期我们遇到的情况是,须要统一设置用户的默认浏览器为Google Chrome。而系统默认的是Safari。 这个设置是系统Launch Services基于用户管理的。 意思就是说,即便是改动了系统全局參数,假设用户有特定设置。那么会依从用户配置。 仅仅要一设计用户配置,那么就会相对麻烦点。要想改变。会涉及多种用户情况,比方:网络用户目录的情况。用户的...

ASP.NET 2.0站点登录、导航与权限管理 转

ASP.NET 2.0站点登录、导航与权限管理(一)登录 asp.net 2.0中,新增了许多新的功能和控件。其中,新增的登陆控件可谓使得WEB应用的设计更加得心应手。什么是登陆控件呢?就是我们平常在WEB应用中经常要用到的用户注册,登陆,忘记密码,登陆后根据权限的不同而显示不同的页面等功能,现在在asp.net 2.0中都已经可以由提供的控件来实现...

JMeter性能测试,完整入门篇

原文转自:https://blog.csdn.net/lovesoo/article/details/78579547 Apache JMeter是一款纯java编写负载功能测试和性能测试开源工具软件。相比Loadrunner而言,JMeter小巧轻便且免费,逐渐成为了主流的性能测试工具,是每个测试人员都必须要掌握的工具之一。 本文为JMeter性能测试完...

流行的源程序版本管理软件和项目管理软件各自的优缺点

Microsoft TFS(Team Foundation Server): 优点: 任务版上能将需求、项目进度一览无余,对于小团队而言,比甘特图更有用集成了项目管理、版本控制、BUG 跟踪,能有效实现 SCRUM能与 VS 无缝接合 缺点: 搭建、维护tfs比较复杂,硬件要求也比较高。 GitHub: 优点: GitHub是一个非常万能的工具。对于任何大...

Django命名空间app_name和namespace

前言: django命名空间解决什么问题? 在多个app之间,有可能产生同名的url,这个时候避免反转url的时候混淆,可以使用应用命名空间做区分。应用命名空间使用。在应用url中定义 app_name; 一个app,可以创建多个url映射到一个app中,所以就会产生一个问题,在做反转的时候,如果不使用命名空间,就会混淆,为了避免这个问题。我们可以使用实...

Go Iris学习笔记01

Iris MVC支持文档: 支持所有 HTTP 方法, 例如,如果想要写一个 GET 那么在控制器中也要写一个 Get() 函数,你可以在一个控制器内定义多个函数。 每个控制器通过 BeforeActivation 自定义事件回调,用来自定义控制器的结构的方法与自定义路径处理程序,如下:(还未实验) func (m *MyController) Befor...