Форум TRACE MODE: техническая поддержка Послать новую тему / Post New Topic  Послать ответ / Post A Reply
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 6 » Редактор проекта TRACE MODE 6 / » Запрос 880 регистров по Modbus TCP

   
Автор / Author Тема / Topic: Запрос 880 регистров по Modbus TCP
EgorovV
Junior Member / Новичок
Участник № / Member № 8847


Icon 1 отправлено / posted      Профиль для / Profile for EgorovV           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Единый контроллер отдаёт данные нескольких зависимых систем, используя регистры с 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 | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Читать данный групповыми запросами - правильное решение. Размер посылки в Modbus не превышает 256 байт. Количество считываемых параметров при групповом запросе зависит от количества и типа его аргументов. При необходимости, используйте несколько групповых запросов. Для анализа обмена по протоколу можно использовать сниффер TCP, например бесплатный Wireshark, с его помощью можно удобно анализировать запросы и ответы. Подробнее о протоколе можно почитать на https://ipc2u.ru/articles/prostye-resheniya/modbus-tcp/ или https://modbus.org/
Сообщения / Posts 17322 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
При опросе такого большого количества регистров на стороне сервер или серверов могут возникать задержки, например описание решения подобной ситуации с одним из видов контроллеров: http://www.adastra.ru/news/SCADA_TRACEMODE_rel6102/
Также можно для оптимизации ModbusTCP разделить обмен по разным потокам. Но предварительно проанализируйте обмен на ошибки.

Сообщения / Posts 17322 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Quick Reply
Сообщение / Message:

HTML код не разрешен. / HTML is not enabled.
UBB код разрешен. / UBB Code is enabled.

Значки Graemlins / Instant Graemlins
   


Послать новую тему / Post New Topic  Послать ответ / Post A Reply Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2