Modbus RTU problems

In my program I make extensive use of Modbus RTU data transfers from 4 different Modbus devices (Heat Meters) with Modbus IDs 03 to 06. I am using the n.m.MB_REGnn commands. I am trying to run a test program to read just 1 register from 1 device.

I can access and download data from all devices using a USB- RS485 interface from my PC. This indicates the basic network is ok, and the problem is with the T3-BB/T3000 - probably faulty set-up by me.

In T3-BB - Setting/Communications I defined comms parameters (9600 8N1) and activated RS485 Subnet for Modbus. Wiring is A to + and B to - correct? I have nothing to connect to the ground terminal

A week ago this was working - but no longer. I seem to have lost communication with the slave devices There is no indication of comms traffic from the Tx/Rx indicators on either Subnet or Main. All the devices and requested registers are correctly listed in the Network Points page.

When I look in the Register Viewer, all the registers I want have zero values. I think this is because the comms is lost.

The TEMCO Modbus Poll tool does not have the option of accessing the RS485 main or subnet - the only options are TCP/IP and serial ports of PC running T3000. It would be very useful to be able to test operation through the T3 serial ports.

Could I have inadvertently damaged the RS485 hardware? eg by momentarily shorting A & B? There is no permanent short or open circuit in the wiring.

How can I restore/achieve data transfer? I have reviewed old topics in Forum, but none seem to apply to my situation.

Your wiring is correct A – +, B – –, and the RS485 hardware is not easily damaged by briefly shorting A and B.
This issue is most likely related to settings, not hardware failure.

Please try the following:

  1. Reboot T3 controller and try again.
  2. Make sure your PROGRAM is set to ON, otherwise no Modbus commands will run.
  3. In Settings → Communication, enable “Fixed Serial Port Configuration” and set the correct port as Modbus Master.

One tool you should consider for this level of debugging is an oscilloscope, there’s one on our website with two channels and math functions (channel A -B).

There’s also a packet counter dialog somewhere in the user interface. Will reply in more detail when I get to my pc

Thankyou Lijun - it was the settings… I dont recall the Modbus Master option being in the list previously, but that along with the “Fixed serial Port Configuration” seemed to maek it work. The Tx/Rx lights started flashing.

Of my 4 modbus devices one seems to always have zero data. It took a while to fully populate all the fields - I gather Modbus works in the background, so I assume it takes a while to gather all the data.

Yes, the packet summary is found from the Communications sub-menu - Health button.

I have a portable oscilloscope, but it was pretty obvious that the RS484 comms were dead so there was nothing to be seen.

For the device that always shows zero, it’s most likely just not sending any data, not a hardware problem.
Try “Fixed Serial Port Configuration” and then reboot.

I’ll add a note here that this "Fixed serial port configuration’ option is only a temporary solution for the current version of T3000 and firmware. We will soon make it so you just have to select ‘Modbus’ and it will auto switch to master or slave upon detecting packets flowing on the network, just like Bacnet does.