-
Notifications
You must be signed in to change notification settings - Fork 24
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
feat: Implementation of Function Code FC23 (0x17) - Read/Write Multiple Registers #132
base: main
Are you sure you want to change the base?
Conversation
feat: implement send/receive custom buffer
…no root privileagues
… the server-side request error (missing Copy trait)
… AddressRange, fixed parse implementation
…nse handling for FC23
…er for streamlined code and separate server request handling
…tError Result (needed for parsing to work)
… parsing valid FC23 values
… successful serialization
…cessful and failing parsing
…ultiple_registers
…ple-registers feat: Implementation of Function Code FC23 (0x17) - Read/Write Multiple Registers
@grewek So this PR is ready for review? I like the idea of getting this simpler feature merged before we tackle device identification stuff. |
Yes, this PR should be in a reviewable state :) Regarding the Device Identification i will send you a different PR on our Review branch soon(ish) Anyway i wish you a nice weekend, hope to hear from you soon :) |
This pull request implements the MODBUS function code FC23 (Read/Write Multiple Registers) as specified in the MODBUS Application Protocol Specification V1.1b3 (Page 38, Section 6.17: "23 (0x17) Read/Write Multiple registers").
The Function Code 23 (Hex 0x17) performs a combination of one read operation and one write operation in a single MODBUS transaction. The write operation is performed before the read.
This implementation was done by Dominik Köhler in the name of Iniationware GmbH, initialized by Klaus Landsdorf - CEO of Iniationware GmbH.
Client and Server now have support for the aforementioned Read/Write Multiple Registers feature. The implemented functionality was tested with unit tests for parsing/serializing an FC23 request/response - and should work as expected. Let me know, if there are any issues when testing.
I've also compiled a basic feature documentation of the FC23 request, accessible under rodbus\WCFC_README.md, feel free to modify it in any way needed.
If you have any open questions, suggestions or notes about the FC23 feature implementation, do not hesitate to let me know. I am always happy to help where I can.