This is topic modbus RTU проблемы in forum Общие вопросы / Common questions at Форум TRACE MODE: техническая поддержка.


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

Posted by Intex (Участник № / Member № 4411) on :
 
3 SLAVE устройства c modbus адресами 1,2,3
область чтения holding registers 0xA00-0xA09
подключены через конвертер RS485-Ethernet
данные выводятся только с 1 устройства

wtf ?
 
Posted by Nico (Участник № / Member № 5342) on :
 
А файлы профайлера где? Тех-а в все равно запросит
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1. Задайте в файле *.cnf ключ DEBUGON=200 для получения диагностической информации по Modbus RTU.
2. Обратите внимание на атрибут 4 (Достоверность) каналов, запрашивающих данные от устройств 2 и 3.

Пришлите на адрес техподдержки файл проекта и папку проекта.
 
Posted by Intex (Участник № / Member № 4411) on :
 
файла с расширением cnf не было, создал и указал данный "ключ"
атрибут 4 отличается у корректно считываемого значения (все значения в SLAVE устройствах не 0)
https://dl.dropbox.com/u/22124052/dscr1.PNG
https://dl.dropbox.com/u/22124052/dscr2.PNG
файл и папка проекта
https://dl.dropbox.com/u/22124052/test2.zip
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1. Вы используете обмен по Modbus TCP, а не по Modbus RTU.

2. Как описано в разделе "Приложения/Задание параметров работы мониторов", Вам надо создать файл TMcom_0.cnf следующего содержания:

DEBUGON=400
END_OF_CNF
<пустая строка>

и поместить его в папку test2\RTM_1\.
Тогда в реальном времени в этой папке сгенерируется файл test2_0.txt, содержащий информацию об обмене по Modbus TCP.

3. В реализованном драйвере Modbus TCP для каждого устройства должен создаваться отдельный коннект. В Вашем проекте все 3 устройства имеют 1 IP-адрес. Используемый Вами конвертор должен в таком случае иметь возможность поддерживать несколько коннектов с разными клиентами.
 
Posted by Intex (Участник № / Member № 4411) on :
 
1. Ну дык согласно вашим же словам настройки сделаны, прошу быть внимательнее
"В этом случае следует попытаться обращаться по Modbus TCP с указанием в поле ДОПОЛНИТЕЛЬНО
<IP-адрес конвертора>:<port>;MDBRTU;"
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/45/t/000239/p/1.html#000003
2. попробуем ><
3. Все соответствует прекрасно: одно ethernet устройство с одним IP адресом и 3 modbus RTU устройства с отличающимися slave адресами, демо версия одного modbus OPC сервера на ура выводит данные со всех трех

p.s. под пустой строкой подразумевается наличие CR LF ?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Драйвер Modbus TCP осуществляет подключение устройств по IP-адресу с учетом номера устройства.

Да, "пустая строка" это CR LF.
 
Posted by Intex (Участник № / Member № 4411) on :
 
так...
имеем:
конвертер ethernet-rs485
3 modbus slave RTU устройства c разными SLAVE ID адресами
1 tracemode
необходимо завернуть Modbus RTU "запрос" в TCP "пакет" - т.е. Ethernet Encapsulation
в случае конвертера ethernet-rs232 у нас было бы одно устройство на com порту
в случае конвертера ethernet-rs485 их может быть несколько и у каждого будет свой modbus адрес (в данном случае 3)
при этом с 1 прибором данная функция в tm работает
и именно для её настройки вместо modbus rtu используется как бы modbus tcp (особенности настройки и работы в tm - оставлю без комментариев) - какая уж там внутренняя "кухня" драйверов modbus в tm неизвестно, но проблема с подключением больше 1 устройства очевидна.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Модификация драйвера Modbus TCP в желаемом Вами направлении осуществляться не будет.
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2