Расчёт времени опроса Modbus RTU: цикл и трафик

По Modbus RTU мастер опрашивает устройства по очереди, и на низкой скорости полный цикл может занять заметное время — это определяет, как быстро SCADA видит данные. Задайте скорость, число регистров и устройств — калькулятор посчитает время одной транзакции и всего цикла опроса.

Исходные данные

Результат

Размер ответа байт
Время транзакцииСколько длится один обмен «запрос-ответ» с одним устройством. Из него складывается, как часто успевают опрашиваться все устройства. мс
Опросов в секунду 1/с
Полный цикл всех устройствВремя опроса всех устройств по очереди — через столько обновляются данные в SCADA. Для быстрых контуров его уменьшают скоростью или числом регистров. мс

Оценка для чтения регистров (FC03) без учёта повторов при ошибках и задержек преобразователей RS-485/USB. Время цикла растёт линейно с числом устройств — для быстрых контуров поднимайте скорость или уменьшайте число регистров за опрос.

Как считается

  1. Считаем длину кадров: запрос на чтение регистров — 8 байт, ответ — 5 байт служебных плюс по 2 байта на каждый регистр.
  2. Время байта — это число бит на символ, делённое на скорость; к обмену добавляются две межкадровые паузы и время обработки в устройстве.
  3. Цикл опроса — время одной транзакции, умноженное на число устройств на шине; он и определяет, как быстро SCADA видит данные.

Пример: 9600 бод, 11 бит на символ, 10 регистров: ответ 25 байт, транзакция 45,8 мс — около 22 опросов в секунду.

Кадр запроса (FC03) — 8 байт, ответа — 5 + 2·N байт. Время байта = бит/байт ÷ скорость; пауза t3.5 = 3,5 символа (≤ 19200 бод) или 1,75 мс (выше). Транзакция = (запрос+ответ)·tбайт + 2·t3.5 + ответ slave.

Это оценка

Окончательные значения проверяйте по действующим нормам, проекту и паспортам оборудования.

Разобрано в статье Modbus: регистры и адресация

Все калькуляторы