This is topic Emerson 1420 и Modbus TCP in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.


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

Posted by Phlagman (Участник № / Member № 4893) on :
 
доброго времени суток!
есть беспроводной шлюз Emerson 1420 и пара датчиков, шлюз настроен правильно, датчики работают. Протокол ModBus сконфигурирован правильно, через веб интерфейс настроены регистры 30001, 30003, 30005 - показывает давление/температуру с датчиков (32 bit float ), 30007 - показвает версию устройства (8 bit unsigned int).


в modscan32 эти значения видны..


счачал с оф сайта тестовые примеры по подключению к Трейс Мод по этому протоколу(*http://adastra.ru/files/support/tm6/free/projects/t...pb_modbustcp.zip), (в них собственно поменял только IP адрес), но они не работают...
пробовал менять адреса , тоже безрезультатно..

в итоге на шлюзе оставил только один регистр 30001 в котором находится версия устройства (8 bit unsigned int) (значение равно 3, это можно посмотеть как через веб интерфейс так и в modscan32)

собственно как делал:
1 создал простой проект
2 в Источниках создал Группу ModBus
3 создал компонент Rout_Word(3)#1
4 с свойствах компонента
Номер порта 0х0
Адрес 0х1
Канал 0х1 (пробовал ставить и 0х0 не помогло)
Тип протокола TCP/IP
Направление Input
Формат Дискрет
ip адрес 192.168.1.10 (адрес шлюза)
5 перетаскиваю этот компонент в Каналы
6 в свойствах Экран создаю переменную и связываю ее с каналом
7 создаю текстовое поле и перетаскиваю на него переменную связанную сканалом

сохраняю, запускаю и в итоге в текстовом поле значение 0 , что я только уже не делал..


подскажите пожалуйста как считать информацию с этого шлюза по протоколу ModBus TCP в Trace Mode 6.07 ???


заранее благодарен
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1. Уверены ли Вы, указанные Вами адреса переменных должны считываться функцией 3 Modbus?
Часто такие адреса относятся к регистрам Input и считываются функцией 4 Modbus.

2. Есть ли у Вас возможность получить подтверждение того, что коннект к контроллеру осуществлен?
Разместите в папке узла RTM файл конфигурирования запуска
TMcom_xx.cnf
следующего содержания

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

В папке узла должен генерироваться профайлерный протокол с дополнительной информацией о сетевых процедурах и ошибках.

Если Вы не сможете использовать эту информацию для диагностики, присылайте нам проект, протокол профайлеров и файл tm6_log.txt из папки узла.
 
Posted by Phlagman (Участник № / Member № 4893) on :
 
переделал проект на вункцию 4

(21:55:39) INF_LOAD:Starting... Primer_modbus_TCP_0
(21:55:39) INF_RTM:Detected NT5.RTM 5.1
(21:55:39) ._.:Base TRACE MODE 6 Profiler ver. 6.07.0
(21:55:39) INF_LOAD:Load Channels = 2
(21:55:39) INF_LOAD:Templates=1
(21:55:39) INF_LOAD:Objects = 3
(21:55:39) INF_RTM:Timer=0.055s CalcLoop=550ms
(21:55:39) INF_RTM:start time is 0 s
(21:55:41) INF_RTM:ModeSwitch e15=0000 e18=0000 e20=0000 [0]
(21:55:41) INF_RTM:mode=2(Work) e15=00 e18=00 e20=00 [0-0]
(21:55:41) WRN_DDE:Не удается связать службу диспетчера общих баз данных (DSDM)
(21:55:41) INF_RTM:ModBus-IN Rin_Word(4)#1 : IP=192.168.1.10 UNIT=1 CMD=4 CH=0001 Q=0
(21:55:41) INF_RTM:Idle period = 1100
(21:55:43) INF_TCP:connect to 192.168.1.10
(21:55:43) ERR_TCP:ModBus recieve wrong ident Rin_Word(4)#1
(21:55:44) ERR_TCP:ModBus recieve wrong ident Rin_Word(4)#1
(21:55:44) ERR_TCP:ModBus send err=10053 Rin_Word(4)#1
(21:55:49) INF_TCP:connect to 192.168.1.10
(21:55:49) ERR_TCP:ModBus recieve wrong ident Rin_Word(4)#1
(21:55:49) INF_RTM:stoping...
(21:55:49) INF_RTM:mode=5(Stop) e15=00 e18=00 e20=00 [0-0]
(21:55:49) INF_TCP:TCP_Unit=1 AvrSpeed=0(0)
(21:55:49) INF_TCP:TCP_Loop =0(0)(0)
(21:55:49) INF_RTM:stop time is 1.438 s
(21:55:49) INF_RTM:number of calculation = 11
(21:55:49) ._.:END OF WORK

нашел про ошибку 10053 - Software caused connection abort. An established connection was
aborted by the software in your host machine, possibly due to a data
transmission time-out or protocol error.

но из-за чего она не понимаю..
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Для того чтобы надежно распознавать ответы разных контроллеров по протоколу Modbus TCP все их транзакции нумеруются.
SLAVE Modbus TCP обязан в ответе передать номер транзакции, на которую он отвечает.
Ваш контроллер не возвращает номер транзакции.
Можно предположить, что эта опция в нем отключена, поскольку контроллеры фирмы Emerson, с которыми мы работали ранее, эту функцию отрабатывали.

Если Вам не удастся настроить контроллер правильно, можно отключитьв МРВ проверку номера транзакции, если в файл конфигурирования ввести дополнительный ключ:

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

Только надо иметь в виду, что при этом может быть существенно снижена надежность обмена.
 
Posted by Phlagman (Участник № / Member № 4893) on :
 
я отправил письмо на адрес hotline@adastra.ru с темой "Emerson 1420 и Modbus TCP (проект и скриншоты)"
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Ответ выслан почтой.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Прошу прощения за допущенную ошибку в имени ключа.
В файле конфигурирования должно быть

DEBUG=400
NOMDBIDNT
END_OF_CNF
<пустая строка>
 
Posted by Phlagman (Участник № / Member № 4893) on :
 
проблема осталась..

скачал программу Lectus ModBus OPC сервер, настроел на контроллер (ip адрес, функция чтения 4), создал переменную типа float, адрес переменной 0 hex (по этому адресу в контроллере в регистре 30001 находится показания с датчика с плавающей точкой), запустил OPC сервер, показания с контроллера приходят нормально.

скачал программу Modbusscan32 подключился к контроллеру данные приходят без проблем
подключение стандартное modbus tcp, ip адрес контроллера, и функция чтения 4

далее реализовывал в ТМ
все выводил в на экран в текстовые поля

1) в ТМ в источниках и приемниках создал группу MODBUS и компонент RinFloat(4) и настроил его на соответствующий ip адрес и канал (0х0)

