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

I have a PH meter that I am trying to bring its data into 1756-L81. I have downloaded the Rockwell MODBUS AOI kit, but I am not sure if I need to...
Replies
4
Views
88
Dear All, i am trying to connect Danfoss inverter with s7 200 cpu 226.but microwin shows following error at DATA Ptr.i assigned different VB...
Replies
1
Views
42
I'm trying to control a device via MODBUS RTU and the ModbusRtuMasterV2_PcCOM in Twincat 3. I've configured a device with the right com port and...
Replies
6
Views
143
Hi all, Currently having trouble getting a speed reference to write over modbus to an Omron M1... I can successfully write a run command and...
Replies
6
Views
219
Apologies for not being the best IDEC programmer. I recently was doing some inspections on a site that had 3 FC6A IDEC processors. The issue is...
Replies
0
Views
74
Back
Top Bottom