Just after releasing R2-10 this morning I realized there was an important outstanding pull request. I have merged it and done some testing, so I am now releasing 2-10-1.
This is the new item from the release notes:
- Previously the Modbus/TCP transaction ID was set to 1 on writes and ignored on reads.
Now the Modbus transaction ID is incremented by 1 on each message sent by the driver.
On the reply the driver waits until a message with the correct transaction ID is received, ignoring messages with any other transaction ID.
This is more robust, especially for Modbus/UDP links. Thanks to Eric Norum for this.
This change assumes that the Modbus server correctly implements the Modbus/TCP specification which requires it to echo back the transaction ID that it receives. I have tested this on several Modbus servers. If in the future we find
that there are non-compliant Modbus servers then we can add an option to disable the check on the received messages.
The home page is here:
The release notes are here:
The documentation is here:
The repository is on Github: