EgorovV
Junior Member / Новичок
Участник № / Member № 8847
отправлено / posted
Единый контроллер отдаёт данные нескольких зависимых систем, используя регистры с 1 по 886. Система 1 собрана в регистры 1-664, система 2 - с 665 по 742, и так далее. Я планировал использовать несколько источников Modbus, имеющих одинаковые параметры связи, кроме начального адреса. Затем через каналы типа CALL.ChGroupReq опросить все регистры в рамках каждой системы. Проблема в том, что Система 2 опрашивается нормально (78 регистров), а из Системы 1 опрашивается только первая сотня регистров. Конечно же, после обнаружения проблемы я полез в Справку, где обнаружил упоминание ограничения запросов в канал типа Input 32-мя регистрами. У меня же успешно опрашивается 78 и 100. Видимо, мне нужно переосмыслить свои запросы, потому как на данный момент я не совсем понимаю свои возможности и ограничения. Итак, как более оптимально опрашивать большой массив регистров с единого контроллера?
Сообщения / Posts 8 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Читать данный групповыми запросами - правильное решение. Размер посылки в Modbus не превышает 256 байт. Количество считываемых параметров при групповом запросе зависит от количества и типа его аргументов. При необходимости, используйте несколько групповых запросов. Для анализа обмена по протоколу можно использовать сниффер TCP, например бесплатный Wireshark, с его помощью можно удобно анализировать запросы и ответы. Подробнее о протоколе можно почитать на https://ipc2u.ru/articles/prostye-resheniya/modbus-tcp/ или https://modbus.org/Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
При опросе такого большого количества регистров на стороне сервер или серверов могут возникать задержки, например описание решения подобной ситуации с одним из видов контроллеров: http://www.adastra.ru/news/SCADA_TRACEMODE_rel6102/ Также можно для оптимизации ModbusTCP разделить обмен по разным потокам. Но предварительно проанализируйте обмен на ошибки.
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |