|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.02.2014, 11:38 | #1 |
Новичок
Джуниор
Регистрация: 26.02.2014
Сообщений: 1
|
Чтение по COM-порту, протокол Modbus RTU
Здравствуйте! Разрабатываю программу для работы с устройством по протоколу Modbus RTU на платформе .net C#. Использую событие DataReceived стандартного класса SerialPort. Суть проблемы: при чтении данных по событию в буфере com-порта оказывается произвольное число байт(а как известно, в протоколе modbus существуют задержки между символами и пакетами, по которым собственно эти пакеты разделяются друг от друга) таким образом получается полная неразбериха. Но существует интересный момент при скорости передачи 9600, 8 бит данных, 1 стоп-бит - событие срабатывает, когда в буфере находится ровно пакет, т. е. отправка в буфер попадает в эти временные интервалы. Вопрос, как настраиваются эти интервалы для других скоростей обмена? в классе SerialPort таких параметров нет!
|
26.02.2014, 15:22 | #2 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
...настройка таймаутов и размера буфера там есть. Кроме того, если вы работаете с Modbus-пакетом, то будьте любезны и контролировать контрольную сумму пакета и если у вас идут "слипшиеся" пакеты или пакеты разной длины, то их всегда можно загнать в свой временный буфер и разделять, объединять.
И еще, большое подозрение на неправильную установку скорость обмена. Укажите вше устройство и мануал к нему.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
примеры Modbus RTU (исходники) | yuta_86 | Общие вопросы Delphi | 15 | 27.02.2023 01:50 |
Работа с протоколом ModBus (C++) | Olegvarmy | Помощь студентам | 21 | 19.09.2017 23:22 |
Запрос ModBus | ольгаг | Общие вопросы C/C++ | 1 | 04.09.2012 09:35 |
компонент modbus | Snake_ua | Компоненты Delphi | 4 | 27.07.2010 08:40 |
CRC c полиномом MODBUS | Gawwws | Помощь студентам | 0 | 26.02.2010 20:50 |