前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[通讯] Modbus RTU通信无校验位时停止位个数的设置

[通讯] Modbus RTU通信无校验位时停止位个数的设置

作者头像
科控物联
发布2022-03-29 16:08:51
5.1K0
发布2022-03-29 16:08:51
举报
文章被收录于专栏:科控自动化科控自动化

Modbus RTU通信无校验位时停止位是否默认两位

1.1 Modbus RTU通信规约

根据Modbus RTU通信规约的定义,Modbus RTU字符帧包括:

  • 1个起始位
  • 8个数据位
  • 1个或无校验位
  • 1个或2个停止位 其中,无校验位时,停止位个数为2位,1个校验位时,停止位为1位;Modbus RTU通信规约规定,其字符帧需要保证11位的通信格式。 Modbus RTU通信规约的描述如下图1所示:

图1

1.2 S7-1200 Modbus RTU通信停止位个数的设置

在SIMATIC S7-1500和S7-1200 PLC中,通过Modbus_Comm_Load指令对通信模块或通信板进行组态操作,包括波特率、奇偶校验、停止位等参数。

在本文档中,我们以S7-1200为例,加以说明。

在图2所示的变量STOP_BITS中设置停止位个数,默认值为1,即默认1个停止位,可以在Modbus_Comm_Load指令的背景DB块中找到该变量。

图2

注意:修改Modbus_Comm_Load指令引脚或背景DB块中相关参数后,需要重新触发Modbus_Comm_Load指令,否则新参数不会生效。

1.3 使用示波器验证Modbus RTU通信停止位

在上述分析中,我们知道Modbus RTU通信规约中定义了,无校验位时停止位是2位,那在S7-1200 PLC中也同样适用该原则吗?即在S7-1200中设置Modbus RTU通信字符帧为无校验位时,停止位默认是2位。

针对这个疑问,我们使用CM1241作为Modbus RTU主站,通过Modbus_Master指令读取1号从站保持性寄存器40001地址的数据,其对应报文帧为01 03 00 00 00 01 84 0A,通过初始化指令Modbus_Comm_Load设置字符帧为无校验位,并使用示波器分别在STOP_BITS为1和为2的情况下,发送该报文帧信息,从捕捉到的报文帧波形中读取实际停止位的个数。

其中,波特率为9.6K bits/s,故单个位时间为0.1ms,即1个停止位,其占用0.1 ms,2个停止位,其占用0.2 ms。

需要注意:起始位为低电平,停止位为高电平,空闲位为高电平,数据位中的1为高电平,数据位中的0为低电平。

使用硬件和软件如表1所示:

设备

型号

订货号

硬件

S7-1215 DC/DC/DC V4.4

6ES7 215-1AG40-0XB0

CM1241 (RS422/485) V2.2

6ES7 241-1CH32-0XB0

软件

TIA V16

表1

字符帧设置如图3所示:

图3

1、STOP_BITS=1时,示波器捕捉到的波形如图4所示:

图4

通过软件测量报文帧中站地址信息01的停止位时间,其值为0.08ms,占用1个位时间,测量数据如图5所示:

图5

2、STOP_BITS=2时,示波器捕捉到的波形如图6所示:

图6

通过软件测量报文帧中站地址信息01的停止位时间,其值为0.16ms,占用两个位时间,测量数据如图7所示:

图7

1.4 结论

通过上述的分析中,我们可以得出,在SIMATIC S7-1500 和S7-1200 PLC中进行Modbus RTU通信,字符帧设置为无校验位时,停止位不会默认是2位,停止位的个数是通过Modbus_Comm_Load指令背景DB块中的STOP_BITS来定义的,这样可以使SIMATIC PLC能够更加灵活自如的应对多样化的Modbus RTU应用场景。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-10-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 科控物联 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Modbus RTU通信无校验位时停止位是否默认两位
    • 1.1 Modbus RTU通信规约
      • 1.2 S7-1200 Modbus RTU通信停止位个数的设置
        • 1.3 使用示波器验证Modbus RTU通信停止位
          • 1.4 结论
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档