Страница 1 из 3

MODBUS и CRC

СообщениеДобавлено: 03 июл 2024, 17:06
Andreyn01
Привет всем!
Случилось тут одно событие интересное... Были куплены драйверы управления шаговыми двигателями NT86 фирмы Rtelligent, управляются они по MODBUS, но...
Подключить и настроить обмен данными с панелью cMT2078 не выходит. Нужен программный драйвер для панели именно для этих NT86, я правильно понимаю? Или же есть ещё какая-то возможность связать между собой это железо? В настройках панели использовал MODBUS RTU, на драйверах светодиоды связи мигают, а панель регистры считать не может.

Re: MODBUS и CRC

СообщениеДобавлено: 03 июл 2024, 17:27
AlexandrGr
Andreyn01 писал(а):Привет всем!
Подключить и настроить обмен данными с панелью cMT2078 не выходит.

Неправильно подключили или настроили обмен данными.

Re: MODBUS и CRC

СообщениеДобавлено: 03 июл 2024, 17:40
Andreyn01
Подключил к COM2, выводы 1 и 2. 1 - Data+, 2 - Data- в соответствии с документацией.
Для проверки связи с этими драйверами использовал внешний адаптер RS485 и терминальную программу, которая умеет в MODBUS. Там всё хорошо, связь есть, модуль откликается на запросы.

В панели Weintek добавил устройство MODBUS RTU, RTU over TCP, COM2, 9600, N, 8, 1
Создал тэг: word, 0x03, читать адрес 10#11 (10 - адрес моего драйвера, 11 - регистр)
Поместил на экран объект "число", привязал к нему тэг.
По шине что-то бегает, но на экран не выводится.
Панель выводит сообщение: Device No Response

Есть ли какая-нибудь возможность посмотреть "сырые" данные в этом обмене, вместе с CRC, отправляемыми пакетами и принимаемыми?

Re: MODBUS и CRC

СообщениеДобавлено: 03 июл 2024, 19:50
dimensy
Ну, вообще-то СОМ2: 1 - Data-, 2 - Data+
Далее, тип Word - вы что,через Codesys читаете?

Re: MODBUS и CRC

СообщениеДобавлено: 03 июл 2024, 22:05
AlexandrGr
Создал тэг: word, 0x03

Что значит 0х03?
W 3x DDDDD 1 ~ 65535 Input Register (read only)
3x 0x04 Read input register N/A for writing operation
4x 0x03 Read holding register 0x10 Write multiple registers

Re: MODBUS и CRC

СообщениеДобавлено: 03 июл 2024, 22:22
Andreyn01
dimensy писал(а):Ну, вообще-то СОМ2: 1 - Data-, 2 - Data+

Да, верно. 1 - Data-, выше я опечатался. Я даже перепаивал наоборот для проверки, не помогло.
dimensy писал(а):Далее, тип Word - вы что,через Codesys читаете?

Нет, но в будущем буду. В билдере word я имел ввиду: режим адреса - слово.

Завтра попробую вместо драйвера подключить овеновский счётчик импульсов с RS485.

Re: MODBUS и CRC

СообщениеДобавлено: 03 июл 2024, 23:48
dimensy
Тег вы задали так?
Изображение

еще, судя по всему, адреса регистров для панели должны сдвинуться на единицу (но на чтение 11 регистра это не должно сказаться, просто панель прочитает 10 регистр)

Re: MODBUS и CRC

СообщениеДобавлено: 04 июл 2024, 11:14
Andreyn01
AlexandrGr писал(а):
Что значит 0х03?


Что-бы это не значило, должно быть 3х и так есть в проекте, 0х03 имелось ввиду 3х - опечатался, жарко сильно было весь день и пальцы что-то по инерции набирали... 8-)

dimensy писал(а):Тег вы задали так?

еще, судя по всему, адреса регистров для панели должны сдвинуться на единицу (но на чтение 11 регистра это не должно сказаться, просто панель прочитает 10 регистр)


Да, тэг задан так. Даже если панель будет читать 10 регистр вместо 11, меня бы всё устроило, но связи нет.
Набросал простенький скрипт и в редакторе отладки скриптов есть онлайн отладка, так вот, если там посмотреть разные вкладки, то на одной из них есть статус подключений и там MODBUS RTU значится как отключенный, и запросы на него отображаются с ошибкой соответственно. При этом индикаторы на драйверах NT86 моргают с периодичностью которая указана в настройках панели. Если разъём связи отключить, то индикаторы перестают мигать.

Re: MODBUS и CRC

СообщениеДобавлено: 04 июл 2024, 11:24
dimensy
Попробуйте в теге прописать тип адреса не 3х а 4х - походу там holding register

Re: MODBUS и CRC

СообщениеДобавлено: 04 июл 2024, 11:35
Andreyn01
Изображение

Вот тест связи через терминалку.
0A - адрес слейва
00 - адрес регистра
0B - адрес регистра
00 - количество
01 - количество слов для чтения