Заканчивается бета-тестирование радиоудлинителя интерфейса RS-485 на базе интерфейсного модуля ATRS-485 и радиомодуля ATR1-433, работающего по технологии LoRa.фото форум ОВЕН радиоудлинитель RS485.jpg
Заканчивается бета-тестирование радиоудлинителя интерфейса RS-485 на базе интерфейсного модуля ATRS-485 и радиомодуля ATR1-433, работающего по технологии LoRa.фото форум ОВЕН радиоудлинитель RS485.jpg
Всем привет. Возникла проблема с подключением arduino через modbusTCP. (Тестовый проект: "подергать" ножками, поиграться с ШИМом).
К плате Arduino Uno Chinа подключен модуль Ethernet на старой микросхеме W5100.
В микроконтроллер зашит код:
Скрытый текст:
В проекте ПЛК добавлены устройства Ethernet ModBus Master TCP.
Проект запускается и работает почти нормально. (Кстати: идет обмен с Arduino приблизительно 25-30 раз в секунду. Между ПЛК и Arduino стоит один транзитный роутер. Т.е. устройства стоят почти "в упор".)
- Функция mod-bus h03 (read holding register) работает без проблем. Читает пакетом 6 регистров. Ошибок нет.
- Функция mod-bus h06 (write single register) работает без проблем. Пишет 1 регистр. Ошибок нет.
- Функция mod-bus h01 (read coils) работает без проблем. Читает 1 бит. Ошибок нет.
- А вот функция mod-bus h05 (write single coil) работает, но вызывает постоянную ошибку. Пишет 1 бит. Физически отрабатывает нормально.
При работе постоянно идет ошибка:
ошибкаTCP.png
Может кто-нибудь имел дело с Arduino ModBusTCP ?
В этой функции mod-bus h05 (write single coil) есть какое-то особенность?
В приведённом коде это команда, которая выделена жирным шрифтом (в конце кода).
Последний раз редактировалось ВладОвен; 10.05.2022 в 15:39. Причина: синтаксис
У Arduino Uno есть порт Ethernet ?
С шилдом Ethernet:
shild.png
Я вот такие использую - https://aliexpress.ru/item/100500315...00024418650820 и беды не знаю
электронщик до мозга костей и не только
ВладОвен там есть Web морда и IP по умолчанию от производителя. Даже кажется есть утилиты от производителя, которая найдет устройство, если вы забыли IP...
Это обычный Ethernet - RS485 (или TTL наверное в данном случае) преобразователь.