Modbus Conversion for Schneider Analyzer

I try to get data from a PM710 energy analyzer but I couldn't convert the hexadecimal value to original data.

In the document the parameter type is mentioned as Mod10. What is the Mod10 data format?

The hex value is: 010818D4002B0000
The original data should be 4363476800 after conversion.
emresamisuzerAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

grepllCommented:
Which register are you trying to read?
0
emresamisuzerAuthor Commented:
1700, Active Energy Total
0
grepllCommented:
Can you please post (link to) your document with register list?
I am looking in http://www.powerlogic.com/literature/63230-501-209.pdf and cannot find it there.
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

emresamisuzerAuthor Commented:
My device has an older firmware version so the latest register list doesn't match.
pm710.PDF
0
grepllCommented:
Thank you, another fw version explains my confusion.

Generally, Mod10 (or Modulus-10000) is format, where you split your decimal number into four number groups and convert this groups independently to series of 16-bit registers. You have to figure out (from manual) which order of registers (high-first or low-first) it uses.

Conversion from hex to decimal is then straightforward: you convert each 16-bit register to decimal and put together the four-number groups.

I tried to convert the numbers you provided. I didn't manage to match them together, but I will put it here for reference:

your hex number: 010818D4002B0000
split into 16bit groups: 0108 18D4 002B 0000
convert to decimal: 0264 6356 0043 0000
put together (apparently in reverse order):
4363560264

Your number was 4363476800 which is different, but that difference is not that big, maybe you read the numbers in slightly different times.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
emresamisuzerAuthor Commented:
Thank you. The conversion is correct
0
grepllCommented:
You're welcome.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Programming

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.