Emerson Modbus TCP

F

Thread Starter

Fred Ramos

I'm currently working on a project that entails polling an Emerson ROC 809 from a Prosoft MNET module (Modbus TCP). The issue I am having is that even though I have setup Modbus communications over the Emerson ROC's ethernet port and setup some points with various conversions, I receive nothing but zeroes (0) at the MNET module. Both systems indicate that they are communicating correctly. Would anyone know if I might be overlooking something? I've also used Modscan but nothing shows up there either. Thanks for the help.
 
I don't know the solution to your problem, but be aware that Modbus (all varieties) begin counting their registers at 1 (one), not zero. If you ask for the values at register 0, you will not get an error, but you will get a zero value register.
Dick Caro

===============================================================
Richard H. Caro, CEO, CMC Associates
Certified Automation Professional (ISA)
Buy my books at the ISA Bookstore:
Wireless Networks for Industrial Automation
Automation Network Selection
Consumers Guide to Fieldbus Network Equipment for Process Control
===============================================================
 
L

Lynn August Linse

Expanding on Dick Caro's comment - if the Emerson docs talk about a register 40001, it might be they really are talking about register #0, with the 40,000 indicating NOT the offset, but that function #3 is used to access the holding register area.

Modbus is a garbage-in-garbage-out system. Asking for the wrong offset can get you zeros, FF's or utter garbage.
 
I assume you use the ROC809 as a slave. You have to configure registers in the ROC. In the Roclink software go to 'Configure', 'Modbus'. Go to the Registers TAB. For digital values use table 1 and/or 2, for analog table 3, 4, 16. These tables are the modbus commands you are using. Fill in the start and end register and assign device parameter. Use a high enough start register. I know '0' as a start register will not work. I normaly use a start register from 100.

For example to assign SFP3,DATA1 up to SFP3,DATA10 to modbus registers 300300-300399 go to table 3, Start register=300, end register=339, Device Parameter SFP3,DATA1, Indexing=Parameter, Conversion=65, Comm Port= All Comm Ports. If you use Indexing=Parameter you will use Device Parameter SFP3,DATA1, SFP3,DATA2, SFP3,DATA3, ... Indexing=Point will give you SFP3,DATA1, SFP4,DATA1, SFP5,DATA1, ... Use conversion=65 for real values. Comm Port can be limited to Ethernet.
 
F
Thank you all for your input. I believe Koen has pointed out something that I was not aware of. That is the various tables which are available. I'm not at the job site right now but not sure if i had the option of picking which table I need information from. I will check in the morning. If other tables are available, then most likely, this is has been my problem. Again, thanks to all for you time and input.
 
J
> Not sure if you are aware but Emerson offers free tech support for its ROC800 product.

Prosoft has online and 800 number help too. They are good products.
 
Top