Ken Roach
Lifetime Supporting Member + Moderator
Hi all,
I'm hoping there are some Forum members with Modbus RS-485 troubleshooting experience who can help me. I consider myself pretty good with RS-485 and with Modbus but this has me stumped.
I am troubleshooting communications between an Emerson DeltaV and multiple ABB protective relays on an RS-485 network. I am fairly confident in the physical layer; the wire is the correct impedance, the terminating resistors check out OK, and most importantly the waveforms look pretty square and clean at 19200 baud.
One serial module seems to "work fine", though I've been brought in after the fact and the working channel may have a lot of errors masked by occasional successes. The next serial module over stopped working entirely. The Statistics inside DeltaV explorer suggest that it is scanning but getting 100% error responses.
I'm using a Fluke 125 ScopeMeter to troubleshoot, and I can capture some entire Modbus packets that I can decode correctly, though I cannot tell if they from the Master or from a Slave. I definitely don't see typical "poll, then response" traffic that I see on the functioning channel.
What's mystifying me is what I've started to call the "burp".
It's an RS-485 signal that is of the proper voltages and of a specific length, but it's of the same voltage as an RS-485 "1".
I see a valid Modbus packet shortly after the "burp" but I can't tell if that's another Poll from the master or if it's somehow a response to the "burp".
The "burp" (now it's starting to look funny to call it that) is 4.16 milliseconds in length.
With 10-bit framing (8/N/1), 8 bytes = 80 bits = 80/19200 = 4.16 milliseconds. So it's the same width as an 8-byte frame, which would be the same as a simple Modbus RTU poll with an address, function, 2-byte offset, 2-byte value, and 2-byte CRC.
Am I just being a total newbie and missing something; Modbus doesn't use "break pulses" or "all 1's", does it ? There is no Start bit on this frame, so it can't be some kind of strange 255/255/255/255/255/255/255/255 value.
A picture's worth a thousand words, so here it is:
Any suggestions or experience with this sort of thing would be appreciated.
I'm hoping there are some Forum members with Modbus RS-485 troubleshooting experience who can help me. I consider myself pretty good with RS-485 and with Modbus but this has me stumped.
I am troubleshooting communications between an Emerson DeltaV and multiple ABB protective relays on an RS-485 network. I am fairly confident in the physical layer; the wire is the correct impedance, the terminating resistors check out OK, and most importantly the waveforms look pretty square and clean at 19200 baud.
One serial module seems to "work fine", though I've been brought in after the fact and the working channel may have a lot of errors masked by occasional successes. The next serial module over stopped working entirely. The Statistics inside DeltaV explorer suggest that it is scanning but getting 100% error responses.
I'm using a Fluke 125 ScopeMeter to troubleshoot, and I can capture some entire Modbus packets that I can decode correctly, though I cannot tell if they from the Master or from a Slave. I definitely don't see typical "poll, then response" traffic that I see on the functioning channel.
What's mystifying me is what I've started to call the "burp".
It's an RS-485 signal that is of the proper voltages and of a specific length, but it's of the same voltage as an RS-485 "1".
I see a valid Modbus packet shortly after the "burp" but I can't tell if that's another Poll from the master or if it's somehow a response to the "burp".
The "burp" (now it's starting to look funny to call it that) is 4.16 milliseconds in length.
With 10-bit framing (8/N/1), 8 bytes = 80 bits = 80/19200 = 4.16 milliseconds. So it's the same width as an 8-byte frame, which would be the same as a simple Modbus RTU poll with an address, function, 2-byte offset, 2-byte value, and 2-byte CRC.
Am I just being a total newbie and missing something; Modbus doesn't use "break pulses" or "all 1's", does it ? There is no Start bit on this frame, so it can't be some kind of strange 255/255/255/255/255/255/255/255 value.
A picture's worth a thousand words, so here it is:
Any suggestions or experience with this sort of thing would be appreciated.