nguyenbaotrung555 Posted November 1, 2013 Share Posted November 1, 2013 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 ! Link to comment Share on other sites More sharing options...
AzeoTech Posted November 4, 2013 Share Posted November 4, 2013 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. Link to comment Share on other sites More sharing options...
nguyenbaotrung555 Posted November 4, 2013 Author Share Posted November 4, 2013 This is my file : <external site> I don't known about error " Timeout" . MFM 383 meter don't send data to computer via rs485 Link to comment Share on other sites More sharing options...
AzeoTech Posted November 4, 2013 Share Posted November 4, 2013 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) Link to comment Share on other sites More sharing options...
nguyenbaotrung555 Posted November 5, 2013 Author Share Posted November 5, 2013 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? Link to comment Share on other sites More sharing options...
AzeoTech Posted November 5, 2013 Share Posted November 5, 2013 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" Link to comment Share on other sites More sharing options...
nguyenbaotrung555 Posted November 5, 2013 Author Share Posted November 5, 2013 Thank you very much. I conected and receive data success. And next problem is choise I/O type. I want known that when do we must use it? ex: Volt, current,... Help me, please ! Link to comment Share on other sites More sharing options...
AzeoTech Posted November 6, 2013 Share Posted November 6, 2013 Try all the ones that have "Read Input" and "Float" in it until you get a value that makes sense. Link to comment Share on other sites More sharing options...
geekydk Posted November 25, 2013 Share Posted November 25, 2013 hi to all, i have also done same configuration but getting response like below shown in image please help Link to comment Share on other sites More sharing options...
AzeoTech Posted November 25, 2013 Share Posted November 25, 2013 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? Link to comment Share on other sites More sharing options...
geekydk Posted November 26, 2013 Share Posted November 26, 2013 Thank you for reply here is the screenshot Link to comment Share on other sites More sharing options...
AzeoTech Posted November 26, 2013 Share Posted November 26, 2013 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. Link to comment Share on other sites More sharing options...
geekydk Posted December 2, 2013 Share Posted December 2, 2013 ok , i did improvements in the ckt but now i m getting response of this type as follows Link to comment Share on other sites More sharing options...
AzeoTech Posted December 2, 2013 Share Posted December 2, 2013 Still getting garbage. Are you sure your comm port settings are correct? Link to comment Share on other sites More sharing options...
geekydk Posted December 4, 2013 Share Posted December 4, 2013 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? Link to comment Share on other sites More sharing options...
AzeoTech Posted December 4, 2013 Share Posted December 4, 2013 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. Link to comment Share on other sites More sharing options...
chichi Posted June 15, 2017 Share Posted June 15, 2017 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? Link to comment Share on other sites More sharing options...
AzeoTech Posted June 15, 2017 Share Posted June 15, 2017 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. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.