S1200+ModbusRTU主站调用多从站速度延迟问题

S1200需要读取10个Modbus设备的数据,现在出现一个问题,单独调用一路是每秒可以循环25次,但是同时调用超过1路后,每秒只能进行10次通讯(10路循环一次,2路循环5次)。实验反应这么几个问题:
1:只通讯任何一路时,通讯非常正常无任何故障。
2:通讯多路时,通讯速度明显变慢,且还不如将从站断电无接受信号时的速度快。我将超时时间设置为50ms。将从站全部断电后,发送灯反而比从站正常通讯速度还快。
3:更改波特率几乎没有影响。变更超时时间有影响,但在50ms时达到最快,低于30ms开始出现故障。其他参数看不太明白,瞎设了以下,没任何影响。
4:是否是S1200的发送,和终止机制有什么要求,变换通道地址后,需要什么处理延迟了发送?
5:我现在需要将10从站一秒巡检两次。请大虾帮忙。
我采用的通讯模块是6ES7 241-1CH32-0XB0

最佳答案

1、MODBUS通信是一主多从方式,主站轮询访问从站,访问每个从站都需要一定时间,这个时间取决于通信波特率和通信的字数,所以从站越多,一个轮询需要的时间就越长,这是正常的
2、通信超时时间是指主站发送后等待从站发来响应数据的时间,通信正常的时候,主站只要接到从站响应就会复位“busy"状态位,这有通信非正常的时候(通信中断或干扰)才会一直等待从站响应的数据,直到达到规定的超时时间才会置位故障状态位,和复位busy位,才可能接受新的通信请求。如果通信中断,主站肯定是每个通信超时都去发送新的请求,所以发送状态灯会不停的闪,要注意这么快的LED响应,肉眼判断往往不是很准确
2、由于modbus TRU采用的是用信号中断间隔来判断一个通信贞是否完成,由于这个间隔时间的存在,所以通信波特率调高后,虽然通信速度肯定提高,但是一个通信周期所需要的总时间并没有减少很明显,通信字数少的时候更是如此。如果超时时间太短,不能使一个正常的通信完成,就会出现通信故障
4、modbus 是标准的通信协议,只要支持这个协议的所有设备,运行机制都相同,没有区别
5、要降低轮询时间有以下几个措施:
用较好的屏蔽通信双绞线(注意485通信网络的两个端头要有终端电阻),降低通信干扰,尽量提高波特率
如果从站过多,可以用两个或三个主站模块,降低每个通道的从站数量
如果允许,对于写从站的指令,程序中可以变更发送请求方式,只在需要发送(数据有变更)的时候才发送

提问者对于答案的评价:

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc196730.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年8月24日 上午3:24
下一篇 2017年8月24日 上午3:24

相关推荐

  • S7-1200可以连接绝对值编码器吗?

    S1200可以连接以太网绝对值编码器和PROFIBUS-DP绝对值编码器吗?有相关的使用说明或方案吗? 最佳答案 以太网的,其实应该就是profinet协议的,该编码器应该是作为p…

    SIMATIC S7-1200 2017年6月11日
  • 怎样把ASCiI码转换成整数

    1.通讯输入数据是6个16进制数,先要把每个16进制数转换成ASCII码字符,再把转换后的字符串(一共6个字符,有的在十万位,有的在万位,还有四个分别在‘’个十百千位“”)转换后的…

    2017年6月10日
  • 1200作为智能设备通信

    新手请教,请问1200作为智能设备与另一1200通信,数据传输区只能是I和Q吗?辅助变量M该怎么传送?谢谢! 问题补充:我明白S7或开放式用户通信能直接传送,就是作为智能设备时不太…

    SIMATIC S7-1200 2017年6月6日
  • modbus1

    请教Modbus_Comm_Load与MB_COMM_LOAD这两种指令区别,我原先是用MB_COMM_LOAD指令组态CB1241信号板,可以与第三方设备通信,但是现在V4.0P…

    2017年7月25日
  • S7-1200各个寄存器的地址范围

    初次接触S7-1200,对S7-1200的寄存器地址范围不是很明白,请教各位大神分享一下相关的资料及使用心得,谢谢! 最佳答案 西门子 S7-1200 PLC&…

    SIMATIC S7-1200 2017年6月13日
  • 设备里检测不到CB 1241

    在S7 1200CPU上安装了CB 1241模块,但是在软件上检测不到这个模块,这是为什么? 图片说明:       最…

    2017年6月1日
  • S71200 通讯电阻

    S71200 485通信模块下挂12个modbus智能仪表,需要在仪表上并终端电阻吗? 最佳答案 这个看你的长度多长,如果几十百把米,你就接上吧!不过我可以告诉你,不管多…

    SIMATIC S7-1200 2017年8月24日
  • MODBUS-RTU通讯问题

    MB_MASTER中DATA_PTR之DB如何定义,为何出现16#818C错误;如改为MW200则出现16#818B错误;请问错误在那里?谢谢! 问题补充:1.首先感谢左传及lee…

    2017年11月16日
  • 求一个完整的程序来学习

    我现场有个1214c的ac/dc/rly4.1版本的CPU和422/485的通信模块,一个8通道模拟量模块,控制一个闸门启闭机,启闭机是那种智能的表头有开关按键的,用PLC实现远程…

    SIMATIC S7-1200 2017年6月12日
  • S-1200批量位操作

    如何使用指令或快捷方式将M443.0-M445.7的内容转移至DB11.BIT[0]-DB11.BIT[23]的数组中。 最佳答案 1、用指针2、把DB11的优化访问去掉,直接mo…

    SIMATIC S7-1200 2017年6月1日