Today is...
Wednesday, July 24, 2019
Welcome to Control.com, the global online
community of automation professionals.
Featured Video...
Featured Video
A tutorial introduction to programming using the QuickBuilder Programming Environment.
Our Advertisers
Help keep our servers running...
Patronize our advertisers!
Visit our Post Archive
CRC Error in Modbus Comm
Get CRC Error when one slave node is stopped in a multi-drop arrangement.

I have a multi-drop RS485 arrangement with 2 slaves (HMI running on Windows XP with Modbus Slave app) and a master (Modbus Poll). I use RS232/RS485 converter in the slaves and USB/RS485 converter in the master PC. As long as both slave applications are running, the communication is ok. When one slave app is stopped, I get CRC Error in Modbus Poll master. When I remove the RS232 from the 'stopped' slave, the comms is ok again. Any ideas why I get the 'CRC Error'?

Generically speaking, if you are adhering to proper "Fail Safe Biasing", 3rd wire Common and Termination resistors you should not have this happen. Some Dell computers have been known to send all there RS232 outputs HIGH when the port/app is shut down.

You probably need a better RS232/485 converter on the slaves - what is happening is that the "off-line" slave is causing a long-break on the RS-232 output (so the RS-232 TX line goes to an invalid state). This causes the RS-485 output to be transmitting.

If you are a student doing tests/simulation, it is a sad truth that MOST notebook computers now put their RS-232 port into an invalid state when powered down/not open in Windows.

So either buy an RS-232/485 converter which auto-detects & suppresses such a 'long break' condition. Or power/wire the RS-232/485 in such a way that it auto-powers down if the RS-232 slave device is not functioning.

Can somebody tell me the reason for error like Read Error: Break Condition in MODBUS Poll..??

I also get the message Insufficient Databytes received.

By Darrin Hansen on 14 May, 2012 - 8:56 am

It sounds like either your RS232-485 converter or a slave device is sending a "break" condition (all 0's for >1 character time). It would probably be related to "insufficient databytes" as well if the device sending the break decides to send it during a response packet.

Darrin

But this happens only with one specific device I am trying to read. The others work just fine. So is it still possible that the problem is at the converter?

Not sure what kind of converter you are using, and how it is configured. but if all the other devices on the network are good and only one slave is giving you grief, then it sure sounds like something is going on with that slave. It almost sounds like some sort of hardware problem, as it's not very common in Modbus device firmware to have or need the ability to ever intentionally send a BREAK condition (and not all UARTS even support that feature).