RS-485 · Modbus RTU · polling
Калькулятор RS-485 / Modbus RTU: цикл опроса и загрузка шины
Оцените, успевает ли master опрашивать все устройства с заданным интервалом. Калькулятор учитывает baud rate, формат символа, межкадровую паузу RTU, размер запросов и ответов, задержку устройства и несколько групп регистров.
RS-485 / Modbus RTU
Результат
Группы опроса
| Группа | Запросов/с | Время транзакции | Нагрузка | Полный проход |
|---|
Что даст изменение baud rate
| Скорость | Пауза RTU | Расчётная загрузка | Оценка |
|---|
Что проверить на реальной линии
Расчёт предполагает один master и последовательное выполнение запросов. Шлюзы, event polling, broadcast-записи, нестандартные паузы, TCP-туннели и конкретная реализация драйвера могут изменить фактический цикл.
Как считается цикл Modbus RTU
Для чтения holding/input registers запрос FC03/FC04 занимает 8 байт RTU, а ответ — 5 + 2 × N байт, где N — число регистров. Для coils/discrete inputs запрос также 8 байт, а ответ содержит 5 байт служебной части плюс упакованные биты.
Между кадрами нужен silent interval. Калькулятор использует минимум 3,5 времени символа до 19 200 бит/с и фиксированные 1,75 мс выше этой скорости. Дополнительную задержку ответа устройства и guard interval можно задать отдельно.
В одной Modbus Serial Line используются slave-адреса 1…247. Поэтому калькулятор отдельно проверяет число уникальных slave и не суммирует polling-группы как новые адреса: разные группы могут относиться к одним и тем же устройствам.
Если сумма времени всех требуемых транзакций за секунду превышает 1000 мс, желаемые интервалы физически невыполнимы на одной последовательной шине. В таком случае помогают более высокая поддерживаемая скорость, объединение смежных регистров в один запрос, более редкий опрос медленных параметров или разделение устройств по нескольким портам.