PDA

Просмотр полной версии : разгрузка сетевого обмена по ModBus



Иван2
20.03.2015, 11:01
Добрый день!
Имеется проект, включающий опрос модулей ввода\вывода ( читаются вещественные значения ). В силу того, что для каждого канала необходимо прочитать по два регистра, соответственно выросло время опроса.
Можно ли организовать опрос сразу всех регистров или хотя бы группы регистров? Поддерживает ли МВА8 и МВУ8 функцию 23 ModBus?
Спасибо!

ASo
20.03.2015, 11:05
1. Можно.
2. Не поддерживает. Зачем Вам эта функция?

Иван2
20.03.2015, 11:20
1. Спасибо за ответ. А в какую сторону копать?
2. Хотелось бы читать всю маску с МВА8. Думал поможет эта функция.

ASo
20.03.2015, 11:30
Функция 4 - не?

Иван2
20.03.2015, 11:42
Спасибо, попробую.
А имеется ли ограничение на размер пакета? Сколько байт можно считать в один запрос?

Валенок
20.03.2015, 12:00
1.Ограничений нет
2.Все

ASo
20.03.2015, 12:06
Для МВА, МВУ - вам хватит.
Единственное ограничение - если МВА и МВУ вися на одной веревке - делите запросы к МВА на 2 части, иначе отвалится опрос МВУ. Вот так:

Иван2
20.03.2015, 12:39
hwAI1_1 это массив?
hwAI1_1:array[1..23] of word; ?

Иван2
20.03.2015, 12:51
Спасибо!
Разобрался сам.

Иван2
26.03.2015, 11:40
добрый день!
Создал проект, но считать все регистры МВА8 не получается - массив отображает нули.
Может подскажете в чем проблема?

Иван2
26.03.2015, 18:18
Пробовал читать соседние регистры (например 4 и 5 - значение float32 первого входа МВА8) - работает. Аналогичным образом пытаюсь читать третий и четвертый - результат нулевой (хотя конфигуратор показывает отличные от нуля значения,что в общем-то и соответствует действительности).
Странно то,что если я читаю каждый байт по отдельности - все работает без проблем :confused:
Уже третий день бьюсь над проблемой :mad:

CoDeSys 3.5 SP 5