Форум программистов, компьютерный форум CyberForum.ru

Прием по modbus. Как указать число считываемых байтов - C++

Восстановить пароль Регистрация
 
egorman44
0 / 0 / 0
Регистрация: 31.10.2013
Сообщений: 8
09.01.2014, 11:42     Прием по modbus. Как указать число считываемых байтов #1
Добрый день. Пишу программу для обмена по modbus'у rtu , я slave , принимаю команды и формирую ответы на них. Принимаемые команды могут иметь различную длину в байтах . При чтении из COM порта с помощью функции ReadFile необходимо указать число считываемых байтов, как поступают в этом случае? Читают побайтно ? или создают буфер заведомо больший размера всех команд и после дешифрирования команды выделяют необходимое количество байт? Заранее благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2014, 11:42     Прием по modbus. Как указать число считываемых байтов
Посмотрите здесь:

Как правильно объявить массив байтов? C++
Решить уравнение с точностю Е и указать необходимое число итераций C++
C++ Как тут происходит перестановка байтов...
Как прочитать несколько байтов в файле с n-го байта по m-й байт ? C++
C++ как вписать в переменную текст , размер которой превышает 4096 байтов
Посчитать количество считываемых из файла чисел C++
Дано действительное число х (0<x<=1). Вычислить сумму ряда с точностью e=10-6 и указать количество слага C++
Указать диапазон, в котором находится число C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vxg
Модератор
 Аватар для vxg
2661 / 1672 / 156
Регистрация: 13.01.2012
Сообщений: 6,223
09.01.2014, 15:25     Прием по modbus. Как указать число считываемых байтов #2
читайте в начале шапку запроса (часть по которой можно понять какой размер имеет весь запрос). вторым вызовом считывайте хвост.

Добавлено через 1 час 28 минут
...как вариант:
-считывайте поля адреса и функции
-если адрес не ваш - молчите
-если ваш прибор не поддерживает указанную функцию - высылайте код ошибки
-если функция поддерживается - считывайте количество данных специфичное для указанной функции (хвост)
Yandex
Объявления
09.01.2014, 15:25     Прием по modbus. Как указать число считываемых байтов
Ответ Создать тему
Опции темы

Текущее время: 18:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru