LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

What to do with Data coming from P200 Energy Meter that uses modbus rtu

Solved!
Go to solution

Hi Jay,

 


@JÞB wrote:
You do understand that a Bluetooth low energy or Wi-Fi network has about a gahggilean times the bandwidth and several times the range of an rs485 network at about the same price as copper wire and 1/ 100 the price for maintenance.?????

Why buy that meter?


Modbus/RTU is (still) the choice for also cheap PLCs. And this P200 monitor is made to be mounted in the front panel of a standard electric/electronics switch cabinet hiding that cheap PLC. That cheap PLC will then communicate over any "modern" network protocol.

I haven't seen Bluetooth or WiFi in "not so expensive" applications for industrial automation. And you don't need "long range" in a cabinet…

 

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
Message 11 of 19
(695 Views)

@Zaeun wrote:

had to work with what I was given, I don't really have a choice in choosing.😅


Update your resume 


"Should be" isn't "Is" -Jay
0 Kudos
Message 12 of 19
(694 Views)

@GerdW wrote:

Hi Jay,

 


@JÞB wrote:
You do understand that a Bluetooth low energy or Wi-Fi network has about a gahggilean times the bandwidth and several times the range of an rs485 network at about the same price as copper wire and 1/ 100 the price for maintenance.?????

Why buy that meter?


Modbus/RTU is (still) the choice for also cheap PLCs. Ah, a "Survival" fan!  And this P200 monitor is made to be mounted in the front panel of a standard electric/electronics switch cabinet hiding that cheap PLC. That cheap PLC will then communicate over any "modern" network protocol.

I haven't seen Bluetooth or WiFi in "not so expensive" applications for industrial automation. And you don't need "long range" in a cabinet…

 


 GRANTED! Stoneage tools are still tools. It doesn't mean that they aren't useful But, modern humans use BIC lighters and forged knives.  

 

Those archaic technologies (like MODBUS) should be remembered.  Perhaps, by a few GirlScouts or in a history museum. 

 

Way off topic.   Are we past STONE  age yet?  Sure, Cu has been used and still is useful.   But, MODBUS really is obsolete. Because of the data bandwidth and strictures required of transmission. 

 

Just sending out smoke signals.(from my device)  is there an app for that?


"Should be" isn't "Is" -Jay
0 Kudos
Message 13 of 19
(677 Views)

Modbus is a perfectly still valid communication protocol, and even RTU over RS-232 or RS-485 serial lines.

 

Okay.   Let's get back on topic.

 

Because the registers start with a 4, they are holding registers and should use Read Holding Registers (which is command code 3, just to confuse things) to read them.  It just so happens that the device will also use Read Input Registers to get that data as well.

 

Do you have a link to the manual?  When I went to google that device, it took me to a French website which doesn't do me any good.  Particularly a list to what registers mean what.

 

Your code started reading at address 1.  I want to make sure that registers is what you think it is, and whether it is the most significant work or least significant word of the pair. 

 

In your  holding register VI, you are getting 0 and 17008.  It looks like your result is 2.38...  but if you stretch out the numeric indicator, you'll see it is 2.38333E-41.  A very small and unlikely number.  However, if you had read 17008 and 0, the result would have been 60.  That seems plausible.

 

So I believe you have an issue where you are either starting at the wrong modbus registers, like you should have started at 0 instead of 1, or the device has a different order for the two words and you'll need to swap them before doing the typecast to single.

0 Kudos
Message 14 of 19
(660 Views)

@RavensFan wrote:

Modbus is a perfectly still valid communication protocol, and even RTU over RS-232 or RS-485 serial lines.

 

 


Oh I believe that they are valid!  So are obsidian spearpoints!  Valid don't make 'em right for the job!  SCREWHAMMER!

 

And for the rest Bill, does have a few nice things to say about how to interpret that data.


"Should be" isn't "Is" -Jay
0 Kudos
Message 15 of 19
(659 Views)

that might've been the problem, I'm gonna try another method to see if I can get any readings.

0 Kudos
Message 16 of 19
(647 Views)
Solution
Accepted by topic author Zaeun

That helps a bit.

 

So to get phase 1 voltage to neutral, read starting address 0, quantity of 2, and typecast to a SGL precision float.

Message 17 of 19
(621 Views)

edit: after using my scanning software to search for input registers, and converted the data to IEEE floating point, I have gotten the voltage value on paper. I will need to convert what i wrote on paper to lab view.

 

edit2: awesome it worked, i can see voltage and current readings now thanks alot!

0 Kudos
Message 18 of 19
(620 Views)

Hi @Zaeun,

 

sorry for bringing back this old thread, actually I'm currently having the same problem as you, even with the same values. I try to read from the powermeter the V_L1_N value at 0x0000 that is two registers and I get 2 u_int16 with "17008" and "0" values. 

When I perform a conversion to IEEE floating point I get or "2.38333E-41" or "60" depending of the Indianess. 
How did you finally fixed that issue and got the correct result?

Thanks a lot in advance, this issue is rellay a pain in the neck.

 

Kind Regards,

Alejandro S.

0 Kudos
Message 19 of 19
(418 Views)