kvaks
@kvaks

Как с ардуины через интерфейс передать modbus?

Пытаюсь посылать ардуиной данный по modbus(485 по 2 проводам) связка
arduino -- XY-017 -- moxa to ETH и дальше уже обрабатывать их.

Пытался использовать библиотеку ModbusRtu.h, но вижу осциллографом что данные не отправляются и TxRX не на моксе не на ардуино не моргают.

XY-017 подключен к пинам 0 и 1. (местами менял не помогает)

мокса конечно же мастер. вместо моксы подключал Uport1130 и читал его "Modbus Poll" с com port ардуины данные идут, а с преобразователя тишина.

#include "ModbusRtu.h"
#define ID   1      // адрес ведомого
//Задаём ведомому адрес, последовательный порт, выход управления TX
Modbus modbus(ID, 0, 1);
uint16_t MBdata[11]; // массив данных modbus

void setup() {
  modbus.begin( 9600 );
}
 
void loop() {
  float current = 55;
  modbus.poll( MBdata, 11);  // обработка сообщений
  MBdata[0] = current;
  MBdata[8] = modbus.getInCnt();
  MBdata[9] = modbus.getOutCnt();
  MBdata[10] = modbus.getErrCnt();
 }
  • Вопрос задан
  • 557 просмотров
Решения вопроса 1
@VT100
Embedded hardware & software.
modbus(485 по 2 проводам)

Желательно - по трём проводам, включая "землю" (GND).

Схема на XY-017 есть? На вид - там лишняя ИМС U2, которая навевает мысли, что это преобразователь USB-RS485, который тут не пригоден.

Какая ардуина используется? По схеме Nano вижу, что линии UART mega328 никак не отделены от FT232, что может вызывать конфликт при подключении XY-017 в параллель.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@lonelymyp
Хочу вылезти из минуса по карме.
Отцепляешь эту штуковину и проверяешь что у тебя ардуина вообще что-то выдаёт по uart на заданных ножках. Когда добьёшься что ардуина станет передавать и принимать, можно подключать этот конвертер и смотреть дальше.
Ответ написан
@Pujine
Там на конвертере перепутаны надписи на контактах соединять нужно TX - TX, RX - RX
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы