Industry Automation and Control Forum
This forum is addressing industrial automation design & engineering, operations, asset performance, cyber security and digital transformation for Plants & Machines.
Posted: 2019-11-27 08:09 PM
Link copied. Please paste this link to share this article on your social media post.
Posted: 2019-11-27 08:09 PM
Hello All,
We have installed EM6400NG meter. We are trying to read holding register data values from the same using Arduino Mega and RS485 to TTL converter but no success.
RS485 to TTL converter board link:
Please help me out in this regard
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2019-11-29 05:09 AM
I'd recommend that you start with something you have control over (in both directions).
So:
1) Test using an RS232 to RS485 converter, and ModScan or something similar on your PC. Ensure that you can read the appropriate registers from the Power Meter using the baud rate, parity etc that you expect.
2) Testing using the same RS232 to RS485 converter and ModSim or something similar on your PC. Ensure that you can read the appropriate registers from your Computer (into the Arduino) using the baud rate, parity etc that you have configured on your Computer to match what the Power Meter was tested in 1) using.
Then it should be trivial... you know how to read the values from the Power Meter, and you know how to read values using the Arduino board. Therefore you know how to read the values from the Power Meter with the Arduino board.
I assume you already understand that Modbus Protocol <> RS485... if you're confused at what I'm suggesting here, then you probably need to read up more on what RS485 actually is, and why that is not the same as ModbusRTU.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2020-02-12 10:22 PM
@Anonymous user if my answer provided the solution, please mark it as such.
Link copied. Please paste this link to share this article on your social media post.
Link copied. Please paste this link to share this article on your social media post.
Posted: 2020-04-06 05:38 PM
Hello
If not solved, Also take into fact that the holding registers in the power meter will be Float32, so you will have a least significant word (LSW) and most significant word (MSW) to read. The Arduino will need to be the Master also.
You will need to convert the 2 x Uint16 data into float32 value
// untested example
union
{
uint16_t u[2];
float f;
} meterdata;
meterdata.u[0] = a;
meterdata.u[1] = b;
Serial.println( meterdata.f);
Link copied. Please paste this link to share this article on your social media post.
Create your free account or log in to subscribe to the board - and gain access to more than 10,000+ support articles along with insights from experts and peers.