This is topic Запрос 880 регистров по Modbus TCP in forum Редактор проекта TRACE MODE 6 / at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/32/t/000875.html

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


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2