Форум 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 » Нет связи с ПЛК Delta через Modbus TCP

   
Автор / Author Тема / Topic: Нет связи с ПЛК Delta через Modbus TCP
Hip67
Forum Member / Участник форума
Участник № / Member № 4427


Icon 1 отправлено / posted      Профиль для / Profile for Hip67           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
доброго времени суток.
в базовой системе Trace Mode 6.06 не могу установить связь с контроллером DVP28SV по Ethernet. к контроллеру подключен модуль DVPEN01, которому задан IP адрес 192.168.1.5. через родную утилиту Delta в плк записана программа и с ней обмен идет хорошо. далее в TM в источниках\приемниках - modbus создаю компонент Rin_Word(4), чтобы прочитать данные из D10 регистра ПЛК. конфигурация компонента: Номер порта 0; адрес 0х3 (сетевой адрес ПЛК); канал 0х100А (адрес регистра); тип протокола TCPIP; направление Input; формат дискрет; IP адрес 192.168.1.5.
данный источник перевожу в каналы, затем в аргументы экрана и привязываю ГЭ "шкала" и "текст" к получившемуся аргументу. запускаем МРВ и видим ноль как на шкале, так и на текстовой панеле.
в чем может быть проблема или что делается не так?
заранее спасибо.

Сообщения / Posts 46 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Romсheg
unregistered



Icon 1 отправлено / posted            Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
1) Проверить атрибут Достоверность канала.
2) Если Достоверность в нуле - смотреть логическую цепочку связей от источника до ГЭ на экране - возможно где-то ошибка в привязках.

IP / IP: IP адрес / IP address | Report this post to a Moderator
Hip67
Forum Member / Участник форума
Участник № / Member № 4427


Icon 1 отправлено / posted      Профиль для / Profile for Hip67           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Спасибо. связь установить удалось, но до сих пор непонятно, каким компонентом можно записать значение в регистры данных и внутренние реле?
Сообщения / Posts 46 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Romсheg
unregistered



Icon 1 отправлено / posted            Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Тут все зависит от диапазона этих адресов внутри контроллера - это влияет на номер функции ModBus. Буквально недавно сам делал проект на этом контроллере, у меня в нем диапазоны данных были начиная с адреса 3000 и далее. Так в проекте для чтения данных использовал описатель Rout_Word(3) - третья функция ModBus, чтение выходных регистров в формате WORD. А передавал в контроллер данные через описатели W_Word(16) - передача целочисленного значения в формате WORD. Все работало и по ModBusRTU (через RS когда тестировал проект в процессе разработки) и сейчас работает нормально по ModBusTCP (уже на объекте).

Да, насчет смещения не забываем - у этого контроллера регистр для ModBus параметра указывать надо со смещением 0х1000.

IP / IP: IP адрес / IP address | Report this post to a Moderator
Hip67
Forum Member / Участник форума
Участник № / Member № 4427


Icon 1 отправлено / posted      Профиль для / Profile for Hip67           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Romсheg

смещение? то есть, допустим, чтобы отправить число в регистр D100, который в контроллере имеет адрес 0x1064, я должен воспользоваться W_Word(16) с настройкой адреса регистра 0х2064?
и с какими именно моделями имели опыт, что данные лежали от 3000?
быть может, для разных контроллеров - разное смещение?

Сообщения / Posts 46 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Romсheg
unregistered



Icon 1 отправлено / posted            Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Неее - вы уже сами верно выше указали, что при чтении регистра D10 из контроллера его адрес в настройке источника/приемника в проекте ТМ6 задавали как 0x100A. Вот оно и есть это смещение 0x1000 относительно номера регистра в контроллере.
В моем проекте, например, регистр 3001 в проекте в описателе задавался как 0x1bb9.

Модель там без разницы, если не ошибаюсь, место расположения данных в нем так определил тот, кто программировал сам контроллер.

IP / IP: IP адрес / IP address | Report this post to a Moderator
Hip67
Forum Member / Участник форума
Участник № / Member № 4427


Icon 1 отправлено / posted      Профиль для / Profile for Hip67           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
теперь понял, что за смещение. только ни через W_Word(16), как было указано выше, ни через W_Word(6), как было сделано в тестовом примере, данные в регистр контроллера не приходят. передаю через кнопку "ввести и передать" на МРВ. в окне просмотра компонентов число появляется на нужном канале, но в сам контроллер не доходит (проверял и самим ТМ6 и родной программой)
Сообщения / Posts 46 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Romсheg
unregistered



