Показать сообщение отдельно
Старый 26.04.2010, 10:40   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Чтение данных блоками по протоколу Modbus

Цитата:
Сообщение от Dron
Имеется прибор, определённые данные у которого можно прочитать только блоком по 128 байт. В ответ на запрос другого размера получим ошибку.

Если я в карте памяти устройства определю 32 переменные типа long с периодом опроса 0 и одновременно задам команду прочитать эти данные, то контроллер выполнит один запрос или всё таки каждую переменную будет опрашивать отдельно, т.к. в карте памяти они все подсвечены как разные запросы.
И если в данном варианте не будет одного запроса, то как такую задачу реализовать?
Почему нет возможности получать с устройства массива данных и или хотя бы строковую переменную заданного размера?

1) Если строб для переменных будет исходить от одного выхода блока, то данные переменные "сошьются" в один запрос.

2) Операция чтения массива "встроена" в модбас как протокол и называется "групповой запрос".

3) Строковых переменных в модбасе несуществует. Строковых типов данных в лоджике также несуществует. Смысл вашего предложения мне крайне непонятен.

.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.

Последний раз редактировалось Arsie, 28.04.2010 в 12:11
Arsie вне форума   Ответить с цитированием