gpt4 book ai didi

communication - 计算 modbus RTU 3.5 字符时间

转载 作者:行者123 更新时间:2023-12-04 13:32:26 26 4
gpt4 key购买 nike

刚接触 Modbus 并使用 Modbus RTU 开发应用程序。我想知道如何找出RTU消息帧分离时间。在 Modbus RTU 规范中,它提到了 3.5 个字符的时间,但没有更多关于我如何决定这个间隔的数据。和wat是计算分离时间的步骤?

最佳答案

看看 Modbus Serial Line Protocol and Implementation Guide V1.02 的第 13 页

在底部,您会找到解释字符间超时 (t1.5) 和帧间延迟 (t3.5) 值的注释。

对于超过 19200 的波特率值是固定的。对于较慢的波特率,需要计算它们(从用于 Arduino 的 SimpleModbusMaster 库中提取):

// Modbus states that a baud rate higher than 19200 must use a fixed 750 us 
// for inter character time out and 1.75 ms for a frame delay.
// For baud rates below 19200 the timeing is more critical and has to be calculated.
// E.g. 9600 baud in a 10 bit packet is 960 characters per second
// In milliseconds this will be 960characters per 1000ms. So for 1 character
// 1000ms/960characters is 1.04167ms per character and finaly modbus states an
// intercharacter must be 1.5T or 1.5 times longer than a normal character and thus
// 1.5T = 1.04167ms * 1.5 = 1.5625ms. A frame delay is 3.5T.

if (baud > 19200)
{
T1_5 = 750;
T3_5 = 1750;
}
else
{
T1_5 = 15000000/baud;
T3_5 = 35000000/baud;
}

关于communication - 计算 modbus RTU 3.5 字符时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20740012/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com