Icon 1 отправлено / posted            Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
А что с атрибутом Достоверность этого передающего канала после попытки посылки?
IP / IP: IP адрес / IP address | Report this post to a Moderator
Hip67
Forum Member / Участник форума
Участник № / Member № 4427


Icon 1 отправлено / posted      Профиль для / Profile for Hip67           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
имеете ввиду бит достоверности? после ввода числа он меняется с T на F
Сообщения / Posts 46 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Romсheg
unregistered



Icon 1 отправлено / posted            Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Это значит, что на переданный пакет от МРВ ТМ6 устройство не ответило, либо ответило ошибкой.

Что-то неверно в настройках описателя. Можете его параметры настройки перечислить?

IP / IP: IP адрес / IP address | Report this post to a Moderator
Hip67
Forum Member / Участник форума
Участник № / Member № 4427


Icon 1 отправлено / posted      Профиль для / Profile for Hip67           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
могу, конечно
1) источники\приемники - W_Word(16)#2, кодировка TW0, номер порта 0, адрес 0х3, канал 0х100А, тип протокола ТСР\IP, направление output, формат дискрет, ipадрес 192.168.1.5.
2) это всё переношу в каналы, оттуда в аргументы экрана.
3) в аргументах экрана появляется аргумент W_Word_16__2_R, тип IN, тип данных REAL, Привязка W_Word(16)#2:Реальное значение (Система.RTM_1.WRITE)
4) этот аргумент привязываю к кнопке. в свойствах её ставлю "ввести и передать"

а результат всех этих действий я уже описал.

Сообщения / Posts 46 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Romсheg
unregistered



Icon 1 отправлено / posted            Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Хмм, для начала некоторые логические ошибки при привязках: у вас на экране кнопка должна результат передавать в аргумент типа OUT, который должен быть привязан к атрибуту Вход канала, который связан с источником/приемником ModBus. Тогда будет верная настройка передачи параметра. Реальное значение - оно не для приема параметра в канале, из него можно только читать данные, если посмотрите схему обработки данных в канале в справке - то сразу увидите это.
В остальном - настройка вроде верная, если вы действительно хотите передавать значение в регистр D10 контроллера, у которого задан IP=192.168.1.5, а его логических сетевой адрес=3.
Рекомендую посмотреть лог Профайлера после работы проекта - возможно сообщения об ошибках помогут понять более точно, что же приходит в ответ от контроллера на вашу посылку.

IP / IP: IP адрес / IP address | Report this post to a Moderator
Hip67
Forum Member / Участник форума
Участник № / Member № 4427


Icon 1 отправлено / posted      Профиль для / Profile for Hip67           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
кнопку перепривязал к аргументу, который привязал к атрибуту "Входное значение" канала W_Word(16)#2. в окне компонентов МРВ видно, что при отправке, значение попадает в атрибут In. в Q и R появляется такое же число. при этом достоверность все также меняется на F.
а вот с логом МРВ можно поточнее? в папке с проектом я нашел только следующие логи, но, очевидно, к обмену сообщениями с контроллером они не имеют никакого отношения.

tm6_log.txt
12:07:40 0000 00000000[0] 20.10.2010
12:07:40 0000 00000000[0] Start
12:07:44 0016 00000001[219] Graph loop is big(t)
12:09:38 0000 00000000[0] Stop


16_2.txt
(12:37:7) INF_LOAD:Starting... 16_2
(12:37:7) INF_RTM:Detected NT5.RTM 5.1
(12:37:7) ._.:Base TRACE MODE 6 Profiler ver. 6.07.0
(12:37:7) INF_LOAD:Load Channels = 6
(12:37:7) INF_LOAD:Templates=1
(12:37:7) INF_LOAD:Objects = 3
(12:37:7) INF_RTM:Timer=0.055s CalcLoop=55ms
(12:37:7) INF_RTM:start time is 0 s
(12:37:8) INF_RTM:ModeSwitch e15=0000 e18=0000 e20=0000 [0]
(12:37:8) INF_RTM:mode=2(Work) e15=00 e18=00 e20=00 [0-0]
(12:37:8) WRN_DDE:Не удается связать службу диспетчера общих баз данных (DSDM)
(12:37:8) INF_RTM:ModBus-IN Rout_Word(3)#4 : IP=192.168.1.2 UNIT=17 CMD=3 CH=1046 Q=0
(12:37:8) INF_RTM:ModBus-OUT W_Word(16)#2 : IP=192.168.1.5 UNIT=3 CMD=11 CH=100a Q=0
(12:37:8) INF_RTM:ModBus-IN D100 : IP=192.168.1.5 UNIT=3 CMD=3 CH=1064 Q=0
(12:37:8) INF_RTM:ModBus-IN T1 : IP=192.168.1.5 UNIT=3 CMD=3 CH=0601 Q=0
(12:37:8) INF_RTM:ModBus-IN D10 : IP=192.168.1.5 UNIT=3 CMD=3 CH=100a Q=0
(12:37:8) INF_RTM:Idle period = 990
(12:37:12) INF_RTM:stoping...
(12:37:12) INF_RTM:mode=5(Stop) e15=00 e18=00 e20=00 [0-0]
(12:37:12) INF_RTM:stop time is 0.828 s
(12:37:12) INF_RTM:number of calculation = 46
(12:37:12) ._.:END OF WORK

