LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Modbus for ST100 flow meter

Hello,

I'm trying to read data off an ST100 series flow meter using modbus using the libraries and programs that were suggested by Himanshu_Goyal in the following discussion forum:

https://forums.ni.com/t5/LabVIEW/LabVIEW-vi-communication-with-MODBUS/td-p/1584302

 

The attached files contain the programs and the user manual for the device I'm using. per the user manual, I'm trying to read registers 4103 and 4104 that should provide the most significant and least significant values of the temperature. I'm a little confused on how to go about combining the process registers to get the temperature value. Any help would be greatly appreciated.

Thanks in advance.

0 Kudos
Message 1 of 3
(2,290 Views)

Based on the manual, it looks like the datatype for those two registers are a special type.  The manual says to use the Daniel Extension to convert the numbers.  It seems like the conversion may be more complex than just putting the two registers next to each other.  I would suggest reaching out to Fluid Components to see if they have any pointers on how you can manually convert from the values you read at the registers into meaningful units.

0 Kudos
Message 2 of 3
(2,225 Views)

Thanks for your response. I did try reaching out to FCI to ask them for the conversion, but haven't heard back from them yet. In the meantime, I was able to figure out how this worked. I'm attaching the vi I used to make this work, in case someone else finds this useful.

The Daniel Extension was pretty straightforward, just a simple read and typecasting to a 32 bit floating point number. The method that came the closest to working when combining the registers to join the outputs after swapping the registers followed by a typecasting. This gave me numbers that were close to what I got from the Daniel Extension, but it lacked the accuracy (i.e., not enough significant digits), which makes me think I'm missing something in the conversion, but I'll need more information from FCI for that. 

Oh, and the most important thing to remember was that since LabVIEW uses a zero-index, I had to subtract 1 from the register addresses (as shown in the control diagram) in order to read the correct register.

 

Best,
Praveen

Message 3 of 3
(2,213 Views)