- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Как подключить серво двигатель по MODBUS? Leadshine EL7 RS400P
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 7
- Зарегистрирован: 04 сен 2023, 07:32
- Имя: Денис Пильщиков
- Страна: Россия
- город/регион: Moscow
Как подключить серво двигатель по MODBUS? Leadshine EL7 RS400P
1 попытка .
Пытаюсь подключить серво драйвер по Modbus RTU. Контроллер - fx5u, на нем использую встроенный rs485. На драйвере разъем под Ethernet.Серводрайвер не реагирует никоим образом ни на какие попытки считать с него данные. Просто молчит, ошибки не кидает, ничего не происходит.
2 попытка
Птыаюсь подключить через RS485->USB переходник сразу к компьютеру. (Переходник был проверен, путем подключения плк к пк, все работает, через софт Modbus Slave передача идет)
Параметры все выставляю одинаковые. Пробовал и макс. скорость подключения, и минимальную, везде одна и та же ситуация - ноль реакции. То есть драйвер просто не реагирует на команды.
Подключение не совсем стандартное. На драйвере ethernet порт для modbus rtu. Думаю что косяк с ним, но как только не пробовал подключать, все одно и то же.
Запускаю софт Modbus Poll и пытаюсь сканировать адреса, в итоге также просто молчание. Ничего не происходит.
Подключил таким образом:
Обычно rs485 предпологает всего два провода для связи. Собственно тут я и подключил эти 2 провода. :
(RDO+, TXD+) A
(RDO-, TXD-) B
Даже не знаю в какую сторону копать. В чем может быть проблема того что драйвер просто игнорит все сообщения ?
Скришоты приложил и официальный мануал : https://disk.yandex.ru/d/Fpl8lNjN5DuTcQ
Пытаюсь подключить серво драйвер по Modbus RTU. Контроллер - fx5u, на нем использую встроенный rs485. На драйвере разъем под Ethernet.Серводрайвер не реагирует никоим образом ни на какие попытки считать с него данные. Просто молчит, ошибки не кидает, ничего не происходит.
2 попытка
Птыаюсь подключить через RS485->USB переходник сразу к компьютеру. (Переходник был проверен, путем подключения плк к пк, все работает, через софт Modbus Slave передача идет)
Параметры все выставляю одинаковые. Пробовал и макс. скорость подключения, и минимальную, везде одна и та же ситуация - ноль реакции. То есть драйвер просто не реагирует на команды.
Подключение не совсем стандартное. На драйвере ethernet порт для modbus rtu. Думаю что косяк с ним, но как только не пробовал подключать, все одно и то же.
Запускаю софт Modbus Poll и пытаюсь сканировать адреса, в итоге также просто молчание. Ничего не происходит.
Подключил таким образом:
Обычно rs485 предпологает всего два провода для связи. Собственно тут я и подключил эти 2 провода. :
(RDO+, TXD+) A
(RDO-, TXD-) B
Даже не знаю в какую сторону копать. В чем может быть проблема того что драйвер просто игнорит все сообщения ?
Скришоты приложил и официальный мануал : https://disk.yandex.ru/d/Fpl8lNjN5DuTcQ
-
- администратор
- Сообщения: 18758
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 973 раза
- Поблагодарили: 1854 раза
Как подключить серво двигатель по MODBUS? Leadshine EL7 RS400P
Если МодБас Пул связывается, то из него параметры просто переписываются в контроллер, провода переключаются и должно ехать. Значит дело не в железе, а в том как контроллер шлёт запросы.DenisPilshikov писал(а): ↑05 сен 2023, 08:43Птыаюсь подключить через RS485->USB переходник сразу к компьютеру. (Переходник был проверен, путем подключения плк к пк, все работает, через софт Modbus Slave передача идет)
Параметры все выставляю одинаковые. Пробовал и макс. скорость подключения, и минимальную, везде одна и та же ситуация - ноль реакции.
Абсолютно все? Даже опрос какого-нибудь регистра?DenisPilshikov писал(а): ↑05 сен 2023, 08:43Даже не знаю в какую сторону копать. В чем может быть проблема того что драйвер просто игнорит все сообщения ?
По вопросам работы Форума можно обратиться по этим контактам.
-
- не первый раз у нас
- Сообщения: 396
- Зарегистрирован: 28 сен 2022, 15:26
- Имя: Андрей
- Благодарил (а): 12 раз
- Поблагодарили: 54 раза
Как подключить серво двигатель по MODBUS? Leadshine EL7 RS400P
это не эзернет, это RJ-45
add: а почему слейв айди 10? поменяли уже дефолтный 1?
Последний раз редактировалось I_m 05 сен 2023, 10:29, всего редактировалось 1 раз.
-
- администратор
- Сообщения: 18758
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 973 раза
- Поблагодарили: 1854 раза
Как подключить серво двигатель по MODBUS? Leadshine EL7 RS400P
Ничего не понятно. Сначала пишете что Пул связывается, тут же оказывается не связывается. Где косяк-то?DenisPilshikov писал(а): ↑05 сен 2023, 08:43 Запускаю софт Modbus Poll и пытаюсь сканировать адреса, в итоге также просто молчание. Ничего не происходит.
А надо не как обычно, а документацию посмотреть. Сами же говорите что
.
По вопросам работы Форума можно обратиться по этим контактам.
-
- здесь недавно
- Сообщения: 7
- Зарегистрирован: 04 сен 2023, 07:32
- Имя: Денис Пильщиков
- Страна: Россия
- город/регион: Moscow
Как подключить серво двигатель по MODBUS? Leadshine EL7 RS400P
Приветствую. Проблема решилась - суть была в том что в документации схема распиновки RJ45 в первом месте нумеруется с одной стороны, во второй - с другой. Переподключил - работает.Jackson писал(а): ↑05 сен 2023, 10:29Ничего не понятно. Сначала пишете что Пул связывается, тут же оказывается не связывается. Где косяк-то?DenisPilshikov писал(а): ↑05 сен 2023, 08:43 Запускаю софт Modbus Poll и пытаюсь сканировать адреса, в итоге также просто молчание. Ничего не происходит.А надо не как обычно, а документацию посмотреть. Сами же говорите что.
Теперь проблема в том, что работает только запись в регистры, но не работает чтение оттуда. Если пытаюсь считывать (пробовал и с плк, и с пк через Modbus Poll), все по нулям. Сканер регистров что встроен в Modbus Poll возвращает по всем ячейкам 0 (со статусом Response OK). То есть 0 приходит без какой либо ошибки.
Отправлено спустя 15 минут 1 секунду:
Вот пример программы. Пытаюсь отправить в драйвер в регистр значение функцией 0x6. Получается.
После чего оттуда же считываю значение функцией 0x3( - приходит 0, как и со всеми другими переменными). Ячейка в документации помечена как R/W. То есть оттуда можно и считывать и записывать.
https://yadi.sk/i/1Lq93G14oKAoxw
-
- администратор
- Сообщения: 18758
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 973 раза
- Поблагодарили: 1854 раза
Как подключить серво двигатель по MODBUS? Leadshine EL7 RS400P
А функцией 0х4 пробовали?
По вопросам работы Форума можно обратиться по этим контактам.
-
- здесь недавно
- Сообщения: 7
- Зарегистрирован: 04 сен 2023, 07:32
- Имя: Денис Пильщиков
- Страна: Россия
- город/регион: Moscow
Как подключить серво двигатель по MODBUS? Leadshine EL7 RS400P
Да, пробовал. Modbus Poll кидает ошибку что функция не та. А плк ничего не меняется(ошибки тоже не сыпятся)
В документации заявлено их всего три 0x3/0x6/0x10.
Есть один нюанс, в коде программы пишу что при старте плк, записать в регистр D1 условно пусть будет 3.
Так вот далее по коду в тот же регистр считывается значение каждые 2 сек.
Но на плк ничего не меняется. Как была 3 так она и остается.
Поэтому мысли такие, что в коде запроса не то что то. По идее мы должны были увидеть что наша тройка перезаписывается приходящим числом(даже если это 0) , но этого не происходит почему то.
https://yadi.sk/d/sGrsWcm56aCCUA
-
- администратор
- Сообщения: 18758
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 973 раза
- Поблагодарили: 1854 раза
Как подключить серво двигатель по MODBUS? Leadshine EL7 RS400P
Модбас Пулом открыть окно мониторинга трафика и смотреть, что уходит в устройство и что в ответ летит. Либо сторонним сниффером порта послушать. Если запрос ушёл и пришёл нормальный ответ, но с нулями - это значит что с форматом опроса всё в порядке, сам ПЧ так отдаёт.DenisPilshikov писал(а): ↑12 сен 2023, 06:15 Поэтому мысли такие, что в коде запроса не то что то. По идее мы должны были увидеть что наша тройка перезаписывается приходящим числом(даже если это 0) , но этого не происходит почему то.
Если всё как описано выше (в смысле всё в порядке), то попробуйте запрашивать по одному регистру и одному входу (или одному DI, или что Вы запрашиваете), а не несколько пачкой. В МодБас Пуле ведь можно несколько пулов сразу открыть. Где-то у меня было что я запрашивал состояние DO пачкой 15 функцией - нули. А запрашивал по одному 5 функцией (ЕМНИП, 1 функция чтение, 5 функция запись) - всё хорошо. Причина - ну так сделал производитель, пойди достучись до него теперь. Просто по аналогии.
По вопросам работы Форума можно обратиться по этим контактам.
-
- здесь недавно
- Сообщения: 7
- Зарегистрирован: 04 сен 2023, 07:32
- Имя: Денис Пильщиков
- Страна: Россия
- город/регион: Moscow
Как подключить серво двигатель по MODBUS? Leadshine EL7 RS400P
Ок. Делаю так - ставлю через фирменный софт - значение для адреса 0x0003 = 6. Далее запускаю Modbus Poll со сканом этой ячейки.Jackson писал(а): ↑12 сен 2023, 09:55Модбас Пулом открыть окно мониторинга трафика и смотреть, что уходит в устройство и что в ответ летит. Либо сторонним сниффером порта послушать. Если запрос ушёл и пришёл нормальный ответ, но с нулями - это значит что с форматом опроса всё в порядке, сам ПЧ так отдаёт.DenisPilshikov писал(а): ↑12 сен 2023, 06:15 Поэтому мысли такие, что в коде запроса не то что то. По идее мы должны были увидеть что наша тройка перезаписывается приходящим числом(даже если это 0) , но этого не происходит почему то.
Если всё как описано выше (в смысле всё в порядке), то попробуйте запрашивать по одному регистру и одному входу (или одному DI, или что Вы запрашиваете), а не несколько пачкой. В МодБас Пуле ведь можно несколько пулов сразу открыть. Где-то у меня было что я запрашивал состояние DO пачкой 15 функцией - нули. А запрашивал по одному 5 функцией (ЕМНИП, 1 функция чтение, 5 функция запись) - всё хорошо. Причина - ну так сделал производитель, пойди достучись до него теперь. Просто по аналогии.
в итоге видим 0 в результатах.
Далее меняю значение с 6 на 1. Опять сканирую. опять 0.
НО, в логах сообщений видно, что там действительно меняются значения. то есть я вижу что драйвер присылает нужное значение по запросу, а не нули. Но ни плк, ни Modbus Poll не отображает его.
https://yadi.sk/d/uGHzJQs4l0XkHg
https://yadi.sk/i/oFDfoVtPcHNZlw
Запрос делал в размере 1 ячейки.
-
- завсегдатай
- Сообщения: 544
- Зарегистрирован: 19 мар 2012, 20:04
- Имя: Павел
- Страна: Россия
- Благодарил (а): 6 раз
- Поблагодарили: 59 раз
Как подключить серво двигатель по MODBUS? Leadshine EL7 RS400P
Байты в ответе есть возможность переставить и посмотреть результат?
-
- администратор
- Сообщения: 18758
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 973 раза
- Поблагодарили: 1854 раза
Как подключить серво двигатель по MODBUS? Leadshine EL7 RS400P
Что-то не договариваете. Если нужные значения из слейва уходят, то либо они не доходят до мастера, либо мастер их не понимает. Не доходить до мастера они не могут - иначе мастер вообще не видел бы никаких ответов (CRC не сойдётся). Значит дело в том, что мастер не понимает ответы, вот и всё.DenisPilshikov писал(а): ↑12 сен 2023, 14:33 НО, в логах сообщений видно, что там действительно меняются значения. то есть я вижу что драйвер присылает нужное значение по запросу, а не нули. Но ни плк, ни Modbus Poll не отображает его.
Да, вариант.
По вопросам работы Форума можно обратиться по этим контактам.
-
- здесь недавно
- Сообщения: 7
- Зарегистрирован: 04 сен 2023, 07:32
- Имя: Денис Пильщиков
- Страна: Россия
- город/регион: Moscow
Как подключить серво двигатель по MODBUS? Leadshine EL7 RS400P
Ну ситуация такова, мне нужно 16 битный регистр в 16 битный регистр в плк отправить же. Насколько я правильно понимаю, порядок high и low, это актуально только для 32 bit.Jackson писал(а): ↑12 сен 2023, 16:00Что-то не договариваете. Если нужные значения из слейва уходят, то либо они не доходят до мастера, либо мастер их не понимает. Не доходить до мастера они не могут - иначе мастер вообще не видел бы никаких ответов (CRC не сойдётся). Значит дело в том, что мастер не понимает ответы, вот и всё.DenisPilshikov писал(а): ↑12 сен 2023, 14:33 НО, в логах сообщений видно, что там действительно меняются значения. то есть я вижу что драйвер присылает нужное значение по запросу, а не нули. Но ни плк, ни Modbus Poll не отображает его.Да, вариант.
Вот я написал программу простую. В цикле пытается прочитать ячейку 0x0009.
Подключил драйвер к плк, запускаю. ПЛК отображает 0. Ошибок нет
При этом если я цепляюсь через usb/rs485 и просматриваю порт, там по кругу крутится сообщение
0A 03 00 09 00 01 55 73 0A 03 02 01 0D DD D0
Что соответствует 2 сообщениям друг от друга:
Slave address 0x0A (10)
Function code 0x03 (3) - Read Holding Registers
Starting address Physical: 0x0009 (9)
Logical: 0x000A (10)
Quantity 0x0001 (1)
CRC 0x5573 (21875)
Slave address 0x0A (10)
Function code 0x03 (3) - Read Holding Registers
Byte count 0x02 (2)
Register value 0x010D (269)
CRC 0xDDD0 (56784)
то есть обратно ворачивается эта 16 битная ячейка, и там действительно сейчас 269.
Потыкал все варианты настроек на Modbus Poll которые меняют формат отображения, в том числе и те которые ставят порядок байтов - все так же 0.
Была идея что это что то с плк, но почему тогда в modbus poll то же 0
-
- не первый раз у нас
- Сообщения: 396
- Зарегистрирован: 28 сен 2022, 15:26
- Имя: Андрей
- Благодарил (а): 12 раз
- Поблагодарили: 54 раза
Как подключить серво двигатель по MODBUS? Leadshine EL7 RS400P
Если Вы сниффером видите 269, а modbus poll рисует 0, то может с modbus poll что-то не так? Попробуйте radzio modbus master simulator, например.DenisPilshikov писал(а): ↑13 сен 2023, 09:04 Была идея что это что то с плк, но почему тогда в modbus poll то же 0
-
- администратор
- Сообщения: 18758
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 973 раза
- Поблагодарили: 1854 раза
Как подключить серво двигатель по MODBUS? Leadshine EL7 RS400P
Неправильно понимаете. Бывает всякое.DenisPilshikov писал(а): ↑13 сен 2023, 09:04 Насколько я правильно понимаю, порядок high и low, это актуально только для 32 bit
На МодбасПул не надо грешить, он нормальный. И байты переворачивать умеет, между прочим.
С телеграммой разобраться надо. Может это и не модбас никакой, производители иногда применяют что-то на основе модбаса, но своё, и тогда МодбасПул действительно будет бессилен. Но и софт надо писать тогда не под модбас.
По вопросам работы Форума можно обратиться по этим контактам.
-
- завсегдатай
- Сообщения: 544
- Зарегистрирован: 19 мар 2012, 20:04
- Имя: Павел
- Страна: Россия
- Благодарил (а): 6 раз
- Поблагодарили: 59 раз
Как подключить серво двигатель по MODBUS? Leadshine EL7 RS400P
И для 16 бит тоже актуально.DenisPilshikov писал(а): ↑13 сен 2023, 09:04 Насколько я правильно понимаю, порядок high и low, это актуально только для 32 bit.
-
- здесь недавно
- Сообщения: 7
- Зарегистрирован: 04 сен 2023, 07:32
- Имя: Денис Пильщиков
- Страна: Россия
- город/регион: Moscow
Как подключить серво двигатель по MODBUS? Leadshine EL7 RS400P
Просто невероятно. Я уже думал что сойду с ума. Ваша идея оказалась рабочей, и эта программа видит регистры и корректно их отображает!!I_m писал(а): ↑13 сен 2023, 09:25Если Вы сниффером видите 269, а modbus poll рисует 0, то может с modbus poll что-то не так? Попробуйте radzio modbus master simulator, например.DenisPilshikov писал(а): ↑13 сен 2023, 09:04 Была идея что это что то с плк, но почему тогда в modbus poll то же 0
Осталось понять как сделать так, чтобы на контроллере было видно эти значения, а не нули.
-
- не первый раз у нас
- Сообщения: 396
- Зарегистрирован: 28 сен 2022, 15:26
- Имя: Андрей
- Благодарил (а): 12 раз
- Поблагодарили: 54 раза
Как подключить серво двигатель по MODBUS? Leadshine EL7 RS400P
Не так, чтобы очень давно была тема, где у человека ничего не получалось, пока он версию modbus poll не сменил. Подробностей не помню, искать лень.
-
- авторитет
- Сообщения: 865
- Зарегистрирован: 16 ноя 2016, 11:33
- Имя: Максим Владимирович
- Страна: Россия
- город/регион: Магнитогорск
- Благодарил (а): 16 раз
- Поблагодарили: 223 раза
Как подключить серво двигатель по MODBUS? Leadshine EL7 RS400P
Недавно с таким столкнулся.
После проведения процедуры "активации" Modbus Poll стал видеть одни 0 в регистрах, хотя по факту даже запись в них работала ))
Пришлось версию сменить на более старую. У коллег такой же опыт имеется )
-
- администратор
- Сообщения: 18758
- Зарегистрирован: 17 июн 2008, 16:01
- Имя: Евгений свет Брониславович
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 973 раза
- Поблагодарили: 1854 раза
Как подключить серво двигатель по MODBUS? Leadshine EL7 RS400P
Слышал. Но сам не обновляюсь до последних версий без надобности.
"Не трогай работающую технику и она тебя не подведёт"
Но в общем да, сравнить версии надо бы. У меня 4.3.4 Build 307
Перед тем как что-то сделать, хорошо бы понять, почему именно такая картина наблюдается.
Отправлено спустя 2 минуты 14 секунд:
Например разобраться с протоколом: ASCII, RTU, TCP, RTUoverTCP... Вон их сколько вариантов. Возможно, в этом всё и дело.
По вопросам работы Форума можно обратиться по этим контактам.
-
- завсегдатай
- Сообщения: 544
- Зарегистрирован: 19 мар 2012, 20:04
- Имя: Павел
- Страна: Россия
- Благодарил (а): 6 раз
- Поблагодарили: 59 раз
Как подключить серво двигатель по MODBUS? Leadshine EL7 RS400P
Можно попробовать Multiway от Омрон. Там есть вкладка Модбас. Причем он и слейвом может работать.
-
- эксперт
- Сообщения: 2471
- Зарегистрирован: 20 дек 2018, 04:45
- Имя: Сергей
- Страна: РБ/РФ
- город/регион: РФ Сергиев Посад
- Благодарил (а): 2121 раз
- Поблагодарили: 208 раз
Как подключить серво двигатель по MODBUS? Leadshine EL7 RS400P
Это действительно нормальный обмен для чтения регистра 9 со значением 269.DenisPilshikov писал(а): ↑13 сен 2023, 09:04 При этом если я цепляюсь через usb/rs485 и просматриваю порт, там по кругу крутится сообщение
0A 03 00 09 00 01 55 73 0A 03 02 01 0D DD D0
Непонятно, что происходит с Modbus Pull, но попробуйте задать тайминги Modbus в контроллере FX5u чутка побольше (в районе 30-100). Обычно достаточно увеличения тайминга между вопросом и ответом.
В трансформаторной будке живет трансформаторная собака (с) Прозрачный гонщик.