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

Modbus RTU, пауза чему равна?

"In RTU mode, message frames are separated by a silent interval of at least 3.5 character times."
Вот эти символы - что имеется в виду? 4 бита? Потому, что в описании байта говорится:
"When devices communicate on a MODBUS serial line using the RTU (Remote Terminal Unit) mode, each 8–bit byte in a message 
contains two 4–bit hexadecimal characters."
То есть, паузы должны быть не менее 14 битов? Так?

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


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

6 минут назад, ViKo сказал:

"In RTU mode, message frames are separated by a silent interval of at least 3.5 character times."
Вот эти символы - что имеется в виду? 4 бита?

3.5 символа. Так как UART работает с понятием "символ". Размер символа программируется при инициализации.

Например 8N1: 8 бит данных + 1 стоп + 1 старт; итого символ = 10 бит. Умножьте это на 3.5.

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


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

Так, не стыкуется с понятием символа в том же разделе, только чуть выше.

В RTU режиме нет ASCII символов. А есть два hex "символа" в байте.

Здесь читаю

Modbus_over_serial_line_V1_02.pdf

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


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

20 минут назад, ViKo сказал:

В RTU режиме нет ASCII символов. А есть два hex "символа" в байте.

"Символ" в UART, это не "ASCII-символ". Это то, что я выше описал.

Откройте хотя-бы википедию: https://en.wikipedia.org/wiki/Universal_asynchronous_receiver-transmitter

и прочитайте раздел "Data framing" и всё, где фигурирует "character".

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


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

19 минут назад, jcxz сказал:

"Символ" в UART, это не "ASCII-символ". Это то, что я выше описал.

Откройте хотя-бы википедию: https://en.wikipedia.org/wiki/Universal_asynchronous_receiver-transmitter

и прочитайте раздел "Data framing" и всё, где фигурирует "character".

Вы, как обычно, не вчитываетесь в вопрос. У вас есть документальное подтверждение, сколько битов пауза равна в Modbus TCP? 

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


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

Во что именно я должен "вчитываться"? Я вам написал, что означает понятие "символ" (character) для UART.

И имхо именно эти символы имеются в виду в:

1 час назад, ViKo сказал:

"In RTU mode, message frames are separated by a silent interval of at least 3.5 character times."

PS: Не знаю уж - как ещё доходчивее разжевать, если до сих пор не поняли.... :unknw:

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


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

Не надо "доходчивее", если не видите логики в моём вопросе. Про УАРТ я вас не спрашиваю. Вы с Modbus RTU работали?

Раскиньте умом, зачем вообще нужна пауза в 3,5 символа.

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


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

Символ - 11 бит. Если скорости до 19200 включительно - используем для расчета 11 бит на симовол. Свыше 19200 используются фиксированные длительности 0.75мс и 1.75мс для 1.5t и 3.5t, соответственно. Вот здесь на 13 странице еще и картинки можно посмотреть. То, что они смешали character-ы, обозвав им обрамленный байт UART-а в его старты/стопы и упомянув это же слово для обозначения преимуществ над ASCII-режимом, это да, не очень корректно. Но в целом, в этом "стандарте" все равно все достаточно однообразно трактуется, ИМХО.

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


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

Исходя из этого:
The implementation of RTU reception driver may imply the management of a lot of interruptions due to the t 1.5    and t 3.5   timers.  With 
high communication baud rates, this leads to a heavy CPU load.  Consequently these two timers must be strictly respected when the 
baud rate is equal or lower than 19200 Bps.  For baud rates greater than 19200 Bps, fixed values for the 2 timers should be used:  it is 
recommended to use a value of 750µs for the inter-character time-out (t 1.5 ) and a value of 1.750ms for inter-frame delay (t 3.5 ). 

Прикидываю, что символ примерно равен 10 битов.

 

Ага, тот же абзац изучил.

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


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

Как и любой стандарт, его сначала надо пролистать быстренько, а потом еще раз, но немного вдумчивее. А потом последний раз - заключительный:smile:

3 минуты назад, ViKo сказал:

Прикидываю, что символ примерно равен 10 битов.

11. Там чуть ниже посмотрите (да и выше тоже), они "добивают" кадр до 11 бит при любом раскладе.

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


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

Не, мне сейчас надо быстренько. А вдумчивее будет потом, и, скорее всего, не я. :biggrin:

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


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

6 минут назад, ViKo сказал:

А вдумчивее будет потом, и, скорее всего, не я. :biggrin:

Представляю потом реакцию того, кому это достанется:biggrin: (просто шутка)

P.S. По моему опыту скажу - кто как реализовывает - почти полная свобода для творчества. У всех свои 1.5t и 3.5t, чтобы с переходниками USB-UART работало, да и методики выборки кадров из общего потока тоже различаются. Для себя, я так и не понял, зачем нужен интервал 1.5t. Хотя на эту тему здесь на электрониксе тоже были и темы, и споры.

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


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

10 минут назад, Arlleex сказал:

Для себя, я так и не понял, зачем нужен интервал 1.5t.

Задаётся с "гистерезисом". Меньше 1.5t - одно сообщение, больше 3.5t - разные сообщения. 

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


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

16 минут назад, ViKo сказал:

Задаётся с "гистерезисом". Меньше 1.5t - одно сообщение, больше 3.5t - разные сообщения. 

Ага, пришло с интервалом 2t или 2.5t - к кому относить? Выкидывать или ждать дальше? А с чего бы ждать, а с чего бы выкидывать?
Здесь не все так тривиально, как может показаться. На этот счет не один десяток разработчиков переср*лся, и у каждого своя правда:wink:

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


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

Полистал, ради интереса, десяток российских адаптаций оригинального документа - в четверти из них они за символ принимают 4-битную тетраду, получая 6 и 14 бит для 1.5t и 3.5t:negative: Вот и начинаются потом баги на ровном месте при стыковке девайсов. Эх...

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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