LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Labview Modbus Comm with Emerson Micromotion Flowmeters

Hi,

I'm wondering if anyone has dealt with the Modbus communications (RTU)
package contained within the Emerson Micromotion Coriolis flow meters.

To give you a little background, I'm new to Modbus code structure. I've
recently been tasked with learning how to use it to communicate with said
flowmeters in labview.

I downloaded the modbus labview code (created by Maarten Van Bree) here
(http://www.air.nl/nlibrary/modbus_vi.html)


I then tested the above labview code with the Modbus Serial RTU Simulator by
Conrad Braam (http://www.codeguru.com/network/mod_rssim.html)
and had great success learning how to create commands etc... I was able to
write data to the simulator as well as read data from it. a cross-over
ca
ble was used between the 2 serial ports.

Since then, I tried the same format with the Micromotion Sensor and I do
get a response from it (ie, a correctly framed response with CRC) but the
meat of the data contained is always zeros. For example a sample command
request might be:

0203 9C66 0001 4A76

where
02 = Modbus Unit Address
03 = Read Function
9C66 = 40038 = Starting Register
0001 = # of registers to read from
4A76 = CRC

and the return string (Read Holding Registers) might look like:

0203 0200 00FC 44

where
02 = Modbus Unit Address
03 = Read Function
02 = byte Count
0000 = "Supposedly contains data"
FC44 = CRC

Everything looks great except the string of '0000'. I should be getting
non-data here and for some reason i'm not....right?

I've already:

1) Configured the Micromotion Sensor to allow for Modbus Comm (RTU)
2) Tested the Modbus link using Micromotions own Prolinks II Software.
http://www.emersonprocess.com/micromotion/products/pdf/pds_prolinkII_engl.pd
f

3) Tested the Labview Code with a Modbus RTU Simulator with success


If anyone has any suggestions as to why data isn't appearing, please
contact me at rl@regislee.com

Thanks,

Regis
0 Kudos
Message 1 of 4
(6,826 Views)
Hello,

It seems like the example used here uses just serial commands to communicate with the modbus device.
Before trying anything else, do a loopback test with LabVIEW to see if your Serial Port is working fine.
There is an example program at the NI web site that shows how to do it (see the following URL)

http://eagle.ni.com/stage/we/niepd_web_display.DISPLAY_EPD4?p_guid=B45EACE3EC2356A4E034080020E74861&p_node=DZ52363&p_submitted=N&p_rank=&p_answer=&p_source=Internal

Below you will also find the link to the Modbus Reference Manual by Modicon.

http://www.modicon.com/techpubs/TechPubNew/PI_MBUS_300.pdf

Most of the LabVIEW users use either the Lookout Protocol Drivers (OPC Server developed by NI) or an OPC Server developed by the Hardware manufacturer to co
mmunicate with the hardware.

I STRONGLY RECOMMEND YOU TO DO IT THIS WAY, INSTEAD OF DOING EVERYTHING THROUGH SERIAL COMMANDS. LET THE OPC SERVER HANDLE THE COMMUNICATIONS.

The NI Lookout Protocol Drivers Server handles Modbus communications just fine.

Regards,

VG
0 Kudos
Message 2 of 4
(6,826 Views)

Hi Regis,

 

Further to your post above I was wondering if you had success with your investigation?

 

I too have exactly the same application and wondering if you had had success?

 

Regards,

 

Greg

0 Kudos
Message 3 of 4
(4,741 Views)

Do you believe they're following this thread 13 years later?

 

If not, make a thread with exactly what you're working with.  I sincerely doubt it's the exact same software.  You'll get better help

0 Kudos
Message 4 of 4
(4,733 Views)