Fix db_get/db_fill failing on S7-1200 PLCs with incorrect MC7Size#608
Open
gijzelaerr wants to merge 1 commit intomasterfrom
Open
Fix db_get/db_fill failing on S7-1200 PLCs with incorrect MC7Size#608gijzelaerr wants to merge 1 commit intomasterfrom
gijzelaerr wants to merge 1 commit intomasterfrom
Conversation
Some PLCs (e.g. S7-1200) report MC7Size as the load memory allocation (1024) rather than the actual data area size (e.g. 37 bytes) in block info responses. This caused db_get() to attempt reading more bytes than exist, resulting in "No data in response" errors. Wrap the auto-sized read/write in db_get and db_fill with error handling that provides a clear message suggesting the user pass the size parameter explicitly. Also update the e2e test to skip gracefully on affected PLCs. Fixes #569 (comment by @razour08) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Some PLCs (e.g. S7-1200) report MC7Size as the load memory allocation (1024) rather than the actual data area size (e.g. 37 bytes) in block info responses. This caused db_get() to attempt reading more bytes than exist, resulting in "No data in response" errors.
Wrap the auto-sized read/write in db_get and db_fill with error handling that provides a clear message suggesting the user pass the size parameter explicitly. Also update the e2e test to skip gracefully on affected PLCs.
Fixes #569 (comment by @razour08)