Modbus RTU via modem in Windows XP

  • Thread starter William Jackson
  • Start date
W

Thread Starter

William Jackson

I've got a program that has worked for a few years now in every version of Windows up until XP. It talks to an RTU at 1200 BAUD using Modbus RTU over a modem. Just tried it on a customer's laptop, Dell Inspiron with call waiting modem, and it fails. The first request I send after connecting is the Read Status command (function 17), to which the RTU replies correctly. After that, I start trying to read HRs, and the RTU does not respond. The RTU reports framing and parity errors. What is really odd is that if I run a program in the RTU that captures the characters coming in to the modem, the character strings match exactly between the laptops that work and the laptop that doesn't; right down to the null spaces. Any ideas?
 
J

Jerry Miille

I suspect that your problem has to do with Modbus RTU message framing. Modbus RTU requires a 3.5 character time "silence" to define the end of a message and the beginning of the next. You get an answer to your first message but your XP machine is probably fast enough that it is responding with the next request before the 3.5 character time. The driver in the RTU may not recognize the new message because it is waiting for the 3.5 character time to expire before it will look for a new message. If your program has a setting for "ON DELAY" or something similar, set it for at least 3.5 characters at 1200 baud.

Jerry Miille
Miille Applied Research Co., Inc.
1730 South Richey
Pasadena, Texas 77502

713-472-6272 (voice)
713-472-0318 (fax)
 
J

Jerry Miille

I suspect that your problem has to do with Modbus RTU message framing. Modbus RTU requires a 3.5 character time "silence" to define the end of a message and the beginning of the next. You get an answer to your first message but your XP machine is probably fast enough that it is responding with the next request before the 3.5 character time. The driver in the RTU may not recognize the new message because it is waiting for the 3.5 character time to expire before it will look for a new message. If your program has a setting for "ON DELAY" or something similar, set it for at least 3.5 characters at 1200 baud.

Jerry Miille
--
Jerry Miille
Miille Applied Research Co., Inc.
1730 South Richey
Pasadena, Texas 77502

713-472-6272 (voice)
713-472-0318 (fax)
 
Top