LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Creating of Bound Variables

Hi all, 

 

I am currently working on labview to obtain raw measurement from Schneider Power Meter PM800 and PM5500 Series. I could obtain raw measurement from PM800 series but not PM5500 series due to their difference in register code. For example in PM800 series, when obtain a data like Current Avg which register code is 11710, I can select the F400001-F465534 in the creating bound variables and key in F411710. However, for PM5500 Series, the register code to obtain Current Avg register code is 3010 and i try using F403010 but there is no response. Hence, I got no idea which range of it does in fall under the creating bound variables. Does anybody here have any idea for this problem? The range of choices given by labview is show in the picture attached. Thank you.

Download All
0 Kudos
Message 1 of 4
(2,159 Views)

With Modbus,  registers listed with a prefix of 4 means the actual address value transmitted to the device drops the 4 and subtracts 1.  So 411710 would go to the device as 11709.

 

Communication manuals can be inconsistent as to whether they list registers with the prefix, or as the raw address.

 

So if a manual just list 3010, that may mean the raw 0- based address.  Assuming it is a holding register and thus would have the prefix of 4, the register of 3010 might actually need to be entered into LabVIEW as 403011.

 

Try that.

 

Also check for the PM800 that entering F411710 is actually giving you 11710.  You may be getting the adjacent register and not realizing.

0 Kudos
Message 2 of 4
(2,145 Views)

Hi,

 

May I know what do you mean by getting adjacent register? And I had try out your solution and it actually works with keying F403010 to obtain the Current Avg but if i change it to F403011, there is no measurement that can be obtain.

0 Kudos
Message 3 of 4
(2,134 Views)

Modbus registers look like this:

address with prefix       address that is actually sent:

400001                           0

400002                            1

400003                            2

....

403010                          3009

403011                           3010

 

Sometimes device manuals go by the first column,  sometimes they go by the second.  It wouldn't surprise me if a device manufacturer says one when they mean the other.    So if you enter 403010, the actual raw address is 3009.   But if you sent 403011, you'd get 3010 the register that is "adjacent" to the first one.  It may be possible one number works and the other does for instance of 403010 (3009) exists but 403011 (3010) doesn't.

 

The system can be a little confusing, so when something isn't working, you need to try some other things.  And just because you get a response, doesn't necessarily mean you got the response for the register you thought you were.  So always double check your results.  If the manufacturer provides any software of their own to monitor the registers, then use that to see what the results should be and then compare with your LabVIEW program's output.

 

0 Kudos
Message 4 of 4
(2,004 Views)