nguyenbaotrung555

Modbus And Multifunction Meter Selec Mfm383A-C

Recommended Posts

I use DAQ to conect Multifunction Meter Selec MFM383A-C via RS485 and modbus. But DAQ don't conect with MFM383.

t do:

- 1 phase 2 wire

- conputer->USB->rs485->Multifunction Meter Selec MFM383A-C.

why don't it work?

help me ! i don't good speak english !

Share this post


Link to post
Share on other sites

Please email your .ctl document.

 

There can be many problems:

 

1) improper RS485 wiring

2) improper RS485 termination

3) wrong serial port settings (port #, baud, etc.)

4) wrong Modbus ID (most devices default to 1)  Should be 1-255

 

Any of the above will cause a Timeout error.  DAQFactory cannot detect which is causing the problem.

 

5) wrong I/O type or Channel #.  In this case you will usually, but not always, get an error message from the device.

Share this post


Link to post
Share on other sites

I'm sorry, for security reasons I can't access files posted on external sites, especially public sharing sites.  You can simply post your document here.  Is the MFM unit streaming data to the computer?  Then you wouldn't see timeouts, but should see data in the Monitor.  But that also means its not Modbus.

 

I found a manual for that unit and indeed it is Modbus.  Defaults are Modbus ID 1, 9600 baud, 8N1.

 

This manual is the perfect example of someone writing a Modbus manual without understanding Modbus.  They have the Voltage V1N register at address 30000 / hex address 0.  What they really mean is 30001.  30000 doesn't exist in the standard modbus addressing space.  You'll need to add one to the addresses listed.  Also, they are Floating point I/O type, though I can't tell if you need Reverse Words or not.  

 

So to read Voltage V1N it'd be:

 

D#: 1

I/O Type: Read Input Register Float (or Float Reverse Words)

Channel #: 30001 (or 0)

Share this post


Link to post
Share on other sites

I'm sorry, for security reasons I can't access files posted on external sites, especially public sharing sites.  You can simply post your document here.  Is the MFM unit streaming data to the computer?  Then you wouldn't see timeouts, but should see data in the Monitor.  But that also means its not Modbus.

 

I found a manual for that unit and indeed it is Modbus.  Defaults are Modbus ID 1, 9600 baud, 8N1.

 

This manual is the perfect example of someone writing a Modbus manual without understanding Modbus.  They have the Voltage V1N register at address 30000 / hex address 0.  What they really mean is 30001.  30000 doesn't exist in the standard modbus addressing space.  You'll need to add one to the addresses listed.  Also, they are Floating point I/O type, though I can't tell if you need Reverse Words or not.  

 

So to read Voltage V1N it'd be:

 

D#: 1

I/O Type: Read Input Register Float (or Float Reverse Words)

Channel #: 30001 (or 0)

Thank you, i did it, but it still happens that errors. I think that i had connected wrong or converter.

i don't know upload my file at here?

1-2.png

Untitled-11.png?t=1383615992

Share this post


Link to post
Share on other sites

Two things:

 

1) you need to attach the ground to the MFM 383, otherwise the ground might be floating so far as to drive the input voltage out of range and can throw things off despite it being a differential reading.

2) you want "Read Input Float (4)" for the I/O type.  It might be another Read Input, but start with Float.  Also try "Read Input U16"

Share this post


Link to post
Share on other sites

hi to all,

 

i have also done same configuration but getting response like below shown in image

 

 

please help

Share this post


Link to post
Share on other sites

Looks like your device is returning some weird error codes.  Can you post a screenshot of the serial monitor with "Display all ASCII chars as Codes" checked?

Share this post


Link to post
Share on other sites

OK, that helps.  You just have garbage on the line.  DAQFactory is sending requests, but only garbage is coming back.  I wonder if you stop the queries if you still receive random data, probably not.  Anyhow, this indicates one of several things:

 

1) you have the baud, byte size, parity or stop bits set wrong.  Double check with your docs.  Many modbus devices use Even parity.

2) you have noise on the line.  If RS232, you can only run it about 15 feet.  If RS485, you may not have it properly terminated.  In either case, if you have a electrically noisy environment, you need to shield the cable.  Also, make sure you have a ground tied between your device and the PC.

Share this post


Link to post
Share on other sites
ok , i did improvements in the ckt but now i m getting response of this type as follows

 

resp3

Share this post


Link to post
Share on other sites

 yes sir, i have checked the comm port settings 

 

Slave ID 1, 9600 baud, 8N1.

 

what type of response do we get after successful communication @nguyenbaotrung555?

Share this post


Link to post
Share on other sites

If its modbus, the first byte of response will always be the same as the first byte of the request.  The second byte will be the same as well, or +128 if the device responded with an error.  You are seeing all 255, which is all high bits, which says wiring or serial port configuration problem.  Sounds like the serial port might be correct, so I'm guessing its going to be a wiring issue.  Simplify your system as much as possible until you get it to work.

Share this post


Link to post
Share on other sites
On 11/5/2013 at 0:17 PM, AzeoTech said:

Two things:

 

1) you need to attach the ground to the MFM 383, otherwise the ground might be floating so far as to drive the input voltage out of range and can throw things off despite it being a differential reading.

2) you want "Read Input Float (4)" for the I/O type.  It might be another Read Input, but start with Float.  Also try "Read Input U16"

Dear sir,

I'm also have problem with MFM383AC RS485 . I've purchased this device and found out there is only 2 I/O for RS485 port (A and B ) with no connection for ground. Plz check the pic below. So when i connected 2 devices, the float voltage happened and data transmission failed. Could you show me how to connect the ground of my device to MFM383?

  No automatic alt text available.   

 

 

Share this post


Link to post
Share on other sites

Hmm, so I see.  I'm surprised that there is no ground at all.  Does the DIN rail mount on the back by chance have exposed metal so that the unit grounds to the chassis?  If so, you could tie the chassis ground to your device.  Otherwise, you'll just need to make sure the two devices are on the same AC panel.  But that also may not be the issue.  It takes a lot for the ground to wander enough to cause an issue and there are so many other things that also have to be right.  Comm port settings is the first, then there is improper termination, bad wires, noise from unshielded wiring (rare in differential systems), incorrect addressing, etc.  A scope on the RS485 lines will help.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now