2) также создал группу OPC и компонент OPC сервер и настроил его на этуже переменную но с источника Lectus ModBus OPC

также пробовал в эмуляторе mtcpServerEmulator создавал переменную и настраивал на нее ТМ как пункте 1),ТМ с эмулятора данные получает нормально.

в итоге напрямую из ТМ связь с контроллером организовать неполучилось, в чем может быть пролема?

письмо с проектом и скриншотами выслал на hotline@adastra.ru с темой "Emerson 1420 и Modbus TCP (проект и скриншоты)"
 
Posted by Phlagman (Участник № / Member № 4893) on :
 
т.е. получается сторонние программы безпроблем подключаются к контроллеру со стандартными настройками ModBus TCP, а как это сдеть в ТМ я не пойму
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Получили Ваше письмо.
1. Компонент RinFloat(4) надо привязывать к каналу Float, а не HEX16.
2. Пока не ясно почему не получается считать значение. Чтобы определить причину, нужно воспользоваться программой-снифером (например, Ethereal). С ее помощью можно увидеть различия запроса, посылаемого с OPC-сервера и с Trace Mode.
Вышлите на hotline3@adastra.ru скриншоты программы, в которых будет виден кадр запроса и ответа от TM и от OPC-сервера.
 
Posted by Phlagman (Участник № / Member № 4893) on :
 
отправил письмо со скриншотами и отчетами работы снифера
 
Posted by Phlagman (Участник № / Member № 4893) on :
 
Уважаемая поддержка дождусь ли я ответа???
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Извините за задержку с ответом.
Выявленная на Вашем проекте проблема была локализована ранее и ликвидирована в новом релизе.
Релиз 6.07.7 выложен на сайт. Вы можете обновить имеющиеся у Вас продукты.
 
Posted by Phlagman (Участник № / Member № 4893) on :
 
скачал и установил новый релиз, теперь хоть что-то начало отображаться, НО значения не соответствуют показания датчика (то очень большое преимущественно целое число, через несколько сек 0, потом опять число). скриншоты работы профайлера, modbus32, веб интерфейса контроллера, и сам проект отправил на hotline3@adastra.ru
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2