rodbus icon indicating copy to clipboard operation
rodbus copied to clipboard

feat: Implementation of Function Code FC23 (0x17) - Read/Write Multiple Registers

Open grewek opened this issue 1 year ago • 2 comments

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.

grewek avatar Feb 19 '24 14:02 grewek

@grewek So this PR is ready for review? I like the idea of getting this simpler feature merged before we tackle device identification stuff.

jadamcrain avatar Feb 28 '24 15:02 jadamcrain

Yes, this PR should be in a reviewable state :) If you find any issues please let us know

Regarding the Device Identification i will send you a different PR on our Review branch soon(ish) i also tried to work on something called a "FrameRecorder" but more on that in the bespoken PR.

Anyway i wish you a nice weekend, hope to hear from you soon :)

grewek avatar Mar 01 '24 13:03 grewek