技术论坛

 关于modbus通讯传送数据的速率

返回主题列表
作者 主题
WWCWWC
至圣

经验值:71961
发帖数:8032
精华帖:145
楼主    2019-11-02 08:54:33
主题:关于modbus通讯传送数据的速率 精华帖  精编帖 

关于modbus通讯传送数据的速率

   昨天写了一篇关于200 smart PLC与富士温控器的modbus rtu通讯1的贴子,因为最终测试完毕已经比较晚了,原打算测试一下完成一个字数据的读、写,PLC大概需要多少通讯周期,今天做完了这个测试,图示:

程序思路:

取MSG指令的驱动开始及完成标志位Done位,用间隔时间定时器获取每次的时间数据。

下载,监控数据:

一个MSG指令在通讯正常条件下,完成一个字数据所需要的时间,在9600bps通讯频率下需要近60mS的时间周期,另一个MSG指令完成的时间周期情况基本相近。这个通讯时间周期应该包含PLC扫描周期及通讯硬件标设符,试了增加Count管脚数据,大概每增加一个字,通讯所需要的时间为近1 ~ 2mS。这个测试主要是为了在多从站多读、写信息时,一个轮询周期所需要的时间,为准备做类似的通讯提供一些通讯周期时间的参考。


Zaxife
至圣

经验值:12573
发帖数:2503
精华帖:31
3楼    2019-11-02 09:45:01
精编帖  主题:回复:关于modbus通讯传送数据的速率
波特率9600的话,Modbus的数据位8位、停止位1位、无校验、一个起始位,也就是传输一个字节大概10位,也就是大概传输一个字节需要1/9600/10=1.04ms。
理想的一次读取返回单个寄存器数据消耗时间: 沉默4ms、主站读取指令8个字节9ms、沉默4ms、等待从站处理数据5ms、从站返回字节7个8ms、沉默4ms、主站接收处理完成5ms,一个流程下来 4 + 9 + 4 + 5 + 8 + 4 + 5 = 39ms。
如果超出这个时间说明时间都消耗在从站处理数据、主站处理数据上消耗太多时间。比如那RTOS单片机系统,每个任务时间片10ms的话,上面的任务时间就在39ms以上了。不过,对于处理器更快的单片机系统,从站处理等待2ms就完成、PLC处理2ms就完成,上面一次通讯任务时间可以缩短到29ms,嗯这是最快的了。
WWCWWC
至圣

经验值:71961
发帖数:8032
精华帖:145
4楼    2019-11-02 12:50:09
精编帖  主题:回复:关于modbus通讯传送数据的速率

主站从发送数据请求到接收到从站数据的应答,真如你说的那样七七八八加起来的总时间和的过程。

这个时间就包含主、从双方接收到数据,再处理,再发送的全过程。


WWCWWC
至圣

经验值:71961
发帖数:8032
精华帖:145
5楼    2019-11-04 11:05:26
精编帖  主题:回复:关于modbus通讯传送数据的速率

回3楼:

   我用V2.04版本让同事测试速率基本接近你描述的时间,一个字的通讯数据大概在38~39mS,这个与软件版本可能有一些关系,我这个测试软件版本是V2.01版本的。

昨天,因为需要说明这个通讯过程,我让4个同事测试,测试的通讯地址与方法基本是我上面的方法,测试出来的结果均小于40mS。

梧桐云
侠士

经验值:1953
发帖数:122
精华帖:1
6楼    2019-11-04 13:25:42
精编帖  主题:回复:关于modbus通讯传送数据的速率

按这个方法测试了200SMART和宇电表的通讯时间,读4个字,时间在29-47MS之间变化,

为什么通讯时间不稳定且变化幅度很大呢?

WWCWWC
至圣

经验值:71961
发帖数:8032
精华帖:145
7楼    2019-11-04 15:01:31
精编帖  主题:回复:关于modbus通讯传送数据的速率

这个modbus有一个说明,当通讯数据校验出错时,会发送(默认2次)的通讯数据,如果再次发送仍然错误,则在初始化timeout管脚定义的时间到达后报警故障,这样这个时间就有一个范围了。

确保通讯链路的可靠性和抗干扰是一种提升通讯速率的有效途径。

WWCWWC
至圣

经验值:71961
发帖数:8032
精华帖:145
10楼    2019-11-05 09:00:51
精编帖  主题:回复:关于modbus通讯传送数据的速率

我这个测试引出了若干问题。

1)不同200smart软件版本下的速率;目前,我用同一个通讯程序,不同版本测试是有区别的。

2)通讯连接正确性和可靠性条件下的速率;相当于我在7楼描述情况

3)10mS及以上时基定时器下的异步刷新问题。另外有贴子阐述这个问题,链接:http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1591742&b_id=64&s_id=83&num=2#anch

WWCWWC
至圣

经验值:71961
发帖数:8032
精华帖:145
13楼    2019-11-06 09:19:07
精编帖  主题:回复:关于modbus通讯传送数据的速率

还没有测试过其它频率的实际时间。

是的,我也是首次偶遇的。我在让他们测试,开始的目的是让他们熟悉仪表的数据地址范围、区域,我测试是近60mS,而他们测试出来的结果基本是在40mS之内,我想到了版本问题了,因为我给他们安装的是V2.04的版本,我自己电脑仍然在用V2.01的版本。

读、写基本一致。


WWCWWC
至圣

经验值:71961
发帖数:8032
精华帖:145
14楼    2019-11-06 10:40:35
精编帖  主题:回复:关于modbus通讯传送数据的速率

刚刚测试了在相同程序下,相同通讯参数下,仅仅变更通讯频率的测试:用软件V2.04版本测试

19200bps:

38400bps:

115kbps:

不支持这个频率。


WWCWWC
至圣

经验值:71961
发帖数:8032
精华帖:145
15楼    2019-11-06 10:51:08
精编帖  主题:回复:关于modbus通讯传送数据的速率

用同样的程序我再在另一台电脑测试,通讯频率9600:

还是我文档中描述的那样,近60mS。


WWCWWC
至圣

经验值:71961
发帖数:8032
精华帖:145
17楼    2019-11-06 11:05:08
精编帖  主题:回复:关于modbus通讯传送数据的速率

再在V2.04版本上测试通讯频率9600bps状态下的速率,好家伙,想当然的错误理解出现了,

由此特此更正,我前面的多处错误观点!

频率与通讯速率有关!

差一点给大家造成误解,在此表示歉意!


WWCWWC
至圣

经验值:71961
发帖数:8032
精华帖:145
18楼    2019-11-06 11:10:09
精编帖  主题:回复:关于modbus通讯传送数据的速率

在本次测试中9600与19200bps通讯频率下通讯速率反映比较明显。

您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。