Тема / Topic: Групповой опрос для уменьшения времени опроса
kashpir88
Junior Member / Новичок
Участник № / Member № 8429
отправлено / posted
Здравствуйте, имеется большое количество однотипных контроллеров, с каждого нужно считывать от 20 до 100 регистров с разными адресами (например 8354, 9001,20201 и т.д.). При считывании каждого регистра отдельно через источники\приемники время опроса очень сильно возрастает. Можно ли считывать ChGrR разом все указанные! регистры разом, по идее должно уменьшиться время опроса? Если можно то как это правильно сделать?
Сообщения / Posts 12 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Если имеется в виду Modbus, следует учитывать, что согласно протоколу, максимальный размер пакета - 256 байт. При групповом запросе регистры считываются последовательно.
Перепрограммируйте контроллеры таким образом, чтобы необходимые данные находились в последовательных регистрах.
kashpir88
Junior Member / Новичок
Участник № / Member № 8429
отправлено / posted
1.Перепрограммировать контроллеры не представляется возможным. 2.Каким образом выполняется разделение опроса по потокам (TCP)? В самом TraceMode? 3.Сделал групповой опрос для нескольких регистров. В источниках\приемниках создал модбас функцию для первого регистра, в ChGrR создал 12 аргументов, привязал источник к ChGrR. Запускаю профайлер проходит опрос, опрашивает все 12 регистров и взводит бит достоверности в False, больше не опрашивает их, почему так происходит?
Сообщения / Posts 12 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
2) Всего можно задать 3 групповых потока и несколько потоков «один поток – одно устройство». В справке описано в разделе: Обмен с контроллерами и УСО -> Обмен по встроенным протоколам -> Обмен по встроенным протоколам по сети Описанные ключи задаются в строке Дополнительно в источнике/приемнике модбаса через точку с запятой после адреса. Все устройства разделите на 3 части с равными объемами обмена, 1й-ничего не меняйте, 2-й - TH14, 3-ей - TH15. Выделите несколько устройств (12 шт максимум), где идет самый ответственный обмен, например, нужен быстрый отклик, и им задайте THONE.
3) Надо смотреть диагностику. Рекомендуем сделать простой тестовый проект только с этим каналом и источником. Для диагностики используйте конфигурационный файл *.cnf с ключами: DEBUGON=F0000490 DBG_INFO_TCP=ON Как создать файл описано в http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/55/t/000001.html Во время тестирования диагностическая информация будет писаться в текстовые логи в той же папке узла проекта. Если не получится самостоятельно расшифровать, пришлите проект и папку целиком после тестирования на адрес техподдержки.
Сообщения / Posts 17316 | Из / From: Россия
| IP / IP: IP адрес / IP address |
kashpir88
Junior Member / Новичок
Участник № / Member № 8429
отправлено / posted
2. Помогло ускорить опрос в 2 раза. 3.В дебаг логе писало "отключено by errors". Увеличил время опроса и задал ключ "THONE", сейчас все отлично опрашивается.
Сообщения / Posts 12 | Из / From: Россия
| IP / IP: IP адрес / IP address |