Форум 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 / » Обмен по Modbus

   
Автор / Author Тема / Topic: Обмен по Modbus
sergey UralSteel
Forum Haunter / Завсегдатай форума
Участник № / Member № 1914


Icon 1 отправлено / posted      Профиль для / Profile for sergey UralSteel           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Здравствуйте!
Ответьте пожалуйста на вопрос, возможен ли приём данных с регистрирующего преобразователя Ш9329 А по RS485 протокол Modbus RTU через шлюз Adam4572 (Modbus RTU - Modbus TCP/IP ). Если да, то какие надо установить настойки в компоненте группы MODBUS.

Сообщения / Posts 103 | Из / 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 
Trace Mode 6 поддерживает версии протокола MODBUS RTU и TCP.
Как будет конвертировать эти протоколы шлюз Adam 4572, мы не знаем.
Если в настройках этого шлюза есть корректные настройки коммуникации по COM-порту и сопряжения его с MODBUS TCP, то в Trace Mode 6 надо выбирать протокол MODBUS TCP и задавать соответствующие этому драйверу настройки.

Сообщения / Posts 17106 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
sergey UralSteel
Forum Haunter / Завсегдатай форума
Участник № / Member № 1914


Icon 1 отправлено / posted      Профиль для / Profile for sergey UralSteel           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Подскажите пожалуйста, в чём может быть проблема.

Ситуация такая: В сеть RS495 подключены 8 регистраторов Ш9329А. Обмен осуществляется по протоколу Modbus RTU через шлюзы Adam 4572 (Modbus RTU / Modbus TCP).

Ситуация, когда в проекте только один Ш9329А.
Поочерёдно меняю адрес устройства, таким образом данные идут от то всех Ш9329А.

Ситуации, когда в проекте настроены и опрашиваются все Ш9329А
Файла modbus.set нет в папки проекта ( по умолчанию порядок байтов 3-2-1-0 ).
С устройств с адресами 1, 2, 6, 8 идут правильные данные, а с устройств 3, 4, 5, 7 идут исковерканные (неверные) данные.
При добавлении файла modbus.set с числом 2 (порядок байтов 1-0-3-2).
Всё наоборот, устройства с адресами 3, 4, 5, 7 идут правильные данные, а на устройства 1, 2, 6, 8 идут ложные данные.

Файл modbus.set с другими числами (1, 3), тогда со всех устройства неверные данные.

Может быть кто сталкивался с подобными проблемами? Подскажите.

Сообщения / Posts 103 | Из / 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. Надо задействовать диагностические каналы @e_MODBUS и @e_TCP_ModBus.
2. Надо перехватить трафик шины RS485 и посмотреть точный поток транзакций на выходе Adam 4572.
3. В каком релизе Вы работаете?
4. Что значит "исковерканные (неверные) данные"?
Интепретация ответа, задаваемая "порядком байтов", никак не зависит от адреса устройства.
5. Вы осуществляете по этому каналу только мониторинг или и управление тоже?
6. Чем обусловлене применение Adam 4572? Почему нельзя шину RS 485 напрямую подключить к МРВ?

Сообщения / Posts 17106 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
sergey UralSteel
Forum Haunter / Завсегдатай форума
Участник № / Member № 1914


Icon 1 отправлено / posted      Профиль для / Profile for sergey UralSteel           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
ТМ 6,05.
Только данные Flout. Приходят данные отрицательные, с экспанентой или не те значения.
Выолняем только мониторинг.
на приямую RS485 нет нет возможности.
Понятно, что от адреса не зависит.

нашли что на Ш9329 установлена разная версия ПО в томже порядке, в котором читались/нечитались данные.
Пока проверяем эту версию.

Сообщения / Posts 103 | Из / 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 и 2 предыдущего ответа.
Сообщения / Posts 17106 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
sergey UralSteel
Forum Haunter / Завсегдатай форума
Участник № / Member № 1914


Icon 1 отправлено / posted      Профиль для / Profile for sergey UralSteel           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Заменили ПО на всех устройствах. Результат: все данные передаются правильно. В файле modbus.set стоит значение 2.

Из письма от разработчиков Ш9329.
Новые версии ПО отличаются только тем, что в новых версиях
обработка запросов компьютера перенесена в прерывающую программу,
запускающуюся по окончании приема запроса. Поэтому новые приборы
отвечают на запрос гораздо быстрее, минимальное время от последнего
байта запроса до первого байта ответа может быть как оговорено в MODBUS
- 5 миллисекунд на скорости 9600. Возможно причина в том, что передатчик
RS-485 вашего компьютера после выдачи запроса не успевает переключиться
с передачи на прием, первый байт посылки не принимается и получается что
в принятом массиве байты сдвинуты. Изменение настройки порядка
следования байт позволяет правильно выбрать старшие байты, а пропущенный
первый младший байт влияет на значение числа мало и незаметно.

Сообщения / Posts 103 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
sergey UralSteel
Forum Haunter / Завсегдатай форума
Участник № / Member № 1914


Icon 1 отправлено / posted      Профиль для / Profile for sergey UralSteel           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Из всей этой ситуации, возникает новый вопрос разработчикам ТМ6.
Что мне делать, если у меня в проекте находятся два разных прибора общающиеся по протоколу Modbus, но с разным порядком следования байт (modbus.set)? Оба прибора очень важны в проекте и по другому (по другим протоколам) связаться с ними невозможно.

Сообщения / Posts 103 | Из / 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 формат FLOAT не определен. Поэтому различные расширения его в этом отношении используют собственные форматы.
Наиболее распространенным является реверсивный формат числа с плавающей точкой стандарта IEEE 754-1985 (одиночная точность). Он используется в Trace Mode 6 по умолчанию.
Чтобы использовать разные форматы в одном проекте, надо радикально переделывать встроенный драйвер.
Сам стандарт MODBUS достаточно прост. Проще написать для "экзотического" прибора собственный пользовательский драйвер.

Что же касается конкретной ситуации с приборами Ш9329, то, если предположение разработчиков верно, можно было бы решить проблему путем введения дополнительного таймаута между транзакциями (в настройках обмена параметр
"<число> TIMEOUT - задержка запроса после получения ответа от контроллера (в миллисекундах).
Пример: 200 TIMEOUT ").
Аналогичный параметр (RS-передача) существует и в настройках COM-порта для MODBUS RTU.

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