Package: python-pymodbus Version: 1.2.0-2
When using a ModbusSerialClient to read from serial terminal connected units, each register read will take timeout seconds ( timeout as specified when instansiating the class) this is because the ModbusTransactionManager on line 64 of transaction.py reads a static 1024 bytes of data from the serial terminal. This works fine on tcp as tcp recv will return a short read, only containing the data. On a serial terminal, this will result in a stall until reading 1024 bytes of data, or reaching the timeout. The correct process would be to read an expected Header size of data, calculate the remaining size of the buffer ( as expressed in the third byte of the modbus RTU protocol), adding the CRC size, and reading that amount of bytes from the serial terminal. //D.S. -- 8362 CB14 98AD 11EF CEB6 FA81 FCC3 7674 449E 3CFC
signature.asc
Description: OpenPGP digital signature