Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

When timing requirements are violated, Logic should simply stop decoding #6

Open
timreyes opened this issue Jul 19, 2023 · 0 comments

Comments

@timreyes
Copy link

Issue was initially reported by @gonzzor through our support team

  • See support ticket #81005 for more info

Capture File provided below for reference:
Broken Modbus communication Jonas.sal.zip

When decoding Modbus RTU frames that violates timing requirements Logic should highlight them as invalid and stop decoding them, rather than assuming the rest of the incoming data is valid.

The timing requirement between characters is max 0.75 ms and min 1.75 ms between frames, at least when running above 19200 bps. In the image below, the analyzer should have stopped decoding by then. Instead, the analyzer kept looking for the next data bits for the next 150 ms or so.
Screenshot 2023-07-19 at 3 27 29 PM

It's obvious that the response from the server is broken, but it's still decoded as if it was a proper response despite breaking the timing requirements of Modbus.

While it might be nice to have Logic wait forever to complete a frame, it's hard to decode frames that are only partly sent and re-transmitted.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant