Today is...
Tuesday, August 21, 2018
Welcome to the Modbus Community, about
the world's leading automation protocol.
Modbus - Problem when read data from Schneider PM1200 by Arduino MEGA 2560
Modbus program to get data from Schneider PM1200 by Arduino MEGA 2560. Arduino is Master, device is slave. Program gives error message "Time out."

I am writing a Modbus program to get data from Schneider PM1200 by Arduino MEGA 2560. Arduino is Master, device is slave.
However, program always notify error "Time out". I can't get data from register of device.

1. Mission:
Read data from registers of Schneider PM1200 by Arduino ( Modbus Master)

Link : http://www2.schneider-electric.com/resources/sites/SCHNEIDER_ELECTRIC/content/live/FAQS/212000/FA212509/en_US/PM1000_User_Guide.pdf (page 53)

2. Connection Diagram

Devices include:
Arduino Mega 2560
Module RS485 - MAX485
PM1200

3. Library and code:
I use Modbus Master library.

Link library: https://github.com/smarmengol/Modbus-Master-Slave-for-Arduino

Code read data from register 3927: https://codebender.cc/sketch:708363

4. Problem
When I run code in IDE Arduino, monitor display error 226 - Time out
I tried to use Arduino Nano, the monitor still displayed that error.

Then I remove Arduino and just use RS485.
- When I use Modscan software. I can completely read data from device

- When I use QModMaster software. I can not read data and program notify error Time out.Program sent exactly request but there is nothing returning.

Is there something wrong with the request signal? Am I making any mistakes in the circuit or the code?

Please contact me by email : thangbaolong1601@gmail.com
Any pointers would be greatly appreciated.