Перейти к содержанию
    

MODBUS RTU

Начал вникать в модбас. Читаю описание:

RTU фрейм.

В RTU режиме сообщение начинается с интервала тишины равного времени передачи 3.5 символов при данной скорости передачи в сети. Первым полем затем передается адрес устройства.

Вслед за последним передаваемым символом также следует интервал тишины продолжительностью не менее 3.5 символов. Новое сообщение может начинаться после этого интервала.

Фрейм сообщения передается непрерывно. Если интервал тишины продолжительностью 1.5 возник во время передачи фрейма, принимающее устройство заканчивает прием сообщения и следующий байт будет воспринят как начало следующего сообщения.

Таким образом, если новое сообщение начнется раньше 3.5 интервала, принимающее устройство воспримет его как продолжение предыдущего сообщения. В этом случае устанавливается ошибка, так как будет несовпадение контрольных сумм.

 

Какое-то несоответствие. Например, в середине сообщения возникла пауза в 2 интервала.

С одной стороны, это больше 1,5 и приёмник должен по идее начать приём нового сообщения.

Но с другой стороны, новое сообщение должно начинаться с паузы 3,5 инт., иначе это продолжение старого.

 

Я подозреваю, что этот вопрос 1000 раз разжёван, но чё-то поиском найти не могу (наверно не умею)

Кто знает, разъясните.

 

PS: Куда писать вопросы по модбасу?

В явном виде я такого раздела не нашёл

 

PPS: Сдаётся мне, это просто опечатка в исходнике, тупо переведённая на все языки.

И читать надо так:

Таким образом, если новое сообщение начнется раньше (3.5) 1,5 интервала, принимающее устройство воспримет его как продолжение предыдущего сообщения. В этом случае устанавливается ошибка, так как будет несовпадение контрольных сумм.

Изменено пользователем MrYuran

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скорее всего действительно ошибка переводчика. Если во время приема пакета возникла пауза более 1,5 символов, то приемник должен считать пакет "битым", прекратить прием пакета и ожидать начала следующего пакета, который начинается с паузы тишины >=3,5 символа.

Изучать стандарты лучше по их оригиналам Modbus over serial line

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Какое-то несоответствие. Например, в середине сообщения возникла пауза в 2 интервала.

С одной стороны, это больше 1,5 и приёмник должен по идее начать приём нового сообщения.

Но с другой стороны, новое сообщение должно начинаться с паузы 3,5 инт., иначе это продолжение старого.

 

...нет несоответствия. Прием нового сообщения начинается только после паузы 3,5 инт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

The entire message frame must be transmitted as a continuous stream. If a silent

interval of more than 1.5 character times occurs before completion of the frame,

the receiving device flushes the incomplete message and assumes that the next

byte will be the address field of a new message.

Similarly, if a new message begins earlier than 3.5 character times following a

previous message, the receiving device will consider it a continuation of the

previous message. This will set an error, as the value in the final CRC field will not

be valid for the combined messages..

 

Выдержка из оригинального описания.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Такое описание у меня есть, действительно, довольно оригинальная интерпретация.

 

А вот на modbus.org действительно всё предельно чётко:

Больше 1.5t - таймаут фрейма. Отбрасываем.

Меньше 3.5t между фреймами - ошибка начала фрейма. Отбрасываем.

 

Спасибо rezidentу за первоисточник.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо rezidentу за первоисточник.
Это не мне, а Гуглю спасибо скажите :) Он первый же результат дает в виде ссылки на спецификацию http://www.google.ru/search?q=Modbus+over+serial+line

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...