I started working on a Modbus project and was able to collect data.
However, it shows invalid checksum. How may I fix it?
What would be the best approach to verify that bit rate, parity, Bits per frame, stop bits, parity bit and significant bit is correct?
On your next capture, can you try enabling a glitch filter (instructions below)? A glitch filter setting of around 500 ns may do the trick to clean those up.
With your new capture file (glitch filters enabled), it looks like the async serial analyzer is decoding the data properly, which is a great step forward! The Modbus analyzer is not recognizing the sequence of serial data however.
In the image below (taken from the start of capture), I changed the Modbus mode to RTU-Server mode, and changed the Radix display to Hexadecimal for easy reading. Device ID is being read back as 0x00 (1st serial 8-bit transaction), and the function is read as 0x9C (2nd serial 8-bit transaction), which our Modbus analyzer doesn’t recognize and labels it as “User Defined.” I suspect the decoding issue is being caused by this.