Hi , im having very difficult time with modbusmaster so moved to arduinomodbus
modbus master was sending the right string but not able to parse the response
opened an issue but not resolved if can help please visit MODBUS over rs-485 - #18 by Dharani123 . now this arduino modbus is not sending correct query string my code is
#include <ArduinoRS485.h>
#include <ArduinoModbus.h>
int counter = 0;
void setup() {
Serial.begin(9600);
while (!Serial);
if (!ModbusRTUClient.begin(9600)) {
Serial.println("Failed to start Modbus RTU Client!");
while (1);
}
}
void loop() {
readInputRegisterValues();
counter++;
delay(5000);
Serial.println();
}
void readInputRegisterValues() {
Serial.print("Reading input register values ... ");
if (!ModbusRTUClient.requestFrom(1, INPUT_REGISTERS, 0x05, 4)) {
Serial.print("failed! ");
Serial.println(ModbusRTUClient.lastError());
} else {
Serial.println("success");
while (ModbusRTUClient.available()) {
Serial.print(ModbusRTUClient.read());
Serial.print(' ');
}
Serial.println();
}
}
required modbus frame
01 04 00 05 00 04 E1 C8
Modbusframe getting
79 BD F7 FF F5 FF F7 3D 6F FC
Im using pin 1 of arduino for tx that is default serial port 0 pin
2 to control re and de of max485