Modbus Analyzer

First time using the Modbus Analyzer, looking at my data (01030000000AC5CD sent, 01031433D30007000003870DDE01020000000060000001BD1F returned) in the attached capture. The analyzer is setup at a Modbus RTU master and correctly reads the sent command but incorrectly reads the response.

Is I set the analyzer to slave, it doesn’t decode anything correctly. Any help?
Modbus Capture (read holding registers - 10 registers).sal (289.3 KB)

@jon.slavic I may have gotten the response to decode properly by trimming the capture to only show the response, and using the following Modbus settings.

The checksum seems to be correct as well. I’ll provide the .sal file here.
Modbus-Slave-Only.sal (148.6 KB)

As a first step, can you confirm if the results shown above are you what you expect for the response?

If so, your issue might be related to the GitHub Issue post below, which we’ve recorded for the Modbus analyzer.

Thanks Tim, make sense. Your decode is correct. This should be a pretty simple decoder to do master and slave in one transactions with the Modbus protocol.

@timreyes Any chance the decoder will get improved? I love the saleae analyzer (still using the logic 16 for years) but I feel the modbus decoder could use some improvements when both master and slave device are on the same 2-wire RS485 bus.

Same issue as jon.slavic where the data is correct, but the analyzer is unable to process the reply.
Master sent this request: 01 03 50 06 00 02 35 0A
Slave sent this reply 01 03 04 43 67 E6 66 94 22 (which is correct)

The decoder however is not able to distinguish between the request and answer. The only way to decode this is as you indeed showed by trimming the data so only the reply is shown and switching the decoder from RTU client to RTU server.

RS485 modbus.sal (5.2 KB)

@peter Thanks for following up on this. Our software team is currently prioritizing other projects at the moment, and we’re unfortunately unable to work on analyzer improvements for the Modbus analyzer anytime soon because of it.

Having said that, feel free to make use of our Protocol Analyzer SDK to make any changes or improvements to any of our analyzers, including our Modbus analyzer! This will require C++ knowledge.

In any case, we apologize for not being able to work on this immediately.