Сообщения / Posts 46 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Romсheg
unregistered



Icon 1 отправлено / posted            Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
А канал, что на чтение этого регистра настроен - вот этот:
(12:37:8) INF_RTM:ModBus-IN D10 : IP=192.168.1.5 UNIT=3 CMD=3 CH=100a Q=0

Он тоже недостоверность дает или он нормально считывает этот регистр?

IP / IP: IP адрес / IP address | Report this post to a Moderator
Hip67
Forum Member / Участник форума
Участник № / Member № 4427


Icon 1 отправлено / posted      Профиль для / Profile for Hip67           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
quote:
Отправитель / Originally posted by Romсheg:
А канал, что на чтение этого регистра настроен - вот этот:
(12:37:8) INF_RTM:ModBus-IN D10 : IP=192.168.1.5 UNIT=3 CMD=3 CH=100a Q=0

Он тоже недостоверность дает или он нормально считывает этот регистр?

этот канал показывает всё верно. достоверность Т, и значение 0.
Сообщения / Posts 46 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Romсheg
unregistered



Icon 1 отправлено / posted            Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Странно - если считывает значение, то и посылать вроде должен без проблем. Тогда остается еще один метод, мне также его пришлось выполнить: надо таймауты настроить в файле ip_modbus, что в папке узла система генерирует. А то по-умолчанию там не совсем подходящие стоят. Я вот у себя в проекте таймауты некоторые другие параметры точно увеличивал. Сами параметры смотрите по хэлпу.
IP / IP: IP адрес / IP address | Report this post to a Moderator
Hip67
Forum Member / Участник форума
Участник № / Member № 4427


Icon 1 отправлено / posted      Профиль для / Profile for Hip67           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
надо попробовать. сегодня перешел на новый ноутбук, на котором даже то, что исправно считывалось до этого, теперь через какое-то время показывает недостоверность. связь с контроллером, конечно не идеальная (3 свитча), но ТМ что-то слишком уж капризен [Улыбка / Smile]
Сообщения / Posts 46 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Romсheg
unregistered



Icon 1 отправлено / posted            Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Да тут не сам ТМ капризничает, контроллер малость "туговат на ухо" при работе через TCP. [Усмешка / Big Grin]
IP / IP: IP адрес / IP address | Report this post to a Moderator
Hip67
Forum Member / Участник форума
Участник № / Member № 4427


Icon 1 отправлено / posted      Профиль для / Profile for Hip67           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
а значения приоритетов потоков в окне редактирования узла RTM могут повлиять на общее качество связи?
Сообщения / Posts 46 | Из / From: Russia  |  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 
Повлиять могут. И в значительной степени - в худшую сторону.
Сообщения / Posts 17317 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Hip67
Forum Member / Участник форума
Участник № / Member № 4427


Icon 1 отправлено / posted      Профиль для / Profile for Hip67           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Собственно, с недостоверностями чтения разобрался. подобрал настройки в ip_modbus.а с записью все те же проблемы [Неодобрение / Frown]
после передачи значения выскакивает недостоверность.
а вот и сама ошибка из лога. (debug := 400)

(13:40:26) ERR_TCP:ModBus recieve error from unit_23 err=10 W_Word(16)#2

Сообщения / Posts 46 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Romсheg
unregistered



Icon 1 отправлено / posted            Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Смотрите по документации на протокол ModBus, что именно значит 10-я ошибка. Контроллер похоже отвечает, но отвечает ошибкой на вашу посылку.
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