Modbus micologix 1400

Try this. I don't have RSLogix on this computer, so I can't open it, but I think it reads a couple values from eight process controllers using Modbus messaging. Unzip
 
Hey guys

New info. I diddent manage to get RTU to work. But in the mean time, I have found out, that the Janitza runs modbus TCP. I have installed Modbus Poll on my laptop and get 225 volt in from channel 19000:)
I have set up my ML1400 for modbus TCP, but still nothing)-:

Mpoll.JPG
 

Attachments

  • MODBUSTCP.zip
    19.4 KB · Views: 7
Hi,

Change the Unit Identifier from 255 to 1 in the MSG setup.

Most Modbus TCP Devices only uses the IP address as identifier.
However, you can use more Servers on the same IP address and would then use the Unit Identifier. The same if you use a transparent Modbus TPC to Modbus RTU gateway, then it would use the Unit Identifier as the Node Id for the RTU side.

Best Regards,
Kristoffer
HMS Technical Support
 
I am now getting second, hour etc.... :) That is integer
But I need voltage. It is adress 19000 an that is floating point. But when I try to read any adess that are floting point am only getting 0. I have tryed on my laptop with my modbis poll program and it reads 17251. How do I read floats. Thanks
 
Last edited:
You will have to read two integers and then use the CPW instruction to copy them into a single float. You will want to include a math overflow trap in your logic in case the data that you copy into the float is not valid due to an addressing error or communication hiccup . Also be aware that it's not uncommon for the addressing to be off by 1.
 
Hi,

OkiePC gave you the solution.

Modbus is according to the standards 16-bit, but quite many have implemented support for 32 bit.

To clarify regarding the offset (which is correct).

There are several ways you list Modbus Registers (disregarding of the Function Code).

First you have Address where Address 0 equals to Register #1.

But you can also list as 40001 which means Read Holding Register (fn 0x03) 1 .
Note that you almost never enter 40001 as the register #, you omit the 4 as that is the indicator of the Register Type i.e. (4)0001.

The same goes for Read Input Registers 30001 (fn 0x04) = Register 1.

For Modbus you have the Hi Byte, Lo Byte order, the same would be for 32-bit, that you have the Hi Word, Lo Word, I would guess. So if you only get a value of 0, you may add 1 to the register number if you read it as a 16-bit word. But As OkiePC said, you need to put it together yourself (Modbus Poll does this for you).

As you are working with Modbus TCP, I recommend that you use Wireshark together with Modbus Poll, as that allows you to analyze the Modbus Protocol, as Modbus Devices should send an exception code if you ask for an invalid address etc.

Best Regards,
Kristoffer
 

Similar Topics

Hi all I need help on this As in my project used Schneider TM241 controller. Now I want to communicate Elite energy meter with controller by...
Replies
0
Views
1
Good day guys. I have a third party device with its Modbus registers which I want to copy/set up on a plc because I need to convert my Modbus tcp...
Replies
3
Views
114
I'm a beginner in the automation field and I've set up an automation system connecting several devices (datalogger, radio, etc.) via Modbus RS485...
Replies
5
Views
188
I Am looking to get ahold of the modbus map for an air compressor. I HAve emailed the vendor as well, just wondering if any of my friends here...
Replies
1
Views
90
Hello gentlemen, Im working on a small project on TIA Portal, about establishing a Modbus TCP connection between my ET200SP plc and a socomec...
Replies
11
Views
242
Back
Top Bottom