Показать сообщение отдельно
Старый 04.12.2009, 14:31   #19
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 116
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: ModBus функции - совместимость

Цитата:
Сообщение от Dron
А можно ли как то очищать буферы перед повторной загрузкой проекта?
Нет.




Цитата:
Сообщение от Dron
Проблема в количестве запросов. Поэтому и нужно каждый контроллер опрашивать одним запросом.

А вот ещё проблема, кстати, касаемая того же проекта, что тут выкладывал раньше.

Есть устройство сигнализирования при загазованности (БПС-21М). Данные можно читать по Modbus RTU. Имеется 11 каналов. Адрес каждого канала 0, 2, 4, 6... и так далее. Но запрос должен состоять из опроса каждого канала отдельно по 2 регистра... Если больше или меньше, то возвращает ошибку.

Как правильно составить таблицу адресов?

- Если таблица состоит из 11 записей и стоит галочка группировать, то оно создаёт один запрос на всё. И соответственно не работает.
- Если убрать галочку группировки, то лоджик не хочет компоновать, пишет памяти не хватает.
- Если поставить на каждую запись разный период опроса, то попеременно некоторые значения получаются, некоторые нет.
Лучше третьего способа ничего не получится. Второй способ невозможен в модбасе, вот лоджик и перекорёживает.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием