arduino modbus 485

kvaks
Offline
Зарегистрирован: 08.01.2015

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

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

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

 

#include "ModbusRtu.h"
#define ID   1      // адрес ведомого
//Задаём ведомому адрес, последовательный порт, выход управления TX
Modbus modbus(ID, 0, 1); 
//Serial.begin(9600);
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();
 } 

 

b707
Offline
Зарегистрирован: 26.05.2017

А мокс у вас мастер или слейв? Судя по скетчу, мокс должен быть мастер - а знает ли он об этом? Может его надо соответствующим образом настроить?

 

kvaks
Offline
Зарегистрирован: 08.01.2015

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

sadman41
Offline
Зарегистрирован: 19.10.2016

Я как-то возился с Modbus-TCP преобразователем. Там нюансов дохера.

kvaks
Offline
Зарегистрирован: 08.01.2015

может советы тогда будут? 

sadman41
Offline
Зарегистрирован: 19.10.2016

Типа "Зайди в веб-интерфейс, перейди на закладку такую-то, тыкни вот этот чекбокс и всё"?

kvaks
Offline
Зарегистрирован: 08.01.2015

sadman41 пишет:

Типа "Зайди в веб-интерфейс, перейди на закладку такую-то, тыкни вот этот чекбокс и всё"?

это явно про моксу, но сне все нормально как раз.