Electrical – Difference between PuTTY Serial and Modbus

digital-communicationsmodbusputtyserial

I am trying to communicate with a PM810 power meter using Modbus-RTU protocol with the RS-485 standard over 175 meters of CAT5e STP cable. It's less than ideal, but it's the situation I'm working with.

To facilitate testing, I have installed two laptops at either end of the transmission cable. The idea is that one is setup as a Modbus master, the other runs a slave server to emulate communication with the PM810. I wanted to post a block diagram for clarity here, but I'm only allowed two links.

Laptop -> USB to RS-485 Converter -> 175m of CAT5e STP -> USB to RS-485 Converter -> Laptop

The problem I am facing and can't wrap my head around is as follows:

  1. Laptop_PuTTY -> 175m CAT5e -> Laptop_PuTTY serial communication (9600 Baud, 8bits, no parity, 1 stop) is fine. It works in both directions without any issues.
  2. Modbus Master -> 175m CAT5e -> Modbus Slave (9600 Baud, 8bits, even parity, 1 stop) fails.
  3. Modbus Master -> 1m CAT5e -> Modbus Slave (9600 Baud, 8bits, even parity, 1 stop) works fine.

So here is my question. What is the difference between PuTTY's serial communication protocol and Modbus protocol that could be causing Modbus to fail and PuTTY to work fine over the 175 meter length? They both work over the shorter distance, the physical medium is the same for both over the longer distance, in yet only PuTTY serial works. I tried googling information about what exactly PuTTY's serial communication protocol is, but I couldn't find any satisfying answers. This is from the PuTTY manual, but I don't really understand what it means.

In this mode [serial], text typed into the PuTTY window will be sent straight out of your computer's serial port, and data received through that port will be displayed in the PuTTY window.

Any advice on how to address this problem, or is Modbus communication out of the question?

Best Answer

Have you checked your termination and grounding? Theoretically at 9600 baud it should not matter. If you use putty you probably type letter-by-letter. If there is no termination there will be ringing at the receiver. It may be just that one character/second gets received correctly, but a longer Modbus frame does not because it "collides with its reflection".

Some useful resources: