PDA

Просмотр полной версии : Нет обмена по модбасу со сторонними устройствами.



Serrk
24.12.2020, 00:49
Приобрёл радиомост ZT 2570(https://ipc2u.ru/catalog/zt-2570) и модуль аналогового ввода ZT2017. Создал в кодесисе канал Modbus rtu, ни какого обмена. Обратился в поддержку продавцам, те подключились к модулям http://www.icpdas.com/en/download/show.php?num=1046&root=&model=&kw=DCON%20Utility (DCON_Utility_Pro) и считали в ModBus RTU данные с датчиков на входах. Я после этого подключаю эти модули с СПК 107 м1 и опять ни какого обмена.
Вопрос 1 кто ни будь пользовался этими модулями? 2 Бывают другие, не совместимые друг с другом версии ModBus RTU? 3 Есть какая ни будь утилита для опроса устройства, для определения того, что он точно работает в Modbus RTU а не DCON например? Для проверки верности настроек канала подключал к этому порту на СПК м1 МВ 110 224 8а, работает. Есть идеи куда копать?

Евгений Кислов
24.12.2020, 06:25
Приобрёл радиомост ZT 2570(https://ipc2u.ru/catalog/zt-2570) и модуль аналогового ввода ZT2017. Создал в кодесисе канал Modbus rtu, ни какого обмена. Обратился в поддержку продавцам, те подключились к модулям http://www.icpdas.com/en/download/show.php?num=1046&root=&model=&kw=DCON%20Utility (DCON_Utility_Pro) и считали в ModBus RTU данные с датчиков на входах. Я после этого подключаю эти модули с СПК 107 м1 и опять ни какого обмена.
Вопрос 1 кто ни будь пользовался этими модулями? 2 Бывают другие, не совместимые друг с другом версии ModBus RTU? 3 Есть какая ни будь утилита для опроса устройства, для определения того, что он точно работает в Modbus RTU а не DCON например? Для проверки верности настроек канала подключал к этому порту на СПК м1 МВ 110 224 8а, работает. Есть идеи куда копать?

Судя по документации - ваш модуль поддерживает и Modbus RTU, и DCON, причем по умолчанию включен DCON.
Протокол выбирается DIP-переключателем.
На стороне шлюза тоже, возможно, нужно что-то настроить.

Т.е. после первичного знакомства с документацией - есть ощущение, что опрос вашего модуля с СПК по Modbus RTU настроить можно.

P.S. - может, вас смутила логическая адресация в документе?
30001 означает "регистр 0, функция 04"

Евгений Кислов
24.12.2020, 07:29
Где-то там

Так это же где-то там.
А в документации производителя все прозрачно:
http://ftp.icpdas.com/pub/cd/usbcd/napdos/zigbee/zt_series/document/zt-2017/zt-2017(c)_usermanual_0010_en_20130327.pdf

стр. 65.


Example:
Read the analog input value of the module 01, the following command should be sent
01 04 00 00 00 08 F1 CC

Serrk
24.12.2020, 08:12
Пробовал в кодсисе указывать сдвиг 0, 30001 и 30000. Дип щёлкал и модбас и дкон. Всё по барабану, статус канала красный треугольник.

Евгений Кислов
24.12.2020, 08:16
Пробовал в кодсисе указывать сдвиг 0, 30001 и 30000. Дип щёлкал и модбас и дкон. Всё по барабану, статус канала красный треугольник.

Судя по документации - после манипуляций с дипами надо перезагружать прибор по питанию.
Я бы вам рекомендовал сначала с ПК опросить модуль любым модбас мастером (Insat OPC, например).

Serrk
24.12.2020, 08:42
СПК м1 куплен 25 ноября проект сделал в Codesys 3.5SP14p3 . Может Codesys надо другой?

Евгений Кислов
24.12.2020, 08:49
СПК м1 куплен 25 ноября проект сделал в Codesys 3.5SP14p3 . Может Codesys надо другой?

Я думаю, проблема не в СПК и CODESYS, а в особенностях настройки ваших slave-устройств.
Поэтому рекомендую сначала наладить опрос с ПК, без участия СПК и CODESYS.


Для проверки верности настроек канала подключал к этому порту на СПК м1 МВ 110 224 8а, работает.

Serrk
25.12.2020, 14:18
В итоге пляски с бубном. Выяснил что мв 110 224 8а опрашивается c компа утилитой MBRTU V.1.0.9 успешно.
52756
Также нормально отвечают радимодули ZT
52757
Оба имеют адреса 1.
Подключаю их к портам 1 и 2 панели СПК м1
МВ110 нормально ZT в отвале
52758
ввожу не верные сдвиг в канале МВ 110 десятку, в итоге МВ 110 отваливается от порта.
52759
Для канала с ZT модулями вводил сдвиг 0, 30000, 30001 всё по барабану в отвале. Предполагаю, что дело в сдвиге. Но как узнать какой нужен?

Евгений Кислов
25.12.2020, 14:40
Также нормально отвечают радимодули ZT

При запросе с адресом 1 модуль отвечает, что данный код функции не поддерживается.
При запросе с адресом 2 модуль что-то отвечает, но это не Modbus RTU.

Мне кажется, это нельзя назвать "нормальным".

Я бы рекомендовал вам связаться с техподдержкой ICP DAS, чтобы они продемонстрировали, как в вашей программе на ПК получить корректный ответ от модуля.
Корректность можно проверить онлайн-парсером, например:
http://rapidscada.net/modbus/ModbusParser.aspx

P.S. - попробуйте не 1 регистр прочитать, а 8 (как в примере в документации).
Вдруг по каким-то странным соображениям позволено считывать некоторые параметры только пачками.

Serrk
25.12.2020, 15:02
И ещё, как то можно узнать код ошибки который возвращает ZT модуль контроллеру?

Евгений Кислов
25.12.2020, 15:08
И ещё, как то можно узнать код ошибки который возвращает ZT модуль контроллеру?

На вашем скриншоте видно, что код ошибки 01 (ILLEGAL FUNCTION).

Serrk
25.12.2020, 18:47
Обмен заработал. Не пойму как. Спасибо всем кто участвовал.

Евгений Кислов
25.12.2020, 18:49
Обмен заработал. Не пойму как. Спасибо всем кто участвовал.

Жаль, а то было бы интересно узнать, в чем нюанс был.

Serrk
27.12.2020, 11:42
Зазиповал два архива.

Serrk
27.12.2020, 11:50
Теперь я поднял канал с ZT. Но во всех регистрах я вижу нолики, чёрного цвета. Послал в их поддержку вопрос , надеюсь что нибудь подскажут. А может мой порт не красивые биты шлёт?

52790

Евгений Кислов
27.12.2020, 11:56
В первом проекте в Modbus_Slave_COM_Port для параметра Всегда обновлять переменные не установлено значение Вкл. 2.
Так что ничего странного в наблюдаемой ситуации нет.

Гораздо интереснее, какие манипуляции привели к налаживанию обмена с ICP DAS.

Евгений Кислов
27.12.2020, 11:57
Теперь я поднял канал с ZT. Но во всех регистрах я вижу нолики, чёрного цвета. Послал в их поддержку вопрос , надеюсь что нибудь подскажут. А может мой порт не красивые биты шлёт?

52790

Вероятно, дело опять в той настройке, о которой я писал выше:
https://owen.ru/forum/showthread.php?t=28167&p=343792&viewfull=1#post343792

Serrk
27.12.2020, 12:03
Я создал новый проект в котором создал канал модбас. Подключил к нему модуль мв 110 224 8а. Увидал на модуле моргающую лампочку " обмен по порту" решил, что всё в порядке. Но не смотря на мигающую лампочку обмен не происходил.52791 . Мне нужно было посмотреть ,что за переменные идут (подвела самоуверенность). Я подсоединил к этому каналу , на теже провода ZT 2570 и увидел отсутствие обмена. Когда увидел отсутствие обмена с МВ 110, удивился. Открыл старый проект с работающим обменом, скопировал от туда полностью порт, вставил в новый проект, и обмен пошёл.
52792

Евгений Кислов
27.12.2020, 12:05
Про 8А у меня вопросов нет, интересно как раз про ZT 2570, который


Обмен заработал. Не пойму как

Serrk
27.12.2020, 12:14
Да нет нолики чёрные и настройку попереключал . И настройки канала ZT пробовал сдвиг 0 ,30000, 30001 функция 4 и 3 (чтение)

Serrk
27.12.2020, 12:17
Можно как нибудь при обмене с СПК узнать какие ошибки в канале есть или нету? А то обмен без данных никому и не нужен.

Евгений Кислов
27.12.2020, 12:19
Можно как нибудь при обмене с СПК узнать какие ошибки в канале есть или нету? А то обмен без данных никому и не нужен.

Если ровно горит зеленый кружок рядом с модулем - то ошибок нет.
Значит, модуль в ответ действительно присылает нули.

Serrk
27.12.2020, 12:21
У меня на модуле есть настройка данные HEX и inginiring, я выбрал HEX . Что такое inginiring , я первый раз слышу.

Serrk
27.12.2020, 12:25
Попробовал данные переключить на ingeeniring канал развалился. Вернул на HEX ? всё позеленело , но данные чёрные нули.

Serrk
27.12.2020, 12:50
Что при коде функции модбаса 4 мне ставить сдвиг 30001 не нужно? Регистры 0 сдвинут на 30001 естественным образом?
меня смущает таблица https://ipc2u.ru/articles/prostye-resheniya/modbus-rtu/
52794

В кодесисе ведь надо явно указывать сдвиг до нулевого регистра.

Евгений Кислов
27.12.2020, 12:54
Все эти вопросы вам следует задать техподдержке ICP DAS.

Serrk
28.12.2020, 12:30
Большое спасибо всем участникам. С наступающими праздниками. Оказывается ZT 2017 , без датчиков прекращает обмен с мастером. Гонит кругом нули. Поддержка ICP DAS сама удивилась.

Serrk
30.12.2020, 05:06
Только служебной информации такой как скорость настройки и т.п. тоже нули