arduino modbus 485
- Войдите на сайт для отправки комментариев
Пт, 08/05/2020 - 16:02
Пытаюсь посылать ардуиной данный по 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(); }
А мокс у вас мастер или слейв? Судя по скетчу, мокс должен быть мастер - а знает ли он об этом? Может его надо соответствующим образом настроить?
мокса конечно же мастер. вместо моксы подключал Uport1130 и читал его "Modbus Poll" с com port ардуины данные идут, а с преобразователя тишина.
Я как-то возился с Modbus-TCP преобразователем. Там нюансов дохера.
может советы тогда будут?
Типа "Зайди в веб-интерфейс, перейди на закладку такую-то, тыкни вот этот чекбокс и всё"?
Типа "Зайди в веб-интерфейс, перейди на закладку такую-то, тыкни вот этот чекбокс и всё"?
это явно про моксу, но сне все нормально как раз.