RS485 modbus connection timed out

I am trying to read a Modbus energy meter (QEED) with a Arduino Opta. Somehow I keep getting the error 'Connection timed out'.

Arduino A- connected to A+ on energy meter, Arduio B+ connected to B- on energy meter.

From my understanding this should be the right call for reading the address of the device:

if (!ModbusRTUClient.requestFrom(0x01, HOLDING_REGISTERS, 0x02, 1)) {

From documentation of the meter:

ADDRESS LIST BASE 1 (40001)
MICROPROCESSOR'S REGISTERS BASE 0 (0000)
EXAMPLE _ to read register 40003 (address device = 1)
Tx: <01> <03> <00> <02> <00> <01> <25> <CA>

I adjusted the 0x0002 to different values but keep getting connection timed out. Any suggestions?

Hi @mark89769 ,

Please take a look at the following tutorial:

Energy Management with Opta™

I hope you find it useful.

Best,

Hi, This is Jeong-moo Hwang who want to code the Arduino OPTA.

I would like to ask some question regarding the problem that you suffered. Did you solve the problem ??

Actually I send the correct Slave ID, Address, Fuction code from OPTA(Master) to relay channel(Slave). However, The CRC code was wrong. There are CRC error..

Therefore, I try to code by using Arduino IDE. In this case, there are error messages like "failed! Connection timed out".

If you solve the problem, could you help me ??

Sincerely,

Maybe you should post your code, your hardware and your modbus protocol.