Форум 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 бесплатная Базовая версия / TRACE MODE 6 free Base version » Функция 03 Modbus - групповой запрос

   
Автор / Author Тема / Topic: Функция 03 Modbus - групповой запрос
andreas
Junior Member / Новичок
Участник № / Member № 1561


Icon 1 отправлено / posted      Профиль для / Profile for andreas           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Есть такой прибор - шестиканальный регистратор МТМ-160. Разработчик по нашим многочисленным просьбам реализовал упрощенную версию Modbus - поддерживается только функция 03, причем данные по всем шести каналам выдаются блоком: 6 FLOAT - 12 WORDS. Стандарту Modbus соответствует...
Как правильно в Trace Mode реализовать такой групповой запрос и разложить этот блок по каналам?
Физически по линии связи это будет один блоковый запрос-ответ или шесть с отсечкой лишних данных?

Сообщения / Posts 7 | Из / 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 с параметром "Канал" со сдвигом 1. Т.е. Задавайте, например, номера каналов в настройка ModBus источников номера 0,2,4,6,8,10.
Сообщения / Posts 17316 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
andreas
Junior Member / Новичок
Участник № / Member № 1561


Icon 1 отправлено / posted      Профиль для / Profile for andreas           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Спасибо, все работает в лучшем виде!
Сообщения / Posts 7 | Из / From: Украина  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Дмитрий Юрьевич М.
Junior Member / Новичок
Участник № / Member № 1930


Icon 1 отправлено / posted      Профиль для / Profile for Дмитрий Юрьевич М.           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Я сделал 10 каналов (U1-U10), сделал 10 источников Modbus со смещением канала 1, привязал их последовательно к созданным каналам.
В итоге имею ситуацию:

Я поставил в слэйве распечатку параметров startChannel (адрес первого элемента массива) и refCount (количество запрашиваемых элементов).
В самый первый раз лог показывает всё верно (1, 10) - запросить 10 элементов, начиная с первого.
Однако на следующем цикле ситуация меняется. Он сначала запрашивает (2, 9), а сразу вслед за этим (1, 10). И после этого такая ситуация повторяется на каждом цикле.
Увеличение количества каналов не меняет ситуации. Всё равно запросы оказываются парными.

Могу ли я что-нибудь изменить или это фича TM? Мне не очень хочется в 2 раза повышать нагрузку на сеть.

И вопрос, связанный с первым. Правильно ли я понимаю, что для группового запроса каналы U1-U10 должны следовать в базе каналов строго друг за другом? Или можно как-то по другому реализовать нужную функциональность?

Сообщения / Posts 23 | Из / 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 
1. "Парные запросы" появляются потому, что на первый из них не получен корректный ответ за время таймаута, заданное у настройках COM-порта.
Надо разобраться, что отвечает SLAVE и в какое время. Можно использовать какой-либо перехватчик COM-порта, например, PortMon (их много в интернете).
2. Последовательность индексов каналов одного группового запроса, соответствующих последовательным адресам переменных, должна быть монотонной, не обязательно "строго друг за другом".

Сообщения / Posts 17316 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Дмитрий Юрьевич М.
Junior Member / Новичок
Участник № / Member № 1930


Icon 1 отправлено / posted      Профиль для / Profile for Дмитрий Юрьевич М.           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
1. У меня Modbus TCP/IP. Утилиткой воспользуюсь. Но данные приходят, вот в чём проблема. Как после первого, так и после второго запроса TM данные получает. Поэтому не знаю, о чём и думать. Причём ситуация не меняется, если увеличивать или уменьшать время цикла. Так что дело не в таймауте
2. Спасибо

Сообщения / Posts 23 | Из / 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 TCP задаются в файле IP_modBus (без расширения).
Это отражено в документации.
Чтобы удостовериться в безошибочности приема, надо ввести соответствующие диагностические переменные, посмотреть флаг недостоверности у каналов и протокол профайлера.
И безусловно надо обновиться до текущего релиза, выложенного на нашем сайте.

Сообщения / Posts 17316 | Из / 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