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

Looking for STM32discovery to communicate on MODBUS

2 hours ago, Jared said:

I understand that ASCII would allow for normal start and stop bits. RTU has 1.5 start bits. Could UART work with ASCII version of MODBUS? 

Not bit! Char. It's 7-10 bit.

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


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

ASCII do not notice any time gap in transmit stream. Its very good. If we using bridge USB-RS485 we periodically get ~ 51 millisecond time burst. Its not bed- nothind is lost , but if use general value of modbus timeouts, we'll get uncomplite some command / It fix if take greather value of timeouts. Just add 60 millisecond to every value and all will work. So dont worry if use modbus rtu + bridge usb-rs485  . Take large timeouts value (++60 millisecond  ). 

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


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

2 hours ago, leocat said:

Not bit! Char. It's 7-10 bit.

11 bit, always

1 hour ago, firstvald said:

ASCII do not notice any time gap in transmit stream. Its very good. If we using bridge USB-RS485 we periodically get ~ 51 millisecond time burst. Its not bed- nothind is lost , but if use general value of modbus timeouts, we'll get uncomplite some command / It fix if take greather value of timeouts. Just add 60 millisecond to every value and all will work. So dont worry if use modbus rtu + bridge usb-rs485  . Take large timeouts value (++60 millisecond  ). 

what is "51 millisecond time burst"? If a bridge USB-RS485 is used as the master, it can transmit 256 bytes without delay between characters (if it has a buffer). But it cannot determine the delay 1.5t and 3.5t when a slave responds.

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


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

Bridge bring burst to slave responce. It mean: It is not lost bytes, but a ~51 ms pause can separete one part responce (at a random moment) from anothe - so you must use rule >3.5t  as (>3.5t+50...60).

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


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

On 11/7/2020 at 2:11 AM, firstvald said:

Bridge bring burst to slave responce. It mean: It is not lost bytes, but a ~51 ms pause can separete one part responce (at a random moment) from anothe - so you must use rule >3.5t  as (>3.5t+50...60).

I don't undestand. I have several questions.

1. Is the 50ms delay on bus RS485? Or the bridge driver?

2. COM port driver (and virtual) has timeout settings, in milliseconds. Are you used it?

3. Which bridge (chip) is used? CH340, Silabs, FTDI?

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


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

3 hours ago, C2000 said:

I don't undestand. I have several questions.

1. Is the 50ms delay on bus RS485? Or the bridge driver?

On bridge. Its not delay - its burst in answer.

2. COM port driver (and virtual) has timeout settings, in milliseconds. Are you used it?

COM port timeouts in windows COMMTIMEOUTS structure. 

3. Which bridge (chip) is used? CH340, Silabs, FTDI?

All of them.

 

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


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

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

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

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

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

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

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

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

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

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