You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
modbus rtu over serial port will not work correct because the serial may be not write all data to the pc(or memory?), due to this, if read serial port immediately after send command, the data just read may be incomplete, so modbus driver will throw some errors like crc or read error.
The main problem here is that modbus doesn't have any form of "length indicator" in the protocol.
One option would be to call the parse method in the ByteLengthEstimator in ModbusAsciiDriver and ModbusRtuDriver ... this would increase the cpu and memory-load of the drivers, but serial ports not really being high-speed, I think this doesn't matter much.
I've just pushed an update that should make Modbus ASCII and RTU a bit more stable in situations as you describe. Please give the SNAPSHOT a try as soon as Jenkins is finished building it.
What happened?
modbus rtu over serial port will not work correct because the serial may be not write all data to the pc(or memory?), due to this, if read serial port immediately after send command, the data just read may be incomplete, so modbus driver will throw some errors like crc or read error.
temporary solution:
file location plc4x\plc4j\transports\serial\src\main\java\org\apache\plc4x\java\transport\serial\SerialChannelHandler.java
thx.
Version
latest
Programming Languages
Protocols
The text was updated successfully, but these errors were encountered: