配色: 字号:
2019-Modbus通讯的实际测试数据和理论计算数据-供参考
2020-09-13 | 阅:  转:  |  分享 
  
1个字Modbus通讯的交换时间:用每秒位数表示的通讯波特率用毫秒表示的循环时间交换时间(毫秒)4800循环执行65480
010684800501009600循环执行38960010479600505019200循环执行
2919200103819200505038400循环执行24384001030384005050
100个字Modbus通讯的交换时间:用每秒位数表示的通讯波特率用毫秒表示的循环时间交换时间(毫秒)4800循环执
行5604800105604800506009600循环执行2869600102959600503
0019200循环执行1521920010160192005020038400循环执行86384001
0903840050100测量准确度上述所有交换时间都来自准确度范围为+/-10毫秒的测量。理论计算(一条总线5个
从站设备,每个设备读取10个字):1、报文传输时间:举例Modbus-RTU的读取寄存器(03功能码)的请求报文组成(CRC校验)
:从站地址功能码起始地址H起始地址L读取字数H读取字数LCRC-LCRC-H8bits8bits8bits8bits8bits8b
its8bits8bits11111111共8个字节;响应报文组成(CRC校验):从站地址功能码字节数数据H数据L…CRC-LCR
C-H8bits8bits8bits8bits8bits…8bits8bits1112011共25个字节;在Modbus-RTU模
式下,每个字节计算为11bits(1起始位+8数据位+1奇偶交换位+1停止位)。以上面例子计算,通讯请求报文8个字节加上响应报文的
25个字节总共33个字节;(1133)bit/(9600bit/s)=(1133)bit(1000)ms/(9600)b
it≈38ms;Modbus协议中规定Modbus从站设备在接收到通讯请求报文后需要至少等待3.5个字符后才能发出响应报文;3.5
个字符≈4ms(通讯速率在9600bits/S时)报文传输时间≈38+4=42ms2、从站设备响应时间:Modbus从站对通
讯请求的响应时间:典型值:Modbus从站设备的响应时间20ms~50ms;3、主站发送请求报文的间隔时间:Modbus主站设备
是轮训总线上的每个从站设备,在接收从站响应报文后(或响应超时)才会发送下一个从站的请求报文。典型值间隔时间:10ms~40ms
;4、假设5个从站设备(每个设备读取1个字):5(42+50+40)≤660ms;5、对于只监视不控制的设备(如电能仪表)的时
间响应,一般要求会在3秒钟内在上位机监视画面中显示;综上,Modbus-RTU满足现场应用,而且还留有一定的余量,比如可以将通讯速率提到19200bits/s。附图:
献花(0)
+1
(本文系周超_杭州首藏)