Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.02.2014, 11:38   #1
beast34
Новичок
Джуниор
 
Регистрация: 26.02.2014
Сообщений: 1
По умолчанию Чтение по COM-порту, протокол Modbus RTU

Здравствуйте! Разрабатываю программу для работы с устройством по протоколу Modbus RTU на платформе .net C#. Использую событие DataReceived стандартного класса SerialPort. Суть проблемы: при чтении данных по событию в буфере com-порта оказывается произвольное число байт(а как известно, в протоколе modbus существуют задержки между символами и пакетами, по которым собственно эти пакеты разделяются друг от друга) таким образом получается полная неразбериха. Но существует интересный момент при скорости передачи 9600, 8 бит данных, 1 стоп-бит - событие срабатывает, когда в буфере находится ровно пакет, т. е. отправка в буфер попадает в эти временные интервалы. Вопрос, как настраиваются эти интервалы для других скоростей обмена? в классе SerialPort таких параметров нет!
beast34 вне форума Ответить с цитированием
Старый 26.02.2014, 15:22   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...настройка таймаутов и размера буфера там есть. Кроме того, если вы работаете с Modbus-пакетом, то будьте любезны и контролировать контрольную сумму пакета и если у вас идут "слипшиеся" пакеты или пакеты разной длины, то их всегда можно загнать в свой временный буфер и разделять, объединять.

И еще, большое подозрение на неправильную установку скорость обмена. Укажите вше устройство и мануал к нему.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
примеры 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