Alexandr.Seleznev
New member
Всем привет.
Подключаю esp8266 NodeMCU как мастера к слэйву. При помощи библиотеки хочу прочитать значения регистров слэйва. Не понимаю почему не выводит значения регистров.
Настройки подключения(скорость, четность, стоп биты) подключены правильно. ESP подключаю преобразователем UART -> RS485 на MAX485.
Слэйвом выступает счетчик энергии map3et.
Подключаю esp8266 NodeMCU как мастера к слэйву. При помощи библиотеки хочу прочитать значения регистров слэйва. Не понимаю почему не выводит значения регистров.
Настройки подключения(скорость, четность, стоп биты) подключены правильно. ESP подключаю преобразователем UART -> RS485 на MAX485.
Слэйвом выступает счетчик энергии map3et.
C++:
/*
Modbus Library for Arduino Example - Modbus RTU Client
Read Holding Registers from Modbus RTU Server in blocking way
ESP8266 Example
(c)2020 Alexander Emelianov (a.m.emelianov@gmail.com)
https://github.com/emelianov/modbus-esp8266
*/
#include <ModbusRTU.h>
#include <SoftwareSerial.h>
#define SLAVE_ID 39
#define FIRST_REG 128
#define REG_COUNT 2
// MODBUSRTU_REDE_SWITCH_US 1200
#define DE_RE 12 //D6 For MAX485 chip
#define RX 3 // RX Node MCU
#define TX 1 // TX Node MCU
SoftwareSerial S(RX, TX);
ModbusRTU mb;
bool cb(Modbus::ResultCode event, uint16_t transactionId, void* data) { // Callback to monitor errors
if (event != Modbus::EX_SUCCESS) {
Serial.print("Request result: 0x");
Serial.println(event, HEX);
}
return true;
}
void setup() {
Serial.begin(115200);
S.begin(9600, SWSERIAL_8N2, RX, TX);
mb.begin(&S, DE_RE);
mb.master();
}
//uint16_t response = 0;
uint16_t regs[REG_COUNT];
void loop() {
// uint16_t regs;
if (!mb.slave()) { // Check if no transaction in progress
mb.readHreg(SLAVE_ID, FIRST_REG, regs, REG_COUNT, cb); // Send Read Hreg from Modbus Server
while(mb.slave()) { // Check if transaction is active
mb.task();
yield();
//delay(20);
}
//delay(1000);
//Serial.print("response = "); Serial.println(response);
Serial.print("regs = "); Serial.println(regs[0]);
}
delay(1000);
//mb.task();
}
Вложения
-
169.8 KB Просмотры: 2